This one’s just a minor but significant (to me) blog update. It’s not really even worth bringing others’ attention to it, except that I’m pleased with how I was able to make it work. So what is it?

Yawl know that there’s a sticky/pinned post pinned to the top of my blog with charts that track my Fitness as of my most recent ride.

And one of those charts has always shown my Fitness for the current calendar year.

The problem was: when the year is new (like it is now), that chart would be mostly empty, and it would take weeks or months for it to show any kind of meaningful data.

The obvious solution was to stop segmenting the chart by calendar year, and instead have it show my Fitness over a rolling 12-month period, kinda (exactly) like what you see below. That way it always shows a full year’s worth of data, with new data being added every day, and old data points rolling off.

Setting this up to happen automatically – without any user intervention – required a little tech wizardry to implement, but it’s now done and live on that pinned Up-To-Date Fitness Charts posting. I think it’s a nice little enhancement, and just wanted to call it out so that folks can take note of it.

Here’s what it looks like:

Every year has its ups and downs, and its major milestones. But every so often something happens that is so significant that you can divide your whole cycling career — perhaps even your entire life – into “before” and “after”.

2024 started quite well; I was riding consistently, tried some new things, made a few events, but missed a few others. In the first nine months of 2024, I knocked out 7,000 kilometers, an average of 25.75 km per day.

Showing off the Austin skyline during my Pan-Mass Challenge ride.

Showing off the Austin skyline during my Pan-Mass Challenge ride.

And then there was October 4th: my stroke. Thankfully it was extremely minor, but it negated all my plans and goals as a cyclist in an instant. It reduced everything I’d done before then to history, forcing me to begin again from scratch.

The good news is that I’ve recovered remarkably well. As I mentioned in my first post following my stroke, I’ve prioritized riding the indoor trainer over riding outside. Since I got back on the bike in mid-October, I’ve logged another 2,000 km, or about 25 km per day, a rate which is almost even with my pre-stroke riding.

My plan was to get back out on the road this spring to test my capabilities. But that’s the future; for now, let me look back on the past year and give you an idea how things went both before and after October 4th.

All told, I knocked out a total of 9,250 kilometers, or the distance between London and Tokyo, or from Los Angeles to Rome. That actually surpassed my 2023 total by 1,000 km, and my riding was split 63% outdoor rides and 37% Zwift.

As for whether I met the goals I’d set for myself…

My Original 2024 Goals

Ushered in 2024 with a New Years Day Pan-Mass Challenge group ride on Zwift.

Ushered in 2024 with a New Years Day Pan-Mass Challenge group ride on Zwift.

I returned to the Fire Ant Tour metric century for a second year.

I returned to the Fire Ant Tour metric century for a second year.

Tried the Team Tacodeli group rides, but barely saw anyone but these two…

Tried the Team Tacodeli group rides, but barely saw anyone but these two…

I was again a regular at the Friday Truancy group rides, tho I struggled to keep up.

I was again a regular at the Friday Truancy group rides, tho I struggled to keep up.

Last year at this time, things were still up in the air following our move to Austin, so my 2024 goal-setting exercise was short on specifics. But I did call out three specifics areas of focus.

More 100k and Century Rides

2024 was a little better than 2023 in terms of long rides, but there were also a lot of missed opportunities.

On the plus side… I did complete two centuries: my first Red Poppy Ride, and my solo Pan-Mass Challenge Day 1. As for metric centuries, I rode my second Fire Ant Tour, plus two solo rides out to Manor, one of those comprising my PMC Day 2.

But the list of excuses and missed rides is regrettably long. I didn’t feel ready for the early-season Pedaling the Prairie or the two-day Texas MS 150. I skipped the Tour de Boerne so that I could make a rare kyūdō practice at the outdoor range. I canceled my planned Katy Flatland Century when I learned that the local Trek club was hosting a long tour around Austin, which I still missed because I contracted COVID. And my second Livestrong Challenge eluded me when I had a stroke two weeks before the event.

So I was both happy and a tiny bit disappointed with the first nine months of the year. And after my hospitalization, long rides just weren’t in the cards anymore.

Find My Group Ride Niche

I continued my frustrating quest to find enthusiast-level group rides in Austin.

Continuing last year’s trend, I regularly attended the Friday Truancy rides, making 28 of them before being sidelined by my stroke. However, for the first time in my life I was utterly incapable of keeping up with the group. So, for me, these still wound up being essentially solo rides: group rides in name only.

I did try riding with Team Tacodeli on Monday evenings, which were shorter and at a more moderate pace. I joined them five times in June, but three of those were only attended by two other riders, and once I was the only rider to show up at all! Then they went on summer hiatus, and that was the end of that. To my knowledge they haven’t resumed on any regular basis since.

So despite giving Team Tacodeli a fair shot, I still haven’t found what I’m looking for.

A Big Pan-Mass Challenge

On a much more positive note: after skipping the event in 2023, I enjoyed a tremendously successful return for an 18th PMC ride. In brief, it was:

  • My first PMC ridden remotely in Austin
  • My first PMC as a member of Team Kermit
  • My first PMC as a sexagenarian
  • The ride went really well
  • I enjoyed creating an awesome 2024 PMC highlight video
  • And I raised $7,300 for cancer research; a stunning 62% increase over my previous ride (2022), bringing my lifetime fundraising total to $130,800

My ride video and all the deets live in my 2024 PMC Ride Report.

So in terms of meeting the goals I’d set for 2024, I’d say I did okay. It certainly could have been better, but I’m still happy with how it went.

Charts

Because I kept riding throughout the winter of 2023-2024, I had virtually no drop-off in my Fitness level, as measured by my Chronic Training Load (CTL) numbers.

Previous years – including my first year in Austin – featured a lot of variability, characterized by peaks in Fitness during the summers, and troughs in the winter. In contrast, my Fitness stayed almost constant throughout 2024. Thus it wound up being my most consistent year on record, as you can see in the following chart.

Cycling Fitness: 2011-2024

To quantify how steady it was: in the decade from 2012 to 2023, the standard deviation of my Chronic Training Load averaged 16.7 – and it was never less than 11.7 – but in 2024 it was just 4.9! And it was actually a mere 3.5 before I contracted COVID in July and my stroke in October, which were the only noteworthy hiccups in my training all year.

Another way of looking at it is to compare my Fitness with my long-term average, as you see in the following chart, which zooms in on 2024:

Cycling Fitness: 2024 Calendar Year (vs. average)

In a February blogpost, I predicted that my my natural response to having rideable weather year-round would produce a much flatter curve than in previous years. I projected that my Fitness would be higher than average during the winter months, but during the extreme heat of summer it would never reach my usual peaks… and might even decline slightly from springtime highs. And that’s exactly what happened in 2024.

Basically, this is what I think it’s gonna look like to be a year-round cyclist in Austin.

The Centuries

Big turnout at the start of the Red Poppy Ride, my first century of the year.

Big turnout at the start of the Red Poppy Ride, my first century of the year.

Early morning haul down Lime Creek Road toward Volente on my 2024 Pan-Mass Challenge century.

Early morning haul down Lime Creek Road toward Volente on my 2024 Pan-Mass Challenge century.

All I can say is that two is better than one. After one lone imperial century in 2023, I was eagerly planning for Livestrong to bring my 2024 tally to three, but greater concerns intervened. But the two I did complete were:

5/11: Red Poppy Ride

Although marred by a flat tire and criminally bad route markings, this was a delightful return to long-distance riding, and a big relief after the bad experience I had on the 2023 Livestrong Challenge (blogpo). But this ride’s challenges still prompted me to invest in new tire levers and a tire jack.

8/3: Remote PMC Day 1 Century

I’ve already covered this above, but my 110th century and 18th PMC was the biggest high point of my year.

It’s still a little premature to say for sure, but it’s worth mentioning: considering my age and health issues, it’s possible this was the last imperial century that I will ever ride.

Noteworthy Purchases

This year’s spending report falls into two main categories: a ton of mostly minor maintenance stuff, and not one but two automated selfie camera drones.

The first of those drones – the HoverAir X1 – created the entire category of selfie drones, and would have been the best purchase of the year on its own, after giving me the ability to take pretty decent video footage of myself while riding.

But later in the year they released the X1 PRO, which took the groundwork laid by the X1 and improved upon it immensely. I’ll spare you the details, and instead point you to my Gear of the Year blogpost for a full writeup. But in summary, it’s a fantastic piece of equipment that I hope to make even more use of in the upcoming year.

Here’s a two-minute compilation video I made that only uses footage from the original X1. Starting next year perhaps I’ll add a new section to my year-in-review post for an annual cycling highlight video!

Beyond that, my purchases were all pretty regular stuff.

In terms of new kit, I got a new cycling jersey for riding the 2024 Pan-Mass Challenge, and ordered three sets of PMC-branded fingerless gloves. As a team rider, I also purchased a 2024 Team Kermit jersey, and received a couple PMC-branded insulated (non-cycling) water bottles that our team captain had surplused from the ride organizers.

After struggling with hydration on last year’s Livestrong ride, I picked up a bottle of SaltStick electrolyte gelcaps. I’d used them back in Massachusetts in 2010 for cramping, but hadn’t noticed any obvious benefit; however, I was willing to give them another shot in order to help me deal with Texas’ heat. Results continue to be inconclusive.

Routine maintenance included buying inner tubes, CO2 canisters, a new tire, a replacement saddle bag, helmet padding inserts, and a new heart rate monitor. Also had to replace a battery cover on my Garmin power meter pedals, which I’d over-tightened and had to destroy to get into. And I got a new electric shaver (for the legs, of course).

In hopes of alleviating some of my tire-changing worries, I replaced my Park Tool tire levers with ones from Pedro’s, and a funky tire-seating device called the Rehook Tyre Glider; but I actually didn’t get to test either of those, so I can’t say they were of any value. I also tried my hand at patching punctured inner tubes with vulcanizing glue patches, which was an almost universal failure.

So really, aside from the selfie drones, it was a pretty underwhelming year in terms of equipment.

Additional Highlights

Dramatic backdrop on the new Walnut Creek bike path extension to Manor during my PMC Day 2 ride.

Dramatic backdrop on the new Walnut Creek bike path extension to Manor during my PMC Day 2 ride.

A stunning sunset atop Turn 1 at the Circuit of the Americas F1 track.

A stunning sunset atop Turn 1 at the Circuit of the Americas F1 track.

Unlocked Level 80 on Zwift’s indoor trainer platform.

Unlocked Level 80 on Zwift’s indoor trainer platform.

Proved there was no drop in my FTP after my stroke on Zwift’s new “The Grade” hill climb.

Proved there was no drop in my FTP after my stroke on Zwift’s new “The Grade” hill climb.

Team Kermit group photo at the finish line of the 2024 Livestrong Challenge.

Team Kermit group photo at the finish line of the 2024 Livestrong Challenge.

Obviously, the highest-impact unplanned event of the year was my stroke, and starting my cycling life over from scratch. So far, my recovery seems near complete, even though I’ve kept my focus strictly on the indoor trainer so far. And I also recovered from my first bout of COVID in July.

But before my stroke, there were still some nice surprises. The Southern Walnut Creek trail was extended another nine kilometers to the town of Manor, which could serve as a gateway for rides farther to the northeast of Austin. And I made two trips down to the Circuit of the Americas Formula 1 track for Bike Nights, which is the same number of sessions I made in 2023. Sadly, illness forced me to miss their first actual post-sunset “under the lights” night ride.

Life on the indoor trainer was eventful. My Kickr CORE smart trainer got its first firmware updates in 2½ years, adding automatic calibration, which is a nice convenience. I also picked up Zwift Play handlebar-mounted controllers, which provide several convenient functions, including virtual shifting (which I disliked) and in-game steering.

Within Zwift’s virtual world, I began the year at Level 62 and finished at Level 81, although after four poorly-conceived redesigns, they’ve botched the XP system so horribly that levels just don’t mean that much anymore. In addition to an updated heads-up display, Zwift introduced a couple dozen new routes, including two small but noteworthy expansions: The Grade, a hilly section which features a short-form FTP test; and an updated copy of Zwift’s original 8 km Jarvis Island loop. So it took some work for me to reinstate my “Route Hero” status. And after having avoided the initial hoopla, I finally checked out Zwift’s Climb Portal, and had the pleasure of riding up Mt. Fuji while that route was featured back in May. Four years later, I’m still waiting for Zwift to bring it to their permanent Japan-inspired Makuri map.

But I have to call out two of my formerly-favorite vendors, who made stupid, user-hostile decisions that have me seriously reconsidering doing business with them.

Garmin Screws Its Users

I’ve been using Garmin’s portable GPS units to plan routes and record rides since 2000, using the original yellow eTrex, the eTrex Vista, the bike-specific Edge 800 and Edge 820, and about 18 months ago I picked up their newest bike computer, the Edge 840 Solar, which I reviewed here.

For the past two and a half decades, when you connected a Garmin GPS to your computer, it would appear as a disk drive that you could interact with just like any other: copying and moving files on and off the unit as desired. It was incredibly convenient, and one of my top criteria when evaluating bike GPS units.

However, a December update disabled disk access in favor of MTP, simulating an Android device that the user cannot interact with directly.

This is an immense pain in the ass for me. I have automated programs that rely on disk access to automatically save copies of my logs after every activity I complete. Furthermore, I use disk access to backup all my user data, settings, and key system files quarterly. Garmin’s change means there is no way for my programs to read anything on the device, or for me to manually copy files from it.

So far I’ve been able to decline installing the update that does this, but that also means forgoing all future fixes and enhancements. There are shareware programs that give some limited access to MTP volumes, but they’ll never be as scriptable as the simple file system disk interface.

As I said, being able to programmatically read files from the unit is one of my most important criteria when buying a bike GPS. If Garmin is no longer going to support that, it forces this longtime Garmin user to very seriously consider moving to their competitors.

Strava Screws Its Users

Despite being the incumbent athletic social network, Strava has a long history of lack of innovation and user-hostility. But this year they’ve shown a newfound ability to screw their customers.

First, there was their amateurish handling of a substantial price increase, which was never publicly announced and varied pricing dramatically by country.

Next, Strava alienated or outright forbade the API-based applications that most athletes rely on. By prohibiting third-party applications from showing one user’s data to anyone but that user, they immediately destroyed a whole ecosystem of communities that rely on their data, including athlete coaching, athlete leaderboards, and the ability to sync Strava data with other platforms. Strava has stupidly banned the very apps that make it useful to its customers!

Finally, in another completely unannounced change, Strava stepped up its effort to get rid of spammers. But in typical Strava fashion, they completely botched it. Instead of using technology to identify problematic users, they simply decided one day to ban every Strava user from using URLs. Suddenly overnight, and without any notice, any link posted in a user profile, an activity description, or a post simply disappeared, with no error message or notice. Worse yet, this was so poorly coded that even decimal numbers like “30.4 kilometers” were deleted for looking too much like those dreaded URLs!

This is all just so typical Strava, and it absolutely underscores the company’s completely user-hostile orientation. Needless to say, I’m unlikely to renew my paid subscription when it comes up for renewal next spring.

Blogposts

In recent years, I’ve had less to say in blog form, and loaded more of those things into my usual ride reports or my annual year in review. But here’s this year’s inventory:

Goals for 2025

Ornoth's 2024 cycling calendar/log

Ornoth’s 2024 cycling calendar/log

My 2024 Strava Year in Sport summary

My 2024 Strava Year in Sport summary

For the past few years, this section could have been shortened to just “more of the same”. I wish I could say the same again for 2025, but my life as a cyclist has changed at a fundamental level, forcing a complete reset in my expectations. So we start with my most basic and important goal:

Stroke & Cardiac Recovery

While the symptoms of my stroke have long passed, the followup continues, with several hematology and cardiology visits planned.

I have two more months of relative normailty, but then I will have cardiac surgery to repair a hole between my atria, and will be under doctor’s orders for absolutely zero exercise for all of March and into April.

Once I’m cleared to exercise again, cycling life will start from scratch all over again, while I first test whether I’m okay to ride, then rebuild some fitness, and finally test my endurance and learn what demands my body will still be capable of meeting.

My questions won’t have changed much since I came home from the hospital: Will I be able to participate in group rides? Can I still do a metric century? An imperial? Will I be able to trust my body again? Can I ever return to what used to be “normal”?

My 19th Pan-Mass Challenge?

Sadly, the PMC is once again a big question mark. While I really want to do it, I won’t have any idea what’s physically achievable until May, at earliest.

Even if I were in perfect health, there are still a lot of questions up in the air. Would I try to simulate the full 2-day, 300 km route? Would I still do it in August, or perhaps choose a different time? Would I ride as a member of Team Kermit or return to being a solo rider? And will I have time and energy to fundraise?

Like everything else, I won’t have any way to answer these questions until I get through my upcoming heart surgery.

More, Better Videos!

Whatever riding I do, I hope to capture it with the newer, more capable HoverAir X1 PRO autonomous selfie drone. With video quality, subject tracking, and speed all improved, I’m excited to see what I’ll be able to do with it, and equally excited to share the results with you in this cycling blog and on my Strava feed.

My trusty steed waits, ready for another summer in the Texas sun.

My trusty steed waits, ready for another summer in the Texas sun.

Some Anticipated Purchases

Having spent the past three months on the indoor trainer, I’ve been sitting on a few ideas for next year’s cycling upgrades, including the following:

On the bike: After two years and almost 18,000 kilometers, my bike could probably benefit from its first thorough tune-up. And some new bar tape.

Cycling kit: Although my current ones are only 18 months old, I could probably use a couple new pairs of bibshorts. And my Shimano cycling sandals really need to be replaced.

As for tires: I’m really tired of struggling to get my Conti GP5000 tires mounted on my tubeless-ready rims, so when they wear out, I’m going to replace them with Pirelli P-Zero tires and see how that goes. And I’m perpetually on the fence about whether I should try running lighter and higher-performance latex or TPU inner tubes, instead of the much more convenient and economical default latex. Maybe next year we’ll give those a shot; just don’t expect to ever see me going tubeless!

My Previous
Annual Summaries

2023 2022 2021
2020 2019 2018
2017 2016 2015
2014 2013 2012
2011 2010 2009
2008 2007 2006
2005 2004 2003

Conclusion

2024 started well, but ended on a sour note. The high points that I’ll remember include a very successful first solo Austin PMC ride, and the purchase and videos captured with my first autonomous selfie drone.

But by far the most defining moment of the past year was my stroke. It was a miracle that I came away from it without any significant loss of function, but also a very grim reminder that one’s time is limited, and life can disappear in any instant. And my upcoming cardiac work casts an immense shadow onto 2025 and beyond.

It’s hard to get past that realization and return to making plans and setting goals as if nothing had changed.

And at the same time, it underscores how precious every day – and every ride – is, how big a blessing it is simply to be able to get out, travel around under our own power, and experience nature and the world around us.

That’s the attitude I’ll try to bring with me on every precious ride this year as I deal with my surgery, then try to recover enough to resume outdoor riding.

Happy 2025 to everyone I share these roads with!

It was the most of times; it was the least of times. My 2023 cycling year was very noteworthy, but in ways that were mostly peripherally related to riding my bike.

Welcome to the new hometown!

Welcome to the new hometown!

On the downside, I began the year off the bike for two months due to our move from Pittsburgh to Austin and subsequent discovery of a fatal crack in my beloved primary bike of the past ten years. Then I lost another month in September for a warranty replacement of the rear wheel on my new, successor bike. I only completed one century – my fewest since 2007 – and vomited right after finishing it. Throw in a couple frustrating flat tires, the challenge of navigating a new town, and the harsh reality of turning sixty years old. 2023 provided a litany of disappointments, and my Fitness and distance numbers reflected it.

But there were a lot of major high points, too. I got a brand new bike that I love, at a steal of a discount! I replaced my old, frail bike GPS with Garmin’s newest model, which has tons of cool new features and reliable battery life! I enjoyed meeting local cyclists and exploring my new hometown of Austin, and even got to bike on a Formula One race track! At my first Livestrong century, my old grammar school friend Scott came down from New Hampshire; it was also my first event as an official member of Team Kermit, and I got to ride with several old and new Pan-Mass Challenge friends who had flown in from Boston!

From an athletic standpoint, 2023 wasn’t a superlative year, but a decent one. And I’m pleased by all the memorable stuff that did happen.

My Original 2023 Goals

At this time last year, my bike and all my cycling gear was locked away in a moving van in an unknown location somewhere between Pittsburgh and Austin, while Inna and I spent our last couple days in Pennsylvania at her mother’s apartment.

Therefore I had no idea what cycling in Austin would be like, or even what our lives would look like when we got there. So it made no sense setting any specific goals for 2023. The new year was going to be imperfect, but that meant that whatever I did achieve would be gravy.

However, I did list four general themes that I thought would be foremost. They were:

Moving and Orienting in Austin

I knew this year’s biggest change would be finding my niche in a new city, and I did okay, as outlined in my Austin On-Ramp blogpost. However, I still need to put more energy into this, in every category of knowledge. I explored a few group rides, but there are several more that I haven’t. I’m familiar with a few bike shops, but still haven’t found “the one”. I’ve done a couple big event rides, but nowhere near as many as usual. Similar to my move to Pittsburgh in 2015, I’ve leveraged Strava’s Flyby feature and other riders to find some good routes for solo riding, but my options are still extremely limited. So orienting myself and finding my crew is still a work-in-progress.

All smiles on a scorching Friday Truancy group ride

All smiles on a scorching Friday Truancy group ride

Showing off the new 2023 Æthos

Showing off the new 2023 Æthos

Celebrating another XP-filled Tour of Watopia on Zwift

Celebrating another XP-filled Tour of Watopia on Zwift

Another looming concern with the move was coping with the Texas heat, and the summer of 2023 delivered, with no less than 78 days above 37°C (100°F). I continued to ride through it, but limited myself to short rides first thing in the morning… Except for the Friday Truancy group ride, which – despite being the most congenial group ride I found – was often a challenging mid-afternoon scorcher!

I knew I couldn’t commit to riding 10,000 kilometers this year, but thought I might be good for 8,000 KM – the same as last year – which I surpassed. In actuality, I rode at an 11,000 KM per year pace for nine months of the year, but couldn’t ride at all for the other three.

Amusingly, in last year’s writeup I mused that “I might go and buy myself a new steed”. That happened unexpectedly at the start of the year, right after the move, when a local shop discovered a crack in my old bike’s frame. More about that below, where I talk about the year’s purchases.

18th Pan-Mass Challenge and $125,000

I kinda knew that I wouldn’t be able to do a remote PMC ride this year. I had no idea what I could use for a route, what the August heat would be like, whether I’d have the time to do the required fundraising, or if I’d be in physical shape for 300 KM over two days. So I bagged it, and rode a lesser substitute: joining the PMC’s visiting Team Kermit to ride Austin’s Livestrong Challenge in September. Goal deferred; I’ll reconsider this in 2024.

Zwift Level 60

I also didn’t know how much I’d use the smart trainer in Austin, but I did rack up 3,400 indoor KM, which was was more than 2022. Although it can be prohibitively hot or cold to ride in our uninsulated and unheated garage, Zwift incentivized me by creating new roads and moving the Tour of Watopia from March to October. And in December I completed my fifth year on their platform.

I advanced from Level 53 to Level 58 on my slow and painful trudge toward Zwift’s pinnacle: Level 60. Then, with a month left to the year and 85% of the way through Level 58, Zwift moved the goalposts. On one hand, they made it easier to reach Level 60 by reducing the amount of XP needed to level up by about 75 percent. But at the same time, they made it harder to reach the top XP level by tacking on forty new levels, from 61 to 100!

The easier leveling let me zip through Level 59 and reach Level 60 in a matter of days, even finishing the year on Level 62. Although I achieved my goal of reaching Level 60, it’s just not as satisfying because Zwift made the last couple steps much easier to achieve.

Health and Turning 60

On the other hand, no one made the “Turning 60 years old” achievement any easier. I definitely checked that one off, and my flagging on-bike performance showed it, as I discussed in this blogpo.

Fortunately, my time in the saddle wasn’t limited by my health. A heart monitor investigating my cardiac palpitations produced a mostly clear result, with the interesting side-note of registering a sleeping low heart rate as low as 37 BPM! Otherwise there were the usual inconveniences: threw my back out, saddle sores, saddle abrasion, and the joys of colonoscopy prep.

The biggest health question I faced was how to manage heat and hydration in order to avoid problems like I experienced on September’s Livestrong century ride. Before moving to Texas, I could easily do a century without paying much attention to that equation, but now it’s something I really need to solve.

Charts

This year I made my Fitness charts a little wider, and added red vertical lines denoting significant dates. These make it a little easier to see major changes and some context for why they happened.

Let’s begin by comparing 2023 to previous years.

Cycling Fitness: 2011-2023

There’s really three things to note here. First, due to the move, I started 2023 at my lowest level of Fitness (as measured by CTL) since January 2017. Second, 2023 continued a clear trend of decreasing Fitness highs from my recent peak in 2021. As any stock analyst will tell you, a sequence of lower highs and lower lows makes for an unhappy trendline.

And finally, my level of Fitness in 2023 was quite similar to 2018, which was my last year without an indoor trainer; a year that was hampered by tons of travel, record-setting rain, plus malaise and fatigue following the intensely challenging Dirty Dozen ride the preceding fall.

That comparison to 2018 is extremely apt. If you count by Fitness or long rides or number of hours on the bike, 2023 was my worst year since 2018.

So let’s take a closer look at how 2023 unfolded in detail:

Cycling Fitness: 2023 Calendar Year (vs. average)

The year breaks down into five distinct periods: down, up, flat, down, and up; all of it swerving above and below the grey line that represents my average Fitness level throughout the year.

I didn’t ride at all in January, while we were still unpacking from our move. In February, I brought my beloved, ten year old bike to the shop for a major overhaul, only to learn that there was a crack in the frame. I put a few miles on my old folding bike while I waited for Specialized to decide whether I was eligible for their Assisted Replacement Policy, and then procure and assemble my new steed. After more than two months off the bike, my Fitness was at a six-year low, way behind where I’d normally be.

Then the “up” phase. When I finally received my new Specialized Æthos, I rode every day for two months straight, as shown by my steadily increasing Fitness in March and April. When my consecutive rides streak ended on May 1th, I was well ahead of my usual training, and at my peak Fitness for the whole year.

I rode regularly during the summer months from May into September, but coped with the Texas summer by only doing short rides, early in the morning, and focusing on the cheeky goal of being the rider who did the most ascents (within 90 days) of the notorious Ladera Norte climb. With no major events and low riding volume, my Fitness plateaued just below my seasonal average. Summer ended with a secondary Fitness peak in September following the Livestrong Challenge, my only imperial century of the year.

But my planned autumnal riding came to a screeching halt when I discovered that during the Livestrong ride, a rock strike had broken my carbon fiber rear wheel rim. I spent the next month off the bike completely, my Fitness plummeting again while I waited for Specialized to get me a warranty replacement.

Once that was fixed, I was back where I’d been in March: spending most of the fourth quarter recovering the Fitness I’d lost during my hiatus. But similar June’s recovery, I ended the year at a tertiary Fitness peak, well ahead of my wintertime average, and that will carry over into the nascent 2024 season.

In the end, it was a year dominated by stops and starts, but I still accrued a respectable 8,250 KM of riding.

The Centuries

I rode with Team Kermit at the Livestrong Challenge

I rode with Team Kermit at the Livestrong Challenge

Ornoth limping across the finish line

Ornoth limping across the finish line

Pæthos at autumnal Lake Austin

Pæthos at autumnal Lake Austin

But it was a terrible year in terms of long rides. Between bike repair woes, lack of fitness, unfamiliarity with the area, and prohibitive Texas heat, I only attempted one imperial century in 2023. That’s the fewest I’ve done in sixteen years, since 2007.

In fact, I only did seven rides over 100 KM (62 miles): four Zwift fondos on the indoor trainer, a ride down to the Veloway and back, the Fire Ant metric, and my one century, which was:

9/10: Livestrong Challenge

While I only did one – and suffered tremendously, vomiting shortly after finishing – at least it was noteworthy. It was:

  • My first and only century of 2023
  • My first imperial century in 11 months
  • My first century in Texas
  • My first century on my new bike: Pæthos
  • My first century with my new Garmin Edge 840 Solar bike GPS
  • My first event as an official member of Team Kermit
  • My first Livestrong ride

Noteworthy Purchases

In contrast, 2023 was an incredibly productive year for the “procurement department”. With so many new toys, I’ll try to keep it brief…

Topping the list is my new bike: Pæthos, a Specialized Æthos that Specialized gave me an unexpectedly generous discount on. It’s been a very worthy addition, carrying on the performance endurance lineage that my previously-favored Roubaix model abandoned when it went all comfort/gravel/gimmicky. I’m slowly transitioning my kit to match its understated “Chameleon Oil Tint / Flake Silver” (aka black & white) design. My only complaint was the short-lived carbon wheels, which Spesh replaced after the rear wheel broke on its first century ride. Otherwise it’s been a complete delight. In-depth review here.

With a new bike came a handful of new accessories. Hearing rumors of fragility, I picked up a spare seatpost clamp and derailleur hanger in case of breakage. Frustration with flat tires led me to pick up a bunch of spare inner tubes, a CO2 dispenser, and a new Lezyne mini-pump. The latter frees up the bottle cage mount that my old frame pump occupied, so I have finally added a second bottle cage, which will be handy for long rides in the Texas heat. Also a handful of plastic disc brake spacers.

There’s been lots of regular gear replacement as well, including a new Garmin HRM-Dual heart rate monitor, and two new pairs of Craft bibshorts. The new bike needed to be supplied with 28mm Conti GP5000 tires, and a new set of name tag stickers (this time in white, to match Specialized’s own logo decals).

After the bike, another huge development was upgrading my bike GPS head unit from my decrepit old Garmin Edge 820 to the long-awaited new Edge 840 Solar. It too has been an absolute delight, so it also warranted its own separate in-depth review. Since that writeup, Garmin has added the ability for the head unit to display images and photos in incoming text messages.

In addition to new daily-wear bibshorts, I gained a couple other bits of new kit. A jersey from the Buddhist Bike Pilgrimage: a ride I completed back in 2012. And a 2023 Livestrong Challenge jersey, which I earned for surpassing $500 in fundraising. And my very own 2023 Team Kermit jersey and bibshorts. The team uniform even included my very own Kermit the Frog stuffed doll for mounting on my helmet: a traditional (but decidedly non-aerodynamic) part of the team kit.

My most recent purchase was an Ekrin Bantam cordless massage gun, which has been delightful to use, but its effectiveness and safety are still under evaluation.

And finally, the most notable addition to my indoor pain cave was Zwift’s Play controllers. These mount to your handlebars and offer lots of shortcut buttons for in-game actions. But the most useful function they provide is the ability to steer, allowing you to position your avatar in or out of the draft or take an optimal line through corners.

Big sky fulla giant Ornoths at the Fire Ant Tour

Big sky fulla giant Ornoths at the Fire Ant Tour

Bike night at the Circuit of the Americas

Bike night at the Circuit of the Americas

Red Bud Isle (more green than red, akshually)

Red Bud Isle (more green than red, akshually)

Additional Highlights

Naturally, moving to a new city produced a lot of new experiences. I rode a challenging Fire Ant 100k up in Gatesville. I got to ride on Austin’s dedicated cycling circuit, the Veloway. I spent two evenings “zooming” around the Circuit of the Americas: Austin’s Formula One grand prix track. I joined more than a dozen Friday Truancy group rides. And it was great hosting old and new New England friends on Team Kermit rides in the lead-up to the Livestrong Challenge.

Flats – and a non-functioning frame pump – were a problem this year. I had to call a Lyft rideshare to get home after a quadruple snakebite on Blue Bluff, and also walked to The Peddler for repairs after taking a screw on 51st in Mueller. Hence all the new flat-repair equipment mentioned above.

I’m tempted to list out the two dozen Strava “Local Legend” achievements I earned by being the person who rode a segment more than anyone else in a 90-day period, but that’d be a waste. I’ll just mention the two biggies: becoming LCL on Austin’s infamous Ladera Norte climb, and the Friday Truancy ride’s spiker up the Arpdale to Cedarview Kicker.

In terms of Zwift highlights, the indoor training simulator released several enhancements. You can now capture short videos of your ride and share them directly to Strava. They added their new Climbing Portal, the Scotland world, the southern coastal road in Watopia, and introduced the Zwift Play controllers and the Repack Rush steering challenge. As mentioned above, they moved the popular double-XP Tour of Watopia to the fall, and introduced some major (and frankly asinine) changes to the XP system when they unveiled new levels 61 to 100. And there are rumors of more changes in the works.

Blogposts

Goals for 2024

Ornoth's 2023 cycling calendar/log

Ornoth’s 2023 cycling calendar/log

My 2023 Strava Year in Sport summary

My 2023 Strava Year in Sport summary

I knew that 2023 was going to be a chaotic year. Looking forward to 2024, I don’t know if I can plan on it being much better. I’m still learning about Austin and what is gonna work for me here, so most of my goals remain pretty vague.

More 100k and Century Rides

For various reasons, I haven’t done as many event rides as I hoped, so next year I’d like to do more. There’ll probably be another Livestrong ride, and I’m hoping to do the two-day Texas MS Ride in April, and possibly a repeat of the Fire Ant metric. Instead of limiting myself primarily to 100-mile events, as I’ve done previously, I’m thinking of signing up for more 100-kilometer rides, which seem more prevalent and feasible for a sixty year old riding in Texas heat.

Find My Group Ride Niche

I just don’t fit anywhere in Austin’s group ride scene, which is mostly divided between flat-out hammerfests for active racers, and short, plodding social rides for non-athletes. I’m hoping someday I’ll find a ride that splits the difference, much like Pittsburgh’s Team Decaf ride or Boston’s old Quad Cycles rides. There’s got to be more mid-tier endurance and charity riders like me in this area; but where are they?

A Big Pan-Mass Challenge

2024 is kind of a big year for both me and the PMC. It will be the organization’s 45th ride, and they will celebrate surpassing the immense and impressive $1 billion fundraising threshold. For myself, it would be my 18th ride, and bring my own fundraising to over $125,000. And it’d be my first PMC as a sixty year old.

I’m committed to ride, but still stumped by what it will look like. A 300 KM solo ride in August heat doesn’t sound very feasible. I’d consider returning to Boston for the in-person ride, but that’s impossibly expensive, between airfare, hotels, car rental, and transporting my bike. Plus the $6,000+ fundraising minimum is far beyond my current ability, and I’ll have to personally cover any shortfall. I could extend my Livestrong Challenge weekend riding while fundraising for the PMC instead of the Livestrong Foundation… But that’d be in October, rather than on the traditional PMC weekend in August.

There’s just no good option, but the decision needs to be made now, as the traditional PMC route will sell out before the end of January. I wish there was a better choice.

Conclusion

So 2023 was a mixed bag. I turned sixty, said goodbye to my beloved primary bike, was off the bike for three months, skipped the PMC, and only attempted one imperial century. But I also had fun exploring my new town, rode with Team Kermit, got a snazzy new bike, new GPS, a cordless massager, and lots more.

After less than a year, my settling into the Austin scene is far from complete, so that process will be ongoing. I’m looking forward to finding more people, places, and events to enjoy in 2024. Stay tuned to hear how it goes!

2022 began poorly. For the second year in a row, my winter training was interrupted by worrying chest pains, and also a lengthy scouting trip to Austin in April.

However, the majority of 2022 was pretty satisfying. Another year brought another incremental step toward normality following the Covid-19 pandemic. I got to enjoy many of the major events that Covid had interrupted, although I missed some opportunities due to weather and other considerations. As summer turned to fall, I was pretty pleased with how my season had gone.

Ornoth and the Allegheny River, with the downtown Pittsburgh skyline in the background.

Ornoth and the Allegheny River, with the downtown Pittsburgh skyline in the background.

The FTP test that set off my January chest pain and interrupted my training.

The FTP test that set off my January chest pain and interrupted my training.

The first Team Decaf group ride of 2022 at the Point State Park fountain.

The first Team Decaf group ride of 2022 at the Point State Park fountain.

Four friends' ride out to Sewickley, with Suraj, Ornoth, Ben, and Oscar.

Four friends' ride out to Sewickley, with Suraj, Ornoth, Ben, and Oscar.

Ornoth modeling the 2022 PMC Jersey with downtown Pittsburgh as a backdrop.

Ornoth modeling the 2022 PMC Jersey with downtown Pittsburgh as a backdrop.

But the year also ended abruptly. I spent some time off the bike in November, recovering from saddle sores and a tooth extraction, and that was followed by another two-week trip to Austin over Thanksgiving to secure housing. My early winter training was crowded out by the hectic insanity of packing up house in preparation for our move, which is currently in-process. Really… We said goodbye to all our belongings – including my bikes and indoor trainer – on Wednesday, and won’t see them again for a couple weeks!

2022 was a pleasant return to my “normal” summertime routine. However, it might be the last year I’ll enjoy the standard six-month summer cycling season I’ve always been accustomed to. I expect the seasonality of my riding might look somewhat different once I set my wheels down in Austin!

My Original 2022 Goals

As always, let’s begin with how well I achieved the goals I set out for myself when 2022 began…

Go 100% metric

My big New Years resolution was to go fully metric, and that was surprisingly easy. It was like learning a new language, but one with only a couple dozen words and prefixes, so it quickly became familiar to me, to the annoyance of my life partner.

Another 10,000 KM year

My January chest pains and our April travel immediately put me behind the pace I needed to ride 10,000 kilometers in 2022. And my late-year health issues, November travel, and packing meant this goal just couldn’t be met. But I still racked up a thoroughly enjoyable 8,000 KM.

While I’m on that topic, I should mention that 61% of that distance was outdoors, making 2002 the first year since 2019 that I’ve ridden more outside than I did indoors on Zwift!

More major events

This year I enjoyed several events that had been suspended or shortened in recent years due to Covid. In addition to 18 weekly Team Decaf group rides, I returned to the Absolutely Beautiful Country ride, the PMTCC 3-State Century, Pedal the Lakes, and Pittsburgh’s Every Neighborhood Ride. But travel, weather, and cancellations meant I still missed several annual favorites.

Video ride reports

I expected to put together a handful of ride videos this year, following last year’s purchase of a new GoPro action camera. Unfortunately, videos are a lot of work to assemble and put together, so I wound up doing just one 7-minute video for my “reimagined” 2022 Pan-Mass Challenge ride. Still, the GoPro was handy to carry around to capture still photos.

Although not full ride reports, I did capture and post a few brief video clips. Strava began allowing users to attach short videos to their activities, so I took advantage of that cool new feature several times.

Another remote PMC?

Although I attended 21 consecutive PMC group rides on Zwift over the winter, I delayed registering for my 17th Pan-Mass Challenge – my third riding remotely – due to my chest pains. At the last minute, the event I’d planned this year’s ride around changed its date, and then wet weather caused me to do a 130 KM indoor ride on Saturday, followed by a 170 KM outdoor century up to Butler and back. It wasn’t the ride I’d planned for, but it was still fun, and I raised another $4,500 for cancer research and treatment.

Zwift team time trial?

Although a TTT has been on my radar for several years, I’ve always been stymied by the chest pains that come when I push myself to my maximum. Needless to say, it was absolutely not happening this year. I might just have to let this one go.

Bike repairs?

My worn chainrings have become a huge issue, causing frequent chain drops when trying to sprint, but my options for fixing them remain very limited. All the bike shops I’ve gone to have told me the only thing I can do is scour Ebay for used, second-hand parts, which I’m reluctant to do.

I could, of course, replace my entire bike. I’d rather not do that because I really love my R2-Di2, and would rather keep riding it. But after our impending move, this might be something I can look into in the next year or so, once I know exactly what kind of riding I’ll be doing in our new location.

Charts

Every year I post and discuss my training and fitness as measured by my Chronic Training Load (CTL). That’s nice, but I update these charts after every ride, and I thought it might be cool to share that up-to-date data. So this year I added constantly-updated charts to a pinned/sticky post that will always appear at the top of my cycling blog. So now you can see how my year is going anytime you want, here.

But let’s talk about how my 2022 performance compares to previous years. Here’s the chart:

Cycling Fitness: 2011-2022

While it looks like a pretty good year, I never reached the same level of fitness I had in the previous three years. That’s because I started ramping up my training a lot later in the year, thanks to taking time off for chest pains and our trip to Texas. That was followed by a great summer, but I tailed off pretty quickly toward the end of the year due to health and relocation.

Now let’s zoom in on this year in more detail:

Cycling Fitness: 2022 Calendar Year (vs. average)

Here you can really see how much my fitness declined in January, and then again during that April trip to Austin. But after training back up in May and June, I enjoyed a productive summer, with six century-plus rides (the red dots). And note how my fitness plummeted due to health issues in October, travel in November, and packing and moving in December.

Still, six centuries is two more than I did last year. Let’s talk about those…

The Centuries

Rolling through flat, exposed Ohio farmland on the Akron Bike Club's ABC Century ride.

Rolling through flat, exposed Ohio farmland on the Akron Bike Club's ABC Century ride.

What passes for a Pittsburgh sunrise over Lake Wilhelm before setting out on the 2022 PtL ride.

What passes for a Pittsburgh sunrise over Lake Wilhelm before setting out on the 2022 PtL ride.

Ornoth & Phil at Tomlinson Run SP in West Virginia during the 3-State Century.

Ornoth & Phil at Tomlinson Run SP in West Virginia during the 3-State Century.

Ornoth & Phil receive their finishers' medals following the 3-State Century.

Ornoth & Phil receive their finishers' medals following the 3-State Century.

My new Garmin Rally XC200 power meter pedals!

My new Garmin Rally XC200 power meter pedals!

In addition to being two more than last year’s total, none of this year’s six centuries were simulated on the indoor trainer. I hadn’t done six or more outdoor centuries in one year since the good old days before Covid (2019)! And now I haven’t done an indoor “Zentury” in nearly two years (March 2021)!

Not that it was all great. The only reason why I didn’t do an early-season “Zentury” was because of my chest pain. Then I wanted to do the Pittsburgh Randonneurs 200k, but was away in Austin that weekend. I wasn’t trained up enough to do June’s two-day Escape to the Lake. I was rained out of doing my first Sunday in June. The Tour of Mercer County cancelled its century route due to insufficient registrants. The cursed Mon Valley Century cancelled yet again. And the Rough Diamond century on PMC weekend both changed its date on me, and then got rained out!

But neither you nor future-me want to read about rides I didn’t do, so let’s celebrate the long rides that did come off.

5/31: Bunola solo
This familiar route was an important test of both my cardiac health as well as my delayed training. I enjoyed the summery weather, but I really suffered from lack of form.

7/10: Absolutely Beautiful Country
Six weeks later, I drove to Ohio for one of my favorites – the ABC ride – which I last rode back in 2019. The weather was stellar, and my performance felt pretty normal. My only disappointment was that my power meter decided to conk out for the last 30 KM.

7/31: PMTCC 3 State Century
My friend Phil always seems to be my constant companion for this ride, and so it was in 2022. The day was temperate and a bit grey, providing (for once) unchallenging weather. It was a pleasant ride up until about 10 KM from the finish, when it started to drizzle. And then I pinch-flatted on a poorly-set railroad crossing on our finishing loop. But we made repairs and finished the ride.

8/7: Butler solo Reimagined Pan-Mass Challenge
I’d planned my “Reimagined” PMC as the Rough Diamond century on Saturday, but when they moved the date, I was left with no specific plan. When it rained on Saturday, I decided to do a shorter ride indoors, then made up the lost distance with a full outdoor century on a slightly-drier Sunday, using the familiar route up to Butler and back. It wasn’t the ride I’d hoped for, but it was successful enough.

9/3: Pedal the Lakes
Another ride I hadn’t done since 2019, the PtL route had been largely redesigned, broken into 50 and 110 KM loops. It wound up being an overcast, solitary ride, but pleasant, and I finished in exactly seven hours.

10/8: Every Neighborhood Ride
My final century was the always-challenging ENR, which I last rode back in 2018. I rode with the slower group and enjoyed a much less taxing ride. Between the pace, rest stops, and extending it to a full century, it was a 12-hour marathon. It seems appropriate that ENR was my last century before leaving Pittsburgh.

Noteworthy Purchases

This year’s most noteworthy addition has to be my Garmin Rally power meter pedals. I’ve wanted an SPD pedal-based power meter for many years, and I’m delighted with these.

A smaller but memorable change was when I got new brake pads, after suffering three straight flat tires when my worn, misaligned old pads wore through the sidewall of my tire! Gotta remember to keep an eye on that!

I also picked up the Fanttik Apex battery-powered tire inflator, mostly for our car’s steady leaks, but it also came with a Presta valve. However, its compressor is way too loud for indoor use, so I’ll probably only use it to top off before rides I’ve driven to, rather than packing my floor pump.

And I finally picked up something I’ve thought about for a long time: white brake hood covers! I’ll put these on next spring with some new white bar tape. Unfortunately, it doesn’t look quite as good as when I still had my bike’s stock white saddle, but maybe that can be switched up, too, depending on how long the R2-Di2 continues to be my primary vehicle.

Does a cardboard bike box and movers count as purchases? Perhaps not, but this is the first time I’ve ever had to box and ship a bike. Stay tuned to see whether that winds up being a success or a tragedy!

Additional Highlights

I’ve written enough about my chest pains interrupting my early-season training.

Aside from that, this year’s overarching theme has been enjoying my last season in Pittsburgh. But return visits are expected, due to intolerable Texas summers and Inna’s mother still living in Pittsburgh.

This year I was very consistent: I rode almost every single Tuesday, either the Team Decaf outdoor group rides or indoor PMC rides. I only missed a couple weeks, usually because I was in Austin at the time.

I was also pleased when a small riding crew spontaneously formed with locals Ben, Gary, Suraj, and Oscar. But it was also a year marred by friends having big crashes: Ben on a trip to Toronto, Suraj coming off multiple times, and a woman being seriously hurt on one of the Decaf rides.

Another big development was finally moving my blogs off Russian-owned Livejournal. As you know, my cycling blog now lives at https://ornoth-cycling.dreamwidth.org/ and also has a sticky post with my up-to-the-minute fitness charts.

In other social networking news, I started posting short videos of up to 30 seconds on Strava, and started using the ActivityFix plugin to automate some previously manual tasks when I post. And I started moving my fitness data over to the Elevate app rather than the browser plugin, which is being de-emphasized.

I did manage to assemble a video ride report for this year’s PMC ride. Although I haven’t used it yet, I also learned how to synchronize and overlay data from my bike computer on top of video, which could be fun and useful in some circumstances.

And there have been developments on the indoor training front, too. Zwift recently added roads in a new region called Urukazi, which is modeled after Japan’s Ryukyu Islands, and they’ve said that a small Scotland expansion will arrive in the next month or two. Another major update was their release of Levels 51 to 60, and I advanced to Level 53 on my last ride of the year. That also came with some new “fire socks” that leave a cool trail of fire during hard sprints. And I also unlocked the rider jersey from the “Long Riders” cycling anime series.

And then there was a final goodbye to the Plastic Bullet, my first road bike, which saw me through 30 centuries and seven PMCs.

Blogposts

Goals for 2023

Ornoth's 2022 cycling calendar/log.

Ornoth's 2022 cycling calendar/log.

My 2022 Strava "Year in Sport" summary, averaging 22 kilometers per day.

My 2022 Strava "Year in Sport" summary, averaging 22 kilometers per day.

That pretty much covers 2022. What does 2023 hold? Thanks to the move, I have almost no idea! But here’s a couple aspirational guesses:

Moving and Orienting in Austin

This will be a chaotic year, for sure. I’ll be trying to orient in a new city and region, trying to find riding friends, group rides, and some noteworthy major events. I’ll be dealing with Texas heat, belligerent redneck drivers, and SUV-centric roadway design. And I expect my usual seasonality to get all screwed up. After all, Texas presents the possibility of riding more through the winter, but will perhaps force me to ride less in the summer, reversing my usual annual riding pattern!

I certainly won’t be committing to any 10,000 KM distance goal this year, and might even find my time taken up by gainful employment for the first time in years. And then there’s also the possibility that I might go and buy myself a new steed, or at least repair the old one. The move is going to be the biggest change my 22-year cycling career has ever seen.

And for the Yinzers in the audience… Just getting out of our new house’s cul-de-sac is a short 15-20% climb, and there’s a certifiable Dirty Dozen-difficulty hill called Ladera Norte (“North Slope” in Spanish) just 4km from home . So I can’t throw those Pittsburgh climbing legs away just yet!

18th Pan-Mass Challenge and $125,000

Even my remote participation in this year’s PMC is in question. Will Texas provide a suitable outdoor course and tolerable weather – and will I be ready to fundraise and ride it – in August heat? I have absolutely no idea! But I’m on the threshold of $125,000 in lifetime fundraising for cancer research, which is a tempting milestone.

And perhaps a summer trip back to Boston might be in order sometime… although the traditional route’s $6,000+ fundraising minimum would be nearly impossible to meet.

Zwift Level 60

How much use will my indoor trainer get over an Austin winter? Or summer? I have absolutely no idea! But I do know that I’ll continue doing the weekly PMC virtual training rides and progressing toward Zwift’s new peak: Level 60.

Health and Turning 60

While I’m here expressing my hopes for 2023, how about just getting through the year without a cardiac scare or other health issues such as dental surgery, saddle sores, calf pain, whatever… While aging comes with inevitable limitations and loss of performance, it’d be nice to enjoy a healthy last summer before I turn the big six-oh. And maybe I should start giving some thought to how I want to spend this milestone birthday…

Conclusion

R2-Di2 at Mon Wharf with river tug hauling coal barges beneath the Fort Pitt Bridge.

R2-Di2 at Mon Wharf with river tug hauling coal barges beneath the Fort Pitt Bridge.

2022 saw the end of a seven year long chapter in Pittsburgh. I won’t try to summarize my time in Western PA; you need only read backwards through my blog to review those experiences. The cycling here has been superlative in both positive and less-positive ways, but in both cases it’s certainly been memorable, and I’m happy to have met some good people and gotten so much use of the topography of Western PA.

As the calendar transitions to a new year, I find myself making an immense, intimidating, and exciting change as Inna and I relocate to Austin. I hope you’ll stay tuned and continue to share this road with me!

This is a perpetual/sticky/pinned post. It’s not my most recent posting; if you’re looking for that, simply scroll down or click here.

I pinned this post to the top of my cycling blog because the following charts are automatically updated after every bike ride (both outdoors and on the indoor trainer). So you can easily find this entry, which always shows my up-to-date Fitness numbers.

By “Fitness”, I’m specifically referring to my Chronic Training Load (or CTL), which is an exponentially weighted moving average of my Training Stress (TSS) over the preceding six weeks. You can learn more in this video, this web page, or this book.

So without further ado, here are my up-to-the-minute Fitness charts.

The first chart depicts my Fitness level over the past 12 months. Any red dots that appear represent rides of 100 miles or more. For comparison purposes, I’ve included a light grey line to show my normal/average Fitness over the course of a year.


Calendar-year charts: 2025 2024 2023 2022 2021
2020 2019 2018 2017 2016 2015 2014 2013 2012 2011

The second chart shows my long-term Fitness level since 2011, when I first started tracking my CTL. As expected, it peaks during the summer cycling season, and declines during the wintertime off-season, although less so since 2018, when I bought my indoor trainer.

 

Measuring power is the gold standard of performance management on the bike. I’ve waited years for the industry to provide a pedal-based power meter that is accurate, uses mountain bike-style SPD cleats, is reasonably easy to use, and “affordable”.

In 2018 I bought a Wahoo Kickr Core indoor trainer, which allowed me to finally measure my power output over the winter. But when I took the bike off the trainer for the summer, I had to give up measuring power, and go back to estimating power (and thus fitness and fatigue) indirectly based on heart rate data.

Garmin Rally XC200 power meter pedals

However, after over a decade of waiting, last month I opened my wallet and acquired a set of Garmin Rally XC200 power meter pedals. Here’s some background and insight into how it’s been for me so far…

Why pedal-based? These days, you can throw a power meter on a bike in several places: pedals, crankarms, chainring spider, rear hub… A pedal-based system made sense for me because it’s the easiest to install, and the easiest to move from one bike to another. And unlike a hub or indoor trainer, it measures your power output earlier in the process, because some power is lost to friction and inefficiency in the drive train (as we’ll see in detail below).

Why the Garmin ones? One other option, the SRM X-Power, was about the same price, but they have a bad rep with pedals, and just didn’t seem able to manufacture them very quickly.

The only other option would be to buy a pair of non-SPD Favero Assioma pedals, rip out the internals, and plug that into a pair of Favero SPD pedal bodies. That would have been a couple hundred bucks cheaper, but would have voided their warranty, which is meaningful on a nearly $1,000 purchase.

Another argument in favor of the Garmins is that they have 2 to 4 times better battery life than the others.

A lot of this gets covered in exhaustive detail by the incomparable DC Rainmaker in his exhaustive Garmin Rally review from last year, as well as this year’s power meter pedal buyer’s guide.

Some miscellaneous notes: All these pedal-based units are double-sided (a necessary convenience), and also transmit your cadence to your bike computer, eliminating the need for a separate cadence monitor.

Like the Assiomas, the Garmin power meter is housed in the pedal spindle, and can be moved between pedal bodies of different styles. So if I ever decided to switch from SPD pedals to SPD-SL or Look Keo style cleats, I could just buy some empty pedal bodies and plug the power meter spindle right in.

Also, although the Garmins were very expensive, I got a tasty $240 discount thanks to REI’s spring members’ sale. Plus forthcoming reward bucks that could be applied to a new Garmin bike computer, if they were to ever release a new model…

Some usage notes: You need to keep a couple things in mind in addition to your battery life. One is that you need to let the unit acclimate to the outdoor temperature in order to get accurate readings, and that can take about ten minutes if you store and ride your bike in very different temperatures. And then you also need to do a zero-offset calibration about 10 or 15 minutes into every ride. It’s a bit of a bother, but it’s much better than we used to do with older power meters.

One big difference is the weight of the pedals. These pedals weigh 443g; they are replacing my current pedals, which weigh in at 306g. Although I’ll also be removing my dedicated cadence sensor from the bike, which is an additional 10g.

So what data do I get? I’ve already mentioned power (in Watts) and cadence, but there’s a shitton more. You get the power balance between your left and right legs. You get how much time you rode seated versus standing. You get measurements of how much power you produce at all points throughout the pedaling circle (even if that’s not of any practical value to anyone). You get measurements of whether your power is being delivered at the center of the pedal, or off to one side, which might indicate a bit of a fitting problem. And all of these are logged second-by-second for later analysis.

Can this get any geekier? I’m glad you asked!

So one of the biggest questions to ask of any power meter is its accuracy. The first units claimed to be accurate to ±5%, and up til now I’ve been assuming my Kickr is performing up to its ±2% claim. Most power meters these days (including my pedals) advertise ±1% accuracy, but how do I know? Well, let’s compare them against one another!

I’m going to look at two indoor trainer rides. The first is a March 31th 50-minute ride of Zwift’s Tour of Watopia Stage 3 on the hilly Downtown Titans route. The second, longer ride is ToW Stage 2’s flatter Watopia’s Waistband route on April 2th.

For each ride, I simultaneously recorded the power data coming from my Wahoo Kickr Core, and also that coming from my Garmin Rally XC200 pedals. So if things are working correctly, the measurements coming from each ride should be almost identical.

First, the numbers: As expected, cadence was virtually identical between the pedals and the crank-mounted dedicated cadence sensor (I did not take cadence from the Kickr, as trainers aren’t reliable for cadence data).

In contrast, the pedals registered an average power that was 2.7 to 4.1% higher than the trainer. Similarly, average weighted power came in 3.0 to 4.5% higher. Does that mean one power meter is slightly off, and how do we know which one?

No, everything’s fine. That small difference is eminently explainable by that thing I mentioned way back in paragraph four: power numbers coming from a trainer will be lower due to drive train losses that occur due to friction and flexion somewhere between the pedals, crankarms, chainrings, chain, cogset, and trainer. So they’ll naturally report a little lower numbers than pedals, which measure power transfer much earlier in the process. That would easily explain the 2.7 to 4.5% variation I saw.

But interestingly, when you look at maximum power (e.g. sprinting), the difference between the pedals and trainer falls to 0.6 to 1.0%. I haven’t got a good explanation for that yet.

But that’s all just summary data, and averages aren’t a great way to validate data over time. Much more revealing (and interesting) is the second-by-second detailed data. For that, we need some charts!

Next, the charts: So let’s compare the power data for each ride in the DC Rainmaker Analyzer Tool, overlaying the numbers for each ride from our two data sources to see how closely they match up. In all these charts, the red line is my Kickr Core trainer’s data, and the Garmin pedals are in green, and hopefully those lines will be almost identical.

First, let’s look at the power charts for the whole duration of both rides.

Chart: 3/31 power over 50 minutes Chart: 4/2 power over 90 minutes

It’s a little easier to see on the first chart, since it’s less busy, but in general the numbers reported by my pedals and my trainer line up really well, with the pedals giving slightly higher numbers, as expected.

Remember tho that the first chart is 50 minutes long, and the second is 90 minutes. So although things look pretty good (yay!), this is at an extremely coarse level. For a better comparison, we really need to zoom in a little closer. Let’s find a couple representative chunks in the 7- to 10-minute range.

Chart: 3/31 power over 7 minutes Chart: 4/2 power over 10 minutes

And there you go. Aside from the pedals’ slightly higher readings, the ups and downs of the charts are almost identical, close enough that the difference could easily be put down by the devices’ different sampling rates. No dropouts, no crazy spikes, or big differences between the curves.

In addition to a simple time-series comparison, there’s another way athletes look at power that might confirm our conclusion. For a sprinter, your overall power doesn’t matter so much as the maximum power you can put out and sustain over five, ten, maybe thirty seconds. So the critical power curve shows the maximum power you sustained over a particular duration. Obviously, the human body can generate a lot of power in short bursts, but can only sustain a more moderate power over durations measured in minutes and hours.

Unfortunately, as I’ve noted before, I’m keeping an eye on some cardiac issues and my chainrings are so worn that I can’t really sprint without dropping my chain, so my numbers are very pedestrian. Still, we can still draw some conclusions from my critical power curves for those two rides.

Chart: 3/31 critical power Chart: 4/2 critical power

And this perfectly confirms everything we’ve seen so far. At just about every duration, the pedals consistently read 3 to 5% higher than the trainer, as expected. The only variance is at durations shorter than 15 seconds, where the devices’ sampling rates might impact the numbers.

So my overall conclusion is that I can definitely rely on these pedals to produce accurate power data that is very consistent with my indoor trainer, keeping drive train losses in mind.

Unless you’re a cyclist, it’s hard to convey how exciting and interesting it is to finally have a power meter on the bike year-round. At the big-picture level, this means my power data will finally be consistent between indoor and outdoor seasons, thus giving me more reliable fitness and fatigue numbers.

This means I can not only monitor my fitness and fatigue month-by-month and year-over-year, but also precisely quantify and properly pace my level of effort and reserves on a minute-by-minute basis during an individual ride of whatever duration.

Judged against other years, my 2021 cycling season wasn’t bad. It was a refreshing return to a rough approximation of normality after the Covid-19 pandemic mostly cancelled the 2020 season.

In 2021, I enjoyed my first group rides, first centuries, and first major organized event in two years. I also achieved a new record level of fitness, reached Zwift’s maximum experience level, rode my 100th lifetime century, and completed my 16th Pan-Mass Challenge.

Summarized that way, it’s actually a hard year to beat! But I’ve got plenty more to say about it…

Modeling the 2021 PMC jersey in downtown Pittsburgh.

Modeling the 2021 PMC jersey in downtown Pittsburgh.

The first post-Covid Team Decaf group ride

The first post-Covid Team Decaf group ride

Ornoth & Phil overlooking the Ohio River during the Three-State century.

Ornoth & Phil overlooking the Ohio River during the Three-State century.

I completed 42 stages of Zwift's Tour of Watopia.

I completed 42 stages of Zwift's Tour of Watopia.

Banner for achieving Level 50 in Zwift.

Banner for achieving Level 50 in Zwift.

Celebrated completing another Pan-Mass Challenge, backed by my 16 PMC jerseys.

Celebrated completing another Pan-Mass Challenge, backed by my 16 PMC jerseys.

My Original 2021 Goals

A year ago, in the midst of the pandemic and with vaccines just starting to be manufactured, my goals for 2021 were only guesses. However, my predictions were pretty accurate.

Normality

I wanted to be comfortable stopping at convenience stores, so I could resume longer rides than I could on a single water bottle. Following my vaccinations in May, I finished a metric century on June 12th (writeup), and many more long rides thereafter.

I also longed to resume attending group rides, and did my first weekly Team Decaf ride on June 1 (writeup). Over the summer I’d join 14 of their 17 rides.

I wanted to return to my normal major events and century rides. However, most organizers shortened or cancelled their events. And after foregoing one century due to rain, I completed my first big event in two years on September 12: the PMTCC Three-State Century (writeup).

I also addressed my imbalance between indoor and outdoor riding. In 2020, 81% of my total 6,043 miles happened indoors. In 2021, I rode 6,215 miles (10,000 kilometers), and only 56% were on the trainer: a much healthier balance!

Zwift Level 50

After 2½ years, my biggest achievement to chase on Zwift was the game’s top experience level. In April I rode 42 (!) stages of the Tour of Watopia (since it offers double XP) and achieved Level 50 on April 27th, simultaneously setting an all-time fitness record (writeup).

But the cost for riding 860 miles in one month was a case of achilles tendonitis that kept me off the bike for the month of May. Oopsie!

Another Virtual PMC?

After riding all winter with several Pan-Mass Challenge luminaries on Zwift, I rode a second remote PMC, mimicking the distance and climbing of the traditional route. And happily rode outdoors instead of on the trainer!

Although different from the mass participation rides back in Massachusetts, I still enjoyed it, and raised 60% more for cancer research than last year. After 16 PMCs, my lifetime fundraising for Dana-Farber stands at $119,000! (writeup)

And my PMC fulfilled another of my annual goals:

My 100th Century+ Ride

This was the highlight of my year. I wanted to mark this achievement on a major organized ride, however that wasn’t possible. But even though I rode alone, finishing my lifetime 100th century+ on PMC weekend made it special. Read more toward the bottom of my PMC writeup.

Toronto Epic Tour Redux?

My registration for this 2020 ride – planned as a Herd cycling club gathering – was deferred to 2021, but with travel still inadvisable, I took the 50% refund they offered.

Which was fine; the 2021 Epic Tour was held on the same day as the PMTCC Three-State Century, which I rode instead, marking my first major event in two years.

Charts

This year’s fitness charts include a couple significant changes.

First: the static charts you see below are now available on a dynamic Fitness Charts page on my cycling website. They’re automatically updated after every ride to reflect my training throughout the year.

Second: the vertical scale changed on these charts to accommodate my new record fitness. For five years, my CTL (chronic training load) fit onto a vertical axis that ran from 0 to 100, but it now goes to 125, making everything look a little flatter than my previous summaries.

Let’s see what the charts say about my year:

Cycling Fitness: 2011-2021

This 11-year view shows that 2021 was incredibly similar to 2020. Let’s break down the similarities.

Both years began with steady winter training, ramping up to an early peak. In both years those were new fitness records.

However, in both years my fitness then fell quite substantially, dropping back to my long-term average at the end of May.

Over the summers, I maintained my level of fitness. My CTL followed a repeating up-and-down sawtooth pattern as I alternately trained hard, then tapered before major events, then completed a big ride, and recovered afterward. That pattern repeats all summer long.

As usual, my fitness tailed off in the autumn and I took time to recharge before another winter of indoor training.

Those are the similarities between 2020 and 2021. Zooming into this year’s chart in detail highlights some of the differences.

Cycling Fitness: 2021 Calendar Year (vs. average)

In 2020 I reached max fitness in January, whereas this year I timed my buildup a lot better, not peaking until the end of April.

The bad news: this year I lost as much fitness in the single month of May as I lost over four months in 2020, as tendonitis kept me from riding. That’s how I wound up back at the same point on June 1st.

However, another difference is that my fitness throughout this year was about 5% higher than 2020.

Which brings me back to that new fitness record, with my CTL reaching 103.97. Although it has no specific significance, breaking 100 CTL was a long-anticipated achievement, which only happened after my 860-mile blitz in April to reach Level 50 in Zwift.

But the biggest difference this year was how many centuries I completed. After doing 11 indoor centuries in 2020, this year I only did 4 (but three were outdoors)! So let’s talk about:

Riding with PMC President Jarrett Collins in the weekly Zwift group ride.

Riding with PMC President Jarrett Collins in the weekly Zwift group ride.

Proudly showing off the new in-game PMC jersey in Zwift.

Proudly showing off the new in-game PMC jersey in Zwift.

Sunrise on the castle climb in Zwift's new Japan-themed world.

Sunrise on the castle climb in Zwift's new Japan-themed world.

Enjoying the view from a rooftop ride in Zwift's new Neokyo expansion.

Enjoying the view from a rooftop ride in Zwift's new Neokyo expansion.

The Centuries

Starting with the unadorned list:

There are several reasons why I completed only four rides beyond 100 miles.

After doing 11 of them in 2020, I was sick and tired of indoor centuries, so I only did one of those. Solo centuries didn’t excite me, so I completed my PMC ride, plus one other. And Covid limited me to one major event.

I wasn’t motivated to push myself hard, following an intense two years that included 24 centuries (12 indoor/12 outdoor) and 12,600 total miles. After all that, I needed a relaxed year.

But it could also be… aging. Having another year on the odometer, my tolerance for high-intensity efforts is waning. Of course, I’ll continue fighting it, but I don’t relish the effort, since we know how that story inevitably ends.

Additional Highlights

Since indoor riding made up half my mileage, I’ll share a couple noteworthy developments on Zwift.

I began the year as a regular on weekly Pan-Mass Challenge group rides on Zwift that were led by Jarrett Collins, the newly-named PMC President. Those were suspended over the summer, but resumed in November.

To everyone’s delight, Jarrett got Zwift to approve an in-game PMC jersey that riders can unlock for their avatars to wear. The design honors the red tee shirts from the first Pan-Mass Challenge, in 1980. It quickly replaced the Zwift “Level 50” jersey I’d previously preferred!

Zwift also released a major new world called Makuri Islands. The fictionalized version of Japan was released in two phases: “Yumezi” features rural Japanese villages and countryside, and “Neokyo” is a neon-lit urban analogue to Tokyo. Both were well-received, but everyone’s holding their breath, hoping that a Mt. Fuji-like climb will materialize.

In the real world, health issues remained top-of-mind. May was torpedoed by achilles tendonitis, heart palpitations, and Covid vaccinations. I also addressed a longstanding irritation by swapping out my saddle (writeup). Seasonal asthma slowed my autumn riding, and aging-related performance declines remain an annoyance.

Another challenge was getting replacement bike parts due to the collapse of the bike industry’s supply chains in the pandemic’s wake, as well as Mavic’s receivership. My LBS jerry-rigged my recalcitrant rear wheel, but I can’t put high power through the pedals due to worn chainrings that I can’t replace.

Finally, in 2021 I gathered a collection of Strava Local Legend awards, which go to whomever has ridden a road segment most frequently. Here’s some of the segments I was named Local Legend on this year:

Riverview Park is the center of Pittsburgh's cycling universe.

Riverview Park is the center of Pittsburgh's cycling universe.

The Team Decaf group ride stops to admire the Pittsburgh skyline from the Fineview overlook.

The Team Decaf group ride stops to admire the Pittsburgh skyline from the Fineview overlook.

Noteworthy Purchases

Despite the bike industry’s disarray, I made several beneficial acquisitions.

Not a purchase, but (as mentioned above) I swapped out my extremely worn saddle for a less-used one off one of my other bikes. It’s not brand new, but don’t tell that to my butt! (writeup)

My biggest purchase was the new GoPro Hero 10 action video camera and accessories. It was too late in the year to produce much, but I have huge hopes for future rides. Tho I did create this 72-second vid:

Also on the topic of optics… Back in 2015, I bought plastic HydroTac stick-on bifocals that adhere to any pair of glasses with water: perfectly functional and cheaper than prescription sunglasses! This year I bought stronger ones and stuck ‘em on my Oakley sunglasses and some clear lenses I bought for night riding.

For evening and nighttime rides, I added a new headlight: a Niterider Lumina OLED 1200. Featuring LED bulbs and lithium batteries, it’s immensely better than my old AA-powered incandescent one. Along with the action cam, this was my best purchase of the year.

Having trouble procuring my preferred Michelin Power Endurance tires, I tried a pair of Continental GP5000s, a new model in a popular line of road tires. I like them a lot, although I miss my Michelins’ red sidewalls.

Also replaced the Shimano SM-BTR1 battery for my Di2 electronic drivetrain. After 8½ years, its original battery had lost capacity, and I needed a replacement, since they’re being discontinued.

I occasionally replace the caps on my Camelbak Podium Ice insulated water bottles due to mold. I bought four replacement lids after learning they were recently redesigned, making them easier to clean.

Finally, I got new ice cube trays. These ones are nicely-sized. I also got these thinking 2” cubes would work inside a hydration pack, but that proved unnecessary once I was vaccinated and could stop at convenience stores to refuel.

My 2021 cycling calendar/log.

My 2021 cycling calendar/log.

My 2021 Strava "Year in Sport" summary, averaging 62 minutes and 17 miles per day.

My 2021 Strava "Year in Sport" summary, averaging 62 minutes and 17 miles per day.

Blogposts

Goals for 2022

2021 was a big improvement over Covid-plagued 2020. But what will 2022 look like? I’ve got a whole checklist of idears:

  • Going 100% metric
    I’m taking the plunge. Far broader than just cycling, this impacts cooking, weather, travel, health… Don’t you think it’s about time?
  • Another 10,000 km year
    Here is where that transition begins. Having ridden 10,000 km in two of the past three years, my goal for 2022 will be to make it three out of four.
  • More major events
    Most ride organizers are resuming full-length events in 2022. I’m excited to revisit events I’ve missed since 2019.
  • Video ride reports
    It’s been eight years since my last ride video, and the GoPro should produce immensely better results. I wanna see what I can do with it.
  • Another remote PMC?
    I’ll probably sign up for a 17th Pan-Mass Challenge, again remotely. I’m awaiting the event jersey reveal, and considering potential routes. One remote possibility is a two-day, 200-mile ride crossing Western PA from south to north, ending on the shore of Lake Erie.
  • Zwift team time trial?
    I don’t race, but the Herd sponsors several teams for the WTRL team time trial series. The format is intriguing, so I’d like to try it out.
  • Bike repairs?
    This will be a concern until the bicycle industry recovers. My biggest problem is putting down sprinting power without my chain falling off my worn chainrings.

That’s 2021… It could have been better, but it was a big improvement over 2020, and there were several memorable highlights. 2021 fulfilled my hopes of getting closer to normality, and leaves us with the promise of an almost normal year as we roll into 2022.

One of the most popular ways of measuring a cyclist's performance on flat terrain is functional threshold power, and Zwift provides riders with three different FTP tests. My FTP is generally around 210-230 watts.

But for those of us who aren’t afraid of hills, the best measure of climbing performance is one's time to climb the Alpe du Zwift, the virtual equivalent of France’s famous Alpe d’Huez. There’s even a highly sought-after “Liftoff” achievement badge for doing the 7.6-mile 3,400-foot climb in under an hour.

While I haven’t been able to break that barrier, I have done 30 ascents, which is enough data for me to draw some inferences. Since my average power on those attempts has varied from 162 to 234 watts, my times have also ranged from from 88 minutes to just under 63 minutes.

Now things start getting really geeky. You have been warned.

You would expect that if I plunked those numbers down on a scatter chart, there’d be a clear relationship between average power and time. And that’s exactly what I found. Then I added a statistical trendline, which matched my data points shockingly well (an r-square of 0.98 for the statisticians in the audience).

Now here’s where it starts getting interesting. Using that line, for any given average power, we can predict — with near-perfect precision — how long the climb would take me. Specifically, my (slightly simplified) equation is:

minutes = (watts - 400) / -2.76

So putting out 200W, I would finish in 73:13. At 220W, I would finish about seven minutes faster, at 65:58. And in fact we see clusters of past results right around those points.

Whether you use the equation or eyeball the trendline, that calculation also works in reverse, starting with a finish time and seeing what power you’d need to hold. So in order to earn the Liftoff badge by doing the ascent within 60 minutes, I would need to maintain an average power of 236.5 watts for an hour.

This does ignore the second variable that determines one’s ascending speed: weight. Conveniently, my weight doesn’t fluctuate much at all, so I can safely ignore it. But someone else with a different weight would have a somewhat different equation.

That’s why climbers focus on power over weight rather than raw power. Their preferred metric is watts per kilogram, or W/kg. If I re-did this chart using W/kg, it should be an even closer fit.

Among riders chasing the Liftoff badge there’s a common shared belief that you have to maintain 3.1 W/kg in order to climb the Alpe in less than an hour. Now we can put that idea to the mathematical test.

My equation says I would need to put out 236.5W. In order for that to equate to 3.1 W/kg, I would have to weigh 76.3kg. Lo and behold, that’s smack in the middle of my normal weight range, and within two pounds of my current weight. So that validates both my trendline equation as well as the common rumor.

To repeat: to climb the Alpe in an hour at my current weight, I’d have to produce 236W. However, my maximum sustainable power has stayed firmly in the 210-230W range. Alternately, rather than increasing my power output I could lose weight and still hit 3.1 W/kg. At 230W, I would have to get down to 164 pounds, which is pretty extreme for me.

After 30 attempts — and approaching 60 years of age — I won’t be disappointed if I never earn that Liftoff badge. But I enjoy analyzing my performances over time and finding the patterns of consistency that underlie them.

What a year it was... or wasn’t, actually. What can I say about the 2020 cycling experience?

Having begun the year with lots of indoor training, in January I achieved a new all-time record level of fitness.

Modeling the 2020 Pan-Mass Challenge jersey on the Grandview Overlook above downtown Pittsburgh

Modeling the 2020 Pan-Mass Challenge jersey on the Grandview Overlook above downtown Pittsburgh

Autumn on the Mon Wharf with R2-Di2

Autumn on the Mon Wharf with R2-Di2

Honoring Paris-Roubaix with 22 secteurs of Pittsburgh pavé, including Climax Street

Honoring Paris-Roubaix with 22 secteurs of Pittsburgh pavé, including Climax Street

Flew my BikeMS kit on my virtual Escape to the Lake

Flew my BikeMS kit on my virtual Escape to the Lake

At the front of the line for the first-ever PMC weekend virtual ride on Zwift

At the front of the line for the first-ever PMC weekend virtual ride on Zwift

But it was all downhill from there. Before the spring outdoor season began, the outbreak of the worldwide Covid-19 pandemic caused the cancellation of all group rides and every major event on the calendar. On top of that, I kept my solo rides short to avoid risky convenience store replenishment stops. In terms of outdoor riding, 2020 was a complete and utter write-off, as I logged a 20-year low 1,140 outdoor miles.

In contrast, my investment (back in 2018) in a new smart trainer and the Zwift indoor training platform proved prescient and timely. Over 80 percent of my 2020 cycling happened indoors, as I rode simulated versions of all my usual summer events. I even completed my 15th Pan-Mass Challenge (virtually) when this year’s real-world ride was called off. Needless to say, my 4,903 miles on the trainer was a new record.

Combining indoor and outdoor riding gave me an annual total of 6,043 miles in the saddle, only 513 miles less than I rode in 2019. I consider that quite respectable, given the extraordinary circumstances.

Let’s hope 2021 sees the pandemic situation improve.

My Original 2020 Goals

After a superlative 2019, I didn’t have a ton of specific goals coming into the 2020 season, which was a good thing, because I never would have lived up to them! But I did have some general expectations. Let’s see how each of those turned out...

“I don’t really expect to surpass my 2019 season”

The Covid-19 lockdown put an early end to any pretense that 2020 would be a good — or even normal — year. I didn’t do any major events or even a single group ride all year, and only one outdoor ride that was over 40 miles.

The only way I surpassed 2019 was in time spent on the indoor trainer, completing eleven Zenturies (indoor rides over 100 miles). But that’s not how I’d envision a successful year.

“I’ll certainly continue Zwifting”

I’m not going to enumerate all this year’s Zwift achievements, but there are a handful worth calling out. I completed every one of Zwift’s many routes in January, along the way earning the “Masochist” badge for completing my 25th Alpe du Zwift ascent. But to retain that “route hero” status, I had to subsequently complete two more sets of routes when Zwift released expansions for Paris/France and Watopia. I also took three series of FTP tests, registering 215/215/196W in the 20-minute tests; unlocked the new in-game version of the Herd team jersey; and I ended the year at experience level 44 (out of 50).

I also wrote a useful program for myself to automatically open a full-screen display of any “photos” I took while in-game. That way I didn’t have to wait until the end of the ride to see how they came out, nor did I have to fiddle with the laptop to open them myself.

The Herd’s Epic Tour in Toronto

Another big disappointment was the cancellation of a planned September trip to Canada to do a (nominally) epic ride and meet up with online friends from the Zwifting club The Herd. I never even received the (personalized!) ride jersey I ordered.

Charts

As always, my two fitness charts really put the year’s efforts into perspective.

Cycling Fitness: 2011-2020

This chart shows my fitness trend over the past ten years, with peaks in the summer and troughs in the winter. Looking at 2020 in this context, the major themes I’d like to call out are:

  • My fitness peaked incredibly early in the year (January 26th).
  • I set a new all-time record fitness level (98.18).
  • After coming off that peak, I spent most of the summer at a moderate fitness level (around 65) before taking it easy at the end of the year.

If we set aside comparisons to 2019, I had a surprisingly good year from a fitness standpoint; despite the pandemic, it doesn’t look grossly different from any normal year. And looking forward, I’m in a decent position to make the most of whatever 2021 offers.

Cycling Fitness: 2020 Calendar Year (vs. average)

This second chart shows my 2020 fitness in detail, including my eleven Zentury rides (the green circles).

Note my record fitness peak in January, and how much fitter I was than my long-term average (the grey line) all spring long. Despite that, I did gradually lose fitness through the spring, with it slowly falling to match my long-term average at the start of summer in late June.

Similar to most normal years, my summer featured a familiar shark-tooth pattern that comes from periods of alternating rest and recovery with big hundred-mile rides… It’s just that they all took place indoors this year, rather than outside.

A late September interruption caused my fitness to start falling off, when both my heart rate monitor and the laptop computer I ran Zwift on failed and needed to be replaced. At that point, I reconsidered my goals, and decided to abort my last two century ride simulations and start my off-season a little early. Taking some time to relax, my fitness gradually fell to an annual low of 43.53 on December 7th before I started ramping back up again. Looking forward hopefully toward 2021, I finished the year well ahead of my typical level of fitness.

Waving to imaginary crowds as I arrived at a virtual Provincetown to complete my two-day PMC Zwift ride

Waving to imaginary crowds as I arrived at a virtual Provincetown to complete my two-day PMC Zwift ride

Taking my laps on the Champs-Elysees in Zwift's new Paris/France expansion

Taking my laps on the Champs-Elysees in Zwift's new Paris/France expansion

Enjoying the French countryside, with Mont Saint-Michel as backdrop

Enjoying the French countryside, with Mont Saint-Michel as backdrop

Giving the crowd a sprint to cheer for in Zwift's Crit City expansion

Giving the crowd a sprint to cheer for in Zwift's Crit City expansion

Exploring Zwift's pretty new sylvan cliffside road

Exploring Zwift's pretty new sylvan cliffside road

In group rides, I swear sometimes it feels like I'm the only one who knows how to ride properly...

In group rides, I swear sometimes it feels like I'm the only one who knows how to ride properly...

A rare outdoor ride: autumn at McCahill Park in Fox Chapel

A rare outdoor ride: autumn at McCahill Park in Fox Chapel

Sprinting for the line on Zwift's new Crit City course

Sprinting for the line on Zwift's new Crit City course

When in Italy...

When in Italy...

Looking back on downtown Pittsburgh from Herrs Island

Looking back on downtown Pittsburgh from Herrs Island

My 2020 Cycling Calendar

My 2020 Cycling Calendar

The Zenturies

For the first time since 2001, I didn’t do a single century ride.

But I did complete eleven indoor Zwift centuries, or “Zenturies”, simulating both the distance and amount of climbing found in my usual real-world rides.

How did I simulate them? I created a web page called The Zenturizer where I could input my preferred distance and climbing, and the site would determine the courses on Zwift that most closely matched my desired profile. It was a very handy time-saving tool, which anyone can use!

I had targeted thirteen Zenturies for 2020, but after completing eleven, I took a three-week break to replace both my heart rate monitor and my laptop. At that point I decided to end my season early and save those two extra centuries for springtime. More about that when I get to my 2021 goals!

Here’s the list of the eleven that I did complete:

  • Uber Pretzel Zentury (Feb 13) The penultimate course to ride in my quest to acquire the badges for completing every Zwift route.
  • PRL Full Zentury (Feb 20) Rode a very repetitive course all alone, but completed Zwift’s route badge challenge… for the time being!
  • Tour of Watopia Stage 1 Zentury (Mar 30) Did Zwift’s ToW Stage 1 three separate times in one day to accrue 100 total miles.
  • Pseudo Greenville 200k (Apr 19) My first time cobbling together a route on Zwift that simulated an actual outdoor ride, and at 125 miles my longest single ride of the year.
  • Pseudo Tour d’Essex County Zentury (May 25) Since May is devoid of big events in Pittsburgh, I simulated this Memorial Day ride I used to do back in Boston!
  • Pseudo Escape to the Lake Zentury (Jun 6 & 7) Simulated my annual MS Ride: usually the only two-day ride on my calendar.
  • Pseudo 3-State Zentury (Jun 28) Although this event was postponed and eventually run informally later in the year, I simulated it on its original planned date.
  • Pseudo ABC Zentury (Jul 12) Also informally run as an unsupported ride, I just did this Akron event virtually.
  • Pseudo Pan-Mass Challenge (Aug 1 & 2) Surprise! My 15th Pan-Mass Challenge ride to fight cancer! Participating in my signature event once more as a virtual rider was a treat!
  • Pseudo Mon Valley Century (Aug 18) This “annual” ride has only gone off two of the past five years. At least my Zwift simulation avoided the MVC’s curse!
  • Pseudo City Century (Sep 2) The local advocacy group pretended to sort-of run this unsupported, so that they could still collect money. Fed up with an organization that’s completely lost the plot, I was happy to do my own (free) substitute ride on Zwift.

Additional Highlights

After five years away from the event, reconnecting with the Pan-Mass Challenge was my biggest unexpected pleasure of the year. I was the first person to join the PMC club on Strava; I participated in prototype PMC meetups on Zwift that led to an official weekly series of PMC virtual group rides; I registered as a virtual PMC rider for the first time; and I simulated the entire two-day, 192-mile route indoors on PMC weekend. Along the way, I made a bunch of new friends, did a lot of reminiscing, earned my 15th PMC rider’s jersey, and added $3,000 to my lifetime fundraising for the Dana-Farber Cancer Institute, which now stands at $114,222. Here’s my full PMC ride report.

Although the year featured many other memorable Zwift rides, one of the unique ones was participating in a 2,000-person ride led by Watanabe Wataru, the mangaka who created Yowamushi Pedal, an extremely popular cycling manga and anime series.

I should also add that in October I marked the 20th anniversary of purchasing the Cycles Devinci hybrid that started me on the path to becoming a PMC rider and serious cyclist. It’s been a good — but extremely long — road!

Noteworthy Purchases

This wasn’t a great year for pimping my ride, but a few items do stand out as worth mentioning:

  • When my old laptop died, I replaced it with a new Macbook Pro, which improved my Zwifting experience by upping both my graphics quality and frame rate.
  • I bought a hydration pack, in hopes that it would enable me to do long rides without having to replenish fluids at convenience stores, but it just didn't keep drinks cold enough to be palatable.
  • I bought a new Wahoo heart rate monitor that produced unacceptably inaccurate data, so I got a warranty replacement unit. However, the second unit was also garbage, so I demanded a refund and bought myself a new Garmin HRM instead. But amusingly, a late-year firmware update seems to have fixed the Wahoo HRM’s problem, so I’ve held onto the one unit that they told me to keep rather than return!
  • I bought a collapsable selfie stick and fashioned a nice rubberized frame mount for it, making it much easier to get interesting photos during rides for my Strava and social media posts.
  • And I added the Wind & Rain app to my Garmin bike computer. The real-time weather data it provides would be really useful if I ever actually did any long outdoor rides...

List of Blogposts

It wasn’t the best year for blogging — how much can you write of interest about indoor rides? — but I still managed to get 16 stories written. Here‘s the full list:

Goals for 2021

Even after writing off the entire 2020 season, Covid-19 shows no signs of abating anytime soon, so I still have no idea what 2021 will look like. But everyone’s top goal for next year is obvious:

Normality

How about a return to normality? Being able to ride farther outdoors than I can manage on a single water bottle? Participating in group rides with other cyclists? Or even do some centuries and my typical big events? Right now, that sounds pretty aspirational and more than adequate.

My 100th Century+ Ride

As far as I can tell from my sketchy records from 2000-2005, I’m currently sitting on a lifetime total of 97 rides of 100 miles or greater. I’ll probably get in shape with a couple indoor Zenturies in the spring, then find some way to do a special 100th century outdoors. It’s probably the biggest thing I’m anticipating and a milestone well worth celebrating. Planning out a route will be a good wintertime activity...

Zwift Level 50

In about 3,575 trainer miles — which is currently estimated to happen around August 13 — I will hit Zwift’s highest XP level. There’s a nontrivial possibility that they’ll soon add more levels beyond 50, but that won’t dilute my satisfaction at reaching what’s currently the top of the chart.

Another Virtual PMC?

At this time, I have no idea whether 2021 will see me doing another virtual Pan-Mass Challenge or not, especially since my fundraising mojo has atrophied. But that’s another decision I’ll make as the season begins to take shape.

Toronto Epic Tour Redux?

It’s the same story for this ride. Since they deferred my paid 2020 registration until 2021, I’d certainly like to take advantage of the opportunity to ride, but whether it’ll happen or not remains unknowable.

And that’s all I’ve got to say about this pandemic-canceled 2020 season. As of the start of the new year, things are still looking quite iffy. But as the calendar turns over to 2021, I’m hopeful that some signs of normality will begin to appear in the coming months.

Hopefully I’ll see you out there!

In contrast with a miserable 2018, 2019 was a complete renewal: possibly my best remaining year on the bike, and arguably the best of my entire lifetime.

MS Escape to the Lake Finisher

MS Escape to the Lake Finisher

Indoor Training on Zwift

Indoor Training on Zwift

MS Escape to the Lake

MS Escape to the Lake

Brilliant Physical Health!

I’m in Brilliant Physical Health!

PedalPGH Pittsburgh Overlook

PedalPGH Pittsburgh Overlook

The Herd's Leelanau Harvest Tour

The Herd's Leelanau Harvest Tour

Akron Bike Club's ABC Ride

Akron Bike Club's ABC Ride

My 2019 Cycling Calendar

My 2019 Cycling Calendar

While it lacked crowning moments like the Pan-Mass Challenge or the Dirty Dozen, I set dramatic new high water marks for miles ridden, century rides completed, and level of fitness.

Beyond the numbers, though, was how easy it felt. After my first winter using a smart trainer and Zwift, I began the season already near peak form. It was such a different feeling, without the usual early-season suffering to build fitness, and I went into every major event strong, confident, and at ease.

It made setting and chasing my cycling goals an unblemished pleasure, making 2019 a complete reversal of my disappointment in 2018. It was an absolutely stellar year!

My Original 2019 Goals

Let’s review my 2019 season goals. A year ago, I set three secondary and three primary ones.

My secondary goals laid the groundwork for achieving my primary goals.

My secondary goals for 2019: spending the winter riding Zwift on the trainer, allowing me to enter the road season at a high level of fitness, and monitoring that by performing regular FTP tests throughout the year.”
Spending the winter riding Zwift on the trainer

I really enjoyed Zwift, as described in my summary blogpost. The virtual world was entertaining, the smart trainer changing resistance to simulate climbing kept it interesting, and the social interaction through Discord audio chat was engaging. From December through the spring, I tallied an unprecedented 2,600 simulated miles on the trainer.

Allowing me to enter the road season at a high level of fitness

I monitored my training using my usual fitness charts, which you’ll see shortly. I made steady progress throughout the winter, but would it improve my outdoor riding?

The big test of Zwift’s effectiveness came on April 14th, when one of my first outdoor rides of the year was a 125-mile 200k brevet. It went fabulously, as described in my blogpost.

Performing regular FTP tests throughout the year.

Since my indoor trainer includes a power meter, I can gauge my fitness with a new metric: functional threshold power (FTP). I took two different FTP tests every three months to monitor and quantify my progress, plus automatic FTP increases detected by Zwift while riding. Depending on how you measure it, my FTP varied from 197 to 234 watts, averaging 215W.

That set me up for success reaching my main goals for the year.

My primary goals for next year are simply this: to finally get beyond the malaise of 2018, to ride more, and get back to peak fitness this summer.”
Get beyond the malaise of 2018

Although the turnaround started with my new indoor trainer and Zwift membership, several other factors helped rekindle my desire to ride. Bypassing the usual springtime pain of riding my way into fitness certainly helped. I also lost less time to traveling. And after suffering through 2018 being the rainiest year in Pittsburgh’s history, all of this year’s major rides had gorgeous conditions (despite 2019 being our third wettest year ever). And by staying on top of my fitness and fatigue levels, I avoided overtraining, which can also sap motivation.

Ride more

In 2019 I rode 3,400 miles, which is more than I average, and 625 more than I rode in 2018. So you can check that goal off.

But that’s only 52% of the story... The other 48% are the virtual miles I put in on the trainer. In my first full calendar year on Zwift, I logged an additional 3,182 indoor miles.

My combined total was 6,582 miles, which constitutes an all-time record for me. Ride more? Double check!

Get back to peak fitness

All that indoor and outdoor riding ensured that I got back to peak fitness. I was in the best form of my life, which I’ll quantify in the two charts in the following section.

Charts

These charts provide the next level of detail about my year, plotting my Chronic Training Load (CTL), which is a measurement of cycling fitness. The charts really tell the story for 2019.

Before addressing 2019 in detail, it’s worth looking at my fitness over the past nine years, which allows me to visually compare 2019 to previous seasons.

2011-2019 Fitness Chart

At a high level, four major themes jump out of this chart:

  • I was much fitter than usual earlier in the year
  • My training was much more consistent in 2019
  • I peaked higher, reaching new record levels of fitness
  • I spent a much longer duration at peak form.

If you compare 2019 to 2018, it’s obvious that 2018 was a substandard year, and that 2019 was an immense improvement. My max fitness in 2018 was 66.3; in 2019 I spent six and a half months above that level, peaking in June at 94.3! And looking forward, I’ll begin January 2020 with a CTL of 79: higher than I ever reached in all of 2018!

A little further back, my previous all-time max fitness levels occurred briefly in 2016 and 2017 around 82.5 (follow the horizontal grey line on the chart). In 2019 I spent more than four months above that level!

In other words, it was a record-smashing year. Now let’s zoom in and take a closer look at 2019.

2019 Fitness Chart

First, note that grey line inside the chart. That’s my average fitness level from 2011-2018. Thanks to my winter training, I entered 2019 way above my usual fitness, and surpassed my typical midsummer peak form by the middle of February! And my fitness remained above average over the entire year.

Another big difference from last year is my consistency. In 2018, I couldn’t ride regularly, so its chart had lots of ups and downs. This year was steadier, only showing brief dips (for travel) in March and July, followed by that big dip in October, when travel, an achilles injury, and a cold kept me off the bike. I hopped back onto Zwift in November to build fitness for the 2020 season.

These two charts document a ton of hard riding; I could stare at them all day long.

And those green circles on the chart? Those represent my 100-plus-mile rides. That’s the next level of detail to talk about…

The Centuries

When asked what kind of cyclist I am, I say I’m a centurion. The most important and memorable target events of my year are centuries (100 miles) and 200ks (125 miles).

This year I demolished my previous mark (nine), logging no less than a record-shattering thirteen centuries over just six months! Two of those were longer 200ks, and one was my first-ever virtual century on an indoor trainer.

With seven of them crammed into an eight-week period in July and August, I relied on a well-planned, repeating pattern of: train, taper, ride your event, recover, and repeat.

My biggest disappointment of the year was that I missed Pittsburgh’s arduous Every Neighborhood Ride while doing another ride I’d already committed to.

Here’s my full list of centuries with comments and links to ride reports. Or you could watch my late-season summary video.

  • First Zentury (4/7)
    I extended one of Zwift’s 64-mile gran fondo events to complete my first-ever imperial century on an indoor trainer.
  • Sandy Lake 200k (4/13)
    Nearly my first outdoor ride was a 125-mile brevet: my longest ride in two years, confirming the effectiveness of indoor training.
  • Shades of Death solo (5/23)
    Rode a solo century from Pittsburgh to the West Virginia border to explore the Panhandle Trail and Shades of Death Road!
  • Escape to the Lake (6/8)
    Incomparable weather for the annual MS ride to Lake Erie, my only two-day event of the year.
  • PMTCC 3-State Tour (6/30)
    A foggy start gave way to a warm day for a familiar PMTCC ride to West Virginia and Ohio, with a thankfully modified route.
  • Absolutely Beautiful Country (7/14)
    Off to Akron OH for a club ride whose flat route was also altered this year, outrageously omitting the usual free ice cream rest stop!
  • Meanville Greenville 200k (7/27)
    Returned from a week of travel and dove straight into another long 200k brevet with the Pittsburgh Randonneurs.
  • Butler solo (8/4)
    Extended one of my long solo rides up Sun Mine Road, through Saxonburg to Butler and back.
  • Mon Valley Century (8/11)
    Enjoyed the return of an event that hasn’t been run since 2016 due to landslides; a third ride with a modified route (and poor support).
  • Four Rivers solo (8/19)
    My interwebs were down for 48 hours, so I went out and rode an easy solo century along Pittsburgh’s four rivers.
  • PedalPGH (8/25)
    As usual, I extended the PedalPGH metric to a full century, despite riding on an injured achilles and more ride organizer negligence.
  • Pedal the Lakes (8/31)
    Ended summer with a speedy and enjoyable PtL ride, completing 6 centuries in 6 weeks, and 8 in 10 weeks.
  • The Herd @ Leelanau Harvest Tour (9/14)
    The culmination of my season was a weekend trip to northwestern Michigan for an international gathering of Zwifters… and a scenic century alongside Lake Michigan.

Additional Highlights

One major development was my ability to train with a power meter, which allowed me—for the first time—to track my functional threshold power (FTP) and my power curve, which in turn helped me figure out my cycling “phenotype” as described in this blogpost. I also picked up and made good use of the defining treatise on the discipline: Allen & Coggan’s book “Training + Racing With a Power Meter”.

The biggest setback of the year was my late-August achilles injury, due to a combination of overuse and over-stretching. Although I completed three centuries while injured, it wouldn’t heal without time off the bike, which brought my season to an abrupt end. I’d hoped to do more easy autumnal riding, but there was very little of that.

I’ve already alluded to this year’s weather, which was simply amazing.

One fun tech project was creating the AlpenTimer, a Javascript webapp that helps you monitor and predict your pace up the Alpe du Zwift climb in order to earn the sub-60 minute achievement, break your own personal record, or just track your historical performance.

An artsy project was cutting hand-shapes out of Coroplast and spray-painting them cyan to mimic the blue “Ride On!” thumbs-up symbol that appears in Zwift’s virtual world. I hung a large one from the ceiling of my “pain cave”, and made a bunch of small ones for my jersey pockets.

One final disappointment was BikePGH’s Tag-o-Rama cycling/photography game. Regular participant Yale Cohen started harassing other players, driving many of them away. I don’t tolerate online abuse, so despite picking up 25 tags in 2018, I also quit Tag-o-Rama this spring.

Noteworthy Purchases

In the past, many of my “Additional Highlights” were things I bought, so I’ve carved out a new section to specifically highlight my new toys.

Most of this year’s purchases were on-bike equipment. A new Giro Aether MIPS helmet. New Prizm Road lenses for my Oakley Half-Jac sunglasses. A couple pairs of my favorite Craft Hale Glow bib shorts.

I ordered three new cycling jerseys, each of which comes with a unique story. I’m eager to show them off, but I'm still awaiting delivery of the last one, so I won’t say any more until an upcoming blogpost.

In terms of the bike, I got a Cygolite Hotshot 150 taillight, which crapped out after its first wet ride. I finally tested some Continental GP4000 tires I’ve had lying around; they were okay, but now I have to try their new GP5000s to see if they’re any improvement over my usual Michelin Power Endurance rubber.

I updated my Garmin bike computer with two new apps. I’m using Heart Rate Stress Score to replace Strava’s “suffer score” app, which became worthless when they changed its calculation. And I tried Multi-Page Race Notes for handy course notes, but fell back to old-school white electrical tape on my top tube.

The only noteworthy purchase that didn’t go on me or my bike was the aforementioned Allen & Coggan bookTraining + Racing With a Power Meter”.

List of Blogposts

And one final item before I look forward to 2020... It was a busy year here on ornoth-cycling.livejournal.com, with 24 ride reports and blogposts. Here’s the full list:

My 2020 Vision

That’s all she (he) wrote for 2019… What’s my outlook for the coming 2020 cycling year?

I don’t really expect to surpass my 2019 season, due to this year's confluence of circumstances. Will 2020 also feature great weather, limited travel, no job commitment, and an understanding partner who will loan me her car to get to distant rides? And can I continue to evade the growing concerns of age and health?

I’ll certainly continue Zwifting through the early season in order to hit the ground running once temperatures start to warm again. And I’m starting the new year at an even higher fitness level than 2019!

I’ll mostly target the same events I do every year, but there’s one known wrinkle in next year’s schedule. Instead of repeating the Leelanau Harvest Tour, next year’s Herd gathering will be outside Toronto, at the Epic Tour. That’s geographically convenient, and their 180km route will be the perfect distance for a September ride.

Other than that, 2020 will probably look an awful lot like 2019, and I have no problem with that whatsoever, since 2019 was one of my best years on the bike.

Bring it on!

Until five months ago, I didn’t have a power meter, so training with power just wasn’t possible. Even today, I don’t have a power meter on the bike—just on the indoor trainer—but that’s enough to start drawing inferences from the power data I’ve generated over the winter.

One analytical tool for interpreting a cyclist’s power data is their Power Curve. Thankfully, it’s conceptually simple and easy to explain: it looks at your power data and plots your maximum power output (in watts) over every duration, from one second to an hour or more.

All riders can sustain maximum power for very short intervals (think finish-line sprints), but lower power at durations of one to five minutes, and less still for sustained efforts of 30 to 60 minutes or more.

That means the Power Curve looks similar for all riders: starting high, sloping sharply downward, then tailing off gradually. Plot a novice rider and a professional cyclist on the same chart, and there wouldn’t be much difference in the shape their lines, other than the pro’s being shifted higher due to their higher power output.

For insight into how it might be useful, let’s look at my current Power Curve (click for full-size):

Ornoth's Power Curve

There are essentially two ways of looking at this information: how much power can I expect to produce for a specific duration; or conversely, how long can I expect to hold a specific power level?

In my case, for a 10-second sprint I can produce 800W, but for a 60-second sprint I can only sustain half that. For a 10-minute max effort I could expect 260W, about 235W for an hour, dropping down to 165W for anything longer than two hours.

Those estimates all hold whether I’m trying to figure out how much power I could hold for a specific time, or how long I might be able to sustain a specific power output.

That’s great information for planning a workout or figuring out how to pace yourself on a max-effort ride; however, it doesn’t tell you anything about my individual strengths and weaknesses or how I compare to other cyclists. To do that, we need to introduce comparative data, which is provided by additional research.

Through empirical testing, a team of researchers—including the well-regarded physiologist Andrew Coggan—calculated expected athletic performance ranges for power output at durations of 5 seconds, 1 minute, 5 minutes, and an hour. Comparing an athlete’s Power Curve against those calculated norms yields an understanding of an individual rider’s strengths and weaknesses.

The research team took riders with similar strengths and weaknesses and aggregated them into commonly-recognizable categories which in true scientific fashion they gave the officious label “phenotypes”. An athlete who excelled at short efforts was a sprinter; whereas someone producing above average power over an hour would be a good time trialist, climber, or steady-state endurance rider; and someone with equal performance across the entire time spectrum would be an all-rounder.

So what can I learn about myself from my own chart?

Ornoth's Phenotype

The obvious first conclusion is that I’m no professional athlete! My 5-second sprint is pretty pedestrian, and my 1-minute power doesn’t even register on the chart! However, my 5-minute power is in the upper half of the “Fair” range, and over 60 minutes I’m a fraction below “Moderate”. In comparison with professional athletes, that’s pretty impressive for a 55 year-old!

The chart shows that although I might lose a two-up sprint with a corpse, I will have unequivocally stronger results the longer an event goes. That marks me as a time trialist, climber, and/or endurance rider: something that shouldn’t surprise anyone who knows anything about my riding style and history. But it’s nice to have that confirmed by quantitative data.

For any athlete who is given this data, the next question is what to do with it; and the answer is a resounding “Do whatever you want.” Do you want to work on strengthening those areas where you are weakest, to improve your overall performance? Or do you want to maximize your strengths to derive the most benefit from them? That’s entirely up to you.

Since my cycling goals are mostly limited to centuries and 200ks, I’m perfectly happy continuing to work my endurance, and living in Western Pennsylvania is guaranteed to build up my power over short, steep climbs.

Armed with this new understanding of the wattages I can sustain over specific durations, I could put a power meter on my bike to get live power readings, which would allow me to perfectly gauge and pace my efforts in real-time. That expense will probably have to wait until the next bike, tho.

It’s been a while since I looked at what a typical year looks like. In the distant past I’ve shared a bar chart that showed my average mileage for each month of the year, and more recently I showed how my weight fluctuated throughout the year.

But those are indirect measures. Now, with eight years of heart rate data available, I can average my chronic training load (CTL, aka “Fitness”) for each day of the calendar year. That’s the chart that follows.

Since this is averaged data, there are absolutely zero surprises here. I train up during the spring, peak in the summer, gradually tail off through the fall, and bottom out in the winter.

Looking more carefully, the year can actually be broken down into six discrete two-month periods:

  • Pre-season: mid-Feb to mid-Apr
  • Training season: mid-Apr to mid-Jun
  • Peaking: mid-Jun to mid-Aug
  • Sustaining: mid-Aug to mid-Oct
  • Detraining: mid-Oct to mid-Dec
  • Off-season: mid-Dec to mid-Feb

There are a few mini-peaks whose dates are worth noting:

  • Feb 13: Lowest Fitness of the year.
  • Feb 20: Apparently spring training begins very suddenly!
  • Jul 9: Peak Fitness, usually after the ABC Ride or a solo century over the holiday.
  • Aug 6: After tapering, a secondary peak around the Pan-Mass Challenge or Every Neighborhood Ride.
  • Oct 1: Autumnal last hurrah; after this, it’s all downhill...

It’s important to note that this chart doesn’t include data since December 1, when I started using Zwift and my new indoor trainer. With my end-of-January CTL now near 60—45 points higher than average—that would dramatically raise my off-season average, so we’ll leave those numbers out for the time being.

Look for this measurement to eventually reappear in my 2019 recap blogpost, as a baseline/average to compare my 2019 training effort against, since this year will be anything but average!

From start to finish, 2018 was a disappointment.

After the extreme effort to conquer the 2017 Dirty Dozen (blogpost) and my 250,000-foot climbing goal (blogpost), I fell into an enduring malaise and lack of motivation that lasted all of 2018. On top of that, three long trips—smack in the middle of training season—ensured I couldn’t get back into proper form in the spring.

A wet, grim start to Escape to the Lake Day 2

A wet, grim start to Escape to the Lake Day 2

As if that weren’t enough, 2018 was Pittsburgh’s wettest year in recorded history, washing out even more of my training. In July, when my travel was done, I struggled through my remaining four big events, eventually riding myself back into fitness just in time for the season to end.

If we only count outdoor road riding, I rode only 2,776 miles: my lowest total in five years (if we exclude the intentionally light year of my move from Boston to Pittsburgh). And it was by far the least amount of climbing I’ve done since the move. Though if we count the 486 virtual miles I did on the indoor trainer, my annual total rises to a more respectable 3,262: still 20 percent less than I rode in 2017.

2018 wasn’t entirely bad—there were a few minor highlights—but all told, it was a miserable year.

My Original 2018 Goals

I really didn’t have any cycling goals for 2018. In 2017 I had checked off everything I’d aspired to do in Pittsburgh, leaving nothing specific to reach for.

The only item I mentioned at the end of last year’s summary (blogpost) was a planned trip to Tuscany, where I hoped to enjoy some long European riding and even catch a stage of the Giro d’Italia elite cycling race. However, it rained the entire time, allowing only 80km of wet, uncomfortable riding; and I abandoned my Giro date due to a scheduling conflict (blogpost).

My rental Bianchi at our Tuscan villa

My rental Bianchi at our Tuscan villa

Morning light on the Pedal the Lakes century

Morning light on the Pedal the Lakes century

Tag-o-Rama pickup on Lemon Way, Downtown

Tag-o-Rama pickup on Lemon Way, Downtown

Orny descending a mountain in Zwift's Watopia

Orny descending a mountain in Zwift's Watopia

Dirty Dozen rider Jeremiah climbing Eleanor Street on a bikeshare tank

Dirty Dozen rider Jeremiah climbing Eleanor St. on a bikeshare

My 2018 cycling calendar

My 2018 cycling calendar

The Centuries

Another way I judge a year is how many 100-mile rides I complete; therefore, this year I’ve introduced this separate section to enumerate them.

In 2018, despite the weather, my travel, and lack of motivation, I matched 2017’s total of six centuries. I suffered more than usual on these long rides, either due to insufficient preparation or increasing age.

The first century was easy: a slow amble up the Montour Trail with friends De’Anna and Bill, which I spontaneously extended with a solo jaunt to Monongahela and back. But it was so unnoteworthy that it earned only passing mention in my entry for the second century of the year, which was…

The annual Escape to the Lake MS Ride (blogpost) was soggy and sloggy, with rain both days, compounded by an unannounced (and poorly signed) detour and relocated rest stop.

I made a road trip to Akron for my second Absolutely Beautiful Country ride (blogpost). Despite a flat course, it was still a sufferfest. After accidentally bringing only two right gloves, I rode bare-handed all day, which produced a painfully memorable sunburn.

August began with the always-difficult Every Neighborhood Ride (blogpost). This year I had to stop for a vicious cramp halfway up Forbes Avenue. After recuperating and cooling off at the Squirrel Hill rest stop, I fell back and finished the ride with the slow group.

Pedal PGH (blogpost) was as chaotic as usual. Extending the metric to a full century proved costly, as I needed breaks to let the legs recover while recuperating from the heat.

A week later, I drove up to Mercer County for my final century of the year. Though difficult, Pedal the Lakes (blogpost) was manageable, since I’d finally started coming into form… just in time for the season to end!

Additional Highlights

One 2018 highlight didn’t require much effort: picking up 25 tags in Pittsburgh’s Tag-o-Rama cycling/photography game. That was enough to break into the top ten players (out of 125). (blogpost)

I’ve already mentioned that Pittsburgh set a new all-time record for precipitation in a calendar year, receiving over one and a half times our normal rainfall. The resulting landslides washed away several roads, some of which still haven’t reopened ten months later. Many rides were canceled, including brevets, the Western PA Wheelmen’s spring and fall rallies, the Mon Valley Century, and numerous group rides. I only attended 5 out of 27 Tuesday night Team Decaf rides due to rain, and I bailed halfway through one of those due to a sudden mid-ride rainstorm!

The year was filled with other frustrations, as well. Several of those mentioned below are covered in more detail in a short mid-August blogpost tellingly titled “Yeah, Yeah, Bicycle”.

The local bike “advocacy” group decided to withdraw all support for BikeFest, a two-week cycling celebration it had run for 15 years.

My bike had several mechanical travails, ranging from a still-unresolved creak to a fancy new Di2 mount that promptly broke my Di2 junction box.

I spent $70 to re-stock my supply of powdered Gatorade mix, only to discover they’d changed the formula into an unusable dust that won’t mix with water and tastes just like burnt plastic.

And Strava completely ruined the training charts I relied on, which I’ll speak more of below.

I wasn’t in any shape—or mood—to ride this year’s Dirty Dozen hill climb, but that gave me the opportunity to play event photographer, which might have been more fun than actually riding! (blogpost)

The year’s biggest highlight happened in December, long after the riding season was done: my long-awaited purchase of an indoor smart trainer and membership on the Zwift multiplayer online cycling platform (blogpost). In addition to my first FTP test, I rode as “far” on the trainer in December as I did on the road in any other month in 2018! While it had no impact on the 2018 season, it has helped me get over my season-long malaise and should improve my form next spring.

The Charthouse

As mentioned earlier, Strava changed the math behind their “Fitness & Freshness” chart that I relied on for training and event tapering, and which I incorporated into my annual summaries as a graphical overview of the year.

Their “improved” metrics are completely worthless, but thankfully I’ve been able to recreate the TRIMP charts I relied on them for. Updated versions follow:

2018 TRIMP fitness chart

This first chart shows my fitness level over the past twelve months, with centuries highlighted.

What you’ll note is an overall saw-tooth pattern, with sudden gains from intense training followed by immediate backslides; i.e. a complete lack of sustained improvement.

You can see the dips during my travel dates: Southeast Asia in the latter half of March, a mini-dip in May during my week in Tuscany, and my meditation retreat in late June.

But even when I was home, each time I gained fitness, it declined again, rather than moving progressively higher. Every upward impulse is followed by a dip back down; I just couldn’t sustain a consistent string of training.

One easily-overlooked but hopeful sign is the upward trend throughout December. That’s the result of my new indoor trainer and Zwift membership. With any luck, I have already begun my positive fitness trend for the start of the 2019 season!

2011-2018 TRIMP fitness chart

The second chart shows how 2018 compares to previous years. Even though I began the year at a high level, over the summer I never attained the peak fitness of my previous six years. And that pretty neatly summarizes my year.

Goals for 2019

A year ago, I reluctantly set some vague goals for 2018; I’d done all the new rides I wanted to do, and didn’t see any specific challenges to undertake in the new year. In that respect, I’m in the same situation this year.

However, my lackluster 2018 was not a direct consequence of my lack of clearly-identified goals. I blame it all on horrible weather, lots of poorly-timed travel, and the fatigue and demoralization left over from a very demanding 2017.

Fortunately, I’m entering 2019 much fresher, and with no major travel plans. So long as we don’t set any new rainfall records, 2019 is bound to be better than 2018 was.

My primary goal for next year is simply this: to finally get beyond the malaise of 2018, to ride more, and get back to peak fitness this summer.

That’ll be aided by my secondary goal for 2019: spending the winter riding Zwift on the trainer, allowing me to enter the road season at a high level of fitness, and monitoring that by performing regular FTP tests throughout the year.

I needed a major change to shake me out of the funk that lingered over me all year, and Zwift is certainly different. I find myself actually looking forward to riding the indoor trainer and learning how to train more effectively by using its built-in power meter. I’m hopeful it’ll be the key that unlocks both my attitude and my fitness level for the 2019 season.

If I can achieve those two simple goals, I’ll be happy, and it will make possible any specific challenges I target as the year progresses. And so far it looks promising!

My second year riding in Pittsburgh somehow felt both pleasantly normal as well as superlative and memorable in so many ways. Overall, I rode a ton, befriended some good folks, grew more familiar with my new hometown, set some new records, met all my goals, vanquished Pittsburgh’s hardest challenge, and had a blast doing so. Here’s my year in review…

Team Decaf group ride at the Point

Team Decaf group ride at the Point, with Ornoth back center

Ornoth crushing a hill

Ornoth crushing a hill on the Escape to the Lake MS ride

Ornoth & Monica finishing the 100k

Ornoth & Monica finishing the Pittsburgh Randonneurs' 100k populaire

Ornoth leading a pack through the city

Ornoth leading a pack through the city during PedalPGH

Ornoth descending Dirty Dozen Hill 6 (Rialto) from the neighborhood of Troy Hill.

Video of Ornoth (in black) amongst a group of Dirty Dozen riders (around 3:02) to the top of Suffolk St.

Great closeup action shot of Ornoth ascending Dirty Dozen Hill 9 (Canton Ave).

Video of Ornoth conquering the upper half of Canton Ave (10:50 to 11:00).

The tired-but-happy look of an official Dirty Dozen finisher!

Ornoth's 2017 Cycling Calendar

My Original 2017 Goals

This time last year, I set four explicit goals for 2017.

Purchase and learn how to use a new Garmin Edge 820 GPS cyclo-computer. This was the first thing I did upon getting back to Pittsburgh in February. The 820 has a lot of new features, some of which actually work. The D-Fly integration with my electronic shifters has mostly worked, despite the added drain on the Di2’s battery, and I’ve enjoyed perusing my shifting data on di2stats.com. I created my own custom data field (feet of ascent per mile) for display on the 820, and got Shimano’s E-TUBE app working such that I can update my shifters’ firmware from my phone. While the 820 didn’t live up to what it should have been, it’s been a steady performer and a worthwhile purchase. Read my full Garmin Edge 820 review.

Ride both days of the 2017 Escape to the Lake MS Ride. My partner Inna’s support made this weekend expedition possible, and it was a lovely experience. Not only did I get to complete the event and finish on the very shore of Lake Erie, but Inna and I stayed and spent an extra day lounging on the lakeside beaches of Presque Isle State Park. It was very reminiscent of my Cape Cod trips with Sheeri back when she supported my Pan-Mass Challenge rides. Read my Escape to the Lake ride report.

Complete the 2017 Woiner Cancer Foundation 3-2-1 Ride. This became a primary goal after I missed the 2016 ride during my mother’s hospitalization. In 2017, they offered a special 80-mile route to VIP fundraisers from 2016 (which I qualified for), so on October 1st I saddled up for a long, chilly, flat ride along the Great Allegheny Passage from Ohiopyle back to Pittsburgh, most of it on crushed limestone rail trail. I enjoyed exploring some new territory while further increasing the amount of money I’ve raised for cancer research. Read my 3-2-1 Ride report.

Attempt my first Dirty Dozen race. Climbing the city’s 13 steepest hills, including the steepest public street in the world, this is an immense challenge, and the city’s most infamous ride. I missed last year’s edition while caretaking my mother, but this year I participated in all the training rides, then enjoyed an immensely fulfilling and memorable ride on race day, earning hard-won lifetime bragging rights. Unquestionably the highlight of the year. See my training rides blogpost, my full Dirty Dozen ride report, and my time-lapse videos of the most difficult hills.

Additional Highlights

Achieving all my explicit goals guaranteed that I had a good year. But there was an awful lot more to 2017 on top of that…

  • Further deferring my job hunt gave me the entire year off to devote to cycling, and I made good use of the opportunity. I topped 4,000 miles for the first time since 2010. And I shattered my record for number of rides per year; this year’s 154 rides is about double number of rides I used to do in Boston.
  • I continued meeting and befriending lots of local cyclists, which has been rewarding, and one of the biggest overall themes for 2017. It’s nice when someone recognizes you, which is happening regularly now, so I’m starting to feel more like a known community member than an unfamiliar outsider.
  • I attended both the Spring Rally and Fall Rally organized by the Western Pennsylvania Wheelmen, and got a snazzy new WPW jersey.
  • I claimed 13 more tags in the BikePGH forums’ Tag-o-Rama cycling and photography game, placing me within the Top 20 players. It’s been an interesting way to learn more about the city. See all my Tag-o-Rama photos.
  • I was quoted (anonymously) in BikePGH’s summary of their survey of cyclists’ attitudes toward self-driving vehicles, and re-quoted in the Pittsburgh Post-Gazette’s article covering the survey. I was righteously amused. Read my self-driving vehicle blogpost.
  • I participated in the National Bike Challenge, confirming that I’m around the Top 10% most active cyclists locally, state-wide, and nationally. Read my National Bike Challenge blogpost.
  • I joined a half dozen other BikePGH forum readers in playing Velogames’ annual Tour de France fantasy league. It was interesting, but my team selections placed me near the middle of the pack. Oh well!
  • I picked up an attractive graphic poster of the “Hell of the North: Paris-Roubaix”, which is hung above my desk at home.
  • I continued to maintain BikingPGH’s Annual Ride Calendar, as I described here, and also iterated on my paper-based cycling wall calendar. Both have been useful planning tools that I’ll continue working on for 2018. Here’s a link to the full size 2017 version.
  • I picked up two absolutely pivotal pieces of kit: a thermal cycling jacket and a pair of thermal full-leg bibs, both from my favorite manufacturer: Craft. Those have utterly transformed my relationship to cold-weather riding, and made even the 17° Dirty Dozen practice ride a pleasant experience.
  • My Strava trophy case added badges for completing climbing challenges and gran fondos for April, May, June, July, and August, plus a gran fondo for October. Ironically, despite training for and completing the Dirty Dozen, as well as my 250,000-foot climbing goal, I failed to earn Strava’s climbing challenge badges for October, November, or December!
  • That 250,000-foot goal, as well as the six centuries I rode in 2017, are highlights that I’ll discuss in more detail in the next section.

The Charthouse

Last year’s annual summary included a chart showing that my first year riding in Pittsburgh utterly shattered all the previous climbing records set during my years in Boston.

In 2017, I eclipsed last year’s record, surpassing a quarter million feet of climbing (47 vertical miles), more than double the climbing I’d ever done back in Boston. My 62 feet of ascent per mile ridden is also a new record. You can see an updated version of that climbing chart by reading my 250,000 foot blogpost.

Also in last year’s summary, I used the Strava Premium and Stravistix TRIMP “fitness and freshness” charts to tell the story of my year and put it into context with previous years, so I’ll do that again here. In 2017 I used the detailed TRIMP charts exhaustively in planning my pre-event training and recovery, which proved remarkably effective.

2017 TRIMP fitness chart

The above chart shows my fitness level over the past twelve months, with major rides highlighted. Obviously, I started the year with zero fitness after spending five months off the bike while caretaking my mother. You see a big jump when I got home in February, followed by a period of consolidation; another jump in mid-April, which kicked off a lengthy and consistent improvement leading up to my first century of the year: the two-day Escape to the Lake MS Ride in mid-June.

After finally notching that first 100-mile ride, my fitness stayed at a high level through my four summer centuries: the Akron Bicycle Club’s ABC Ride in July (a new event to me), followed a week later by the PMTCC 3-State Ride (when my fitness peaked), then August’s Every Neighborhood Ride, and PedalPGH (which were both long group rides that I extended into full centuries).

My fitness dipped noticeably during a two-week vacation in September before a quick spike for my first 3-2-1 Ride on October 1 (a long charity ride that I extended for my sixth and final century of the year).

The next two months were spent preparing for the Dirty Dozen ride, but hill climbs don’t accrue as much fitness benefit as endurance rides, so although I was gaining power, you see a jagged slight downward trend in fitness there. After the Dirty Dozen, my fitness remained high to the end the year, while I polished off my goal of climbing a quarter million feet in 2017.

2011-2017 TRIMP fitness chart

Tacking my 2017 fitness onto the end of the chart to depict my past seven seasons tells the same story in brief: beginning from ground zero, an initial kick, consolidation, and a second kick up to peak fitness. I stayed at a high level of fitness for a much longer time this year, thanks to training for November’s Dirty Dozen and my climbing goal-driven riding in December.

All that late-season riding drives the major difference between 2017’s curve and that of previous years: I’m ending the calendar year at a much higher level of fitness than ever before. Now, whether that will translate to better form next spring is an open question, and will depend on how much riding I do in January, February, and March.

I’m sure there’ll be days that call me outside for a ride, but right now I’ll happily take a couple months to rest and recover.

Goals for 2018

It feels kind of strange, but I’m going into 2018 without any major cycling goals.

Having two seasons under my belt, I’ve done all the new rides that I wanted to experience when I moved here, so I don’t feel like I have any unfinished business that needs particular attention.

I’m happy with my fitness, my equipment, my knowledge of the area, and the relationships I’ve been growing in the local cycling community.

So my overall attitude going into 2018 is: “Nothing specific, but more of the same, please.”

That said, there are a couple things I anticipate for 2018.

With a trip to Italy planned for May, I do hope to do some riding around the Tuscan hills, and hopefully spectate a stage of the Giro d’Italia, as well. That trip would probably be the highlight of my year, and it’s the only new experience I’m specifically targeting.

And there’s a rumor that GCN might be sending a crew to Pittsburgh next year, presumably for November’s Dirty Dozen, or at least a peek at the route. It would be fun to be involved with that somehow, although I’m not relishing the idea of doing that ride again!

And along the way, I’ll pass two milestones on my R2-Di2 bike seen here; I’ll eclipse 15,000 miles on it, which is just a round number, but at 16,800 miles I’ll surpass all the riding I did on my first bike—the Devinci hybrid seen here—reminding me that after five years “the new bike” ain’t quite so new as she used to was.

But other than those things, I’m happy to take 2018 as it comes. If it’s anything like how enjoyable and eventful 2017 was, I’ll have absolutely no cause to complain!

I really don’t know what I was thinking.

Last year’s end-of-year summary included a chart of how much climbing I’d done over each of the past seven years, because after climbing 87,000 to 120,000 feet per year in Boston, my first year in Pittsburgh had tallied a record 190,000 feet. But having been forced to stop riding at the end of September, I added: “If I had ridden at the same pace for the last three months of 2016 I would have broken a quarter million feet.

You can see where this is headed, then? A quarter million feet of climbing in one year. That’s double or triple the climbing I’d done back in Boston. 76 vertical kilometers. Imagine climbing a mountain that stands 47 miles tall. That’s nearly nine times the height of Mt. Everest… Or a third of the way to Skylab’s orbital altitude!

Now take a look at the chart below (click for bigness). The pink (2016) and grey (2017) lines represent my two years here in Pittsburgh, and everything else is from Boston.

2017 climbing chart

My strategy throughout 2017 was to roughly do the same amount of climbing as I’d done at the same point in 2016. I started six weeks “behind schedule” after my exile to Maine, so I spent February through May catching up to my climbing from the year before. Once those two lines converged, I was back on track, and from June through September I mostly just kept pace with my 2016 numbers.

In October and November, my annual climbing goal was back-burnered while I focused on training for the Dirty Dozen. So although I was still doing a lot of climbing, my progress toward 250,000 feet was haphazard and untracked. And I had nothing to compare myself to once I surpassed by 2016 total…

After completing the Dirty Dozen at the end of November, I checked on my progress toward my mostly-forgotten climbing goal, and discovered that I already stood at 226,000 feet. I was still roughly on track to surpass a quarter million feet of climbing.

But I needed another 24,000 feet: an average of 667 feet per day. In the four previous months I’d averaged 905, 570, 785, and 705 feet per day, so it was certainly doable. But it would still take dedication to achieve, especially in the discouraging cold and snows of December.

Furthermore, my legs were shattered after the Dirty Dozen ride, and I was exhausted by 2½ months of hill climbing. The last thing I wanted to do was go out and spend another whole month doing hill repeats in sub-freezing weather!

But that’s exactly what I did. I spent the next four weeks burying more stupid hills beneath my wheels, accumulating the remaining vertical distance, and finally surpassing 250,000 feet on Christmas Eve. Happily, I didn’t have to endure any of those ridiculous Dirty Dozen ramps, but with much less time for rest and recovery, I did quite a job on my aching kneeballs.

If I was riding in Boston, a quarter million feet of ascent would be a huge accomplishment; but is it really a big deal here in Pittsburgh? After all, if I hadn’t been exiled to Maine last winter, I would have surpassed that threshold in both 2016 and 2017, just by doing my regular amount of riding.

Of course, that’s “regular” for years when I’m not working for a living, and thus able to spend more time in the saddle. Even here, 250,000 feet would be hard to achieve while working nine-to-five. So I’ll say that it was as a noteworthy achievement, especially in the context of my cycling career to date.

When I finished that goal-conquering ride on Christmas Eve, my overall mileage for the year stood at 3,996. Obviously, a numbers-obsessed rider like me wasn’t going to finish the year just 4 miles short of a round 4,000. So once more into the 17° weather for a final ten-mile ride to polish off the last milestone of the year.

Though noteworthy, riding 4,000 miles isn’t anywhere near a personal record; in Boston, I exceeded 4,000 miles per year three times. But the last time that happened was way back in 2010, meaning this has been the most I’ve ridden during any of the past seven years, and the most I’ve ever put on the (2013 vintage) R2-Di2 bike in any single season. So it’s worth noting for that.

Plugging those two numbers into a simple equation—a quarter million feet of climbing over four thousand miles—produces another factoid: over the entire 2017 season I averaged over 62 feet of climbing per mile ridden.

That’s a record amount of hilliness, topping last year’s 58 feet/mile. Thanks to Pittsburgh’s stupid topography, I doubled the 30-34 fpm I averaged in Boston.

All that put a nice cap on my 2017 cycling season, leaving me to take some time off to crunch some numbers and spit out my comprehensive “year in review” post. That will be posted shortly, since I’m finally declaring a belated start of my official “off-season”!

As you would expect, my first year riding in Pittsburgh was eventful and full of new experiences. Judging by the size of this 2016 year-in-review post, I consider it a pretty successful year overall.

Here I’ll review my original goals for the year, plow through a list of other noteworthy developments, show you a few informative charts, and then close by looking forward to 2017. All accompanied by a handful of related photos.

Ornoth"s MS Ride
Ornoth climbing segment one
MS Ride start
50,000th Mile
Ornoth hammering
Pit randos crossing the Mon
Collapsed roadway
Cheez ball spill

Original 2016 Goals

When I moved to Pittsburgh at the end of last year, I set four explicit goals for myself, plus two implicit ones. How did we do?

First goal was to buy a new indoor trainer. It didn’t happen because nice weather allowed me to ride outdoors throughout last winter, and I wanted to conserve cash. Although I never got that new trainer, I can’t call saving hundreds of dollars a failure! And there’s always next year…

Second goal was to do more century rides than the feeble four I had done in 2015. I bagged seven, one of which was a 200k. Great success! To enumerate them: Pittsburgh Randonneurs’ McConnell’s Mill 200k (a new all-time record for most climbing in one ride), Escape to the Lake MS ride, a solo century to Brush Creek, the Pittsburgh Tour de Cure Gran Fondo, the Western PA Wheelmen’s 3-State Century, the Mon Valley Century, and the Pedal the Lakes Century.

Third goal was to check out Pittsburgh’s outdoor cycling track. Definitely did that, and set my first personal hour record there (20.77 miles). But I didn’t participate or even spectate at any of the races held there… Yet!

Final goal was to ride the Dirty Dozen. Sadly, family obligations brought my season to a screeching halt just after I started training for the Thanksgiving-weekend ride. This one has to wait for next year.

My two implicit goals were to ride more than I did in 2015, and to learn and become familiar with the roads and routes used by Pittsburgh cyclists. I covered both of those without question.

Overall, I did a reasonable—but not perfect—job of meeting my original goals for the year.

Innumerable Highlights

But the story of a season isn’t made up solely of chasing predicted goals. It’s also a collection of serendipitous moments and unexpected developments. And 2016 was a very eventful year.

How come? Here’s a quick run-down:

  • I opted to take the summer off from work, giving me lots of free time to ride.
  • I rode more miles in 2016 than I did in any my past six years except for 2014.
  • Overall, my average distance per ride is down, but my climbing per ride is way up, and I rode much more frequently this year.
  • I rode my first brevet in ten years, my first-ever gran fondo, and my first personal hour record on the track.
  • I rode to a town called McMurray in memory of my mentor Bobby Mac, did the PedalPGH and Every Neighborhood rides, rode from home into West Virginia and Ohio, around Saratoga New York on vacation, through a cheeseball spill, and to a town called Bagdad over two closed roads that were broken up and collapsing down the hillside!
  • I rode in regular group rides with Team Decaf and the East Liberty Performance Bicycle shop guys.
  • But I lost out on the Dirty Dozen, its training rides, and the 321 cancer charity ride I’d planned on doing.
  • I met a lot of cool riders, including Stef Burch, Monica VanDieren, Jim Logan, Eric Collazo, Kai, Colleen Spiegler, Ryan Popple, and many, many others.
  • I had one nontrivial crash due to debris in the road, resulting in some road rash and a quick trip to the walk-in clinic.
  • Rode in two processional rides in memory of local riders who had been killed by motorists.
  • Michelin replaced my standard Pro4 line of tires with a new model called Power Endurance. When I was accidentally sent 25mm tires rather than my preferred 23s, I opted to stick with them. They’re more comfortable, and wider tires are a new trend with many riders.
  • Also bought a Continental 4-Season rear tire for wintertime traction.
  • I destroyed another rear wheel, but replaced it with a new Ksyrium with an all-black Exalith brake track that whines evilly whenever I’m slowing down. My bike shop forced me to impersonate a shop employee in order to get my warrantee registered.
  • I bought a couple Ass Savers, a hub-level video camera mount, several new jerseys, caps, and a really nice new insulated winter cycling jacket.
  • I started playing in the BikePGH forums’ Tag-o-Rama photo-finding game, finding and setting four sets of tags. Also bought a cycling card game called Attack the Pack.
  • Bought a new set of Oakley Half Jacket sunglasses, with ear socks and lenses to match my bike’s red and white color scheme. Also attached plastic stick-on reading lenses to those sunglasses, making it much easier to read my GPS bike computer, especially when navigating unfamiliar areas (like all of Pittsburgh!) by map.
  • Although I haven’t bought the new Garmin Edge 820 GPS cyclo-computer, I did buy some electronic widgets that will allow my future head unit to talk to my Di2 electronic gear shifters. More on that in the future!
  • Lost my only Strava KOM up in northern Vermont, but gained a new one located behind Allegheny General Hospital in Pittsburgh.
  • Was shocked to hear that Dirty Dozen founder and Pittsburgh cycling legend Danny Chew had been paralyzed in a crash.
  • Surpassed 10,000 miles on the “new” bike (R2-Di2), and broke 50,000 miles overall since 2000.
  • Ordered a fistful of Camelbak Jetvalve water bottle tops, because those things grow mold like crazy and are difficult to clean. They’re rarely sold separate from the bottles.
  • Added searchable tags to my cycling blog, so that you can now navigate my posts by topic.
  • Finally paid for a Strava Pro membership. Between Strava and the Stravistics add-on, I got all kinds of new features, including:
  • Started automatically posting ride photos to my Strava page via my Instagram feed.
  • Access to my Strava “trophy case”. On top of old challenges from years past, this year I earned eight monthly gran fondo badges, four monthly climbing challenge badges, and one special challenge badge.
  • I used the Flyby feature (example) to identify similar riders in my new neighborhood and learn the routes they favored. And I used Strava’s Global Heatmap to see overall popular routes in Pittsburgh.
  • One of the coolest things I did this year came about because I wanted something no other website provides: a way to directly compare the slopes and lengths of hills against one another. Being a techie and data vis geek, I started hitting the Strava API and created my very own Slope Comparison Tool. It’s really awesome and I’m really proud of it.
  • And then there were some new data plots that I discovered: my personal riding heatmap, my yearly elevation gain chart, and my training/fitness chart.

Let’s go into those charts in a little more detail, since they are extremely pertinent to any discussion of my 2016 season.

Teh Plotz

I told you that one of my implicit goals was to learn Pittsburgh’s roads. My 2016 mileage total was 3,260, which is greater than four of the previous five years, so I definitely covered a lot of territory.

But it’s easier to show you that on a heatmap than it is to talk about it. Here’s a static image of my 2016 riding, which shows a lot of riding around the city core and numerous expeditions further afield.

However, you can get a much better understanding by clicking through to the actual interactive map to pan and zoom around.

Custom personal heatmaps are one of the awesome features that came with my paid Strava membership. I have another map depicting all my riding (since 2010), both before and after my move from Boston to Pittsburgh.

Pittsburgh heatmap

Next comes a truly amazing chart, which shows something my blogposts have belabored: how hilly Pittsburgh is in comparison to Boston.

The chart depicts how much elevation gain (i.e. climbing) I did each year. From 2010 through 2015, while living in Boston I climbed anywhere from 87,000 to 120,000 feet (16 to 23 vertical miles) per year.

Now look at the pink line for 2016. At the end of September, I had 190,000 feet of climbing: nearly twice my previous record for that point in the year! If I had ridden at the same pace for the last three months of 2016 I would have broken a quarter million feet (48 vertical miles) this year. But I didn’t, so I had to settle for a mere 36 vertical miles…

That chart is from the Stravistix add-on for Strava, which adds all kinds of useful information above and beyond what you get from Strava itself.

Climbing chart

Finally, I’ve got two versions of this year’s TRIMP chart, which I described in detail in this blogpost. The first one tracks this year’s fitness, and the second lets you compare 2016 to previous years.

Here’s what you’ll see below:

This past season began with a great build-up from mid February through the end of March. The next month and a half were plagued by mechanical troubles, travel, and bad weather, except for that mid-April brevet I rode: my longest ride of the year. There followed three and a half months of enjoying long summertime rides and steadily-increasing fitness, culminating with the Pedal the Lakes Century on September 4.

After that, I kicked off my Dirty Dozen training rides. Although I was building up leg strength, my fitness chart started trending downward because I wasn’t riding as often or as far; I was just banging out the steepest hills, then taking time off the bike to fully recover.

Dirty Dozen training went well enough until my mother got sick and I left for Maine, which abruptly terminated my season. The chart clearly shows the resulting precipitous decline in fitness from its late-August peak. See?

As with almost all images I post, you can click through for the full-sized version.

2016 TRIMP fitness chart

That’s a tactical view of 2016, but how does this season compare with other years? That’s what we see when we zoom out to a TRIMP / fitness chart for the past six years.

What you immediately notice is that the winter dip from 2015 to 2016 isn’t as deep as any previous year. That—and the irregular jagginess of the curve—reflects the fact that I managed to ride outside a lot last winter; whereas indoor trainer work would appear more regular, like what you see through the winter of 2014-15. Riding outside allowed me to start 2016 at a measurably higher fitness level than usual.

You also see some of the things I mentioned above: the early spring build-up, followed by a brief dip, then a very productive summer season, and a complete drop-off for the last four months of the year.

In terms of the absolute peak fitness I achieved, my max has been pretty consistent over the past three years. See?

2011-2016 TRIMP fitness chart

These two charts are also available as a part of a paid Strava membership. I found them—and especially the underlying form and fatigue data that I haven’t shown here—insightful and very useful in preparing myself for major events this summer without over- or under-training.

2017 Goals

That’s all I want to say about 2016, which leads into the next logical question: what will 2017 look like?

There are a handful of things that I definitely want to accomplish next year, and a couple open questionmarks. Let’s start with the easy ones first.

I plan to purchase and learn how to use a new Garmin Edge 820 GPS cyclo-computer, replacing my reliable six year-old Edge 800. I’m really excited about the many new features it offers, some of which I describe in this post.

I would like to ride both days of next year’s Escape to the Lake MS Ride. This year, I only rode the first day because it was a century and Day 2 was not, and because I could avoid worrying about hotels and overnighting and return transportation. However, Day 2 ends on the shore of Lake Erie, which I have yet to visit, and I think I might enjoy completing the entire event.

I plan to ride next October’s Woiner Cancer Foundation 321 Ride. This year I registered, fundraised, and got the ride jersey, but couldn’t participate due to my mother’s hospitalization.

And it goes without saying that I want to attempt my first Dirty Dozen next year. After several years of anticipation, in 2016 I was all set to take on that challenge, until life intervened. Now having ridden almost all of those hills, I really want to add that ride—and the steepest public street in the world—to my palmares.

Those are my main goals. What about the ones I said were questionable?

One is a 2016 goal that I deferred on: the purchase of a fancy new indoor trainer. That wasn’t necessary last year because Pittsburgh had a very mild winter, and I was trying to save money. The need is still there, but only time will tell whether I need to pull the trigger on it or if it can wait. But I won’t get any indoor or outdoor riding done during this extended stay in Maine.

And then there’s the employment question. Having a job is nice, and it does introduce the possibility of commuting by bike, but it also restricts how much time I can spend in the saddle. Although employment is a non-cycling goal, I’m definitely hoping that I can mesh those two aspects of life together successfully. But that’s also contingent on getting back home again.

That wraps up the end-of-season retrospective. I enjoyed my first year in Pittsburgh, and it was very eventful from a cycling perspective. I learned a lot, got some cool new gear, set benchmarks as well as some new records, met a lot of people, and experienced a whole lot of territory.

Here’s hoping for an equally enjoyable season in 2017!

Ornoth’s been playing with data visualizations again, and as usual the results are pretty cool.

Climbing hills is how cyclists measure themselves. We roam around the countryside, testing ourselves against short, steep hills; long, steady hills; and especially ones that are both steep and long.

Ascending each hill dozens of times, we become intimately familiar with every detail, having discovered where the slope increases, where the opportunities to recover are, and whether a rider should attack it aggressively or work his way to the top more slowly and conservatively.

Slope chart

When cyclists get together, hills are a natural topic of conversation: complaining about them, reminiscing about them, and comparing them to one another. This hill is longer, but that one’s steeper. But the first one is steeper right at the start. Or is it?

The one thing that’s missing from our conversations is quantitative data that allow you to objectively compare one hill with another, or even a whole set of hills. Ideally, that data would all be summarized in one simple chart that you could read at a glance.

You’d think the interwebs would have created such a thing, but I couldn’t find one. Tons of sites will show the elevation profile of one hill, but I couldn’t find any that would show multiple hills on the same chart. So I went and wrote one myself.

If you go to this page, you can enter the URLs for up to thirteen Strava “segments”. The easiest way for me to identify hills (or any road segments) is by leveraging Strava, the cycling activity tracking site.

Once you’ve told me what road segments you’re interested in, behind the scenes my page will fetch all the elevation data from Strava, then build a chart for you that displays the elevation profiles of every segment.

If you click on the thumbnail image at the top of this post, you can view a full-size example, although it won’t show the interactive features of the chart: you can hover the mouse over any line, and a tooltip will display the slope of the hill at that point; you can show and hide each segment; and zoom in closer to see greater detail.

My only disappointment is that it’s only as good as Strava’s data, which isn’t always as good as you’d want and expect.

It can be a bit of a chore chasing around Strava to find segment URLs, so I’ve created some example charts for you to play with.

The first one compares some noteworthy hills near Boston.

The next one shows the thirteen hills in Pittsburgh’s Dirty Dozen ride.

In addition to comparing local hills, this makes it easier for me to compare Boston’s hills with those in Pittsburgh, both to satisfy my own curiosity as well as to share with my cycling buddies back in Boston. Here’s an example chart comparing some hills from Boston and Pittsburgh.

But to satisfy your own curiosity, go to the input page to use whatever Strava segments you care about, from your neighborhood or anywhere in the world.

I hope you enjoy it! It was fun to develop, and I think it carries really interesting and useful information that no other site provides.

This won’t be the last time I show how much hillier Pittsburgh is than Boston, but it might be the most succinct.

One chart, showing how much climbing I’ve done in recent years. Can you guess which line represents riding in Pittsburgh?

Ascent chart

The average amount of ascent I’ve done by April 17th for the past six years: 8,221 feet.

Amount I’ve done thus far in 2016: 57,854 feet. That’s seven times my average and four times my max.

In other words, I’ve already done as much ascending as I normally would complete around the third week of July.

But you get the idea. Just look at the pink line and project it forward eight more months…

Amongst cyclists, there are mixed opinions about Strava, the social network that promotes tracking, analysis, and sharing the GPS logs of one’s rides.

There’s no question of the value it provides. But there’s been a bit of backlash from non-competitive riders who think preoccupation with “the numbers” detracts from the pleasure of riding. While that might be how it is for them, that doesn’t confer upon them the right to judge others for whom Strava’s information actually enhances their cycling experience.

Like many sites, Strava gives free users access to most of their functionality, but saves some advanced features for paying members. For myself, the ability to create my own heatmaps wasn’t sufficient reason to pay for access. However, a recent offer of a free month of premium access finally lured me in.

Although it’s not the main point of this post, the first thing I had to look at was those heatmap charts. A year and a half ago, I put together my own heatmap of a year’s worth of my cycling in Boston, which you can see here.

In comparison, here’s Strava’s heatmap of all the 500+ rides I’ve logged since 2010. Click here or on the image to get through to the interactive map where you can pan and zoom around.

Ornoth's cycling heatmap

They also let you generate heatmaps for a particular calendar year or an arbitrary date range. So here’s another chart showing where I’ve ridden since moving to Pittsburgh back in December. Click thru for the interactive version.

Ornoth's Pittsburgh cycling heatmap

Clearly they’re more flexible and less work than creating my own from scratch.

Another premium feature worth a brief mention is the “trophy case”. Strava offers monthly climbing or mileage “challenges” to all riders, but when a paying member completes a challenge, Strava adds little badges on the “trophy case” section of their rider profile page.

Gran Fondo challenge badge

Since those aren’t shown for free users, I never paid much attention to the challenges I’d completed, but now they all show up on my rider profile. In 2014 I completed four monthly “gran fondo” challenges plus one long “summer challenge”. In 2015 I added three more gran fondos. And thanks to favorable weather, I’ve already completed two more this year, and will complete my first monthly “climbing challenge” in a couple days.

That’s all nice, but it’s not the premium feature that I really want to show you. The main point of this post is the “Freshness & Fitness” chart, which I want to explain in some detail, because it’s cool.

For visual reference, here’s my fitness chart for the past 12 months. Click the image to see it at full size.

One-year fitness chart

Look first at the histogram across the bottom. Each one of the vertical lines represents a ride. Each line’s height represents the ride’s difficulty, based on its intensity and duration, and is called its “training impulse” or TRIMP or “suffer score”. The harder the ride, the taller the line. Above, I’ve highlighted last September’s late-season Hub on Wheels ride; it was a very intense three-hour ride, which is reflected in its training impulse value of 315.

Now look at the main/shaded/dark/bold line on the line chart above. That’s a different measurement called “fitness”, which represents my overall strength on the bike. You’ll see that every time I do a ride, my fitness goes up in proportion to how hard the ride was. So when I ride, I get stronger, but it gradually declines on days that I don’t ride.

There’s a spike at the Hub on Wheels ride where my fitness jumped up from 26 to 33, then slowly declined to 22 over the next three weeks while I was off the bike. Similarly, I was at peak fitness in June after riding hard and often, but my overall fitness declined through July and August, when I rode considerably less. Technically speaking, fitness is a weighted average of the training impulse for the previous six weeks.

There’s another metric that I haven’t shown here in order to keep the chart clean. We all know that after a hard ride, it can take a couple days of rest for your body to recover before you can go hard again. To take that into account, there’s another metric called “fatigue”.

Like fitness, fatigue increases in proportion to how hard you rode. After Hub on Wheels, my fatigue rose from 6 to 47. But it takes only a few days to recover from fatigue; a week after the Hub ride, my fatigue had gone back down to 17. In technical terms, it’s a weighted average of only the past 7 days’ training. While the positive effects on fitness of training last a long time, the negative impact of fatigue does not. That’s fatigue.

If you’re training to get ready for a big event, both fitness and fatigue matter. You want to have trained hard and built up your fitness, but if you’re still suffering from fatigue, you’re not going to perform at your best. If you take your level of fitness and subtract your residual fatigue, you get a number which they call “form”. Form is the thing that really matters when it comes to predicting how you’ll perform on any given day. And that’s what the thin/light/grey line on the chart represents.

Looking at that light grey line on my chart, during my heavy training period in the spring and early summer my fitness rose to its peak, but my form never got especially good because I was so fatigued. But I rode a lot less after my major event at the end of June, which allowed my body to fully recover. Looking at the chart, my form didn’t actually peak until late July! Going into Hub on Wheels, my form was a moderately good +20; after riding so hard, it fell to -14; but after a week of recovery it was back up to +11.

For another explanation of all this, try this 3-minute video from TrainingPeaks, although they use more technical names for these elements.

Stepping back, that chart gives a good overall picture of how a cyclist’s year progresses. You start with low fitness over the winter. In the spring you gain fitness by doing hard, long rides, but those leave you really fatigued, so you’re not at your best until you’ve taken the time to recover. That’s why you have to taper your training in the week leading up to a major event, so that you’ll be fresh (less fatigued) and thus at peak form. And then in the fall you can finally enjoy being highly fit without having to train hard or endure the associated fatigue.

In addition to 6- and 12-month views, Strava will also display all of your historical data, which for me goes back five years to 2011. That’s shown in the chart below, which only contains my overall fitness, with the expected troughs in the winter and peaks in the summer. Again, click for bigness.

Five-year fitness chart

There are some really interesting things to see here, too.

What immediately jumps out at me is that each year’s peak fitness was greater than the previous summer. New cyclists experience this year over year improvement as their body responds to the training load and becomes ever more attuned to cycling. You don’t just get fitter from winter to summer, but you also improve from year to year. Although I wouldn’t have expected to see that trend continue for someone who has been riding for 16 years, apparently I trained harder each year from 2011 to 2015, as shown by my peak fitness values, which went from 44 to 57, 62, 74, and 73.

The wintertime troughs are also interesting. The winter of 2011-2012 I barely rode at all, which is why you see a smooth decline in my fitness (down to a sad little value of 1). Skipping ahead, in 2014’s off-season I tried to ride outside sporadically, which is why you see some big jaggies there. But the most interesting years are 2013 and 2015, when I regularly used the indoor trainer. Riding the trainer produced numerous short little saw-toothed increases in fitness, which added up to provide a good base of fitness and a head start going into the arduous spring training season.

And finally there’s this past off-season. You don’t see any evidence of indoor trainer last winter, but Pittsburgh provided enough nice weather to ride outside regularly, and enough obscenely-difficult hills to really amp up the “training impulse”. So much so that according to this methodology, I’m as trained-up and fit now (in March) as I normally would be in the latter half of May!

Being two months ahead of my usual training curve is probably a good thing, knowing how much more climbing there is in the average Pittsburgh ride than back in Boston.

These are only a few of the features that Strava offers to premium users. For you, they may or may not be worth the expense; it took me five years to even look into it seriously for myself. But I thought I’d share some of the insights that you can gain.

Of course, you can get this kind of information (and more) from other performance management software such as TrainingPeaks, but getting it as a part of Strava Premium is pretty convenient for me. And Strava provides a social network that makes it easy to share with other riders and anyone who reads this blog.

And while we’re here, if you like this kind of stuff, don’t forget to install the Stravistix Chrome browser add-on, for additional analysis of your Strava datums!

Perennial

Jul. 10th, 2015 07:51 am

There’s a nice Strava extension out there called Stravistix, and they just added an interesting new feature called “year progressions”. More accurately, it’s a multi-year comparison of your year-to-date riding.

Ornoths year progression data

On the right you see what my “year progression” looked like at the end of June: 42 rides, 1,800 miles, and 52,000 feet of climbing.

In comparison to my five previous years, that’s more miles than any year except my record year of 2010, and more climbing than any of those years. And slightly more than the average number of rides.

I find that a little surprising, given that I’m not commuting to work any longer, but there you have it!

If you’re a Strava user, this kind of data is probably of interest to you, so you might check out Stravistix, because it does a really good job reporting valuable additional details from your Strava log, including extended statistics about each activity.

Frequent topics