Skip to content

Casey Muratori: Surprises In Computer History And Where Bad Code Comes From

September 14, 2026 · 1 h 58 min

Show notes

Casey Muratori is a video game developer and programming creator also known for his talks about the history of software and computing. We talked about surprising parts he found while digging through computer history, where bad code comes from, and his career story.


• My ergonomic keyboard project I mentioned, you can follow along here: https://read.compose.llc/

• The Kickstarter page for it: https://www.kickstarter.com/projects/ryanlpeterman/compose-simple-ergonomics-beautifully-done


Podcast links:


• YouTube: https://youtu.be/jHLbL1Eg4gM

• Apple: https://podcasts.apple.com/us/podcast/the-peterman-pod/id1777363835

• Transcript: https://www.developing.dev/p/casey-muratori-surprises-in-computer


Thank you to this episode's sponsors for supporting my work:


• Jira by Atlassian: Get more work done with your favorite agents and models all in one place, check them out at https://jira.dev/

• WorkOS: makes your app Enterprise Ready with easy to use APIs to add SSO, SCIM, RBAC, and more in just a few lines of code, check them out at https://workos.com/


Timestamps:


(00:00) Intro

(01:08) Digging into computer science history

(04:08) What shocked him

(16:23) Dijkstra was depressed

(26:17) The personal side of goto considered harmful

(35:09) The anatomy of a 35 year mistake

(50:12) Clean code horrible performance

(58:33) How to write high performance code

(01:01:18) Where bad code comes from

(01:06:37) Why design docs before code is a bad idea

(01:09:20) The only unbreakable law in software engineering

(01:15:57) How he got into programming

(01:21:16) Why he didnt work in big tech

(01:30:44) Should you work at a startup early on

(01:34:52) What video game engineering is like

(01:39:57) Why preventing recursion is reasonable

(01:43:24) Is vibe coding bad for the industry

(01:50:17) Technical reading recommendation

(01:54:27) Advice for his younger self

(01:56:54) Outro


Where to find Casey:


• Website: https://caseymuratori.com/

• Newsletter: https://www.computerenhance.com/

• X/Twitter: https://x.com/cmuratori

• GitHub: https://github.com/cmuratori

• YouTube: https://www.youtube.com/@MollyRocket

• Bluesky: https://bsky.app/profile/cmuratori.bsky.social

• Twitch: https://www.twitch.tv/molly_rocket

• Handmade Network: https://handmade.network/m/cmuratori

• Wikipedia: https://en.wikipedia.org/wiki/Casey_Muratori


Where to find Ryan:


• Newsletter: https://www.developing.dev/

• X/Twitter: https://x.com/ryanlpeterman

• LinkedIn: https://www.linkedin.com/in/ryanlpeterman/

• Threads: https://www.threads.com/@ryanlpeterman

• Instagram: https://www.instagram.com/ryanlpeterman

• TikTok: https://www.tiktok.com/@ryanlpeterman


Referenced in this episode:


• The Root of the Root of All Evil: https://computerenhance.com/theroot

• The Big OOPS: Anatomy of a 35-Year Mistake: https://www.youtube.com/watch?v=wo84LFzx5nI

• Edsger Dijkstra's "Notes on Structured Programming": https://www.cs.utexas.edu/~EWD/transcriptions/EWD02xx/EWD249/EWD249.html

• Donald Knuth's "Structured Programming with go to Statements": https://doi.org/10.1145/356635.356640

• Edsger Dijkstra's "Go To Statement Considered Harmful": https://www.cs.utexas.edu/~EWD/transcriptions/EWD02xx/EWD215.html

• Ivan Sutherland's Sketchpad thesis: https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.html

• Clean Code, Horrible Performance: https://www.computerenhance.com/p/clean-code-horrible-performance

• Where Does Bad Code Come From?: https://www.youtube.com/watch?v=7YpFGkG-u1w

• The Only Unbreakable Law: https://www.youtube.com/watch?v=5IUj1EZwpJY

• Dijkstra letter's reference: https://medium.com/@acidflask/this-guys-arrogance-takes-your-breath-away-5b903624ca5f#.1rdj838x6

All episodes of The Peterman Pod

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.