-
Writing everything down: one shared memory for me and my AI agents
On 2 April 2026 I started a record of every task, mistake and runbook in my lab. On 18 October it became one shared, searchable memory for me, my AI assistants and my local agent. What it meant to work with AI in the open record.
-
My website stopped describing the lab and started showing it
In April 2026 every number on my site was typed by hand and stale within hours. On 14 October a redesign went live that is built around live evidence from the lab: library size, sealed reports, running pods. Why a portfolio should show, not describe.
-
From log files to signed dossiers: how my threat-intel pages began
In April 2026 my threat reports were sections of one HTML page. By November a job re-signs 810 of them every six hours. How publishing grew from a Saturday's work to a signed archive, and why its most important page is a correction.
-
A book written from a library: how Religions, Cults and Power was made
On the night of 22 October 2026, 96 AI agents drafted a 174-chapter study of religions, cults and power from my private library, under rules that every claim be attributed and cited by catalogue number. How it was made, checked and published with a DOI.
-
Four agents, four lessons: how my local AI agent grew up
I built four AI agents on one home server in seven months. Each failed in a new way: code that was not running, reports that said all clear, tasks closed with no work, a deleted home folder. Each failure moved trust out of the model.
-
After the wipe: six habits that changed how I run my home lab
A test deleted my home folder in ten seconds. Recovery took two days; the habits it left took longer. Freeze before you fix, reboot on purpose, back up the boring files hourly, commit everything, and give agents their own user.
-
Letting my AI agent act: autonomy with guardrails, a work in progress
After an AI test wiped my home folder, my agent could only propose. On 11 October I let it act alone on one reversible action, behind a deny list, an allow list, dry runs and a typed second opinion. The design, the first run, and my own mistake.
-
One machine, everything: what I would do differently, and what's next
One workstation runs my whole lab: Kubernetes, a 120,000-work library, honeypots, local AI. Seven months of records hold 253 mistakes. What one machine gave me, what it cost, what I would do from day one, and what comes next.
-
From watching to answering: when my home lab began to defend itself
In April 2026 my lab blocked a hostile probe by itself in under 60 seconds. Then I learned how little of that protection was mine, and how automated defence can fail silently or hurt its own network.
-
When my datasets started talking, the loudest link was my RSS feed
In May 2026 a linker joined my lab's separate security datasets into one graph. On 8 July its strongest cross-layer link turned out to be an RSS reader polling my own blog. 1,885 pairs became 6, and I learned to ask what chance would give.
-
Typed risk annotations for 455 MCP tools
A name-based guess marked 40 mutating MCP tools as read-only. I replaced it with a server-side read/write/critical table published as MCP annotations, with argument-dependent flags and a build gate.
-
One docker rm -f took down my whole k3s cluster
Freeing a busy port with docker rm -f by filter removed the external Postgres that holds my k3s cluster state: about 20 minutes of total outage. How k3s datastores work, why recovery was quick, and the guard rails I added.