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:
https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719
********************

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
Mindtrekkin'

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>
 */
@Intercepts(LifecycleStage.HandlerResolution)
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 ...cleaning?

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
Feedback

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?
Monday, 14-Jun-10 10:48
MoonTV gone from Facebook

MoonTV, a Finnish independent web TV channel, got axed from Facebook last Saturday. No explanation given.

In addition, everyone who was an admin in the FB fan group, got their accounts disabled as well.

Will write more on this topic soon; at the moment my head is full of snot, I'm feeling feverish, the kid is tired and screaming, and a neighbour has decided to drill a gigantic hole in their apartment (the relationship between the last two is left as an exercise to the reader). My life these days is all about distractions.

Wednesday, 02-Jun-10 21:07
Facebook Like-buttons removed

Decided to remove the Like-buttons from my blog. They were giving me nothing, yet giving something to Facebook. Not a particularly good deal, and they *do* cause privacy issues (=Facebook gets to see where you surf, even when you don't press the Like-button, if you're logged into Facebook at the same time).

Sunday, 16-May-10 16:41
Amiga nostalgia ftw

This Slashdot discussion made me go back to see and nostalgize my pinnacle of Amiga programming - PPT, an Image Processing Program. Taught me everything that I know about multithreaded programming - and I did it without protected memory or any resource tracking :-). Those were the days... Unlike many others, I tried to stick within the RKMs and refused to hit the hardware directly (though an occasional assembly routine here and there never hurt anyone).

One thing I'm fairly proud of still in that code are the RGB -> HAM/HAM8 conversion routines. HAM was this curious Hold-and-Modify mode in which you got to change only one of the RGB components, all the other ones were picked from the left neighbour pixel. Since that meant that in HAM you could only have 16 base colors (4 bit plans) and in HAM8 64, choosing the right palette was really hard. Many people just stuck to a preset palette, and tried to match it, but my routine built a histogram of the image and tried to choose the best possible palette. I still occasionally receive comments about how great the images look - though it's now been a couple of years since the last one - but for a program which hasn't seen active development since ~1995 that's pretty good.

Anyhoo, enough nostalgia. The code is GPL and available in this SVN repo if you want to see how badly I used to program. Lots of C code there... The HAM conversion routines are here and here.

Sunday, 09-May-10 13:35
Who really is iPad's competition?

IPads and other web tablets (which will surely arrive, now that the tech is at a level where they have become feasible and everybody loves to copy Apple anyway) will have an interesting competitive situation. On the surface, it does not appear that they have competition. Some people are pitching them against subnotebooks; some are saying that they are iPhone competition (which I think BTW is insane). Some people say that they will kill the personal computer as we know it.

Well, I've been thinking (which became my favourite phrase after @MikaelJungner said that every time he utters it in the Finnish Broadcasting Corporation's management team meetings, everybody starts screaming). Perhaps the real competition is the television.

I have a few arguments. First, the situation is analoguous to the early days of the mobile phone: everybody had a fixed landline, which was shared. It was in one place, and everybody had to take turns. Much like the current television set: it's in one place, we usually have one room which enshrines it in some way, and you only watch one channel at a time. Yes, now, if you find this a problem, quite a few households especially in the Western countries own more than one television these days, which makes them personal televisions. But they're still largely immobile and tied to one place.

The second argument is that media industry loves the iPad. Here they have an opportunity to keep going what they already have, outside of regulation, and have total control of who watches and what. No more worrying about the analog hole, because Apple doesn't care about interop. They will control, together with Apple, the entire production chain from source to screen. No need to change business models or worry about privacy.

Now, if pad computers become personal television sets, that means that the advertisers will get extremely accurate data on who saw what and who bought what. The knowledge that is accumulated in the Apple App Store and iTunes Music Store about consumer behaviour is simply the best data available anywhere on the planet, except perhaps for the data collected by Google. And people give this willingly and even pay for the privilege.

The fourth argument is the fact that internet distribution is way superior to broadcast. Get what you want, when you want.

The fifth argument is that people are getting very much used to now living in a virtual world. Smartphones and computers have given people the opportunity of changing few but intensive connections to a large number of less intensive connections - and people have chosen those en masse. Just look at how there is always someone who fiddles with their Apple/Blackberry/Nokia/Samsung wherever you are. So losing one of the bastions of togetherness in the living room doesn't sound that bad anymore. (Though this is a fairly controversial argument - I think that it might actually be good that living rooms become living rooms again as opposed to consumption rooms.)

The sixth argument is that TV set makers know this already. The new high-end TV sets have integration to Youtube and social media services - but I think it's not going to work. TV sets aren't personal to the degree that social media would work on them.

The iPad form factor is excellent (though the bloody thing is still way too heavy, but that'll be corrected in a year or two) for snuggling in bed and watching telly. It doesn't heat up the same way a laptop does; it doesn't keep noise like a laptop does; and it doesn't bring in the cognitive complexity as a laptop does.

So I'm going to hazard a guess here: pads will be the personal media centres for home, killing off television sets the same way mobile phones killed landlines. They won't kill television as such, because moving to the iPad is the path of least resistance for the media companies, but it will punish them because now there will be a new distributor in the chain who will grab a bite out of every sale.

Saturday, 08-May-10 12:18
Inner Circle

After many years of claims that it exists, the übersecret Finnish Bloggers Inner Circle was finally formed now that nobody really cares. I'm trying to let the world know before the "Swords of Jesus" come and take me away. Run, before it's too la

Friday, 23-Apr-10 12:19
Atheist propaganda

This NASA image of the Sun was just too gorgeous to ignore, so I put in a small reminder about one of the fundamental facts that we often forget.

It's alien, it's frightening, it's beautiful, it's dangerous and we're completely and utterly dependent on it. If it burps in the wrong way, we're all dead.

(For larger images, click on the link.)

Thursday, 22-Apr-10 16:44
Vihreämpi Suomi

Suomen hallitus siis päätti esittää, että tuulivoimalle tulee syöttötariffit ja että muitakin uusiutuvia energianlähteitä aletaan suosia melko aktiivisesti. Tämä on ihan loistavaa!

Sääli vain, että keskustelu on jäänyt jumiin ydinvoiman ympärille. Ymmärrän toki ydinvoiman riskit ja haitat (luultavasti jopa melko hyvin - olen kuitenkin koulutukseltani fyysikko), mutta yksi seikka jää näissä keskusteluissa usein huomiotta: pahimmatkin ydinvoimaan liittyvät katastrofiskenaariot ovat lokaaleja. Kyllä, ne voivat olla järkyttävän pahoja, mutta koko ihmiskunnan kannalta isonkin alueen saastuminen on loppujen lopuksi vain haitta. Sen sijaan jatkuva hiilidioksidin dumppaaminen ilmakehään ja hiilen ja öljyn aiheuttama saastuminen on globaali ongelma, josta kärsivät kaikki ja jota ei voi paeta. Ja sikälimikäli IPCC:n ennusteet ovat oikeassa (ja tämä peli kannattaa pelata varman päälle, ja olettaa, että ovat), niin ilmaston lämpenemisen aiheuttamat katastrofit ovat kertaluokkaa pahemmat.

Joten vaikka äänestänkin Vihreitä, niin en ole kovin myrtynyt ydinvoimaluvista. Ydinvoima on kuitenkin riittävän saasteeton (poislukien ydinjäte, joka jälleen on vain lokaali ongelma) ja antaa meille tarpeeksi energiaa, jotta voidaan siirtyä pidemmällä tähtäimellä tyystin pois saastuttavista energiamuodoista. Ja kuvittelen, että uusiutuvien energiamuotojen tuki oli Vihreiltä työvoitto ja riittävä hinta periaatteista lipsumiselle.

Monday, 19-Apr-10 23:00
No boom today, boom tomorrow

There's a lot of talk about how we could save the Earth if a stray asteroid was going our way. Wikipedia - who else - has a long page on different asteroid mitigation strategies.

But, as a software engineer, I cringe at techniques which haven't actually been tried out. It is scary to think that we wouldn't try any of those things before we really NEED it to work, or else all humanity dies.

So here's a question: why don't we test out one or two of those deflection techniques and bombard Venus? Take an engine and put something on collision course with an actual planet. We could also blow up one or two stray asteroids to see if theories about rock and nukes really hold up... Venus is quite similar to Earth in size, so we might get useful info on what to actually expect from a really large explosion. Or a bunch of small ones if we blow up an asteroid just close by.

Just saying... ;-)

Monday, 19-Apr-10 09:40
Scary computers 101

My serious laptop.
When my Macbook Air[1] decided to implode (well, just the hard drive really) I reverted back to my old trusty Thinkpad X40. It's actually a pretty nice small laptop, though now it's rather underpowered. I've got it decorated with Hello Kitty -stickers, which always gets a chuckle and a curious look in meetings[2], and extra attention at airport security control. However, it does have one pretty major design oddity.

Whenever it runs out of battery, it wails like a banshee. "EEEE-OOOO". "EEEE-OOOO". A horrible, piercing noise which cuts through silence like a high-powered laser through dissidents. Last night, it woke us both up, and we just laid there, panting, all ready to fight or flee, until I remembered that little feature and was able to calm my panicking wife.

Once, it went off in the overhead compartment during plane takeoff. I tried to look as nonchalant as possible as everyone else in the plane was gripping their armrests and peeing their pants. It's NOT the sound you want to hear at the possibly most dangerous phase of flying.

Luckily, the screeching doesn't last too long. It just rings a couple of times, before the machine runs out of battery and shuts down. And that's what's really curious - what on Earth did go through the designer's mind? I mean, I could understand it if it screamed five minutes before battery runs out, so that you could actually have time to find a charger and plug it in? But no, this really just informs about the "well, I'm out of battery and you can't do anything about it anymore" -condition. Why would I ever want to be signaled about something I can't really do nothing about, and what I will notice the next time I try to start the laptop anyway?

And why, in <deity>'s name, did it have to be designed to be so loud?

[#1] Which is, IMHO, pretty much a toy. You might be happy with it if you just need a typewriter replacement which can do email, but it is the lousiest and most underpowered tool ever. Not recommended for serious geeky work. Especially since it appears that it overheats easily and kills the hard drive if you do some heavy-duty work on it.

[#2] Yeah, always had trouble with serious meetings. Hm... As long as I had that one, I was never promoted. Since I got myself a Mac for work, I got promoted twice. Coincidence?

Monday, 12-Apr-10 09:02
Packing the bags

So… After eight very interesting years, I'm leaving the Mothership and taking a plunge into the great unknown. But the fact is - I have been with Nokia for eight years, and while the relationship has been mutually quite beneficial, fun and rewarding, I feel like I have seen now enough of this particular valley for a while, and I'm yearning to see what is on the other side of the mountains.

I am very grateful to all the people I have met during this journey, and who have taught me, both in good and bad. And it's been a long journey. Remember, I joined Nokia in 2002 when 7650, the first S60 phone, was still under wraps and was the thing which pretty much started all this smartphone brouhaha. Now, smartphones are everywhere, and there's a good, fresh and exciting competition on that promises to be every bit as interesting as the introduction of the internet to the whole world. Good luck to everyone, since no matter what happens, it's the people who win.

What's next then? Well, I'm taking up something more ambitious and challenging: I've accepted the offer to join Thinglink as their CTO. Yes, it's a startup. Yes, it's going to mean plenty of work. And yes, if stuff breaks down, it will be all my fault.

But Thinglink will also be a fertile ground to grow some seeds of fresh thought and opportunity. We'll be doing some really exciting stuff, and hopefully knock over a few established thoughts while doing so. As the "Godfather of NFC" (as I am sometimes jokingly referred as) at Nokia I've had my hand in making a part of the Internet of Things to go live, and I ain't done yet.

(Oh, and BTW, we'll be hiring. Watch this space.)

Saturday, 27-Mar-10 12:34
Recycling parties

I've heard lately people complaining how much stuff they have. It might be a common problem in my age group - you just accumulate things over time, but you never really need to throw them away because you keep moving to a bigger apartment, where the stuff can always be hidden. Looking at the amount of things we have (fairly regular amount of stuff for any six-person family - except, of course, there are only three of us) it really makes me wonder whether I need all of that.

Now, clothes are fairly easy to keep from multiplicating - at least for me - but I've got a ton of stuff which just simply isn't really necessary, yet too useful to throw away. But it seems that there never is time nor the will to start triaging things.

So here's an idea - and I'd like to hear if anyone has experiences with something like this before: a recycling party. You gather a lot of friends (preferably with some inkling of good taste) and let them do the sorting. All things go to four big boxes: "Keep & display", "Keep & hide", "Recycle" and "Throw away". Keep&Display are things which look nice and are worth keeping, Keep&Hide are things which have particular value but aren't used often (or are hideous but precious), the Recycle bin is for those things which are good but not necessary, and the last one is obviously for things which just deserve death.

The party host offers food & drinks, while everyone has fun rummaging through the host's closets and arguing about the things. Finally, the Recycle-bin is taken to a recycling center whereas the garbage is ceremoniously thrown away; and kept items are placed in their proper places.

Might work well as a part of move. Don't know. Let me know if anyone has tried something like this.

Friday, 26-Mar-10 21:34
Testing != reality

I've seen software fail. And inevitably, someone asks the question "why don't they test these things?"

But of course they are tested. Many companies spend incredible amounts of time and effort to test their wares before they ship.

The interesting truth is that testing is not real life. The old war truth says "no plan survives contact with the enemy", and role-players might say "no scenario survives contact with the players". Real life is just so full of variety, inventive people, even physical limits like dirt and grit that no amount of testing can truly represent real life.

Martial artists know that practice will help. But a real situation is always different. Practice too little and you're overconfident. Practice the wrong things and you're too rigid to adapt. Same with software testing.

When software ships, it goes to a battlefield. Many times it survives. But many times it does not.

Thursday, 25-Mar-10 00:29
The Avatar

Well, I finally was able to see the much-talked-about movie, Avatar. Those who follow my Twitter stream know that I've had some challenges with it.

Anyhow - and I fully realize I'm very badly late talking about it - I have to admit I was impressed. They're not paying Richard Taylor enough money, no matter how much they're paying. Such level of detail in the design is just insane and gorgeous at the same time (like good design often is).

I'm not going to talk about the plot - it's fairly straightforward and if you've seen fantasy flicks before, you can pretty much guess what happens. But the feeling of being there is tangible. It crosses the thin line between unbelievable and possible, and doesn't require a lot of suspension of disbelief to work. And that's so incredibly important, both in fiction and real life.

(The only thing that bothers me is the thought that the Na'vi all look like blue Gollums. And once that thought enters your head, it's difficult to dislodge.)

(And I loved the alien vs forklift -reference.)

Sunday, 07-Mar-10 15:01
Internet of what?

Here's something else I've been ranting about for a while now: A lot of about Internet of Things is fundamentally flawed, because it assumes that things have something interesting to say to each other. But I still can't figure out what my toaster would like to tell my oven that would be so important that I would pay for it. The internet works because there are people in it; I'm not sure it becomes at all better if there are things in it too.

Perhaps it's because we geeks like to anthropomorphise our precious things - yes, sometimes it feels like the computer has its own will. So we think that wouldn't it be wonderful if all the stuff we owned could talk to each other. It's as if we had a family. :-P

Of course communication is the alpha and omega of all intelligence, so perhaps it's just us trying to build our replacements. But knowing the difficulties we have finding meaningful things to tell one another, do we really believe that quantity wins over quality by enabling everything to be connected to everything else?

Wouldn't it make sense to figure out first what our things might want to say?

Saturday, 06-Mar-10 14:18
APIs and Architecture

Many geeks love boxes. And once you got that magic title, "Architect", in your job description you start loving them even more, 'cos that's what you get to do all day. It's really nice to design scalable architectures and think about how data flows between modules and how to tweak the system and argue and finally commandeer a large army of coders who build your dream. It's fun!

But there's a small problem. Quite often you also need to design an API - an interface through which other people can use the wonderful framework you designed. And here lies a danger: if you design your API after the architecture design is done, your API will reflect the internal design of the system. And that, in turn, means that if you change your architecture, you will have to change your API as well. Which breaks the promise you've given to the people who are accessing your system through the API. Unlike humans, who can figure out if a button has changed place on an HTML page, computers get really iffy when it comes to argument ordering and types. In a word, the API becomes brittle.

So the right thing to do is to design the API first, and then match the architecture accordingly. This way the API is not dependent on changes you do under the hood. This is much harder to do, and much less fun, but it will create you a better system in the end - because no matter how beautiful a thing you've designed, if it's a pain to use, it won't get used.

Love the boxes. But not too much.

Saturday, 06-Feb-10 19:48
Mathematical PC

Our kid got a Fisher-Price school bus as a birthday present. Of course, it is very healthy and politically correct: it has a black person and a hispanic person and a girl and a boy and a plump one and one with eye glasses and a disabled one and a responsible adult as a driver and whatnot.

The fun thing is the amount of optimization which has been put in the system to minimize the number of figurines they ship with the bus. There are only three figurines (and a wheelchair, so anyone of them can be disabled): Carlos, Maggie and Michael.

Somewhere in the world, there's a person who's thought all this through. And an engineer who designed the production line.

Amazes me always to think about it.

Monday, 18-Jan-10 01:15
JSPWiki on a cell phone

Click for bigger image.
I got encouraged by someone's tweet and decided to try this on my N900. And turns out it wasn't that difficult even, just did the following things:

  • Download Sun's preview of Java 6 on ARM and transfer to N900
  • On N900 mkdir /opt/java, untar the downloaded JRE there
  • Copied existing Tomcat installation with JSPWiki 2.8 to /opt/tomcat/ (could've also done an installation from scratch, should've worked)
  • Used QEmacs to tweak a couple of config files (server.xml needed the default Tomcat control port changed away from 8009, and jspwiki.properties needed to point at the right directory)
  • set up JAVA_HOME to point at the /opt/java/ejrexxx dir.
  • run /opt/tomcat/apache-tomcat-5.5.16/bin/startup.sh
  • point browser at http://localhost:8080/JSPWiki/

And voila - we have a full Java JSP webapp (the same one that is currently serving you these pages) running on a cell phone. Since my setup stores all wikipages as flat text files, I can use it as a local text editor with hypertext editing capabilities. Or comes else comes to mind.

Nice...

(Tried shooting video too, but it was too blurry on my backup camera.)

Monday, 18-Jan-10 00:20
Twenty years

It's been twenty years now that the first set of massive changes in my life started: that is, graduation from high school, moving from home to a whole new place to study in the university. So the past few months have been punctuated by a number of parties - the 20 year anniversary class reunion from high school; and the reunion from the class which started at the same time at the university.

It is interesting to see familiar faces and see how vastly different the life has become for them. But it's also interesting to see how more narrow the funnel becomes: the folks in my high school class ended up living all over the country and have all sorts of varying jobs from a farmer to nurse to doctor to engineer.

Then again, almost all the people from my university class work in middle management or R&D, live near Helsinki, and have two kids. The life story from almost everyone was eerily similar: studies, a bit of work abroad, back to Finland, get a couple of kids, get a stable job, and just do it. No artists, no farmers. Only a few had left Finland for good.

So we weren't really that different from each other. The passions that drove us to the same place in the beginning stayed with us and made us remarkably similar. It's as if we became who we were in the first 20 years, and after that we were unable or unwilling to change. Perhaps it just means that we figured out who we truly were and what we wanted to do.

But a part of me still feels as lost as on those early days as we walked through the corridors of the university, bright-eyed and full of ourselves. I didn't really know then what I wanted to be when I grew up. I still don't know what I want to be when I grow up.

I just have a lot less time to worry about it these days.


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

www.flickr.com