Here's a guide to the programs I've written and put on GitHub. I've excluded repositories that I don't think will be generally useful, such as task code for my research and forks with trivial changes.
My favorite programming language is Hy, a Lisp dialect for Python, and I'm the maintainer of its compiler. I also use a lot of Python (for situations in which Hy is too niche) and R (for my job). In the days before my involvement in Hy, I mostly used Perl. I no longer write new programs in Perl that are longer than one-liners, but I have a good number of unreleased Perl programs that I continue to maintain for personal use.
I only release software under free licenses, usually the GPL.
- Daylight: Software for doing open-notebook science in Org mode. I use it for all sorts of documents, including much of this website.
- Citematic: Scrapes and formats citations to journal articles and books. The formatting code is used by Daylight for bibliographies, but the scraping code is undermaintained.
- Artiruno: A program to help you make decisions with verbal decision analysis.
- Pairmemo: An R package for flexible on-disk function memoization.
- ThoughtForms: A Python library for simple JavaScript-free Web surveys and experiments via WSGI. (Tversky and SchizoidPy are earlier iterations of similar ideas.)
- Stack Exchange Activity Archiver: Archives activity on Stack Exchange sites.
- Clock-Calc: A calculator for working with times of day.
- Oatmeal: A window manager–agnostic workspace switcher with textual previews.
- Infinitesimal Quest 2 + ε: A turn-based dungeon-crawler.
- Rogue TV: A game show-themed roguelike game.
- Flee the Grue: A console game based on Hunt the Wumpus.
- mt_repl: A Lua REPL for Minetest.
- Polaris: A game about navigation.
- Heidegger: A Python map generator for roguelike games.
- Stardust-Solver: An aborted attempt at a solver for the puzzle game Stardust.
Here are some other projects that I'm not a main author or maintainer of, but I've contributed code to:
- CPython: The reference implementation of Python and its standard library.
- pytest: A Python test framework.
- pandas: A Python library for data analysis that provides R-like data structures.
- XGBoost: A library for boosted classification and regression trees (CART).
- Org mode: Software for personal information management and document authoring in Emacs.
- Pygments: A Python library for syntax coloring.
- astor: A Python library for manipulating Python abstract syntax trees.
- boto: A Python library for accessing Amazon Web Services.
- inspect.lua: A Lua library for pretty-printing tables.
- GNOLL: A C library for parsing dice notation and rolling dice.
- Cataclysm: Dark Days Ahead and its fork Cataclysm: Bright Nights: A zombie-apocalypse roguelike game.
- rot.js: A JavaScript library for writing roguelike games.
- Rakudo: A Raku compiler.
- Raku/roast: The Raku test suite.