/projects

Small, opinionated tools I keep around. Most are private — what's here is what I'd be willing to defend in a code review. If the link is missing, it's because the repo is on a private mirror; happy to grant read access to anyone who actually wants to use the thing.

Active

gomon
Tiny Go process monitor. Reads /proc, prints a single line per process per second, no curses, no dashboard. About 800 lines. Used in the homelab as a top replacement for tmux windows. Status: stable, occasional patches. Mentioned in the post.
pcap-stream
A Go library for parsing tcpdump pcaps without loading them into RAM. Designed for the 5-GB-pcap case. Status: works on my captures, explodes on yours. Not public yet. See /now for current state.
latnice
A 50-line CLI wrapper around sched_setattr(2) for SCHED_FLAG_LATENCY_NICE. Useful on 6.7+ kernels. Status: scratch-my-own-itch. May go public after the EEVDF follow-up post.
dot
My dotfiles. chezmoi-managed, NixOS-aware, includes the Neovim config from /uses. Status: public eventually. Need to scrub a few hard-coded paths first.

Dormant (but still alive)

rttd
A small bpftrace-based daemon that exports per-flow RTT histograms as Prometheus metrics. Replaced internally by the eBPF program described in the ringbuf post. Kept working because I can't bring myself to delete a thing that works.
pgplanq
A small tool that asks Postgres "show me your last 100 plans, with parameters substituted". Predates pg_stat_statements having that ability; mostly historical now.
tinywire
A toy BGP speaker in ~600 lines of Go. Featured as a draft in the feed; will probably never leave draft. The point was to read enough RFC 4271 to understand my home router, not to ship.

Retired

  • flapd — a route-flap detector for a small ISP I was helping in 2017. Solved its problem, was replaced by FRR.
  • logsize — a tool for predicting log volume from a sampled hour. Lived for two months before Loki made it pointless.
  • p99x — a percentile-aware load tester. Three users, including me, all of whom moved to wrk2. Fair.

Contributions I'm quietly proud of

  • A patch to iovisor/bcc fixing a sample-loss accounting bug in 2022. Three lines.
  • A doc fix in the Postgres manual for autovacuum_vacuum_insert_threshold, after I confused myself once too many times.
  • A small typo in linux/Documentation/scheduler/. It still feels important.

See also: /uses (the tools these are built with) · /archive (posts these came out of) · /contact (asking for repo access).

Last edited: a couple of weeks ago. Updated when I moved latnice from "scratch idea" to "scratch-my-own-itch".