DiscoverTwo's Complement
Claim Ownership
Two's Complement
Author: Ben Rady and Matt Godbolt
Subscribed: 108Played: 3,956Subscribe
Share
Description
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.
46 Episodes
Reverse
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.