Skip to main content

Engineering the open web.

Long-form writing on Drupal, PHP frameworks, AI tooling, automated testing and everything else in a working programmer's stack — shipped from production, not theory.

The flat-rate era of AI coding is ending. Here's what my stack costs now.
ai

The flat-rate era of AI coding is ending. Here's what my stack costs now.

GitHub Copilot went token-metered on 1 June, Cursor split its usage pools, and Sonnet 5's intro API price expires 31 August. The flat monthly plan for AI coding is quietly over. Why it broke, what it does to a working dev's bill, and the one rule I now budget by.

2026-07-24 / 05 min
I pointed Claude Code at my Coolify box. Deploying by sentence is a bit too easy.
ai

I pointed Claude Code at my Coolify box. Deploying by sentence is a bit too easy.

Coolify shipped a first-party MCP server in v4.1.0, so I wired Claude Code to the VPS that runs this blog and deployed by asking. It works, which is the worrying part. What the tools actually do (no rollback), the thin confirmation model, and how I scope tokens so an agent can't restart prod off a misread sentence.

2026-07-24 / 04 min
GitHub Trending #1: what I'd actually clone (and the one I wouldn't)
ai

GitHub Trending #1: what I'd actually clone (and the one I wouldn't)

The first of my GitHub Trending roundups: the repos actually worth cloning this week — agent scaffolding, from-scratch language runtimes in Rust and C, and two tools that just fix something today — plus how to spot the star-farmed shell hiding in the pile.

2026-07-11 / 05 min
FrankenPHP + Drupal: Great Server, but Skip Worker Mode
php

FrankenPHP + Drupal: Great Server, but Skip Worker Mode

Field notes on running Drupal 10/11 on FrankenPHP in classic mode today, why worker mode is still off-limits for Drupal, and how it sits behind my Traefik/Coolify setup.

2026-07-11 / 04 min
Subscribe to Home
One email a week. No noise.
Every new article, plus the tools and patches I’m watching.