2019 (old posts, page 5)

It's still snowing

Our first snow of the 2018-2019 season came on October 10, 2018. It's still snowing seven months later. Snow in May isn't unusual in Fort Collins, at 40.56 degrees north of the equator and 5000 feet above sea level. Still, our current snow season has been long. It started 8 days earlier and has gone 12 days later than the average.


Snow number 18

Tomorrow is forecast to be dry, which will let the Quad Rock trails drain, I hope. I expect Saturday, race day, to be sunny and mild with a small chance of showers at the end of the day.

Training week twenty-three recap

One week of tapering down and one more to go. I did 3 short runs, including a small interval workout, and one 10 mile run at the crack of dawn on Saturday with another Quad Rock runner.

  • 3 hours and 53 minutes running
  • 24 miles
  • 1713 feet D+

The race starts in 4.5 days. The weather forecast for Saturday is pretty good: cool and wet weather this week is giving way to sun on the weekend. I'm completely ready. I've run 1016 miles in 23 weeks. My legs are ready, my heart and lungs are ready, my brain is ready. My emotions are ready. It's been challenging and fun to get to this state of being ready. I'm happy with what I've done, no matter what happens on Saturday.

Training week twenty-two recap

The numbers:

  • 7 hours and 16 minutes running time
  • 40.3 miles
  • 5367 feet D+

Week twenty-two isn't quite over, but my training is. I'm not running tomorrow. I'm going to try to avoid thinking about running. Instead I'll do chores and shopping and gardening.

I did my last long run today at Bobcat Ridge: up the D.R. Trail – which was so pleasant that I ripped up my planned route – down Powerline Trail, up D.R. again, then up and out of Mahoney Park and down the Ginny Trail. The summit above Mahoney Park, at 7000' elevation, was covered with pasque flowers. Truly covered, a cluster of flowers every square meter.


Pulsatilla patens, the prairie crocus, or pasque flower.

I did my last speed workout on Tuesday and ran a particular segment (Strava segment, that is) of the Timber Trail at Pineridge in under 8 minutes (7:53) for the first time. I'm not faster, but now I can run mildy fast for longer intervals. I also had a very satisfying steady run on the hills at Coyote Ridge at lunch on Friday, new PRs on every stretch of the route, and didn't have any rattlesnake conflicts, always a plus.

Two weeks from now, to the minute, if everything goes well, I'll be 12 hours into the Quad Rock race and just a mile or two from the finish. Until then, I'm tapering: easy runs, banking sleep, avoiding germs.


The foothills are getting greener by the minute.

Training week twenty-one recap

Week twenty-one was a solid week of running.

  • 12:53 hours on my feet (#4 of 21 weeks)
  • 65.9 miles (#5 overall)
  • 9882 feet D+ (#2)

I ran my last 25 miler and my last back-to-back long runs before Quad Rock. Saturday I ran the second half of the course, climbs 4-6, with two runners who are a little faster than me. We completed the loop in 5:47, 33 minutes faster than I ran the Quad Rock 25 in 2018. I felt more soreness than usual this morning, but the feeling went away quickly on my out and back run on the single track east of Horsetooth Reservoir. I saw one rattlesnake and missed another that I was warned of by another runner. Not having to watch for snakes was one of the upsides of winter running.

Next week I'm going to run 20 fewer miles, with only one long run. I'm looking forward to a Sunday of sleeping in and gardening.


Longs Peak (14,269') from Horsetooth Open Space's Stout Trail

Last spring hill workout

Hello from week twenty-one of my Quad Rock training season. I'm taking a couple minutes at lunch to write about my last hill workout before the race. I drove to Arthur's Rock trailhead at Lory State Park this morning with the intent of warming up on the valley trail and doing a 1-3-5-7-5-3-1 interval pyramid on one of the Quad Rock climbs. On route, at the top of Bingham Hill, the little gap on the north end of Horsetooth Reservoir, I saw a flock of wild turkeys. Ten or more birds, possibly. I didn't see any turkeys on the trail, but heard some gobbling in the distance and saw many prints in the mud.

I'll be happy if I feel as good on race day as I felt this morning. I ran my intervals up the first Quad Rock climb, on Samwill, Loggers, Carey Springs, and Tower trails, with half-length recovery intervals at an easy pace, and destroyed my PR for the climb: 33:30 beat my April 6 run by over 6 minutes. I made it almost to the Towers, then cruised quickly (for me) down the Mill Creek trail and back to my car. I'm certainly not going to go at that pace in the race, but I'm very happy about my form. Maybe I should try to stay fit like this through the summer and be more ambitious at September's Black Squirrel.

Training week twenty recap

There's not much to report about week twenty. I did a little cross training, solo parenting, some yoga, got a massage, shoveled snow, got cabin fever.

  • 3 hours, 11 minutes running
  • 20.0 miles
  • 361 feet D+

In my week 19 recap I mentioned that I was near the top of the Gnar Runners Strava club leaderboard in three categories. At the end of week 19 I finished fourth in distance, first in running time, and third in climbing. I'm comically slow in comparison to the elite local runners.


I'm going to spend the rest of a mild afternoon gardening.

Mapbox Mapbox

I got a massage this morning, on Mapbox, my employer, which provides a quarterly wellness benefit as part of a good and growing benefits package. I could get reimbursed for sports equipment, a bike, or ski passes, but I like to use it on personal training and massage. It feels good to transfer tech startup money to small businesses. I paid via Square and noticed when submitting the receipt for reimbursement that there's a small Mapbox map and an "improve this map" link on it. I should have noticed this earlier.


Blurred because my massage therapist uses a home business address, sorry

It's fun to see Mapbox in the "real world". The company's sales team is kicking ass right now.

Sometimes it snows in April

I'm lucky that this is a recovery week and that I don't need to spend hours slogging in ankle deep wet snow.


While walking home from getting a massage this morning I saw a small flock of mountain bluebirds in Rolland Moore Park. Mountain bluebirds don't spend much time in Fort Collins, they're just passing through. I've been seeing them in the foothills for the past two weeks. Today, they wouldn't let me get close enough for a good photo, unlike the poor birds below on a much colder and snowier April 17, 2013.


Not running feels nice

One of my favorite things about running is being outside. I'm not running today, but when I found myself up before dawn today, I sat outside drinking coffee for 10 minutes before taking my oldest to her pre-school chamber orchestra practice. Not a bad way to start to the week. Not at all.

Programmer migration patterns

I found a fun post by Avery Pennarun about programmer migration patterns using RSS. Have you heard of RSS? It's a quite intriguing concept: you create a terse XML log of your toots or twetes or longer form writings on the web, publish the log on the web, and other people can set up software that periodically checks the XML log and sends a notification when you've written something. You should give it a try!

In fact, I found Pennarun's post about 3 weeks ago, but have been too occupied with work, family, and running to blog about it until now. I've thought about what languages programmers use and why, and enjoyed reading another non-scientific take.

Myself, I've followed two of the paths that Pennarun graphed in the blog post.

  • C -> Perl -> Python 2 -> Python 3
  • sh -> awk -> Perl -> Python 2 -> Python 3

I've done different kinds of programming and dabbled in some esoteric languages, but lately I'm doing system programming, and almost all of it in Python 3. As Pennarun points out, when you need Python programs to run faster, you rewrite their modules in C. I've learned to do this and have also learned how to distribute and deploy C extension modules. I haven't felt the need to migrate to Go, the other next stop for Python 2 programmers in Pennarun's graph. Not yet.

Python 3 use is growing at work and people are definitely coming from Javascript. Mostly because JS options are limited when using Apache Spark, especially with the major Spark hosting services, not because of language features or syntax. I do, however, see signs that some of my coworkers are beginning to appreciate mainstream Python features like path objects, slicing, unpacking, and f-strings. For what it's worth, no one has yet asked me how to use type hinting or how to implement type checking, perhaps because the language switchers tend to have begun their careers with Javascript instead of C++ or Java.

I feel gratified when I see open source Python packages like mercantile, shapely, and rasterio spreading more quickly to other teams at work. This pleases me, greatly. Investing modestly in Python, even when it wasn't considered cool or the next big thing, was a good idea. It's paying off.