Cautionary Tales and Curiosities

The failures, dead ends, hype cycles, and true anecdotes - the bad compilers, the language wars, the things that almost worked.

78 entries, all primary-sourced
story September 9, 1947

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.'

story July 22, 1962

Mariner 1

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.

story

DLL Hell

The 1990s and 2000s Windows problem where installing one program overwrote shared DLLs and broke others, because versions and locations were not isolated.

story

How Git Won the Version Control Wars

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.

story

JavaScript Framework Fatigue

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.

story

The Browser Wars

The late-1990s fight between Netscape Navigator and Microsoft Internet Explorer, which triggered a landmark antitrust case and a second browser war years later.

story

The CP/M and IBM Deal

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.

story

The Crypto Wars

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.

story

The Pull Request Changed Open Source

How GitHub's fork-and-pull-request model lowered the barrier to contributing and turned open-source collaboration into something social and massive.

story

The Python Packaging Mess

Python's long-running, much-complained-about packaging fragmentation and the gradual move toward pyproject.toml standards.

story

The Second Browser War

After Internet Explorer's dominance, Firefox and then Chrome reignited browser competition, driving faster engines, better standards, and continuously updated browsers.

story February 3, 1976

The Open Letter to Hobbyists

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.

story November 1978

The BBS Era

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.

story May 21, 1983

The Story of Mel, a Real Programmer

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.'

story July 1983

Real Programmers Don't Use Pascal

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.

story January 1984

The Type-In Program

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.

story May 1984

The Clean Room That Cloned the PC

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.

story 1987

The Tao of Programming

Geoffrey James's 1987 collection of Taoist-style programming parables that recast software development, management, and debugging as Zen koans and fables.

story June 26, 1988

The Airbus A320 at Habsheim

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.

story November 2, 1988

The Morris Worm

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.

story January 15, 1990

The 1990 AT&T Long-Distance Network Collapse

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.

story February 25, 1991

Patriot Missile Failure at Dhahran

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.

story July 16, 1992

The Protocol Wars

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.

story April 16, 1993

The Clipper Chip

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.

story July 1993

Therac-25

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.

story November 1994

The Pentium FDIV Bug

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.

story June 4, 1996

Ariane 5 Flight 501

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.

story February 1, 1997

The Right to Read

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.

story July 1997

Mars Pathfinder and the Priority Inversion on Mars

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.

story November 1997

The Pentium F00F Bug

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.

story December 23, 1997

The Doom Source Release and id's Open Source Tradition

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.

story 1998

The Toy Story 2 Deletion

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.

story February 3, 1998

Free Software vs Open Source: The 1998 Schism

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.

story November 1998

The Halloween Documents

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.

story November 10, 1999

Mars Climate Orbiter

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.

story December 3, 1999

Mars Polar Lander

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.

story January 1, 2000

Y2K

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.

story March 6, 2003

SCO v. IBM and the SCO-Linux Lawsuits

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.

story August 14, 2003

The 2003 Northeast Blackout

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.

story April 2005

The BitKeeper Saga

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.

story 2007

The Mobile Platform Wars

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.

story April 8, 2008

The Death of Classic Visual Basic

The painful break between classic Visual Basic 6 and the incompatible VB.NET, which prompted a developer petition signed by hundreds of Microsoft MVPs.

story May 13, 2008

The Debian OpenSSL Predictable Key Bug

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.

story October 2008

The TeX Bug Bounty

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.

story August 2009

The Billion-Dollar Mistake

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.