Click here to go to the on-line version
| ||||
You may redistribute this newsletter for non-commercial purposes. For commercial use contact jack@ganssle.com. To subscribe or unsubscribe go here or drop Jack an email. |
||||
Contents | ||||
Editor's Notes | ||||
Tip for sending me email: My email filters are super aggressive and I no longer look at the spam mailbox. If you include the phrase "embedded" in the subject line your email will wend its weighty way to me. "Shortcuts make for long delays" is an aphorism attributed to J.R.R Tolkien. The data is stark: doing software right means fewer bugs and earlier deliveries. Adopt best practices and your code will be better and cheaper. This is the entire thesis of the quality movement, which revolutionized manufacturing but has somehow largely missed software engineering. Studies have even shown that safety-critical code need be no more expensive than the usual stuff if the right processes are followed. |
||||
Quotes and Thoughts | ||||
Malice in wonderland: undisciplined development. |
||||
Tools and Tips | ||||
Please submit clever ideas or thoughts about tools, techniques and resources you love or hate. Here are the tool reviews submitted in the past. |
||||
Engineering Ethics | ||||
After 50+ years of being an engineer I've come to view this as a truly noble profession, one in which we change the world, often radically, more often than not for the good. The America of my youth would be unrecognizable to young people today, changed in no small way by entirely new technologies invented and perfected by members of our profession. Today engineers are developing ideas that will surely continue to improve the lot of the human race. Some will counter that there’s blowback; that sometimes our products have unanticipated and undesirable side-effects. That’s true, of course. We’re human and not smart enough to know everything. But I remain a technology optimist. We will figure this stuff out. Others will complain that the ideas are mismatched to their intended use; in a recent radio diatribe the “expert” claimed the Gates Foundation’s efforts to invent an accessible toilet for the poorest of the world was a lousy idea because, at $1k each, none of those people could afford it. But every development effort goes through evolution and change; some will fail; but those guaranteed to fail are those never started. Then there’s the boss who makes demands which may lead to dangerous devices. Most engineers are employees and their paycheck is to some degree (we’re always free to quit) held hostage by those more concerned about the bottom line than more important issues. It’s important that we always hold true to certain base truths. For instance, I keep a copy of the US Constitution on my phone as it represents the ideal of whom we want to be as a nation. No matter how you feel about all of the crazy stuff in the news, there’s so much smoke and FUD that it’s easy to get swept up in the hysteria. Referring to our most important founding document grounds the discussion. Similarly, in engineering we do have some documents that should ground our professional behavior. None are perfect, but they have some good insights. I like the IEEE’s Code of Ethics. Another good one is the Statement of Ethical Principles from the Royal Academy of Engineering. In engineering we’re always trying to improve; to continue to learn new things, to use better processes, and, if we’re wise, to audit and improve, if necessary, our ethical behavior. In management this would be called continuous improvement. What do you think? How do you balance the external forces that want to drive you from where you ethically want to be? |
||||
von Neumann in 2024 | ||||
I've often wondered how a person from ancient times, or even a century or two ago, transported to the modern era, would interpret things we take for granted. Consider a Coke machine. Insert a green piece of paper, and the machine transforms that into a hefty can of a barely-tolerable liquid. Magic! But one does not have to go that far back in time. What would, say, John von Neumann, think of today's computers? Von Neumann (called "Johnny" in his day) died in 1957, when the vacuum tube still reigned nearly supreme. His first thought might be "Where's the computer?" He helped design the biggest computer of all time, the SAGE, which occupied a half acre of floor space and weighed 250 tons. He'd be surprised by devices like the PIC10, which is available in a six-pin 2 x 3 mm DFN package. His hand could even hold dozens of the biggest processors around, like Intel's high-end devices. He might be astonished at mass storage. The 1955 RAMAC, the first hard disk, stored 5 MB and weighed a ton. (IBM executives initially canceled that project as they feared it would crush their punched card business). Today a 1 TB drive weighs a few hundred grams and costs practically nothing. If he looked at a DSP he might ask "Harvard architecture? What happened?" We'd have to reassure him that, yes, the von Neumann architecture still dominates but isn't always the most appropriate choice. I'm sure he'd want a computer of his own, and would immediately start writing a grant application to get the government funds needed. After all, that SAGE system cost about $90 billion in today's deflated dollars (that figure includes 24 two-computer systems). He'd probably be too stunned to crack one of his famous ribald jokes when told that a 32 bit MCU could be had for half a buck or less. Von Neumann might squint and wonder how many tubes were packed into a modern processor. In his era nearly all computers were based on tubes, thousands of them, which is why machines were so huge. But Johnny was surely aware of the transistor, and would have realized that semiconductors were much smaller than tubes. He'd probably wonder, though, what clever design had reduced the needed transistor count so much that a computer could exist in a chip. Imagine his jaw dropping when told that, no, actually some of these parts contain billions of active elements. We complain when a machine crashes; we’re surprised when one fails. It’s common for a PC to run for years between hardware failures, which would probably surprise von Neumann. The IAS computer, built under his supervision, reportedly had an MTBF of 10 minutes, and there was a raging debate about just how much useful computation could be done within this limit. He'd also be surprised at our I/O; the notion of a GUI just didn't exist in his lifetime. His 1953 Johnniac initially had just a card reader and punch... plus a loudspeaker to give a sense of what was going on. It wasn't long before card decks were produced to play popular tunes. The stereo and full-motion video we take for granted would probably astound him. (He objected to the computer's name, but the lead engineer let him know there were plenty of other Johns in the world; what made von Neumann think it was named after him?) At least one thing would be familiar. His computers dissipated heat. A lot of it. That hasn't changed in the high-end spectrum of computers today. What about software? The ENIAC, with which he was very familiar, according to contemporary sources took "as long as three weeks to reprogram and debug a program." Those were the good old days. |
||||
On Hackers | ||||
Wikipedia contains this enlightening tidbit in the article on hackers: Today, mainstream usage of "hacker" might mostly refer to computer criminals, erroneously noted continuously by the experts during the history, due to the mass media usage of the word since the 1980s and the continuous negligence/incompetence to these days. In the olden days “hacker” conjured up the image of the bad guy, the generally not-very-competent script kiddie who took a malicious delight in breaking into computer systems. There was no positive spin on hackers; clever, perhaps, but not all that bright, they were perceived by grownups as little more than computer vandals. Today, many use "hacker" in a positive light, as a smart white hat who probes computer vulnerabilities. There has also been the rise of the "maker" movement, a much-celebrated effort to create stuff, often electronic stuff, outside of the normal confines of disciplined electronics labs. As one suspicious of marketing malarkey I cringe at this rebranding of experimenters into a not-so-new category of hobbyists. In my mind, hackers do software, poorly. Makers make stuff, often poorly as well. To me, these notions imply a person with but a facile understanding of the world of electronics or computers. The idea of a maker, an experimenter, one who plays with electronics is old and admirable. Many of us grew up as kids fiddling with transistors, tubes, and ICs. Building stuff is as old as humanity, and that tactile interaction with components, circuits and theory, gained from such building things is much more visceral than a class on electromagnetics. I wish more young folks had a passion for making things. What seems to be missing from the maker/hacker movement is a path to professionalism. That's not to say every experimenter needs to become an engineer. Rather, the emphasis seems to be on making something work, rather than constantly upgrading one's skills. To make is a great thing, but to make well is much more difficult. As one friend says about firmware, it’s easy to get to 90%. The last 10% is really hard. Ham radio has always had a maker-style zeitgeist. Hams often build their own equipment, sometimes on the cheap, often with innovative ideas. But hams have a culture of increasing rigor. One gets a Novice license, then, through study, progresses to General and maybe eventually to Amateur Extra. It's fun to see someone dress up an Arduino as a fashion accessory. It’s admirable when that person's code gets critiqued, then rewritten to comply with the tenets of structured programming. Anyone can toss a 1K resistor in to bias a transistor, but my hat is off to one who asks "why" and then learns about hfe. The word "hacker" still gives me shivers, and that's probably due to being an old fart encumbered with too much history to easily adapt to what seems a new meaning of the term. "Maker," as used so widely today, is something I strongly support, no matter what the individual's goals may be. The outcome could be an artist having a great afternoon dabbling with blinking LEDs or someone trying to hone his or her skills on the path to a professional career in the field. My fear is a sense of conflation in the popular press of the pro and the pro-wannabe. We all start in the latter category, but advance to the former by adopting a discipline of learning. My hope is the Maker movement can serve as a gateway drug into real engineering. My fear is that some easy successes will convince Makers they are ready to build a heart-lung machine. It has been said that an engineer is someone who makes something for a dime what any fool can make for a dollar. But unlike what the fool produces, that dime-priced device will also work over temperature and with unexpected inputs. |
||||
Failure of the Week | ||||
From Rick Ilowite:
Andrei Chichak sent this:
Have you submitted a Failure of the Week? I'm getting a ton of these and yours was added to the queue. |
||||
Jobs! | ||||
Let me know if you’re hiring embedded engineers. No recruiters please, and I reserve the right to edit ads to fit the format and intent of this newsletter. Please keep it to 100 words. There is no charge for a job ad. |
||||
Joke For The Week | ||||
These jokes are archived here. Don't be worried about your smartphone and television collecting your data... Your vacuum has been gathering dirt on you for years now. |
||||
About The Embedded Muse | ||||
The Embedded Muse is Jack Ganssle's newsletter. Send complaints, comments, and contributions to me at jack@ganssle.com. The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. |
Click here to unsubscribe from the Embedded Muse, or drop Jack an email.