I have compiled numerous bits of code a quick hacks which I am making available here for anybody who is interested. The code is unmaintained, but I will endeavor to provide any help I can as time permits. All this code was created to complete a specific task and may be written very poorly with little to no documentation.

These are all released under the GPL license

cygwin code snippets

Perl Tk on Cygwin

Getting Perl/Tk running under cygwin seems to be a constant pain. Until the recent perl release which went to a site/5.8 directory for modules, this was something that I went through every time I upgraded perl. I think I found the secret though. Apparently they dropped cygwin support in Tk804. You need to get Tk800.025 from cpan. Make test still reports a few errors, but the installation works for me.

Installing CRM114 on Cygwin

As is typical with installing anything in cygwin, CRM114 took some tweaking to get it to install properly. The CRM114 Discriminator is a "Controllable Regex Mutilator" according to their website. In engilish it is an complex and interesting tool to "examine incoming e-mail, system log streams, data files or other data streams, and to sort, filter, or alter the incoming files or data streams according to the user's wildest desires." Mostly it is used to sort spam.

Anyway, here is what I needed to do to install crm114 under cygwin. I used the 20040231-BlameYokohama version of CRM114. First, get the libiconv, gettext and procmail from cygwin. Then get the Mew from www.Mew.org (I used version 3.3.) Install mew-3.3 with cd bin && ./configure && make && make install. This will give you mewdecode and mewencode. From the CRM114 package cd into tre directory and install with ./configure && make && make install. Now, back in the main CRM114 dir, edit the Makefile to add the following lines somewhere after the initial definitions.

CFLAGS += -I/usr/local/include
LDFLAGS += -L/usr/local/lib
LIBS += -lintl -liconv

Finally, add $(LDFLAGS) to each of the compiliation step for the utilities (cssdiff, cssmerge, cssutil). It should look something like this:

cssutil: cssutil.c crm114.h crm114_structs.h crm114_config.h crm114_sysincludes.h
        $(CC)  $(CFLAGS) -c cssutil.c -o cssutil.o
        $(CC)  $(CFLAGS) $(LDFLAGS) cssutil.o -static -lm -ltre -o cssutil

Now run make and you should get everything compiled and left in the current directory.

Create File Associations in Windows

This is cool. I just came across a commandline tool for creating and listing file associations in windows. the assoc command will list all the associations and assoc .=txtfile will make all files without extensions text files (ie, README). Cygwin doesn't seem to be able to find assoc so it must be run from a cmd window.