Appendix H. Useful links

This chapter contains selected links to projects mentioned in this document, especially projects which were of particular use or note.


The perl CGI::Application framework allows writing CGI applications in a clean fashion, using the MVC (model/view/controller) pattern, with a lot of built-in utilities to make development both quick and easy.

Debian GNU/Linux

Debian is a distribution of GNU/Linux, developed and maintained by a cadre of volunteer developers with the intention of being "The Universal Operating System".

Debian was chosen as our "platform of choice" because of its stability, ease of management, and our personal experience.


Exim is a message transfer agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet.

Our service used exim to deliver any mail which was not determined to be SPAM.


Mercurial is a distributed revision control system, which allows you to easily pull updates from multiple locations and split development between groups.

Mercurial was used by us because of its simplicity, reliability, and again due to personal familiarity.


MySQL is an open source database.


Perl. Perl Rocks. Enough said?


qpsmtpd is a SMTP server implemented in Perl. By design the core of the server implements only the necessities of the SMTP service - all mail handling is delegated to a collection of user-designed and user-defined plugins.

In short the core of our service could be re-implemented as a collection of plugins in the space of a few weeks by a dedicated tinkerer.


rsync is a useful tool for synchronising files across different hosts. It uses its own algorithm to bring two disparate trees of files into synchronisation by computing and transmitting the differences between them.


Spam-assassin is the canonical personal antispam solution. It suffers from a reputation of being quite heavyweight, to the extent that several antispam solutions are mere wrappers around it.