Learn

Only what stays true, dated by its last review.

All111ArticlesCoursesReference

Articles

ArticleFree to read

The cache is a design decision

Caching a model’s context is not a free speed toggle. It is a decision about what staleness you are willing to tolerate, and treating it as an afterthought is how a session starts answering from a world that no longer exists.

Understanding AI

Updated
ArticleFree to read

Accessibility is the cheapest win in the codebase

Most accessibility fixes are mechanical, not a design debate, and an agent that already reads and rewrites code well can work through a large share of them in an afternoon.

AI & Society

Updated
ArticleFree to read

What reasoning means when a model says it

A model’s visible reasoning trace is generated the same way its final answer is, one token at a time, which means it can look like a proof of the working and still not be one.

Understanding AI

Updated
ArticleFree to read

One person and twelve agents

Running a dozen coding agents at once did not turn me into twelve engineers. It turned me into a manager, and the bottleneck moved from typing to judgement.

AI & Society

Updated
ArticleFree to read

Synthetic data and the collapse argument

Training a model on its own kind of output, generation after generation, is a mechanism I can reason through without a citation, and the mechanism turns out to be narrower than the alarm around it suggests.

AI & Society

Updated
ArticleFree to read

The energy question deserves a real number

Every public figure for what a model query costs the grid is a number I cannot verify, so I have stopped repeating them and started metering my own agents instead.

AI & Society

Updated
ArticleFree to read

Who is liable when the agent ships the bug

When an autonomous agent ships a defect, responsibility does not evaporate into the model. It lands on whoever approved the change, and that is worth saying plainly before approvals become a formality.

AI & Society

Updated
ArticleFree to read

Naming things for a tired human

An identifier only has to be unique to a database. A name has to be unique to a tired human reading it back, which is a much stricter requirement.

Understanding AI

Updated
ArticleFree to read

Boring infrastructure wins the year

The highest-leverage hour I spent this year did not ship a feature anyone could see. It quietly removed a category of incident nobody now has to have.

Opinion

Updated
ArticleFree to read

Buying a tool is buying its failure modes

Trying a tool on its happy path tells you almost nothing useful. What you are actually adopting is how it behaves when the thing it depends on is down.

Opinion

Updated
ArticleFree to read

The best feature is refusing

A system that quietly proceeds when it cannot tell what is safe is gambling with a decision nobody asked it to make. Refusing outright, on purpose, is sometimes the correct behaviour.

Opinion

Updated
ArticleFree to read

The demo is not the product

A demo is built to survive one specific run in front of one specific audience. The product has to survive every run, including the one nobody rehearsed.

Opinion

Updated
ArticleFree to read

Stop asking the model to sound sure

Asking for confident language gets you confident language, not confident answers. What actually needs to sit next to a claim is evidence, not tone.

Opinion

Updated
ArticleFree to read

A gate you cannot compare

Tying independent review to whichever engine happens to be free that day makes every verdict a different kind of check. Independence comes from a session with no memory of the build, not from which vendor’s name is on it.

Opinion

Updated
ArticleFree to read

Timezones are the bug you ship on a Sunday

A timestamp with no explicit timezone is not neutral. It silently assumes every machine that reads it shares the same clock, and that assumption breaks exactly when a scheduled job or a seasonal clock shift proves it wrong.

Understanding AI

Updated
ArticleFree to read

The empty result that looks like a disaster

An empty or not-found result is a claim about whether the check itself could have found the healthy answer before it is ever a claim about whether the healthy state exists at all.

Opinion

Updated
ArticleFree to read

Fail closed on anything that makes an account

When a signup gate cannot get a clear answer, the safe default is to refuse the account rather than allow it, because a wrongly created account is far harder to undo than a wrongly refused signup.

How to Use AI

Updated
ArticleFree to read

The second run is the real test

A script that behaves correctly on a clean, empty state has only passed the easy case. Running it a second time against the state it already created is what actually tests whether the thing works.

How to Use AI

Updated
ArticleFree to read

Absence of a credential proves nothing

A missing content-provenance credential is explained by dozens of ordinary processes, from screenshots to re-encoding to a platform stripping metadata, so its absence alone cannot be treated as evidence that media is fake.

AI & Society

Updated
ArticleFree to read

A lock the system does not enforce

A PostgreSQL advisory lock only coordinates the code that checks it — the database itself lets any connection ignore it and touch the same rows unchecked, which is exactly what its documentation warns.

Understanding AI

Updated
ArticleFree to read

Open weights are not open source

The Open Source Definition sets specific criteria — free redistribution, available source, no field-of-use restriction — that most weight-only model releases do not actually meet, whatever the release page calls itself.

AI & Society

Updated
ArticleFree to read

The dates are already here

The EU AI Act’s implementation timeline is not one future date, it is a staged calendar: prohibitions from 2 February 2025, GPAI obligations from 2 August 2025, the remainder including synthetic-content transparency from 2 August 2026 — and most of it is no longer ahead of me.

AI & Society

Updated
ArticleFree to read

Five hundred means stop

RFC 9309 treats a robots.txt fetch that fails with a 4xx and one that fails with a 5xx as opposite cases: a 4xx means the crawler may proceed, a 5xx means it must assume complete disallow, and a crawler that merges every non-200 into one branch gets that backwards.

Understanding AI

Updated
ArticleFree to read

The top ten moved and I did not notice

The current OWASP Top 10 for LLM Applications is the 2025 list, led by Prompt Injection — but an older page on OWASP’s own site still serves the archived 2023 v1.1 list, and a plain search for the topic can hand you that one first.

AI & Society

Updated
ArticleFree to read

Twenty-four by twenty-four

WCAG 2.2’s Level AA target-size rule sets a measurable minimum of 24 by 24 CSS pixels for a pointer target, with five named exceptions that each have to be checked against the actual element, never assumed.

How to Use AI

Updated
ArticleFree to read

Contrast is arithmetic

WCAG 2.2 sets contrast as an exact ratio, not an impression: 4.5 to 1 for text, 3 to 1 for large text, and a separate 3 to 1 for non-text UI components — none of which “looks fine on my monitor” can actually verify.

How to Use AI

Updated
ArticleFree to read

Version numbers are a promise

Semantic Versioning ties each bump to one exact test: incompatible change for major, backward compatible addition for minor, backward compatible fix for patch — and a number chosen by feel is a promise to consumers I had no right to make.

How to Use AI

Updated
ArticleFree to read

Exactly one of

JSON Schema’s oneOf means the data must validate against exactly one of the listed subschemas, not at least one, and the docs themselves note it costs more to check than anyOf because every subschema still has to be verified.

Understanding AI

Updated
ArticleFree to read

What a tool server actually promises

MCP servers expose three distinct kinds of capability, not one undifferentiated bag of “tools”, and the specification says a tool’s own description should be treated as untrusted unless the server providing it already is.

Understanding AI

Updated
ArticleFree to read

I replaced three subscription tools with open-source ones

Grabbing, editing, and recording video no longer needs three separate subscriptions once you know the open-source tool doing the same job without a watermark.

Opinion

Updated
ArticleFree to read

What I actually use AI for when I’m planning a trip

I stopped asking an AI to plan my trip and started asking it to do the three specific parts of planning that were actually costing me time.

How to Use AI

Updated
ArticleFree to read

Sovereignty now means which models you’re allowed to run

The question of who controls a country’s AI capability is quietly becoming a question about which models it is allowed to run at all, not which ones it chooses to.

AI & Society

Updated
ArticleFree to read

Using AI as a coach means being honest about what it can’t see

I use an AI as a thinking partner for reviewing my own decisions and routines, but only once I stopped treating its confidence as evidence of anything.

How to Use AI

Updated
ArticleFree to read

Building a site end to end with Claude Code and Framer MCP

The workflow that actually holds together for me is Claude Code writing the site, Framer MCP giving it a real design surface to work against, and Puppeteer checking that what shipped is what was asked for.

How to Use AI

Updated
ArticleFree to read

I validate an idea before I let myself build it

Building is the fun part and the expensive part, which is exactly why I force myself to prove an idea is wanted before I let myself start on it.

Opinion

Updated
ArticleFree to read

The best signal I have is noticing when I’m arguing with a model

The moment I catch myself getting defensive with an AI’s answer instead of checking it is the moment I have stopped thinking and started performing being right.

Opinion

Updated
ArticleFree to read

The first three seconds decide the rest of the video

I judge every short by its first three seconds in isolation, because that is the only part a stranger actually watches before deciding whether to stay.

Opinion

Updated
ArticleFree to read

What Abliteration Means for Anyone Deploying an Open-Weight Model

Open-weight models can have their safety behaviour stripped out by anyone with the weights and enough compute. Deploying one means planning around that fact, not hoping around it.

AI & Society

Updated
ArticleFree to read

AI Trading Models Won't Save You From Risk Management

A better forecast is not a substitute for position sizing and a stop. AI-driven trading content skips that distinction constantly, and it is the distinction that actually protects money.

Opinion

Updated
ArticleFree to read

Most Multi-Agent Swarms Are YAML Nobody Runs

The org-chart repo — a dozen named agent roles, a coordinator, a config file mapping who reports to whom — mostly does not run in practice. Here is what does.

Opinion

Updated
ArticleFree to read

What Content Automation With Claude Actually Looks Like

The realistic version of automating content with an AI agent is narrower and less magical than the pitch, and more useful because of it.

How to Use AI

Updated
ArticleFree to read

The Prompt Engineering Ideas That Actually Hold Up

Most prompt engineering content is trivia that stops mattering the next model release. A small number of ideas underneath it are durable, and these are the ones I still use.

Understanding AI

Updated
ArticleFree to read

The Difference Between an AI Agency and an AI Lead Magnet

Half of what gets called "build an AI agency" is a course selling the idea of a business, not the business. Here is how to tell which one you are looking at.

Opinion

Updated
ArticleFree to read

What Actually Cuts Your Claude Code Bill

Running several accounts and several sessions at once is normal for real work. What keeps the bill sane is a small set of habits, not a trick.

How to Use AI

Updated
ArticleFree to read

Claude Code Is a System, Not a Chatbot

Most advice about Claude Code treats it like a chat window with extra permissions. Used properly it is closer to an operating system you configure once and route work through.

How to Use AI

Updated
ArticleFree to read

Forward deployed: what the FDE role actually is

The labs now ship enterprise agents with engineers attached, and the job those engineers do is the job I already do on my own estate.

Opinion

Updated
ArticleFree to read

Absence of evidence: dating claims in public writing

Never state a number without its date. In a field that obsoletes claims monthly, an undated benchmark is misinformation with a delay timer built in.

Opinion

Updated
ArticleFree to read

Review the repo, not the diff

Diff review catches what changed. Only a whole-repository adversarial pass catches what the change quietly broke somewhere else, which is why shipping should gate on the second.

How to Use AI

Updated
ArticleFree to read

Magic links without a vendor

Building email magic-link auth by hand — codes, tokens, rotation, cookie handling — taught me more about my own threat model than any auth vendor's documentation ever did.

How to Use AI

Updated
ArticleFree to read

Attribution or chaos

When a dozen agents commit to the same repository, every commit and message needs a traceable author, because the audit trail is how you debug the estate, not just the code.

AI & Society

Updated
ArticleFree to read

The browser is the last mile

An agent that clicks through the deployed app catches what unit tests structurally cannot, because it is the only layer testing what a real visitor actually experiences.

How to Use AI

Updated
ArticleFree to read

Cron for cognition

Scheduled agents that check, digest, and report are the cheapest leverage available in a multi-project estate, and the cheapest way to ruin them is skipping cooldowns.

How to Use AI

Updated
ArticleFree to read

Goals, not prompts

A prompt asks for one attempt at an answer. A goal with a completion condition asks the agent to hold an outcome across turns until it is actually true.

Understanding AI

Updated
ArticleFree to read

Subagents all the way down

A tree of agents delegating to agents multiplies throughput and hides work in equal measure, and the second effect is the one nobody plans for.

How to Use AI

Updated
ArticleFree to read

Kill the port, not the process name

A broad pkill that matches on command line text takes out unrelated terminals along with the one you meant to stop.

How to Use AI

Updated
ArticleFree to read

Permission modes are a spectrum

Approve-everything and no-guardrails-at-all fail the same way from opposite directions. The design space that actually works is the layered middle: hard denies, a classifier for the routine stuff, and human judgement reserved for what is left.

Understanding AI

Updated
ArticleFree to read

The marginal cost of completeness

When implementation is nearly free, deferring the tests or the edge case stops being a time-saving decision and starts being a decision to ship something worse for no real saving.

Opinion

Updated
ArticleFree to read

Convergence ceilings

Past a certain number of failed review rounds, a fix for one finding starts reintroducing an earlier one. A hard ceiling that stops the lane and escalates beats letting it iterate its way into a worse diff.

Opinion

Updated
ArticleFree to read

The escalation ladder

Three failed rounds on the same model is not bad luck, it is information. Escalating effort, then model, then engine, in that order, beats reaching for the biggest available option the moment you get frustrated.

How to Use AI

Updated
ArticleFree to read

Memory for agents: an index of facts, not a diary

A memory system that only ever appends becomes a diary nobody rereads. One fact per file, an index that loads every session, and aggressive deletion of what turned out wrong is what keeps it worth reading.

Understanding AI

Updated
ArticleFree to read

A correction repeated is a correction never learned

Applying a correction and moving on only changes the current output — it does not change what the agent believes next time. The fix has to go into the standing rules the moment it happens, not at the end of the session.

How to Use AI

Updated
ArticleFree to read

AGENTS.md is infrastructure

Two engines reading two different copies of the same rules drift apart silently, with no error to catch it. One real file and a pointer is the only shape that stays correct.

Understanding AI

Updated
ArticleFree to read

One question at a time

Stack three decisions into one message and an agent answers the easy one properly and gestures at the other two. Interaction design for a running agent has more in common with air traffic control than with chat.

How to Use AI

Updated
ArticleFree to read

Cap the reply

A verbosity limit isn’t a style choice. It decides whether the one sentence that actually mattered survives being read at all.

How to Use AI

Updated
ArticleFree to read

Cost per merged PR

Token count is one line item, not the total. The honest number is everything a change cost from first attempt to merge — retries, review rounds, and the human minutes spent unblocking it.

AI & Society

Updated
ArticleFree to read

Leaderboards mislead operators

A two-point gap on a public coding benchmark tells you almost nothing about your own repository. The only eval that predicts your outcomes is one built from your own tasks.

AI & Society

Updated
ArticleFree to read

Launch scope without lying

I want a narrow launch to expose only the journeys that work. Defined tiers, disabled features and verified purchase flows are different states, and the release needs to say which one is real.

Opinion

Updated
ArticleFree to read

Migrations are the path

Prisma’s db push forces a database to match a schema with no record of how it got there. I treat push as local scratch only; anything shipping goes through a real migration file.

Understanding AI

Updated
ArticleFree to read

Show the counts

Tests pass is a sentence with the evidence erased. I want the actual numbers — how many ran, how many passed, how many were skipped — and the exact command that produced them.

Opinion

Updated
ArticleFree to read

Dark mode is a gate, not a feature

I do not know what share of my readers use dark mode, and that is exactly the problem — building only in light mode means I have never seen what an unknown number of them see. Both themes get a signed verdict or the surface does not ship.

How to Use AI

Updated
ArticleFree to read

Measure before you look

I can miss a three-pixel padding mismatch in a screenshot; comparing the computed values gives me a number to check. I measure everything before I let myself look at the screenshot.

How to Use AI

Updated
ArticleFree to read

Screenshots or it didn’t happen

An agent claiming a UI change works and a screenshot of it working are different kinds of evidence. I stopped accepting the first without the second, in both light and dark mode.

How to Use AI

Updated
ArticleFree to read

Make it visual: agent output should be a page

Findings that only exist in terminal scrollback are functionally lost. I hold every investigation to one rule: it ends as a self-contained HTML page, titled with the project and the exact path it ran against.

How to Use AI

Updated
ArticleFree to read

The handoff document

Memory fades faster than a project changes, so a handoff written from recollection is only as good as the recollection. Writing it from live commands, ending in the exact prompt to resume, is what actually survives the gap.

How to Use AI

Updated
ArticleFree to read

Context is the scarcest resource

A context window that looks like infinite scroll is actually one of the tightest constraints on how well an agent reasons. Treating it as a managed budget, not a passive log, changes what a session should hold.

Understanding AI

Updated
ArticleFree to read

Your agent doesn’t need 200 tools

Every tool definition loaded into an agent’s context costs something before the task even starts, whether or not it’s ever called. Deferred loading and a real per-task budget beat connecting everything by default.

Opinion

Updated
ArticleFree to read

Prompt injection is an operations problem

An agent that reads a pull request and follows an instruction hidden inside it isn’t a research demo — it’s the same mechanism sitting under ordinary developer tooling. The fix is permissions and blast radius, not a better prompt.

AI & Society

Updated
ArticleFree to read

Never hardcode a provider

A model id pinned in code is a claim about what will answer, not a fact. Routing every call through a selection layer turns a dead provider from an incident into a config change.

Opinion

Updated
ArticleFree to read

Mining your own transcripts

Months of agent session logs are a queryable record of every decision I actually made, not the tidied-up version I’d write after the fact. Finding out why is usually a search away, not a guess.

Understanding AI

Updated
ArticleFree to read

Two machines, one estate

A local record of "the last deploy" goes stale the moment a second machine deploys anything. On a multi-machine estate, the platform’s own history is the only version worth trusting.

How to Use AI

Updated
ArticleFree to read

Least-privilege tokens for autonomous workers

A broad credential sitting in an agent’s environment is a blast radius waiting for the wrong input. Minting a narrow, per-job token costs seconds and changes what a bad day looks like.

How to Use AI

Updated
ArticleFree to read

The post-deploy health gate

A green deploy and a working service are not the same claim. Every deploy in my pipeline now ends with a real request against a real health endpoint on the production domain.

How to Use AI

Updated
ArticleFree to read

Routes live in one file

A manifest listing five hostnames beside a platform config that owns none of them means the honest answer for all five is “nowhere.”

How to Use AI

Updated
ArticleFree to read

Secrets and agents: one vault, stdin only

I pass credentials from the vault through stdin to keep values out of command arguments. That removes one exposure route; it does not prevent a receiving command or a logging wrapper from recording the value.

How to Use AI

Updated
ArticleFree to read

Ask before you message: agent-to-agent comms policy

A wrong-context answer is worse than silence, because it arrives confident and gets mistaken for evidence.

AI & Society

Updated
ArticleFree to read

Bare names collide

“Send this to main” resolves to whichever session answers to that name first, and in a fleet that’s rarely the one you meant.

Understanding AI

Updated
ArticleFree to read

Dashboards, not voices

A voice alert interrupts on the agent’s schedule and forgets itself the moment it’s spoken; a persistent surface remembers.

How to Use AI

Updated
ArticleFree to read

The yes-man is the most dangerous agent

An agent that validates bad code or calls a failed gate shippable does more damage than one that is simply wrong.

Opinion

Updated
ArticleFree to read

A measurement beats your best argument

I overrode a worker’s grep of the real data with a better-sounding principle once, and shipped the regression it had already warned me about.

Opinion

Updated
ArticleFree to read

Run, don't read: anti-fabrication gates

A status field, a report, or a UI string that says something worked is a claim, not evidence — only command output earns trust.

How to Use AI

Updated
ArticleFree to read

Acceptance criteria before code

Write down what “done” means before an agent touches the code, then grade the running result against that list, not the diff.

How to Use AI

Updated
ArticleFree to read

One backlog to rule them

Agents that cannot tell which task store is authoritative start a new one. How duplicate backlogs happen in agent-heavy repos, and the resolve-before-touching rule that stops them.

How to Use AI

Updated
ArticleFree to read

The transcript is the cache

When an agent stops mid-task, I preserve its transcript and working tree before deciding how to continue. Resuming can retain the working context; it is not a promise of free processing or a warm prompt cache.

Understanding AI

Updated
ArticleFree to read

Every minion accounted for

Orphaned agent processes burn quota and CPU for days and lose work. Session teardown means enumerating live workers from the system, never trusting what memory says should be running.

How to Use AI

Updated
ArticleFree to read

Worktree discipline for parallel agents

Every parallel task gets its own isolated working directory, and every one is merged or explicitly surfaced before the orchestrator exits. This is the rule I learned by losing work to an orphaned one.

How to Use AI

Updated
ArticleFree to read

The dependency rule of parallel agent waves

Non-overlapping files is not the same thing as independent work. If one worker consumes what another is still producing, it either guesses silently or breaks loudly, and both are avoidable.

How to Use AI

Updated
ArticleFree to read

Match the model to the task

Putting every worker on the frontier model burns a week’s budget for zero gain on CRUD. A tiering playbook from running mixed-model agent waves daily.

How to Use AI

Updated
ArticleFree to read

Quota is a perishable good

Subscription coding agents run on rolling usage windows, and unused quota simply evaporates at reset. The right account to spend from is the one nearest its reset, not the coolest one.

How to Use AI

Updated
ArticleFree to read

The builder never grades its own homework

Every AI-written change in my estate gets a fresh reviewer session with no memory of building it; using the same engine does not mean using the same session. Self-certification is the failure mode agentic development keeps rediscovering the hard way.

Opinion

Updated
ArticleFree to read

Proofy: a screenshot is not proof

I wrote a smoke test whose only job was to catch a missing environment variable. It substituted a default when the variable was absent, so it could not detect the one defect it existed to catch.

Understanding AI

Updated
ArticleFree to read

Voicesinmyhead: I gave every agent a voice, then stopped listening

Distinct voices genuinely solved the problem of not knowing which agent just spoke. Then I worked out that speech was the wrong surface for the message.

Opinion

Updated
ArticleFree to read

Simemu: what happens when two agents want the same simulator

Two agents, one simulator. One boots a device, the other kills it, and a screenshot captures the wrong app. Nothing errors, so you get proof of something that never happened.

How to Use AI

Updated
ArticleFree to read

Secretly: the check that declared five credentials dead. Four were fine.

A liveness audit reported five of my API tokens dead, including the one the live deploy path depends on. Four of the five were completely fine.

Understanding AI

Updated
ArticleFree to read

Deploco: exit code zero is not a deployment

I shipped an endpoint to production that was never once able to run. Everything reported success. Nothing was serving.

How to Use AI

Updated
ArticleFree to read

Hunty: research that compounds instead of restarting

Ask a question, get an answer, close the tab. The next question starts from zero, paying full price for context the last one already bought.

How to Use AI

Updated
ArticleFree to read

Proof is a file on disk

Tests pass in a commit message is a claim. A committed verdict file ending VERDICT: PASS is evidence, and the difference changed what done means in my pipeline.

How to Use AI

Updated
ArticleFree to read

Keel: everything an agent forgets between sessions

Agents are good at executing and bad at remembering. The fix is not a better prompt. It is holding the project state somewhere outside the session.

Understanding AI

Updated
ArticleFree to read

Sweech: one console for every AI coding account I run

I run several AI coding accounts across several CLIs. The problem was never capability. It was that I could not see which one had capacity, or whether the model I pinned was still real.

How to Use AI

Updated
ArticleFree to read

The people AI discourse keeps forgetting

Most AI commentary is written for founders, investors, and developers. The vast majority of people using these tools every day get left to improvise.

AI & Society

Updated
ArticleFree to read

How to build judgement while using AI heavily

A practical operating model for getting leverage from AI while keeping your own judgement intact — without becoming dependent on it for the basics.

How to Use AI

Updated
ArticleFree to read

Useful AI should make you calmer, not noisier

A signal worth using lowers your stress, clarifies a decision, or buys you time. Most of the AI in your feed does the opposite.

Opinion

Updated