Blog
Whatever's worth writing down — IT work, homelab projects, radio, and life around Zion, IL.
-
October 25–26, 2026
My wife and I went as crayons to the kids' costume party at church, I worked a shift at Ace, built a small phone app that lets my phone past my server's address locks while I'm away, and kept working on the reading-cue app and the class video splitter.
-
October 23, 2026
An Upload Partners session, which doubled as the reading-cue app's first try on a real live class, with fixes made the same evening, a plan for a tool that splits class recordings into lessons, new controls in OmniBridge, and a couple of GitLab problems.
-
October 22, 2026
A morning at Ace Hardware, an afternoon taking over a recording session already in progress and rendering the videos, and behind the scenes a full round of updates on every server, a GitLab upgrade, a hosted UniFi server for MathewsNetwork, a revived ham radio hotspot, and more work on the reading-cue app.
-
October 20–21, 2026
A catch-up post covering network setup for Pipe Doctor in New York, a packed day of two Upload Partners productions and a church workday, real fixes to OmniBridge, and a favor for a friend -- a small app that listens during a Zoom call and tracks which page a book is on just from hearing it said aloud.
-
October 19, 2026
An Ace Hardware shift, an unplanned evening session at Upload Partners, a real outage that finally pushed me to move my cloud router to a new host, two real bugs caught during an overnight OmniBridge stress test, and a small fix to my own credential-manager tool.
-
October 16, 2026
A relaxing day with just a couple of small code fixes -- rebuilding how my VPN software decides a problem is worth a support ticket, and giving myself a proper way to read and reply to support tickets without logging into the admin panel every time.
-
October 15, 2026
An Ace Hardware shift, finishing security work so my login certificates can only come from my own organization, adding a way to block unwanted traffic by address or by whole provider networks, renaming the product to RustProxy with fresh documentation, and a small fix to stop my VPN software from filing duplicate alerts.
-
October 14, 2026
A church workday, growth group with my wife, a real reorganization of every site I run onto its own dedicated internet address, a ham-radio compliance problem I caught before my main site ever touched that address, and a real license for rust-proxy plus a hotspot theme fix.
-
October 13, 2026
A 01:03 call to help a friend get home safely, a longer Ace Hardware shift than planned, a real security fix to how my business website sends mail, a printing bug, a retainer repricing, and a quieter, more accurate alarm system for my VPN software.
-
October 12, 2026
An Ace Hardware shift, a letter to Zogo's Sports Grill & Video Gaming about a router the manufacturer no longer supports, visiting friends with my wife, and a big infrastructure day — rust-proxy now manages our entire block of internet addresses directly, with a new feature to host customer servers on it.
-
October 9–11, 2026
A small fix to the card logos on my fee calculator right after last post went up, an Ace Hardware shift, and a day off with no projects at all.
-
October 8, 2026
An Ace Hardware shift, a day spent writing real documentation for nearly every project I maintain, renaming the store music appliance to Continuo with a real license and price, starting a fax-sender rewrite, an OmniBridge release, and a batch of real improvements to the store website that handles customer licenses.
-
October 7, 2026
A studio session at Upload Partners, a slow-internet mystery chased down to a real fix (7 Mbps up to 303), a new setup that asks several AI models for a second opinion before I act on anything big, and a batch of OmniBridge fixes for problems that actually show up during a live broadcast.
-
September 30 – October 6, 2026
A week without a post, all of it project work — a real Bitfocus Companion plug-in for StoreCast, a church-laptop StoreCast deployment, five more music sources including Spotify's desktop app, and a full week spent making my home VPN faster, more reliable, and easier to monitor.
-
September 29, 2026
A quiet delivery-day shift at Ace Hardware, finishing up a friend's car door lock repair, grocery shopping with my wife, and a big day on StoreCast — curated playlists, admin-facing support tooling, and turning it into a real bootable installer ISO.
-
September 28, 2026
No personal updates today, just a long coding push — StoreCast (the music appliance for Ace's store and phone system) went from a scaffolded repo through a full audio engine, a daemon and API, a web UI, and a real YouTube Music browser source with a live sign-in flow and a SonoBus output, in a single day.
-
September 26, 2026
An Ace shift and a printer-and-email visit to Fedler Studio, then a long stretch of project work — a JPPS-branded FreePBX theme shipped, three dead Kasm connection proxies revived after months, a Google black hole traced to my VPN path, and a full design and build plan for StoreCast, a music appliance for the store.
-
September 25, 2026
An Ace Hardware shift, more FastManager/QuickBooks troubleshooting for American Laser Mark, a salvage-yard run for a car part, and the email that made it official — Jeff Parrish PC Services is now a real LLC — followed by an afternoon getting that name into every live site, legal doc, and package across the whole project fleet.
-
September 24, 2026
An Ace Hardware shift, digging into a FastManager-to-QuickBooks Online sales tax sync issue for American Laser Mark, a printer that swore it had a jam it didn't, and a real bug found while chasing why home-bgp's automatic loss alerts had gone quiet — every automated diagnostic report had been silently rejected since the feature was built.
-
September 23, 2026
A Wednesday workday spent building out a FreeShow laptop as a possible Playlister replacement, setting up WordWall.net wheel spinners for Sunday games, an evening recording session at Upload Partners, and a fix that moves store/wiki/pki's admin logins onto their own web address so regular visitors never get asked for a certificate.
-
September 22, 2026
A delivery-day shift at Ace with an alarm sensor fixed along the way, a car-door teardown for a friend that ended in a stripped screw and a shop referral, and an afternoon patching a security hole across nearly every project I maintain — plus two more iPhone fixes for TrustBridge's login certificates.
-
September 21, 2026
A friend rescue in the middle of the night, a DIY sewer-line fix that saved a few hundred dollars, and a long stretch building my own certificate authority and a certificate-based login system — TrustBridge, rust-proxy, store, and wiki all wired together — from scratch in a single day.
-
September 10–20, 2026
A week and a half without a post while I was heads-down on real work — rewriting mlvpn-rs's transport around per-link WireGuard, shipping FEC and MTU negotiation, a real production outage on my own BGP routers, and hardening the legal side of the OmniBridge store.
-
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 in one night, a fix that honestly didn't help, a rollback caught as a false alarm just in time, and — after comparing it side by side with WireGuard and building a tool to track individual packets — finally proving that about 23% of my data is vanishing between my two routers, invisible to everything mlvpn-rs normally tracks. Plus a first day back at the hardware store.
-
August 29–31, 2026
I finally closed out a months-old mlvpn-rs mystery — what looked like lost data was actually just delay from a bug in how packets get put back in order. I shipped a new way to run the tunnel on one link with automatic backup, live on my own real routers. I caught a real slowdown by watching the program run, which isn't fully fixed yet. And I started a new part-time job at the local Ace Hardware.
-
August 28, 2026
I moved the cloud side of my network setup to a new, faster server and rebuilt the connection back to my home office, catching two real bugs along the way. Then I finally figured out why mlvpn-rs had been running slow for months — the cause was my own internet provider, not a bug in my code. Plus a quick PC repair at the local Ace Hardware.
-
August 27, 2026
I gave mlvpn-rs a way to file support tickets on its own, and fixed a long-standing bug that was quietly capping its speed. That work turned up a real data-loss bug in a different service, I locked myself out of my own dev machine a second time, and I got a build machine working for installable OmniBridge discs.
-
August 15–26, 2026
A full Peplink router-monitoring integration for OmniBridge built out over two days, then a brand-new support-ticket system built from scratch, a real customer bug root-caused and fixed against their own live router, 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 startup bug that killed every SRT Matrix source for a whole weekend without anyone noticing, 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 output from ever sending video, and a rebuilt jpps/wiki with cleaner 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 login bug down to real browsers splitting login data into pieces our server never reassembled -- reproducible only in an actual browser, never in a scripted test. Then a church workday automating the lighting and game-room systems, 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 certificate bug fixed, a much better admin screen, reusable access lists instead of retyping settings on every site, free wildcard certificates without needing a placeholder site, and logs split into something you can actually search.
-
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 uploads were quietly failing across five different projects, down to a bad network path and a saved key that had lost a line break.
-
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.