Interesting things were always going on at MIT (they still are). One of the oddest events that I ever participated in was when I was a graduate student there in the sixties. It was an "Amateur Subway Riding" run, class A, in which an attempt was made to cover the entire right-of-way of the New York City subway system as quickly as possible. The image to the left shows only a portion of the system - click on it to see a complete map (return with your "Back" button).
I should emphasize that while this tale of the event is told from my point of view, I only played a very small role in it, one of many volunteers helping out. The operation was organized by Peter Samson, who became a fairly well-known computer "hacker" (in the original sense of the word). He was involved in so many things that he's already been mentioned in quite a few of my previous blog entries. You can see his report on the event here. Note 1
In class A amateur subway riding, the objective is to cover every section of right-of-way of the New York City subway system in the smallest amount of time. You must enter the system with a single token, and complete the run without ever leaving and reentering the system. The rules rigorously defined what is and is not a separate section of right-of-way. For example, in some places the express tracks on a line are far enough away from the local tracks on the same line to be designated a separate section of right-of-way. But in general, all the tracks on a given line, express and local, are close enough to be considered to be part of the same segment that must be covered.
Let me note here a fact that is not even known to most New Yorkers: the entire subway system runs on a schedule, and this schedule is available (or at least was available) to the public. The calculation of the optimal route did not just involve general information such as "Trains on line X between the hours of 7 AM and 11 PM run at approximately 15 min. intervals". The calculated route in fact specified particular trains with specific departure and arrival times. And for the most part, the trains do run fairly close to their scheduled times.
Samson used a computer program to calculate the optimal route. He wrote the program in the language LISP, and ran it on a PDP-6 mainframe computer, like the one shown to the right. Although the PDP-6 was state-of-the-art at the time, a modern laptop computer has thousands of times the computational capability, and thousands of times more memory.
The particular PDP-6 used did have one of the largest memories available on any computer at the time. Built by the company Fabri-Tek, it contained 262,144 36-bit "words" (called "256K" words), or in more modern terms, a bit over one megabyte. I wrote about it in an earlier blog entry entitled Moby memory.
The unique aspect of Sampson's subway run was that, possibly for the very first time, the same computer program was used to recompute the route any time some problem caused a deviation from the route originally calculated. These days, of course, GPS ("Global Positioning System") units do exactly that routinely - see a previous blog entry whose title is, in fact, Recalculating! While GPS units won't work underground (they require line-of-sight contact with orbiting satellites), today the party doing the run could carry a portable laptop computer capable of recalculating the remaining route.
But in the 60s (this attempt was made on Wednesday, April 19, 1967), that was absolutely out of the question. Any recalculation had to be done by a large mainframe computer that couldn't possibly be carried along. In particular, the computer Samson used was owned by MIT's Artificial Intelligence Laboratory, where Samson and I were both graduate students. It was physically located in a building in Technology Square, in Cambridge, Massachusetts. The use of the computer was officially approved by Prof. Marvin Minsky, director of the AI lab.
Doing the computation at a central point meant that information had to be communicated to and from the party making the actual ride. Again, nowadays, that would be easy. Although subway tunnels are underground, and many of them are made of steel, there are now many cellular telephone base stations within the system, so that cell phones can be used in many places inside the subway. In 1967, there were not only no cellular telephone base stations in the subway system, cellular telephones didn't exist at all. Short range "walkie-talkie" radios could be purchased, but in general they would not penetrate into the subway system below ground. How do you get information to people riding on subway cars?
Before they started to be eliminated due to the widespread use of cell phones, pay telephones were available in virtually every subway station (in those days, the phones were usually in closed booths with folding doors). But since the objective of the run was to cover the system in the shortest possible amount of time, it would have been counterproductive for the party to stop traveling in order to make a telephone call. Nevertheless, these pay telephones were our means of communication. Here's how it worked:
First, a "data center" was set up in the MIT Alumni Center of New York, where a teletype terminal was linked via a leased telephone line to the PDP-6 computer at MIT. The computer terminal was in New York so that the myriad telephone calls required during the run would be local calls, within the city. In the sixties, "long distance" telephone calls (such as a call from New York to Cambridge) were considerably more expensive than local calls.
The full ride was made by George Mitchell and Andy Jennings. In what follows, I'll refer to them and anyone traveling with them as "the party". Only Mitchell and Jennings were riding all the way - there were two of them in case one had to drop out for any reason. But a large number of other volunteers participated, and at any given moment a few of them were riding with the party. Anyone in that role was called a "reporter" - you'll see why below. You'll notice that Peter Samson himself was not part of the party making the run. He was located at the data center.
Obviously, to make the run in the minimum amount of time, it's best to start at some remote station, and end up at a different remote station. That means that the two long stretches of track running out to these stations don't have to be covered twice (once out and once back). Thus the run started at the 168th Street station on the Jamaica El ("elevated line"), among the farthest-east stations of the system, in the borough of Queens (that particular station has since closed).
I started out as a reporter. That is, at the start of the run, I was riding with the party (you can click the photo to enlarge it, and return with your "Back" button). The picture to the left shows me at the start of the run, nicely dressed in a jacket and tie, wearing an overcoat against the April chill, and carrying my clipboard and assorted documentation. The photo was taken by my mother, Rose Krakauer, who dropped me off at the station (not a very long drive from our house in Great Neck, although the house was in Nassau County, not New York City).
As long as the party was able to remain on the most recently computed route, the reporters simply came along for the ride. But suppose something went wrong. For example, for one reason or another the party might miss a train that they were supposed to take. They would then drop a reporter at the next station, and he would use a payphone to report what had happened.
The reporter also passed on what the party intended to do next, which was generally to get on the next train to come through the same station, and follow the previously computed route one train behind the schedule. The data center needed to know where the party was at all times, in order to get information to them (such as the revised schedule, when it became available). The status of the reporter dropped off by the party then changed from "reporter" to "messenger" (the role of the "messengers" will be described below).
Even if nothing went wrong, after a time the party might drop a reporter to keep the data center informed of their status. Besides, the data center wanted everyone to have an opportunity to be both a reporter and a messenger at some point during the run. Thus, although I started off as a reporter, riding with the party, I eventually got dropped off at a station and my status changed to "messenger".
Most of the volunteers not riding with the party at any given moment were called "messengers". They were scattered around New York City, in stations ahead of the party (that is, they were at subway stops the party was scheduled to pass through a short time in the future). These messengers were dispatched to their stations by the data center. Upon arrival, they would find a group of phone booths, and write down the phone numbers. They would telephone the data center, read them the list of numbers, and then hang up and await further instructions.
The data center was constantly repositioning the messengers. After a train carrying the party passed through a station, messengers in that station would be repositioned to a different station that the party would pass through at a later time. A messenger would receive a phone call telling him where to go.
Unlike the party itself, the messengers were not restricted to remaining within the system. To get where they needed to go, it was frequently faster for the messengers to go up onto the street, walk (or even take a cab) to another station, and reenter the system using another token. All the messengers carried with them a large number of subway tokens, and a large number of dimes for use in the payphones (yes, a local phone call in those days cost only a dime).
The messengers, of course, didn't have the big picture at all. They only went where they were told, called in their payphone telephone numbers, and awaited instructions. The messengers did have maps of the more complex subway stations, so they could quickly find the proper platform as needed. In order to keep telephone messages short, everything was encoded. Each station had a number, so that the full station name didn't have to be used over the telephone (the station information we carried, of course, allowed us to convert that number into the actual station name that we would see on signs).
When a problem was reported to the data center, the information would be entered into the PDP-6 computer, and a new route would be calculated. This could take quite a while, as the PDP-6 was nowhere near as fast as a modern computer.
Actually, a modern GPS unit like the one seen to the right contains a computer many times more powerful than the huge PDP-6, and it computes routes in a matter of seconds. My Garmin Nüvi 1370T GPS unit measures 12 cm. wide by 7.2 cm. high by 1.6 cm. deep (4.75 X 3 X 0.625 inches).
But eventually, a new route would be printed out. The data center would then call a messenger ahead of the train that the party was presumed to be on, and read him the initial part of the updated route (the full route might come along later). At that point, his status changed from "messenger" to "courier". The newly created courier would be given a coded station number, and a "cut-off time". He was told to go to a particular platform in that station, wait for the specified cut-off time to pass, and then board the next train that stopped. If all went well, he would find the party in the first car of that train. Having delivered his message, he then became a "reporter", riding with the party until needed. Often, several couriers were used, to be sure the updated route got delivered (particularly if the data center was in doubt as to which train the party was riding).
On one occasion when I was a courier, I found myself instructed to meet the party on a particular train. This was on a line in which the trains ultimately branched off in several different directions, so the trains were designated A, B, C, and D. These letters were prominently displayed on the front and sides of each car.
As I was standing on the platform waiting for the train, a woman approached me. Perhaps she picked me because I was reasonably well-dressed. Or perhaps, since I was also carrying a clipboard, I might have looked somewhat official. In any event, she asked me if I knew which train she needed to take to get to a particular destination. I knew the answer to the question, because that happened to be the train that I was meeting (I did not possess the entire subway schedule, of course). I told her that she needed to take the D train, and that one would come into the station in 1 minute and 37 seconds.
At that, she looked at me oddly, and although she thanked me for my help, she started to back away from me on the platform. As I noted above, most New Yorkers have no idea that the subway trains run on the schedule, and even if they do know that, they certainly have no idea what the schedule is. The notion that anyone could tell you precisely when a particular train was going to come in to the station must have seemed pretty bizarre.
But 1 minute and 37 seconds later, the D train, precisely on schedule, pulled up to our platform. The woman and I both got into the first car, although through separate doors, and she watched me meet a group of people who were clearly expecting me. She looked rather startled. For most people under most circumstances, setting up a meeting on a subway car is out of the question.
Used as a courier on another occasion, I found myself rejoining the party late at night, once again becoming a reporter. This happened to put me on a train going out to Far Rockaway, where we arrived at around three or four in the morning, if I'm recalling correctly. The train shuttled between Far Rockaway and Rockaway Park Beach before heading back into the city. Note 2
Some motormen and conductors tried to strike up a conversation with us during one of these long stops (the train was a bit ahead of schedule, and couldn't leave for a while). They clearly were aware of what we were doing, but according to the rules we weren't supposed to try to influence them in any way, nor were they supposed to try to affect our time by leaving early in order to help us out, or perhaps by leaving late to cause us problems. But a group of MIT students all together, carrying clipboards and other documentation, were pretty obvious.
The run ended up at Pelham Bay Park 25 hours, 50 minutes, and 30 seconds after it started. I had long since been dismissed as no longer needed, and had gone back to my parents' home and gone to bed.
Why would I get involved with this in the first place? I was not reimbursed for the majority of my expenses, which involved quite a few dimes and subway tokens, and two drives from Cambridge to New York and back (there was a test run on a subset of the system, the IRT branch Note 3 if I recall, a week before the full run). I also had to stay awake for most of the night, although that was hardly a novel experience for a college student. Why would I do such a thing?
If you have to ask such a question, you clearly have no concept of the hacker mentality. Why would I do such a thing? Because it was so cool, that's why. It was a lot of fun, and a unique experience.
Note 1: I've previously mentioned Peter Samson in my entries I resign, Television, Nerd pride, Moby memory, and Hackers. Those links will take you to the paragraph in those blog entries in which Samson is mentioned (then scroll to the top if you want to read the entire entry).
Samson's web page, among other things, defines the three classes of competition, which are basically:
Class A: Covering all Lines (all segments of right-of-way)
I don't think anyone has actually attempted a Class B run. [return to text]
Note 2: The Amateur Subway Riding competitions discussed here are only possible because the New York City subway system runs non-stop, 24 hours a day. As someone who was born in New York City, and grew up in a nearby suburb, I had always assumed that the subway system of any large city ran non-stop. When I began to travel, I was shocked to find that both the Paris Metro and the London "Tube" didn't run all night. Hick towns, obviously. [return to text]
What ultimately became the New York City subway system started out as a group of competing private companies, which were taken over by the city in the forties. These were the IRT ("Interborough Rapid Transit"), the BMT ("Brooklyn-Manhattan Transit"), and the IND ("Independent Subway"). You can see a history here - remnants of the differences between these lines remain to this day. [return to text]