Two's Complement - podcast cover

Two's Complement

Ben Rady and Matt Godboltwww.twoscomplement.org
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.

Episodes

Weird Webapps

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.

Aug 15, 2022

Virtual Infrastructure

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.

Jul 15, 2022

Golf for Hackers

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.

Jun 19, 2022

Async Whatevers

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?

May 18, 2022

Terrible Business Ideas

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.

Apr 16, 2022

Java and/or C++?

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.

Mar 22, 2022

Compile-Time Programming (with Hana Dusíková)

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

Feb 20, 2022

Performance

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

Feb 03, 2022

Building Games Two Ways

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.

Jan 02, 2022

Lint and Other Fuzzy Bits

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.

Nov 27, 2021

The Language Menagerie

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.

Nov 01, 2021

Pull Requests and Pair Programming, Part 2

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.

Oct 01, 2021

Pull Requests and Pair Programming, Part 1

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.

Sep 15, 2021

CPUs are Clever

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.

Aug 19, 2021

Boring is Awesome

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.

Jul 18, 2021

Unix Commands for Wizards

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.

Jun 22, 2021

Source Control and Conway's Law

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.

May 12, 2021

Pictures and Candy with Arduino

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.

Apr 26, 2021

Slow Builds and Fast Feedback

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 helpful. Ben questions whether you want a build that never fails, which is moderately helpful.

Apr 06, 2021

Semi-Solid Principles

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 two different perspectives, and judge them. Listen in for the verdict. Then, Ben ponders how programmers learn, and whether sailors are happy. Matt gets a new puppy.

Mar 24, 2021

Reverse Engineering the 6502

Ben and Matt stop talking about testing, and everyone is relieved. Matt describes the process for reverse engineering microchips by stripping off layers of silicon to look at the transistors with a microscope. With this forbidden knowledge, he explains how to defeat the copy protection on a childhood video game. Ben pretends like he understands.

Mar 02, 2021

Special Guest: Clare Macrae

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 experiences dealing with legacy Fortran and C++ code, and an upcoming Webinar she's doing on refactoring-to-testability using CLion.

Feb 04, 2021

Manual Testing and Observability

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 about when government regulators made him build an observable system, and how great it was. Really, it was great!

Jan 26, 2021

Special Guest: James Grenning

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 involvement with the creation of the Agile Manifesto in Feburary of 2001, and find out how 'Agile' has changed over the last 20 years.

Jan 13, 2021

Testing in C++

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 widget and some grommets. Ben complains about slow build times.

Jan 07, 2021

Episode 0 - The Origin Story

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 automated testing. Ben gets out his soapbox. Matt is a kind, patient soul.

Dec 24, 2020