MDbookmarks.mdthings I love
# Bookmarks
Things I love on the internet, and the bugs that taught me (and the industry) the most.
Worth your time
- The Evolution of Trust - Nicky Case's playable explainer on game theory and why we cooperate. The bar for 'article as a game'.
- ciechanow.ski - Bartosz Ciechanowski's interactive explainers (gears, GPS, the mechanical watch). Hand-built, jaw-dropping.
Post-mortem Stories
War stories worth knowing. Click any for the source.
- Mariner 1 (1962) - A missing overbar in transcribed guidance math, "the most expensive hyphen in history." Test what you transcribe.
- Vancouver Stock Exchange index (1982) - The index truncated instead of rounding and bled from 1000 to about 520 in under two years. The lesson did not stick: see Knight Capital below for the same money-math hubris, now at machine speed.
- Ariane 5, Flight 501 (1996) - Reused guidance code converted a 64-bit float to a 16-bit int; the faster rocket overflowed it and self-destructed. About $370M gone. Reused code outside its validated envelope.
- Mars Climate Orbiter (1999) - One team used metric, the other imperial. The numbers never agreed and the orbiter burned up in the Martian atmosphere. Units are part of the contract.
- Y2K (2000) and the Year 2038 problem - Two-digit years nearly broke the world at midnight 2000; 32-bit Unix time overflows on Jan 19, 2038. We keep mortgaging the future to save a few bits, and the sequel is already scheduled.
- Nuclear Gandhi - Started as an apocryphal integer-underflow legend (aggression 1 minus 2 wraps around to 255). Then it became a self-fulfilling prophecy: developers loved it so much they coded the behavior into later games on purpose. A bug so good it shipped as a feature.
- Knight Capital (2012) - A stale feature flag plus a partial deploy lost $440M in 45 minutes and effectively ended the firm. Deploys are production events, and once real money and floating-point math share a loop, every rounding error scales with the order book.
- left-pad (2016) - An 11-line package was unpublished and builds broke across the internet. The whole ecosystem rests on tiny dependencies.
- The NULL license plate (2019) - A researcher put NULL on his plate; ticket systems read it as no plate and dumped every unmatched citation on him, about $12,000 worth. Never let a magic value mean both 'nothing' and a real thing.
- GTA Online load times (2021) - Seven-minute loads for years, fixed by a player: an O(n²) scan while parsing a 10MB JSON file. Profile the hot path.
- The Super Mario 64 cosmic ray (2013) - A speedrunner's Mario teleported upward mid-jump with no input to explain it. The leading theory: a single ionizing particle flipped one bit in the console's RAM. Sometimes the bug is literally the universe, which is why ECC memory exists.
- 0.1 + 0.2 ≠ 0.3 - Floating point, in one URL. Everyone learns this twice.