Thursday, 21-Jul-11 23:05

No, this is not the newest martial art craze. I just grew tired of the likes of Bookcrossing and Bookmooch, which require you to tiresomely and lovingly handcraft the data of each book onto a website separately, or put labels on them or track points or mail them or other things that people with a lot of time in their hands do.

It was all just too much work for me, so I'm introducing bookboxing!

Rules are simple:

  1. Get a box
  2. Put all books you want to recycle in the box
  3. Give the entire box to a friend
  4. Friend takes out books he wants, puts in books he wants to recycle
  5. Friend gives the entire box to someone else.

That's it. ;-)

(Optionally, you can introduce book expiry by using some mechanism you can think of so that people can get rid of the book once it's obvious nobody wants it. And yeah, there's nothing stopping people from selling those books. Think of this as the Creative Commons Attribution version of Bookcrossing ;-)

Update: Mikko S mentioned to me at Ropecon that they figured out a way to do book expiry: just put a piece of paper between the pages of every book in the box. When you see a book with three or more pieces of paper sticking out of it, you know that it's ripe for recycling via other means.

Sunday, 10-Jul-11 23:12
Saturn's children

Ever since I got the Kindle, I've started reading a lot more books. The Kindle store is just too handy, and the fact that you can just send yourself ten samples, read them through, and then just pick the one that looks most interesting, is really, really useful. However, there are still just too many books to read (and time is scarce), so I've started to simply go through all the Hugo/Nebula nominees of the years past. (I liked Ian McDonald's River of Gods, though it was a hard read.)

I just finished reading Charles Stross's Saturn's Children, a story of a sexbot designed to entertain humans, living in an universe where all the humans have died. It gets a lot weirder than that, but what I find really interesting is how the book is one of those rare books that really reads like an action movie. It's a pageturner in the Dan Brown sense, and even though it's a most unfashionable thing to say, I think that's a good thing.

I'm so expecting a summer movie out of this one. Robots, sex and conspiracies, with none of your average scifi philosophy about humanity and their relationships in the stars - how's that not interesting? We're all dead, we did it to ourselves, but we forgot to turn off the robots when we left. It's the summer action film of the scifi book variety :-)

Saturday, 18-Jun-11 14:44
The "you morons, it's just the 90s all over again" -rant

At the Berlin Music Hack Day, where also our Thinglink team was and working on some cool demos, one guy got this brilliant, though somewhat insane, idea of creating a pure Javascript-based MP3 player.

What slightly disappoints me is the Slashdot crowd reaction, where people wonder why someone would ever make such a thing when all you need to do in HTML5 is to go <audio src="foo.mp3"> to get your MP3's running. Also there's the usual crowd who says that Javascript can never be so efficient as C++ or that Silverlight is better for this anyway. It's as if the crowd got all middle-aged and grumpy. Which, I think, they did.

We who gained our skillset in the 80s and 90s created the PC-centric world. We wrote the software on the native hardware and created platforms and tools to do that. The PC is a general computing machine with inputs and outputs. Now, the new generation is growing their own skillset and tools for the browser-centric world. They're not there yet, but projects like JSMAD are a clear and loud call that they're getting there. The people who say that there's a HTML tag for audio don't realize that HTML is a DSL run by a committee. The browser design teams decide what kind of audio their browser can play, and it's a mess of politics and IPR and whatnot. Projects like JSMAD make it all irrelevant: the decision what to do becomes the website programmer's decision, not the browser designers.

The browser must become the platform. And if it's not possible to write an MP3 decoder (no matter how inefficient) on it, it's not a platform. This is why JSMAD is important: it's a very important milestone on making the browser as a fully capable platform.

I think that the fascination with Apps (iOS, Android, etc) is largely because the mobile platforms are great escape routes for all the old guys who have 1EE7 native programming skills and no longer don't have the time or inclination to learn new environments like Ruby or Python or NoSQL or Javascript. In a way, it's returning to the 90s: slow processors, not a lot of pixels on display, sloppy connectivity and porting to other platforms is nigh-impossible due to proprietary interfaces. iOS and Android just like Windows from 90s, so they're a safe, cozy place to be. But the same logic still applies on the mobile as it did on the PC: to reach a bigger audience and gain a faster development cycle to beat your competition, also the Apps will move to the Web. Competition will make sure of it, and once the mobile web tools get better, we'll start seeing the impact. The young generation will march in, armed with tools like jQuery and Yottaa and create the next web.

You see, the best business chain is always the one where the producer sells directly to the consumer. Often this is not possible, and you need intermediaries - in case of iOS, Apple takes care of the distribution and discoverability and grabs a share of the cake. Music industry - well, I'm not sure anyone knows how many intermediaries exist in these old media fortresses. The evolutionary pressure is however always towards direct producer-consumer relationships, because in that way the profit margins are the best for the producer. The Web can provide that, and hence it will win out in the end.

Saturday, 11-Jun-11 18:00
Things you can do with Skyr and absolutely should

No, this is not one of my scientific experiments. This is a dessert concocted by the wife, and it uses one of my favourite ingredients, skyr, as it's main component. The recipe is embedded in the image; if you want this on your blog, just grab the embed code and share.

I've never been a friend of quark, but skyr works really well for my palate. I've been a happy eater since it's became available in Finland a few months ago, and you no longer had to rely on friends smuggling it from Iceland.

Tuesday, 10-May-11 09:26
Good Morning. I think.

"WTF is this banana peel doing on the table?" goes my beautiful wife this morning.

"Oh crap, there was no bag in the trash bin, so I started to put it there and I forgot all about the peel in the end." I respond.

With some mumbling and grumbling, wife starts to dispose of the banana peel, though she decides to put in some paper on the bottom of the trash bin first (because of the moisture).

After a few minutes she goes: "WTF is this banana peel STILL doing on the table?"

We laugh. We're very, very, very tired these days. And tired means easily, way too easily, distracted.

Friday, 06-May-11 23:37
Embarrasing revelations

Just rewatched Coyote Ugly, a movie that probably doesn't include me in the target group. I say rewatched, because I saw it first ten years ago while I was still living in Australia. It brings back good memories, and for some odd reason, I find this movie quite charming (even if the charm is almost certainly coldly calculated) and enjoyable. It's clearly designed for the teenage girl (for the story) and is dosed heavily with scantily clad women (so that the boyfriends of the aforementioned teenagers would also pay for the ticket).

But I still like it.

Odd, how that works. Sometimes the strangest things become anchor points in life; points which allow you to ground yourself back into what you are and how you came to be. I'm now living the "busy years" of my life (kids'n'all that), and I do quite often feel lost in life, living for others more than myself. So I want to ground myself in not only the nice things, but also the silly, embarrassing - even strange or odd things of who I am.

My friend, Sanjay Khanna talks about "resilient people", and how they become people that are trusted by others upon times of great change. I find this a fascinating concept, though I am more interested in the process in how these people become resilient: Is it something that people are born with, or can it be learned? On occasion, I look at people like Steve Jobs as resilient persons - no matter how the computing industry changes, people buy Apple because they've learned to trust his taste. Or a great many politicians, who stay there no matter what. People flock to other people and stick with them, no matter what. It's interesting.

Okay, getting a bit rambly.

But really, what I've been slowly learning is that there's an interesting balance between grounding and fluttering around: you need the other to make sense of the other. Go one way too much, and you lose yourself. I can't explain it better than that, especially at fairly late on a Friday night.

Making sense of the quantum froth.

Wednesday, 04-May-11 22:52
Taking A Stand

I saw my colleague using one of these, and after a few days of humming and hawing I got one myself, and have been a happy camper since. This is an adjustable desk from Reoffice, which allows me to work both sitting and standing. This is simply awesome, since all my back aches (which weren't that bad yet, but would've probably become worse over time) seem to have gone altogether. I try to alternate between sitting and standing, but especially when I'm listening to music while coding standing seems so much better as I can move my feet. The end result though is a weird little dance you kinda have do when the hands can't leave the keyboard...

Of course, any back pains are now replaced with aching feet, but I think it's a good tradeoff :-)

(Image is Thinglinked, so just hover on it to get more info.)

Friday, 29-Apr-11 22:00
Digital lives longer than physical

I was interviewed last week. The interview was published in a Finnish paper-printed computer magazine (yes, there still apparently are those, though I have no idea who reads them), but they put an excerpt in their online edition.

Unfortunately, they extracted only the controversial and alarmist parts of the interview, and left out all the sane and calm parts. The reason why this bugs me is that it makes me look stupid, alarmist and like an attention-whore. (Well, if I am one, this is not the way I want to do it.)

Now, I fully understand the need to sell the print edition to fund the online edition and everyones wages. But unfortunately, in the current day and age, what really matters is online. Everyone I know and care about ever is going to read the online version only, and will form their opinions based on that text. Nobody gives a flying monkeys bollocks about the paper edition. Google does not index it, it can never go viral, and it's only seen by the subscriber base and a historian two hundred years in the future. In fact, by next week, most of the copies will be in recycling bins.

But Google and its hard drives remember. Most news and opinions in the IT industry have a useful lifetime of maybe two to five years, well within the average archival capability of online magazines and search engines. Maybe the paper edition will last a hundred years more, but frankly, I don't worry too much about what people will think of me a hundred years from now. I'm way more concerned as to what happens when someone googles me six months from now.

So contrary to the commonly held view: Electronic articles are more durable than paper already. Electronic news media have a bigger impact. In the end, durability of paper really only interests historians.

What of this? Pretty much nothing, really: I'll be a lot more hesitant in the future to give interviews to physical media. My opinion of this particular mag went down, and I'm a lot less likely to recommend them to anyone (though of course with this exception: read the article from the paper version, I sound a lot less like a dribbling idiot in it.) In the end it's just a minor magazine in a minor language on a minor topic and not likely to cause big harm to my online reputation. I'm not really even pissed at them, I just feel kinda sorry that they have to resort to such techniques to keep people buying their paper.

Just needed to rant about this tiny piece of enlightenment I had...

Update: The full article is online at It's a good one, read that.

Sunday, 10-Apr-11 22:07
Practical Science

Who says my scientific experiments don't have practical applications? I just rebuilt this guy to keep my son company. You see, he has trouble falling asleep unless there is someone in sight...

Thursday, 31-Mar-11 13:29
Why is a classic a classic?

A lot has been said about the current quality of Aku Ankka, the Finnish Disney Magazine, but they still run total classics. The current issue had a Carl Barks story from 1947, in which Donald gets hired as a fireman, and chaos ensues. This is a special story for me, as it is one of my first clear memories: I sat on my mother's lap, and she read the story to me. I was too young for the alphabet to mean anything yet, but the pictures and the story made me laugh, and it kindled my love for stories.

Yesterday, my son sat in my lap while I read the story to him. And today, he insisted on taking it to bed so that he could "read" it before his daily nap. He's too young to grasp the meanings, but now he knows that there is something special in this story.

This is why classics are called classics: They reach across generations and generations, and they become a shared experience - a thing that binds generations together.

Wednesday, 02-Mar-11 10:41

Mikko Honkonen laittoi Facebookkiin erinomaisen vuodatuksen siitä, millaista on työnhakijan elämä. Nyt se löytyy verkostakin, lainaan alla, mutta lukekaa koko juttu:

Miksi se on niin vaikeaa näiden "ei rahaa liian helpolla"-ihmisten ymmärtää, että se ei hirveästi helpota hankkiutumista työelämään, jos se peruselannon hankkiminen paperisotimalla vaatii yhtä isoja ponnisteluja kuin täysipäiväinen töissäkäynti.

Säästä jokainen kauppakuitti jonka saat, että voit todistaa ettei ole tullut hupuloitua rahoja "turhuuksiin", samoin kuin jokainen lasku minkä saat. Älä käytä senttiäkään rahaa mihinkään, mikä voidaan tulkita turhaksi, tästä kannattaa ottaa tarkkaan selvää mitkä asiat listalle kuuluvat. Ainakin Jyväskylässä sanomalehden tarjoustilaus on vuorovuosina laskettu turhakkeeksi ja vuorovuosina ei. Tiliotteet, parhaimmillaan viimeiseltä puolelta vuodelta, on myös hyvä pitää mukana jokaisessa toimistossa, että voit selvästi näyttää, kuinka persaukinen olet. Jokaisesta pitää myös ottaa kopiot, ja toimittaa sekä kelaan, että sossuun, varmuuden vuoksi.

Kun pelätään liikaa, että järjestelmää käytetään väärin, niin lopputuloksena on järjestelmä, joka toimii väärin.

Ihmiset muodostavat yhteisöjä. Yksi yhteisöjen peruspiirteistä on se, että liian innokkaat laitetaan kuriin ja liian heikkoja tuetaan. Se alkaa perheestä, jossa lapsille opetetaan, ettei asioita saa ottaa väkivalloin heikommiltaan. Se päätyy yhteiskuntaan, jossa liian innokkaita omaisuuden tavoittelijoita (esim. talousrikolliset) rangaistaan, ja jollain tapaa rikkinäisiä ihmisiä (vammaiset, köyhät, mielenterveydeltään järkkyneet, sairaat) tuetaan. Tässä ei pitäisi olla mitään epäselvää.

Mutta miksi helvetissä me pelkäämme väärinkäytöksiä niin paljon, että tuilla elävän jokaista kauppakuittiakin pitäisi syynätä? Miksi meillä on organisaatiollinen ihmisiä, joiden tehtävänä on miettiä, onko sanomalehti turhake, jota ilman voi elää? Eikö ihmisille voisi antaa itse ratkaisun avaimet käsiin, ja keskittyä sitten niihin, joilla oikeasti on päässä vikaa niin, etteivät he kerta kaikkiaan osaa käyttää rahaa? Ei köyhyys ole mitenkään välttämättä korvien välissä, kuten moni tuntuu luulevan, ja yhteiskuntana meidän pitäisi pitää huolta siitä, että tehdään se sieltä kuopan pohjalta nousu mahdollisimman helpoksi. Tuki ei ole tuki, jos se estää liikkumista. Yhteiskunnan tehtävä ei ole mikromanagoida ihmisten elämää, vaan antaa heille mahdollisuus menestyä tai mokata itse.

Olen ollut pitkään hieman kallellaan perustulon suuntaan, mutta tuo vuodatus kyllä taisi tipauttaa minut kokonaan sen puolelle. Vaikka siitä varmasti olisi myös negatiivisia vaikutuksia, ja varmasti joku käyttäisi sitä väärin - mutta ei tässä nykymenossakaan ole järjen hiventä. Perustulomalli itsessään kannustaisi jo työntekoon (=jokainen töissä vietetty päivä lisäisi käytettävissä olevia tuloja, toisin kuin nyt), mutta varmasti sinne voisi rakentaa myös toisenlaisia kannustimia, joilla voi pitää luuserit poissa sohvilta.

Monday, 28-Feb-11 23:59
Just playing with Thinglinks

CC BY-NC-SA, click to follow to source.

Just wondering if these could work in a narrative? You should get a slightly different story depending on the order in which you hover on those tags.

Sunday, 27-Feb-11 03:15
I'll probably regret this in the morning, but...

Just had to get this one out: Sorry for the lack of visuals there. Not my thing.

I've sat in many meetings in my life, where ten highly paid professionals sit around the table and are debating a minute detail. Usually it's two or three people talking, with everyone else looking very bored, being deeply immersed in either Angry Birds or Outlook. This isn't a particularly good use of everyone's time, so the next time you end in a meeting like this, fire up the above link, and put it on a projector as a gentle reminder that people are not in the meeting just to enjoy chitchat.

(I know, I know, you can't really measure shit like this, and there are other considerations, yadda yadda, but still - time is money, and especially if you are a developer, your time is quite likely used better on other things. So keep the meetings lean and light.)

Wednesday, 23-Feb-11 23:53
Surface Detail

I just finished reading Surface Detail by Ian M. Banks. I used to be (and still am) a big fan of Culture, one of the few depictions of what a highly advanced society might be like. It's a techno-utopia, a place where mostly everyone is free in senses that we cannot even imagine - and a story of how an advanced society tends to brush corners with others, not-so-much advanced ones.

Unfortunately, while I love the world, occasionally it would be nice to have a story too. Just prior to this, I finished The Sparrow by Mary Doria Russell, and The Quantum Thief by Hannu Rajaniemi, and I wouldn't have probably realized how crummy Banks' book was if it wasn't for these.

Whereas The Sparrow is a heartbreaking, gut-wrenching, gripping story about people, and The Quantum Thief is a verbal firework of a truly original world, Surface Detail is clearly revealed to be an adolescent fantasy with really big guns and magic technology, with a plotline that seems incidental to world-building. There's one good story in it, involving a character voluntarily trapped in Hell, but otherwise it just utterly fails to deliver anything else than, well, magic tech and big guns, and not even too much new stuff about Culture itself.

So yeah, I'm disappointed. I mean, it's still an okay read, and the teenage boy in me giggles at booms, but frankly... seen it. Hoping his next book has some depth.

(And in case you haven't yet read them, both The Sparrow and The Quantum Thief are worth reading. The latter though is only for a bit more advanced readers: I hated it (or to be precise, I hated myself for not understanding at all what was going on) for about the first quarter, then I just finished it in one go. It's awesome, but it's not the easiest book around.)

Wednesday, 23-Feb-11 00:39

Went to see Kylie Minogue in concert, ten years after the Minb... sorry, the last concert. I remember standing with 3000 screaming teenage girls in a venue in Melbourne, Australia, and clearly thinking "OK, so maybe I'm not in the target group, but what the hey..."

Oddly enough, even though this evening was pretty much a gratuitous feast of rather well-formed male bodies, I didn't get the same feeling. Probably because everyone out there seemed to be my age or older.

There was an interesting oops - Kylie picked out one lucky person to get on stage and get a personally signed CD. Turns out that person was Russian, and, well, in Finland there are still some old grudges left, so that could've killed the mood. But the guy was so insanely happy about standing there, you couldn't but laugh with him, so it all went smoothly.

I like the new album, but I have to admit that I've got a special soft spot for "On A Night Like This". Brings me back so many good memories from a country far, far away...

(OK, so maybe this isn't the best blog entry out there, but it is a shameless attempt to get ranked higher for "Kylie Minogue's butt" - for which I was a top authority in the world for a couple of years, according to Google. Probably thanks to my extensive linking of the words "butt" and "kylie". :-)

Tuesday, 22-Feb-11 13:35
Suomen Parhaat Verkkosivut - juuri kun luulit, että niistä päästiin

Sain hetki sitten seuraavan sähköpostiviestin liittyen aiempiin kritiikkeihini Suomen Parhaat Verkkosivut -kilpailusta (täällä ja täällä):


Nova Trotters Oy on tehnyt rikosilmoituksen ja tutkintapyynnön Nova
Trotters Oy:tä, Websiterace Oy:tä  ja Suomen Parhaat Verkkosivut
-kilpailua koskevista, valheellisista ja herjaavista
nettikirjoitteluista. Lisäksi harkitsemme joidenkin kirjoitusten
kohdalla haastetta ja korvausvaateita käräjäoikeuteen. Pyydämme, että
poistatte foorumiltanne/blogistanne kaikki asiaa koskevat kannanotot
välittömästi, niin emme vie asiaa eteenpäin kohdallanne.


<asianajajan nimi poistettu, tekee vain työtään, ja kirje oli ihan kohtelias>

Veikkaan, että näitä on lähetelty monelle muullekin.

Anyhoo, en aio nyt toistaiseksi alkaa poistella täältä mitään, vaan katsotaan, miten tämä jatkuu. Mielestäni keskustelu oli kuitenkin ihan asiallista ja kohdistui elinkeinonharjoittajan julkiseen toimintaan, joten en koe, että tässä olisi nyt sen kummempaa ongelmaa.

(Pyydän, että pidätte kommenttinne juttuun asiallisella tasolla, mutta mainitkaa toki, jos teillekin on tämmöinen kirje tullut.)

Jeps, näitä sataa. Murossa on keskustelua. vastaa. Syrjän Anttikin sai kirjeen. Jockakin kommentoi. Ja Skrubu. Stara tarttuu aiheeseen. Ja Juho Makkonen. Ja Harto Pönkä. Katleena Kortesuolla on jo melko painavia sanoja.

Tietoviikon artikkelissa aiheesta mainitaan: "Rikosilmoituksia on tehty 18 ja ilmoituksia asiasta on lähetetty yhtä monta, kertoo Websiteracen toimitusjohtaja Soile Haanpää... Websiterace on kuitenkin toimitusjohtajansa mukaan pyrkinyt toimimaan rehellisesti ja lainmukaisesti."

Jännittävää. Silloin kun minä kirjoitin asiasta vuonna 2007, asialla oli "Coperdia" -niminen pulju. Miten muka olisi mahdollista, että firma voi loukkaantua siitä, mitä jostain toisesta, sittemmin konkurssiin menneestä firmasta, on aikoinaan kirjoitettu? Etenkin kun laki on melko yksikäsitteinen sen suhteen, että yritystä ei voi loukata. Tuntuu siltä, että tässä on nyt kyllä rautanaulat ja vellit sekaisin arvon firman edustajilta.

23.2: Tietokone noteeraa asian. Ja Google-haussa jo suurin osa etusivun linkeistä kertoo jo uhkailusta. Ei ehkä varmaan haluttu tavoite.

23.2 illalla: Jopa valtakunnan suurin päivälehti kirjoittaa asiasta. Ja lieneekö yllätys? Sillä jos yritykset voisivat uhkailemalla vaientaa liiketoimintaansa kohdistuvan arvostelun, lehdistön tutkiva journalismi kävisi mahdottomaksi, ja sananvapaus kapenisi maassamme järkyttävästi. Joten ei ihme, että tälläiset jutut nousevat valtakunnassa nopeasti ja korkealle. Epäilen, että tätä ei ehkä Nova Trottersilla varsinaisesti ajateltu, saati sitten odotettu, kun päättivät aloittaa rikosilmoitusaaltonsa.

Sunday, 13-Feb-11 14:15
What does the Nokia-Microsoft announcement mean?

I've been mulling over the Nokia-Microsoft announcement for a while to avoid a knee-jerk relation (that I did on Twitter) and here's my take. This is a fairly long post, but I've tried to take a larger view on the topic with lots of detail.


Good riddance. Symbian's main problem was always the fact that nobody actually wanted to code for it. It was not built for developers, it was built to be understood by a very small core group of engineers, who would build a few apps on top of it, and that was all.

And I'm not talking about 3rd party developers here. When the system and the programming interfaces are complex, even developing the platform itself and the phone built-in apps costs more money, takes more time, and is more error-prone. Developer productivity is low. This is the reason why Nokia lagged behind in Symbian: it was just too complicated. Yes, technically the kernel is brilliant and power-efficient and fast. Unfortunately, nobody higher up was able to co-ordinate a rescue effort until the idea to buy Qt came along - which would've solved all these issues by increasing developer productivity significantly. Unfortunately it was too late.

Also the fact that Symbian was not fun meant that you would not have a skilled pool of enthusiasts to hire from. People coded for Symbian only because someone paid money for it - and that means that the best, brightest and most productive guys would go to work elsewhere. (Obviously there were exceptions. There always are. But over the years, the most appreciative comment I heard about Symbian from a programmer's point of view was "It's no worse than the others." That tells a lot.)

Windows Phone

Out of the different possibilities, Windows Phone is probably the best choice to adopt. It pains me to say this, but really, it is. Competing in the Android ecosystem with Nokia's overheads against all the Chinese manufacturers? No way. At least with Microsoft there's Microsoft's marketing, traditionally excellent developer tools and relations, and some very good technology and brands (like XBox).

Also, Nokia will probably have much better impact on Windows Phone development than they would for Android, considering that in short order, they will be shipping a massive majority of Windows smartphones. In the Windows ecosystem, they will be the giant.

Windows Phone is -- as S. Elop pointed out in his famous "burning platforms" -memo -- an act of desperation, and the best of the worst options. Now, nobody really likes it, as everyone would've liked to have seen Nokia build something really beautiful and awesome, but they didn't and couldn't, so there you go.


Meego's situation is interesting, and it's easy to read too much or too little into it. Microsoft hates everything GPL with burning passion, and Linux has been a sore point for them for years. I would not put it past them to hide a special clause in their contract that in exchange for lower Windows license prices, Nokia will stop any Linux development that may threaten them. (Though this is obviously pure guesswork, and nobody in their right mind would ever confirm such a thing.)

In this case, Nokia could not say that they will drop Meego straight away because of existing agreements with Intel and others. But the phrasing "research OS" essentially means "only a handful of people will do any serious work on it." Intel and some others may continue to use it, and it may become an interesting tablet OS at some point. Who knows. But I wouldn't hold my breath waiting for anything. It's no longer on Nokia's critical path for the future, and in fact is in direct conflict with the strategy of their most important partner, and resourcing will reflect that.

This will also have direct impact on Linux in general, since Nokia has been a fairly active contributor to the kernel (2.3% of all kernel contributions, whereas Google is only at 0.7%. Nokia has been contributing over three times more than Google - and Google is actually shipping an Linux-based operating system!).

HOWEVER, it may also be that Nokia's careful wording about Meego is designed not to piss off Microsoft. Every single other major mobile phone manufacturer has their own OS, and as Steve/Apple has many times pointed out, the only way to make a truly great customer experience is to control both the hardware and software. It is entirely possible that Nokia is planning to still roll out Meego as their premiere smartphone OS, and Windows Mobile is only an interim solution. However, it is no longer on the critical path to succeed, so they can afford to continue development in a smaller group that can hone it to perfection. This move gives Nokia time to rebuild their software engineering process by shedding out all of the old baggage - if they are brave enough. This is an opportunity for Nokia to reset themselves and really transform themselves into a proper software company, if they so choose.

Now, Nokia might've been desperate, but they are not stupid. Considering that mobile phone manufacturers have consistently failed to work with Microsoft, Nokia needs a plan B. Now they have a couple of years of time to execute it. If they do not, then it's obvious that they've thrown in the towel and are only waiting for Microsoft to buy them.

I think the way to figure out which way Nokia is going to go can be seen on how they treat Qt. If they choose to keep it, Meego is going to be the future. If they choose to let it wither and die (or sell it off), Meego will become just a curiosity. Qt is the key for Meego developer adoption, and the only way it could become a feasible smartphone platform. In my opinion there's no point to develop Meego just for the tablet market; it would be really hard when you couldn't leverage the same development effort as on the phone side.

At any rate, Meego will lose a number of good people, simply because they are fierce open source advocates who will not work for a company which has sided itself with the Evil Empire. I'm hoping that this is not going to be a large number.

S30 & S40

Not a whole lot will happen here. These guys (who are, by the way, really good at what they do, and totally underappreciated) will continue to ship Nokia's own operating systems and sell billions. Nobody in the tech industry will care because they're not shiny, but a massive amount of the world's population will continue to buy them and for the next billion, the mobile experience will be defined by them.

Even if Nokia is facing a lot of pressure on the low end too, I think that the fact that Nokia no longer has to worry about smartphone development means that they can now dedicate more resources to the feature platorms. Nokia's brand value is still good, the platform is very mature, and they don't have to pretend to keep any sort of backwards compatibility.


The mobile industry is still going towards services. Or to be precise, internet services are going to mobile. Microsoft isn't very good in the service business (they're also geared towards shipping boxes), so Nokia will need something. My guess is that they will keep rebranding OEM services under Ovi (like Ovi Chat and Ovi Mail are now run by Yahoo), while concentrating on the few services that are doing well: Ovi Maps and Ovi Music Store, and the necessary infrastructure to run them. I don't think Ovi Store is going to go away as such: Nokia needs an S40 app store; there will still be a significant amount of Symbian devices out there which need a store; and Nokia has an extensive billing system already in place.

If you do, however, see talk about Bing Maps replacing Ovi Maps and Qt being sold, then you know that Microsoft and Nokia are heading for a merger. Or a buyout, which seems more likely at these stock prices.

Java & Oracle

There has probably been much teeth-gnashing and furious typing into Excel sheets at the Oracle boardroom: You see, even though nobody was really paying attention, with every single Symbian phone shipped a Java Runtime. So, in essence, Oracle will lose licensing money from the 100M Symbian phones that Nokia was shipping every year, and will lose the only smartphone platform which had their technology. To compensate, Oracle will need to tighten its screws on other Sun technology they have, possibly upping their effors against Google. Which can be a problem.


Qt guys are waving the good flag, saying that Qt is still going strong and that they're still hiring. As Symbian is being ramped down, there will be no new projects started for it - and all the old ones are using the native Symbian APIs anyway. There will be no Qt for Windows Phone, as it would compete against Microsoft directly. So Qt for mobile is only with Meego, and as I've said previously - the way that Nokia is going to treat Qt will reveal their intentions for Meego.

However, what is interesting is that Qt is the basis for KDE, which is the other major Linux desktop system. In fact, if Nokia guts Qt development, it will strike a very, very serious blow to Linux as a desktop environment. If Qt goes down, a lot of the Trolls will probably walk out and start a new company that will continue to develop Qt, but since copyrights stay with Nokia, this will be a tougher sell than previously. This would obviously please Microsoft.

If Nokia sells Qt, Google would be a good recipient. They would gain a valuable software asset (and many contributors to Webkit, which is the most important mobile browser engine right now), and could provide a ready-made development environment and tools for their desktop and Android OS. If their discussion with Oracle turns really sour over Java, then they may have to conjure up a good native environment, and Qt could be it. However, more likely the buyer would be either Intel (who would then have a solid continuation for Meego) or another embedded systems manufacturer.


I'm with Tomi Ahonen on this one - NSN will be sold sooner or later.

Working with Microsoft

I feel a bit sorry for the people who will stay at Nokia. Or to be precise, I feel sorry for their families. Microsoft's HQ is ten timezones away, and that means that teleconferences start at 6 pm for Finns. Or later.

Now, I kinda do like Microsoft's recent efforts. They've been surprisingly nice to people who jailbreak Phone 7, XBox and Kinect are cool, and even Microsoft Office X on my Mac is actually quite pleasurable. So these guys know how to build and ship software, so it'll be okay from that perspective.

But unfortunately, the Earth is spherical, and if Nokia's phone development stays in Finland, it (and the lives of those connected) will be seriously impacted by this. I would not be surprised if Nokia's main phone development were moved eventually to existing locations in the US, leaving only the corporate HQ here - and then it would not be a long time before it too would leave Finland.

Impact for Finland

Short term - this will be devastating to morale and job market once the reality starts sinking in. When Symbian goes, so do all the support functions (HR, WR, etc). And so will many people in the other companies that have been providing subcontracting for Nokia. The job market will be flooded with people with people who don't necessarily even know what it is to be unemployed, or have a skillset that's suitable only for obsolete technology.

Employers (with money) will of course rejoice, since they can now hire good people cheaply out of a large and highly educated pool. Expect average wages to go down. However, there aren't enough employers in Finland to suddenly hire all these people. Some will try entrepreneurship, but few will have the drive and the ideas to carry them anything further than what the separation package carries them. Certainly the best will be snatched by competitors, and everyone with a house loan (which is almost everyone) will seek a steady paycheck rather than take their chances. Most of these people weren't in Symbian because it was fun and exciting - they were there because the money was good. That attitude does not a good entrepreneur make.

With the elections just coming up, no politician is able to do anything other than issue stern statements, and I just don't trust that the Finnish government is capable of quick, decisive action on this. If they do something, it will have impact two years down the line, and while that will be great, the short-term impact of anything they do will be equivalent to handwaving. In fact, I am not even sure whether there is anything that could possibly be done by the government, other than plan for the reduction in tax income.


Of course, the impact might not be that great, depending on how much custom software Nokia will want to bundle with their new phones. They still need to differentiate, and be able to offer cool apps to counter the larger developer populations of iOS and Android. So there's still hope for good subcontractors and developers.

And, on the other hand, a lot of people will get a very long, paid summer vacation. So perhaps that'll make the country happier, overall :-)

(Phew, there you go. And that - I hope - is the last thing I say on the topic. Unless the great, unwashed masses of the internetz completely misunderstood me, and come flooding here to flame me. Just needed to get this stuff of my chest so that I can purge myself of all things mobile. I'm beginning to be really bored at it - the same way as I was bored at Amiga vs PC vs Mac so many years ago. Discussion about mobile operating systems damages your sanity; the interesting stuff is happening elsewhere now.)

Update: I just want to make it clear that I am not employed by Nokia. I used to be, but I left over nine months ago.

Thursday, 20-Jan-11 22:41
Listen to radio, crank up the bill for the owner

Here's a fascinating story I heard today. You know those hearing protectors with built-in FM radios? Nice things if you have to work in a noisy environment a lot, and many companies have been providing them their workers to make them happier.

Well, no more. The Finnish copyright collection society, Teosto, has apparently slapped some companies (such as ABB) with bills of up to "several thousands of" € for providing workers with these useful hearing protectors. So obviously that puts an end to the practice, and is making for some fairly unhappy workers who have to shell out their own money if they want to listen to radio while working from now on.

Now, being a lazy blogger, I can't be arsed to actually check the facts to this story, but there should be enough data here for someone to actually do the journalism bit and make a few phone calls. If anyone cares, that is. Let me know how it turns out so I can admit my idiocy here publically. But if true, I have to admit that this story goes right in the same basket as "Teosto collecting money from kindergartens from singing songs" and "Teosto collecting copyright levy on external hard drives" - not exactly a PR win.

Just remember: It might be considered public performance if you loan your radio to someone else, and you might owe arbitrary sums of money to Teosto. So it's best if you don't listen to radio anymore, unless it is owned by an enemy of yours, as you might be incurring big costs to the owner… ;-)

Saturday, 15-Jan-11 17:13
I'm handy now

Recently there was a Facebook meme doing the rounds, in which the person promised to craft items with their own hands to the five first commenters, provided that they do the same. It results in an interesting fan-out (sort of a reverse pyramid scheme), but I tend to steer away from participating in those kinds of memes.

First, I'm not particularly creative. I'm more of a ... practical person.

Second, I have a penchant for duct tape and it's power to fix or create anything.

See, it's almost as good as new!

Sunday, 26-Dec-10 10:57
Open Source Isn't When It Comes to Apple

OSX seems to be a great tool when it comes to software development: it's essentially an UNIX system which has however a good UI and great commercial support.

Unfortunately, Apple is also run by a control-freak who wants to make sure that once you sign up for the Apple ecosystem, you *will* sell your soul too.

Open Source is a great and awesome thing. With commercial software, you only get the binaries, not the source code. The source code allows you to tinker with the code, improve it, or find bugs. In the least the availability of the source code means that if the originator company goes bust, you can hire someone else to maintain it.

But the thing is - to turn the source code into a runnable binary, you need a compiler. Otherwise it's just source code. The problem here is that the only usable compiler is owned by Apple, and recently they've started to require you to sign an NDA with them if you want to download it. It's still available on the OSX install disks, so the situation isn't that bad - yet. But today I encountered this:

% sudo port install subversion-javahlbindings
--->  Computing dependencies for subversion-javahlbindings
--->  Fetching subversion-javahlbindings
Error: Target org.macports.fetch returned: 
subversion-javahlbindings requires the Java for Mac OS X Developer Package from Apple.
Please download and install this package:

Yup. You need to sign an NDA with Apple if you want to use Subversion (OSS) with and IDE, like Eclipse (OSS). You know, like *most* Java developers do.

And this is true for all of the open source port projects for OSX - they all require the Apple compiler and Apple tools. Apple has the OSS community by their balls, and they ain't letting go. (And what's with the idiotic practice of refusing to distribute binaries, Fink and Port guys? And where's an usable gcc for OSX? And since XCode is still largely based on the GNU toolchain, is it even legal to require an NDA to download it?)

I'm starting to think it's time for me to ditch OSX completely, and move to a more open system, like Windows or Linux. What would be good replacements for Scrivener and Quicksilver?

Saturday, 18-Dec-10 21:45
Clean room theory

Living with kids can be messy. In fact, I'm typing this surrounded by nursing pillows, books, towels, random clothes, toy cars and some things I'm afraid to move because they might contain sentient life forms that used to be porridge.

However, I've come to believe that you can live in a mess, as long as you keep one room clean. There must be a place where you can go and forget about the mess - and it's really hard to forget if it's all around you. It just keeps nagging, and at least I find it hard to relax if I know that I should be doing something else.

So I try to keep the kitchen clean, no matter what. (Clean defined as "does not bother me", not as in "counted in particles per million") Sometimes I fail, and sometimes I can get a bit anal about it, but still: waking up before anyone else and enjoying the morning tea, watching snow drift down from the heavens unto the white trees... It's quite worth it.

Wednesday, 15-Dec-10 01:28
How did I become myself - the pub edition

I don't do these "fun tests" as often as I did, but this somehow struck a cord: In Facebook, there's this meme spreading about naming 15 important bars or pubs of your lifetime. So here's my list of 15 important ones. Since I'm not much of a pub-goer, it took a while to build the list, especially since I didn't want to include places I've been to only once.

  • Kleopatra, Lappeenranta (RIP) My first.
  • Willimies ("Wiltsu"), Lappeenranta. The center of the night life of my home town.
  • Hotelli Lappee, Lappeenranta. Final night before leaving home. Got a hug from a crush.
  • Janoinen Lohi, Helsinki. Neighbourhood bar for many years.
  • Kaisla, Helsinki. I always end up here.
  • One Pint Pub, Helsinki. The men's room hasn't had a lock as long as I can remember; yet I always go here too.
  • Amsterdam, Helsinki. Go. Lots of it.
  • Pikkulintu, Helsinki. Enjoyable moments with friends, games and beer.
  • Weeruska, Helsinki. The place for the inner circle of bloggers. Many memorable discussions.
  • Akkurat, Stockholm. STRONG. STRONG. VERY STRONG.
  • Caio, Oulu. Memories of having just fallen in love.
  • Keltsu, Espoo. University pub. Oh boy.
  • Top of Shinagawa, Shinagawa Prince Hotel, Tokyo. We built something great here. And the scenery is just breathtaking.
  • The Pancake Parlour, Bourke St, Melbourne. Not strictly a bar, but spent still a few evenings here.
  • Kaffibarinn, Reykjavik. Just love the barrenness of this place, mixed with some strong emotions.

Each one of these has changed my life in some degree - many of them have enhanced it, but some have also damaged it. There are also important places where I've been only once (or places whose names I can't recall), so I have to skip them - which is why there are no English or Scottish pubs on this list. If I could, I would list one memorable bar romp in Edinborough, but...

Friday, 10-Dec-10 22:36
Happy or not happy, that is the question

Finnish press is now touting a study that having kids makes you less happy than not having any. This debate originates an old study, published back in 2004 in Science, and as usual in science, been subject to some hefty debate. Some people are taking it really personally, which is interesting. When a scientific study says that on the average, people behave this way, the outliers pop up and tell the world that "Well, I never..." And then the choir goes "so much for science."

I'm finding this puzzling. I mean, I understand that people don't like it when someone comes in and tells you that you did the wrong choice by having your children, which do give a lot of joy and fun as well. But it's not the wrong choice, and it's totally a mistake to read the studies like that. There is nothing wrong in not trying to maximize your personal happiness, as there is nothing wrong in trying to maximize it either. For some, duty and honor are above all else. Others find other causes for their life. Some find none (which is sad, I think).

You see, I just don't buy that "well, you wouldn't serve your country in the army if it didn't give you a personal bliss" -line. If we were only hedonistic pleasure-seeking missiles, I don't think the humanity would ever have bothered to invent stuff much beyond the fire and farming.

To me the great problem with these articles isn't that they somehow break down the existing belief that having kids makes you insta-happy (a stupid notion: having to clean up poo isn't somehow magically more fun than not having to clean it up.) - it's the fact that people read them as if the pursuit of happiness was the most important thing, and they're somehow failing it. It's not, and you're not.

Parents of the world: you're keeping humanity alive. You're doing what defines life as we know it: procreation. That's something to be proud of, even if you have to waddle through lakes of pee to get there. And you will be sufficiently happy doing it. Some of you will enjoy it immensely, some of you won't. Duh.

And on that note, we at Team BUNT would like to present a new member of the human race. And yeah, I'm happy, really happy about it. For me, parenting is an experience. I'm not a thrill seeker, but doing things for the sake of doing things is what makes me tick, and this is one of those experiences that I know I would regret missing on my deathbed. :-)

P.S. There's a nice writeup on this topic at The New York Magazine as well. It e.g. talks about how strong welfare systems like in the Nordics actually makes parents a lot happier, as you have less to fret about.

P.P.S. And yeah, let's not overdo the procreation part anymore. Way too many people on this planet.

Tuesday, 23-Nov-10 15:39
Quote of the day

I am reading Yasunari Kawabata's book "The Master of Go" - the story of the ailing grandmaster Honinbō Shūsai's last game against the young Kitani Minoru - and the following quote struck me:

"If one chooses to look upon Go as valueless, then absolutely valueless it is; and if one chooses to look upon it as a thing of value, then a thing of absolute value it is."
-- Naoki Sanjūgo

How true this is for many things.

Thursday, 04-Nov-10 21:07
Todays Mythos Moment

The static image doesn't describe how this thing felt, seeing it slightly wobble and move, as if an appendage of some horrendous alien being.

Friday, 29-Oct-10 21:34
"Once upon a time..."

One of the somewhat unexpected side benefits of role playing games is that you learn to invent and tell a story real fast. Lately, I've found that this skill is rather useful when your kid starts expecting a bedtime story. Guessing that he might want to hear one every night for the next ten years or so, I need to look forward to maybe 3600 stories or so. Sounds like a lot, but I have a feeling that those years are going to pass sooner than I expect.

Of course, I can't use my arcane knowledge like Cthulhu Mythos to weave a story (yet...), but so far it's become a thing between us. He likes to hear me talk, and I like to tell a story. So it's working out ok, even though the stories are simple and somewhat repetitive. Though I have to admit that they sometimes surprise me too - I had no idea for example that this night's story was going to end up in a half-burned outhouse under a starry sky...

Stories are a fundamental way of transferring wisdom between generations. It's so fascinating to be a part of that continuum.

Monday, 25-Oct-10 21:53
Geeky Heaven

Sunday, 17-Oct-10 21:45
Homoilta yksinkertaistettuna

Keskustelu homoliitoista on nyt lähtenyt jotenkin raiteiltaan (tosin, niin aina tälläiset asiat tuppaavat lähtemään). Eroamistahti vain kiihtyy (tänään mennee rikki 5000 päivälähtijää), ja arkkipiispa on vihdoin saanut suustaan sanottua, että Päivi Räsäsen mielipiteet eivät ole kirkon mielipiteitä, ja että kyllä kirkko hyväksyy homot siinä missä muutkin, ja että kyllä kirkkoon mahtuu monia ääniä.

Hyvä näin. Mutta kun se ei ole se ongelma.

Ongelma on se, että kaksi miestä (tai naista) ei voi kävellä edes maistraattiin mennäkseen naimisiin ja saadakseen samat oikeudet yhteiskunnan edessä kuin mitä heteroparilla on. Uskonto määrittelee, ketkä saavat olla lain edessä tasa-arvoisia, ja se on yksiselitteisen väärin.

On ihan turha mussuttaa moniäänisyydestä ja hyväksyä homot ryhmähaleihin niin kauan kuin tilanne on se, että kirkolla on yksinoikeus määritellä se, mitä avioliitto tarkoittaa yhteiskunnassa.

Ongelmaan on toki yksinkertainen ratkaisu, sama kuin monessa muussakin länsimaisessa valtiossa: valtion tulee määritellä avioliitto tasa-arvoiseksi kumppanuussuhteeksi kahden (tai useamman) henkilön välillä. Kirkko voi pitää vihkimysoikeutensa ja suostua naittamaan vain osajoukkoa tästä keskenään. Mutta maistraatissa pitää ihmisten pystyä virallistamaan liittonsa niin, että heillä on samat oikeudet ja mahdollisuudet kuin kenellä tahansa muullakin. Mikään muu ei toteuta oikeutta. (Ei, rekisteröity parisuhde ei ole avioliitto; se on vain avioliiton kaltainen tuote joka ei anna samoja oikeuksia, vaikka toki hieman; vähän kuin jokin aromivahvenne.)

Suomen kansankirkolla on muutenkin vakava PR-kriisi: jos kenen tahansa satunnaisen KD-kansanedustajan mielipiteet koetaan edustavan kirkon kantaa, niin tiedotus ei pelaa oikein. Vaikuttaa siltä, että koko pulju on tyystin halvaantunut käsittelemään tilannetta: se ongelma syntyy, kun aletaan kulttuurirelativisteiksi ja hymistellään, että kaikki mielipiteet on oikeassa. Sitten kun pitäisi yhtäkkiä repäistä firman mielipide jostain, niin sitten sitä ei oikeastaan olekaan, ja joku vetää aina herneen nenäänsä oli joku mitä mieltä tahansa. Sitä niittää minkä kylvää, ja voi olla, että monelle "en mä kehtaa, mitä mun vanhempani sanois" -epäröitsijälle tämä koko keskustelu antaa kulttuurillisesti hyväksyttävän syyn lähteä kirkosta. Päivi Räsäsen mielipiteistä ei pidä moni, joten se on hyvä keppihevosperustelu, jos joutuu asiaa selittelemään.

Onko muuten mikään ihme, että ihmiset kaikkoavat niin helposti, kun mielipiteen ilmaiseminen eroamisella kestää viisi minuuttia, sen voi tehdä vaikka pikkutunneilla baarista palattua ja nettoaa ensi vuonna useamman satasen? Vaihtoehto olisi mennä seurakuntavaalien sivuille, klikkailla tuntemattomia ihmisiä, joista kerrotaan pelkkä ammatti, tehdä pirusti taustatyötä ja etsiä se homoliittomyönteinen kandidaatti, raahautua äänestyspaikalle, kirjoittaa numero, ja sitten toivoa, että ehkä 20 vuoden päästä kirkolliskokouksessa istuvia jääriä on tuoni harventanut niin paljon, että järjen ääni alkaa voittaa. Edes ennakkoääniä ei voi antaa postitse - saati sitten internetissä.

Tyhmäähän tässä on se, että hyvin toimiva kirkko olisi yhteiskunnalle hirveän arvokas asia. Jokaisella meistä on kuitenkin tarve jonkinasteiseen hengellisyyteen, ja se, että voi uskoa siihen, että on jotain parempaa olemassa, antaa monelle toivoa ja voimaa. Ei ole väärin uskoa, toivoa ja rakastaa. Siihen on vain sallittava samat mahdollisuudet kaikille suomalaisille.

Friday, 15-Oct-10 20:33
RCPT TO: root

Okay, so I'm geeky, but seeing my kitchen scale always makes me want to respond with "HELO localhost" and see if I could talk it into accepting a mail delivery.

(And a part of me wants to upgrade it so it would say EHLO... RFC 5321.)

Thursday, 14-Oct-10 15:57
Almost forgot

Happy faces right before putting the ink on the paper. Our small startup was able to raise 1M USD from Lifeline Ventures and Inventure. It was a fascinating process, and a reminder on how different life is outside the bigco.

But everything is looking cool, and we're excited.

(We're also hiring, so drop me a mail, if you're interested in joining - preferably with a CV.)

Thursday, 07-Oct-10 18:21

I'm in Tampere for the conference also known as Mindtrek. It's busy and it's nice to see familiar faces, some of whom I've only met virtually before; and some with whom I've worked before. Everything seems focused on mobile; lots of good discussion on Android, Apple and, of course, Nokia.

Though sometimes this virtual-mobile-thing gets a bit out of hand. I was approached by someone today who asked for my mobile number, twiddling with his phone. I started to give it, and then stopped:

"Hey, didn't I give you my card?"

A short look of confusion. Then:

"Oh, yeah. Forgot that that's why we exchange these cards."

Saturday, 11-Sep-10 17:51
...and the best car is...

When I was a kid, one of the major questions in life whether Matchbox toy cars are better than Corgi, or perhaps Majorette (yeah, I had a happy childhood). So, after about 40 years of intensive testing, I think I've arrived to a conclusion.

Corgi - especially the Whizzwheels series - is the best.

Their cars have withstood the damage from two generations of kids with nothing but paint and occasional window damage. And their wheels still roll as well as the day they were new, whereas Matchbox wheels invariably are squashed or twisted or loose. Majorette scores second best, and unfortunately the infamous Matchbox comes last.

Well done, Corgi.

(I know I'm a bit late, since all three brands have been sold and resold a number of times. Corgi Toys, owned by Mattel, still seems to produce stuff tho'.)

Some nostalgic drooling pictures for you:

Friday, 10-Sep-10 23:20
Stripes and Shiro

I've been a long-time fan of Stripes, a really simple but powerful way of doing web apps in Java. It throws away complicated XML configuration and just prefers convention over configuration and uses annotations heavily to denote actions. It's clean cut and fast to develop in. However, it doesn't really do security (as in authentication and access control), but leaves those to the application.

Enter Apache Shiro (incubation), which is another really simple but powerful library to add access control and authentication to your Java application. It's not limited to webapps, but can be used in anything - though I don't think too many people are doing Java clients these days anymore.

Shiro comes with Spring integration built-in, but I figured I should try to make it Stripes-compatible too. Turns out this was a fairly easy task, though it was made a bit extra difficult by the fact that the AOP libraries of Shiro are not very well documented.

The way this works is that you add a new Stripes Interceptor that just delegates the access control checking to Shiro at just the right point. It even uses Shiro's built-in annotations, so it's fairly simple. Just add the following class to whichever package you like and play with it.

package stripes.util;

import java.lang.reflect.Method;

import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.controller.ExecutionContext;
import net.sourceforge.stripes.controller.Interceptor;
import net.sourceforge.stripes.controller.Intercepts;
import net.sourceforge.stripes.controller.LifecycleStage;

import org.apache.shiro.aop.MethodInvocation;
import org.apache.shiro.authz.aop.AnnotationsAuthorizingMethodInterceptor;

 *  A Stripes Interceptor which will check if the given handler method has a {@link Require}
 *  annotation, and checks from Shiro whether the user has access to it.  For example
 *  <pre>
 *     public class AdminActionBean implements ActionBean
 *     {
 *        @DefaultHandler
 *        @RequiresRoles("admin")
 *        public Resolution doAdminThingies()
 *        {
 *           ...
 *        }
 *     }
 *  </pre>
public class AccessInterceptor extends AnnotationsAuthorizingMethodInterceptor implements Interceptor
    public Resolution intercept( ExecutionContext ctx ) throws Exception
        // First, execute the HandlerResolution
        Resolution resolution = ctx.proceed();

        MethodInvocation mi = new StripesMethodInvocation( ctx );
        // This throws a SecurityException if there's no access, which will
        // be caught by the ShiroFilter and acted upon.
        assertAuthorized( mi );
        return resolution;
     *  Private class which wraps the current ActionBean/Method invocation
     *  information into a Shiro MethodInvocation.
    private static class StripesMethodInvocation implements MethodInvocation
        private ExecutionContext m_context;
        public StripesMethodInvocation(ExecutionContext ctx)
            m_context = ctx;

        public Object[] getArguments()
            // Stripes handlers never get arguments, so this is cool.
            return null;

        public Method getMethod()
            return m_context.getHandler();

        public Object getThis()
            return m_context.getActionBean();

        public Object proceed() throws Throwable
            // This is not actually used by us
            return null;

Enjoy :-)

Thursday, 09-Sep-10 11:41
Native2ascii on web

Java folks know that in order to make sure your source code survives on multiple platform, you need to encode anything outside of ASCII (or Latin1) in the Java escape format (\uxxxx). This can be a laborious job, since you need to use a command line tool, native2ascii to do the conversion.

I got tired of doing the conversion manually (the alternative would be NOT to run my unit tests in non-ascii characters, but that's clearly the path to i18n hell), so I whipped up a small tool that can do the conversion directly on the web for you.

Enjoy; please comment here or directly in email.

Tuesday, 07-Sep-10 13:28
Running JConsole through firewalls

For anyone who have tried this and failed (and most people doing sysadmin stuff for Java programs have, I think), here comes a really simple solution for running JConsole over, well, firewalls and NATs and what-have-you.

Use SSH as a SOCKS proxy.

A minor caveat - the $jconsole_host from the original article refers to the name/IP address of the host you're connecting to - NOT the machine making the connection. Especially with EC2 it needs to be the local address from the 10.x range, not the DNS name.

I can't count the hours I've tried to figure out how to do this. RMI is so deeply unusable for all situations except when you're running machines in your own intranet. It reeks bigco all over the place...

Saturday, 07-Aug-10 23:58
Explaining agile through

Here's a fairly simple way to explain agile programming: When cleaning your apartment, you can either clean it bit by bit so that you keep a reasonable amount of cleanliness all the time - or you can just let it be, and then have big cleaning days.

With the first, agile, method you need to maintain strong discipline and actually make the effort of keeping things clean, even though it isn't fun. The second method, is a lot easier day-to-day, but the cleaning day is usually a source of agony to all participants. Neither method is inherently superior to the other, but they have different advantages and disadvantages.

For example, if you have surprise guests, or your spouse arrives a few hours early (ahem), the agile method of keeping the house clean all the time works well. The house is already in a good shape - just do some dusting and that's it. With the second method, you will find yourself apologizing for your messy apartment many, many times. Or out of laundry detergent just when you need it. On the other hand, the second method works really well if you don't spend a lot of time in the house, and/or if you have contractors, er, a hired cleaner coming in every week.

Agile methods can usually cope with changed plans, schedules and scope - but they require a lot of discipline to maintain, and they're not necessarily fun. The laissez-faire methods may be fun, but they're inherently brittle when it comes to change. Waterfall (=doing lots of planning what to clean before actually doing any cleaning) is usually brittle and NOT fun ;-).

Wednesday, 04-Aug-10 00:36
On changing reality

There's a bit of a public debate here in Finland again: a Green city council Kaisa Rastimo member asked the police to investigate whether a Pirate Party member had broken the law by reposting some comments she did on a public mailing list. She apparently doesn't quite know what the problem is (she keeps hovering between libel and email confidentiality), but asked the police to figure it out anyway.

Ok, so it's kind of fun to laugh at people who don't quite get the Internet. I'm personally kind of pissed at the Green party, who doesn't seem to be able to pull any coherent opinion on these internet things and tends to treat them as matters of conscience more than a party line. Not even individuals in that party seem to be able to form a defensible opinion.

Then again, this internet shit is actually really hard to grasp. Think about it: there is a growing mass of twentysomethings, who have been living on the internet their entire life. They are digital natives. They can build a world-changing service in a weekend (not all of them can pull it off, but some do). They live in two worlds at the same time - in fact, they're one and the same for them. They rewrite reality as they see fit and they LIKE to twiddle with it. They are used to rapid iteration - you build something, you toss it out to the public; if it doesn't work - you change it or abandon completely. Doing, not planning.

In contrast, the politicians talk endlessly, and then they vote, and that's it. No iteration - bugs may get fixed after a long process. The Finnish criminal code - which is still in use - dates from frigging 1889, though obviously it's been patched since. The entire legislation runs on waterfall, but the current generation is growing in complete agile mode. Mark Zuckerberg (CEO of Facebook) doesn't care about what the legislation says about privacy - he does it, and if enough people complain, he changes it. That man is one of the most influential people on this planet when it comes to privacy, and whatever politicians talk about it does not matter.

And no, I'm not advocating using SCRUM for legislation - I wouldn't like to be tried under "law 2.0 beta" - but the clock speed difference is real and it's there. As Lawrence Lessig says: "Code is Law". I would even go as far as saying "Code is Reality", since many aspects of our life are now completely dependent on the Code: banks, jobs, communication, traffic... It's everywhere: we almost breathe it. But few people are really, truly aware of it.

And to me it seems that this is what is missing from this whole discussion around "digital property" and DRM and piracy - at least here in Finland: the realization that piracy is not a disease. It is a symptom of something more profound which is happening in the society as we speak, and henceforth any attempt at stopping piracy is about as useful as painting the walls when the house foundations are crumbling: might fool some people all of the time, and all people for some of the time, but the house will still collapse.

The interesting thing is that since it's unstoppable, watching people and corporations kick and scream while they're being dragged into the new age is kinda fun. In 20 years, the 20somethings of today will be in their fourties and start to have major power in corporations and governments. And in 40 years, everybody who gets to make decisions is a digital native, and they'll be fighting their own inability to grasp the changing world.

It just really bugs me that people just paint the walls and try to sell me the house as "fully renovated."

Tuesday, 03-Aug-10 13:59
Nyt vihreät vittu oikeesti

Pitäkääpä se Rastimo nyt kurissa, jooko?

Yksi Rastimo kumoaa yhden Kasvin vaikutuksen, enkä koe enää sopivaksi antaa ääntäni puolueelle, jossa ollaan noinkin pihalla nykyisyydestä - saati sitten tulevaisuudesta.

Sunday, 25-Jul-10 18:43
Roleplaying With A Clock

Since I've been asked a couple of times - and apparently quoted as an example - I figured that it might make sense to put some words on paper on this one. Note that this technique is not my invention, but it is an adaptation to horror gaming from a little-known game called "Puppetland" by John Tynes (rules freely available from the internets).

One of the key ingredients in horror genre is stress. Usually this comes from powerful visual imagery or - in the case of gaming - the players own imagination as they visualize the horrors that their characters encounter. Or it can be more subtle and come from collapsing relationships or watching someone you love destroy themselves. However, it's a bit difficult to get yourself into the horror genre when one player is hunting for Cheetos and another one is reading a rulebook. Focus is very important.

Deadlines tend to focus people very efficiently. They also generate loads of stress, as anyone who has to live by a calendar knows. So I figured that it's worth a shot: introducing artificial deadlines into gaming should introduce stress and focus into the game, even though it is not a horror element as such. As players are very good at suspending disbelief when it comes to imagining that dice can represent monsters, surely it would be easy to believe that one kind of stress is actually some other kind of stress?

Turns out this theory works wonderfully. So I'm running a Call of Cthulhu game, in which each game is limited by a chess clock to a period of maybe 35 minutes at its shortest to 1h 30min at its longest. I set the clock to a shorter time if the scenario is straight-forward and needs lots of action; if I want to get a darker, threatening but slower game, I give the clock a bit more time. There is an in-game device which does tell the characters the time as well, and it's fairly easy to explain as an "alien device which tells how much time there is left before the portal closes, but sometimes it runs faster and sometimes it runs slower and you don't really know when and how." If they players say "we fly to Paris", then the clock runs really slow; if they enter combat, the minutes drain very fast. But I am unsure whether you would really require that kind of an in-game device at all. Do try and tell me.

Of course, since the clock does not stop for anything it means that the GM needs to be very knowledgeable of the game as well. There just isn't time to go leafing through the sourcebooks: everything has to come out in a snap. I joke that in this game, writing a scenario takes longer than playing it. But the increased intensity of the situation is well worth it; it's very rewarding for the game master to get swept away by the emotion flowing from the players.

And buy, is there emotion. I am not sure as I was rather immersed in the game myself too, but I think I saw a player jump to his feet in excitement last time we played. And you can hear the creeping terror in their voices, as they try to figure out exactly how to keep a gigantic fluid creature in a barred cage (answer: there is no way) with 15 minutes left on the clock and the friendly receptionist they tied to a table so that she would be safe is going to be EATEN ALIVE by a thing that crawls on the floor and ululates in a terrible, forgotten language and they possibly don't have time to do everything they NEED to do and they simply have to choose who to save...

For a middle-aged guy with a family, gaming with a clock does bring in other benefits as well: games have a well-defined length, which means that they're easier to plan for. They're also easy to play as fillers or when all people can't make it - since the sceneario ends by clock, there's never a case where the scenario gets "adjourned in a suitable place so that we can continue later on". It does not preclude long campaigns, but it does require certain advance planning, since the players will not spend time digging up all the clues.

Obviously, this wouldn't work for everyone and for every campaign, but I was surprised to see how well it worked for us. Instead of a book, think of a TV series: 42 minutes, and that has to be the whole story. Think Pecha Kucha: you have time to tell maybe one or two things, and then it's over.

And hey, if it's boring, at least it's over fast. ;-)

Thursday, 22-Jul-10 19:54

There's positive feedback and there's negative feedback. The old rule is that you should also try to be constructive in your feedback, so that's clearly a third kind. However, there's still a lot more than just those tree, so here's a list of some of the different kinds I've met over the years.

  • Whining. This is the lowest form of feedback, because it mostly just concentrates on why the complainers life is useless without such-and-such feature, and often also includes predictions of doom.
  • HelloKitty. OMG LOL LOV UR SITE KTHXBYE. Probably positive, but one can never be too sure. Also known as "fly-by thanks."
  • Complaints. People who have a genuine problem and have gone through the effort of actually filing a complaint. While they can be annoying, the concerns they do raise are genuine and can really make a positive impact on your product. After all, they care about your stuff. Can become good allies, even ambassadors.
  • Reviews. These are an old-fashioned and not always very relevant form of feedback. Since they come conceptually from old media, they usually are not changed after publishing, and therefore work only for products which are changed rarely. For a modern web site which are updated sometimes several times a day, they are obsoleted quickly.
  • Bonepicking. No matter what you do, some people have a bone to pick with you or your company, and will take everything that you do in negative light. Slips easily into whining, but can be a genuine complaint too.
  • Awards. Awesome stuff, if given genuinely.
  • Ambassadors. Folks that are so into your product that they go out and spread the word. Treat these people well, for their feedback carries extra weight.
  • Faux criticism. This is usually just cloaked whining. It appears on the surface to be useful, but often turns out to be a complete failure to understand what the product is supposed to be doing and applying it to a focus group of one. ("My cell phone does not whip cream very well. I think there's a big portion of people in the world who would like to whip cream with their phones. If you cannot bring such a product to market, you will lose all those people.")
  • Fair criticism. This is the kind of stuff that one should really grip when it comes in. It doesn't mean that you should do what it says, but at least you should understand where it comes from, and preferably respond kindly.
  • Mehs. "Yeah, it's kinda okay." This is a good warning sign that your product isn't rocking the boat, but as for its informational value it's pretty much zero.
  • Anons. Anonymous/pseudonymous commentary on web sites. This is almost like noise, and going through it is usually as useful as peeling your skin with sandpaper. Yeah, it does exfoliate, but it's painful and you could spend the time more wisely.
  • Peekaboo. Comes in, gives you an incomplete bug report, and then completely disappears or is unable to give any more information. Often does not have very good language skills.
  • Thanks. Just simple, heartfelt thanks. While they may not make your product better, they do make you feel better, and that's really why you do what you do, don't you?

Private comments? Drop me an email. Or complain in a nearby pub - that'll help.

More info...  
"Main" last changed on 10-Aug-2015 21:44:03 EEST by JanneJalkanen.

My latest photos