i am jacob, and this is my heart.

Ward's Ferry Road Race
Saturday, March 15, 2014

COURSE DESCRIPTION

"This is the same course as in 1991, 1996, 2002-2012: the race promenades ... to the course, 2 miles. A 12 mile loop of good to fair paving, two climbs and mostly rolling/mountain terrain. Several NARROW sections, the reason for the small field limits." We were on the hook for 5 laps (new this year: P/1/2 do 6!).

The last 6.1k is a 195m stair-step climb averaging 2.6% w/ false flats & brief downhills. Last 200m is uphill.

PREVIOUS RESULTS

2012: 2nd (P/1/2)
2013: 6th (P/1/2)

WEATHER

chilly at start, clear skies, no wind.

TEAMMATES

None.

GOALS

  1. Podium.

PLAN

It's a tough course with lots of ups and downs. With no teammates I was going to try to sit in as much as I could and make selections in the final laps.

RACE SUMMARY

On or about the finishing climb of the first Josh Dapice (Audi) and Nick Theobald (Safeway) - probably the strongest two guys in the field - got up the road with Michael Ricks (Michael David Winery) - teammate of the other strongest rider, Andres Gil. I didn't feel like I had the legs to work a break with them for 4 laps, and since I didn't have any teammates I just sat in. I didn't know Ricks and thought there was a chance he could come back to the pack, and then Gil and his other teammate would have to chase, which would've been good for me.

Bryan Hoadley (R4R-Make A Wish) tried to rally the troops to chase but didn't have much luck. There were a couple of teams with 2 guys but it seemed most of them had one guy getting dropped or flatting.

The pace was pretty pedestrian but you still have to work with all the climbing, and it slowly took its toll on our field, even though with one to go the break had 5-6 minutes on us!

Jonathan Eropkin (Safeway) got a gap on the finishing climbs the last lap, and i bridged up, trying to ask if he would work with me but it came out wrong and sounded like i was giving him grief for sitting in, although he understood what i meant. We had a small gap coming to the finish but then out of nowhere a Folsom guy came sprinting past us - he thought it was the last lap!

It was still a long way to the finish but it was time to mix things up so I set the tempo up the feed zone climb, and then the smallish climb on the first part of the course. it's a 3-4 minute climb and i really tried to push it over the top to discourage any attacks. i looked back and it was just Hoadley, Gil, and Eropkin. Much more manageable.

Kyle Glerum (Safeway) caught us on the descent and then after that a couple more guys caught on. There were a few attacks from me and Andres and probably someone else until we hit the steep pitch with about 1km to go. Hoadley attacked with me on his wheel and Andres on mine going into the final 200m climb.

I was in too big a gear and wasn't able to hold off Gil, but Eropkin flew by us to take 4th after getting a lot of momentum on the little descent before the climb so I was 6th.

Apparently Ricks had been dropped by Josh and Nick (who won), and was only about 30s ahead of us, so my hunch was almost right. He'd been on his own for 2 laps or so, but I don't know if we would've caught the break had Gil and his team been chasing that whole time.

RESULTS

  1. me

results were taking so long that we went to eat lunch, so of course they were screwed up and i missed the protest period. Pretty sure Ron Shevock (Folsom) had been/was being lapped. but they gave me a shirt anyway. but the shirts were kinda lame - the graphic was the size of a breast pocket. so velo promo.

TAKEAWAYS

  • i think i raced pretty smart given what i felt my fitness level was and not having teammates.
  • wait for results so you can protest!
  • it was fun to blow things up and do some racing the last lap - when it really mattered (...or after the race was already decided?)

NUMBERS

Distance: 94.4 km
Time: 2:59:19
Elevation Gain: 2034 m
Avg Speed: 31.6 km/h
Max Speed: 73.1 km/h
Avg HR: 141 bpm
Max HR: 173 bpm
Avg Power: 196 W (3.11 W/kg)
xPower: 241 W (3.825 W/kg)
Max Power: 881 W (13.98 W/kg)
TSS: 233
Suffer Score: 149

$ $ $

Tweet or post a comment.

Pine Flat World Championships
Tuesday, February 18, 2014

COURSE DESCRIPTION

"62 mile near-loop with a start out & back section in the foothills of the Sierra Nevada . Mountainous, some 2800 feet vertical (2 main climbs both near the end, last is finish hill). Same as in 1994-2013. Road surface ranges from good to fair, some narrow, some traffic; many cattleguards; one twisty very narrow fast descent."

PREVIOUS RESULTS

2011: 8th (E3)
2012: 1st (P/1/2)

WEATHER

A few sprinkles on the way there, but the roads mostly dried up and it was in the 60s-70s and sunny for the race. The first time I did this race, it was in the 30s when we got to reg.

TEAMMATES

None.

GOALS

  1. Get a little racing in
  2. Podium or something

PLAN

Since I was racing alone, I was hoping to be able to sit in until the climb and see how it goes from there.

RACE SUMMARY

They were supposed to wait until everyone had finished the neutral climb out of the marina, but guys started attacking once they turned onto the course. Some guys rolled away and I was a little worried but tried to relax; it was a long way from the finish, and someone would get impatient and try to close it down, or maybe they wouldn't work together. Plus, I figured as long as Matt Carinio (Arts Cylclery) was in the bunch it was probably safe.

Groups came back and formed again for most of the way to the turnaround and back. The pace was OK but not difficult. On one of the rollers Carinio decided to bridge up to some guys ahead. I saw him go over the center line, and knew he was going to get called back. Sure enough, the moto goes up to him and he slows down and comes back. Except a few minutes later I noticed he wasn't in the pack at all! I don't think I'd ever seen anyone get DQed in a race, but my t-shirt odds had just improved.

So we descend to the flat section, and things settle down. Ken Gallardo (Thirsty Bear) went to the front and just rode tempo, likely to get some training in. It felt like there was a bit of headwind, and that might've kept people in line because although the pace wasn't really high, it was pretty much single-file.

Ritte had the largest squad with 5 guys (in BRIGHT ORANGE POC HELMETS), and they were all near, but not on, the front. I've raced against But when we finally got to the first bump of the main climb, and some guys revved up the pace, they were all gone. Things came back together a bit but when the really steep part of the main climb came, it was just down to six - me, piers (Thirsty Bear), 2 guys from SRAM (one sporting electronic mechs), Nick (Safeway), and some guy I didn't know.

It was definitely a struggle to stay with this group to the top but I made it. The descent was a little sketchy as there were a couple of cars to get around. Why did the cow cross the road? I don' know, but I'm glad it kept going and didn't stop in the middle. Honestly I was a little surprised a couple of the guys didn't get DQed for going around the cars, but maybe Carinio had said something? Anyway, we weren't working too well together but nobody was in sight behind us so it didn't matter.

We finally hit the finish climb but I didn't have that extra gear; no surprise since I'm still doing base but it was pretty pathetic!

RESULTS

  1. me

TAKEAWAYS

  • watch that center line, kids!
  • definitely will be working on anaerobic soon

NUMBERS

Distance: 100.2 km
Time: 2:45:15
Elevation Gain: ~1400 m
Avg Speed: 36.4 km/h
Max Speed: 74.2 km/h
Avg HR: 143 bpm
Max HR: 175 bpm
Avg Power: 206 W (3.2 W/kg)
Max Power: 839 W (13.1 W/kg)
TSS: 213
Suffer Score: 154 (EXTREME)

$ $ $

Tweet or post a comment.

endRefreshing while decelerating
Sunday, February 2, 2014

i've spent all weekend fighting an annoying bug. if i import/sync some JSON into CoreData while my tableView is scrolling, it will halt abruptly, even if the MOC i'm doing the sync on uses private concurrency.

i spent 3 days debugging and optimizing the CoreData part:

  1. not saving parentContexts if no changes were made
  2. making sure fetchRequest queries were using indexes
  3. tweaking my algorithm to use one FetchRequest rather than two
  4. ...then splitting the FetchRequest into smaller batches

and so on. things were improved, and i'm happy with the fine-tuning to the syncing code, it still didn't fix the problem. the fetchRequests were taking less than .1 second, so the UI was not blocking on CoreData.

after adding some breakpoints, i finally found the culprit: calling -[UIRefreshControl endRefreshing] while the tableView is decelerating instantly causes it to stop accelerating. i coded up a quick test app, and found out that using -performSelector:withObject:afterDelay: solves the problem, as the selector won't be performed until after deceleration finishes:

$ $ $

Tweet or post a comment.

ScreenSharing hanging on Mavericks: a workaround
Saturday, November 30, 2013

i don't know why, but ScreenSharing doesn't work on my macbook air, it just hangs at startup. this is due to an exception thrown while a lock is held:

2013-11-30 17:55:31.602 Screen Sharing[34074:507] *** -[__NSSetM addObject:]: object cannot be nil 2013-11-30 17:55:31.630 Screen Sharing[34074:507] ( 0 CoreFoundation 0x00007fff8ddfa41c __exceptionPreprocess + 172 1 libobjc.A.dylib 0x00007fff89e01e75 objc_exception_throw + 43 2 CoreFoundation 0x00007fff8dd19d66 -[__NSSetM addObject:] + 790 3 ScreenSharing 0x00007fff8fe58382 -[SSInputEventSourceCoordinator addSource:] + 69 4 CoreFoundation 0x00007fff8ddc8fcc __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12 5 CoreFoundation 0x00007fff8dcbcc5d _CFXNotificationPost + 2893 6 Foundation 0x00007fff94d854aa -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 7 AppKit 0x00007fff96129d0e -[NSApplication finishLaunching] + 440 8 AppKit 0x00007fff96129823 -[NSApplication run] + 128 9 AppKit 0x00007fff96114803 NSApplicationMain + 940 10 libdyld.dylib 0x00007fff8d0255fd start + 1 ) 2013-11-30 17:55:31.667 Screen Sharing[34074:507] *** -[NSLock lock]: deadlock ( '(null)') 2013-11-30 17:55:31.667 Screen Sharing[34074:507] *** Break on _NSLockError() to debug.

for whatever reason, it's passing nil to some thing when it should be passing a reference to the NSApplication. this can be worked around with a little lldb magic:

$ cat > ScreenSharing.lddb file '/System/Library/CoreServices/Screen Sharing.app/Contents/MacOS/Screen Sharing' breakpoint set -o -a 0x00007fff8fe5837f breakpoint command add -o 'register write $rdx \`[NSApplication sharedApplication]\`' r $ lldb -s ScreenSharing.lddb Process 34102 stopped * thread #1: tid = 0xe812e, 0x00007fff8fe5837f ScreenSharing`-[SSInputEventSourceCoordinator addSource:] + 66, queue = 'com.apple.main-thread, stop reason = one-shot breakpoint 1 frame #0: 0x00007fff8fe5837f ScreenSharing`-[SSInputEventSourceCoordinator addSource:] + 66 ScreenSharing`-[SSInputEventSourceCoordinator addSource:] + 66: -> 0x7fff8fe5837f: callq *%r12 0x7fff8fe58382: movq (%rbx,%r15), %rdi 0x7fff8fe58386: movq -357651365(%rip), %rsi ; "unlock" 0x7fff8fe5838d: callq *%r12 (lldb) c Process 34102 resuming

this isn't ideal, but at least i can use screen sharing again. no idea why it works fine on my other macs, either.

$ $ $

Tweet or post a comment.

Race Report: CandleStick CycloCross (BASP #1)
Sunday, September 29, 2013

COURSE DESCRIPTION

Just your average million-corner, wet-spaghetti-noodle-thrown-against-the-wall course. I probably don't know enough about 'cross to use the right words to describe the course, but there 1 one run-up, two pairs of barricades, 1 steep drop off, and a few gravel sections. Mostly really bumpy grassy dirt paths.

PREVIOUS RESULTS

I had never entered a cyclocross race before.

WEATHER

A beautiful fall day. Mostly sunny, warm, with increasing humidity as a storm system was moving in to the north.

TEAMMATES

None

(ANTI-)GOALS

  1. Don't finish last.
  2. Avoid permanent damage to any reproductive organs
  3. Don't embarrass myself so much that the team asks me not to wear their kit next time
  4. Keep up a little race fitness throughout the off season
  5. Have fun?

PLAN

I don't think this really applies at my level of competition.

RACE SUMMARY

I could only do day-of for the Cs race, so started in the second-last row. On the first little rise, there was some congestion and I didn't get off my bike quick enough, tripped over something, and before I knew it, I was dead last. Unfortunately, this wasn't a crit in a stage race.

So I resolved to at least past the really slow people at the back, and slowly gained a bit of confidence. Every time we hit a paved or straight portion, I would fly by a few people and then make it up to the next group. On the last lap, guys were getting tired so it was even easier to pass them. I had no idea, but I made it up to 24th, which isn't very good but not bad for being last on the first lap.

For the Bs, I started a little closer to the front. I'm not too keen on the all-out sprint start of these, so I probably lost a few places, but I don't think I was ever last. The pace was definitely higher but I would get stuck behind people a lot. Then, the top 45+ Bs would catch up to us and just go around me like it was nothing.

I was definitely going faster this race, and the course was getting more chewed up, which made some of the corners a little more precarious. I managed to keep myself upright the whole time, though. I was a lot more tired on the last lap than during the first race, so I wasn't able to pass as many guys and ended up 42nd. Not such a good result so I don't think it's time to move to the As yet.

RESULTS

BASP #1 35+ C #sandbaggers

TAKEAWAYS

  • Two days of practicing mounting/dismounting was enough to get me through the race, but won't win me any style awards.
  • The race seemed better run and more professional than most, if not all, of the road races I did this year. I would have thought CX would be a little bit more low-key.
  • During the week I was imagining it as being the hardest race I'd ever done but it wasn't that bad, so I guess next time I'll just have to go faster.

NUMBERS

Distance: 11.2 km
Time: 33:24 (35+ C) 31:47 (35+ B)
Elevation Gain: 101 m
Avg Speed: 20.2 km/h (35+ C), 21.2 km/h (35+ B)
Max Speed: 43.7 km/h (35+ C), 44.3 km/h (35+ B)
Avg HR: 164 bpm (35+ C), 170 bpm (35+ B)
Max HR: 178 bpm (35+ C), 181 bpm (35+ B)
Suffer Score: 53 (35+ C), 56 (35+ B)

$ $ $

Tweet or post a comment.

page 2 >>

powered by boc blog pro: cload on rails edition