TITLE: I Have Written That Code AUTHOR: Eugene Wallingford DATE: May 30, 2022 8:32 AM DESC: ----- BODY: Last month, I picked up a copy of The Writing Life by Annie Dillard at the library. It's one of those books that everyone seems to quote, and I had never read it. I was pleased to find it is a slim volume. It didn't take long to see one of the often-quoted passages, on the page before the first chapter:
No one expects the days to be gods. -- Emerson
Then, about a third of the way in, came the sentences for which everyone knows Dillard:
How we spend our days is, of course, how we spend our lives. What we do with this hour, and that one, is what we are doing.
Dillard's portrayal of the writing life describes some of the mystery that we non-writers imagine, but mostly it depicts the ordinariness of daily grind and the extended focus that looks like obsession to those of us on the outside. Occasionally, her stories touched on my experience as a writer of programs. Consider this paragraph:
Every year the aspiring photographer brought a stack of his best prints to an old, honored photographer, seeking his judgment. Every year the old man studied the prints and painstakingly ordered them into two piles, bad and good. Every year that man moved a certain landscape print into the bad stack. At length he turned to the young man: "You submit this same landscape every year, and every year I put it on the bad stack. Why do you like it so much?" The young photographer said, "Because I had to climb a mountain to get it."
I have written that code. I bang my head against some problem for days or weeks. Eventually, I find a solution. Sometimes it's homely code that gets the job; usually it seems more elegant than it is, in relief against the work that went into discovering it. Over time, I realize that I need to change it, or delete it altogether, in order to make progress on the system in which it resides. But... the mountain. It's a freeing moment when I get over the fixation and make the change the code needs. I'll always have the mountain, but my program needs to move in a different direction. -----