My Work Values

I suddenly realized that there are certain values at work which are critical to me:

Being technology-driven.

I want to work for a company whose product is competitive because it is technologically superior; not for a one which wins primarily by marketing, in the courts, or with patents.

Transparency in decisions.

I’m more productive when I understand why we are doing things this way, not the other. “Transparency” does not necessarily mean “democracy”; the reason “because I’m the CTO, I’m responsible for this, and I decide it this way” is perfect.

Keep work and non-work life apart.

For me, being able to fully switch between these two worlds helps succeeding in both of them. Intervening the two hinders both.

Pay back to the open source movement.

Any technology company uses a lot of open source software. Some prominent examples have turned from spreading FUD about open source to embracing the movement. “When you extend a component – contribute back”, going against this principle is IMO not compatible with being innovative.

Finnish – English group cycling phrasebook

This is a small collection of Finnish words used to communicate in group bicycle rides.

The writing system of Finnish language is fully phonetic; do not try to read the words “the English way”. Stress is always on the first syllable of the word. “J” is always read as the first sound in “Yes” (never as English “J” like in “John”). “Y” is always read as French “y” or German “ü“.


oikea, oikealle right, to the right
vasen, vasemmalle left, to the left
suoraan straight
takaisin back
seis stop
jyrkkä sharp (as e.g. “jyrkkä oikea”)
loiva gentle
käännös turn, often used for U-turn

Obstacles on the road

hiekka sand
lasia glass
kuoppa, kuoppia pothole(s)
puomi bar
tolppia pillars (blocking the car access)
töyssy speed bump
railo rift (typically in the riding direction)
auto takaa, takana car behind
vapaa free (from obstacles; e.g. when crossing a busy road)

Riding information, requests/orders, problems

perä jäi the tail has dropped
rauhassa quiet (e.g. to request riding slower, especially uphill)
kaikki mukana everyone is here
tekninen technical (problem)

Second life of chainrings and sprockets

When a chainring or a sprocket is worn out, it is often possible to give it a second life. Sometimes even a third one.

Skipping of a new chain is caused by very small deformations of the sprockets. Normally they are not even clearly seen to the eye, but easily felt when you drag a sharp object along the work surface of the tooth. There is a bump; that bump is what catches the chain higher on the teeth and leads to skipping. With a dremel tool, filing that bump away takes one second (or maybe 2 seconds on a steel sprocket).

[filing a chainring]

It does not even have to be removed from the bike!

A chainring is always easy to file. For cassettes, there is one case when filing is not possible: the cassette is not disassemblable (fully CNC’d, or with sprockets on the spider) and the tooth difference from the weared out sprocket to the smaller one is less than 3 teeth.

Neither chainrings nor the cassette has to be even removed from the bike for this procedure. Time spent for one pass is 1-3 minutes – about the same, or even less, than replacing the old component.

I do not feel good discarding a 10-speed cassette at the moment when its one most used sprocket skips, and 6 are almost intact. Even while cycling loads the environment much less than most other transportation means, I’m looking for ways to not impact when unnecessary. Buying two times less cassettes+chainrings makes me think that I have left a bit more of the Earth to future generations.

Schwalbe Ice Spiker Pro spike failure

Need 29″ studded bike tires? Not that many options out there. I’m aware of:

  • Kenda Klondike (2.1″, 400 non-sharpened spikes, 1464g)
  • Nokian Extreme (2.1″, 294 sharpened spikes, 990g)
  • Schwalbe Ice Spiker Pro (2.25″, 402 sharpened spikes, 1170g wired / 890g folding)

2 years ago I wanted my winter tires to be wider and was ready to pay for the higher-end lighter option, so I bought the folding Schwalbes.

They hold fantastically on ice and pull fantastically in snow or slush. One serious disappointment was that the scale showed 1040g, or 15% over the specified weight.

Schwalbe studs losing pins

Now the second one. In just two winters, nearly all spikes from the central row of the rear tire have lost their hardened tips. The soft (probably aluminium) base squeezed down and became nearly flat, hidden inside the rubber knob. Some of the (former) spikes are pictured. It is relatively easy to replace the spikes, but I have a feeling that the rubber base is now weakened and the replacement drops out quickly.

The central row is probably not critical; two adjacent rows are in contact with the ground, and have lost just a few spikes. One must note that Kenda and Nokian just do not have that central studded row.

Collapsed rim

I managed to crash on a bike during a group ride (no one at fault besides myself). I could not reconstruct, what exactly happened: looks like my front wheel got suddenly turned aside and collapsed. The guy riding behind me told that my foot somehow mangled with the wheel, but I cannot understand how that could take place. Fortunately, the speed at that moment was very low, so the only damage I suffered is torn clothes and the pictured front wheel.


Just recently I had to replace the rear wheel from this set because the rim did not withstand the spoke tension. That time, it was obviously the product’s inability to hold the applied load, which is a tradeoff for the ultralight weight. Now, with the front wheel, I do not have an indication that the ultralightness is at fault, as I do not exactly know what had happened.

Ultralight rim failure

I had to replace a rear wheel before leaving for a longer group ride:
Drive-side spokes were tightened to 100Kg, which was just barely enough for non-drive side not to go slack.
That was the most prominant crack, but not the only one – in fact, all drive-side sockets have developed smaller or bigger slits:
This was an ultralight-class wheel with 24 spokes and under 400g rim. Weight-limited to 80kg, which I fit in, but without any reserve, has served me for some 10K kilometers. So I have decided not to send any claims to a vendor, but also not save on spoke number the next time – or use more meaningful 16/8 spokes.

754g, that is with stick-on rim tape.

754g, that is with stick-on rim tape.

Update: In just two weeks the pair front wheel collapsed in a small crash, so this ultralight wheelset does not serve me any more.

Probability of being caught in own loops

Suppose you are wondering randomly on a chessboard, starting from a corner, making one step up, down, left or right every time. You are not allowed to step on cells which you have already visited earlier. What are the chances that at some point you’ll not be able to go anywhere, i.e. you get caught in a dead end made by your own previous steps?

I got no idea how to solve this “purely”. Out of curiosity, I calculated the probabilities programmatically for 8×8 board for any path length (up to 63, naturally). Blue line shows the probability of being stuck at given path length or earlier, yellow line – 10 x probability of being stuck exactly at this path length.


Graphs do not show anything unexpected, except – what happens at points 48 and 49? I have no idea.

The calculation was straightforward by “first thought” without any optimizations. For each path length, I did 10^6 runs; with this amount, dispersion in the results between runs was by far under 1%, and run time acceptable (I do not indicate the units of the right Y-axis 🙂 )

Surprisingly I was not able to profile the run with gprof; looks like MacOS default C compiler and/or libraries just do not do it.

Still interested in a general solution, if there exists one.

OpenStreetMap, no dead ends!

I enjoy wandering around the countryside – also without planned route. Would be nice to mark roads, which are less interesting than others? For example, all dead-ends, and in general cut edges of the road graph.

Good that we have OpenStreetMap with open data and tools. I have created software to pre-render a given region (not too large one) with all cut edges marked. This is how it looks like, marking with thick blue dashed line:

Marked dead ends on OSM

Painted dead ends on OpenStreetMap

Storing and providing OpenStreetMap tiles requires a lot of disk space and bandwidth, so for now I only rendered small regions as a proof-of-concept. Welcome to peep at the maps!

Add keyboard layout on lubuntu 12.04

Lubuntu 12.04 seems to have a problem: new keyboard layout can’t be added by graphical menu. Seems to go back to dark times of knowing, which config file to edit… You can add the “layout switcher” (right click on the panel -> Add / remove panel items -> Panel applets -> Add -> Keyboard layout switcher), but I was not able to add any new layout to that “switcher”.

Thanks noobish-nix for a solution. The magic wordconfig file is


After @lxpanel line, add the line with your setxkbmap options, for example:

@setxkbmap -option grp:switch,grp:shifts_toggle us,ru,fi

Restart lxde (logout/login) to take effect.

Bash: different colors for typed command and its output

There are lots of examples showing how to set a nice colorful bash prompt. I wanted more than the output: the typed text should be hi-intensity, but the command output should be normal. I found only a hackish solution:

  • Install a DEBUG trap in your ~/.bashrc:

trap 'echo -ne "\e[0m" > $(tty)' DEBUG

  • And add yourself to the tty group:

sudo adduser <username> tty

It works, although I still have to think what can it break at some moment (long after I completely forget about that .bashrc line):

Screenshot of different colors for command text and output

Meanwhile, grc is a regexp-based colorizer for output.

SRAM ESP ~ Shimano Dyna-Sys

I have got a report that these two types of rear deraileurs have the same mechanical advantage:

  • Shimano Dyna-Sys (which are marketed only as “10-speed”)
  • SRAM E.S.P (which are marketed only as “9-speed”

Sram ESP and Shimano Dyna-Sys rear derailleurs have same mechanical advantage

Both take 35mm of cable to go over the whole cassette. Picture shows SRAM X.9 and Shimano XT, but any other derailleurs of the mentioned types would be interchangeable.

This means that either one can be replaced with another (provided that it can handle your biggest cog). I have not verified this myself. Remember that “SRAM 10-speed” deraileurs have different mechanical advantage, as do “Shimano 9-speed” ones, and there are no other pairs which are not designed for each other but work.

Maybe not a really useful finding in practice, but certainly an interesting one.

Polar Norway 2010, short cyclo-hiking or carry-cycling

In August 2010, I made a fast 4-day cycling and bike-carrying trip over northeast Norway. Varanger peninsula, one of real “ends of the world”, is almost encircled by roads, the gap is “just” some 20 km. Here is the map, with the blue track following the roads where I was riding on my bike, and the red track showing the part where the bike was riding on me:

Route map

Report with photos here. I’m wondering how is it possible that I’ve been to that region already three times and I’m ready to select it for my vacation trip once again.

Me on a plateau

Bicycle in Finnish Pendolino train

In Finland, most trains allow transportation of bicycles, but the fastest “Pendolino” trains do not.

Recently I traveled with my MTB, and Pendolino was the only feasible option (it was the first morning train, the next one arrived already too late). The only way was to partially disassemble and pack the bike so that it becomes normal luggage.

Packed bike in the room

Continue reading

Summary of 2010 ice-skiing season

Spring is coming to our corner. I skied on the Finnish Gulf today, and it might feel like it was last time this year. Steady +5 daily without negatives nightly deteriorates the sea ice.
The picture shows some of my recorded rides. I did not record the shorter ones. Even if the ice skiing season is over (which is a pity), it was a perfect one!

Pictures “worth” a thousand words :)

Sure, sometimes a picture can be worth a thousand words. Sure, not always (try for example to express this phrase with a picture). I enjoy nice visualizations… but this time I could not resist to laugh at a failed attempt to draw a picture which would be worth several words, or even just one word 🙂 Right, how would you picture “carbohydrate”?

The scan of a chocolate bar wrap shows its nutritional information. OK, I can guess that picture “kcal” in a circle stays for calories. Now, make your wild guesses, what’s the meaning of other circles. Practice your imagination and figure out what the designer tried to depict with so visual guides like . “Right answers” below the cut.

Continue reading

Web surfing privacy and being multilingual

In many cases, it’s easy to track your browsing – thanks to JavaScript which is by default executed in most browsers. For example, any site can figure out did you visit a particular another site or not. Like, find out which social networks you hang in. So far, it was mostly about showing more targeted advertisements.

Nothing bad has happened to me because of this, and one may argue that targeted ads are better than non-targeted. But I do not like the idea of being tracked – and I shut off all web ads anyway with AdBlock. Additionally, I have NoScript always on (and allow sites selectively each time when “some site does not work”).

Today I have been told that there is a way to track me even without JavaScript and tracking images from spyhouse sites. It is demonstrated here:

I have quite long “accept-language” header set in my browsers, as I can read web pages in several languages. panopticlick shows that I’m one such user out of about half million (it might be that I’m just the only one with this value of accept-language, who made a check there).

I’m not feeling paranoid because of this. But I’ll be happy to know, is there a way to pass my (complicated 🙂 ) language preferences without allowing for easy fingerprinting.

Winter fun plus a survival training

27012010305 We have a beautiful, real winter here in Finland. The weather I just desire: stable negative temperature never creeping to zero, enough snow for any winter fun – about which I may blog more some time later. One of the cool things to do this time of the year is to ski, skate, walk or cycle over the frozen water. For example, last cold (or, better say, just normal) winter of year 2003 we cycled from the Åland archipelago to the continental Finland. When not going this far, I regularly ski around the Suvisaaristo islands next to which I live (recorded route here). Moving over ice is great!

But what if the ice breaks and you fall in the zero degrees cold water?

There is a simple answer: try this before it hits. Your chances to get out alive become higher. Read on for the boring theory and a short report of how I did this recently in a mild -17°C afterwork evening. Continue reading