content/projects.markdown @ 8d488f67c1ba default tip

author Steve Losh <>
date Sat, 27 Aug 2022 14:02:19 -0400
parents deaaa26b7266
children (none)
(:title "Projects"
 :date "2016-12-28T17:50:11Z"
 :draft nil)

The following is a list of projects I've created.  They're grouped by
maintenance status.

<div id="toc"/>

## Actively Maintained

These are projects that I'm actively maintaining (for now).  I'll accept patches
for them when I have the time.

* [adopt]( is **a** **d**amn **opt**ion parser for Common Lisp.
* [badwolf]( is a Vim color scheme.
* [beast]( is a Basic Entity/Aspect/System Toolkit for Common Lisp.
* [bobbin]( is a string-wrapping library for Common Lisp.
* [chancery]( is a library for procedurally generating text in Common Lisp, heavily inspired by [Tracery](
* [cl-digraph]( is a simple directed graph implementation for Common Lisp.
* [cl-ggp]( is a tiny framework for writing GGP players in Common Lisp.
* [cl-losh]( is my utility belt library for Common Lisp.
* [cl-netpbm]( is a pure Common Lisp library for reading and writing the [netpbm image formats (PPM, PGM, and PBM)](
* [cl-pcg]( is a [permuted congruential generator]( implementation in pure Common Lisp.
* [clam.vim]( is a lightweight Vim plugin for working with shell commands.
* [d]( is a tool for writing documentation in Markdown.
* [friendly-find]( is a friendlier `find(1)`.
* [gdl.vim]( is a Vim plugin for writing GDL files.
* [gundo.vim]( is a Vim plugin to visualize your undo tree.
* [hg-prompt]( is a Mercurial plugin to view repository information, designed to be used in a shell prompt.
* [peat]( repeats shell commands.
* [sand]( is my personal Common Lisp sandbox.
* [strftimedammit.vim]( is a single Vim documentation file that lists `strftime`-like formatting characters for a variety of languages.
* [t]( is a command-line todo list manager for people that want to finish tasks, not organize them.
* [vim-bencode]( is a Vim plugin to handle encoding/decoding Bencoded data.

## Under Development

These are projects I'm poking around with which may or may not ever see the
light of day.  You shouldn't use them for anything important (yet).

* [temperance]( is a logic programming library for Common Lisp.
* [vex]( is yet another vector math library for Common Lisp.

## Looking for Maintainers

These projects are ones that I started but no longer have the time or motivation
to maintain.

I think they could still be useful to people, so if you're interested in taking
over ownership of them please let me know.  My only requirement is that you keep
the license the same.

* [clojurecraft]( is a framework for writing Minecraft bots in Clojure.
* [flask-csrf]( is a Flask plugin to protect against CSRF attacks.
* [hg-review]( is a Mercurial plugin for performing distributed code review.  This is a **really goddamned cool** idea that I just don't have the time to follow up on.
* [red-tape]( is a Clojure library for processing user-submitted data. It's heavily inspired by Django's forms (the good parts).
* [roul]( is a tiny Clojure library for working with random numbers.
* [splice.vim]( is a Vim plugin for managing three-way merges.
* [tis100.vim]( contains Vim syntax highlighting and folding support for TIS-100 save files.
* [vitality.vim]( makes Vim play nicely with iTerm 2 and tmux.

## Transferred Maintainership

These are projects that I started but have since passed maintainership to
someone else.  Please contact them if you have any questions about the current
state of things.

* [clojure-lanterna]( is a thin wrapper around the Lanterna Java library to make it more Clojure-friendly.  It's now maintained by [Martin S Weber]([MultiMUD](
* [clojure-postmark]( lets you talk to Postmark from Clojure.  It's now maintained by [Daniel Compton](
* [django-goodfields]( is a Django plugin I created when I was at Dumbwaiter Design to make Django form fields less painful to render.
* [flask-lesscss]( is a Flask plugin to render LessCSS files when they change.  It's now maintained by [Abhishek Biswal](
* [hgtip]( is a website with tips about using Mercurial that I started and eventually sold a long time ago.
* [metrics-clojure]( is a thin façade around Coda Hale's metrics library.  It's now maintained by [Michael Klishin](
* [python-dribbble]( is Python bindings for the Dribbble API.  It's now maintained by [Euccas Chen](
* [rerun]( is a tiny utility to make it easy to run a bunch of commands over and over again.  It's now maintained by [Mandar Gokhale](

## Finished

These are projects that are finished.  I have no plans to update them — they're
a snapshot of a moment in time.

* [@frantic\_barista]( is a Twitter bot that tweets procedurally-generated drink orders four times a day.
* [@git\_commands]( is a Twitter bot that tweets procedurally-generated git commands twice a day, and is still more coherent than git's actual UI.
* [@lisp\_talks]( is a Twitter bot that tweets procedurally-generated titles for Lisp-related talks twice a day.
* [@rpg\_shopkeeper]( is a Twitter bot that tweets procedurally-generated RPG items twice a day.
* [antipodes]( was my entry in the first Icelandic Game Industry game jam.
* [cl-chip8]( is a CHIP-8 emulator written in Common Lisp.  I wrote a series of blog posts about it.
* [Learn Vimscript the Hard Way]( is a book about Vimscript.
* [mazes]( is some Common Lisp code written while I worked through the book Mazes for Programmers.
* [silt2]( was my entry in the August 2016 Lisp Game Jam.
* [silt]( was my entry in Ludum Dare 34.
* [ymir]( is a Wisp/Javascript terrain generation demo.
* [zen]( was a throwaway roguelikelike non-game in Clojure.

## Deprecated/Abandoned

These are projects I started but no longer intend to maintain.  I won't delete
them from the internet, but please don't use them.

* [bookmarkdown]( was an experimental tool for writing books in Markdown.
* [Caves of Clojure]( was the code for a series of blog posts I did about writing a roguelike in Clojure.
* [cherryflavoredbugseverywhere]( was a Bugs Everywhere web UI written with CherryPy.
* [cl-nrepl]( was a bare-bones NREPL server for Common Lisp.
* [django-hoptoad]( was a Django plugin for sending exceptions to Hoptoad.
* [grabtweets]( was a brute-force utility for backing up your tweets.
* [newseasons]( was a simple Clojure webapp for notifying users when new seasons of their favorite TV shows hit iTunes.
* [stoat]( was an attempt at making a less painful Django CMS.
* [typkov]( was a small Clojure/Noir webapp that generates gtypist lessons from users' own text.