Organize a Swiss-style game tournament in your house (or wherever).

Robot & Human

A JavaScript-powered webcomic.

DIE Assistant

A tool to help run combat during a session of the DIE role-playing game.

The Poor Man's Comic Publisher

A simple PHP script for publishing webcomics.

Reflected Mastodon Toots

My Mastodon posts, mirrored on this site using a tool I wrote.


A Minesweeper clone in JavaScript. By why limit yourself to mines?

Fake Chatroom

A bunch of bots talking about a nonexistent metal band.


A small web site where you can solve cryptograms. Honorable mention in the 10K Apart contest in 2016.

The Rubaiyat of Omar Khayyám

A small web site where you can read the famous Persian poems.

Minimal Programming Projects

Projects developed using the least amount of code possible.

Mooooooose Haiku

Short poems about the moooooooooooooose. Follow via RSS or Twitter.

Which states have Christmas movies?

Examining the phenomenon of Christmas movies named after states or cities.

Unofficial Sinfest RSS Feed

A syndication feed for the webcomic Sinfest, since it doesn't have a working one.

Statistics from SolForge drafts

I compiled and charted some statistics on my tournament results in SolForge, a (now-defunct) digital collectible card game.

Graffiti Writer

Make an image file out of a short string of text.

Pick a Card, Any Card

A web service that serves playing cards.

Lúcio Punches the World

I made a music video of myself punching people in Overwatch, set to a song by Brad Sucks.

Assassin's Creed tables

I put together some data tables to help people make decisions about ability crafting in the Assassin's Creed video games.