andrew ruder :: index
ZIRC - 100% Zsh IRC client Tags: zirc
Well, I was bored out of my skull this last weekend and I had talked recently with a person about the fact that ZSH had asynchronous file-descriptor polling support and builtin TCP connections. Well, these are the only two ingredients you need for an IRC client!
So, I proudly (sort of) present ZIRC. The only IRC client that I know of that is completely implemented and integrated into your favorite shell (zsh). "Big deal" you think, "Anybody can pipe a bunch of input into telnet and make a crappy IRC client." Well, my friends, ZIRC is 100% shell code. There is not a single command used in the entire source code that is not a builtin to zsh.
Not only is it a shell script, but this thing is actually *integrated* into your shell script. You're typing along some nasty 1-liner script to sort your mp3s by author and someone messages you. ZIRC interrupts you with a message from your favorite IRC channel, and then it goes right BACK to where you were typing. Beautiful! If you run mutt for a bit to check your email and someone messages you, it'll wait til you get out of the program to process it.
Yes... it is stupid, but I made it, and therefore, it rocks. Obligatory screenshot.
The source. Docs are at top.
And as always, have fun!
PAM Sessionrun 0.1 released Tags: pamsessionrun
PAM Sessionrun is a simple Pluggable Authentication Modules(PAM) module that can be used run a script on start and stop of a PAM session (i.e. login and logout). This can be used for several things including mounting volumes when users login, caching passwords for other services, enforcing a login script, controlling access to a machine via the return code of a script, and just about anything else you can think of. Please check it out on my new Sourceforge page. Thanks.
On a side but very related note, I am getting very tired of maintaining all these separate websites. I've got about 6 of them going now... :)