These pages contain software written by myself. Most of this software is licensed under the BSD license. Some of it falls under other licenses. Please make sure you read and understand the license before downloading or using the software.
Also note that most of my software is written for fun. I get it to the point that it does what I want and I leave it alone unless someone else has a feature they would like to see added. So if you like a piece of software and would like to see it developed further let me know.
For you Windows users first let me offer my condolences. Next let me offer you prebuilt Windows binaries for most of my software. If you see, in the platforms list, something along the lines of "win32 version avail." that means I've prebuild a version that should run easily on Windows. Just look for the .exe or .zip file with the correct version number.
One final note. Projects outlined in yellow are new or recently updated.
A simple tool for maintaining a change log for your software. I wrote this for work and it's just fit our need perfectly.
A really simply utility to run a service and make sure it stays running. Inspired by DJB's Daemon Tools but smaller / less configurable / less powerful / but easier to install :)
A console based calculator that does ErlangB computations for service rates, capacity and probability of blocking. Written in Eiffel.
A small web based contact management application. It makes it really easy to maintain a phonelist from anywhere. Stores all the usual stuff, searchable, categories, user authentication. Easy to setup and run.
A tool to combine news and comics from various sources into your own custom web pages.
A graphical utility for maintaining a SSH connection (w/ tunneling) to a remote host. It only runs on Windows. A really easy way to keep an encrypted tunnel to a remote Unix machine.
A nice simple image viewer that does slide shows with images contained in numerous subdirectories.
A nice little GUI wrapped around SQLite. It allows you to execute queries and view their results from a nice GUI. It's something like Toad but way less powerful. Probably be a handy tool for learning/teaching SQL or if you have existing databases to edit.
A quick utility for tiling images. I use it for tiling photographs of our daughter 2x2 onto a 4x6 image so I can print wallets at FutureShop for a fraction of the cost of having FutureShop's normal wallet pricing.
A very basic business accounting system for Canadian small businesses I wrote for myself years ago. Still works rather well I think.
A utility to pull a list of images off a webserver and randomly pick one of those images to be your wallpaper at some user specified interval. It's intended for showing off pictures of our daughter but can be used with other albums too. Not very polished but functional.
Project page for jTime a free crossplatform, web-based timesheet package. It is very easy to use and very easy to deploy. You can download the source and run your own server or just use my public jTime server.
A quick little python script that generates all my photoalbums.
A pure python replacement for the retired smtppush program. It basically looks like /usr/bin/sendmail but forwards mail to a remote SMTP server instead of requiring a local MTA.
A fun little arcade game where you try and tip the running cows.
A really old game a friend and I made in high school. It's kind of an overhead shooter game. The game play is rather addicting I think. It's written in TP7.
Like space invaders except the invaders are the icons from moreicns.dll and you have bigger guns. Part of my Windows bashing line :)
A quick little program that generates pretty fractal frost patterns.
The sequel to my legendary cow tipper game. This one features my brother-in-law Jared running across the screen and you have to tip him with a cow :)
A linux distro + music player taylored to building headless bootable CDs for playing music in a car or other mobile device.
This little utility converts text to speech but unlike similar utilities it does not do it through synthesis. Instead when you type in some text it will connect to Merriam-Websters online dictionary, download the pronounciations, and play them in sequence. Since the voices are not always the same and some words don't exist the results are quite funny.
A cross-platform clone of Binary Arts' Traffic Jam. It's an interesting puzzle game. This implementation has a hundred or so levels in it.
A cheesy little game resembling Moon Patrol that Anji and I built for my Dad's birthday. The story is something along the lines of Dad trying to visit us in his Minivan and navigating the horrible roads between our houses (yes, the roads really suck).
A clone of the popular You Don't Know Jack trivia game Anji and I did for her family. It includes quite a few family specific questions but also 1200+ generic trivia questions (you can choose family more or generic).
A quick little game for infants that basically plays different sounds when they hit keys on the keyboard and changes the screen colors in nifty ways.
A custom patched version of the Debian 2.4.20 kernel that includes the low latency patch, preemptive kernel, win4lin, and SKAS patches. The kernel is build for K7 (Athalon) machines and is packaged as a Debian kernel package. Should include drivers for almost everything as a module.
A library for storing objects to the file system in a very scalable way. It requires that your objects have some sort of hashable key. Assuming that they do it creates a hashed directory tree of the pickled objects. It should scale very high and will handle concurrency reasonably well.
A quick helper for using ANSI colors / cursor positioning in Python
A pure python implementation of the Rijndael cipher.
A wrapper for the Python XMLRPC library that allows for HTTP Authentication
A really useless library to encode arbitrary data into an image file. Kind of like a really obvious stenographic tool.
A really simple and easy to use time expiring e-mail address system for qmail.
A little standalone notary service. Provides a web interface to digitally sign short strings like hashes. Written using CherryPy.
A start at a full featured mail server suite (currently only a receive only SMTP server, POP3 server and a webserver) written entirely in Python. It's supposed to be simple to use, fast and cross platform. Unfortunately I got bored with this project and it's probably not going to ever be finished :(
A very simple mailing list package intended for smaller lists that don't have root access to the mail server. JMLM simply requires a POP3 account somewhere and a machine to run this script once in a while. It handles list subscribe / unsubscribe requests and is insanely easy to setup and use.
A self contained web application for running a course website. Handles student logins, online testing, grade books, news and file libraries. I used to use it for the class I teach at SAIT.
These pages are generated by entries in the JSM.