Recent submissions

Comment · 5 months ago
I wish companies that offer such a core technology and what not were at times entered into a public trust, similar to how some public lands are managed, that would protect them from private equity takeovers; I know it defeats the purpose of the companies in the first place (making money), and it probably would backfire in myriad worse ways than the problems it might solve... But I do think there are many options for how products, services and what not can be structured that give the people who maintain them what they need to thrive; without mining the users for money.

Overly idealistic thinking, maybe... but still thinking.

Comment · 7 months ago
Rule 3 is still very much real. Fancy fast algorithms often have other trade-offs. The best algorithm for the job is the one that meets all requirements well... Big-O is one aspect, data is another, determinism of the underlying things that are needed (dynamic memory allocation, etc) can be another.

It is important to remember that the art of sw engineering (like all engineering) lives in a balance between all these different requirements; not just in OPTIMIZE BIG-O.

Comment · 8 months ago
I will admit I have almost always made the choice to not use ros2. I am trying to use it now for some work, and I can see where/when it would be useful...

But I almost always feel like there is just so much STUFF involved in ros, that really is just better resolved by having really robust controllers, well defined protocols, and everything else.

I wait to pass judgement until I have more information though

Comment · 1 year ago
Love the article! Honest reflections on shifting goals, is great.

I personally have found grinding and grit mostly counter productive unless it is accompanied by a reasonably short term outcome.

Also grinding continuously to get an abstract thing that might help you somedays is a recipe for burnout. Sustainable self improvement has to come from a place of intention, and the grid can service that intention in the short term; but sometimes you need to refuel your intention.

Comment · 2 years ago
Find something you can bring a unique level of energy too, and bring it. One person’s generalist is another’s expert, thinking in those terms just isn’t that useful. The ability to take on hard problems and get something done and unwedge a team will always be useful.

Meet people in your org and others and make friends, develop some soft skills. I think these things really are career differentiator.

Idk I think just get passionate about things, learn about them, and be curious. Maybe you’ll find something you can specialize in, maybe you’ll find a unique constellation of skills and interests. Do some side projects here and there, it’s a way to take charge of your own skill development… yeah it’s sad that work can’t always provide this; but that’s how it goes…

Oh and to your best ability don’t let what everyone else is saying get you down, there is a lot of cynicism going around here , people are feeling pain… don’t let that pain become yours.

Comment · 2 years ago
TVS diodes can protect from transient voltage spikes when used properly (low impedance to the input connector, properly chosen and with the proper supporting circuitry)

Zener diodes can temporarily protect an overvoltage too but you will need something to take all that current that is now going through it, making it pretty hot and likely to fry something

You can pair something like this with a positive temperature coefficient thermistor to act as a fuse (as it gets hotter the resistance goes up).

These circuits are tricky to tune right, take up space and can add significant cost to a product. So with a drive in consumer products to lower cost smaller things you may not see them everywhere.

Comment · 3 years ago
Comment · 3 years ago
This key!

The wealth of formal verification tools in the safety critical c and c++ world is very high. Those tools, not the compilers are what get validated during tool qualification. Ultimately it is about the formal verification, static analysis and dynamic analysis tools, as well as, traceable code execution, robustness tests etc.

A formally verified rust compiler could really be a game changer, but until then, the tools do exist to write safe c and c++, but they are expensive and adherence is low outside of the places they must be used

Comment · 5 years ago
I once made something very similar for myself in College when I was told not to use git for something in a lab… so my solution was to automate making archives. It worked ok. Definitely helped me appreciate git. Now a days i would have just used git and released archives to the rest of the org
Comment · 5 years ago
I would contend that 10kHz is pretty fast for a control loop thats doing anything complicated in a Garbage Collected language on a non real-time OS. The later issue being some what of a bigger issue than the GC. You CAN do it... some of the Basic linux real time stuff helps the situation a lot.

In .NET you can also change the GC policy at the thread level which can help a lot.

Pool Allocation (long held chunks of memory that can be manually repurposed) can help a lot, since you can write custom Pools where the Gc never knows it needs to clean up. It is a useful tool when you have big chunks of memory that need to be manipulated at a high rates.

I would say from experience that 500Hz-1kHz is a more reasonable loop time

Comment · 5 years ago
I used tabula (and later camelot) to extract some register maps from data sheets to automate making some basic drivers!

What an awesome tool. I had to post process but both were consistent enough in how they were wrong that it was still faster to extract the register maps

Comment · 5 years ago
Comment · 5 years ago
Comment · 6 years ago
That was just a nice light read. Loved it

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton