Open Source

My career was built on open source... standing on the shoulders of giants.

Here's a selection of my contributions back to the community.

GLAuth: a lightweight LDAP server for development, home use, or CI.

As the original author of GLAuth, it has been a real treat to see it grow into a thriving community project with 2.2k stars.

Picolytics: privacy-friendly web analytics for DevOps.

Lightweight in terms of backend and JS, privacy-friendly across the board, and easy to self-host with Docker or Kubernetes. Picolytics is the perfect web analytics solution for DevOps.

cloudprober_external_playwright: a probe to run playwright tests.

Go beyond simple HTTP status code checks by re-using your e2e tests in production.

formbricks-helm: a community helm chart for Formbricks.

Bringing the power of Formbricks' COSS survey platform to Kubernetes.

clickhouse-backup: ClickHouse backups using object storage.

I didn't write this excellent tool, but I added the 'server mode' REST API so backups can be managed over the network.

raspberian-firstboot: first boot customization for Raspberry Pi.

Provisioning solution for fleets of Raspberry Pis. The goal is for this project to go away once the default OS supports cloud-init.

neddns: authoritative DNS server backed by S3.

Distributed systems at its finest: highly-reliable, eventually-consistent, horizontally scalable DNS with some extra bells and whistles.

remotemarkdown-panel: Grafana panel to render remote markdown.

A custom Grafana panel to display remote markdown (like READMEs) on a dashboard. One step closer to a Service Catalog in Grafana.

etcfw: centrally manage linux iptables with etcd.

Proof-of-concept for managing IPtables using etcd. Obsoleted by the explosion of mesh networking solutions.

go-ldap: an RFC-compliant LDAP client/server library for Go.

I wrote the server components of this library based on the LDAP RFCs. https://github.com/mmitton wrote the client side. I think this was the first LDAP server library for Go.

edge-netdog: emergency remediation for edge devices.

Watchdog service of last-resort for edge devices that lose newtork connectivity. I have so many IoT devices that I wish used this approach.

nanostill: limited clone of raspistill for Jetson Nano.

The Jetson Nano doesn't have a simple image capture tool like raspistill. nanostill wraps a complex gstreamer pipeline in a command-line tool.

lambda-ses-forwarder: custom email forwarding with Lambda.

Accept incoming email with AWS SES, then use this AWS Lambda function to forward it somewhere else.

FreshPow: Slack alerts with ski resort lift and trail openings.

For some of us, fresh powder is more valuable than concert tickets. This tool lets me know when new terrain is opened.

nightwatchjs_exporter: run e2e and expose the results to prometheus.

cloudprober_external_playwright is a better choice these days, but it's all part of my thread of using e2e tests in production.

mytotp: TOTP for the CLI - like Google Authenticator on your laptop.

Generate TOTP codes from your command line. The security implications of this are challenging, and these days you're probably better served by a tool like 1Password.

darknetd: run darknet as a service, with a REST API.

An early solution for running ML models on edge devices, before model serving was commonplace.

notion-offliner: a CLI tool to create offline backups Notion.so spaces.

The only Notion offline backup tool available before the official API was launched.

roadcrew: run Sysdig and upload to S3 continuously.

This was a thing before Sysdig Cloud came around.

prom_pi_temp.py: expose Raspberry Pi temperatures to Prometheus.

Graph and alert temperatures measured by your Raspberry Pi. This is obsolete as it's now supported by our friend, node_exporter.

sweet: network device configuration backups and change alerts.

In its time, the best non-commercial solution for backing up routers and other newtork devices.

Traildash: a simple, yet powerful, dashboard for AWS CloudTrail logs.

For a while, Traildash was the only open source way to analyize your CloudWatch logs. Happy those days are behind us.

check_asa_l2lvpn: monitor Cisco ASA site-to-site VPNs with Nagios.

I can't say I miss Nagios, but it was the best ride at the time. Cisco IOS will always have a place in my heart.

do_route53_backup: backup AWS Route53 zones with Nagios/Icinga.

Abusing the Nagios check system to perform scheduled IaaS backups.