PLAY PODCASTS
Two's Complement

Two's Complement

72 episodes — Page 1 of 2

Programming in English

Jun 14, 202631 min

The Rabbit Was Always There

May 25, 202643 min

Speed of Thought

Apr 11, 202649 min

Measure Twice, Optimize Once

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

Mar 9, 202646 min

How Fast Is Fast?

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 makes an appearance, and Matt still hasn't gotten the job.

Feb 14, 202645 min

Gaming on Linux

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 last Thursday, and someone gets a hangover.

Jan 10, 202627 min

Factorio

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 gaming; Matt's start bar keeps popping up and he's had it.

Dec 6, 202524 min

Vibe Coding and Robot Teammates

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 by botching NP-completeness. Capitalism is bad at escaping local minima.

Nov 13, 202542 min

Conference Talks: Some Assembly Required

Matt returns from CppCon with a cold, three talks, and a keynote title Reddit hates. Ben immediately declares Reddit dumb. The hosts discuss C++ reflection, the unforgivable renaming of the Sears Tower, and why conference attendees should stand like Pac-Man.

Oct 12, 202543 min

Running Programs

Matt and Ben discuss running in production; from running processes in screen to battling systemd configuration files. Ben sketches out daemonization rituals while Matt channels Tolkien to explain process hierarchies. Our hosts discover that Ansible playbooks are just bash scripts with better PR, and everyone still Googles journalctl syntax.

Sep 12, 202541 min

Squashing Compilers

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 shouldn't consume 200% CPU. AWS sponsorship news provides a silver lining.

Aug 10, 202542 min

The Benefits of Experience

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 building software. Matt retrofits good practices into Compiler Explorer while lamenting decisions from 10 years ago.

Jul 18, 202533 min

Is Football Possible Anymore?

Ben recounts his 2007 startup building a database chatbot (before LLMs were cool). Matt tries their methods live with Claude. Ben foolishly uses his phone as a microphone stand.

Jun 12, 202520 min

C++ and Rust: Different Tools for the Job

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.

May 9, 202530 min

Observable Metrics

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.

Apr 10, 202539 min

Pair Programming with HAL?

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.

Mar 16, 202547 min

Passing Messages

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.

Feb 14, 202558 min

Getting CRUFTy

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.

Jan 12, 202535 min

Are We Remotely Productive?

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.

Dec 14, 202426 min

Are Dirty Hands Right?

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.

Nov 23, 202431 min

Sequence Locks

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.

Oct 26, 202448 min

The Joy of Programming

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.

Sep 11, 202439 min

Deploy First Development

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.

Aug 17, 202440 min

Programming Under Pressure

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.

Jul 21, 202446 min

Avoiding Abandonware

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.

Jun 17, 202440 min

Is Optimization Refactoring?

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.

May 15, 202437 min

The Future of Compiler Explorer

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.

Apr 17, 202426 min

Strong ARM

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.

Mar 18, 202441 min

make podcast

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.

Feb 17, 202437 min

Technical Debts

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.

Jan 15, 202446 min

Copypasta

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.

Dec 19, 202340 min

Iter-Mental Development

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.

Nov 19, 202327 min

Compression

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.

Oct 23, 202346 min

Questionable Comments

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.

Sep 18, 202342 min

Ben Walks A Tree

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.

Aug 22, 202343 min

Video Games and Other Diversions

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.

Jul 17, 202344 min

Yak Shaving, Part 2, Also Live!

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.

Jun 20, 20231h 1m

Yak Shaving, Live!

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.

May 22, 20231h 4m

Integration Tests are a Scam

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.

Apr 18, 202336 min

The Compiler Explorer Problem

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.

Mar 20, 202331 min

Slightly Less Terrible Tech Interviews

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.

Feb 17, 202337 min

Not Invented, Hear?

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.

Jan 17, 202336 min

Time For Computers

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.

Dec 18, 202244 min

A Bit Rusty

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.

Nov 16, 202237 min

Swift (with Doug Gregor)

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.

Oct 12, 202254 min

Carbon Footprint

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.

Sep 14, 202248 min

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, 202249 min

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, 202252 min

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, 202240 min

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, 202249 min