Tuesday, November 22, 2005

Pearls of Wisdom

I have been reading Code Complete in the middle of all this chaos. It keeps my spirits up. It is nice to tank up on some good research data and sound advice for the construction of code. The last chapter I read was about "Debugging".

Here's a quote, I found interesting:
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

What this means is that either you have to write code so perfectly that you will never need to debug it, or that you write it as simply as possible and use good, standard approaches in constructing the code.

You actually might get both if you follow the latter approach. It will be difficult to insert bugs into code that's written simply and therefore might never need to be debugged.

That follows the General Principle of Software Quality (by Steve McConnell):

"Improving quality reduces development costs."

in other words,

"You don't have to choose between quality, cost and time - they all go hand in hand."

A Quick One before Harry

Just a quick blog.

The packers came at 8AM and worked until the afternoon.
One more man arrived at noon and had dismantled the kitchen in about an hour.
Most everything is now in cardboard boxes, there are more that hundred of them, I think.

We have to defrost our refrigerator and freezer, so we've of course been eating ice cream for the last two days. Of course. Now we give up and take the rest of the melting foods to a friends house for one night. After that it's off to the movies to see the latest Harry Potter!

Tomorrow we move.

Monday, November 21, 2005

The Move is upon us

The Move is upon us.

The "No parking"-signs have been posted in front of our house.
The apartment is full of cardboard boxes, luggage and a stack of stuff for the painting bee stands in the corner of the huge bathroom, which I'm going to miss, even though in the new apartment there are two toilets. But there is no 15 sqm bathroom! Somebody once mentioned living on top of a pub in London in a one-room apartment that was smaller than the bathroom. It is so big that we actually put our garden furniture in it.

We bought a box of beer for the painters on Saturday. Now it can officially be called a painting bee(r).

We visited the new flat twice today. First to see if everything was ready and the second time when everything was supposed to be ready. We still found a few things to repair and hopefully they can be taken care of tomorrow so that everything is fixed and clean by Wednesday when our boxes start to arrive.

Afterwards, we went to a new pub, a Kneipe called Mausefalle (Mousetrap). Our landlady knows the owner and showed us the pub. It seemed like a very nice establishment. We'll have to visit it again.

In the evening our next-door neighbors came, as agreed, to pick up a small desk. The first thing out of their mouths as they arrived was: "You're moving away. We oppose." It was very moving. Ended up discussing biology at their new aquarium, which had a lot of plants, some fast snails and no fish.

My friend Yrjö called and wanted to find out more about the German bureaucracy. I tried to help, although the best advice would probably be to recommend reading Franz Kafka and staying as far away from official buildings as possible. As a matter of fact, I find the German bureaucracy an extremely powerful machine, where things go in and eventually, inevitably they get processed and finally a result appears. Sometimes years later, but in the end a result, a decision appears.

Seen on the wall of a customs office in Bochum "Why do you hate civil servants? They haven't done anything".

The Move is upon us.

Sunday, November 20, 2005

Letting go

The weekend just whooshed by as always. Cardboard boxes were filled and furniture moved. You can look at a move from two opposite perspectives;
some say that a move is a crisis only surpassed by the death of a child or divorce;
others see it as an opportunity to really clean up and get rid of old stuff.
I tend to be on the latter side and view this move as a preparation for the future. It means letting something go, shaking off the old life and the cobwebs of the old habits.

Apropos, cobwebs, I'm currently reading Neil Gaiman's newest novel, Anansi Boys.

Highlights next week: The Move, painting the old flat, the dentist and possibly Harry Potter.

Thursday, November 17, 2005

Snow - or then again, not

A friend of mine, Kaj, is currently traveling around the continental Europe by train. He's visited all the far places but has shamefully ignored Europe until now. Just a month or so ago he was in Africa (where he almost drowned - twice - in the River Nile). Now he's testing how the Chunnel (the Channel Tunnel to Great Britain) works.

Have a nice time in London, Kaj!

He reminded me that the Christmas Market has started in Bochum. After the move we'll be able to visit it every day if we want to. Missing is only snow. The winters here in the Ruhr Area are strange, if there is snow for more than three days it's a hard winter. That is a little bit peculiar for someone who comes from a country where snow stays on the ground for at least three months.

Hello to all who wait for snow in Finland! Terkkuja lumen odottajille!

Wednesday, November 16, 2005

The move, fairy tales and time travel

On Monday, we accepted the offer of one of the moving companies. We had to choose from just two offers, because the third one arrived only yesterday, almost a week after their visit. When you compare that with the fact that the fastest offer arrived the next day, you see a difference in the level of service. That was just one the reasons we went with Uhe. They were asking the right questions and they clearly wanted to provide a good quality service. That is extremely important to us and in general in the case of direct competition.

We went around to the apartment, which was supposed to be renovated by last week Wednesday already. Well, the two men were still working. But they promised to have everything ready this week. So much so that even the balcony would be usable by the movers on Wednesday. The balcony is supposed to get new tiles and we were already making scary scenarios in which the balcony would need to be left alone to dry and couldn't be used in the move.

It is probably the fastest way to move our stuff, to use an external lift through the balcony. And luckily that's what will be possible.

I packed away my Ferraris. It took a couple of hours and I forgot to take a picture. I try to remember, when I have unpacked them. I'm sure you'd like to see my Ferraris.

Yesterday, I decided to paint this old flat by myself. And by myself I mean two or three friends of mine. Stefan and Holger agreed to come and help me. Next week, I need to go buy the necessary supplies and prepare everything so that the painting itself goes smoothly on Saturday.

Saw "Brothers Grimm" in the movies yesterday. It took a while for the movie to really start, but then it was entertaining enough. It isn't a masterpiece, although they managed to sneak into it cleverly quite a lot of fairytales. If I had to choose one Terry Gilliam film, I'd take “12 Monkeys”. There's just something fascinating about time travel...

Sunday, November 13, 2005

Last but one weekend in Witten?

What exactly happened this weekend? My calendar is filled with markings. Seems that I started to read "Code Complete, 2nd edition" in order to create and update the training material. I need to check that the rules for the trainings are as generic but useful as possible. I'd like them to be as language-independent as possible as well. I imagine it will take couple of weeks to wade through the excellent book. The other source for my material will be "Pragmatic Programmer", which I find very matching to my philosophy of software development.

We got some logo drafts from Finland, which looked very nice, but which we had to reject after all. The visual concept isn't working. I sent my new concept idea to my web designer, Ville. Let's see how he reacts. I hope he takes it well.

I didn't get to doing the backup yet. I hope nothing breaks just now. Don't listen, Mr.Murphy.

After a long while, Yrjö and I played badminton. I have to say that on our normal level it should be called goodminton, but today we (at least I wasn't) were not on that level. I lost the first set 15-4 and led the second 11-0 until Yrjö made a comeback and finally won 19-17! The second set must have taken more than 20 minutes!

After planning next week, I ended up lecturing to Virpi. I told her exactly what I tell the trainees in my trainings. I drew a couple of charts and explained the ideas to get some feedback. The whole thing gave me more self-confidence, which I've honestly been lacking the last few days. When you don't have colleagues, you have no feedback, you can't bounce your ideas off others and hear what they think about it. It is difficult. I want to know that I'm moving in the right direction, I want to know that I'm doing it as fast as I can. For now I only know that things are happening and we are moving. But is it the right direction? This momentary lapse of self-confidence passed as I started reading "The 8th Habit" and I saw the diagram with three overlapping circles: Knowledge, Attitude and Skill. In the centre of the diagram, where all the circles overlapped, there was Habit. And that's the goal for my training. It teaches a Skill to those who Know they need to do something about software quality, and if they have the right kind of Attitude, they can perform the code inspection - they can tick the code - regularly and make it into a Habit, which produces the biggest return on investment by far.

Tomorrow will be a busy day as the moving day approaches and we only have one offer from a moving company. Well, that just makes deciding easier...

Thursday, November 10, 2005

Life, the Birthdays and Everything

My friend, Stuart had his birthday yesterday, which I managed to forget even though Virpi reminded me in the morning, my laptop reminded me at 10AM and I had sworn to send an email myself. Well, today I sent him a short email, but it bugs me, still.

Talking about birthdays, here's how Virpi invited people to hers:

"The longest and most destructive party ever held is now into its fourth generation and still no one shows any signs of leaving. Somebody did once look at his watch, but that was eleven years ago now, and there has been no follow-up.
...
One of the problems, and it's one which is obviously going to get worse, is that all the people at the party are either the children or the grandchildren or the great-grandchildren of the people who wouldn't leave in the first place, and because of all the business about selective breeding and regressive genes and so on, it means that all the people now at the party are either absolutely fanatical partygoers, or gibbering idiots, or, more and more frequently, both.
Either way, it means that, genetically speaking, each succeeding generation is now less likely
to leave than the preceding one."

-Douglas Adams: Life, the Universe and Everything-

A lot of people came and a nice time was had. (This was already 19-Oct-05, which I'm not forgetting, mind you.)

Then Virpi came up with another quote from the same source. This is what the Thank You note read:

"The problem of when the drink is going to run out is, however, going to have to be faced one day.
...
... it became clear that the party was not going to be going anywhere else for a while, that the party would soon be over. Very soon it would be time to gather up hats and coats and stagger blearily outside to find out what time of day it was, what time of year it was, and whether in any of this burnt and ravaged land there was a taxi going anywhere."

- Douglas Adams: Life, the Universe and Everything -

I found it excellent!

Sunshine on a bridge

A third moving company representative came by yesterday morning. We are moving in two weeks' time and we've asked an offer from three different companies. Each one has sent somebody to check on the details of the move and the amount of stuff we have. One thing that makes the move especially expensive is that we are moving from the 3rd floor to the 3rd floor, so there's a lot of carrying. We'll wait until the end of the week, compare the offers and decide what to do. One of the options would be to harness all our friends to move us.
One very helpful friend, namely Holgi, already offered that two of his friends would be volunteering because he couldn't make it then. He doesn't know the date yet, which makes me wonder about the sincerity of his offer. Anyway, at the moment it seems that we will be choosing one of the moving companies.

In the evening, after a long while, we saw our just-married (the photos from the wedding have not been named, rotated and red-eye-removed yet, so they are still just-married in my book, even though the wedding took place in September already) friends, Sascha and Katrin, at their place in Dortmund. We saw hundreds of photos from the wedding and marveled at how I was on almost 50% of the pictures, apparently...

For a change, we played The Settlers of Catan boardgame instead of The Lord of the Rings, which we also like very much. Sascha beat the rest of us by building the longest road with the most cities and bravely (and luckily) utilising the volcano, which was the special variant we selected. In the volcano variant, there is instead of the normal desert a volcano on the island. Everybody can build near to the volcano, but the villages and towns might be destroyed if the volcano happens to wake up. But the ground near the volcano is also very fertile and produces a lot of material for free. But not without a risk. I had my village destroyed two times by the streaming lava after which I decided against buiding there again.

Today, woke up early, had an appointment in Hagen, which is a nice little neighboring town. On the autobahn bridge over the valley of Hagen I saw the most wonderful sight. The river valley was covered in a thick fog, the sun was shining from the left and the shapes of factories and other high buildings were just about visible in the sunshine. It was breathtaking. I wonder how many of the other drivers noticed that and remembered to enjoy the view?

Afternoon I've spent writing official correspondence. The second batch of former Nokia colleagues will soon be receiving post.

In the evening, we'll go and meet our photographer. We need photos for the introduction page, you know.

Tuesday, November 08, 2005

Ticks and Snacks

We updated The Snack, as Halloween is now officially past, even in Finland.
I'm trying to figure how to store the old Snacks (before they go bad).

By the way, the Finnish people are obedient workers, for the sake of extra working days almost any holiday that falls everywhere else on a weekday is moved in Finland to the next Saturday. So for example, Halloween (Pyhäinpäivä, "the day of the holy ones"), which was on Tuesday 1st here in Germany (and a bank holiday) was moved to Saturday 5th in Finland. Next year it will be on yet another day, again.
All through the year the gods must be wondering, how everywhere else people are celebrating them regularly and accurately, but in Finland they get calls only on weekends. But those then from anywhere, especially out and about. You know that Finland is a country of 2 mobile phones. Each.

I came up with a name for the code inspection technique I teach. I wanted a good and separate name, because the technique is different from anything else. In order to be talked about, either defended or fought against, a name is useful.
I'm going to call this particular form of code inspection "ticking the code", because that's what's actually happening. The checkers - the tickers, I mean - mark (uhh, tick) issues that violate predefined rules in the source code. Some of these issues could turn out to be bugs or "ticks". Isn't it a wonderfully accurate and short word? And now it gets a new specialized meaning!

So spread the word, learn to tick code at Qualiteers!

Friday, November 04, 2005

Everyday in the Hiltunen residence


Mice are trying to prevent me from practicing the guitar. I fear that these mice are actually very musical. It is not entirely flattering, you know.

The bear in the bedroom is far from the Slow-Witted Bear, Winnie The Pooh. He's reading philosophy this time.

Philosophy and Qualiteers Code Inspection

Here's an excerpt from the book "Darwin's Dangerous Idea - Evolution and the Meanings of Life" by philosopher Daniel C.Dennett

"2. Judging the Competition
Your Philosophy Department has been chosen to administer a munificent bequest: a twelve-year fellowship to be awarded in open competition to the most promising graduate student in philosophy in the country. You duly announce the award and its conditions in the Journal of Philosophy, and then, to your dismay, you receive, by the deadline, 250,000 legal entries, complete with lengthy dossiers, samples of written work, and testimonials. A quick calculation convinces you that living up to your obligation to evaluate all the material of all the candidates by the deadline for announcing the award would not only prevent the department from performing its primary teaching mission, but - given the costs of administration and hiring additional qualified evaluators - bankrupt the award fund itself, so that all the labor of evaluation would be wasted; no one would gain.

What to do? If only you had anticipated the demand, you could have imposed a tighter eligibility conditions, but it is too late for that: every one of the 250,000 candidates has, we will suppose, a right to equal consideration, and in agreeing to administer the competition you have undertaken the obligation to select the best candidate. (I don't mean to beg any questions with this formulation in terms of rights and obligations. If it makes a difference to you, recast the setting of the problem in terms of the overall disutility of violating the conditions set forth in your announcement of the competition. My point is that you would find yourself in a bind, whatever your ethical persuasion.) Before reading on, please spend a little time, as much as you think it takes, to plot your own solution to the problem (no fantasies about technological fixes, please).

When I have put this problem to colleagues and students, I find that, after a brief exploratory period, they tend to home in on one version or another of a mixed strategy, such as:

(1) choose a small number of easily checked and not entirely unsymptomatic criteria of excellence - such as Grade Point Average, number of philosophy courses completed, weight of the dossier (eliminating the too-light and the too-heavy) - and use this to make a first cut;
(2) conduct a lottery with the remaining candidates, cutting the pool down randomly to some manageably small number of finalists - say fifty or a hundred -
(3) whose dossiers will be carefully screened by a committee, which will then vote on the winner.

There is no doubt that this procedure is very unlikely to find the best candidate. Odds are, in fact, that more than a few of the losers, if given a day in court, could convince a jury that they were obviously superior to the elected winner. But, you might want to retort, that's just tough; you did the best you could. It is quite possible, of course, that you would lose the lawsuit, but you might still feel, rightly, that you could have arrived at no better decisions at the time.

My example is meant to illustrate, enlarged and in slow motion, the ubiquitous features of real-time decision making. First, there is the simple physical impossibility of "considering all things" in the allotted time. Note that "all things" doesn't have to mean everything or even everybody in the world, but just everything in 250,000 readily available dossiers. You have all the information you need "at your fingertips"; there need be no talk of conducting further investigations. Second, there is the ruthless and peremptory use of some distinctly second-rate cut rules. No one thinks Grade Point Average is a remotely foolproof indicator of promise, though it is probably somewhat superior to weight of dossier, and clearly superior to number of letters in surname. There is something os a trade-off between ease of application and reliability, and if no one can quickly think of any easily applied criteria that one can have some faith in, it would be better to eliminate step (1) and proceed straight to the lottery for all candidates. Third, the lottery illustrates a partial abdication of control, giving up on a part of the task and letting something else - nature or chance - take over for a while, yet still assuming responsibility for the result. (That is the scary part.) Fourth, there is the phase where you try to salvage something presentable from the output of that wild process; having oversimplified your task, you count on a meta-level process of self-monitoring to correct or renormalize or improve your final product to some degree. Fifth, there is the endless vulnerability to second-guessing and hindsight wisdom about what you should have done - but done is done. You let the result stand, and go on to other things. Life is short.
(Dennett 1995, ch. 17, emphasis author's)"

It made me think how in my version of code inspection, there are clear and simple cut rules to decide, which pieces of code to check more carefully. Unlike in static analysis tools, like lint, which suffer from too many false positives, the human aspect in Qualiteers Code Inspection helps to limit the findings to the most important ones. There is also the right of the author to ignore any of the findings, which makes him an arbitrator, a randomiser of sorts. And then the author decides how to change something and fixes it in one way. The way he fixes it might not be the best, and the place he changes might not be the place that would most need to be changed and improved, but he is the expert. That is how life is. You always have to make decisions under time pressure. Life truly is short.

If you have good rules and good people, you have a good chance of making the best of it.

Thursday, November 03, 2005

Bavaria on my mind

Yes, I am painfully aware of the fact that Miska wrote in this blog already a month ago that I will tell you more about our trip to Bavaria (remember the congress in Munich?) and that there will be some photos too. Call me lazy if you like (I just call myself very, very busy) but here they are - finally. Hope you like them!

Wednesday 28.9.2005 "Oktoberfest"


I'm not really into camping, but this is the kind of tent where I like to stay.


And everybody sings: "Ein Prosit, ein prosit der Gemütlichkeit!" - Cheers to cosiness!


That's us - Miska and Virpi in Octoberfest. Hey, check out the Lederhosen ;-)


Well, I did use to be a waitress - maybe I could earn some extra money here!


If "ein Maß" (one measure of beer) is one litre, it's really no use explaining that you had just a few beers.

Friday 30.9.2005 "Hofbräuhaus"


Münchener Rathaus -The Munich City Hall. Beautiful, isn't it?


The menu of the Hofbräuhaus: sausages, sauerkraut, more sausages, more sauerkraut and of course beer!


Maybe one beer tonight too in the famous Hofbräuhaus.


See the Finnish flag? The white one with the blue cross? Were we the only two Finns in the house that night? And what an ovation we got! At this point I would like to greet all our new friends that night: Hello Great Britain (not mentioning the Eurovision Song Contest), hej Norge (so you really thought I was Norwegian too), hej Danmark (I'm coming over there one day, I promise) and hallo Mädels aus Ruhrgebiet!


Don' try this at home!


Just one of the dozens of Munich lions we spotted during our visit.

Sunday 2.10.2005 "Schwangau"


Hohenschwangau - the castle where King Ludwig II spent most of his life. We did't have time to go in, even though at that point we were already looking for a apartment.


Does it always rain this much in the Alps, I wonder. There was probably a beutiful scenery behind me, but I couldn't see it for the fog.


Talking about new apartments... This would be something. This is the Neuschwanstein Castle built by King Ludwig II of Bavaria.


Breathtaking! There are no words. Just look at the picture and enjoy. Looking at the picture makes me think of a friend of mine in Finland who is probably clapping her hands looking at that picture. That's what she does when she sees something this beautiful.

Wednesday, November 02, 2005

Progress, definitely progress

On Monday evening, we went to listen to Irish folk music. Our friend, Michael, plays the other guitar and also the flute in this two-man band. The music they played was very nice and they played very well.
The place they were playing in is called Haus Spitz and it's actually not that far away from Witten. So we thought. We ordered a taxi and started on our way home. We were making good progress (the taxi drivers of Bochum normally have no idea about the streets of Witten) until one road work. There was no way but to turn right up a hill and we ended up in a tightly built suburb with a lot of one-way streets and blind alleys. Luckily, I had a map and the taxi driver started studying it with increasing intensity. Once we saw a Y-crossing with "Umleitung" (detour) arrows both left and right, something that the taxi driver (and us) had never seen. Fifteen minutes later we were still on this hillside, trying to navigate the blind alleys and one-way streets going the wrong direction. The driver finally stopped the meter, and said that now we are going to take it easy. He checked the map and said "Aha, now I've got it. I just have to turn right here." So we turned the corner, arrived at a Y-crossing - with two "detour" signs pointing left and right. We started feeling like Alice in Wonderland.

Tuesday was a bank holiday, so we made it a movie day. We didn't go to see the new "Doom" movie, though. Instead we stayed home, watched a Finnish movie called "Producing Adults" and then we saw Stanley Kubrick's last movie, "Eyes Wide Shut".

Today, I've been catching up on e-mail and tomorrow we'll sign our lease of the new apartment. We also made clear progress in setting up the company. We have the cost structure down and we can decide on pricing soon. First stabs at marketing strategy have been taken. Next step, the business plan.

Now, I'm off to see a French movie with a few French friends and if I'd need to guess, I'd say there'll be one Spaniard there, too ;-) Bochum is an international place.