The First Actual Bug
In 1947 a moth was found in a relay of the Harvard Mark II and taped into the logbook with the note 'First actual case of bug being found.'
The failures, dead ends, hype cycles, and true anecdotes - the bad compilers, the language wars, the things that almost worked.
In 1947 a moth was found in a relay of the Harvard Mark II and taped into the logbook with the note 'First actual case of bug being found.'
NASA's Mariner 1 Venus probe was destroyed by the range safety officer about 293 seconds after its July 22, 1962 launch; the failure is popularly blamed on a missing hyphen in guidance code, but the NASA record attributes it to a missing overbar in a guidance equation combined with a hardware fault.
The 1990s and 2000s Windows problem where installing one program overwrote shared DLLs and broke others, because versions and locations were not isolated.
In roughly a decade git went from a hurried BitKeeper replacement to the version control system used by the overwhelming majority of developers, helped along by GitHub.
How Internet Explorer 6, released in 2001, grew so dominant and then so stagnant and non-standard that it held the web back for years, prompting formal campaigns to kill it off.
The mid-2010s sense that a new dominant JavaScript framework or build tool arrived every few months, leaving developers exhausted by constant churn in the front-end ecosystem.
The late-1990s fight between Netscape Navigator and Microsoft Internet Explorer, which triggered a landmark antitrust case and a second browser war years later.
How IBM came to choose Microsoft's DOS over Digital Research's CP/M for the 1981 IBM PC, and the disputed legend that grew around it.
The long struggle, sharpest in the 1990s and still recurring, between governments seeking to restrict or back-door encryption and the technologists and civil libertarians defending strong civilian crypto.
The long-running, half-joking rivalry between users of the vi and Emacs text editors.
How GitHub's fork-and-pull-request model lowered the barrier to contributing and turned open-source collaboration into something social and massive.
Python's long-running, much-complained-about packaging fragmentation and the gradual move toward pyproject.toml standards.
After Internet Explorer's dominance, Firefox and then Chrome reignited browser competition, driving faster engines, better standards, and continuously updated browsers.
In February 1976 a 20-year-old Bill Gates published an open letter accusing hobbyists who copied Altair BASIC of theft; it was an early, defining salvo in the lasting culture clash between proprietary software and free sharing.
The roughly 1978 to 1995 culture of dial-up bulletin boards: single phone lines and busy signals, volunteer sysops, ANSI art, door games, file trading, and store-and-forward mail, a homemade online world that the World Wide Web ultimately absorbed.
Ed Nather's 1983 Usenet post about Mel Kaye, a machine-code wizard who hand-optimized programs by exploiting the rotational timing of drum memory, the enduring legend of the 'Real Programmer.'
Ed Post's 1983 satirical letter to Datamation that celebrates the FORTRAN and assembly 'Real Programmer' over the structured-programming 'Quiche Eaters' of the Pascal generation.
For much of the micro era, magazines and books printed software as source-code listings that readers keyed in by hand; checksum schemes like Compute!'s MLX and Proofreader fought the inevitable typos and made typing-in a shared rite of the home-computer culture.
How Compaq and then Phoenix Technologies used clean-room reverse engineering to reimplement the IBM PC BIOS without touching IBM's copyrighted source, legally unlocking the clone industry.
Geoffrey James's 1987 collection of Taoist-style programming parables that recast software development, management, and debugging as Zen koans and fables.
On 26 June 1988, Air France Flight 296, a brand-new Airbus A320 - the first fly-by-wire airliner - crashed into trees during a low, slow flyover at the Habsheim air show, killing three; the French BEA investigation and a lasting dispute over the flight computers versus the pilots became a defining controversy of computerized flight.
On November 2, 1988 a self-replicating worm written by a Cornell graduate student spread across the early Internet, crashing thousands of machines and triggering the first Computer Fraud and Abuse Act conviction.
On January 15, 1990 a single latent defect in newly deployed recovery software, a misplaced break statement, caused AT&T's 4ESS switches to crash and reset in a cascading chain that blocked roughly half of long-distance calls for about nine hours.
On February 25, 1991, a Patriot missile battery at Dhahran, Saudi Arabia failed to track an incoming Scud after running continuously for about 100 hours; a floating-point time-accumulation error had drifted the system's clock enough that the Scud hit a U.S. Army barracks and killed 28 soldiers.
In a 1992 comp.os.minix thread titled 'LINUX is obsolete,' Andrew Tanenbaum and Linus Torvalds argued microkernel versus monolithic kernel design in public.
Through the 1980s and early 1990s the official OSI protocol suite, blessed by governments and ISO, lost to the unofficial TCP/IP, which won because it had running code, working networks, and an open process summed up as rough consensus and running code.
The US government's 1993 proposal for an encryption chip with a built-in government 'key escrow' back door, which collapsed after technical flaws and public backlash - an early, failed attempt at mandated encryption backdoors.
Between 1985 and 1987 the computer-controlled Therac-25 radiation therapy machine delivered massive overdoses to at least six patients, causing serious injuries and deaths; the primary scholarly account by Leveson and Turner traced the causes to software race conditions and reliance on software in place of hardware interlocks.
A flawed lookup table in Intel's 1994 Pentium processor caused rare floating-point division errors; Intel's early dismissal of the flaw turned a quiet erratum into a public crisis and a recall that cost roughly 475 million dollars.
The maiden flight of Europe's Ariane 5 rocket self-destructed about 37 seconds after launch on June 4, 1996, when reused Ariane 4 inertial-reference software triggered an unhandled conversion of a 64-bit floating-point value to a 16-bit integer.
Richard Stallman's 1997 dystopian short story, published in Communications of the ACM, imagining a future where lending a book is a crime, computers report on their owners, and reading is licensed per page.
In July 1997 the Mars Pathfinder lander repeatedly reset itself on the surface of Mars; the cause was a classic priority inversion in the VxWorks scheduler, and the fix, enabling priority inheritance on a mutex, was diagnosed on a ground replica and uploaded to the spacecraft.
A 1997 Intel Pentium erratum in which a specific invalid instruction sequence, beginning with the bytes F0 0F, would lock up the entire processor; operating systems shipped a software workaround until fixed silicon arrived.
id Software's habit of GPL-releasing its engine source code years after each game, beginning with Doom in 1997, turned commercial game engines into teaching tools that educated a generation of graphics programmers and seeded the open source game community.
In 1998, during production of Toy Story 2, an errant delete command on Pixar's Unix server began wiping the film's master files, and a failing backup system meant roughly 90 percent of the work was nearly lost. The only surviving copy was a database a technical director had kept on a home computer while working during maternity leave.
In February 1998 a group of developers coined 'open source' as a pragmatic, business-friendly rebrand of free software; Richard Stallman and the Free Software Foundation rejected the term as abandoning the ethical case for user freedom.
A set of confidential Microsoft internal memoranda on its strategy against Linux and open source, leaked to Eric Raymond in late 1998 and published with his annotations on catb.org. They put the phrase 'embrace, extend, extinguish' and the goal of 'de-commoditizing protocols' into the public record.
NASA's Mars Climate Orbiter was lost on September 23, 1999 when navigation software output thruster impulse in pound-force seconds while a second module expected newton-seconds; the unit mismatch pushed the spacecraft too low into the Martian atmosphere.
NASA's Mars Polar Lander was lost during its December 3, 1999 descent; the failure review board judged the most probable cause to be flight software that misread spurious touchdown signals, generated when the landing legs deployed, as ground contact and shut off the descent engines about 40 meters too high.
The Year 2000 problem: decades of software stored years as two digits, so '99' rolling to '00' threatened to be read as 1900 instead of 2000. A global remediation effort preceded a quiet rollover, leaving a lasting argument over whether the calm proved the fix worked or the danger was hype.
The SCO Group's 2003 lawsuits alleging that Linux infringed Unix copyrights it claimed to own. The campaign collapsed when a federal court ruled that Novell, not SCO, held the Unix copyrights, removing the foundation of SCO's case.
On August 14, 2003, a race condition in General Electric's XA/21 energy management software silently stalled the alarm system in FirstEnergy's Ohio control room. Blind to a growing local problem, operators failed to act, and a manageable fault cascaded into the largest blackout in North American history, cutting power to about 50 million people.
How the Linux kernel came to depend on the proprietary BitKeeper, and how a 2005 falling-out over reverse-engineering ended the free license and pushed Linus Torvalds to write git.
The fight for the smartphone, won decisively by Apple's iOS and Google's Android, which together drove Symbian, BlackBerry, Windows Phone, and webOS out of the market within a decade.
The painful break between classic Visual Basic 6 and the incompatible VB.NET, which prompted a developer petition signed by hundreds of Microsoft MVPs.
From 2006 to 2008, a well-meaning patch to Debian's OpenSSL package removed a source of randomness from the key generator. As a result, every cryptographic key produced on Debian and Debian-derived systems like Ubuntu was drawn from a tiny, predictable set, making countless SSH, SSL, and VPN keys guessable. Debian Security Advisory DSA-1571-1 disclosed the flaw.
Donald Knuth pays a small, doubling reward for each error found in TeX and his books, in famously uncashed hexadecimal-dollar checks drawn on the imaginary Bank of San Serriffe.
Tony Hoare introduced the null reference in ALGOL W in 1965 because it was easy to implement, and in a 2009 talk called it his billion-dollar mistake.