Code

I have been known to program computers now and again. In fact, I guess I kind of do it for a living... These days, I mostly code in Python and Rust, although I also consider myself very proficient in C, Ruby, Bourne Shell, and moderately proficient in Perl, SML, Haskell, O'Caml, Hy and C++.

If you want to hire me, you might enjoy my resume. No promises on how recently I updated it, though.

This page contains projects that I think are interesting and which I'm comfortable claiming primary authorship over, in roughly chronological order. If you want to see more comprehensive details about my open-source work, you're better off looking at my github profile or just asking me.

rack-cloudflare_middleware Some rack middleware for using Cloudflare with non-Rails Ruby web applications.
ferrous-socks A Rust implementation of a SOCKS5 proxy, with lots of features. It's on my employer's GitHub page, but all the work is (as of early 2022) done by me.
rust-mysql-binlog Rust implementation of the MySQL binlog format (including esoteric bits like the binary JSON serialization), with an eye for building custom RBR binlog-based database administration tools.
duo-auth-rs Glue package for using Duo with pam_exec
rust-syslog-rfc5424 RFC 5424 -compliant IETF Syslog protocol parser written in Rust
syslog-rfc5424-parser RFC 5424 -compliant IETF Syslog protocol parser written in Python
ssh_certificate_parser Python library for parsing the OpenSSH certificate format
muttdown Tool for rendering Markdown into HTML for MIME/Alternative e-mails.
clusto-query Command-line querying tool (and query language) for the clusto cluster management package. Check out that hot recursive-descent parser.
hacheck Generic load balancer healthcheck proxying and control daemon.
py-find-injection Python tool for inspecting python source files to look for potential SQL injection vulnerabilities.
onepasswordpy A pure-python implementation of the old 1Password keychain formats.
/dev/pi A little kernel module that Evan Klitzke and I wrote for a Yelp hackathon. Like /dev/zero , but emits infinite successive digits of pi instead.
fakemtpd A fairly compliant mailserver which refuses to actually proxy any mail. Useful if you're sending outbound mail and need to pass VRFY checks from mailservers which do them, but don't want to expose your actual mailservers to inbound traffic.
ybinlogp A fast binary log parser for mysql designed for doing binary searches in binlogs ("show me the closest event to this timestamp"). I recently ported this to autotools!
jsSnow Some very old open-source code I perked up that emulates xsnow in JavaScript
wamupd An experiment in wide-area dynamic DNS
east dorm treasury One of the first GUI pieces of software I wrote that people actually used. I little utility for managing the finances of my college dorm. Probably horrible code. I think I implemented my own ORM.
cwviz I also did research for a few years in circuit design and optimization with the Clay-Wolkin Research Fellowship . One of the things I made there was this visualizer for specially-marked-up Verilog circuits. Allowed plugging in results from the Stanford Circuit Optimizer Tool ( SCOT ) to visualize timing and energy usage of particular parts of the circuit.
Circuit sketch recognition Research project I contributed to in college. Designed to use modern machine learning techniques to recognize and simulate hand-drawn digital circuits. Really cool idea. Never worked that well. I made a single-gate recognizer based on an annealing paper from UMass Amherst.