This post introduces my new podcast, also called Race Condition.

Race Condition Playing in iCatcher

Race Condition Playing in iCatcher


I’ve been listening to podcasts for twelve years. I am subscribed to fifty-one and maintain a repo of podcasts of interest to iOS developers. As an avid podcast listener, I’ve long been interested in creating my own podcast. I actually got permission from my employer five years ago to create one and even bought a fancy podcasting mic. But with my non-work focus on other endeavors, I haven’t gotten around to creating a podcast. That has changed. I introduce to you, dear reader of Race Condition, the blog, Race Condition, the podcast. Please enjoy the first episode. You can use that RSS URL in your podcast player or search for “Race Condition” (no quotes) in the Apple Podcast Directory.

The subject of the podcast is slightly narrower than that of this blog: just my work on side-project apps. Like the blog, the podcast has a pedagogic goal. Indeed, the first episode provides the listener with considerations for adopting WeatherKit. But the podcast has two other goals. First, I intend to use the podcast as motivation to work on my side projects. Because I plan to release episodes monthly, I’ll need to work on something side-project-related at least once a month so that I have something to talk about. Second, I intend to make the listener laugh by, for example, recording satirical sponsor reads.

If you are interested in how I made the podcast and the first episode, read on.


I initially considered hosting the podcast on AWS. An episode, after all, is just a file, and my website, hosted on AWS, already does RSS. This article convinced me not to. Maintaining an RSS feed by hand would be error-prone, analytics would be non-existent, and costs would explode if the popularity of the podcast did.

I read a variety of podcast-host round-ups, and one host rose to the top: BuzzSprout. So I picked BuzzSprout and its $12-per-month plan. Although a low-traffic podcast would theoretically be cheaper to host on AWS, considering the value of my time, BuzzSprout is a bargain. I was pleasantly surprised at how easy creating a podcast using BuzzSprout was. So far, thumbs up.


I initially wasn’t certain that I should or would fully script the first episode of Race Condition, not just make an outline and improvise my words based on that. Verily, two of my favorite podcasts, Developing Perspective and Hardcore History, are unscripted. But another of my favorite podcasts, The History of English, is scripted. Both approaches work.

I don’t script conference talks because I observed, many years ago, that reading a script is completely incompatible with effective oratory. Some of my enjoyment of Hardcore History likely stems from Dan Carlin’s Coltrane-level verbal improvisation.

But I ended up deciding to script the episode for two reasons. First, one element of the episode, in particular the satirical advertisement, required a script. Second, I am a perfectionist, and I appreciated the ability to maximize the eloquence of the episode, for example using parallelism in my descriptions of my side-project apps.

The script ended up consisting of 1,250 carefully chosen words.


I used QuickTime Player and my Røde NT-USB Mini microphone to record my script chunk-by-chunk. Chunks ranged in length from one to three sentences. Longer chunks would have involved less work in terms of file handling and editing, but I found that I invariably gaffed while recording longer chunks, causing me to discard them.

Notwithstanding my lack of expertise in recording, I was aware of the need to avoid room echo and plosive pops. As far as my ears can tell, the recordings have neither. The man cave seems to be a decent recording studio, even without sound-absorption panels. I am pleased with my sound quality, but I welcome tips from listeners as to how I could improve it.

Race Condition World Headquarters

Race Condition World Headquarters

I ended up recording nineteen m4a chunks for my 1,250-word script.


I also researched editing software for podcasts. I read about Adobe Audition, Audacity, Hindenburg Journalist, and Pro Tools. Some of these apps are quite expensive, and all have big learning curves. But then I realized that I am already familiar with an audio-editing app from my work on app previews: iMovie. This app doubtless lacks features of the others mentioned, but it had what I needed: the ability to import audio clips, chop them up, delete unwanted audio, change levels, and export MP3s. So I went with iMovie. Why change levels? The intro/outro music I got from Incompetech was much louder than the audio I recorded, so I equalized them.

As I listened to my recordings on my headset, I noticed every inhalation and mouth click, and I chopped those out. Some listeners probably don’t notice or don’t care about inhalations or mouth clicks, but I find them, as a podcast listener, unpleasant and distracting.

Error Message

Listeners might wonder what inspired me to record the WeatherKit error message as an angry Dalek. Here is the story behind that.

I learned Swift using a video course by Simon Allardice in 2015, and I’ve admired him since. In 2016, he wrote a blog post explaining why programming manuals aren’t on audiobook. Short answer: no matter how good the narrator, a spoken-word programming manual would sound ridiculous. What if, I wondered, I narrated the inscrutable WeatherKit error message? I just had to.

The question remained of how to deliver the error message in a manner that kept the listener engaged. In Hardcore History, Dan Carlin reads book excerpts using an angry delivery. The anger sometimes seems incongruous, but it somehow keeps me engaged. “How angry can this excerpt make Dan?”, I wonder before the beginning of an excerpt reading. I decided to borrow Dan’s angry delivery for my reading of the error message.

My initial recording of the error message was good and angry, but I decided I could make it sound even angrier. Nothing sounds angrier than a Dalek threatening extermination. Though my own accent is basically General American, with some California and New England influences, I am able to reproduce the Received Pronunciation of Daleks. There is a website, Voice Changer, that can modify a recording to make it sound more Dalek. So I recorded the error message using Received Pronunciation and went full Dalek using Voice Changer.

Satirical Advertisement

Many podcasts I love would not exist without advertisements. I am grateful for the support that sponsors provide. That said, having heard many thousands of advertisement readings over the years, I have observed certain patterns. Some readers are clearly not enthused to be reading their umpteenth Squarespace ad. Some readers perform their readings with fervor that may not correspond to their actual enthusiasm for the product on offer. I decided to take the latter approach, turned up to eleven. The world is not crying out for dental floss as a service. Most people, I have observed, do not even use dental floss. But notwithstanding of my own view of dental floss as a service, I applied maximum fervor to my reading.