OpenVAS results page showing the first scan's findings by severity

Running OpenVAS in My Home Lab — Install, the Three Things That Broke, and the First Scan

I wanted a real vulnerability scanner in the lab — something that port-scans a host, throws a big pile of network vulnerability tests at it, and tells me what to fix by severity. OpenVAS (now Greenbone Community Edition) is the obvious choice, and it ships as a Docker stack. This is the honest write-up: the install, the three separate things that broke, one of which was my own fault, and what the scanner actually found when I pointed it at my own box. Nothing here is polished — I got a couple of things wrong along the way and I’m leaving those in, because that’s where the useful bits are. ...

22 July 2026 · 11 min
Command Quest main menu — an ASCII logo and a colourful terminal game menu

Command Quest — I Got Claude to Build Me a Linux CLI Practice Game

I’m not a programmer, and I’m not trying to be one. But the development of new AI models has let me learn concepts that were once too complicated for me to get on my own. As you know, I use Linux a lot — but I still wanted to properly upskill in the command line. So instead of just following a document and re-typing commands in another terminal window, I thought: why not get Claude to build me an interactive game — a Linux CLI practice terminal — that actually lets me learn and memorise the commands? ...

21 July 2026 · 4 min
RAINBOW MATRIX cover — the post title in rainbow monospace over falling matrix rain on black

I Hardened This VM by Hand. Lynis Scored It 68/100.

A while back I hardened this Debian VM by hand — patched it, cut the attack surface, put a default-deny host firewall in front of it, sandboxed the custom services. I audited my own box and fixed the drift I found. The problem with auditing your own box is that you grade your own homework. You check the things you already think to check. So this time I handed the job to something that has no idea what I meant to do and only reports what’s actually there: Lynis, the system-auditing tool from CISOfy. It ran 274 tests and gave the VM a hardening index of 68 / 100. ...

20 July 2026 · 7 min
Grafana Explore showing pfSense firewall logs flowing through Loki, with a log-volume chart above

Building a Homelab SIEM with Loki — Reading My Logs Instead of Hoping

I had dashboards showing me numbers — CPU, memory, network throughput. What I didn’t have was any way to answer “what actually happened?” When did someone try to log in? What did the firewall block? Those answers live in logs, and my logs were scattered across machines, unread. This post is how I pulled them into one searchable place. That’s a SIEM — Security Information and Event Management — and you can build a simple one at home. ...

19 July 2026 · 7 min
Obsidian with the Claudian sidebar open — Claude reformatting a SIEM runbook with tool calls visible

Claudian: A Claude Agent Inside My Obsidian Vault

My study notes live in Obsidian. My agent lives in a terminal. For a month those were two separate worlds: when I wanted Claude to clean up the vault, I drove Claude Code at it from outside — point the CLI at the folder, describe the job, check the result in Obsidian afterwards. Claudian collapses that into one window. It’s an open-source community plugin that embeds Claude Code inside Obsidian as a sidebar — the vault becomes the agent’s working directory, and the agent becomes part of the note-taking app. ...

18 July 2026 · 4 min
RAINBOW MATRIX cover — the post title in rainbow monospace over falling matrix rain on black

Metrics You Have to Remember to Look At Aren't Monitoring

I’d had Grafana dashboards for months. What I didn’t have was anything that told me when something broke — I had to remember to look. This is the alerting layer that fixes that, built on top of the existing Prometheus stack, plus the three things that got in the way. Stack: Prometheus · Alertmanager · ntfy · Docker 1. The gap I’d been ignoring My lab had a healthy observability stack: Prometheus scraping metrics, node_exporter for the host, snmp_exporter pulling throughput off pfSense, all drawn in Grafana. It looked complete. ...

18 July 2026 · 12 min
RAINBOW MATRIX cover — the post title in rainbow monospace over falling matrix rain on black

A Backup You Haven't Restored Is a Hypothesis

The identity provider quietly became load-bearing and had no backup. Building one taught me more about database internals than building the identity provider did. Stack: Bash · Postgres · SQLite · age · cron · OneDrive 1. Purpose The identity provider started as a nice-to-have. Single sign-on for a dashboard — pleasant, not critical. Then it took over the firewall’s login. That’s the moment the risk profile changed, and it changed without any decision being made about it. Nobody sat down and said “let’s make the firewall depend on this container.” It happened one integration at a time, and the dependency graph grew quietly underneath. ...

16 July 2026 · 9 min