I can’t remember the first time I saw Sneakers, but I was surely no more than around ten years old. A nerd since birth, but more recently discovering my future as a computer nerd, Sneakers spoke to me like few movies of the time were able to. It was fun, interesting, and exciting.

I didn’t understand half of it, but I didn’t care.

As a grown man, I can see there’s so much more to Sneakers than I had ever understood as a kid. It’s a much deeper movie than I gave it credit for, and in these awful times, more prescient than I’m comfortable with.

As I’ve said before, I consider The Incomparable to be the major leagues of podcasting. I’ve appeared on the show a couple times before, and every time, it’s a tremendous honor.

On this episode, I was joined by host Jason Snell, my ATP co-host John Siracusa, Erika Ensign, and Dan Moren to discuss the film. I had a blast, and if you’re my kind of nerd, I think you will enjoy it too.

One of these days, if I’m asked to return, I’ll remember to come up with a pithy closing remark. 🤦🏻‍♂️


This week I joined Brianna Wu, pinch-hit blast-from-the-past host Jason Snell, and my long-lost-twin Dan Moren on Clockwise.

In this episode, we discussed our plans for macOS Catalina, the software/hardware we’d most/least like to lose, good OSes on bad hardware, and the legality of accessibility on the web.

Clockwise is always fun and always fast. If you’ve somehow missed out on the show so far, today’s a great day to jump in.

As discussed on recent episodes of ATP, I’ve had some issues with my iMac lately. A trip to the Apple Store and new logic board later, I had functional hardware but no software installed upon it. Finally, I had the opportunity to try out something I’ve been preparing for a long while: my Brewfile.

Much in the spirit of Ruby’s Bundler, Homebrew has Bundle. For both Bundler and Bundle, you provide a file with a list of software/dependencies you want installed, and the apps will install them automatically. In the case of Bundler, it’s all Ruby gems; in the case of Bundle, it’s command line apps, Mac apps, and even fonts.

Last week, I loaded up my iMac from scratch using a Brewfile I had been adding to over the last couple years. Finally getting the opportunity to use it has given me the opportunity to refine it.

These refinements ended up being extremely convenient, as just yesterday I decided to nuke my MacBook and reload it to try to get it operating properly. Thanks to Bundle, that took considerably less time than it would have in years past.

Terminal.app re-running Homebrew Bundle

All it took was having ~/Brewfile, and then running

brew bundle install

Give it a bit of time — a lot if you’re installing Xcode — and just like that most/all of your favorite software is installed. All in one easy peasy command line incantation.

I can’t overstate how much time this has saved me. 🥳

Furthermore, as I add new items to my Brewfile, I can feel free to run brew bundle install again. It will automatically skip software that’s already installed. In fact, the screen shot above was me re-running Bundle long after it had worked its magic.

Your Brewfile is unique to you; it’s a distillation of your own particular toolchains and requirements. There are many like it, but this one is mine.

UPDATED 2019-10-09 3:00 PM: Several people have asked “okay, but, how do I create a Brewfile to begin with?”

For me, I went spelunking through /Applications to see what I had and what I knew I couldn’t live without. Generating my Brewfile from scratch was, to no small degree, the point.

If you’d like to take a shortcut to get yourself started, you can do:

brew bundle dump

This will create a Brewfile of everything Bundle recognizes on your existing system. At that point, you can go through and cull what you don’t think you really need.


Finding a new podcast is a double-edged sword. I’m already living in a state of near-bankruptcy when it comes to my podcast queue. Adding something new is a decision I don’t take lightly.

Fun Fact is my most recent add, and I did so within the first couple of episodes. It’s a really fun and silly — yet serious — show about little nuggets of information you probably didn’t know.

Never condescending, hosts Arik and Allen bring a couple of little tidbits to the table each episode. The meandering path that these gems take us is most of the fun.

Despite the dubious decision of putting Follow Up (©️ 2011 John Siracusa) at the end, Fun Fact is a great show that I’m glad I found.

On this fortnight’s episode, I stood in for new dad Arik. Allen and I discussed quiet places, odd ways to represent state geography, software asset management, jazz music, and took a trip down 90s memory lane.

I stressed out a lot over choosing good and fun facts to bring to Allen; hopefully I did at least a passable job. 😊


Last night I recorded a podcast with my pal Tyler Stalman on his show, The Stalman Podcast. Tyler received review units of the iPhone 11, iPhone 11 Pro, and Apple Watch Series 5. After a whirlwind day of him testing the phones, Tyler made some time to sit down with me to discuss them.

In this episode, I turned the tables on Tyler and interviewed him. As a professional photographer, Tyler naturally had a lot of thoughts about the new two-camera system on the 11 and the three-camera system on the 11 Pro.

I had a ton of fun recording this with Tyler, and for those of you waiting in line tomorrow, or debating buying a new iPhone, this episode is for you.


Just over five years ago, Myke and I announced Analog(ue). It doesn’t feel like it was that long ago, but here we are. Analog(ue) is older than both of my children; Myke and I have released 163 episodes of the show. Not bad for something we thought would peter out after ten or twenty episodes.

To celebrate Analog(ue)'s Relay’s fifth anniversary, over twenty hosts joined Myke and Stephen in San Francisco to record a live game of Family Feud. It was a blast, and probably the zaniest podcast I’ve ever been a part of.

The whole episode is up on the Connected feed, if you’d like to have a listen. There may be video in the future, but no guarantees. If there is, I’ll link it here.


One of the unsung heroes of iOS is CarPlay. It makes your phone far easier, and safer to use while driving. Today, in iOS 12, it’s good, but definitely not great.

Today, I joined my friend John Voorhees to discuss the upcoming changes to CarPlay in iOS 13, as well as some discussion about Vignette and what I’ve been working on lately.

I don’t get the chance to talk to John on a podcast often, so this was a lot of fun. And less than an hour!

On ATP, we do often nerd out, but we don’t often go deep on code-related things. That’s fine; ATP is a more general-audience show.

This week, John Sundell was kind enough to ask me to join him on his delightfully nerdy podcast, Swift by Sundell. On this episode, we discussed my investigation into Combine (and reactive programming in general), as well as unit testing, and answered some listener questions.

I had a ton of fun recording this with John; if you’re an iOS developer (or interested in what makes us tick), you should enjoy this too…


You have to be wired wrong if you don’t see the delight and humor in a holiday called World Emoji Day. That day was yesterday, and my buddy Jeremy Burge was kind enough to invite me onto his monthly podcast, Emoji Wrap.

On the episode, we discuss Apple’s new announcements that will be released in an upcoming update to iOS 13. It was a ton of fun to speak with Jeremy, as well as get a sneak preview of what Apple is working on. I’m already anxiously awaiting his call for me to join the show again.

Additionally, internet linguist Gretchen McCulloch joined Jeremy to discuss how emoji are replacing real life gestures.

As an emoji aficionado, this appearance was quite an honor.

RxSwift and Combine Posts

For reference, here’s a list of links to my two series of posts on RxSwift and Combine. There’s nothing new today, but it occurred to me that I didn’t have a good summary page that others can link to.

RxSwift Primer

In late 2016, I walked through how to write an extremely basic app using RxSwift. We start by writing the app traditionally/procedurally, and then migrate it to being written using RxSwift.

Combine vs. RxSwift

In June of this year, I did a deeper dive on how functional reactive programming came to be, why one would want to use it, and how RxSwift and Combine take slightly different approaches to solving the same problems.