Projects

Small, tested tools for the operational problems that keep recurring. Each one ships with the reasoning behind its design, the tradeoffs it accepts, and the limitations it has not solved.

Filter

Systemd Evidence Collector

A pair of service-state read-only tools for a failed systemd service. One captures a private evidence bundle with a manifest and a per-command outcome record. The other reads that bundle and writes a review report that states what was observed and leaves the conclusion to a person.

Service-State Read-Only Synthetic Fixtures No Python Packages

Alert Mail Dispatcher: Delivered, or Still on Disk

A small, dependency-free alert deliverer for hosts with no mail agent. Callers hand it a subject and body; it delivers to the relay via STARTTLS, and when the relay is unreachable it spools the message to disk atomically and retries on the next flush, because the moment your network is degraded is exactly the moment your alerts must not silently vanish.

Python SMTP Automation

Incident Log Merger: One Timeline From Many Clocks

The mechanical first hour of incident log review, automated: takes log files from multiple systems, normalizes their timestamps to UTC, corrects known clock drift per source, brackets a window around an anchor time, and emits one merged, time-sorted stream so a human can start reading instead of collating.

Python Linux Troubleshooting

Environment Preflight Check: Refuse to Start in a Broken World

A manifest-driven environment checker that runs before real work does: required commands exist, paths are readable or writable, variables are set, disk has room, the clock is synced. Every failure reported at once, in plain language, so a broken environment is a readable report instead of a mid-run mystery.

Bash Linux Automation

Storage Path Canary: NFS and SMB, Timed End to End

A data-path canary for NFS exports and SMB shares. It mounts, writes, reads back, verifies, deletes, and unmounts, timing every phase in milliseconds, and appends the results to a CSV history so "the share feels slow" becomes a question with a baseline instead of a vibe.

NFS SMB Bash

Configuration Snapshotter: What That File Looked Like Before

Dated, hash-manifested copies of the config files you are about to touch, taken in one command before the change window opens. Its whole purpose is the moment two weeks later when someone asks what this file looked like before, and the answer is a path instead of a shrug.

Bash Linux Automation

Shell Reliability Library: The Plumbing Every Script Rewrote

The shared reliability plumbing extracted from my monitoring scripts: dependency preflight, locking with guaranteed cleanup, temporary directories that cannot leak, structured logging, and retry with backoff. Not a framework. A library with exactly the functions its two consumers earned.

Bash Automation

Layered Connectivity Validator: Which Layer Actually Broke

A layered connectivity validator that climbs from ICMP through TCP, HTTP, and SMTP to real NFS and SMB data-path tests, counts consecutive failures per check, and emails a distribution list exactly once per incident with a recovery notice when service returns.

Bash Networking Monitoring

System Drift Reporter: What Changed Under the System Last Night

A nightly snapshot-and-diff of the things that quietly change under a running system: installed packages, enabled services, listening sockets, mounts, and the hashes of configuration files you care about. Drift gets emailed; intentional change gets blessed into a new baseline with one command.

Bash Linux Automation