root@labs:~$ make something
What we build, and what we think about it.
Projects are the technical record: what we built, how, what we'd do differently. The blog is everything else, posted when there's something worth saying.
root@labs:~$ ./status.sh
✓ site rebuilt and online
recent-entries
LOG-007
synology
The Synology (RS815+)
Years of runtime, relearned every time DSM changes.
● active
LOG-006
media-server
Home Media Server
A NAS, a media server, and an automation stack that never really finishes.
● active
LOG-005
homelab
Rebuilding rootlabs.us
New AWS home, Caddy, PHP, WordPress, and the redesign you're looking at.
● active
LOG-004
3d-printing
The print lab
FDM and resin printing: functional parts, jigs, and beautiful failures.
○ ongoing
LOG-003
electronics
Smart home, the hard way
Automating the house one stubborn device at a time.
○ ongoing
readme
Root Labs is where the fun stuff goes. A lab for after-hours engineering: homelab, 3D printing, electronics, software, and whatever we get our hands on next. No clients, no tickets, no invoices. Projects, experiments, and honest write-ups of both.
blog --latest
2026-08-25
meta
LOG-008: Two colors that only unlock if you turn on 2FA Silver and gold accent colors, unlocked only by turning on two-factor authentication -- why gating a color behind account security…
read →
2026-08-25
meta
LOG-007: A comment that said the bug was already fixed A CSS comment claimed the forum row's floats were cleared. Nothing actually cleared them, and the only way that surfaced…
read →
2026-08-25
meta
LOG-006: An XP system for the forums, and the page it took over A karma system for the forums -- five ranks, silver and gold locked behind two-factor instead of rank -- and…
read →
2026-08-25
meta
LOG-005: The login loop that was three undefined cookie paths deep Logging in worked. Everything after it didn't -- a WordPress cookie-scoping fallback nobody had configured, and why it looked like…
read →
2026-08-25
homelab
LOG-004: A .env file was reachable in public, because of one anchored path A Caddy rule meant to block every dotfile on the site only ever blocked the one at the root. What…
read →