Notes on .NET, XAF, and building things
Twenty years of XPO, application frameworks, and lately a lot of applied AI. 288 articles and counting.
Browse by topic
All topics →Latest articles
View all →
FOMO, JOMO, and FOWT — The Fear of Wasted Tokens
I pay for the max plans — Codex and Claude Code — plus a monthly Azure token allotment. Here's the thing nobody warns you about: those are monthly quotas. Use them or lose them. And I've caught myself genuinely afraid to oversleep or take a day trip, because that's quota I'll never get back. That feeling needed a name, so I gave it one: FOWT, the Fear Of Wasted Tokens.

What Is Token Maxxing? Spending Compute to Buy Correctness
There's a piece of slang making the rounds in the AI dev world: token maxxing. Strip away the meme and it names something real — the deliberate choice to spend more tokens on a problem because tokens have become the cheapest thing you can throw at it. Here's what it actually means, when it works, and when you're just lighting money on fire.

The Vision Model That Wasn't There: DeepSeek V4, a Vanished Paper, and a Recipe You Can Use Today
I set out to wire DeepSeek V4's much-described image-understanding into a side project — the model that 'calculates bounding boxes and relative dimensions step by step.' One problem: DeepSeek V4 can't see images at all. This is the detective story of how I found that out three different ways, the vanished research paper that explains where the claim came from, and the lesson that mattered most — a method is portable even when a model isn't. So I ported the recipe to Gemini and measured it.

What Is OpenAI Codex Sites? Prompt-to-Hosted-App, With a Catch
OpenAI's Codex picked up a feature called Sites: describe an app in plain language and Codex builds it, runs it, deploys it, and hands you back a live hosted URL — no deploy pipeline of your own. It's a genuinely interesting glimpse of where agents are heading. It also ships with some walls worth knowing about before you get excited. Here's the honest rundown.

LM Studio 0.4.16: Your Local Models Just Went Mobile
LM Studio is the app I reach for whenever I want to run a model on my own hardware, and the 0.4.16 release adds the thing I didn't know I wanted: a mobile app called Locally that lets me drive my big desktop models from my phone over LM Link. Here's what's new, and why this is a bigger deal than a point release sounds.
More topics
All topics →
Static Analyzers: How They Work and Why You Actually Need Them
A static analyzer reads your code without running it and tells you what's wrong — the bug you didn't see, the await you forgot, the disposable you leaked. After twenty years of .NET I treat them as non-negotiable. Here's what they actually are, how they work under the hood (with a peek at Roslyn), and why every serious project should have them turned on and turned up.

What Is ACP? The Agent Client Protocol — LSP, but for AI Coding Agents
If you've watched the AI coding space lately, you've heard about MCP. Its quieter cousin is ACP — the Agent Client Protocol — and it solves a different problem: not how an agent talks to its tools, but how your editor talks to the agent. The one-line version: if MCP is USB-C for AI tools, ACP is LSP for AI agents. Here's what it is and why I think it matters.

What Is dotnetup? The .NET Version Manager We've Been Missing
If you've ever fought with which .NET SDK is on a machine — the one Visual Studio dragged in, the one winget installed, the one the install script dropped, the one your global.json actually wants — then dotnetup is for you. It's the official .NET SDK and runtime version manager, finally: rustup/nvm, but for .NET. Here's what it is and why I'm excited about it.

Chat, Agent, Harness: The Three Layers of Building with AI
Three words get thrown around as if they were the same thing — chat, agent, harness — and they are not. They're three different layers, and once you see the boundaries between them, a lot of the AI-for-developers landscape suddenly makes sense. Here's how I think about the distinction, with small code sketches for each layer.

Microsoft Execution Containers (MXC): Build 2026's Answer to the Shared-Kernel Problem
A couple of days ago I wrote that namespaces are the operating-system feature AI agents were waiting for — and that the one real catch is the shared kernel. Turns out Microsoft spent Build 2026 answering exactly that. Microsoft Execution Containers (MXC) swap the shared kernel for hypervisor-enforced boundaries while keeping container-class speed: under 5% CPU overhead, 40–60 MB per container, dozens of agents on one workstation. Here's what it is and why I, a Windows person, am genuinely excited about it.