Hacks

Syngen

Syngen is a generator for syntax, or railroad diagrams. It takes files written in a special EBNF-like language, and produces the corresponding output files, which can be included directly (without additional macros) in LaTeX2e documents.

You can download the current Release 0.5 from this site.

CVS Mailing Script

As the capabilities of the log.pl that comes with CVS where not sufficient for me, I sit down and hacked a new one. It was especially designed to ease development in parallel branches, but it also includes some other improvements:

  • It uses the CVSROOT/users file (as described in Karl Fogel's cvs2cl.pl script) to map CVS user names to real names and email addresses.
  • It don't depends on an external mail program -- we use the Mail::Mailer Perl module to directly talk to an SMTP port.
  • It explicitly notes the current branch in a pretty printed header.

Usage is the same as for log.pl, e.g., in CVSROOT/loginfo:

^module/ (USER=$USER CVSROOT=$CVSROOT \
   $CVSROOT/CVSROOT/logmail -m someone@yoursite.com %s)

This script is available from this site.

Emacs Lisp Snippets

The following tiny Emacs lisp snippets are available from here:

  • To attack the problem (as described in the Gnus manual):
    The German version of Microsoft Exchange adds `AW: ' to the subjects of replies instead of `Re: '. I could pretend to be shocked and dismayed by this, but I haven't got the energy. It is to laugh.
    I created a lisp snippet which removes this annoying stuff.
  • As a Supercite user I implemented my own header style to get ISO 8601 compliant dates and other fancy things.