Now that I’ve moved to a new team, the old team needs someone to replace me. I spent most of this morning interviewing candidates for the job.

The main requirements are reasonable knowledge of finance and financial markets, and good knowledge of Excel VBA and SAS. We’re prepared to (and will probably have to) relax this somewhat and just pick the person who’s closest. I had hoped to find someone better than myself, but it looks like the combination of skills we’re after is a rare one.

The applicants (four of them) have been a mixed lot. Interestingly, three out of the four where Australians. Looks like this is the thing for young Aussies to do: get an education, then travel a while, then spend a couple of years in London. (Our newly-hired team assistant is also Australian.)

Most interestingly, several of the CVs were factually correct but in reality misleading. Two out of four listed both SAS and Excel VBA prominently on their CVs, but when questioned about their experience admitted that they haven’t used them for years, and when asked to demonstrate their skills, they could barely manage the basics, if that. A third one hadn’t done any SAS work but Excel VBA was among the first-listed of his technical skills, and he supposedly had a programming background including C++, yet he struggled hard with questions that required him to write pseudocode for a simple problem.

I think it is almost impossible to evaluate someone’s coding skills without letting them actually write code. Almost anyone can make their past projects sound important, and present themselves as being central to the projects’ success. But when I ask them to actually do something, I can see what they’re really able to do.

Sample Excel problem: return the name associated with the highest value in a list. One candidate’s solution: hard-coded link to the cell with relevant name. Hopeless.
Sample coding problem: create a checkerboard pattern, with alternating black and white cells (or alternating 0s and 1s). Those who knew (or claimed to know) VBA got to write VBA code, others could write pseudocode or use any other language they liked. Only two got anywhere near a working solution.

(That last one I actually “stole” from one of my own interviews, when I was looking around for a developer job a month ago. I think it’s an excellent question because all it really requires is logical thinking, and you could write many variations on the basic theme.)

And what can one say about a candidate who, when interviewed about his financial knowledge, says that his real background is in programming so that’s his strong side, and when interviewed about his programming knowledge, points out that his recent jobs have all been finance-oriented, so that’s what he’s better at.

On the positive side, one of the candidates actually had a honest CV that reflected his skills, and was able to demonstrate those skills in practice. He doesn’t know any SAS, but if we could learn it then surely so can he. And he appeared to have a solid foundation – good coding habits, clean code, sensibly commented. (He actually brought printouts of his code to the interview, which definitely worked in his favour.) I’d rather hire someone with good habits and let them learn the language, than someone who knows the language but produces messy code. Unless we suddenly get a last-minute application, looks like he’s got the job.

It’s interesting to put Java and .NET side by side. .NET has been described as Microsoft’s attempt to beat Java at its own game, and even as “Java done right”. The designers of the .NET framework and the Common Language Runtimes could look at Java and see what worked and what didn’t, and learn from it.

Something that I think Microsoft got right with .NET is making everything an Object.
It’s like whoever wrote Java thought that object-orientation is good, but didn’t quite dare to go all the way. Or perhaps (and more likely) it’s historical baggage again…. Java’s distinction between primitive types and their Object equivalents, such as int and Integer, is the most obvious example. ints are for simple maths but they cannot be put in Collections – you need an object for that. On the other hand, you cannot just add two Integers. And each boxing/unboxing requires an explicit instantiation of a new object. It all adds up to a whole lot of code that just juggles data types.

That’s being changed in Java 5, but they still appear to be doing some sort of halfway fix. Just reading the Immutable Objects section in this overview of boxing in J2SE 5.0 makes me nervous.

In .NET, on the other hand, the Int32 data type is a full and proper Object. It’s a value type and lives on the stack, but you can still treat it as an object. Boxing is still necessary, but is almost invisible. Very smooth, very elegant.

You could argue that this is just hiding the details from the user, and leads to less efficient code. An invisible boxing requires as much resources as a visible one. But for most apps, differences of 15 ms are really not important, and developer time costs more than processor time.

I’ve always thought that, from a distance, case sensitivity looks like a bad idea. It’s even worse up close.

There is no upside. It only creates more work and endless opportunities for hard-to-catch mistakes. The only thing it allows you to do is to have a variable of type String named string, or perhaps two variables named astring and aString, but is that worth all this extra effort? It’s not like there is a shortage of available variable names so that we need to utilise every possible combination of letters. And no one in their right mind would use variable names that only differ by casing, anyway.

Humans don’t think in lowercase and uppercase. If I address a letter to someone in LONDON it will go to the same place as one addressed to London. Programming languages are primarily for human consumption, and should be designed thereafter. Otherwise we can all go back to writing Assembler code.

And if a language is to have case sensitivity for historical reasons (because C had it, decades ago, so all the C-derived languages are stuck with it) then the IDE should at least try to make it easy for the developer and correct, or suggest corrections for, typing errors that only involve casing.

If I type

fileutil f = new fileutil();

and there is no fileutil class but there is a FileUtil class, then it would be nice if the IDE fixed that! After all, it can suggest solutions to more advanced issues, such as incomplete referencing – if I create an ArrayList but haven’t imported the java.util.ArrayList class, it proposes to import it – and it can also suggest conceptually more complex changes like refactorings.

Is this some sort of macho thing where “Real Programmers Like Hitting the Shift Key”?

First day of the new job. First impressions.

The team seems great. Relaxed, knowledgeable and helpful.

The hours are much more sensible than in the previous team. No one was there before 8:30, and by 18:00 most people were leaving. Which is a nice change compared to the 7:30 to 19:00 I’m used to.

The move itself was a shambles… My things, which were supposed to be moved yesterday, weren’t, so I spent the first half of the day with nothing but a desk and a computer. Then the admin team messed up and terminated my account, so I spent the second half of the day with all my stuff but no computer. And no access to any doors – the access pass was also terminated – which was a bit of a bother given that the loos (among other important things) are outside the locked doors. It was like in primary school when you needed to raise your hand and ask the teacher, “May I be excused?”.

I’m seriously behind with this books category, with 3 read-but-unreviewed books on my desk right now. Instead of “catching up” by just skipping them, I’ll post something quick.

Some time in January I realised I hadn’t read any books in Swedish for a very long time, and decided to rectify that by reading Jan Guillou’s “Arn” series. This is a trilogy plus one freestanding sequel, about Sweden around the year 1200.

The first one is about Arn’s childhood and youth, most of which is spent in a monastery. The book has a fairly domestic feel, focusing mostly on everyday life and customs. This was quite interesting, because it appears well researched, and has a lot of historical detail without sounding like a schoolbook.

The second book is split between Arn’s adventures as a Knight Templar in Jerusalem and his fiancee’s waiting for him in a convent. The convent bits are not particularly exciting, but the passages about fighting to free the Holy Land from saracens are interesting. It’s got excellent descriptions of medieval politics and warfare, life in a militant / spiritual order, and the practical side of Crusading in the Middle East. Very vivid and alive.

In the third book Arn returns to Sweden, with knowledge, riches and foreign craftsmen. (Sweden at that time was a distant backwater and many decades behind continental Europe when it came to crafts and culture.) He builds up the strength of his clan, aiming to bolster the tenuous peace between rival clans. He brings Sweden closer to European standards – in particular in warfare, by introducing the concept of mounted armoured knights. I found this book less interesting, because there was little new in it. Daily life in early-medieval Sweden was already covered in book 1, and warfare in book 2. The only interesting parts here were descriptions of how society changed due to changes in practical matters.

As Arn dies at the end of the third book, the fourth and final one tries to squeeze a bit more money out of the franchise by telling the story of one of his grandsons. This one was full of politics, intrigue, rebellions, counter-rebellions etc, and I skimmed through it mostly just to be done with it.

All in all it’s quite a decent series of books. Well written, and well researched, even if the story was running thin at the end.

Wherever I turn, it’s impossible to not read and hear about what’s now termed “the Muhammad cartoons controversy” or even the “cartoon wars”. Let’s hope it doesn’t get to that.

Firstly, I was disappointed with how hard it was to actually find the cartoons in question. I couldn’t have a serious, considered opinion on the issue without seeing the cartoons that sparked the fire. You would think that when an issue occupies so many minds, newspapers and web sites would go out of their way to spread the information. That’s their job, after all. But instead they have mostly chosen to keep quiet, and I found a copy of the cartoons on a blog. The Times put it well:

And so we have two media now in the world. We have the mainstream media whose job is increasingly not actually to disseminate information but to act as a moral steward for what is fit to print, to become an arbiter of sensitivity, good taste and political correctness. And we have web pages like Wikipedia or the blogosphere to disseminate actual facts, data, images and opinions that readers can judge with the benefit of all the facts, not just some of them.

Once I found them, I was surprised to see how innocuous and anodyne they were. Most of them made no real political point at all, apart from commenting on the contentiousness of depicting Muhammad at all. The ones that “voiced” an opinion were quite mild. If images like this cannot be printed, then that means nothing even remotely critical of Islam can be printed. And the cartoons are not gratuitous insults; they deal with highly relevant topics. What is the main thing about Islam as a culture that concerns westerners? The threat of islamist terrorism would be one of the first things mentioned, along with the rights of women (or lack thereof). If Islam’s links to terrorism is not allowed as a topic for satire, what is?

By now, the cartoons themselves are only a small part of this, of course, and discussions around the newspaper’s decision to publish, other media’s reactions, politician’s responses etc are more important.

I don’t think that it was wrong to publish them, because “someone might take offense”. This is exactly what free speech is about! The right to say things that will offend no one does not need to be set in law. The right to voice opinions that someone might dislike is what needs protection.

I am disappointed that Western leaders (and Jyllands-Posten themselves) apologised for the publication of these cartoons. It sent the signal that all of our principles are up for negotiation, and we don’t really stand behind them very strongly. If someone complains loudly enough, we’ll back down. As The Economist put in a leader, the support for free speech has degenerated into “I disagree with what you say and even if you are threatened with death I will not defend very strongly your right to say it.” What, then, do we stand for?

The Western civilisation (or part of the political and intellectual leadership in the West) is developing an odd practice where they give in / half-heartedly agree with what its opponents say, out of a misguided understanding that this will somehow improve relationships. Turning the other cheek, so to say. Ayaan Hirsi Ali put it well in an interview for Salon: “We are constantly apologizing, and we don’t notice how much abuse we’re taking. Meanwhile, the other side doesn’t give an inch.” Tolerance is taken so far that we become tolerant of those who preach intolerance. As a civilisation, we are afraid to take a stand for our views. Political correctness is metamorphosing into self-censorship.

This reminded me of another opinion piece (in the Wall Street Journal) I read a while ago, about “our lack of civilizational confidence” and the imminent danger of extinction of the West. Much of the article is a rant, and not particularly well-argued. But one brief point got my attention: the argument that Islam has a brighter future than Western secular democracy.

What’s the better bet? A globalization that exports cheeseburgers and pop songs or a globalization that exports the fiercest aspects of its culture?

It’s my last week on my old job. I’m shedding responsibilities one by one, like layers of clothes.

On Monday I handed over the morning report that’s forced me to get in to the office by 7:20 every morning. I slept until 7 both yesterday and today. Luxury! This morning I actually woke up before the alarm. And it was light when I got up! It’s as if spring had come overnight.

For the past 5 months I have been tired every day. All the morning things – brushing teeth, showering, preparing breakfast sandwich – were done in a daze. I only forced myself to a more alert state when I cycled out through the front gate. I used to almost catch up during weekends, and be more or less recovered by Sunday afternoon, but there was little left of that Monday morning.

Waking up rested is such a wonderful feeling.

This was a concert that Eric bought tickets to, and I would join him mostly because… well, why not?… just because he was going. In the end, Eric got sent off to Manchester for the week, and I went on my own.

They turned out to be talented musicians, but the music (much of it from their latest CD “Day is Done”) was not really to my taste. It was the sort of refined and elegant jazz that makes experts nod knowingly at each other and comment on how skilled the bassist is. And that may be entirely true, but isn’t enough to carry a whole concert, unless you’re one of those experts, which I am not. The kind of jazz where every song sounds much like every other song, at least to an untrained ear. They could have played any one of them again, and I wouldn’t have been able to say whether I had already heard it or not. (Even reviewers at The Guardian who gave it 4 stars described it as “absentmindedly drifting”.) I like music to have some sense direction, not just aimlessly wandering improvisation.

A few of the songs had more character, more groove and melody. Their rendition of “The very thought of you” was quite nice. But most of it was pleasant but rather boring, in my opinion.

For the first time in years, I am actually enjoying grocery shopping.

We have two supermarkets in the neighbourhood, both less than 10 minutes away by bike. One is a Sainsbury’s, and always has been, while the other one has had a more colourful history.

It started out as Safeway (red and green), and was initially a really good shop: wide range of goods, good quality vegetables, nice little inspiring ingredients.

Safeway then got bought by Morrison’s (black & yellow). Morrison’s aim is low prices, and that was very visible. Things got cheaper, but the choice narrowed. After a while there was 2 shelf metres of their own-label orange juice, and the top and bottom shelves were completely empty. I don’t know if that was intentional – they may have just been running the store while looking for a buyer – but I can’t imagine it went very well for them. We saw fewer and fewer people in the shop, and stopped going ourselves, too.

They finally sold the store to Waitrose (green) a couple of months ago. The change has been remarkable. There’s more choice, which is good, but even better is that their range is more focused on things I like! Instead of cheap fluffy white bread, they’ve got several kinds of whole grain bread; instead of many boxes of pale tomatoes they have organic vegetables. There’s a far wider choice of organic foods in general, and of vegetarian ready meals. The food in general is of better quality, and the deli department positively makes me drool. And the juice aisle has dozens of nice juices!

More generally, I now walk around in the store and feel good about the things I find. Rather than thinking, “Don’t they have anything GOOD here?” I can pick and choose. I find interesting things that weren’t on the list but would fit nicely into my dinner plan. Grocery shopping isn’t a painful chore any more.

It turns out that Waitrose is owned by the same group who run John Lewis department stores, which happens to be my favourite department store, by far. Those people either think just like me and have the same preferences – or maybe they just know very well what sort of customers they have and what those customers like. Either way, I really like this shop.

Japanese drums. A very special art form, and very intensive experience.

O-daiko

Kodo seems to be the Japanese Taiko group that most often visits Europe. We’ve seen/heard them once before, but that was several years ago. This time their programme was more modern: the leaflet named individual composers for all songs of the first half. The last of them (“Monochrome”, on 7 small drums) had a particularly modern feel, with enormous variation in volume. It gave the impression of a large swarm of potentially aggressive insects – a storm of locusts, or a nest of hornets. First quiet humming, then sharp and furious.

The second half shifted towards a more traditional style, with more primal rhythms – purer and more focused in my opinion. And it’s got more of the really large drums – the ones that make the entire hall vibrate, the ones you can feel not just in your belly but in your bones. Miyake style taiko (with two drummers playing on one large drum, placed horizontally between them) in particular is very vital and intensive. Then of course there’s o-daiko which is the largest one. It’s odd that something so large and loud can at the same time be so tranquil and meditative. To listen to, that is – playing it appears very physical.

Miyake

Taiko is also a very visual show. (I found reasonably good pictures of a Kodo show here.) Taiko concerts are not ones to listen to with closed eyes – possibly with the exception of o-daiko. It’s fascinating to see the drummers move: focused and purposeful, economic, full of power but also very graceful. It looks like as much thought lies behind the shape of each movement as the sound it is to produce. (More likely, they’ve realised that cleaner, stronger movements lead to cleaner, stronger sound.) This is another reason I like more traditional taiko music better – the larger kinds of drums make the physical aspect more visible. I also get the impression that movement patterns are more important in traditional pieces.

The experience was somewhat marred by the audience. I think I must be growing old – I’m starting to think that people have no manners nowadays. Arriving half an hour late and then standing up to take off their coats, and walking out partway through the concert when their wine glass runs dry… And far too many enjoy their own applause more than the music itself, and applaud as soon as there’s a quieter moment. If they just glanded at the players they would see that it’s nowhere near done! I guess concerts have become a social event rather than a cultural one – the music is just entertainment, and not the main event.

I learned today that the drum sticks, Bachi, are not only of different sizes for different drums, but also of different materials. Softer woods give a clearer sound on small drums, where harder woods would sound “dead”, while hard woods bring out the sound better in larger drums.