
Migrating this site to EmDash
This site has changed CMS more times than I can count since 2003. This time I moved to EmDash on Cloudflare, and the reason is that most of my building now happens alongside an AI agent.
Read moreEpic CEO Tim Sweeney, regarding this week’s decision from the U.S. Supreme Court rejecting the remaining petitions from Apple and Epic:
The Supreme Court denied both sides’ appeals of the Epic v. Apple antitrust case. The court battle to open iOS to competing stores and payments is lost in the United States. A sad outcome for all developers.
Now the District Court’s injunction against Apple’s anti-steering rule is in effect, and developers can include in their apps “buttons, external links, or other calls to action that direct customers to purchasing mechanisms, in addition to IAP”.
As of today, developers can begin exercising their court-established right to tell US customers about better prices on the web.
Apple has also released their guidelines for external purchase links following this ruling:
In addition to using Apple’s convenient, safe, and secure in-app purchase system, apps on the App Store in the United States that offer in-app purchases can also use the StoreKit External Purchase Link Entitlement (US) to include a link to the developer’s website that informs users of other ways to purchase digital goods or services. To use the entitlement, you’ll need to submit a request, enable the entitlement in Xcode, and use required StoreKit APIs. Apple will review your app to ensure it complies with the terms and conditions of the entitlement, as well as the App Store Review Guidelines and the Apple Developer Program License Agreement.
[...]
Your app must offer in-app purchases in accordance with the Developer Program License Agreement and App Store Review Guidelines, and may not discourage end-users from making in-app purchases.
Apple clearly had these updated guidelines ready to go,

This site has changed CMS more times than I can count since 2003. This time I moved to EmDash on Cloudflare, and the reason is that most of my building now happens alongside an AI agent.
Read more
I wanted a simple dashboard that showed me events as they happened, so I wrote a quick little Astro app. It grew into Get Butters: a real-time event feed with a REST API, a CLI, insight cards and push alerts.
Read more
Once four agents can edit the same repo, architecture stops being the hard problem and coordination starts. The five roles I run and what each one is forbidden to touch, why every handoff goes through a file, a worktree script so agents stop racing, and the failure modes worth naming.
Read more