In spring time, our yard goes crazy. The grass grows tall
and weeds eagerly emerge — the stubborn kind with thick stems
that bounce back up when you try to cut them down. I am a
reluctant gardener. Even though I value our little patch of
green space, I am always toying with the idea of hiring
someone to just clean it all up. There are two things that
prevent this: being too cheap and impatient to have a yard
maintenance crew come out, and the idea that it's my own
yard, goddammit, and so I ought to clean it up
myself.
I am always glad when I get out and do the work. It is a
solitary, meditative experience. I've tried listening to audio
books or podcasts while I do it, but the weed-whacker is too
loud. So I just go out with my own thoughts.
I have an old push mower that delights passers by, when
they see me trying to will it through the thick carpet of
bermudagrass that has taken hold in our front lawn. "Man, I
used to mow my grandma's lawn with one of those!" one tells
me, chuckling. I like to tell myself that I use the push mower
because it gets me some additional exercise, and this is
partly true. But the real reason is usually that I didn't
bother to borrow my neighbor's electric mower.
I discover things when I clean up the yard. Earlier in the season,
when it's still damp from winter rains (presuming it has rained in
California), I will find clusters of mushrooms hidden in the tall
grass. I pull these up so that my dog will not eat them. As I pull
and whack the weeds, bugs and spiders scurry away. They have been
making a home here. That's fine, bugs may need a home somewhere, but
I don't want it to be where we run around and play.
I think a lot when I am doing this gardening, as brute force as it may
be. The analogy of working with code becomes apparent. I'm certainly
not the first to make the comparison; Hunt and Thomas write in The
Pragmatic Programmer that building software is more like gardening
than construction. But I feel it, out there in the yard.
It's the way that just cutting through the brush reveals things,
hidden dangers and tangled branches that were somehow a bigger
mess than you thought. The way I feel the importance,
the necessity, of yanking out plants that have become a
blight. The other day I cut back a massively overgrown rosemary
bush with a hacksaw and felt a moment of catharsis and clarity; I
suddenly had worked out how to refactor a set of classes with
better abstraction.
Sure, the models are really good at finding bugs in your code. I liked
Nolan Lawson's recent blog post about using LLMs to write better code
more slowly, using their ability to ferret out bugs and triage them. I've
tried it myself with some success.
Still, I think about going out there in the yard. Taking a quiet
afternoon and getting away from distraction, getting my jeans dirty,
and cleaning it up myself. Often, I'm not just weeding the yard, I'm
weeding my mind. Through the tangle, I can see the whole.
Mile Zero
Published on
It's a steep descent off the back of Hawk Hill — an 18 percent grade,
to be exact. A sign at the top warns cyclists to use "Extreme
Caution", though by the time you notice it, it's probably too late.
I felt the wind coming off the Pacific Ocean pushing me sideways
as I began to ride down, wondering whether this was a good idea.
I had first taken this road more than two years ago, not long after I
bought my touring bike. I had thought it scared me then only because
I was fairly new to road cycling, and it happened to be raining. But I realized
now I was mistaken: even on a dry day, with plenty of hills under my belt,
the descent was still frightening.
I squeezed my brakes as I felt gravity pull me down the
smooth pavement, releasing slightly as I went into turns. The view — out
beyond San Francisco's Golden Gate — was beautiful, but I barely looked up.
This was January, and I was halfway through a 60 mile ride. I was
eager to start accumulating miles because I had recently decided to
ride the full Grizzly Peak Century, a local tour renowned for its
punishing amount of climbing — 8k+ feet in total. Hawk Hill isn't
part of the course but I thought I could use the hill training.
Although I'd ridden the 50 and 75 miles routes of the GPC in prior
years, this would be my first time riding the full route.
View from Hawk Hill during a training ride
Fast forward to May, and I had abandoned my century ambitions
altogether. After lackluster training throughout the spring, I had to
admit to myself that I wasn't prepared. Initially, I felt relief; I had
let myself off the hook. But what followed was a strong sense of
disappointment in myself. Why had I failed to follow through?
Why are we here again?
There were reasons, of course. February was rainy. In March, I caught
a cold that lingered. But my training plan was also vague and only in
my head. That should have been revealing: I hardly ever need a reason
to start a new spreadsheet.
What I realized is that I hadn't really explained to myself why I
wanted to do the ride in the first place, or internalized what it would
take to train properly. I had a mix of other goals and obligations that
were vying to take priority in the meantime, and so when small
obstacles came my way, I stumbled.
When I look back at previous attempts to write and publish on my blog,
it's not all that different. I've have a desire to write, and a
general idea of how many times I'd like to publish in a month or in a
year. But connecting the dots and understanding what kind of
committment that's going to take is another thing.
Clarifying the why is the other essential piece. The other
day I was listening to the author
David
Sedaris interviewed on the radio . When Sedaris was asked why he
returns to the page each day to write, after meeting his ambitious
daily step count and doing Duolingo, he had this to say:
I want to be better. I want to be better at everything. And the only
way to get better at everything is to work harder [...] That's the
promise: that you can write better, that you can understand better,
that you can speak a language better, be a better person. But it's not
going to happen by accident. You have to work at it.
The idea that someone as accomplished as Sedaris keeps at it every day
because he wants to continuously improve was striking and
inspiring.
Thinking back to cycling, the first time I rode the 75 mile length of
the GPC — the longest I'd ever ridden — I felt a great
sense of not only accomplishment but also hope. It's easy, entering
middle age, to slide into thinking that you're not going to get better
or stronger at anything, that after the "hill" it's just a decline. But
I'd resisted that and succeeded.
Maybe that should have been reason enough to push through with the 100
mile route. I also have other cycling goals, including doing a
multi-day tour internationally. Cycling, for me, has always been about
connecting with the wider world. But of course getting down the road
requires a certain level of fitness.
So here I am, training lapsed, at mile zero. I can start
again, I tell myself, I can get better. With this blog,
I am also starting from a blank slate once more. I'm not exactly
sure what I want to write, only that I want to keep writing.