Compare commits
28 Commits
40fe7400ac
...
d22d1cb1a0
Author | SHA1 | Date |
---|---|---|
R Tyler Croy | d22d1cb1a0 | |
R Tyler Croy | e26e7e49f4 | |
R Tyler Croy | 4cd2cc707a | |
R Tyler Croy | 020301d399 | |
R Tyler Croy | 5ee000a51a | |
R Tyler Croy | 45c8c79ea9 | |
R Tyler Croy | 14494dd326 | |
R Tyler Croy | c857150a75 | |
R Tyler Croy | da5ec47edd | |
R Tyler Croy | 98a118f6c3 | |
R Tyler Croy | c7b11e107d | |
R Tyler Croy | 141201620f | |
R Tyler Croy | 99ef66e215 | |
R Tyler Croy | 8980590e60 | |
R Tyler Croy | b4acaed1db | |
R Tyler Croy | a843e2d5c4 | |
R Tyler Croy | 62572641d2 | |
R Tyler Croy | 559f927ad0 | |
R Tyler Croy | 2080c3ad86 | |
R Tyler Croy | 584fefc1c4 | |
R Tyler Croy | 383a852813 | |
R Tyler Croy | 5bb90029ea | |
R Tyler Croy | a3872b0abf | |
R Tyler Croy | bacb6f8aca | |
R Tyler Croy | a9eee2c29f | |
R Tyler Croy | e897fb52fb | |
R Tyler Croy | f42bf8b892 | |
R Tyler Croy | 9bd7b50603 |
|
@ -1,27 +0,0 @@
|
|||
---
|
||||
on: [push, pull_request]
|
||||
name: Twitter, together!
|
||||
jobs:
|
||||
preview:
|
||||
name: Preview
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
steps:
|
||||
- uses: gr2m/twitter-together@v1.x
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
tweet:
|
||||
name: Tweet
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- name: checkout main
|
||||
uses: actions/checkout@v2
|
||||
- name: Tweet
|
||||
uses: gr2m/twitter-together@v1.x
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
|
||||
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
|
||||
TWITTER_API_KEY: ${{ secrets.TWITTER_API_KEY }}
|
||||
TWITTER_API_SECRET_KEY: ${{ secrets.TWITTER_API_SECRET_KEY }}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"subject": "acct:rtyler@hacky.town",
|
||||
"aliases": [
|
||||
"https://hacky.town/@rtyler",
|
||||
"https://hacky.town/users/rtyler"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"rel": "http://webfinger.net/rel/profile-page",
|
||||
"type": "text/html",
|
||||
"href": "https://hacky.town/@rtyler"
|
||||
},
|
||||
{
|
||||
"rel": "self",
|
||||
"type": "application/activity+json",
|
||||
"href": "https://hacky.town/users/rtyler"
|
||||
},
|
||||
{
|
||||
"rel": "http://ostatus.org/schema/1.0/subscribe",
|
||||
"template": "https://hacky.town/authorize_interaction?uri={uri}"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -49,7 +49,7 @@ GEM
|
|||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
nuggets (1.6.0)
|
||||
nuggets (1.6.1)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.7)
|
||||
|
@ -60,7 +60,7 @@ GEM
|
|||
ffi (~> 1.0)
|
||||
rdiscount (2.2.0.2)
|
||||
rexml (3.2.5)
|
||||
rouge (3.28.0)
|
||||
rouge (3.29.0)
|
||||
safe_yaml (1.0.5)
|
||||
sassc (2.4.0)
|
||||
ffi (~> 1.9)
|
||||
|
@ -85,4 +85,4 @@ DEPENDENCIES
|
|||
webrick
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.8
|
||||
2.3.12
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
= brokenco.de
|
||||
|
||||
This is my link:https://brokenco.de[blog]
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@ collections:
|
|||
permalink: microblog/:year/:month/:title/
|
||||
|
||||
lsi: false
|
||||
include:
|
||||
- '.well-known'
|
||||
exclude:
|
||||
- README.markdown
|
||||
- Makefile
|
||||
|
|
|
@ -76,6 +76,13 @@ title: Home
|
|||
<a href="/podcast-picks.xml">podcast-picks.xml</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/images/icons/blank.png"/>
|
||||
<img src="/images/icons/xml.png"/>
|
||||
<a rel="me" href="https://hacky.town/@rtyler">Mastodon</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="/images/icons/comp.gray.png"/>
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: microblog
|
||||
date: 2022-08-08 09:45:14 -0700
|
||||
title: 776f2614
|
||||
---
|
||||
The most calories burned in a single ride was over 7,500. Cycling has made me much more serious about my nutrition: https://brokenco.de/2022/08/08/cycling-calories.html
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
layout: microblog
|
||||
date: 2022-08-08 09:43:56 -0700
|
||||
title: fbb4695a
|
||||
---
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: microblog
|
||||
date: 2022-08-11 14:31:20 -0700
|
||||
title: d3c3e45f
|
||||
---
|
||||
At what point does "throwback" become "classic" and then "oldies"?
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: microblog
|
||||
date: 2022-10-27 13:40:18 -0700
|
||||
title: e6671e31
|
||||
---
|
||||
I wrote some Rust last night. It's been a while but I am still so pleasantly smitten with that compiler.
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: microblog
|
||||
date: 2022-10-28 08:05:19 -0700
|
||||
title: d9e7595b
|
||||
---
|
||||
Which is the fastest way to make &str into String in #rustlang? The results may surprise you! https://brokenco.de/2022/10/28/rust-strings.html
|
|
@ -0,0 +1,118 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Rode hard and put away wet: AIDS/LifeCycle Day One"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
This is my second year of [AIDS/LifeCycle](https://aidslifecycle.org) and
|
||||
the differences are incredible. The ride is different, and **I** am also a very
|
||||
different rider. I have put down over 2,500 training miles. I am riding a
|
||||
lighter aluminum tube bike, which replaced the bike I broke on ALC 2019. I am
|
||||
one of three representing Team Germany, Jens and Ulf flying all the way from
|
||||
Berlin to raise money and support the community in California. Today was day
|
||||
_one_, 81 miles from the Cow Palace in San Francisco to Santa Cruz. Today was
|
||||
**incredible**.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://mobile.twitter.com/agentdero/status/1533401290973147137) for
|
||||
today with more pictures.
|
||||
|
||||
---
|
||||
|
||||
June in California is typically dry and hot, _typically_. The hoard of cyclists
|
||||
departing the Cow Palace this morning were greeted with an atypical day: it
|
||||
rained practically the **entire** ride to Santa Cruz.
|
||||
|
||||
Ride out is always slow and stressful, add slick and bumpy San Francisco city
|
||||
streets into the mix and my focus was largely on staying safe. Ride safe, be
|
||||
safe. Jens, Ulf, and I spent a few miles chatting and meeting Jens' adoring
|
||||
fans. The electrolytes I had in Cow Palace got the better of me and I increased
|
||||
pace so I could find a bathroom sooner rather than later.
|
||||
|
||||
I had also left Cow Palace with empty water bottles, so I pulled into the water
|
||||
station ahead of Rest Stop One and got myself situated on both fronts.
|
||||
|
||||
Departing the water station I reminded myself of the rules I developed during
|
||||
2019:
|
||||
|
||||
* Whenever you see somebody drink, you drink.
|
||||
* When you see the "1 mile to go" sign for a rest stop, drain your water bottle.
|
||||
* Do not pass a rest stop.
|
||||
* Do not leave a rest stop until you have gone to the bathroom.
|
||||
* Eat at every stop!
|
||||
|
||||
As the pack opened up departing San Francisco, I found myself passing people
|
||||
with some frequency, especially on climbs. I do a **lot** of climb training
|
||||
around Santa Rosa which is flanked by fabulous mountains to the east and west.
|
||||
At Rest Stop One I started to realize the benefits of being fast: unused
|
||||
toilets, fresh drinks, and plenty of snacks.
|
||||
|
||||
My feet were soaked, my front was soaked, my butt was soaked. My thinking
|
||||
shifted towards getting to Santa Cruz, or dry weather, as quickly as possible.
|
||||
|
||||
The rules of ALC prohibit drafting, which is an important part of the overall
|
||||
safety program. The headwinds that started to push against us as we made our
|
||||
way towards Half Moon Bay really made me resent the rule however. By the time I
|
||||
got into Rest Stop Two I was feeling warmed up, very comfortable, and pleased
|
||||
with my progress. I could not stop for long unfortunately, after about 5
|
||||
minutes I would start to shiver.
|
||||
|
||||
I ended up not being able to stop for more than 5-10 minutes the rest of the
|
||||
day, not even at lunch, as the wet weather, wind, and generally miserable
|
||||
conditions made me shake uncontrollably. Leaving lunch was an immediate climb,
|
||||
at the top of which I was warm again, thank goodness!
|
||||
|
||||
Cranking along the coast any other year cyclists are greeted with spectacular
|
||||
ocean views along Route 1, this year it was _soup_. I pushed further, passing
|
||||
more cyclists along the way. There is _always_ somebody up ahead triggering me
|
||||
to ride a little faster and focus a little more on my pedal strokes;
|
||||
AIDS/LifeCYcle is a _ride_ not a _race_ but that doesn't keep my competitive
|
||||
monkey-brain from pushing me along.
|
||||
|
||||
As I arrived into Rest Stop Three, there were five other cyclists in the rack.
|
||||
A **stark** difference from 2019 where I felt like i was in traffic the entire
|
||||
ride down to Santa Cruz. I took a picture in front of a big rainbow display
|
||||
against the side of the Roadies' truck. "Baby Got Back" started to play over
|
||||
their sound system, a little dancing helped stave off the shivers, but I had to
|
||||
keep on trucking.
|
||||
|
||||
Somewhere between Rest Stop Three and Four, I got a flat tire! Angry and
|
||||
shivering, gloves and hands wet, I fought the tire off my rear rim and started
|
||||
the process of clearing the tire of obstructions. A tall gentleman rode up and
|
||||
stopped "I'm okay!" He replied "I can see that, I thought I would just be your
|
||||
thumb." Michael stood there to give passing riders and ALC cars the thumbs up
|
||||
since we had the situation under control. Making conversation in between the
|
||||
shivers, I learned that he's done the ride for **twenty one years**! I used up
|
||||
a whole CO2 cartridge, and we rode off.
|
||||
|
||||
Unfortunately I lost Michael on a climb, and didn't see him at Rest Stop Four.
|
||||
When I arrived they hadn't even set up Bike Parking yet. I knew I was hauling
|
||||
ass, but that surprised me. I visited the Bike Mechanic to buy a new tube, new
|
||||
cartridges, and make sure I did really clear the tire of whatever punctured the
|
||||
tube.
|
||||
|
||||
76 miles down. Camp was close.
|
||||
|
||||
The last few miles bring us into Santa Cruz city limits where there are a lot
|
||||
more cars and a meandering course that brought me and a fellow cyclist finally
|
||||
to the park where Day One Camp was busily being constructed. As we dismounted a
|
||||
Roadie kindly told me that I was the 23rd cyclist to arrive at camp.
|
||||
|
||||
|
||||
I am **so** proud of that. Day One is the only day when we all depart together,
|
||||
and while everybody stays at rest stops and lunch for different durations, I
|
||||
don't feel like I unnecessarily pushed myself.
|
||||
|
||||
My baseline speed is faster, my handling skills are better, my flat repair
|
||||
ability is superb!
|
||||
|
||||
After Bike Parking, I grabbed gear, setup the tent and _finally_ got a warm
|
||||
shower and dry clothes.
|
||||
|
||||
|
||||
81 of 545 miles, through the driving rain, blistering headwinds, with a few
|
||||
thousand of my closest friends. What a great start to ALC 2022!
|
|
@ -0,0 +1,116 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Pounded on the rural roads of California: AIDS/LifeCycle Day Two"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
The second day of ALC is the **big** day, by the cue sheet it's 109 miles, but
|
||||
yours truly ended up clocking 112 miles. The road is rough but fortunately the
|
||||
tailwinds are generous almost the entire way from Santa Cruz to King City. I
|
||||
woke to my alarm at 4:15am and started today's journey.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://mobile.twitter.com/agentdero/status/1533792305957588992) for
|
||||
today with more pictures.
|
||||
|
||||
---
|
||||
|
||||
Being with the first group leaving camp was absolutely delightful, I highly
|
||||
recommend it if you want to avoid traffic with all the stop signs scattered
|
||||
throughout Santa Cruz. As the sun rose it shined through the fog adding an
|
||||
eerie feel to the morning. Coming to the south side of Santa Cruz there's this
|
||||
little kick up, it's probably no more than a hundred feet but it happens in a
|
||||
quarter mile or so. The first year I struggled with everybody else around me up
|
||||
the hill, my legs are different this time around, and I jaunted up to the top
|
||||
and kept plugging away on the route towards Rest Stop One. Fogged in and barely
|
||||
set up, I quickly followed the routine of:
|
||||
|
||||
1. Bathroom
|
||||
1. Cleanse
|
||||
1. Snacks
|
||||
1. Refill bottles
|
||||
1. Ride out
|
||||
|
||||
Back on the road we started to leave the foggy urban and suburban parts of
|
||||
Santa Cruz and headed out into the country where the road quality turns to
|
||||
utter shit. In 2019 I ended up breaking my bike, and I believe it was due to a
|
||||
stress fracture caused on day two. Today I focused on keeping my butt from
|
||||
getting too beat up as I rolled across the landscape.
|
||||
|
||||
Day Two is also notable for the unofficial "artichoke stop" which I planned on
|
||||
attending since I was so early, lo and behold there wasn't a line! I sat and
|
||||
enjoyed my fried artichoke breakfast with a fellow from the Air Force who had
|
||||
been trying to catch me.
|
||||
|
||||
It feels _really_ good to be chased, rather than _just surviving_. After the
|
||||
artichokes I found myself with a group stuck at an intersection. The air force
|
||||
guy was chatting with somebody behind me and said "I've been trying to catch
|
||||
this guy, but he's going crazy fast." That also felt pretty damn good. All the
|
||||
hard work I did training, over 2,500 miles has really paid off!
|
||||
|
||||
Rest Stop Two was more of the same, but for the first time I took my sleeves
|
||||
**off** and applied sunscreen. Sunshine!
|
||||
|
||||
Rest Stop Two to Lunch was quite short, so I spent some a little bit of extra
|
||||
time eating and relaxing before departing once again. Leaving the little town
|
||||
of Gonzales the winds really picked up, which from any other direction would be
|
||||
miserable, but these were _tailwinds_ and they were **strong**. I powered over
|
||||
the atrocious roads at speeds of over 30mph.
|
||||
|
||||
Alone.
|
||||
|
||||
In 2019 this stretch of road I made a friend with a woman who was a spin
|
||||
instructor in San Francisco. Our paces were about the same and we hammered down
|
||||
the road to King City together which was one of my highlights from the year,
|
||||
and one of the more memorable experiences I have had on a bike. While we
|
||||
continued to ride together the remainder of that ALC, I lost touch with her
|
||||
after the event.
|
||||
|
||||
I ran into her by chance at Orientation this year. She recognized me before I
|
||||
recognized her, and we started chatting. She hated her job and left, before
|
||||
finding a job working on ALC full time as a staffer. Before wishing each other
|
||||
well as we returned to our respective Staffer and Cyclist duties, she shared
|
||||
that day two in 2019 was one of the best days of cycling she's ever had.
|
||||
|
||||
That's the power of a great tailwind.
|
||||
|
||||
I skipped water stops between Rest Stop Two and Three, no need, I was
|
||||
*cruising*. Leaving Rest Stop Three, the cruising continued as the road
|
||||
meandered through the valley. I continued alone with nobody in front or behind
|
||||
me. The downside of being alone is that there's nobody to follow, but at least
|
||||
there's also nobody to lead astray.
|
||||
|
||||
Rest Stop Four was mostly set up when I got there, some rural community park
|
||||
through which the wind gusts. Anything not weighted down will soon fly away.
|
||||
I follow the routine again and on my departure I confidently line up to turn
|
||||
left, wish the Roadies a good day and continue on through the small town.
|
||||
Crossing the highway I wonder why Traffic didn't put up yellow arrows. There
|
||||
have been a couple spots along today's route where I feel like an arrow would
|
||||
be helpful, so I figure "straight" is a safe default. On the east side of
|
||||
town, the road travels off into the countryside and I cannot see any cyclist
|
||||
in sight.
|
||||
|
||||
This cannot be right. Fortunately I also grab a route sheet every morning! I
|
||||
study it for a bit but decide that I cannot make heads or tails of where I
|
||||
went wrong. In lieu of better information, I head back to Rest Stop Four, a
|
||||
couple miles back through town. At the intersection where I turned left, I
|
||||
asked a different Roadie where the exit is, turns out it was a **right** I
|
||||
needed to make. I was surprised the Roadie I saw previously didn't shout out
|
||||
to me, but I suppose being one of the faster in the group, if you move with
|
||||
confidence they're going to just assume you know what you're doing. They
|
||||
could not be more wrong!
|
||||
|
||||
Once back on the route, I found some more tailwinds and hammered hard to make
|
||||
up for lost time, passing other cyclists at an extremely high rate of speed.
|
||||
During this section my top speed was 42mph, which I still cannot believe.
|
||||
|
||||
Arriving into camp, only a few racks had even been set up yet. I was 34th,
|
||||
despite my silly detour.
|
||||
|
||||
|
||||
112 miles, some amazing tailwinds, and a dose of humility. Day Two of riding
|
||||
completed.
|
|
@ -0,0 +1,90 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Bustin': AIDS/LifeCycle Day Three"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
|
||||
Riding from King City to Paso Robles is short, 63 miles, but challenging for
|
||||
two reasons: "Quadbuster" and the heat. Attempting to avoid either giving me
|
||||
too much trouble, I woke early at 4:15 and was able to be one of the first 20
|
||||
riders out of camp. Shivering in the cold and foggy pre-dawn air, I was
|
||||
reminded of my stiff legs, stiff after almost 200 miles in two days in the
|
||||
saddle. For a number of reasons Day Three can be brutal.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://mobile.twitter.com/agentdero/status/1534137811841929216)
|
||||
for today with more pictures
|
||||
|
||||
---
|
||||
|
||||
|
||||
Last night I was considering a tweet I had posted a week ago. My fundraising
|
||||
had stalled at 11k and I wanted to raise a little more in the last week before
|
||||
ride out. With my training this year, I figured I could do Quadbuster multiple
|
||||
times, I suggested that I would do it up to five times.
|
||||
|
||||
I did not expect my friend Harley to come through with rallying a *lot* of
|
||||
last-minute fundraising on my behalf, which bumped me up to over **17k**.
|
||||
|
||||
I pondered whether Harley's fundraising meant that I should or should not keep
|
||||
to my original solicitation.
|
||||
|
||||
I remember Quadbuster being brutal during my first year, and the subsequent
|
||||
heat of the day making the day just awful. I decided to try it at least two
|
||||
times and see how it would feel.
|
||||
|
||||
---
|
||||
|
||||
I ended up doing Quadbuster **five times**, adding 13 miles and a bit over a
|
||||
thousand feet of elevation gain.
|
||||
|
||||
The climbs weren't that bad, but the last climb I started to feel just like I
|
||||
did in 2019, it was **tough**. Yes I committed myself to it, but I realy ended
|
||||
up doing the climbing for me. Quadbuster was so intimidating to me, I was
|
||||
genuinely concerned about the climb. I wanted to _conquer_ Quadbuster for me.
|
||||
|
||||
With the climbing complete, I screamed down the other side and cranked along to
|
||||
Rest Stop Two where I ran into my team mates Jens and Ulf. They laughed at my
|
||||
self-inflicted challenge and told me I shouldn't be such a cheap prostitute and
|
||||
next time require $1k per trip up Quadbuster. We rode out of Rest Stop Two
|
||||
together and after a while together I pushed on ahead. The cool breeze was
|
||||
getting warm and the heat of the day swiftly approached.
|
||||
|
||||
Rest Stop Three was uneventful, I lathered up in sunscreen and rolled out into
|
||||
the heat.
|
||||
|
||||
The special thing about Day Three is that we stop in Bradley where the local
|
||||
school works with ALC to do a fundraiser for the students. They offer a veggie
|
||||
burger option which pairs nicely with shady spot against a wall. I chatted with some
|
||||
folks from Team Colorado, where I inquired as to how well fundraising out of
|
||||
state goes. Eventually my lunch had all disappeared and I had to lumber back to
|
||||
a standing position before trundling off into the ever rising temperatures.
|
||||
|
||||
The stretch between Bradley and Rest Stop Four traverses a military base which
|
||||
is _interesting_ but the US Army has definitely not optimized their roads for
|
||||
bicycle use. The bouncing around and gravel made me concerned about getting a
|
||||
flat, so I spent much of the stretch thinking about whether you can actually
|
||||
stop to change your tire on the base. My question was answered when I saw a guy
|
||||
changing a tire underneath a tree, with a small white base security car and a
|
||||
man in camouflage looking on.
|
||||
|
||||
I never skip a Rest Stop so I rolled into Rest Stop FOur for some ice, fluids,
|
||||
and pictures with the Spice Girls. The first time around I sat at Rest Stop
|
||||
Four for what felt like a half hour feeling like a shit sandwich cooking in the
|
||||
sun. This time around I still felt like I was cooking in the sun, but had a bit
|
||||
more confidence that I was going to swiftly make it back into camp. From Rest
|
||||
Stop Four there are pleasant rollers, light tailwinds, and some nice scenery.
|
||||
|
||||
Much of the scenery went unnoticed in 2019, this time around however I can
|
||||
really enjoy the sights much more as I hammer down the road.
|
||||
|
||||
Closing in on Paso Robles I ran into my tent mate
|
||||
[Kohsuke](https://twitter.com/kohsukekawa) and we were able to finish together.
|
||||
Despite the extra climbing, heat, and general leg stiffness, I proudly arrived
|
||||
into camp as the 168th cyclist.
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Pulling trains along the central coast: AIDS/LifeCycle Day Four"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
Most of my training and cycling has been solo, but today was **so much fun**
|
||||
because it was all about _teamwork_. The day starts with a good steady climb
|
||||
known as "the evil twins", includes a gorgeous and long descent to the coast,
|
||||
and finishes outside the town of Santa Maria. For one reason or another I found
|
||||
myself cycling in largely small groups of 2-4. Teamwork means coordination,
|
||||
communication, and _speed_.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://mobile.twitter.com/agentdero/status/1534501199570825219)
|
||||
for today with more pictures
|
||||
|
||||
---
|
||||
|
||||
The alarm peeped at 4:15 and I immediately started marching over to the
|
||||
breakfast tent shivering like a little dog. Hustling to take the tent down and
|
||||
drop off gear before scurrying off to bike parking I had stopped shivering
|
||||
which is a good sign, but also an indication that the day will be quite warm.
|
||||
|
||||
The route today was meandering through Paso Robles and had me riding next to
|
||||
some fixed gear cyclists. They're known for their siren call of "Fuck yeah
|
||||
rider!" Pulling up alongside them at a stop light I ask if they were riding
|
||||
freewheeling hubs or true fixed gears. Freewheeling hubs are effectively single
|
||||
speed which allow you to coast if you stop pedaling, while truly fixed hubs
|
||||
means that the cyclists legs have to keep moving as long as the wheels are
|
||||
spinning. The curly mustachioed man smiled and said "Freewheel? Never heard of
|
||||
her!" and then laughed exactly the laugh you'd expect from a man sporting curly
|
||||
Qs and covered in tattoos. I watched them descend a small hill and it was
|
||||
mesmerizing as their legs pumped almost in unison, quite like cylinders of an
|
||||
engine. As we approached the evil twins, I gave them a "fuck yeah riders" for
|
||||
good measure and commenced climbing.
|
||||
|
||||
It's not a race, it's a ride.
|
||||
|
||||
But I'll be damned if I don't get competitive on the climbs. En route to Rest
|
||||
Stop One I started passing people on some of the rollers,
|
||||
jumping out to the side "on your left!", standing out of the saddle, and really
|
||||
pushing as much power into the pedals as I could. In Rest Stop One a fellow
|
||||
cyclist told me that it was a lot of fun to try to keep up with me on those
|
||||
climbs. I felt quite flattered! We chatted for a bit, turns out we were both former members
|
||||
of Team ALCaholics. We parted ways and I fell in with a woman I had met and
|
||||
rode with over the past couple days,
|
||||
|
||||
Despite her insistence of not being a strong cyclist, she very truly is, and
|
||||
for whatever reason doesn't ride with clips. You see that more than you'd
|
||||
think at ALC. Cyclists of all skill levels and with all kinds of equipment load outs
|
||||
riding the route, raising money for a great cause. What you don't typically
|
||||
see are such strong cyclists riding without clips and this year I have ridden
|
||||
with two _very_ strong riders, mashing pedals with their street shoes.
|
||||
|
||||
The two of us chatted as we climbed before I pushed onward from evil twin one
|
||||
to evil
|
||||
twin two, where I ran into the Triathelete. I had chased him a couple of days
|
||||
prior, but this was the first time I caught him. He was obviously taking it
|
||||
easy.
|
||||
He's probably 6 inches shorter than I am and can absolutely smoke me on the
|
||||
route. We climbed together and chatted, passing people as we went up evil twin
|
||||
two. As we went by the Googler I had met on Day Two, he called out "well don't
|
||||
just have a full on conversation while I'm struggling here." Sharing a laugh we
|
||||
continued to push to the halfway point.
|
||||
|
||||
There's a pull-off on the side of the highway at roughly half the mileage
|
||||
between San Francisco and Los Angeles. I was pushing hard so I could get heir
|
||||
early, get my pictures, and start the long descent to the coast with as little
|
||||
traffic as possible. We all arrived around the same time, got some great
|
||||
pictures, and started down.
|
||||
|
||||
In 2019 this descent _terrified_ me. I had never lost so much elevation or
|
||||
ridden at these speeds before. Most of my training had been indoors and I just
|
||||
didn't have the exposure to massive climbs like I do now. I also had rim brakes
|
||||
which I knew could heat up and would require lots of feathering. This time
|
||||
around I am a *much* more confident rider and actually pedalled downhill most
|
||||
of the way. At one point I approached a fellow who helped me out on day
|
||||
one. "On your left!" I shouted at full volume, as we rounded a curve I saw his
|
||||
head shake. I assumed he didn't want to move over because he felt unsafe or
|
||||
saw some hazards up ahead. I gently braked, waited to until after the turn and
|
||||
then came into the lane and sped past him, returning to the shoulder after I
|
||||
was clear.
|
||||
|
||||
We caught up later and I apologized if I came up onto him too fast or made him
|
||||
feel unsafe. He didn't even remember it and had no problem with my passing. "I
|
||||
must have hit a fly or something." I shared with him how much that descent
|
||||
terrified me and how important it was to be respectful of other cyclists
|
||||
boundaries, he smiled, wished me a good ride and I departed Rest Stop Two with
|
||||
the Googler and somebody from Twitter.
|
||||
|
||||
The Googler offered to "pull" for a while, which basically means push at the
|
||||
front through the headwinds for the benefit of the others. After a couple miles
|
||||
it was my turn, and so I pulled in front, set the pace at about 20-21mph and we
|
||||
all rocketed along towards lunch. I was happy to pull and they were happy to
|
||||
let me! I stayed up front pulling them through the mild rollers along the
|
||||
highway along the coast towards San Luis Obispo. The sights were stunning;
|
||||
the central coast of California is _definitely_ worth a visit.
|
||||
|
||||
Parking at lunch, the Googler says "when you asked if I wanted to ride
|
||||
together, I didn't think you meant that you would drag my ass all the way to
|
||||
lunch!" No complaints were tendered however, I was happy to challenge myself,
|
||||
and worked up an incredible appetite in the process!
|
||||
|
||||
I sat around in the shade at lunch so long that most everybody I knew had left,
|
||||
my bike computer timed out the ride, and I had to ride out solo. The cycling
|
||||
was nonetheless great and as I closed in on city limits I caught a couple of
|
||||
folks at a stoplight.
|
||||
|
||||
A new group of bike friends, hooray!
|
||||
|
||||
After pulling all the way to lunch, I figured the karma of cycling owed me
|
||||
and I happily accepted a free ride towards Rest Stop Three. My post-lunch
|
||||
efforts I have been doing low effort segments, which seems to work
|
||||
out well, so I may continue that in the future.
|
||||
|
||||
Closing in on Rest Stop Three the bike in front of me popped and psssssssssssh
|
||||
went flat. They both stopped off and needed no help so I continued onward to
|
||||
Rest Stop Three which ended up only being about a hundred yards ahead. As I was
|
||||
wrapping up with my business I saw him walk up with his bike over his shoulder,
|
||||
the sidewall of his tubeless tire had a tear in it, but the bike techs believed
|
||||
that he'd still be able to ride with a tube in the tire.
|
||||
|
||||
I rolled out again solo.
|
||||
|
||||
The segment from Three to Four includes a water stop, which I skipped, and an
|
||||
unofficial cinnamon bun stop, which I also skipped. Unfortunately I spent all
|
||||
my day's fun money supporting the lunch fundraiser, so I pressed onto Rest Stop
|
||||
Four.
|
||||
|
||||
My right knee started to nag. I could not figure out what sequence of behaviors
|
||||
would lead it to hurt, but it was intermittent so my pace took a hit as a
|
||||
precaution.
|
||||
|
||||
Still, I cannot pass up a good riding group. When I came across a strong wheel
|
||||
I met on day two, I decided to hop on and not let him go. I wanted to get to
|
||||
Rest Stop Four with as little energy as possible. We picked up a first timer
|
||||
along the way, who was also quite happy to have a group to raise his spirits
|
||||
and pace.
|
||||
|
||||
Closing in on Rest Stop Four, pop! Psssssshhhhhhhh. Our strong wheel had a
|
||||
flat! The two stayed back as I continued to Rest Stop Four which was roughly a
|
||||
mile ahead. When I arrived I just sat in the shade, stretching my knee.
|
||||
The stop was still being set up and my knee was the first priority.
|
||||
Somebody from Medical came over unprompted "you look like you could use a bag
|
||||
of ice." "Yes, thank you!"
|
||||
|
||||
The first timer rolled into camp looking for a car to pick up the strong wheel;
|
||||
his sidewall was shredded and he had two flat tires.
|
||||
|
||||
I am not good luck today.
|
||||
|
||||
With some much needed ice and rest, I departed Rest Stop Four with two older guys who kept making jokes about being
|
||||
slow. I left them behind at some point and found myself alone.
|
||||
|
||||
"Damnit, I cannot believe I made a wrong turn again!"
|
||||
|
||||
I must get real stupid after Rest Stop Four, two missed turns after Rest Stop
|
||||
Four on this ride.
|
||||
|
||||
I backtracked and only lost a couple blocks. Eventually I caught up to the
|
||||
older timers, shared a laugh at my missing a turn. They had hollered at me but I
|
||||
clearly didn't hear them. Oops.
|
||||
|
||||
Rolling into camp, the very nice Roadie who has been there every day at the
|
||||
finish line called out "30!"
|
||||
|
||||
Despite all my goofing off, I am proud to have arrived 30th to camp.
|
||||
|
||||
It's not a race, it's a ride. But cycling is all about competing with myself
|
||||
and am enjoying the challenges of each day of the ride.
|
|
@ -0,0 +1,134 @@
|
|||
---
|
||||
layout: post
|
||||
title: "A fabulous forty: AIDS/LifeCycle Day Five"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
Roughly 275 miles ridden in the past four days and it's time for a rest day of
|
||||
only 43 miles. _Only_. The things cyclists say sometimes never cease to astound
|
||||
me. Day Five on AIDS/LifeCycle also has the honor of being Red Dress Day, a day
|
||||
which brings out make up, costumes, and of course dresses.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://mobile.twitter.com/agentdero/status/1534876321456611328)
|
||||
for today with more pictures
|
||||
|
||||
---
|
||||
|
||||
If you are in the market for a good cycling dress, I advise the following
|
||||
criteria:
|
||||
|
||||
* Breathable and airy, to enhance evaporation
|
||||
* Close to the body, to reduce drag
|
||||
* Short, to avoid messing with your pedal stroke or wheels
|
||||
|
||||
Following these criteria I ended up with a trashy little backless number with
|
||||
criss-crossing straps which I am confident have left "X" tan lines down my
|
||||
back.
|
||||
|
||||
Dresses are of course not compulsory, which adds to the fun of the day. In
|
||||
addition to the cheerleaders, pirate wenches, and bombshells there are Waldos,
|
||||
Lobsters, Marios, Ketchups, Santas, and so much more. For those who have lived
|
||||
in San Francisco, it has a very Bay to Breakers vibe.
|
||||
|
||||
I departed camp late for two reasons: first the final destination didn't open
|
||||
until 1pm, so there was no sense in leaving early. Secondly, wearing a tiny
|
||||
dress is **cold**.
|
||||
|
||||
The last time I did a century I rode around 40 miles before my first rest stop.
|
||||
While that was foolish, a comfortable pace and a hearty breakfast can take me
|
||||
quite a long way. Today I needed to hit up two rest stops, a water stop, and
|
||||
lunch. I _needed_ to stop because I knew I was going to have some time to kill.
|
||||
|
||||
Getting to Rest Stop One was through the streets of Santa Maria. Leaving later
|
||||
meant a lot more cyclists on the roads ahead of me, and today is _not_ a fun
|
||||
day to compete with traffic since we're all squeezed onto bike lanes during
|
||||
rush hour traffic.
|
||||
|
||||
Despite it being a recovery day, I still popped out into the lane to crank it
|
||||
past some slower cyclists. Everybody is entitled to their own pace and
|
||||
rightfully so, but I get particularly anxious in traffic like that since the
|
||||
risk of accidents goes up quite a bit. Generally speaking the safest place to
|
||||
be is often in front of other cyclists, regardless of speed. Another cyclist
|
||||
followed my initiative and ended up riding with me for a while, before I lost
|
||||
him in the pack again.
|
||||
|
||||
"Ho, ho, ho!" proclaimed the Santa as we rolled into Rest Stop One. I parked
|
||||
and went about my routine, albeit in slow motion so that I would eat up more
|
||||
time.
|
||||
|
||||
The segment to Rest Stop Two takes us out into the country on nearly
|
||||
shoulder-less country roads. I cannot imagine the thoughts of the folks driving
|
||||
by seeing hundreds of fabulously dressed cyclists. As I passed two men working
|
||||
on some utility cabinet, I noticed that one was holding his phone up. I should
|
||||
have yelled or catcalled at him, but I'm really not good at thinking of those
|
||||
things in the moment. Oh well.
|
||||
|
||||
Rest Stop Two is on the other side of a couple little rural climbs and tucked
|
||||
in the field behind a small country school. There I ran into Sister Tutti, one
|
||||
of the [Sisters of Perpetual
|
||||
Indulgence](https://en.wikipedia.org/wiki/Sisters_of_Perpetual_Indulgence) that
|
||||
does the ride. I had helped her with a computer problem on Day One and we've
|
||||
greeted each other every day since. She is an elementary school teacher and has
|
||||
incredible energy. For Red Dress Day she was also in her garb, so I _had_ to
|
||||
have a picture together. I also ran into the woman who I had cycled with
|
||||
previously, and she shared more of her face glitter with me. It looks very
|
||||
pretty highlighting my cheekbones, but after the next time I apply sunscreen it
|
||||
turns into just my whole face glitter.
|
||||
|
||||
We climbed out together towards Lompoc and lunch. My right knee keeps
|
||||
stiffening up. The quad muscle that comes over the inside has been tender since
|
||||
yesterday, and while I'm sure the foam rolling I did helped, it's still slowing
|
||||
me down.
|
||||
|
||||
Like a big stupid dog chasing a rabbit around a track, I cannot seem to just
|
||||
_chill_ and sit in. As I see more cyclists ahead that I can pass, I crank
|
||||
onward.
|
||||
|
||||
This segment is the one in 2019 where my frame broke. The memories are still so
|
||||
vivid to me, the climb where I hear the snap, the straight away where I could
|
||||
hear a clanging when I put power down, and the shoulder where I stopped with a
|
||||
team mate to figure out what was making that noise before tackling the big
|
||||
climb that lay ahead. Almost exactly at mile 25 of Day Five, I thought my ride
|
||||
was going to be over.
|
||||
|
||||
I considered stopping for a picture, but the new miles of that climb was in
|
||||
front of me, and I wanted to get to it!
|
||||
|
||||
We don't have a name for this climb, but we probably should. It's a long and
|
||||
gradual slog up the hill towards what I would come to learn is _now_ called
|
||||
[Vandenberg _Space_ Force Base](https://www.vandenberg.spaceforce.mil/).
|
||||
|
||||
Space. Force. Base.
|
||||
|
||||
I caught a red light right at the entrance and took a number of pictures. It is
|
||||
just as funny in real life as it is in that documentary with Steve Carell. I
|
||||
still cannot believe it's a real thing.
|
||||
|
||||
Anyways, I grab a wheel to follow to the water stop, and kill some more time.
|
||||
Before leaving I was complimented again on the strappy dress, which I'm sure
|
||||
made me blush under the glitter that was by now smeared across my face.
|
||||
|
||||
The dress also turned some heads as I passed by the federal prison on the
|
||||
outskirts of Lompoc. _That_ I was not as thrilled by, but I could only chuckle
|
||||
to myself as I entered the cross winds after the facilities. Bright yellow
|
||||
helmet, smeared face glitter, backless red dress, and celeste colored bicycle,
|
||||
I would turn my head and stare too.
|
||||
|
||||
The ride into lunch was quick thanks to a nice little tailwind to scoot us into
|
||||
town where we took over some city park. Still quite early, I decided to have
|
||||
two lunches while I nursed my knee in the grass. Basking in the sun, there just
|
||||
wasn't much to do other than eat, tan, and socialize. Camp sits only a few
|
||||
miles beyond lunch, and those would be very easy miles.
|
||||
|
||||
|
||||
I don't know what number into camp I was today, but it also doesn't matter. We
|
||||
were all getting into camp early. Over 2,000 cyclists have each put down over
|
||||
275 miles this week, their legs acclimating to the demands on them, their minds
|
||||
knowing what they're now capable of.
|
||||
|
||||
43 miles is a short day.
|
|
@ -0,0 +1,244 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Helping hands get the job done: AIDS/LifeCycle Day Six"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
After Red Dress Day it's easy to think "we're almost to LA!" This part will be
|
||||
easy!" and then **BAM** you wake up at 4:15 and realize that there's almost 90
|
||||
miles until the next camp. Lompoc to Ventura is one of the most beautiful days
|
||||
along the route, taking us through Goviata pass, Goleta, Santa Barbara, and
|
||||
down the coast line towards Ventura. _Beautiful_ but not _easy_.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://twitter.com/agentdero/status/1535224124829597696)
|
||||
for today with more pictures
|
||||
|
||||
---
|
||||
|
||||
When I woke up and bundled up to begin the morning routine, porta-potties,
|
||||
breakfast, change, tear down tent, gear truck, and bike parking, the air was so
|
||||
cold I could see my break in the light of my headlamp. The grass was wet, my
|
||||
flipflops got wet, my little toesies got wet, and top to bottom I was _fucking
|
||||
cold_. Shaking while I wolf down my breakfast, I would occasionally look over
|
||||
at some bear wearing shorts and a long sleeve t-shirt comfortable as can be;
|
||||
suffice it to say with my build I don't "winter well."
|
||||
|
||||
By the time I had wrapped up with the morning business, I scuttled over to the
|
||||
gear trucks, discarded my jacket and proceeded along to bike parking.
|
||||
Today was the day when apparently everybody else finally figured out that being
|
||||
early to bike parking means an easier roll out and less traffic to deal with.
|
||||
As such, there were huge lines before bike parking even _opened_, queues once
|
||||
we were in bike parking, and then lots of standing around in some gopher-holed
|
||||
Lompoc field.
|
||||
|
||||
A roadie told me to tighten my helmet before I left. It was tight enough, but
|
||||
there's no sense arguing with roadies who are trying to keep everybody safe. I
|
||||
pulled aside, made a show of tightening it, and then clipped in and sped off.
|
||||
|
||||
Leaving Lompoc was tedious residential street cycling with lots of traffic from
|
||||
other cyclists. My training in criteriums has made it such that I have gotten
|
||||
pretty good at quick bursts of power, which came in very handy as a tool to get
|
||||
away from the packs of cyclists that would bunch up at stop signs and red
|
||||
lights. Nothing against them, there's just a much higher likelihood of
|
||||
something going wrong when you put enough moving people close enough together.
|
||||
|
||||
As we left the city, the hills started to roll towards Rest Stop One. I caught
|
||||
a fast wheel and we took turns puling. He would shout "left!" as we would come
|
||||
upon slower cyclists. His tone sounded harsh, which is probably how I sound too,
|
||||
so I made a point to say "good morning!" in a cheery voice as we passed.
|
||||
"Left!" "_Good morning!_" "LEFT!" "_Good morning_!" "**LEFT!**" "_Good
|
||||
morning riders!_"
|
||||
|
||||
The system was working well until I was pulling up a hill and could feel the
|
||||
front wheel sinking every time I would pump my arms. Flatted! My harshly toned
|
||||
compatriot moved along as I pulled to the side to change my tube. I cleared the
|
||||
tire and pulled the tube out of it's little box, started to unscrew the valve
|
||||
and the damn think came apart! Fortunately a Training Ride Leader (TRL) stopped
|
||||
to give me a hand, and an extra tube. While I was putting his tube into my
|
||||
tire, he kept his thumb out to try to get a pump from a sweep vehicle; I had
|
||||
already burned through one of my two CO2 cartridges.
|
||||
|
||||
I didn't pay enough attention and pinched his tube, tearing it. _Fuck_. Once
|
||||
Sweep arrived with a pump, we gave my original tube a try and it was able to be
|
||||
pumped, so I asked the TRL to change the tire since we didn't have another tube
|
||||
between the two of us. He managed it successfully into the tire, and the tire
|
||||
onto the rim, and I was back in business! I thanked him and we both joined the
|
||||
column of cyclists off to Rest Stop One.
|
||||
|
||||
Riding without a spare tube makes me anxious.
|
||||
|
||||
At Rest Stop One the bike techs were swarmed so I didn't buy another tube, and
|
||||
instead did my routine, lined up to leave, and figured I would take my chances.
|
||||
Departures from the stop were staged because we were going to climb up the
|
||||
Goviata pass which is a strong climb following by a _swift_ descent. Sister
|
||||
Tutti was in line with me and clamored to be on the right "where the slow
|
||||
people are going to be!" I stayed left and pushed hard up the pass.
|
||||
|
||||
Passing on the climbs during ALC is probably 50% competitiveness and 50%
|
||||
safety. I want to be away from people during the descent because speed
|
||||
increases the risks of somebody doing something unexpected, or stupid. My top
|
||||
speed on the descent was about 47mph, which is fast but no longer scary for me.
|
||||
Fountaingrove Parkway in Santa Rosa, which is my backyard lunchtime training
|
||||
route has me hitting between 45-50 on the downhill segments with regularity.
|
||||
The only difference is that I never have to compete with other cyclists for
|
||||
space.
|
||||
|
||||
Suffice it to say, everybody made it down in one piece, and I continued to
|
||||
push hard along the coastline towards Santa Barbara. The rest stops on day six
|
||||
typically have limited bike parking, so the more people I pass, the less
|
||||
bullshit I have to contend with in the rest stops.
|
||||
|
||||
50% competitiveness, 50% safety.
|
||||
|
||||
Rest Stop Two was extremely foggy. Some day I'll see the coastline north of
|
||||
Santa Barbara, but to date I have not been so lucky. In Rest Stop Two I stopped
|
||||
by the bike tech and ask for **two** tubes. He hands them to me, and when I go
|
||||
to give him cash he says "uh, can you do Venmo?" "No." "Well, we can't accept
|
||||
cash...uh, can you just pay for them at lunch?" Honor system works well for me,
|
||||
so I thanked the tech and left.
|
||||
|
||||
After my departure I continued my "on your left!" routine. I spotted a cyclist
|
||||
who was off to the right and asked "do you have everything you need?" "Do you
|
||||
know how to change a tire?"
|
||||
|
||||
I pull over, the karma of cycling dictates that:
|
||||
|
||||
* If somebody pulls you, you either trade pulls, or pull somebody later.
|
||||
* If somebody changes your tire, you better change somebody else's tire later.
|
||||
|
||||
I was due. Fortunately he did have everything he needed, and was running the
|
||||
same Continental race 28s that I run, except his were _brand new_. Mine have
|
||||
had some miles put on them and they're still a pain in the ass to get off the
|
||||
rim, when they're brand new they are _incredibly_ annoying. My pretty red nails
|
||||
took a little bit of damage getting that bastard off the rim. We chatted as I
|
||||
changed his tube, he asked some questions and was obviously paying good
|
||||
attention to how it worked, so I did my best TRL impression and trying to make
|
||||
it a Learning Opportunity ™.
|
||||
|
||||
Once he was sorted, I sped off into the fog. Twice now a tire change has undone
|
||||
all the hard work I had done passing cyclists!
|
||||
|
||||
I made good time heading into lunch, but may have pushed myself too hard up the
|
||||
climbs since my right knee started nagging me once again. Not content with
|
||||
slowing down, I instead started to focus my stronger strokes on the left. The
|
||||
woman who gave me a massage on Day Three noted the stronger muscle development
|
||||
in the right leg, so I figured left-leg training was in order anyways.
|
||||
|
||||
Lunch was...calories. But unfortunately not much to gush about, I put the
|
||||
calories down, headed to Medical for sunscreen, and rolled out.
|
||||
|
||||
The Funky Monkey I met in bike parking that morning and a buddy of his left
|
||||
around the same time, and so we worked together a little bit trying to escape
|
||||
the menagerie of stop lights Santa Barbara presented. "Stopping!" Foot down,
|
||||
green light, "Rolling!", clip in, damnit, get in the clip you bastard, sprint a
|
||||
bit, settle in, well shit another red light, "Slowing!", "Stopping!"
|
||||
|
||||
Lather, Rinse, Repeat.
|
||||
|
||||
The route comes along the bike path right by the beach in Santa Barbara, which
|
||||
is where I can see the pier so often used in B-roll shots of "Psych", one of my
|
||||
favorite shows. Instead of Shawn and Gus, we end up having to dodge joggers,
|
||||
other cyclists, surfers, and tourists pedaling these four-wheeled pedal-car
|
||||
contraptions. I was happy to find make it to Rest Stop Three because it meant
|
||||
at least a break from the avoidance drills.
|
||||
|
||||
A number of people skip Rest Stop Three, because there is an unofficial Ice
|
||||
Cream Stop hosted by Santa Barbara a few miles down the road. This is a
|
||||
mistake. Rest Stop Three is at a cute little beach side park and if it's not
|
||||
foggy, which it was, it can offer some really beautiful views to sit and enjoy
|
||||
while you eat trail mix and poptarts sliced in half.
|
||||
|
||||
Of course I stopped at the Ice Cream Stop. I ate plenty and then thought to
|
||||
myself "now that I've got a couple scoops of ice cream, and a cup of berries in
|
||||
my stomach, how about a bike ride again!" There's a little kicker right as you
|
||||
resume the route which I took nice and easy for fear of losing my ice cream and
|
||||
berries. But after a mile or so I was clear to resume riding like a lunatic.
|
||||
|
||||
Weaving along the coast line through bike paths, frontage roads, and
|
||||
underpasses, I finally made it to some of the scenic oceanside riding that I
|
||||
had been looking forward to.
|
||||
|
||||
The views are simply spectacular. The waves crashing into the beach, pelicans
|
||||
flying together across the water, and people wading into the water. What the
|
||||
pictures won't show you is that the waves are crashing into the beach because
|
||||
there's a very strong cross wind pushing them into the coastline, that same
|
||||
wind is also pushing against _me_.
|
||||
|
||||
My pace slows. My knee is hurting, my left leg is feeling tired, I'm thinking
|
||||
of Santa Rosa and just feeling a little deflated.
|
||||
|
||||
Then **Eli** powers past me.
|
||||
|
||||
_Fuck yes!_
|
||||
|
||||
I will _never_ let a strong wheel pass me. Eli is a giant of a man. I don't
|
||||
actually know him, he just has a license plate that says "Eli." I stand at
|
||||
about 6'4" and he's definitely a few inches taller than me.
|
||||
|
||||
I pop out of the saddle and sprint to catch up to him. It is not very often
|
||||
that I will catch a wind breaker like Eli, and I feel invigorated to fall into
|
||||
his draft. "Thanks for the ride!" I shout up to him. He turns his head to the
|
||||
left, revealing the gold piercings in his ear and his mustache "I just love the
|
||||
ocean."
|
||||
|
||||
You know what Eli, you love it, I love it, let's hammer.
|
||||
|
||||
I'm just thrilled as the dickens to have a draft to pull me along.
|
||||
|
||||
Eli drags my sorry ass all the way to Rest Stop Four where I go through my
|
||||
routine. He must know lots of the roadies here because I lose him at some point
|
||||
while he's giving out giant-man hugs.
|
||||
|
||||
Spirits lifted, it's something like 10ish miles to home, and I'm eager to get
|
||||
there.
|
||||
|
||||
A couple miles out of the rest stop I pass a couple cycles and hear "I love
|
||||
your pace!"
|
||||
|
||||
I've gotten some compliments this year, especially in my slutty red dress, but
|
||||
ones like this are my favorite. I turn back and there's another cyclist doing
|
||||
to me what I did to Eli.
|
||||
|
||||
The karma of cycling dictates that:
|
||||
|
||||
* If somebody changes your tire, you better change somebody else's tire later.
|
||||
* If somebody pulls you, you either trade pulls, or pull somebody later.
|
||||
|
||||
|
||||
It was my turn to pull, and I was happy to oblige. I turned on my phone's
|
||||
screen so that I could maintain a steady pass for us both and we sped along at
|
||||
about 21mph. My new bike friend was as happy to see me as I had been to see
|
||||
Eli, so I was delighted to pull him home to camp. Dodging tourists along the
|
||||
board walk we finally rolled into the Ventura camp, 61st and 62nd.
|
||||
|
||||
Working together with a fellow cyclist makes me forget about my nagging knee.
|
||||
It makes me forget about my legs and butt sore from a long week of cycling. It
|
||||
makes me forget just about everything that isn't what is happening right now in
|
||||
the moment. Working together with a fellow cyclist reminds me how much I really
|
||||
do enjoy riding bikes!
|
||||
|
||||
We chat a bit as we grab our gear. He does endurance racing, I talk about crit
|
||||
racing, we geek out on cycling a bit before I head off to the showers.
|
||||
|
||||
Tonight is the last night of camp. We're 70 miles from the finish line, which
|
||||
really doesn't feel so far. 84, 109, 76, 88, 43, 88. There are 545 miles from
|
||||
San Francisco to Los Angeles and only 70 of them remain.
|
||||
|
||||
The guy I finished the ride with today asked what other races/rides I'm doing
|
||||
this year. I have some ideas on that, but honestly nothing can hold a candle to
|
||||
this one.
|
||||
|
||||
Tomorrow will be bittersweet.
|
||||
|
||||
We will have accomplished what we set out to do. We raised the money that
|
||||
needed to be raised, pedalled the miles that we marked out for us, and made the
|
||||
memories that only an event like ALC can provide. But it will be all over.
|
||||
|
||||
All over until AIDS/LifeCycle 2023.
|
||||
|
||||
I can't wait.
|
|
@ -0,0 +1,176 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Finishing: AIDS/LifeCycle Day Seven"
|
||||
tags:
|
||||
- alc
|
||||
- alc2022
|
||||
- cycling
|
||||
---
|
||||
|
||||
Waking up on the last day of big gay summer camp is always a downer. In the
|
||||
warm and muggy air of Ventura, the love bubble starts to pop and you're left
|
||||
with one last bike ride before returning to the real world. This year was my
|
||||
second AIDS/LifeCycle, and I was _not_ excited to wake up for day seven. Once
|
||||
the tent and gear were dropped off, my breakfast consumed, there was nothing
|
||||
but a measly 70 miles remaining for ALC 2022.
|
||||
|
||||
---
|
||||
I also posted a [thread to
|
||||
Twitter](https://twitter.com/agentdero/status/1535594559471685633)
|
||||
for today with more pictures
|
||||
|
||||
---
|
||||
|
||||
Camp closes up _early_ on day seven, so everybody is awake early. The alarm
|
||||
rang at 4:15 and there was already a flurry of activity to hear outside. People
|
||||
rustling in their tents, zippers zippering, flip-flops slapping against heels,
|
||||
the deepened morning voices of tired cyclists and roadies. I followed my usual
|
||||
protocol of going straight to the porta-potties before heading over to
|
||||
breakfast, but since everybody was waking up, there was quite the queue for
|
||||
number two. I decided I could wait, scurried back to my tent to get dressed,
|
||||
tear down, swung by the gear trucks, and then found a block of line-less
|
||||
porta-potties en route to the food tent.
|
||||
|
||||
In the food line I did not grab "The Daily Spin", the little camp newspaper
|
||||
that's printed every day, like I normally do, and therefore miss a key
|
||||
instruction: gear trucks will not arrive at the finish line until 1pm.
|
||||
|
||||
Methodically chewing eat bite of my breakfast I planned my day: my knee was
|
||||
doing okay, but this is the last day and the last chance to go fast with some
|
||||
of these other riders. I figured that either way I was going to sit around at
|
||||
lunch to wait for the finish line to open at 11am, so why not try to get to
|
||||
lunch as fast as I can!
|
||||
|
||||
I have some short-circuit in my wiring that prevents me from "calming the fuck
|
||||
down" as Ride Director Tracy puts it. Riding fast with a group of other
|
||||
lunatics really is quite a lot of fun, and getting away from the main pack of
|
||||
cyclists has allowed me to enjoy the scenery much more than I had in 2019.
|
||||
Either way, this is the last chance to pedal hard with these folks until 2023,
|
||||
so I'm going to make every mile count.
|
||||
|
||||
Bike parking opens early and I roll out with the first 40-50 riders. We cruise
|
||||
along the boardwalk and into the city of Ventura for a little bit before
|
||||
meandering through some fields and suburban sprawl. I do a lot of the usual "on
|
||||
your left" routine before I get separated from some folks due to my speed and
|
||||
some red lights. As we ride by some naval base a bunch of fast riders come
|
||||
up, including the Triathelete, and I catch their wheel.
|
||||
|
||||
Bike friends!
|
||||
|
||||
The group is probably 9 people large and it includes some of the fast riders
|
||||
I've been chasing all week, plus a couple of new faces. We all cruise along
|
||||
together towards Rest Stop One, each keeping the pace and trading off pulls.
|
||||
After a while of keeping up at the number 3 or 4 position, I figure it's my
|
||||
turn to pull for a bit, pop out to the left and throw down some power. My back
|
||||
wheel pops up a little bit as I do so, a bad habit I'm trying to break myself
|
||||
of, since a wheel in the air is not transferring power to the road.
|
||||
|
||||
The way I have found myself passing people has been to basically do a
|
||||
mini-sprint, something I've found useful in criteriums. The downside of this
|
||||
approach is that if the group is chugging along at 22mph or so, and I'm all of
|
||||
a sudden pushing 26mph, I'm going to push _too far_ out in front. I
|
||||
accidentally turned "my turn to pull" into a breakaway. _Oops_.
|
||||
|
||||
The fun thing about this group of cyclists is that somebody _follows_ my
|
||||
breakaway, and that just makes the whole effort feel very much like a normal
|
||||
crit or road race. I can feel the lactic acid building in my quads, thighs, and
|
||||
glutes. 545 miles of cycling has given me a lot of time to focus on getting
|
||||
every watt of power out of my legs, and leading out this group I'm acutely
|
||||
aware of each muscle involved. After a mile or so we all bunch back up and
|
||||
rocket onwards to Rest Stop One.
|
||||
|
||||
The Triathelete comments in the rest stop that he really enjoys following
|
||||
behind me. I'm able to push a strong pace, and I'm tall, so at his shorter
|
||||
stature he can tuck in behind me for a free ride. Somebody else comments how
|
||||
fun that bit of teamwork was, and that we're all _maybe_ a little competitive.
|
||||
|
||||
Once my routine is done, I leave the rest stop alone and push through the wind
|
||||
between the Santa Monica mountains and the Pacific.
|
||||
|
||||
At some point a cyclist I will come to know as Nils passes me, and as is my
|
||||
customary response, I sprint to catch his wheel and start to work together with
|
||||
him to keep a strong pace towards Rest Stop Two.
|
||||
|
||||
Nils is dutch, is about as tall as I am, has been cycling seriously since
|
||||
sometime last year, and is **fast**. He is inexperienced though, and I learn as
|
||||
we cruise along working together that he hasn't really had much of this
|
||||
teamwork experience on ALC thus far. We trade off and on into Rest Stop Two,
|
||||
and then depart together to continue flying towards lunch.
|
||||
|
||||
Between Rest Stop Two and Lunch is Malibu. I hate Malibu. The Pacific Coast
|
||||
Highway is flanked on the east side by mountains, and on the west side by
|
||||
expensive homes and cars parked ever-so-slightly off the road. Everybody in
|
||||
Malibu drives like they're the only ones on the road, and cyclists can get
|
||||
squeezed between aggressive drivers, and the door-zone from parked cars. The
|
||||
city is basically 20+ miles of coastline, and it _sucks_.
|
||||
|
||||
Fortunately the flying dutchman and I are making insane time. We spot a number
|
||||
of large cycling groups riding together on the PCH, which is genuinely cool to
|
||||
see. It seems like every cyclist north of LA has come to engage in battle with
|
||||
motorists for who should really get to own this stretch of beautiful highway.
|
||||
|
||||
At a stoplight some local cyclist with some aero kit, a fast looking carbon
|
||||
bike, and stacked legs pulls up next to us. When the light turns green, Nils
|
||||
takes
|
||||
off, followed by me, followed by the local. No more than a quarter mile down
|
||||
the road, the local flies by Nils and I.
|
||||
|
||||
Rabbit!
|
||||
|
||||
We have probably ridden 45 strong miles at this point, but I'll be damned if
|
||||
I'm not going to give chance. I pop out of the saddle and put in the best
|
||||
sprint I can muster to chase him down. I get within a few bike lengths but
|
||||
cannot get into his draft. Nils later told me that I had left him in the dust
|
||||
on that sprint too!
|
||||
|
||||
Disheartened I settle into cranking at my 21-22mph pace, which is meager
|
||||
compared to the local. Nils comes flying by me and says "why don't I give it a
|
||||
shot!" So of course now I have to keep up with Nils in his sprint. His effort
|
||||
falls short as well, but we fall into a tight rotation and chase this local,
|
||||
less than couple hundred yards away, for the remainder of the PCH until we pull
|
||||
off for lunch.
|
||||
|
||||
I haven't been smoked like that all week. Good lord was that dude fast.
|
||||
|
||||
Reviewing my app over lunch, I had put down 55 miles at a 20mph average speed.
|
||||
That's not a straight 55 either, there were a lot of little rollers, headwinds,
|
||||
and stoplights in between mile 0 and lunch.
|
||||
|
||||
We talk a lot about racing, triathalons, and what motivated us to get into
|
||||
cycling while killing time at lunch. From here there are about 15 miles to the
|
||||
finish line, and we roll out at about 10:15.
|
||||
|
||||
The pace is slowed due to traffic, more climbing, and the general mayhem that
|
||||
comes with riding through Beverly Hills and West Hollywood. At one point a car
|
||||
almost turned right into my, leading me to loudly share some profanities.
|
||||
|
||||
The last couple miles of ALC are some of the more dangerous ones in my opinion,
|
||||
a very hectic urban environment with tired cyclists and weekend drivers.
|
||||
|
||||
I crossed the finish line at almost exactly 11:00am and ALC is over.
|
||||
|
||||
---
|
||||
|
||||
As luck would have it, I forgot to pre-arrange shipping for my bike. I just
|
||||
kind of forgot that I had to register ahead of time for it to be put on a truck
|
||||
and driven back to San Francisco. Instead I had to pay a bunch of money so my
|
||||
bike could be packed and that I could safely take it home on the plane with me.
|
||||
|
||||
I also didn't realize that gear wouldn't be there until 1pm, so I had to sit
|
||||
around in the shade chatting and napping until gear trucks arrived.
|
||||
|
||||
Once I had everything collected, my gear, my giant bike box, my sweaty ass,
|
||||
trying to get a giant car to carry all of my stuff to a hotel proved to be
|
||||
equal parts annoying and time-consuming. I ended up leaving Fairfax High School
|
||||
at about 3pm, and didn't get find a shower until after 4pm.
|
||||
|
||||
The beauty of ALC as a cyclist is that you kind of just have to wake and ride
|
||||
your bike. Life on the ride is simple: eat, pedal, eat, sleep, repeat. Once ALC
|
||||
is over however, you are quickly reminded at how much _other shit_ there is to
|
||||
do other than cycling.
|
||||
|
||||
From a cycling perspective, day seven might have been the most "put together"
|
||||
of the days on ALC. Great teamwork, good legs, and high speeds. I felt
|
||||
challenged and like I left nothing "out on the road" when I was done. The
|
||||
change in skill and perspective from 2019 to 2022 was significant, I can only
|
||||
hope that I continue to improve and 2023 that much better!
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
layout: post
|
||||
title: Cycling through calories
|
||||
tags:
|
||||
- cycling
|
||||
---
|
||||
|
||||
I never really paid attention to the calories burned during cycling until
|
||||
recently, and it's still somewhat shocking when I look at it. With my love of
|
||||
cycling rekindled by [AIDS/LifeCycle](https://aidslifecycle.org) I have spent a
|
||||
lot more time in the saddle this year. Between short criterium races, my
|
||||
longest at 140mi, or the most elevation with the [Death
|
||||
Ride](https://deathride.com/), I have needed to be very mindful of my nutrition
|
||||
before, during, and after these rides. In short, cycling can burn a **lot** of calories.
|
||||
|
||||
The "nutrition facts" panel on commercially sold food typically accounts for a
|
||||
2,000 calorie daily allocation. This is a rough approximation of what the
|
||||
average American should eat. Reasonable I suppose, but let me share some of the
|
||||
calorie _expenditures_ estimated on my recent rides:
|
||||
|
||||
* [Patterson Pass Road Race](https://www.strava.com/activities/7599724946), 43mi, 4,400ft elevation: **2,400** calories
|
||||
* [Sonoma Parks tour](https://www.strava.com/activities/7599724946), 140mi, 6,700ft elevation: **5,122** calories
|
||||
* [Death ride](https://www.strava.com/activities/7481018521), 103mi, 14,000ft elevation: **7,557** calories
|
||||
|
||||
The numbers are insane! I expect that I need almost 3,000 calories a day just
|
||||
to keep my weight and activity levels normal. That means for these more
|
||||
significant rides my body requires 3-4x the average daily suggested intake.
|
||||
|
||||
"I wish I could eat like you!"
|
||||
|
||||
I will frequently get comments about my appetite. Eating 3-5k calories a day is
|
||||
quite the challenge! Are you sure you're up to it? 😄
|
||||
|
||||
Because I have no idea what a thousand calories look like, I have had to enlist
|
||||
the help of a calorie tracker. In doing so I have learned a few things:
|
||||
|
||||
* Making each meal ~1k calories is *hard*, especially challenging when eating vegetarian.
|
||||
* The day needs four meals, not three.
|
||||
* Feeling hungry during the day is a sign that I'm behind.
|
||||
* "Palate Fatigue" is a thing.
|
||||
|
||||
Nutrition science is something I am learning more serious athletes
|
||||
spend a *lot* of time thinking about and experimenting with. Logically it makes
|
||||
sense: if your body is the engine, food is the fuel and something you should be
|
||||
optimizing to improve performance. As a lay person it is still surprising to me
|
||||
how rudimentary my own nutrition education was, remember the food pyramid?
|
||||
|
||||
There's still a lot to learn and tune with my own nutrition as it relates to my
|
||||
weight and performance. I wish I had useful tips to share, but the experience
|
||||
is so individualized that I think you may be best suited exploring what works
|
||||
best for you. Keeping track of calories, macronutrients, and expenditures is a
|
||||
start, but there's a _lot_ worth exploring!
|
|
@ -0,0 +1,238 @@
|
|||
---
|
||||
layout: post
|
||||
title: "The Death Ride"
|
||||
tags:
|
||||
- cycling
|
||||
---
|
||||
|
||||
Endurance athletes have a misconfiguration in their brain, one that compels them
|
||||
to pursue increasingly foolish goals, for me the [Death
|
||||
Ride](https://deathride.com/) was as foolish as it was ambitious. The
|
||||
[course](https://www.strava.com/segments/25280359) is 103mi, starting at ~5k
|
||||
feet elevation, with a total of about 14k feet of elevation gain. It is not a
|
||||
_race_ per se, though I'm sure somebody is "first" back to the finish line.
|
||||
What is celebrated are _completions_. If you can survive all six passes, you're
|
||||
a winner! The mountains are steep, the road largely exposed, and the heat is
|
||||
oppressive, but hey! Good luck! Have a great ride!
|
||||
|
||||
I managed to [complete all six passes](https://www.strava.com/activities/7481018521) in 7:58:50.
|
||||
|
||||
Enough time has passed for me to reflect on the event, almost a month now, and
|
||||
both my brain and legs have forgotten enough that doing it again doesn't seem
|
||||
so ridiculous.
|
||||
|
||||
---
|
||||
|
||||
Around 5am I rolled up in my car to the starting point outside of
|
||||
Markleeville. A CHP officer was directing cars to park on the side of the road.
|
||||
Cyclists were already passing by, having ridden from their nearby campgrounds.
|
||||
Aside from [ALC](https://aidslifecycle.org) I had never seen this many cyclists
|
||||
in one spot. "If these old geezers can do this, so can I!" ran through my head
|
||||
as I put my shoes on, topped up my tires, and ate the last of my food in the
|
||||
car.
|
||||
|
||||
The Death Ride is very well supported, there are aid and water stations along
|
||||
the way but with a new event I trend towards more self-sufficiency; better to
|
||||
have too much food instead of too little.
|
||||
|
||||
Picking up my number the dawn's light is starting to creep over the mountains.
|
||||
The air is cool and the feeling is electric. I am **excited**! What an
|
||||
adventure! Look at all these old geezers, I'll be fine!
|
||||
|
||||
The first mile is a coasting downhill through the town of Markleeville. The
|
||||
makeup of the course means that the _last_ mile will then be an uphill slog to
|
||||
the finish line. Something to worry about later!
|
||||
|
||||
## Monitor Pass
|
||||
|
||||
As I turn to start the ascent of Monitor Pass I find myself passing cyclists
|
||||
and have to intentionally slow myself down. I know that my adrenaline is making
|
||||
me all antsy in my pantsy. I don't want to use up my legs on the first climb.
|
||||
At this stage of the ride the mental effort expended is about **discipline**.
|
||||
Don't be stupid, pace.
|
||||
|
||||
The sun streaks over the mountains as I grind up to Monitor Pass and some of
|
||||
the views are simply spectacular! Despite wildfire which had recently burned
|
||||
through the area, the landscape is still something to behold.
|
||||
|
||||
As I crest the climb I see the first aid station and remember: "oh right, I
|
||||
have to go down the other side and _then_ back up this bastard!" I pass by the
|
||||
aid station, I'll hit it on the way back, I will need it then.
|
||||
|
||||
Coming down the southeast side of Monitor Pass is genuinely **awesome**, the
|
||||
view opens up in a _big_ way and the massive valley is on full display in the
|
||||
morning sun. There is precious little time to enjoy the view because I am
|
||||
_accelerating_ and the descent is fucking insane. 40+ mph rocketing down a
|
||||
mountain with certain death should you be stupid or unlucky and go off the
|
||||
side. I have to remind myself a couple times to relax my grip on the
|
||||
handlebars. At one point I exceeded 49mph, which was _not_ the fastest I would
|
||||
go during the ride.
|
||||
|
||||
Approaching the Topaz Lake rest stop the descent slows through a rock walled
|
||||
canyon, which gives me the opportunity to see the slog being endured by
|
||||
cyclists heading _back up_ to Monitor Pass.
|
||||
|
||||
|
||||
![Descending towards Topaz](/images/post-images/deathride-2022/monitor-descent.png)
|
||||
|
||||
|
||||
I don't take much nutrition in at Topaz because I intended to stop at the rest
|
||||
stop back up topside. I drop some gear in a drop bag and start my ascent.
|
||||
Falling in with a couple of doctors I intentionally chat them up a bit. If I'm
|
||||
talking, I won't be tempted to pass people on the climb as much. Eventually
|
||||
they fall back because my pace is too aggressive for them. Climbing solo my
|
||||
pace picks up as I constantly find new people to chase. My legs feel good, it's
|
||||
not too hot, the view is gorgeous, what a wonderful ride!
|
||||
|
||||
Stopping topside at the Monitor Pass rest stop again I stuff myself full of
|
||||
food. It's basically all downhill from here until the lunch stop. My neighbor
|
||||
gave me the advice to not fill up at lunch since that's at the base of the
|
||||
Ebbett's Pass climb. As I finish chewing and drinking a pepsi (sugar water!) and prepare to leave the rest stop, somebody knocks over a rack of bikes. Oops!
|
||||
|
||||
The descent down from Monitor Pass to the fork was **fucking fast**. I chase a
|
||||
couple people down the hill, hug my top tube, and enjoy the big straightaways
|
||||
and gradual sweeping turns. My top speed for this segment is the fastest I will
|
||||
go all day: 55.4mph. According to Strava, the [fastest person on this
|
||||
segment](https://www.strava.com/activities/7565854108#2989258323047473166)
|
||||
topped out at 70.4mph which is absolutely insane.
|
||||
|
||||
At lunch somebody who was descending with me mentions that they saw me narrowly
|
||||
miss a rock on the road and were anxious that I wasn't going to see it in time.
|
||||
Fortunately I did see the rock coming, which could have been disastrous, but at
|
||||
high speeds it's important not to make sudden corrections!
|
||||
|
||||
I nibble a bit and pack a sandwich in my back pocket from lunch for later. Time
|
||||
for Ebbett's Pass, the biggest bastard climb of them all.
|
||||
|
||||
|
||||
## Ebbett's Pass
|
||||
|
||||
The top of Ebbett's Pass is at 8,703ft and has a variable gradient from around
|
||||
6-7% at the outset and then it gets steeper between 10-15% towards the summit.
|
||||
|
||||
To be honest I don't remember much of this part of the ride. It was simply a
|
||||
slog, but if these geezers can do it, so can I! Honestly, much of the ride is
|
||||
really just a mental test of how much you can grind it out. All said and done,
|
||||
it was about an hour of sitting in and mashing pedals.
|
||||
|
||||
The rest stop is perched right at the top and a welcome reprieve. They were
|
||||
serving instant ramen, sprite, pepsis, and all manner of snacks with salt and
|
||||
sugar in them to replenish the tired muscles. As I sat in one of the graciously
|
||||
provided camp chairs eating my ramen I overheard a couple other cyclists
|
||||
talking about how many passes they were going to do. One geezer said "nope,
|
||||
this was it, I'm just doing this one."
|
||||
|
||||
I vaguely recalled registration where you selected the number of passes. I was
|
||||
signing up for the Death Ride, so I said "six". I'm going to do them all
|
||||
damnit! The nuance of that registration form was lost on me. A _lot_ of
|
||||
cyclists do shortened versions of the ride, picking and choosing which passes
|
||||
they're going to do, enjoying their ride, and going home! A lot of these
|
||||
geezers were going to do six passes, but not all of them. I had to re-orient my
|
||||
motivational tactic slightly 😄
|
||||
|
||||
![Ebbett's Pass](/images/post-images/deathride-2022/ebbetts.jpg)
|
||||
|
||||
|
||||
Either way, I had summitted Ebbett's Pass, that was the "hard one" in my head.
|
||||
Three of six passes completed. "I'm practically done!"
|
||||
|
||||
## Pacific Grade
|
||||
|
||||
Cycling is a constant lesson in humility. The distance between the Ebbett's
|
||||
Pass rest stop and the turnaround point was only 14 miles, but four of those
|
||||
miles were painfully steep. After 50 miles of work already, the steep climbs up Pacific Grade were brutal, for the first time of the day I started to see cyclists stopped taking a breather.
|
||||
|
||||
One of the punchier sections of the climb is a brief stint at 32%.
|
||||
|
||||
My bottles were full as was my stomach so I passed some water stops and decided
|
||||
to keep my momentum pressing onwards to the turnaround at 69 miles.
|
||||
|
||||
Upon arrival I found some shade where other cyclists were sitting on rocks
|
||||
hiding from the sun. I took my spot and started eating my warm sandwich.
|
||||
Despite those climbs there was a *lot* of downhill that was about to turn into
|
||||
uphill on the return.
|
||||
|
||||
The sun was in full effect, it was only going to get hotter. I filled my
|
||||
bottles, saddled up, and started to climb back up the backside of Pacific
|
||||
Grade.
|
||||
|
||||
## Long road home
|
||||
|
||||
Ebbett's Pass is a mother fucker.
|
||||
|
||||
The rapid descent from Pacific Grade is followed by 5-6 miles of 8-10%
|
||||
gradient, exposed in the full afternoon sun, with little wind, and nothing to
|
||||
do but look at the road in front of your handlebars. Letting your eyes drift
|
||||
any further ahead and you'll be reminded of just how hopeless it all is.
|
||||
|
||||
I slowly crank by cyclist after cyclist hiding from the sun under the few trees
|
||||
providing some shade near the narrow mountain road. The previous climbs had
|
||||
conversation and sometimes even laughter. The climb back up to Ebbett's Pass is
|
||||
silent. Nobody is talking, nobody is following, nobody is happy, we're all just
|
||||
surviving. I have difficulty deciding whether it's better to drink or douse myself with
|
||||
hot water in my bottles.
|
||||
|
||||
Thinking about the geezers doesn't help.
|
||||
|
||||
My legs feel fried, it's hot as shit, the view doesn't matter, what a miserable
|
||||
ride.
|
||||
|
||||
Getting closer to the top I hear echoes of what I think are cowbell and
|
||||
shouting, the rest stop must be just up ahead! I fooled myself more times than
|
||||
I can remember with that mirage. By the time I finally arrived at the rest stop
|
||||
I was almost surprised it actually existed this time.
|
||||
|
||||
Give me water, give me electrolytes, give me a couple of these sprites, I'll
|
||||
take some of that watermelon too. I need to sit in one of those alluring camp
|
||||
chairs and reconsider the erroneous decisions which led me here.
|
||||
|
||||
As I sit and contemplate whether I'm hot enough for cartoon steam to shoot from
|
||||
my ears, I see people finishing the _first_ ascent of Ebbett's. Those poor
|
||||
souls, it's just going to get hotter, the climb back up from the turnaround is
|
||||
a already a bastard.
|
||||
|
||||
Once my core temperature lowers a bit, I pull myself up and back into the
|
||||
saddle for the "easy" descent to the finish line. My plans change slightly, I'm
|
||||
confident I will finish, I now want to get off this route as quickly as
|
||||
possible.
|
||||
|
||||
The descent off Ebbett's back towards the fork has some hairpin turns which
|
||||
slow me down quite a bit. I've come too far to eat shit on some mountain road
|
||||
just before the finish line. But as the road straightens out, I speed up,
|
||||
pushing my top speed for this segment of 44.9mph. I also fall in with a couple
|
||||
other guys and we start a paceline towards the finish. Teamwork always makes
|
||||
for fun cycling and high speeds, both of which I'm glad to have at this point
|
||||
in the afternoon.
|
||||
|
||||
Climbing into Markleeville I somehow fumble my water bottle when trying to
|
||||
return it to its cage. While I'm fatigued, I'm not about to leave my water
|
||||
bottle! We've come so far together! Of course, the problem with a cylindrical
|
||||
bottle on a _hill_ is that as I dismount it starts to roll away from me. Water
|
||||
bottle no! Come back!
|
||||
|
||||
Clickety-clack go the bike cleats as I jog downhill 15 yards to capture the
|
||||
bottle. I cannot help but laugh at how ridiculous the scene must have been as I
|
||||
sprint back to try to catch my group.
|
||||
|
||||
|
||||
The last three miles are uphill. Only a 5% grade, but fully exposed with a
|
||||
headwind, and after 100mi of absolutely mind-warping riding. I don't think I
|
||||
have ever hated a stretch of road like I hated that one.
|
||||
|
||||
|
||||
## Completion
|
||||
|
||||
The relief of crossing the finish line was delayed. My core temperature was
|
||||
high, my heart rate was high, i felt dehydrated. There was live music, beer,
|
||||
ice cream, and food. That would all have to wait. I sat on a bench shirtless
|
||||
for probably 30 minutes slowly taking in water and electrolytes before I
|
||||
started to become functional again.
|
||||
|
||||
![Finished](/images/post-images/deathride-2022/finish.png)
|
||||
|
||||
At a rational level I understand that the Death Ride was a brutal slog which
|
||||
was more of mental challenge than a physical one. Did I enjoy it? I think so.
|
||||
|
||||
The brain of an endurance athlete seems to have a misconfiguration, one which makes
|
||||
it difficult to distinguish between a challenge, punishment, and fun. The Death
|
||||
Ride was all three, so who knows, maybe I will be back next year.
|
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
layout: post
|
||||
title: The fastest way to make Rust Strings
|
||||
tags:
|
||||
- rust
|
||||
- software
|
||||
- software development
|
||||
---
|
||||
|
||||
A friend of mine learning how to code with Python was complaining about the
|
||||
myth that "there's a Pythonic way" to do things. The "one true way" concept
|
||||
wasn't ever taken seriously in Python, not even by the standard library.
|
||||
Practically speaking, it's impossible _not_ to have multiple ways to accomplish
|
||||
the same outcome in a robust programming language's standard library. This
|
||||
_flexibility_ jumped out at me while hacking on some Rust code lately: how many
|
||||
ways can you turn `str`
|
||||
into `String`?
|
||||
|
||||
In Rust `"this thing"` is a [primitive `str`
|
||||
type](https://doc.rust-lang.org/std/primitive.str.html#) and will have the
|
||||
`&'static` lifetime. Without diving into lifetimes and how Rust ownership
|
||||
works, this is basically read-only memory that exists for the duration of the
|
||||
program. They're _static_ and you can't do much with it. In _most_ APIs you'll
|
||||
need the [`String`
|
||||
type](https://doc.rust-lang.org/std/string/struct.String.html), which will give
|
||||
you an allocated bit of data you can play around with.
|
||||
|
||||
Without much effort I came up with five different ways that I have written Rust
|
||||
code to perform this conversion:
|
||||
|
||||
1. `String::from("The boring way")`
|
||||
2. `"Using a trait".into()`
|
||||
3. `"This is actually a trait too".to_string()`
|
||||
4. `"Lol, this is also a trait".to_owned()`
|
||||
5. `format!("Wake up and choose violence")`
|
||||
|
||||
---
|
||||
If you have some other nifty ways to create `String`s, let me know on
|
||||
[Twitter](https://twitter.com) or via email (`rtyler@` this domain)!
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
But which is the most fastest?! I wrote the following very important, and very serious microbenchmarking code:
|
||||
|
||||
```rust
|
||||
use microbench::{self, Options};
|
||||
|
||||
fn into_trait() {
|
||||
let _s: String = "Rust is cool!".into();
|
||||
}
|
||||
|
||||
fn to_string() {
|
||||
let _s: String = "Rust is cool!".to_string();
|
||||
}
|
||||
|
||||
fn format() {
|
||||
let _s: String = format!("Rust is cool!");
|
||||
}
|
||||
|
||||
fn owned() {
|
||||
let _s: String = "Rust is cool!".to_owned();
|
||||
}
|
||||
|
||||
fn string_from() {
|
||||
let _s: String = String::from("Rust is cool!");
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let options = Options::default();
|
||||
microbench::bench(&options, "String::from!", || string_from());
|
||||
microbench::bench(&options, "Into<String>", || into_trait());
|
||||
microbench::bench(&options, "ToString<str>", || to_string());
|
||||
microbench::bench(&options, "ToOwned<str>", || owned());
|
||||
microbench::bench(&options, "format!", || format());
|
||||
}
|
||||
```
|
||||
|
||||
I compiled the program with `rustc` version 1.63.0 and after running some truly
|
||||
rigorous and scientific tests on my workstation, I am thrilled to share the results:
|
||||
|
||||
```
|
||||
❯ cargo run
|
||||
Compiling rust-strings-are-silly v0.1.0 (/home/tyler/source/github/rtyler/rust-strings-are-silly)
|
||||
Finished dev [unoptimized + debuginfo] target(s) in 0.25s
|
||||
Running `target/debug/rust-strings-are-silly`
|
||||
String::from! (5.0s) ... 278.552 ns/iter (0.991 R²)
|
||||
Into<String> (5.0s) ... 286.293 ns/iter (0.983 R²)
|
||||
ToString<str> (5.0s) ... 292.736 ns/iter (0.987 R²)
|
||||
ToOwned<str> (5.0s) ... 290.276 ns/iter (0.985 R²)
|
||||
format! (5.0s) ... 300.144 ns/iter (0.995 R²)
|
||||
```
|
||||
|
||||
|
||||
**HOW INTERESTING!**
|
||||
|
||||
Well, not really.
|
||||
|
||||
Microbenchmarking like this has **lots** of flaws,
|
||||
especially when sampling on a single machine running many other concurrent
|
||||
processes. After executing the tool a few times, one common pattern that I did see was that
|
||||
the `format!` macro is consistently the slowest way to create `String`s. In
|
||||
fact `cargo clippy` will complain about you using in this way, not because it's
|
||||
slow, but because it's a "useless use of `format!`", which I can agree with! :)
|
||||
|
||||
|
||||
Choosing between the rest of them probably is nothing more than a style choice
|
||||
of the developers working on any given Rust project. With these types of things
|
||||
it's typically best to adopt one consistent way of doing things _within the
|
||||
codebase_ to improve readability, but they're all functionally equivalent..
|
||||
|
||||
In Rust there's no "one true way" to create a `String`, but my personal
|
||||
preference is `.into()` for no other reason than it is the fewest
|
||||
characters to type!
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Meet Buoyant Data, and let me reduce your data platform costs"
|
||||
tags:
|
||||
- databricks
|
||||
- software
|
||||
- deltalake
|
||||
- aws
|
||||
---
|
||||
|
||||
One of the many things I learned in 2022 is that I have a particular knack for
|
||||
understanding, analyzing, and optimizing the costs of data platform
|
||||
infrastructure. These skills were born out of both curiosity and necessity in
|
||||
the current economic climate, and have led me to start a small consuhltancy on
|
||||
the side: [Buoyant Data](https://www.buoyantdata.com/). Big data infrastructure
|
||||
can be hugely valuable to lots of businesses, but unfortunately it's also an
|
||||
area of the cloud bills that is frequently misunderstood, that's something that
|
||||
I can help with!
|
||||
|
||||
[Mike Julian](https://www.duckbillgroup.com/about/) from [The Duckbill
|
||||
Group](https://www.duckbillgroup.com/) once made the proclamation that the way
|
||||
to _actually_ save money in AWS is to design your infrastructure to be
|
||||
cost-effective. "Optimization" techniques can only take you so far, and once
|
||||
you've burned through all the optimizations, you may find yourself needing to
|
||||
further reduce the cost of your infrastructure and have no more "fat" to trim! In the [first blog post](https://www.buoyantdata.com/blog/2022-12-18-initial-commit.html) I outline a "reference architecture" for a data platform which I **know** is cost-effective, easy to manage, and lends itself well to growth.
|
||||
|
||||
Planning for sensible, cost-concious growth is _very_ important. With most data
|
||||
platforms as they start to prove their value, the organization will bring even
|
||||
_more_ workloads to them. [If you give a data scientist a good
|
||||
platform](https://en.wikipedia.org/wiki/If_You_Give_a_Mouse_a_Cookie), they
|
||||
will find themselves wanting ever more from that data platform, and Buoyant
|
||||
Data can help make sure that growth is sustainable **and** the value to the
|
||||
business is easy to identify as well.
|
||||
|
||||
|
||||
Please add the Buoyant Data [RSS feed](https://www.buoyantdata.com/rss.xml) to your reader, as I have a number of blog posts queued up already with some gratis tips and tricks for understanding the cost of your data platform! 😄
|
||||
|
||||
---
|
||||
|
||||
The technology stack for Buoyant Data is something I cannot wait to write more
|
||||
about. After funding the creation of
|
||||
[delta-rs](https://github.com/delta-io/delta-rs) as part of my day job, I am
|
||||
utilizing the library in a **big** way to build extremely lightweight and
|
||||
cost-efficient data ingestion pipelines with Rust and AWS Lambda. There's still
|
||||
plenty of space for [Apache Spark](https://spark.apache.org) on the querying
|
||||
and processing side, but as
|
||||
[DataFusion](https://github.com/apache/arrow-datafusion) matures, I'm looking
|
||||
forward to exploring where that can fit into the picture.
|
||||
|
||||
|
||||
There's a lot of evolution happening right now in the data and ML platform
|
||||
space, I'm really looking forward to growing [Buoyant
|
||||
Data](https://buoyantdata.com) in my spare time!
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
layout: post
|
||||
title: "The problem with ML"
|
||||
tags:
|
||||
- software
|
||||
- ml
|
||||
- aws
|
||||
- databricks
|
||||
---
|
||||
|
||||
|
||||
The holidays are the time of year when I typically field a lot of questions
|
||||
from relatives about technology or the tech industry, and this year my favorite
|
||||
questions were around **AI**. (*insert your own scary music*) Machine-learning
|
||||
(ML) or Artificial Intelligence (AI) are being widely deployed and I have some
|
||||
**Problems™** with that. Machine learning is not necessarily a new
|
||||
domain, the practices commonly accepted as "ML" have been used for quite a
|
||||
while to support search and recommendations use-cases. In fact, my day job
|
||||
includes supporting data scientists and those who are actively creating models
|
||||
and deploying them to production. _However_, many of my relatives outside of the tech industry believe that "AI" is going to replace people, their jobs, and/or run the future. I genuinely hope AI/ML comes nowhere close to this future imagined by members of my family.
|
||||
|
||||
|
||||
Like many pieces of technology, it is not inherently good or bad, but the
|
||||
problem with ML as it is applied today is that **its application is far
|
||||
outpacing our understanding of its consequences**.
|
||||
|
||||
Brian Kernighan, co-creator of the C programming language and UNIX, said:
|
||||
|
||||
> Everyone knows that debugging is twice as hard as writing a program in the
|
||||
> first place. So if you're as clever as you can be when you write it, how will
|
||||
> you ever debug it?
|
||||
|
||||
Setting aside the _mountain_ of ethical concerns around the application of ML
|
||||
which have and should continue to be discussed in the technology industry,
|
||||
there's a fundamental challenge with ML-based systems: I don't think their
|
||||
creators understand how they work, how their conclusions are determined, or how
|
||||
to consistently improve them over time. Imagine you are a data scientist or ML
|
||||
developer, how confident are you in what your models will predict between
|
||||
experiments or evolutions of the model? Would you be willing to testify in a
|
||||
court of law about the veracity of your model's output?
|
||||
|
||||
Imagine you are a developer working on the models that Tesla's "full
|
||||
self-driving" (FSD) mode relies upon. Your model has been implicated in a Tesla
|
||||
killing the driver and/or pedestrians (which [has
|
||||
happened](https://www.reuters.com/business/autos-transportation/us-probing-fatal-tesla-crash-that-killed-pedestrian-2021-09-03/)).
|
||||
Do you think it would be possible to convince a judge and jury that your model
|
||||
is _not_ programmed to mow down pedestrians outside of a crosswalk? How do you
|
||||
prove what a model is or is not supposed to do given never before seen inputs?
|
||||
|
||||
Traditional software _does_ have a variation of this problem but source code
|
||||
lends itself to scrutiny far better than the ML models. Many of which have come
|
||||
from successive evolutions of public training data, proprietary model changes,
|
||||
and integrations with new data sources.
|
||||
|
||||
These problems may be solvable in the ML ecosystem, but problem is that the
|
||||
application of ML is outpacing our ability to understand, monitor, and diagnose
|
||||
models when they do harm.
|
||||
|
||||
That model your startup is working on to help accelerate home loan approvals
|
||||
based on historical mortgages, how do you assert that your models are not
|
||||
re-introducing racist policies like
|
||||
[redlining](https://en.wikipedia.org/wiki/Redlining). (forms of this [have happened](https://fortune.com/2020/02/11/a-i-fairness-eye-on-a-i/)).
|
||||
|
||||
How about that fun image generation (AI art!) project you have been tinkering
|
||||
with uses a publicly available model that was trained on millions of images
|
||||
from the internet, and as a result in some cases unintentionally outputs
|
||||
explicit images, or even what some jurisdictions might consider bordering on
|
||||
child pornography. (forms of this [have
|
||||
happened](https://www.wired.com/story/lensa-artificial-intelligence-csem/)).
|
||||
|
||||
Really anything you teach based on the data "from the internet" is asking for
|
||||
racist, pornographic, or otherwise offensive results, as the [Microsoft
|
||||
Tay](https://www.cbsnews.com/news/microsoft-shuts-down-ai-chatbot-after-it-turned-into-racist-nazi/)
|
||||
example should have taught us.
|
||||
|
||||
|
||||
Can you imagine the human-rights nightmare that could ensue from shoddy ML
|
||||
models being brought into a healthcare setting? Law-enforcement? Or even
|
||||
military settings?
|
||||
|
||||
---
|
||||
|
||||
Machine-learning encompasses a very powerful set of tools and patterns, but our
|
||||
ability to predict how those models will be used, what they will output, or how
|
||||
to prevent negative outcomes are _dangerously_ insufficient for the use outside
|
||||
of search and recommendation systems.
|
||||
|
||||
I understand how models are developed, how they are utilized, and what I
|
||||
_think_ they're supposed to do.
|
||||
|
||||
Fundamentally the challenge with AI/ML is that we understand how to "make it
|
||||
work", but we don't understand _why_ it works.
|
||||
|
||||
Nonetheless we keep deploying "AI" anywhere there's funding, consequences be
|
||||
damned.
|
||||
|
||||
And that's a problem.
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
layout: post
|
||||
title: "ChatGPT and your intellectual property"
|
||||
tags:
|
||||
- software
|
||||
- ml
|
||||
- opinion
|
||||
---
|
||||
|
||||
There is an excessive number [ChatGPT](https://en.wikipedia.org/wiki/ChatGPT)
|
||||
screenshots littering social media right now, and not nearly enough critical
|
||||
thinking about feeding data into this novel new chatbot. An anecdotal survey of
|
||||
my timeline includes people asking ChatGPT to solve math equations, write
|
||||
emails for them, create short story prompts, identify bugs in code, or even
|
||||
generate code for them. Behold, the power of AI!
|
||||
|
||||
ChatGPT is created by [OpenAI](https://openai.com/blog/chatgpt/), which despite
|
||||
the name is *not* any form of "open" organization, but rather a startup which
|
||||
has been [considering funding at a pretty monstrous
|
||||
valuation](https://siliconangle.com/2023/01/05/openai-startup-behind-chatgpt-discusses-tender-offer-value-29b).
|
||||
In essence, ChatGPT is an AI tool trained on a large corpus of public and
|
||||
proprietary information, packaged up as a kooky chatbot.
|
||||
|
||||
Fine. Setting aside my own annoyance with ML developers co-opting data from
|
||||
"the commons", fine.
|
||||
|
||||
The zeal with which most people are dumping information into ChatGPT really
|
||||
concerns me however. I have seen a number of people feeding their own source
|
||||
code into ChatGPT to ask it to find bugs or security holes. It would be
|
||||
foolish to assume that the inputs into ChatGPT are not _also used to train
|
||||
ChatGPT_, or at least the next generations of the model.
|
||||
|
||||
I am certainly no lawyer, but the two primary problems here are:
|
||||
|
||||
* Most developers are not authorized to disclose proprietary information of
|
||||
their employers. Pasting source code into _any_ browser window creates a
|
||||
liability, but a browser window with ChatGPT increases the likelihood that
|
||||
the source code disclosed will be _reproduced_ in the future, for some other
|
||||
user of the system. Uh oh!
|
||||
* Can the code _generated_ by ChatGPT could be considered _yours_? Who actually
|
||||
owns the copyright to machine generated code, or machine generated anything
|
||||
for that matter? Do the architects of the system own it, or the users
|
||||
supplying the inputs? This particular wrinkle isn't unique to ChatGPT, but
|
||||
any ML tool generating data which occupies a space adjacent to human created,
|
||||
and copyrighted works.
|
||||
|
||||
|
||||
My concerns with what OpenAI is doing with this data is not tin-foil paranoia.
|
||||
[Adobe is catching
|
||||
grief](https://news.yahoo.com/adobe-using-photos-train-ai-001413408.html) for
|
||||
opting Lightroom users _in_ to train their AI with those users copyrighted or
|
||||
proprietary works.
|
||||
|
||||
I am sure the legal system will catch up to the rapid evolution of these ML
|
||||
robber barons, but until then I think we should all be _very_ weary of feeding
|
||||
intellectual property to these systems.
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
layout: post
|
||||
title: "A lot of engineering management is actually information management"
|
||||
tags:
|
||||
- software
|
||||
- leadership
|
||||
- management
|
||||
- opinion
|
||||
---
|
||||
|
||||
Are you an organized person? Do you understand information flow in your
|
||||
organization? The importance of categorization and taxonomy? You might be a good
|
||||
fit for Engineering Management! Having now spent a number of years in management
|
||||
and leadership positions, I have noticed a number of successful patterns, and
|
||||
unsuccessful patterns. In this post I want to focus on one of the more
|
||||
successful patterns: good information management.
|
||||
|
||||
Engineering managers are expected to have loads of information ready in their
|
||||
at all times. The architecture of the systems their team is responsible for,
|
||||
current project priorities, cross-team points of dependence or collaboration,
|
||||
and a myriad of other snippets of information. It's a _lot_, but I don't think
|
||||
it's reasonable to expect a person to maintain so much information in their
|
||||
active memory. That's why information management is _very_ important for a
|
||||
management role, I don't need to _remember_ everything, but I do want to
|
||||
remember where everything is _documented_.
|
||||
|
||||
Some of the productive patterns that I have seen and utilized:
|
||||
|
||||
* **Decision Log**: it's great when a team can make decisions quickly, but an
|
||||
inventory of decisions made is increasingly important as the team grows or
|
||||
evolves over time. This should include a synopsis of the decision being made,
|
||||
the alternatives considered, the trade-offs discussed between options, and
|
||||
the reasoning behind the decision ultimately made.
|
||||
* **Link everything**: [Tim
|
||||
Berners-Lee](https://en.wikipedia.org/wiki/Tim_Berners-Lee) wants you to
|
||||
hyperlink all your hypertext! Creating a meeting invite? Link to the meeting
|
||||
notes page in the agenda. Creating a meeting notes page to discuss a project?
|
||||
Link to the project in the issue tracker. Creating a ticket in the issue
|
||||
tracker? Link to the decision made to implement that solution, or the
|
||||
customer support ticket(s) it relates to, or the other projects that this
|
||||
ticket blocks. Creating a commit to complete a ticket, link to the ticket in
|
||||
the commit and pull request. Every link created is a breadcrumb for the
|
||||
manager and the team to tap into this web of useful and related information.
|
||||
* **Research must produce documentation**: frequently a manager or engineer needs
|
||||
to answer a question, that's it. "Can this technology be used to solve this
|
||||
type of problem." That research work doesn't usually result in a direct code
|
||||
or systems change to a production application, but the _output_ of that
|
||||
research should be documentation in the wiki. In essence **every bit of work
|
||||
in engineering should produce an artifact**. Most tasks will produce a pull
|
||||
request, but research tasks should produce a document which outlines what was
|
||||
learned, or create a new decision in the decision log. This allows the
|
||||
manager to benefit and reference back to knowledge gained during a project
|
||||
that did not lead to tangible code changes.
|
||||
* **Metadata is crucial**: At least in the Atlassian suite of tools there are a
|
||||
myriad of ways to categorize pages and tickets. _Use them_. A good taxonomy
|
||||
of labels can go a long way. In the case of documentation in the wiki, this
|
||||
allows for creating aggregations of pages around a particular topic. These
|
||||
aggregation pages can provide a quick overview for all resources relating to
|
||||
a specific technology or project. In the issue tracker labels can provide a
|
||||
useful point to query tickets relating to a point in the ticket lifecycle, a
|
||||
project, or even a specific customer's needs.
|
||||
|
||||
|
||||
From my perspective it is not the project managers job to add the necessary
|
||||
links or information hierarchy, it is not even really the engineering managers
|
||||
job. It is however the managers job to build the culture of information
|
||||
management that allows them and the team to quickly recall or re-discover
|
||||
critical information about the projects that are being worked.
|
||||
|
||||
|
||||
Some managers I know use running Google Docs or Spreadsheets to manage their
|
||||
workload, which may work for personal task tracking, but I typically discourage
|
||||
their use. They're not linkable and discoverable enough!c Many spreadsheets are
|
||||
write-once and read-once. By building and collaborating with a shared
|
||||
information management scheme, the team and the managers can benefit from the
|
||||
on-going "gardening" of information.
|
||||
|
||||
Regardless of the system you use or consider, if you are a manager, please
|
||||
consider that a large part of your job relies on managing _information_, and
|
||||
institute the practices and systems necessary!
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
body {
|
||||
background-color: #fff;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.container {
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
After Width: | Height: | Size: 756 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
After Width: | Height: | Size: 388 KiB |
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: tag_page
|
||||
title: "Tag: alc2022"
|
||||
tag: alc2022
|
||||
robots: noindex
|
||||
---
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: tag_page
|
||||
title: "Tag: dataeng"
|
||||
tag: dataeng
|
||||
robots: noindex
|
||||
---
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
layout: tag_page
|
||||
title: "Tag: software development"
|
||||
tag: software development
|
||||
robots: noindex
|
||||
---
|
|
@ -0,0 +1 @@
|
|||
The most calories burned in a single ride was over 7,500. Cycling has made me much more serious about my nutrition: https://brokenco.de/2022/08/08/cycling-calories.html
|
|
@ -0,0 +1 @@
|
|||
At what point does "throwback" become "classic" and then "oldies"?
|
|
@ -0,0 +1 @@
|
|||
I wrote some Rust last night. It's been a while but I am still so pleasantly smitten with that compiler.
|
|
@ -0,0 +1 @@
|
|||
Which is the fastest way to make &str into String in #rustlang? The results may surprise you! https://brokenco.de/2022/10/28/rust-strings.html
|
Loading…
Reference in New Issue