Matt Massicotte
massicotte.org
Matt Massicotte
@massicotte.org
apple platform dev, outdoors, justice, games, he/him

Every problem has a simple wrong answer

https://github.com/mattmassicotte
https://www.massicotte.org
https://mastodon.social/@mattiem
Pinned
I finished up another in my "Concurrency Step-by-Step" series. This one is about everyone's favorite: protocols!

It also has a sneak peek for a super-secret idea I'm really excited about: regular old classes.

www.massicotte.org/step-by-step...
Concurrency Step-by-Step: Conforming to Protocols
If there’s one topic that I find intimidating, it’s protocols. They are very powerful and in extremely wide use. But I’m sitting here, trying to figure out how to lead into this discussion and I’m alr...
www.massicotte.org
Hmm. Do I spend 1/2 hour to do the task manually or 4 hours to automate it?
November 14, 2025 at 11:50 AM
I’m noticing a lot more packages using versioned Package@swift-xyz.swift files, seemingly unnecessarily. This is a weird trend. Unless I’m missing something?
November 14, 2025 at 10:38 AM
A global actor isolated type was walking down the street. Had a nice, steady GAIT.
November 13, 2025 at 11:41 AM
I try my best to sell unwanted stuff locally. Not for the money, just to be I dunno, less wasteful somehow? I've done it a lot, and it usually goes really well.

So. Today, let me tell you, it did not go well.
November 13, 2025 at 1:44 AM
Reposted by Matt Massicotte
My talk from #ServerSideSwift is live!!

And I’m announcing a new website I’m still working on called LearnSwift .space to provide more content for the Swift community on using Swift outside of Apple platforms

LearnSwift.space
November 11, 2025 at 5:00 PM
Reposted by Matt Massicotte
The #swiftlang toolchain is now available on Amazon Linux 2023.

Two years after my first commit allowing Swift to compile on Amazon Linux 2023, it took a while team effort to make this happen.

Get started and deploy your Swift apps in the cloud today!
November 11, 2025 at 6:05 PM
Learning why you need to use @.MainActor is much easier than learning why you need to use nonisolated.
November 11, 2025 at 12:19 PM
Over the last few months, a bunch of promising leads haven't worked out. These things can take months, so who knows? But in the meantime, I have room for more work.

I help teams adopt Swift 6/Concurrency with confidence and success. More info about me here:

www.massicotte.org/consulting
Consulting
I write stuff here.
www.massicotte.org
November 10, 2025 at 4:16 PM
Reposted by Matt Massicotte
When building commercial, closed-source SDKs, it's important to decouple the build from your local environment, to mitigate the risk for build errors and malware. This post shows how to set up GitHub Actions to build the XCFramework & dSYMs of a binary Swift Package.

danielsaidi.com/blog/2025/11...
Building Closed-Source Binaries with GitHub Actions
Using GitHub Actions is a great way to automate your build pipeline. In this post, we’ll take a look at how to use GitHub Actions to buil...
danielsaidi.com
November 9, 2025 at 4:13 PM
@khanwinter.com I’ve been doing a little ATProto work, and your CBOR library is really cool! Still very early, so I don’t have a lot of experience yet. But wanted to say thanks regardless!
November 9, 2025 at 4:02 PM
There are two types of code: morse and remorse
November 9, 2025 at 3:55 PM
Working on a side project. Just (barely) enough progress that it remains interesting. Just enough complexity that it feels like it’s got some kind of personal vendetta against me.
November 8, 2025 at 11:29 AM
I'm playing around with a custom, minimal #ATProto PDS server concept. The network won't talk to me, aside from some describeServer requests. I have no visibility into why and all can I do is guess...
November 7, 2025 at 12:03 PM
Well I have just screwed something up. (It’s DNS)
November 6, 2025 at 11:44 PM
Number one thing I look for in technical blog posts is the author saying they were confused, made a mistake, and/or still don't understand something. It makes you seem human, which is good. But it's also such a strong indicator of good information.
November 6, 2025 at 2:12 PM
Reposted by Matt Massicotte
Indie developers now have more tools in their toolkit for building with Swift across platforms, thanks to Skip. Exciting to see a Swift community member building a business with the open source Swift SDK for Android. skip.tools/blog/skip-fu... #Android
Skip Fuse is now free for Indie Developers!
Since the launch of the official Swift SDK for Android on swift.org last month, we have been overwhelmed by a surge of interest in building cross-platform apps using a single shared SwiftUI codebase. ...
skip.tools
November 5, 2025 at 9:03 PM
Ok, #ATProto PDS question.

I have to put "com.atproto.sync.subscribeRepos" behind a redirect (AWS API Gateway does not support HTTP and WS for a single domain). I understand the spec says maybe, maybe not. But does anyone know if the important existing relays will work with this?
November 5, 2025 at 1:28 PM
A lot of Swift compiler bugs have been fixed recently. Not 100% sure these will all make it into 6.3, but great to see regardless.

I have a long list and I’m looking forward to checking when a beta comes out.
November 5, 2025 at 12:38 PM
Days since finding an unchecked Sendable that uses locks subtly wrong: 0️⃣
November 2, 2025 at 11:59 AM
I doubt it will ever happen, but I still dream of a MagSafe connector that also routes Thunderbolt
November 1, 2025 at 2:21 PM
Reposted by Matt Massicotte
It's been a busy month for Swift, with lots of project updates to share. Here's a digest of the latest news: www.swift.org/blog/whats-n...
November 1, 2025 at 12:32 AM
I've put this off for way too long. It's time to take a look at Combine's compatibility with Swift 6.

www.massicotte.org/combine-anno...
The Problem With Combine Annotations
Combine is used extensively by a huge number of projects. Despite being largely untouched by Apple for a number of years now, it feels nearly ubiquitous to me. It even shows up in brand new projects s...
www.massicotte.org
October 31, 2025 at 6:52 PM
“Tough. On, crime!”

I mean, it would explain a lot.
October 30, 2025 at 11:29 PM
My schedule appears to be

morning-lunch: working
lunch-bedtime: eating
October 30, 2025 at 5:44 PM
Cold contact. Weird chit chat (which I sometimes engage with for giggles). Wants to market me as a contractor. What’s the scam here?
October 28, 2025 at 4:09 PM