Benjamin Esham

Projects

This is a list of the software projects I’ve made (that are available publicly). Aside from CU Buses, which is available for free on the App Store, they are all hosted on GitHub and released under free software licenses.

Web apps

Microformats2 on a Map
A screenshot of the Microformats2 on a Map application.
Extracts microformats2-encoded locations from webpages and displays them on a map.

iPhone apps

CU Buses
Real-time departure and navigation information for the CUMTD bus system in Champaign–Urbana, Illinois.

Command-line utilities

pinboard-notes-backup
Efficiently backs up the notes you’ve saved to Pinboard.
link-checker
Scans HTML files, finds all of the links, and reports any dead links or redirects it finds.
py-chrome-bookmarks
Converts Google Chrome’s bookmarks and history to the standard HTML-ish bookmarks file format.
py-abemails
Extracts all email addresses from the macOS address book.
py-pinboard2html
Converts your Pinboard bookmarks to the standard HTML-ish bookmarks file format.
vesper2-export
Exports notes from Vesper 2 as a folder of text files.

Color schemes

biogoo
A color scheme for Vim with colorful text on a light gray background.
zenburn-terminal
An adaptation of Jani Nurminen’s Zenburn color scheme for the macOS Terminal app.

Plugins for the Jekyll static site generator

reading_time
A filter to estimate how long a passage of text will take to read.
inline_highlight
A tag for inline syntax highlighting.
pluralize
A filter to make it easy to form correct plurals.

Widgets for the macOS Dashboard

Like Dashboard itself, these widgets are no longer supported.

cu-busboard
Real-time departure information for the CUMTD bus system in Champaign–Urbana, Illinois.
x-sistemo-widget
Converts Esperanto text between the X-system and Unicode.

Libraries for Clojure

hitting-set
Finds minimal hitting sets and set covers.
simple-queue
Processes tasks in a queue, optionally pausing after each one.
clj-schulze
Counts ballots and determines the winner according to the Schulze voting method.
clj-plist
Parses the property list (.plist) files that are ubiquitous on macOS.