Open Source
I publish my code whenever practical. Here’s some of my work.
Ruby Gems
A client library and CLI for the Confidant secrets management service.
A plugin for the Pry REPL that enables logging of any combination of Pry input and output to a configured audit file.
Programatically generate Berksfiles for Chef cookbooks.
Knife (Chef CLI) plugin to print node names and IPs formatted for inclusion in a hosts file.
(deprecated) A processor plugin for the Sentry Raven gem that sanitizes Social Security Number fields.
GoCD Tools
I created some tools to help ease a company transition from Jenkins CI to the GoCD continuous delivery platform.
An alternative dashboard for GoCD that mimics the Jenkins dashboard view. It is functionally equivalent to the GoCD dashboard and provides (in my opinion) a much better user experience.
A visualizer for GoCD pipeline status, suitable for display on a wall monitor. It can display the status of all available pipelines or pipelines from a single pipeline group.
Sensu Plugins
I’ve written a number of plugins for the Sensu monitoring framework. Here are a few that I’ve been able to release publically.
For all processes owned by a user AND/OR matching a provided process name substring, return selected memory metrics from /proc/[PID]/status
Alert if the last successful build timestamp of a Jenkins job is older than a specified time duration OR not within a specific daily time window.
Monitor the status of applications and processes running under the bluepill process supervisor. Alerts if any process is down or if a manually specified application has no processes loaded
Check domain expiration dates using the https://jsonwhois.com API
Personal Projects
Discovered a critical vulnerability in a widely used software package? Need a scary-sounding name (heartbleed, shellshock, etc.) to help drive fear into the hearts of internet users everywhere? You need the CVE Name Generator!
A delta-style robot using an Arduino controller managed from a Processing UI.