Life in Text Mode

I primarily use Unix-based computers, mostly Linux.  On those computers, I live in text mode.  This entry is an attempt to document the software I find most useful to my text-mode guerrilla lifestyle.  Included are links to the programs I rely on, links to alternative programs, and links to my config files.

screen (.screenrc, .screenrc-mithrandir).  Simply indispensable.  It slices and dices console sessions.  Pretty much everything I do, I do in screen.  For extensive details, see my ode to screen.

zsh (.zshrc, .zshenv, .zshprompt).  My shell of choice.  Think of all the good features of bash, ksh, and tcsh rolled together.  (Without much of the ickiness, particularly the csh heritage.)  Personally, the killer application of zsh was that fact that not only did it have context-sensitive completion but (unlike tcsh) it shipped with hordes of completion definitions right out of the box.  Type dpkg -L fo<tab> and zsh will autocomplete on the Debian packages currently installed on your system.  With an ssh-agent running, type scp otherhost:fo<tab> and zsh will ssh to the other system and autocomplete on the files available on that host.

irssi (config, theme).  The best IRC client I’ve come across, certainly beating out IrcII, BitchX, and even epic.  Multiple windows, extensible, tons of plugins available.

bitlbee.  This is actually an IRC-to-Instant-Messaging gateway.  It allows me to use AIM, Jabber, and the like from within my preferred chat program, irssi.

snownews.  curses-based RSS aggregator.  I shopped around a bit before finding an aggregator that I liked.  snownews does everything I need.

mutt (.muttrc, config directory).  Possibly the best mail client around, GUI or not.  While pine is okay (and simpler to use), mutt is much more customizable and scales better to large volumes of email.

procmail (.procmailrc).  Slices and dices my email.  I have procmail rewriting things so they’re easier for me to deal with, sorting my list mail into separate mailboxes (automatically; no need to add new lists by hand), and checking (and dealing with) spam.  Essential to my email usage.

Emacs (.emacs).  My text editor of choice.  Feel free to substitute XEmacs or vi (preferably vim) at your own preference.  I prefer emacs to vi, though I know a decent amount of vi, as any sysadmin should.  I actually like XEmacs a little better than GNU Emacs, but GNU Emacs has better UTF-8 support.

w3m.  Web browser.  Among other things, w3m does tabbed browsing, though it’s not multithreaded, so you can’t read one tab while another is loading.  It even has image support; run it with a valid $DISPLAY and it’ll render images on the page.  There are other text-mode browsers, most notably links.  I’m not tremendously familiar with links because w3m fills all of my needs.  (My original decision between the two came about because w3m had better HTML support, but I don’t believe this is any longer the case.)  The grandaddy of text-mode browsers is, of course, lynx, but it’s lagged far behind w3m and links in support for newer aspects of HTML.

moosic (config).  This is a music jukebox.  The features that distinguish it from other such programs are twofold.  First, it runs as a standalone server; you interact with it via a command line client.  (In theory, a curses or GUI client could be written, but to my knowledge none yet has.)  Second, it’s customizable with regards to how it plays music.  It has a config file where you tell it what programs to use to play various music formats (it does come with reasonable defaults).  A program with similar design is mpd.  mpd does its own music playing, which allows some advantages over moosic, but moosic has much better playlist management.

mplayer (config).  Okay, this is kind of a hedge.  I do indeed use it purely in text mode on occasion—it has better support for streaming media (usually mp3s) than any of the actual mp3 players I use.  mplayer’s main advantage is that it will play pretty much any video format I throw at it.  (I’m not quite masochistic enough to watch the videos in aalib, though.)

surfraw (.surfraw.conf).  surfraw is a collection of command-line based jumping-points to various web-based information, mostly searches.  For a quick google search, I need only go to a command line and type sr google <my search terms>.  (Debian uses a single program, sr, as a wrapper for all of the surfraw “elvi”.  On other systems, you would probably just run google <your search terms>.)

wget.  The swiss-army-knife of grabbing things off the web (and via FTP).  I’ve automated many downloads, some tweaked in interesting ways, with wget.

tdl.  Completely command-line todo list manager.  Along similar lines is DevTodo; I haven’t really played with it because tdl does everything I need.  Those two are both command-line based.  For more of a todo list editor, you might want to take a look at hnb or woody.  (Though, of those two, hnb has better support for todo lists.)

Those are the bigger programs that jump to mind most readily.  I use a host of other programs, too.  Listed briefly, they are:  less (pager), mpg321 (mp3 player), GnuPG (OpenPGP implementation) (options), aumix (volume control), teTeX (TeX implementation), pal (nice colored calendar with a number of features), bc (simple command line calculator), dict (actually a dictionary network protocol but their command-line client is also named ‘dict’), mp3gain (normalization of mp3s (ideally should be done non-destructively via ID3v2 but no one supports that)), netcat (connect directly to TCP sockets), BitTornado (bittorrent client; slightly nicer than the standard one), subversion (source revision control; nicer than cvs), abcde (CD ripper) (.abcde.conf), lame (MP3 encoder), nmap (portscanner), hping (packet generator), and tcpdump (packet sniffer).

I do normally run X; it lets me have multiple xterms on the screen at once.  For managing those xterms, I run ion (config directory), a tiling window manager.

There are a couple of GUI programs I use regularly.  I’ve already mentioned mplayer; you really need a pixelmapped interface to watch movies.  There’s also Ethereal, an excellent network sniffer and protocol analyzer (much nicer than plain tcpdump), and GnuCash, one of the best asset management programs I’ve come across.  (But see clacct for straight command line checkbook balancing.)  Oh, and Firefox, for those websites that just won’t work with w3m.


MTA Proposes Route Changes

I recently discovered that the MTA is considering shortening several of its bus routes, including that of the 31, the one I use most often.  Unfortunately, I didn’t hear about it via the MTA’s email announcement system, nor is it listed anywhere on their web site that I can find.  I read about it in an article in the Baltimore Sun.

For the 31, they’re planning to eliminate the portion of the route that runs between the Inner Harbor and Penn Station.  I have an issue with this because I use that portion.  I do things at night along Charles Street (which is one of the city’s more active regions).  Having a single bus to catch only a block away from my location is something I consider a good thing.  Without the 31 running through there, I would have to catch a different bus down to the Inner Harbor (and have to worry about inter-bus timing late at night) or walk several blocks (through Baltimore late at night) to the Light Rail (and then worry about train-to-bus timing).

I will admit that, at that time of night, the bus isn’t heavily used, but I’m never the only person that gets on in that segment of its route, either.  There are also generally a good number of people on the bus in the mornings when it passes the Convention Center and starts heading north.  That portion of the route is used, and cutting it out will only cause additional hassle for the many people that use it.

I have sent a message to the MTA regarding this.  I’ll have to see what sort of response I get.


Mostly Bike-Related

Bikes are a popular way to get around, and should compliment public transportation.  A recent Baltimore Sun article about Critical Mass has some rather discouraging comments about bike riding in Baltimore.  Amy wrote a rather scorching response.

In other news, the Light Rail has reopened the segment between Camden Yards and Linthicum.  The Convention Center stop (at least) still has posted notices saying that everything south of Camden Yards is closed.  It also still displays a schedule from before the double tracking started.


The MTA's New Website

The MTA recently launched a new website, one with which I’m quite happy.  It addresses many of the complaints I had about the old site, and is, in general, much more usefully laid out.

The most obvious change is the new layout of the front page.  They’ve replaced the old static navigation with a table showing the current status of each area of service: bus, subway, light rail, MARC, commuter bus, and paratransit.  For each of those, there’s a color-coded button indicating the general health of the service, followed by a brief line of text giving an overview.  If additional detail is available, there’s a link to the full description.  (And that link is a normal one—no opening in a new window and no javascript.  I’m pleased with that.)

Finally, the table has links down the righthand side to the schedules for each service area.  The schedules are arranged nicely, with HTML and PDF available for everything.

Also of note is the removal of the trip planner from the site, a move that was long overdue.  They say they’ll put it back up if they can get it to work.  (The MTA used nicer wording than that, of course.)


Blogshares

Well, it appears that I’m listed on Blogshares, so I’ll drop their icon into this entry to claim it.

Listed on BlogShares