Portland, OR


I think technology hit its peak with the potato.


This is a Ruby (MRI) binding for the libmdbx database library.


A Netdata json formatter for storing metrics in Timescale.


SNMP support for Arborist monitoring.


A small collection of base classes used for interacting with remote machines over ssh. With them, you can use AMQP (via Symphony) to run batch commands, execute templates as scripts, and perform any batch/remoting stuff you can think of without the need of separate client agents.


A handy shell-like interface for browsing LDAP servers and editing their content. It keeps command history, has sane autocompletes, credential caching, site-wide and individual configs, and it's fun to say. Shelldap! Shelldap! Shelldap!


Run multiple processes in a daemontools pipeline.


Management of Ezmlm-IDX mailing lists from Ruby.


Store Thingfish resource metadata in PostgreSQL, using nodes and edges.


A small Vim plugin that can find the current buffer's revision ID from a Mercurial repository.


Volta is a high performance, low resource URI rewriter for use with the ​Squid caching proxy server. With it, you can dynamically alter URI requests that pass through Squid based on various criteria. It uses a state machine to parse URIs and rules, and a constant database to store and access those rules. It can then either perform conditional rewrites internally, or by evaluating Lua scripts or bytecode.


A basic pdf processor plugin for the Thingfish digital asset manager. It extracts PDF metadata from uploaded files.


FPing output parsing for Arborist monitors.


Handler framework for the Mongrel2 web server.


TNetstring parsing and serialization for the Nim programming language.


Metronome is an AMQP friendly scheduler and task runner. It can be used locally as a cron replacement, or as a network-wide job executor. Events are stored via simple database rows, and optionally managed via AMQP events. Interval/time values are expressed with reasonably intuitive English phrases, ie.: 'at 2pm', or 'Starting in 20 minutes, run every 10 seconds and then finish in 2 days'.

1 / 2