Code Projects

This is where I house minor code projects and packages, anything that requires more than one file. There are some ongoing works here, some old pickled works from long ago that everyone's forgotten, and perhaps even some useful things. Here are some of the top picks, sorted into Useful Code, Other Code, and Useless Code.

Useful Code

nftp - python FTP client

nftp is a command-line python FTP client that allows you to easily synchronise local and remote directories using FTP. Uploading a file is a simple matter of $ nftp account /path/filename. You can also chmod, delete, get, and update files on the remove server. The code is released under the GPL 2 license.

Status: completed.

valid - Validate With Logos

This is a service which validates the URI in the HTTP Referer header and returns an appropriate PNG graphic depending upon the validation status, so you can embed the image in a page that you want to validate and every time you visit the page you can see at a glance whether it's valid or not.

Status: completed.

meta - Site Metadata

This was an experiment with simple metadata for the site, allowing the annotation of files with title, description, and keywords fields. This enabled not only the serving of that data, but the generation of sitemaps, and eventually a virtual folder system based on site keywords. Sadly the project was not flexible enough to be worth maintaining, though the code itself is still of value.

Status: abandoned.

quality - Quality Assurance tools

Currently consists of just a XHTML 1.0 subset RELAX NG Compact schema and a Python script that was used to help generate the content model; but these two components are used in the validation of all the pages on the site, and this may expand in future to include documentation on how it was done.

Status: ongoing.

emano - simple term editor

The idea behind emano is that Python is a quick enough language to handle editing tasks, yet provides for rapid development and ease of extension. So, emano is a Python term editor, a bit like nano or vi, only not as fully featured as either of those yet. It has a lot of cool cutting edge experimental stuff crammed into it, and it's also pretty interesting with respect to its UI characteristics.

Status: ongoing.

wikke - world's smallest wiki

Written by me, Jim Ley, and Adam Wendt, wikke is or was the world's smallest wiki, written for a competition on the c2.com wiki, the world's first. A mixture of PHP, Javascript, and Bash, it only works on Apache with a loose PHP configuration and a decent PUT handler.

Status: completed.

rdf - random RDF utilities

This is where I worked on RDF after I'd done with the fairly popular pyrple and before I got started on its successor, so it contains lots of bridging code. There's some neat stuff in there such as an N-Triples parser and rdfdiff code.

Status: abandoned.

Other Code

sgmlid - identify SGML documents

Based on jjc's SP, this teensy bit of code reports the PUBLIC and SYSTEM Identifiers of SGML Documents. Written for the www-validator mailing list on 2004-08.

Random IRC Bots

For example, blogbot, noetbot, spellbot, teddybot, and utilbot all live in here, and are generally based upon the ircAsync.py interface written by Dan Connolly many moons ago. All in Python.

Useless Code

As for what else lies within, try the directory listing.


Sean B. Palmer, 2006-01-15