Category Archives: Talks

Ex Nihilo: Why it’s okay to throw away code – CodeStock 2018

I gave this talk at CodeStock 2018. Some of the slides are (semi) original artwork, inspired by ReverentGeek and Schlock Mercenary.

Watch the video of the talk here, or view the slides here.

If you have suggestions on how I could improve the talk, please contact me! My Twitter handle is @spamagnet.

… and yes, I need to stop saying, “But here’s the thing.”


Managers often have a bad reaction to hearing developers say that they need to throw away or rewrite code. Source code is expensive, taking hours/weeks/months/years of painstaking work to develop and maintain. “Why couldn’t we have done it right the first time?” “Is there any way to salvage the code and reuse it somewhere else?”

This comes from a faulty view of code as the end product; in reality, the end product is the service that the code provides.

To illustrate this, take an extended construction metaphor. When constructing a house or commercial building, the blueprint is a fairly minor part of the cost. You don’t want to scrimp or cut corners on the blueprint because you run the risk of far more expensive problems during the construction phase.

In software, however, the construction (build) phase is nearly free. Not only that, but a newly built “house” can be duplicated and deployed as many times as you like.

Semi-original artwork for CodeStock talk

In a couple of weeks, I’m giving a talk at CodeStock 2018 called Ex Nihilo: Why it’s okay to throw away code. It’s based on an extended analogy of software as a city — but a city built by nanobots out of nothing in a digital post-scarcity environment.

I wanted some fun, engaging slides — and what better nanobot design than Howard Tayler’s from Schlock Mercenary? (If you haven’t heard of it, and you’re a science fiction fan, set aside a block of 8-10 hours to read it. You have been warned.)

I contacted them, and Sandra Tayler graciously gave me permission to use the nanobot designs. Many thanks to Howard and Sandra!

Without further ado, here are my first imperfect pieces of art featuring the nanobots:

If you want to know the context, you’ll have to come to my talk at CodeStock. (I might post a video afterwards.)