Among other interests (network security, bushido and its application to modern business, and refinery IT), I’ve been working to learn Python. It’s a clean, easy-to-learn language with some syntactic quirks but extremely quick to get results.
To apply everything I’d read, I decided to write an IRC client. IRC (Internet Relay Chat) is a fairly straightforward protocol, and if you’re quick on the keys and can keep track of multiple discussions in your head, you can chat effectively with nothing more than a telnet client. Some of us, though, need a little help. There are many great IRC clients out there, but this was a nice DIY project.
There’s still plenty to do to make it perfect; there are a couple of minor issues with the message parsing, commands are still shown in their raw format, and so forth, but 1) it’s usable enough for me, and 2) programming in curses is evil. At some point the law of diminishing returns takes over, so that’s why this is 80% done.
The code includes the base engine for the IRC client, and a curses-based user interface. Right now, then, this only works on Linux machines. I may someday write a front-end for Windows, but see the previous paragraph. This is also released with a Creative Commons license (Attribution-NonCommercial, for those keeping score)
Thanks, and enjoy!
Download Python-IRC 0.5