Python-Markdown Tutorial Part 1: Adding InlinePatterns Insert and Delete

A tutorial which steps through creating a simple Python-Markdown Extension which slightly alters the Markdown syntax. Specifically, we add an inline syntax for <ins> and <del>.

Nosetests, Generators and Descriptions

I've recently been playing around with the nose testing framework for Python. It's pretty slick! With the various hooks for plugins, one can make it work pretty much however one wants. And what I especially like is support for generators. However, even with all this power, giving a meaningful name to each generated test is less than straightforward. Here are a few approaches that work.

Git, Interactive Rebase and Ubuntu

Ubuntu provides an older version of Git that lacks the interactive rebase option. Here's how I upgraded and got things working properly for total control of of my git repositories.

Installing multiple versions of Python on Ubuntu from Source

Here's how I got Python 2.3, 2.4, 2.5, 2.6 and 3.0 all installed and working on an Ubuntu VirtualBox.

Announcing Django-SpamBayes

I've just released Django-SpamBayes v0.1 which includes a few utility apps for Django that offer an easy to use interface to the SpamBayes statistical anti-spam filter allowing filtering and moderation (with training) of comments, contact forms and other publicly submitted data.

Currently, two applications are available: DjangoBayes, which wraps the Django model and provides the SpamBayes API; and CommentBayes, which is an add-on to Django's contrib.comments application and provides filtering and moderation of comments through signals.