All software

generate-blog.py

The script that built this weblog's index page and its per-category RSS feeds out of one hand-written RSS file, 2007–2008.

2007Python

A small utility that creates an index page, with an RSS (external link, opens in a new tab) feed as source (v2.0). Categories are defined in the title, using a set of parentheses with the category name, for example:

<title>See my great title (foo)</title>

My first program in Python (announced here, in October 2007). The weblog of those years was one RSS file, written by hand; the feed was the database. This read it and wrote index.html: a list of the categories, a list of the feeds, and the entries grouped by category as date - title links, plus one feed per category under rss/. Since a post's category was the parenthesis at the end of its title, adding a category meant adding a parenthesis.

The page's header and footer are constants inside the script, "Referenced by" list and all, which makes it a script for this site rather than a tool. The generic version, written the next year as the worked example for a Linux Format article, is blog-py.

Where it is now

Still working, twice over. The index it wrote is, with the later years spliced in by hand, the file this site generates its blog listing from; it is the only record of the 2005–2008 posts' titles and dates. And the script itself runs unchanged under Python 3.14 (I tried it in 2026 against the 2008 feed, 117 items): one warning about an unescaped parenthesis in a regular expression, and the index and five category feeds come out in well under a second. The rss/ directory has to exist first; it will not create it.

One of the small utilities (2002–2007); the others are listed there, each with a page like this one.

Downloads

These are the original files, kept as they were published. Most are decades old and are here as a record rather than as working software.