Ever wanted to have witty and pithy sigs attached to your e-mail and news postings, but got tired having the same old one attached every time?

That's where signature comes in. signature is a free, open-source producer of dynamic signatures for livening up your e-mail and news postings. It will allow you to sign your messages with a different sig every time.

The idea for the program came from an old Perl script in the Camel Book that demonstrated the use of named pipes.

This C implementation was written as an exercise in programming. I'm an experienced UNIX sysadmin, not a professional programmer, although back in the dark ages I used to program for pleasure quite a lot in BASIC (back when they still used line numbers), Pascal, Modula-2 and Z80 assembler.

In recent years, I've used Perl more or less exclusively, and - since it's such a flexible language - I just never got further than the basics of C. I decided to change all that recently and have been doing a lot of reading and sifting through C code.

signature is pretty much the first fruit to come of these labours.

Since this program is the work of a novice in C, please excuse any golden rules of programming that I've inadvertently broken in the code. Do feel free to inform me of them, however, and I'll endeavour to find a way to program more elegantly.

signature has been successfully compiled and tested on Linux 2.2.x. Early versions were also known to work on Solaris 2.6. Maybe the current one still does, but I no longer have access to such a box to test it.

The program was developed on an x86 Red Hat Linux 6.2 system.

Sources consulted during the development of this software include:

Beginning Linux Programming by Richard Stones & Neil Matthew (1996 Wrox Press ISBN 1-874416-68-0)

This excellent book gave me the lowdown on many of the techniques used in the code.

Linux Man Page HOWTO by Jens Schweikhardt and man(7) by Rickard E. Faith & David A. Wheeler.

These gave me the Linux standard by which to write my man page, plus many useful tips on producing documentation.
GNU Coding Standards by Richard Stallman
This very thorough document provided some excellent pointers on how to write the code. I can't say I agree with the whole document, however, so the code in signature isn't entirely compliant.
GNU autoconf & automake manuals
These explained how to create a decent build environment.
Software Release Practice HOWTO v2.0 by Eric S. Raymond
This explained how to go about releasing the package.

The software can be obtained as source code, or as a binary RPM or source RPM.

You can also view the ChangeLog.

The source code is available under the GPL 2.0 licence.