|
|
|
I write a lot of Python-related code for various reasons,
mostly for amusement and for work-related tasks. Thus, I have a lot
of small pieces of code that perform some very specific task. For the
sake of sharing, I make some of them available here.
Be warned that the following software is "hackerware";
documentation will usually be minimal, and all I can guarantee is that
the software sort of worked for me at some point in the past. Some of
them may provide excellent examples of how not to write
Python code.
You can e-mail me with questions about the things here, but I
reserve the right to reply "No idea; you're on your own."
- I once wrote a FastCGI module for Python, but no longer have a copy.
Robin Dunn has a
modified version of the code.
- A digital signature module called
digisign.py.
The TeX
documentation is also available.
It doesn't provide encryption, and so can be freely exported.
(Technical note: the algorithm used is Nyberg and Rueppel's qNEW
algorithm; I believe it to be unpatented and free for any use. Please
inform me if that's incorrect.)
- identd.py:
A script that implements the ident protocol, sometimes used for authentication by IRC or MUD servers.
- Simple
neural network code, which implements a class for 3-level networks
(input, hidden, and output layers). The only learning rule
implemented is simple backpropagation. No documentation (or even
comments) at all, because this is simply code that I use to experiment
with. Includes modules containing sample datasets from Carl
G. Looney's NN book. Requires the Numeric extensions. (If you'd like
to discuss a more general NN framework for Python, let me know.)
- Turtle
Graphics under PIL:
TurtleDraw is a subclass of
ImageDraw, and lets you draw on an image using Logo-like
turtle graphics. Requires the Python Imaging Library.
- Code
to compute the Hough transform of a matrix. The Hough transform is commonly used to find straight lines in an image; refer to almost any image processing text for an explanation. Requires the Numeric extensions.
- Here's a
package of Python code to play audio CDs on Linux. There's also a
module that reads WorkMan-format CD databases; eventually I'll write
a CD player...
- I hacked together a really lame S-expression parser; I abandoned the
S-expression approach to my problem after about an hour's work.
Neil Schemenauer also has written an S-expression parser in Python; it's probably of better quality than mine.
- qwk.py: A class to read QWK-format mail
packets. Many BBSes support downloading messages in QWK format.
- nsrv.py: A simple RFC-977 compliant NNTP
news server. Still a lot of rough edges, but it's already vaguely
useful. I keep meaning to make it use mSQL (or some other real database) for its data handling.
- TTF2MF is an unfinished Python program that takes TrueType fonts as inputs and output Metafont source code. No
more drought of TeX fonts! Unfortunately, I can't figure
out how to fill arbitrary enclosed areas in Metafont; if you know how,
feel free to pick up the program and complete it. There's also a class to read TrueType font files in here.
- While working on my TrueType-to-Metafont converter, I wrote a class to read TeX's gf-format font files.
It turned out to be useless for my purposes, and now sits here waiting
for an application. Anyone want to print banners in Computer Modern
Roman?
- There's also a very scattered interface
to VoxWare, the sound driver for Linux and a few other x86 Unices.
It's now quite out of date, and superseded by Tim Butler's OSS
module.
|