The Colorado Springs Gazette just did a nice feature article about BombBomb, the place where I write apps these days. The best part (for me) is that the lead photo shows Conor McCluskey (our CEO) showing off an iMessage extension I wrote for the company's app.



From a post I wrote over at my employer's developer blog:

I have a love/hate relationship with regular expressions. I love them because they’re great for examining text to find useful information and, often, to change the text in some way. I hate them because once you get beyond basic matching, they descend into bizarre write-only code that gives me flashbacks to my days writing Perl. In extreme cases they may well endanger the universe. And so we come to one of my recent coding issues: How can I find out if a string contains a valid email address?

Go read the whole thing. NSDataDetector seems to be an under-appreciated class on iOS and macOS. You'll be glad to know about it, even if you don't need it right now.

Update: This post was featured in iOS Dev Weekly #325, which is just awesome to see.

Update 2: This post was featured in Swift Weekly, which is another shot of awesome.


Over the past year or so I've been trying out Resilio Sync (formerly BitTorrent Sync) as a possible alternative to Dropbox. It's gradually improved to where I think I can rely on it. With my Dropbox subscription up for renewal in a couple of weeks, now's the time. In this post I'll describe how to set up Resilio to get a Dropbox-like experience. What I want from file syncing I've used Dropbox for several years now. Their original feature is the only one I've ever cared about. I get a folder on my Mac that transparently syncs to my other Mac. I can also access files from an iOS app. Dropbox has built a bunch of other stuff onto their service, but I don't care about any of that. I want files to sync between Macs, and that's it. For a variety…

read more →

This post is based on a lightning talk I gave at CocoaConf San Jose a couple of days ago. It's that time of year-- the time when summer time, or "Daylight Saving Time" as we for some reason call it in the USA-- is ending. That time when a developer's thoughts turn to date math and what a pain in the ass it can be. Why is this so hard to get right? It'd be nice to think that dates and times follow predictable routines whose cycles all use nice round (or at least consistent) numbers. However: The universe doesn't care about regular numbers. The length of a year doesn't divide into an integer number of days. Convenient time periods like months are no better. The Earth's rotation isn't entirely consistent. So we have leap years, and leap…

read more →

I try to keep this blog on topic, sticking to technical posts of interest to iOS and macOS developers. So when I wanted to write about something else I set up a different blog unrelated to my business.

As some of you are aware, when I'm not working on apps I'm also a radio DJ, at KRCC in Colorado Springs, CO. If you aren't, you might still have noticed how I used to win prizes at "Stump the Experts" at Apple WWDC by identifying song. While DJing I get to listen to a ton of great music, and I wanted to write about what I'm listening to. So I'm introducing Tom Swift FM (my on-air nickname is "Tom Swift", which seemed apt for a Swift developer). I'll post about whatever great music I've been listening to lately.

I hope you'll check it out. That's all I'll say about it here.