gamedev cuts
Exponential hardware gains mask a systemic degradation in software engineering that risks civilizational failure as society normalizes routine defects.
AI-assisted summary of Software is in Decline - Jonathan Blow — original source. Check the original for full context.
Source published:
Key ideas
- Jonathan Blow asserts that software is undergoing a gradual decline that threatens civilization because critical infrastructure, from finance to modern avionics, now relies entirely on software without manual fallbacks. (0:00)
- The appearance of software progress is an illusion fueled by exponential hardware advances, which mask the fact that core software engineering practices and reliability have stagnated or deteriorated. (1:19)
- While machine learning models represent genuine algorithmic advances, their core mathematical kernels make up less than 1% of an application's codebase, leaving them surrounded by brittle, decaying legacy infrastructure. (1:19)
- User and developer expectations have plummeted to the point where constant crashes, broken basic features, and nonsensical UI bugs across industry-standard tools are passively accepted as normal background noise. (4:06)
Detailed notes
## Background Published on YouTube by the channel gamedev cuts on August 3, 2022, this clip is an excerpt from game developer Jonathan Blow's presentation "Preventing the Collapse of Civilization" at Thekla, Inc. The video highlights Blow's argument that modern software development is undergoing a systemic, largely unacknowledged decline.
## TL;DR Jonathan Blow presents the thesis that modern software is suffering from a slow-motion decline, masked only by decades of exponential hardware advancements and brute-force compute achievements like machine learning. Drawing historical parallels to the protracted downfalls of the Bronze Age and the Western Roman Empire, Blow argues that critical infrastructure is increasingly vulnerable because public expectations have fallen dramatically. To demonstrate this everyday decay, he details an ongoing log of absurd, pervasive bugs encountered across core developer tooling, consumer operating systems, government web forms, and even capacitive hotel light switches. Blow ultimately warns that society has normalized fundamental failure, failing to recognize that core software reliability is actively worsening rather than progressing.
## Atmosphere & style The presentation carries a deadpan, analytical, and quietly alarming tone, blending high-level civilizational critique with dryly comedic personal grievances. Blow speaks with the measured exasperation of a seasoned practitioner, systematically cataloging technical absurdities until the sheer volume of mundane failures takes on an unsettling weight. Listening to the talk feels like watching someone methodically puncture the tech industry's self-congratulatory narrative, turning routine software nuisances into an eerie warning sign of structural rot.
## Bulletin - [00:00](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=0s) Jonathan Blow asserts that software is undergoing a gradual decline that threatens civilization because critical infrastructure, from finance to modern avionics, now relies entirely on software without manual fallbacks. - [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) The appearance of software progress is an illusion fueled by exponential hardware advances, which mask the fact that core software engineering practices and reliability have stagnated or deteriorated. - [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) While machine learning models represent genuine algorithmic advances, their core mathematical kernels make up less than 1% of an application's codebase, leaving them surrounded by brittle, decaying legacy infrastructure. - [04:06](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=246s) User and developer expectations have plummeted to the point where constant crashes, broken basic features, and nonsensical UI bugs across industry-standard tools are passively accepted as normal background noise.
## Key takeaways - [00:00](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=0s) Software is in a 'soft decline' characterized by pervasive friction and bugs, which risks turning into a catastrophic 'hard decline' as society stakes critical survival infrastructure on it. - [00:00](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=0s) Software failures now directly cause fatal real-world accidents, such as modern airplane crashes happening exclusively due to bad software with no mechanical defects. - [00:00](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=0s) Civilizational collapse occurs over centuries, like the Late Bronze Age collapse (~100 years) or the fall of the Western Roman Empire (~300 years), making gradual systemic unraveling imperceptible to those living through it. - [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) Software has largely free-ridden on massive hardware improvements, giving the false impression that programs are getting better when they are merely executed on exponentially faster microchips. - [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) Breakthroughs like AlphaGo and real-time facial filters rely primarily on massive brute-force compute rather than robust or innovative software engineering. - [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) Modern applications consist of a tiny, high-performing mathematical core surrounded by an overwhelming majority of sprawling, fragile scaffolding code for UI, memory, and networking. - [04:06](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=246s) Cultural expectations for software reliability have plummeted from demanding correct execution to reflexively accepting routine restarts and freezing as standard behavior. - [04:06](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=246s) Core developer tooling consistently fails during basic workflows, including Lua terminal prompt errors, Emacs truncating open files during disk writes, and Visual Studio crashing while storing configuration strings. - [06:56](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=416s) Digital storefronts and games routinely fail basic tasks, such as Epic Games Store throwing download errors, Steam freezing on black screens, and games breaking display resolution after an ordinary Alt-Tab. - [06:56](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=416s) Web applications frequently break under simple edge cases, such as an online visa form permanently locking up due to uncleared client-side validation logic after an initial phone number typo. - [06:56](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=416s) Unnecessary software integration is displacing reliable mechanical systems, exemplified by hotel touch-pad air conditioning controls inconsistently triggering the landline telephone to ring. - [09:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=559s) A fresh, licensed installation of Adobe Photoshop through Creative Cloud crashed immediately upon selecting 'File > New Document', illustrating out-of-the-box failure on basic functionality. - [09:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=559s) The industry's normalization of broken software blinds people to the ongoing degradation, prompting Jonathan Blow to challenge developers to keep a daily log of every software failure they encounter.
## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=0s) The Thesis of Software Decline and Historical Collapse
Jonathan Blow lays out the central premise of his talk: beneath the apparent boom of modern tech, software is actually suffering a gradual decline. At present, this manifests as a "soft decline"—a pervasive friction of bugs and inconveniences that people shrug off—but it holds the potential to become a catastrophic "hard decline" because modern human civilization has staked its survival on software. Software is embedded into communication networks, financial systems, and transportation infrastructure to the point where fatal failures are already happening without any mechanical fault. Blow emphasizes the stakes with modern aviation: “So, you know, we now have airplanes that kill hundreds of people due to bad software and bad software only, right? There was no other problem with those airplanes.”
Anticipating skepticism from an audience surrounded by seemingly flourishing digital products, Blow draws a parallel to historical civilizational collapses to illustrate how imperceptible decline is from within. The Late Bronze Age collapse destroyed an entire interconnected web of advanced civilizations, yet that collapse unfolded over a century; an individual living through the first twenty years would simply notice minor deteriorations while assuming foundational stability, only for cities to burn every few decades until virtually nothing was left. Similarly, the fall of the Western Roman Empire took roughly 300 years. If an entire system degrades across generations, people gradually adapt their expectations rather than recognizing that they are trapped in a slow-motion systemic unraveling.
- **Late Bronze Age Collapse**: Lasted roughly 100 years, completely wiping out major regional powers through gradual, compounding decay. - **Fall of the Western Roman Empire**: Unfolded over approximately 300 years, demonstrating that societal collapse rarely happens overnight. - **Societal software exposure**: Critical infrastructure (power, communications, avionics) relies entirely on software layers that cannot be replaced by manual fallbacks.
[01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) Free Riding on Hardware and the Illusion of Progress
Responding to the counterargument that soaring tech valuations and ubiquitous smartphones disprove any decline, Blow asserts that software has primarily been coasting on the monumental achievements of computer engineering. Over several decades, microchips have advanced exponentially—an engineering triumph Blow describes as one of the greatest accomplishments in human history. This hardware velocity creates the illusion that software is improving, when in reality programs simply appear faster and more capable because the underlying silicon provides orders of magnitude more compute power. Blow claims that core software engineering methodology and architectural reliability have remained stagnant or actively degraded for years.
When critics point to flashy recent breakthroughs like DeepMind’s AlphaGo defeating grandmasters or mobile apps swapping facial features in real time, Blow explains that these are largely brute-force compute achievements rather than proofs of robust software design. Modern machine learning depends overwhelmingly on vast computational volume; AlphaGo could never have been trained on the consumer or server hardware of twenty years prior. Furthermore, while the mathematical algorithms driving these neural networks have genuinely improved, they constitute an infinitesimal fraction of an application's codebase. The core machine learning kernel is mathematically straightforward and tiny, whereas the surrounding software scaffolding—decoding image bitmaps, dispatching user interface events, managing memory, and coordinating network protocols—is sprawling, brittle, and deteriorating. As Blow puts it: “So I would characterize software as having small local technological improvements like machine learning, with overall inertia or degradation in the rest of the field.”
```mermaid flowchart TD accTitle: The Machine Learning App Architecture accDescr: Diagram contrasting the tiny, high-performing mathematical core of modern software with the sprawling, fragile supporting layers.
subgraph AppContainer["End-User Application (e.g. Face Filter / AI Tool)"] direction TB subgraph DecayingLayers["Decaying, Sprawling Infrastructure (~99% of Code)"] A["OS Event Loop & UI Drivers"] B["Network Layer & Telemetry"] C["Image Bitmaps & File I/O"] end subgraph ModernKernel["Local Algorithmic Advance (<1% of Code)"] D["Math / Inference Core"] end end
A --> B B --> C C --> D
Hardware["Exponential Hardware Gains (Compute & GPUs)"] -.->|"Enables Execution Of"| D ```
[04:06](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=246s) Shrinking Standards and the Daily Friction of Modern Tooling
Blow observes that cultural tolerance for defective software has quietly shifted. Decades ago, computers had a reputation for being confusing or user-unfriendly, but users still expected software to execute correctly according to its instructions. Today, public standards have dropped so low that unexpected freezes, corrupted views, and failures are treated as normal background noise: “But today, if you're using a program and it does something wrong, you're just like, 'Yeah, it's software. Restart it. Whatever.'” To test how bad baseline software quality has truly become, Blow conducted an informal experiment: he began taking a screenshot every time any program he used exhibited an unambiguous bug, crash, or broken behavior during normal daily engineering work.
Within mere days of starting this log, the defects piled up relentlessly across everyday professional development environments: - **Terminal and Lua**: While working on the compiler for his programming language, his command-line console prompt randomly began spitting out `attempt to index a nil value` because the terminal tool was implemented in Lua. - **Emacs**: When Blow switched to his text editor, the automatic reload feature—which had worked reliably for years—triggered prematurely during disk writes, truncating open files in half and forcing manual reverts. - **Gmail**: While composing an internal team email regarding graphics architecture, copying and pasting a line of text forced subsequent typing into a bizarre, three-character-wide column, reviving Word-style rich-text formatting nightmares from the 1990s. - **Visual Studio**: Attempting to supply routine command-line arguments to the debugger caused Microsoft Visual Studio to throw a modal error dialogue stating, `Collection was modified; enumeration operation may not execute`. Blow marveled at the fact that simply storing an inert configuration string failed roughly 4% to 5% of the time.
[06:56](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=416s) Ubiquitous Failure: Games, Bureaucracy, and Hotel Rooms
The pattern of defects extended far beyond developer tooling into leisure, spectator sports, and public web infrastructure. Seeking a break from programming, Blow attempted to download a game via the Epic Games Store, which threw an unspecified error and refused to initiate the download. Switching to Steam, the game downloaded, but opening the installer resulted in a frozen, completely pitch-black window that required terminating the Steam process. Once inside the game, an ordinary Alt-Tab to check another window permanently broke the display resolution, pinning the game into an offset corner and necessitating another restart. Turning to entertainment, Blow tuned into a high-stakes *Counter-Strike* match between Cloud9 and Luminosity Gaming watched by over 100,000 live viewers, only to find the broadcast UI displaying a nonexistent sixth player named `undefined` throughout the entire match.
Routine administrative tasks proved equally fragile. Navigating an online map for the retro game *Ultima IV* failed because the layout engine broke the image across multiple wrapping lines, requiring a browser change. More seriously, while applying online for a travel visa to the Russian Federation, entering an initial phone number typo permanently poisoned the form's client-side validation logic; because the script never cleared the invalid-state flag, Blow had to abort the session, purge browser cookies, and restart the multi-page application from scratch.
The absurdity peaked upon arriving at his hotel in Russia to write the presentation. The room featured software-controlled capacitive touch pads for lighting and climate controls rather than physical mechanical switches. Every so often, tapping the panel to turn the air conditioning on or off caused the landline room telephone to let out a short, phantom ring. The defect wasn't a designed feature—it occurred inconsistently—serving as the ultimate real-world manifestation of brittle, unnecessary software creeping into previously solved mechanical tasks.
[09:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=559s) The Normalization of Broken Software
Jonathan Blow shares a fresh, absurd encounter with software degradation that happened just two hours before delivering his talk. Scrambling at the last minute to put together a diagram, he installed a completely legitimate, licensed copy of Adobe Photoshop through Creative Cloud onto his machine. As soon as he opened the application and selected “File > New Document,” the software immediately choked, throwing an error message stating that the new document extension could not be loaded because of a program error. Blow stresses that this was not a rare edge case or an invented hypothetical, but an immediate, out-of-the-box failure on genuine, paid software.
The broader tragedy, Blow argues, is not merely that professional tools fail to execute their most basic functions, but that nobody in the industry or the user base is even caught off guard anymore. Society has become deeply numb to malfunctioning technology. As Jonathan Blow observes, “And so my whole point though is we are not surprised by any of this; my other point is that it's getting worse over time.” Because people have adapted to dealing with broken systems as an everyday reality, the extent of the decay remains largely invisible until someone actively tracks it.
To drive the point home, Blow challenges the audience to conduct a personal experiment in their daily routines. When he originally conceived the idea of documenting software breakdowns, even he did not anticipate just how staggering the final tally would be. As Jonathan Blow urges the audience, “Try counting for yourself just every day—just make a little list of all these things, and I think you'll be surprised how many there are.”
- **The Photoshop Incident:** Right after downloading a fully licensed installation of Adobe Creative Cloud Photoshop to build a presentation diagram, selecting `File` -> `New Document` instantly crashed the feature with: *"The new document extension could not be loaded because of a program error."* - **The Core Argument:** Software reliability is actively deteriorating over time rather than improving, yet collective expectations have dropped so low that catastrophic failures on basic operations are met with passive acceptance.
## Notable quotes > [01:19](https://www.youtube.com/watch?v=FeAMiBKi_EM&t=79s) I would characterize software as having small local technological improvements like machine learning, with overall inertia or degradation in the rest of the field. — Jonathan Blow
## Mentioned Jonathan Blow, DeepMind, AlphaGo, Lua, Emacs, Gmail, Microsoft Visual Studio, Epic Games Store, Steam, Counter-Strike, Cloud9, Luminosity Gaming, Ultima IV, Adobe Photoshop, Adobe Creative Cloud, Late Bronze Age collapse, Western Roman Empire
## Video description Snip taken from "Preventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)"
Original video: https://www.youtube.com/watch?v=ZSRHeXYDLko
#gamedev #gamedevelopment #jonathanblow #softwaredevelopment
[Source](https://www.youtube.com/watch?v=FeAMiBKi_EM)