Two's Complement
Episodes
Measure Twice, Optimize Once
09 Mar 2026
Contributed by Lukas
Ben asks a simple question about performance and Matt talks for 46 minutes. The one true use case for linked lists is revealed, and a part three is th...
How Fast Is Fast?
14 Feb 2026
Contributed by Lukas
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 ma...
Factorio
06 Dec 2025
Contributed by Lukas
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 gam...
Vibe Coding and Robot Teammates
13 Nov 2025
Contributed by Lukas
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...
Conference Talks: Some Assembly Required
12 Oct 2025
Contributed by Lukas
Matt returns from CppCon with a cold, three talks, and a keynote title Reddit hates. Ben immediately declares Reddit dumb. The hosts discuss C++ refle...
Running Programs
12 Sep 2025
Contributed by Lukas
Matt and Ben discuss running in production; from running processes in screen to battling systemd configuration files. Ben sketches out daemonization r...
Squashing Compilers
10 Aug 2025
Contributed by Lukas
Matt uses you as his therapist to vent about three days fighting systemd and boot time. Ben patiently listens while Matt explains why mounting things ...
The Benefits of Experience
18 Jul 2025
Contributed by Lukas
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 b...
Is Football Possible Anymore?
12 Jun 2025
Contributed by Lukas
Ben recounts his 2007 startup building a database chatbot (before LLMs were cool). Matt tries their methods live with Claude. Ben foolishly uses his p...
C++ and Rust: Different Tools for the Job
09 May 2025
Contributed by Lukas
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...
Observable Metrics
10 Apr 2025
Contributed by Lukas
Matt and Ben explore the intersection of testing, metrics, and observability in performance-critical code. They debate push vs pull metric systems, sh...
Pair Programming with HAL?
16 Mar 2025
Contributed by Lukas
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, B...
Passing Messages
14 Feb 2025
Contributed by Lukas
Ben and Matt wade into the deep waters of messaging systems, get utterly lost in time synchronization rabbit holes, and discover their new podcast tag...
Getting CRUFTy
12 Jan 2025
Contributed by Lukas
Ben unveils his latest acronym-based software discussion framework while Matt patiently waits for the punchline. Our hosts explore alternatives to tec...
Gaming on Linux
10 Jan 2025
Contributed by Lukas
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...
Are We Remotely Productive?
14 Dec 2024
Contributed by Lukas
Matt and Ben unpack the mysteries of remote work and programmer productivity, with a side of two's complement philosophy. Featuring unexpected insight...
Are Dirty Hands Right?
23 Nov 2024
Contributed by Lukas
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...
Sequence Locks
26 Oct 2024
Contributed by Lukas
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 read...
The Joy of Programming
11 Sep 2024
Contributed by Lukas
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. ...
Deploy First Development
17 Aug 2024
Contributed by Lukas
Our hosts congratulate themselves on finally having decent microphones. Matt quizzes Ben on his "Deploy First" approach to software development. Ben e...
Programming Under Pressure
21 Jul 2024
Contributed by Lukas
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 (vir...
Avoiding Abandonware
17 Jun 2024
Contributed by Lukas
Matt and Ben explore the unfortunate death and rebirth pattern of software systems. Ben botches a quote from Bjarne Stroustrup, and then explains why ...
Is Optimization Refactoring?
15 May 2024
Contributed by Lukas
In flagrant violation of Betteridge's Law, Ben and Matt consider the question 'Is Optimization Refactoring?' and conclude that the answer is 'probably...
The Future of Compiler Explorer
17 Apr 2024
Contributed by Lukas
Matt ponders the future of his accidentally eponymous hobby project. Ben offers thoughtful consideration while waiting for the right opportunity to cr...
Strong ARM
18 Mar 2024
Contributed by Lukas
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 te...
make podcast
17 Feb 2024
Contributed by Lukas
Matt and Ben describe how to build a developer automation interface with Make, a ubiquitous build tool that can be conveniently inflicted on other peo...
Technical Debts
15 Jan 2024
Contributed by Lukas
Ben and Matt discuss the original definition of technical debt a metaphor created by Ward Cunningham to explain why software designs that were correct...
Copypasta
19 Dec 2023
Contributed by Lukas
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...
Iter-Mental Development
19 Nov 2023
Contributed by Lukas
Ben and Matt compare iterative and incremental approaches to software development. To everyone's astonishment, they turn out to be different. Then the...
Compression
23 Oct 2023
Contributed by Lukas
Matt and Ben talk about how compression works, specifically deflate, which is apparently everywhere. Ben gets particular about compression ratios. Mat...
Questionable Comments
18 Sep 2023
Contributed by Lukas
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 t...
Ben Walks A Tree
22 Aug 2023
Contributed by Lukas
Ben ventures into the forest, finds a tree traversal problem, and then fails his will save and gets fascinated by a hash map. Matt suggests zombies. T...
Video Games and Other Diversions
17 Jul 2023
Contributed by Lukas
Matt and Ben talk about what they would do if they founded a game studio. And ASICs. And testing because why not. Join our hosts as they speculate on ...
Yak Shaving, Part 2, Also Live!
20 Jun 2023
Contributed by Lukas
Ben and Matt finish shaving the yak from the prior episode. While waiting for DNS certificate validation to complete, our hosts discuss the "branch ba...
Yak Shaving, Live!
22 May 2023
Contributed by Lukas
Matt and Ben hit the record button while shaving a yak and then attempt to pass it off as a podcast episode. Join our hosts as they troubleshoot DNS p...
Integration Tests are a Scam
18 Apr 2023
Contributed by Lukas
Ben and Matt borrow a title from J.B. Rainsberger and talk about how integration tests want to take all your money. Or time. Same thing.
The Compiler Explorer Problem
20 Mar 2023
Contributed by Lukas
How do you solve a problem like Compiler Explorer sponsors? Matt digs into a surprisingly interesting algorithm problem that is in no way related to c...
Slightly Less Terrible Tech Interviews
17 Feb 2023
Contributed by Lukas
Ben and Matt descend like Orpheus into the horrifically awful world of tech interviews, to try and extract some sort of humanity from the process. The...
Not Invented, Hear?
17 Jan 2023
Contributed by Lukas
Matt and Ben explore their mutual tendency to favor build over buy. Instead of using open source software that may be free-as-in-puppy, our hosts have...
Time For Computers
18 Dec 2022
Contributed by Lukas
Ben and Matt examine how fast computers are by comparing them to humans. Turns out they're mind-boggling-ly fast. Or maybe humans are just slow? I don...
A Bit Rusty
16 Nov 2022
Contributed by Lukas
Matt and Ben discuss the Rust programming language, recall some hobby projects they've used it for, and speculate about where else it might be used, s...
Swift (with Doug Gregor)
12 Oct 2022
Contributed by Lukas
Ben and Matt chat about the Swift programming language with special guest (and Swift creator) Doug Gregor. Doug teaches us a thing or two about Swift'...
Carbon Footprint
14 Sep 2022
Contributed by Lukas
Ben and Matt talk Carbon, the new language backed by Google, designed to be a successor to C++. Matt discusses his involvement with the project. Ben a...
Weird Webapps
15 Aug 2022
Contributed by Lukas
Matt and Ben discuss the idiosyncratic way that they learned to build web applications for trading. If latency and correctness were paramount, and you...
Virtual Infrastructure
15 Jul 2022
Contributed by Lukas
Ben and Matt compare container technologies like Docker to virtual machines, and discuss the tradeoffs when deploying applications. Matt explains the ...
Golf for Hackers
19 Jun 2022
Contributed by Lukas
Matt and Ben talk, about uh...golf? What? Is this right? Did you check this? Apparently, in this episode, Ben explains how technology and analytical a...
Async Whatevers
18 May 2022
Contributed by Lukas
Ben and Matt talk about various styles of asynchronous programming, ranging from Node.js, Ruby's EventMachine, C++ coroutines, and the new JVM Project...
Terrible Business Ideas
16 Apr 2022
Contributed by Lukas
Matt and Ben both recall their prior adventures founding companies that sold tools for software developers. What's the best approach to this business?...
Java and/or C++?
22 Mar 2022
Contributed by Lukas
Ben and Matt have a work conversation spill over into podcast. Join our hosts as they compare Java and C++ as two possible languages for a new project...
Compile-Time Programming (with Hana Dusíková)
20 Feb 2022
Contributed by Lukas
Ben and Matt are joined by Hana Dusíková and discuss panoramic photographs, Matt's career peak, and compile-time programming, including her ground-b...
Performance
03 Feb 2022
Contributed by Lukas
Our most efficient podcast ever. Ben and Matt talk performance testing and optimization in fewer than 30 minutes.
Building Games Two Ways
02 Jan 2022
Contributed by Lukas
Matt and Ben talk about their experiences creating games, both digital and analog. Matt recalls building games for the XBox, Dreamcast, and PS2. Ben t...
Lint and Other Fuzzy Bits
27 Nov 2021
Contributed by Lukas
Matt and Ben talk about code linters, and meander into various topics. Matt describes the (approximately) 37 different ways to cast variables in C++. ...
The Language Menagerie
01 Nov 2021
Contributed by Lukas
Ben and Matt explore the world of programming languages. So many! Why are there so many? Wait, there's a Java Mobile Edition? Who would use such a thi...
Pull Requests and Pair Programming, Part 2
01 Oct 2021
Contributed by Lukas
Hey Ben, when are you going to release the second part of that podcast on pull requests and pair programming? I've really been looking forward to it. ...
Pull Requests and Pair Programming, Part 1
15 Sep 2021
Contributed by Lukas
Matt and Ben compare different methods of collaboration, and how they work for different personalities. Ben is not a psychologist, but plays one on th...
CPUs are Clever
19 Aug 2021
Contributed by Lukas
Matt and Ben discuss the kinds of things modern CPUs do behind the scenes. Branch prediction, caching, speculation, out-of-order processing, hyper-thr...
Boring is Awesome
18 Jul 2021
Contributed by Lukas
Ben and Matt think boring things are good, and provide a few examples. Databases, for example, are boring...but even more boring options exist! Matt e...
Unix Commands for Wizards
22 Jun 2021
Contributed by Lukas
Matt and Ben discuss their favorite *nix command line tools, and make various movie references while doing so. Included in this episode are references...
Source Control and Conway's Law
12 May 2021
Contributed by Lukas
Matt and Ben compare monorepo vs multi-repo layouts, explain Conways Law, talk about what a 'team' is, and what Visual Source Safe isn't. Ben defines ...
Pictures and Candy with Arduino
26 Apr 2021
Contributed by Lukas
Join our hosts as they talk about hobby hardware projects, past and present. Matt explains how he's building a digital picture frame out of a Raspberr...
Slow Builds and Fast Feedback
06 Apr 2021
Contributed by Lukas
Ben and Matt talk about builds and build systems, mostly in C++. Matt talks about lots of different ways to speed up builds for C++, and is very helpf...
Semi-Solid Principles
24 Mar 2021
Contributed by Lukas
Matt and Ben join an argument on the Internet, which is always a productive and rewarding use of one's time. They discuss the SOLID principles from tw...
Reverse Engineering the 6502
02 Mar 2021
Contributed by Lukas
Ben and Matt stop talking about testing, and everyone is relieved. Matt describes the process for reverse engineering microchips by stripping off laye...
Special Guest: Clare Macrae
04 Feb 2021
Contributed by Lukas
Ben and Matt trick another live human being into joining them on the podcast. Clare Macrae joins to talk about her work with approval testing, her exp...
Manual Testing and Observability
26 Jan 2021
Contributed by Lukas
Matt and Ben discuss whether the city of Portland exists, and decide they don't care. Ben argues that you should test your code manually. Matt talks a...
Special Guest: James Grenning
13 Jan 2021
Contributed by Lukas
Our first guest! We speak with James Grenning about his work (re)building embedded systems using Test Driven Development. Then we ask James about his ...
Testing in C++
07 Jan 2021
Contributed by Lukas
Matt and Ben talk about the eXtreme Programming engineering practices, such as Test Driven Development, and how to apply them in C++. Matt tests a wid...
Episode 0 - The Origin Story
24 Dec 2020
Contributed by Lukas
Matt and Ben talk about how their careers were on the same path in the late 90's, but then diverged at a critical juncture. Then they talk about autom...