Here you find some software tools I've written.
Feel free to use whatever you think is useful.
Unix quickly became my favourite operating system.
There are many reasons, but the most important is the simplicity
and elegance with which Unix abstracts from the quirky details
of the underlying hardware and the clean application programming
interface it provides. Another reason is the simplicity with which
you may write tools that can be used as building blocks for larger
projects using one of the many scripting languages available.
The Unix spirit is probably best conveyed by Kernighan and Pike's book The UNIX Programming Environment (Prentice Hall, 1984). Despite the title, it is useful even if you are not a programmer. It provides an excellent introduction to using Unix. And it conveys the concept of "rapid prototyping" and the "Unix Philosophy" like no other text.
I've quick summaries of some aspects of Unix. There's a very nice and overwhelmingly complete diagram of Unix history on the Net.
The black Volvo was spotted in Toronto in October 2005.
Convert ESRI shapfiles (with extension .shp) to a plain text representation that is easy to read for both humans and machines. Optionally, you may also convert to Arc GENERATE format.
Printing jobs on networked printers is simple. Doing accounting on a per-page basis, however, is a delicate matter. Netprint is a tool to help with counting the number of pages that were actually printed as opposed to those that are in the job. Netprint is out of my pracc project and not actively maintained.
Identification numbers such as social security numbers, student registration numbers, and the International Standard Book Numbers (ISBN) usually include a check digit intended to catch common typing errors. Read about the check equation for ISBN and try isbnck to test if this equation holds for a given number.
Another check sum is used by the Swiss Matrikelnummer (registry numbers) for students. In case you're interested, here's how it works and legick is a small tool verify the check equation and to compute the check digit.
This is a tool for Unix shell scripting: atomically check for the existence of a file and create it if it does not exist, otherwise complain. Amazingly, I couldn't find such a tool, so I had to write one myself.
When system administrators create new users, they have to invent initial passwords for them, which is best done by a little program like mkpwd, which generates one or many passwords according to some specification.
One of the simplest ways to protect a file against praying eyes is to xor it against a short string of bytes, typically just one. Applying the same procedure again decrypts the file. Here is xorit, a tool to play with.
Internet Protocol (IPv4) address calculations became significantly harder with the advent of subnetting and CIDR. So you might want to read about IP addresses and use a tool like ipcalc to do your address calculations and a tool like ipmask to convert between various address masks.
Different operating systems have different ideas about how to represent the end of a line in a plain text file. There are three traditions: Unix, Macintosh, and DOS. Some editors let you choose the end-of-line convention to be used, otherwise, a tool like this one can be handy.
Note that all the stuff below is for Mac OS Classic.
It will not work under
Double click on a document's icon in the Finder and it will be
opened with the appropriate program. How does the Mac OS know the
appropriate program? What if your idea of "appropriate" differs?
Then you may want a tool
to comfortably change every file's creator and type.
The ZapRes utility makes it easy
to delete the resource fork of Macintosh files. In the Finder, simply
drag and drop the files you want to zap onto the ZapRes icon.
Have you ever wanted to execute your PowerPC code in supervisor mode on your Macintosh? There are at least two backdoors in Mac OS Classic, one of which is exploited in the BootX boot loader for Linux.
You bought a non-Apple CD-ROM drive and notice that Apple's driver doesn't recognise it? The manufacturer fails to provide Macintosh drivers? In fact, this happened to me but here's my happy end.
Long ago I owned an IBM PC running Microsoft's Disk Operating System.
An IBM PC's hard disk is partitioned in up to four parts, each may contain an operating system. To determine at boot time from which partition to start, a boot manager is needed. Quarta is probably the simplest such tool and fits completely into the master boot record, along with the partition table. Enjoy, but do so at your own risk.