Beim letzten Radverkehrstreff hier in Köln wurde ganz stolz das neue Winterdienstkonzept erwähnt. Demnach bekommt das Räumen der Radwege eine hohe Priorität. Die Sache hat nur einen Haken. Die Webseite der Stadt weist darauf hin:


Dort, wo der Gehweg von der Grundstückseigentümerin oder dem Grundstückseigentümer geräumt werden muss, gilt dies in folgenden Fällen auch für den Radweg:

  • Er muss auf der gleichen Ebene wie der Gehweg liegen.
  • Er darf nur durch Markierung oder Materialwechsel kenntlich gemacht sein.

Wollte man die Hochbordadwege nutzen muss man also darauf hoffen das der Anlieger schon vor einem aufgestanden ist, und sein Stückchen Weg geräumt hat. Nun haben aber die meisten Straßen nicht einen Anlieger, sondern viele. Wenn auch das erste sichtbare Stückchen geräumt ist, kann dies für das nächste Haus schon wieder ganz anders sein.

Durch diese Regelung kann man sich auf eine Räumung der Radwege nicht verlassen. Dies macht sie meiner Meinung nach unbenutzbar.

Es ist ein weiteres Argument gegen Hochboardradwege. Fahrbahnen werden durch den Winterdienst geräumt. Ein Rad- oder Schutzstreifen würde somit mit geräumt werden. Vor allem würde jedoch die Fahrbahn zumindest bis zur nächsten Kreuzung durchgängig geräumt sein und nicht plötzlich mitten drin mal nicht.


Carradice Bags

On the Strida rack panniers will not work. The rack is to small and I got problems with my feet. Here is a special Strida bag that sits on top of the rack, but this is a small bag. It can contain some repair stuff and energy bars but not more.

I use a Brooks Flyer Special saddle with loops on my Strida. Looking around I found the classic, handmade Carradice saddle bags. I got two of them: a Camper Longflap and the small Junior. I love the look and the material.

The Camper Longflap is a 24 liter monster. If you want do do lightweight touring, this bag should be able to contain all you need. Its flap has a folded extension, providing even more space. On the saddle loops the bag is near to my own body so its weight is not distracting me.

By default leather straps are used to attach the bags to the saddle loops. This is a secure way to hold them but you have to open the flap and the leather straps to detach the bag. This is not that much of an issue because mostly you can keep them on the bike. It doesn't affect the folding.

Modified Carradice Junior
The Junior is the smallest saddle bag of the line. Unlike the Camper is has no side pockets. A shoemaker added some d-rings for a strap for me. So I can use it with a shoulder strap, too.

The bags are made from waterproof cotton duck. It got to test in with really heavy rain last month and the keep my stuff perfectly dry.

Strida-Händler in Köln

Strida Händler sind selten.

Wenn ihr Kölner seid und euch ein Strida zulegen wollte, könnt ihr ja mal bei CarlMay Fahrräder vorbei schauen. Sie habe es gerade ins Programm aufgenommen. Das MAS und das SX haben sie im Laden. Auch einige Carradice Satteltaschen hatte ich entdeckt.


Stridas In Paris

I attended the "Strida Saturday" in Paris last weekend. It was fun to cycle with so many other Stridas. The meeting was organized by the French Strida distributor. He posted a video and some images on his page.


To The North Sea

Last weekend was the PHP Unconference in Hamburg. It is one of the events you don't want to miss if you're a German PHP programmer. It is fun, you will meet  a lot of nice people and you will definitely learn something.

So I took the week before off, got on my bike and traveled north. The first day I rode along the Rhine to Dinslaken. The sun was shining. The first Hotel I saw in Dinslaken was a "Bett und Bike" hotel. The next day my target was Rheine at the river Ems. I got my first real rain and I think some of the shortcuts I took were less ideal. But eventually I reached Rheine at sundown. The third day I spend along the Ems traveling north to Papenburg.It was an uneventful day. The only shower happened exactly the moment I stopped at a shop to buy some water. The forth day took me from Papenburg to Varel at the North Sea. I usually take my bike on the room. In Varel the hotel keeper asked my the next day if I had a pleasant sleep or if my bike snored :-). From Varel I traveled the North Sea Cycle way to Cuxhaven, visiting the beach in the evening. The last day I took the train to Hamburg, the weather was just to bad or in other words I need better rain clothes.

  • Day 1: Cologne - Dinslaken 118km
  • Day 2: Dinslaken - Rheine 152km
  • Day 3: Rheine - Papenburg 121km
  • Day 4: Papenburg - Varel 81km
  • Day 5: Varel - Cuxhaven 99km

Rhine milestone near Wittlaer - It is more on bike.Beautiful morning in DinslakenShadows on the street
Sundown in RheineAt the beach (North Sea)
On the other side of the fence - the grass is always greener.


Colorful Tools

Most of the screws on the Strida are Allen hex keys. Here is even a small triple key provided with the bike.

If you do some more work on your Strida, you may like these colorful tools.


Tour Report: 2011-08-11

Total Distance: 31.81 km
Moving Time: 1:52:15
Average Moving Speed: 17.00 km/h
Elevation Gain: 186 m

Strida Pedals

Pedals are a important part of a bike. It is the point of the bike you use to transfer your power. So good pedals are important.

The standard pedals of the Strida are foldable plastic pedals. They are ok but not more. To fold them you push them against the axis.

The Strida MAS comes with different alloy pedals. It consists of two halves that collapse together to form the pedal platform. This is secure and easy to use.

For the daily use and short distances platform pedals are best. You can use them with normal shoes. For longer distance clipless pedals are interesting. They provide a better connection to the pedal and are more efficient.

Replaceable pedals allow you to change the pedal depending on the situation. This is a nice plus over the possibility to remove them for a flat fold. The downside is that you have to store them somewhere after removing them. Like battery lights you have to take them with you if you leave your bike unattended.

Currently three systems are available:


Nice shape, you have to push a ring at the axis to release the pedal. Platform and clipless pedals are available. The clipless pedals are compatible with SPD shoes, but use different cleats.

Here is a small loose plastic ring to stop accidental disengaging of the pedals. Which has happened according to reports in different web forums.

MKS Ezy Superior

The next generation but not compatible with its predecessor the MKS Ezy. Looks great and has a twist+push system. No clipless pedal available at the moment.

Wellgo QRD

Wellgo QRD-W01
A different concept using a pin. The pin needs to be pulled away from the axis. The pin cap looks strange. Many different pedals are available. Not only from Wellgo, but other companies as well. Here are cheap versions with a black plastic cap on the pin. The Wellgo QRD-W01 uses standard SPD cleats.

I use the Wellgo QRD system. It allows me to switch from a platform pedal (QRD-C098) with rubber finish to clipless pedals (QRD-W01).

Wellgo QRD-C098


Tour Report: 2011-08-10

Total Distance: 32.66 km
Moving Time: 1:58:59
Average Moving Speed: 16.47 km/h
Elevation Gain: 240 m


Tour Report: 2011-08-07

Total Distance: 36.84 km
Moving Time: 2:08:07
Average Moving Speed: 17.25 km/h
Elevation Gain: 235 m 



Administration Themes

The administration themes were a request from a customer. He does own development with developer, stage and production servers and wanted a subtle way to see which server he was currently changing.

A theme consists of a color set, background images, the icon and a progress animation. At the moment 7 colors are available in trunk. Because of the favorite icons it is easier to spot the right tabs, too.


Strida MAS Upgrade II

Since the last blog post some stuff on my bike got replaced. Here is a update on the upgrade.

Bend handle bars and new grips

The bend handle bars provide a little more space for my legs. Feels like a different bike. The original grips on the MAS are nice, but I wanted bar ends. Here is not enough space for additional bar ends, so they have to be integrated into the grips. For long distances the possibility to have different grip positions are a huge comfort plus. The Ergon R2W Team Edition are perfect. The green added some color to the black bike. It is our company color, too :-).

Brake cables

The last part I replaced and it was a lot of work. I had to dismantle the wheels, fenders, handle bars. The new Jagwire Ripcord cables are rigid. They provide great brake power, but are difficult to assemble. I got rid of the extensions (from the bend steer kit) and the new cable housing matches the color of the grips. The green of the original brake levers were different, so I got black ones.

Front light

I replaced the Sigma PowerLed (90 lux) with a B&M Ixon IQ Speed (50 lux). In numbers it has less light but in real it is more. It throws a trapezoid of light on the street. Because of the bend handle bars I got problems with the brake cables. A small spacer bar fixed the problem and I really like the look.

Rear Light

The rear light is now a "B&M Toplight Line", that integrates the reflector into the light. So with the it, I can mount the light to the rack and throw the rear reflector away. The result is a much cleaner look.

The reflector stripe is in the middle, the light is at the top and the battery case at the bottom. The light uses two LEDs that are broken up to a bright line of light. They provide great visibility. Here is no blinking mode (Which is illegal in Germany anyway). I don't like blinking lights because they make it really difficult to recognize distance changes. The light uses the convenient AA battery format.

The light is available in two versions. A basic version "Permanent" and the "Senso" version featuring a light/movement sensor. I know from my previous rear light (IX Back Senso) that the sensor is too sensitive. So I got the "Toplight Line Permanent".

Strida MAS upgraded (Number One)


Papaya Callbacks

papaya CMS got a new class PapayaObjectCallbacks recently. The class can be used to define and handle callbacks for other classes and relies heavily on the magic methods. It addresses several problems.
  1. Code duplication if you have several callbacks in one class
  2. Validation before you can use the callback
  3. Easy to use, self speaking API for callbacks

PapayaObjectCallbacks is defined as a sub object with lazy initialization. An array is used to define the callbacks functions and the default return value. If you have a complex/large list of callback functions, I suggest to define a new class that extends PapayaObjectCallbacks. With a special class you can define the dynamic properties/methods using PHPDoc comments.

public function callbacks(PapayaObjectCallbacks $callbacks = NULL) {
  if (isset($callbacks)) {
    $this->_callbacks = $callbacks;
  } elseif (is_null($this->_callbacks)) {
    $this->_callbacks = new PapayaObjectCallbacks(
        'onEventOne' => TRUE,
        'onEventTwo' => 'default'
  return $this->_callbacks;

To call the function is really simple. Just do it!

$result = $this->callbacks()->onEventOne($argument);

If no function was assigned to the callback the defined default will be returned. Otherwise the assigned function is called and its return value will be used. So no validation of the assignment is needed.

The user (of your class with the callbacks) can assign the callback function, now.

$someObject->callbacks()->onEventOne = array($this, 'someCallbackHandler');

In PHP equal or greater 5.3 an anonymous function is possible:

$someObject->callbacks()->onEventOne = function($context, $argumentOne) { ... };

The first argument of the callback is always a context object. The reason for this is, that we still have to be PHP 5.2 compatible, so we can not use the PHP syntax for it. In addition you can edit the context without a local variable. By default this is an instance of stdClass but you can assign any object.

$someObject->callbacks()->onEventOne->context->someProperty = 'some value';

If you like to see the implementation, you can find it in the papaya SVN.


Tour Report: 2011-06-23

Total Distance: 92.04 km
Moving Time: 5:29:35
Average Moving Speed: 16.75 km/h
Elevation Gain: 1073 m


Down The River - Report

After two days in Zurich I took the Train to Rottweil and travelled the Neckar down to the Rhine and back to Cologne. The tracked distance (GPS) was 641 km.
It was interesting to see the river grow. The cycle ways a re mostly along the river with some steep climbings and long downwards sloops.

On the third day I had my first and last accident. A screw of the bottle cage broke.
  • Day 1, Rottweil -> Tübingen: 86 km
  • Day 2, Tübingen -> Mundelsheim: 116 km
  • Day 3, Mundelsheim -> Heidelberg: 126 km
  • Day 4, Heidelberg -> Hamm (Rhine): 63 km
  • Day 5, Hamm (Rhine) -> Koblenz: 143 km
  • Day 6, Koblenz -> Cologne: 106 km 

Up The River - Report

I needed 5 days for the trip from Cologne to Basel. The tracked distance (GPS) was 606 km.

Day One, Cologne -> Koblenz: 110 km

Under Construction - Please Walk!
After a last cup of coffee I started on the usual way to Bonn. It was a strange feeling to pass Bonn without turning around. I stayed on the right side of the Rhine (east)  for about halve of the distance and crossed the river on a ferry. Some kilometers before Andernach I meet another cyclist on his way back from the flea market in Bonn but the most of the day I traveled alone.

Where the Moselle flows into the Rhine

Day Two, Koblenz -> Mainz: 109 km

Rain and hail - Welcome to Mainz.
The second day started with headwind and a gray sky. But after a little bit of rain it became a sunny day until I reached Mainz.

Day Three, Mainz -> Speyer: 108 km

I had a nice chat with another cyclist at the breakfast table. I meet him again later the day two times. The day was sunny, really sunny. I got sunburned.

After Ludwigshafen my saddle started squeaking ... annoying.

Day Four, Speyer -> Rheinau: 108 km

Which way now? (German side)
After some kilometers my saddle stopped squeaking and stayed quiet for the rest of the tour. Some of the time I traveled together with some road cyclists from Speyer. The cycle ways on the French side of the Rhine are amazing. They even mark bumps from three roots with pink paint. The cycle way on the German side are more for mountain bikes. Two small lane grooves filled with loose gravel.

Day Five, Rheinau -> Basel: 172 km

Rhine-Rhone canal cycle way
Finally I got tailwind. I traveled on French side again. The cycle way along the Rhine-Rhone canal is great, but maybe a little boring. It is a straight line of asphalt. You see other cyclists minutes before passing them.

I planned to stop in Breisach, but after reaching it I decided to go all the way to Basel, where I jumped on a train to Zurich. 


Up The River

I am enjoying my first bicylce holiday. I started in Cologne and will travel up the river (southwards).

Modifications on the bike: 
  • Bended steer kit
  • Aluminum rack
  • Stand
  • Grips: Ergon GR2
  • Saddle: Brooks Flyer Special
  • Pedals: Wellgo QRD W01 clipless
  • Break levers: TRP ML930
  • Front light: B&M Ixon IQ Speed
  • Rear light: B&M IXBack senso
  • Bag: Carradice Camper Longflap.


Köln tut etwas für Radfahrer

Gestern auf der Rheinuferstraße entdeckt:

A road sign on one of larger streets in Cologne: "Caution when turning - be aware of cyclists".


Tour Report: 2011-04-17

Total Distance: 112.44 km
Moving Time: 6:32:29
Average Moving Speed: 17.19 km/h
Elevation Gain: 511 m

My first metric century.


Tour Report: 2011-04-16

Total Distance: 42.21 km
Moving Time: 2:15:31
Average Moving Speed: 18.69 km/h
Elevation Gain: 159 m

Ferries are a good place to meet other cyclists.


Tour Report: 2011-04-10

Total Distance: 84.22 km
Moving Time: 4:56:14
Average Moving Speed: 17.06 km/h
Elevation Gain: 412 m


Tour Report: 2011-04-09

Total Distance: 80.63 km
Moving Time: 4:36:41
Average Moving Speed: 17.49 km/h
Elevation Gain: 494 m


KSTA über Radfahrer

Der Kölner Stadtanzeiger über Radfahrer. Der Verfasser des Teasers hatte den Artikel wohl nicht gelesen, letzterer war deutlich positiver.

"Gefahr auf zwei Rädern - Die Zahl der Radfahrer auf den Straßen Kölns steigt. Immer wieder passieren schwere Unfälle. Die Stadt arbeitet an Maßnahmen, um die Sicherheit im Verkehr zu erhöhen."

This is a translation of a teaser in a local newspaper. I don't think the editor read the original article. It was quite different.

"Danger On Two Wheels  - The number of cyclists on the streets of cologne increases. Serious accidents happen time and again. The city is working on measures to improve safety in traffic."

Tour Report: 2011-03-27

Total Distance: 70.25 km
Moving Time: 4:13:27
Average Moving Speed: 16.63 km/h
Elevation Gain: 354 m


Tour Report: 2011-03-19

Total Distance: 82.02 km
Moving Time: 4:58:21
Average Moving Speed: 16.51 km/h
Elevation Gain: 374 m


Tour Report: 2011-03-12

Total Distance: 95.01 km
Moving Time: 6:04:38
Average Moving Speed: 15.63 km/h
Elevation Gain: 215 m

Night rides are relaxing.