Note: Actively Looking for Work

If you're looking for back-end developer who's happy to work in multiple languages, please check out my resume (PDF) and give me a call.

If you'd like to see an example of a project that displays how I think code should be organized and tested, check out Oho.

Some of these projects are significant works. Some are random hacks. Some grew from simple hacks without concern for maintainability. Some I wrote. Some I just maintain. I'm happy to answer questions about any of them.

Active Projects


A meta-repo that archives the original arc90 readability algorithm & provides links to most of the known language ports of said algorithm.

 
atok (Go)

Atlassian, Are You OK?
A status checker for Atlassian's systems.

 

A tool to let a development team add Changelog entries without constant conflicts.

You can find additional information on the importance of, and approaches to generating changelogs here on my blog.

 
cleandiff (Bash, Perl, HTML misc)

A quick-and-dirty (but surprisingly useful) proof of concept of an alternate way to provide visual diffing for git repos.

 

A web site documenting many of the awesome, but lesser known, modern command line utilities.

 

A library for generating graphs in your terminal.

 
crystal_fmt (Crystal)

crystal_fmt produces text tables from a grid of strings. Useful for terminal output.

 
days_progress (Chicken Scheme)

A simple command line utility to visually indicate your progress through the work day. Especially useful when integrated into your shell's prompt.

 

An implementation of the Maybe Monad in Raku.

 
Fenestro (Swift)

Ingests HTML from the command line and renders it in helpful windows

 
format_md_links (Python)

A command line utility to convert a Markdown document's links from inline to relative format (or vice-versa).

 

A collection of functions to validate the signature of Raku functions. Useful when you have a function that takes a function as a parameter and you need to confirm that that function provides the inputs and outputs you expect.

Allows functional programming in Raku, to have similar type constraint protections to Object Oriented programming in Raku.

 

A command line utility to easily find and open a GitHub PR from you current branch.

 

When you are a developer who needs to document what you worked on each week, git status-report will extract the details from your git repos.

 

When you know you saw something it the codebase, but can't remember where, branch_finder will search across all your local branches to find it.

 
gpup (Bash)

gpup = Git Push UP
a convenience + safety utility for git that guarantees you'll never accidentally overwrite other people's data with a remote push, even when you use force.

 
Heatmapper (Chicken Scheme)

A Heatmap generation tool & library
As a command-line tool Heatmapper takes a list of integers and generates a heatmap from them.

It's core module "heatmap" is designed so that Chicken Scheme can generate a portable C library from it, for inclusion in any language that can leverage C.

 
Hey! (Chicken Scheme)

Hey! Is an interruption tracker.
If you find yourself being constantly interrupted, Hey will help you get a handle on it. Keeps track of who and when,

 
html_encode_decode (Vim Script)

A Vim plugin that lets you easily encode or decode HTML entities.

 
JekyllMail (Ruby)

JekyllMail enables you to post to your Jekyll or Octopress powered blog via email.

 

Command line utility to let you know the status of Jira services.

 

An implementation of JSON Path in Perl 5

 

Documentation for the Junt API server (See Below)

Just is a fully documented JSON API server and database architecture for tracking your Job Hunt. This repo is a hugo site documenting everything you need to know to implement it, or understand it enough to implement a client for the existing server (see below).

 

Junt (Job + Hunt) is a fully documented JSON API server and database architecture for tracking your Job Hunt. (See Above)

This is purely an API server. Writing a client for it is left as an exercise to the job hunter, to help demonstrate their abilities in whatever language they need evidence of competency in.

 
Kudos (JavaScript)

An implementation of Svbtle style Kudos for incorporation into any JavaScript interfaces that wants to let you give "kudos" to something.

 
Listicles (Raku)

A module that provides a collection of convenience methods for Arrays in Raku.

 

A Ruby gem to enable easy integration between Mongoid (the MongoDB ruby driver) backed models, and Meilisearch.

 

Provides developers with the ability to provide structured documentation for their functions, that is queryable in the REPL and can be exported to markdown documentation files.

 
ob-raku (Elisp)

An Emacs plugin providing org-mode with Babel support for the Raku programming language.

 
oho (Crystal)

oho is the world's best converter of terminal output to HTML. It supports ANSI 3/4 bit (basic and high intensity), 8 bit, & 24 bit color codes as well as ITU's T.416 / 8613-6 color codes, and converts them into HTML that accurately reflects what you're seeing in your terminal.

 

Dwolla OAuth2 Strategy for Omniauth 1.0

 
pathname-expand (Chicken Scheme)

Provides shell-style expansion in path names. This is a port of the original, updated for use with Chicken Scheme 5.0.

 

Prettier::Table is a Raku Library to provide customizable, tables for terminal and Markdown output. Supports sorting, and alignment.

 

An Emacs client for Private Comments (see below)

 
Private Comments (Chicken Scheme)

Allows you to leave comments on a codebase, that aren't in the codebase, and are tied to the current version of the code.

 

Colorizes paretheses, curly brackets, square brackets, and angle brackets in Vim to make it easy to tell which ending braces correspond to which starting braces.

 
readable_url (Rust)

Simplifies an URl's content by running it through the Readability algorithm, and then optionally convertinng it to Markdown.

 
rtest (Ruby)

RSpec's output is noisy, and hard to read. rtest fixes that, allows you to see the failures from the past run without rerunning it, and allows you to easily run a specific failure's corresponding test.

 
Sandstone (Crystal)

An Object Relational Model (ORM) that builds on the Granite ORM with many additional relationship types.

NOTE: this was written in 2018, and the repo it forked from has come a long way since then, but it is still in use by some of my tools, and offers features its parent still doesn't.

 
sentence_options (Crystal)

A command line options parser that provides sentence-like human interfaces to your Crystal cli apps.

 
sparker (Crystal)

Better Sparklines for Crystal command line tools.

 
spiral_dice_roller (HTML + JavaScript)

A Progressing Web App (PWA) dice roller for Spiral Dice. Implements full accessibility features to enable dice rolling for blind users. It's PWA nature means you can install it on your phone's home screen.

 
TooLoo (Raku)

A utility for documenting and searching the various custom command line utilities that you or your team have created. Includes static-site export for sharing with others, and an optional read-only REST API.

 
UUID::V4 (Raku)

A Raku library for generating UUID v4 identifiers.

 
vim-markdown-folding (Vim Script)

A Vim plugin that enables folding in markdown documents.

NOTE: Looking for a new maintainer. Please contact me if you're interested.

 
vim_private_comments (Vim Script)

A proof-of-concept vim plugin to demonstrate how Private Comments could be supported from Vim.

The Emacs plugin is notably better.

 

Guarantees that a resource is present in the appropriate XDG Base Directory directory.

 

Archived Projects


acl_plus_rbac (2013)

A Proof-Of-Concept combining Access Control Lists with Role Based Authentication in a Rails plugin.

 
Aspirin (Java 2013)

An embeddable send-only SMTP server. With this you could distribute an app that sent email without asking users to find and enter their SMTP server settings. Alas, modern spam-fighting techniques have made this functionally useless.

 
check (Go 2015)

A fork of the go-check unit testing suite. This added a number of features an support for TravisCI.

Note: this was back in the bad-old-days of Go's youth where where was no package manager and no consistent testing story.

 
Noisy Partials (Ruby 2013)

A Ruby on Rails plugin for rails 3.0.x (obsoleted in Rails 3.1). In development mode it provides HTML comments before and after each template, making it easy for a developer who's viewing source to know exactly what partial produced which bit of the web page.

 

A site that teaches folks about the many great features of Vim.
Archived because I've moved on to Emacs.

 

A news aggregator that supports RSS, RDF, and ATOM feeds and helps deal with information overload by adding Bayesian filtering to find and highlight “interesting” articles in your feeds.