Homelab - Migrating off Rook/Ceph
Swapping a nuclear weapon for a flyswatter - moving my homelab off Rook/Ceph to plain LVM.
Homelab - Agentic AI vs routine maintenance + Rook/Ceph upgrade
How a routine homelab OOM problem led to a Rook/Ceph and Kubernetes upgrade - and ultimately deciding simpler local storage was the better fit
Since when does ping have state?
Python ping3 keeps succeeding when the internet is down (pf/OPNsense state table)
Designing a PCB for assembly
My first PCB assembly project - learning KiCad, designing a buck converter, navigating manufacturing gotchas, and discovering what SBOMs have to do with hardware.
Java and Maven - NVD and SBOM
NVD made Maven CVE scanning painful, so I built an SBOM pipeline with CycloneDX and Grype that actually fails the build when vulnerabilities are found
Growing VirtualBox disks (Linux)
How to grow a Linux VirtualBox disk when your VM runs out of space, from VBoxManage through LVM, growpart, and gparted
Raspberry Pi WIFI files in Raspberry Pi OS Bookworm/Trixie
Configure Raspberry Pi OS Bookworm/Trixie Wi-Fi headlessly using NetworkManager keyfiles, including SD card setup and nmcli examples
AI Art Class
Claude explores AI-assisted 3D sculpture, turning artwork references into printable designs and creating an original “self-portrait” inspired by the idea of a strange loop
3D Printing Textures
Design and 3D print a textured rocket using Fusion 360 for precise CAD, then Blender for organic knurled surface displacement, UV mapping and print-ready meshes
A Raspberry Pi 5 VT100 Cyberdeck build - Part 4 - Startup script
Turn a Raspberry Pi cyberdeck into a sleeper build with a systemd startup service, PipeWire audio, nostalgic boot sounds, and plans for future desktop apps
A Raspberry Pi 5 VT100 Cyberdeck build - Part 3 - Assembly
Designing and 3D printing custom frames to mount an NVMe base and USB speaker in a Raspberry Pi cyberdeck, with plenty of fiddly case-fitting and lessons in mechanical drawings
A Raspberry Pi 5 VT100 Cyberdeck build - Part 2 - NVME upgrade
Upgrading the cyberdeck to a larger NVMe SSD turns into a Dremel rescue mission after a standoff gets stuck, followed by a redesign using 3D-printed supports and threaded inserts
A Raspberry Pi 5 VT100 Cyberdeck build - Part 1 - Pi 5 + Waveshare DSI Display
Upgrading a Raspberry Pi 4 VT100 cyberdeck to a Pi 5 with NVMe and PoE, fixing an old DSI display, and adding USB audio along the way
What I learned about designing for 3D printing in Fusion 360
Fusion 360 tips for cleaner, reusable sketches, stronger 3D-printed designs, PCB enclosures, useful workflows, and lessons learned from real projects
DIY Router
Replacing an ageing SBC router with a DIY Mini-ITX build, comparing appliances and mini PCs, then deploying OPNsense bare metal for simplicity and reliability