the boy in the cap leaning over a network diagram spread on a table with a magnifying glass, while the robot beside him points at one box on the map — the two of them auditing the layout together

🧱 An Agent Audited My Homelab — and the Useful Part Was Telling It 'No'

I gave a second AI read access to the Git repos that define my k3s homelab. The findings were fine — the work was validating each: which to accept, which to recalibrate, and which the scanner was confidently wrong about.

the boy in the cap with a small bird perched on his shoulder, holding up a card showing a single anonymous person icon

The Third Bird Reads People, Not Pages — and Never Hits Send

Two birds already read the web for me. The third one reads people — it mines my GitHub graph for humans worth a first message and writes the opening line, but it never sends. The word that changed the whole design was ‘who’, and the trap it had to dodge is that finding people like me is exactly the easy thing embeddings do best.

the boy in the cap holding up a tablet showing a browser window with a globe on it, two small birds perched together on his shoulder

Two Birds That Read the Web for Me: One Hoards, One Scatters

I gave my second brain two agents that read the outside world and collide it against my notes. A Magpie watches my GitHub stars and only speaks when something hits live work. A Blue Jay reads a handful of RSS feeds and surfaces the distant, not-yet-relevant connection. They share a security spine — and they have deliberately opposite jobs. Here’s why the split is the whole design.

a large alarm bell ringing between the robot and the boy in the cap, with the boy holding the bell's unplugged power cord and plug in his hands

Is Anyone Knocking? A Security Pass on My Homelab

I set out to answer a simple worry — is someone trying to get into my server? — and found the scarier question underneath it: if they did, would I even know? My front door was solid. The inside had an alarm with the wires cut, a web terminal sitting on the open internet, and no floor under the blast radius. Here’s the audit, and the three things I fixed.

the boy in the cap holding up a small ordinary key, but the shadow it casts on the wall behind him is a clawed hand gripping a huge jagged sword; the robot beside him looks on

🚩 I Built a Usage Dashboard and Tripped Claude Fable 5's Safety Net

I asked Claude Fable 5 to help me self-host a dashboard for my own Claude usage. Halfway through, its dual-use safety measures flagged the conversation and downshifted me to Opus 4.8. Nothing I did was wrong — the request just had the shape of something that is. That gap, between what a thing looks like and what it’s for, turns out to be the whole story.

the little robot stands guard at a doorway like a friendly bouncer, holding up a hand to check a stack of papers, while the boy in the cap watches; a shield symbol floats above them, protective and watchful

🔒 Building a PII Guardrail Proxy for Cloud LLM Calls

A local model classifies every prompt before it leaves the cluster. If it’s sensitive, it’s blocked. If it’s clean, it goes to NVIDIA NIM. 150 lines of FastAPI, deployed on k3s.

the robot pressing an inking stamp down onto a sheet of text, blacking out several lines into redaction bars, while the boy in the cap holds the page steady and a padlock sits on the table beside them

🕵️ Privacy-Preserving LLM Pipelines: Anonymize Before You Send

Replace PII with semantically realistic fakes before sending to a cloud LLM, then restore the originals from the response. Started with a general model and prompt engineering — then upgraded to a purpose-built 1.7B fine-tune via Ollama.

the boy in the cap holding a shield marked with a no-entry symbol, blocking a spiky cube of gears and skulls from crossing into a framed panel on the right, where the robot with a wrench watches the same spiky cube become a smooth plain block

🔄 Someone kubectl apply'd a Hotfix Directly. How Do You Detect and Prevent It?

Manual kubectl in production is the Kubernetes equivalent of SSH’ing into a server and editing files. It works until it doesn’t, and when it doesn’t, nobody knows why.

the boy in the cap kneeling on a floating stone island, laying a single arched bridge across to another island; behind them a brick wall with one small gate, the robot standing on the far side, and broken bridge pieces discarded to the right

🛡️ How Do You Prevent a Compromised Pod From Calling Your Database?

Default Kubernetes is a flat network. Every pod can reach every other pod. In a cluster with ten services, that’s ten potential blast radiuses instead of one.

the boy in the cap dropping a code card into a slot in a small git-marked box, which is joined by a single hose to a larger cube marked with the git and Kubernetes symbols; the robot watches from the left

🔑 Deploy to Kubernetes Without Storing Any Cluster Credentials in CI

A common interview question in 2026. If your answer is ‘kubeconfig in a CI secret’, you’re not wrong — but you’re also not getting the job.