Got Things Done

People seem so stressed out today, yet we live in the era of automation where you can actually buy a pair of shoes on your morning commute while taking care of business. Odd, isn't it?

Think about three things you did prior to reading this, how did you end them? Chances are you didn't properly, "alright that's 90% of the job - I'll deal with the rest tomorrow." In the words of Ronan Keating, what if tomorrow never comes?

Those 10% are often harder than the 90% you think you already did. Why this is and the psychology behind it is an interesting question in itself but let's not get caught up in details.

Get things done and be done with them. Learn to love the word closure, "the act or process of closing something" or "a sense of resolution or conclusion at the end of an artistic work."

As they say, when one door closes another one opens. This is true of your employment, marital status and other big things in life but also the small ones.

When your agenda is without end you'll be prone to cut corners in a meaningless struggle aganist an enemy you'll never beat.

How will you ever have a productive day if what you have on your desk is always leftovers from yesterday? In the words of Reinhold Niehbur,

God, give us grace to accept with serenity
the things that cannot be changed, courage
to change the things which should be changed,
and the wisdom to distinguish the one from the other.

Close things. Be done with them. Say goodbye.


So you're a joker?

I read an article by some guy called SM on the subject of jokers, he's saying the world is full of jokers - people who talk a lot but do little.

I am a fuck-up at my current workplace - I handle sick leaves poorly, I show up for work five minutes late rather than five minutes early; I am a fuck-up at house chores - I rarely do the dishes, laundry is everywhere, cleaning is the last thing I think about; I sometimes fuck up with friends - I miss out on keeping in touch, I borrow money and forget about it, I hit on some poor guy's ex, the list goes on.

I am not a fuck-up in my true nature, in fact I'm probably more of an over-zealous Asperger kid inside. I don't give up before it's too late, and I find a way when I need to. I move heaven and earth, as SM puts it.

At first the logics seem counter-intuitive, but really it's an ages old problem: you have an infinite set of chores, and a limited rate of chore churning. How do you balance the workload; what do you do well, half-assed and not at all? More often than not, there is a conflict of interest between the various aspects of life. You have to call the shots.

The todo list is the only way to avoid being a joker. You will have to defer tasks. That's just reality. You will sometimes defer tasks up to a point where you realize, "ah man wish I was going to do this but I'm not." That's not being a joker, that's just you being rational.

So while I agree that it's a good thing to go into tunnel vision mode and just churn out a product in no time, it's also not a viable lifestyle. SM makes it seem as if the only way to live is 150% speed all the time and get rich.

Call me complicated, but I want more out of life than that. If what it takes to make piles of money is complete tunnel vision, then I shall have none of it. Let me sit smug-faced in my middle-class bed and enjoy life before it flashes me by.


Multitouch on Unibody MacBooks

A little known fact about the unibody touchpad is that it can distinguish between up to eleven touch points - i.e., fingers.

Another little known fact is that the sensor knows about the contact surface area (in terms of ellipsoids).

Another yet less known fact is that Johan Nordberg didn't sleep much last night, and wrote a neat OS X application which simply plots what the trackpad (or Magic Mouse!) is saying about touches.

Download blä.se/FingerMgmtUB.zip to try it out.

Update: Apparently works on older MacBooks as well! Give it a shot, it might be your lucky day.


On the subject of motivation

I'm a follower of an interesting blog, which goes by the fairly ridiculous name "PsyBlog". They discuss various aspects of everyday psychology, at precisely the level at which I find it interesting, so that's nice.

Their latest entry, "How Rewards Can Backfire and Reduce Motivation" I found very interesting. Basically, it says that human motivation comes in two types, instrinsic and extrinsic. Instrinsic motivation is the type you have when you want to do something, like when I go to lunch, that's intrinsically motivated. Meanwhile, extrinsic motivation is the more common type, the carrot in a carrot-on-a-stick type of motivation.

The latter is the one we're using in society to get people to do their job. "Go there, do that, paycheck here." There's a TED Talk on the subject of motivation, which I think ya'll should see and absorb. It's about the same stuff.

So, as you'd know if you read the blog post or watched the video, when we're motivated by extrinsic factors such as a paycheck, we only do as much as is required of us to meet the conditions at which we receive said paycheck.

If we approach a task with the expectancy of a reward, we start working towards getting the reward, rather than doing a good job and satisfying our passionate feelings about eating lunch.

I think maturing is a lot about finding intrinsic motivation in everyday tasks, because when you're a kid, your parents motivate or persuade you in one way or another to do all the chores that are required of you -- like brushing your teeth, putting on clothes, making your bed, etc. As one tends to find out sooner or later, these are things that you need to do for your own sake, but nonetheless they're still associated with your parents going "Ludvig, brush your teeth now."

However, it is of my opinion that the blog post is a bit biased towards saying that intrinsic motivation is better (and the talk is clearly biased), because intrinsic motivation fades.

People in the open-source development community know this all too well -- you make a neat project, lose the love for it, and it's doomed to lie dormant in ~/dev/ until your disk crashes and you bitch and moan about how much work you lost--which you were never going to use for anything anway.

So, in conclusion, I think I'll go with lagom är bäst on this one. Intrinsic motivation gives us passion, extrinsic gives us that little push we need to make something useful.


Programmer's Day

I've never heard of it before, but according to some blog entry, sept. 13th is "programmer's day". This because it's the 256th day of the year (and so it's on sept. 12th on leap years).

I'm thinking programmers around the world should recognize this day, mostly because it's mildly funny, and also because Russia did it.


Terminal.app and Its Necessary Additions

People who work a lot with Terminal.app in OS X know it has limitations. In Tiger, it was so severely crippled as to be unusable, but in Leopard, you can actually make it useful.

Step one is changing the font. ProFontX is my favorite, because it's compact and readable. (Though I don't use it for my coding.)

Step two is getting nicer Terminal colors. I for one like having brighter colors, partly because my monitor isn't great at contrast with dark colors on black.

To be able to change colors, you need SIMBL and a plugin for SIMBL. SIMBL basically lets you hook arbitrary code into GUI applications on OS X.

See http://ciaranwal.sh/2007/11/01/customising-colours-in-leopard-terminal for more information on getting that to work.

Step three is changing what Cmd+[0-9] does. The original behavior never even worked for me, as I'm an avid Spaces user, I'd suspect that borks something up.

What you want is map the keys to switching tab, and this too is doable with a SIMBL plugin.

See http://ciaranwal.sh/2007/12/10/tab-switching-in-terminal for that.

Lastly I also use something called Blurminal, again SMIBl. It blurs the background of the terminal, so you can use translucency without going nuts.

See http://ciaranwal.sh/2007/11/16/blurminal for that...

... Noticed something yet? All of the SIMBL plugins were from one man, Ciarán Walsh. Thanks, dude.

fan kollar du på då va

Internet Explorer reaches new heights of retardedness

Internet Explorer 7 can't set cookies for two-letter domains. No, really! In KB310676, they explain that two-letter domains can't have cookies.

Unless... Unless you set a registry key, aptly called SpecialDomains. It contains a space-separated list of TLDs for which to allow two-letter domain cookies. But wait, there's more: you do it in reverse. Yes, reverse. So for making it work with yo.se, the key should be "es.". Really!

Some people on the Internet have said that Internet Explorer is simply following the URL RFC 2396, which is wrong, because here's what it states:

hostport    = host [ ":" port ]
host        = hostname | IPv4address
hostname    = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel    = alpha | alpha *( alphanum | "-" ) alphanum

In other words, domain label is "either an alphanumeric character, or an alphanumeric character followed by any number of alphanumeric characters or dashes, ended by an alphanumeric character."

In other words, it only requires the hostname to be at least one alphanumeric character, and that it might not begin or end in a dash.

So yeah, kind of sucks to be us. Seriously, I have no idea how to work-around this bug. No idea at all.


irssi-hilightwin

So um, started using Git a lot now. Really love how it handles branching, it makes so much more sense.

I understand Git as: a branch evolves linearly, and every new branch is actually a bookmark in the tree.

Anyway, this entry is about my latest creation... The wonderful and magnificent irssi-hilightwin!

Based on a script by none other than cras himself, this is a C extension for irssi that basically achieves the same effect, but doesn't require Perl. (I hate running irssi with Perl.)

Source code as .zip (requires SCons to build)
Source code at Github
Original hilightwin.pl

RSS 2.0