Whats new ?

15 Feb, 2008:
Request Tracker Import/Export

More Info...

14 Feb, 2008:
After 5 years it was time for a bit of a redesign

More Info...


arrow Software Patents
arrow Exim SPF and SRS
arrow BTS Website Code
arrow Virtual File System
arrow Porting kernel modules

Validate XHTML 1.0 Strict
and Css

title : NSLM's Projects

I currently have a number of projects on the go, these include; a website management system, just to prove I can, the results of which can be found at; I'm involved with the libspf2 project ( for which I am the exim maintainer, (Read More); I also write code for Anarres II an LPC based MUD (since I am currently uncertain as to the copyright status of code written for Anarres I do not publish it, and given that eventually Anarres might turn into a real mud with a game and everything, I think that erring on the side of caution is the best solution.)

Previous projects have included; Non-stop, an automated playout system for University Radio Bath and converting a Linux 2.4 kernel module to a 2.6 kernel module.

It should also be noted that while I release most of my code under the GPL this does not mean that I believe that intellectual property is wrong. I may believe that the American software patenting system is seriously broken, but I do believe in copyright. For a good explaination of what is wrong with the US system try reading Tim Bray's thoughts on the matter.


title : RT Import/Export

Some code for importing and exporting from RT

(More on my RT import/export code)


title : Exim SPF and SRS support

My patches for the Exim mail transport agent, allow the use of the LibSPF2 library for Sender Policy Framework based Sender Permitted From algorithms, As well as the LibSRS2 library for Sender Rewriting Scheme support.

The current patches are for Exim-4.43, libspf2-1.0.4 and libsrs2-1.0.17

(More on Exim SPF and SRS support)


title : BTS Web Management System

At university, one of the groups I was involved with, Backstage Technical Services, had a need. They had a website written, 4 years ago that no-one knew how to keep up to date. Sections of the membership area were breaking as the Computing Services at the University changed their setup over time. As a result I have rewritten the existing code, and added a content management system.

It now uses mod_perl2 and is running on an Apache Web Server I administrate. The previous back end used flat files for storage, the new system uses a file file for some of the initial configuration, and the rest of the information is stored in a MySQL database.

The code is currently live and can be found at

The code can be found at


title : Perl Virtual File System

Started by Shevek VFS is a perl implementation of a virtual file system. Currently this project is still in its infancy, as such there is little code available.

Code that Shevek has approved can be found in CPAN under the package name of VFS.

(More on VFS)


title : Porting a 2.4 Kernel Module to 2.6

Having checked my logs, it would appear that people are finding my site when searching for how to convert Linux 2.4 kernel modules to 2.6. For the record it was the Omnibook module that I was involved with, which basically adds a /proc interface for some of the HP Omnibook and Toshiba Satellite laptops. All I did was get the 2.4 module to work under 2.6

If you're interested in porting a driver then much of the task is actually quite simple, and only requires only minor modifications to the Makefiles. If the required modifications don't do the whole job, then I'm afraid that your best bet is to read the kernel source to understand how the relevant APIs work. Much of the structure is really nice, honest :) an LWN article on the subject is very useful and explains the required modifications. Me writing any more would simply be re-inventing the wheel, and too likely tp add a bug somewhere.

(More on porting modules)