Maintained Go packages live in the cavaliergopher organisation. Everything else, including the archive, is on my personal account, cavaliercoder.

Go

grab

A download manager package for Go. Monitors progress concurrently, resumes interrupted transfers and validates downloads against checksums.

Used by aptly, VirusTotal’s CLI and Rancher’s elemental-cli, among roughly 475 public packages. I wrote about the design in Downloading large files in Go.

rpm

A Go implementation of the RPM file format — read package metadata, signatures and payloads without shelling out to rpm.

cpio

CPIO readers and writers for Go, in the style of archive/tar.

xflags

Expressive command line flags for Go, with subcommands and struct binding.

badio

Extensions to Go’s testing/iotest package, for provoking I/O failures that are otherwise hard to reproduce in tests.

Systems and tools

y10k

Declarative management of Yum package mirrors.

vpc-free

Finds unallocated IP address blocks across AWS VPCs and subnets.

dmidecode-osx

A native port of dmidecode to macOS. See dmidecode for Apple OS X.

rpi_export

A Prometheus exporter for Raspberry Pi hardware metrics.

Emulation

go-m68k

A Motorola 68000 emulator written in Go, and the CPU core behind an experimental Sega Genesis emulator.

Monitoring

I maintained a number of Zabbix modules and tools over the years, including libzbxpgsql, g2z and mib2zabbix. They’re listed separately in Zabbix tools I’ve written.