code
linux on cell
I'm currently working on the IBM Linux on Cell/B.E. team, maintaining the "spufs" module of the Linux kernel. I have some Cell/B.E. related work on the linux on cell page.
K42
K42 is a research-based operating system, designed for high performance, scalable behaviour on 64-bit processors.
Some of my current work on k42 is here
Netfilter Simulation Environment
This project allows Linux kernel netfilter code to be run outside kernel, and tested by sending packets through 'virtual' interfaces.
The main netfilter simulator page is available here
Patchwork
Patchwork is a web-based patch tracking system for open source projects. Patches (and subsequent comments about those patches) that are submitted to a mailing list are parsed and stored, and are listed on a website to allow the project's maintainer to update the state of each patch.
The Patchwork project is based here
feedbackd
feedbackd is an implementation of dynamic server load feedbackd in a Linux Virtual Server based cluster. feedbackd was initiated as part of my Honours project in 2002, and is still being developed to a lesser extent.
The main feedbackd page is here
kopete meanwhile plugin
The Kopete Meanwhile plugin enables Kopete (the KDE Instant Messenger client) to connect to Lotus Sametime Instant Messaging servers.
More here
toolchains
In the course of working on K42, I've needed to build a few toolchains, using gcc, glibc and binutils. With the sometimes-complex dependencies between these packages, I've built a few scripts to automate the process.
Details here.
bitfield decoding utility
This is a simple, configurable script to accurately decode the fields within a register, handy for working with device drivers.
More here.
malloc counter
One of my colleagues needed a quick way of determining the
peak memory usage of a process.
malloccount.c is a shared library designed to be
LD_PRELOADed, and prints out the number
of bytes malloc()ed in total and peak figures when a
process exits.
Also, this file will compile itself; just source it into the shell:
[jk@b4 tmp]$ . malloccount.c
gcc -Wall -Wstrict-prototypes -fPIC -D_GNU_SOURCE -ldl -shared -o libmalloccount.so malloccount.c
run as:
LD_PRELOAD=/tmp/libmalloccount.so <program>
And run as it says:
[jk@b4 tmp]$ LD_PRELOAD=/tmp/libmalloccount.so ls
libmalloccount.so malloccount.c
### bytes allocated: total: 25007, peak: 24048
Download here
Thanks to Jimi Xenidis for improvements
courier imapd to kmail converter
This is a little script I needed a while ago; it converts a courier imapd mail repository to one that kmail can read. Both programs use the maildir format, but have different sematics for folders-within-folders
Run as:
courier2imap.pl in-dir out-dir
Download: courier2kmail.pl