In praise of tircd

Twitter: hate it or loathe it,it’s tough to find a scholarly event these days that doesn’t insist on the importance of #unexpressivehashtags and @yourtwitterid on your #namebadge.

I don’t hate Twitter: it’s a nice source of research data. But I’m fairly ambivalent about using it, and part of the reason for that is that I’ve never found an interface that I really liked. Many of the popular Twitter clients died in the move to the 1.1 version of the Twitter API, which was essentially done by design as Twitter wanted to keep a consistent experience between clients, to be able to provide rich ‘cards’ (these things:, ‘media experiences’ attached to messages) and so on.

For myself, though, I want better information filtering. I don’t mind rich media experiences – I don’t particularly want one, but if one happens along then it’s welcome to take a seat – but I do have a real problem with the idea that I can’t filter tweets other than by search, author or hashtag. Specifically, I want to be able to ignore tweets about certain subjects: stuff I don’t care about.

The ability to apply Bayesian tweet filters, for example, would be nice. I’d like to be able to give higher priority to tweets from certain people and lower priority to others. Subject-wise, I’d like to stream tweets about stuff I currently work on into one ‘channel’, and relegate tweets about stuff that I merely used to care about into another. The blunt instrument that is following/unfollowing is not helpful here. The fact that work-related tweets from a subject in which I have lost interest may not be of interest to me now doesn’t mean that I want to ignore all tweets from that person, but it does mean that I don’t really want to read about that subject right now, if ever.

Enter tircd:‎. What a brilliant idea. I’m late to the party: it’s been round since 2009.

Twitter and IRC, converged

It fills me with nostalgia for the early ’90s, when I learnt about HTML and FTP primarily by asking a lot of stupid questions on IRC. That’s the text-based Internet Relay Chat service, for those who aren’t aware. You’d connect to it via client software such as mIRC, released in 1995, which made it almost usable. You’d have chatrooms, the names of which were prefixed by a hash, which you’d join by typing ‘/join #chatroom’. You could privmsg (send private messages). Originally there was no persistent memory for usernames, so if you fell off IRC then somebody else could steal your username and you wouldn’t be able to reclaim it until they fell off the net themselves. Nor was there any persistence for the chatrooms themselves. The first person to enter a chatroom had ownership over it and could invite and kick out other users. Someone who wanted to take control of the chatroom could do so by forcing the other guys off the server, then recreating the chatroom before they came back.

Over time, IRC developed into something pretty sophisticated. For a long time it was assumed that ‘what is said in the chatroom stays in the chatroom’, although occasionally people would publish logs for humour or drama or sociology or historical value. Occasionally larger aggregate logs were shared, the canonical example being IRSeeK, who caused all sorts of drama since the automated logging bots used by IRSeeK misidentified themselves as human users running mIRC: instead of talking in front of people, users found they had been sharing their thoughts with a search engine. Like a lot of this stuff, IRSeeK is gone now (although IRC still lives on).

With the exception of the expectation of privacy, which is pretty much dead now, Twitter and IRC have a lot in common. So much that some ingenious soul has written tircd, an irc server implemented in Perl that is capable of accessing Twitter and representing the incoming tweets as IRC messages. Twitter-specific concepts are handled via an IRC bot, which behaves very much like the eggdrop bots that serve and protect IRC channels.

Scripting Twitter

The real benefit of all of this isn’t just text-mode twitter, free from saturates and rich-media-card-promo-polyfilla. It’s the fact that the method gains you access to all the neat things that people with sufficient previous experience of the toolset can do with IRC clients. Most IRC clients, including console applications such as BitchX and ircII as well as GUI applications such as XChat, provide hooks on which automated scripts can be built. XChat in particular lets you write add-on scripts in Perl, Python and TCL.

Ten minutes after deploying tircd and one short perl script later, those annoyingly nerdy tweets have been filtered away. And I still get to read the interestingly, enjoyably nerdy tweets written by the same people.

Thanks, tircd+xchat. The old ones are the best…

Leave a Reply

Your email address will not be published. Required fields are marked *