Stavros's blog
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.
These last few days I've installed and been playing the Sims 2. For those of you who don't know it, it's a game where you manage the lives of various people (henceforth called Sims). You have to tell them to get dressed, go to the bathroom, take baths, go to work, flirt with other Sims, buy them the things they need, etc.
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.
Fans of Gmail Checker, rejoice. Your favorite Gmail notifier is back with a vengeance. The slew of changes I made in the last hour is a veritable deluge, but I will attempt to describe them in a few short sentences.
I return once more, with a startling proposal. In the scientific spirit that governs this here blog, I am about to shake the mathematical world to its very foundations.
The basis of what I am about to lies shortly after prehistoric times, when the ancient Greeks started drawing stick figures on the ground, and thus realised that the ratio of the circumference of a circle divided by its diameter is a constant number, and is approximately 3.14, as we all know.
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).
It is time for another one of my updates, and this time I bring you an important scientific discovery. I would like to bring to your attention a new logical fallacy, which I herewith name “argumentum ad urmomum”. It appears that noone else has ever thought of this name1, so I would like to claim it myself.
This last month I have grown very fond of Ubuntu. I have installed it on some 4 PCs around the house and at work, and it works very well (also, I love Beryl). While I haven’t completely switched from Windows, Linux beats Windows on a server by far.
One of the things I could never get to work is local hostname resolution under Ubuntu. None of the PCs I installed it on could resolve hostnames in the local network (LAN, for those of you who didn’t understand that other term). I searched for days and days, and finally I found how to do it somewhere, but now I don’t remember where.
If you know me, you’ll know that I like to waste my time on playing in my favorite MUD. If you don’t know what MUDs are, you have been born after 1970. MUDs are online multiplayer games (think WoW) but without all the graphics and fanciness. It’s purely text-based, so it takes a while to get used to, but the writing on good MUDs is great (and I mean novel-level, and not anything like the DaVinci Code or Men Are From Mars, Women Are Not) and their worlds are typically much much larger than graphical MMORPGs’.
So yeah, I particularly like MUDs because you can make bots that do anything, from fighting for you to running a casino (and you know that people are suckers for gambling), so I spend my time writing bots for MUSHclient, an excellent MUD client.