Python

I like Python a lot, even if I can't claim to be any good at proper object-orientation such as Python appears to be based around. It's simple, it's elegant, it's clean... and most importantly, it's very powerful. Here's what I've managed...

SpamCubed, a University mass mailer

SpamCubed (for Spam3) is an update of PyFishBox, one of the first programs I wrote in Python, originally to send out a generic list of birthday invitations. Using the University mail server, it sends out e-mails without making it obvious that a large list of people has been targeted. Just as usefully, it is capable of running addresses through the University's online contact search (to verify that they exist) before sending. I wrote it to help me send out lots of birthday party invitations, making sure I hadn't misspelled any names - however, an unfortunate side effect of the trusting nature of mail transfer protocols is that mail can be 'spoofed' and appear to come from virtually any address.

It has a fully-fledged command-line interface and can load and save data from files. It is, however, very specifically designed for Oxford University and University-style email addresses, so may not be suitable for other applications.

Licensed under a BSD-style license.

Download/ View Source - it's labeled with an additional .txt extension to allow it to render in a browser.

CGI Obfuscator

Use the CGI obfuscation methods! The obfuscator was something I initially wrote in Safeperl, to try out on University webspace, because I was playing around with simple encryption at the time. A little obfuscation can be helpful sometimes, so I've ported it to Python and put it up here.

FerretBrain

The back-end for FerretBrain.com was written by me. Entirely in Python. I looked around the web for solutions that would fit my bill, and then modules that would fit my bill, and found just a couple: the meld3 templating system, and of course the MySQLdb interface to the database server. The rest of it was written from scratch, though admittedly not without a lot of ideas (and in one or two instances, code) borrowed from somewhere else.

Viverra

Having failed to find an appropriate solution for FerretBrain, and wanting to learn how it all works, I wrote my own framework, the website for which is here. If you really want, you can also have a look at the code on Gitorious.

Posterous API Client

Largely as a lightweight coding exercise, I've spent some time tossing together a client for the Posterous blogging site's HTTP API. The aim is to build a Pythonic library that does the work, and a command-line (and perhaps eventually a GUI) frontend to it. Still very much a work in progress, but up on Gitorious all the same.

Mini-Apps

The 'apps' subdirectory of my site is run on Viverra, and it's pretty much a random collection of little web applications in Python, some of which do useful things and most of which don't.