My CPAN Modules
Last Update: February 14, 2004
CPAN is the Comprehensive Perl Archive Network. It's a great code resource for Perl programmers, and in general is of very high quality. Submitting code to CPAN is a bit of a rite of passage. I've written just a few things I thought others might find interesting, and have put them on CPAN:- File::LinearRaid [ v0.12 / June 30, 2004 / download / docs ]
Treat multiple files as one large seamless file for reading and writing, kinda like how linear RAID lets you treat multiple discs as one large seamless disc.
- Class::Tables [ v0.29_1 / July 23, 2004 / download / docs ]
Yet another object-relational DB wrapper class. This one does everything for you though. It looks at the DB's metadata to figure out object relationships.
- Algorithm::Evolve [ v0.03 / May 27, 2003 / download / docs ]
An extensible and generic framework for executing evolutionary algorithms. It's not meant to be comprehensive (yet) in terms of EA, but is a very flexible playground for intermediate-level EAs.
- Weather::Bug [ v0.01 / July 21, 2003 / download / docs ]
Get realtime weather reports where available. Allows your Perl programs access to the same live data used by WeatherBug.
- Acme::LifeUniverseEverything [ v0.02 / July 21, 2003 / download / docs ]
Just for fun! Makes 6 * 9 == 42 within Perl. Hopefully it goes without saying that you should never actually use this.
Perl Regex Fun
Last Update: October 13, 2003
Here are some constructions to prove that Perl's regex matching is NP-hard by reduction. By no means am I the first person to prove this claim (see below), but to my knowledge no one had reduced these problems. For more information on the Hamiltonian Circuit construction (like how it works), see this thread at PerlMonks.Some other links of interest:
- Mark-Jason Dominus' list of regex NP reductions has two other very elegant examples.
- Greg Bacon offers an excellent reduction using the k-clique problem.
Miscellaneous Stuff
Last Update: December 16, 2003
- bfserve.pl [ v0.10 / December 18, 2003 / download / docs ]
A DCC fileserving script for XChat2. After trying asoka to serve files, I was disappointed at how buggy and unmaintained it was. So I threw together my own script. If you find it useful, let me know!
- The firewall script I use, if you're interested. Just blocks incoming connections except on explicitly listed ports (22 and 139 for me). Very straight-forward.