Log in

No account? Create an account

Orny's Cycling Journal


11 PMC Riding



November 13th, 2019

Hey Nineteen

Share Flag
12 MLR

To make this late-season update a little more interesting, I decided to do a video update.


The TLDR is this: contrary to expectations, my season ended quite abruptly, but not before a record-shattering 2019. Now, with snow flying in Pittsburgh, I’m mostly transitioning back to the indoor trainer and my virtual Zwift world, amidst daydreams and scheming for 2020.

There won’t be much more to tell before my usual end-of-year summary, but that’ll be a big post, as I hope to do justice to this exceptional year. But for now, here’s a quick audiovisual update:

October 27th, 2019

Dirty Birds

Share Flag
11 PMC Riding

Another year, another edition of Pittsburgh’s signature Dirty Dozen ride.

Although I conquered the challenging course in 2017, I wasn’t in physical or mental condition to ride last year; instead I threw my camera bag over my shoulder and played photographer, bagging 350 action shots while driving frantically between the course’s five steepest hills, trying to simultaneously keep pace with seven different groups of riders.

Dirty Dozen rider

Despite this year's record-smashing cycling season, over the past two months I was plagued by a strained achilles, a lingering cold, plus a week of travel. I didn’t do any of the Dirty Dozen group training rides, and was in no shape to approach those hills on a bike myself. So I spent another day documenting other riders’ suffering and triumphs.

That’s okay tho, because I really enjoy the rare opportunities I get to play cycling photographer.

This year I was a little more judicious about where I deployed, dropping last year’s ambitious five hills down to three, only one of which (#10: Canton) was a repeat. Before that, I started the day at #4: High/Seavey, which isn’t a hard hill, but has a nice switchback and hillside cemetery backdrop that are ideal for photography. And afterward I ended with #13: Kilbourne/Tesla, hoping to catch some dramatic facial expressions on the final hill, which has a short but painfully steep finish.

Despite the event moving up a month into October, the weather was still cool, and sporadic sprinkles arrived just in time to make Canton a slippery, leaf-strewn trainwreck, and Tesla a wet, dispiriting finale. Thankfully, it was much less painful for a photographer than for the riders, as my biggest complaint was the muted, overcast lighting!

This year I came home with 260 photos, a tiny sampling of which appear below. You can see my 51 personally-selected shots in my 2019 Dirty Dozen Flickr album. And if you’d like, here are links to last year’s DD blogpost, and last year’s DD Flickr album.

Dirty Dozen rider Dirty Dozen rider
Dirty Dozen rider Dirty Dozen rider
Dirty Dozen rider Dirty Dozen riders Dirty Dozen rider
Dirty Dozen rider Dirty Dozen rider Dirty Dozen rider: ambushed
View the Full Album


September 18th, 2019

Who drives more than 8 hours, does a 100-mile bike ride, then drives another 8 hours home? Well, here’s the thing...

Last winter, when I was spending a lot of time on the indoor trainer and Zwift, much of it was riding with an organized club called “The Herd”. Because we use Discord for voice chat, over time you get to know people and form friendships irrespective of where folks are physically located.

The Herd's Fast Group

The Herd's Fast Group

Caught in Samsara!

Caught in Samsara!

The Herd @ LHT

The Herd @ LHT

Tim W. & Chris S.

Tim W. & Chris S.

Brad, Chris A., & Tim W.

Brad, Chris A., & Tim W.

Ornoth @ Little Traverse Lake

Ornoth @ Little Traverse Lake

Chris S.

Chris S.

Tim W., Timm M., Brad, & Louise

Tim W., Timm M., Brad, & Louise

Tim W.

Tim W.



Chris A.

Chris A.

Ornoth @ Grand Traverse Light

Ornoth @ Grand Traverse Light

Early in the year, The Herd announced their first big real-life get-together, at the Leelanau Harvest Tour, an organized century ride in Traverse City, in the northwestern corner (the pinkie) of Michigan. Since that’s just within a day’s drive from Pittsburgh, I added it to my calendar.

In the end, we had 16 attendees: several from around Toronto, Michigan, Wisconsin, Ohio, eastern and western Pennsylvania, but also individuals from as far away as Boston, Oklahoma, and one of the group leaders (Marius) traveled from Norway!

Several of the ride leaders had met one another before, but for others it was their first time meeting other Herd members in person. Gathering to meet "online-only" friends from various locations is a familiar feeling for me, having gone to the internet’s first-ever Chatcon in NYC in 1985, several Where’s George meetups, and having run a dozen "summits” in various locations for DargonZine, the internet writers’ group I founded in 1984.

The Herd event was extra ironic for me, because our 2005 DZ summit actually was held in Traverse City, co-hosted by a writer based in Ann Arbor. I never imagined I’d visit there once, never mind a return engagement fourteen years later!

So on the morning of Friday the 13th I hit the road, leaving Pittsburgh at 7:15am. A long drive with a bad achilles (right foot, of course) wasn’t a lot of fun. The weather was fine except for my brief passage through a rain front, but I arrived, got into my downtown hotel, and showered.

I was surprised there was no group meeting Friday evening, but that gave me the opportunity to dine at one place in Traverse City that I really wanted to hit: a Thai restaurant with the amusing (to a Buddhist) name of Samsara! Samsara (wikipedia) being the name for the endless cycle of birth, suffering, death, and rebirth, I had to get a selfie and make a couple inside jokes.

The place had no pretensions. Located in the side-back of a strip mall, with a linoleum floor, drop ceiling, and about six tables. My “ghang gahree” was delicious, but was served "Thai-hot”.

I returned to the hotel and bedded down, a little disappointed that with such a short amount of time to spend together, there was no welcoming activity before the ride. But that was tempered with the understanding that other folks might take their pre-ride preparation more cautiously than I do.

Saturday morning I grabbed some Gatorade and drove up to the Suttons Bay ride start, where the petulant ride organizers made dozens of us stand in line while they strictly waited until 7:30am for the official opening of registration. After gathering my cue sheet, wristband, and tee shirt, I pulled my bike out of the trunk and began putting everything together, happily discovering that the group’s van—where everyone was to meet up—had parked a couple spots down from me.

I don’t know why technical difficulties tend to crop up at major events, but this is where my trials began. Having brought my Nut-R mount for my GoPro action camera, when I went to attach it to my rear axle, I couldn’t close the wheel’s quick-release, even after removing the Nut-R. I feared I might not be able to ride, but Julie H. wrenched the quick-release back into shape so that it would close properly. But even then, I had trouble threading the Nut-R onto the quick-release and wound up not using it at all.

We waited around for everyone to get ready, assembled for a group photo, and rolled out about 20 minutes later than the planned 8am depart. The first 11 miles were along the Leelanau Rail Trail, providing a pleasant warm-up and the opportunity to chat, enjoy the beautiful morning, and take a few action photos.

With 16 riders all having different expectations, priorities, and experience levels, it was inevitable that the group split into fast and slower groups shortly after we left the bike path, when a gusty headwind and a couple small hills provided natural sorting mechanisms. Although we weren’t pushing it at the front, I found myself in a reduced group of five, with Brad H., Louise B., Chris A., and Tim W.

At the Mile 25 rest stop, my GPS battery was low, so I went to connect it to the portable battery I carry on long rides. I usually attach it to my handlebars with an elastic band, so I can ride and recharge the unit at the same time; however, my elastic chose that moment to disintegrate, and I discovered that I’d somehow misplaced its backup. I fell back to using an extra hair band, which only barely worked.

We began the second segment with three additional riders: Tom W., Timm M., who had flatted, and Chris S., who had paced him back to us. As the course turned north through Sleeping Bear Dunes National Lakeshore, the eight of us enjoyed a delightful tailwind on a long section of smooth pavement. While pulling at the front, I amused the others by sitting up, taking my hands off the bars, and flapping my arms like a seagull leading a formation of birds.

All too soon, that segment ended at the Mile 39 rest stop, which fronted on the stunningly blue waters of Little Traverse Lake. I consulted the mechanical support dude, who remembered that new inner tubes often come wrapped with an elastic, so I happily used one of those to secure my external battery.

The next section featured consecutive rolling hills, which the group ate up without complaint, and long stretches along the banks of Lake Leelanau. We saw an occasional tree with a tiny bit of color, but that ominous hint of autumn was made up for by the brilliant gradations of blue in the lakes and the perfectly clear sky. The turquoise waters were repeatedly compared to the Caribbean.

At the next lakeside rest stop we said goodbye to Chris, Tim, Timm, and Tom, who resisted our attempts to persuade them to switch from the 65-mile route to the full hundred. Although eleven Herd riders had registered for the century, only four of us continued on: myself, Chris A., Louise, and Brad, who diligently pulled at the front, as he’d done nearly all day.

Passing through the tiny town of Northport, Louise flatted, but we were fortuitously spotted by the SAG wagon driver, who had been fetching coffee for his crew, so we were back on the road in short order.

After navigating a three-mile construction zone, we reached the end of the road: the northernmost tip of the Leelanau Peninsula, which featured a state park of the same name, as well as the Grand Traverse Lighthouse. We stopped and marveled at the high surf and the azure expanse of Lake Michigan, then returned the way we’d come, back through the road construction.

The final 25 southbound miles were a slog against the headwind we’d forgotten about on our way north. My achilles began hurting, and as the miles added up, our group of four lost cohesiveness. At the Mile 84 rest stop, the others inexplicably left without waiting for me; I promptly caught them up, but by this point we were riding at our own individual paces. The route had a fun and interesting finish: a gradual, mile-long 3% descent, followed by a mile-long 6% climb and equivalent descent right to the finish.

At 4pm I completed 101 miles, discovering that the parking lot where we’d started was almost empty. I’d expected the team to hang out at the lunch offered by the organizers, but they’d all gone back to their lodgings to shower. The four of us who had ridden the century together packed up and followed suit.

Between the easy pace, the 4pm time, and the fact that everyone else had gone home, I figured we’d ridden ridiculously slowly, but it was actually a 7h38m century, which is casual but not especially self-indulgent.

After the ride, I went back to my hotel, showered, and headed to the group’s post-ride gathering downtown at Seven Monks Taproom. I nibbled some ribs and socialized, enjoying more time with both the friends I’d ridden with and those I hadn’t. But it was awfully loud, and I was hoarse by the end of the night.

After abbreviated sleep Friday night, Saturday night was worse, with a thunderstorm that left me fully awake at 4am. I opted to try the hotel's 6am breakfast, which was utterly indefensible.

As the rain tapered off, the bleary-eyed group gathered for a final brunch meetup at the “Flap Jack Shack”. One of the odder moments was when David T. perceived a likeness between me and the portrait of Andrew Jackson on the $20 bill, then extended that idea to others in our group. We chatted and pretended to eat for an hour and a half before everyone went off on their own again: some homeward, others following their own local plans.

Tired, headachey, and nauseous, I went back to the hotel and slept for a couple hours, skipped dinner, and watched some footy until bedtime.

Having planned to be ready for group activities on Sunday, I’d booked my hotel through until Monday. After another uncomfortable night, I was up early for the long drive back to Pittsburgh. Along the way I passed the immediate aftermath of a tractor trailer that had Storrowed itself: misjudging a bridge and peeling itself open like a can opener. But the day’s real highlight was arriving home, receiving a warm welcome, and passing out in bed.

Looking back on the event, other than a couple missed social opportunities, I only had two minor disappointments. Although Herd team jerseys have been in the works for nine months, they weren’t available by the time of the ride. And the event’s date unfortunately collided with one of my favorite Pittsburgh events: the Every Neighborhood Ride, which I rode in 2018, 2017, and 2016.

But overall, it was a wonderful time. I enjoyed the ride’s route, the gentle terrain, gorgeous lakes, and especially the delightful weather. After the wettest year in recorded history last year, somehow all of my major rides with fixed dates in 2019 have had stunningly beautiful weather. And it was great being able to meet and ride with so many Herd members whom I’d previously only known online.

This was my record-setting 13th century of the year, and the final major event on my calendar. Honestly, after nine 100-mile rides in the past 12 weeks, the prospect of not having any more centuries is pretty appealing! The Herd gathering was a very rewarding and fitting way to close out the high season, and now it’s time for some well-deserved rest, healing, and a trip to the doctor to treat my achilles injury before contemplating a return to Zwift over the winter.

September 1st, 2019

Four Lakes

Share Flag
12 MLR

Having made my own “Four Rivers” century two weeks ago, the Labor Day weekend bought a “four lakes” century: the annual Pedal the Lakes tour up in Mercer County, which skirts Conneaut Lake, the Pymatuning Reservoir, Mosquito Creek Lake in Ohio, and the Shenango River Lake.

Pymatuning Reservoir dam gatehouse

Pymatuning Reservoir dam gatehouse

Foggy Conneaut Lake @ 8:15am

Foggy Conneaut Lake @ 8:15am

Amish convention @ Pymatuning Reservoir spillway

Amish convention @ Pymatuning Reservoir spillway

With the holiday marking the transition from summer to fall, my previous rides in 2016 and 2018 were my last 100-mile rides of those years. There wasn’t much visible evidence of autumn this year however, which pleased me!

The day provided perfect riding weather. Skies were clear with some protective high clouds, and temps that began at a cool 54º only climbing to a pleasant 70º. I continue to marvel that I’ve had wonderful weather for every one of my rides this year with firm calendar dates: none of last year’s inescapable rain.

There weren’t a lot of highlights to go over—just a whole lot of farmland—but a few memories stand out: brownies at the first rest stop, on the shore of a very foggy Conneaut Lake; a mysterious gathering of Amish families at the spillway for the Pymatuning Reservoir.

The “lunch” stop is always a favorite, in an attractive little farm/barnyard-turned winery, with delicious catered pizza! I downed a slice of ’roni and another of sassage (sic) while chatting with some local riders.

After riding west into Ohio to the 60-mile rest stop near Mosquito Creek Lake, I was concerned about turning back east into a headwind, but that was nothing in comparison to the horrible chipseal roads, especially the 8-mile stretch of Bradley Brownlee Road, which every rider complained about at the 80-mile stop.

Thanks to the cool weather and being at peak form, I didn’t find myself suffering very much, which made even the final 20 miles of riding a joy. With another week of healing, my achilles was slightly improved, and reliable except for hard out-of-the-saddle efforts.

I ticked over 100 miles in a surprising 6h44m, then rolled back into Greenville feeling very strong to collect the chocolate milk they stock at the finish. In an elapsed time of 6h52m, I shaved a surprising 23m off the pace I logged in 2016 and 2018.

That completed my sixth century in six weeks, and eighth in ten weeks. It was my twelfth century of 2019, which is double what I did in 2018 and 2017. Putting that another way, I’ve done as many centuries this year as I did in the previous two years combined! And so far as I can tell, it’s my 85th lifetime century.

I enjoy the Pedal the Lakes ride for several reasons. It’s inexpensive, and the flat terrain is an invigorating relief from southwestern Pennsylvania's usual punishing hills. By Labor Day, the weather is just starting to cool off, providing ideal riding conditions, and an opportunity to look back fondly on the memorable rides of the high season. At the end of summer I'm still at peak fitness, but don’t feel any pressure to push myself harder than is comfortable.

As the last organized century of most years, Pedal the Lakes is a transition point, where I can enjoy being in top form, allowing myself to take it easy as I begin the de-training phase of the cycling year.

And so it would be now, except I don’t think we’re quite done yet...

August 27th, 2019

Pedal, Piggie!

Share Flag
10 PMC Riding

I’m not a fan of PedalPGH, for reasons I’ve repeated in my 2018, 2017, and 2016 ride reports. So I won't belabor the same shortcomings yet again, though rest assured nothing changed with this year’s populist urban ride. But there’s plenty of other stuff to talk about, anyways.

Grandview Park overlook

Grandview Park overlook

Jim Logan with Ornoth following

Jim Logan with Ornoth following

Birthy bibnum

Birthy bibnum

The most salient being that I somehow injured my achilles tendon last Wednesday, making it difficult to walk or stand. After three days of rest, it was a little better, but nowhere near normal.

In order to gauge whether I could ride, I made a ten-mile bike trip to pick up my PedalPGH registration packet. It went okay, but not well enough to inspire a lot of confidence. They let me pick my bib number, and I went with my birth year.

I decided I’d try it, and see how it went. Sunday morning was a cool 53º, so I added a baselayer shirt and arm warmers, and swapped my usual sandals for my winter cycling shoes, for more ankle support.

Naturally, I took it pretty gingerly. Other than being stiff and weak, the ankle worked okay, albeit with a few painful twinges. Where I was able to excel was descending, which is usually a weak point. I also had good luck slicing through groups of slower riders, sneaking my way to the front while they were stopped at traffic lights.

Along the way I saw numerous friends: Ben, Jason, Scott, Jim, Stephen, Paul, and others. And the event photographers caught me a couple times.

This year, the organizers added a new wrinkle to inconvenience everyone. The 50-mile rest stop at Highland Park had no water at all, and no apparent fix. How do you run group ride—in August!—without providing anything for riders to drink? This oversight was especially ironic, because the rest stop was just 60 feet from two of the city’s biggest freshwater reservoirs.

I can’t speak to whether the other rest stops had issues, since I didn’t use them. But with iffy support, poor route design, and a registration fee north of $75 that funds a cause I don’t agree with, I probably won’t do this ride again.

On the positive side of the ledger, due to the closure of Serpentine Drive, the ride was re-routed right past my house, so I made a quick stop at home to drop off my now-unneeded arm warmers and baselayer.

I rode straight through the official finishing arch around Mile 65 and made my way down the GAP trail to McKeesport and back in order to complete a full imperial century. Along the way I stopped at a convenience store where another rider came by, riding a 2006 Specialized Roubaix: an exact copy of my old bike, the Plastic Bullet!

Due to waiting for the start of the ride, some long rest stops, and an intentionally slower pace, my 11th century of the year took a full eight hours.

Neither of my legs were particularly happy afterward, but by the next day they were back to where they were before the ride: “a little better, but nowhere near normal”. That’s good enough for the time being, and I expect more healing as I take it easy for the rest of this week.

After all, there’s another century coming up on Saturday…

August 20th, 2019

Four Rivers

Share Flag
12 MLR

So your home internet service is gonna be down for 48 hours, whaddaya do? If you’re Ornoth, you might as well bang out another century ride, right?

I didn’t have much of a plan when I set out, but began with the GAP trail along the Monongahela River to McKeesport, then down Bunola Road to Mon city. I love that stretch of road; where else (around here, at least) can you ride for ten miles right along the banks of a river and be passed by just two cars?

Forward on the Mon

Forward on the Mon

Monongahela City

Monongahela City

Back to McKeesport via the same roads before taking the loop trail down to Boston (PA) and back, following the Yuck (Youghiogheny River) branch. By this point we were in the heat of a very warm day, about 1pm.

Followed the Mon all the way back downtown to the Point, where I hoped to catch a little cooling spray from the big fountain. As I did, someone called out. It was riding buddy Ben Tu, who had just completed a three-day 170-mile expedition up the GAP trail from Cumberland. Apparently, I’d followed just a few minutes behind his group all the way up from Boston!

With 75 miles done and two rivers down, I decided to make it a four-river day by taking the riverside path down the Ohio River to the Western Pen and back via Beaver Ave; then River Ave up the Allegheny River, crossing at 31st Street and back via Penn Ave and the Jail Trail.

The whole day, I didn’t push myself terribly hard, but I earned quite a bit of damage to the undercarriage due to old bib shorts with worn chamois. Hopefully that’ll be resolved by Sunday, because… well, you can probably guess.

Not a hugely noteworthy ride except for this: as my tenth century of the year, this sets a new record for how many 100-plus mile rides I’ve done in any calendar year. It’s been a stellar year already, and I still have three organized centuries looming over the next four weeks!

With that in mind, I think I’ll go to bed now!

August 13th, 2019

Mon Again

Share Flag
12 MLR

Sunday saw the return of the Mon Valley Century, which I rode once in 2016, but which was not held for the past two years due to landslides: a fact of life in Western PA.

After driving down to Monongahela city and getting kitted up, I set out at 6:35am in foggy and chilly weather, the route following wooded (and mostly flat) creek beds. The first segment was a long 40 miles: 2.5h in the saddle without a break. The sun slowly burned through the fog, leaving yet another near-perfect day for riding.

Summer morning near Glyde, PA

Summer morning near Glyde, PA

Although I’d been told at the start that about ten riders started before me, I was the first to arrive at the eventual rest stop, despite only passing one other rider; three others arrived a few minutes later.

The middle part of the ride followed the (mostly flat) Monongahela River, with two notable exceptions: Brownsville Road, which climbs over a ridge to eliminate a big bend in the river (a mile climb at 8% grade); and an unexpected detour in Fayette City where our riverside route had been blocked by a major rockfall.

The route passed through several old, failed steel towns that had been built along the river. While not complete ghost towns, most of the buildings were long-abandoned industrial shells from the 1800s that felt more like a post-apocalyptic movie set than any 21st century communities. Pretty surreal; I really should’ve taken pictures.

I arrived at the advertised Belle Vernon rest stop (mile 60) at 10:30am to find two empty cooler jugs and a canister of Gatorade powder lying on the ground, unattended. Great. Thanks for all the support, ride organizers!

Fortunately, I still had a little fluid left in my bottle, and the lunch stop was only another ten miles further on. I arrived there at 11:15 and downed a turkey sandwich. The group behind me, which had swollen to five, arrived 15 minutes later.

After a good rest for tiring legs, I set off on the next leg, which (at mile 70) passed by the start-finish on the way to a 30-mile bonus loop to make a full century. After a moment of confusion about whether to turn at the Monongahela 7-Eleven or the New Eagle 7-Eleven, I left the river and passed up into the pretty Mingo Creek county park.

Three of the riders from the following group finally caught me in the last mile before the final rest stop at mile 90, which again was completely unmanned, but at least someone had bothered to fill the coolers with water and ice.

From there, four of the other riders split off, having started the ride from that area that morning and thus “completed” the ride. My final companion was on a recumbent and dropped me almost immediately, leaving me to toodle home casually over the last ten miles, which included a long, gentle descent. I returned to the car at 2pm, completing 102 miles in 7h25m, which was about right, given the half hour I’d killed at the lunch stop.

The main highlight of the ride was the countryside. Following creek beds and the river not only ensured the course wasn’t too hilly, but also provided a very pleasant mix of cool, shady, wooded glens and warm, sunny, open farmland.

That was complemented by another beautiful weather day. Unlike last year’s record rainfall, somehow all seven of my calendar-firm event days have provided stunning conditions. I hope that’ll continue for my three remaining scheduled events!

On the downside, there was a pretty large quantity of loose oil & chip roads, which are arduous to ride, damaging to equipment, and sometimes dangerous to riders.

But the biggest problems were entirely the fault of the organizers. Not providing GPS route data is lazy and unfriendly. Leaving rest stops stocked but unmanned is pretty sketchy. But not bothering to even set up an advertised water stop is inconsiderate, dangerous, negligent, and unforgivable.

If you ignore those issues—which fortunately didn’t inconvenience me too much—it was a really nice ride. My third century in three weeks, and my ninth of the year, which ties my previous annual record.

August 5th, 2019

Buttle Aboot

Share Flag
07 PMC Riding

The calendar said: ride the Pittsburgh Randonneurs’ First Sunday 100k. But their plan was to ride the PMTCC 3-State loop, which includes a number of roads I’d rather not ride more than once a year, if at all.

So I punted and decided on a solo century, extending my favored Days Run / Sun Mine / Deer Creek / Guys Run / Old Mill / Squaw Run route up through Saxonburg to Butler.

Brilliant Physical Health!

I’m in Brilliant Physical Health!

Another absolutely perfect day. On my way up to Freeport I stopped for a selfie at “Brilliant Physical Health”. Got up the Sun Mine climb—despite the road being closed—by riding underneath the arch made by a bucket-loader’s arm across the road.

The extension through Saxonburg provided endless steep rollers through typical Pennsylvania farmland, which meant endless wind sprints and tired legs and aching knees. On the plus side, several of those roads had just been newly resurfaced: Knoch, Bull Creek, and Frazier. And I even briefly got to ride on Dinnerbell Road! And chatted briefly with another rider coming off Bull Creek.

I wasn’t hammering, which conserved my strength and made the ride more enjoyable. And somehow, despite having 75 miles in the legs, I retained a strong enough pace to set a new PR on the steady Guys Run climb.

It was a good, solid, long day in the saddle. That’s really all there is to say about it, tho... Solo rides often don’t make for great write-ups, but it’s another century in the books (#8) for 2019.

July 28th, 2019

High Season

Share Flag
12 MLR

Welcome to “high season” week 1: Pittsburgh Randonneurs Meanville Greenville 200k. If weather, equipment, fitness, and motivation all hold together, I’ll log six century rides over the next eight weeks.

This first weekend featured the longest ride of the summer: a 125-mile 200k with the Pittsburgh Randonneurs. It took place just four days after I returned from a week in Denver. I wasn’t sure whether I’d suffer more after losing fitness from time off the bike; or whether I’d benefit from the extra rest and any physiological adaptations from a week spent at altitude. Prolly a little of both…

Greenville 200k

Up at stupid o’clock for a 45-minute drive up to Bill’s house in Zelienople, where I got to meet his cats before setting out with four other randonneurs. Weather was absolutely perfect, with scattered clouds and temps climbing from 61° to 84° through the day.

RBA De’Anna kept a moderate but steady pace all day. The four stops were evenly-spaced at 30 miles per, which was a bit of a stretch for someone with only one bottle cage. However, we made up for that with surprisingly long rest stops (by randonneuring standards). Not being a RUSA member (see here), I didn't even bother getting my brevet card certified at the control points.

The route was scenic, especially if you like endless farmland. By the end of the ride, everything smelled and tasted of manure. But we saw two dozen or more Amish buggies out on the roads, presumably on their way to some top-secret Amish conclave.

The course was also very rolling. With 7,700 feet of climbing, it was the third most climbing I’ve done in a single ride in ten years—surpassed only by two other 200k rides, one of them my April Sandy Lake brevet.

I was strong through 80 miles, but then spent the next 37 miles yoyo-ing off the back of the group. In the hottest part of the day, with just 6 miles left to go I finally fell off and limped to the finish at a reduced pace, utterly wiped; but justifiably so, after ten hours in the saddle.

That was a good effort tho, as it restored both my acute and chronic training loads to the level I was at before a week off the bike in Denver. It also tallied as my seventh century (plus) of 2019, my second 200k of the year, and—so far as I can tell from my records—my 80th all-time ride of 100+ miles.

And also the first of as many as six centuries in an eight-week "high season”. Now it’s time for focused recovery in preparation for ride #2...

July 15th, 2019

Another Bloomin’ Century

Share Flag
07 PMC Riding

Another weekend, another bloomin’ century… In this case, my third Akron Bicycle Club’s Absolutely Beautiful Country Ride, in the neighboring state of Ohio.

Akron in the morning

Akron in the morning

An early morning ride

An early morning ride

River Styx Cemetery

River Styx Cemetery

Sunday morning I was on the road shortly after 4am, piloting Inna’s mom’s car. After unloading in the Copley High School parking lot, I was in the saddle 15 minutes before the official 7am start.

Continuing my string of good luck with this year’s major events, the weather was ideal: a blissful 72° after a cold front passed through overnight, leaving high, broken cloud cover that gradually burned off, but kept temperatures from getting higher than the mid-80s.

I stopped briefly at the semi-official donut stop a mere 11 miles in, then rolled on, not seeing a single rider until just before the 25-mile rest stop, when one rider suddenly came around me at the Seville town line, then raised his hands as if he’d defeated me in a sprint… before a whole pack of club riders followed.

On one painfully-rough oil & chip section, two guys passed me and got a half mile on me. But I caught them up on the next meaningful climb and left them a half mile in my wake, not to be seen again until the mile 50 lunch stop. I may not have the raw power to compete with the locals on the flat, but—coming from Pittsburgh—I was dropping them right and left on the short, steep rollers.

The next section was brutal, with no rest stops from mile 50 to 80, and it was made more discouraging by the fact that the route had changed substantially this year, and inexplicably eliminated the FREE ICE CREAM stop at the Dalton Dari-ette!

Then came the cluster. At mile 60 a couple of us reached a crossroads where the painted arrows on the road completely disagreed with the course on our GPS computers, which had been updated to reflect detours around several recently washed-out roads. We stopped in confusion while two other groups also stopped. We decided to follow the arrows, but stopped after a mile when it was clearly not taking us in the right direction. We tried to flag down the sag wagon as it drove past, but they ignored us! So we turned around and followed the GPS route, which seemed successful. Tho it added a couple miles to our day and wasted 15 minutes dicking around.

While the morning had been comfortable and easy, the clouds had burned off and we turned north into a pretty steady headwind, making the second half of the ride a hot, slow, exhausting slog. At each stop I begged for ice, thankfully never being turned away.

Up to this point, each segment felt (and actually was) substantially longer than the previous one. But the organizers’ poor rest stop spacing turned beneficial because the final two segments were a mere eight and twelve miles long! Even so, my strength depleted rapidly until I limped into the mile 88 stop, recovered briefly, then set out on the final short leg back to Copley.

I pulled into the high school with 106 miles at 2pm, exceeding a 7-hour century by exactly the amount of time we had been delayed by the poor road markings. Overall, it was a pretty good day in the saddle, but a lot more challenging than I’d expected.

This was my sixth century of 2019, which is especially rewarding because that’s as many as I completed in the entire year last season!

It was also my last big ride before a week-long break that neatly splits my year in two. When I resume, things get really busy, with potentially six more centuries in eight weeks before everything winds down and summer ends… or Dirty Dozen training begins...

But with the successful completion of the ABC century and a stellar first half of 2019, I can now enjoy a well-deserved break from events and training for events. I’m very much looking forward to it!

July 2nd, 2019

State Machine

Share Flag
07 PMC Riding

As well as the last day of Q2, Sunday was my fifth century ride over that three month period: PMTCC’s McDermott 3-State Tour.

This was my third annual “M3ST”, having completed it in blistering heat in 2016, repeated in 2017, and skipped it last year due to lack of both fitness and motivation.

God approves of these cyclists' endeavor

God approves of these cyclists' endeavor

Sunny Day on the Ohio River

Sunny Day on the Ohio River

Point of Beginning? 57 miles in?

Point of Beginning? 57 miles in?

In addition to moving the ride a month earlier, the organizers also changed the route this year. Riders started and finished on Neville Island, which (mostly) eliminated the need for riding on dangerous Route 51. It began with a hilly 25-mile detour into the Sewickley hills, took a slightly different route to the West Virginia line, a new rolling inland segment from Ohio to Beaver, and then jumped inland again (with more hills) before a final flat section through Ambridge. That added 4-6 major hills and about 20% more climbing to the route (6,667 feet in total), so it was a challenging day.

Although the 6am drive to the start was clear, the Ohio River valley was choked with morning fog, which still hadn’t burned off when we rolled out from the start (a Park ’n’ Ride lot directly beneath the I-79 bridge) at 7:30am.

The fog made the morning the most scenic part of the ride: crossing the Sewickley Bridge encased in mist, then catching dramatic shafts of light piercing the clouds as we began the first of nine major climbs. Sol—who was riding with me—and I had hardly warmed up when the first rest stop came at mile 16.

By mile 25 we’d done a big loop and come back across the Sewickley Bridge to begin the trudge toward West Virginia, joined by a rider from St. Louis who’d chatted with me about road conditions before the start. We were confused when the painted route markings diverged from the published GPS tracks, but they eventually came back into agreement.

Following two more major climbs, we rolled into the second rest stop at mile 37. It was getting warm, and I was grateful the water stops all had plenty of ice. We took a few extra minutes here before rolling out, knowing that the next segment would be long (30 miles) and arduous, due to three more climbs.

A mere three miles into West Virginia, I crossed the river for a further three miles in Ohio, then stopped for a photo at a monument on the Pennsylvania border that marks both the point where the three states meet as well as the “Point of Beginning” of the first American geographical survey of the Northwest Territories in 1786. I appreciated the irony of visiting the “Point of Beginning” at mile 57, having already exceeded four hours of riding.

After that came another hot, leg-sapping climb that eventually led to the “lunch stop”, a strip mall Subway sandwich joint. With the heat and hills wearing on me, I heartily welcomed the food, ice drinks, and rest.

In pre-ride planning, I’d imagined descending into the town of Beaver and stopping at one of two ice cream shops. However, coming so soon after the lunch stop, I pressed on.

As I did so, one of the guys from the Tuesday night Decaf rides caught up with me to let me know that Sol had flatted just a couple hundred meters back. I moseyed back and helped him struggle with his amazingly recalcitrant equipment.

Half an hour later, we were back on the road, but my water bottle was empty, so I stopped at another Subway on the route out of town to refill, where Sol and I were joined by another riding buddy: Phil.

Before us was another very hilly 20 miles. Along the way, Sol missed a turn and was relegated to the annals of history. Phil and I were delighted to descend the final hill back down to the flat roads next to the river around mile 92, and pulled into the Ambridge rest stop exhausted a couple easy miles later. There I got a popsicle, gulped down a bucket of cold water, and doused my head with some, as well.

We waited a bit to see if Sol would show up, but we were just eight flat (and downwind!) miles from the end, and were both eager to finish, which I eventually did at 4:10pm, happily picking up another century finisher’s medal. Although my moving time was only 6 hours 43 minutes, elapsed clock time was an unimpressive 8h40m, mostly due to long rest stops and Sol’s flat.

All told, it was a good ride. I’d expected a difficult day, and it was acceptably challenging, with enough new roads to keep it from feeling stale. The weather was stellar, although a little more cloud cover would have nice to mitigate the heat, which sapped my power. I suffered a bit but never felt like I was likely to crack. My biggest complaint was lots of eye irritation, which usually only happens to me in the spring pollen season.

With that, the first half of 2019 is complete. If you take the 2,137 road miles I accrued plus 1,363 miles on the indoor trainer, that yields exactly 3,500, which is more mileage in a half year than I logged in seven of the last eight full years! I’m also five-for-five on my target events, maintaining an excellent level of fitness, and on pace for a record number of century-plus rides.

And that’s quite a wonderful feeling after such a miserable year in 2018.

June 14th, 2019

Master Escapologist

Share Flag
12 MLR

Last weekend was my fourth Escape to the Lake MS Ride, and fourth century of 2019. It was a beautiful and enjoyable two-day odyssey up to the Lake Erie shore.

Of course, the most pertinent element of my preparation was spending the winter on Zwift, plus the three centuries I’d recently completed.

I also put into practice two lessons gleaned from the Allen & Coggan book “Training + Racing With a Power Meter”. Specifically, doing less pre-ride tapering (because endurance events require fitness more than peak power and freshness), and conserving energy by keeping a steady power output, rather than having big spikes when I attacked hills.

I also transitioned my usual course notes written on tape attached to my top tube, instead using the “Multi Page Race Notes” ConnectIQ app to load them onto my bike computer, which worked okay.

Climbing out of Conneautville

Climbing out of Conneautville

Lined up at the start

Lined up at the start

Saturday morning Inna drove me up to the start in Moraine State Park, and I set off at 7am.

I rode solo over the first 60 miles, within the first 6-8 riders on course. We had absolutely perfect riding conditions: mostly sunny, temperatures rising from the 60s through the 70s, and a cross-tailwind.

Instead of skipping the first two stops and refueling at the third stop (in Mercer), I decided to balance it more by stopping at the second water stop (Grove City) and then skipping the third, which worked out well.

I pulled into the “lunch” stop in Sandy Lake at 9:50am and downed a ham sandwich before pressing on. The whole time, I was conserving energy for the second half of the day, although I had enough spare strength to pull one guy from the PJ Dick team back up to two of his buddies.

After leaving the Cochranton stop just after 11am, the climbing got serious. Those of us doing the full century route vectored right, straight into the teeth of a gusty 24 mph headwind. My legs were tired and I’d lost top-end power, but I wasn’t suffering because I wasn’t fighting against it. I reached the 80-mile rest stop at 12:25pm and received my “century challenge” pin.

The penultimate segment flattened out and turned downwind, which provided a welcome respite before the dreaded final hills into the finish at Meadville’s Allegheny College. I still wasn’t feeling bad, and marveled as I cruised past spots along the road where I’d had to stop and take breathers back in 2016. Even plodding up the final hills, I was less preoccupied by the landscape and more with my GPS, which told me I’d completed 100 miles in a surprisingly quick 6 hours 45 minutes. I rolled through the finish with 103 miles at a personal record 1:53pm.

Saturday afternoon was the usual: I got my bag, parked my bike, got into my dorm room, showered, feasted, rested, and recharged all my devices. Brownies were a welcome snack at the finish line. And dorm rooms now come with microwave and mini-fridges, which was convenient. I watched a few anime episodes and some soccer before rolling over for a fitful night’s sleep.

Grove City rest stop

Grove City rest stop

Sunday morning I was tired, achey, and stiff, but the weather was encouraging: 63°, with a strong 28 mph wind that would be behind us for most of the 65-mile run into Ohio and down to Lake Erie. Sailing along with the wind at my back, my legs came around, and I wasted no time at the rest stops (aside from a cookie I gnawed in Cranesville). My only complaint was my aching neck, which is inevitably my biggest pain-point on long rides. I shared the road from Cranesville to the final rest stop with Pittsburgh riding buddies Stephen and Miguel, but set out on the final segment alone because I was eager to finish. Riding the gale into Conneaut Township Park, I crossed the tape at a record 10:45am after 64 miles.

I finished so early that I had the men’s changing room completely to myself. With Inna still driving to the finish, I had some time to hang out and enjoy the beautiful weather, having a Dilly Bar, wading in Lake Erie, debriefing with Stephen and Miguel, having another Dilly Bar, meeting another Pittsburgh buddy Ben, having another Dilly Bar…

Lake Erie finisher

Lake Erie finisher

Eventually Inna drove up and we stowed my bike and bags. She asked about the blood on my elbow, which turned out to be ketchup from one of the picnic tables! We checked out the lakeshore beach, and I convinced her wade into the surf, to her annoyance.

Although we’d planned to stay overnight in Erie and visit the beaches of Presque Isle on Monday, we discovered that our hotel reservation had been lost. With ominous storms predicted to roll in, we decided to punt and drive back to Pittsburgh that night.

Sitting in the parking lot—weary after 167 miles of riding and not excited at the prospect of a two-hour drive home—I called out, “Okay Google, navigate to home”. Google Maps, which I’d apparently earlier set to provide cycling directions, promptly responded: “Navigating to home… Start pedaling!” which was met with uproarious glee by the non-cyclist in the vehicle.

In summary, it was a wonderful ride. The weather was absolutely perfect, with neither rain nor excessive heat, and the gusty wind was mostly at our backs, making pedaling a (literal) breeze. And with the record level of fitness I’ve been at thanks to my wintertime training on Zwift, I felt strong all weekend long, never feeling like I was tapped out or suffering at all.

And of course, this major event that I built up to only serves as further build-up to additional upcoming events on my summer calendar. If those go as well as this year’s Escape to the Lake, it’ll make for a wonderful year in the saddle.

May 25th, 2019

Friday was a beautiful day with an empty schedule, so I hit the road for a solo century. It was a good opportunity to visit a destination I’ve mused about since moving to Pittsburgh: Shades of Death Road, near the West Virginia border.

The most dangerous part of the ride was getting out of Pittsburgh, so I saddled up at 6am to beat rush hour traffic through the triple threat of high-speed arterials (W. Carson), ridiculous urban climbs (Steuben), and highway cloverleafs (I-79).

Bethel Church @ Shades of Death

Bethel Church @ Shades of Death

Pittsburgh's West End Overlook

Pittsburgh's West End Overlook

Shades of Death Road

Shades of Death Road

WV Border

WV Border

Once past the I-79 interchange, things calmed down nicely. For 20 miles I followed Noblestown Road, which was surprisingly relaxed and free of traffic. After a construction delay and refueling stop in Burgettstown, I vectored off into completely uncharted secondary roads—no Street View here!—eventually hitting the West Virginia border. There I turned south and headed onto even smaller and nearly-unpopulated State Line Road, along a shady, heavily-wooded rill.

48 miles into my ride, I reached the church—and cemetery, of course—that marked my destination: Shades of Death Road. Aside from the churchyard and the deep shade provided by dense tree cover, the most ominous thing I saw was a woman wielding a weed-whacker. I was disappointed that there were no street signs, so no good selfie opportunities.

More pressing, however, was the fact that the “road” had degraded into extremely loose and coarse gravel, making the 2-mile traversal very slow, treacherous, and hazardous to a fragile road bike. Upon completing the necessary passage, I followed a big loop (with a little more gravel) back to the secondary road toward Burgettstown, where I grabbed a cola and Funyuns.

Instead of returning home via Noblestown Road, I opted to take the Panhandle Trail that parallels it. The weather was absolutely ideal, and the trail was very nice and quiet… even the third of it that was crushed limestone, rather than asphalt. With about 65 miles in them, my legs were very happy to stick with the gentle flatness of the former railroad bed.

The trail dumped me out right by the I-79 interchange, so I had to traverse all the dangerous bits of getting back into the city, with added fatigue and afternoon traffic. Having a couple miles to spare, I detoured to the West End Overlook to get a shot of the city on my way home.

I finished my third century of 2019 in a gentle 8 hours clock time. My legs were good, but I was losing a little power toward the end—and would have lost more were it not for the Panhandle Trail’s welcome flatness. I had a few minor twinges in my right knee—understandable doing a century two days after the Alpe du Zwift—but nothing I’ll trouble over.

It was an exceptionally beautiful day on the bike, a good warmup for my upcoming MS ride, and the realization of a long-anticipated plan of riding the roads leading to the Shades of Death and back again!

May 15th, 2019

Der AlpenTimer

Share Flag
12 MLR

Maybe you’re after the “Lift Off” badge for climbing the Alpe du Zwift in under an hour, or maybe you just want to beat your previous best time.

The problem with trying to beat a specific time up the Alpe is that Zwift doesn’t display an estimated finish time, so you can’t pace your effort. Are you falling behind pace and need to increase your effort to get back on schedule? Or are you ahead of pace and able to ease off and conserve your strength? There’s no way to know!

Until now.

Let me introduce you to the AlpenTimer: a simple one-button app that tells you how much of the climb you’ve completed, and estimates your finish time as you round each of the Alpe’s 21 switchback turns. It should format well on most desktop, tablet, and cellphone browsers.

AlpenTimer main screen

As stated on the app, all you need to do is hit the big red button.

First, start the timer by hitting the button as you pass the KOM start marker. THIS IS ABSOLUTELY CRITICAL because ALL calculations are based on your start time, so DON’T GET THIS WRONG!

For a reminder, the KOM start marker looks like this:

Alpe du Zwift KOM start

After that, press the button each time you pass the triangular marker that marks one of the Alpe’s 21 switchback turns. This is how the app knows how far you’ve gone, from which it calculates and updates your estimated finish time.

Alpe du Zwift corner marker

If you’re after the “Lift Off” badge, all you have to do is keep an eye on whether that estimate stays below an hour. Or if you’re chasing a new PB, use whatever time you’re targeting instead. Now you’ll know whether you’re on pace or not, and can adjust your effort accordingly.

If you forget to click on a turn or two, it’s okay. Just click until the button caption reflects the next turn coming up. Your estimated finish time will be accurate again after the next turn where the turn number, the button caption, and your click are all back in sync.

Finally, if you click the button as you pass beneath the KOM finishing arch, the app will display your finishing time.

AlpenTimer finishing screen

It will also show a list of the times you passed each of the switchbacks, in case you want to cut and paste them into a spreadsheet, like this:

Example spreadsheet

That’s all there is to it! Give it a try, let me know if you have any feedback, and good luck nabbing your goal time!

May 6th, 2019

It’s been years since I had a Bad Day on the bike, and I can’t remember the last time I had to DNF a ride. I’ve kept my bikes in good working order, and thus haven’t met many major mechanical malfunctions.

And then there was Saturday. I’ll try to keep it brief, but convey the lowlights and the frustration I felt.

2019 WPW Spring Rally

Before the misfortunes...

Drove out to North Park for the 8:30am start of the Western Pennsylvania Wheelmen’s spring rally. Cool, clammy, overcast conditions. Set out in a group of a couple dozen riders.

Misfortune #1: Halfway through the 30-mile ride, I announced a front flat. Although a couple riders asked if I needed anything, I waved the entire group on, saying I’d catch up. No problem.

I figured it had been a slow leak, so my initial plan was to pump the tire up and see if it would hold long enough to get back to the start.

Misfortune #2: Pulling out my reliable frame pump, I discovered that the nut that held the entire pump head valve assembly together was missing, rendering it nearly useless. I had to hold the three loose parts of the pump head together by hand while holding the entire jerry-rigged pump head against the inner tube valve, while also trying to operate the pump with my other hand. I got a little air into the tire and set off to see if it would hopefully hold.

Misfortune #3: It didn’t. By the time I’d gone the length of two suburban yards, it was flat again, so I would have to stop and change the tube.

Misfortune #4: Trying to dismount the recalcitrant tire from the rim, the tire lever I was using slipped out and I slammed my fingers into the spokes, doing pretty good damage to my right thumbnail. It hurt like hell and started bleeding quite obviously. Too bad I didn’t have any bandages on hand…

Between my stinging thumb and the broken pump, I was starting to wonder whether I would have to give up and call Inna to pick me up: not a great option when she was 45 minutes away, still in bed, and had an outing planned…

Then came my one and only blessing: two slower riders who had trailed the group came by and offered help. My first question was whether either of them had a pump I could use. The woman said she did, but…

Misfortune #5: Then she looked down at her bike and realized she’d left it at home. It’s not really very useful there!

Next, the guy offered two carbon dioxide canisters, tho admitting he didn’t know how to use them. I replaced my bad tube with the spare I carried, and between careful pumping and a little CO2, I was able to get back on the road again.

Misfortune #6: Two miles later, my replacement tube was flat. We spent a few fruitless minutes trying to diagnose what might be causing the issue before simply swapping my spare tube out in favor of a spare tube the woman was carrying. While mounting the tire, I imagined I’d pinched the tube and cut it, but after finishing the first canister of CO2 and starting on the second, it seemed to be holding. So off we went.

Misfortunate #7: I got a whopping six miles further down the road, but just when we thought we were home free, I flatted again. We used the last of the CO2 and I hobbled another half-mile before giving up.

With less than four miles back to the start, my generous and very patient saviors took off, returning half an hour later by car to give me a lift. Returning to the shelter where the club was hosting their spring gathering, I shared my story and took in a glazed donut, a couple chocolate chip cookies, and a cola. All I wanted to do was go home, shower, and take a nap.

The cause was pretty befuddling, because I rode 125 miles with some of the same people just three weeks ago with no problems whatsoever, and hadn’t changed anything about my setup since then.

During my second stop, I inspected the inner casing of the tire by hand, but I didn’t feel any foreign objects. At the same time, one of the other riders tried to find where air was escaping the tube, which would have told us exactly where to look in the tire. But her efforts were fruitless because my malfunctioning pump couldn’t provide enough air pressure to find the hole.

After I got home, I used that exact method (and my floor pump) to identify the culprit: a tiny shard of glass embedded in—but barely penetrating—the tire casing.

Despite the litany of misfortunes, it’s not the end of the world. As one of my partner’s social groups says, I didn’t die or get pregnant, so it’s fine. And thank goodness this didn’t happen in the middle of that 200k!

I only needed a little time (and a working pump) to inspect my tubes, tire, and rim to diagnose and then fix the problem. I’ve got a spare frame pump, tho I hope to replace the missing parts or buy a whole new one. The only nontrivial issue is my thumb; it’s healing, albeit slowly, and it doesn’t look like I’ll lose the nail.

It’s been a long time since I’ve found myself stranded and helpless at the side of the road. It’s a good reminder, but let’s not let that happen again, shall we? And hopefully I’ve used up all my bad luck for this decade.

April 28th, 2019

A Phenotypical Male

Share Flag
12 MLR

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.

April 16th, 2019

125 Miles of Pudding

Share Flag
11 PMC Riding

Six days after I finished my winter training with my first indoor century, I brought the bike outside for my first substantial ride of the year: the Pittsburgh Randonneurs’ 125-mile Sandy Lake 200k brevet.

I had more than the usual nerves leading up to the ride. After all, it would be the longest ride I’ve done in two years, and I was going into it with essentially zero prep. In the past four months, I’ve only done a couple short rides outside, none of which I’d count as “training”.

Honest, I'm stretching!!! #notamidget

Honest, I'm stretching!!! #notamidget

For the first time ever, all my winter riding was done indoors, on the trainer, using Zwift. I’d done a lot of that, but would that be sufficient to power me through a 10-hour, 125-mile ride? I was about to find out!

And what better way to put Zwift to the test? The rolling route from North Park to Sandy Lake and back has over 8,000 feet of climbing, making it the second hilliest ride I’ve done since 2009.

It didn’t begin auspiciously. Eight of us set out promptly at 7am in unexpectedly chilly 45-degree weather, and I somehow scraped my calf on my pedal pretty nastily as I first clipped in.

As the miles and hours passed, the sky cleared and the sun slowly warmed the air, and riders started shedding layers of clothing. Although it’s too early in the season for the leaves to be out, it was heartening passing outbursts of forsythia, cherry, dogwood, and magnolia. My legs felt good, but I rationed my strength, knowing I hadn’t done much (i.e. any) training for endurance. After a while, both my knees and my traps complained insistently (the latter are my biggest weakness on long-distance rides).

An undetected tailwind that had helped us ride north became a much more noticeable headwind on the return leg. My strength faded and I remained with slower riders at a casual pace, rather than burn my few remaining matches.

We eventually plodded back to our starting point at 5:10pm. That’s 40 minutes faster than the roughly comparable McConnell’s Mills 200k brevet I did back in 2016. As measured by Strava’s “Relative Effort” metric, it was the fifth hardest ride I’ve done since 2009.

Although this was my second 100-mile ride of 2019, it was my first IRL / outdoor century of the year, after last weekend’s indoor century on the trainer. And discounting that “Zentury”, this was the earliest in the year that I’ve done a 100 mile ride, beating my 2016 brevet by four days. As far as I can figure, it was also my 75th confirmed overall century; there might be others, but records from my early years are incomplete.

It was a satisfying day; I got some sun, hung out with friends, and knocked out my biggest athletic goal for the spring. I’m very pleased at how well it went.

But before I finish, I have to revisit my preparation. I went into this event with the goal of putting my wintertime indoor Zwift training to the test. Was it effective? Was it valuable? Let’s look at that in more detail…

Tan lines starter pack

Tan lines starter pack

On the plus side, Zwift is fun; it makes indoor workouts more than tolerable, even attractive. It ensured I started the event with excellent cardiac and aerobic conditioning, with leg strength that was up to long miles and hard climbs, and with touch points (hands and seat) that could tolerate time in the saddle. In terms of building early-season fitness, Zwift was an unqualified, smashing success.

There’s another side of the equation, however. Although I’d done some long efforts on the trainer, other than my grueling indoor “Zentury”, none were more than half the duration of my 200k. While I gained strength and aerobic conditioning, I wasn’t building up the endurance needed for 10-hour rides.

At the same time, all the high-resistance work I put in compromised my joint health, specifically my knees, where I’ve been experiencing pain both on the trainer and during outdoor rides. I’ll keep a close eye on that, so I can ride as long as possible without needing joint replacement surgery and the associated time off the bike.

A much lighter consideration (pun intended) is that indoor training didn’t allow my skin to adjust to the seasonal increase in sun—and specifically UV—exposure. Yeah, I came home with a bit of sunburn, on a five-inch spot just above each knee. For proper springtime training, my Zwifting setup might need a couple sun-lamps!

More seriously, the net-net on Zwift is that it has been a complete success, and I’m pleased that the investment produced the desired and worthwhile improvement.

My previous post, following my Zentury, summarized my winter training and said that I had achieved my two expressed goals for 2019: using Zwift to both get over my 2018 malaise, and to begin spring at a high level of fitness. Sunday’s Sandy Lake 200k brevet was the final proof (the proverbial pudding), and I couldn’t be pleaseder (sic) with the result.

I also couldn’t be pleaseder that I’m now on break, with no major events until the middle of June. I’ll be riding—and might get another century in—but a good training plan includes periodization, wherein peak training is followed by recovery and consolidation before kicking it up another level. Fortunately, I’ve got a few weeks to kick back before the solid block of summertime events line up like dominoes.

But so far—and for the first time in a year and a half—things are looking really good!

April 8th, 2019

… come and join the Zwifting party!

So four months after buying a new indoor trainer, how did my winter training go?

It went well, according to my stats in Zwift. I rose from Level 0 to Level 20, completing the California and Everest Challenges, earning 32 out of 40 achievement badges. I finished the 9-stage Tour de Zwift, and 5 monthly fondo rides. I climbed the Alpe du Zwift (their facsimile of the real-world Alpe d’Huez) 5 times, and even earned an orange jersey for setting a fastest lap time on their Innsbruck course. I took 2 Step Tests and 2 20-minute FTP tests; in the former set, my Functional Threshold Power rose from 212 to 221; as measured by the latter it went from 198 to 210. And I finished with my first ever indoor/virtual century (more below).

Taking the start/finish banner

April Fools brought flaming roostertails!

Climbing the Alpe…

My first “Zentury”

Our Hero riding off into the sunset

I also made use of Zwift’s social element, joining a supportive team called “The Herd”. They have members all over the world, and I hope to join a gathering of them in September at the Leelanau Harvest Tour century in Traverse City MI. It’s cool having an open group audio channel with other riders who might not be in the same area (either on the virtual course or in the real world). I’ve befriended folks and have projected my usual offbeat presence. I created coroplast examples of Zwift’s thumbs-up “Ride On” symbol and posted a photo of me riding with them, which earned 115 Likes.

Let’s compare this winter (December, January, February, and March) to the previous two years. In the winter of 2016-2017 I rode 282 miles. In 2017-2018 I rode 535. Although Zwift miles aren’t quite the same as real-world distance, this past winter I logged over 1,900 miles (only 24 were outdoors)! That’s equivalent to my usual summertime riding volume. According to the Fitness (Chronic Training Load) charts I keep posting, I retained more Fitness this winter than ever, and by mid-January, I was back at a Fitness level I wouldn’t normally reach until the beginning of June!

This past Sunday was the final step of my winter training regimen: completing a “Zentury”. It was my first time ever doing a hundred miles on an indoor trainer. Obviously, it was my first century of 2019, and also the earliest in the year I’ve ever done a century (by 10 days).

In some ways, indoor miles are easier. There’s no traffic lights, no need to ever stop, and no wind to battle. For those reasons, indoor rides are generally faster; I completed 100 miles in 5h20m, when an outdoor one would usually exceed 7h. However, many people feel trainer miles are harder. After all, you can never rest or coast, which grows hard on the legs. In terms of TSS (Training Stress Score), my Zwift century ranked as my 14th most difficult ride, which puts it respectably among my harder centuries.

Thanks to Zwift, this winter has been an unqualified success. Back in December, when I set my annual goals for 2019, I came up with two: getting over the post-Dirty Dozen malaise that plagued me throughout 2018, and using Zwift to begin the 2019 season at a high level of fitness. As far as I’m concerned, we can check those two goals off already!

But all the positive numbers in the world don’t mean anything until I put them to the test outside, in the real world. Yesterday’s indoor century was part of an overall plan to be ready for 2019’s first outdoor event.

Next weekend is the longest ride of the year: the Pittsburgh Randonneurs’ annual spring 200k. Climbing 7,500 feet over 124 miles, it’s a massive challenge, and the perfect way to test whether all this Zwifting has improved my early-season form. I’m relying on it, because over the past 5 months, the only outdoor riding I’ve done was a casual 21 miles on New Years and one 31-mile ride last week.

I think Zwift has set me up for early-season success, but stay tuned for the pudding…

March 26th, 2019

Here Comes Your Slutspurt

Share Flag
12 MLR

Thanks to the international cycling community on Zwift, today I learned that the word—in both Danish and Swedish—for the final sprint to the line in a cycling race is…


Your author has concluded that any further elaboration would be entirely unnecessary.

February 7th, 2019

Performance Buh-Bye

Share Flag
07 PMC Riding

The local bike shop. At its best, it can be a place where dreams come true, and the home base of a close-knit community of like-minded friends. Despite eking a meagre livelihood in an endangered corner of the shrinking retail landscape, I’ve rarely known a bike shop to close.

Performance Bicycle

That leaves me a little emotional after the recent closure of Performance Bicycle, a 38 year-old national mail-order chain, with 104 brick-and-mortar retail storefronts.

My history with PerfBike goes back to 2002, when I had just resumed riding as an adult. Back then, they were just another faceless mail-order company whose business was quickly supplanted by Amazon, so I didn’t think about them again until I moved to Pittsburgh in 2015.

In Pittsburgh, Performance had an actual retail storefront in a local strip mall. In fact, it was one of the largest bike shops in the city. Although they were only two miles from my house, they weren’t my go-to shop, since I am fortunate to have two good shops here in the neighborhood, but I made good use of their breadth of inventory.

But what really tied me to PerfBike was their group rides. Every Saturday morning, store staff (Alex, Cheryl, and Scott) led an easy, low-impact jaunt around the city for maybe a dozen riders. That was nice because it gave me a social outlet and way to integrate with the cycling community in my new town. And I could choose my pace based on however I felt on the day, often as a perfect recovery ride. Over three years, I did a couple dozen rides with them. And it was a nice opportunity for me to practice mentoring less experienced riders.

Performance Bicycle

So it was a bit shocking when Performance announced they were filing for bankruptcy and closing all their retail stores. That day I went down to the shop and chatted with Alex, and visited a couple more times in the two months it took to sell what they could and wind down operations.

It felt a bit morbid, like picking over carrion, but I scored a few choice bits of inventory for myself. Two rear cassettes, two chains, 4 inner tubes, a water bottle, new tire levers, bar tape, chain lube.

But the highlight was finally picking up a torque wrench set, which has become a very important tool now that nearly everything is made from carbon fiber. It is about as key as the other favorite purchase I made last year: Performance-branded neoprene shoe covers, which are absolutely awesome for winter riding, so long as you’re not allergic.

And now the storefront is empty and boarded up. The staff have all moved on to the things they lined up, and the group ride’s social media pages have been taken down. I’ll miss those nice, social Saturday morning group rides and the people who tagged along. And I’ll probably never take a local bike shop’s presence for granted again.

January 30th, 2019

Catch the Wave

Share Flag
12 MLR

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!

December 31st, 2018

2018: Not Good Enough

Share Flag
12 MLR

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!

December 30th, 2018


Share Flag
07 PMC Riding

Now that I’ve got three years of riding under my belt, I’ve become a lot more familiar with Pittsburgh’s sights, which in turn has made me a much more effective player in the local Tag-o-Rama game.

Last year I updated you by showing the 17 tags I picked up and 17 I placed in 2016 and 2017 combined. Here’s another annual update for 2018.

This year I picked up (and dropped off) no less than 25 tags. In fact, Tag-o-Rama was one of the only things that motivated me to get out and ride, between three long out-of-town trips, my malaise left over from 2017, and the horrid weather.

The coolest bit is that my 42 total tag pickups allowed me to break into the ranks of the top 10 players overall (out of 125). I was pretty proud of that, since I still consider myself a recent transplant.

That said, here are this year’s 25 pickups/finds (on the left) and my resulting 25 tag drops/placements (on the right). As always, click for teh bigness.

Homestead Labyrinth

"We get back up" mural

Homestead gun reform healing wall

Turreted houses on Ophelia Street

Railroad overpass heart-bike graffiti

Pitt LRDC & Cathedral of Learning

Polish Hill parklet

Big "3" at Strip apartments

Lion statues on Liberty in the Strip

Downlook Street in Stanton Heights

Wilkinsburg Flyboy mural

Eliza Furnace Trail at the jail

East Lib Parole Board

Danny Chew's house

Squirrel Hill post office

Overpass at Gomer in Southside

Landslide off Forward Ave

Church off Fleury Way

Wilkinsburg LPRC sculpture

Church on Saline in Junction Hollow

Church in McKees Rocks Bottom

Art on Friendship Ave pole

Phil's Parking on Penn

Stairs behind Duquesne University

Third Ave parking

Green Canoe building, Southside

Schenley Park disc golf course

Mural on Blackberry in Lawrenceville

Heinz House, Sharpsburg

Spring Garden bird mosaic

Garfield art car

Ravine/Creek footbridge in Homestead

Homestead Grays Bridge memorial

Lawrenceville bus butt

New Guild Studio mural, Braddock

Holy Grail Garage, East Pittsburgh

Pixelated Carrie Furnace

Curry "Street" in Braddock

Ellsworth & Shady footbridge

Prince of Peace bingo, Southside

Duq Light substation off Brighton

Ingham Street, Marshall

Fort Pitt blockhouse

Carson Street WW1 memorial

Second Ave underneath EFT

Titties graffiti on Juniper

Strawberry Way, Downtown

Archeparchy Convert at Riverview

Lemon Way, Downtown

Outbuilding at penitentiary, Chateau

December 9th, 2018

A Zwift Kickr in the Pants

Share Flag
11 PMC Riding

When I moved to Pittsburgh in 2015, I didn’t bother bringing my old wheel-on indoor trainer. It was outdated technology, falling apart, and I planned to replace it after the move anyways.

But I was able to do some outdoor riding through the Pittsburgh winter, and I couldn’t bring myself to drop a boatload of cash on a replacement trainer, especially since I’d be moving to still warmer climes sometime soon.

And just like that, three years passed.

What finally spurred me to pull the trigger on a new trainer? And what conditions changed?


First, why invest in a trainer if I still don’t have any income? Well, I’ve had the intention to do so for five years, and I have the money… I just don’t like parting with it. But I know this is something I’ll use a lot.

But will I? Why invest in a trainer if I plan to move south? Fair point. However, if there’s one thing I’ve learned living in Pittsburgh, it’s that—even when the weather’s great—sometimes you just don’t want to expend the effort of getting out of the city to get a workout in. I might not ride the trainer as much if I lived in Florida or Texas, but it would still get used, especially for fitness tests. And if not, I could always sell it to someone else!

One last question: why bother with a trainer if I’m getting old and will never be as strong or competitive as I used to be? Well, just because I’m not setting any new PRs doesn’t mean I’m giving up completely! I still want to perform at my best, and having a trainer makes it much easier to get a workout in, so that I can better retain the fitness I’ve got left.

Another thing that made the purchase easier was a big $180 discount. Each fall, awesome sports tech reviewer Ray Maker (DC Rainmaker) teams up with a sports tech dealer to offer the best sale of the year. In my case, I got a solid 20 percent discount on the Wahoo KICKR CORE: a state of the art trainer that was only announced four months ago.

The downside: the three-week wait for it to arrive. Even though his dealer stocks up for the big sale, hot new products inevitably get backordered. But eventually it arrived.

In the meantime, I dealt with other logistical issues. Downloading and reading the setup and user manual. Downloading and learning how to use the Wahoo Fitness app, the Wahoo Utility app, the Zwift app, the Zwift Companion app, and the Discord app. Buying a new cassette (gears), along with a chain whip, crescent wrench, and lockring tool to install it on the trainer (as well as for future use). Buying a floor mat, gym fan, and riser block for my front wheel. Buying a handlebar phone mount, a USB ANT+ dongle, and a USB extension cable to go with it. Setting up a television, laptop, speakers, and wireless keyboard and mouse in the new “pain cave”. Buying a membership to the Zwift MMO virtual world. So many new things to buy, set up, and learn!

Now that it’s here, what’s so great about this thing?

First, it’s a direct-drive trainer. That means you take your rear wheel off and connect the bike’s drive train directly to a set of gears on the trainer, rather than pressing a steel roller up against the rear tire, as cheaper and older trainers used to do. That takes a lot of wear and strain off the tire and wheel.

It also allows the entire contraption to be a lot quieter. A vast improvement upon older devices, now the only noise you’ll hear are the bike’s chain, gear shifts, the exercise fan I use. Even while I’m riding in the next room over, Inna is able to sleep through it.

A huge benefit to me is that most trainers now come with built-in power meters. While inexpensive heart rate monitors have been used to guide training in the past, power meters have supplanted them as the gold standard. However, power meters are pricey, so I’ve never been able to justify the expense. But now I can train with power, at least indoor.

There’s a lot to know about training with power, but my primary interest boils down to watching two numbers. Functional threshold power (FTP) is an absolute measure of how much power you can sustain on the bike for one hour (measured in watts), and is a great predictor of performance on the flat. Divide FTP by your weight to get watts per kilogram, which is an equally reliable predictor of performance when the road tilts up. These are today’s gold standard measures of cycling fitness.

To ascertain your FTP, you do a 20-minute FTP Test. But doing FTP tests sucks. The testing protocol is simple: hold the maximum power you can for 20 solid minutes. It hurts, and a lot of people puke before they finish.

It’s also error-prone, because it’s hard to guess how long you can maintain max power. Most people overestimate their ability, going out hard and running out of gas before the 20 minutes is up. Once burned, they do the opposite, keeping way too much in reserve. So how do you figure out what power you should try to hold so you can pace yourself properly?

That calls for another test: the Step Test. It’s not fun either, but it entails slightly less pain. Once you begin pedaling, the trainer gradually increases the resistance every two minutes. Continue cranking on the pedals until eventually the increased resistance causes absolute muscle failure.

I stopped my first Step Test a little after hitting 275 watts. After applying maths, my FTP—what I could hold for an hour—was around 212W, and my climbing ability was 2.72 W/kg. The Step Test only provides a rough estimate of FTP, but most importantly, it also told me I should aim to hold 223W for my 20-minute FTP Test.

Armed with that information, two days later I set out and tried to hold my average wattage above 223 for 20 excruciating minutes. I managed it for about half the test, but I found myself riding the entire test pegged at my max heart rate—not fun!—while watching my average power slowly decline. By the end of the test, I’d faded to an average of 208W, which translates to an FTP of 198W, and 2.53 W/kg: noticeably lower than the numbers I got from my earlier Step Test, but just enough to qualify for the low end of Zwift’s Category C performance level.

I’ll probably test myself every three or four months, to see how much I improve (or deteriorate) over time.

Beyond measuring power, we move into features associated with “smart trainers”. So what makes them think they’re so smart?

Orny leading a paceline in London
Orny descending a mountain in Watopia

Basically, the industry has defined communication protocols so all your devices can work together: trainers, power meters, heart rate straps, cadence and speed sensors, bike computers, electronic shifting, and phone and computer applications. One of the things they’ve done is allow other devices to control trainer resistance: allowing applications to control how hard it is to pedal on the trainer.

That permits trainers to simulate the ups and downs of riding on real roads. In “sim mode”, you can load up any real-world route, and the trainer will precisely mimic the terrain, making it harder to pedal when you reach a “hill”, and easier when you reach a descent. You can simulate any route you can map: from Tour de France stages to last August’s century to your daily commute.

This was the first thing I tested when my trainer arrived. I paired it with my bike computer and told it to re-create a short local route I rode a year ago. As I pedaled along, the trainer automatically changed resistance to reflect the descent down Greenfield to the river, up the Junction Hollow bike path, the little spiker up South Neville, thru CMU, then up and over Schenley Park on Overlook Drive.

The grade simulation worked well, and it made for an engaging workout. However, there were clear shortcomings. The bike computer didn’t display the elevation change, current incline, or total elevation gain; the closest one could get was the graphical display of the past and upcoming elevation profile, which wasn’t detailed. More annoying, the unit didn’t display my current “location” on a map, which would give a little more context to the ride and changes in resistance. While sim mode is an awesome idea, there are obvious improvements that need to be made.

If you combine a smart trainer’s sim mode with internet access, virtual reality, object modeling, and social networking, you get today’s pinnacle of indoor training technology: Zwift. Join Zwift and you’re given an on-screen cyclist avatar who moves along a virtual road in proportion to you pedaling your trainer. Ride around online versions of London, New York, Innsbruck, or Richmond VA, or even the infamous Tour de France climb up Alpe d’Huez. When your avatar reaches a hill, the smart trainer’s resistance kicks in (or off) to simulate the gradient.

Now add other riders: thousands of other riders, all pedaling their own avatars in this massively multiplayer online sufferfest. Add structured workouts, the ability to ride with friends, organized group rides, official races, milestone rewards, instant messaging and shared audio channels, and also a parallel setup for runners. It’s an immense phenomenon.

My first Zwift experiences have been positive, but not always pleasant. Although the app hasn’t crashed on me yet, my laptop has died multiple times due to (1) falling off the pedestal I’d placed it on; (2) running out of battery without warning; and (3) a touchy touchpad that causes spontaneous reboots. I was already thinking about a new laptop, but the slow frame rate on my five-year old graphics card have increased the likelihood of that expense.

So far, in addition to the Step and FTP Tests, I’ve done a 10-mile free ride; a 25-mile, 450-person Team ZBR group ride; and the extremely hilly 30-mile December Bambino Fondo, with several thousand others.

Overall I’m happy. I finally have a new indoor trainer. I can even begin training with power! And with Zwift, I’m more likely to spend time on the trainer than I would have on my own.

That leaves me with one issue I’ve struggled with since I got my first trainer a decade ago: whether to count miles ridden and time spent on the trainer as “real” riding time for statistical purposes. Back in 2009, I decided I would only count outdoor road miles, but as my indoor riding increased, I started informally keeping track of that separately. Now I’m likely to put even more miles in on the turbo, so I’ll record my indoor riding separately, but in the same level of detail as outdoors. That way I can combine the two when it’s appropriate, and keep them separate when needed.

November 26th, 2018

Dirty Dishes

Share Flag
12 MLR

As planned, I didn’t ride, but spent the day photographing this year’s Dirty Dozen race.

This has already been the second-wettest year in Pittsburgh history—with more than a month left to overtake the all-time record!—and race day was commensurately rainy. I was glad not to be riding!

Dirty Dozen Riders

I played leapfrog with the nine separate groups of riders all day, hitting the five toughest hills: Logan (#5), Suffolk (#7), Canton (#9), Boustead (#10), and Eleanor (#12).

I was out from 10am to 5pm, and took about 350 shots. I weeded those down to 67 decent pics that I shared on my Flickr photostream. Then those got culled down to the ten that you see on this page.

When I asked for Inna’s help selecting the keepers, she made an interesting observation. Whereas I’d focused on close-ups to capture the pain and human drama of the ride, she was more interested in establishing shots that captured the ridiculous steepness of the hills. It was a good lesson to put more thought into thematic considerations next time I shoot an event.

But overall, given that I wasn’t riding, it was a pretty enjoyable way to spend the day, and I got to cheer on (and socialize with) a bunch of my riding buddies.

And despite standing around in the rain all day and walking several steep hills, it was a hell of a lot less painful than riding them all!

In addition to the following small selection, you can see my edited collection of 67 photos in my 2018 Dirty Dozen Flickr album.

Dirty Dozen Riders Dirty Dozen Rider Dirty Dozen Rider
Dirty Dozen Rider: Jeremiah Dirty Dozen Rider Dirty Dozen Riders
Dirty Dozen Rider Dirty Dozen Rider Dirty Dozen Rider
View the Full Album

Powered by LiveJournal.com