Some computer programs I have written. Since I actually use them, I guess they count as structured procrastination.

a general markup converter, written in Haskell. I use this for all of my lecture notes, letters, slides, and websites.
a spec for a rationalized version of Markdown and reference implementations in C (cmark), JavaScript (commonmark.js), and Haskell (commonmark-hs).
a flexible CommonMark renderer in lua, with templates, YAML metadata, and filters.
a Haskell library for converting between LaTeX math, MathML and OMML. There’s an online demo here.
Babelmark 2
a web app for comparing different markdown implementations.
a javascript-HTML implementation of Oyun.
a wiki program in Haskell, using git for file storage and history, and pandoc and highlighting-kate for markup and page rendering. (gitit’s git repository, gitit live demo, see also gitit2)
a program that generates static websites (including this one!) from string templates and data in YAML or CSV files.
a source code syntax highlighting library in Haskell. Parsers for different languages are automatically generated from Kate xml syntax definitions.
a generic interface to versioned storage for text or binary data, with backends for git and darcs.
a Haskell library for working with ZIP archives.
a fast, efficient markdown parser in Haskell.
a markdown to HTML and LaTeX converter written in lua, using a PEG grammar.
an implementation of markdown in C, using a PEG (parsing expression grammar). (The peg-markdown code is also used in multimarkdown and rdoc.)
GOGAR (game of giving and asking for reasons)
a computer model of the scorekeeping dynamics in Robert Brandom’s Making It Explicit
a simple argument mapping app, made using Google’s visualization API, jquery, and python, and running on Google’s AppEngine. Note: at this point, I don’t guarantee the persistence of saved argument maps!
Truth table tutor
an online truth table tutor, written in Haskell and Javascript.
Navajo Lucida Sans font
a TrueType font for the Navajo language
a preprocessor for inserting binary blobs as literals into Haskell programs.