Welcome to my corner of the internet. I write about technology and projects I’m working on.
Wiping the Recycle Pile: Ten Million Head Parks and a Drill
After triaging a drawer of old drives, six were headed for recycling. Five got a full zero-wipe with a serial-number guard, one got a drill, and along the way I learned what a ‘crunchy’ drive sounds like, why a USB extension cable cost me 90% of my speed, and that my half-finished wipe from two weeks ago had left data behind.
Is Wake-on-LAN Actually On? Checking Four Lenovo Tinys
My notes said the cold-spare Proxmox box was sitting in Wake-on-LAN standby. It wasn’t. Here’s how I checked Wake-on-LAN on four Lenovo ThinkCentre Tinys: what ethtool and sysfs tell you, how to find the MAC of a machine that’s off, and why the switch port’s link light is the most honest answer.
Triaging a Drawer of Old Drives: SMART, USB Enclosures and What to Keep
I worked through a pile of old laptop drives and SSDs with smartctl, one USB enclosure at a time. Five of the eleven are going to recycling, one of them actively failing, and the most useful number turned out to be how often each drive had parked its heads.
A Kernel Upgrade Took My NAS Offline: Radxa Penta SATA HAT on a Pi 5
When my Raspberry Pi 5 NAS rebooted into kernel 6.12.87, the Radxa Penta SATA HAT’s JMB585 controller failed to initialise and every disk vanished. NFS followed, and my Frigate NVR quietly stopped recording. The fix was one line in config.txt.
A 10-Inch ESP32-P4 Touch Panel as a Home Assistant Dashboard
A $67 Guition JC8012P4A1C turned into a Home Assistant wall panel with ESPHome and LVGL. The newest batch needed a patched display driver to stop a boot loop, and the touchscreen stayed dead through three drivers and two firmware tables until I unplugged it from the dock.
Two Drivers, One weewx: Adding MQTT Sensors Next to the Weather Station
weewx runs exactly one station driver. I wanted the Vevor station’s data and an indoor sensor that only exists as MQTT messages from rtl_433. weewx-metadriver runs both drivers side by side, and an old MQTT driver needed a rewrite before it would work with weewx 5 and paho-mqtt 2.
Tricking a Weather Station Into Uploading to a Raspberry Pi
A Vevor weather station that can only upload to Weather Underground, a Raspberry Pi 3 pretending to be wunderground.com on its own isolated wifi network, and weewx-interceptor catching the data. Plus the WPA2 handshake that failed nine times out of ten, and the console clock that was an hour fast.
24 Days of Nobody Noticing: A DNS Record Pinned to a DHCP Lease
My GPS-disciplined time server dropped off the network and I didn’t find out for 24 days. The cause wasn’t the hardware, and it wasn’t what I assumed twice along the way — it was a permanent DNS record aimed at an address the router was free to hand to somebody else.
Getting Fan RPM Out of a Lenovo M900 Tiny via lm-sensors
lm-sensors’ nct6683 driver silently refused to bind on a Lenovo M900 Tiny running Proxmox — no error, just no fan data. The cause was a vendor/build check in the driver tripping on this box’s EC firmware, and the fix was a one-line force=1 module param made persistent.
Turning a Home Network into Real Infrastructure
A small Proxmox cluster, a managed switch or two, some IP cameras, and Home Assistant eventually stop being a pile of gadgets and start being infrastructure. Here’s how I built observability, a live topology graph, and an AI-assisted ops layer for mine — without letting anything have unsupervised write access to the network.