October 31, 2006 03:06 | Cyborg / Technology / WebBlogging / WebTech

IRC logging, revisited

This afternoon I set up a "logger bot" which monitors and logs the GlobalVoices IRC channel.
About an hour ago, Karl showed me the log he tweaked for the Semantic Web Interest Group IRC channel and mentioned how he structured some of the data.

Now, let's think of IRC for a moment not as a place to chat with people, but rather as text entry point.. for whatever.

Ok not whatever, let's think of it as a task logger for small groups.

The IRC bot logs in chronological order everything entered intot he channel, timestamps it and records who "said it".

Say you have a team of people working on a project who wish to keep a log of the tasks they accomplish. Just type it!

"Fixed bug #234"
"changed the color of the links"

This is already doable, out of the box. I just need to set it up and let the team in.

But I want more.

Say our project has several departments: "design", "technology", "editorial", "management". Say also our project is really a bunch of smaller projects: "main site", "wiki", "intranet", "conference in Delhi". Or just you want to be able to tag things: "PITA", "fixed", "researched"... or, like in del.icio.us, you want "send" something to someone's attention: "for:mike", "for:karl", "for:francis".

The syntax should be stupid; in the IRC text input, for example:
# tech, aggregator | caching system is 98% done. I just added OPML flatfiles to the output

or send a task to someone:
# design, mainsite, pita, for:jer, todo | please install that gizmo plugin

I imagine it can't be hard to add the code to handle this functionality to this Perl logger bot... or any good solid Python one.

Did I say more?
I want it to pipe everything in realtime and timestamped, via whatever XML-RPC/Atom/FooAPI, preserving authors and tags, to WordPress. Why? Because WP is easy to theme and will output RSS feeds of any context you want: overall, per tag/category, per author...

I will put up the dev environment, help test and throw in... $50. Who wants to code this with me?

This setup could also be used for quick "tumblelogs" or "mumblelogs".

Ideally I'd want a Jabber bot instead but eh... if anyone's game... all the code is available, we just need to pack it up... another $50 for the Jabber version =)


You mean something a bit based on RRSAgent (perl) and a combination of Chumpbot (python). With the script to format the minutes and the actions (perl) because the format exist in RDF, txt and HTML, right out of the box. Actions Items are even recorded in RDF ;) that you can convert in ical too :)

OOOh yes and it is even plugged with an issue tracker (PHP) ;)

Oh btw if you think there are two many languages for the programs it doesn't matter, because what is important is… the format of data. :)

So basically not exactly as you said it, but it is the way we work. Remind me next time you come to Tokyo, to show you (shoyu) a bit more around a bol of ramen.

"I will put up the dev environment, help test and throw in... $50"
Hope you have readers in india :-p

Would be nice to have a plugin for Quicksilver so you can pipe stuff to the list without having the irc software open, must be something deep in OS X that can do that right?

Karl: cool, except while I agree with you in principle, part of the greater point is to have a nice easy package that is as simple and quick to dowload, install, configure and run as possible, without too much fuss and glueing pieces together. We glue it up once, and then package it up.

Pat: that's pretty cynical. ;p
Quicksilver Atom plugin.

woops seems to have disappeared. guess there was no interest. it worked quite well.

Anyways, like I said, I would rather have a Jabber bot myself, which I could assign to a GTalk account and add to my buddy list. IM is my #1 text entry point nowadays. ;)

I have yet to write IRC+Jabber input modules for Commutivity, but that has been on the list since day 1. Email-as-input (with attachment handling) is more of a priority since it'll make posting from my mobile device easier.

When you asked me why I "centralized" Commutivity, with one system receiving data and several "edge systems" pulling it out in real-time, mashing it up, remixing, and publishing it in whichever way they saw fit, I said that I wanted to build ONE data-receiver that knew how to receive data from web, mobile, Email, IRC, *whatever*, and not have to worry about it afterwords.

Anyway, what I'm getting at: if you're willing to develop or adapt something existing to capture and parse a sensible IRC input syntax and recast it in XML-RPC, RSS, Atom (ideally, make the output side easily pluggable/switchable), I'll help as time permits, and will also throw in 100$.

These might be good starting points:

1. http://inamidst.com/eph/noets

2. http://impressive.net/archives/fogo/000001c38a40$9b586f30$c384e640@virtuee184a4ea

IMO, the most important feature ought to be the ability to plug-in different ways to push out the logged, parsed/structured input data. Fortunately, the logging + parsing is a solved problem.