skip to content
Writing

Writing

AI controls, agent systems, banking governance, production practice. 405 essays, newest first.

  1. AI Controls Architecture

    Risk teams know risk. The open problem is designing controls for systems that are non-deterministic, probabilistic, and attackable in natural language.

  2. Governing Agents the Way Cells Govern Themselves

    Six cell biology mechanisms that reveal what the networking 'control plane' metaphor misses about governing AI agents.

  3. The Risk Without an Engineering Solution

    Every other agentic AI risk has an engineering answer. Prompt injection doesn't. That changes everything about how you design controls.

2026
  1. The Infra Trap

    Building tools to support your work can quietly become a substitute for the work itself.

  2. The Queue That Texts You Back

    Personal AI infrastructure should report results to you, not wait for you to go looking. A small architecture shift changes the whole dynamic.

  3. Eliminate the Reminder, Don't Schedule It

    When you catch yourself setting a reminder to check something later, that's usually a signal that a tool is failing to report what it should.

  4. You Are the Bottleneck in Your Own Agentic Workflow

    Adding more AI tools doesn't help if you're still the bus between them.

  5. Where Rules Live

    The difference between a rule that works and a rule that doesn't is usually not the content of the rule — it's where it lives.

  6. When Better Is Worse

    Upgrading to a more capable model made my tool sixty times slower. The lesson isn't about models — it's about the difference between capability and fit.

  7. The QDAP annuity trap: what the tax saving doesn't tell you

    Hong Kong's QDAP annuity is sold on a real tax benefit. But the HK$60K deduction cap is shared with MPF top-ups — and that changes everything.

  8. The Experiment Loop Without the GPU

    Andrej Karpathy's autoresearch project is being read as a demo of what H100s can do overnight. It's actually a discipline for doing rigorous work on anything measurable.

  9. Instructions Don't Enforce Behavior. Templates Do.

    Why the structure of an output matters more than the instructions that produce it.

  10. The Silent Stall: Debugging GPT-5.4-Pro's Responses API

    Three hours of debugging revealed two non-obvious behaviours about GPT-5.4-Pro that aren't in the docs: a minimum token budget requirement and a wall-clock timeout gap in Rust async code.

  11. I Didn't Mean to Kill My Todo App

    A coding assistant quietly made three productivity apps redundant. Not by replacing them — by making context collapse the boundaries between them.

  12. What it actually takes to run an AI agent in a bank

    The resistance to AI agents in banking isn't mostly cultural. It's infrastructure — and the gap is more interesting than the politics.

  13. AI Fixed My Perfectionism (Sort Of)

    On why the blank page stopped being the hard part.

  14. Exa Indexes WeChat

    WeChat is supposed to be a walled garden. Exa didn't get the memo.

  15. The Problem With Clever Browser Automation

    The most sophisticated solution to a problem is usually a sign you haven't found the right abstraction yet.

  16. When Intelligence Becomes Infrastructure

    What changes when LLMs stop being the special thing and become just another software component? The answer is: everything about how you build.

  17. Your Tool Shouldn't Know What to Ignore

    Configuration that belongs to the data shouldn't live in the tool. .gitignore figured this out thirty years ago.

  18. Expansion, Not Speedup

    The real ROI of AI coding isn't doing the same work faster. It's doing work that wasn't worth doing before.

  19. Skills as Files

    The simplest agent architecture might already be the right one: give the agent a file explaining how to do something, and let it read when needed.

  20. The Trust Spectrum

    Peter Steinberger stopped reviewing AI-generated code entirely. That works for indie software. In regulated environments, it can't. Here's how to think about where you sit.

  21. Traces Are the New Debugger

    When behaviour emerges from both code and model responses, reading source files isn't enough. You debug by examining execution traces.

  22. Rules Decay, Hooks Don't

    The difference between writing down a rule and making the system enforce it — illustrated by a 15-line hook.

  23. Agentic Engineering: Why Less Is More

    Tool enthusiasm is often net-negative. Context pollution degrades performance faster than features improve it. The principles that actually work.

  24. I Made the AI Remind Me of My Own Blind Spots

    I kept missing things at the end of AI sessions. So I stopped relying on willpower and systematised the nudge instead.

  25. CLIs Enforce Structure and Save Tokens — Not Just Discipline

    The instinct to add a rule to a skill file is usually the wrong abstraction. A CLI wrapper enforces at the tool level: zero deliberation, zero token cost.

  26. Three AI Governance Blind Spots No Framework Covers

    Most AI governance frameworks are technically-focused risk checklists. Three structural risks are missing from almost all of them.

  27. AI Evals: Why Teams Build Metrics Before They've Read a Trace

    Most teams build evaluators before reading a single trace. The sequence that actually works is the opposite: observe, categorise, then measure.

  28. AI Vendor Selection Is Now a Values Decision

    OpenAI took the Pentagon contract Anthropic refused. Your AI vendor just became a political statement — and enterprise procurement hasn't caught up.

  29. Software Engineering Principles for AI Instruction Files

    LLM instruction files are code. They have the same failure modes — with one interesting twist that changes everything.