
Two's Complement
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.
Latest episodes

11 snips
Jun 17, 2024 • 40min
Avoiding Abandonware
Explore the intriguing world of abandonware, where software systems face a cycle of death and rebirth. The hosts tackle the complexities of managing software lifecycles and the pitfalls of code dependencies. With a humorous take, they highlight the chaos of outdated libraries and the need for proactive refactoring. They also discuss the inefficiencies within project-oriented development approaches. Ultimately, the conversation emphasizes the importance of modular design and a culture of custodialism to sustain software longevity.

5 snips
May 15, 2024 • 37min
Is Optimization Refactoring?
The hosts dive deep into whether optimization is a form of refactoring, ultimately leaning towards yes. There's a humorous exploration of the risks of overspecifying tests. They emphasize finding the right balance in code specification for effective performance tuning. The art of refactoring is discussed, focusing on improving code without changing its behavior. Tension between trusting technology and understanding its complexity is also tackled, revealing essential skills for engineers. Lastly, they examine the challenges of testing amidst code changes.

Apr 17, 2024 • 27min
The Future of Compiler Explorer
The conversation dives into the challenges of scaling a beloved hobby project while underscoring the importance of community contributors. Emotional complexities of passion projects surface, as do the financial dynamics essential for open-source sustainability. Navigating governance concerns, the speakers stress the need for diverse leadership. A lighthearted take on personal AI experiences adds a unique twist, showcasing a blend of humor and introspection throughout the discussion.

8 snips
Mar 18, 2024 • 42min
Strong ARM
Ben and Matt dive into their switch to ARM-based Apple Silicon laptops, discussing the ups and downs of this transition. Ben's venture into rewriting Bash in Java reveals faster test runs, while Matt's JSON gig highlights the quirks of teaching VSCode. The conversation also touches on the evolution of business laptops and emphasizes the crucial balance between streamlined software testing and strong team cohesion. With insights into Apple's innovative chip architecture, they highlight the impressive efficiency gains and significant differences in user experience.

9 snips
Feb 17, 2024 • 37min
make podcast
Learn how to build automation interfaces with Make, test shell scripts effectively, and navigate the challenges of software development environments. Discover innovative testing approaches for bash scripts and humorous anecdotes of transitioning to a new operating system.

6 snips
Jan 15, 2024 • 46min
Technical Debts
The podcast discusses the concept of technical debt and its original definition. It dives into different categories of technical debt such as risk, capability, and complexity. The hosts compare two solutions to the same problem and highlight the importance of simplicity in complex systems. They also discuss managing flexibility, eliminating unnecessary code, and redefining technical debt and code-related issues.

12 snips
Dec 19, 2023 • 41min
Copypasta
The hosts dive into the world of code duplication, weighing its time-saving benefits against the potential for bugs. They reminisce about the evolution of word processors and the joys of WYSIWYG technology, sharing humorous stories along the way. Ethical considerations of copy-pasting in coding are explored, alongside the confusion of managing transitive dependencies. With creative insights into code lineage and the role of compilers, they advocate for best practices in coding while keeping the conversation light and entertaining.

9 snips
Nov 19, 2023 • 27min
Iter-Mental Development
Ben and Matt explore the differences between iterative and incremental development in software. They discuss the importance of understanding these concepts and the benefits of learning through the iterative process. They also suggest alternative terms for these processes and humorously highlight the challenge of naming things in computer science.

10 snips
Oct 23, 2023 • 46min
Compression
Dive deep into the fascinating world of compression algorithms, where squishing bits isn't just a concept—it's essential technology! Discover the balance between CPU usage and storage efficiency, and unravel the complexity behind compression ratios. Explore lossless techniques and learn about run-length encoding. Delve into the artistry of Huffman encoding and the Burroughs-Wheeler transform. Finally, unpack popular compression libraries like Zopfli, highlighting their strengths and the latest trends in image formats.

9 snips
Sep 18, 2023 • 42min
Questionable Comments
Ben and Matt explore the purpose and characteristics of good comments in code, discuss the management of to-do comments in codebases, and emphasize the role of comments in thread safety and code understanding. They also outline the risks of leaving commented out code and suggest alternatives like source control and refactoring.
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.