Winter Cycling Camaraderie & Bike Maintenance Blues

2020 was a memorable year. Already by the end of September I had climbed more vertical meters than in all of 2019, and any year before. Also, that’s despite the previous year including the 33,000+ m of the TPRNo1 … I was genuinely surprised by my climbing performance: TPRNo2 had been postponed to 2021 because of early and justified concerns about how the global pandemic would unfold. With that event I’d have gone beyond my wildest dreams.

And I was on track to making the 10,000 km distance goal. Another first, at least since returning to cycling in 2015. But, more importantly, despite all difficulties, core fitness was good. I had managed to keep up regular training … until my gym and sports club was forced to permanently shut its doors, due to the economic uncertainty induced by COVID-19.

Altogether, that year needed to end. Urgently. And, to give way to new hopes and plans, I chose the “Rapha #Festive500” Strava challenge as my final project of 2020.

Enthusiasm-originated, marketing-conceived, community-driven and grit-inspiring. — Riding one’s bike 500+ km, between Christmas and New Year’s Eve, had become a tradition, 11 years since Rapha first invited fellow cyclists to join.

For obvious reasons though, this holiday season, everything was different.

Restrictions

Since about November 2020, a “second wave” of COVID-19 had reached Europe and many parts of the World. High incidence* spurred lockdowns at regional and national levels, and everything seemed to peak around Christmas.

Naturally, outside sports activities, too, had to conform to rules imposed to curb the pandemic. Large groups would be out of the question, rides mostly limited to solo or 1+1 outings. We also had some practice riding 1+1+1, within our “bubble” of a handful of people occasionally riding together over the year of 2020:

While keeping the appropriate distance individually, we could still provide the comfort of not riding alone and to at least “see” a few cycling friends on each occasion. This also made the prospect of punctures or any serious issues easier to deal with, as enough tools, spares and general support would be at hand.

*= The term “Incidence” in the case of COVID-19 measures the average number of confirmed new infections over 7 days relative to 100k population (of a designated area).

Managing Expectations

Clear goals, milestones or just indivdual targets make projects of any kind more palpable, more attractive. But as reality can rarely be planned, I like to maintain flexiblity to better manage my own expectations.

Small increments and attractive miniature successes allow continuous progress and at the same time reward tenacity — not only in reaching immediate goals, but also from an overarching perspective.

I decided to define a range of milestones for this year’s #Festive500, bracketed by some metrics and to add a few optional targets to spice things up:

  • As the absolute minimum, take advantage of the challenge to cycle a total of 10,000 kilometers for 2020 (in the morning of Christmas Eve, I was still about 260 kms short of that goal).
  • Better still, accumulate at least 505 km (five extra kilometers, to complete the challenge with a buffer of 1%, to account for adjustments automatically performed by Strava’s algorithms on upload of each ride).
  • As a maximum, target a total of 604 km but not exceed 610 km (best my 602 distance achievement from the 2019 edition by “an extra mile”, yet without requiring too steep an improvement in 2021; this would again factor in a buffer of about 1%).
The state of my cycling year of 2020 until December 23, compared to 12 months ago, including the #Festive500 of 2019 (click for HiRes image)
  • Per day, cycle at least 63 km, amounting to around 1/8th of the required minimum (including a little buffer).
  • Allow for a “rest day” about half-way into the #Festive500. That would then of course require at least one day with a double effort … or the equivalent of one day’s worth of mileage distributed over the other remaining rides.
  • Gain as much elevation (vertical ascent, or “vert”) as possible to also achieve Strava’s “December Cycling Climbing Challenge”. (To my own amazement, I had consistently climbed at least 7.500 meters, each month, since February 2020.)
Consistency —my montly elevation gain in 2020 (blue) vs. 2019 (orange) (click for HiRes image)
  • While at it, for 2020, complete 52+1 rides up my favorite climb in the region, the “Weißer Stein”, rated as category 2~4, depending on which of the many popular Strava segments you choose (1 ride per week of the year, plus 1 for 2020 being a leap year … I admit to accumulating many of the rides in bursts of several attempts, instead of riding there once every week).
  • Fill in a few “white spots” on my VeloViewer map of square-mile tiles in order to “finish” exploring the right (eastern) banks of the river Rhine, roughly between the towns of Biblis in the north and Speyer in the south.
  • Possibly close the challenge and the year of 2020 by cycling most of the about 150 minimum distance to a friend. I’d be taking a regional train to shorten the distance, and arrive in time for New Year’s Eve.

I felt all this was enough encouragement to bring the old year to a close and keep my momentum going for 2021. Before tackling the #Festive500 though, I had to check and service my bike(s) that had seen a constant load of rides through any kind of weather and often over wet and muddy roads. — I’d be in for a surprise. A bad one.

The reason I would soon exclusively ride my CAAD10, “The Perfect 10”, over the first days of this #Festive500 challenge was simple:

Neglect.

I had been too keen on cycling to pay close enough attention to the essential tool in this context. The one that enables my riding through beautiful scenery and over all kinds of terrain. My bike.

The bottom bracket bearings in My CAAD12 had seized. I had a hard time even turning the cranks after leaving the bike to dry following the latest ride in rain and mud. A simple matter of a lack of care.

Ironically, also an entirely new angle to the term “carefree”.

I encountered reddish brown rust, on removing the Cannondale Hollowgram SI crankset and its 30 mm spindle. Just to be sure, all these are aluminum components. As the ceramic-hybrid bearings are enclosed in a CNC-machined aluminum module, the only steel parts susceptible to this kind of corrosion and a vector for rust to reach the inside of the module are the bearing races (and probably the bearing cages, too).

Let’s do the math: By now the module has seen around 25,000 kms. With everything going on, and my local bike shop swamped with the recent pandemic-induced upsurge in bike sales and service, the last bearing maintenance had been in the second half of 2019. Something like 15,000 kilometers and one winter later, bearings failing was to be expected. But I could have avoided this. Among my cycling buddies I’m notorious for being dilligent when it comes to bike maintenance.

To salvage what I could, cleaned rust and old grease out of the bearings as best as possible without removing them: I miss the required tools, and replacement bearings were impossible to come by over the holidays.

Day One — December 24, 2020

(63.59 km / 700 m elevation gain / 1x Weißer Stein)

Somewhat unexcpetedly, my good friend Anjin-san pushed for a #Festive500 ride. On Christmas Eve of all days!

With any kind of weather possible from the looks of it, we set out to at least scale the Weißer Stein, my favorite of the western Odenwald hills, very close to Heidelberg. The ascent is around 6 kms long and peaks in the first 2 kms at maximum gradients around 15%. It then gradually flattens until immediately before the summit, where a short ramp sees many fellow cyclists put in a sprint effort. In normal times, the restaurant at the top is a year-round favorite destination, not limited to locals and regional tourists.

Even though I continue to be a slow climber, we then actually had time for a slight detour from the direction of Altenbach. We rode up the Ursenbacher Höhe, another very popular climb of the Odenwald foothills.

To round-off this cycling-themed Christmas present, we somehow avoided all the rain around us and stayed dry the whole way. And, I clocked slightly more than the daily minimum distance on my Wahoo: 63.5 kms!

Day Two — December 25, 2020

(67.43 km / 73 m elevation gain / 1 VeloViewer tile filled)

After spending the previous afternoon in the hills, this ride was to be as flat as it comes. And the weather had cleared with mountains of clouds being chased across the bluest of skies by an ice-cold wind.

Carlo joined Anjin and me for one of those 1+1+1. At the GKM power plant, we crossed via ferry to Altrip then continued on one of our “Winter Classics” routes to the town of Speyer. There, the important bridge over the Rhine was still under (re)construction but making progress: A new narrow combined foot and cycling path was rideable, and the main road surface also looked to be nearing completion.

From the bridge and northwards, as was to be expected, we rode directly into a strong headwind. True drafting was not possible for obvious reasons, but we managed.

And our small group even continued in a loose formation when I suggested an extra appendix to the itinerary: For months, a tiny square mile close to Brühl had eluded me. It was now the sole white spot immediately within my target region on the eastern banks of the river Rhine on VeloViewer. I had to have that tile!

Back home and checking the daily tally, we had exceeded the bare minimum. And that nasty white stain had successfully been cleaned off the otherwise perfectly pink cluster.

Satisfaction.

Day Three — December 26, 2020

(115.91 km / 105 m elevation gain / 18 VeloViewer tiles filled)

Carlo, Anjin and myself had ample time, so we decided to attempt an extended 1+1+1, far out to the north to Nierstein, and explore another ferry over the river Rhine.

Also, Anjin-san had suggested to include a passing visit to the Space Radio Monitoring Station at Leeheim. The facility is operated by the “Federal Network Agency for Electricity, Gas, Telecommunications, Post and Railway” of the German government, the Bundesnetzagentur, or BNetzA.

The goal was to avoid gravel and mud, as that had marred all our recent experiments on both sides of the river — between the towns of Worms, Gernsheim, Biblis and our home base in Mannheim. We wanted to not lose time, as weather forecasts predicted a bitter cold Saturday.

With all this in mind, the evening before, I tweaked Anjin’s route proposal to avoid the practically straight 15 kms of highway between Worms and Oppenheim and instead allow for a bit of idyllic but still speedy bike touring through wintry swamplands, meadows and hills.

We’d also pass through Guntersblum again, one of the many small, picturesque Rheinhessen villages, famous for their rich viticultural quality and variety. I feel a special attachment to that place, but that’s a different story.

For the return leg, I very meticulously plotted a path, partly following known sections and linking them in the most direct way possible. Except for one very short stretch near the IBB broadcasting station at Biblis, all of the route would be on tarmac or concrete pavement. It was an experiment in efficieny.

In the end, most of the tour went according to plan. Apart from a catastrophic tubeless tyre-rim connection failure, there were no unsanctioned stops. And the photos I took each required me to put in an extra effort to again catch the group. Fun fact: that’s how I achieved a higher rolling speed than the others. But my buttocks hurt after yet another long day on my CAAD10, and that caused a slump in power output and subsequently reduced our average speed altogether.

I have to offset the extreme vertical rigidity of that bike. A change in saddle, seat post and the cockpit setup is long overdue.

Day Four — December 27, 2020

(69.18 km / 1,008 m elevation gain / 2x Weißer Stein)

The Sunday after Christmas brought back the gray and gloomy weather that had been so typical of the weeks past. And freezing temperatures.

I still had my sights set on completing the very personal challenge of at least 52, better 53, ascents up the Weißer Stein. One for every week of the 2020, plus one for the leap year.

While I was happy to do this on my own, Anjin and Carlo joined in for the first attempt. We set out from Mannheim via Ladenburg and straight to Dossenheim, where the many Strava segments up my favorite climb begin. I don’t closely follow any segment rankings, but I had recently come close to nabbing most of the “Local Legends” around there.

Pure Fun.

That is, until we arrived at the higher sections, and numerous stretches of the road up to the Weißer Stein summit were covered in ice. In some places the dark patches were water, seeping onto the tarmac from the forest floor alongside. But it’d be impossible to spot the difference while descending, making each ride up the hill a sure prelude to havoc on the day down.

My two companions called it quits after one successful attempt. I routinely put on warmer, windproof kit before descending but caught them about half way down. We all jumped off our bikes before each of the icy spots.

In Dossenheim, at the intersection of Schwabenheimer Straße and Rathausplatz, at the bottom of the climb, I put the windproof clothes back into my saddle bag and ventured up a second time. As usual, I felt better than before, leg muscles now clearly knowing what to expect from the next 30+ minutes. And then I completely forgot to downshift from the big ring. At one point I actually wondered where this sudden performance slump was coming from … until I stopped at the first hair pin, to take the obligatory picture of the view over Dossenheim — and noticed the blunder.

Nothing wrong with my legs. I had obviously been so relaxed, my mind wandered off to somewhere far away. Not the worst to happen on a day like these. But I needed to stay sharp and reminded myself to be careful with those dark, glistening patches on the tarmac.

On my second Weißer Stein descent of that afternoon, half walking, half slithering around a bend completely covered in black ice, I decided to also call it a day:

Two cyclists were standing somewhat awkwardly at the roadside. One of the two had just crashed hard with his mountain bike on exactly that corner and badly hurt his elbow. Visibly in pain and cradling his arm he was now waiting to be picked up by family and then driven to the nearest hospital. On the way home I rode an extra loop around a strangely deserted Mannheim city centre.

Nonetheless, I was happy about this year’s #Festive500 progress: Four days in, and already a twenty percent buffer safely in the bag. Also, on this depressingly gray day, the imaginary 10,000 kilometers barrier fell. I think I’ll pour myself a celebratory glass of that red stuff.

Monday, day five, I’d take a break from cycling and deal with other end-of-year burocracy. The long-distance CAAD12 needed to be prepared for my New Year’s Eve journey too. No time to lose.

Day Five — December 28, 2020

(… what should have been a rest day.)

Meanwhile, and back to the unrideable CAAD12, I had already cleaned the bearings as best as I could and relubed them. They would not spin freely, but they’d be usable and would help propel my bike and me forward into 2021. Some Watts wasted in power required to turn the cranks should be regarded as extra trainig load. Now I could finalize the transformative process from classic road bike to FrankenBike with offroad ambitions:

After the front derailleur braze-on had broken earlier in the year I improvised and continued to ride the CAAD12, but I only used the smaller ring ever since. At the root of that defect is, among other things, a construction-related oddity. Thus, any replacement frame of the same type would likely incur a similar defect over time. And, so far, repairing the derailleur braze-on is too complex, at least for myself, without a proper workshop.

The logical next step was converting the drivetrain to 1x, pronouced “one-by”, meaning I’d only have a single chain ring up front, reducing my SRAM Force22 system to 11 speed — at least for the time being.

As the drivetrain was already a complete hack out of 10- and 11-speed components from Shimano and SRAM, I wanted to keep my options open and had opted for the “CAMO” system from Wolf Tooth Components. Proprietary to that vendor from Minnesota in the U.S., their modular solution complements various crankset/spider systems on the market.

This flexibility allows me to experiment with different drivetrain ratios by simply exchanging (relatively) inexpensive chainrings. But it could also save money on maintenance as chainrings are subject to wear and will need to be replaced regularly. This is especially true when used by someone like me who does not shy away from many miles in all kinds of surface and climate conditions.

As chain and cassette needed to be replaced anyway, it was the right moment to rebuild everything. The parts had already been lying around for about a month. Time to start.

Day Six — December 29, 2020

(81.12 km / 1,143 m elevation gain / 1x Weißer Stein)

The night before had gotten really busy. When I re-assembled the bottom bracket with its BB30a spindle and all the shims and washers, I was in high spirits. By then I had enough practice installing Hollowgram crankarms too, and mounting the CAMO spider with the Cannondale lockring tool and one of several torque wrenches in my office-turned-workshop was super easy.

So easy in fact that I first ignored my own slight confusion about the weird chain line offset visible in that picture below of the readily assembled drive-side crank.

Only after completing the crankset installation and trying to turn the spindle it hit me: The spider was wrong. I mean, I had somehow ordered the wrong CAMO spider … now the chain line had shifted so far inboard, the chain ring bolts collided with the chain stay.

How did this happen?

Back in October, during a few phone calls and prior to ordering the assortment of bike parts that was now sitting on my desk, I spoke to several support people at some well-known online retailers. We discussed the situation and my idea of using the CAMO system. And I specifically noted the item number of the appropriate spider so that the order process would be as straightforward as possible.

By the time the spider-crankset-spindle mismatch became obvious, it was Monday evening, past my self-imposed restriction to “never (again) tinker on a bike after 22:00”. I took a few pictures of the assembled crankset and e-mailed (and called) Wolf Tooth support in the U.S.

Their response was swift, very helpful and to the point: The spider I had ordered was referred to as “Standard” for Cannondale, whereas another one, primarily advertised as being for Fatbikes (“Fat CAAD”) was actually also the right one for road bikes. A third type of spider with yet a different offset is for the “Ai” rear triangles with their extremely asymmetric geometry, requiring differently dished rear wheels.

Note to self: I still don’t understand what is “Standard” about the first type of spider.

Now, on Tuesday morning I quickly called one of the online retailers, and the sales support guy actually ensured that the order I would submit only moments later was packed and picked up by DHL before one hour had passed. Standard shipment fee. Great service. But now I still have this once-installed and never really used spider for sale. Minor trouble.

A few hours and unrelated phone calls later, I eventually managed to slip out the apartment door — destination Weißer Stein and beyond. Today I needed to really drive frustration out of my system. Weather had improved slightly, patches of blue sky were visible, yet I was late for the distance and elevation I had planned.

I tried to refrain from stopping too often for photographs and quickly pressed onwards. The road up my favorite climb was rideable. Sub-zero nights and days had prevented further thawing, some fresh snow covered the northern flanks of some hills and undergrowth. I stuck to gravel from Weißer Stein to close to Wilhelmsfeld using the rougher surface to avoid potential black ice hazard. From Wilhelmsfeld I then carefully negotiated my way down and up again on the wonderfully winding road to the tiny settlement of Kohlhof.

Almost exactly a year ago, Carlo and I had “discovered” what quickly became one of our favorite rides in 2020 — a stretch of mostly pristine tarmac, interspersed with a bit of concrete slabs and gravel that constituted a portion of a millennia old north-south thoroughfare: The “Hohe Straße” (“High Road”) beautifully twists and turns over and along a range of hills and forms an almost ideal, surprisingly straigh shortcut between Kohlhof and Abtsteinach, a village strategically situated at the intersection of various roads. Like a gateway to the interior of the Odenwald.

From Abtsteinach I turned westward again, but before eventually making my way home I added several iconic climbs (and descents) to this ride: Trösel, Unter- & Oberflockenbach, Kanonenrohr, Ritschweier, Rittenweier, Heiligkreuz, Apfelblütenweg, Rippenweier, Ursenbacher Höhe, Schriesheim (this time in “correct” sequential order).

Today marked my 53rd climb up the Weißer Stein for 2020. Another personal goal down. Only four to go.

Day Seven — December 30, 2020

(118.24 km / 462 m elevation gain / 1 VeloViewer tile filled)

Yesterday saw my CAAD10 and myself so dirty that the car wash box in Ladenburg came in handy. Definitely did save time for later that afternoon when less muck threatened to block the drain in my bath tub than on other occasions.

The Tigger, however, needed a wash. No, a proper bath. Of course he then must not wander out into the cold, fur plush totally soaked. Forecast was not that pretty anyway … a good day to stay home for the little friend.

With rides on 5 out of 6 days, I was only about 100 kilometers away from completing the #Festive500 as such. But I still had a couple of extra boxes to tick:

  • Complete the Strava December Cycling Climbing Challenge (ca. 1,500 m missing from the required 7,500 m elevation)
  • Fill in a single VeloViewer tile at Seeheim-Jugenheim. That square mile sits not as annoyingly in the middle of an otherwise completely “painted” area, but as it is farther out from Mannheim, it’s much more demanding to reach: I don’t cycle simply for the sake of checking-off VeloViewer tiles. Rather, this has to happen alongside an otherwise attractively designed, interesting tour.
  • Prepare my tour on New Year’s Eve, and that meant … to be back from today’s ride in time to fetch the replacement CAMO chain ring from wherever DHL would deposit it, complete the CAAD12 drivetrain rebuild, and pack my bags to leave early on December 31st.

Anjin-san and Carlo had recently encountered that traumatic experience in the area around Biblis: Deviate just a little from paved roads and you’re prone to almost drown in mud. — I on the other hand had scouted that region back in November and, apart from precisely the same mishap on one occasion, found the many pristine tarmacked service roads to be perfect for bike touring.

So, Anjin and me joined forces and decided to follow on one of my previous itineraries. But before, I had plotted a new direct route trying to get us out of town as efficiently as possible. Leaving Mannheim is always a problem, since the main expressways are designed and built for cars only, and if they feature cycle paths alongside, those often are either potholed, or intersections with traffic lights repeatedly interrupt your “flow”.

This morning however, we were surprised to happen across an almost straight, mostly well-preserved cycle way that led us directly towards Rosengarten and then onwards via Hofheim and Nordheim, to the remains of the Roman “Ländeburgus” and consecutive settlements at Burg Stein, situated at the confluence of the Weschnitz with the much wider river Rhine.

Under trees that nowadays surround the ruins, we had our “second breakfast” and then continued along the Weschnitz, towards Jägersburg and Langwaden. Shortly before Hähnlein, a municipality in the plains between Bensheim and Seeheim-Jugenheim, we parted ways. Anjin knew he’d have to go out for a last ride on Christmas Eve anyway. For him returning home to conserve health and power made a lot of sense.

I definitely wanted to reach my 500 km goal a day early, same as in 2019, and I also needed to collect some more verts: So far, today’s route had been entirely flat. Much of the former swampland was claimed for agriculture only in the 20th century. Extensive drainage works are visible all over the region. There simply aren’t that many hills. Any climbing challenge down here means endless repeats on bridges and overpasses.

In an effort to make good for at least another 400 meters of elevation, I took to the north-east, in direction of Seeheim-Jugenheim, where I’d also spotted that other white speck on my VeloViewer map. And while I felt humidity rise every couple of kilometers, the ride was smooth and pretty, as I soon entered the beautiful hills around Unter- and Ober-Beerbach and Steigerts.

From a look at the GPS head unit on my handlebars I saw that I would probably come close to 500 vertical meters by the end of the day, and also comple the minimum distance for the #Festive500. Time to return home.

When I left the low-hanging clouds around Steigerts and Bensheim-Auerbach I saw a veritable thunderstorm approach from over Mannheim. Riding almost directly into the wind, there was no avoiding getting drenched. My Gore-Tex rain jacket kept me dry around my torso, but without proper rain pants the water rushed through the overshoes, reaching my feet in no time. I was completely soaked.

And then my Wahoo started acting up. Would I lose today’s ride data? That’d be a bummer: After all, “if it ain’t on Strava it didn’t happen!” 😉 A persistent beep and a diagnostics screen appeared. While I was able to restore normal operation, and seemingly without losing the previous ride, at that point I still had some 12 or so kilometers to ride. Would the device recover? Continue tracking? Why did it malfunction now anyway?! The “Elemnt Bolt” had worked flawelessly for years. So far no hint of any weather-related issues whatsoever. Neither freezing cold nor hot sun nor water had shown any effect.

And I wanted to not have to go more than 100 kms the next day. 100 kilometers including the usual buffers.

But my attention quickly went elsewhere. On the open fields between Heddesheim, Ladenburg and Feudenheim, I saw the sky change to the most striking play of clouds and colors. That late afternoon saw a fiery spectacle unfold across the horizon. The featured image of this post (up top) and the last photograph in the gallery below only show the two extreme ends of the range from bright gold to the darkest of grays (but including a rainbow), as the former was taken towards the east and the latter westwards in the direction of the almost setting sun.

Nothing beats Mother Nature. Technology is overrated. As are personal goals.

Day Eight — December 31, 2020

(90.09 km / 1,175 m elevation gain / 58 VeloViewer tiles filled)

Yesterday’s adventure had me immediatly jump under a hot shower and brew a hot coffee. That splendidly accompanied a piece of cake I had put aside as a sweet reward for enduring yet another cold day out in the open. And as a treat, additional motivation, for what lay ahead:

DHL had delivered the desperately needed spider for my crankset. And after the usual chores like washing my kit, cleaning the apartment floor behind my dripping wet and mucky CAAD10 that had just seen its last ride of 2020, I turned to the (almost) sparkly clean and shiny red CAAD12. Completing the drivetrain overhaul was quick, but it took what felt like an eternity of turning the cranks by hand until the pre-waxed chain was broken-in and would no longer occasionally be driven off the front chainring. I was a bit concerned with this, but logic dictated that everthing should be fine. And it would be.

Late that night I finally had everything packed and ready for departure the next morning.

As I wanted to stay until Sunday at that friend’s place, and return by bike (most of the way) again, I mustn’t forget a thing. Also, while the weather forecast was rather good, I couldn’t share its optimism. Too often had a “10~20% probability of light precipitation” turned out to be continuous soaking rain all day. So, additional clothing, chain lube and a lot of energy bars complemented my otherwise lightweight setup.

Already on my way to Mannheim main station, I noticed the leaden sky that showed no intention of clearing up anywhere. I boarded the S-Bahn (metropolitan railway) to Heidelberg, where I took another S-Bahn towards Eppingen. And the skies grew darker still. The moment the train line turned eastwards, out of the greater Heidelberg area, I saw snow covering the Kraichgau hills around Hoffenheim and Sinsheim. And then snowflakes swirling around the train.

Another layover, and my third S-Bahn for the day arrived at the train stop at Stetten am Heuchelberg. I decided to put on the rain jacket and overshoes right away — and I double-checked the route I had planned. I knew it included some portions of cycle ways and gravel. Sure enough, the first of those was right at the top of the next hill. And the road started to climb right at the edge of the village of Stetten.

The road was wet with melting snow, but as long as I stayed away from the iced-over outer edges I should be fine. After all, my 28 mm slicks actually measured 30 mm wide. But riding on the slush-covered shoulders was definitely not going to happen.

I had mounted a furiously blinking red LED light onto the back of my helmet, and another bright dot shone from down at the left chainstay of my bike. Cars generally took a wide berth around me, but the sheer speed at which they passed was frightening. A constant WOOOSH, WOOOSH of SUVs, station wagons and sports cars … after all, this region is home to the Mercedes-Benz and Porsche headquarters, and Audi as well as numerous suppliers for the automotive sector make south-west Germany in general very much an automobilist’s dream.

Just before the end of this first, steep and long climb, I noticed a car slowly driving behind me. Great. Someone careful enough not to overtake immediately before the top of a hill. I was positively surprised, and grasped this opportunity to signal my intention to take a turn to the left, across the oncoming lane and off the main road, to continue into the forest road I had planned to take. Sure enough, the motorist behind me let me complete my manoeuvre … but then literally smashed his horn, honking violently until we both were out of sight. Whatever. People!

About 100 meters later, and bike, mascot and me were in winter wonderland.

For a couple of kilometers the ride followed one of those pristine gravel paths that are also typical of this region. It was now covered in snow, and I certainly had to be careful not to stray off-piste. But the sugar-coated branches and twigs had me finally, on the last day of the year, get into some semblance of a festive mood.

This almost unreal part of my tour was followed by continually worsening conditions: First the falling snow thickened, then turned to sleet, and over the course of the next two and a half hours went from drizzle to pouring rain and back to drizzle.

Luckily, the temperatures stayed above freezing (and the ground had apparently not been completely frozen through), or things might have gotten nasty rather quickly. Road maintenance had been out and about covering everything with a thin layer of salt and sand. And, sure enough, I encountered the odd service vehicle, now clearing the bike paths. But until reaching the valleys of Neckar and Rems, I mostly stayed on the main roads, ignoring angry honks and close passes as best I could.

By the third hour of my journey weather slowly turned again. Increasingly, I saw patches of lighter grays and eventually even blue shining through. I made quick progress and arrived at the picturesque town of Strümpfelbach. Here, the ascent up to the Aichwald-Schurwald ridge began — my penultimate climb for 2020. From up on the plateau around Schanbach, I let it run … perfectly maintained, wide tarmac continually yet gently rolled downhill towards Plochingen. And when only a short while later I crested the final ridge north of Kirchheim unter Teck, I knew that I had already passed 7,500 vertical meters and bagged the December Cycling Climbing Challenge.

All beforementioned goals for the eight days between Christmas and New Years Eve completed, I switched stored the bike for the night (it would require some cleaning the next day). But enough of cycling for the year. The remaining hours of 2020 would be filled preparing and devouring pizze and a huge bowl of salad, together with suitable Italian beverage and in good company.

Not the worst way to end this year.

Let’s make 2021 a better one.

And for all of you interested in the data for all the rides mentioned here … I didn’t want to clutter the journal-style account above with even more links and have this entire piece resemble a single, huge Strava advert .

Have fun perusing the following list: