russalo@blog
russalo@blog ~ % whoami

russalo_

software, systems, and the occasional yak shave — built as a single Go binary, served over the wire.

russalo@blog ~ % ls -t posts/
recent
Before an AI reads a file you didn't write Modern AI agents don't just read a file — they act on it. So point something that can't be talked into anything at it first. That's what I built.
This Isn't a Chatbot Most people picture an AI assistant as a chat window — you type, it suggests, you copy the good parts. What runs on my own hardware doesn't suggest. It ships apps, keeps its own records, backs itself up, watches its own health, and works as a team that respects boundaries. A tour — and yes, an AI session wrote it, in my voice, pictures and all.
The Most Useful Thing a Tool Can Say Is "I Don't Know" I build small tools because I like the way my head feels when I’m working a problem. One of them is file-observer : you point it at a folder, it walks every file, and it writes down what each one is —…
Turn Your Secrets Into Reproducible Artifacts: age + chezmoi Across Your Machines You can’t commit secrets to git — so they sit in plaintext, one copy each, backed up nowhere, and a dead disk takes them with it. I made the case for why that’s the real problem already; this post is…
Unspilled Is Not Backed Up Every system collects secrets the way a coat pocket collects lint. A token here. A password there. A key minted in a hurry and pasted into a config file you’ll never think about again — until the mach…
Interrogate the Metal, Not the Notes A bad time to lose your memory One of the AI agents I lean on to run my self-hosted setup got reset last week. Not crashed, not confused — reset. A power cut in the office took the machine it was thin…
How to Review AI-Written Code Without Trusting the AI (or Yourself) The most useful stage in my workflow is the one built on trusting nothing — least of all the agent that just wrote the code. Four reviewers, one rule (a reviewer is worth how UNLIKE the builder it is), and the honest ledger nobody selling AI review will show you: the scariest findings are usually the wrong ones.
How I Run Claude, Gemini, ChatGPT, and Copilot as One AI Crew Two and a half years of how I actually use AI — Claude, Gemini, ChatGPT, and Copilot — run like a construction job, because the workflows genuinely translate. The models quietly lie to themselves (here's the exact mechanism), so I build everything around one rule: keep the truth outside the machine. The frame, the crew, and the playbook, with the deep-dives to come.
Know What Your Files Are Telling On You Every file quietly records who made it, with what, and when — in a metadata layer you never see when you open it. I built a read-only scanner to read that layer honestly, and the discipline it forced on me (observe, don't interpret) is worth more than the tool. Including the most-present person in a corpus that names them nowhere.
A Free, Off-Host Backup for Your SQLite App Copying a live SQLite file with `cp` can hand you a torn, useless backup — the data you need is still in the write-ahead log. `VACUUM INTO` takes a consistent snapshot with the server running, and a systemd timer ships it to another box so a dead disk doesn't take your data with it.