Software


Here's a load of software I have written or been involved in maintaining. As usual, a lot of these items are unfinished or in progress. As of Summer 2013, I've decided to include explicitly work-related software here too, which I've previously kept separate.

Most of my software is built in a Linux environment, and follows a common set of build instructions that I have devised and refined over the years. Give them a quick read if you can't work out what to do with a particular package.

Although I develop mostly on Linux, a lot of the code is portable Java and C. I've also developed a small amount of software for RISC OS. However, regrettably, I rarely get to use this operating system these days.

Current software

Balancing tools for Unreal Tournament Adjust bots automatically
Binodeps Makefile library for C/C++
BitHash Sort 32 bits according to significance in ARM assembly language
CARP An RPC mechanism based on REST-like calls
C Headers for RISC OS SWIs C macros for RISC OS software interrupts
Draw-to-SVG Converter A RISC OS utility to convert Drawfiles to SVG
Dynamic data structures Lists, trees, strings and hash tables in C
Edges Library Two-colour edge tracing
Jardeps Per-tree Java dependencies in Makefiles
Lusyn Parser for Java
Morse Code Utilities Tools for learning and decoding Morse Code on RISC OS
Nonogram Programs Miscellaneous puzzle-solving programs
Portable C event reactor Single-threaded management of I/O events
Railpro stuff Bits and pieces for RailPro
RISC OS Keyboard Tester A utility to test the keyboard for faults
Stecam Webcam with motion detection
Storisphere Cloud-based community video editing
VLAN VPN Manager Dynamically create VPNs into VLANs on one interface
Yacitros Yet another C interface to RISC OS

Empty packages

For one reason or another, these packages aren't publicly available, though I mean them to be.

CCML Component Compatibility Mark-up Language
Java Internet Tools Miscellaneous Java libraries for Internet applications
Mokvino Experimental macro processor alternative to m4
Mokvino Web Scripts for maintaining websites
Polydoclot Combine multilingual comments in the same source
RJM Restartable Job Manager
Snapjib Synchronize a photo album at multiple sites
SoundAsleep Control music while sleeping
SYN-cookie proxy DDoS protection for TCP