Click click ding dong
February 3, 2000
Yesterday I went to M.I.T. for the first time. On the bike. I had a few near-death experiences on my way there, but I'm slowly getting to understand the principle of driving a bike in Boston: don't. And if you do it anyway, then act as if nobody sees you because nobody does.
At M.I.T., I had a talk with my professor Frans Kaashoek. The talk lasted approximately 90 seconds. He told me he didn't care how much I worked, at what time I start, at what time I leave, whether or not I would be sitting on the beach the next 7 months, as long as I do what I have to do. He wants results. Then he told me to get out because he had an appointment. Next thing I know is that I'm sitting behind a computer in a room where you can't see the floor because of all the cables lying around. Don't be tempted into thinking that since M.I.T. is one of the best in the world that everything is well organized. It's a jungle out there. Computers are, by default, not closed. This fact in combination that the watercups are made with glue that is soluble by water then I wonder how long this will be going right. I will spend my days in a small room (2,5 x 1,5 meters) with 2 other people and about 7 computers. The window has to stay open because otherwise we will run out of oxygen in no time. My view outside the window is on the Electrical Engineering building. The guys (no women) walking around there are quite nice and not as nerdy as in the Netherlands. They actually talk! I introduced myself to several people, but had to leave after a few hours to organize stuff.
This seems an appropriate point to explain what I will be doing over there . I'll try to make it as easy as I can so that everybody understands a bit what I'll be doing. Everybody not interested in this, can skip the next few paragraphs.
*** COMPUTER SCIENCE TALK STARTS HERE ***
Imagine a big room full of people standing still. Now imagine that person X (one of the people standing in the room) wants to give a present to person Y, who is also present in the room. X and Y are too far apart to hear or see each other, let alone hand over a present. How does X get his present to Y? Well, X writes Y's name on the present and passes it to one of his neighbors. The neighbor, seeing Y's name on the present, passes the present to his neighbor, etc. etc,. until the present finally reaches Y who throws the present away because he doesn't like chocolate. For the sake of simplicity we assume that everybody knows to which of his neighbors he should give the present.
The example shows you how a network works. The people are computers, and the presents are so-called packets. The people who help getting the present from X to Y are called routers. In other words: routers are nodes (i.e. computers) in a network that pass along packets that are on their way from a certain X to another certain Y. Think of the PTT: you write an address on an envelope and throw it in the mailbox. Via several people and machines the envelope will end up at the specified address. It's the same principle. You can imagine that a PTT employee somewhere along the line has your envelope in his hands and throws it in the bucket that will go in the train to Maastricht. Well, he is one of the routers that helped the envelope reach its destination.
When a router receives a packet it does 2 things:
1. Decide to which neighbor it should give the packet so that it will
eventually reach its destination.
2. Send it to that neighbor.
Step 1 is the most difficult one and takes the most time. Several decisions are made about a packet to determine to which neighbor it should be sent. The decision process that takes place can be compared to filling in a tax form. On a tax form you can find statements like these: "if you earn more than ..., then skip question 4 and go to question 5". It is fair to say that a router fills in a tax form for every packet it has to send through. The result of the tax form tells the router to which neighbor the packet should be sent..
The faster you make this process, the more packets a router can handle per second, the faster your network becomes. Computer science is always about speeding up everything.
How can we speed up the decision process? Let's look at the tax form analogy again: there are several different tax forms. When you are student, you get to fill in tax form J (I believe). As a working person (students don't work) you get to fill in a tax form P. Form J is a stripped down version of P. In other words: J misses some questions that are on P because these questions are not relevant for students. This makes life easier for students. Students *could* also fill in the P form: they would simply need longer to fill in the form, but the final result would be the same.
This principle lies behind speeding up routers: if you know in advance that certain routers will never be confronted with a certain situation, then take all questions out of the decision process that are related to that situation. In other words: make sure that a router only makes decisions that really matter. Don't let it do work that does not influence the final decision.
What they did at M.I.T. is take scissors and cut the tax form in pieces. On every strip of paper there is one question. Now it is very easy to create very specific tax forms: you simply build the form by glueing together the relevant questions and thereby leaving out the unnecessary ones. In computer slang this means they have built modules containing a well-defined functionality. A router is configured by specifying how these modules co-operate (you 'click' together the modules). It's similar to Lego, but then with software.
This principle does not only enable you to speed up routers by leaving out irrelevant decisions, but also to specify exactly what you want your router to be doing. The idea of Click is two-folded: speed up routing and enable very precise configuration of routers. Think of Lego: the people who make Lego don't know what you will be doing with their blocks. The situation with
Click is similar: at M.I.T. they build the blocks and others use these blocks to build their own router configuration.
*** COMPUTER SCIENCE TALK STOPS HERE ***
What I will be doing the next few days is write one 'Lego block' that others can use to put in their router configuration. I thought that would take me half a year, but apparently my professor thinks otherwise. After writing that block, we will determine my main work. On that work I will graduate when I come back in the Netherlands.
Yesterday I entered a bagel shop when a woman in the shop suddenly starts yelling at me. Eyes wide open and yelling like a robot. After a few seconds I realized she was yelling a marketing story at me. How great their bagels are, etc. I was surprised but amuzed. I thanked her and bought my bagels. I wondered whether or not I was the only one to be surprised. I waited for others to come in to look at their reaction. Well... people really got scared. In comparison, I stayed relatively calm in the line of fire. I think the marketing department has to rethink their plan. I think it is not having the desired effect.
I finally have my room now. Sven moved out and after cleaning the mess, I unpacked my suitcases, installed the network on my room (first things first) wrote this mail and went to sleep.
A few days ago I told you about Bradlees. Listen to this: I went to the Star Market. It's amazing. The Star Market is an Albert Heijn (Coop for the Swiss) but then multiplied by 30. I'm not yet sure whether or not having 160 types of bread (bad bread... Americans don't know a thing about making bread) to choose from is an advantage. It is really amazing.
I find Americans in general to be very friendly. More friendly than Dutch people. These people know how to treat a customer in a shop. I find it very pleasant to interact with people. Everybody is nice and friendly. Maybe they're just scared that they will be shot if they're not nice. I don't know, but I don't care as long as they're nice to me.
That's it. Today is my last day of organizing. Tonight I'm going to audition for a choir and tomorrow I'll be really starting at M.I.T. Tomorrow evening I will go to a pub where the MIT European Club has an introduction for new people. Seems nice.
P.S. These mails also appear on http://thomer.com/mit. If you don't want to receive these e-mails anymore, let me know. You won't miss anything because you can also read it on the Web. The disadvantage is that I won't let you know anymore when I wrote something new.