this is part of as days pass by, by Stuart Langridge

My main code writing is JavaScript and the web.

Code for browsers, including sorttable, the JavaScript table sorter, is in Browser experiments: the DOM and JavaScript.

Below is other code that I've written for non-browser environments.

Mute your mic while you're typing, for Ubuntu
A colour picker for Ubuntu
A simple desktop magnifier for Ubuntu and other Linux OSes, shipped by default by various Ubuntu flavours
Ubuntu One for Nokia N9
Bringing the Ubuntu One service to Nokia's N9 phone
The Community-O-Meter
Available for your viewing pleasure, the code that runs the community-o-meter is in and
Crucially simple web forum software
Export F-Spot photos to LiveJournal
FotoBilder Python bindings
A Python library to access sites using FotoBilder, like, LiveJournal's photo hosting site
Apple's Dashboard for the Gnome desktop
Deskbar plugins
Various plugins for Gnome Deskbar, including Delicious Deskbar and Gmail Deskbar
An X Window System utility that takes an animated GIF movie of a window for a specified period of time. Useful for doing "screenshots" of something that happens over time.
A short script that prints a cover for a DVD case for a film of your choice. Requires Python, my hacked version of py-imdb, cdlabelgen, and gv. It will not work for you immediately; you'll need to poke the sys.path.append line for a start. Invoke as dvd-cover The Italian Job or similar. Note that the stuff you enter gets used as a search on the IMDB, so you could do dvd-cover python grail and get a Monty Python and the Holy Grail cover. If it finds more than one match it'll ask you about it.
Bloglines Monitor
A monitor for users of the Bloglines RSS aggregator who also use ROX; it's a ROX panel applet that tells you if you have any unread Bloglines feeds.
An automated command-line web browser for Python, something like Perl's WWW::Mechanize. There is a highlighted HTML version of the code too, and some documentation.
fc2rss, a thing to screen-scrape the appalling FirstClass web interface and provide the conferences as an RSS feed. This will be totally useless, and, indeed, meaningless to you if you're not an Open University student, I imagine.
A rough clock applet for the ROX panel.
Yet another "have you got mail?" applet for the ROX panel. It displays how much mail you have and how much of it is unread. Warning: it probably only works if you read mail using a local spool, and it's hardcoded to start Mutt when clicked upon. Stephen Kerofin has a nicer more configurable applet that does the same thing (but doesn't display your unread count).
A weblogging system which tries to be very configurable and is written in (and uses the power of) Python.
A script that transfers the specified file to your Sharp Zaurus. Get the Python code or the pretty coloured HTML version.
A script that works a bit like apt-cache but instead does searches of Freshmeat -- use "fm search foo" to display a short summary of packages matching "foo", "fm show foo" to show full details for package "foo", and "fm get foo" to retrieve the tarball for the package. Updated 2006-06-18 with patch from thp to handle spaces in things searched for.
Python talk
A Python talk I did for my Linux User Group. It's in KPresenter format, but can also be browsed in HTML.
No more annoying Flash messages in Mozilla/Linux
I got sick of Mozilla on Linux popping up a "download Flash" default plugin dialog box every time I hit a page with Flash on it. So I grabbed the Netscape Plugin SDK and wrote a plugin that handles the Flash mimetype (application/x-shockwave-flash) and then doesn't do anything with it! No more dialog box! Grab the plugin and drop it in your Mozilla plugins directory (/usr/lib/mozilla/plugins on Debian Linux).
The vodka is good, but the meat is rotten
Insane-ify your pages by translating them into a language and then back into English.
Embed Python in HTML. Castalian provides the Active Server Pages object model.
A system for building and displaying multimedia presentations. Think Macromedia Director. Long since abandoned.
Daft Window Maker dockapp I wrote -- ask your questions of the Magic 8-Ball! [Requires Python, Tkinter and Window Maker]
I had occasion to split a Unix style mailbox up into individual files, and I didn't want to install procmail just to get formail, so I wrote a quick Python script to do it. [Requires Python]
FTE invocation shell script
I use the FTE editor sometimes. It's nice, but its configuration mechanism is unutterably broken; you have to make changes to the config and then compile this into a configs file which isn't human readable. That's a major pain. So, instead, use this script, which recompiles on the fly if required, and gives each user a personal configuration. Copy main.fte from the config distribution to $HOME/.fte/main.fte, and then invoke FTE using this shell script instead. Note that this works for me. It might not work for anyone else. :-)
Plod -- a noddy database layer for Python
I needed a simple way of storing data from a Python script. Since I work with databases most of the time, I tend to think in terms of selects, updates, deletes and whatnot. I didn't want to install a real DB like MySQL or Gadfly, so I sat down and wrote a quick one, called Plod. You can think of it as standing for Python Layer Of Database if it makes you feel happier, although it's actually called Plod because PC Plod was the policeman in Noddy, and it is a noddy database ;-)
Files:, which depends on Laurie Tratt's (which had a homepage at once upon a time, but CSV itself has now been superseded by a more all-singing all dancing version.) I've made a minor change or two to to make it work for Plod, so use this version.
Examples of use can be found in and its associated datafile, data.csv.