Have you ever spent an hour or two or ten leisurely chatting away in the chatterbox and suddenly had an overpowering desire to keep a log of the conversation? Or have you remembered something someone said in the chatterbox several days ago, and wanted to find the exact quote, only it was long since lost in the ether?

Worry no more!

Thanks to the Chatterbox XML ticker, I've managed to toss together a collection of PHP scripts that archive every single word uttered in the chatterbox and put them in an indexed, fully searchable database for your perusal and enjoyment. This thing still has bugs to be worked out and features to be added, so be patient, but it works for the most part. You can find the E2 Chatterbox Archive at:

http://ascorbic.net/catbox/

Update (4/2/02): ascorbic is now hosting and developing the catbox archive, since I don't have time anymore. Yay for ascorbic!

Update (5/31/01): There is now a table listing interesting chatterbox statistics. Most borged user, most talkative, and even most foul-mouthed. Enjoy!

Update (5/28/01): The chatterbox archive now includes a popup chatterbox window that will let you chat in real-time (like the Java chatterbox, only without Java). This only works on IE and Mozilla and requires that you have a login cookie set at everything2.com, but it's a very convenient way to chat without having to keep refreshing the entire E2 window.


Technical Details

The webserver is Apache running on Windows 2000. Every 15 seconds, a PHP script grabs the contents of the chatterbox XML ticker and parses it, then dumps it into a MySQL database. After the database is updated with new chatter, the script generates a static HTML file named 'main.html' containing the most recent messages.

Users can choose to use the popup E2 Catbox window as a replacement for the standard chatterbox interface here on Everything2. The popup catbox refreshes main.html every 15 seconds, keeping you constantly up-to-date on the latest happenings in the chatterbox. You can also send messages to the chatterbox from the popup window if you're using IE or Mozilla and have a cookie set at everything2.com.

Messages are kept in the archive for exactly seven days. Messages older than seven days are deleted. This is not so much to save hard drive space (even 20,000 chatterbox messages don't take up a lot of space), but rather to keep the size of the tables to a manageable level and keep from bogging down the database more than necessary.

Every 10 minutes, a PHP script is run which analyzes the archived messages for statistical information. This script generates a static HTML include file which you can see on the main page of the archive. Statistical analysis is done every ten minutes (rather than on-demand as users load the page) because it's very database intensive and the script takes around 15-20 seconds to run, which is unacceptable when loading a webpage.

In my random travels, I have just now stumbled across a node from earlier this year by chkno called Chatterbox Logger, in which he published a shell script for logging chatterbox conversations. I hadn't known of this before, but it appears he stumbled onto the idea before me. Credit where credit is due.