Usually I will write about interesting technology projects or stories that I come across but I’m going to start out by talking about my own personal projects.

I was a professional developer for 12 years but I’ve not been paid to cut code since 2007 (to many people’s relief I’m sure). After that time I would start the occasional project but would always run out of steam before they were completed.

However, a few months ago, while between jobs, I started to get back into it properly and since then I’ve finished 4 projects!

The first one is The Great and Powerful Emailerator (github). This stores the names and email addresses of our friends and all the events and outings that Annie and I are organising. You can use it to invite people to things and then check which people have said they are / aren’t coming. If a person doesn’t specify which it is then after a few days it sends them a polite reminder, forever… Then it reminds invitees a week beforehand that it’s still happening. It’s proved very useful.

I bashed that out in PHP and Javascript, both of which I’ve known for some time. After that I decided that for the next project I would use it as a good reason to learn Python which has been on my list of things to do for ages.

So, I completed a project that I’ve been planning to do for ages and created a script the synchronises all of my photo folders on my PC with Flicker (github). It converts the folder structure to collections and sets (because no online photo site just supports simple folder replication – grrr!). Now all my photos can be found here.

The next idea came to me while I was on the phone to HMRC about my self-assessment tax return. The chap on the other end of the call was talking me through it and at one point said “can you tell me what you’re doing because I can’t see your screen”. It occurred to me that it would be possible for him to do that but usually this would involve software being installed on my box and although some free projects are available in this area the most widely used are quite expensive. I surmised that since the web pages being generated come from the same place as the advisor it must be possible to insert some code that would translate all key-presses and changes in form-state to an identical page on the advisors screen. So, I wrote a proof of concept program that does just that (github). It uses jQuery and AJAX to keep the two pages in sync. I’m considering pitching it to work to be something that could be developed (it’s still only a rough but working prototype) and used on real helpdesks.

Finally last night I finished my latest project. It surprised me when I checked recently that there’s no company that is providing a service that lets users use Twitter’s direct message system to hold multi-person conversations. Usually DMs can only be used for 1:1 conversations but I designed a system that lets people create chat-room-like channels (github). Users can create new channels, people can be invited (and have to accept before joining), people can leave or be booted off at any time and channels can be killed off. Once you’re a member what you say on the channel is broadcast, via DMs, to all other people on the channel.

I’ve certainly learned a lot and am looking forward to working on more things. However, now I’m back at work I have a lot less time – ah well. I’m not short of things to do since I have 27 other ideas in my project backlog! The highlighted ones I’m thinking of suggesting to my group at this year’s Young Rewired State if they don’t come up with their own project idea :-).