Tools

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

pandoc
a general markup converter, written in Haskell. I use this for all of my lecture notes, letters, slides, and websites.
CommonMark
a spec for markdown and matching implementations in C (cmark) and javascript (commonmark.js).
lcmark
a flexible CommonMark renderer in lua, with templates, YAML metadata, and filters.
texmath
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.
oyun-web
a javascript-HTML implementation of Oyun.
gitit
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)
yst
a program that generates static websites (including this one!) from string templates and data in YAML or CSV files.
highlighting-kate
a source code syntax highlighting library in Haskell. Parsers for different languages are automatically generated from Kate xml syntax definitions.
filestore
a generic interface to versioned storage for text or binary data, with backends for git and darcs.
zip-archive
a Haskell library for working with ZIP archives.
cheapskate
a fast, efficient markdown parser in Haskell.
lunamark
a markdown to HTML and LaTeX converter written in lua, using a PEG grammar.
peg-markdown
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
cartargrapher
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
hsb2hs
a preprocessor for inserting binary blobs as literals into Haskell programs.