I've announced the move elsewhere, but have been late to mention it here.
Rasterio has been transferred from https://github.com/mapbox to
https://github.com/rasterio. Today I transferred the affine project, which
rasterio depends on, from my own personal repos to the same rasterio org.
Before I left Mapbox, about 45% of the project's commits were authored by folks
outside the company. Now, that number is closer to 90%. Moving the project
keeps the code open and accessible to its developers and makes it easier to
maintain. Making the case for the move at work was pretty easy. Teams at Mapbox
that use rasterio want bug fixes and new releases. The Platform team has one
less oddball CI configuration to support. I'm grateful for the attention and
help of Mapbox's Legal and IT teams during a busy, busy time. It was fun to
work with these folks on one last project.
I'm planning to stay very involved in these projects. Go and try the new 1.3
pre-release and report back if you find any new bugs.
Shapely 1.8.0 is a transitional version. There are a few bug fixes and new
features, but it largely exists to warn about the upcoming changes in
2.0.0. See the new migration guide for more details on how to update your
code from Shapely 1.8 to 2.0.
One of the upcoming changes: the geometry objects of 2.0 will be immutable,
simplifying their implementation, and making it possible to hash them.
Here's an example of the warning you'll see when you set a new attribute on
a version 1.8 geometry object.
>>> fromshapely.geometryimportPoint>>> pt=Point(0,0)>>> pt.id=1<stdin>:1: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0
Last Friday was my final day at Mapbox. My tenure was almost exactly eight
years. When I started, MapBox was written
with a capital B and was headquartered in a converted garage behind 14th street
It was a pretty good job. I made friends, learned a ton, and did stuff with
a lot of impact. I helped move the needle, as they say. But I'm happy to
be going. I'm starting something new and exciting in November, more about it in
a week or so.
Saturday I finished the Blue SKy Trail Marathon in 05:25:47. That's 26 minutes
faster than my 2017 time. I was 5th in my group, 50-59 year-old men, and 88th
overall. We all enjoyed beautiful weather: cool temperatures, no wind, not
a cloud in the sky.
At mile 9.2 I was in 67th place. I was having fun pushing my limits up and down
the single track of Horsetooth. I eased to a more sustainable pace on the
flatter part of the course, but was still running the outbound stretch of the
Blue Sky Trail faster than I've done on long runs while training. Just before
the turnaround, my legs started to feel off, and then I started to feel
impending cramps in my hamstrings. I gobbled some pickles and potato chips at
the next aid station, but it was too late. I battled cramps all the way to the
finish. I ran until my legs cramped and then I walked until the cramps
subsided, repeating this over the last 7 miles. I lost 3-4 minutes per mile
and slipped 7 places.
On a different day, cramps might have been demoralizing, but so many things
kept me in good spirits. The company on the trail was great, I saw friends at
aid stations, the weather was perfect, and every other part of my body felt
great. Best of all, eight months of training and racing was almost over.
Finishing with a smile was easy.
I'm going to keep running this fall and winter, but nothing very hard or long.
I might not start workouts until next April.
I just got back from my last long run before the Blue Sky Trail Marathon, an out and back on the Blue
Sky trail covering miles 9.2-15.6 and 22.7-26.7 of the race course.
If conditions allow, I plan to run the race with the same gear, wearing my Evo
Speedgoats and carrying only a 16-ounce bottle in my hand. The aid stations are
less than 5 miles apart and the weather looks like it will be cool on race day.
Since I managed to run 10 miles today with only one bottle and a single gel,
I should be fine. It might be below freezing when the race starts at 7 a.m., so
I plan to start with a warmer layer and then switch at mile 9 when we loop back
through the starting line.
My fitness is pretty good. Not where it was before Never Summer at the end of
July, but better than before Black Squirrel in September. Finishing in the top
five for my category (17 registered runners) might be feasible. Until Saturday,
I'm going to focus on getting lots of sleep, eating well, and staying hydrated.
Thursday could be our first snow. I'd love to see the course get watered
a little bit. It's very dry and dusty now. Although the forecast has the sun
coming out again on Friday, sometimes the arrival of these first fall storms
can be a little delayed. We'll have to wait and see. I would prefer sunny and
cool weather, but I've run this course in the snow many times and am ready to
do it again.
It's been a busy time. Let's get caught up. Last time I posted something on my
blog, almost 5 weeks ago, I started building up again after finishing the Never
Summer 100k. I succumbed to a sinus infection before the Black Squirrel Half
Marathon, the 3rd event of the Gnar Slam, on September 11, but did fairly well despite the warm weather. It's now three weeks until the Blue Sky Trail Marathon, the last race in the series and I feel like my fitness level is finally going back up again after a rough August and early September. Last Saturday I ran 20 miles for the first time since the Never Summer event and felt fine. I intend to go out for more this coming weekend if the weather allows. The window for alpine running in Colorado is closing quickly, we've already had snow above treeline.
Three weeks to the Blue Sky Trail Marathon. My knees feel better, my sinuses
feel better, I'm less stressed out about work and looking forward to lots of
fun trail miles in October.
This year there are six weeks between Never Summer and the Black Squirrel trail half
marathon and another five weeks to the Blue Sky trail marathon. I took two
weeks off after Never Summer and started re-building last week, the first of
a nine week program ending with Blue Sky on October 16. I'm going to use four
week blocks again, three for building fitness, one for recovery. The first
recovery week falls on the week before the trail half.
Here are the numbers for Blue Sky week one.
8 hours, 21 minutes
6,171 ft D+
I did back-to-back long runs on the weekend for the first time in six weeks, 15
miles on Saturday and 10 on Sunday. Local air quality has been okay and the
weather has cooled off a bit. The only things which haven't been great are my
quads. They're quite tight and are putting stress on my knees. I need to be
more diligent about stretching and foam rolling and am going to ask Ruth's
massage therapist for a session soon.
Week 12, race week, is done. By time and miles it was my biggest of the year.
19 hours, 12 minutes
11,962 ft D+
I finished the Never Summer 100k in 18:29:19,
50 minutes faster than last year on a course 3 miles longer. I was 104th of 246
starters and 204 finishers, 7th in my category and 65 minutes behind 3rd.
I moved up 30 places from 2020.
Friday evening the race directors, faced with a forecast for stormy and wet
race day weather and, because of a flash flood watch in the county, an
insufficient number of available search and rescue staff, decided to reroute
the race. They replaced the traverse from North Diamond Peak to Montgomery Pass
and the long backcountry segment past Kelly Lake with less exposed segments
nearer to aid stations. This eliminated about 2,000 ft of climbing and added
a mile to the race distance.
I ran the middle of the race relatively quickly, moving up from 158th at mile
11 to 97th at mile 50. After the Canadian aid station poor fueling caught up
with me and I bonked. Between Canadian (49.8 miles) and Bockman (55.6 miles)
aid stations I slipped six places and passed no one. I passed five runners
after Bockman and was passed by six others. Four times on the final climb
I came to a stop, sagging onto my poles until I could recover enough to
continue slogging. I did manage to pick it up in the last two miles and crossed
the finish line 40 seconds before midnight.
The weather was quite good west of the divide. It was only when we ran up to
Clear Lake that we encountered heavy rain and mud. I changed shoes after and
was dry from Clear Lake #2 (44 miles) to the finish.
Thank you for pacing, Mike, and huge thanks to all of you volunteers.
I couldn't have done it without you.
I wrapped up a low volume, high quality week. There are only 6 days to go.
4 hours, 56 minutes
2,392 ft D+
I did a bit of tempo running on Tuesday out on the county roads while my
daughter was doing her equestrian thing. Intervals on dirt at Pineridge on
Wednesday. Some easy suburban single track on Thursday. More easy running at
Horsetooth on Saturday and an easy out and back on the Spring Creek bike trail
today. I'm still doing strength and conditioning workouts, but am going easy on
Next week I'm going to run about 75 miles, including the race on Saturday,
which returns to its original 64 miles after a reduction to 61 last year.
Due to a failure of attention I ended up doing about 63 miles last year. I'm not going to do 66 this time. If
you're curious about the latest pre-race information from the directors, read
it here. I'm
taking Friday off work to get up to the race start and do some volunteering at
the finish line for the 60k version of the race.
Until then, my main goals are to sleep well, stay healthy, and tune out
non-critical things. I apologize in advance for not replying to emails, new
issues on GitHub, etc.
Today I got fins, mask, snorkel, and an introductory snorkeling lesson in
a pool as a birthday present and homework for an upcoming trip. Ruth, my
partner, grew up on the Southern California coast and is a swimmer and
passionate about scuba diving. I grew up in the desert of the Intermountain
West and am ambivalent about putting my head under water. We're going to meet
in the middle. Our kids took the lesson with me. Both are pretty good swimmers,
one has some open water snorkeling experience already. I've spent a lot of yoga
hours training to inhale only through my nose, so learning to inhale only
through my mouth with a snorkel clenched in my teeth is kind of a trick.
I enjoyed the lesson and am looking forward to some snorkeling in the ocean.
Ruth and Beatrice, our youngest daughter, ride horses regularly and our oldest
rides occasionally. It's been clear that I need to try this, too, and I did
yesterday, spending an hour learning to saddle, mount, and ride a horse at the
stable where Ruth and Beatrice have been riding. They're into dressage and
jumping, I'm only learning the basics of Western riding, My goal is to be able
to go out on a two hour trail ride with my family without falling off and
prematurely ending things. I'm pretty sure I'll succeed. I'm getting
comfortable with horses and they, at least the ones at Sunrise Equine, are
comfortable with me.
I learned how to sit and how to use my feet and legs, how to hold the reins
with two hands and one hand, how to turn, how to trot, how to balance going up
and downhill, kind of a crash course in Western trail riding. I'm still a rank
beginner, let's be clear, there is so much yet to learn, but my mind really did
expand yesterday. I have much more appreciation for the passion people have for
horses and riding. Horses are fantastic creatures, with brains and
personalities, and connect us to the ancient times of giant mammals. I expect
I'll remain primarily a runner, not a rider, but one who wouldn't want to live
in a world without horses.