steve losh

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

Actively Maintained

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

  • badwolf is a Vim color scheme.
  • beast is a Basic Entity/Aspect/System Toolkit 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-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.


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.


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.