I am available for part-time iOS consulting projects. I have been working with iOS since 2008, including Objective-C since 1997, Swift since 2014, and SwiftUI and TCA since 2019. During the 2000s I worked with Cocoa, and WebObjects for Java, so my knowledge of the Apple developer ecosystem is very broad. I've also been using and recommending GraphQL since 2016, and Shopify since 2020. (I ran an online board game store with Shopify from 2020-24)

I have been a Lead iOS developer at many startups and companies, including Noom, The New York Times, and Mashable. I live and work remotely from the Pacific time zone in beautiful Penticton, BC, Canada. I have over 20 years of experience working remotely, and over 30 as a professional software developer.

Additionally, I specialize in mentoring iOS developers, and love to teach. If you or some of your employees require mentorship, I can help.

My weblog, est. 1999: have browser, will travel

[ Recent | Complete Archive ]

December 28, 2025

Just Enough

r/boardgames: My collection

Image from reddit

I have a version of this up in my games room. It’s funny. But I’ve concluded I did have a problem.

There’s no way I can play even a tenth of the games in my collection. And my friends have lots of games too. I could have a handful of games and never have a shortage of great games to enjoy.

Modern marketing is so potent, I’ve seen so many people spend their fortune on games they’ll likely never have the opportunity to enjoy.

I really enjoyed collecting games. I did so in part to have the option of opening a board game cafe, a dream I got to live out. Now that I’ve been there, and done that, the only point to collecting is to get to play the games, but as I said, I can’t play nearly enough of them to justify the expense or space they occupy. I’ve concluded my collection now actively harms me.

At some point, hopefully in 2026, I’ll be divesting myself of most of it.

Onward.

Permalink
December 28, 2025

Ploum on How We Lost Communication to Entertainment

Ploum: How We Lost Communication to Entertainment

I completely agree with Ploum. Back when Facebook and Twitter started taking off with regular people, I tried for a long time to resist using the term “social media”. I would always correct people and say “it’s not social media, it’s a social network”. This was before we lost what Ploum describes as the old-school mentality that valued lossless communication protocols. Unfortunately, what I didn’t recognize at the time either, was that regular people didn’t understand or value lossless communication protocols either, and all they were familiar with was entertainment, primarly television, cinema and radio.

It’s amazing to see how easy it is to change society by depriving them of something for a relatively short time. Another problem we have these days is a lack of liberty in software distribution. Young (and even early-middle-aged) software professionals don’t even realize how much we’ve lost. Before the App Store, independent personal computer software was primarily distributed as shareware. You could download an app, and use it (usually with limited features or a nag to register) for a while, sometimes indefinitely, without paying. When you paid for the software (directly from the vendor’s website) you’d get the full set of features. Usually, you’d also get free updates until the next major version of the app. So, for example, if you paid for version 2.1, you’d get 2.1.1, 2.2, 2.3, etc, all the way until version 3.0 was released. There was usually an “upgrade price” that was significantly cheaper than paying for a new license. If you didn’t want to upgrade, you could just keep using the 2.x software as long as it continued working on the operating system you used. Vendors were incentivized to keep improving their software, and users were incentivized to keep supporting the vendors that made the tools most important to their workflows. This system worked very well.

This was great for software vendors and for end users. I’ve never understood why Apple refused to allow people to use this simple and sustainable economic model for software licensing with App Store apps. I mean, I assume it’s just not ideal for them, and that’s just tremendously sad. I think they got away with it for the same reason “social media” companies got away with replacing social networks with social media - inexperienced people had no idea what they were missing out on. Couple that with having to follow their App Store rules and therefore not being able to make a living writing whatever software you can that people want to pay for to run on devices that they paid for and own, is just unjust and yet another example of how we’re living in a techno-feudal society.

I wonder what wonderful freedoms and opportunities were taken away from us in the decades before I was aware of them.

Happy New Year.

PS: Today would have been my Grandpa’s 106th birthday. Happy Birthday Grandpa!

Permalink
November 22, 2025

Steve Jobs Interviewed 29 Years Ago today

Four days ago, this previously unseen Steve Jobs interview appeared. I enjoyed watching it. It was recorded on November 22, 1996. Today is the 29th anniversary of that interview! That day was the day before Cheryl and I were...
Read More
May 25, 2025

Steady Ed Headrick

I wanted to share it with you. I’ve been playing Disc Golf since 2015, so I’m surprised I hadn’t seen this short video from 1993 before. No wonder he was able to inspire so many people to take up this...
Read More
February 24, 2025

TCA is awesome

I’m not sure I’ve ever mentioned TCA (The Composable Architecture) on the blog, though it is mentioned on my /about/ page. I started using TCA before it was even released, adopting it in the summer of 2019 as...
Read More
February 15, 2025

FaFo

Watching USA vs. Canada at the 4 Nations Face-Off Let me just say I’ve never been happier to have Brad Marchand on my side. Update: 1 minute in and it’s already the best hockey game I’ve ever seen. I’m ready...
Read More
February 1, 2025

Made in Canada

Because this is where we’re at now… Made in CA: Canadians, spend your money wisely.
Read More