For the last two years, here at N6OL I’ve been running some custom powerline QRM monitoring software.  If you’ve read my old blog posts you’ve probably seen screen shots or references to the monitor or the charts it produces.

I’m pleased to say that with the help of Claude Code, I’ve finally had a chance to sit down and refactor the code into something less hackish, better organized, better documented, and generally possible for someone other than myself to be able to use.  (The original was kind of held together with duct tape and chewing gum, was all just one gigantic hacked-together single class monstrosity that sort of evolved over time into something that basically worked but was inelegant and below my standards.)

The project can be found at https://github.com/spatula75/n6ol-powerline-qrm-monitor

Setting it up requires some command-line work, configuration file editing, and familiarity with Python basics, all of which is covered in the README.md file.  So make sure you follow along in the README if you want to be successful.

And before anyone is tempted to say “HURRR DURRR VIBE CODING SLOP DERP DERP DERP” just don’t.  This code was primarily already written by hand, by me, starting back in 2024, and was originally expected to be just some throwaway script that I’d stop running as soon as PG&E finally fixed their crap.  I wasn’t expecting to still be here, two years later, with PG&E having done next-to-nothing to solve their FCC-regulation-violating behavior.  What Claude Code mostly did for me was a guided refactor into modules and classes, and then I got it to also write two small scripts to help with setup.  Other than that, the code is mostly original, human-produced code, with many hours of trial and error behind it.

The code has been tested and verified on a Windows environment, but conceptually should work on Linux, MacOS, and FreeBSD without much ado. You’re on your own if you want to use it in one of those environments, but I will gratefully accept PRs if you need to tweak something to get it working for one of those operating systems.  Just make sure you add tests where applicable so the code coverage doesn’t drop.