Independence Day

Today I celebrate my independence day. Here’s an approximation of how it looks inside my head:


It’s been two years since I left my first repressive employer, Opera Software, which means that I am finally free of all non-competitive agreements as of today. Of course, disclosing that fact might in itself be against said (or non-said) agreement. So I’m not saying it’s the case, just that it might be. Anyway, it’s cause for celebration.

I was young and free, still enrolled at university, and eager to put my l33t coding skillz to use so what was I to do? No, looking back I realize – thank Providence – it was a good decision. It kick-started my career and set me off on an an interesting path.

But let me tell you kids: non-competitive agreements and the like are bad. Stay away from them and stay away from companies that will only offer you employment after signing one. I was lucky, but I don’t think most people are. Of course, whether or not they’re enforceable is another matter, especially when the nationality of the parties and the country where work is carried out are all different. But it smells of bad employment practices.

I was actually contacted a little more than a year ago about an interesting employment opportunity that I would definitely have been interested in if it weren’t for said (or non-said) agreement, so it’s not just all hypothetical. And regardless of the probability of such an unmentionable agreement being upholdable in court, I am a man of my word when signed in triplicate under witness and after review by lawyers. And specific knowledge of the Opera source code wouldn’t have been an advantage either – so it’s all just self-flattering from the oppressive party’s part.

Not coincidentally, today is also two years since I joined my second repressive employer, Picsel Technologies (also known as Picsel Research, Picsel Malta, Lescip, Picsel Holdings, Lescip H, Picsel Trustees, Lescip Seetrust, not to mention the Geurnsey-based Picsel Group Holdings, and a number of other names). Picsel was fun in many ways. If I get the salary they still owe me it’ll seem even funnier. But at least they didn’t require me to sign anything oppressive.


If you’re interested in understanding what happened to Picsel, a seemingly flourishing mobile software technology company, there’s a site for that. Highly recommended reading.

Anyway I’m better off now, thanks largely to these two repressive employers. Happy independence day!


Maybe size doesn’t matter, but dimension does

When I was studying at the university, every year before the start of the academic year a soapbox car race took place in the slope leading up to the main campus. This was arranged by the computer science students, so one of the rules was the, in my opinion quite funny, nerd joke that went something like “there are limits on the dimensions of the car – they are not allowed to exceed three”.

Now, the other day I came upon the Wikipedia entry on Knock Nevis, the largest ship ever built – with “large” defined as “long”. That page has a thought-provoking graphic comparing the length of this ship with some of the tallest building in the world. Here’s my spiffed up version of it:


So if you were to stand on top of the bow of the Knock Nevis standing on its stern, you’d essentially be at the same height as the observation deck of the Shanghai World Financial Center, inside the thing that looks like the head of a bottle opener to me.


But of course, ships aren’t built to be standing on their sterns. That’s what got me thinking… If someone had asked me which was longer; the length of the longest ship ever built or the height of the highest building ever built?, then if I had to answer impromptu, I would probably have said the ship. Why? Because building horizontally seems so much easier to me than building vertically. When building vertically, you have to fight gravity all the time, haul things up and down, and the whole thing has to be able to stand on its own.

When you give it a moment of thought though, it’s obvious a ship has to be able to maneuver, and not break during harsh seas, so ships of the length that the Knock Nevis is probably just not economically feasible. Also, there’s of course a great difference between building something that can not only move but is also self-propelled, and something that just stands still.

Nevertheless, my conclusion from this drivel is that not only is it a bad idea to compare apples and oranges, such as meters and kilograms, with each other, but it’s also a bad idea to compare meters in one dimension with meters in another dimension. Stashing apples in a row is a lot easier than stashing them on top of each other.


Socks: An Engineering Approach

Socks have an intrinsic tendency to pair themselves with dissimilar socks. I believe overcoming this defect is is one of the great engineering challenges for this century. While walking around in mismatched socks might be perfectly tolerable for some, I believe that even engineers have to uphold some level of civilized behavior, and I have never been fond of pairing socks manually.

Furthermore, my sock stock is growing obsolete. I am sure there are items at least 5 years old in there. I soon realized solving this problem required a radical, new approach. Some might say – a paradigm shift.

So I threw away all my old socks and bought new ones: 15 pairs of the same model of sock. The implication is huge: my socks will now invariably pair themselves up neatly, by the simple process of randomly choosing two socks from a pile. (And it’s a nice model of sock – black and nifty enough to be worn with a suit.)

But I also need to establish a maintenance process. This model will go out of sale. Strange as it may seem, sock vendors do not provide End Of Service agreements even for small-enterprise customers such as myself, so you never know when this will be. It’s safest to assume that once the items have been acquired, replacements are no longer available on the market.

So what I’m thinking is that when I’m – due to wear-and-tear, lossage, etc – down to, say, 12 pairs, I’ll buy 15 new pairs of some other model. This of course will mean that the automatic pairing property breaks, but it will still be extremely simple to manually match the socks into two piles, for both of which the property holds.

Once one stock falls to, say, 9 pairs, then that model will be brought out of circulation – they will probably be approaching their natural end-of-life date by then anyway and already written off. So then I’ll purchase a new set of 15 pairs. Again, a new model can be chosen to offset changes in taste over the life cycle period.

This means that there will never be more than two models in circulation simultaneously, thus the amount of manual sorting required will be kept at a minimum. And, once in the loop, there will always be at least 24 and at most 27 pairs in circulation, using the numbers I’ve conjectured above. These numbers will be tweaked based on gathered real-world usage data.

Of course, the exact number of socks in circulation at a given time will have to be estimated from observed data, which will be imperfect because of socks’ other intrinsic property of showing up at indeterministic locations. If, due to inconsistency, an older generation model of sock – one already taken out of service – is suddenly found, it will have to be immediately disposed of.

This should solve all my sock problems.