
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 moreWorkers at Apple's Towson Town Center store in Maryland have voted to unionize, with 65 yeses and 33 nos. Around 110 employees were eligible to vote in the election.
The store is the first Apple retail location in the US to hold a union election, after organizers in Atlanta withdrew their petition to hold a union vote, which had been scheduled to take place in early May.
Organizing at the Towson store has been done by a group of employees that called themselves AppleCORE (an acronym for Coalition of Organized Retail Employees). The workers have said they want to expand their rights, specifically asking for a say when it came to pay, hours, and safety. AppleCORE is associated with a larger, established union, the International Association of Machinists and Aerospace Workers.
>
Apple hasn't welcomed the multiple unionization campaigns at its stores with open arms. The company hired anti-union lawyers, and had store and even corporate leadership tell employees why they shouldn't join a union. Organizers in Atlanta even withdrew their petition to hold an election, claiming that Apple's behavior made it impossible to have a fair vote, and the company has been accused of union busting via captive audience meetings at two separate locations.

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