Browsing posts in: Uncategorized

Trigger Point Massage for the win

As is true for most of us who are on the far side of the half-century mark, I have a number of what my mother referred to as “aches and pains”. For reasons that I hope will become clear shortly, here’s a short list:

  1. I get shoulder and neck pain when I ride my bike, especially on long rides
  2. I get this weird pain just above my butt when I ride, especially on hilly or very hilly rides
  3. There’s this weird cramp I get under my left shoulder blade when I try to bench press
  4. If I drive in rush hour traffic, I get pain on the front side of my shin just above the ankle from lifting up my toes.

I’ve spent a fair bit of time in PT for the first two and gotten some relief (and some overall improvement in other areas), but the issues never really got fixed. I’ve done a fair bit of foam rolling and some ball massage as well, but still not fixed.

A few months ago, I came across a recommendation on Reddit for someone with weird back pain. It was for a book:

image

So, I ponied up the $17, it showed up a few days later, and I started reading.

In the introduction, the big new thing that I learned was trigger points can be referred, which means that the point where we feel the pain may not be the cause of the pain. You can massage the hell out of the painful spot and not make any progress.

This wasn’t that much of a surprise, as I already knew about referred pain in other contexts; appendicitis pain can show up on the wrong side or even in the shoulder. But I hadn’t thought about it related to muscle pain.

The introduction is followed by a 15 second on treatment guidelines; different ways of doing massage and what you need to be careful about.

The second half of the book is organized into chapters for specific areas of the body. Since I was most interested in the lower back pain, I turned to Chapter 8 – Midback, Low Back, and Buttock pain.

For the lower back, it lists a bunch of muscles; gluteus medius, psoas, deep spinal muscles, etc. I’m not really excited about working through all 9 of them.

The next page has a list of symptom; does it hurt when you cough, when you swim, when you turn over in bed, and my personal favorite, “Forced to Crawl on All Fours”. “Climbing stupid steep hills on your bike” is not listed, so I turn to the next page, which is titled, “Pain Illustrations Guide”.

On this page there are drawings for each of the muscles, showing where there trigger points are typically located, and then an accompanying drawing showing where referred pain can show up. This is very nice and easy-to-understand approach.  I do a quick search, and I come up with this:


image

I dig out a lacrosse ball, find a wall, and start rolling around to see if I can find the trigger point. And – what do you know – the upper trigger point hurts when I roll over it (the book uses the term “exquisitely painful”, which I think is a nice phrase) *and* it refers pain to my lower back, to pretty much the exact spot where my back has been hurting.

I flip to page 199, to the section titled “Quadratus Lumborum”. Each muscle section has an introduction has some simple anatomical information; where the muscle is, what it does, etc. Then there is a section on Symptoms, which talks about where the pain can show up and what movements are most likely to make it appear, what other maladies might cause the same symptoms, and whether there are more likely muscles for a specific pain.

Next comes “Causes”, which talks about injuries or other conditions that might lead to trigger points. In this case, I find that QL trigger points may show up if gluteal muscles are stiff or weak, and Eric knows that he had poor gluteal activation from previous trips to the PT (I think I’ve mostly fixed that).

And finally, there’s a “Treatment” section, which tells you how to find the muscle and how you might find the trigger points. And it tells you want to do for treatment; in this case it’s rolling with a ball or using a Thera Cane, which I already happen to own. For some muscles, it will give cautions about reasons to be careful. It might also tell you that you should work on a different muscle first because they are related.

There is a ton of detail about each muscle, and I think that’s what makes the book worthwhile.

So, I start rolling those trigger points with a massage ball on a mostly faithful basis, and after a few weeks, the pain is pretty much gone. Last year I dropped out of Sufferin’ Summits because the pain was too much; this summer I rode both Sufferin’ Summits and Passport to Pain without lower back pain, which is a significant improvement.

I should note that I’m not sure that there is less pain in the short term, because trigger points can be very painful when massaged. If you’ve ever had a deep tissue massage, it’s that sort of feeling, but since you are doing it yourself I think it’s easier to regulate the pressure to be tolerable. On the other hand, as a cyclist, I spend a lot of time in self-inflicted pain so I’m not sure you should trust my opinion.

I’ve been working on some of my other issues as well. The shin pain when driving fit the Tibialis Anterior referred pain diagram, and holy cow, did the trigger points there hurt. The luckily seemed to resolve pretty well.

I’ve had less luck with the neck/head issues; they have been going on for a lot longer and from I can tell there are approximately 357 different muscles that I need to work on.

So, highly recommended. Just be aware that it’s going to take some study and it’s not going to be comfortable.



Ride Report: Riding Per’s "The Edge" 50 (ish)

Today is the 37th running of STP, a 206 mile jaunt from Seattle to Portland. Despite the heavy number of registrations, I was once again successful at not registering for this ride, continuing an 11-year streak in non-participation, even though my ride leadering would have granted me a complementary pass. Perhaps if it were a complimentary pass, things would be different.

Anyway, with Sufferin’ Summits looming on the calendar – a ride that I am hoping to finish this year – I needed a ride with a bit of bite to it, and along came Per Sunde’s “The Edge“, which seemed to fit the bill nicely.

Per was one of the founders of the Eastside Tours ride that I now lead, and has run the RAMROD training series for a lot of years, so I knew it would be a good ride. The ride has the following options:

  • 42 miles with 4200′ of up
  • 50 miles with 6000′ of up
  • 75 miles with 7500′ of up
  • 100 miles with 10000′ of up

Which one to do? Well, I had no desire to blow my whole Saturday and/or kill myself, so that eliminated the 75 and the 100. And I would be riding there and back, which would add about 17 miles to the total. Hmm; that gives me either 59 miles without enough climbing or the 67 mile with enough climbing but more riding than I wanted.

A look at the routes showed that if I took the 100 mile course (which is – somewhat strangely – 6 miles shorter at the start – and cut it off after the 4th climb, it would be in the right ballpark, so that was the plan. The ride starts in southwest Bellevue, and Per has chosen this area for the same reason I chose it for Sufferin’ Summits; it contains 4 of the tallest hills around – Somerset/Summit, Cougar, Squak, and Highlands/Grand Ridge. Most of them off 1000′ climbs.

I often forget to remember how lucky I am to live just a few miles away from such a cornucopia (literally, “big basket full ‘o corn”) of options.

The day dawned cool and cloudy – it was 58 when I rolled out of bed at 5:30 in the AM. A quick breakfast, getting dressed, sitting around waiting for my breakfast to settle, looking at the route again, took me to 6:35, and I put on my shoes and headed outside. In my pre-ride outside weather check, I settled for underlayer/jersey and shorts, with my arm warmers to help on the initial ride which has a lot of descent.

I toyed with loading the route on my GPS, but – as a experience ride leader – I make it a point of pride of keeping the route in my head, and not depending on any technical assistance. As those who ride with me know from experiencing a u-turn when I temporarily misplace a route…

The ride to the start was uneventful; nobody was out and I hit most of the light. I did notice a headwind – which would have zero effect on our ride, but was bound to cause some angst amongst the aforementioned STP participants. I arrive at about 7:18 – enough time to sign in and talk to Per a little bit.

The first block of us rolls out at around 7:35, and I head North with the all the riders. Well, all the riders starting the 100 mile course; the others head South. This is a short little section to get the group off the trail in an orderly fashion. I cheat and take a shortcut exit off the trail (I like to call that “leveraging local knowledge”), bypassing the 30 or so riders who were in front of me at that point and gaining the not-at-all important “first rider in this particular group to the base of the first hill” honors.

We turn onto the first climb – which I guess I should call “Newport Hills” – and start heading up to the south. I am immediately passed by “the fast group”, which is just fine with me, as my guess is that while I can pull the 300+ watts that are needed to keep up with them on this hill, I’m not going to be happy later. They pull away, we finish the climb, pass on of the ubiquitous small strip mall, and descend back down to Coal Creek Parkway. A quick descent, a turn onto Factoria Blvd, and turn on Newport to start the next climb, which will be a trip up Somerset.

There are three main ways to head up Somerset. There is the classic way, up Somerset blvd (hard), the much easier way up 148th/150th/whatever they call that road, and a really painful way coming up from the West. Per has a new alternative, we turn onto Somerset blvd, start to climb, the gradient kicks up to 13% (on it’s way to 16%), and then we turn off to the right and descend, wrapping our way around the hill to the south, and then turning left on Somerset Drive, which wraps around the north side of the hill, turns into SE 44th St, and then finally intersects Somerset Blvd near the top of the climb. There are a couple of steep pitches (I think 13-14%), but nothing as bad as the classic route. I ride this whole section with a guy I’m going to call “Bill”, because that is the name that my brain is giving me, and we chat about bicycle-related stuff. What rides are you doing this year, what have you done in the past, have you been watching the tour, those sorts of things. I think I’m a little bit faster than him or perhaps just a bit less out-of-breath. This ride up Somerset does not feature a trip all the way to the top – off of SE 47th – and today I think I’m okay with that. The view is stellar, but the 18-20% gradient is painful.

Somerset is a hard place to navigate. Note only are there a lot of different streets, but whoever set them up suffered from a supreme lack of creativity. We have:

  • Somerset Blvd
  • Somerset Drive
  • Somerset Ave
  • Somerset Place
  • Somerset Lane

It is possible – though a bit contrived – to write a set of directions that say:

  1. Head south on Somerset Ave
  2. Turn right on Somerset Place
  3. When that ends, turn right on Somerset Drive
  4. Turn right on Somerset Blvd
  5. Turn left on Somerset Lane

I don’t know how people found their way around here before the advent of GPS and online maps.

Anyway, we finish the climb, descend to the east and then descend all the way back down to Eastgate. I like this descent; it’s not steep enough that you really need to worry about speed and the pavement is pretty good. At the bottom, we turn and head up the second hill.

If we were doing the route I usually do, this would be the “Summit” climb, but Per has something different planned; we hit a steep part, and turn to the East to do a little loop. The trip to the East features a nice 18% climb – which I would complain about, except that I know that the trip back to the west involves to 20% descents, and it would have be *way* worse if we went the other direction. We do the first part of the loop, I misplace the next part for about 15 seconds but we quickly realize and turn around, and the group reforms as we head to the west, and then finally we turn south to descend on Highland Drive. That puts us on the South side of the hills, on Forest Drive.

Forest drive is one of my absolute favorite roads; it is a roller road that has steep sections and flatter sections, and if you have legs you can power on the flatter sections and keep your speed up. A *great* descent, and I that would make me very happy except that today we are riding it the opposite direction.

Most of our small group pulls away a bit, and then we hit the steepest part and I reel them back. I’m not as light or fast as a lot of cyclists, but when it gets really steep, I have a strength advantage. I also run slightly lower gearing, but I’m going to stick with the “stronger” explanation.

I pass the group on the last steep part, we turn left on Lakemont, and then we turn right on Cougar mountain road, for our trip up “The Zoo”.

The Zoo – named for a small zoo at the base – is probably the most notorious climb in the area. It gains that reputation not by being the worst climb in the area – though at 1300′ of climbing in 2.8 miles it is pretty hard – but rather by being a benchmark that cyclists use to cull out the weak. “Have you ever done The Zoo?” is a question that will separate the men from the stupider men.

This reputation is somewhat diluted by two things:

  • The top third of the climb is an out-and back, and many people think riding up the lower two-thirds counts. They are incorrect.
  • More disturbingly, there is a back way up that gets you to the two-thirds point without too much steepness, and some people call that “the zoo” as well. They are also incorrect.

We are heading up the easy back way. Very soon after turning onto the climb, my climbing prowess shreds the group into tatters, with a small assist from everybody else stopping when the GPS of one of the riders gets confused.

<aside>

Routes that cross themselves are really confusing to most bike GPSes. They assume that your goal is to get to the end as quickly as possible, so you cross the later part of the route and the GPS wakes up and say, “Hey! Hey! If you just turn right on this road, we can cut like 50 miles off the route. I am SO smart!”. Which would be okay if it really did that, but all it really says is something like, “Turn around to rejoin route”, which isn’t very helpful.

</aside>

We sort things out, the errant GPS is suitably reprimanded, and we continue up. I push a bit and stay in front on the the climb, ease up so that Bill can catch up, and as we near the turn for the top third of the climb, we see the fast group descending back down. This section has a couple of steep tight turns at the bottom, but after we clear that, it’s pretty much a 12% climb to the crest, and it’s only half a mile, so it goes by quickly.

At the crest, we keep riding on a short downhill, because we know the secret: the crest of the road is not the top of the Zoo climb; the top is reached by a small road that heads up to the city water towers. We finally crest the top, which 1350′ or so is pretty much the highest paved spot in the area. And also a nice view, which I do not stop to see because lunch is on my mind.

A quick descent back down, and then we turn right to descend the lower portions of the classic route. The last time I rode this was probably a decade ago, and my brain tells me that it was curvy and a bit scary, and my hands were very tired at the bottom from using the brakes so much. This time the whole descent takes only 7 minutes; there are a few tight corners and a hairpin that is torn up, but it’s really a fun descent. Apparently I’ve learned something in the last 10 years.

At the bottom of the hill, we spin back into Issaquah and stop for water at Tibbets field. We then head up Squak Mountain from there, on a route that I have labeled in my head as the second hardest way up. I still think that is true, but I had forgotten the steep initial climb and the steep later climb, which are something in the 15-18% range, but thankfully the rest is pretty easy. We topped out the first part of the climb, and then turned onto the second part. This has one steep kicker at the start but other than that it is a very nice climb through the woods, which is mostly spoiled y the fact that the road is very old so it’s just a bunch of aggregate sticking up. It’s like riding on chipseal – basically, you like a slower and weaker version of your normal self. We hit the development at the top without incident, do the loop at the top (you have to do the loop to get the full elevation gain), and then head back down. The crappy pavement limits traction on the way down and messes up braking and cornering, so we are conservative.

Near the bottom of the top section, the route has a turn off to do a bit more climbing on the East face of Squak. The group splits here; I want to get my last climb done and head for home, so Bill and I head down the climb from the west, which is nice new pavement but has a stoplight at the bottom that I remember so we can stop in time. I think my next bike is going to have disk brakes…

That puts us in Issaquah, and just a quick spin across the town to get to the last climb. About two blocks in Bill sees somebody he knows on the sidewalk and pulls off to chat, so I ride on solo.

Per has a route that is unfamiliar to me for the next section – a climb up Highlands/Grand Ridge – but I don’t remember what route he chose, so I just head up on one of my routes. This is a long climb; the lower part takes us up into Highlands, and involves about 300′ of elevation gain including a pretty unpleasant section at 13-14%. I’m feeling pretty tired now; I rode harder up Squak than I should have and I think I’m a bit dehydrated. I push on because suffering is what we do. The second section is up the main drag (NE Park Drive), which is really pretty calm. Then I turn right on Central park drive, navigate past all the parents here to watch their kids play in sports, and then head over towards Daphne street. Daphne must not have been very nice, because this is a hard pitch – 15% or so – and I’m tired so I do the whole thing standing. Slowly and standing. Eventually I end up on 30th, which is the defined top of the climb for today’s ride, but there is no way I am going to skip heading up Harrison street, because that is the best part of the climb; every house is custom and they look like an architecture manual on “different styles of houses”. At the top I am rewarded with a nice view of Seattle shrouded in the mist (I think perhaps “dark and brooding” is a good description of how it looked), and I’m a cool 1000′ above the start of the climb in Issaquah.

To keep things short and quick, I descend the first section and then work my way over to Black Nugget drive and take that to the bottom. Then it’s a quick ride along the South shore of lake Sam, a “I am very tired” climb up the I-90 trail, and then a ride back home in time for lunch.

That gave me 55 miles of riding at 12.3 MPH average and a satisfying 6346′ of climbing. Or something like 2/3 of Sufferin’ Summits.

Overall, it was a pretty good day, once I got some lunch into me.

Strava here.


Flying Wheels Summer Century 2016

Saturday, I participated in the Flying Wheels Summer Century, though I find myself compelled to point out that – despite the warm weather – June 4th is not, in any way, “Summer”.

It’s been 11 years since I did Flying Wheels. It’s not really one of my favorite rides because it has long flat sections, which I find a bit boring and tend to make my neck and butt hurt. It’s something like 30% hilly, 70% flat-ish.  It’s also not a very hard ride, with only about 3500′ of climbing over 100 miles.

This year, however, due to a conflict in Duvall, they changed the route, and the mostly flat section from Snohomish to Monroe and back to the south has been replaced with a climb up by Snoqualmie Falls to North Bend, and the sprint back on East Lake Sammamish has been replaced with a section south of Cougar Mountain on May Valley road and a section north in Bellevue. It’s quite a bit hillier. And the end of the ride passes about 1/2 mile from my house, which meant I didn’t have to deal with parking or riding home after the ride.

I get ride leader points from leading rides for Cascade, so I decided to redeem some of my ride leader points for the ride.

The Monday before, on Memorial Day, I did the 7 Hills Metric Century and felt pretty good. Strangely good, so I worked hard on the ride and finished with very tired legs. The next night – on our Tuesday ride – I *still* felt good and my legs felt great, so I worked hard on that ride, too.

I consider myself to be a rather smart person, despite ample evidence to the contrary.

Wednesday morning was not pretty, nor was the much-flatter-than-usual Thursday ride I led, but I was hoping that I would be recovered by Saturday morning. If not… well, it wouldn’t be the first time that I modified a planned ride to make it shorter.

As is my ritual, I prepared for the ride Friday night by mixing two water bottles of Skratch, filling three snak-sized ziplocs with skratch powder, getting some other food ready, and developing a slight cough. And I went to bed and slept surprisingly well and woke up when my 5AM alarm went off. I got up, had some cereal, waiting to wake up, and got ready. Chamois butt’r on my chamois, sunscreen on my face and legs, PI sunshields on my arms, and various foodstuffs in my jersey pockets. I’m wearing my rails-to-trails jersey that is my favorite for long rides because it has absolutely massive pockets and it is a highly attractive yellow and blue.

Clicked into my pedals at 6:14 AM, headed out of the neighborhood, and descended down to Marymoor. On the way down I got cold, reminding me that this would be the last time today that I would be cold, as the forecast was for hot. I got to Marymoor, happy to be on my bike on such a beautiful morning, and especially happy that I was on my bike and could avoid waiting behind the hundreds of cars on the way in to park. I rolled past the start at 6:34, and rolled out the east side of the park.

I passed a few people, searching for a group for this section that doesn’t scare me. That requires a bit of explanation…

This is a big ride, and like all the big rides I’ve been on, there are differing levels of expertise – in terms of speed potential, bike handling skills, group riding etiquette, and attentiveness. This is also a tune-up ride for Cascade’s hugely popular Seattle-to-Portland ride, and therefore contains many 70 and 100 mile riders who have never ridden that far before. It’s a bit of a recipe for chaos.

My goal in this section is to find a spot in a group that seems reasonably sane, and after passing a few sketchy riders, I slot behind a woman wearing a white jersey, and we cruise south down East Lake Same at around 18-19MPH. My legs are okay, but I know that they generally feel okay on the flats, so my plan is to ride the first part of the ride pretty lightly, and then see how I feel.

After 3.6 miles and only a couple of incidents, we reach the base of Inglewood hill and start up. Inglewood climbs about 275′ up, and at around 9-10% gradient, it’s pretty steep. Like any climb, you want to find a route that is safe for you, safe for others, and lets you climb at your desired pace, but on Inglewood the speed ranges from the fast riders – who climb it at over 10MPH – riders like me (6.4 MPH in this case) – down to cyclists who are pedestrians for the hill, and finally to those who have stopped on the side.

I manage to navigate my way to the top with a minimal amount of assholery on my part, and things seem to thin out at the top where I pass “white jersey girl”.  Just in front of me, there are two guys in RAMROD jerseys from a few years ago; that generally indicates both some group riding skills and a lack of common sense for paying to do that ride, but as a 4-time finisher, it’s not like that doesn’t describe me as well, so I ride behind them in stealth mode east across Sammamish.

Which brings up a bit of etiquette: Generally speaking, I should ask before drafting behind them, but there are so many people on Flying Wheels that it’s just assumed that drafting is going to happen. Three or four times I will look back and find somebody just hanging out there. This used to bother me, but since I’ve been leading rides for so long, it’s kind of comforting.

We cruise through a roundabout, do a few rollers (white jersey girl passes me), and then a nice descent down 228th to highway 202. A quick spin to the east, and we head up Ames Lake road. There are a lot of people on this climb; I pass white jersey girl – and about 50 other cyclists – on the way up, and she passes me on the way down, only for me to catch her on the run to the first food stop. This time, I pull up next to her and say, “Looks like we keep passing each other”, and she replies, “Yeah, it will probably keep happening all day”. If there weren’t so many people on the ride, I’d ask her to work with me, but companionship is not a problem and I’d prefer to be unencumbered.

At the food stop I pull over to open the sandwich bag of cheez-its in my right jersey pocket, stuff a few into my face, grab a Rocketlyte electrolyte pill, and wash it down. The Rocketlytes are electrolytes that are supposed to keep your stomach calm with ginger and mint. I’m just finishing my first bottle of skratch, and it’s not very warm yet, so I switch bottles and head out so I can keep ahead of the crowd. About 2 minutes in, I pass white jersey girl again, and head north towards Duvall, and head up Stillwater hill.

Oh, yeah, I decided to keep riding as if I’m going to do the century, because my legs feel pretty good. My neck and butt are pretty sore, but my legs are good, and they feel fine on Stillwater, even though it starts with a 12-13% grade for a bit. I head up, passing a few people, getting passed, and end up following the two RAMROD guys again. The loop ends up a lot shorter than I expect because I’m thinking it’s the usual one that goes farther to the North, but this one only has about half the distance because of the aforementioned Duvall festival, and I spend it sucking wheel behind the two RAMROD guys – who know how to ride in a group – and, unfortunately, green jersey guy, who does not.  A quick descent puts us back on 202, we head across the valley, and turn south. We are going at about 18-19MPH, which make me a bit impatient, so I hop to the front and pull the group back to the food stop at 21-23 MPH. I have paid back a bit of my kharmic debt, and I stop to refuel, mix a couple of additional bottles, and take a nature break. In the time it took me to do that Duvall loop, approximately 7500 century and 70 mile riders have arrived, and the stop is a madhouse. The real challenge is finding a place to put your bike, but after that, things are fine and I get a nice oatmeal raisin cookie. In 10 minutes, I am back on the bike again, heading south towards the climb in North Bend. For some reason, my power meter stopped working right at the stop, so I’ll have to go old school and base my riding on how I feel. I head south through Carnation, turn on Tolt, and then turn onto the river road.

I’m at a comfortable 19MPH on this road, and realize that I have somebody drafting me. That is – as I said – perfectly okay on this ride, but for this section, it’s really nice to have somebody to help out. I slow down a bit to see if he will come up next to me and we can decide to work together, and he rides off into the distance. About 30 seconds later, a paceline passes me at around 21 MPH, I hear a, “Hi Eric”, see one of the guys that rides with my group, and decide to catch up and latch on to that group. The guy in front is a bit of an animal, so we are holding about 21 or so into a headwind. This section features six 90-degree turns, and the paceline is disciplined so it is of fun to work at taking the turns safely as a group without losing too much speed. We turn left on 202 and roll into Fall City, the next stop. I stop long enough to take a couple more Rockeylytes and head out again.

The normal route I take here is to just ride the highway, but we take a side trip on Salmon Hatchery road before we head up the Snoqualmie Falls climb. I’m conflicted by this routing; it’s nice to skip the highway, but the road is all chipseal which is more than a bit annoying. After a nice rest in the middle of the paceline, I’m feeling pretty good, so I turn up the speed a little on the climb, and start passing people. Then something happens that I used to think was weird, but have since encountered it enough that it doesn’t surprise me any more.

The route pretty much empties; I am riding about 10MPH for about 6 minutes up this hill, and I only pass 5 or 6 riders. I’ve had times on RAMROD where I swore that I made a wrong turn because I didn’t see anybody for 15 minutes. Not quite the same thing here, but it’s still a little eerie.

I ride into North Bend, and then we head North (North North Bend?), riding through the farmland with Mt. Si on the right. The setting is bucolic and the environment is wonderful, but I’m feeling cranky because my butt, neck, hands, and feet are hurting, and I’m getting a bit of a headache. I therefore formulate a plan of what I shall do after I descend, and this plan – this glorious plan – is what keeps me going. Though this part is fairly flat, I haven’t found a group to ride with, so I do it solo, passing individuals, trying out the pace of a few people, and getting passed by other solo riders. I finally hook onto a paceline of about 15, and just as I settle in, we are back to the highway and descending back down the highway. So, not much help there.

Unlike my trip up, the climb is now packed; there are at least a couple of hundred riders on the climb as I head down. Near the bottom, I get caught by Mike, who I rode 7 Hills with and who is quite a bit faster than me. We talk for a while, ride into Gold Bar, and he rides ahead while I stop at the market to put my plan into action. A quick purchase, and I ride to the food stop, which only has about 150 cyclists there. I thankfully find a bag of sour cream and onion Sun Chips, walk into the shade, unscrew the top on my purchase, and drink deeply.

The taste of ice-cold Coke Zero flowing down my throat is exquisite, and it only takes me about 5 minutes to eat the chips and finish the 20oz bottle. I mix up two more bottles of skratch, take another RocketLyte, and head out again. We are headed to a hill that I like a lot, because it is a bit of a bastard – Fall City Issaquah. We take what I think of as the back route, and along the way, I talk with a few people. I get slowly passed by a guy playing music on his phone, and ask him to slow down so I can have music. For some reason, he does not comply.

The route is littered with slower riders, because this hill is climbed by all three routes –40, 70, and 100 miles – and it is a significant challenge for many of the 40 milers. Hell, it’s a challenge for a lot of century riders. A quick descent, and then we turn left onto the main climb, which is about 10% gradient, It flattens, kicks up about 12%, momentarily flattens, and kicks up to 14%. Then it flattens for a bit, turns and kicks up, flattens, kicks up, turns, flattens, and kicks up again. Then, after the crest, you get a really nice fast descent, only to find that there is another 100′ to climb. As I said, it’s a bit of a bastard, but I really like that sort of hill and I feel good on it so I push the pace again. On the last little climb, I come to a group that is seriously not having fun, and I remind them that we all paid good money to do this. This is technically not true in my case, but I feel that a detailed explanation of ride leader credits and their utilization is probably beyond the scope of a relationship that has not even reached the first stage of “acquaintance”…

A quick right and a quick left has us heading West again, and I catch a group of three. There is a guy at front holding a nice pace, a guy behind riding well, and then, in front of me, there is a guy who doesn’t know how to group ride. He will spin for 8 or 10 revolutions, and then coast.  20 revolutions, then coast. 6 revolutions, then coast. It is maddening because every time he coasts, I need to adjust my speed down in case the whole group is slowing, and then smoothly close the gap that opens when it turns out that isn’t true. He does this for the next two miles, at which point I am saved from further annoyance as he and the other two guys jump a queue of cars waiting so they can dart in front of a car already in the roundabout, winning my award for the top dickish move of the day.

A fast descent and ride takes us through Issaquah to the next food stop, a very uneventful section except for the distinct lack of response I got when I asked if anybody wanted to join me for a quick trip up Squak Mountain (a nice 1000′ climb that has a bunch of 15% sections). I really expected that joke to do better.

This food stop is only used by the century riders, and therefore it only has about 40 people. I flip my remaining skratch bottle to the front, refill a bottle with water, and soak my sun sleeves, jersey front, and head in water. Another RocketLyte + some cheez-its, and I head out again. We head east to a section that has a bit of climbing and is a bit roller-y. I’ve decided that I probably will ride this solo, when a paceline passes me. I try to chase but get a bit bogged down, drop off, but then the paceline slows up a little hill and I catch right up again. Apparently, I am fast enough to stick with them, so I stick with them for this whole section, feeling a bit bad because I am not helping, but the guys at front aren’t very well organized and I can’t work into the rotation, so we travel along and I wheel-suck all the way to Factoria.

Then it’s up the hill, through a few neighborhoods, across into Bellevue College, and then a quick trip to the East to the last food stop. There is only 10 miles left, so most of the group just continues, but I need to rest and cool off.

This food stop exists primarily for the 25-mile riders, but they went through long ago, so when I pull in the number of riders at the stop (5) is outnumbered by the number of volunteers (6).

They have massive amounts of food left; I eat a couple of cookies and 4 or 5 orange slices, get a bottle of Nuun and a bottle of water, wet my clothes down, and take stock of my situation…

It’s something like 5 miles to my house with only small hills, and I’ve done this ride feeling way worse than I do now. My head and neck are quite painful, as are my wrists and feet. Interestingly, my butt doesn’t feel bad; I rode the second half hard enough that it took some weight off and made that tolerable. This ride is totally unremarkable except for catching another guy who rides with us sometimes and talking with him until it’s time for me to turn off.

Stats:

Distance 106.4 miles
Riding Time: 6:14:17
Average Speed: 17.1 MPH
Elevation Gain: 4880′
Calories: 3500?

For me, that’s a pretty fast century. I went and looked, and in 2005 I did the other route and averaged 18MPH, but that was a much flatter route and had more paceline opportunities.

The RocketLytes that I used –  I don’t know if they work or not, but I can say that the only point my stomach was even mildly upset was when I drank some Nuun after the last rest stop, so I am definitely going to keep using them.

Overall, a nice route and a pretty good ride.


PSIA Level 2 Alpine Exam

This past weekend, I took the skiing and teaching portion of the PSIA Level 2 instructor examination. I am writing this to share a bit of the experience, and to offer a few thoughts on the process. I hope this will be useful as you journey towards your level 2. I’m planning on feeding some of this back into how we prepare/clinic at Olympic, but that will be the subject of another post.

I passed one of the portions and did not pass the other, but to retain a sense of mystery I shall keep the identity of which module I passed until later in the post.

Day 1: Skiing

Day 1 starts at 8:30 AM in the Pacific Crest Lodge at Stevens Pass, my home mountain, when we meet our instructors clinicians examiners. That distinction will be important later on. We were assigned to groups of 6 or 7, with two examiners plus an optional examiner-in-training and an observer.

The goal of the day is to evaluate each of the candidates to see whether they meet the PSIA national standards for Level 2. There is a pdf here that describe the national standards; in addition to that, you need to understand how your particular division approaches certification. I’m in the Northwest division, so my guide is here, those for the Rocky Mountains are here, Eastern is here, etc.

The day of skiing is broken up into a number of different tasks, 10 in all. Some are directly related to things that you need to do to teach intermediate skiers (the target of level 2) – things like medium radius turns, wedge Christies, and off-piste skiing. Others tasks are designed to help the examiners determine if you meet the level 2 standard for one or more of the 5 fundamentals.

So, after a brief warmup, we start doing tasks. We move around the mountain because we have spring conditions, which are pretty variable. We generally get a couple of chances on a given task, and there is pretty much zero feedback from the instructors unless it relates something like the size of turns they want us to make. Other than watching the other skiers and trying to correlate their performance to your own, there is no way to know how you are doing.

This is by design.

During the tasks, the examiners are intently watching us and taking notes. Between the tasks, the examiners are watching in an off-hand way; remember, the goal is for them to evaluate your performance throughout the day. I think the intention is for them to see you in less structured environments where you are less nervous, but what it really means is that you are trying to ski your best for the whole time you are out on the snow. It is an exhausting experience.

My performance is not great. I have traditionally been pretty strong on the groomed, and I’ve spent a lot of this year working on improving my off-piste skiing, and my last skiing was on a trip where we had a couple of nice days of fresh snow. I recommend very highly that you do not take the approach I did, as it really messed up my focus during the test. Most of the tasks require either very little edge engagement or very good edge engagement, and that’s where the practice should be.

But the fresh snow was very nice…

In our preparation for the exam, we had a lot of discussion about terrain that was appropriate for each task. As far as I can remember, this is where my group skied.

  1. Off piste: From the top of skyline, traverse under the 7th lift base off into the ungroomed, and then ski a face there and then down the face of windy ridge. Then the more distinct bumps under the skyline chair at the bottom.
  2. Skating. I think we did this in the middle of daisy. Everybody in my group could skate, and our examiners spent little time on this.
  3. Straight line hop from ski to ski. We did this at the bottom of hog heaven. We also didn’t spend much time on this, which surprise me a bit.
  4. Pivot slips. The kickover face on rock-n-blue.
  5. Short radius. The steep part of I-5 which was groomed. It felt black to me and – other than the off-piste – was the steepest pitch we skied.
  6. Medium radius – rock-n-blue
  7. Rhythm changes – rock-n-blue
  8. Wedge christie – skyline at the top of windy ridge working down to the flatter part, then along near the terrain park.
  9. Leapers – rock-n-blue
  10. One-ski turns – this was either rock-n-blue or hog heaven.

The terrain choice seems fair to me. The short radius were maybe a little too steep, but that was probably the only place on the mountain that had a firm groomed surface.

At 3PM we were done. Those who were only doing the skiing go their results at 4:30PM; the rest of us would find out both sets of results at the end of the teaching day.

I think the skiing part is *relatively* straightforward. The tasks are clear, and you just stay with the group and try to ski them to the best of your ability. The examiners did a good job within the constraints of the format. More on that later.

Day 2: Teaching

Skiing was the physical day, and teaching is the mental day. it consists of the following activities:

  • A 20 minute teaching segment in which you will teach a topic assigned to you. The topics go from “first day on the snow” through higher-level intermediate topics, and then a wildcard to teach one of the tasks fro the skiing day.
  • A 5 minute short teaching session.
  • Motion analysis; this might be watching a skier and commenting on them, or watching instructors ski and doing motion analysis on the differences they show.

We drew our teaching segments out of the hat. I got, “Day one skiing, working with gliding, stopping, and turning”. My wife and I had spent some time discussion how we would teach each of these, and I was hoping I didn’t get this one (which I think is the hardest one to teach), but on reviewing my notes in the morning I had a bit of an inspiration, and when I drew that topic, I decided I was going to go with my inspiration.

I taught second, and I highly recommend teaching in the morning if you can. I found it hard to be focused later in the day (though to be fair, one of our candidates taught at 1:30 and she absolutely nailed it). The teaching segment is about teaching something appropriate to the other candidates, something they can learn from. There aren’t any skiing skills I can teach to the candidates, so I elected to work the mental side; I wanted to get the back into the mindset of a beginner, and specifically, get a bit of that nervousness and apprehension in their brains. I did that by having them ski straight on a very flat slope towards a slightly steeper slope, but I made them do it with their eyes closed. And then we did some skiing with our weight far to the aft. My point in all of this – which I drew out by asking them questions – was that the mindset of day one beginners is very fragile, and you have to go overboard in making things not only safe, but obviously safe. I felt pretty good about that part, and since I passed, it was fine, though not great.

The teaching segment is where I saw the most variance across instructors. Things that I saw:

  1. Teaching to the candidates as if they were students; ie teaching the group how to do a wedge turn rather than teaching them how to be better at *teaching wedge turns*.
  2. Teaching inefficient movements not currently I the PSIA approach
  3. Not following the PSIA teaching cycle. Because of the nature of exam, you can’t really do “Assess Student and their movements” and “Define goals and plan experiences”, but you should be doing the rest of them. It was common for instructors to only teach the “Guide practice” part. Notably, “present and share information” and “check for understanding” were absent
  4. Not having a specific goal. The things you teach are in service of this goal.

I’ll probably write about the teaching side in more depth in the future.

The compare and contrast sessions were interesting; we were split into two group (team ski/snow interaction, team body), and each group watched examiners ski, discussed what they saw as a group, and then shared it with the examiners and the other group. I found this part to be relatively simple, but I’ve worked a lot on MA recently. We saw three things:

  1. Medium radius turns by two examiners, one with banking, one with angulation.
  2. Wedge christie turns, one generating the wedge by pushing out the tails and holding a high edge angle, the other generating wedge through rotation of the outside ski and skiing a flatter turn. This one generated quite a bit of discussion as the candidates did not agree.
  3. Medium radius turns done three ways; with retraction, with extension, and with big leg/little leg. We had to figure out the order. I was on team body, and we agreed right away, but those on team ski had three different interpretations of the order.

My big advice on doing the MA part is to do the part that you are assigned but still look at the whole body and ski/snow interaction as the followup questions will be in more detail.

We did not get to the 5 minute teaching.

Eric complains about the process

First off, my results (fail skiing / pass teaching) were a fair evaluation of my performance. I did not ski well enough to meet the bar.

I have two areas of complaint, and the come under the “not being set up to succeed” heading.

The first is in the preparation phase. I’ve looked at what PSIA-RM and PSIA-E require for their level 2 candidates, and it is has a lot more structure and waypoints. For example, PSIA-East requires that you get your CS1 (Children’s specialist 1) certification before for you go for level 2, which sounds like a very good idea to me.  PSIA-Rocky Mountain requires that you have a level 2 proficiency log, which would help to address the key concern of the candidates I talked with, which is their lack of understanding of what the level 2 skiing standards are. I am not looking for assurances that I will pass, but what I would like is for somebody to have said, “based on my understanding of the standard, I think your performance today meets/does not meet the level 2 standard” in a specific area.

Keeping this a mystery does not benefit anybody; what it means is that a lot of candidates are going to be disappointed. The pass rate in skiing for my group was less than 50%, and I’m sure the majority that failed would have preferred spending their time in a different way.

The second part is the actual examination. If PSIA-NW had more structure in preparation, this becomes less important, but I don’t understand the “no feedback” rule during the examination. Time constraints prevent extensive feedback, but you could easily do something like this:

  1. Candidates ski medium radius turns
  2. Examiners write down notes on their performance (they do this anyway)
  3. Examiners share observations relevant to their performance with respect to the standard (“Eric, you are skidding your turns rather than carving your turns”, “Steve, your center of mass is behind your base of support”).
  4. The rest of the exam day proceeds as it does now.

This gives the candidates a way to calibrate against the standard. As it was, I missed something I could have corrected if I was only told.

Looking at how other regions do exams, RM separates motion analysis from teaching as a separate module, and east breaks both teaching and skiing assessments into 3 separate parts, where you get credit for what you passed. This is a far better approach than the “all or nothing” approach that NW takes.

A couple of small points:

  1. At the end, the examiners hand out a score sheet with written notes and your pass/fail grade, then make themselves available either to congratulate you and hand out your certificate and pin, or discuss why you didn’t pass. If you did not pass, this is your chance to get more insight than the written notes. For some reason, the examiners do this without any notes of their own, which means that you really aren’t getting the insight that you could be getting.
  2. A group of candidates had a discussion about one of the task videos on the PSIA-NW site for level 2 skiing, and we were told that it was an old video and was out of date. This is really unacceptable; examiners get together to clinic several times, and it’s really cheap to grab video from them at the time. The lack of quality videos exacerbates the “I don’t know the standard” problem.

In summary, I did not think that PSIA-NW served me well as a member during the certification process. A little bit more structure would help the learning structure considerably.


Cassette Tapes

Back when I was in high school – in the last 70’s and 80’s – there were four ways to listen to music.

You could listen to the radio. There was music on AM radio, but if you cared about music, you listened to FM radio. In my case, it was album-oriented rock radio.

Or, you could listen to your records. This gave you great sound, but 1) records degraded slightly each time you played them, 2) to get the best sound, you needed to follow an elaborate cleaning ritual, and 3) if you liked your music loud, the record would skip. Oh, and 4) they weren’t very practical for your car.

For your car, you could obviously listen to the radio, you could listen to 8-track tapes, a weird and clunky format that wasn’t very good.

Or, you could listen to a compact cassette – what everybody just called a cassette. Cassettes were small, easy to carry, and had decent sound. The record companies sold a ton of pre-recorded cassettes, which had a limited lifetime, sub-par sound (because they were duplicated at high speed and used cheap speed), and – if you were unlucky – would transform itself into a large wad of crumped-up tape. Interestingly, pre-recorded cassettes generally cost more than record albums.

If you wanted the best sound – and if you wanted to be cool – you had a stereo of your own, you bought albums, and you recorded them onto blank tape that you bought for $3 or so. And – if you bought 90-minute tapes – you could fit two albums on a single tape.

Okay, so, that wasn’t quite accurate. You bought *some* albums, but most of your music came from recording albums that friends. Because this was a bit of a hassle to do, you wanted to use a tape that was good quality. Most people I knew chose a specific brand – and often a specific tape – and stuck with it. At one point – around 1982 or so – they came out with a 100-minute variant, which was great because you could use it for albums that were longer than 45 minutes in length.

In my case it was the TDK SA-X90 pictured above, in a number of variants over the years. In college, I had a tape holder on the side of my stereo cabinet that held 48 individual tapes.

And then CDs came, then MP3s came, and then portable music players came, and cassette tapes went away. Though I found it difficult when I finally decided to get ride of them.

If *any* if that has any resonance with you, you might want to spend a few minutes on Project C-90.


Moving to the Power BI team…

This coming Monday, I’m going to be starting a new gig on the Power BI Team. It’s a great fit for me, both from the technical side and from the process (ie “Agile” side) of things, and I’m pretty excited about it.


Crosswords and death

I have always like words. In fact, I generally find it difficult to express myself without them.

I was not an early convert to crosswords. I tried them when I was younger, and I either found them to be simple, stupid, or impossible. My mother was good at crosswords (and Scrabble), and her mother did all the Sunday crosswords in ink and was absolute death in Scrabble.

But when I got in my late 30s, I started to do the daily crosswords – starting with the easy Monday ones, working through the harder – and often weird – midweek ones, and onto the hard Friday ones.

Along the way, I learned a few things:

  • There are a class of words – that I just learned are called “repeaters” – that show up all the time, because they are very convenient for those who create crosswords (known as “constructors”). They are not common words, but once you learn them, puzzles get much easier:
    • Ale
    • Oleo – margarine was originally known as “oleo-margarine’”.
    • Epee – a small dueling sword
    • Oreo – Nabisco’s gift to the world
    • Etui – a small ornamental case for needles or cosmetics.
  • An abbreviation in the clue means the answer is also an abbreviation.
  • A question mark in the question means there is wordplay at work.
  • “ending” and “start” mean you should a fragment. For example, “East ending” is probably “ern”.
  • Being a constructor takes skill, and different constructors have different skill levels. This probably should have been obvious to me at the start, but it wasn’t. There are some people that just aren’t very good at putting puzzles together.
  • The construction of the grid and the creation of clues (“clueing”) are two distinct acts, and they both require aptitude. Poor clueing can make a puzzle much more annoying. The NY Times crossword is notorious for having clues that you would automatically know if you lived in NY – which makes it good for people who do live there – but makes it really annoying for the rest of us.
  • If you work put a puzzle aside and come back to it the next day you will find a lot of obvious answers.

Once you learn these things, crosswords get much easier.

And I found Merl Reagle, who not only was very skilled at construction and clueing, but had a weird sense of humor and great themes. And wonderful puns. And… his Sunday puzzles were challenging but possible; when you finish one of his, you feel like you’ve really accomplished something.

So, my mother and I would email back and forth about the most recent Sunday puzzle. Did we like it, what did we think of the theme, and how far had we gotten. My mother would do as much as she could, and then hit the crossword dictionaries (and the internet) so she could finish it, while I wanted to solve it by myself, and was fine leaving it unfinished.

As my mother’s health deteriorated, she lost the ability to live on her own and eventually spend most of her time in bed, but she still did crosswords and we still discussed them. After she died, I continued to do the Sunday Reagle puzzle, and thought about her when I came across a puzzle that she would have really liked.

And so, I was especially sad to read a notice in that paper today, which said,

Puzzle section changes:

Crossword puzzle constructor Merl Reagle died Saturday in Tampa, Florida. The Times will carry the Sunday L.A. Times crossword instead.


Sufferin’ Summits 2015

Sufferin Summits Bicycle Ride

Two years ago, I did a ride named Passport 2 Pain, which is a ride around Vashon Island that goes down to the water and back up on pretty much every hill on the island. A series of 300-500’ climbs, over and over again, for 82 miles and darn near 10,000’ of climbing. I liked it.

P2P is a what some people call a “challenge” ride. I tend to call them “stupid rides”, as in, “you have to be very stupid to choose to do a ride like this”. P2P calls their full ride route “the Idiot”, so I think they agree.

This spring, I was musing about P2P and another challenge ride that’s been around for a few years in Portland, and I thought, “Self, there a lot of hills in the south end of Bellevue and Issaquah, and you know them pretty well. I bet you could put together a route that was at least as that”.

After a bit of design, a bit of riding to check out new routes, and a bit more design, I came up with a design I was happy with. It’s 55 miles in length (though the last few miles is downhill/flat) and features 8200’ of climbing.

And – in keeping with the challenge theme – it not only goes up a lot of hills, the route is designed to go up them in the worst ways. Why climb the top section of a hill one way when you can do it three separate ways?

After I showed it to a few people – and quietly hinted that I might be putting it on as an organized ride – there was sufficient interest that I decided to make it official, and Sufferin’ Summits was born.

Stupid? Yes. And sadistic.

Anyway, I had a route, I picked a date, built a very simple website, and did a very limited amount of advertising. If you knew me – or perhaps knew somebody who knew me – you might find out about the ride. This was deliberate; I wanted to this year to be a beta test of the route and approach.

I need to do a bit of level setting before I continue.

In the context of this writeup, a 10% hill is a moderate hill, and if I say “steep”, I mean something around 15%. Or more.

The official motto is, after all , “a special kind of stupid”.

The Ride

I wake up at 6:30 in the morning, have a bit of cereal to eat, and then go to get dressed. I put some chamois crème on my chamois (improves comfort on long rides), put on the shorts and jersey, and walk out to the kitchen. Only to find that instead of grabbing my Pearl Izumi Elite shorts of the basket, I grabbed a different pair of Pearl Izumi shorts that a) were not “Elite” and b) belonged to my wife.

Not that there is anything wrong with that. The intended gender of your shorts is your own business.

A short shorts change, and I’m heading out to the starting point so that I can get there at 8:30. The published start time is 9AM, but there is no official start line so I’ve decided to be early.

I get there at 8:15, and there’s nobody there. A couple of people show up, drop off donations (the ride is raising money/food for Northwest Harvest), and head out to start the ride. Others show up and leave, and then at around 9AM, two of my riding friends (Mike and Jeanne) roll in, having parked in the opposite parking place. They ask me if they can ride with me because the route is a bit confusing (they’re right, it is). Which presents a dilemma…

Back when I was younger and less experienced, I started a long hilly ride (at the time, probably the hardest ride I had done, but not even close to as long and hilly as this stupid ride, which means I’ve either gotten better or stupider still then) with a group of faster friends, cooked myself on the first two hills, and then had a bunch of not fun the rest of the ride. Since then, I generally do climbs on my own.  I know that both Mike and Jeanne can climb quite a bit faster than me.

<Okay, so, I’m not quite being honest.

To be honest, this whole thing started as a bit of a lark, but as I stand waiting to start, I realize that I have a problem. I know exactly what is in store for me, I know how bad the ride is, and I’m really not sure if I’m up for it, and more not sure if I’m up for riding it with others. >

But I say “yes” anyway, and we head out to do the first climb, Grand Ridge. The bottom part is uneventful; Mike and Jeanne pull ahead of me as they climb, then they wait for me, and then we keep climbing. We hit the first steep pitch – College Drive, a 17-18% gradient – and grind our way up.

I’ve been working on lower back issues – and upper back issues – well, let’s just leave it at the generic “back issues” the past 6 months. Lots of PT, lots of exercises, lots of stretching. It’s been getting better, but on our week in Hawaii, instead of stretching seriously 3 or 4 times in a week, I managed to stretch 0 times per week. That – and some perhaps overexuberant and not-great-form stretching since – have left my lower back in a condition that the medical profession refers to as “a bit wonky”.

Anyway, the good news is that my back feels okay. It’s a little sore, but only a little and I can deal with that.

<See what I did there? Now that you know that, you will be much more sympathetic if I need to use the excuse in the future>

We get to the nice park in the middle of Grand Ridge, work our way through to the east, and then climb up. We make the first turn, and then Mike turns left. This feels wrong, but this is a confusing section and I follow Mike as he descends to the North. I know after 15 seconds that it’s wrong, but he’s a ways ahead.

<okay, so, it’s the first hill of *my* ride and I already don’t know which way to go….>

No real foul – there’s an easy alternate route – except that my Strava will not be the official route.

We ride up through the cool custom homes at the top of Grand ride (pick a style, from cape code to craftsman to northwest contemporary to castle, you’ll find them all here), and crest at the top. Usually there is a great view, but there’s so much smoke in the air that we can just barely tell where Seattle is if you look  closely. With the wandering around, the 1000’ climb took me about 30 minutes.

The descent is fast and fun, and they have thoughtfully repaved the bumpy section, so we make it back down to Issaquah, and head across to our next hill, Squak. The first part of the climb rolls up the hill, with 13-15% sections followed by sections of lesser gradient. I stand up now and then to let my back work out a bit, which kindof sortof helps. At the saddle of the climb, Mike continues to follow his GPS directions and rides on past the turn, demonstrating that his Garmin is a few bits short of a byte today. He returns, and we head up to the top part of Squak. With the exception of a steep section at the beginning, the gradient isn’t too bad. However, the pavement is really rough, which makes it a lot harder to climb, as we lose a lot more power to friction. After a while, we hit the top loop and ride around it to the true top of the climb. I spent 24 minutes to get the second 1000 feet. This looks promising; the trend suggests I will climb the third 1000’ in 18 minutes.

A quick discussion and we decided that we were okay on water to the next water stop (two hills later), so we skipped refilling. I decided that I wasn’t drinking enough (the weather was cool but I was still sweating a lot on the climbs), so I made an effort to rehydrate.

The top part of the Squak descent is not fun. The rough pavement makes the bike shake a lot and the corners a bit treacherous. We hit the lower, more-populated part, the road flattens and improves, and we speed up. It would have been a very nice descent except for having to slow down because of the Prius in front of me. At the bottom I swallow a couple of Ibuprofen tablets to see if it will help with my back.

Back in Issaquah and right at the starting point, we head to hill #3, Talus. Talus is a recent discovery of mine; I hadn’t climbed it before because it doesn’t have the elevation of its taller neighbors and it only has a single way up (I try to avoid up and back climbs). But a little research showed me that there is a road that isn’t open to cars but can be biked, and that’s where we are headed. The road is brutal; it kicks up steeply to like 18% at the start, and holds there for quite a while. It’s a nice climb though the woods usually, but they’re using it for construction access higher up the hill, so there’s gravel off to the sides.

Which is probably a good point to introduce “tacking”. If you are on a steep hill, you can ease the gradient by riding diagonally back and forth across the hill – cutting it down from maybe 20% to 14% or so, assuming you have a whole road to use. You can get less if there is less room. It’s also sometimes known as “paperboying”.

I would generally tack a bit on a hill like this, and get maybe a 1% reduction, but the gravel is in the way so I gut it out. We pull out of the first section back onto a normal road, turn right, and the take another right to take another connector, which is an honest 20%. I stand for that because it’s short, and then there’s another right, and more steep climbing to the top. Not quite 500 feet in about 9 minutes. The rest of Talus is nearly flat ride to the south to get a little more elevation and get out the road exit. We descend back down, and head out towards the next hill. We are right behind one of the other groups, which makes me happy, because we were about 10 minutes behind them at the top of Grand Ridge.

Hill #4 is Zoo hill, probably the most notorious of the hills. After a short flat portion – which feels very strange to ride – we turn up and start climbing, and soon pass the zoo. This section feels like you are out in the country; there are no houses and the tree canopy covers the road. We climb and soon hit the hairpin, which is probably 15% at the center line. I ride the center line, and Jeanne rides near the inside, which is the steepest part, at 25% or more.

<as we got near the to the hairpin, I suggested that riding the center line was a good idea, but she chose the harder line. She’s a bit of an animal.>

The road opens up a bit after, and we hit the turn at the end of the first section of the climb.  My stats say that I climbed it in 13:11 at 223 watts and heartrate of 148 bpm. Translated, it means that, despite having 2700’ of climbing in my legs, I’m climbing pretty fast for me and my heartrate is high but not to high – I can ride a long time at that heart rate.

We turn right on the middle section, which is a set of rollers that get steeper and steeper. Today, however, we take a trail to drop down to the top of the Montreux climb. We do that, pick up a slightly-lost rider, and descend down to pick up the next climb.

I am not looking forward to this. This section is only 4 tenths of a mile long, but it’s going to take me nearly 6 minutes to climb it. Because it is a wall, at 18, 19, even 20% gradient. If I look online, the fastest person I found could not even reach 8 MPH on this climb. Today I ride it at 4.1 MPH, weaving back and forth, and now my back is really, really unhappy. I’m distracted enough that I miss the turnoff I want, but luckily I catch my mistake. I catch my breath a bit, eat a few cheez-its, and decide that I will try the next section.

<there is always a time during a ride when I have “the downs”. Generally, it goes something like this:

“Why do I bother doing this? It starts out being okay, but then something like this happens. And I paid to do it”

This time, of course, I didn’t pay for it. I also know that if I keep riding, it will go away and I’ll feel better>

I also decide that, at the next water stop, I’m going to ride back to the start.

Yes, this whole thing was my idea.

We first climb up the classic top of the zoo climb. At 12-13%, it’s a lot flatter than what we have been riding, and Jeanne and I talk as we climb up. My back has recovered a bit.  Mike is, as usual, off ahead of us. We hit the false summit on the road, continue on, and catch the small drive that takes us up to the water towers. At this point, we’ve caught the group that started just a bit ahead of us, which makes me feel pretty good; despite my back hurting, I’m still climbing okay.

Then, it’s a short descent, and we climb up Pinacle which goes to nearly the same summit, and then Belvedere, also to nearly the same summit. Neither is notable; I ride slowly, sometimes tacking back in forth, standing to try and stretch my back and working to keep my legs turning over. I think I’m maybe a bit dehydrated, so I drink as much as I can.

We descend down to Lakemont, and turn right to do a short climb to the park. It’s a 4% climb, but it honestly feels like it is flat. There are probably 10 of us there, filling our water bottles, using the bathroom, having a snack, complaining about the route (that’s mostly me). One of the guys tells me two of the guys in his group hate me, which makes me happy. That group decides they are insufficiently caffeinated, so they head over to the Starbucks and we continue on. I look at the online Strava flyby  later and can see that at least some of them continued the ride, but it looked like they got a bit confused on the route.

Standing around, my back feels a little better, so I decide that I’m going to try the next section. On the map, this section looks pretty unassuming, just three little climbs next to each other. Two of them are up and down, and then third takes us to the top.

We descend quickly down to the turnoff, and then turn to start the climb, which is about 500’. It starts off steep, turns steeper, flattens out a bit, gets steep, and then turns nasty, where nasty is something like 25%. You can tack back and forth on some of it, but some of the corners are blind and you have to be wary of cars. There are, if you need them, a few roads and driveways you can pull in to take a break, but I do not need to avail myself of them, and turn the corner where it flattens out and keep going to the actual crest.

I am inordinately smug that I didn’t have to stop on the climb.

Then it’s back down to repeat on the next climb to the east, but this one only tops out at around 15% and is much shorter at 262’ of elevation gain. That one doesn’t hurt that much.

Then, finally, we have a short but steep kicker and the final climb up to the appropriately named “Summit”. About 350’ of up, it starts at 15%, backs off a little, kicks up to 17%, backs off a bit, then finally up to 19% to the false flat and then a final short push to the summit. It is unpleasant, but I make it up to the others.

I am well and truly cooked – so cooked that I don’t even both looking at the view to the north. It’s generally worth a few minutes, as the view is properly described as “territorial” – on a clear day, you can see Bellevue, Seattle, the Olympics, the water, the Cascades, Mt. Baker, and beyond. We wait for another rider so that I can lead the group.

In case you are wondering, the entry fee for the cheapest of these homes is right about $1M, though you can pay more than double that if you’d like.  The Belvedere and Pinacle houses are in the same range.

We work our way around to the emergency access gate; there are two of these that block off the Summit from the roads to the north so that cars can’t get in that way, but we just have to get off our bikes and carry them around a wall, and then it’s down a wonderfully-repaved section of road to the food stop. We have about 800’ to lose, and we do it in about 4 minutes, taking us to the unofficial food stop at a gas station food mart. I buy a Coke Zero, drink all 20oz of it and eat some Cheez-its. Once again, I feel pretty good at the food stop, but I know what is coming up and how I felt, so it’s time to cut my losses. I decide to cut the difference; I’ll ride the first climb of the next section, which will conveniently put me back on Newport way. Turn left, and it will be back to the start; turn right, and it will be back up to the Summit, but a more painful route than we came down.

<there really is no chance at this point that I will continue. I spent one night earlier this summer quivering on the floor with back spasms, and I have no desire to repeat that>

But first, we need to descend more, dropping all the way down to the shores of Lake Sammamish at Vasa park, which at 37’ of altitude is probably the low point of the ride, though downtown Issaquah is close. Then it’s a right turn into the “Forty One Point Five” development, and another 250’ of pain. We connect through a little path at the top, take the ped/bike bridge over I-90, and I depart to head back to the starting line. I have pretty good energy and I feel okay, but the back won’t let me continue.

<see? Don’t you feel bad for me? Eric would have keep riding except for his back. He had *no choice*>

So, I speed back along the road and got back to the finish line (well, place where we started), put the bike in the truck, and headed home.

A few statistics:

42.3 miles
6637’ of climbing
10.1 mi/hour average speed
2247 kJ (read as “calories”)

As a comparison, the last time I did RAMROD (150 miles, 9200’ of climbing), I completed it with an average speed of 15.2 MPH. 10.1 MPH is pretty darn slow.


Maker Faire 2015 Bay Area Trip Report

This last Friday I got on a plane at Sea Tac to head down to Maker Faire 2015. I’ve been to a couple of mini Maker Faires in Seattle, and thought it would be a fun way to spend a weekend.

Just a bit of level-setting to start. I’ve been building and working on stuff since I was very young. Doing building stuff with my father, changing a clutch in my car, building a set of bunk beds for my college dorm, a couple of decks on my current house, all the finish work on a ski cabin with my wife, a custom cabinet for my AV gear. Most of this stuff is custom; I or we come up with a design and build it from scratch. Plus, I have a long history of building custom animated holiday light displays. So… my comments are from the perspective of somebody who has been a Maker since long before the term was invented.

Because I didn’t decide early, I couldn’t get into any of the Faire hotels, so I decided to stay north at the Hampton Inn about a mile from the Colma bart station. As long as you can fit what you need into a backpack, this works okay; Bart runs right to the airport and is easy to deal with.

On Saturday, I rode BART to the end of the line (Millebreu?), and took a school bus shuttle to the faire where we waited to open. The fair is divided into a bunch of different zones, indoors and outdoors, so it’s pretty easy to wander around. Hard to find stuff, however, and hard to track what you’ve seen, especially in the mostly dark LED building.

Cool stuff I saw

Some nice wood clocks (website seems to be a work in progress)

Ply 90, an aluminum corner that you use to build boxes and cabinets out of flat plywood panels. Great if you don’t want to do wood joints.

 

Some 3D printed rings

Contraptor, an open source hardware (in the “metal” sense).

 

Cubicity filament

CNC Router parts. These guys had two CNCs plus a plasma cutter running.

The palette, a multi-filament joiner to print in multiple colors with a single extruder.

Steamy Tech Cool geared thingys:

Electromagnetic ball drawing (not sure who the artist is):

Kristen Hoard’s LED-lit art. Plasma cut aluminum, some of it with enamel on it, lit by color-changing LEDs on the inside. Really nice.

The Unnecessarily High 5. A huge crowd favorite.

Full gallery with some videos here.

Thoughts

It was really nice to see so much Maker stuff packed into one space, and I thought Make – the business entity – did a decent job of putting their commercial stuff – Maker Shed – in one building, and a lot of people were happy to be able to buy stuff there. I liked wandering around and looking at the different stuff going on; the power wheels racing, the cycle-cyde (lots of bikes modified in ways that make them hard to ride), and the bike movable things that look like they were from Burning Man.

I also think they did a good job at trying to get people trying new things – learn to solder, learn to do a bunch of others stuff – and there were kids all over the place.

But – as an experienced maker – I didn’t get a ton out of it from an idea or technical perspective. A lack of ideas has never been one of my problems, and I am probably an outlier in this perspective.

Complaints/Suggestions

I’ll should preface this list by saying that, as a Windows Phone owner, I could run the IOS/Android app, and maybe that would help. But there are still a lot of people out there without smart phones.

  1. Trying to figure out what talks there were that I might want to see was an exercise in frustration. The website lists each of the stages separately, and the only thing you can do is read each of them and write the time and topics down and then try to get back to them. This is a solved problem; just do what the big tech conferences do.
  2. No guide where presenters were located, so that I could go try to find a specific company or figure out who was at a booth by location.
  3. Talks were very uneven. *Very* uneven. I am not trying to pick on specific people, but here are a few issues I saw:
    1. I went to the “Maker pro” talk, which was a very interesting topic for me – what do you need to do to quit your day job, and how do you decide to jump? We had two people who had done it, but didn’t really get the chance to tell their stories.
    2. Yobie Benjamin had a talk that looked really interesting to me, but was mostly targetted for people who want to do a kickstarter at the $1M level. Many people really want to do something much smaller, and a lot of his advice didn’t make sense for the rest of us.
    3. “Epic Fails” was billed as an interesting talk, but wasn’t about the real topic at all. The three presenters were fine, though their perspective was mostly about woodworking and youtube. Call the talk something different, and get more diversity in the group.
  4. It would be great to have “birds of a feather” sessions if space could be found.

Decoding Pinball Bus Signals Part 5

In the last episode, I spend time figuring out how to detect and respond to the row and column strobes. Here’s the short list of tasks:

  1. Hook up the shift registers to the arduino and write some code to make sure that I knew how to drive them.
  2. Write some timer code to handle the delay after the row and column strobes.
  3. Test the shift register code while connected to the pinball machine
  4. Integrated in the lamp matrix code that I wrote separately.
  5. Figure out how to get the lamp state out of the arduino through the serial port.

It’s about to get real

Shift Registers

I’ll start by seeing if I can read static values out of the shift registers.

I slightly modified a 34-bit connector so I could plug it into my breadboard, and then plugged in the two shift registers underneath. I pulled out my breadboarding wires from Adafruit, and started wiring things up. The basic setup is like this:

  • The 8 data lines are connected to the data lines on the connector.
  • The RCK line is connected to the strobe line from the pinball. When the pin pulls this line low, the shift register will pull data in and latch it.
  • Vcc and GND are connected.
  • Output enable (OE) is grounded to enable the serial output.
  • SCK is hooked to the arduino. This will be driven by the arduino to shift the data out.
  • SLOAD is hooked to the arduino. We will pulse it low/high to move the data from the latch into the shift register.
  • SER (shift input) is grounded. This is used to gang together more than one shift register, but it’s not needed for what I’m doing.
  • QH  is the serial output and will be hooked to the arduino.

I spent a lot of time studying both the truth table and the timing diagrams in the data sheet, and came up with the following sequence:

  1. Pulse SLOAD low
  2. Get the current bit
  3. Pulse SCK low to get the next bit
  4. repeat steps 2-3 until you have 8 bits

I set up a loop that would do this continuously, wired up each data lines to Vcc or GND, and started it running. Success! I got a value out that looked like the way I had the lines wired. And then, I rewired the data lines, and nothing changed. After an embarrassingly long period of debugging, I realized that since I was running not connected to the pinball machine, there was nothing driving the data strobe (RCK) input. I modified the code to pulse RCK low/high, and it started returning real data.

Now, to check the speed.

I set up a pin to be a debug output, drove it high at the beginning of the routine, and low at the end. I could then hook it up to my oscilloscope and figure out how fast my data rate was (I could have used the logic analyzer but it was in the other room connected to pinball machine and the scope was handy). The period was about 0.2 mS, which makes the frequency about 5000 Hz. I would need to do this twice, which would put me at 2500 Hz. That gives me little time to do the rest of the work that I need to do, and seems pretty slow.

So, I did some investigation, and rediscovered that the arduino digitalWrite functions do a lot of work to protect you, but this work makes it very slow – on the order of 150 clock cycles to do a single call. I found a nice set of replacement macros online, and recoded things, and got the full read down to about 10 uS, which should be more than fast enough. Here’s the code:

byte readFromSerial()
{
  byte result = 0;
 
   // pulse SLOAD LH to move data from latches into shift register
  digitalPulseLowHigh(C_SLOAD);

  for (int i = 0; i < 8; i++)
  {
    result = (result << 1)  + digitalState(C_QH);
   
    // pulse clock LH to move to next bit
    digitalPulseLowHigh(C_SCK);
  } 
 
  return result;
}

Another option would be to use SPI to read the data. I didn’t explore that because the bit-banged approach is fast enough and I might need SPI for other communication later.

That gave me one shift register working, so I started on the second one. My original idea was to drive both the shift registers separately, using 6 wires:

Shift register 1

SLOAD1
SCK1
OUT1 (aka Qh)

Shift register 2

SLOAD2
SCK2
OUT2

I have plenty of free pins right now, and this would work just fine, but the speed of the shift register code depends on a fixed set of pins; I can’t pass in a parameter to use. I could easily duplicate the code, but instead I decided to use the output enable feature and share most of the signals. This allowed me to share signals using only 5 wires.

Shift register 1

SLOAD
SCK
OUT (aka Qh)
OE1

Shift register 2

SLOAD
SCK
OUT
OE2

The first 3 signals are in parallel. I choose between the two shift registers by carefully setting OE1 or OE2, putting one shift register into output mode and the other into high-Z mode. This also requires some care in the setup code; I set both OE pins to high before I turn them into outputs so that the outputs will not fight with each other.

At this point, I have code to read both shift registers working. Yea!

Delay code

The problem that I have to address is the strange behavior of the row and column strobes. Sometimes they show up row, column, sometimes they show up row, column, column, row. Which means that I can’t just base it on the row or column strobe. What I came up with is the following:

void handleDataStrobe()
{
  TCNT2=TIMER2_START_VALUE;
  TCCR2B=0x02;
}

void rowDataHandler()
{
  handleDataStrobe();
}

void columnDataHandler()
{
  handleDataStrobe();
}

When either the row or column strobe come in, we set the value of the timer2 count register and set the timer so it’s counting. If another strobe comes it, it merely resets the timer value, so we keep counting. Eventually, we hit the last strobe, the timer overflows, and our interrupt service routine gets called:

ISR(TIMER2_OVF_vect)          // timer compare interrupt service routine
{
  TCCR2B=0x00;
 
  readShiftRegistersAndDecode();
}

Setting TCCR2B to 0x turns off the timer counting, so we only get the interrupt once.

After a bit of tuning, it’s set up and working:

Channel 0 and 1 are the row and column strobes. Channel 2 and 3 are for debugging; channel 2 goes high when the first interrupt handler is called, and then pulses low when the timer expires. Channel 3 is the SCLK channel, and you can see (well, you could see if I zoomed in) two sets of 8 clock cycles to shift the data out.

Here’s the setup. I think that qualifies as the most complicated breadboard I’ve done; there are two 16-pin shift registers, 12 pins from the connector, and then 7 pins out to the arduino.

Testing the shift register for real

Now that I can read data – theoretically – I want to track what data the machine is sending over the bus. The simplest thing to do would be to just add a call to Serial.println() after the data is read.

But the serial port is *slow*. Too slow to be able to capture sequential values of data.  Instead, I allocate 128 bytes for the row and column, capture that many chunks of data, and turn off the capture while the main loop writes the data out the serial port. And then repeat.

I build the code, download, and I start getting data. Lots of data, since the pinball is in attract mode (lots of flashing lights), and that’s not what I need. I flip the machine into single lamp test mode, capture data, and see the following:

      Row       Column
11111110 11111110
11111111 11111101
11111111 11111011
11111111 11110111
11111111 11101111
11111111 11011111
11111111 10111111
11111111 01111111

That is precisely what I had hoped for. The system is walking sequentially through all of the bits in the column byte, and it is setting the row byte values appropriately. It’s not quite as simple as this, because the lamp is flashing on and off, but it’s close.

I did note that the C# code that I wrote has the bitness wrong for the columns, so I went back and fixed it so that both are enabled with a zero bit.

Integrate the lamp matrix code

Finally, I can integrate the C# code I wrote. I do a quick transform into C++ code, and hook it up. I run into a couple of issues, but it mostly goes clean. But the data has a bunch of junk in it; it doesn’t look like the data I was getting before. Thirty minutes yields no clues until I look up and realize the the weight of the Arduino and analyzer had pulled the connector out of the breadboard. A bit of strategically-deployed blue tape holds it in place, and the data comes out fine.

Okay, except for one thing; it’s in row-major form rather than column-major form, but that’s a quick change.

Communicating the state out

To correctly identify the state of the lights, I need to be able to detect three states:

  • Off
  • On
  • Flashing

The way I do this is to allocate a byte for each lamp, and then decode 128 separate chunks of data. Since it takes 8 chunks to cover the whole matrix, this gives us 16 samples for each lamp. That gives us a zero if the lamp is off, a 16 if the lamp is on, and something in between if it is flashing.

To communicate it out we create a 64-character string by adding the value for each lamp to the character ‘0’, so our range is 0123456789:;<=>?@  (I considered a modified hex with 0-G, but that would be a little harder and slower to create), and then send the values out the serial port.

But, as usual, it’s a wee bit more complicated. I don’t have time in the interrupt handler to send that whole string over the serial port, so instead I copy a snapshot of the string and have the main loop write it across the serial port.

And, at this point, this part of the project is all working; I get consistent strings that give me the state of all the bulbs in the machine.

Next steps

Now, I need to convert it from a mess of spaghetti wiring into something better. I have a few options:

  1. A hand-wired Arduino shield
  2. A custom pc board arduino shield
  3. A “Pinduino” design that takes the Arduino Uno reference design, deletes what I don’t need, and adds in the connector and the shift register

#1 and #2 seems the easiest. I might do #3 at some point.

Oh, and there’s the next section, the whole reason I built this thing. But that’s the subject for another post.


Pages:1234567...15