For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
2028 - A Dystopian Story
They're getting close. I don't have much time. Like old-time crop sprayers Federal hovercars are sprinkling sensor dust nearby, so I don't dare turn on any electronics. I'll give a summary to my Recorder and send him to the rest of the underground, if it still exists.
How did I make it to 2028? The Intellectual Purge ten years ago wiped out nearly everyone I knew. That rebellion, fueled by a collapsing educational system's inability to teach critical thinking and basic math and English (remember English?) skills, targeted anyone with a college degree, particularly engineers and scientists.
The Purge's mobs were mostly poorly educated (even back in 2008 high school drop-out rates had hit nearly 70% in some cities, like my home town of Baltimore). They co-opted the mantra "So you're a rocket scientist? That don't impress me much" from a Shania Twain song. Tellingly, none seemed to notice the grammatical error. Ms. Twain is long forgotten now, since the RIAA's tactics caused all of the recording companies to collapse when consumers stopped buying CDs and revived the ancient tradition of local folk singing.
By the end of the Purge university campuses were abandoned. They became squatter camps of the homeless, who burned irreplaceable library volumes for heat. The supply of new engineers dried up, and older developers went into hiding. Some started selling real estate. Others joined the 82 million employees of Wal-Mart.
My wife: sentenced for a time to a reeducation camp. She no longer recognizes me, though sometimes I watch her wearily walk to her 15 hour work day. Colleagues: all reprogrammed. Once they were highly functional engineers. Now, all part of the Reconstruction Effort, they sit shoulder to shoulder in gymnasium-sized rooms trying to reverse-engineer systems of the past. The thrice-daily mandatory smoking breaks cloud buildings with noxious fumes filled with reprogramming drugs. Philip Morris is perhaps the only pre-dystopian company to thrive in this new world.
And to think Marijuana was once outlawed!
Perhaps we engineers and scientists helped bring on the Purge. I remember a time, long ago, when everyone had routine access to computers; indeed, middle class families often had several in their homes. (Yes, that's hard to believe, but it's true.) We built fantastic networks of systems that, with merely a single click of a mouse, caused products to be delivered to our homes. Gigantic record-keeping computers in government and industry tracked our taxes, our medical records, our spending and even our travel habits.
But few developers thought through the security implications carefully. Fewer corporations were willing to pay for real analysis of the habits of normal employees, who routinely worked around the annoying impediments to their work imposed by security concerns. It wasn't long before data breaches became common.
I'll present my Better Firmware Faster seminar in Melbourne and Perth, Australia February 20 and 26th. All are invited. More info here. The early registration discount ends January 20.
Our embedded systems, though, continued to function, continued to control the industrial plants that supplied power and heat, that controlled pollution, traffic flow, and hundreds of other activities that few non-embedded people had ever noticed. Embedded systems propped up a world in chaos.
But even the embedded world had been compromised, though few realized it at the time. The 20th century fondness for litigation had exploded into the 21st. Though trust was once the lubrication of business transactions, lawyers now mediated everything. At first, developers didn't think legal nuances could affect engineering. But it wasn't long before lawyers brought "discovery" into the labs.
In discovery two sides in a dispute could access very nearly any document the other side has that's relevant to the case (though there were exceptions). As embedded systems became part of the very fabric of society, malfunctions and design problems led to numerous plaintiffs seeking relief via the courts. Engineers, hardly versed in the law, had for decades documented their design decisions and ideas in engineering notebooks, design documents, computer files and scraps of paper. During discovery, lawyers, some originally trained as engineers who knew about these documents, used them in many cases to "prove" poor design choices or the use of shoddy engineering methods. Of course, we engineers were perfectly happy to write down our failures and wrong paths that led to dead-ends, so juries, comprised of people who didn't even know the difference between science and engineering, were led to believe the documents demonstrated incompetence rather than an exploratory approach to design.
Federal Rule of Civil Procedure Rule 26 was amended in 1993 to require the disclosure of related case materials without awaiting a discovery request. In the 2000 case Kleiner v. Burns the court interpreted Rule 26 to include backup media, and even deleted files.
By 2012 the nation's one growth industry was lawsuits. It wasn't long before we weren't allowed to document anything. Engineering notebooks were collected and burned. All paper was removed from developers' desks. Most outfits hired "Discovery Police," swaggering rent-a-cops who wandered through the department during the day, reporting any infraction of the no-paper rule. Management's intolerance for breaking the rules grew in proportion to the size of judgments. Firings became common.
Electronic notes were forbidden as well. Word processors disappeared from engineering departments. A new breed of C-aware text editors appeared, which rejected any entry deemed not a C construct. The Emacs/VI/VIM wars ended as those programs were swept away. Ultraedit, CodeWright and so many others were replaced by impossible-to-use editors crafted by nimble legal minds whose knowledge of software was nil.
We still had comments to document the source. But in Smith v. Acme Aeronautical (2015) the court held that the code's comment drift showed malfeasance. That $14 billion award galvanized our legal overlords. Comments were no longer permitted.
The market was flooded with comment stripper programs, themselves crafted without a single // or /*. Unsurprisingly, few worked well, so as multi-million-line programs lost their comments, unanticipated subtle changes to the source led to even more bugs.
And more lawsuits.
Relenting a little, the legal profession invented "True Recorders," employees who were tasked with memorizing design details. Inspired by the True Witnesses in Robert Heinlein's science fiction stories, it wasn't long before they were simply called Recorders, as even the humble tape recorder had been abolished. Recorders were mostly immune to the discovery process. People with unusual memory abilities were recruited. The supply never met demand (though illegal, Marijuana was hardly unpopular), but it was found that aggressive training programs greatly increased memory capacity, harking back to the technology of thousands of years ago when oral storytelling, long predating paper and papyrus, was used to pass traditions through the generations.
Pair Programming gave way to Recorder Programming. A developer and Recorder were paired for the entire project, each learning each other's ways of thinking, the Recorder remember important design decisions. Labs were full of the low hum of constant dialog between the couple (for, indeed, many moved from this rather intimate relationship into marriage), as the developer explained his or her thinking, and the Recorder provided reminders of old decisions long forgotten.
For a time long variable and function names provided insight into a system's architecture, but those, too, were abandoned after Miller v. Long et al in 2018. Editors were upgraded to produce random strings when names were needed.
The source started to look a lot like object code.
Perhaps the Intellectual Purge was valuable in that the accompanying revolution shook off most of the legal constraints that had increasingly crippled society. But it did shatter the fragile partnership between developers and Recorders. Driven into blue aprons Recorders, checking receipts against bagged purchases, soon forgot the design details they had so carefully memorized. After the four years of the Purge's Diaspora some technology companies managed to reconstitute themselves. But the Recorders were empty slates; millions of lines of code were as opaque as hieroglyphics once were. and in this case there was no Rosetta Stone.
Though thousands of embedded systems soldiered on, factories left to decay for four years and changing business conditions meant bug patches and new features were desperately needed. A collapsing economy turned to socialism. Routers now needed exhaustive government-controlled filters, ATM cash dispersals all needed Federal approval, and a thousand other services once taken for granted required oversight of the new regime.
The Recorders had forgotten. Without documentation, sans comments, with random strings for variable and function names, no one could maintain the code.
And no one wanted to.
Engineers found that working for Wal-Mart wasn't terribly undesirable. Overtime was compensated.. Health care, such as it was, in many cases exceeded that offered by corporations which had ditched every benefit in pursuit of shareholder value. There were no stress-inducing deadlines. And by now Wal-Mart had figured out that, unlike the populace of high-school drop-outs, engineers actually knew how to make change, so rewarded them somewhat more appropriately.
With great fanfare the Ruling Triumvirate announced the Reconstruction Effort, an attempt to reverse engineer undocumented firmware. When engineers declined to participate, they were rounded up, reprogrammed, and packed into crowded sweatshops. Fearful of severe non-compliance penalties, children ratted out parents who tried to hide.
The government has had some successes: nearly 10% of Linux has now been commented and refactored with meaningful names. One Coke's machine's firmware is now completely transparent, allowing developers to patch in the new price of $28/can. There's hope that within the next few years the telephone system will be functional again.
Me, I remain in hiding. For I was the lead architect of the F-36 Avenging Screetcher's avionics, which the Triumvirate desperately wants to bring back to flight status to continue their draconian social policies. No fighter planes of any sort grace the skies, as all modern versions are inherently unstable and rely on firmware to fly. And I secreted all of the F-36's design documents, commented against all rules and at great risk to myself, in a safe place. The underground needs to either destroy these or protect them. I'll tell my Recorder the location.
But wait. there's smoke pouring in under the door. It's either sensor dust or the reprogramming drug. The documents are, cough, cough, ah, gasp..
(Author's note: The story is improbable. Discovery isn't. Rule 26 is as described. More than a few companies today prohibit engineering notebooks. That will get worse as more engineering projects are subject to litigation.)