Skip to content
HHackerTube.videoSurprise me

Jonathan Blow - Preventing the Collapse of Civilization (English only)

Jonathan Blow - Preventing the Collapse of Civilization (English only) on HackerTube: recommended by 11 Hacker News commenters across 8 separate months, 2019–2023.

bus

talk · evergreen

Open on YouTube

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.

Why Hacker News recommends it

A perennial HN reference for arguments that software is getting worse and that hard-won knowledge is disappearing.

people recommended it
11
separate months
8
strong recommendations
2
discussed on HN
2019–2023
“Very much worth watching in its entirety and thinking about”
— colllectorof, May 2021, in “Text editing hates you too (2019)”

What HN commenters said

20 Hacker News comments link this video. Each one links back to its thread.

colllectorofMay 2021Strongly recommends

>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

in “Text editing hates you too (2019)” · View on HN

spectramaxFeb 2020Strongly recommends

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

in “Stop Perfecting, Start Shipping” · View on HN

PartiallyTypedDec 2022Recommends

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

in “Ask HN: Is software becoming less efficient?” · View on HN

SQueeeeeLDec 2021Recommends

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

in “How are Rome's monuments still standing?” · View on HN

city41Sep 2021Recommends

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

in “The universe has already made almost all the stars it will ever make” · View on HN

d_burfootMay 2021Recommends

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

in “Crazy New Ideas” · View on HN

Show 14 more comments
perfect5thJun 2020Recommends

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

in “An Intro to Compilers (2017)” · View on HN

fagnerbrackJun 2020Recommends

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.

in “Ask HN: Why is development so expensive?” · View on HN

mrspeakerFeb 2020Recommends

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

in “Amateur radio skills prove useful during bushfire emergencies” · View on HN

beefmanDec 2019Recommends

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]

in “Ask HN: Best Talks of 2019?” · View on HN

worldsayshiMay 2019Recommends

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]

in “Docker is vulnerable to a symlink-race attack” · View on HN

gradschoolAug 2023Cites it

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

in “Ask HN: What are the “lost arts” of our field?” · View on HN

rgloverJun 2022Cites it

No. This is the absolute wrong direction. In effect, you're giving a third-party absolute control over your code and your ability to work on it. You're also disconnecting the developer's mental model of how all of this stuff works (arguably why there's so much bad code floating around). Eventually, that will devolve to people not knowing how any of this works and the industry will collapse. It's an abstract line of argumentation related to this, but Jonathan Blow nailed it on this idea a few years back: ▶ this video

in “The End of Localhost” · View on HN

tuckerconnellyAug 2021Cites it

While not incompatible with ECS, the DOM and this renderer go all-in on the javascript event-loop. You would have to write your own run loop, which executes the systems on every frame (ideally creating a DAG and executing in parallel while possible), and leave the event loop behind, with all the niceties like `onClick`, to go full ECS. Otherwise you'll create some Frankenstein monster of part ECS, part event-loop, part declarative React. Additionally, you can throw OOP in that mix as well, because Three.js has it's own whole OOP-style framework, that you're strapping declarative React on top of with this renderer. Reminds me of Jonathan Blow's talk on the end of civilization via endless layers of abstraction[1]. I really think, when it's ready, a Bevy[2]-style system either native or compiled to WASM with WebGPU will be ideal. And while I'm airing opinions (forgive me), I think writing shaders now is like SQL 30 years ago. Developers left optimizing difficult--according to them--SQL to database administrators by abstracting it away into ORMs. If history is any indicator, I think we'll be having the same arguments on Hacker News 30 years from now about 3D frameworks vs writing shaders directly as we're having now about ORMs vs writing SQL directly. [1] ▶ this video [2] [link]

in “React Renderer for Three.js” · View on HN

sjyOct 2020Cites it

The author of this article, Samo Burja, also gave a great lecture in 2018 called “Civilization: Institutions, Knowledge and the Future” ( [link] ) which was mentioned in Jon Blow’s popular 2019 talk on software complexity, “Preventing the Collapse of Civilization” ( ▶ this video ). Burja’s talk is worth watching if you’re interested in his analysis of technology and history over an even longer period, and it provides some context for his remarks at the end of the article about intellectual institutions and the benefits of centralisation.

in “The Centralized Internet Is Inevitable” · View on HN

akkartikSep 2020Cites it

You've probably seen Jonathan Blow's talk on the subject: ▶ this video I'm super interested in the subject: [link] . In the framework of this thread I focus on 2 of the 3 layers: problem and software. Hardware is out of scope. For now. Recently I've started thinking about BIOS (inspired by [link] ). So perhaps it's only a matter of time.

in “Bootstrapping a Forth in 40 lines of Lua code (2008)” · View on HN

ipiAug 2020Cites it

Quality Software : Yes, this is becoming more and more important and is overlooked at many levels. With more of our infrastructure, lives and the future of humanity in the hands of a bunch of software & hardware. We need to take things a tad bit more seriously. I believe this is not yet a big problem but it is becoming one. ▶ this video [link]

in “Ask HN: What Are the Big Problems?” · View on HN

chansikyJul 2020Cites it

I agree with the sentiment that they only augment our capabilities, but then we end up with another problem, which is that the people who write the software are not fully aware of how it all works. Relevant to my argument is Jonathan Blow's `Preventing The collapse of Civilization` talk in which he discusses the disappearance of knowledge as generations pass: ▶ this video

in “AI writing code will make software engineers more valuable” · View on HN

franky47Sep 2019Cites it

> I'd expect the bar to preserve any specific content to be a lot lower than what we had in the past. At the moment, I agree. However, as older civilizations rose and fell, their knowledge lived on in physical support, directly accessible by anyone who was taught how to read the language, therefore the assumption was that "as long as the language lives on, books are a good archiving support". When our modern digital civilization falls [1], I'm not sure most of it would be transmittable through long-term electronic archiving supports that may be easily readable (as easily as a written book at least) by future civilizations, because not only the language has to live on, but the technology needed to access the content also has to function. I also agree that some contents will always be more relevant to "backup". As for everything that happened on Facebook (same can be said for most social platforms), it is likely to entirely disappear with the company. One could even see it as a parallel civilization, that has no means of self-preservation other than that of their ruling entity's business interest. [1] Jonathan Blow - Preventing the collapse of civilization - ▶ this video

in “How the invention of the book changed how people read” · View on HN

karlmcguireMay 2019Cites it

This reminds me of recent talk by Jonathan Blow [1], where he talks about how we've made very little progress in the field of software and anything that appears to be progress is just software leveraging better hardware. It's quite scary how low our standards have gotten. [1]: ▶ this video

in “"DigitalOcean Killed Our Company"” · View on HN

Topics & tags

Software architecture & designSoftware performance & optimizationFuturism & technology and societyjonathan blowabstractionsoftware qualitygame developmentknowledge loss