The sys admin's daily grind: TTYtter

Twittering Machine


Twitter, so everyone says, is modern, fun, sociologically illuminating and otherwise useless. Even Charly feeds a budgie - but at the console, it's a question of style.

By Charly Kühnast

I like graphical clients - in fact, I would be lost without Thunderbird - but because I often spend hours in front of machines without X11, I keep on top of the good old command-line tools. For example, I love using the Mutt mail client, and both slrn for Usenet and Irssi for IRC run on a small root server in a screen session.

Recently, I added another animal to my console zoo: TTYtter [1]. As you might guess from the hybrid name, TTYtter is a non-graphical Twitter client. The Perl script uses either cURL [2] or Lynx [3] to connect to the Twitter API. TTYtter's author, Cameron Kaiser, who also happens to be a doctor, deliberately avoided special Perl modules like Net::Twitter so that he could run the tool on systems that are not allowed to download modules from CPAN.

I normally start my TTYtter with the following command:

ttytter -vcheck -ansi -wrap-user=Username:Password

The first parameter checks that my TTYtter version is up to date. (Kaiser is still polishing the client; version 0.9.5 was the latest when this issue went to press.) The -ansi option tells the program to use extended control characters - so the console can support a colored display, for example. The -wrap parameter gives me clean newlines after 79 characters by default.

Admin Style to the Max

After launching, TTYtter shows me the last 10 tweets and the last two direct messages. At the prompt, I can write another tweet and dispatch it. To use any of the Twitter API's other functions, I need to issue IRC-style commands preceded by a slash (/). Typing /trends displays a list of the current hot topics (Figure 1). Conveniently, TTYtter also provides a list of commands [1].

Figure 1: The TTYtter /trends function displays a list of hot topics.

Incidentally, it is not difficult to control the Twitter API directly with cURL. The line

curl --basic --user "User_Name:Password"--data-ascii "Blafasel""http://twitter.com/statuses/update.json"

sends the text Blafasel as a Tweet under my username. In fact, this example actually has a meaningful use. For example, I just twitter any status messages from my server that are interesting, as you can see in Figure 2.

Figure 2: VDR or the Asterisk server twitter moderately important status messages - via a Twitter channel in this case.
INFO
[1] TTYtter: http://www.floodgap.com/software/ttytter/
[2] cURL: http://curl.linux-mirror.org/
[3] Lynx: http://lynx.isc.org/
THE AUTHOR

Charly Kühnast is a Unix operating system administrator at the Data Center in Moers, Germany. His tasks include firewall and DMZ security and availability. He divides his leisure time into hot, wet, and eastern sectors, where he enjoys cooking, fresh water aquariums, and learning Japanese, respectively.