Two's Complement

Follow Two's Complement
Share on
Copy link to clipboard

If you come to a fork in the road, take it! Two’s Complement is a programming podcast, hosted by Matt Godbolt and Ben Rady; two programmers who both grew up wanting to make video games. One of them did, one of them didn’t, but now they both work together despite coming from very different backgrounds.

Ben Rady and Matt Godbolt


    • Apr 10, 2026 LATEST EPISODE
    • monthly NEW EPISODES
    • 35m AVG DURATION
    • 59 EPISODES


    Search for episodes from Two's Complement with a specific topic:

    Latest episodes from Two's Complement

    Observable Metrics

    Play Episode Listen Later Apr 10, 2026 39:35 Transcription Available


    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.

    C++ and Rust: Different Tools for the Job

    Play Episode Listen Later May 9, 2025 30:58 Transcription Available


    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.

    Pair Programming with HAL?

    Play Episode Listen Later Mar 16, 2025


    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.

    Passing Messages

    Play Episode Listen Later Feb 14, 2025


    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.

    Getting CRUFTy

    Play Episode Listen Later Jan 12, 2025


    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.

    Are We Remotely Productive?

    Play Episode Listen Later Dec 14, 2024


    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.

    Are Dirty Hands Right?

    Play Episode Listen Later Nov 23, 2024


    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.

    Sequence Locks

    Play Episode Listen Later Oct 26, 2024


    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.

    The Joy of Programming

    Play Episode Listen Later Sep 11, 2024


    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.

    Deploy First Development

    Play Episode Listen Later Aug 17, 2024


    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.

    Programming Under Pressure

    Play Episode Listen Later Jul 21, 2024


    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.

    Avoiding Abandonware

    Play Episode Listen Later Jun 17, 2024


    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.

    Is Optimization Refactoring?

    Play Episode Listen Later May 15, 2024


    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.

    The Future of Compiler Explorer

    Play Episode Listen Later Apr 17, 2024


    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.

    Strong ARM

    Play Episode Listen Later Mar 18, 2024


    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.

    make podcast

    Play Episode Listen Later Feb 17, 2024


    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.

    Technical Debts

    Play Episode Listen Later Jan 15, 2024


    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.

    Copypasta

    Play Episode Listen Later Dec 19, 2023


    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.

    Iter-Mental Development

    Play Episode Listen Later Nov 19, 2023


    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.

    Compression

    Play Episode Listen Later Oct 23, 2023


    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.

    Questionable Comments

    Play Episode Listen Later Sep 18, 2023


    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.

    Ben Walks A Tree

    Play Episode Listen Later Aug 22, 2023


    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. Then they come up with a solution and talk about how to test it because of course they do.

    Video Games and Other Diversions

    Play Episode Listen Later Jul 17, 2023


    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 whether anyone has made a successful open source video game instead of just taking 5 minutes to Google it.

    Yak Shaving, Part 2, Also Live!

    Play Episode Listen Later Jun 20, 2023


    Ben and Matt finish shaving the yak from the prior episode. While waiting for DNS certificate validation to complete, our hosts discuss the "branch based environment" approach to infrastructure, and consider how serverless services make that model a bit cheaper.

    dns yak shaving
    Yak Shaving, Live!

    Play Episode Listen Later May 22, 2023


    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 problems, fiddle with makefiles, and fail to remember the things that their prior selves did.

    dns yak shaving
    Integration Tests are a Scam

    Play Episode Listen Later Apr 18, 2023


    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.

    scams integration tests
    The Compiler Explorer Problem

    Play Episode Listen Later Mar 20, 2023


    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 compilers. Ben explains how he nearly bankrupted himself by starting a bank.

    Slightly Less Terrible Tech Interviews

    Play Episode Listen Later Feb 17, 2023


    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. They fail, of course, but discuss some interesting ideas along the way.

    Not Invented, Hear?

    Play Episode Listen Later Jan 17, 2023


    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 sometimes built their own solutions, occasionally with hilariously regrettable results.

    Time For Computers

    Play Episode Listen Later Dec 18, 2022


    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't know, let's not make the humans feel bad. They're trying their best with those adorable squishy meat brains.

    A Bit Rusty

    Play Episode Listen Later Nov 16, 2022


    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, such as embedded rust. Ben tries to remember how Ethereum works, and fails. Matt makes a ray tracer and a Weird Al reference.

    Swift (with Doug Gregor)

    Play Episode Listen Later Oct 12, 2022


    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's design, and how it could possibly be a C++ successor. Matt rambles; Ben asks intelligent questions.

    Carbon Footprint

    Play Episode Listen Later Sep 14, 2022


    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 asks questions and cracks wise.

    Weird Webapps

    Play Episode Listen Later Aug 15, 2022


    Matt and Ben discuss the idiosyncratic way that they learned to build web applications for trading. If latency and correctness were paramount, and you could tell all your users which browser they had to use, what would you do? Here's what we did.

    Virtual Infrastructure

    Play Episode Listen Later Jul 15, 2022


    Ben and Matt compare container technologies like Docker to virtual machines, and discuss the tradeoffs when deploying applications. Matt explains the scary things that can happen when you share a VM with strangers. A visitor enters through the couch.

    Golf for Hackers

    Play Episode Listen Later Jun 19, 2022


    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 advances in golf have dramatically changed the game. Matt gently prods him on.

    Async Whatevers

    Play Episode Listen Later May 18, 2022


    Ben and Matt talk about various styles of asynchronous programming, ranging from Node.js, Ruby's EventMachine, C++ coroutines, and the new JVM Project Loom. Schedule yourself a listen, won't you?

    Terrible Business Ideas

    Play Episode Listen Later Apr 16, 2022


    Matt and Ben both recall their prior adventures founding companies that sold tools for software developers. What's the best approach to this business? Go play a nice video game instead.

    Java and/or C++?

    Play Episode Listen Later Mar 22, 2022


    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á)

    Play Episode Listen Later Feb 20, 2022


    Ben and Matt are joined by Hana Dusíková and discuss panoramic photographs, Matt's career peak, and compile-time programming, including her ground-breaking regular expression library. Links from the show: Hana's Panoramic photos CTRE library Hana's slides

    Performance

    Play Episode Listen Later Feb 3, 2022


    Our most efficient podcast ever. Ben and Matt talk performance testing and optimization in fewer than 30 minutes.

    Building Games Two Ways

    Play Episode Listen Later Jan 2, 2022


    Matt and Ben talk about their experiences creating games, both digital and analog. Matt recalls building games for the XBox, Dreamcast, and PS2. Ben talks about what makes board games fun, and how to lose your friends through playtesting.

    Lint and Other Fuzzy Bits

    Play Episode Listen Later Nov 27, 2021


    Matt and Ben talk about code linters, and meander into various topics. Matt describes the (approximately) 37 different ways to cast variables in C++. Ben argues that continuous integration was better in the 19th century.

    The Language Menagerie

    Play Episode Listen Later Nov 1, 2021


    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 thing? The hosts of the #1 top ranked programming podcast that my mom listens to, that's who.

    Pull Requests and Pair Programming, Part 2

    Play Episode Listen Later Oct 1, 2021


    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. Oh, I don't know. I need to come up with a witty description first. Hopefully some time this week.

    Pull Requests and Pair Programming, Part 1

    Play Episode Listen Later Sep 15, 2021


    Matt and Ben compare different methods of collaboration, and how they work for different personalities. Ben is not a psychologist, but plays one on this podcast. Matt gets very close to explaining what makes for a good pull request, and then doesn't.

    CPUs Are Clever

    Play Episode Listen Later Aug 19, 2021


    Matt and Ben discuss the kinds of things modern CPUs do behind the scenes. Branch prediction, caching, speculation, out-of-order processing, hyper-threading, register renaming... Lots of things most people don't need to know. Matt gets overly excited, and Ben channels Larry King to try and keep him on track.

    Boring is Awesome

    Play Episode Listen Later Jul 18, 2021


    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 explains how boring tools make it easy to automate local development tasks on his funny side project. Ben reverts your commits because he wants you to be happy.

    Unix Commands for Wizards

    Play Episode Listen Later Jun 22, 2021


    Matt and Ben discuss their favorite *nix command line tools, and make various movie references while doing so. Included in this episode are references to both Sergio Leone and gunzip, although the two are surprisingly unrelated. Matt recalls using System Tap to discover latency in a trading system. Ben explains a method for writing Wireshark plugins that sparks joy.

    Source Control and Conway's Law

    Play Episode Listen Later May 12, 2021


    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 how big a service should be. Matt recalls a brief interlude with Clojure.

    Pictures and Candy with Arduino

    Play Episode Listen Later Apr 26, 2021


    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 Raspberry Pi Pico and E-Ink display. Ben talks about building a Halloween candy dispenser using devices both serial and cereal. Matt and Ben discover they both liked MP3s in the early 00's.

    Claim Two's Complement

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel