Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing
Podcast Image

Two's Complement

Technology

Activity Overview

Episode publication activity over the past year

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