How Fast Is Fast?
Ben interviews Matt with a deceptively simple question: make my program go fast. 44 minutes later, robot dogs are falling over, Grace Hopper's wire makes an appearance, and Matt still hasn't gotten the job.

Ben interviews Matt with a deceptively simple question: make my program go fast. 44 minutes later, robot dogs are falling over, Grace Hopper's wire makes an appearance, and Matt still hasn't gotten the job.
Ben wipes his PC over Thanksgiving and installs Ubuntu for gaming. Matt recalls the dark days of himem.sys and IRQ conflicts. The universe was created last Thursday, and someone gets a hangover.
Ben's new TCP backpressure explanation: conveyor belts full. Matt zooms out and mistakes his factory for a Pentium 2. Ben plans to switch to Linux gaming; Matt's start bar keeps popping up and he's had it.
Ben worries replacing juniors with LLMs creates a future hiring crisis - who'll train the robot-wranglers? Matt blames COVID brain fog, then proves it by botching NP-completeness. Capitalism is bad at escaping local minima.
Matt returns from CppCon with a cold, three talks, and a keynote title Reddit hates. Ben immediately declares Reddit dumb. The hosts discuss C++ reflection, the unforgivable renaming of the Sears Tower, and why conference attendees should stand like Pac-Man.
Matt and Ben discuss running in production; from running processes in screen to battling systemd configuration files. Ben sketches out daemonization rituals while Matt channels Tolkien to explain process hierarchies. Our hosts discover that Ansible playbooks are just bash scripts with better PR, and everyone still Googles journalctl syntax.
This episode features Matt Godbolt's extensive struggle to upgrade Compiler Explorer to Ubuntu 24, which unexpectedly triggered a severe performance bottleneck. He explains how Systemd's new behavior with thousands of SquashFS mounts caused 200% CPU utilization during boot, leading to runaway auto-scaling and a rollback to an older OS version. Amidst his detailed "therapy session" about debugging and exploring solutions like on-demand mounting, Matt shares the silver lining of Compiler Explorer securing a significant AWS open-source sponsorship, providing newfound financial flexibility for future development.
Matt and Ben explore how experience lets you run across water instead of drowning in options. Ben explains why he doesn't need a life preserver when building software. Matt retrofits good practices into Compiler Explorer while lamenting decisions from 10 years ago.
Ben recounts his 2007 startup building a database chatbot (before LLMs were cool). Matt tries their methods live with Claude. Ben foolishly uses his phone as a microphone stand.
Matt and Ben discuss programming language debates sparked by an old talk that went viral. They explore how Matt's C++ safety tips convinced someone to switch to Rust instead. Matt stays up all night trying four different implementations to prove a point, then loses. Ben introduces the concept of "carpet bubbles" in language design. Matt lists all the C++ features that begin with C, while Ben questions whether Chicago makes popes.
Matt and Ben explore the intersection of testing, metrics, and observability in performance-critical code. They debate push vs pull metric systems, share war stories from financial trading systems, and ponder what to do when your program can't tell anyone it's in trouble.
Matt and Ben explore the new world of AI-assisted coding: is it like pairing with junior developer? Matt gets the recording working the second time, Ben worries about what happens when your business depends on code you don't understand.
Ben and Matt wade into the deep waters of messaging systems, get utterly lost in time synchronization rabbit holes, and discover their new podcast tagline: "We make mistakes so you don't have to." Matt celebrates by getting his car stuck where cars shouldn't go.
Ben unveils his latest acronym-based software discussion framework while Matt patiently waits for the punchline. Our hosts explore alternatives to technical debt, debate the value of naming things, and Matt questions his ability to remember five letters for more than fourteen minutes. Ben has written a blog post going into more detail since the recording.
Matt and Ben unpack the mysteries of remote work and programmer productivity, with a side of two's complement philosophy. Featuring unexpected insights, hallway chat nostalgia, and the radical notion that writing less code might actually be winning.
Matt and Ben preach the gospel of "dirty hands are right," then spend 30 minutes explaining why that's completely wrong unless you're the right person, with the right skills, at the right time, working on the right thing. Also, don't cook chicken with dirty hands.
Matt talks about a work thing, called a sequence lock. Ben suggests some dumb ideas about that work thing. Then our hosts discuss how to starve a reader, anger the Gods of Volatility, and invoke Sylvester Stallone.
Matt and Ben realize they love their jobs, and decide to keep doing them. Flow state, to the point where it makes people uncomfortable, is discussed. Also toilet humor. Ben makes an unintentional Sesame Street reference. Matt recalls his level 70 cleric.
Our hosts congratulate themselves on finally having decent microphones. Matt quizzes Ben on his "Deploy First" approach to software development. Ben explains branch-based deployment environments. He assures Matt he's a mortal. Matt promises to be less rubbish.
Ben and Matt come up with a podcast on the spot, which they do every month but also this month too. Our hosts discuss on-call rotations, fighting (virtual) fires, and working to meet deadlines at the mercy of the world. Ben says the letter 'P' a lot. Matt's brain freezes, but he's OK.
Matt and Ben explore the unfortunate death and rebirth pattern of software systems. Ben botches a quote from Bjarne Stroustrup, and then explains why you can't go back in time and kill Hitler. Matt exhibits all the bad things when describing a serialization library.
In flagrant violation of Betteridge's Law, Ben and Matt consider the question 'Is Optimization Refactoring?' and conclude that the answer is 'probably'. Ben warns our listener about overspecifying in tests. Matt is horrified by his own assumption that other people's code works.
Matt ponders the future of his accidentally eponymous hobby project. Ben offers thoughtful consideration while waiting for the right opportunity to crack a joke. No lawyers were harmed in the making of this podcast.
Ben and Matt discuss their transition to using ARM-based Apple Silicon laptops for their day jobs. Ben rewrites Bash into Java because it makes his tests run faster. Matt tries to teach VSCode something and winds up writing JSON instead.
Matt and Ben describe how to build a developer automation interface with Make, a ubiquitous build tool that can be conveniently inflicted on other people. Ben explains a great way to test shell scripts that doesn't work. Matt deletes libbob3.so and then regrets it.
Ben and Matt discuss the original definition of technical debt a metaphor created by Ward Cunningham to explain why software designs that were correct when created now need to be changed. Ben invents a new verb, 'to soapbox' and then demonstrates its practical use. Matt reads timestamps in the future.
Matt and Ben talk about when it's OK to copy and paste code. Matt explains how helpful compilers take the time-saving step of copying and pasting code for you, saving you precious microseconds. Ben recalls things from the 80s, like word processors and Indiana Jones.
Ben and Matt compare iterative and incremental approaches to software development. To everyone's astonishment, they turn out to be different. Then they decide we need better names for these things, but it turns out naming things is hard.
Matt and Ben talk about how compression works, specifically deflate, which is apparently everywhere. Ben gets particular about compression ratios. Matt explains how to compress /dev/random by sorting it first.
Ben and Matt comment on different types of comments in code. Join our hosts and they explore both good and bad types of comments, from the essential to the inexcusable. Matt explains how to bump the failure counter to 99. Ben suggests violence against cats.