The habitat of hardware bugs

I wrote a post on embeddedrelated.com about hardware bugs - places where they're rarely to be found, places which they inhabit in large quantities, and why these insects flourish in some places more than others.

It's one of these things that I wish I was told when I started to fiddle with this shit – that while a chip is monolithic from a manufacturing point of view, from the logical spec angle it's a hodgepodge of components made and sold by different parties with very different goals and habits, tied together well enough to be marketable, but not enough to make it coherent from a low-level programmer's point of view. In fact, it's the job of the few low-level programmers to hide the idiosyncratic and buggy parts so as to present a coherent picture to the many higher-level programmers - the ones whose mental well-being is an economically significant goal.

Both, though I enjoy reading your material and hope you keep it up. I don't work in low level systems, though you're blogs give me a insight into the hardware that runs in today's world and sometimes isolates us higher level programmers away from the horrors of low level hardware.

There was a recent article on hacker news about NASA and how they develop mission critical systems. With their 10 rules they use. What I found interesting is taking your blog posts and see similarity between them. Notably pre-allocating memory reusing the same memory address for storage of struct's and data. Thread synchronisation, deadlocks, and struct linker.

So even though I don't work in low level systems, I have tended to find reading about low level system tend to bring oneself from the stratosphere to a more grounded view of modern day systems.

Also never responded to your email about exception handling. Should get around to that.