Cycling in Himachal Pradesh, India

It has been a month since I have returned from solo cycling trip in Indian Himalayas.

Impressions clearly overloaded my brain. This was first time I’ve been to Real Mountains – the highest pass, Kunzum, was at 4500m. And this was my first time I’ve been to a non-Western country (not counting my home Russia, which I’d put “on the border”).

The route was easy: start at Shimla, and follow the National Highway 22 (with some variations in the beginning) until Manali. Oh the highway… Never have seen anything like this before.

Numbers, mostly of interest to cyclists only:

  • 9 ride days
  • 750km covered
  • Total altitude gain is still not counted, although three biggest gains were 1600, 1300 and 1000 meters

What else:

  • Was caught in a snowfall in Lossar, 4000m:
  • In the plains (Chandigarh), the temperature was in +30 range
  • On the National Highway 22, passed landslides three times. Two of them, the bike could just ride through, like this one:

    once had to wait until it’s cleaned (I waited just half an hour, but others were there from the morning to the evening):

  • Stayed in the tent two times, in hotels and various “rooms” 11 times.

In fact the impressions of India as a country overweigh the “mountain-cycling” impressions. It deserves much more than one blog post – even much more than one book. All my perception of the surrounding world is now a little bit different than it was before. Probably such thing is called “cultural shock”. I’m so happy that this happened; now I see how terribly narrow view I previously had.

Of the real India, I have seen only Chandigarh, which is described in all guides as most comfortable city in the country. Still it is, of course, Indian city (just like my home Saint Petersburg is the most European of the Russian cities, but still fully Russian).

I’m feeling own deficiency of not being a good writer to describe my thoughts about these two weeks. So far I have produced a technical report, with details for cyclists such as what tires to put on your bike and how much food to carry.

All pictures (unprocessed) piled here.

2000 km from the season start

Today evening I was catching last weekend of the school vacation. Starting from tomorrow, my time limits for the outdoor activities again become much more strict. And there was a great chance to use it: in a company of Antero and Matti (thanks for calling me in!), we made 100km at average speed a bit over 30 km/h.

View Larger Map

Now I have 2000km on my roadbike’s computer during this season. Quite an achievement for me, taking into account that I was not cycling during 3 weeks when we went out for family trips, and that I do most of my everyday commuting on the other bicycle. Now intensive collection of kilometers slows down; I have a positive feeling that the time available to collect them was used at full extent.

Posting from a mobile phone

It may be fun to post to the blog from a mobile phone. Doing so via the default web interface is certainly not the most convenient way (lot of extra traffic). WordPress has blog by email solution, which is OK from traffic viewpoint, but I was scared by instructions – involving setup of a “secret email account” and a cron job. Also, it does not support insertion of images.

Scribe is a free Python WordPress publishing client for Symbian S60 phones. Worked fine so far on Nokia E90 – this post is written in Scribe. Insertion of images is still not supported though; seems that the only client capable of it is a commercial Wavelog.

Helsinki-Tampere, next try

I cycled Helsinki-Tampere route to hang out with my former colleagues already many times. This became almost a tradition; I ride about 200km, and at some place meet my friends who rode maybe 20km from their homes. Each time I naturally try to choose a new route to explore small roads in between. This is how it went today:

Bigger map

The first span, EspooKarkkila, was nothing too interesting; I rode main roads to cover the distance faster. Early Sunday morning even roads like Valtatie 2 are almost empty. Then the nice part came. 2832 was a really great road: excellent pavement, very low traffic, spectacle outlooks. On road 283, in a small village Teuro, an exhibition of old machinery could be viewed at “Teuro old technique day”:

Strange old steam machines at Teuro day

Old machines at Teuro day

Old bicycles - probably beginning of 20th century

Old bicycles at Teuro exhibition

40 km along road 2846 were another pleasant experience. The headwind, which I was fighting against all the route, became stronger; but I had enough time before our meeting and did not care about riding at too low speed. In the end, the average was (disgraceful for me) 24.6 km/h; well I have an excuse of that headwind.

It made altogether 230 km door-to-door – I did not cycle back but took a train. Great ride!

“Traditional” bike rides to the west of Espoo

I have a number of favorite ride routes. Most of them are to the west from Helsinki area, as I live almost on the western border of Espoo. Recently I’ve refreshed two especially beautiful, probably “classic” treks: Hanko and Lohjanjärvi.

First was Hanko. Espoo-Hanko distance is 110 km by an arrow-straight, relatively flat, moderately loaded road. Last 35 kilometers are especially flat and especially nice; the path is cut through very clear and dry pine forest. The area was a battlefield two times in the history. About 20 km to Hanko you can turn for a cup of coffee into a military museum. Continue reading

Know Finnish bicycle-related traffic rules

I’m writing this from Helsinki cyclist’s viewpoint.

Do you know the Finnish traffic regulations applicable to bicycles? When you are obliged to yield to a car by the rules, and when to do this only if you see that you’d be ridden over otherwise?

The best thing is to read the source, but to get the feeling, you may answer 9 test questions for car drivers. Only a beginning knowledge of Finnish is required.

Answer 9 questions Continue reading

First spring road ride of Helsingin Polkupyöräilijät

This time I was “leading” the club ride. I did not expect too many people to join, as the weather forecast was not the best one, ride was announced less than 1 week in advance, and there was another club ride the same day. 4 persons rode in the announced 22-25 km/h tempo to Veikkola and then back via another road. Nothing too much, but not bad for the first time in the spring – in case you did not have chance to “open the road season” earlier!

6apr-1.jpg 6apr-2.jpg 6apr-3.jpg

Disassembling Truvativ GXP crankset

Road cycling season has started in Helsinki! I did my first roadbike ride after snow-ice-mountain biking winter, and discovered clicking sounds in the bottom bracket area.

The crankset is Truvativ Elita Cross with GXP axle. Manuals at ParkTool say that only 8mm Allen key is required to remove the left side crankarm. The fixing bolt unscrews counter-clockwise:


After the bolt is removed, the crank is still press-fit, so it is not possible to just pull it off:


I was kind of stuck at that point, not knowing what to do next. The solution which did the work was to insert the bottom bracket cup removal tool under the crank. Fortunately I had a half-circle wrench, the “full circle” would not have fit over the crank! The unscrewing cup worked as a crank puller, effectively removing the left arm from the splined axle.


When the left arm is removed, the work is done.


I’d say that the claim about “no special tools required for GXP crank removal” is overstated, because the cups still need a wrench with a long lever. But it is still better then other designs such as Shimano Hollowtech and later Sram/Truvativ models, which, in addition to the cup tool, need a specific left arm extractor or tightener.

Nokia E90 camera image sample, or “The bullshit of megapixels”

The camera of Nokia E90 communicator is “3.2 megapixel”. Here is a cut of an image, made with this camera at best light conditions possible (even sunshine, not too bright). Close your eyes, photographers: you may get sick.


Such quality is not just ashaming; I’m now happy that I’m not working at Nokia any more 🙂

Manufacturers increase the number of megapixels, which sales well, but that does not make image any better. Sure, the file size grows, carrying these junk pixels. I always resize these “phone pictures” down at least 2 times (= 4 times file size decrease), often more, before I dare to show them. And the phone does not offer neither option to use lower resolution1, nor any software to resize the captured image. As I feel plain stupid uploading 1MB picture worth of at most 200KB to any web site, I have always to scale it on some other computer. This is called “Mobile life”, “My world with me”, “Always connected” or something like that.

I know that I should pay extra for better camera quality and I’m not objecting to this; what I do not like is the unnecessary pixels which I can’t disable. Next time I may be purposedly looking for a camera with fewer pixels!

Update: 1 I was wrong on this. Camera offers 5 resolutions, smallest 640×480 with file size about 40kB. Finding this menu was not intuitive for me, but one can blame my lack of intuition here.

Gnome has an idea about screen parameters different from Xorg.conf

I rebooted my home computer after a long uptime and suddenly the screen is terribly flickering. Reason? “I did not do anything” 🙂 I installed software updates, added and removed users, but never mangled with the screen, as it was already tuned once and forever.

My Xorg.conf file has only one mode line, the one which works fine at 85Hz. Gnome graphical menu item for “screen resolution” gives only one resolution option… at 60Hz. What the heck?

The GDM screen was at fine refresh rate, but after I log in, it drops to that unbearable 60Hz. This at least gave me a hint that this may have something to do with Gnome. Search in .gconf directory of my home reveals two files:

.gconf/desktop/gnome/screen/[my host name]/0/%gconf.xml

which differ in one line:

<entry name=”rate” mtime=”1152558455″ type=”int” value=”85“>

Value 85 was different in the [my host name]-version, showing 60!

As a first attempt, I just change that value from 60 to 85; I did not actually hope that it will work… but it does. Now my refresh rate is as it was.

My questions to the audience:

  • Where did this poor refresh rate come from? Was it some upgraded package, which decided to change my monitor settings? (I have Ubuntu 7.10 and Gnome 2.20.1)
  • How is a user supposed to solve such problem?

Almost a winter day

We managed to get out for an almost real snowbiking on a weekend. Suomusjärvi – Karjaa, about 60 km on gravel roads.


One forest road was not cleaned of the snow, and we had to drag bikes for several kilometers. What a joy! That was the first – and I’m afraid the only – day in this winter when I enjoyed the snow.

All other roads were either clean asphalt, or covered with smooth ice. Good for the one who had both studded tires! 🙂 I’m so much missing the real winter; well now I’ll have at least one memory of it.

Example of bullshit

Last years, I was not much exposed to bullshit at work. In fact, almost not at all. Now I received an email with a brilliant example of the subject. A person has an email signature, which ends like this:

[MyCompany] is one of the global leading suppliers of Information Logistics
Solutions and Product Information. Our customers are global leaders, at
the cutting edge of the telecom, software, automotive and industry sectors.
High expectations and demands from our customers drive [MyCompany] to
strive for operational excellence.

[MyCompany] currently employs some 500 highly talented and dedicated
staff globally, with offices in Sweden, Finland, France, Germany, Hungary,
Ukraine, and China. 

They should use some of the on-line bullshit generators to add, for example, “incubate innovative e-markets” or “syndicate customer-centric initiatives”. I think I’ll eventually point the author of the email to this post 🙂

Content Management System: To be or not to be?

Do I want a Content Management System (CMS) for my web site?

  • My web site is small.
  • It is not dynamic or interactive (and that’s how I want it to be at this moment. I do not want “dynamic spoon” or “interactive pants”).
  • It is authored only by me, no cooperation expected in the future neither.

So I probably do not need any CMS. But on the other hand,

  • I’m regularly catching myself that I’m not putting a new article because I’m fed up with copy-pasting of HTML
  • sometimes I end up in poor places which do not have any putty/scp, so I just can’t do the update until I come home
  • I have some articles in more than one language, and this is something which is pain in the neck to maintain
  • I like my pages to be valid HTML, and this is an additional thing to watch when writing in the text editor.

But the most important of all: with static site written in the text editor, I have full control over my data. I can always do a full backup from my host (in fact I store an up-to-date copy locally). I can move all my site to another host at any moment in minimal time. Sure, backup of MySQL database + CMS system is also possible, but I’m afraid I’ll not do it regularly, and I imagine that moving to another host may turn out to be a very frustrating experience.

I’ve put to MediaWiki two of my pages which are kind of more dynamic than others: bicycling bookmarks and list of cafeterias around Helsinki. So far these are not pages which I necessarily want to be able to read 10 years later, so the portability here is not a keystone. Now I’m in musings, do I want to move more of my content to some CMS. And to which one? OpenSourceCMS lists tens if not hundreds different CMSes. The leading ones seem to be MediaWiki, WordPress, Joomla, and Drupal. Read comparisons: Joomla vs. Drupal, more Joomla vs. Drupal, WordPress vs. Drupal, Joomla/Drupal/Plone.

The main question to me is, to repeat it, the portability. How easy is it to backup some CMS site, and how easy is it to restore it in completely different environment?

Nokia E90: first frustrations!

After publishing first-minute positive impressions about Nokia E90 communicator, first negative ones have not been waiting for long.

Naturally, when changing from one device to another, a user wants to move data from the old one. Mine “old” was Nokia 9500 communicator. Note, it is the natural predecessor model of the same manufacturer. Phones have “data transfer” menu item. But this transfers only contacts, messages and calendar entries – no documents. I have about 60 files, most hand-written once, like foreign words and travel notes. Moving them should be a trivial task?

1. Any file can be sent between the devices, for example via Bluetooth. But… you can’t send a directory. Manual sending of 60+ files does not look as an attractive option.

2. OK, fortunately there is Zip archiver in both devices. I compress the files I want to transfer to one archive, send it, decompress it. Guess what? I can’t open any of my files! They were saved in some proprietary format, which is not recognized by the new device!

Now I’m left with two options: 1) send all files one-by-one; believe or not, the texts are converted to Microsoft Word .doc format before sending :-/ 2) use Nokia own software to dig my data from the old device (this software is Windows-only).

I knew I should never store my data in a proprietary format, and I knew I’m doing a mistake saving my texts in default format 9500 communicator offered me. I naively expected that the same company will at least support its own formats. Beware!

Nokia E90 communicator

Got a new device, the 2007 Nokia communicator edition, E90:


It is smaller than the previous 9500 communicator (in fact every new Nokia communicator model was smaller than the predecessor).

It has, in addition to what you’d expect from any such device, a built-in GPS receiver.

It is nice for touch. It has very sharp screen – both screens, in fact. 3.2Mp camera, FM radio, 512Mb micro-SD card. All data transfer technologies you can imagine: EGPRS, 3G WCDMA and HSDPA for cellular, Bluetooth and WLAN for short-range. See full specs here.

So, the first-minute impression is very positive. Let’s see what it comes to when I start actually using it.

Backpacking trip to Polar Ural!

I’m leaving to St. Petersburg today with the intention to take the train to Polar Ural in three days.

I have been there in 2001, six years ago, and longing to get there again.

Polar Ural, 2001

This region is a known touring place. Nowadays there are not so many places on the Earth where you can wonder for several weeks and meet not a single human being. Backpacking there is nothing like “hiking trip from a hotel to a restaurant” along marked route. There is no services – you just go wherever you can. No cellular network (and we don’t take a satellite phone, as it weighs over kilo). All food has to be carried – we plan to fit in 700g/day, which makes 15kg of “consumable” start weight.

More facts:

  • The region is extremely wet. Expect your feet to be wet all the time. There is positively no reason to dry down the boots, as they fill up with the water during first 15 minutes of walk-time.
  • The temperature can be anything between 0°C and 25°C. At 0, the rain with heavy wind makes for a rich experience. Snow is possible starting from beginning of August.
  • If the weather is warm, there can be really much mosquitos and gnats. Normal situation is when you must wear mosquito mesh and gloves to protect. It is impossible to eat with the mesh; so eating becomes challenging and people eat either inside the tent or walking/running around.
  • Mosquitos in the sunset

We’ll have 3 weeks of full autonomy. My heart is already in the mountains.

Saunalahti, the Finnish ISP

I was a customer of saunalahti internet provider. Happily connected to their machines via SSH and maintained my rudimentary web pages.

Suddenly, the machine disappeared. Soon it disappeared even from the nameserver. I discovered it after maybe a couple of months not accessing it.

Calling customer support. After usual 15 min. waiting in the queue:

(I) The Unix shell does not work.
(Saunalahti) I take a look at it… (waiting) Oh sorry, the Unix usernames were all removed.
(I) ??? I need Unix shell.
(S) We can restore it. (waiting) It is ready now.
(I) So what machine should I connect to?
(S) The same machine you connected earlier.
(I) But it is not even known to the nameserver! And it is your nameserver I’m using.
(S) I’ll look at it. (waiting) The other machine is
(I, feeling suspicious about such hostname and trying to connect) It does not let me in. Says “Connection closed by remote host”.
(S) OK, one moment… (waiting) the SSH access is closed now. (points me to their web page, saying that my contract does not include SSH access.)

I have nothing more to ask. The SSH access was an important feature for me and one of reasons why I’ve chosen this provider among others. Now they silently removed this reason without even a notice. The only way to maintain the web pages now is by FTP (sending password in clear text). I complained about the issue also on Saunalahti own webboard, other users confirmed the issue. I’m in search for another provider.

PHPUnit stumps…

PHPUnit 3.0.6 (with PHP 5.2.2) can’t even load a file!

$ phpunit UnitTest
X-Powered-By: PHP/5.2.2
Content-type: text/html

PHPUnit 3.0.6 by Sebastian Bergmann.

File “UnitTest.php” could not be found or is not readable.

Let’s see where it looks for my (definitely existing and readable) UnitTest.php. Add a quick debug printout starting with KS: into /usr/local/lib/php/PHPUnit/Util/Fileloader.php:

$ phpunit UnitTest
X-Powered-By: PHP/5.2.2
Content-type: text/html

KS: wd=/usr/local/bin, filename=UnitTest.php
PHPUnit 3.0.6 by Sebastian Bergmann.

File “UnitTest.php” could not be found or is not readable.

What’s that?… I don’t believe my eyes. Does it really look for input ini /usr/local/bin?

$ sudo touch /usr/local/bin/UnitTest
$ phpunit UnitTest
X-Powered-By: PHP/5.2.2
Content-type: text/html

KS: wd=/usr/local/bin, filename=UnitTest.php
PHPUnit 3.0.6 by Sebastian Bergmann.

Class UnitTest could not be found in UnitTest.php.

I’m not absolutely alone with this, there is a recent post (18.6.2007) complaining about the same issue. Maybe this is a new bug in PHPUnit? Let’s try the latest beta release of phpunit from, installing manually as said in phpunit manual section:

$ phpunit UnitTest
X-Powered-By: PHP/5.2.2
Content-type: text/html

PHPUnit 3.1.0beta4 by Sebastian Bergmann.

File &quot;UnitTest.php&quot; could not be found or is not readable.

OK, quotes are replaced with &quot;, but the file is still not found. What else could be done? Rollback to a previous version, phpinit 3.0.5. Alas – result is the same!

Update: This misfortune is experienced on RedHat Enterprise Linux 5. On Ubuntu Feisty, PHPUnit works out of the box. So this is likely an installation problem, not a problem of PHPUnit. Aha! I had some old PHP on RHEL machine, and installed newer version in /usr/local. Let’s revert back to the stock PHP:

$ phpunit UnitTest
PHP Warning: require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 40
PHP Fatal error: require_once(): Failed opening required ‘PHPUnit/Util/Filter.php’ (include_path=’.:/usr/share/pear’) in /usr/local/bin/phpunit on line 40

Now even PHPUnit is not found; let’s see with strace where the PHP is looking for it:

$ strace -f phpunit UnitTest | grep Filter.php
4471 open(“/my/current/work/dir/PHPUnit/Util/Filter.php”, O_RDONLY) = -1 ENOENT (No such file or directory)
4471 open(“/usr/share/pear/PHPUnit/Util/Filter.php”, O_RDONLY) = -1 ENOENT (No such file or directory)
4471 open(“/usr/local/bin/PHPUnit/Util/Filter.php”, O_RDONLY) = -1 ENOENT (No such file or directory)

But my PHPUnit was installed by pear in /usr/local/lib/php. This directory is not searched by default. We have to add include_path = /usr/local/lib/php statement into the php.ini, used by the PHP installation. After that, the script subject to test is not any longer searched in /usr/local/bin, and my long-awaited test finally works.