Programs

Memento - Remember Stuff

Memento is a Windows program to let you keep track of small pieces of information as if you had lots of those little yellow sticky notes. It's probably had the most development effort of all my programs, which is why it's easy and convenient to use.

FastFind - File Searching

FastFind is a Windows program that allows you to find files quickly on your hard drive - it is much faster than the usual Windows file search utility, but it does rely on being able to build an index regularly (for example, every day). Using this system, it is possible to find files in just a few seconds (and I mean a few) as opposed to the Windows find system, which usually takes minutes on my PC to find a file.

SwitchMCE - Media Center Screen Management

SwitchMCE is a Windows program that lets you configure your Media Center remote control to cycle the Windows Media Center output window around all the screens attached to your Media Center PC.

This means you can have, e.g. 2 screens attached to your MCE PC, and be able to move the output onto the screen you want to watch just by pressing a button on your remote control. Yay!

Decent FreeSpace - Monitor Hard Disk Space

Decent FreeSpace is a Windows program that monitors disk space on hard drives of your choosing, and optionally alerts you when disk space runs low.

F2 - File Renamer

F2 is program for automating the process of renaming files. I wrote it to cope with the thousands of badly named mp3 files I have, but it can be used for just about any rename purpose. You can use regular expressions to parse the filenames, and use tagged expressions to generate the new filenames.

F2 shows you exactly what it is going to do before it does it, and supports full undo of renaming if you don't like the results. There's some rough edges at the moment, but it works well enough to use it. Soon I hope to add history buffers to the rename fields (so it remembers your regular expressions, etc), and possibly after that I will add some more sophisticated rename features. It depends how much Yoz nags me.

UKPCKeyboard - Patches Mac OS X to use a UK PC keyboard

UKPCKeyboard is a kernel extension for Mac OS X 10.1.x that swaps some of the keyboard codes around, to allow you to plug a PC keyboard with a UK layout into a Mac running Mac OS X, and have the keys generate the correct characters. I wrote this to save my sanity, as otherwise the @ and " characters were swapped (amongst other crimes against humanity).

Defunct Software - How Sad

The software listed below was either never finished or never started. Let me know if you're interested in them. Currently I'm not, sadly. There is only so much time in the world.

Marvin - Installer (Defunct)

Marvin is an installer program that is designed to be simple and easy to use, both for the developer and the end-user. I developed this program at the previous company I worked for. The company released the source code under the GPL, and I hope to be continuing development of this installer in my spare time. The next features on the list for the installer are compression support, and possibly some simple scripting support (most likely using the Lua language).

Note: I gave up on this as I don't trust the company I worked for not to get all pissy and claim they didn't release the software under GPL after all, and I'm buggered if I'm going to sink any of my time into something someone can come along and take away.

Besides, just use InnoSetup - it's pretty good.

Two Cans - IM Client (Defunct)

Two Cans is an IM (Instant Messaging) client, similar to ICQ, AIM, etc. I started writing it because I was annoyed with the user-interface clunkiness of the IM clients I tried. Two-cans is intended to be protocol agnostic, and to actively support the concept that your contacts can have multiple routes to contact them (ICQ, AIM, MSNIM, SMS etc), as opposed to just supporting all the different protocols as completely different users (e.g. in the way that Trillian does).

Note: I stopped working on this (I got it working with MSN at a basic level) because I just don't have the time to play protocol catch-up, and in many cases it involves some of the services deliberately breaking protocols for 3rd party apps. Now I just use MSN because everyone I know uses MSN anyway, so I don't need multi-protocol support so much.

Twix - MSN IM Server (Defunct)

Twix is a program I have written to help me develop Two-Cans. While investigating IM protocols, I was surprised to find that no-one had implemented simple servers to test their clients against. Therefore, Twix is essentially an MSN Instant Messenger server. Most of the IM servers (e.g. ICQ and MSN, amongst others) will not let you log in very often, which makes testing IM clients a bit tricky. While developing the server, it occurred to me that having a fully functional MSN Messenger server was quite a useful thing to have for other people, not just myself - for example, for companies that want a secure instant messaging system within their company firewall.

The name Twix is an in-joke - due to the annoying adverts in the MSN Messenger client, a friend of mine started calling it KitKat Messenger (because the adverts were for the KitKat chocolate bar). When starting development on the server, I decided to call it Twix as a joke. However, I fully expect to be contacted by Nestle lawyers* anytime soon and be threatened with death unless I stop calling my server 'Twix'. Such is life.

Note: This was actually quite fun to work on, and taught me a lot about networking in general (and also how to design a network protocol - Do's & Don'ts, sort of thing), but given I'm not working on TwoCans right now, I don't need this to work either. It does though, but the protocol is now several versions out of date.

* I know, Nestle don't make Twix chocolate bars. I was kidding. Everyone knows they're made by Rowntree.