A wrapper for Ruby scripts that speak stdio. IODaemonizer will run the expensive setup steps of a script once, persist the state in a background thread, and then subsequent calls to the script will run in that thread and communicate stderr and stdout back to the caller over a TCP socket.
A tool for converting Markdown recipes into a printable card format from Ben Cohen's cuisine package for LaTeX. This format puts the ingredients and instructions for each step side-by-side, making it easier to scan while you're cooking. Made with Typescript, React, and Next.js.
A silly thing I made to celebrate my friend Mylo making the news with one of his tweets. A React app that uses ffmpeg.wasm to add an overlay to a provided image and then uploads the result to Imgur for sharing.
A Wolfenstein-3D style engine built on the PICO-8 fantasy console. I wanted to try implementing raycasting from scratch, and the PICO-8 provided a fun set of tools and constraints for doing so.
Sleep Study (
gem rspec-sleep_study) is an RSpec formatter that shows you where your specs are blocking on
sleep statements in your code.
Bookify is a gem for converting Markdown documents into book style, two-column PDFs. It starts by converting the Markdown to HTML using Redcarpet. Then it walks through the DOM, and when it encounters a registered component type, renders it using Prawn PDF.
Jargon (no longer active) is a publishing platform for writing about code. It supports an extended Markdown syntax for embedding code snippets in articles, and publishing is handled by checking in content to a GitHub repository.
ChessForge was a chess opening explorer written in Ember on top of a Rails API. It had a database of 75 million chess positions and showed frequency and win / loss / draw percentages for different opening moves, bucketed by player strength.
To play around with Rails 5's new Action Cable feature, I built a simple chess server that allows two people to play a game a chess.
A Markov chain Twitter bot that uses Dwarf Fortress stories as its corpus.
whatfoodsareinseason.com is a Sinatra app that shows what fruits and vegetables are in season in your state.
Withings-graphs is a small app that connects to the Withings OAuth API and displays data using amCharts.
Evolution is a program I wrote that tries to mimic a source image by randomly drawing polygons. At each step of the program it tries either adding a new polygon or randomly mutating one of the existing ones, keeping only the changes that make the image look more like the target than before.
The Urbanairship Ruby gem is a library I wrote while developing Groupon's push notification system. It allows you to send push notifications to iOS and Android phones using the Urban Airship API.
I maintained the gem for two years while working at Groupon, and it's now maintained by the Urbanairship team.
Grams was a weekend hack project I did that collects Instagrams from a specific neighborhood and tweets the best ones.
Lovemap is a tile-based mapping engine for the LÖVE game development framework written in Lua.
text/cats is an innovative content format that represents JSON data in the shape of playful kittens. It was first used in Groupon's public and internal APIs.