Blog
Thoughts on software, music, life, and building things-
You don't need a 500-line skill file to change how a model writes or thinks. Sometimes six words will do it. The trick is knowing which six words, and why they work.
-
Temporal and Restate solve durable execution by giving you a platform. memable takes a different approach: it's a Rust library that runs inside your process, uses key-based memoisation instead of positional replay, and needs no external infrastructure.
-
I built a CLI tool that encodes my deployment workflow into something an AI coding agent can drive. Three commands from scaffold to production on your own VPS.
-
Three reasons I resisted AI-augmented coding, and what it took to get past each one.
-
I built an automated experiment to test whether politeness or encouragement improves LLM output quality.
-
A follow-up to Code I'll Never Read. If plans get as heavy as the code, you've just swapped one unreadable artefact for another. The real question is where you get leverage.
-
If agents are the primary consumers of your codebase, then our idea of what 'good code' looks like might be the wrong standard. I'm questioning decades of received wisdom about code quality.
-
95% of enterprise AI pilots fail, yet individual practitioners report real gains. A quadrant for mapping the problem space, the March of Nines for understanding why demos don't become production systems, and the outer loop for getting better over time.
-
An internal data tool that wouldn't have been worth building six months ago. What happens when AI collapses the cost of each step from script to production service.
-
Traditional tool calling is hitting its limits. Here are three patterns I'm planning to use in my next agent build: tool search, programmatic tool calling, and tool use examples.
-
I recently wrote about my AI workflow and code review. Parts of both are already shifting. The four-step trajectory from writing code to designing verification systems, and why the real requirement isn't determinism but verifiability.
-
We're talking about cognitive debt. We should also be talking about operational debt: code generated faster than teams can earn the knowledge to run it.
-
My full process for AI-augmented development, built from daily use in production. Field reporting from a practitioner, not theory.
-
AI has scaled code production dramatically. Human review capacity hasn't changed. Here's how to allocate the scarce resource.
-
AI coding tools let you build in a weekend what used to take months. But you can't learn to operate what you've built at the same pace. The gap is where trust breaks.
-
I used an AI to build bot protection, and it says something about how the scale of a weekend project has changed.
-
Jeff Huber makes the case that the central discipline of building AI systems isn't prompting, isn't RAG, it's context engineering. Here's what that means and why I think he's right.
-
AI-assisted coding has changed how I approach problems. The real leverage is in research and planning, not implementation.
-
What if the trajectory from Mesopotamian irrigation to large language models is a single story of disconnection?
-
What I learned from going all-in on AI coding agents, and the practices that separate quality output from confident slop.
-
Why is the internet getting so excited over an insecure cron + Claude combination?
-
AI coding agents crossed a threshold in December. I was already using AI tools, but this shift was different. Now I'm working through the tension between genuine usefulness and real concerns about power and waste.
-
HTML-first, backend-driven development with Rust, durable execution, and infrastructure you can actually reason about.
-
Reviving the blog for 2026. The industry is shifting fast and I've got things to say about it.