As both a nerd and a professional nerd I write a lot of software. Philosophically I like the idea of open-sourcing the lot, but that’s not really practical. Firstly, a lot of the code I write is with my work hat on, and a lot of that has to remain confidential. Secondly, a lot of the code I write would be of no use to anyone else, so it’s not worth the effort needed to open source it. Regardless, some of the code I write for work has been released to the community, and I’ve also released some of my own personal code to the world as well.

Recent Software Releases

With my Personal Hat On …

Note: I’m in the process of migrating my open source software to my GitHub profile.

  • – a Perl Module for Generating Secure Memorable Passwords

    This project has it’s own page at

  • bartificer.ip.js – a collection of JavaScript classes representing IP addresses, Netmasks, and IP Subnets

    You can download the code and read the documentation on the GitHub page for the library.

  • – a simple Backup Script Written in Perl

    You can download the code and read the documentation on the GitHub page for the script.

With my Work Hat on …

Some, but not all, of the open source code I release for work can be found on my work GITHub profile.


One of my responsibilities in work is to manage our monitoring system, and as part of that I write a lot of custom Nagios plugins. The majority are not suitable for release, but two have been open sourced:

  • Check Rsyslog DB – a plugin to check that rsyslog is successfully logging to a Database. The plugin sends a log message via syslog, waits a few seconds, then attempts to retrieve the entry from the DB.
  • Check Apache Server Status – a plugin to monitor an Apache web server using mod_status. Quite a few other similar plugins exist, but my plugin is a little different in that it uses percentages rather than numbers of slots to set thresholds, and it also monitors for slowloris-style (D)DOS attacks.


Moodle is an open source CMS/LMS/VLE (depending on your persuasion and/or configuration). I spend a lot of time working with Moodle, and have been able to contribute some code back to the community:

  • I wrote the local_syslog Moodle 2.x plugin, which duplicates Moodle logs to syslog.
  • I’ve contributed code to Moosh (the Moodle Shell), a fantastically useful piece of software by Tomasz Muras.