Top all-time · #27
Gary Bernhardt
Personal blog · destroyallsoftware.comprogrammingsystemsculture
Gary Bernhardt writes Destroy All Software, a personal blog at destroyallsoftware.com about programming, systems and culture. Since 2011, 787 different Hacker News readers have linked it 1,062 times, most often “The Birth and Death of JavaScript [video]”. No feed was found, so read it on the site itself.
Often recommended · 16 of 40 sampled comments recommend it?
Why HN links it
HN readers link Gary Bernhardt's talks and screencasts, mostly The Birth and Death of JavaScript and Wat, to recommend them or to back a point about JavaScript, layering and architecture.
- Recommended for · 16 comments
- Comments call the talks great, genius, a masterpiece and 'really enjoyed'; one says the access is well worth it.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- The Birth and Death of JavaScript [video]275 people · 367 mentions · first linked 2014-04-17
- Wat (2012) [video]242 people · 271 mentions · first linked 2012-01-18
- Boundaries (2012) [video]66 people · 90 mentions · first linked 2013-11-07
- Functional core, imperative shell (2012)49 people · 55 mentions · first linked 2013-07-22
- A Whole New World (2012)37 people · 39 mentions · first linked 2013-08-30
- Destroy All Software screencasts free this week36 people · 37 mentions · first linked 2011-08-08
- Ideology: A Talk by Gary Bernhardt from Strange Loop 201523 people · 28 mentions · first linked 2017-11-29
- Network protocols for anyone who knows a programming language11 people · 11 mentions · first linked 2017-06-03
- The Biggest and Weirdest Commits in Linux Kernel Git History11 people · 11 mentions · first linked 2017-02-14
- Destroy All Software: A Compiler from Scratch8 people · 13 mentions · first linked 2017-09-05
What Hacker News says?
Layering (properly) is used to manage dependencies. You isolate interface logic from business logic with data in between. It lets you evolve the architecture. This is a useful abstraction, not just something academic. https://www.destroyallsoftware.com/talks/boundaries
Comment linking /talks/boundaries
on “Cognitive load is what matters”Submitted Network Protocols as a story · 842 points
HN discussionIn 2014 I laughed. No longer laughing. https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “Electron is flash for the desktop (2016)”Submitted Network protocols for anyone who knows a programming language as a story · 635 points
HN discussion> It's a little surprising that 1 + '1' is '11', until you spend a little time and learn the rules instead of fighting them - then you start doing your work in a way that uses that to save time. You are omcpletely underestimating the complexity of JS's implicit coercions. If you haven't already seen it, watch the Wat talk [1]. Finally, the fact that you need the console to even understand the meaning of a code fragm…
Comment linking /talks/wat
on “My Biggest Regret as a Programmer”Submitted The Birth and Death of JavaScript [video] as a story · 635 points
HN discussionThe Birth & Death of JavaScript https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “Show HN: 3 years and 1M users later, I just open-sourced my "Internet OS"”Submitted Wat as a story · 512 points
HN discussionA relevant Destroy All Software talk: https://www.destroyallsoftware.com/talks/a-whole-new-world
Comment linking /talks/a-whole-new-world
on “Show HN: Alacritty, a GPU-accelerated terminal emulator written in Rust”Submitted The Biggest and Weirdest Commits in Linux Kernel Git History as a story · 394 points
HN discussionObligatory reference to The Birth and Death of Javascript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “Google Docs will now use canvas based rendering”Submitted Functional core, imperative shell (2012) as a story · 389 points
HN discussion> So while FP is just another tool, it's also a framework for thinking that helps people make better choices I’ve been getting more into functional programming this past year (via Clojure, though my day-job is mostly JavaScript/TypeScript) and this is the big takeaway for me. Type theory and monads may have their place, but thinking about separating logic from side-effects is, I think, the most valuable aspect of fu…
Comment linking /talks/boundaries
on “Software engineering topics I changed my mind on”Submitted The Biggest and Weirdest Commits in Linux Kernel Git History (2017) as a story · 326 points
HN discussionHah, that's actually a good point. You still don't necessarily need to model the graph at the object level though. You could model your graph as a set of pairs, ie edges. If performance was more of a concern you could do it as a map where each object was a key and the values were a list of the connected objects. You could also separate out the value from the graph behavior and have a GraphNode object that wraps each…
Comment linking /talks/boundaries
on “How Dwarf Fortress is built”Submitted One base class to rule them all. as a story · 325 points
HN discussionI can't help to remind everyone to watch The Birth and Death of Javascript: https://www.destroyallsoftware.com/talks/the-birth-and-death... Cousins of electrons and their RAM requirements are a steep reminder that the DOM is cancerous and will have to evolve and suffer from deprecation. Or maybe introduce metrics and good performance practices?
Comment linking /talks/the-birth-and-death-of-javascript
on “Tauri: An Electron alternative written in Rust”Submitted Destroy All Software screencasts free this week as a story · 277 points
HN discussionCan't believe this hasn't been mentioned yet, so I'm gonna throw it out there. Gary Bernhardt of Destroy All Software. Access to the videos costs $29/month but is well worth it IMO. He covers a very wide range of topics from beginner to advanced. To sum things up in a few words -- his content is focused on a general understanding of computer science and puts concepts, abstractions, and methodologies before any speci…
Comment linking /screencasts/catalog
on “Ask HN: What is your favorite YouTube channel for developers?”Submitted A Bourne-style shell built from scratch in 35 minutes [video] as a story · 197 points
HN discussionElectron is becoming the new Win32. Might as well own it and make it faster, more native. I think it’s a better alternative to Apple's Marzipan. It’s a tragedy for the Web but makes sense for Windows. Anyway, as others have noted, this seems more and more prophetical every year: https://www.destroyallsoftware.com/talks/the-birth-and-death... https://twitter.com/garybernhardt/status/1069787375247622144
Comment linking /talks/the-birth-and-death-of-javascript
on “Microsoft is building a Chromium browser to replace Edge on Windows 10”Submitted TDD, Straw Men, and Rhetoric as a story · 177 points
HN discussionIndeed https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “Fabrice Bellard Releases MicroQuickJS”Submitted Wat (2012) [video] as a story · 147 points
HN discussion> Your browser is going to act as a VM to run a browser that will display the content. Gary Bernhardt's talk "The Birth & Death of JavaScript"[1] was an ominous portent of a terrifying future. Unfortunately, some people apparently saw it as development roadmap. [1] https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “uBlock Origin: Address first-party tracker blocking”Submitted The biggest and weirdest commits in Linux kernel Git history (2017) as a story · 147 points
HN discussionYour comment reminded me of this talk: https://www.destroyallsoftware.com/talks/the-birth-and-death...
Comment linking /talks/the-birth-and-death-of-javascript
on “QuickJS JavaScript Engine”Submitted Network protocols for anyone who knows a programming language (2017) as a story · 146 points
HN discussionValue/message/actor/event oriented programming like you mentioned is useful for building distributed systems. I am a huge fan of going a step further and learning this model: Imperative shell, functional core. The external shell of code in a project is responsible for network connections, console IO, etc. But the internal guts of a program should be largely functional, that is, instead of mutating (changing) values,…
Comment linking /talks/boundaries
on “Ask HN: What overlooked class of tools should a self-taught programmer look into”Submitted Test Isolation Is About Avoiding Mocks as a story · 78 points
HN discussion