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.
  • 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.
  • 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).

  • chancery is a library for procedurally generating text in Common Lisp, heavily inspired by Tracery.
  • cl-nrepl is a bare-bones NREPL server for Common Lisp.
  • 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.

  • clojure-lanterna is a thin wrapper around the Lanterna Java library to make it more Clojure-friendly.
  • clojurecraft is a framework for writing Minecraft bots in Clojure.
  • flask-csrf is a Flask plugin to protect against CSRF attacks.
  • flask-lesscss is a Flask plugin to render LessCSS files when they change.
  • 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.
  • python-dribbble is Python bindings for the Dribbble API.
  • red-tape is a Clojure library for processing user-submitted data. It’s heavily inspired by Django’s forms (the good parts).
  • rerun is a tiny utility to make it easy to run a bunch of commands over and over again.
  • 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-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.
  • 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.


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

  • @git_commands is a Twitter bot that tweets randomly-generated git commands twice a day, and is still more coherent than git’s actual UI. Made with Cheap Bots Done Quick.
  • 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.
  • 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.