Emacs Lisp

by Theresa O’Connor on 21 August 2007

I do a fair amount of hacking in Emacs Lisp.

In addition to the code below, I’m responsible for ljupdate, and I occasionally contribute to ERC.

Web hacks


Emacs Lisp client libraries for various 37signals’ product APIs: backpack.el for Backpack’s API and highrise.el for Highrise’s API.

Also includes rest-api.el, which isn’t interesting on its own. It’s a bundle of extracted utilities from backpack.el that have proven useful for working with other web APIs.

A simple utility for posting new quotes to the Quotes Database of bash.org.
An Emacs Lisp client library for CouchDb.
An extension for dom.el which adds support for some of the new DOM methods in the HTML 5 draft. Currently, this only provides the Document and Element variants of getElementsByClassName. I should really just re-package this as a patch & send it to kensanata.
A simple implementation of various DOM methods which operate on xml.el’s output. A lightweight alternative to dom.el.

Emacs client library for Google's AJAX search API, which has recently begun supporting non-JavaScript environments.

Check out a copy with the following invocation of git:

git clone git://github.com/hober/google-el.git

HTML5 tools for Emacs Lisp

Eventtually, this will contain various Emacs Lisp tools for working with HTML5 and XHTML5. It currently consists of the wiring to get nxml-mode to validate XHTML5 documents.

git clone git://github.com/hober/html5-el.git

a JSON parser and generator, which can produce an Emacs Lisp data structure from a JSON object and vice-versa. Included with Emacs as of 2008-02-21. Read all about it here.
A LiveJournal client.
A simple utility to help scrape websites from tag soup to reasonably nice s-expressions. Relies on HTML Tidy for all the heavy lifting.
A client library for Technorati ’s API.

Mac OS X hacks

Utility for using Growl from within Emacs. growlnotify does all the hard work.
A parser for Apple property lists.
Export your Safari bookmarks to del.icio.us. Requires John Sullivan’s delicious.el.


My second, and much more extensive color theme for Emacs.
A generalization of y-or-n-p, for when you need more options than just y or n.

An Emacs library to help you with your personal unit tests.

Check out a copy with the following invocation of git:

git clone git://github.com/hober/selftest-el.git

A major mode for editing Tiger, the toy language featured in Andrew Appel’s Modern Compiler Implementation in Java.
A quail input method for Toki Pona, a minimalist constructed language.

Old, orphaned, or abandonded

Quick hack to allow Emacs to follow Cygwin’s symbolic links. Equivalent support is now included with Emacs.
A Flickr API client for Emacs Lisp. Hasn’t been updated to support the new API authentication scheme, so this isn’t very useful.
A quick hack of hl-line.el (included with Emacs), to highlight the s-expression point is in.
An emulation of the Lisp Machine’s SELECT key for Emacs.
A simple literate programming tool for Emacs Lisp. See lp-elisp.tex for the TeX source.
An IRC bot I used to run in #emacs. Built with erbot. fsbot takes care of pretty much everything mallow used to do.
This isn’t really a SOAP interface at all — it’s “just enough of SOAP to get Google’s old SOAP search API to work” — and that’s as close to SOAP I ever plan to get.
A SAX-like API parsing XML in Emacs Lisp.
An XML streams implementation for Emacs Lisp, built on top of xml-event.el.

Swiftly typing. Oh!
Where would we be without you,