It's not a given that the quality of software will always be poor. The essential complexity of software is not some immutable universal law. Writing from inside the development trenches, this author redefines the problem and points to other industries that can offer solutions.
Some circuits are harder to design than others. Often it's the tools that are the problem; using the wrong tool can make life harder than it needs to be. This article shows you how to design an SRAM using a schematics and ABEL hardware-description language.
The grandaddy of the object-oriented world, Smalltalk has fascinated developers since it appeared on the programming scene. Is Smalltalk now in resurgence?
Rotating pixels, finding a square root, picking the length of a timeout on a watchdog timer--what do all these typical computing problems have in common? They're all likely to get you stuck in a rut, using the same boring algorithms. Knowing how to think creatively helps you solve all sorts of puzzles. Time to take a fresh look at some old problems.
If all embedded systems were created equal crackers would quickly exploit their shared vulnerabilities. Just as locks aren't secure if everyone uses the same key, embedded systems aren't secure if they have the same DNA. Here's the argument for diversity.