Last.FM: Recently listened

Sunday, April 27, 2008

Sutton Hoo

Last Saturday, Dave, Malo, and I went to Sutton Hoo, which is an ancient Anglo-Saxon Burial Site near Ipswich. Unfortunately this first sentence already contains more confirmed information than the guide at Sutton Hoo was willing to give us. Let's rephrase it: Sutton Hoo is an area where, based on the findings of three independent excavations during the 20th century, some archeologists may think, that it was used to bury the high-society of ancient East Anglia until around the late 6th century A.D., when Britain finally became more and more christianized.The most important thing we discovered that day was that wind and rain brought from the nearby North Sea had about 1.400 years time to wash the ancient burial mounds to the ground and they did succeed overwhelmingly. As a result, visitors basically see a large area of green grass with tiny ripples that you would not recognize as being graves if the guide didn't tell you so. The only thing that really looks like a mound and where one may be able to believe in the stories of ancient kings buried with their boats, armory and other belongings is the one on the photo (which is the most spectacular landscape photo I took that day). And guess what: it has been rebuilt by the last team of archeologists digging around in Sutton Hoo after they finished their work in the 1990s.

The three us of had decided to spend 3 pounds in addition to the entrance fee in order to take the guided tour around the site, which definitely was the right thing to do. Otherwise we had probably just given the site a short look, decided that we must have got lost and spent 3 more hours searching for the right place before realizing that this was really all we could see. ;) With the tour we only spent one hour outside on the cold and windy field close to the sea. However the guide could give us a lot of interesting information about the Anglo-Saxons (descendants of the Vikings, often visiting their relatives in Denmark and the Netherlands for a short boat tour), their lifes (short, hard, battlesome) and about how they buried their death (along with all their belongings and real boats which got carried up to the site by hoards of servants).

To warm up after being in the cold wind all the time (can't mention that too often!), we afterwards visited the Sutton Hoo Museum where some replicas of the ancient findings were on display. Next interesting thing to learn: the real cool stuff of course is on permanent loan to the British Museum in London. Since the BM does not charge admittance fees, we might as well have travelled to London and visit these things there.

Saturday, April 26, 2008

Teaser...

From the comments in my blog and personal communication I know that there are really people reading my blog and I feel a bit bad because I did not post anything about last weekend's trip through East Anglia up to now. Unfortunately, my mobile broadband is extremely slow uploading pics (took me 2 minutes to upload this one), but I think I can upload some of last week's photos from work.

So stay tuned for news about Anglo-Saxon History, St. George fighting the evil dragon and what is so spectacular about crossing farm vehicles.

Saturday, April 19, 2008

Always look on the left side of life...

I just picked up the rental car for this weekend. Fellow interns and I plan to go the St. George's Festival on Sunday and since English rental companies are closed on this day, we needed to rent the car for the whole weekend (which for the four of us is still cheaper than taking a bus). So what we are going to do today is to visit Sutton Hoo and maybe Bury St. Edmunds - expect some pics in the next posts. :)

Of course renting a car in England isn't without its bureaucratic problems. The company was only 2 miles away from home, so I walked there this morning. Again, I needed two forms of identification, now with the additional requirement that at least one of them stated my UK address of residence. ID #1 of course is my passport, but how can I prove my residency since there is no such thing as the requirement to register yourself locally? In the end I had to go back to my house and get a letter from Barclays I got last week. As there was my address on it, this counted as a proof. But the rental guys were very nice and understanding and instead of letting me walk the 4 miles back and forth, they even drove me home to get the letter. Anyway, in the future I will have it with me all the time, just in case.

The next hurdle was that those guys also would like to have two telephone numbers and they were not willing to accept my German mobile number as one of them. :( Fortunately, I had received an email from a fellow intern yesterday stating his mobile number and in the end the guys were happy with only this one as well. So now I was finally able to hit the road and experience the wonders of driving a car on the wrong (sic!) side of the road.

After driving about 10 miles from the car company to my Microsoft office (in between only getting lost once), I come to the conclusion that the problem is not to keep the car on the left side. At least inside the city this is very easy, because you just need to stay behind the car in front of you. Also, the problem is not to shift gears with your left hand because even this is quite natural, because gears have the same position as on the continent and I got used to the left-hand thing within minutes. The real problem driving a car is that as a continental European you have the natural expectation that there is the rest of the car to your right and the window to the left. Now in the UK it's vice versa and I felt extremely narrowed on my right side, because I just don't have enough space for my arm. Still after having left the car for 30 minutes now, I feel this unnatural feeling of having a door to my right. Veeery strange...

Thursday, April 17, 2008

Benchmarks...

Running benchmarks can be quite boring - just sitting in front of the computer for minutes or hours. If you don't care about your browser influencing the measurements (don't do this for the final benchmarks of your paper...), you might try out this little flash game a fellow intern just showed me.

Sunday, April 13, 2008

Pictures - 1

Just some pictures I took last weekend, when Christiane and I stumbled our way through the city (I don't know whether people from outside Cambridge would find the word "city" appropriate...).King's College Chapel is a really impressing cathedral belonging to (who could have guessed?) King's College. I also tried to take some pictures inside, however it was too dark and my hand was too shaky. I'll try again, if I'm in the mood to spend another 5 pounds for the entrance fee.

This photo was taken inside King's College. Of course no one is allowed to walk on the beautiful English Green - except senior staff members of the college and their guests.







Nice little bridge over river Cam. If you look sharply, you also see a punting boat.


Another view on river Cam.

Yellows are coming!

Yesterday I took a day off, doing the laundry, cleaning the house and being a tourist. And where else should a football-loving tourist go on a mostly sunny Saturday afternoon in England than to watch a football match?

In 5 miles radius around my house in Cambridge, there are two clubs playing in the "Blue Square Football Conference", England's 5th league - Histon F.C. and Cambridge United. Histon played away yesterday and so I went to see Cambridge United, currently ranking third in their league, against Stafford Rangers, who are far the last and already had no more chance of preventing their relegation. Obviously, everyone expected the U's, playing in black and yellow (although the more intellectual people of Cambridge tend to call it black and amber) to win.

The match started with Cambridge soon scoring their first goal after 7 minutes and from the technical abilities it looked like there would be many more goals to come. However, with more luck than skill, Stafford scored the 1-1 three minutes later and still people around me were convinced that this wouldn't stay tied the whole match. However, the match slowed down a bit with Cambridge players obviously enjoying to outwit their opponents one after the other. Unfortunately though, they forgot to shoot on Stafford's goal and so we saw halftime at 1-1.

In the second half, Stafford started to realize they still had their chances because of Cambridge's unability to score another goal. They started to attack Cambridge earlier and had some good chances before they finally got 1-2 ahead around the 65th minute. Afterwards, Stafford obviously was only out to defend and thanks to their amazing goalkeeper they held out the last 25 minutes against Cambridge's ongoing, aggressive but more and more desparate attacks.

Finally, this was kind of a deja-vu for me. The guys in black and yellow were obviously the better team, all odds spoke against the other side and in the end the highly inferior team left the pitch winning. Seems like I know this from my home team, too.

Wednesday, April 09, 2008

Work and stuff ...

So now my third day working for MS Research as an intern is over. The week started with the introductory part on Monday. Alltogether we were 5 interns starting this week. Our HR woman picked us up and we got the usual introductory session about what we are going to do, how everything works and stuff like that. Numbers are impressing, too. MSR Cambridge has 130 staff members and they expect to have 100 interns during the year, too. However, the big season of interns is yet to come in summer, when they expect to have 50 interns in parallel. The current number must be around 15 (spread over the building, so I cannot count them exactly).

After Monday lunch we got the opportunity to talk to our mentors separately and Eno gave me a list of things to read in order to get me started on my project. So I spent the last two and a half days reading stuff, getting acquainted with my work environment and my new colleagues. I also rent a bike so I can get to work easier, because MSR lives quite some way outside the city center (but still near enough to my home).

Real fun started, when I tried to open a bank account with Barclay's. They require you to have 2 identifications here. Usually, an ID card and a passport will suit. However, my German ID card expired last year and so I only had my passport with me... After trying many other things (MS contract - not accepted, room rental contract - not accepted, driver's license - no address on it, printing something from my German bank account - no address on it), the (really helpful) bank guy figured out that I could print a copy of one of my last German telephone bills (of course a landline telephone is needed, mobile does not count...) and this would suit as an ID, because my German address was finally printed on it. So now I'm now eventually set up with nearly everything.

The only thing missing is an internet connection in my house. British Telecom was too slow to react to my landlady's requests - at least that's what she tells me and I have no reason for disbelief. However, English mobile companies are providing UMTS connections for reasonable prices and there are even some with monthly runtimes, so I'll try to get one tomorrow.

Monday, April 07, 2008

Arrival in Cambridge

Last Friday, Christiane and I went to Cambridge since I was about to start my internship with Microsoft Research today. We flew from Dresden to Dusseldorf and then to Stansted, from where we caught a bus to Cambridge.

I rented a room in a house already some months ago and after arriving at the house with my landlord, we realized that this would be a place good enough to sleep - no more and no less. :) The good thing about the room is that I am currently the only tenant, which means I get the whole house for me alone. The bad thing about the house is that I am currently the only tenant and there has been no one living in the house for some months now. This way, Christiane and I spent the first few hours cleaning the house and making room to live.

On Saturday and Sunday we discovered the old city center of Cambridge by just walking around a lot. We visited the really amazing King's College Chapel and I was about to have my first (and second...) fully English breakfast. As you read this, I am obviously still alive. ;)

My weekend was made by discovering the Cambridge outlet of Borders bookstores. This should be definitely enough to read, if I'm tired of work later this week.

Wednesday, April 02, 2008

Maintaining a large-scale software project

This story on the Windows 2003 bugfixing process is quite old, but still pretty interesting.

Tuesday, February 26, 2008

Battalions of Fear

10 days ago I went to Verl with some of my friends. The reason for our visit was not the pure curiosity about how this small West-German town looks like - who would want to know about that? Our journey's main purpose was to watch an away game of our favorite football club, which for some unknown and incomprehensible reasons currently plays in the same league as does SC Verl from said town.

Of course even we had already heard about how many Dynamo Dresden fans tend to visit even the away games in far away suburbs of Bielefeld. We felt this could be an interesting experience for us and so we rented four places in the fan bus to Verl and found ourselves entering the bus on Saturday morning at 6 a.m. along with a whole bunch of other fans. Obviously they were better prepared than we and had brought lots of beer which soon found its way to the bus' cargo bay. During the day we learned that we should have done the same but this way we were able to experience the whole day without our thoughts being blocked by drugs. On into the storm we went.

Around 7.30 a.m. the first bottle of Vodka had been emptied, but everything was still fine. Below us the highway flew by and most of the guys on the bus were still sleeping. Around 10 we had a small break on a roadhouse somewhere near Kassel. First experience: all the cars entering the area after us and seeing the bunch of yellow-coated pseudo-hooligans immediately pushed the gas pedal and left for the next rest stop. People can be soooo funny. ;)

At 1:00 p.m. we finally reached Verl and found ourselves on a real sport field in a real village. I spent some time searching for a house more than two stories high but finally had to give up. Welcome to the contrast of third-league football. Degenerated top-class football teams (whose good times admittedly are already 20 years in the past) meet upcoming (and over-valued) teams from the more agricultural areas of our country. On the game went and not much happened on the field and besides.

In half-time break I made my way to buy some drinks and directly witnessed how overstrained village policemen failed in crowd control. Some drunken fans had started to insult policemen in a stand and these policemen found it a good idea to arrest one of these guys. So far, so good. That's their right. However, this resulted in the "usual suspects" (tall, not much hair, sunglasses even on a cloudy day, lack of fan implements) arranging themselves in front of the policemen which were definitely outnumbered now. Beer cans flew into the stand and the policemen now felt that this was a good time to demonstrate their self-defence skills. This ended by some of them spraying their defence spray aimlessly into the crowd, thereby also hitting those who just stood in the wrong place at the wrong time. One may understand that this did not improve the situation. 5 minutes later some 20 more policemen (of the type that looks like turtles) arrived and cleared a way to "rescue" their comrades.

Don't get me wrong. I don't argue that these things were okay and the fans had a right to attack the police. However, my experience from matches here in Dresden shows me that there are much more clever ways for policemen to handle such situations (e.g., ignoring insults...) that don't play into the hands of the provocateurs.

I also noticed with dismay how the guy standing in front of me in the line stole some bottles of lemonade from the drink guys (who were also not used to serving 1,500 people at the same time). This is totally stupid and surely one of the reasons why people outside the Dynamo community view us as battalions of fear.

After the game ended (Dynamo scored the 1-1 in the final minute) we went to go home. Most of the bus inhabitants now were really drunk and we had some crazy 6.5 hours going back to Dresden. Now both busses drove together, so we finally reached a bus stop near Gotha and around 100 guys tried to enter the tank stop in parallel. Sure, the woman there made good business this night, but she surely looked a bit frightened even though nothing happend. Battalions of fear, again.

In Dresden, a final shock waited for us. On the same day a large Nazi demonstration had taken place and had of course attracted the usual crowd of anti-fascists. Some of them obviously don't make a difference between football fans and Nazis and furthermore seem to think that violence _is_ the solution to all of their problems. So when we were driving from Postplatz to the stadium, finally some guy ran along with the bus with something in his hands that looked frighteningly like a molotow cocktail. Fortunately he wasn't able to burn it and so we went by without being hit. We had the guardian of the blind with us. ;)

And then there was silence.

Tuesday, January 29, 2008

Python is not Java

Just in case someone did not yet read this blog post on false friends that people tend to use when writing Python code.

Monday, January 14, 2008

Heaven for everyone...

BjoernT, a friend of mine, donated one cent for each kilometer he bicycled last year. I'm playing FM08 a lot since about one month and because I'm trying to make the world a better place, I feel inspired by this. I'm going to donate one cent for every 10 minutes I play FM08 this year. The current count is nearly 4 days, so it's probably going to be expensive. ;)

Saturday, December 22, 2007

Miracles and machinery

Christiane and I decided to have a wonderful and relaxed evening. We hadn't been to the cinema for a while and so we decided to have our little fun there. No top-notch intellectual movie today, we just wanted something entertaining and so we decided to watch "The Golden Compass".

After a looooooong time of commercials and another short break, the film started and we enjoyed the first 90 minutes (until the point were Iorek Byrnison becomes king of the ice bears again and heads with Lyra towards freeing her friends), then the film went off. 10 minutes of darkness followed, whereafter a robust, elderly woman entered the room and told us that something was probably broken and they were trying to fix it. We could have our money back now or we could wait for the film to continue, but she could not tell whether and when this would be the case. Most of the people left the room and Christiane and I were just starting to think about relocating to one of the more comfortable seats when another cinema employee came in and told us that the projection machine was completely broken and we would not see the movie's end today.

So far for the reliability of non-digital film projectors. Let's hope we soon see all the movies using digital projection (with a highly available backup store and at least one primary backup for the projector hardware...). I wonder whether this hope will influence the next raise in cinema ticket prices. ;)

Wednesday, November 07, 2007

iMpressive

Just saw the German iPhone commercial on TV for the first time. I already tried it myself when I was in Portland some weeks ago and I'm still thinking about buying one. Can someone give me the money, please?

Monday, November 05, 2007

Qt + Processes + I/O redirection

I had a look at QtEmu today, a Qt4 frontend for Qemu. The tool is really nice, however I missed an important feature: I would like to add arbitrary command line parameters for Qemu startup, because some of my requirements (serial I/O, disabling graphics support) are not met by typical frontends, because they are quite special.

I therefore added a new edit box to QtEmu enabling me to insert my parameters. However, nothing happened in my terminal and I wasn't able to see any output from Qemu. iMichael and I found out that the QProcess class used by QtEmu does send its standard input and output to its parent by default. The solution for output is easy: standard and error output streams can be redirected using the QProcess::setProcessChannel() method.

Redirecting input is a bit harder (but I needed it, because I'd like to interact with the Fiasco kernel debugger). There is no channel for writing to a QProcess in Qt4. However, some Trolltech developers already came up with a solution for interactive processes, which helped in our case, too.

Monday, August 27, 2007

Lexer rules need ordering...

I was trying to parse lines like

import <foo/bar.h>

using ANTLR, when I found out that ANTLR's lexer rules have a precedence: rules are tried in the order they appear in the .g file. In my case, I had a rule matching a keyword such as "import" and a rule matching anything that is a word. Playing around with rules and their order, I found that my grammar works, if I write the keyword rule before the word rule, otherwise I get a "rule not reachable"-error.

This is how you get the file name out of the line above:

fragment DIGIT : '0'..'9';
fragment CHAR : 'a'..'z' | 'A'..'Z';

IMPORT : 'import' ;
GT : '>' ;
LT : '<' ;
WORD : CHAR (CHAR|DIGIT)*;
WS : (' '|'\t'|'\n'|'\r')+ { self.skip(); } ;

filename : WORD ('/' WORD)* '.' WORD ;

import_r : IMPORT LT f=filename GT {print $f.text};


Monday, August 20, 2007

Bastei, ANTLR

I haven't posted for a while, time for an update. When not hacking L4Env, I am currently pursuing new roads.

First, I have been playing around with the Bastei OS Framework a little. Bastei is a C++-based framework for managing resources in a multi-server operating system. It has been implemented as an experiment by Norman Feske and Christian Helmuth. My first little contribution was a small Hello-World client-server example that can be used as a Getting-Started-Tutorial. Since Bastei is not available to the public up to now, I don't post it here. But the time will come...

Secondly, I am playing with ANTLR (ANother Tool for Language Recognition), a shiny parser-generator written in Java, which is able to generate parsers in many different languages such as C, C++, C#, Java, Python, ... you name it. I am currently working through Terence Parr's ANTLR Reference which I can definitely recommend for anyone interested in using ANTLR 3.0. Using ANTLR I did two things up to now:
  • I wrote an IDL parser for our L4Env IDL files that generates an abstract syntax tree from those files. Now that the parser works, I could easily write an IDL compiler - given ANTLR's strong template engine this should be pretty nice. I'm however not sure that this is something really new so I'll have a look at other things.
  • For debugging my grammars I wrote Tree2Dot, a tool to convert ANTLR's string representation of ASTs into GraphViz' Dot format. Sure enough this was before I reached page 191 in Parr's ANTLR reference, where I found out that this is already a builtin feature of ANTLR and I could have used it pretty easily. ;)
Now it's time to find out what I can use my newly learned parsing skills for. Several things come to mind:
  • As a first experiment I'm probably going to write a tool that takes IDL files and checks whether all the functions have Doxygen comments attached. If not, we'll add templates to the file. If the tool gets really cool, it will also use existing Doxygen comments and adapt them if parameters change etc.
  • Starting with the IDL parser I'd like to investigate how far we can go generating unit tests for specific interfaces. Typical approaches use programmer annotations to find out what specific parameters to a function are, what the parameters' domains are, and in which order functions of an interface need to be called. However I'm not convinced of the concept of annotations, because programmers are lazy. Therefore I'd like to minimize the amount of additional work posed on them and try to automate this work using static analysis.
  • Norman Feske gave me some other directions related to the Bastei framework:
    • Bastei uses statically allocated message buffers for its IPC framework. One could use a C++ parser to generate a callgraph from Bastei code and therefore try to determine the necessary message buffer size.
    • Bastei's IPC framework implements IPC using C++ streams (which results in code that can be heavily optimized by the C++ compiler). However in contrast to IDL there is no compile-time checking for function parameters anymore, servers need to trust clients to provide the right arguments in the right order and vice versa. Using a static analysis tool, we can look at clients and servers and detect if arguments are passed in a wrong way - this will mainly invoke counting the arguments passed given a certain opcode as well as having a look at the types of arguments.

Sunday, May 27, 2007

Cup finals

Although my favourite team already had been kicked out in round one, I was keen to watch yesterday's cup finals between Stuttgart and Nurnberg. The two most impressing teams of the recent league season faced each other for the third time.

Stuttgart has impressed me by becoming German champions against all odds and by playing intelligent and beautiful football throughout the year. I'm happy for their win, because I count this as an advantage of German football in comparison to the big European Leagues where you only have two or three teams to win at all.

Nurnberg was mainly of interest for me because they bought Dynamo's top striker Joshua Kennedy last summer. Unfortunately, after playing some minutes for Australias national team in the World Cup, Kennedy got injured in the training camp and never played for his team this season. However, Nurnberg suprised everyone by reaching a place qualifying them for next year's UEFA cup. One of the impressing facts about them was their ability to beat German champions Stuttgart in both of their matches.

So yesterday both teams faced each other for the third time. Like many others I watched the game on TV and agree with people who found it one of the most entertaining football matches of the last years. Both teams did a great job and even though Nurnberg won it by 3-2 in the extra time, Stuttgart also would have deserved it. After Cacau was sent off in minute 30, they played 90 minutes with only 10 players. Even reaching extra time was a great accomplishment for them.

Friday, May 25, 2007

National Security (2)

Someone recently attacked Kai Diekmann's car. Diekmann is the head of Germany's most controverse boulevard magazine - BILD. Unfortunately, I cannot feel sorry for him and tend to think that this serves him quite well, since he is responsible for a magazine that is keeping German masses undereducated and wrong-informed.

However, what gives me a bad feeling about this, is that the Red Army Fraction also started their terrorism by attacking things like warehouses. Just when they noticed that this didn't work they started killing people. We should not get back to these things again.

National Security (1)

German conservative politician Roland Pofalla has accused Wolfang Thiers of not being a serious president of the German Bundestag anymore. The reason for that has been Thierse's criticism of the methods German police is using to track down potential participants of protests against next week's G8 meeting (which in fact was shared by justice secretary Brigitte Zypries).

I'm convinced that Wolfgang Thierse was right. Taking smell probes of innocent people is definitely a sign of the state misusing its power, even if this is covered by laws. Reading people's mail is a sign of misuse. Preventing people from making use of their civil right to stand up when things go wrong, is also a sign of misuse. This was fortunately relaxed by a court today. All this is definitely near to the methods used by dictators and authoritarian states.

I definitely do not agree with all the criticism and the points that are made by G8 opponents. But in a democratic society we should respect their rights and not criminalize them for having a different opinion.

Friday, May 11, 2007

Splinter

I was experimenting with SPLint yesterday. It is a tool for statically analysing C source code and is able to find errors regarding uninitialized variables, memory allocation errors and such things. Source code can further be annotated to get even more information out of the checker.

What annoyed me when I used SPLint was the amount of output. For my local L4 files it gave lots of errors and warnings. I decided, that colored output might ease the task of reading the interesting parts of it and so I put together a small Python script, called Splinter, which takes SPLint's output and colorizes it, so you can easily find warnings, their explainations, the corresponding function names etc.

It's probably quite hacky, because I wrote it in about an hour, but it works for me and if you intend to use SPLint, you should definitely give it a try. Version 0.1 uses my own private colors. Future versions might get more configurable.

Thursday, May 10, 2007

Whose bread I eat...

There's this German saying about people typically tending to take the opinion of their superiors. It translates to something like "Whose bread I eat, whose song I sing."

Alan Posener earned some fame today for posting an opinion about the boss of Bild, a German yellow press paper, because he did exactly the opposite. He works for the same publishing company. Posener became even more famous, when his bosses tried to censor him and removed his article from his newspaper's weblog. The text already had been spread.

SCons and vim

I recently played around with SCons, a build system alternative to GNU/Make. It is quite handy and relieves programmers from a lot of work. Building a program from two C files is as easy as putting

Program(['foo.c', 'bar.c'])

into a SConstruct file and running scons which will compile object files from foo.c and bar.c and link them to program foo. Cleaning up everything is easy, too. scons -c will do the trick. Apart from being easy for daily use, SCons is quite powerful. SConstruct files are Python scripts and so you get the whole power of a programming language for creating your builds.

As I revealed in an earlier post, I like the vim editor very much. When I started editing SConstruct files, I also wanted to use vim's beautiful syntax highlighting abilities with it. In command mode, you can type set filetype=python and syntax coloring works. But in real life, you don't want to type this every time you edit a file, so it would be nice, if vim detects the file type for you. It does this automatically for .c, .cpp, .sh and many more file types, but up to now it does not know about SConstruct and SConscript.

However, extending vim to recognize these is very easy using vim's autocmd features. These
let you specify actions that will be taken upon certain events, for instance when a new buffer is opened. I added two lines to my .vimrc in order to get SCons files highlighted as Python code:

autocmd BufReadPre SConstruct set filetype=python
autocmd BufReadPre SConscript set filetype=python

The syntax for autocmds is easy: After the autocmd keyword you specify the event for which you want to register this command. In our case it is before a new buffer (=file) is read. Thereafter you specify a pattern for which this applies. In our case SConstruct and SConscript files are handled, it is also possible to use regexes here. In the last part we specify the command that is executed upon the event. Here we set the file type to be Python and voila, syntax coloring works.

Wednesday, March 28, 2007

Evil Empire

This text provides another view on Anti-Americanism in Germany than the one we are used to. Nothing to add from me.

Edit, March 31st: There is another article that covers the European approach to islamic fanatism.

Sunday, March 25, 2007

Eurosys 2007

I spent most part of my last week in Lisbon, Portugal. Besides being an interesting (albeit surprisingly western-European) city, it was the location of this year's EuroSys conference. Although it was just the 2nd such event, I think the organizers are on their way of establishing it as one of the major systems conferences world-wide. There were quite some nice ideas in the conference and I'd like to point you to my favorite papers from this conference.

Some of these papers are not available yet, I'll try to update the links some time in the future.

Friday, March 09, 2007

HipHop can also be music...

Normally I'm not a fan of hiphop or rap music. I don't even know the difference. ;)

However, yesterday I discovered Monzy and his really nerdy first song called "Kill Dash Nine". I love it, because it is full of geekisms. My favourite part is "I last a mythical man-month, you a one-minute man."

VIM

My favourite editor, vim, is a very complex tool. If you search the web, you will find many places, where people tell you that even if you are an experienced vim user, you only know a subset of its features. Every once in a while you get to know another useful feature.

Vim is sometimes also annoying. For instance I was oftentimes annoyed when I hit the q key followed by another key and ended up in macro recording mode. Before I learned that I could exit this mode by hitting q another time in comand mode, I was really frustrated. Thereafter it only got on my nerves. Until today I decided to find out what's so interesting about this record mode.

By hitting q you tell vim that you want to record a macro. If you hit a number or a letter thereafter, you tell vim into which register you want this macro to be stored. So hitting qq will end up recording a macro into register q. Now you can do anything you want with vim: insert text, search for things, open new files, ... When you are done, hit q for another time. Now the macro is recorded and you can re-run it using @ where is the name of the register you stored your macro in.

This feature came in handy today. I had to wrap a lot of one-liners with #ifdef X and #endif. So I recorded a macro that
  1. Entered insert mode.
  2. Opened a new line.
  3. Inserted #ifdef X
  4. Moved one line down.
  5. Opened another new line.
  6. Inserted #endif
  7. Exited insert mode.
Thereafter the boring task of inserting those ifdef's was just some keystrokes and I realized that I should have learned this feature earlier.

Now can somebody tell me how I can store macros for reusing them later on?

Saturday, February 10, 2007

Speeding up your compiler


I recently played around with ccache. This tool caches compiled C/C++ object files. Whenever you recompile a file, it checks whether the corresponding object file is in the cache and the compiler run may be saved.

You may ask, why we need this tool although we already have build systems that determine, when files need to be recompiled. The answer is, that build systems make their decisions upon file modification times and the existence of an older object. If the object is missing - for instance because you ran "make cleanall", make will trigger a rebuild. ccache however takes a preprocessed file and matches its checksum with the one it has cached. If both match, the cached object file is used and you save the time you'd otherwise need for running the compiler.

My benchmarks took place in our L4 environment - I compiled some applications without their objects being cached. Then, I ran "make cleanall" and started the build again, this time with caching enabled. The (reasonable) speedups are shown in the picture. We can see two things:
  • C++ (Dice, C++ small) builds are sped up more than C builds (the rest). This is because compiling a C++ file typically takes much more time which is then saved by ccache.
  • Large builds (L4Linux, Dice) are sped up more than small ones (cUnit, ...), because they include more compiler runs.

Sunday, February 04, 2007

Makes you feel hit by a train

Literature is beautiful. There are loads of Terry Pratchetts and Jasper Ffordes to make you laugh and sometimes think about the wisdom that lies deep beneath their jokes. There is Nick Hornby taking you for a tour of someone else's absolutely usual life.

Literature is not always about great deeds or true heroes. Literature doesn't always make you laugh. Sometimes it is there to make you cry. It makes you feel sick. Words that hit you as if a train was crossing your path. Stories that make you want to put aside the book because you know that what happens will end up in a mess making you feel terrible for the rest of the day or even more. But on the other hand you simply can't let go, because you are enchanted by the words.

Even though (or exactly because?) the story is narrated in many different ways, even though you have to build it in your head from the patches of information you gain from the book, even though there is much more than a simple story in the book and even though you cannot tell which parts of the story are true and which ones are phantasy, even though it is crowded of anti-heroes - some books may give your thoughts (if not your life) a new direction.

Jonathan Safran Foer's "Everything is illuminated" is one of those books. Go and get a read.

Monday, January 15, 2007

Poetry

Geek-parody on the German poem "Der Erlkönig" by Johann Wolfgang von Goethe.

Sunday, January 14, 2007

Smoke while you may...

Last week my favorite students club met again for its annual plenum. Apart from electing our new heads, we had a very strong, unintellectual and non-objective discussion about whether we wanted to permit smoking in our club or not. Unfortunately, the smokers once again won with arguments like that smokers drink more beer and are therefore economically more important for us.

Spiegel online features smoking in a nice squib.

Thursday, November 23, 2006

Deutsche Neidkultur

Letzte Woche spielte Deutschland auf Zypern. Nach 90 Minuten stand es 1:1 - zum ersten Mal seit der WM hatten wir nicht gewonnen und natürlich war das ein gefundenes Fressen für Presse, Funk und Fernsehen. Da konnte man doch endlich mal diese überbezahlten Idioten abkanzeln, die einen Haufen Kohle dafür bekommen, gegen den Ball zu treten und dann doch nur einen Punkt bei einem Niemandsgegner wie Zypern zustande bekommen. Eine Freundin von uns hat sogar alle 10 Minuten den Live-Ticker gecheckt, ob wir auch ja noch zurück liegen.

Dieses Ereignis hat mir mal wieder zu Denken gegeben. Im letzten Sommer waren wir noch alle stolz auf unser Team - der Fußball war gut und die Euphorie wurde nicht einmal durch die Niederlage im Halbfinale gebremst. Mit Eintreten der kalten Jahreszeit scheint sich nun aber auch wieder des Deutschen Gemüt zu kühlen.

Und was finden wir nun, tief in den Wurzeln unserer politisch korrekten und historisch bereinigten Leitkultur? Wir sehen, dass es da Leute gibt, denen es besser geht als uns - Fussballer, die wenig leisten und trotzdem unglaublich viel mehr Geld, Ruhm und Status erlangen als wir das je in unserem Leben erreichen werden. Für viele ist das offenbar ein Grund, wieder alles schlecht zu machen. Willkommen zurück in der Deutschen Neidkultur.

Hat sich einer der Neider eigentlich schon mal überlegt, warum diese Jungs so reich sind? Ganz einfach: weil es Leute gibt, die bereit sind, für Fussball zu bezahlen. Fans zahlen, weil sie Fußball lieben. Firmen zahlen, weil sie beim Fußball Werbung machen und die zahlenden Fans dann hinterher in den extra länger geöffneten Supermarkt rennen, um all die tollen Produkte zu erwerben. Dieses Spiel ist ein relevanter Teil unserer Marktwirtschaft.

Sportler sind ein wichtiger Teil dieses Spiels - warum sollen sie also nicht auch finanziell daran teilhaben? Können wir uns nicht einfach an ihnen erfreuen und ihr Können bewundern?

Wednesday, November 01, 2006

Exokernel snow

It's been a while since I posted some stuff on this blog. I really didn't know what to talk about at the moment. Don't want to go into details about football - Dynamo is a shame these days and I can only hope that this winter is not going to be as frustrating as last year's. There's also not much to talk about work - I am currently participating in porting our Device Driver Environment to support Linux 2.6 drivers. This is quite interesting for me, but there is not yet much to talk about.

The first rainy flakes of snow are cumulating on the rooftop window above me and I realize that although nights are getting longer, days becoming colder and the winds getting stronger, there are still nearly two months left until Christmas. (Best wishes to my friends Lars, Rene and Dina currently being in "icy" Russia... *wave*).

Winter term has started and we are doing some teaching again. Besides the normal exercise stuff and some advanced lectures on microkernel design, we are once again trying to start a Paper Reading Group. Neal, one of our students, is kind of interested in scientific papers from the old days. He proposed reading a lot of papers from the 1960's and 1970's. Today was the first meeting and as I'm always keen to gain more experience in giving talks, I volunteered for one of the first presentations. My talk was based upon two papers on Exokernels by Frans Kashoek, Dawson Engler and others:
Although they are only 10 years old, Neal accepted them for the presentation. ;-) My understanding of exokernels was at most vague and reading those papers taught me some lessons about it. The basic idea behing these operating systems is to keep the OS's interface as low to hardware as possible and export as much information as possible to applications on top of it. This is at the first glance similar to our microkernel approach. However, the authors make clear, that their concept is orthogonal to the question whether to use a microkernel or a monolithic system.

The Exokernel does not do any resource management apart from tracking who is in possession of a resource (allocation, revocation, sharing). Security policies are implemented in the applications with only minimal support being necessary from the exokernel.

On top of the low-level hardware abstractions, exokernels implement higher-level operating system services in a library. These so-called libOSes are linked to each application and let application performance be at least as performant as traditional operating systems. The guys even implemented some custom-tailored applications that exploit the low-level exokernel layer in ways that enable very high performance.

I think I learned some interesting ideas, even though I don't agree with all the statements from these papers. Moreover, my conclusion is, that I need to read more scientific papers. Just sitting around all day, waiting for ideas to become rich, will not suit me well. Next is a paper about network packet filtering dating back to 1986...

Wednesday, July 26, 2006

Summer School on Dependable Software Systems

After finishing my diploma and starting to work as a PhD student at the TU Dresden Operating Systems Group in the beginning of July, I attended the Summer School on Dependable Software Systems last week. It took place in Lugano, Switzerland. Six researchers from USI Lugano, Carnegie-Mellon University and the University of Milano presented the best of their knowledge and research.

Natasha Sharygina from USI talked about using model-checking for analysis of large C applications. She gave an overview of the SATABS tool she is involved in and gave some thoughts about veryfing mobile applications.

Fernando Perdone from USI introduced reliable broadcast mechanisms and the problems related to this area.

Peter Lee from CMU introduced Proof-Carrying Code as a method to proof the correctness of an applicatoin to a customer.

Mary Shaw from CMU talked about Ultra-Large-Scale Systems and about everyday dependability where we have to consider changing users needs during workdays although the effect of failures might not be critical like in an airplane, but only inconvenient to a user.

David Garlan talked about formalizing software architectures, so that even high-level architectures may be checked for consistency and conformance with respect to certain rules posed on a system.

Carlo Ghezzi talked about changes in software development, targetting mobile and dynamic systems instead of static and monolithic ones.

Sunday, May 21, 2006

[L4] Speeding up L4Linux task creation

It's L4Linux once again. As mentioned the last time, L4Linux gets performance leaks when it is in need of services provided by other L4 services, since it then needs to call these services. One example for this is task creation, which I tried to improve recently. Let's first have a look at what L4Linux is doing upon a user-space application calling fork():
  1. Allocate an L4 task from the task server. The task server upon initialization got all available tasks from the resource manager (RMGR). However it does all these requests only to get informed about how many tasks are in the system. It then returns these tasks to RMGR immediately.
  2. Setup Linux-internal task data.
  3. Call the task server once again to start the task.
  4. The task server now calls RMGR to really start the task.
The same goes for terminating a task. Once again RMGR is called to kill the task using the task server as a proxy. So what is this task server good for anyway? - Well, it provides ownership management for tasks. This could also be included to RMGR thereby saving this indirection, but no one has done so up to now.

Having a look at what is done in task server and RMGR to startup a task shows, that it is simply some l4_task_new() system call. The first idea to improve the situation is to let L4Linux do so itself. I therefore added a new allocate_chief() call to the task server interface. This allocates a task for the client and makes this client become the task's chief. This is necessary, because only a task's chief is allowed to start and stop it.

This alone speeds up task creation and termination by around 10%, since we save one L4Linux -> task server -> RMGR call chain for both, starting and stopping a task. Another improvement can be made by caching unused tasks. If a task is terminated, we do not need to return it to the task server, but can put it into a cache instead. It can then later be restarted as a new L4Linux task. This removes every interaction with L4 servers from the start/stop process of a task. All in all new task management and task caching do result in 20% performance increase for task creation.

Saturday, May 13, 2006

[L4] L4Linux performance issues

L4Linux is a paravirtualized version of the Linux kernel running on top of the L4 microkernel family. For my dipoma thesis I am doing some evaluation of L4Linux in comparison to native Linux to find out where the former's performance problems come from.

One of the problems is that Linux applications are running as L4 user space apps alongside with the kernel. Every system call issued by an application leads to an IPC to the Linux server which then answers back once again using IPC. This means, that 2 context switches are invoked for each system call, resulting in a much larger number of TLB and cache misses than on native Linux.

I measured this by performing a nearly-null system cal: sys_getpid(). From Linux user space its average execution time is around 260 cycles on my test computer (An AMD Duron 800 MHz with 256 MB RAM, Linux 2.6.16 booted from a ramdisk). Performing the same task on the same computer with the same ramdisk setup in L4Linux results in around 3,700 cycles for each call to sys_getpid().

I thereafter counted cache and TLB misses for each setup and learned, that for 100,000 calls to sys_getpid() there were around 200 TLB misses in native Linux - probably from the point where my benchmark was interrupted by some other app. On L4Linux there were 6 TLB misses for each system call - some more. These misses lead to delay in execution of L4Linux system calls, because cached need to be refilled.

However, this is not the one and only source of performance leaks. Losing 3,500 cycles for a system call is not a lot, when you see that a blocking sys_read() needs 2,7 million cycles in average. There are other sources, for instance the points where L4Linux needs to use L4 system services to get work done. I will discuss this in another post soon.

Conclusion: Context switches for system calls reduce L4Linux performance.

Solutions already have been proposed:
  • Processors with tagged TLBs do not need to flush their TLBs on context switches and therefore will reduce TLB misses for system calls.
  • Cache coloring can be used to reduce overlapping between L4Linux and its applications so that both do not thrash their caches while running in parallel.
  • Small address spaces are a concept to run multiple applications inside the same virtual address space. Thereby no context switching is performed for Linux system calls.

Wednesday, February 15, 2006

[Sports] Dynamo Dresden vs. TSV 1860 Munich

It's been a long time since we've seen some soccer in Dresden. The last game before Christmas (against Rostock) was postponed, because of heavy snow the days before. In January, season restarted and the first match against Fuerth also got delayed, because we had temperatures around -20°C and everything was frozen. With the away match in Offenbach also being delayed, Dynamo have not played three of their last four matches.

Last week the weather became slightly better, temperatures around the melting point. Dynamo officials tried everything to make Friday's game against Munich happen. Although the field does not have a heating, they pumped hot air through the drainage and thereby melted the frozen field. After this happened, it started to rain for some days and the field became a puddle of mud. Guess what - they had a helicopter fly around the field for an hour, thereby dry-blowing the grass. Crazy.

After the helicopter went away it started to snow again and this lead to about 50 fans cleaning the field allover Friday afternoon.

With all that said, the match nearly was a minor matter. Or not? Remember, the team had not won any of the last 13 matches. Therefore huge emotions burst out, when Thomas Broeker scored his second goal this season for the 1-0 before halftime. And better: we even got a second chance to make a goal and this was used by our new defender Tomas Votava to end up with a final score of 2-0 against a strong opponent, who could not manage to have any of their chances get countable.

Several good players were seen this day: keeper Ignjac Kresic saved the lead in half one and even got a concussion. Therefore he was replaced by Darko Horvat in half two and he also did an extremely good job. Best field player for me was Pavel Pergl, our new right-wing defender. I cannot remember when I saw one of our players win a one-on-one situation near the Dynamo goal this season. Pergl did this more than one time in a single game and was one of the reasons for Dynamo not to lose.

Friday, January 20, 2006

[Linux] Network transfer rates

For my diploma thesis I need to transfer monitored data from a test PC running the L4/DROPS operating system to my Linux workstation. A kind of weird idea of my tutor was to write all the data to a hard disk with no file system or so and then switch the disk to the other workstation and have a program read all the data. The good thing about the idea would be a high transfer rate. The bad thing is, that no real-time monitoring could become possible.

As I've been developing a software network switch for L4 last year, I thought that transferring data through a network could work great. For this I ported a small IP stack implementation, uIP, to use L4 and my network switch. Transferring small amounts of log data is no problem with it, but for large transfers we encountered the limits of this stack. Some of its small size results from minimal TCP features implemented and the drawback for large transfers is uIP being able only to send one TCP packet at a time and then waiting until the packet gets acked by the receiver.

On my Linux machine I started using netcat to receive all the data and store it to a file. What I experienced there was a relatively fast start of transmission (~20 kB/s in the first 2 seconds) and then a sudden slowdown to only 2kB/s afterward. Ethereal can really be your friend when diagnosing network connections and so I found out that the Linux machine started sending acknowledgements fast and after some time considered the TCP-stream to be one-way and only sent one acknowledge message every 0.5 seconds. This is okay for a normal TCP stack, because TCP allows acknowledgement of several packets with one ACK message. uIP however needs the ACK to send the next packet and therefore everything messed up and became slow.

After some time of discussion (with even considering the option of porting yet another IP stack to L4) and searching, I found that there is an option for TCP sockets, putting this socket into the QUICKACK mode, where all packets are acked immediately. So I abandoned netcat and wrote my own little socket application that puts its receive socket into this mode for each receive. This finally gave me data transfer rates of 2.2 MB/s - 1000 times better than before.

If I should find this throughput too slow in the future (monitoring produces a lot of data), I will port the lwIP stack to L4, but I hope this will not be until I receive my diploma.

Sunday, January 08, 2006

Terry Pratchett - The Tiffany Aching Series

Terry Pratchett has written two books about Tiffany Aching up to now, which I finished reading last week. Tiffany is a young girl trying to become a witch. In the first book --- "The wee free men" --- she has to save her little brother (Who is always crying for sweets - reminds me of the abbot in "Thief of time") who has been stolen by the Queen of Fairies. Book 2 --- "A hat full of sky"--- tells about her apprenticeship with an elder witch. Thereby Tiffany is occupied by an evil demon who steals people's thoughts.

This may all sound a bit frightening, but it is however quite funny. The fun comes mostly out of the supporting characters. Tiffany makes friends with the Nac Mac Feegle - a clan of six-inch-high blue men always looking for a fight (and if there is none, they'll fight each other). These guys are quite funny (but not very bright...) and also had a small appearance in one of the real witch-novels, "Carpe Jugulum". Furthermore discworld's greatest witch of all --- Granny Weatherwax --- has got her appearances and is really part of the story in the second book.

The Tiffany-Aching-series is not as complex to read as other discworld novels, mainly because it is targeted at younger readers. (Yes, I read children's books!) However, it is really funny, apart from the first third of the second book being a little bit weak.

Saturday, December 31, 2005

The final curtain

Before this year is gone, I'd like to give some sign of life to all the guys out there (in Brazil, Mexiko and even Germany...) who know me. I did not forget you, however there is nothing to tell here at the moment. I hope you had a merry Christmas out there in the world and did not get too frustrated about being far away from home.

The university is at a shutdown at the moment, no one works or is allowed to enter it until Monday morning. This got me partly nervous, because I could have spent the last two days working for my diploma thesis. But the good point in it is, I got two more days of relaxation and can continue to work next week.

See you in 2006. (And remember that there is a leap second between 00:00:59 and 00:01:00 on New Year's Day!)

Friday, December 09, 2005

[Sports] Dynamo Dresden vs. Energie Cottbus

I remembered lately, that I seem to have forgotten to post an entry about Dynamo's last home match. This would not have been that sad, if the opponent team was just anyone. But last Monday, the enemy came from just 100 km away - Energie Cottbus. For the third time in a row Dynamo was making the first goal. But for the first time since September, they did not lose!

I could say a lot about the game itself: in comparison to the last games, the kickers played a new way of soccer that could easily be described as a revelation. Fast and dedicated forward play. No more fear of making mistakes. Great, exciting, wonderful. We definitely had fun. (And I wonder, why I am so happy about a draw at home - but hey it was the first score point since I don't know when...)

There were also bad things happening, as it is probably often the case in high-aggressive derby games. More than 2000 fans of Cottbus' team had taken the journey to Dresden and it was great for some moments to see them, because 2000 are much more interesting than the 30 guys from Unterhaching two weeks ago.

What I did not like about the game was the potential of aggression, violence and hate. Cottbus fans showed an evil anti-Semitic transparent early in the game. Later on, they were firing signal projectiles to the field and tried to burn down their own fan block.

Monday, November 28, 2005

Good people are always last...

I've been driving through Dresden's early morning heavy traffic lately. Coming from a back road, I was waiting 5 minutes to turn left onto my main route. You probably know this: first there are 30 cars coming from the right and if these have passed, there are another 30 cars from the left and then again 50 cars from the right and so on.

Sometimes there are nice motorists who stop for you and let you pass the road. This also happened to me after 4 or 5 waves of cars from each side: a nice woman stopped to let me drive on. Unfortunately this woman was the last one in a series of cars and if she had not stopped for me, I had been able to cross the road anyway.

As this was not the first time I experienced this, I suppose: Good people are always last. What do you think?

Sunday, November 27, 2005

[.NET] Setting up nUnit

As I am somehow addicted to information technology, I'd rather have this blog being a technical one with some soccer-related posts than the other way round. Therefore I am going to start a series about my experiences with unit testing in Microsoft's .NET framework.

This is not going to be a full-flavored introduction to unit testing and agile (extreme) software development at all. For complete information on these topics, Wikipedia's article about unit testing and the eXtreme Programming Homepage are good starting points which I'd like to point you to.

Besides programming mostly in C during my studies (which in fact is a great language!), my favorite programming languages for hobby projects are Python and C#. For a hobby project which is in its early steps at the moment (and which I will link at most if there is something to view on its SourceForge homepage), I am searching for a unit testing environment for .NET languages.

With google as one of your best friends you will soon stumble upon nUnit - the .NET version of the xUnit unit testing framework. Unfortunately it was not able to cope with the newest beta releases of the .NET framework 2.0. I spent a lot of time trying to compile the sources which are available from the project's website, but it really did not make me happy.

Lucky me, today I found out, that they have released nUnit version 2.2.3 which is finally able to run with the latest .NET versions. Therefore setting up nUnit is now quite easy - download the 2.2.3 msi from the nUnit homepage and run the installer. Worked pretty fine for me.

There are express editions of the new Visual Studio languages available and they are free for download until November 2006. Unlike the full-fledged VS2005, these editions however do not contain any unit testing support. This is bad. Even worse: Unlike the real VS, the express editions can not be extended by plugins. An nUnit addin is available for the studio and would have been a great help in developing with Visual C# Express and nUnit.

So the next step to do is setting up nUnit and Visual C# Express another way. Assume you have a production project opened in VC# Express and you want to add unit testing to this project.
  1. Add a new project to your solution. This should be a dynamically linked library and will contain our test functions.
  2. In the solution explorer right-click the DLL's references and chose "add reference".
  3. From the dialog opening, chose "nUnit.Framework" from the ".NET" tab and the project you want to test from the "Projects" tab.
  4. The real Visual studio seems to enable users to add a startup action to a project so that you can run nUnit every time you hit F5 / Run. Visual C# Express will not let me run a DLL project so I chose to add a post-build event for my test library.
    To do so, right-click the project and chose "Properties". In the "Build events" tab add a post-build event
    C:\Programme\Nunit\bin\nunit-gui.exe $(TargetFileName) /run
    (where C:\Programme\Nunit is the directory you installed nUnit to) and check that the post-build event is run whenever the build process succeeds.
    This postbuild event will run nUnit every time you rebuild your test library (e.g., by calling "Build solution") and tell nUnit's graphical console to run the tests in your test library.
  5. Now that we are done, it is possible to run nUnit from VC# Express by hitting one key.

One thing I noticed regarding post-build events: When nUnit is installed in a directory whose name contains whitespaces, place the directory name into quotation marks, otherwise the postbuild event will fail with an error code 9009 (which probably means "file not found").

Monday, November 21, 2005

[Sports] Dynamo Dresden - SpVgg Unterhaching

It was the final game. Dynamo's chair man had issued an ultimatum telling coach Christoph Franke that he was to leave when losing against Unterhaching. The players agreed that they needed to act against this and against their losing series with only 2 points from the last 8 matches. What hadn't they promised before yesterday's match? - Concentration, fight, the magic of football.

With this in mind friends and me went to the stadium once again to see Dynamo win eventually. Every series needs to be ended and hey - they could not really lose against Unterhaching, could they? 2 hours later we knew they could.

Terribly raining, the air at a temperature of about 3°C - yesterday evening was not everyone's favorite weather for a football match. That's probably the reason why only 12.213 visitors attended the match that could have been the last one in an epoch. The game they saw started like all the others during the last 3 months: the players appeared to play soccer but Unterhaching scored an early goal. But this time everything looked better. Only 5 minutes after the 1-0, Dynamo attacked and the ball crossing into the penalty area hit Unterhaching's Omodiagbe which then scored a wonderful goal of the week - into his own goal. 1-1.

Now that this happened, the players seemed to realize that this was their home game and the fans supported them as if this was the last day on earth. With this backing, another 7 minutes later Joshua Kennedy scored the 2-1 and Dynamo seemed to win this game. After this they however grew a bit tired or too self-confident. This was punished by Unterhaching's equalization right before the break. With a 2-2 after 45 minutes everyone agreed that this was not the end and we could win this match.

All the fight from the first half was unfortunately over right from the beginning of the second one. We suddenly saw the same team as ever: no one deared to stand against the opponents, no one wanted to play the ball, no one wanted to duel the others. It looked as if they just wanted this to go over and maybe score another goal with some luck.

Those who don't fight will not win. That's how an old saying goes and it became true in minute 65. All our players were in Unterhaching's half when a counterattack started and the ball flew onto Ignjac Kresic, our keeper. He ran out of his goal to kick the ball away, ran 10 meters, 20 meters, 30 meters in front of it. This time however, he did not manage to hit the ball right - Unterhaching's forwarder was there and kicked the ball into our empty goal. 2-3. This also was the final score.

There is something people call the "third half" of the game. Normally this is the moment where all the nice people should be at home quick, because it is when the hooligans start to vandalize and fight the police men and women around the stadium. Nothing to be proud of, but not a problem of Dresden only. This time the third half consisted of one or two thousand fans not leaving the stadium, but celebrating their coach again and again. In my last post I supposed, that the fans were undecided about whether they liked him yet or not. Yesterday I saw that most people were in favor of him. The fans blame the players for losing the last games, not the coach.

When I got home I read in an online-magazine, that Frantisek Straka would probably become the new coach of Dynamo. Frantisek who? But then I remembered: he is a nice Czech guy who coached LR Ahlen until last October. This is the one who dismissed himself in Ahlen because he did not mentally reach the players. What the f*** could this man do here? If he really comes here, he will not have any beginner's advance. The people will want him to beat Cottbus and Rostock in the last home matches of the year. If this does not succeed, he will be the last man standing on a lonely position.

However, when I opened the newspaper this morning, Straka was not the only option anymore. Impressed by the fan's clear vote in favor of Franke, the Dynamo management might also decide to keep him at least until Christmas. This would give him another 4 opportunities to get the team back to business. I wish this to happen. Let's see...

Thursday, November 17, 2005

[Sports] Fight and win!

Three days left until Judgement day! After being defeated by Erzgebirge Aue three weeks ago, Dynamo's manager told the coach that he was to leave if they did not fight with honor in Karlsruhe and if they did not win against Unterhaching afterwards. The fight was there in Karlsruhe: Dynamo lost 1-2 against a strong opponent, but the real good thing: for the first time in 8 games they were leading 1-0 --- although for 5 minutes, only. :)

Next Sunday we will see the home match against Unterhaching, another direct competitor. They are currently on rank 15, Dynamo is on 16. Both teams gained 11 points up to now, but while Dynamo has not won since 8 matches, Unterhaching has an upward trend after two nice wins out of the last three games. That's the situation and all can read this from the news.

But how does it look inside?
  • The team declines all critics for the coach and says, they will play for him.
  • The coach is calm and silent as usual and even forgives those, who critizise him devastatingly.
  • The fans are undecided. That's a bad point. Many of them know that the coach as achieved wonders within the last 4 years. He took over Dynamo when they were near death, playing in League 4 and led them into League 2 within 3 years. But all this does not count, if you are not successfull at the moment. Easy to see, that there are also fans who would prefer to see him leave and restart the Dynamo engine, before it is too late.
Personally, I did not want the coach to leave after the Aue game and I am convinced that the current situation is not his fault at all. But the rules in professional soccers are as that: he is the one responsible for the situation, because he is the easiest one to be thrown out. After two weeks of thinking, I do not wish him to be kicked out, but this is not because I admire him so much, but because I want them to win on Sunday. Everything else we will see afterwards.

The weather: 70% snow probability for Sunday. 100% supernatural heat probability in the stadium.

Friday, November 04, 2005

One - two - three - FIRE!

We really had a bad night today. Went to bed some time after midnight and woke up from the noise of a party in the room above around 4 o'clock in the morning.
I live in a dormitory, so such things sometimes happen. It's annoying, but you can do nothing about it (except maybe attending the party yourself... *g*).

So I was just a bit pissed of, because they didn't let me sleep. But then at about 4:45, the fire alarm started to ring. Cursing I stood up and went out to see what was going on. You could easily differ the experienced students from the newbies: as a newbie you rush out of the house when the alarm rings, if you are more experienced, you know that most of the time some drunken idiot simply wanted to make fun of waking up all the house.

As an experienced student I first went to see whether there really was a problem. Well, this time it was: The 4th floor was full of smoke which came out of a room. So now it was time to really leave the house as also the fire department was already arriving and requested us to leave the house.

Nice happening: all the residents standing out on the street at 5 in the morning. Let's see it optimistic: The good thing about this is, that you can meet all the people you know and haven't seen for a while. ;) But in fact it's terrible if you get awoken by a loud and annoying bell and then stand out in the cold. (Another advantage as an experienced student: I put on my warm clothes instead of rushing out in my pyjama...)

At 5:30 the party was nearly over. The fire fighters did their job well and we could return to our beds. I guess I don't need to mention that we did not get up as early as usual, today. Instead we slept until ten and then slowly started to get up and to embrace a new day.

Wednesday, November 02, 2005

[Sports] Dynamo Dresden vs. Erzgebirge Aue

Some weeks ago someone suspected that I might be Dynamo's guardian angel, because they always won when I was there and they lost when I was not. I suppose, these times are over. After the Aachen desaster, Dynamo lost 0-3 against Nuremburg in a national cup game last week. That was not that bad, because Nuremburg plays in the major league and it is okay to lose such a game.

After being thrown out of the cup, it seems plausbile that the team now can concentrate on the league games. This seems necessary, as after having a little high in the beginning of the season, Dynamo has not won a game since the beginning of September. This weekend they reached the descending ranks for the first time this season and needed to win at home against Erzgebirge Aue to get out of them again.

To sum the game up: it was horrible. Dynamo did not even try to resist Aue's attacks. Consequently Aue scored their first goal after only 6 minutes. The rest of the game did not get even better, Dynamo could have lost 0-6 or 0-7, but our great goal keeper once again helped us. Unfortunately his help yesterday resulted in only 4 goals for Aue. Many fans started to exit the stadium after 70 minutes - they did not see Dynamo's goal of honor in minute 89. The final result of 1-4 sounds like a disgrace for all of us, but in fact it was even flattering.

What we saw yesterday was a team with a huge menthal problem. These guys cannot be that bad, they already won against Freiburg and Munich this season. But through the last weeks all you could see were players in fear of losing. No one wants to possess the ball, so they pass it over to someone else. No one dares to fight, so no one kicks the ball onto the goal. Very sad.

But wait: hope is not lost yet. Only one point more and we wouldn't be descending. There are still 23 games left until the end of the season. It must be possible to make it. The next opponents are not that frightening: on Friday Dynamo plays in Karlsruhe where they tied last year and won at home. After that we play at home against Unterhaching - this team is currently positioned even worse. Then follow matches in Ahlen and Saarbruecken (both teams in the lower part of the league) and the very important home matches against Cottbus and Rostock where we need to recover the honor lost to Aue yesterday.

Monday, October 31, 2005

Linux Information Day 2005

Last Saturday I took part in this year`s Linux Information Day here in Dresden. I wasn't able to attend these events through the last three years, so I was pretty interested in what these people did there and how it was accepted by the visitors. Therefore I enrolled as a helper and was chosen to be the "track manager" for one of the three track rooms. In fact this position meant that I was inside all the talks, helped the speakers to prepare for their talk, announced their talks and gave information to the visitors.

To me this was a nice job and I really liked the possiblity to get close to the speakers. I really met some interesting guys there, doing admirable things and giving really good talks about it. On the other side of course there also were bad and boring sessions where the speaker seemed to be on drugs or to fall asleep the next moment - hey, but that's the way university goes all the day so there was nothing new or shocking about it.

One word about the geeks: Many of you may have heard or read about these guys. Pale, thick glasses, blains. Of course I am aware that such guys exist, but to me it always seemed, that this should not be the usual description for a computer guy, because I know a lot of people who are not of that kind. During the Linux Day my attitude was put onto a big test: there were countless guys fitting the description. Guys having problems to talk to other people, guys not seeming to know that there are different things in life than computers and Linux and that stuff. Sad thing. :(

Thursday, October 27, 2005

Bash them hard!

A friend introduced me to german-bash lately. The site stores interesting, depressing, stupid and otherwise funny quotes from German IRC and chat sessions. This news gives me another blog entry for today... *g*

My current favorite (translated to English...):

  • Hey, don't be that pessimistic. Optimists really live longer.
  • *nodd* Yeah. That serves them right...

Business Strategies

Spiegel online today has an article about how modern life and business strategies are related to ancient or medieval philosophies. The article links to a test that gives you 21 questions to find out who you are and what you believe.

As a fan of such online tests (remember the coffee test some weeks ago?) I rushed in to take the test. My result: I am mostly the Machiavelli-kind of guy. True and sometimes unpopular focussed on my goals. Some of my answers also match Clausewitz (showing, that I am aware of the risks and take options into account) and Hagakure (meaning I seem to have some sense of taking risks).

Mmmmmh. I don't know whether others view me like that?

(The article as well as the test are in German.)

Monday, October 24, 2005

[Sports] Dresden Marathon

Yesterday a friend and I took part in one of Germany's largest city marathon runs - the Dresden Marathon. As our training was not dedicated and long enough to even finish the whole 42,195 km, we decided to take part in the half-marathon competition and did not plan to meet a certain finish deadline - we just wanted to go there and see what we can do without a lot of effort - We often cancel training runs, because we have something else to do... :( For being nearly completely untrained on the 21 km distance, we were very happy to finish in net times of 02:02:38 and 02:04:46. Of course we promise to do better next year, as we plan to do some more training and more competitions next year.
We chose Dresden as our first run, because this is the place where we live and so it was easy for us to take part. (Remember, we are students and cannot spend all our money for journeying around just to give us some pain anywhere... *g*) The route was very impressive and went along nearly every place you will need to visit as a tourist. As it was a city marathon, most of the run was on paved roads and we did not have any hills or mountains in here.

The marathon organization was also great. The day before we even got a noodle meal for free (carbohydrates.. yeah!). Also on Saturday we visited the Marathon Expo and got informed about clothing, food and competitions we can visit next year. During the run on sunday there were quite enough catering posts (water every 2 km, bananas, bread and isotonic drinks every 5 km) - you won't believe the great taste of dry bread and a banana at kilometre 16... :)

The greates experience was of cause the moment, when we reached the finish line and everything was over. Now after having slept nearly enough to compensate the run, it is time to think how to go on next. My plan is now to reach a half-marathon time of below 2 hours (which should be easy) and in the best case a time below 01:50 h (which will be some harder). If I can do this without a problem, I will look forward for the real experience. Maybe I can do a whole marathon in Dresden next year.

Tuesday, October 18, 2005

[Soccer] Dynamo Dresden vs. Alemannia Aachen

It's getting cold here. Autumn leafs are getting brown on the trees, the sky is all cloudy and if it is clear, this leads to even colder winds blowing through the streets. So how to become warm on a monday evening? Some friends and me tried the Dynamo way: Alemannia Aachen were in town and playing against Dynamo Dresden yesterday evening. That's why we went to the stadium to have some jumping and singing experience once again.

The game started unexpected: the Dresden team was pushed into a defensive position and did not often get out of it allover the game. Aachen attacked one wave after the other, supported by many bad mistakes made by Dynamo players. One could argue that these mistakes happened, because three or four of the players were only in because they played a position of other injured players - but even then you should not play that bad if you plan to stay in the Second League this year again.

First 30 minutes saw many attacks, some of them seriously bringing us near a heart attack, but up to then they did not bring the effort they should. In minute 34 however, Aachen scored a goal after kicking the ball on to the goal 3 times in a row without hitting it. No one of us was really surprised, we just stood there without talking - maybe even more shocked by the way the game went than by the goal itself. Some relief 2 minutes later: Witold Wawrzyczek (that's the guy with the name no one could spell by the beginning of this season - but our fans' Polish has improved at least a little bit over the time.) hammered the ball from 25 metres into Aachen's goal. 1-1 at halftime - we went to drink some mulled wine (did i mention that it is getting cold here?) and tried to forget the soccer disease we saw in the last 45 minutes.

Half two started as the first one ended: Aachen rushing and attacking, Dynamo in a defensive position which they were obviously not prepared to take. Another good attack lead to the 1-2 goal in minute 51. Some minutes later the Dresden players started to wake up. The fan curve hat been yelling "We want to see you fight" for minutes, now it seemed our players had understood. Unfortunately they were too nervous now to get something really done even though they tried to fight. The end of the game saw two of our players leaving the field because of foul plays, Dynamo's co-trainer was sent to the tribune because of shouting at the referee multiple times. No wonder, Aachen scored a goal for the 1-3 final result later that game.

Many of the referee's decisions during the last twenty minutes of the game were not quite easy to understand for the fans, many of them got very angry. However, these decisions did not change the game - we already had lost in the first 70 minutes. The defeat was okay, it even would have been okay if Aachen had made five or six goals. The referee only made the game taste even more bitter. (Greetings to the Bitterman in Brazil!). If Dynamo keeps on playing like this, we are going to face terribly dark times. 4 games at home are left until christmas, three of them are derbies against the teams from Aue, Rostock and Cottbus. Currently we are number two in East Germany - if we want to keep this place, we should win at least two of these games.

Besides, yesterday's game had a main sponsor: T-Mobile, a German mobile company. When we entered the stadium, we saw all the seats covered with magenta balloons, before the game started, some management guy of T-Mobile stood on the field and tried to convince us that magenta is a great color in combination with our traditional black and yellow. (We were not convinced afterwards.) But T-Mobile had spent a lot of money for this: they had hired the East-German band "Die Puhdys" to perform three songs before the game and they had a lottery running, were they gave away 1.000 prepaid handies. (I didn't win one.) The Ultra fan block presented a transparent shouting at T-Mobile and its commercial ideas, but this transparent was soon removed by the stadium security. That's what pissed off many of the fans if they were not already in rage because of this commercial attitude. My pragmatic opinion, although I know that many others disagree about it: Dynamo needs all the money they can get and if this means to have some terrible balloons at a game or to sell the stadium name - just do it.

Saturday, October 01, 2005

Coffee?

You Are a Soy Latte

At your best, you are: free spirited, down to earth, and relaxed

At your worst, you are: dogmatic and picky

You drink coffee when: you need a pick me up, and green tea isn't cutting it

Your caffeine addiction level: medium

Monday, September 26, 2005

[Sports] Running & Dynamo

The good things first: A friend and me went to Hamburg last weekend and took part in the "Volkslauf durch das Alstertal". As we were afraid of our bad training we decided to start for the 10 km run only, saving us the half marathon distance for another time.

Our personal goal was to run the 10 km distance in below one hour. I know this is not a real hard thing to do for someone doing regular jogging over this distance, but as we hadn't had any competition experience up to now, we just wanted to give it a try. The results were okay: my friend Rene ran 10 km in 00:50:19, I reached the finish after 00:51:32 - way below our goal, so that we were a little bit proud of us. I hope, I can put on some pictures in a few days. (Edit: I cannot - the official photo agency of the running event wants me to pay for the pictures they've taken of me. And these pictures are not that beautiful anyway...)

Now let's have a look at the bad things: Because of my holidays and the running event, I missed 2 home games of Dynamo. I've never seen Dynamo lose again - they always won when I was there. Unfortunately they once again were not that lucky. They played 1-1 against Eintracht Braunschweig a week ago and lost 0-2 against SC Paderborn yesterday. This is a bit sad, because both opponents played in the 3rd league last year and are not what I would call a hard opponent. Let's hope everything will get better in a few weeks. Dynamo will play in Siegen this weekend, next home game is against Alemannia Aachen in 2 weeks - I will be there and hope to see them win again.

Tuesday, September 13, 2005

[Holiday] Slovakia

Friends and me spent a week in the High Tatras - the world's smallest high mountaineous area. Not that much to mention as I do not want to bore the readers (if I should have some...). We went hiking through the mountains and had a lot of sun. Very nice.

One thing got me shaking during this week. I have been hiking in the Tatras for years now - the first time at the age of three. But one thing was different this year: there was not so much wood there as I hat gotten used to. Last year a forest fire killed some amount of wood. As if this wasn't enough, a tornado hit the mountains later that year, smashing even larger areas of trees. Driving the main road along the mountains (which once was a road through the woods), you only see devastated areas. Or as our renter brought it to the point: "No problem. In 50 years everything will be okay again..."