Projects
I write a lot of software. Not all of it is production quality, but I like to make it public so that others can benefit from my work.
Reusable Code Libraries
- libui-rs - a Rust interface providing cross platform access to native UI frameworks.
- helicase - read and write strings of DNA bases, and convert them to framed strands or polypeptides.
- sbrain - a 25-symbol programming language specification and VM implementation, in Rust.
- MLeM - the Machine Learning Machine, a virtual machine designed as an ML target.
- update-rate - a low-overhead update counter for high-performance applications.
- workctl - a set of higher-level abstractions for controlling concurrent/parallel programs.
- whiteout - provides macros that erase the type of any value into an
impl Trait
for a given trait.
Web Applications
- Corobel, a set of tools for interacting with the Cohost API, including per-post source retrieval and RSS feeds with and without transparent shares
- Open Energy Dashboard - a web application that ingests, stores, and allows users to analyze data from smart energy meters.
- RFortune - a web application written in Rust which displays random quotes to the user. A proof of concept for Rocket web apps.
- Silvr - a SQLite-based blogging application, written in Python with Flask.
Graphical Applications
- gDiceRoller - a GTK app that allows users to roll dice in simple or complex combinations. Created to teach how to make and package GTK applications with Rust and Flatpak.
- RandomUA - a WebExtension that changes your User-Agent string to a sensible-looking UA string which is different for every request.
- Silver Smuggler - a QT app for the XOR “cipher”.
Security & Administration Tools
- harf - the HTTP Watchdog.
harf
barks when your services go down. - RLoris - a concurrent and parallel implementation of RSnake’s SlowLoris application level DoS attack on many web servers (like Apache).
- PyPlotPing - a Python application to plot data from the
ping
command, for finding network faults.
Command Line Tools
- counted-rs - a command line interface to fetch CSV-formatted data from The Guardian’s database of police shootings in the US.
- evolve-sbrain - an evolutionary algorithm for finding computer programs which conform to given specifications.
- PyParens - a toy Lisp language that executes in a Python context, with full interoperation.
- GenevaBot - a Python script that builds a statistical replica of a given Tumblr blog.
Embedded Applications
- esp8266_scan - a wireless scanner code for the ESP8266 chip, which produces either JSON or human-readable output.
- geiger_counter - a Geiger counter with a dosimeter output for comparing the radioactivity of different samples.
Games
- RaptorDown - a rogue-like game I built in 24 hours for CodeDay San Diego.