Jonathan Blow - Preventing the Collapse of Civilization (English only)
bus11 HN recommenders · recommended in 8 months, 2019–2023
talk · general · evergreen · 2019–2023 on HN
Jonathan Blow's DevGAMM 2019 talk argues that software knowledge is being lost between generations and that growing layers of abstraction could lead to a decline in technological civilization.
A perennial HN reference for arguments that software is getting worse and that hard-won knowledge is disappearing.
Up next
2 mo on HNEEVblog #555 - 555 Timer Kit
EEVblog
2 HN recommender · 2014–2019
14 mo on HNA Better Default Colormap for Matplotlib | SciPy 2015 | Nathaniel Smith and Stéfan van der Walt
Enthought
15 HN recommender · 2015–2026
8 mo on HNJim Keller: Moore's Law, Microprocessors, and First Principles | Lex Fridman Podcast #70
Lex Fridman
8 HN recommender · 2020–2023
4 mo on HNThe Extreme Physics Pushing Moore’s Law to the Next Level
Seeker
5 HN recommender · 2019–2023
1 mo on HNJoe Rogan Experience #1439 - Michael Osterholm
PowerfulJRE
3 HN recommender · 2020–2022
3 mo on HNthat dark matter video aged like milk
Angela Collier
3 HN recommender · 2024–2024
12 mo on HNPreventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)
DevGAMM
14 HN recommender · 2020–2025
4 mo on HNdark matter is not a theory
Angela Collier
5 HN recommender · 2023–2024
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
14 mo on HN"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
14 HN recommender · 2022–2026
13 mo on HN"Making Impossible States Impossible" by Richard Feldman
elm-conf
9 HN recommender · 2017–2026
12 mo on HNHow To Design A Good API and Why it Matters
Google TechTalks
12 HN recommender · 2011–2025
12 comments from Hacker News
>Nostalgia for the simplicity of the past ends up having ugly cultural implications. It's easy to say "let's go back to the time when things were simple"; it's a lot harder to say "folks in (e.g.) Israel shouldn't be able to type in their native language". This is a ridiculous mischaracterization of what Jonathan Blow was talking about. Here is the full presentation. Very much worth watching in its entirety and thinking about: ▶ this video
I am not so sure. This is a handwavy advise I always hear from contemporary business wizbangs, but I don't think it is objectively or universally true. Pedantic, careful and attention to detail, perfectionist products that just work without things breaking all the time are a pleasure to use from the standpoint of the customer. Figure out the implementation details, funding, motivation, etc. as an entrepreneur - shipping broken products to paying customers is something that I only see in the software industry. You don't buy a vacuum cleaner and expect to send half of the missing screws to the customer 6 months later. Hell, just 20 years ago when you bought your SEGA game cassette, it shipped as a final product. Not to be patched ever. Once its out to the factory, if you found a bug, tough luck. Yes, this analogy has its limits, but silicon valley mentality of this startup hustle is questionable. I recommend watching this incredible talk (it's about software) : ▶ this video
> software actually becoming less efficient? I'd argue that software is becoming worse in some ways. It seems that the acceptable tolerance is _very_ low these days, with most people are just shrugging issues off. Personally, I find this talk by Jonathan Blow to be rather inspiring: ▶ this video As for software becoming less efficient specifically, I'd say that it is, for example, relying on microservices for everything is probably not a good idea for most companies. Not everyone is AWS, nor do they need to be.
Jonathan Blow makes a bunch of great points about our simplified view of ancient people, versus the reality of their complex achievements which could only be brought about by lots of ingenuity and iterations. ▶ this video
There's also the pessimistic view that we will actually lose progress and regress over time. Jonathan Blow has an interesting talk on the subject: ▶ this video
I follow Blow's work and opinions quite closely. I am quite confident he was NOT criticizing Mighty specifically. Instead he was deploring the state of software engineering in general and web programming in particular. He is saying something like "I can't believe web engineering sucks so bad that a tool like Mighty actually makes sense". See his talk about preventing the end of civilization (!!): ▶ this video
I took a couple of compiler courses in university, and I think for the most part it made me a better programmer, mainly because it enforced understanding of how specific programming concepts and constructs are generally implemented. That, and a more intense look at the "heap of abstractions" you're generally working with when you write a higher-level language. I've always advocated that, if you want to really understand the tools you are using, you need to understand at least one level below the "surface abstraction" that you are working if. Even better if you can understand two or three levels down. There's a great talk from game developer Jonathan Blow [1] that describes how knowledge is lost "generationally" due to our lack of understanding of the black boxes we build things on top of. Not sure I 100% agree with his thoughts, but it's an interesting take. [1] ▶ this video
It costs so much mostly because programmers don't know how to write software cost-efficiently. As everybody follows the same path, VCs start to believe the cost is increasing when in fact it's the programmer's knowledge of cost-efficiency software design that is decreasing. Take a look at this: ▶ this video The costs to develop software are ridiculous and unrealistic. It turns out that if enough people act as ridiculous and unrealistic that becomes the new normal.
Of course that's true - we probably don't need to start re-teaching the abacus... but I'm careful about getting too complacent. When everything has been going well for a long time it's tempting to think this will continue forever. But one, say, global pandemic can bring everything down - and some of our modern conveniences can be gone... possibly for centuries. An interesting (programming) talk by Jonathan Blow on the subject of losing knowledge! ▶ this video
The Soul of Erlang and Elixir, by Sasa Juric video: link HN discussion: link Preventing the Collapse of Civilization, by Jonathan Blow video: ▶ this video HN discussion: link
If you'd like to venture further into this rabbit hole I can recommend "Preventing the Collapse of Civilization": ▶ this video And "The Thirty Million Line Problem": link
Well-known game developer Jonathan Blow has a lot to say about software and technology more generally being in decline due to skills being lost when older generations retire [1]. In my own experience, writing code with pointers in it used to be a skill expected of entry level programmers, and getting the hang of it was something of a rite of passage. Around the time Java started being used as a teaching language, it became best practice to rely on the language's standard libraries instead of rolling one's own linked list or whatever, and I instructed university students accordingly. As things have developed, the design effort put into Rust seems to imply that pointers are now regarded as a grand challenge problem. These days I don't tie my own neck ties any more but wear the clip-on kind because the knots have been developed and tested by experts. [1] ▶ this video