RSSAmplifier

Blog

Matt Massicotte's Blog

I write stuff here.

massicotte.orgRSS feed ↗10 posts

Latest posts

An Even Closer Look at Protocols and Global Actors

As I've said in the past , I really like technical discussion that happens across blog posts. I think it can be a really wonderful way to get deep look at a topic. And because different people are involved, you get to enjoy a variety of style and perspective. Well, wouldn't you know that I've been inspired to do just this! I was reading a recent post by John Sundell on protocols and…

Beachfront Property in Camarina

A while ago, I went on a bit of a quest to better understand AI. As part of that, someone pointed me to two essays written by Dario Amodei , the CEO of Anthropic. I found them both to be incredibly thought-provoking and I'm very glad I read them. Just in case you have not read them yourself, here are some very light summaries. And I want to emphasize light, because both of these essays are…

(Some) Unanswered Swift Group Questions

There was a great Swift Group Lab session recently. And this follows a similar concurrency-specific session which was also wonderful. I think the format is a little challenging for the panelists, but they manage to do a great job regardless. It's so valuable to have real questions answered by the people that built the stuff. And I happen to really enjoy the live, unscripted discussion. (I was…

Stateless Actors

Recently, I was asked an interesting question. If the purpose of an actor is to protect mutable state, is a stateless actor pointless? At first, I thought it was an easy answer. Actors exist to define a little, protective bubble around state. They "isolate" data away from any unsafe accesses. An actor that has nothing to isolate seems like a strange thing. Can such an arrangement serve a purpose?…

WWDC 2026 Watch List

I have never published a WWDC wishlist, or ever even really thought much about one before. But, there are some areas that I'm definitely interested in, so I thought it would be fun to share. Here's my "watchlist" of things I'll be paying special attention to. Combine Movement Of any kind really. But if I had to predict, I would expect there to be zero changes and no deprecations.…

Concurrency Step-by-Step: Designing Protocols

After a bit of break, it's finally time to continue my "step-by-step" series. This one will take a look at everyone's favorite language feature: protocols. Of course by "look" I mean a novel. Actually, the last installment was also about protocols. But that was coming at it from the side of adding a conformance. Here, we'll be creating our own protocol. These two things go…

The Tiny Languages of Task Runners

I have been a Rake user for a very long time. It has been preinstalled on macOS since forever, it is super flexible, and very powerful. It's implemented in Ruby. And Ruby's syntax is particular well-suited to quickly defining custom DSLs . Rake really runs with this idea and takes it quite far. And that's the reason I'm thinking about this today. Christian Tietze has been…

Package Traits in Xcode

Did you know that we got a little present in the Xcode 26.4 release? As of that version, Xcode now supports package traits. I was so excited about this when I discovered it, I immediately had to give it a try to see how it works. I've only done some some basic experimenting, but I think it's great. Quick Summary SwiftPM introduced trait support in 6.1. Traits give a package a way to…

Testing with Event Streams

I have been working on updating the tests in a package from XCTest to Swift Testing for a while. Most of the work was very straightforward. But a handful of tests were actually quite hard to migrate. I did find a solution and I thought it could be interesting. Expectations The system I was testing involved a bunch of callback functions. The tests needed to verify that they were called, and in the…

The Journey

I'm a pacer. I find it helps me think. And let me tell you, I have been doing just an enormous amount of pacing recently. I believe that many other people are in a similar situation, at least as far as the thinking part goes. I have been struggling to understand AI. And I don't mean how to choose a model or set up an agentic workflow. I mean, like, the broader implications . On the one…