Newsmap

newsmap is a visualization of Google News.  It gives you headlines in color-coded bands by category, sized by how many places are reporting the same story, and shaded by age.  This is information pornography of the highest order.  It uses flash.  It may accomplish what even Strongbad and weebl and bob have so far failed to do—get me to install Flash on my home computer.

newsmap comes from the same person who wrote social circles, which also looks interesting.  I may see if I can put together something similar with Perl and Graphviz.


An Ode to screen

Just a listing of the many ways that screen is indispensable to my way of using my computer.

The biggest thing is, of course, the fact that screen is detachable.  Start screen, start a program, detach screen while in the middle of doing something, log out, login later, reattach, program is just as I left it.  This works at a distance, too.  I can leave my home and go elsewhere (work, friend’s house, etc.) and be able to ssh to my home computer, reattach screen, and pick up exactly where I left off.

Second only to detachability is screen’s multiplexing capability.  A screen session can contain many different windows, each running a different program.  This allows me to have an entire workspace within screen.  I can have an editor in one window, working on some source code; a shell in another window, where I might be doing trial runs of the program; a web browser in a third window, which could be looking at some documentation; and so on.  My normal screen setup has 15 windows, which I use for various purposes.

I can specify what programs to run from screen’s config file.  So when I start screen, my default workspace is already seeded with all the programs I use regularly (text editor, IRC client, web browser, mail client, etc.).  I use this capability just to start some programs that I never even interact with, for example SETI@Home.  Running it within screen ensures that it’s running at all times (I always have a screen session running) and only one instance is ever running (I do everything within one screen session).

I can attach to the same session multiple times.  So my customary graphical workspace is three xterms, all attached to the same screen session.  This gives me more visual real estate, while allowing me to be very flexible.  The windows displayed by each of the xterms change depending on what I’m doing at the moment.

Screen understands several different character encodings.  I run all of my programs in UTF-8 mode.  When I’m attached to my local xterms, screen passes the UTF-8 characters straight through, because the xterms can handle it.  On friends’ computers, screen translates the UTF-8 into ISO-8859-1, showing all the characters it can and filling in question marks for those it can’t.  Likewise for my serial terminal, which uses a CP437 charset.  (I’ll admit that that last took some work on my part.)

I can also input most Unicode characters via screen’s digraph support.  Press the right escape characters, enter an RFC1345 digraph, and whatever program I’m currently using gets a UTF-8 character.  (This also took a little work—I had to patch screen to get digraph support for non-ISO-8859-1 characters.)

Screen keeps a separate scrollback buffer for each window.  I have it set to keep a very large number of lines, which has come in useful on several occasions, especially since you can search through the scrollback buffer.  (“What was the exact output of that command?” ::search::  “Ah, that was it.”)

I’ve used screen’s monitoring capabilities a lot.  It can watch a particular window and notify you when there’s new activity (“Oh, something happened in that log file.”) or when it’s been silent for a time (“Oh, that long-running compile is done.”)

Screen supports having a caption line across the bottom of the screen.  I use it to give me an omnipresent clock, as well as showing me info on the current window.  The capability also exists to run arbitrary programs and put their output in the caption.  On my laptop, I do this with information on the current state of its battery.

Instances of screen can be password protected, to prevent others from getting at your programs.  I find this feature useful when using screen in a semi-public area where I might need to leave the computer for a time.

There are some features that, while not mind-blowing, are just nice to have around.  Normally, when the last program in a window exits the window closes.  With zombie control, the window remains, and you can restart the program with a single keypress.  Very useful for windows dedicated to particular programs.

While I don’t use it regularly, screen’s multiuser support has been useful on a couple of occasions.  When doing some collaborative programming, I created a single, multiuser screen session, and all of us connected to it.  It proved very useful for sharing information among the group of people.  (“Just go over to window 7, where I’ll show you how feature X works…”)

There are, of course, plenty of other useful aspects to screen.  These are just the ones that I rely on or have found myself relying on.  I encourage anyone who uses a command line regularly to give screen a try.

For further information:


Trainsched Schedules

In order to use trainsched with the MTA’s schedules, I had to write my own programs to parse the MTA’s HTML schedule pages.  The results of that work are now on this website.  Share and Enjoy.


Odds and Ends

I was googling around the other day and came across this bus rider’s guide.  It’s got a lot of useful information in it, especially for people who aren’t familiar with transit systems.

The same session also netted me a set of good practices for transit web site design.  Guess who falls flat on almost all of them?

The MTA’s been rumbling about implementing a fare system called SmarTrip, which, I gather, is to be similar to the system DC has, where you pay varying amounts of money for the distance you travel and the services you use.  The MTA’s website now links to http://www.marylandsmartrip.com/, which is a completely useless website where almost every page is blank, save for the sitewide dressing and an “under construction” graphic.  Completely aside from the fact that it’s not 1995 any more, perhaps they should have held off on putting the site up until they could be useful with it?


Other Subways

From IRC:

<vees> http://www.fakeisthenewreal.org/subway/index.html
<knarphie> ya know vees, I really should send the guy a one cm diagonal line to be included as the baltimore subway

Sad, but true.