Retired programmer who still codes because I enjoy solving problems. I spent a few decades working with web technologies, databases, programming languages, and servers, and I still enjoy learning how things work and figuring out how to make them work better.
These days, most of my coding is practical: if something is annoying, repetitive, unreliable, or missing a useful feature, I build a tool to fix it.
- Python tools for managing and analyzing my Jellyfin media collection
- Scripts for detecting media and metadata problems
- Windows automation and batch-file tooling
- Docker and self-hosted services on my PC and Raspberry Pi
- Network services including AdGuard Home and Unbound
A Python tool for evaluating media-library quality, metadata completeness, and structural consistency.
A Windows batch-file linter designed to catch common scripting problems before they become bugs.
Current: Python β’ Batch β’ FFmpeg/ffprobe β’ Docker β’ Raspberry Pi β’ DietPi β’ AdGuard Home β’ Unbound β’ SQLite β’ Windows β’ Linux
Background: HTML β’ CSS β’ JavaScript β’ PHP β’ Apache β’ MySQL β’ Microsoft SQL Server β’ Bootstrap β’ jQuery
I still enjoy old technology, learning new technology, science fiction, mysteries, and westerns. I also have a weakness for clever comedy, wuxia and cultivation stories, and anime that turns out to have more going on than expected.

