JR · @dniminenn
I build things that have to be measurably correct.
Notes on precision timing, audio, embedded systems, and debugging by measurement. Most of these started as an idle question and ran further than they had any right to.
Precision timing
GPS-disciplined clocks, NTP and PTP, nanosecond budgets, and proving a clock is honest.
Audio, end to end
Bit-perfect playback paths, DSP, LED visualizers, and chasing latency you can hear.
Embedded systems
ESP32, RP2040, and the firmware that has to keep running when the network does not.
Systems debugging
Reading the kernel, tracing the wire, measuring instead of guessing.
Selected writing
The Ampere kernels were in the DLL the whole time
NVIDIA's DLSS Frame Generation refuses RTX 30-series cards. Since the 310 runtime that refusal is policy, not hardware. On Linux every layer between the runtime and the GPU is open, so I fixed the layers instead of the DLL. One evening, eleven game launches, and the 3080 was generating frames.
VictoriaMetrics already had downsampling, under another name
Downsampling is an enterprise feature in VictoriaMetrics. The open-source binary already keeps the last sample per interval during merges and calls it deduplication. Make the interval depend on the sample's age and you have tiers. The patch is 213 lines and has applied cleanly to five releases.
Relaying a self-hosted mail server through Cloudflare
A personal mail server can receive on its own, but sending needs a relay with a reputation. Mine was rewriting my links and adding tracking pixels. Cloudflare now sells a plain SMTP relay on the five-dollar Workers plan, and the cutover is one token, six postconf lines, and a bounce domain Cloudflare maintains for you.
Swapping a live router in 50 milliseconds
Two VyOS VMs with identical MACs, a bridge with no ports, host-side tap moves, a seeded DHCP lease, and a dead-man switch. How a home router gets cut to a new release while the house sleeps.