Programming

I discovered today that Moneygement won't accept unicode characters when someone adds transactions by email because of the editdist module I used to check it. Since I don't really need a fast function to do it (it's all eight-letter words on average), I decided to write my own Python version of the function and am sharing it here if anyone needs it (because I haven't found a Python implementation anywhere). It's released under a BSD license with attribution, meaning that I'd like it if my name was mentioned where it is used :)

Oftentimes, when you design programs or objects or anything else, you have to make sure that people who lack certain prerequisites can still use what you designed. They must not fail badly, and they must still be at least a bit usable in extreme circumstances. For example, a car's doors must always open from the inside, even if the battery is dead and the locks are magnetic. Therefore, the mechanism opening the doors must be purely mechanical.

This weekend I had no internet connection thanks to a DSL upgrade (well, more like downgrade, since I'm getting half the speed I got before) and since I had Python, PIL and a webcam, I decided to see what I could do.

After playing around a bit with PIL and motion recognition in images, I decided to write an image stitcher.

My newest creation, Gmail Checker, has just been released. You can get it from the downloads page.

Gmail Checker is (yet another) Gmail notifier. It sits in your system tray and checks your Gmail account(s), notifying you when you have new mail. It supports multiple (unlimited) accounts, Gmail for your domain, is open source (source will be posted soon) and has many customizable options.

It is written in Python using wxPython, which means it runs under various operating systems, but I haven't tested it on anything other than Windows. The current download link is a setup file that installs everything required to run it, which is why it's a bit large (3ish MB), but you can also just get the source (50ish KB) and run it anywhere were Python and wxPython are installed.

These past few days I realised I'm a bit rusty on my appication programming, having mainly programmed scripts and websites for quite a few years. I decided I wanted to go back to the good old Visual Basic days, but if possible without VB. Since wxPython is apparently the best toolkit available for Python, I decided to give it a try.

Needless to say, I was swamped. Sadly, despite the best efforts of the people working on this project, the documentation isn't exactly the best. I had no idea what to do, but I knew that I'd need an graphical IDE if I was going to design anything using this thing, so I downloaded Boa Constructor (get the CVS version).

If you're like me, you have probably stumbled upon PyPy by now, and if you're like me you didn't understand exactly what it is. If you're not like me, PyPy is a Python implementation written in Python, but, uhh, what does that mean?

The PyPy site isn't all that helpful. It says:

Google ads

(You can disable these if you log in)