Archive for November, 2005

Almost done

It’s Week 8 and term ends on wednesday, so only two days of official term left. Unfortunately some more work to do because some supervisors want to do an extra supervision this term to catch up for having missed one at the beginning. The most important novice race is on Thursday, I’ll talk more about it later. I will also post up some reflections.

Comments

My Bike’s Legs

On friday, I was a bit late (we’re talking like 3 minutes, not the sort of late you’re used to if you know me), I ran out the door at 6:53 to get to the boathouse. I looked for my bike where I put it, it was not there. I look around the neighboring stands, only panicking slightly. I distinctly remember placing next to a green peugeot which is slowly growing moss on its seat because its owner has obviously left the college and not bothered to take care of the bike.

The spot next to the peugeot is empty. I suddenly remember that there were bike culls going on in the college, and while my bike is actually registered, perhaps they didn’t see the markings on it or something. So I go to the porter’s lodge and ask if they might know where a bike that was behind D block last night might have ended up.

The porter says, “is your bike new? Is it nice?” I say yes to both because it is nice and it is new. I didn’t actually blog it before, but this is my second bike, my first was stolen from the Chemistry Department about two weeks into term. I bought a slightly nicer bike on the justification that no cheap ones were available and that the cost/benefit between this one and a slightly cheaper one was low. Ok, I’ll be honest. I bought the one I bought because it’s nice and I’m a softie for nice vehicles.

Anyway, the porter told me my nice new bike was nearly stolen last night by three kids, they were carrying it out and the porters caught them. It was sitting out at the front of the entrance to college. I took it and told them I had to go to the boathouse.

I cannot believe my luck. I should consider myself lucky, actually. The second one wasn’t actually stolen and I’m quite lucky it wasn’t, they were nearly out the door. The porters have my everlasting love and respect. But on the other hand, I seem to attract bike thieves, and that’s not very lucky.

How did it get stolen? The same thing as last time, I locked the bike to itself and not to something immobile. It’s actually rather difficult with the way most bike stands are set up to lock a bike to anything but itself. Further the locks most commonly sold and used are d-locks (more commonly known in the US as U bolts), which are solid and unbendable and don’t typically lend themselves locking the bike up to anything, really. You basically have a relatively thin pole right next to the bike. Obviously such precious real estate in Cambridge is hard to come by.

With my first bike I found it so difficult to lock the bike to something solid that I ended up locking a wheel of the bike to the frame. This basically means you can’t roll the bike around, but you can carry it off. And someone did, at night.

So with this bike, I have vigiliantly seeked out places to lock my bike to something fixed, which can sometimes take about 5 minutes to secure such a place. But, for whatever reason I have considered the college a safe place and I only locked the bike to itself in college. I guess calling the place safe is accurate, as my bike wasn’t quite stolen, but at any rate, it now appears I’m going to have to operate guerilla style and lock my bike in places that aren’t actually “kosher” but offer a hard point. The bike stands here are designed for maximum density of bikes, and they consist of a pair of metal arms in a V that you slide your wheel into and which grab the wheel and hold the bike up. Outside my room are perhaps 100 bikes easily.

So from this point on, I’m locking my bike up to the stand itself, which basically means being a bastard and putting my bike in places that don’t technically accept bikes, and taking the extra time to lock it firmly. Crime is relatively low in Cambridge, but bike theft is a fact of life.

Comments (3)

New Format

I’m going to try a new format for the homepage, it will collapse the topics down and just display summaries, then you can click and expand the topic if you want to see the entire thing. The fact that my blog is 18 page-downs long is a bit annoying. It’s because I write so much but I think it makes the blog a bit dense looking. Let me know if you like it.

Comments (1)

Clare Umpires Suck

Or, “Why we lost the race we won…” The first race was today. Well, technically our first race was against Christs and Christs scratched, so we won. But our first actual on-water experience was today. I should also say this is not the boat I’m at stroke on, this is a boat I’m subbing into until the end of term, in which I’m 6 (from the bow, which makes it stroke, 7, and then me). My regular crew didn’t race in this race, aka the Clare Regatta.

First, we notice that several bolts are loose or missing in the boat. As the boat has just returned from a race with a different crew where the seats came off, we pay particular attention and tighten down all the nuts. Then, as we’re trying to get the boat spun round so we can row, we knock off the little ball on the bow which covers it from hitting other boats. This is really bad because we have the possibility of not starting if we don’t have a bow-ball, so one is duck taped on to the bow, redneck style so that we can row off. This makes us late so we have to row off with quite a bit of force.

Eventually we reach the race (about 2km or so away from the boathouse) and get set to go. We’re racing Corpus Christi, with whom we share our boathouse. We’ve already assessed that they are utter crap. They pull off early and get one blade ahead of us, then we start to move toward them. I should say that at the beginning of the race, we were set in about the middle of the river and they were set close to the stroke side (you never say port/starboard since you’re not facing forward, btw). We come closer and closer, and start striking blades. We are in it to win so we are locking blades, and I was almost close enough to touch off their boat, which would mean no more rowing. So they’re total weenies and they ease up and we’re looking at them like we’ll jump over and kill them if they don’t get out of our way, and low and behold, they do and we’re pulling off.

Then they we move back together but this time we’re slightly ahead, the we separate again. Finally we gain several blades on them, then a full length, then two. At several points I heard both “keep rowing wolfson” and “stop rowing wolfson” so I figured that I would keep rowing until they stopped and then I would stop. At the finish we were easily two lengths on them. It was incredible. We congratulated each other, and it was a real victory for everyone as it was everyone’s first race.

Our coach told us not to stop and to row straight back to the boathouse, which is quite a difficult thing after giving it all you have in the race. But we do and we make it back in excellent form. When we arrive, he tells us that we were disqualified for having control of the river and coming too close to their boat. Having control of the river means having more than half of it, and since were started in the center, we pretty much had control of the river from the start.

This is lame, and we were all pissed, and I’m still quite pissed at the clare umpires who DQed us, because honestly it was a fair race, more than fair, and it was there for whoever wanted to win it, and we pulled harder and wanted it more, and we won both clashes and the race overall. But of course I can’t see things from their perspective, but I do know that we would have won had this been a street race without any lame umpires.

Additionally, if the stroke side of a boat is locked with the bow side of a boat, then the opposites sides are the only two that can keep rowing, so when two boats lock oars, without a lot of work from both boats, it’s very difficult to unlock oars and separate. Since we were definitely pulling harder than them and rowing off them, we had to do most of the work in separating away.

Well, the crew is really good, better than my regular crew I think, they have very good timing and good power. There is one more race at the end of term, Fairbairns, and I may or may not be racing in both crews in that race.

Comments (1)

History of ML

Since Alex asked… Here is a brief history of ML and particularly its life in Cambridge. Some names were changed to protect the guilty.

ML is a nasty little bugger of a language. It stands for meta language. Of course that sounds exceptionally arrogant particularly since it is not really a meta language and such things do exist (or at least ways of defining language grammars). Let me give you a short history of ML.

ML’s inventor, Donnie Meathooks was a brilliant yet smarmy professor of mathematics of computer science at the famous Recognizable University. He was writing something in a relatively inferior language one day, an attempt at a better closed n-dimensional hole counter. Of course as we all know, hole counters are not very efficient and this hole counter was equally inefficient, particularly because of a subtle bug somewhere in the program.

Dr. Meathooks was essentially coding an algorithm from paper, and the algorithm, he thought, was true. He also ran through his code and couldn’t find the bug easily by inspection. So, there were two possibilities: the bug was in the code or the bug was in the algorithm. Since Dr Meathooks was really a mathmo masquerading as a Compsci, the problem annoyed him greatly. He thought that if one wrote legitimate code that looked like… math, it should do what the math said it should do.

This of course, is not how most programs behave. Math is what computers are based on, but most programming languages implement algorithms quite differently than the math on which they are based. This causes no end of suffering for feeble mathmos who believe that math is a proper Deity and should be worshiped above all others.

So Dr Meathooks sat down and took a number of ideas that were bouncing around at the time, but his ultimate goal was this: make a programming language that is really good at math, particularly discrete math (the kind with integers like -2, -1, 0, 1, 2… of which computers are so fond). This means that one should be able to think in terms of the math involved and derive a program from rigorously proven mathematical statements, and conversely that given a program written in this language, one should be able to prove things mathematically about it.

The final statement is the real kicker, because to be able to make mathematical statements of proof about an algorithm, you have to essentially be able to verify that it does operations on sets, and that the sets have these behaviors, etc etc. It is a real constraint on the design of a program. It is, more than anything else, what makes ML behave the way it does.

Dr Meathooks knew that the best way to make things look like math would be to use a functional programming language. Functional languages are a bit complicated to explain, but suffice to say that one can write f(x)=blah in math, and one can also write f(x)=blah in functional programming. He also knew that to be able to constrain the language to sets, you have to make a “strongly typed language” which means that your string cannot suddenly become an integer, your integer cannot become a real number, etc. It also means that if your function takes or returns a real it will and must always take or return reals.

So at the end of the day, Dr Meathookshad crafted a language that was incredibly useful for things in math. He immediately implemented his hole counter and found that low and behold, it did not pass the type checker. He cried for days, and his bitter tears became the useless error messages that the type checker returns when your code does not pass.

Hewas so upset by the failure of his hole counter that he disowned his own child, but not before he had given it a cruelly ironic name, Metalanguage, or ML. ML left Recognizable University and wandered the land for many years growing a beard of sizable magnitude, from time to time finding work as a lowly academic language because of it’s useful self-consistency. In fact, ML had never even had a compiler written in its own language.

One day, a PhD student saw ML sitting in the fens lying on its back calculating approximations of square roots and was intrigued. He took the language back to the Computer Lab, gave it a scrub, cut its ratty beard, and started to implement some rather dull tree searching algorithms and was impressed. He then tried feeding in random algorithms from a textbook and was amazed at how quickly the algorithms were implemented, and how logical the translation was. He showed the language to his supervisor, who was of course, Larry Paulson. Larry took ML to his office and spent the next few weeks playing with it. After a few weeks, ML was being passed around the CL like a whore, and it seemed like nearly everyone wanted to play with him. This was in the days before good networking, so many floppies of ML were made.

It’s quite obvious why ML was so popular at Cambridge after it had suffered so at Recognizable University and everywhere in between: ML was completely unpractical. It did not sing, dance, and it couldn’t even paint(). But Cambridge was not like most places. Cambridge was ruled by the God of Maths. And Maths was a cruel god and did not want such silly things as graphics, sound, or regular expressions. Maths did not need to schedule lunches. And from the Temples of Maths, which governs all aspects of Cambridge Academia, the word was passed down: ML is good, and the Computer Lab should use it.

Now there were those among the Computer Labbers who dissented. The sane ones who used window managers not starting with fv, the ones who knew BCPL. Some of them even had mice in their offices (hidden in a desk of course). Thus a plot arose: ML would taught to undergraduates, and not only that but freshers. First. Before all other languages. This made the ML lovers happy and it made the God of Maths happy. That is, until the MLers realized that this meant that they, the keepers of ML would have to teach it to freshers. Then, they were angry. In their anger they devised the most useless and ridiculous of exercises to punish the helpless freshers.

These pointless exercises had a terrible side effect on the lecturers. The wiser students in lecture would actually say things like “pointer” and “heap” or even the dreaded “graphics.” Particular in the form of “Where is the…” however in even more vulgar forms like “Why isn’t there a…” and the almost unspeakable “This would be so much f’ing easier if it were “. Each time a student said this, the lecturer shuddered and glared at the students.

To Dr. Paulson, the biggest MLer there ever was, the pain was too much, and finally he locked himself away in a room, and wrote a textbook meant to tell students, particularly those who had actually seen a computer before and written in other languages, why the language was so good. And he had the book published under the title ML for the Working Programmer. And it was good. And the students that actually bothered to buy the book were satisfied. And then ML lead a someone tenuous but overall peaceful coexistence in Cambridge for the rest of its days.

The End

Comments (2)

Living versus Visiting

I haven’t written for a bit because I can’t think of anything interesting to write. It really impresses on me the difference between living somewhere and visiting. I am sensitive to the difference between “tourism” and “travel” where tourism is closer to sightseeing and travel is an attempt to experience a place and understand it within its context. But living somewhere is not really interesting.

When visiting one tries to cull the essence of a place and explore as many facets as possible. You could go to museums, take bus tours, and so on, or you could just walk around… there are a number of possibilities. But the real goal of visiting is to visit. While visiting you maximize visiting.

But when you live somewhere, you minimize living. You try to make life as little of a component as possible. That’s why “locals” aren’t the best people to ask about what to do in a city. They aren’t trying “to do things in the city” so they can’t appropriately answer. In fact, if someone asked me what to do in Cambridge, I would tell them to do the things that I did when I came here last year: Kings Chapel, Fitzwilliam Museum, Market Square, etc.

I wouldn’t tell them to go to cycle to Tesco and get some groceries, but as a resident the ease or difficulty of getting to Tesco is important. And, as it turns out, it’s difficult to get to Tesco. So, the end result is there’s not much to tell, except boating. Or, if anyone’s interesting I could say all sorts of interesting things about Computer Science or Physics.

And lest you think I’m not working, I only mention boating so frequently precisely because of this, because everything else I do is boring or uninteresting. Most of the time my schedule is this: Monday, Tuesday supervisions and classes. Wednesday: classes and boating. Thursday, Friday: classes and practicals. Saturday: classes and cooking my dinner. Sunday doing all the work I need for supervisions on monday and tuesday.

In order to save money I rarely leave college. When I do I seem to rarely get away with spending less than 10 pounds, be it shopping or eating. Even lunch out of college is a princely 5 pounds. And I’m constantly cycling in a broad circle from Wolfson to Chemistry to New Museums (a set of classroom buildings, curiously enough) to West Cambridge Site and back to Wolfson or at least variations of that each day.

So as I said before I apologize in advance as this blog will get less interesting to read as time goes on, and it may end up being a boat club newsletter by the end. There’s not a whole lot I can do about it. Unless someone wants to know the trials and tribulations of ML, the ridiculous programming language they’re teaching us in computer science.

Comments (2)

Confidently Wrong

Supervisors have this funny trick. They ask you a question directly. Something like, “what is the value of this when this is true” or my favorite, they’ll point to something you’ve written and say “why is this true?” You are required to say then, why you believe you are right. In fact, if they did their undergraduate degree at Cambridge, and thus know how it is to be supervised, they will be truly evil and intonate that it is not in fact true.

Then, the job is to first not be stupid and explain things reasonably. You must be absolutely sure not to say anything ambiguious or unqualified because they’ll simply ask you to specific in greater and greater detail. Of course in computers, there is always (unfortunately) another level of detail, and you can continue down this path forever, so it’s very important not to give a hole in your argument for them to exploit.

Second, no matter what you say, say it with absolute confidence. Generally, one would sound as confident as one is, and if one is a student, one is not confident of much at all. However, it is, in Cambridge, important to maintain the appearence of expertise to your supervisor.

This is because the supervisor will not interrupt you when you’re wrong. In fact, if the supervisor is truly evil (as defined above) they will remain silent at the end of your explaination, as if you were forgetting something important. There is a dead stare which may go on for seconds (a seeming eternity) in which you are silently invited to refute yourself or go back and reprove something.

So, it is very important to be confident. In fact, it is important to be confidently wrong. You must have a very good reason for being wrong, and in fact if you don’t have a very good reason for being wrong, you have no good reason for not being right, which you may or may not be. So it is important to be able to, at any point, pick up in the middle of work you have done, prove what something means and what something implies, and prove the truth of any statement you have made.

Not only does this apply to something easy like history, where your statement would be something like “The crowning of Phillip I caused the ruin of the Newmarket horse trade.” Of course, all you need to do here is bullshit, but your bullshitting must be done with the utmost confidence. However, in a hard subject like (say) computer science, the truth of any statement is generally absolute and verifiable. Going into a proof like this can be time consuming and thus you can expect that you will spend a lot of time and have perhaps a 20% chance of being right (otherwise they wouldn’t have asked). But you must do it anyway, even if it involves the current temperature outside and the number of socks in your drawer.

In fact, the most difficult thing to say, is “I have no idea why this is true,” but with absolute confidence. Try it yourself. It’s not really liberating, but it can disarm your opponent. Because essentially the proposition is that then they must answer for themselves why you know it is true without knowing why since they’re supposed to be furthering your education, and what sort of product you are who has faith in facts without being able to back them up.

Or perhaps they just think I’m dumb. Either way, I think shift the burden of proof back to them, which is where it belongs.

Comments

EIGHTS!

This morning we got to full 8’s rowing. It was incredible. Very nerve racking but incredible. Up until now we have been rowing with some people just holding their oars flat on the water to “set” the boat so that it doesn’t tip. We progressed from 4 rowing to 6 rowing and finally succeeded in 8 rowing, which means everyone on the boat going at the same time. Versus just a few rowing it’s like flying through the water.

We are still “slapping” which means we’re letting the blade slides across the water instead of not letting them touch the water. That is easier because it stabilizes the boat on the recovery, but it slows the boat down so it’s bad for racing. However it’s not much more work lift the oar out and I suspect we’ll be doing that next week.

Unfortunately it means that my job actually starts as a stroke. Basically, I set the pace, and I was responding to the rest of the boat being out of time by speeding my stroke up. Then the rest of the boat sped up and then I sped up and so on. We ended up at about 26 strokes/min, a good race pace, but not a good practice pace. I’ve got to practice holding a steady stroke no matter the rest of the boat does, which is obviously harder than it sounds. At any rate, we’re in EIGHTS!

On a less fortunate note, we’re also not going to be in the first official race as several of the people can’t make it. However we will be in the next race which is after term ends in January.

Comments (2)

Cockcroft

I have an hour between two classes which most everyone spends in the 1st year lab at the top of Cockcroft building. My usually bizzare physics lecture today showed a newsreel from the 1930’s about the first “splitting” of the atom. This isn’t splitting as in the sort of fission used in bombs but rather the first split was actually a smaller element, lithium, that was bombarded with high energy protons and disintegrated into two alpha particles (helium nuclei).

This is all boring history, and there were lots of physics breakthroughs around the new museums site. However, in the newsreel, the actual Cockcroft-Walton accelerator sat in the very room I am in right now, or at least half of it did, because this room was apparently two floors combined, and the accelerator was a towering behemoth which shot protons down into the basement through an alignment tube, where the target was. If you look at the layout of the top floor, it becomes quite clear it was added on. Additionally, it explains the huge, ancient winch that is attached to the roof in the staircase. The equipment to create protons and accelerate them up to the proper speed was probably too large and too heavy to manipulate any other way.

The room is unmistakable because of the sloping roof of the Cockcroft building, and it’s quite obvious that Cockcroft the building was named after Cockcroft the man. Later they show the original observation screen which they say is still in Cockcroft as of 1932. I doubt it still is but there is a small science history museum I visited last year and it is perhaps there.

A lot of big research universities have their own accelerators, and I had wondered why Cambridge didn’t have one, but it seems they not only had one, they invented them. However at the moment the trend in accelerators is bigger (as in miles long) and no university has that sort of funding, so when the lab was moved from the center of town to the new site (next to the computer lab), no accelerator was built because it would be cost prohibitive.

A lot of trivia I guess, but it’s just incredible to think I’m typing my blog in the room where the first linear accelerator sat and the first atom was split.

Comments (2)

Half way

Cambridge weeks start and end on Thursdays. This past thursday was the start of Week 5, which means that 4 weeks have passed, and the term is 8 weeks. So… half way there. One of the professors marked the occasion by noting calculating: 1/2 of first term is over, 3 terms per year, 9 terms in an undergrad degree, so 1/2 of 1/9th is completed, or 1/18th, which is slightly more than 5% (1/20) so already over 5% of our time is done. That’s happy, frightening and slightly sad. It means that about 12% will be done before I go back home.

My math supervisor, whom I most recently saw dressed in a clean room bunnysuit with a box on his back that had a tube running to a two liter bottle dancing drunkenly at our halloween party (he was a ghostbuster), mentioned 6th week blues. 6th week blues are the point in the 6th week when you realize that you’re ridiculously behind and you work your ass off to catch up. I’m almost to week 6, but I don’t feel that behind, which I’m guessing is a combination of having been offset by a week because of all the orientations, and having been dreading the idea of actually being behind so much that I refuse to go out unless all my work is finished.

We finished our first lecture series, Digital Electronics, on Wednesday as well and started the next series, Discrete Math. I’m not yet sure how all this works, but I will be examined on EVERYTHING which means that everything I learned in the class needs to be kept somewhere in my brain for June exams, along with space for the rest of the things I’ll learn after this.

Comments (2)