Saturday, 1 February 2014

Last post: The Twente-York connection

University of York: 1963-2013
This, nr. 100, will be the final post of this blog. I am home safely, after one last time being astounded by the pricing policies of British rail (for an upgrade of a 14£ second-class ticket to first-class they wanted to charge me 66£), one last irritation at Manchester airport security measures (the slowest in the world, except for Jerusalem which is in a league of its own), one last instance of fearing for my connection in Amersfoort (this time just making it). Next week I will be sucked back into the whirlpool of the everyday business at the university, involving among other things two courses that I have to teach, and numerous administrative duties that others have been good enough to take over for the duration of my sabbatical but will be glad to shed now that I no longer have that accepted excuse.

What can I conclude about the Twente-York connection? I feel I've written enough about the relation between the respective research areas of the Enterprise Systems group in York and the Formal Methods and Tools group in Twente. In the months and maybe years to come I hope to benefit from the increased insight, understanding and contacts gained through my Yorkish period, but for now I do not want to speculate. Rather, let me present a (pretty random) list of less obvious and more surprising connections that I have found.

York university waterfowl

The university

  1. Age. England is home to two of the three oldest universities in the world (Oxford and Cambridge, the oldest one overall being Bologna), and many other English academic institutions have a venerable history, but York is not among them. In fact it was founded exactly one year after the university of Twente, and so celebrated its 50th anniversary last year, in 2013. I have not personally observed much of that except some banners proclaiming the fact. When the U Twente celebrated its 50th anniversary in 2012, the (then still) queen, Beatrix, was present at the Dies Natalis in December, but such a thing would be entirely out of the question in the U.K.
  2. Campus. The University of Twente prides itself at being the only campus university in the Netherlands. This means that there are student facilities (housing, sports, shops, bars) on the university grounds. So is York a campus university, but in England this is the rule rather than the exception, and in fact it is carried through more thoroughly than at Twente: not only is there a lot of student housing, but it is intermingled with the lecture halls and research facilities, so that it is not always immediately clear which of these purposes a particular building serves.
  3. Geese. Since its founding and possibly before that, the campus grounds of the University have hosted a gaggle of geese, who tend to make their way from pond to pond (of which there are ten or so) without any regard for traffic whatsoever. Geese traffic lights were installed at some point, but I never saw them working, might just have been an elaborate joke. At York there is a single, large pond on each of the campuses, and especially the old (west) campus has a large flock of water birds, equally certain that the grounds are theirs to go wherever they want. At night you have to be careful not to stumble over them (or slip in their excrement).
  4. Sports. The facilities are extensive at both universities. In York there is not just the Sport Village which I have frequented (and which is actually open to the general public) but also a lot of fields where other, outside sports are practiced - football, hockey, tennis are certainly among them. I know the scope at Twente is very diverse indeed, ranging from boxing to gliding and from skating to sailing. The U Twente also is the end point of the world's largest relay run, the Batavierenrace (6500 participants), starting in Nijmegen at 24:00 at night and ending on the Twente campus in the afternoon of the day thereafter. I do not know if there is anything of the same magnitude at York, but the number of runners you see is even larger, at every hour of the day and in every type of weather, too.
These are some of the analogies, but of course there are also notable differences. The U Twente is (mainly) a technical university, and this determines the mix of students you may expect to encounter. York has some technical studies but also subjects like theatre and law. It is, furthermore, a much more international venue, student-wise, than Twente; having English as your native language surely makes this easier, but it must be said that the U Twente is not doing as well as some other Dutch universities in attracting students from abroad (espacially Asia).

The town

Twente is the name of the region; the municipality in which the University of Twente is located, and the town with which it is mostly associated, is Enschede.
Hop-on-hop-off
  1. Size. Neither York nor Enschede are major cities. Exact comparisons are difficult because you need a good definition of how to count. Wikipedia has York at either 153,717 or 202,400, depending on who is counted as inhabitant; Enschede stands at 158.757, but Hengelo, equidistant from the university, boasts another 80.992. Very comparable.
  2. Tourist industry. On my very first day in York I passed by the parking lot for the hop-on-hop-off-busses of York. It is a very popular tourist destination and remains crowded in the weekends all throughout the year. Tourism is both international and English: the groups of Asian tourists are easy to pick out, and on Sunday you hear a lot of foreign languages spoken, but when I was at the York Dungeons with Floris, all the other members of the group were from other parts of England. In addition, I have come to believe that every stag or hen party in a 100 mile radius is organised in York. In Twente, on the other hand, there is also a lot of tourist industry, also involving busses, but of a slightly different nature: the busses serve to bring the inhabitants of the region to far-away places in Europe.
  3. Bicycling. Back on my hobby-horse! I have made plenty of critical remarks about the attitude of the English towards cycling: but at the same time it has to be said that, for an English town, the amenities in York are reasonable. All traffic lights have dedicated areas for bicycles; there are a lot of bicycle lanes painted out on the roads (even though they do tend to disappear in unpredictable places); there are parking facilities for bikes throughout the town and the university. In an overview of regularly cycling commuters in England, York comes 4th with 15%. You might expect cycling to be popular especially among the students, but it isn't: the major complaints are about shortage of car parking space, not bicycle stands.
  4. Sports (again!). The first-ever marathon of York took place while I was there. Enschede has had its first marathon in 1947 and thus roundly beats York in this category. In the realm of more culturally determined sports, York can boast of its Knavemire horse race track, in operation since 1731; Enschede can offer it speed skating rink, slightly younger (since 2008); full points go to York. Then again, Enschede is also home to F.C. Twente, doing reasonably well in the country's premier division (its most successful trainer, Steve McLaren, having been born in York!), whereas to the best of my knowledge, York does not appear anywhere in the professional English soccer leagues.
  5. Going out. Enschede has a nice center with dozens of bars and restaurants. There is a theatre, two small cinemas (a much larger cinema is actually outside town, very close to the university). Unfortunately, in this category York leaves all competition far behind: four theatres, four cinemas, hundreds of bars and restaurants, ... There are interesting differences in the age groups you find on the streets and in the cinemas (much more middle-aged in York), and the times from which they start to vomit in the streets (much earlier at night), which I have already remarked upon in several posts.
I realise upon re-reading the above that I have pointed out differences much more than connections. Here's another one, more nationally than regionally determined: shop opening hours. The Calvinist tradition in the Netherlands still manages to keep these to 18:00 (for most shops) or 20:00 (for some larger supermarkets) and Sunday opening is a continual struggle. For me as a customer it is really extremely convenient to be able to get your groceries until 22:00 on weekdays and Saturdays, or 18:00 on Sundays.

Final words

No one who has followed this blog on a regular basis can doubt that I had a great time in York. I have to give thanks to both my colleagues at the University of Twente for granting me this chance, and those in York for being willing to host me. It's been a terrific experience.

I also thank you, my readers, for showing interest in my adventures. I feel that keeping this blog was one of the best decisions I made, but I would not have reached 100 posts if it had not been for your reactions and comments, both entered here and communicated through other media (such as the good old word-of-mouth).

Arend Rensink
Hengelo, 1 February 2014

Thursday, 30 January 2014

I still have a suitcase in York

It is 117 days ago today that I left for York. Subtract 15 days for Christmas holidays and 4 for the short trip back at the end of October to play my part in the visitation of the Computer Science curriculum: tomorrow I will reach the 99th day of my stay away from home (including travel days). That sounds like a long period, but it feels like no time at all.

I gave another final presentation today, at the PLASMA group. It was a bit hard working up the energy to prepare it properly: not only was yesterday's dinner copious enough to make me skip breakfast, but also I wanted to get some packing and cleaning done. It was not entirely clear what course the evening would take, but I did not want to leave everything to the last minute.

Packing is a good deal easier than for coming here. Straightforward really: you have two suitcases and it is exactly clear what should go into them. There are some optional items like the towel I bought here, but if there is no room then I can just leave all that behind. For the rest it's just a question of cramming everything into as little space as possible.

Raw theory
When I did get around to the preparation for my talk, it was in the end just a matter of organising the theory for control automata that I have developed (and for the greater part implemented) during the past few weeks: this crowd can read operational semantics, so there is much less need to package it. The advantage of having to tell someone what you have achieved is always that you gain a better overview yourself as well, and after having presented the technical details I felt quite good about it.

Stock of fruit yorghurts, earlier this week
Afterwards I sunk into a black hole, from which I emerged only when it was time for the very last farewell drink, at 17:00 in the Glasshouse. This evolved into two pints of Grolsch, but for everyone except me it is an ordinary working day of course, so no adventures. Lots of "nice to get to know you" and "have a safe trip home"; then I was on the first stage of that trip, back to the flat. At 19:00 I had my last meal at the Edge, at 20:00 my "landlord" dropped by, at 21:00 Nikos came to collect the bike. Some final cleaning; as I write this, the room is once more in pristine condition, empty and bare. Even the fridge is pretty well emptied: I will leave behind half a bottle of tomato ketchup and half a carton of margarine. There are also some portions left of the excellent fruit yoghurt I have enriched my Yorkish diet with, but those I will still eat.

One final night. It's funny: I live in a building with almost only Asian students, and they are on the whole the quietest of people. I think the soundproofing is no better than you would expect of student housing, but except for the gate to the bike shed, which is directly below me and closes with an almighty clang, I have not heard my neighbours at all, the entire time. Tonight of all nights, however, there seems to be some party going on, requiring especially a lot of giggling. I have no doubt I will sleep well nonetheless: the vagaries of saying goodbye have taken their toll, I am now very tired. Taxi has been ordered for tomorrow, I can't think of anything I might have forgotten.

#byebyeArend

To say goodbye in style, tonight I invited both the Enterprise Systems and PLASMA groups to a dinner at Akbars. Which poses a nice cross-cultural puzzle! When you invite people for a dinner at a restaurant, what do they expect?

When we lived in Germany, even at the end of a period of five years we hadn't quite wrapped our minds around the fact that when you get invited to a German home, no matter what time of day, there will be food. 14:00, 16:00, 18:00, 20:00, 22:00 - make sure to get there hungry, because if you do not do justice to the cake, spread, meal or whatever is put in front of you, you will be insulting your host. It is not a question of being hungry: you are there, you are served food, period. We made some (with hindsight) amusing mistakes.

What I have in mind when I invite people to a dinner at a restaurant is that I am their host, they my guests, and the bill is taken care of. But is that what people will understand on the receiving end of the invitation? How can you know? The anwer is: you can't.

To liven up the occasion I had prepared a little quiz, somewhat late in the day if the purpose had been truly missionary; but it was just in good fun. As rewards for correct answers I handed out some things that I bought here but will not bring home: bike maps, my Cityscreen membership card, a spray can of Mr. Muscle oven cleaner, a coffee mug, that style of thing.

All day I long I was scatter-brained. The knowledge that it's almost end-ot-time here, that wall looming up, was enough to make it impossible to concentrate. I got very little done and was almost glad to find it was time to go home. For preprandial drinks I got Richard and James to join me at the Blue Bell, one of the pubs on my list that I had not yet ticked off. Then it was Akbars, home of the family nan bread. They were as good as ever, and the quiz + prizes were received very well, I think. All in all, just what I had in mind when planning this.

There were a few drinks afterwards with some of the guys & partners: Dimitris, Nikos, Thanos, James. (If some of the names are Greek to you, that is how it should be.) I tried to clear up some remaining questions I have: for instance, why do the English say "cheers" when they mean "thank you"? Not much progress there. Rather than another ale I tried a cocktail, but one was enough. Also this is a cultural thing: even after a night out, you are home before twelve.

On the way back, I found the Ouse up again above bike path level, which was a nice gesture. During yesterday's preparation for the quiz, the level wat 6,50m: now it is at 7,40m. No matter, I will own the bike for less than 24 hours from now anyway - sold it to Nikos.

Tuesday, 28 January 2014

Tenpin

Tonight I took part in a historic event: the first-ever social outing of the Enterprise Group. The kick-off was a bout of tenpin bowling, which in the Netherlands we just call bowling. (Ninepin bowling does exist but is called "kegelen", which is a proper Dutch word and thereby shows it is the older variant.)

To be fair, it might not be absolutely true that this was the first event. Certainly there are Christmas dinners and participation at the Computer Science Quiz. But now there is a fresh initiative by James Williams and Adolfo Sanchez-Barbudo Herrera to have a bit more activity. I felt honour-bound to join in, but would have done so in any case.

Got the T-shirt
Joining in actually required a bit of juggling as tonight was also the last opportunity to acquire my T-shirt for the 5th Sweatshop Run Club attendance. Which in turn was thrown into doubt by the physical protest my body was organising, through what by lack of a more expert opinion I will continue to call bursitis. However, Dic Lofenac is a wonderful guy and had me feeling well enough to risk another sleepless night in return for another tangible memory of my time here. So I went there at 18:30, planning to finish my run at 19:00, get back to the apartment, shower and eat, leave again at 19:30 and be at the bowling alley at 20:00. Sounds impossible? Read on...

Tonight the SRC organisers turned out to have planned another interval speed test, just like the very first time I attended. That was a lot more stressful than I had bargained for, and in fact I was planning to take it very easy. Taking it easy caused me to run up together with a girl whose asthma was playing up and who was thinking of doing only a single lap instead of the suggested two or three. That suited me very well in turn. so morally strengthened by the fact that I was not the only one, I cheated a bit and turned back early.

The bowling Gang of Four: Xavier, Jim, Seyyed, Adolfo
As you can imagine, that did not only reduce the effort involved from "totally irresponsible" to merely "ridiculous" but also did wonders for my schedule. I am proud to say, moreover, that my by now at least reasonable knowledge of York's byways allowed me to make it to the bowling alley in very good time. So at 19:58 I latched my bike to a tree in the absence of alternative parking spots, well in time to join the other guys.

What do you know: the bowling alley was the spitting image of the Go Planet Bowling in Enschede! Same controls, same silly clips shown on the screen after every throw. We had proper good fun, possible Jim was a bit miffed that I beat him, but hey I'll be gone in two days!


Monday, 27 January 2014

Over the limit

Gary limit
Tonight I learned about the Gary limit: past three pints there is no going back, only forward. I appreciate the message but I do not like generalisms of this kind, so I plan to defy that. A strong coffee should do it.

Why should I even approach the Gary limit on a Monday night? Well, we were sending Chris Poskitt off back to Zürich, using a cheeky beer as the means. And to quote a pretty meaningless Dutch saying: one egg is no egg, two eggs is half an egg, three eggs is an Easter egg.

In the ordinary course of events I would not be susceptible to the lure of a beer today, not even a pint or three of Grolsch at the Glasshouse, but fate, or is it destiny, would have it so: the limit I do seem to have overstepped is what my body will endure in the name of health. Playing horse on Saturday appears to have revived a chronic bursitis in my hip. This started to play up yesterday: at first I assumed I had been sitting too cramped behind the keyboard, but when I couldn't sleep half the night I remembered having had exactly the same symptoms some years ago. Diagnosis: bursitis; cure: diclofenac. So the first thing I did this morning was to google for "prescription diclofenac", and then "pharmacy york": to my relief they do sell this stuff without prescription here, and there is a pharmacy very close by. The word is stressed differently: rather than the Dutch "díclofenác" it is "diclofénac", but after stern looks and severe warnings I was allowed to buy a small cure.

So there you have it: although our body pump instructress, Emma, practically invited me to gatecrash today's session when I told her on Saturday that that would be my last time, because today's class was fully booked, I could not take advantage of that offer and had to make do with the Glasshouse instead. Starting the celebration of my own goodbye in style, as it were. In that regard it looks to be a very interesting week anyway: tomorrow night for the first time in the history of the Enterprise Group there will be communal bowling, and on Wednesday night I've invited everyone to my own farewell dinner. There were even some rumours of a pub crawl on Thursday. In one week I will undo all the hard work of four months running, spinning and pumping.

Also in the spirit of saying goodbye, I gave a final presentation in the Enterprise Group seminar today, under the header "The adventures of a Dutchman in York". It was partially serious - for the first time I tried to explain wat I've been doing this month, I hope it came over - and partially some random thoughts and observations based on my 4-month stay here: the sort of thing I have also been posting about in this blog. More ominously, I received a mail from Jaco van de Pol, head of the Formal Methods and Tools group at Twente, setting up a skype call for tomorrow to discuss the tasks and duties I'll have to pick up again from next week on. During my absence he has become head of the Computer Science department as well as interim director of the allied research institute: it is not to be wondered at if some of his past responsibilities now glide down upon my shouders. Which does nothing to increase my already pretty low level of lookingforwardnesstogoingback; but let's face it, I've had a fair run, all good things come to an end, and all that.

Sunday, 26 January 2014

Eating your own dog food

I have no idea how generally known this saying is, but "eating your own dog food" in software development means to use your own products in your daily work. It is a good principle, because this way you will discover for yourself what does and what does not work well. Imagine that you found out that the majority of Apple employees prefer to work on a Windows PC - that would be very embarassing, wouldn't it?

The principle also applies to computer science. In the course of the years we try to teach our students some good practices: document your code, structure it well, use version control, and do a lot of testing. All of these are very unpopular because they take away time from the actual coding, which is the fun part. It all starts to make sense only when you start working on larger projects, especially in collaboration with others (always bad programmers who cannot be trusted with your code), and most especially when the project lasts for more than a few months and keeps getting modified and expanded. For a small code base, say a few thousand lines of code, it is at least possible to keep a mental record of the structure and design choices, but all that goes away when it grows beyond 100,000 lines or so.

There are also gruesome statistics about defect density, or average number of bugs per number of lines, which no-one will admit could possibly apply to their own code. Something like one bug per 100 lines of code (LOC) is not at all out of the ordinary. (Here I should say some appropriate words about how poorly defined this measure is and how careful one should be in interpreting the results: to name just one idiotic consequence, a good way to improve your defect density is to insert thousands of empty lines. Exact figures should be taken with buckets of salt, but the message I want to convey here is that software bugs abound.)

I am afraid that, as computer scientists, we ourselves seldom practice what we preach. As should be expected, a lot of research in computer science is supported by experiments that are supposed to demonstrate the value of the newly developed ideas. These experiments are almost always carried out using special tools written especially for that purpose. Alas, it would be naive to claim that we do any better here than our students. Documentation? No time, there's a paper to be written! Rigorous testing? Why, it's just a small tool, I'm a crack programmer, and anyway no-one besides myself is supposed to use it.

My own research concerns techniques for reducing errors in software. Admittedly there is a huge gap between the level on which I investigate this and the level on which my results would be directly helpful in industry, but nevertheless that is the context for my work, and also the context for a tool like GROOVE. Like everyone else, I'd like to claim that my dog food is mouthwatering, wonrderful stuff: once you've tasted it you will want nothing else. But in the meanwhile I am very much struggling with the same old problems. Code documentation: yes, a fair bit. Testing? Our standard test suite achieves less than 60% of line coverage. A PhD graduate of mine, Eduardo Zambon, recently ran some statistics on the GROOVE code base: we have close to 160,000 lines of code, which according to industry-standard practice should have required more than 40 man-years of development time. Not bad for an academic tool that has taken me and co-workers 10 years devoting only a small part of our time, but it also shows the magnitude of the maintenance problem we have been creating as we went along.

All of the above will give you some idea what I mean when I say that this programming stuff takes more time than I can afford. Fortunately the weather today was as bad as predicted, so I did not have to regret choosing to stay indoors and getting on with it. Only after 14:00 there were a few hours of daylight, a watery sun even. To escape from my apartment I did the Orbital Route again, a 15 km trip around York which was also the very first thing I tried after I had bought my bike. The circularity is appealing. Then it was back to the grind, with a frozen pizza in the way of dog food. At the time of writing, however, the simulteaneous need to also finish my last bottle of wine has probably made it wiser to stop coding, so as not to increase the defect density unnecessarily.

Saturday, 25 January 2014

Local rituals

This morning was Graduation Day at the University of York. They have two of them every year, one in winter and one in summer. It is the occasion at which everyone who has earned a diploma in the half-year before can have it ceremonially handed out, in rented robes and with Mom and Dad present.

At the U Twente we have almost done away with massive central award ceremonies. Up until last year there used to be one for the Propedeuse, meaning the first year of the Bachelors (which is not even a proper diploma), but that is abandoned as of this year. Then there is the Bachelor diploma award ceremony: that's really the only collective one left, but even there it is organised per subject, the psychologists are not mixed up with the physicists (God forbid!). For the Masters you typically get your diplioma at the final presentation of your thesis: family is present, ready to be amazed at the stuff their kids now know, but it is a small, individual affair. Well, not so small if you have a lot of friends, but it never goes above fifty - except in the case of Mark Timmer, who has a lot of friends. At the top of the ladder there is the PhD defense, which I had occasion to blog about before (Viva la Viva): for this, in the Netherlands at least, the ceremonial function has all but taken over.

Anyway, two (ex-)PhD students I got to know here have graduated in the past half year: Chris Poskitt (whom I am trying to set up a collaboration with right now, and in fact turns out to be one of Mark Timmer's friends!) and Simon Pould (who helped organise the Computer Science Quiz in November last year). They were due to receive their diplomas today. I seriously considered going to the ceremony just to see how this is done here and to be able to compare, but it turned out you had to have tickets, which of course I didn't. There is a second location with a live stream on a big screen, but even for that you had to have tickers, which I also didn't. In the end I wasn't even very sorry, as they decided to have the ceremony at the to me very odd hour of 9:30 on a Saturday morning: attending would have meant giving up my last chance at another parkrun as well as my last body pump session.

In training
So I went to those instead. I can say very proudly that I achieved an average of 12 km/h over 5 km of horse race track! For me this is very fast. At high school we had something called the Cooper test, which consisted of 12 minutes of running and trying to cover as much distance as you could. Then, at the age of 16 or so, I was glad to get to 2400 m, which is also 12 km/h but over a much shorter stretch. The sporty types got as far as 3000 m, and indeed among the hundreds of parkrunners there are also some who finish in way under 20 minutes. Just consider: professional marathon runners cover 5 km in something like 15 minutes, but then they do this 8 times in a row... ouch! (To make the picture complete, the world record stands at slightly over 12,5 minutes, which is twice as fast as I can do it.)

I can also report that running followed by pumping is actually too much of a good thing. When I did this two weeks ago I had to take a nap in the afternoon, and today I very nearly did the same thing. I was kept awake only by the need to take care of some urgent work-related things that I had neglected during the week, as well as the last batch of washing I will do here.

The plan for the evening consisted of seeing Inside Llewyn Davis, the newest movie by the Coen Brothers, with dinner at the cinema first. I chose to go for the 19:15 screening as I expected that to be relatively quiet, but nothing could be further from the truth: I got about the very last seat, way up in a corner.

The Coen Brothers (Joel and Ethan) are directors of incredible diversity and usually very high quality, and this particular movie has about the best reviews you will ever see. Had I known what a bleak picture it paints, however, I probably would have given it a miss. The main character, the folk singer Llewyn Davis, is really going nowhere but down. How many bridges can you burn? It felt a lot like The Wrestler, another much-praised movie about an end-of-career performer who makes nothing but bad choices. I heartily dislike this kind of story, both in movies and in books: I'm looking for edification not despair. I think I wrote it before: I am an escapist at heart.

Tomorrow I will not go for a bike tour, last chance though it is. The weather is too changeable, like today's as well: sunny but windy one moment, pouring heavily and even more windy the next. The Yorkshire Dales will have to wait for another time and a more clement season.