Notes from the workbench — infrastructure, tooling, and the occasional thing built because it should exist.

Latest articles
Virtualization · Field notes

The deployer didn't need porting. Two files did.

A tool that builds golden images and clones them into working VMs was written against vCenter, then forked for bare ESXi. Moving it to Proxmox looked like the expensive one — new vendor, new API, new vocabulary — and turned out to be two files, because Proxmox has a real cloud-init datasource and that deleted the most intricate code in the project. What actually cost time was underneath the API: a default CPU model that panics glibc on Enterprise Linux — at one baseline for EL9 and a different one for EL10, so the fix I set once was wrong within the afternoon — offline image edits that land with no SELinux label, and a clone that is instant until one innocuous dropdown makes it expensive.

Read the article
Apple Silicon · Linux environments

WSL-class Linux on a Mac, assembled from parts Apple already shipped

macOS is a Unix, but it stopped being close enough the moment your production target became a Linux container. AppBox turns Apple's container tool into named, persistent Linux machines that boot systemd, share your home directory at the same path, and arrive with the thirty-odd command-line tools a base image forgot — all from an icon by the clock. If lxc launch is muscle memory, this is that reflex, on the laptop.

Read the article
Homelab infrastructure · DDI

DNS, DHCP and IPAM without the enterprise price tag

Every network answers three questions constantly: what is this machine called, what address does it get, and who is supposed to be using it. The enterprise world sells appliances for that; everyone else has a hosts file, a router tab, and a spreadsheet that was accurate in March. This is how two small self-hosted tools — Nexus IPAM and DNSMAQ-MGR — grow into most of what an Infoblox-class DDI suite does, and how a VM deployer on top turns the address plan into one-click provisioning.

Read the article
Reverse engineering · Field notes

The switch that had no API

A 25-gigabit QNAP switch with an excellent chassis and a miserable management story: a sluggish web GUI, no SSH, no Telnet, and not a page of documentation. But a web UI is just a program talking to the switch over the network — so I read its minified JavaScript, and one regex mapped the whole hidden REST API: 126 endpoints, before making a single call. This is how that turned into qsw.py, a tool that manages the switch from a text file instead of a spinner.

Read the article
Linux · Audio · Field notes

Three bugs deep: internal speakers on the ASUS ProArt PX13 under Linux

The ASUS ProArt PX13 (HN7306, "Strix Halo") plays audio over HDMI out of the box, but its internal speakers are dead silent — PipeWire shows only a "Dummy Output". Real, persistent sound turned out to require peeling back three independent bugs stacked on top of each other: a calibration firmware blob that ships only in ASUS's Windows driver, a missing (and separately broken) ALSA UCM profile, and an AMD ACP/SoundWire controller that doesn't survive boot or suspend/resume. A root-cause tour of each layer, and the fix for it.

Read the article