Blog
Whatever's worth writing down — IT work, homelab projects, radio, and life around Zion, IL.
-
September 9, 2026
A weekly workday at the church, an emergency trip to Precision Roofing in Beach Park to bring a down server back online, an evening video session at Upload Partners, and expanding my credential manager so it can safely create and update credentials, not just read them.
-
September 8, 2026
A delivery-day shift at Ace Hardware, hauling an old mattress out of the guest room with a friend's help, and finishing the Eleventy migration plus a green-on-black CRT redesign for this site.
-
September 7, 2026
A relaxed Labor Day with my wife, a house call to get an old co-worker back into her Facebook account, yard work, an evening with friends, and closing out Windows transcode support plus a root-caused fix for OmniBridge's NDI source discovery.
-
September 5, 2026
A well-rounded day: a morning shift at Ace Hardware, an evening picnic with my church small group, and another coding session shipping a real fix to OmniBridge's video pipeline.
-
September 3, 2026
A quieter day after a stretch of late-night network debugging: a shift at Ace Hardware, an afternoon reconnecting apps at American Laser Mark after their QuickBooks Online migration, and a ride to help a friend get to a job interview.
-
September 2, 2026
Closed the mlvpn-rs mystery for good -- every layer it controls proven clean -- then traced the real bottleneck to a BGP peering session routing my own traffic 900 miles out of its way, and fixed it live on a real production router. Two smaller unrelated infra bugs found along the way, plus a volunteer day at church with some real decisions on the table.
-
September 1, 2026
Four more mlvpn-rs releases, a fix that honestly didn't help, a rollback caught as a false alarm just in time, and — after a side-by-side WireGuard comparison and a homemade packet-capture correlation tool — finally proving that a real ~23% of packets are vanishing between my two routers, invisible to every counter mlvpn-rs keeps on itself. Plus a first day back at the hardware store.
-
August 29–31, 2026
Closed out a months-old mlvpn-rs mystery — real-world loss that turned out to be pure delay from a reorder-buffer bug, not loss at all — shipped a new primary-link failover mode live on my own production routers, caught a real performance bug with live process tracing that isn't fully fixed yet, and started a new part-time job at the local Ace Hardware.
-
August 28, 2026
Moved the cloud side of my BGP setup to a new, unmetered 10G VPS and rebuilt the tunnel back to the home office, catching two real infrastructure bugs along the way. Root-caused a long-standing mlvpn-rs throughput mystery all the way to an ISP traffic policer. Plus a quick PC repair at the local Ace Hardware.
-
August 27, 2026
A long push on mlvpn-rs — support-ticket diagnostics, and finally fixing a tunnel-speed bug that's quietly capped throughput since the feature was first built — turned up a real production data-loss bug along the way in a completely separate service. Then a second self-inflicted outage, this time on my own dev box. Smaller: a real GitLab CI runner now exists to build installable OmniBridge ISOs.
-
August 15–26, 2026
A full Peplink InControl2 integration for OmniBridge built out over two days, then a brand-new support/diagnostics-report system built from scratch, a real customer bug root-caused and fixed against their own live data, and a production outage I caused myself while chasing down wasted disk space the wrong way.
-
August 15, 2026
SRT Matrix is now OmniBridge — a real, full external rebrand, not just a find-replace — followed by a customer-facing crash on Windows, a second crash on Linux that took two releases to actually fix, the same licensing bug caught on two different accounts, and a real rebuild of the marketing site's comparison and roadmap pages, including catching my own inaccurate pricing claim before it shipped.
-
August 7–10, 2026
A boot-race bug that killed every SRT Matrix source for a whole weekend undetected, a batch of silent-failure logging fixes chased down during a live incident, a new on-air "no signal" slate feature, two real bugs blocking OBS SRT Toolkit's SRT Output from ever sending data, and a rebuilt jpps/wiki with GitLab-style namespaced URLs.
-
August 6, 2026
A physical with a 96-pound Zepbound milestone, helping an old friend onto Zorin OS, an auto shop rescue, swapping in a fresh FreePBX 17 box for a corrupted one at Fedler Studio, and closing out the proxy work with a browser-based tmux terminal.
-
August 5, 2026
Tracked a rust-proxy login bug down to HTTP/2 splitting the Cookie header into pieces the upstream never reassembled -- reproducible only in real browsers, via a headless Chromium and a raw TCP byte capture. Then a church workday getting BitFocus Companion talking to Vista DMX and Hubitat, and Bridging the Gap with Lisa.
-
August 4, 2026
A friend's retirement party after church on Sunday, then a stretch of days turning rust-proxy from a working prototype into something closer to a real product: a real production cert bug fixed, a tabbed admin UI, reusable named ACLs replacing per-host access fields, standalone wildcard certificate issuance, and logging split three ways with a real admin audit trail.
-
July 29, 2026
A second generator outage brought the first oil change in four years and 200+ hours, ComEd's estimate crept out to 11 PM the next night before power beat it back on, and SRT Matrix picked up a privacy writeup, a tray-icon double-tab fix, and the start of a source/destination naming pass.
-
July 28, 2026
Still running on generator power days after the outage, a phone system at Ace Hardware in Zion that couldn't send or receive audio thanks to a misrouted network interface and a dying UPS, and closing out a batch of SRT Matrix pricing work plus a real drag-and-drop bug fix.
-
July 27, 2026
A new Setup/Operate split for SRT Matrix with a real drag-and-drop thumbnail view, a generator that ran out of gas mid-session — twice — and tracking down why release builds were quietly failing across five different projects, down to a Cloudflare-tunnel bottleneck and a CI secret that had silently lost its trailing newline.
-
July 25, 2026
Wedding tech at Great Lakes Church at noon, then a full rebrand of the JPPS web presence — pulling jpps.us off paid hosting and, along with this site, onto our own infrastructure, restyling the store, building a shared brand-assets host — with a Space Jam movie night for GLC Kids wedged in the middle, and the rebrand work picked back up well past midnight.