net-silc

Re-releasing net-silc code: double the fun?

In 2004 (6 years ago, or 2 eons of the internet age), I released some code that was almost useful to me a number of times, in hopes that someone else might pick it up and (if I got lucky) make it actually useful to both of us (or more!) at some point in the future. The code? Just a small perl utility, modeled after the excellent and well used Net::IRC, the basis for one of the most interesting, clean and modular IRC bots out there, mozbot. Except mozbot doesn't work in SILC, my preferred real-time chat protocol for many years.

At some point I realized that it would be feasible (and cool!) to replace the underlying API on which mozbot relied with a functional equivalent that spoke to a SILC server. I got very excited by the prospect of having a programmable utility automaton in my "virtual office" environment, without having to give up the secure and autonomous network community in which that office resided. This dream inspires me even today.

Alas, the "real world" of everyday life/work expectations and responsibilities crept in, and my office has become very much real and present. I spend very little time in any kind of chatroom these days, although I often feel it could still help a lot, even in a shared physical space. At any rate, the code languished here, on my tiny little corner of the web, until someone picked it up.

Releasing code is fun!

Today I realized that after an incredibly hectic week of work, I needed to permit myself an hour or so to do something "fun". What did I come up with? Hunt around on my various data archive media, looking for a small set of Perl modules that I stopped working actively on way way back in 2004. Clean that code up a bit, install a new module on this site, and publish it!

Net::SILC Perl API for silc-toolkit

This is an effort to implement a perl-based abstraction layer for the excellent (but unfortunately) C-based silc-toolkit package, ideally producing a functionally equivalent drop-in replacement for Net::IRC.

NB:This project has been in stasis for several years, and I'm posting this code here as an attempt to resurrect this project from certain death on my eternally crashing hard drives (at least we know google will keep a copy.. for awhile)!