May 2007

Really, I’ve seen a lot. You really don’t have to be ashamed of being… different – but on the other hand, this pick of search phrases that have been used in arriving to this blog the last two days is… Just a little, little bit disturbing you know?

  • bastianini live performances on dvd
  • sin of narcissism
  • Encode charcters to ASCII in java
  • goddes of dawn
  • eclipse launch configurations not seen i
  • how to start with spring programming
  • hansi kursch religion
  • java programming converting inputstream
  • if i can build a computer i can make you
  • the body bags and little rags
  • if jesus comes back we’ll kill him again
  • chocolate mousse translated in Finnish
  • need joomla multilingual help?
  • php cms in JSR-168
  • islay alcohol

At least they gave me a good laugh. “chocolate mousse translated in Finnish”?! God gracious me.


My book library have been updated. First, the latest installment of Steven Erikson’s epic fantasy series, The Bonehunters. I am, as I suspect many others, slightly in awe of Erikson. Extremely complex. Extremely well written. Extremely good stuff.

The second update is the classic The Design of Everyday Things, by Donald A. Norman. This is really good stuff, and anyone aspiring to design software, be it GUI or API’s, really, really should read it. I picked it up after reading an interview with Ken Arnold over at

Taste is a very personal thing. There is no textbook. When people ask me about books on object design, the books I hand them have nothing to do with object design per se. I commonly recommend The Design of Everyday Things, by Donald Norman. This book promotes focusing on usability in the design of doors, teapots, and faucets – everyday things. If you do that for objects, you’ll have the idea.

Oh yes, Ken Arnold as in:

State is hell.


Every program has at least one bug and can be shortened by at least one instruction — from which, by induction, it is evident that every program can be reduced to one instruction that does not work.

I just came home from leaving a Sonny Rollins concert during the intermission. Shame on me.

As Mr Rollins won the Polar Music Price this year, they also arranged a concert, in the Royal Concert Hall, and yours truly actually won a ticket for it when I was at Jazz Club Fasching the other week.

So why leave? Well, color me ignorant (which would be true) but I had expected something more… expressive. It is ever so slightly embarrassing when the, by far, most expressive and intensive and interesting player in a set is a 77 year old jazz legend who has, I’m afraid to say, clearly passed his peak. The band behind Rollins was bland. Gray. Vanilla soft.

Sure, Clifton Anderson blew some evil phrases on the bone. And the old trombonist (9 years no less) in me was happy for a whole minute hearing some good jazz bone again. But after a minute it was plain that he would play a soft kind of mezzo piano and nothing else. Expressive? No. Interesting? No.

The rest of the band was like watching a big vat of milk very slowly turning bad. Uninspired and boring.

So when the last tune before the intermission was “Park Palace Parade” from their latest recording, sounding like a strange kind of “Sonny Rollins discovers happy-happy latin jazz” (think Ove Törnquist with saxophone), I decided to drop off.

Hats off to Sonny Rollins for showing the band who’s boss though.

This years JavaOne announced several important Java technologies. The one that got most initial attention was of course JavaFX. Well, exciting as this may sound I wasn’t alone in wondering how on earth Sun could hope to launch such a technology on their existing platform. Take these bullet points:

  • Huge download (JRE)
  • Slow startup (no pre-loading here, no)
  • Crappy browser integration (seen any applets lately?)
  • Bad JRE detection (part of the above problem)
  • Somewhat slow graphics performance
  • Sub-standard installer

As a profoundly specialized server developer (I still have nightmares about the one time I had to dive deep into the source of JTable and JTree, the horror! the horror!) I’ve never been very concerned personally. It has annoyed me on an academic level, as I’ve never understood why Sun just didn’t smarten up and fix it.

So why launch JavaFX now? Well, it turns out someone was a bit smarter than I first thought. You see, there was an announcement made on JavaOne which got drowned out a bit, the Consumer JRE. It would appear Sun has finally granted all our wet dreams. Here. And here.

Wheee! Damn good stuff!

Sooo, yesterday Karin and Miklos celebrated their wedding. And yours truly acted as toastmaster. The actual ceremony had taken place privately a week earlier ar Thorskogsslott.

All is well and all went well. Some 63 guests and a number of children. The party was at Konstnärshuset in Stockholm. Lovely place.

I had been somewhat lax in the preparations for this one, which I felt keenly with one hour to go and I still had no real handle on the timing for the evening. Miklos and Karing would arrive aprox. 1730, does that mean we can start the dinner 1800? Or will it take longer? And, really, how many speeches will there be? And how much time do I have between the first course and the second? And what have I forgotten? However, it turned out alright, there was just the right amount of speeches and performances and I kept a running dialog with the cooks and the waitresses which kept the momentum flowing nicely.

I did, however, make the noob mistake of hitting the red Bordeaux, Chateuax de Seguin, a little hard, making me loose a bit of edge in the middle of the dinner. If nothing else apparent in my horrible, but rather fun, performance of the opening duet from The Marrige of Figaro which Miklos sister Noemi, pianist Bonita, and I slaughtered to general laughter.

There were several really god speeches during the evening.

And one really bad speech where I consciously lost edge and improvised a rather bumbling, rambling and strange “speech” from the Club of Mondays, supposedly derived from several disjointed SMS messages I’d received during the evening. All ending in an incorrectly recited version of One who is like an eagle, now formally re-dedicated for the occation, and the authentic quote “I once signed up for a dream interpretation course by mistake”, courtesy of the Matts of all Matts.

After desert the party slowly faded out when quite a few of the guests left rather immediately. I hit the bar, and its, frankly quite pathetic, whisky shelf, fairly hard and proceeded to enjoy the rest of the evening. A nice surprise was that I turned out to know quite a few guests, Lars, Marcus, Mio, Lina, Johanna etc. Nice seeing them all.

Yes, we have pretty, but mosly dark and out of focus, pictures!

All in all? A lovely evening indeed.

I just realized Google Earth has been ported to Linux… Ooooh, it is fun to play with, isn’t it? But anyway, it got me thinking, so for the love of satellite imagery, nostalgia and the sheer hell of it…

Places where I’ve lived – In order

  1. Redskapsgatan, Arboga, 16 years (exact hit)
  2. Allmogeplatsen, Västerås, 2 years (exact hit)
  3. Hammarbacksvägen, Västerås, 1 year (west end of house)
  4. Dalarö Folkhögskola, Dalarö, 1 year (wrong house, look north)
  5. Storgatan 105, Piteå, 8 months (house north of marker)
  6. Storgatan 69, Piteå, > 2 years (exact hit)
  7. Nygatan 66, Piteå, 10 months (exact hit)
  8. Sundial Court, London, 1 year (exact hit)
  9. Västra Andersgårdsgatan 7, Göteborg, 2 years (exact hit)
  10. 23 Derwent Grove, East Dulwich, > 1 month (exact hit)
  11. 149 Dudley Road, Birmingham, < 2 years (exact hit)
  12. Eklandagatan 44, Göteborg, 3 months (exact hit)
  13. Adventsvägen 17, Göteborg, > 2 years (exact hit)
  14. Odengatan 36, Stockholm, > 1 year and counting (exact hit)

I’ve only included the places where I lived, that is to say the places which  not just felt like pit stops in my life. As a result, my brothers place isn’t there, nor is the Bed and Breakfast I stayed in for a month or two in Birmingham, etc. But as a bonus, here’s where I spent most of my childhood summers:

As these places appear in many, and very different, phases of my life it is hard to point out any favorites, although… perhaps… Ah, sod it: #3, #6, #9 and #13. OK?

Rob Walling has posted an excellent article on How to become a programmer. I especially liked that he stresses the importance of apprenticeship, formal or not, if nothing else because that’s how I did. My first two years as a professional I played wing mate to Mr Gibara, which was in hind sight, extremely valuable. I also agree to his answer on the question “Is it necessary to know mathematics?”, although my answer is simpler but, if I read him correctly, amounts to the same thing: No, but in order to be a great programmer you need to be good at it should you apply yourself. In other words, you can be a good programmer in many fields without knowing maths, but I have yet to meet a great programmer who wasn’t at least in potentia good at maths too.

Other than that, two comments on his article prompted me to add my two cents to the stack:

Is programming an art?
No, it is not. Although “art” can be used as in “the art of driving a car” very few uses it, and mostly my impression is that the following definition is the most understood:

4 a : the conscious use of skill and creative imagination especially in the production of aesthetic objects; also : works so produced b (1) : FINE ARTS (2) : one of the fine arts (3) : a graphic art

But reading Merriam-Webster shows up a synonym which in my mind is much closer, that of the “craft” ( here). Programmers do not create art, the most important thing when programming isn’t to stimulate the mind, it is to produce working software. In fact, I think Wikipedia actually nails it:

For example, a painting may be a pure art, while a chair, though designed to be sat in, may include artistic elements. Art that has less functional value or intention may be referred to as fine art, while objects of artistic merit but serve a functional purpose may be referred to as craft.

Bingo. If you can’t sit in the chair you aren’t a craftsman, but you may still be an artist. There are also other stimulating similarities between a craftsman and a programmer, we have our tools and our toolbox. Craftsmen of old often traveled to were they were needed. A craftsman, at least in my imagination, has pride (and to me, pride is a vital component if you want to be a great programmer). Etc.

Do not forget: programming is a task that can be learned much learning a foreign language, or how to refurbish a bathroom. In many fields you can be a good programmer indeed without the slightest bit of creativity, curiosity or mathematical abilities. The difference between the master and the merely very good isn’t necessarily about artistic abilities, it is all about how good [insert definition here to your own liking] the end product is.

Is programming engineering?
No, it is not. In some fields, like aviation control or satellite navigation, it may come quite close, but I wager it isn’t there either. There are many reasons for this, but merely asserting “if only programming was more like engineering” is like wishing for cold fusion: it would be nice to have, but we have no idea how it would work. Many smarter persons than me have discarded this notion so I’ll leave it as this.

Next Page »