
This page lists some minor packages I've written, including a minor
Emacs for editing Fortran 77, a utility to synchronize an FTP site
with a local directory, and a patch for a news server.
Prune Patch for Leafnode
- Language:
C
- Licence: Public Domain
This is a patch I wrote for Leafnode, which is a lightweight
news server. It is only of interest to people running Leafnode.
It adds pruning capability to the filters. Leafnode will maintain
a blacklist of killed articles, and will kill and blacklist any
article that references a blacklisted article. This means that
Leafnode kills not only the articles that match its filter criteria,
but also followups to them. This is great for when you want to forget
someone exists.
The patch is against version 1.9.19, but it might work for other
versions.
FCAP Minor Mode for Emacs
- Language:
Emacs Lisp
- Platform:
Emacs
- Licence: Public Domain
This is a minor mode for Emacs that automatically capitalizes in
Fortran 77, without needing to resort to CAPS LOCK. Also, it
conveniently doesn't capitalize inside strings and comments. I find it
extremely helpful and never program in Fortran without it.
ftpupsync
- Language:
Python 2.1
- Platform:
Unix
- Licence: Public Domain
This is a small script that can synchronize an FTP directory tree with
a directory tree on the local disk. It does this by maintaining a
catalog of everything it believes is on the FTP server; and updating
the catalog whenever it updates the files on the server.
In this way, you can have a mirror of (for example) your website on
your local disk, and whenever you make a change to the local mirror,
you can run this script to update the pages on your server. It will
make and remove directories as needed, and upload and remove files as
needed. Only the new and changed files are uploaded. Renaming a file
in the local mirror will usually result in that file being renamed on
the server.
Unfortunately, it only works in one direction: independently changing
a file on the server will not cause it to be downloaded to your local
mirror.
I put this script on my web page because I think people will find
it useful. However, it has a lot of loose ends untied. There's no
documentation; you'll have to read the source to figure out how to use
it. It won't work on Windows as is, for it uses some Unix-specific
calls, but it shouldn't be hard to modify it so that it will.
Finally, there is no built-in way to create the catalog. You'll have
to create the initial catalog yourself (maybe by modifying the script
to just output a check file).
I hope I don't have to say that I use this script keep this web
site up-to-date.
|