A collection of hobby projects I've built over the years. Software that's part of research projects isn't included here.
Because Academic Publishing needs a Reformation
Distributing papers in PDF is great for printing, but terrible for on-screen reading, deep linking, etc. Existing tools to convert LaTex to HTML are unusable. This is my attempt to fix the problem.
GREtools — vocabulary builder for GNOME (Linux)
ETS, the "nonprofit" monopolistic extortionist that administers the GRE, says you can't improve your score by studying for the test, which is BS. This set of vocabulary quiz games helped me immensely with my score (and, I hear, many, many others).
I haven't updated the software since 2003/2004, but it works fine on a modern Ubuntu. There are probably iOS/Android apps these days that are more fun.
Pype is a library that brings shell-like pipelines to Python, and makes code for tasks such as data processing vastly more intuitive. This post
describes an early version.
An intelligent caching/memoization library for Python supporting multiple backends. Particularly useful for web software.
A python library to automatically generate a status/progress report of a long computational task. Uses introspection to monitor execution state.
Various python utility functions.
extension for Firefox and the Stylist
extension for Chrome allow custom stylesheets on a per-website basis. userstyles.org
is the main repository of such stylesheets that users share with each other. I've written a few for the sites I frequent, mainly with the goal of decreasing clutter.
CSS art 
A silly animation to demonstrate what can be done with CSS alone and no images, if the browser supports the
property. This post
A "lifestreaming" widget based on Friendfeed that you can embed on your web page; has more features than Friendfeed's own widget. Friendfeed has unfortunately been left to rot after the company was acquired by Facebook.
A suite of strategy board games focusing on the machine intelligence aspect. Abandoned long ago. The idea was that you can create a new game by simply defining a move generator and evaluation function.
Finding large primes [pre-2000]
Over a decade ago I wrote code to find large primes of certain constrained types (in conjunction with existing tools). There is a large community of hobbyists engaged in this "useless" endeavor. This is listed here purely for nostalgia; none of my code exists any more.