I write stuff here.| massicotte.org
I have never asked ChatGPT anything. I haven’t tried any coding agents. So far, I have not ever intentionally used an LLM. This kind of fits with my personality in general. I’m quite slow to adopt new things. However, that doesn’t mean I’m not paying attention.| massicotte.org
ExtensionKit was a pretty significant new feature, introduced three years ago with macOS Ventura. But, I wouldn’t be surprised if you’ve never even heard of it, as it had a strangely quiet introduction. There were no sessions or labs about it during WWDC 2022. I only discovered it because a friend stumbled across the beta documentation and sent it to me.| massicotte.org
A little while ago I got worked up and I wrote a thing. It received more attention than I expected and I want to thank everyone out there for the words of encouragement and support. You all give me tremendous hope.| massicotte.org
As we started getting closer to the release of Swift 6.0, I had this bright idea. I decided to write about every evolution proposal related to concurrency that would ship with that release. This resulted in 12 posts and let me tell you, it was a lot of work. I even cheated! I skipped one, the introduction of the Mutex type. I guess it just didn’t feel like enough of a “language change”.| massicotte.org
I actually don’t get too many questions about SwiftData or Core Data. And thank goodness, because I’m not particularly familiar with either. That is, until just recently! I had the chance to work with two different projects, both of which were using SwiftData. While Core Data was introduced in 2005, this SwiftData stuff is brand new. In fact, it includes a whole bunch of Concurrency-specific features. It should be smooth sailing right?| massicotte.org
Occasionally, you’ll come across something that will really influence your thinking on a topic. This happened to me after reading a post on the Swift forums. That was nearly 6 months ago as I write, but I’m still thinking about it today.| massicotte.org
At long last, there is now a beta release of Swift 6.1! There are a few interesting things in here for those concurrency enthusiasts out there, and I wanted to go over them quickly.| massicotte.org
I’m really not sure how to start this one. Normally, I write about technical topics. But, that’s not what this is. This is different. So I’m just going to say it.| massicotte.org
Swift’s concurrency system seems incredibly simple at first. But, eventually, we all discover that there’s actually a tremendous amount of learning required to use concurrency successfully. And, one of the most challenging things is there’s also quite a bit to unlearn too. Swift concurrency has many features that feel familiar, but actually work very differently.| massicotte.org
I write stuff here.| massicotte.org
There is a section in the Swift 6 migration guide on Swift.org called “Migration Strategy”. Let me quote it here:| massicotte.org
Not too long ago, I was re-reading an “introductory” post I wrote. Honestly, I could barely make it though. I guess a big part was my own defintion of “introduction” when it comes to concurrency has been evolving. As I was reading, I kept imagining a true beginner doing the same thing. It’s embarrassing! I’m not going to remove it, but I don’t feel great about it.| massicotte.org
It would be nice if there was a single place to go to look up all the terms, keywords, and annotations related to Swift concurrency. So here it is. By no means do you need to understand everything here to use concurrency successfully. Let me know what I forgot!| massicotte.org