Will's Code

GNU emacs is likely the most useful program written in the past 20 years. It isn't a text editor as much as a lisp engine with powerful text and display management functionality. emacs makes a great platform for writing apps that use a text interface.

ssh-agent.el - runs ssh-agent from within emacs, setting the proper env variables. Also execute ssh-add and prompt the user for any requested passphrases.

syslog.el - a syslog client and server, useful for monitoring remote machines such as firewalls, servers, etc. The server displays messages in a buffer, colored based on configurable priority levels. Currently requires a recent CVS emacs with support for UDP sockets.

nmap.el - a simple utility for running nmap in the same style as net-utils' ping, nslookup, etc. Open ports can be highlighted with a chosen face, and a history of nmap arguments is kept.


Erlang is a concurrent functional language designed for building reliable software, and makes an excellent choice for writing scalable network services.

oregexp - a port driver for the Oniguruma regular expressions library which supports Ruby's extended regexp syntax including named groups, POSIX character classes, look-ahead, and many different character encodings. The latest version of the code is available in a darcs repository, http://glozer.net/src/oregexp, and there is also a win32 binary package.


My professional work consists primarily of developing software in Java, so most of my independent projects are written in other languages. However here are a few interesting things that I've done in Java.

chart - a charting framework for drawing 2D charts with Java2D. This package provides an implementation of line, curve, and bubble charts along with the base classes for building others. The charts are resizeable with dynamic axis values, legends, labels, and are drawn using antialiasing. Plugging in new types of charts should be quite easy.