This weekend I wrote a Link Shortening system. It's pretty slick. It's shorter than some, but not all (only because of my domain name). I've got it up here in sort of a beta system. Though it will remain there for good. My real reson for writing it is to release my code, something that people don't seem to do when writing link shortening systems.
I wrote this thing using MVC via Class::DBI. It currently sits on mysql and the schema is specific. I generate keys before hand, not on the fly. Currently there are 250 thousand keys but I can have more than billions by generating more. I cache urls and have a program to weed out bad ones, which I may run in the future. It's a neat little system and it didn't take long to write at all.
Once I write the XML-RPC server I'll write an interface for the WWW::Shorten API. Then I'll have to document what I've done, perhaps even test, and get it out there for use on intranets and personal web sites galore.
Boogie Machine (Rough Mix) - "Cheapskates - Softer Side - Compilation" - The Company