February 29, 2024 3:45 PM

Finding the Torture You're Comfortable With

At some point last week, I found myself pointed to this short YouTube video of Jerry Seinfeld talking with Howard Stern about work habits. Seinfeld told Stern that he was essentially always thinking about making comedy. Whatever situation he found himself in, even with family and friends, he was thinking about how he could mine it for new material. Stern told him that sounded like torture. Jerry said, yes, it was, but...

Your blessing in life is when you find the torture you're comfortable with.

This is something I talk about with students a lot.

Sometimes it's a current student who is worried that CS isn't for them because too often the work seems hard, or boring. Shouldn't it be easy, or at least fun?

Sometimes it's a prospective student, maybe a HS student on a university visit or a college student thinking about changing their major. They worry that they haven't found an area of study that makes them happy all the time. Other people tell them, "If you love what you do, you'll never work a day in your life." Why can't I find that?

I tell them all that I love what I do -- studying, teaching, and writing about computer science -- and even so, some days feel like work.

I don't use torture as analogy the way Seinfeld does, but I certainly know what he means. Instead, I usually think of this phenomenon in terms of drudgery: all the grunt work that comes with setting up tools, and fiddling with test cases, and formatting documentation, and ... the list goes on. Sometimes we can automate one bit of drudgery, but around the corner awaits another.

And yet we persist. We have found the drudgery we are comfortable with, the grunt work we are willing to do so that we can be part of the thing it serves: creating something new, or understanding one little corner of the world better.

I experienced the disconnect between the torture I was comfortable with and the torture that drove me away during my first year in college. As I've mentioned here a few times, most recently in my post on Niklaus Wirth, from an early age I had wanted to become an architect (the kind who design houses and other buildings, not software). I spent years reading about architecture and learning about the profession. I even took two drafting courses in high school, including one in which we designed a house and did a full set of plans, with cross-sections of walls and eaves.

Then I got to college and found two things. One, I still liked architecture in the same way as I always had. Two, I most assuredly did not enjoy the kind of grunt work that architecture students had to do, nor did I relish the torture that came with not seeing a path to a solution for a thorny design problem.

That was so different from the feeling I had writing BASIC programs. I would gladly bang my head on the wall for hours to get the tiniest detail just the way I wanted it, either in the code or in the output. When the torture ended, the resulting program made all the pain worth it. Then I'd tackle a new problem, and it started again.

Many of the students I talk with don't yet know this feeling. Even so, it comforts some of them to know that they don't have to find The One Perfect Major that makes all their boredom go away.

However, a few others understand immediately. They are often the ones who learned to play a musical instrument or who ran cross country. The pianists remember all the boring finger exercises they had to do; the runners remember all the wind sprints and all the long, boring miles they ran to build their base. These students stuck with the boredom and worked through the pain because they wanted to get to the other side, where satisfaction and joy are.

Like Seinfeld, I am lucky that I found the torture I am comfortable with. It has made this life a good one. I hope everyone finds theirs.

Posted by Eugene Wallingford | Permalink | Categories: Computing, Personal, Running, Software Development, Teaching and Learning

June 07, 2022 12:25 PM

I Miss Repeats

This past weekend, it was supposed to rain Saturday evening into Sunday, so I woke up with uncertainty about my usual Sunday morning bike ride. My exercise bike broke down a few weeks back, so riding outdoors was my only option. I decided before I went to bed on Saturday night that, if it was dry when I woke up, I would ride a couple of miles to a small lake in town and ride laps in whatever time I could squeeze in between rain showers.

The rain in the forecast turned out to be a false alarm, so I had more time to ride than I had planned. I ended up riding the 2.3 miles to the fifteen 1.2-mile laps, and 2.30 miles back home. Fifteen mile-plus laps may seem crazy to you, but it was the quickest and most predictable adjustment I could make in the face of the suddenly available time. It was like a speed workout on the track from my running days. Though shorter than my usual Sunday ride, it was an unexpected gift of exercise on what turned out to be a beautiful morning.

A couple of laps into the ride, the hill on the far end of the loop began to look look foreboding. Thirteen laps to go... Thirteen more times up an extended incline (well, at least what passes for one in east central Iowa).

After a few more laps, my mindset had changed. Six down. This feels good. Let's do nine more!

I had found the rhythm of doing repeats.

I used to do track repeats when training for marathons and always liked them. (One of my earliest blog entries sang the praises of short iterations and frequent feedback on the track.) I felt again the hit of endorphins every time I completed one loop around the lake. My body got into the rhythm. Another one, another one. My mind doesn't switch off under these conditions, but it does shift into a different mode. I'm thinking, but only in the moment of the current lap. Then there's one more to do.

I wonder if this is one of the reasons some programmers like programming with stories of a limited size, or under the constraints of test-driven design. Both provide opportunities for frequent feedback and frequent learning. They also provide a hit of endorphins every time you make a new test pass, or see the light go green after a small refactoring.

My willingness to do laps, at least in service of a higher goal, may border on the unfathomable. One Sunday many years ago, when I was still running, we had huge thunderstorms all morning and all afternoon. I was in the middle of marathon training and needed a 20-miler that day to stay on my program. So I went to the university gym -- the one mentioned in the blog post linked above, with 9.2 laps to a mile -- and ran 184 laps. "Are you nuts?" I loved it! The short iterations and frequent feedback dropped me in to a fugue-like rhythm. It was easy to track my pace, never running too fast or too slow. It was easy to make adjustments when I noticed something off-plan. In between moments checking my time, I watched people, I breathed, I cleared my mind. I ran. All things considered, it was a good day.

Sunday morning's fifteen laps were workaday in comparison. At the end, I wished I had more time to ride. I felt strong enough. Another five laps would have been fun. That hill wasn't going to get me. And I liked the rhythm.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running, Software Development

March 04, 2021 2:34 PM

I Didn't See The Checkered Flag

A couple of months ago, I missed a major anniversary and almost didn't notice. Not so today, on an even more important personal landmark.

Ten years ago today, I ran for the last time.

According to my running log, it was an ordinary March morning, cold, damp, but no ice on the ground. I ran one of my favorite routes, and 8.25-mile loop I had been running for fifteen years. It was the first route longer than 5.5 miles I ever designed and ran, beginning an ending at the first house we owned in town. It passed only a few hundred feet from the house we moved to in 2008, so I adapted it and kept running. It consisted of small neighborhood streets, some urban trail, and a 2/3-mile passage through a wooded area near our new house. I ran this route on lots of Wednesdays in marathon training and lots of Fridays in the off-season when I was running purely for fun. March 4, 2011, was such a day.

There was nothing remarkable about my run that day. I had been coming down with a cold, so my time was unremarkable, too. I recorded my time when I got home and figured I'd run twelve miles on Sunday, as I usually did at this time of year.

Unfortunately, the cold turned worse, and suddenly I was as sick as I had been in a long time. I can't remember if I ever went to the doctor, but this one knocked me down hard for a week and a half. Just as I was ready to start running again, I felt a twinge in my right knee heading out for a walk with my wife. I became a runner, interrupted. I didn't know at the time, but I would not be running again.

Running had become a big part of my life over the previous 10 or 15 years, and it was a bit of a shock not to be able to enjoy the highs and lows of miles on the road. But we humans are resilient creatures, and I eventually adjusted to the new normal. I occasionally still dream about running, which is, to be honest, glorious. But mostly I get by walking with my wife, riding my bike, and trying to stay fit with other kinds of workout. Nothing feels like running, though, and nothing has ever made me as fit. As much as I like to bike and walk, I have never thought of myself as a walker or a cyclist. Maybe one day I will.

I think, though, that I will always think of myself as a runner. However, my right knee no longer agrees with me, and I am rational enough to weigh benefits and costs and make the right choice. So I don't run.

Ten years on, that still feels a little odd. As with so many things in life, no one waved a checkered flag at the end of my last run. I didn't know it was my last run until six weeks later, so I ended up grieving a loss that had, in a way, already happened.

I realize that, in the grand scheme of things, this is a minor loss. I've been fortunate my entire life, and if not running is the worst thing that ever happens to me, I will have lived an insanely fortunate life. Still I miss it and probably always will.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

December 09, 2020 11:22 AM

I Missed a Major Anniversary And Almost Didn't Notice

Yesterday, I mentioned Barney Stinson's legendary rules for running a marathon. Truly dedicated readers of this blog may remember that I first quoted Barney's rules many moons ago when beginning to run again after a short layoff.

Back then, I blogged a fair bit about running, and especially about the mental connections I made among training, running, teaching, and writing software. Alas, my running life ended rather abruptly when the ultimate effects of an old tennis injury became apparent over a decade later.

running strong in the 2010 Des Moines Marathon

October this year brought the tenth anniversary of my final marathon, a beautiful morning spent on the flat streets and trails of Des Moines. Such a momentous anniversary deserved a celebration, or at least a recollection in my blog. However, in the blur of my fall semester, it blew right by me, much like the fastest runners on the course that morning.

I did not completely forget the anniversary. Several months ago, it came to mind, and at the time I made a mental note to write a retrospective blog post. Few readers would care enough to read such a post, but this would be for me, a way to remember so many fond moments on the road and to mourn again, ever so briefly, something I lost.

I should have set an alert in my calendar app.

If this were a wedding anniversary, a spouse might have reminded me, but this was all on me. (I say "might" there because my own spouse is not the sort to valorize anniversaries and birthdays.) Like so much blogging not done in the last year or so, the post I intended to write turned out to be vaporware.

Here, on a beautiful sunny morning seven weeks later, I don't feel much need to write about that last marathon again. Running is no longer a part of my day, my life, though occasionally it is still part of my dreams at night. Some days, I miss it more than others. Perhaps the next time I feel that longing, I'll sit down immediately and write, rather than plan to write some months on. That's the best way for me to blog: to try to capture a thought or feeling in the moment and make sense of it then.

On a completely unrelated note: While looking in my blog's image library for the picture posted above, I realized that the date of my last marathon, 10-20-2010, is a palindrome of sorts: 10 20 20 10. I love to play with digits and feel no compulsion to hew closely to dictionary definitions when it comes to the patterns I see. Numbers offer small joys in most moments, if we let them.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

December 08, 2020 2:06 PM

There Is No Step Two, But There Is A Step Three

In a not-too-distant post, Daniel Steinberg offered two lessons from his experience knitting:

So lesson one is to start and lesson two is to keep going.

This reminded me of Barney Stinson's rules for running a marathon (10s video):

Here's how you run a marathon.

Step 1: Start running.


Oh, yeah -- there's no Step 2.

Daniel offers more lessons, though, including Lesson Three: Ask for help. After running the New York Marathon with no training, Barney learned this lesson the hard way. Several hours after the marathon, he found that he no longer had control of his legs, got stuck on the subway because he could not stand up on his own, and had to call the gang for help.

I benefit a lot from reading Daniel's blog posts, and Barney probably could have, too. We're all better off now that Daniel is writing for his blogs and newsletters regularly again. They are full of good stories, interesting links, and plenty of software wisdom.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

January 06, 2019 10:10 AM

Programming Never Feels Easier. You Just Solve Harder Problems.

Alex Honnold is a rock climber who was the first person to "free solo" Yosemite's El Capitan rock wall. In an interview for a magazine, he was asked what it takes to reach ever higher goals. One bit of advice was to "aim for joy, not euphoria". When you prepare to achieve a goal, it may not feel like a big surprise when you achieve it because you prepared to succeed. Don't expect to be overwhelmed by powerful emotions when you accomplish something new; doing so sets too high a standard and can demotivate you.

This paragraph, though, is the one that spoke to me:

Someone recently said to me about running: "It never feels easier--you just go faster." A lot of sports always feel terrible. Climbing is always like that. You always feel weak and like you suck, but you can do harder and harder things.

As a one-time marathoner, never fast but always training to run a PR in my next race, I know what Honnold means. However, I also feel something similar as a programmer. Writing software often seems like a slog that I'm not very good at. I'm forever looking up language features in order to get my code to work, and then I end up with programs that are bulky and fight me at every turn. I refactor and rewrite and... find myself back in the slog. I don't feel terrible all that often, but I am usually a little on edge.

Yet if I compare the programs I write today with ones I wrote 5 or 10 or 30 years ago, I can see that I'm doing more interesting work. This is the natural order. Once I know how to do one thing, I seek tougher problems to solve.

In the article, the passage quoted above is labeled "Feeling awful is normal." I wonder if programming feels more accessible to people who are comfortable with a steady, low-grade intellectual discomfort punctuated by occasional bouts of head banging. Honnold's observation might reassure beginning programmers who don't already know that feeling uneasy is a natural part of pushing yourself to do more interesting work.

All that said, even when I was training for my next marathon, I was always able to run for fun. There was nothing quite like an easy run at sunrise to boost my mood. Fortunately, I am still able to program that way, too. Every once in a while, I like to write code to solve some simple problem I run across on Twitter or in a blog entry somewhere. I find that these interludes recharge me before I battling the next big problem I decide to tackle. I hope that my students can still programming in this way as they advance on to bigger challenges.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

March 04, 2018 11:07 AM

A Seven-Year Itch

Seven years ago, I went out for my last run. I didn't know at the time that it would be my last run. A month or so later, I noted that I had been sick for a couple of weeks and then sore for a couple of weeks. After another four weeks, I reported that my knee wasn't going to get better in a way that would enable me to run regularly again. That was it.

My knee is better now in most important ways, though. A simple fix wasn't possible, but a more involved surgery was successful. Today, I walk a lot, especially with my wife, ride a bike a lot, again especially with my wife, and otherwise live a normal physical life. The repaired knee is not as mobile or responsive as my other knee but, all things considered, life is pretty good.

Even so, I miss running. A couple of years ago, I wrote that even five years on, I still dreamed about running occasionally. I'll be up early some morning, see a sunrise, and think, "This would make for a great run." Sometimes, when I go out after a snowfall, I'll remember what it was like to be the first person running on fresh snow out on the trails, under ice- or snow-covered branches. I miss that feeling, and so many others. I still enjoy sunrises and new snow, of course, but that enjoyment has long been tangled up with the feel of running: the pumping lungs, the long strides, the steady flow of scenery. Walking and biking have never given me the same feeling.

My orthopedic surgeon was worried that I would be like a lot of former runners and not stay "former", but I've been pretty well-behaved. In seven years I have rarely broken into even the slowest of trots, to cross a street or hurry to class. The doctor explained to me the effects of running on my reconstructed knee, the risk profile associated with contact sports, and what contact would likely mean for the future of the knee. As emotional I can seem about running, I'm much too rational to throw caution out the door for a brief thrill of running. So I don't run.

Even so, I often think back to the time I was rehabilitating my knee after surgery. Our athletic department has a therapy pool with an underwater treadmill, and my therapist had me use it to test my endurance and knee motion. The buoyancy of the water takes enough pressure off the legs that the impact on the knee doesn't damage the joint. I think I can achieve the same effect in the ocean, so the next time I get to a coast, I may try an underwater run. And I dream of getting rich enough to install one of those therapy pools in my house. I may not be a runner anymore, but I'm adaptable and perfectly willing to enjoy the benefits of technology.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

October 16, 2016 10:34 AM

Missing the Rhythm of Running

I ended up with an unexpected couple of hours free yesterday afternoon, and I decided to clean up several piles of old papers on the floor of my running room. Back when I ran marathons, I was an information hound. I wrote notes, collected maps, and clipped articles on training plans, strength training, stretching and exercise, diet and nutrition -- anything I thought I could use to get get better. I'm sure this surprises many of you.

There was a lot of dust to dig through, but the work was full of happy reminiscences. It's magical how a few pieces of paper can activate our memories. The happy memories leave in their wake a sadness, when my time as a runner ended. That's when the piles stopped growing. I stopped collecting material, because I wasn't running anymore.

Fortunately, the sadness of loss didn't drown out the happy memories. Instead, I started thinking about the future, which is really now. These thoughts are long past due.

Looking back through my running logs reminded of the pattern of my life as a marathoner. There was an ebb and a flow to the year. I trained for my first half marathon. Then I trained for my first full marathon. I ran lightly for a few weeks as my body recovered. Winter and spring saw regular runs, but a break for mind and body alike: no big plans, just enjoying the road. Then came the end of spring, and it started all over again: training for big races. These years were filled with variety in my running, variety in my goals.

The last few years have been different. I recovered from a couple of operations, eventually taking up the elliptical machine and returning to my bike for fitness. However, I have never become a cyclist in spirit the way I became a runner. I've been exercising lots, staying fit and healthy, but I miss the rhythm of running and training for marathons. In comparison, my exercise since leaves me bored and uninspired.

Diving into those piles of paper yesterday started me thinking, what are the next goals? I'll be working on that as we slide into winter, looking forward what next spring might bring.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

November 01, 2015 10:16 AM

Five Years On, I Still Dream About Running

A little over five years ago, on October 17, 2010, I ran my last marathon. It was a great day. At the time, I didn't know it would be my last marathon. I figured I'd take it easy for a couple of weeks, allowing my legs to recover, and then I'd be back to running as usual. And that's how things went, for a few months. Then things changed. I wasn't a runner anymore.

The fifth anniversary of my final marathon passed with no fanfare. That's unusual. I'm sentimental and prone to remembering anniversaries. I remember thinking last summer that I should blog a reminiscence about that Des Moines Marathon, and a paean to the loss of running from my life. Then I got busy with family and school, and the day passed unnoticed. Time marches on.

Last night, though, I dreamed I was running, and it all came back to me. I was running through the town where I live, down a street I don't ever recall running down in real life. My heart beat faster. My breathing was rhythmic, strong. Soon the scene segued into a strange nowhere, on streets and trails unlike anything in my town; yet they felt as real and as much home to me as the streets I walk every day. The run became the backbone of a crazy dream, as some dreams are, but the running itself felt as it so often did before. I was both aware of my body and oblivious to it. The dream and the run seemed to go on for a long time, until both were over in an instant.

Feeling these feelings again was at once sad and enormously pleasing. It's sad to feel something I enjoyed so much and know that I can never enjoy it in the same way again. But to feel that way again, seemingly as real as any time I ever felt when living it, was a surprising joy. I wonder how long my mind can hold these memories, so real, and serve them up unexpectedly. I will gladly accept a little sadness every so often, feeling the loss again, if it also means being a runner again. Even if it's only a dream.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 07, 2013 9:02 PM

Riding in Muncie

mile marker 82 on the Cardinal Greenway

It's been three years since my most recent Running on the Road entry, from the Oxford, Ohio, area. Little did I know at the time it would be my last. I've started cycling in place of running, though until now when I've traveled I've either hit the hotel's fitness room or walked outdoors.

This is the first trip since Oxford that I have taken my exercise with me. I put a Thule bike rack on the trunk of my Taurus and brought my bike with me.

I'm back again in Muncie, which I reported in my second Running on the Road entry back in October 2004. This gave me a chance to revisit the Cardinal Greenway, an old favorite for marathon training. I've several times done 20-milers by running from the Wysor Depot north to Gaston and back. This time, with my bike, I headed south to see new ground. The result was a ride down past Losantville and 50 miles total. A good ride.

Biking when I travel is tougher than running. I need so much more equipment, and it takes so much more space to pack. Unless I can find ways to rent or borrow a bike at my destination, I will be limited to riding in places to which I can drive. But I'm willing to give it a try. If things go well on upcoming trips this fall to St. Louis and Allerton Park, Riding on the Road may become its own series of posts.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 18, 2013 12:52 PM


I bought a new bike this week, a refurbished 1989 Schwinn Le Tour:

my newly refurbished 1989 Schwinn Le Tour

I've been riding Le Tours for thirty years, even before they hit their stride as a great bike. Last September, I had an unexpected encounter with a fallen tree on the bike trail and bent the frame on my latest model, circa 1985. I was glad to find another in such fine condition. It has a lighter, sleeker body than my older model, and the guy who refurbished it installed nicer accessories than I'm used to.

After many months outdoors on foot and indoors on an exercise bike, I was psyched to get out on the road. For my first ride, I chose an old friend, a scenic 12-mile route north of town that I used to run regularly, but which I hadn't been on for two and a half years. The ride brought a mix of sensations: newness, nostalgia, and a familiar burn in my legs. A good ride to christen my new old bike and my new old legs.

2011 was the year of surgery. 2012 was the year of rehabilitation and recovery. I spent a lot of time getting my right knee and quadriceps back into a shape that supports a normal life. My mind, too.

2013 is the year in which I become a cyclist -- that is, if I am ever to become a cyclist in a way that resembles the way I used to be a runner. It's time.

I have a lot to learn, and re-learn. Some things are relatively big, such as how to train for long rides and how to pace myself in the midst of training. Others are as simple as how to dress in different weather conditions. This kind of learning is part of the fun for me.

The marathoner lying dormant within me is already setting goals, deep in the recesses of my mind... maybe a trip down the Cedar Valley Nature Trail to Cedar Rapids. I have a lot of work to do before I'm ready for such an ambitious ride. That's part of the fun for me, too.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 03, 2013 3:37 PM

A Participator in the Panorama of Nature

John Burroughs, in "The Exhilarations of the Road" (1895):

[The walker] is not isolated, but one with things, with the farms and industries on either hand. The vital, universal currents play through him. He knows the ground is alive; he feels the pulses of the wind, and reads the mute language of things. His sympathies are all aroused; his senses are continually reporting messages to his mind. Wind, frost, ruin, heat, cold, are something to him. He is not merely a spectator of the panorama of nature, but a participator in it. He experiences the country he passes through--tastes it, feels it, absorbs it; the traveller in his fine carriage sees it merely.

Knee surgery ended my avocation as a runner. I used to walk a lot, too, but these days I walk even more than I used to. For more than a year, I have walked to and from work almost every day, even through the Iowa winter. As both runner and walker, I recognize the exhilaration Burroughs describes. I find that I appreciate the elements rather than curse them. Wind and frost, rain and snow, heat and cold all matter. Why complain about a driving rain? The world is alive around me.

(I found Burroughs's passage in Solvitur Ambulando, a discourse on the virtues of walking in the spirit of Thoreau. I love the title as well as the essay.)

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

March 04, 2012 9:34 AM

One Year Later

March 4, 2011, was a Friday like any other. I had fallen into a comfortable weekly routine: easy 5-milers on Tuesday and Thursday, a medium 7-miler on Wednesday, a hard 8 miles on the indoor track on Friday, and 8 miles on Sunday. February had been snowy and cold, which made my preferred 12-mile long run on Sundays a bit too much. In place of those miles, I ran a little faster on Fridays and looked forward to the coming spring thaw.

The morning was crisp and the roads clearer than they had been, so I decided to run outdoors. I picked out my favorite 8-mile route, an old friend I had first met when we lived on the other side of town. It passed by our new house, too, and so made the move with us.

It was an excellent run. Footing on hills and in curves is the big challenge of running outdoors in winter, so I didn't worry about pace. I breathed in the cold air, took in the old sights, and felt my body reach equilibrium with the elements.

the road to nowhere

I did not know at the time, but this would be my last run.

A flu that had been going around hit me later that day, and I was in bed sick for a few days. Then one morning, as I was starting to feel better, I woke up with a sore knee. No big deal, I thought; I'll take advantage of the extra day to be sure I've really licked that flu.

The flu left, but the knee pain did not. It got worse. I eventually went to see a specialist, who gave me the bad news, operated, gave me some more bad news, and operated a second time.

Since then, I have been rehabbing, slowly adding time and effort to my work-outs. But I have not run.

Two days ago, another first Friday of March, 52 weeks later, I had my best post-running workout yet. I still have far to go. The knee is still a little swollen, and it stiffens up after the shortest bouts of inactivity. It feels funny. But I see light.

There are days when I still feel that old urge to lace up my Asics GT-2100s and take off. I expect that summer bring plenty more of those days. The long road to who-knows-where stretches out before me as always, but I won't be exploring it on the run.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

January 08, 2012 9:57 AM

Another Shovel Of Dirt

This morning, I did something I hadn't done since Sunday, February 27. I did a long workout. That day, it was a 12-mile run in single-digit temperatures, a bright, sunny morning. This day, it was a 1-hour ride on an exercise bike in my basement. It is again a bright, sunny morning, but I was shielded from the winter old.

It felt good.

I've been riding an exercise bike daily since mid-November or so, working my way up from the 10-15 minute I rode occasionally in earlier therapy physical sessions first to 30 minutes, and now to 45 minutes at a time. Today for some reason, my mind said, just keep riding.

Over the last couple of months, I have begun exercising my knee more often and for longer, as I rehab from knee surgery last summer. In addition to the exercise bike, I have been walking a lot. Most days now, I walk 4-5 miles, usually in the evening with my family. It's not running, but it's moving, and it feels good to move -- and burn a few calories. After seven months of inactivity, I had gained twenty pounds and lost my lovely figure. I'm working on both those problems now.

The last two months of 2011 offered an experience that turned my memory inside out: my therapist had me run in our athletic department's Hydroworx pool. Put simply, this is a treadmill on the floor of a pool, which can be lowered to any level. Air jets blow water at the runner to create more resistance. Running in the water blunts impact on all the joints, including the knee, so my surgeon recommended it as part of my therapy.

The first time we speeded the treadmill from walk to gentle run, I was in ecstasy. My body fell into that comfortable rhythm that runners know and love. My heart raced. At first, my mind was empty, but soon it flooded with memories of runs past. I had not felt like a runner since last March. Yet there I was, a runner again.

That feeling was bittersweet, though. I knew that I could run in the pool only for a couple of months, as part of my therapy. Once my knee regained a certain level of strength and balance, pool sessions for therapy would end. And so they did. When I make my first Internet million, perhaps I'll build such a pool at my house, but for now I am back to walking and biking.

I haven't been writing about my knee, or about not running, for a lot of small reasons. This isn't a confessional blog, and I doubt many readers are interested in hearing me go on and on about my feelings. I also haven't find myself making connections between my rehab and my teaching or my software development, as I did when I was running. My experiences have been nothing unique, mostly what musical artist John Mellencamp calls "ditch digging": just doing what little I have to do each day. There is certainly something to be learned in this experience, but at this point I have nothing special to say.

Still, after riding for a full hour today, feeling a little like I did on all those Sunday long runs, reminded me of something worth remembering. When we do the little work day to day, we build something bigger. It takes patience. Another shovel of dirt.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

July 28, 2011 9:20 PM

Cautiously Optimistic

the equipment for a makoplasty

After two bouts of bad news about my knee -- first the diagnosis and then the ineffectiveness of simpler fixes -- I have received good news, all things considered. A week ago Monday, I underwent a relatively new form of partial knee replacement called makoplasty. The surgeon thought the operation went very well. Good news at last!

Now I am in a second round of recovery and rehabilitation, with therapy much like the first round: lots of non-weight-bearing motion to loosen the joint and to strengthen the muscles in the joint and the rest of the leg. There is certainly more pain than last time, but it's not so bad. I did have an adverse reaction to the medication prescribed for the pain, which has been uncomfortable and slowed my recovery, but I think I have to be happy with where I am and cautiously optimistic about where I can be in a few weeks and months. While that still almost certainly still will not include running, I should be able to return to an active life.

An experience from the surgery reminded me that, while I may be able to become active again, I won't be a youngster anymore. This procedure required spending one night in the hospital, so that they could monitor my vitals and my incision closely for a few hours. On the overnight shift, I had a college-aged nurse's aide who helped me several times. She called me, "Honey". Twice. Each time, I felt twice my age, rather than twice hers.

Still, I look forward to the progress a little hard work can provide to feeling young again.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

June 08, 2011 7:24 PM

From PDF Files to Sense of Loss

After I wrote my previous post, I downloaded the PDF version of the June issue of Chess Life to check out its quality and readability. Lo and behold, the first letter to the editor said:

I would like to seek readers' help in solving my dilemma about Chess Life magazine. Since 1972 -- almost 40 years! -- I have saved every copy of Chess Life. I treasure these magazines, of course, and I want to keep the "streak" going until I pass away. However, I also recognize that mailing magazines is costly for USCF, and that it is much less "green" than reading Chess Life online.

So, dear readers, what should I do? Keep the 40-year streak going despite the cost and environmental impact, or get with the times and read Chess Life online?

The motive force behind my dilemma is less base than wanting to maintain a streak, and yet more selfish than wanting to save the earth. Still, I chuckled at the unexpected conjunction served up by the universe.

While writing that post, I read back over the much older post I linked to, Electronic Communities and Dancing Animals. It contains an extended passage that I reread and thought about for a while:

I know this beauty, and I'm sure you do. We are physical beings. The ability and desire to make and share ideas distinguish us from the rest of the world, but still we are dancing animals. There seems in us an innate need to do, not just think, to move and see and touch and smell and hear. Perhaps this innate trait is why I love to run.

But I am also aware that some folks can't run, or for whatever reason cannot sense our physical world in the same way. Yet many who can't still try to go out and do. At my marathon last weekend, I saw men who had lost use of their legs -- or lost their legs altogether -- making their way over 26.2 tough miles in wheelchairs. The long uphill stretches at the beginning of the course made their success seem impossible, because every time they released their wheels to grab for the next pull forward they lost a little ground. Yet they persevered. These runners' desire to achieve in the face of challenge made my own difficulties seem small.

I suspect that these runners' desire to complete the marathon had as much to do with a sense of loss as with their innate nature as physical beings. And I think that this accounts for Vonnegut's and others' sentiment about the insufficiency of electronic communities: a sense of loss as they watch the world around evolve quickly into something very different from the world in which they grew.

Living in the physical world is clearly an important part of being human. But it seems to be neither necessary nor sufficient as a condition.

Another timely conjunction. I am heartened now by the stout spirit of the runners I saw in DC. I am also reminded anew of how small my own loss is when compared to theirs, and how much more noble its source. Fortunately, I seem to have reached a state of acceptance relatively quickly, enough so that I don't feel much envy or sadness when I see runners pass by my house on the bike trail that leads to many of my favorite routes. Still, at heart, I am a dancing animal.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

June 03, 2011 1:46 PM

A Second Round of Surprise

When we last visited this tale, I had learned that my right knee suffers from a condition known as OCD and that my life as a distance runner was likely over. Depending on the size of the lesion and the state of the bone tissue, there are several potential reparative and restorative procedures that my surgeon could take. But running was almost certainly out of question.

After doing some research, we decided to do arthroscopic surgery to try to repair the lesion. My surgeon hoped that he would be able to do microfracture surgery or, if the lesion were a little bigger, perhaps the OATS procedure, which transplants good cartilage to the lesion for regrowth. If the lesion were too large for either of these procedures, there was one more option, the first step of a newer technique known as CARTICEL. The expected procedures, microfracture or OATS, would require a recovery period of six to eight weeks, during which I would not be allowed to put weight on the knee but would be doing a lot of motion therapy to stimulate blood flow and tissue growth.

I went in for arthroscopy last Wednesday, May 25. It had been thirty years since I had undergone surgery, to repair the rotator cuff in my left shoulder, and this experience was quite different. Medical technology has come a long way in thirty years. We did the operation at an outpatient surgery center, which was much more comfortable than the typical hospital. I was in and out in about four hours, despite being placed under general anesthesia. I went to sleep and woke up comfortably and even recall some of the conversations I had with nurses as I left the post-op room. The surgeon spoke to my wife after surgery, but I was still out cold. That evening, I was home resting comfortably.

The surgery was one of those good news/bad news things. The good news was that my recovery would be faster than we had planned. The bad news was why: the surgeon was not able to do either microfracture or OATS, because the damage to my joint is more extensive than we thought. It looks to be more degenerative than the result of a specific trauma, which fits how it presented better than the typical cases. So, instead he removed some loose cartilage, including one large piece, and cleaned up cartilage on both sides of the joint.

For the last week, I have been doing physical therapy, using lots of non-weight-bearing motion to loosen the joint and to strengthen other muscles in the leg, so that they can take pressure off the knee when we return it to full use.

Yesterday I went in for my post-op appointment with the surgeon, to gauge the state of recovery and to discuss next steps. He showed me pictures of the inside of my knee from the scope and explained why he could not do the procedures he had planned. The reasons came down to two. First, the lesion is wider and deeper than we had hoped, and microfracture and OATS only work on shallow wounds of a few centimeters at most. Second, there is also damage on the tibia across from the lesion on the femur. This is known as a "kissing lesion" and means that any new tissue growth at the bad spot on the femur would be damaged whenever I walked and the knee joint closed.

The next thing for us to try is a partial knee replacement, in which he cleans up the damaged area and fills the lesion with a piece of something. Basically, the options are again two. One is called osteochondral allograft, which uses a bone and tissue plug taken from a cadaver. The second is to use a synthetic implant made of the plastic and metal. The surgeon suggested that I may be a candidate for makoplasty, which uses computer visualization to help create the implant and an interactive robotic arm and to place it in the lesion and attach it to the femur. That sounds incredibly cool. I have to be sure not to let my fascination with the technology unduly influence my decision!

At this point, my wife and I have some research to do, to decide what, if anything, we want to do next. I am on the young side for even a partial knee replacement, but medical advances are improving the longevity of the procedures' effectiveness. My surgeon is sensitive to the fact that, as a relatively long guy, I probably want to live a more active lifestyle than an unrepaired joint is likely to allow. It is a big step for me, whatever we choose.

In any case, the surgeon says I need to continue working diligently on physical therapy, to build up the muscles both in the knee and, more importantly, all the other muscles and joints in the leg. If I don't do more surgery, these muscles are essential to supporting the damaged knee; if I do opt for more surgery, these muscles need to be as strong as possible to support the knee during recovery and rehabilitation. So, off to therapy I go.

If any of my running friends are still reading, I can add this: given both the size and character of my lesion and the way it presented, the surgeon is unable to say to what extent my heavy mileage affected the condition. Clearly, heavy mileage delivers a lot of repeated trauma to our knee joints. But with no previous pain or disruption to my running, it seems almost as likely that my running delayed the onset of the bone necrosis as that it caused it. I seem simply to have been unlucky genetically in this one regard.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

April 30, 2011 10:05 AM

A Shock to the System

I received some bad news from the doctor yesterday. It looks like my running career is over.

As I wrote earlier this month, I haven't run since March 4, when I came down with the flu. As that was ending, my right knee started to hurt and swell, though I was not aware of any injury or trauma that might have caused the symptoms.

In the few weeks since that entry, the pain and swelling have decreased but not disappeared. We finally had an MRI done on Thursday so that an orthopedic surgeon could examine me yesterday.

The diagnosis: Osteochondritis dissecans (OCD). This is a condition in which articular cartilage in a joint and the bone to which it attaches crack or pull away from the rest of the bone. OCD occurs when the subchondral bone is deprived of blood. As near as I can tell from my reading thus far, the cause of the blood deprivation itself is less well understood.

Depending on the size of the lesion and the state of the bone tissue, there are several potential reparative and restorative steps that my surgeon can take. Unfortunately, even with the best outcomes, the new tissue is more fragile than the original tissue and usually is not able to withstand high-impact activity over a long period.

That's where we get to the bad news. I almost surely cannot run any more.

After the doctor told me his diagnosis and showed me the MRI, he said, "You're taking this awfully well." To be honest, as the doctor and I talked about this, it felt as if we were discussing someone else. I'm not the sort of person who tends to show a lot of emotion in such situations anyway, but in this case the source of my dispassion was easy enough to see. In an instant, I was jolted from trying to get better to never getting better. On top of that jolt, it wasn't all that long ago that I went from running 30+ peaceful miles a week to not running at all. I was stunned.

On the walk back to my office, my conscious and subconscious minds began to process the news, trying to make sense of it. I have had a lot of thoughts since then. My first was that there was still a small chance that the lesion wouldn't look so bad under the scope, that it could heal and that I would be back on the road soon. I chuckled when I realized that I had already entered the stage of grief, denial. That small chance does exist, but it is not a rational one on which to plan my future. The expected value of this condition is much closer to long-term problems with the knee than to "yeah, I'm running again". I chuckled because my mind was so predictable.

Not being able to run is a serious lifestyle change for someone who has run 13,000 miles in the last eight years. It also means that I will have to make other changes to my lifestyle as well. My modest hope is that eventually I will still be able to take walks with my wife. In then grand scheme, I would probably miss those more than I miss the running.

I'm also going to have to change my diet. As a runner, I have been able to consume a lot of calories, and it will be impossible to burn that many calories without running or other high-impact exercise. This may actually be a good thing for my health, as strange as that may sound. Burning 4000 extra calories a week covers up a multitude of eating sins. I'll have to do the right thing now. Maybe this is what people mean when they see a misfortune as an opportunity?

I've had only two really sad thoughts since hearing the news. First, I wish I had know that my last run was going to be my last run. Perhaps I could have savored it a bit more. As it is, it's already receding into the fogginess of my memory. Second, I wonder what this will mean for my sense of identity. For the last decade, I have been a runner. Being a runner was part of who I was. That is probably gone now.

Of course, when I put this into context, it's not all that bad. There could have been much worse diagnoses with much more dire consequences for my future. Much worse events could have happened to me or a loved one. As one of my followers on Twitter recently put it, this is a First World Problem: a relatively healthy, economically and politically secure white male won't be able to spend hours each week indulging himself in frivolous athletic activity for purely personal gain. I think I'll survive.

Still, it's a shock, one that I may not get used to for a while. I'm not a runner any more.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

April 03, 2011 10:07 AM

Runner, Interrupted

Have you ever confused a dream with life?

I haven't blogged about running in a long while. Then again, I haven't run in a while now.

If you'd rather not hear me whine about that, you should skip the rest of this post!

I was getting through winter well enough, running 30+ miles each week. The coldest weather wasn't even stopping me; long, cold runs were the norm on Sunday mornings.

On March 4, I ran a good track workout, but as the day wore on I knew I wasn't feeling well. What ensued was the worst flu or something that I can remember. It knocked me out for two full weeks, through SIGCSE and spring break. I made it to Dallas for the conference, but my paucity of SIGCSE-themed posts was certainly a product of just how bad I felt.

Just as I was ready to start running again, my right knee became the problem. I don't recall suffering any particular injury to it at the time. I woke up one day with a stiff knee. Within a couple days I felt pain while walking, and soon it was swollen and stiffer.

It's now been two weeks more. I'm still hobbling around, knee wrapped tightly to immobilize it. The swelling and pain have decreased, and I hope that means I am on a trajectory to normal function. I have a second doctor's appointment this coming week. With any luck, an MRI will be able to tell us what is going on in there.

While I don't recall suffering any particular injury to the knee recently, I suspect that this is related to an injury I do remember. In 1999, I was at ChiliPLoP. We were playing doubles tennis after a long day working on elementary patterns. About an hour in, I was back and my partner was at the net. One of our opponents hit a bunny that floated enticingly over the net on my side of the court. I called my partner off and ran in for what would be an impressive smash. My partner must not have heard me. He ran along the net, apparently with the same idea in mind. As I stretched out to strike the ball, he struck me -- solidly on the inside of my knee, which buckled outwards.

For the rest of ChiliPLoP, I was pretty well immobile. After I returned home, I went to a highly respected orthopedic surgeon. He suggested a conservative plan, letting the knee heal and then strengthening it with targeted exercise. If all seemed well, we would skip surgery and see what happened.

After rest and exercise, the knee seemed fine, so we let it be. And so it was for twelve years. And just twelve years of sedentary lifestyle. Since 2003, I have kept close records of my running, and by my tally I have run about 13,000 miles. In all that time, I've never had any knee pain, and scant few days of running lost to injury. This injury could be the result of cumulative wear and tear, but I really would have expected to see symptoms of the wearing down over time.

I do hope that the doctor can figure out what's going on. With any luck, it's an aberration, and I'll be back on the trail soon!

(Writing this reminds me that I still haven't posted my Running Year in Review for 2010. I have started it a time or two and need only to finish. You'd think that not running would give me plenty of time...)

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

January 15, 2011 11:34 AM

Paying Memories Forward

When you run a road race, you usually receive some token, usually a ribbon or a medal. The longer the race, the more likely you are to receive a medal, but even shorter distances these days often come with a medal. For marathons and half-marathons, the race medal is often a Very Big Deal, both for race sponsors and the runners.

Here is an example, from the 2004 Des Moines Marathon:

2004 Des Moines Marathon -- This ain't no cornfield.

Local color plus attitude -- this is a great design!

For many runners, the race medal is an important memento. I appreciate this feeling and understand the desire to keep and display the symbol of their achievement. This feeling is perhaps strongest in first-time and one-time marathoners, who rightly see their race as the culmination of a much longer journey.

After a while, though, these mementos begin to pile up. I have run seven marathons, many half-marathons, and many more shorter races, and the result was a box full of ribbons, medals, and medallions. Over the last year or so, I have been working to reduce clutter in my house and mind, which has led me to ask myself some tough questions about the role of keepsakes. In the grand scheme of things, a shoebox of race medals is no big deal, but it was really just one manifestation of my habit of stockpiling memories: ticket stubs; programs from plays, recitals, and school programs; newspaper and magazine clippings; and, yes, race memorabilia. The list goes on. I wanted to make a change: to keep fewer physical keepsakes and to work harder to preserve the memories themselves.

Could I really give up my race medals? If so, could I just throw them away?

Walking around the race expo for the 2010 Des Moines Marathon, I discovered a better way. There I learned that about Medals4Mettle, a non-profit founded in my hometown of Indianapolis that collects marathon finisher's medals and distributes them to people who have "demonstrated similar mettle" by dealing with disease, handicaps, and other challenges:

As marathoners run through the streets, large crowds cheer the runners for their effort. Medals4Mettle lets these runners, healthy enough to compete in such an event, return the cheers to those who have supported them.

Why should my medals gather dust in a box in my basement when they could cheer up a child facing a real challenge? I finish these races through a combination of great luck in birth and in life. Put in context, my accomplishments are small.

The Iowa chapter of Medals4Mettle seems to be primarily the work of one man, Jason Lawry, a Des Moines runner. I was touched by his commitment, took his card, and ran my race.

Over Christmas break, I pulled the trigger and donated my medals to Jason's group. First, I snapped digital photos of every marathon and half-marathon medal in my box. Not being a great photographer or the owner of an awesome camera, this took a while, but it allowed me to spend some time saying good-bye to my medals. In the end, I showed a small bit of weakness and kept three. The 2003 Chicago Marathon was my first and so holds a special place with me:

2003 Chicago Marathon -- my first

I ran the 2009 500 Festival Mini-Marathon in my hometown after two years of unexplained illness that brought racing and most running to a halt:

2009 500 Festival Mini-Marathon -- my hometown

Finally, there is something about running the 2007 Marine Corps Marathon that will always stick with me. Sharing the course with our nation's military, both veterans and active duty, inspired me. Receiving this medal from uniformed Marines makes it special:

2007 Marine Corps Marathon -- Semper Fidelis

Keeping three mementoes with particular significance seemed okay, though they might well mean more to someone else. Perhaps I'll donate these medals later, as memories fade or as new ones take on greater significance. I was proud to drop off the rest of them at a local runner's store for collection by Mr. Lawry.

And, no, I did not keep that cool 2004 Des Moines medal with the gangsta Grant Wood theme. I hope it brings a smile to the face of a person who can use the smile.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

December 20, 2010 3:32 PM

From Occasionally Great to Consistently Good

Steve Martin's memoir, "Born Standing Up", tells the story of how Martin's career as a stand-up comedian, from working shops at Disneyland to being the biggest-selling concert comic ever at his peak. I like hearing people who have achieved some level of success talk about the process.

This was my favorite passage in the book:

The consistent work enhanced my act. I Learned a lesson: It was easy to be great. Every entertainer has a night when everything is clicking. These nights are accidental and statistical: Like the lucky cards in poker, you can count on them occurring over time. What was hard was to be good, consistently good, night after night, no matter what the abominable circumstances.

"Accidental greatness" -- I love that phrase. We all like to talk about excellence and greatness, but Martin found that occasional greatness was inevitable -- a statistical certainty, even. If you play long enough, you are bound to win every now and then. Those wines are not achievement of performance so much as achievements of being there. It's like players and coaches in athletics who break records for the most X in their sport. "That just means I've been around a long time," they say.

The way to stick around a long time, as Martin was able to do, is to be consistently good. That's how Martin was able to be present when lightning struck and he became the hottest comic in the world for a few years. It's how guys like Don Sutton won 300+ games in the major leagues: by being good enough for a long time.

Notice the key ingredients that Martin discovered to becoming consistently good: consistent work; practice, practice, practice, and more practice; continuous feedback from audiences into his material and his act.

We can't control the lightning strikes of unexpected, extended celebrity or even those nights when everything clicks and we achieve a fleeting moment of greatness. As good as those feel, they won't sustain us. Consistent work, reflective practice, and small, continuous improvements are things we can control. They are all things that any of us can do, whether we are comics, programmers, runners, or teachers.

Posted by Eugene Wallingford | Permalink | Categories: General, Running, Software Development, Teaching and Learning

October 20, 2010 12:33 PM

Because 26.3 Miles Would Be Crazy

2010 Des Moines Marathon logo

I awoke Sunday to a beautiful, sunny, crisp October morning, not sure of what to expect.

My training for the Des Moines Marathon had begun back in July, and it had been full of ups and downs. My mileage had been reasonably steady, after one down week at the end of July, but I'd never developed much "long speed". Long runs were slow when they went well and tough when they didn't. I had a goal in my mind -- 8:36 miles -- but had no concrete evidence that I was ready to achieve it.

I arrived downtown later than I had been planning. This could have been a bad thing, an opportunity to start worrying about all that was going to go wrong. Instead, I chose to do something I'd never done at a race before: make a conscious effort to think positively. Don't worry about Mile 23, or my 10K split, or whether my pace at the halfway point is fast enough for me to PR. The best way to run the race was to just keep running. It is a cliché, I know, but I decided to take the race one mile at a time.

This year, Des Moines drew over 1600 marathoners, along with many, many more half-marathoners. For us runners, that meant a crowded start. When the gun sounded to begin the race, those of us back in the chute could only wait for an opportunity to start moving. When we did, moving was slow. It took a couple of minutes to reach the starting line (thank you for chip timing!) and several more minutes to break free enough to run full stride. While this put me behind my target pace from the outset, it also kept me calm and under control.

Just before the 3-mile mark, the marathoners and half-marathoners split off onto different routes. A helpful spectator made sure we knew which way to go:

marathoners and half-marathoners split

It turns out, marathoners are insane.

I held steady in my plan to just run. As I reached each mile marker, I clicked my watch and said to myself, "just another mile", in honor of the mile I had just completed. I didn't want to think about the fact that I had already run 8 miles, or that I still had 15 miles to go. I had just run another mile -- good for me. I looked at my watch to see how fast I had run that mile, in order that I could make an adjustment if necessary for the new mile I was beginning.

This was so different from my usual practice. I had no long-term plan, and I paid no attention to my splits beyond the single mile. Throughout the race, I rarely knew how long I had been running overall, and I never knew my average pace. Just another mile.

running strong

Around the 11-mile mark, I noticed that my legs felt heavy. That wasn't unexpected; they had felt heavy through my taper. But I was running strong, so I didn't worry too much. Soon, we entered Drake Stadium, site of the nationally-renowned Drake Relays. There, we ran one lap on its blue track, which has hosted national and international stars, and passed the 12-mile mark of the race. I forgot about my legs.

As the race wore on, I added two elements to my "positive thinking" regimen. First, I decided to smile more. That's not my natural state, so doing so involves some conscious thought. Second, I tried to thank as many people as I could along the way. When I passed a police officer holding back traffic, I said, "Thank you". I waved to the bands playing for us and thanked spectators who cheered us on. Having gratitude at the forefront of my mind did wonders for my mood.

Marathon signage can be a great source of distraction and inspiration. On this day I didn't notice as many, but then I was mostly focused on the mile I was currently running. I did see a helpful T-shirt early in the marathon. It was a quote from Paul Tergat, a top marathoner and former world-record holder:

Ask yourself:
Can I give more?
The answer is usually yes.

This quote stayed in my mind. As the race wore on, I knew that it would come in handy.

When I reached the Mile 24 marker, I asked myself, "Can I give more?" The answer was yes -- at least until we reached a steady incline leading up to a bridge. About that time, a fast runner passed us -- he must have been a pacer catcher up with his group -- and said, "You can do it. This is the last hill, and then it will be flat and downhill to the end." I thanked him for the good news and gave a little more.

with my finisher's medal at the end

Then came the sign for Mile 25. Just another mile. I recalled a long run from a couple of months ago that had prepared me for exactly this moment. "Can I give more?" Well, I can keep on pushing.

The Mile 26 marker seemed to take forever to arrive. When it did, I had more to give, so I gave what was left. I did not run especially fast over the last 1.2 miles, but I ran hard, strong, and at a pace I was proud of. I crossed the line as strong as I have ever finished a marathon, with the crowd cheering me and with a smile on my face.

I looked at my watch: 3:45:55. By all rights, I could have been disheartened... My marathon PR is 3:45:15, set in Des Moines six years ago. To work so hard, run so smart, and finish a mere forty-one seconds off of a new personal best! What about the slow first mile because I started too far back in the pack? Or the restroom break of over a minutes in the fifteenth mile?

But there are no "what if?"s. After the last four years of off-and-on-again illness, with so many interruptions to my running, I was quite happy to finish strong, to feel good, to produce a race and a time that I can remember proudly.

One other sign along the course made me laugh:

Because 26.3 miles would be crazy

That about says it all.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 08, 2010 3:53 PM

Strange Loops

StrangeLoop 2010 logo

As busy as things are here with class and department duties, I am excited to be heading to StrangeLoop 2010 next week. The conference description sounds like it is right up my alley:

Strange Loop is a developer-run software conference. Innovation, creativity, and the future happen in the magical nexus "between" established areas. Strange Loop eagerly promotes a mix of languages and technologies in this nexus, bringing together the worlds of bleeding edge technology, enterprise systems, and academic research.

Of particular interest are new directions in data storage, alternative languages, concurrent and distributed systems, front-end web, semantic web, and mobile apps.

One of the reasons I've always liked OOPSLA is that it is about programming. It also mixes hard-core developers with academics, tools with theory. Unfortunately, I'll be missing OOPSLA (now called SPLASH) again this year. I hope that StrangeLoop will inspire me in a similar way. The range of technologies and speakers on the program tells me it probably will.

2010 Des Moines Marathon logo

The day after I return from St. Louis, I hit the road again for the Des Moines Marathon, where I'll run strange loops of a different sort. My training has gone pretty well since the end of July, with mileage and speed work hitting targets I set back in June. Before my taper, I managed three weeks of 50 miles or more, including three 20+ mile long runs. Will that translate into a good race day? We never know. But I'm looking forward to the race, as well as the Saturday expo and dinner with a good buddy the night before.

If nothing else, the marathon will give me a few hours to reflect on what I learn at StrangeLoop and to think about what I will do with it!

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

September 26, 2010 7:12 PM

Competition, Imitation, and Nothingness on a Sunday Morning

Joseph Brodsky said:

Another poet who really changed not only my idea of poetry, but also my perception of the world -- which is what it's all about, ya? -- is Tsvetayeva. I personally feel closer to Tsvetayeva -- to her poetics, to her techniques, which I was never capable of. This is an extremely immodest thing to say, but, I always thought, "Can I do the Mandelstam thing?" I thought on several occasions that I succeeded at a kind of pastiche.

But Tsvetayeva. I don't think I ever managed to approximate her voice. She was the only poet -- and if you're a professional that's what's going on in your mind -- with whom I decided not to compete.

Tsvetayeva was one of Brodsky's closest friends in Russia. I should probably read some of her work, though I wonder how well the poems translate into English.


absolutely nothing: next 22 miles

When I am out running 22 miles, I have lots of time to think. This morning, I spent a few minutes thinking about Brodsky's quote, in the world of programmers. Every so often I have encountered a master programmer whose work changes my perception of world. I remember coming across several programs by Ward Cunningham's, including his wiki, and being captivated by its combination of simplicity and depth. Years before that, the ParcPlace Smalltalk image held my attention for months as I learned what object-oriented programming really was. That collection of code seemed anonymous at first, but I later learned its history and and became a fan of Ingalls, Maloney, and the team. I am sure this happens to other programmers, too.

Brodsky also talks about his sense of competition with other professional poets. From the article, it's clear that he means not a self-centered or destructive competition. He liked Tsvetayeva deeply, both professionally and personally. The competition he felt is more a call to greatness, an aspiration. He was following the thought, "That is beautiful" with "I can do that" -- or "Can I do that?"

I think programmers feel this all the time, whether they are pros or amateurs. Like artists, many programmers learn by imitating the code they see. These days, the open-source software world gives us so many options! See great code; imitate great code. Find a programmer whose work you admire consistently; imitate the techniques, the style, and, yes, the voice. The key in software, as in art, is finding the right examples to imitate.

Do programmers ever choose not to compete in Brodsky's sense? Maybe, maybe not. There are certainly people whose deep grasp of computer science ideas usually feels beyond my reach. Guy Steele comes to mind. But I think for programmers it's mostly a matter of time. We have to make trade-offs between learning one thing well or another.


22 miles is a long run. I usually do only one to two runs that long during my training for a given marathon. Some days I start with the sense of foreboding implied by the image above, but more often the run is just there. Twenty-two miles. Run.

This time the morning was chill, 40 degrees with a bright sun. The temperature had fallen so quickly overnight that the previous day's rain had condensed in the leaves of every tree and bush, ready to fall like a new downpour at the slightest breeze.

This is my last long run before taking on Des Moines in three weeks. It felt neutral and good at the same time. It wasn't a great run, like my 20-miler two weeks ago, but it did what it needed to do: stress my legs and mind to run for about as long as the marathon will be. And I had plenty of time to think through the nothingness.

Now begins my taper, an annual ritual leading to a race. The 52 miles I logged this week will seep into my body for the next ten days or so as it acclimates to the stress. Now, I will pare back my mileage and devote a few more short and medium-sized runs to converting strength into the speed.


The quote that opens this entry comes from Joseph Brodsky, The Art of Poetry No. 28, an interview in The Paris Review by Sven Birkerts in December 1979. I like very much to hear writers talk about how they write, about other writers, and about the culture of writing. This long interview repaid me several times for the time I spent reading.

Posted by Eugene Wallingford | Permalink | Categories: Computing, Running, Teaching and Learning

September 12, 2010 12:49 PM

Two Kinds of Marathon Weekend

I feel so much better right now than I did two weeks ago at this time.

Then, I had just finished a big weekend of running, with more than a marathon's worth of mileage in little over a day. On Sunday morning, I ran my first 20-miler of the season. The day before, I ran in an 8-mile race. I had never raced at a distance other than 5K, half-marathon, and marathon.

That weekend was unusual, of course. I usually rest on the day before my long runs, but a race that was originally scheduled for last May was postponed due to flooded trails to that Saturday. So I decided to skip my 8-mile speed workout on Friday, rest that day, run the race on Saturday, and then do my scheduled 20-miler as planned.

The race went much better than I planned. I averaged 8:00 miles. That used to be my marathon goal pace, back in 2005-2006, but after health problems over the last few years, I now consider it more of a marathon fantasy pace. I now have a much friendlier goal pace, 8:30, though that is still a challenge.

I set up the Sunday 20-miler as two loops from my house, the first 11 miles and the second nine. That way, if I were to run into trouble, I could always cut the run off at half and call it a day. I ran slowly, deliberately, and all seemed fine until 15 miles. At that point I started to dehydrate, and the last five miles were as hard a struggle as I've ever had on a training run.

The rest of the day was unpleasant: sore and feeling poorly as my body tried to shake the effects of the dehydration. I wanted to write, but didn't have the energy.

Fast forward to this week. I actually ran more miles during the work week than in any previous week of the training cycle, thirty. But I did only one speed work-out, on Wednesday: 9 miles with 7x800m repeats and 400m recoveries. I decided to take it as easy as my body wanted for Friday's nine miles, and a stiff headwind that affected 40% of the run made it easy to take it easy. On Saturday, I rested.

For this morning's run, I resurrected a 20-mile route from my previous neighborhood, an old friend who I knew would give me a good mental ride. Last evening, I made a plan to drink at specific points in the run, much as I will in the marathon, in hopes of resisting my weakness for running long without taking nutrition.

The morning started at 50 degrees, sunny with a light wind. The temperature rose steadily as I ran, but the morning remained beautiful. My old friend served me well, taking me through new scenery and giving me a new view on some familiar scenery. I warmed up slowly and soon found a steady pace I was able to maintain as the miles fell behind. The last five miles take me out to an urban lake for a couple of hilly laps and back near my house.

I broke 3:10 for the twenty miles, just under a 9:30 per mile pace. That's a good long run speed to prepare for a 8:30/mile marathon. Better still, I feel good -- tired but strong, physically and mentally. Whatever dent the first 20-miler made in my confidence, this run has begun to rebuild it. With five weeks until race day, I again believe that it is possible for me to be ready to make a credible effort.

So, my first 50-mile week of this training period is in the books. I'll probably run one more 50-mile week, and one more 20+ mile training run. I hope that my work so far has prepared me to sustain mileage comfortably and to begin picking up my pace on the longer runs.

But for the rest of today, I will rest, take a good meal with my wife and daughters, and enjoy the feeling of a single good run.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 15, 2010 1:27 PM

Long Runs and the Mind

I was about 1.2 miles from the end of my 18-mile long run this morning. My legs were feeling tight, tight enough that I thought about stopping for a few seconds of recovery. That would be okay, right? This is just a training run.

This thought was pushed out of my mind by the realization that 1.2 miles to go is the 25-mile mark in a marathon. I'm sure that when I reach 25 miles in Des Moines this fall, my legs will be sore, sore enough that I will want to stop for a few seconds of precious relief. In the race, I want to have the strength of mind to finish. So I kept going.

Soon I turned the last corner of the run, only two-tenths of a mile from home. There I saw one last challenge: two-tenths of a mile uphill. Ack. Could I make it? A little rest would feel so good...

My mind flashed back to the end of my marathon, on a sunny morning in Chicago. Somewhere near the finish line we also made a right turn, and I saw an incline just like the one I faced this morning. My legs were sore, and I think I gave in to temptation and slowed, maybe even walked for a few feet. At the time, I told myself that this would enable me to "finish strong". In my next race, I want to have the strength of mind to finish strong all the way. So I kept going.

At both moments of challenge this morning, I asked myself, "Do I want to survive or finish?" For many people, surviving to the end of a marathon is the goal. It is an honorable goal, but it's not mine. I still have a desire to run the race, to push my body to its limit, to finish strong.

In general, you don't want to treat training runs like races. Training is about getting ready to run the race. A lot of what you do in training will be specific exercises that prepare your body. That's especially true of long runs, which are for teaching your body to run well for a long time and strengthening your muscles for the stress of a race. As you approach race day, more of your runs will begin to simulate race conditions, but even then you must take care not overdo it. Otherwise, you risk injury that will limit your training and deprive your body of the practice it needs, or you might peak too early and be unable to muster top performance by race day.

Today's situation, though, highlighted one of my weaknesses, one I share with many runners. The decision to keep running was a training exercise for a specific skill that I will need in my marathon: the strength of mind to finish.

I finished strong. What a change from last week, a 16-miler in heat and humidity that knocked me for a loop. Sixteen miles is an annual hard run for me, as I cross over from runs of a comfortable length to runs that even I consider "long". I started today with a humble heart and ended better. Still, I know I have a long way to go before I am ready to run a marathon in two months.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 20, 2010 6:59 PM

Running on the Road: The Oxford, Ohio, Area

(The seventh stop in the Running on the Road series. The first six were Allerton Park, Illinois, Muncie, Indiana, Vancouver, British Columbia, St. Louis, Missouri, Houston, Texas, Carefree, Arizona, and Greenfield, Indiana.)

water at Hueston Woods State Park

Much time has passed since my last Running on the Road report, written three years ago after a high school reunion. My conference travel schedule has not been as extensive in the interim, but I have been to SIGCSE in places such as Milwaukee and Portland, a couple of SECANT workshops at Purdue, and a few other meetings. I've also vacationed in places such as San Diego and St. Louis. I've run at least a little bit all these places, though persistent illness often had me running far fewer miles and so not seeking out routes more adventurous than shorts loops near my hotels. Still, Portland, Milwaukee, San Diego, and even West Lafayette deserve reports of their own. Time and inclination to write them have been scarce at the times they needed to be written.

Here in the dog days of summer, I find a few moments where writing about running on the road seems the right thing to do, even though the location isn't a big city or common conference or vacation destination. Over the weekend, I intended an informal reunion of college friends, which we held at Hueston Woods State Park, not too far from the college town of Oxford, Ohio. This park has, in addition to all the features one expects from a nature refuge, a first-rate lodge that lives more like a resort center or a vacation hotel. From that base, I had a chance to run two different routes that I will want to remember and which other runners might enjoy.

I have just begun training for a fall marathon, about which I will surely have something to say in the coming months. For this trip, though, it meant that I had a 7-mile run planned for Friday morning and a 14-mile long run planned for Sunday. Between the kind of resort we had planned for the reunion and the eight-hour drive to it from my home, I decided to save my Friday AM run for the evening and the park and to hit the road sooner. Why run the same old 7-mile loops at home when the prospect of beautiful new scenery called from Ohio?

the lodge at Hueston Woods State Park

Like many parks of this kind, Hueston Woods offers quite a selection of off-road trails for walkers, hikers, and mountain bikers. At the right time of day and under the right conditions, these trails might be perfect for a runner, too. I decided to play it conservatively and stick to the roads in and around the park, which themselves offered relaxing views without the risks of trails: bad footing, slopes that are occasionally too steep for running, and the potential of running into people who are taking a more leisurely trek through the wilderness. So I used the lodge itself as the starting point for both of my runs.

Main Loop Road

After a long and tiring day driving, I decided not to venture too far from the known for my evening run. I picked up a map of the park, saw that there is a nice loop that circles Acton Lake, and asked the staff at the front desk about its length. They gave me an idea of driving distances to various attractions around the lake, and from those numbers I extrapolated that the main Loop Road must be in the 6-7 mile range. Perfect. So off I headed.

Perhaps I should have played it safer by driving the loop myself or at least trying to use the scale marker on the map to estimate the road's length more accurately. First, the road from the lodge to the loop was longer than I anticipated, about 1/2 mile. Once on the loop, I found myself running, and running, and still running. After 50 minutes, I started to worry that I had not seen the last landmark along the way. After 60 minutes, I knew that my estimate was way too low -- but by how much? After 70 minutes, I decided that I should limit my losses and stop soon. At the 78:00 mark, I stopped running and began walking. I was not too far from home... I walked about seven minutes before finishing the loop. When I got back to the lodge, I asked a different staff person, who told me the loop is 11 miles long. Given my times (73 minutes running and 7 minutes walking), the conditions (lots of hills to slow me down and a day having sat stiffly in a car), and my fitness level, I doubt strongly that I ran seven-minute miles. So I estimate that that loop is nine miles, certainly no more than 9.5 miles.

Were I better reporter, I would have driven the loop myself before coming home Sunday to confirm my estimate. But in the end I enjoyed the route enough to recommend it for future runs. The scenery is simple but pleasant. As the park's main road, it offers many options for side trips to extend or replace part of the loop, including access to the park's dozen or so trails at several points along the way. There are several hills of varying length and grade, which added a bit of spice to the run. This road makes for a solid basic component on which to build runs at Hueston Woods.

Welcome to Oxford seen entering town

The Road to Oxford

Once I saw the kind of roads that lead to the state park, I quickly decided to do my long run by running from the park to Oxford and back. Oxford is home to Miami University, an athletic rival of my alma mater and an strong academic school. I'd never spent much time in Oxford, and that was over twenty years ago. My group dined in town Saturday night and found a surprising variety of cuisine, including an Indian restaurant, a couple of sushi places, and several small bistros with the sort of trendy food one finds in college towns for students and faculty desiring worldliness.

Hueston Woods State Park is 5 miles up the road from Oxford on State Road 732. The jog from the front door of the lodge to the main Loop Road is 0.5 miles, and the road from there to the park entrance is 1.7 miles. I confirmed all of these numbers with the help of one of my buddies on the drive back from the restaurant Saturday night. Thus I was able to go out with confidence early Sunday morning and run an out-and-back route totaling 14.3 miles.

This route offers a rural vista common to Ohio, my home state of Indiana, and the rest of the Midwest. Being in southern Ohio, it also presents many curves, few straightaways of any note, and half dozen or so hills of varying length and grade that challenge any runner accustomed to training and racing on flat land. There are stands of trees, farms with corn and cows, and even a covered bridge that merits a paragraph in Wikipedia.

One warning for my friends from other parts of the country: Do not expect shoulders alongside the road. Rarely on SR 732 is there room on the pavement for cars in both directions and a runner on one side. When my future wife first visited my family in Indiana, one of the first things she noticed was that there were no shoulders on the country roads leading to our house, or anywhere in our county. Ohio seems to have the same feature. The roads in the park were somewhat better, but only because they tended to be wider. I did not have any trouble on the state road leading into and out of Oxford early on a Sunday morning, but I remained alert throughout.

Even with the hills and the curves, I surprised myself with a brisk two-hour, three-minute long run. I enjoyed each minute along the way and will happily run this route again when I next visit Butler County. Next time, I wouldn't mind adding some mileage to explore the Miami U. campus or to press on south of Oxford back into the country.

I'm back home now, my usual routes. Hueston Woods gave me a welcome break and a boost of energy as I press on with beginning of marathon training.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 11, 2010 11:59 AM

Form Matters

While reading the July/August 2010 issue of Running Times, I ran across an article called "Why Form Matters" that struck me as just as useful for programmers as runners. Unfortunately, the new issue has not been posted on-line yet, so I can't link to the article. Perhaps I can make some of the connections for you.

For runners, form is the way our body works when we run: the way we hold our heads and arms; the way our feet strike the ground; the length and timing of our strides. For programmers, I am thinking of what we often call 'process', but also the smaller habitual practices we follow when we code, from how we engage a new feature to how and when we test our code, to how we manage our code repository. Like running, the act of programming is full of little features that just happen when we work. That is form.

The article opened with a story about a coach trying to fix Bill Rodgers' running form at a time when he was the best marathoner in the world. The result was surprising: textbook form, but lower efficiency. Rodgers changed his form to something better and became a worse runner.

Some runners take this to mean, "Don't fix what works. My form works for me, however bad it is." I always chuckle when I hear this and think, "When you are the best marathoner in the world, let's talk. Until then, you might want to consider ways that you can get better." And you can be sure that Bill Rodgers was always looking for ways that you can get better.

There are a lot of programmers who resist changing style or form because, hey, what I do works for me. But just as all top running coaches ask their pupils -- even the best runners -- work on their form, all programmers should work on their form, the practices they use in the moment-to-moment activity of writing code. Running form is sub-conscious, but so is the part of our programming practice that has the biggest effect on our productivity. These are the habits and the default answers that pop into our head as we work.

If you buy this connection between running form and programming practice, then there is a lot for programmers to learn from this article. First, what of that experiment with Bill Rodgers?

No reputable source claims that, at any one instant, significantly altering your form from what your body is used to will make you faster.

If you decide to try out a new set of practices, say, to go agile and practice XP, you probably won't be faster at the end of the day. New habits take time. The body and mind require practice and acclimation. When we work in teams to build software, we have to go through a process of acculturation. Time.

But that doesn't mean ... that the form your body naturally gravitates toward is what will make you fastest.

There are many reasons that you may have fallen into the practices you use now. The courses and instructors you had in school, the language(s) you learned first, and the programming culture cut your professional teeth in all lead you in a particular direction. You will naturally try to get better within the context of these influences.

Even when you have been working to get better, you may (in AI terms) reach a local max biased by the initial conditions on the search. So:

"... there is a difference between doing something reasonably well and maximizing performance."

Sometimes, we need a change in kind rather than yet another change in degree.

Nor does it mean that your "natural" form is in your best long-term interest.

Initial conditions really do have a huge effect on how we develop as runners. When we start running, our muscles are weak and we have little stamina. This affects our initial running form, which we then rehearse slowly over many months as we become better runners. The result is often that we now have stronger muscles, more stamina, and bad form!

The same is true for programmers, both solo and in teams. If we are bad at testing and refactoring when we start, we develop our programming skills and get better while not testing and refactoring. What we practice is what we become.

Now, consider this cruel irony faced by runners:

"This belief system that just doing it over and over is somehow going to make us better is really crazy. Longtime runners actually suffer from the body's ability to become efficient. You become so efficient that you start recruiting fewer muscle fibers to do the same exercise, and as you begin using [fewer] muscle fibers you start to get a little bit weaker. Over time, that can become significant. Once you've stopped recruiting as many fibers you start exerting too much pressure on the fibers you are recruiting to perform the same action. And then you start getting muscle imbalance injuries...."

We programmers may not have to worry about muscle imbalance injuries, but we can find ourselves putting all of our emphasis on our mastery of a small set of coding skills, which then become responsible for all facets of quality in the software we produce. There may be no checks and balances, no practices that help reinforce the quality we are trying to wring out of our coding skills.

How do runners break out of this rut, which is the result of locally maximizing performance? They do something wildly different. Elites might start racing at a different distance or even move to the mountains, where they can run on hills and at altitude. We duffers can also try a race at a new distances, which will encourage us to train differently. Or we might simply change our training regimen: add a track workout once a week, or join a running group that will challenge us in new ways.

Sometimes we just need a change, something new that will jolt us out our equilibrium and stress our system in new way. Programmers can do this, too, whether it's by learning a new language every year or by giving a whole new style a try.

"Running is the one sport where people think, 'I don't have to worry about my technique. ...' We also have a sport where people don't listen to what the top people are doing. ..."

... I can't think of one top runner in the last two decades who hasn't worked on form, either directly through technique drills, indirectly through strength work or simply by being mindful of it while running.

The best runners work on their form. So do the best programmers. You and I should, too. Of course,

It's important when discussing running form to remember that there's no "perfect" form that we should all aspire to.

Even though I'm a big fan of XP and other approaches, I know that there are almost as many reliable ways to deliver great software as there are programmers. The key for all of us is to keep getting better -- not just strengthening our strengths, which can lead to the irony of overtraining, but also finding our weaknesses and building up those muscles. If you tend toward domains and practices where up-front plans work best for you, great. Just don't forget to work on practices that can make you better. And, every once in a while, try something crazy new. You never know where that might lead you.

"... if I went out and said we're going to do functional testing on a set of people, you're going to find weaknesses in every single one of them. The body has adapted to who you are, but has the body adapted to the best possible thing you can offer it? No."

Runners owe it to their bodies to try to offer them the best form possible. Programmers owe it to themselves, their employers, and their customers to try to find the best techniques and process for writing code. Sometimes, that requires a little hill climbing in the search, jumping off into some foreign territory and seeing how much better we can get form there. For runners, this may literally be hill climbing!

After the opening of the Running Times article, it turned to discussion of problems and techniques very specific to running. Even I didn't want to overburden my analogy by trying to connect those passages to software development. But then the article ended with a last bit of motivation for skeptical runners, and I think it's perfect for skeptical programmers, too:

If you're thinking, "That's all well and good for college runners and pros who have all day for their running, but I have only an hour a day total for my running, so I'm better off spending that time just getting in the miles," [Pete] Magill has an answer for you.

"... if you have only an hour a day to devote to your running, the first thing you've got to do is learn to run. If you bring bad form into your running, all you're going to be doing for that hour a day is reinforcing bad form. ..."

"A lot of people waste far more time being injured from running with muscle imbalances and poorly developed form than they do spending time doing drills or exercises or short hills or setting aside a short period each week to work on form itself."

Sure, practicing and working to get better is hard and takes time. But what is the alternative? Think about all, the years, days, and minutes you spend making software. If you do it poorly -- or even well, but less efficiently than you might -- how much time are you wasting? Practice is an investment, not a consumable.

We programmers are not limited to improving our form by practicing off-line. We can also change what we do on-line: we can write a test, take a short step, and refactor. We can speed up the cycle between requirement and running code, learn from the feedback we get -- and get better at the same time.

The next time you are writing code, think about your form. Surprise yourself.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

June 30, 2010 5:17 PM

Changing Default Actions

Learning to do test-driven design requires a big shift in mindset for many developers. I was impressed with how well the students in my recent agile development course took to the idea of writing tests first. Even the most skeptical students seemed willing to go along with the group in using tests to specify the code they needed to write. Other agile practices, such as pair programming and communal development, helped to support all of the students, willing or skeptical, to move in the right direction.

My friend Steve Berczuk suggests another way to support the change in habit:

Rather than frame the testing challenge with the default being the old way of not testing:

Write a test when it makes sense.

Change your perspective to the default being to test:

Write a test unless you can explain why you did not.

I like how Steve shifts the focus onto default actions. The actions we take by default arise when our mental habits come into contact with the world. Some of my students prefer to talk about their "instincts", but the principle is the same: When things get hard -- or easy -- what will you do?

We can change our habits. We can develop our instincts. Yes, it is hard to do. However we make the change, we have to change the individual actions we take at each moment of choice.

The way to turn running into a habit is to run. When I have a run planned for a morning but wake up feeling rotten, my default has to be to run. I need to have a really good reason not to run, a reason I am willing to tell my family and running friends without shame. This is another example of using positive peer pressure to help myself act in a desired way.

There are good reasons not to run some days. However, when I am creating a new habit, I have to place the burden of proof on the old habit: Why not?

When I follow this discipline, there is a risk of overusing the technique I am learning. If my default answer is to just keep running, I will run on some mornings when I really should take a break. I may find out during the run, in which case I need to listen to my body immediately and adapt. Or I may find out later, when I see that my times from the workout were substandard or when I am sore or fatigued beyond reason later in the day. Whenever I recognize the problem, I can examine the outcome and try to learn the reason why I should not have run. This will allow me to make a sound exception to my default in the future.

The same risk comes when we try this technique while learning test-driven design or any new programming practice. I may write a test I don't have to write. I may write code that is too simple. I may need it after all. This risk is an integral part of learning. I must learn when not to do something just as much as I need to learn when to do it. The risk of running when I ought not run carries a greater potential cost than writing a test when I need not write, because physical injury may result. The only real cost of writing an unnecessary test or taking too small a step forward in my code is the time lost.

As a runner, the way I minimize the risk of injury or other significant cost I have to listen to my body. As a programmer, I still also have to listen to my code, and keep it clean through refactoring. Done steadily and faithfully, the side effect is a new habit, better instincts.

The key to Steve's suggestion is that changing practice isn't just about habit and instinct, as important as they are. It's also about attitude. There are times when my surface attitude is compliant with a picking up a new practice, but my ingrained attitude gets in the way. My conscious mind may say, "I want to learn how to do TDD", while subconsciously I react as if "I don't need to write a test here". Taking the initiative to change my default action consciously helps me to bridge the gap. I think that's why I find Steve's idea so helpful.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

May 27, 2010 4:57 PM

Running Experiences, Old and New

Teaching class two-plus hours every day has been keeping me busy and, on some days, wearing me out, but I have maintained a decent running regimen nonetheless. Last weekend I ran my first 5K race in over a year. I have done no speed training since before my marathon last fall, and no training for a race this short in a couple of years. But I have been running approximately 30 miles a week and so had a decent aerobic base to work from. My splits were 7:17, 7:13, and 7:20, with a finish time of 22:26. I finished strong; the second half of the third mile was much faster than the first, which was much the slowest half-mile I ran that morning.

The race was put on by my daughter's high school student government as a fundraiser for a school in Cambodia. There were a lot of HS kids running the race, including several of their best cross-country athletes. Not too surprisingly, those guys smoked all of us duffers from the starting gun. Still, I did all right, quickly jumping to the top fifth of the pack and then picking off runners one by one over the next fifteen minutes. Conservatively, I estimate that I finished in the top fifteen of the 100+ runners. I wouldn't be surprised if I made the top ten. In any case, I cut over a minute off of the time I ran in my first 5K last year and felt good doing it.

The next week, though, I struggled with fatigue, which is pretty typical for the last few months. I seem just fine running 30 or so miles a week without much speed, but every few weeks I hit a trough. I am hoping that some slow and steady training for longer distances will yank me out of that pattern.

5Ks are old news for me. What's new? I was planning to run an 8-mile race the week before the 5K, but heavy rain and local flooding of our trails forced race organizers to postpone that event until late July. Eight miles would be something quite new for me; I've never even run a 10K. That new experience will have to wait.

For something really new, I am talking with a friend about putting together a six-man team to run the 192-mile Great River Relay, one of the races in the Ragnar Relay Series. The event is open to teams of six or twelve, but my buddy and I agree that it would be much cooler to run 50K or so each in twenty-four hours. (Not to mention how much easier it is to find four more crazy runners than to find ten!) I have certainly never run an "ulra" race distance, usually defined as anything more than the marathon's 26.2 miles. As a relay, this isn't really an ultra, because I would be able to rest for a couple of hours between legs. It would be a new experience, though!

Training for this will also be a new challenge. I am sure that it requires marathon-like mileage and workouts. But it probably also demands some days running two, three, or more times, to acclimate the body to running marginally fast for 4-8 miles six times in a day -- and overnight. I'm starting to get excited about this idea.

I am also thinking of a fall marathon. That goal, and how training for it fits with the relay, is currently TBA. One big challenge at a time...

Posted by Eugene Wallingford | Permalink | Categories: Running

March 10, 2010 7:40 PM

Notes on SIGCSE 2010: Table of Contents

The set of entries cataloged here records some of my thoughts and experiences at SIGCSE 2010, in Milwaukee, Wisconsin, March 10-13. I'll update it as I post new essays about the conference.

Primary entries:

Ancillary entries:

Posted by Eugene Wallingford | Permalink | Categories: Computing, Running, Software Development, Teaching and Learning

February 28, 2010 7:33 PM

Another Running Month in Review

A month still hardly deserves its own review, but two months in a row of steady running and mileage on the rise leave me feeling a little tired but back in something of a groove. February began with a week of light recovery at 24 miles followed by weeks of 29, 32.3, and 32.6 miles. The last two weeks I bumped my Sunday long run to 10 miles and felt good afterwards. My body is even beginning to respond with some speed.

The big change this month has been a return outdoors. I tired of running indoors and tried a few more 15-degree days, then a few 10s, and finally even a couple days down around the 0-degree mark -- and found I enjoyed them! Two years of difficult running off and on had killed my hardiness. Now I feel it coming back strong. It probably sounds insane to when I say I enjoyed a run this week at 4 degrees below zero, but I did!

I'm not quite back into the mid-30s for weekly mileage, which was my ambitious hope at the end of last month, but I can imagine it happening soon. The weather is slowly, imperceptibly, turning to spring, which means more and more good mornings to run outdoors.

This week I plan a few adjustments to my weekly schedule in anticipation of a few days on the road in Milwaukee for SIGCSE 2010 followed by a few days in St. Louis on spring break with my family. Running in other places invigorates me, and I look forward to some new sights as spring comes alive.

Posted by Eugene Wallingford | Permalink | Categories: Running

January 31, 2010 9:06 PM

An Unusual Running Month in Review

A month hardly deserves its own review, especially when it contains no Running on the Road reports. But after so many months off and on, and a November/December stretch of downtown that killed the momentum gained from running my sixth marathon, I am happy simply to have a month of running to report. Five consecutive weeks of increasing mileage, with steady 27-29 mile weeks the last three. The cold snap last week drove me inside for lap running, which means faster miles and more fatigue. Fortunately, they have not led to a return of the symptoms behind my months off and on.

My goal for February is steady running; my hope is to increase my mileage slowly but steadily into the mid-30s, where I like to be in the winter. My next big trip is planned for SIGCSE 2010 in Milwaukee, which has a river and a riverwalk. I love to explore new cities on foot.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 31, 2009 2:59 PM

2009 Running Year in Review

I never wrote a Running Year in Review for 2008, though I threatened to. What was there to say after my Running Half-Year in Review from July 2008? I had a lost summer and a year distinguished mostly by not running. I did manage to get in three miles on December 30, which got me over the 1100 mile mark for the year, reminiscent of the last day of 2007. Unfortunately, nearly 500 of those miles came in the first four months of the year.

2009 has been an unusual year. I had only one long stretch of not running, with but three miles for the year as late as February 9, but I had four other weeks of zeros due to health. I also had a difficult time doing more than 15-20 miles a week without having a tough week to follow. Finally, speed may not kill me, but it knocks me down. I have not run a truly fast interval work-out in over two years.

Yet I look to my running log and am happy to realize that I ran five races this year:

  • two 5Ks, one in April while cautiously seeing if I could raise my mileage and another in June because I wasn't yet ready to try my local half-marathon

  • two half-marathons, my first-ever 500 Festival Mini-Marathon back home again in Indiana, which went better than I could have hoped, and a second in September as a well-timed tune-up for ...

  • a fall marathon in small-town Iowa that gives me some hope for 2010. With all the troubles I've had the last two years, my time was the third-best of my six marathons, and I ran an extremely solid first half. I persevered through tough miles to finish well.

The three weeks after the marathon were normal recovery weeks, but then came six weeks of lower mileage and higher fatigue. I lost last week to a cold, but have been doing some short, slow miles this week, both indoor and out. After this morning's four miles, the log 1128.8 miles for the year. This isn't much more than last year's total, but it feels a lot different. I managed two sustained periods of training, with a faster pace at least one day a week. My marathon training contained fewer days and fewer miles than ever before, yet it was steady and progressive. I will use it as a template for a spring training session and see where it takes me.

All in all, a mixed year with plenty of ups to keep me hopeful and eager. Bring on 2010.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 03, 2009 5:42 PM

A Month of Running, and Not Running

It has been over five weeks since my blog entry on running. Why? At first, I was recovering from running a marathon and didn't have much to say: a few extra days off, a few fewer miles, but mostly a natural recovery. Then, three weeks ago or so, I came down with a little cold that now seems to be more of the same of what I was feeling most of last year and earlier this year. That's been disheartening, both because it has cut into my running and because it raises the specter of a longer down time. On top of that, the last bout of this ended without resolution, so who knows how my health will be in the coming months.

At this point, I am on track to to reach my 2008 mileage in 2009, as long as I can get back to even some low-mileage weeks to finish off December. That might make for a nice psychological boost.

I did smile last month when I read tweets and blog posts reporting on the unofficial RubyConf 5K Run, which I first saw mentioned a couple of months back. Awesome. I run solo at so many conferences; it would be great to have some company. A couple of my students have been following the Couch to 5K program that some of the Rubyists used to get ready for the fun run. Again, awesome. I'm glad to see folks making changes to live healthier lives, and running has given me a lot of happy hours -- and burned a lot of calories for me!

If the 5K becomes a regular event, it provides one more good reason for me to attend RubyConf -- if I can ever afford it...

Posted by Eugene Wallingford | Permalink | Categories: Running

October 27, 2009 6:57 AM

Two Thumbs Up for "On the Road for Education"

I don't usually advertise much in this space, but I have to put in a positive word for the On the Road for Education marathon, which I ran this weekend. Actually, the event is a set of races: a full marathon, a half marathon, a 10K, and a 5K. They are organized as a fundraiser for Mason City's parochial school system.

I signed up for this race in large part because it let me keep my options open as late as possible. I started training late and wasn't sure I'd be ready for an October marathon. On the Road for Education was later than most midwest marathons, October 25, and had a late early registration date. It also was less expensive than other, better-known races. All of these added up to an attractive package for an unsure trainer. They also left me uncertain; I had no idea what to expect from the race or organization.

This was a great little marathon. It is super small by the standard of most well-known marathons these days. This year, 78 men and 25 women finished, with only one runner who started not finishing. Add in the 101 half-marathoners, 35 10K runners, and 78 5K runners, and the event is still super small. That creates an intimate setting, as well as an opportunity to run a lot of the race solo.

The trimmings of the race were all good and better than I hoped:

  • Aid stations every two miles offered water and sport drink.
  • Aid stations at miles 12, 18, and 22 offered energy gel.
  • There were more portalets than advertised.
  • There more local spectators out cheering us on than I had expected in such a small town, and on such a cold morning.
  • We ran on a variety of surfaces, including many miles of soft surface: packed dirt in the country, bike trails, and a few miles of off-road trail. This was great for my legs.
  • We ran in a variety of settings, including city roads, country roads, bike trails, recreation trails in town, and nature trail.
  • The volunteers working along the course, including the police officers patrolling the intersections, were unfailingly friendly and helpful.
  • The end-of-race food and drink were plentiful, various, and tasty.
  • Finally, the high school was open after the race with hot showers and towel service. Awesome!

In addition, the race hotel was excellent and happy to serve the runners from out of town.

The one risk you face with this race is one the organizers cannot control: the weather. The last weekend of October in northern Iowa can be dicey. We were lucky, with temps in the 40s F. and clouds to keep the heat down at the end of the race.

This was the 11th year for the On the Road for Education marathon. These folks have experience putting on a race, and it showed. I give it two two thumbs up and recommend it highly for an intimate, personal marathon experience. If you want the experience of a "spectacle marathon", look elsewhere. This one isn't about tens of thousands of spectators or bands playing at every mile. It's about the run.

One final warning: don't expect a course built for PRs. Eleven of the miles were net climbs, with steep rises during miles 6, 7, and 21. Eleven of the miles were net drops, and the rest of the course is flat. But even that is deceptive. Miles 15-19 show as flat on the course elevation map, but they were in a nature area. They might be net neutral, but they undulate throughout. This makes for interesting running! Just don't expect a flat Iowa course and an easy PR.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 26, 2009 3:23 PM

That Marathon Feeling Again

I made it. My sixth marathon is now in the books. Yesterday I ran the On the Road for Education marathon in Mason City, Iowa. No two marathons have been the same for me, and this one was unusual in many ways, from how the race went to the venue itself.

The weather was dreary but almost perfect for a race: in the low 40s, cloudy, with little wind.

After feeling good with an 8:30/mile pace in a half marathon six weeks ago, I decided to try that pace for the full. After nine miles, I was right on target, though by an unusual path. The first three miles were downhill and fast, the next three were uphill and slower, and the next three were flatter and down in a steady 25:30.

My time at the halfway mark was 1:51:51. After fifteen miles, I was at 2:07:36 -- still on an 8:30/mile pace. It seemed too good. I need to look up my times from previous races, but I think that these may be my best times ever at those two points in a marathon.

On top of it all, I felt good. At the Mile 15, I thought to myself, "I can do this." And I could, but not at that pace.

By mile 15, we had entered a 5-mile loop on soft trail through the Lime Creek Nature Center. My pace slowed for at least three reason. The course elevation map says this part of the race is flat, but that must be net rise. These miles were hilly. Add to that the overnight rain which had softened them up even more and created a little bit of mud for us. Slippery footing on hills means a slower pace.

The third ingredient was a dose of reality. My legs weren't quite ready to maintain the ambitious pace for a full marathon. I did manage a couple of miles at near-goal pace after leaving the nature center, but in general I had slowed down. I took a second restroom break at the 20-mile mark, which added more than a minute to my time but gave my legs a brief respite.

Then came miles 23, 24, and 25. My legs were dead, and my pace slowed further. I had another short reprieve when a half dozen of us experienced our own Des Moines moment in Mile 23. For a while in the last two miles, I chanted to myself just keep running. For some reason I had the strongest of desires not to walk even as my body had the strongest desire to stop. Somehow I kept moving. I never reached what one of my friend's calls "the dead man's shuffle", but my pace had slowed dramatically.

The last 0.2 of a mile snuck up on me. I felt a brief boost of energy as I crossed the Mile 26 marker and managed to run through the finish line with a smile on my face.

It was a tough finish. In retrospect should have gone out with 8:45 miles for 10, 15, or 20 miles and then taken stock of what I had left. That would have been the conservative approach, the wise strategy. But the siren call of 8:30 miles and a time near my PR was too much for my dreams, or my vanity. I had to know. Now I do! Going into the arena has a way of showing us reality.

This race was unusual for me in another respect. My wife and daughters made the trip with me. This was the first time I'd had family with me since my wife accompanied me to my first. They met me along the route a half dozen times or so, and seeing them boosted my spirits every time. It was easy for them to do this, which is one of the benefits of a race in a small town. I'll have more to say about a small town race in a coming entry.

So, I survived. Even with the rest stops, I ended up with my third-best time ever. After my experience the last two years, with dicey health, on-again, off-again training, and the mental doubts that came from those two, I really could not be happier with my time. Asking for more would be unrealistic and would devalue what turned out to be a good performance.

I could feel better physically, though. A few days' rest can give me that. Heck, I already feel like a short jog!

Posted by Eugene Wallingford | Permalink | Categories: Running

October 13, 2009 9:31 AM

Living with Yesterday

After my long run yesterday, I was both sorer and more tired ('tireder'?) than after last Sunday's big week and fast long run. Why? I cut my mileage last week from 48 miles to 38, and my long run from 22 miles to 14. I pushed hard only during Wednesday's track workout. Shouldn't last week have felt easy, and shouldn't I be feeling relatively rested after an easy long run yesterday?

No, I shouldn't. The expectation I should is a mental illusion that running long ago taught me was an impostor. It's hard to predict how I will feel on any day, especially during training, but the best predictor isn't what I did this week, but last; not today, but yesterday.

Intellectually, this should not surprise us. The whole reason we train today is to be better -- faster, strong, more durable -- tomorrow. My reading of the running literature says that it takes seven to ten days for the body to integrate the effects of a specific workout. It makes sense that the workout can be affecting our body in all sorts of ways during that period.

This is good example of how running teaches us a lesson that is true in all parts of life:

We are what and who are we are today because of what we did yesterday.

This is true of athletic training. It is true of learning and practice more generally. What we practice is what we become.

More remarkable than that this true in my running is that I can know and write about habit of mind as an intellectual idea without making an immediate connection to my running. I often find in writing this blog that I come back around on the same ideas, sometimes in a slightly different form and sometimes in much the same form as before. My mind seems to need that repetition before it can internalize these truths as universal.

When I say that I am living with yesterday, I am not saying that I can live anywhere but in this moment. That is all I have, really. But it is wise to be mindful that tomorrow will find me a product of what I do today.

Posted by Eugene Wallingford | Permalink | Categories: General, Running, Teaching and Learning

October 04, 2009 10:11 AM


I just finished by biggest week of this marathon training season (48 miles) and the longest long run (22 miles). I feel good. My time this morning surprised me, about 10 minutes faster than I had planned. The week went well, and I'm ready to taper.

Two years ago, it would have been hard to imagine being so pleased with this week and this run. One year, or even nine months, ago, it was almost inconceivable that I could ever do this again.

I'm one the road in Muncie, Indiana, this weekend, which means I did my 22 miles on the Cardinal Greenway. It also means that I face eight hours in the car driving home today. That may be a bigger challenge for my legs than the run itself!

Posted by Eugene Wallingford | Permalink | Categories: Running

September 29, 2009 5:51 PM

Life, Artificial and Oh So Real

Artificial. Tyler Cowen writes about a new arena of battle for the Turing Test:

I wonder when the average quality of spam comment will exceed the average quality of a non-spam comment.

This is not the noblest goal for AI, but it may be one for which the economic incentive to succeed drives someone to work hard enough to do so.

Oh So Real. I have written periodically over the last sixteen months about being sick with an unnamed and undiagnosed malady. At times, I was sick enough that I was unable to run for stretches of several weeks. When I tried to run, I was able to run only slowly and only for short distances. What's worse, the symptoms always returned; sometimes they worsened. The inability of my doctors to uncover a cause worried me. The inability to run frustrated and disappointed me.

Yesterday I read an essay by a runner about the need to run through a battle with cancer:

I knew, though, if I was going to survive, I'd have to keep running. I knew it instinctively. It was as though running was as essential as breathing.

Jenny's essay is at turns poetic and clinical, harshly realistic and hopelessly romantic. It puts my own struggles into a much larger context and makes them seem smaller. Yet in my bones I can understand what she means: "... that is why I love running: nothing me feel more alive. I hope I can run forever."

Posted by Eugene Wallingford | Permalink | Categories: Computing, Personal, Running

September 20, 2009 7:20 PM

A Ditty For Running Long

Courtesy of Waylon Jennings:

Staight'nin' the curves
Flat'nin' the hills
Someday the mountain might get 'em
But the law never will

On most of my long runs, the road is rarely straight. Even when I'm not at the edge of comfort, I like to take curves tight. I'm not sure why; I guess it makes me feel like I'm racing. And, inevitably, two things come to mind. In one of those curves, I hear Waylon singing, and then I start thinking of the math that goes with straightening curves in the trail.

This week, I did my long run on Saturday, so that my family could take a day at the fair. This was my first 20-miler in two years. I last ran a distance that long in the Marine Corps Marathon, and I last ran a training run that long three weeks before the marathon, at the peak of my plan.

This 20-miler went well. I started slowly but maintained a steady pace early. I ran a bit faster in the middle and then returned to slower pace to finish. I ended up doing 20.5 miles or so, average 9:30 miles. Even after years of marathon training, I still haven't completely grasped the idea that most of my long runs should be 45 to 90 seconds slower than the goal pace for my race. If that's true, then this run was in the perfect neighborhood.

Afterward, my legs were sore, and they remain so today. I ought not be surprised... I raced a half at marathon pace last Saturday and ran seven miles at near-10K pace on Wednesday. I am tired but feel good. Just hope that I can walk downstairs normally tomorrow!

Posted by Eugene Wallingford | Permalink | Categories: Running

September 16, 2009 5:31 PM

The Theory of Relativity, Running Style

A couple of ideas that crystalized for me while racing Saturday.

The Theory of Special Relativity

The faster you run, the closer together the mile markers are.

Later, this made me think of a famous story about Bill Rodgers, one of the greatest marathoners of all time. He was talking with a middle-of-the-pack marathoner, who expressed admiration for Rodgers's being able to finish in a little more than two hours. Rodgers turned the table on the guy and expressed admiration for all the four-hour marathoners. "I can't imagine running for four hours straight," Rodgers said.

Those mile markers are awfully far apart at a four-hour marathoner's pace.

Corollary: Relativity and Accelerating Frames

Runners who accelerate near the finish line pass no one of consequence.

Attempts to gain on competitors later in a race usually fail due to this law. As you change your speed, you find that most of your competitors -- at least the ones you care about -- are changing their speed, too.

At the start of a race, beginners sometimes think that they will save some gas for the end of the race, accelerate over the last few miles, and pass lots of people with the surge. But they don't. Many of those runners are surging, too.

Passing runners who don't surge doesn't count for much, because most of them have slowed down and are easy targets. It's not sporting to revel in passing a stationary object, or one that might as well be.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 13, 2009 2:06 PM

An Encore Performance

Marathon coaches commonly recommend that runners training for a marathon run a half marathon four to six weeks prior to their big race. A half marathon offers a way to test both speed and endurance, under conditions that resemble the day of the marathon. If nothing else, a half is a good speed workout on a weekend without an insanely long long run.

While training for my previous marathons, the timing had never seemed quite right for me to run a half marathon. We only have one half in area during the month of September, and those were weeks when I was trying to work in a final 20-miler.

2009 Park to Park Half Marathon

This year, I decided to run a half as a test: Do I still think I can be ready to run a marathon in six weeks? In past years, this was never a question, but when I drew up my training plan a mere eight weeks ago, I had real doubts that my body would allow me to work up to the speed and I mileage I needed for a marathon. The Park to Park Half Marathon, which has quickly become the top distance race in the Cedar Valley, was timed perfectly for me, six weeks before my race. I designed a training schedule that ramped my long-run mileage up very slowly, and I needed a break the weekend of Park to Park between 18- and 20-milers. So I penciled the race in to the plan.

My intention for this was typical: run ten miles at marathon goal pace and then, if my body felt good, speed up and "race" the last 5K. My dream goal pace this year is 8:30, which is quite a bit slower than my gaol the last few years of training. 8:30 feels good these days. As the race started, I kept telling myself to stay steady, not to speed up just because I thought I could. My catch phrase became, "Don't breathe hard until the 10 mile mark." While that's a tough request, I did manage to run comfortably over the opening miles of the course.

My run followed the script perfectly. I reached the 10-mile mark in 84 minutes. My body felt good enough to speed up. Mile 11: 7:54, including a drink stop. Mile 12: 7:50. Still good. Mile 13: 7:30.

As we neared the 13-mile mark, I was just trailing a group of five or six people and decided in my good spirits to sprint full-out and try to pass them. I took the first n-1 of them easily, but the last was a younger guy who heard me coming and sped up. Did I have another gear? Yes, but so did he. We each surged a couple of times in that last tenth of a mile, but he was too good for me and stayed ahead. I ended up running that sprint in 36 seconds. Later, I saw on the results board that my rival those last few seconds won the under-19 age group. I am not too surprised that a young guy still had more gas in his tank -- and anaerobic capacity -- than I.

My course time: 1:47:47. (My chip time was a few seconds more, because there no timing mat at the starting line). I finished 15th in age group and 95th overall out of 550 half-marathoners.

This day felt like a rerun of best case scenario: a good time, better time than I might have hoped. My body and mind felt good after the race. That is the good kind of repeat I am happy to see.

I ran this race without a partner to talk me through the time, as I did in Indianapolis. That is good, too, because I'll be running solo at my marathon next month, which will also be much smaller than any other marathon I've run. I'll need to discipline my own mind in Mason City. I did have one pleasant conversation during the half, around the 7- or 8-mile marker. A former student caught up to me, said 'hello', and told me that he was running his first half marathon. We talked about pace and endurance, and he admitted that he was thinking about dropping out after 9 miles. I encouraged him, and he dropped back.

Later, I was happy to hear his name called out on the intercom as he crossed the finish line. The look of satisfaction on his face, having endured something he feared he could not, was worth as much as my own good feeling. Now that I have run several long races and many more 5Ks, it is easy to view the ups and the downs with a jaded eye. But accomplishing a goal as challenging as this is never ho-hum. Seeing Joe finish reminded me that.

This was a perfect tune-up for me, and now I have some reason to think that I can run a marathon six weeks from now at a reasonable pace. I have a couple of more long runs to do -- a 20-miler, then a second 20 or a 22-miler among them -- along with some speed work.

But today, I do what God did on the seventh day: rest. I ache all over.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 05, 2009 3:10 PM

Thoughts Early in a Run

I ran my Sunday long run this morning, so that I can adjust the coming week's schedule for a Saturday half marathon. This week's long run called for 18 miles. After a week of hard runs, I approached this morning gingerly. Slow, steady, nothing fast. Just get the mileage under my belt, get home, rest and move another week toward my marathon.

About four miles in, my legs were feeling a little sore. A lot of miles lay before me. Rather than get down, I had a comforting thought: All I have to do is just keep running. Nothing fancy. Just keep running.

It occurred to me that, at its simplest, this what a marathon comes down to. Can you just keep running for 26.2 miles? All the training we do prepares us to answer affirmatively.

Racing a marathon is a little different, because now time matters. But the question doesn't disappear; it only takes on a qualifier: How fast can you just keep running for 26.2 miles? In the end, you just keep running.

It was a beautiful late summer morning for a run. Cool. Sunny. I just kept running.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 30, 2009 6:28 PM

What a Difference...

... two weeks can make.

Then: I do the second week of 4x800m repeats. My times are in the target range, but on the high end. The recoveries are slow and hard. I feel bad for several days afterward.

Now: I do a second week of 5x800m repeats. My times are fast, even below the target range. The recoveries are steady, controlled, and in good time. I am tired that day but otherwise feel good.

Then: I run a 16-miler in rain, wind, and then steamy sun. The run starts badly and gets worse. It is a challenge just to finish. My time is slow, and I feel bad for several days afterward.

Now: I run a 16-miler under a cool sun, with a gentle northern breeze. The run starts on stiff legs but feels good within a mile or so. I feel a spring in my step at 8 miles. I give my pace a little bump at 12 miles. For the last mile, I finish strong and steady, even a little faster. Overall, I run 30 seconds per mile faster than last time. I am tired and stiff, but mentally I feeling good.

Then: 39 miles. I am not sure I will be able to go much higher in the coming weeks.

Now: 40 miles. I'm feeling like I might want to throw in an extra mile in the coming week, though caution talks back. The thought of 18 miles next Sunday sounds like a challenge, not a punishment.

A couple of weeks ago, I must have had a cold or some other bug that slowed me. I've recovered. Right now, I am wondering how to get more sleep. This good habit is coming back more slowly than other training habits. Mostly, though, I feel hope.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 17, 2009 1:48 PM

Building Mileage Through My Tough Zone

Yesterday morning, I ran 16 miles, for the first time since training for my 2007 marathon. Historically, this has been a tough distance for me. Up to 12 miles seems easy enough, even when I was first building up. 18 miles and more isn't "easy", but it is long enough to intimidate me a bit; as a result, I run slower and prepare more carefully. Runs of 14-16 miles are caught in middle. Even after a few years experience, there feels like a crossover for me.

My two fourteens so far this year were a mixed bag. The first felt great, and the second did not, though I ran just a touch slower. Yesterday's sixteen was my toughest run in a long time. It was rainy and windy at the outset, and I was struggling by the 2-mile mark. Later the sun came out and warmed things up, with the wind staying strong. My legs were sore throughout. I finished uphill into a headwind. For the next four hours or so, I was in a bit of a daze, sore and tired and unsettled. I finally snapped back and felt good by the end of the day.

Some people think that shorter runs are easy, or at least easier than the long runs. For me there is a crossover point in the 14- to 16-mile range, but even then there is no magic tipping point, where runs go from being easy to a marathon distance being hard. In one sense, all distances are difficult. Yesterday's was less comfortable than I enjoy feeling. It's important to keep in mind that this a key point of training. In order to race a marathon, I need to run when I am tired, to prepare to run when I am tired or sore or uninterested on a race day.

When I'm first building up my mileage, most runs are difficult because of their distance: they make me work more than I am used to working. I am back in this beginner's phase now after a year of diminished capacity. When I'm further along in my training, most runs are hard because I expect more and want to run a faster pace for a longer distance: they make me work harder than I am used to working. Both of these are good preparation for the marathon, when I will want to run a long distance at a faster pace than I usually train at long distances. The idea is to get the body ready for the stresses a marathon will place on it -- and to get the mind ready for the challenge of a goal that stretches me.

I experienced another milestone this week. I have finally worked myself up to a 39-mile week. A number like this often impresses my non-running friends, but when I am healthy and in good shape I like to run 38 miles or more every week -- that's my maintenance mileage, what I do for fun, even throughout the winter. I've been rebuilding my base slowly from ground zero in hopes of staying healthy enough to stay on an upward path. So far, I am doing okay, though the last two weeks have been increasingly tough. By this point in training for a fall marathon, I would usually be at 48-50 miles on my way to a 60-mile or so week. This year, I'll slowly raise my mileage to a max of 48 or so at the beginning of October.

If the rest of my long training runs leave me feeling as I did yesterday, I'll have a question to answer: Will I make it? Right now, I say yes.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 27, 2009 3:28 PM

Running in the Middle

Many runners spend too much time thinking about the beginning and the end of a race, and little or no time focusing on the middle. In a 5K, that can work all right, because it's almost like a sustained sprint. You worry about not going out too fast in the first mile, and you think about kicking for the last mile or half mile, and there isn't much else. But in a longer race, especially a marathon, the middle is the bulk of the experience. Even if you think of the beginning as 5 miles long and the end as the 10K that starts at the 20-mile marker, fifteen miles remain in between. A lot of runners don't have much of a plan for that part of the race and so go on autopilot. That's too bad, because the middle often determines how fast I run the whole race and, more importantly, how I feel about my race when I'm done.

If you let the middle of a marathon fill your mind with thoughts about being done, it can make you miserable. Many runners think about their time while running; I know I do. "I'm on a pace for 3:45. My goal was 3:35. This is already turning out wrong..." As sports psychologist Jeff Simons says,

Time is what happens after you cross the line. Changing your time is all that happens while you are in the process of running. That's where the focus needs to be.

Treating the middle as valuable in its own right is one way to get the mind off being done and back where it should be: right where you are on the course.

I think this is also true of marathon training plans. Beginners and experienced runners alike start off excited and meticulous about their training in weeks one and two and three; they also know how important it is to pay careful attention to how they taper in the last few weeks leading up to the race. But the plan is twelve, sixteen, or even twenty weeks long. There is a lot of middle... How attentive I am during those weeks to my mileage, pace, diet, and body have as much effect on race day as my taper, maybe more.

Given where I am mileage- and health-wise, I am treating all the parts of my marathon training this year with care -- especially the middle. I have designed a plan that consists of a slow, meticulous build-up of mileage. I'm putting more emphasis on the middle weeks, during which I hope to prepare my body for long runs again with a series of 12-, 14- and 16-milers before getting to the heavy stuff -- 18- and 20-milers -- toward the end of my middle. I am consciously delaying speed until August, well into the middle of my training, by which time I hope my body has adapted to more stress than it's been able to withstand for the last many months. In my current state, the biggest contributor to my time will be stamina at the slower paces. Once I have that in hand, I'll worry about taking my speed up a notch, to see whether my body is ready for that set of stresses.

On Sunday morning, I ran my first 14-miler since 2007 while training for Marine Corps. It went very well, much better than the twelve miles I ran the week before. The body adapts in fits ad starts, and it's always interesting to see how a long run will feel. This one left me felling energized, though I did take a good nap in the afternoon! I feel ready for this week, which aims to let my body consolidate on the last three weeks and so culminates in a 12-miler. Here's hoping that my body cooperates and lets me stay on a path to higher mileage throughout the rest of the middle.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 16, 2009 11:36 AM

Lengthen, Then Strengthen

Update: I've added a link to a known use.

(A pattern I've seen in running that applies more broadly.)

You are developing a physical skill or an ability that will take you well beyond your current level of performance. Perhaps you are a non-runner preparing for a 5K, or a casual runner training for a marathon, or an experienced runner coming back from a layoff.

To succeed, you will need endurance, the ability to perform steadily over a long period. You will also need strength, the ability to perform at a higher speed or with greater power over a shorter period of time. Endurance enables you to last for an amount of time longer than usual. It requires you to develop your slow-twitch muscles and your aerobic capacity, which depends on effective delivery of oxygen to your muscles. Strength enables you to work faster or harder, such as uphill or against an irregular force. It requires you to develop your fast-twitch muscles and your anaerobic capacity, which depends on muscles working effectively in the absence of oxygen.

You might try to develop strength first. Strength training involves many repetitions of intense work done for short durations. When you are beginning your training, you can handle short durations more easily than long ones. The high intensity will be uncomfortable, but it won't last for long. This does not work very well. First, you won't be able to work at an intense enough level to train your muscles properly, which means that your training sessions will not be as effective as you'd hope. Second, because your muscles are still relatively week, subjecting them to intense work even for short periods greatly increases the risk of injury.

You might try to develop strength and endurance in parallel. This is a strategy commonly tried by people who are in a hurry to reach a specific level of performance. You do longer periods of low-intensity work on some days and longer periods of high-intensity work on others. This strengthens your both your slow- and fast-twitch muscles and allows you to piggyback growth in one area on top of growth in the other. Unfortunately, this does not work well, either. There is a small decrease in the risk of injury from your strength training, but not as much as you might think. Our bodies adapt to change rather slowly, which means that your muscles don't grow stronger fast enough to prepare them for the intensity of strength training. Even when you don't injure yourself, you increase the risk of plateauing or fatigue.

Therefore, build a strong aerobic base first. Train for several weeks or even months at a relatively low level of intensity, resting occasionally to give your body a chance to adapt. This will build endurance, with slower speed or less power than you might want, but also strengthen your muscles, joints, and bones. Only then add to your regimen exercises that build your anaerobic capacity through many repetitions of high-intensity, short-duration activities. These will draw on the core strength developed earlier.

Continue to do workouts focused on endurance. These will give your body a chance to recover from the higher intensity workouts and time to adapt to those stresses in the form of more speed or power. For all but the most serious athletes, one or two strength workouts a week are sufficient. Doing more increases the risk of injury, fatigue, or loss of interest in training. As in so many endeavors, steady, regular practice tends to be much more valuable than occasional or spotty practice. This is especially true when the goal requires a long period of preparation, such as a marathon.

Examples. Every training program I have ever seen for runners, from 5Ks up to marathons, emphasizes the need for a strong aerobic base before before worrying about speed or other forms of power. This is especially true for beginners. Some beginners are eager to improve quickly and often don't realize how hard training can be on their bodies. Others fear that is they are not working "hard enough" they are not making progress. Low-intensity endurance training does work your body hard enough, just not in short bursts that make you strain.

Greg McMillan describes the usual form this pattern takes as well as a variation in Time To Rethink Your Marathon Training Program?. In its most common form, a runner first builds aerobic base, then works on strength in the form of hills and tempo runs, and finally works on speed. Gabriele Rosa, whom McMillan calls "arguably the world's greatest marathon coach", structures his training programs differently. He still starts his athletes with a significant period building aerobic base (Lengthen) followed by by a period that develops anaerobic capability (Strengthen). But he starts the anaerobic phase with short track workouts that develop the runners speed, down to 200m intervals, and only then has the runner move to strength workouts. Rosa's insight is that "the goal in marathon training is to fatigue the athlete with the duration of the workouts and not the speed, so speed needed to be developed first". This variation may not work well for runners coming back from injuries or who are otherwise prone to injury, because the speed workouts stress the body in a more extreme way than the tempo and cruise workouts of longer-distance strength work.

Lengthen, then Strengthen applies even to more experienced runners coming back from periods of little or no training. Many such runners assume that they can quickly return to the level they were at before the layoff, but the body will have adapted to the lower level of exertion and require retraining. Elite athletes returning from injury usually take several months to build their aerobic base before resuming hard training regimens.

I have written this pattern from the perspective of running, but it applies to other physical activities, too, such as biking and swimming. The risk of injury in some sports is lower than in running, due to less load on muscles, joints, and bones, but the principles of endurance and strength are the same.

Related Ideas. I think this pattern is also present in some forms of learning. For example, it is useful to build attention span and vocabulary when learning learning a new discipline before trying to build critical skills or deep expertise. The gentler form of learning provides a base of knowledge that is required for expert analysis or synthesis.

I realize that this application of the pattern is speculative. If you have any thoughts about it, or the pattern more generally, please let me know.

Posted by Eugene Wallingford | Permalink | Categories: Patterns, Running

July 15, 2009 4:28 PM

Ready for a More?

As I set out on my first 12-miler since running a half-marathon in May, I could not help recalling Barney's First Law of Running. Just keep running. It is dark, and the miles lie formidably ahead, but you conquer them in the simplest of ways: keep running.

A couple of weeks ago I began to think about training for fall marathon. If I could run a full post-race week, maybe I was ready to try. Well, I have now run two full weeks, for the first time since a strong three-week stretch in April. Last week was my highest-mileage week -- 32 even -- since April 7-13, 2008, when I put in 33.5 miles. I have been fatigued, but I have managed to run each planned running day.

These have been strange days, indeed. In the span of five days, I ran my fastest 5-miler in recent times, ran a negative split 12-miler that started oppressively slow and finished reasonably, ran my slowest recorded 5-miler ever, and turned around the next day to shave 4 seconds off of last Friday's fast 5-miler.

Th two fast 5-mile runs were on the track, my first real forays on the track since coming down with whatever ails me last May. One day on the track is a healthy practice for me mentally, because it helps me think of pace and speed in a way that longer-form runs outdoors don't. I'm not running "fast" yet, just faster. That I have been healthy enough to do three in the last week and a half is a positive sign, even if they have sapped me more than I would expect.

I have thrown in one cross-training twist. Since I began training for races quite a few years ago, I have tended to neglect stretching and other basic exercise. I was getting plenty of work on the road. My wife has recently started doing Classical Stretch, which is a perfect fit for her, because she danced a lot of ballet growing up. I've been doing a workout or two with her each night. Wow. This is what in the modern running world is called a core workout. It focuses on the usual body parts, such as the abs and hamstrings, but also on infrastructure like the back and hips. The athletic workouts are tough. I never realized how had a workout one could get without using weights or other resistance. This could be good for getting me back closer to marathon condition.

The last time I started on a training plan for a marathon was July 30, 2007. That week, I ran 43 miles, including three 7-milers and a 5x800m track workout. I am nowhere near ready for that yet. I was already in great shape and had trained hard for a half-marathon earlier in the year. That plan required only twelve weeks, though, so I have some hope for getting ready to run an October race. It will be slower, less aggressive, but no less challenging, given where I am right now.

My October travel schedule complicates picking a race. Right now, I am giving most consideration to Indianapolis on October 17 and Mason City, Iowa, on October 25. Indianapolis would repeat the destination of my half earlier this year, but it would be all-new as a run; the half was downtown and on the west side, and the full is on the northeast side of town. This is a big city (373.1 square miles), and so a repeat would not seem like one. Running there twice in one year would be ironic, though after growing up there and never running there at all. The Mason City race is run by a local school system as a fundraiser and has a longer history than most anyone knows. The experience there would be a polar opposite to that of Chicago, my first marathon. It would require a different sort of mental preparation: fewer runners, much smaller crowds, and a lot more solitude. Can I be ready for that?

The cost, looser registration deadlines, and later race date have me leaning toward Mason City. The prospect of running a bigger race, on a day I'll already be in central Indiana, makes Indianapolis attractive. I need to decide by the end of the month for early registration, if nothing else, but more important are getting my training schedule in order and beginning to prepare my mind for the rigor of training.

It's time.

Posted by Eugene Wallingford | Permalink | Categories: Running

June 30, 2009 2:12 PM

The Last Monday in June

... is -- since 2003 -- the traditional kick-off to my fall marathon season. In this short-lived tradition, I run the half-marathon at our annual city festival on the last Sunday in June (*), then sit down on Monday and plan my training schedule for an October marathon. Last year interrupted the tradition with its months of whatever is wrong with me physically, but my mind is tuned to the rhythm.

This year, I ran a half marathon that went better than expected in early May. But I have not been able to raise my weekly mileage beyond 28-30 or so since then, due to fatigue, and so opted for the 5K at the city festival. I had run a 5K three months ago, on very little base mileage, and done better than expected. That race led me to have higher hopes this time out. Not so. The conditions were different, though. First, I had unwisely run hard on Friday morning, PRing my usual 5-mile route (such as that is in these days of low mileage and slower paces). Second, this is a much bigger race, and I got caught in the crowd for half a mile and only felt free at about the first mile marker. I ended up running a faster time, but not by much, though my last 2.1 miles took only 15:25 or so. (In the previous 5K, I had faded badly in the last mile after running the first two miles in 14:43...)

Where does that leave me? All I know is that when it came time on Sunday for the half-marathoners to turn left and the 5Kers to go straight, I really wanted to turn -- tired legs and no preparation notwithstanding. Mentally, I would like to give a fall race a try. Will my body let me?

I took today off to let my quads rest. I think that I will try to finish out the rest of the week with a no-frills running schedule: 5 miles on each of Wednesday, Thursday, and Friday, and then 12 miles on Sunday. If next Monday finds me well enough to contemplate more, I will treat this week as Week One in low-mileage, low-pressure training plan. I'll design something that gets me ready for a marathon in late October or early November. Then I'll see where it takes me.

If not, then maybe I'll shoot for a couple of fall halfs and see whet my body allows me. My mind is saying, "Go."


(*) Of course, if June 30 is the last Sunday in June, then my training season starts on the first Monday in July. This hasn't happened to me yet, only because 2008 was a leap year! The contingency may have occurred to you if you have ever tried to write code that manages all of the complexity of dates correctly. Or perhaps you have given students programming assignments that bump into such rules. Writing test cases for code exposes all of the nooks and crannies of aan algorithm.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 28, 2009 10:02 PM

Developing Instinct

One of the challenges every beginner faces is learning the subtle judgments they must make. How much time will it take for us to implement this story? Should I create a new kind of object here? Estimation and other judgments are a challenge because the beginner lacks the "instinct" for making them, and the environment often does provide enough data to make a clear-cut decision.

I've been living with such a beginner's mind this week on my morning runs. Tuesday morning I started with a feeling of torpor and was sure I'd end with a slow time. When I finished, I was surprised to have run an average time. On Wednesday morning, I felt good yet came in with one of my slowest times for the distance ever. This morning, my legs were stiff, making steps seem a chore. I finished in one of my better times at this distance since working my mileage back up.

My inaccurate judgments flow out of bad instincts. Sometimes, legs feel slow and steps a challenge because I am pushing. Sometimes, I run with ease because I'm not running very hard at all!

At this stage in my running, bad instincts are not a major problem. I'm mostly just trying to run enough miles to build my aerobic base. Guessing my pace wrong has little tangible effect. It's mostly just frustrating not to know. Occasionally, though, the result is as bad as the judgment. Last week, I ran too fast on Wednesday after running faster than planned on Tuesday. I ended up sick for the rest of the week and missed out on 8-10 miles I need to build my base. Other times, the result goes the other way, as when I turned in a best-case scenario half-marathon in Indianapolis. Who knew? Certainly not me.

So, inaccurate instincts can give good or bad results. The common factor is unpredictability. That may be okay when running, or not; in any case, it can be a part of the continuous change I seek. But unpredictability in process is not so okay when I am developing software. Continuous learning is still good, but being wrong can wreak havoc on a timeline, and it can cause problems for your customer.

Bad instincts when estimating my pace wasn't a problem two years, though it has been in my deeper past. When I started running, I often felt like an outsider. Runners knew things that I didn't, which made me feel like a pretender. They had instincts about training, eating, racing, and resting that I lacked. But over time I began to feel like I knew more, and soon -- imperceptibly I began to feel like a runner after all. A lot -- all? -- of what we call "instinct" is developed, not inborn. Practice, repetition, time -- they added up to my instincts as a runner.

Time can also erode instinct. A lack of practice, a lack of repetition, and now I am back to where I was several years ago, instinct-wise. This is, I think, a big part of what makes learning to run again uncomfortable, much as beginners are uncomfortable learning the first time.

One of the things I like about agile approaches to software development is their emphasis on the conscious attention to practice. They encourage us to reflect about our practice and look for ways to improve that are supported by experience. The practices we focus on help us to develop good instincts: how much time it will take for us to implement a story, when to write -- and not write -- tests, how far to refactor a system to prepare for the next story. Developing accurate and effective instinct is one way we get better, and that is more important than being agile.

The traditional software engineering community thinks about this challenge, too. Watts Humphrey created the Personal Software Process to help developers get a better sense of how they use their time and to use this sense to get better. But, typically, the result feels so heavy, so onerous on the developers it aims to help, that few people are likely to stick with it when they get into the trenches with their code.

An aside: This reminds me of conversations I had with students in my AI courses back in the day. I asked them to read Alan Turing's classic Computing Machinery and Intelligence, and in class we discussed the Turing Test and the many objections Turing rebuts. Many students clung to the notion that a computer program could never exhibit human-like intelligence because humans lacked "gut instinct" -- instinct. Many students played right into Turing's rebuttal yet remained firm; they felt deeply that to be human was different. Now, I am not at ease with scientific materialism's claim that humans are purely deterministic beings, but the scientist in me tells me to strive for natural explanations of as much of every phenomenon as possible. Why couldn't a program develop a "gut feeling"? To the extent that at least some of our instincts are learned responses, developed through repetition and time, why couldn't a program learn the same instincts? I had fun playing devil's advocate, as I always do, even when I was certain that I was making little progress in opening some students' minds.

In your work and in your play, be aware of the role that practice, repetition, and time play in developing your instincts. Do not despair that you don't have good instincts. Work to develop them. The word missing from your thought is "yet". A little attention to your work, and a lot of practice, will go a long way. Once you have good instincts, cherish them. They give us comfort and confidence. They make us feel powerful. But don't settle. The same attention and practice will help you get better, to grow as a developer or runner or whatever your task.

As for my running, I am certainly glad to be getting stronger and to be able to run faster than I expect. Still, I look forward to the feeling of control I have when my instincts are more reliable. Unpredictable effort leads to unpredictable days.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

May 21, 2009 5:58 AM

The Body Adapts Slowly, Especially Now

I mentioned last time that I successfully completed five AM runs last week. That is my standard schedule, except when I stick in a sixth morning run during the heaviest stage of marathon training. But after low mileage for so many months, five runs in a week feels like an accomplishment.

To make the accomplishment even greater, I added a mid-week 5-miler. What's the big deal? My standard five-day schedule is 5-8-5-8 on Tuesday through Thursday, with speed workouts on Friday and maybe Wednesday, and ≥ 12 miles on Sunday. But after those down months, I started back in February by doing mostly 3s, with an occasional 5 thrown in for an afternoon or evening run just before running the 500 Festival half.

I had planned to add a second 5-miler this week. I figured I'd do them on Tuesday and Thursday, because I have important meetings on Wednesday and Fridays for the next couple of week. It seemed like a good idea to take it easier on those days, so that if the extra miles led to a down day, I'd be down on days that mattered less.

Indeed, it was a very good idea. But Tuesday's run felt so good... Impatience rose up. I ran a second 5-miler on Wednesday and again felt good, so I ran a little faster. Afterwards, I still felt good -- until about 8:00 AM. (Remember, I start early.) I felt progressively worse as time passed, and in the end the run killed my day.

You would think that, after health problems had affected my running for over a year, I would be more patient. But it's hard not to get excited, and I gave in to temptation. Impatience exacted its price.

I'll do better from now on, at least until the next time I succumb. I will script my runs for the next few weeks -- and stick to the plan. Another bright line "Thou shalt not..." is what I need right now.

All that said, I am hopeful that with patience I'll be able to get back to my standard schedule within a couple of months. If I do, I am entertaining the idea of taking on a race in the fall.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 04, 2009 7:59 AM

Best Case Scenario

My expectations for the 500 Festival Mini-Marathon were rather low. I've been battling subpar health for a year, so my mileage has been down. I've gone through a few dry stretches of six to eight weeks without running much or at all.. I've been running again for the last ten weeks or so, but I've managed only to reach the mid-twenties of miles in any given week. My body just isn't ready for running many miles, let alone racing them.

My running buddy, Greg, and I arrived in downtown Indianapolis half an hour before the start time of the race. It was overcast and cool -- around 47 degrees -- with the slightest of breezes. I cast my lot with the possibility that we'd not run in the rain and left my cap in my checked back, but I did throw on my thinnest pair of gloves. A good choice.

When you run with 35,000 other runners, the start of a race is always a little crowded. After the official start of the race, Greg and I shuffled along for six and half minutes before we reached the starting line. From that point, we ran in tight traffic for only a third of a mile or so before we could move unencumbered. I was how quickly that moment came. I was also surprised at the pace of our first couple of miles. Even with the shuffling start we clocked a 9:08 for Mile 1, and then we did Mile 2 in 8:37. I won't be able to keep this up for much longer, I said, so don't feel bad about leaving me behind. But I didn't feel as if I were pressing, so I hung steady.

Talking as we ran helped me stay steady. I have gone to races with Greg and other friends before, but I have never actually run with them. We spend time together before and after the race, but during we find our own strides and run our own races. This time, we actually ran together. The miles clicked off. 8:33. 8:32. Can this be? 8:42. Ah, a little slower.

The we reached the famed Indianapolis Motor Speedway, home to the 500 mile race that gives its name to the race I am running. Race cars navigate this brick and asphalt oval in 40 seconds, but thousands of runners staked their claims in anywhere from twelve minutes to over an hour. We saw the 6-, 7-, and 8-mile markers inside the track, along with the 10K split and the halfway point. 8:46. 8:49. 8:44. Slower, yet hanging steady.

I felt a slight tug in my left calf just before the 9-mile marker. I did not mention it out loud, because I did not want to make it real. We kept talking, and I kept moving. 8:46. 8:29. What? 8:29?? The tenth mile was our fastest yet. I felt good -- not "just getting started" strong, but "I can keep doing this" strong. I thought of Barney Stinson's advice and just kept running.

I took a last sip of fuel just past the 10-mile mark. 8:22. Greg and I decided that we would let ourselves really run the last mile if we still felt good. We must have. We clipped off miles 12 and 13 in 16:16. Then came that last mad rush to the finish line. 1:52:25. I have never been so happy to run my second worst time ever. This was 8-10 minutes faster than I imagined I could run, and I finished strong, thinking I could do a little more if I had to. (Not another half, of course -- I am nowhere near marathon shape!)

Talking throughout the race definitely helped me. It provided a distraction from the fact that we were running hard, that the miles were piling up behind us. I never had a chance for my mind to tell I couldn't do what I was doing, because it didn't have a chance to focus on the distance. Our focus was on the running, on the moment. We took stock of each mile as a single mile and then took on the current mile. In an odd way, it was a most conscious race.

The only ill effect I have this morning is a barely sore left hamstring that gave its all for those last two mile and a minor headache. In all other ways I feel good and look forward to hitting the trails tomorrow morning with another challenge in mind.

The weekend itself was not an uninterrupted sequence of best case scenarios... As I pulled out of the parking garage after picking up my race packet in downtown Indianapolis, my car began gushing coolant. Was there any irony in the fact that I was at that moment listening to Zen and the Art of Motorcycle Maintenance? I am not one of those guys who tinkers with his own engine, but I know enough to know that you can't go far without coolant.

Still, I did not face a worst case scenario. I called the friend with whom I was to dine that night, and he came to get me. He arranged for a tow, and while I ran on Saturday morning a professional who knows his way around under the hood fixed the problem -- a faulty reservoir -- for only a couple of hundred dollars. Given the circumstances, I could hardly have asked for a better resolution.

Race day, May 2, was one year to the day of my last 100% healthy work-out... I do not think I am yet 100% healthy again, and I did not finish the half marathon with Ernie Banks's immortal words on my lips ("Let's play two!". But I have to say: Great day.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

April 04, 2009 1:39 PM

A First Race

This morning, I ran a 5K. It was my first "race" since my last marathon, with last year lost to not feeling well enough to run more than a bit. Today's race was organized by a student group on campus that includes a couple of my current and former students, so I risked signing up even though when I did I wasn't sure that I'd be able to do more than plow through the miles, if that.

I went in with no expectations, literally -- I had no idea how fast or far I could run all-out, or even what all-out means for me right now. I figured this would be an opportunity to gauge myself a month before my big goal right now, the 500 Festival Half. Even still, I wasn't able not to daydream about times as I stretched before the race... My best guess was that, if I could break 25:00, I should be a very happy man.

This was a race by college kids, for college kids. Most of the runners were undergrad students -- some of whom run, and many of whom probably don't run much. You know college-aged guys... They broke from the gate fast, and within a mile many had fallen back. The early pace felt good to me, so I hung on and passed a few guys, figuring they'd take me in the last mile when I was gasping for air.

First mile split: 7:18. My first thought: They have the marker in the wrong place. We couldn't have run a mile yet.

Second mile split: 7:25. My second first thought: Really? Probably not.

Either the mile markers were wrong, or I faded a bit in the last mile. As I got within a quarter-mile of the finishing line, one of the guys I had passed caught me -- but only one. I picked up the pace, to see if he was for real. He did, too, and stayed a stride ahead of me as we entered the chute.

Time: 23:33. I guess I have to be happy now!

The next test is how I feel tonight and in the morning, when I hope to run an easy 8 miles en route to Indianapolis.

Another sign that this was a race by college kids, for college kids was the age grouping for prizes: 17-under, 18-29, and 30-up. After the race, one of my former students suggested that I might have won my age group, but I was pretty sure at least one of the guys ahead of me was also in the old-man group. I was right. Unfortunately, the race offered only one prize per age group, so I don't know if I finished second yet.

My best guess is that I finished in the top 20-25 overall. It wasn't a fast group. But it was nice ti run against the clock for real again. Here's hoping I feel good in the morning.

Posted by Eugene Wallingford | Permalink | Categories: Running

March 25, 2009 4:16 PM

Anger and Starting Again

While running yesterday, I was thinking back to my entry on starting again. I say in that entry that having reach a certain level of accomplishment, however meager, makes starting over tough. It's not the same as a newcomer starting from scratch; in some objective sense the newcomer faces a bigger challenge. But starting over creates a new sort of psychological hurdle that adds to the physical challenge. When you've run 60-mile weeks and 10x800m speed workouts, trying to string together 3-mile runs on consecutive days can be, well, demoralizing.

My mind then wandered of to a message from a reader who is former student. He sent me a note in response to Small Surprises While Grading that went far beyond the specific surprises I mentioned -- great stuff on what had been in his mind while taking the course. I thought of this specific comment:

I'm not sure why [there were so many 0s in the course gradebook], but every assignment left me in a bad mood. My mood after each assignment was worse than the previous one. The second to last assignment I did well on, but left me angrier than I have been in a long time.

I wonder if part of this student's bad mood and anger comes from the same thing I'm feeling while running? He is a successful programmer, nearing the end of his undergraduate work. Then this course comes along and changes the rules: functional programming, Scheme, recursion, language grammars. Maybe he felt like he was starting over. Knowing what it felt like to master a programming language, to whip out programs, and to feel good after an assignment, perhaps this experience felt all the more painful, all the more insurmountable.

Though I have thought back to his message several times in the last couple of months, I didn't know to ask him this question until now. I'll ask. But regardless of his answer, I think the feeling I have occasionally while running these days gives me insight to what some students might be feeling.

I also now realize consciously one advantage that I have as a runner who "has reached the mountaintop" over a brand new runner: I know what it feels like to break through the barrier.

One of the more remarkable experiences on a race course is the dramatic deliverance from the depths of discomfort to the rebirth of spirit, endurance, and performance. There's nothing like breaking through the pain barrier, and finding a better and stronger runner on the other side.

-- from a Running Times article on endurance runner Lisa Smith-Batchen

Knowing that feeling is how I put the feeling of re-climbing the mountain in perspective, why any sense of despair seems to evaporate as quickly as it condenses in my mind. I will get back to long runs and faster times. The newbie may not be so confident.

Oh, and as for learning CS: If many students feel what my correspondent says he felt, or if a few students feel that way often, then that is probably sign of a failure in the design of our curriculum, or of my course. I don't mind that students feel uncomfortable for a while as they learn; that is both natural and necessary. Anger and despair are another matter.

Posted by Eugene Wallingford | Permalink | Categories: Running, Teaching and Learning

March 22, 2009 2:30 PM

Got To Begin Again

I spent this morning with what seems like an old friend.

When we first moved here in 1992, we heard a lot about the 60 miles of recreational trails in the area, and what they meant for the quality of life we could have here. The system now spans more than 80 miles, and I have spent a lot of hours on most of them. I've walked and biked with my family there, but I've spent far more hours on the trails alone, running. Sometimes, I'm training for a race. Then, the trail is a work partner. Other times, I'm simply running, and the trail is more like a friend I share the quiet time with. Many of my favorite routes, including a 12-miler north of town and a 16-miler south, are run partly or entirely on trails.

My most frequent trail segment is a simple loop, 6.2 miles in length -- a cosmic accident of 10K for runners, to whom that distance has special significance. It was within a 1.5 miles of my old house, so I used it all the time. Being off my game since last May, though, I haven't had many opportunities to run it, because I either wasn't running or wasn't running enough to get me to the loop, around it, and back home. As I wrote last month, my mileage has been way down since November, while I struggled to get healthy. Not much call for a 6-mile loop when I was happy just to run three miles twice in a week!

Well, a couple of weeks back, I worked my way up to a 17-mile week capped with a 5-mile "long run". After a hiccup last week, I finished off an 18-mile week with a 6-mile run around my old friend. The curves and trees and water all seemed old and new at the same time. It was cloudy and cool, with an occasional remnant of an icy winter. My senses drank it in. A good day.

As much as I enjoyed running an old route today, over the last few weeks I have also been enjoying building new routes from our new house. One advantage of my recent bad health is that I have had to start with 3-mile and 3.5-mile runs. Were I in marathon shape, I wouldn't want to waste my time mapping out such short routes. Yet they are the foundation I need for my training. Even at the peak of preparing for a marathon, I like to do easy 3-milers on Monday, the day after my long runs. When I'm not training for a big race, I like to have a full complement of routes of all distances, so that I can run whatever I feel like on a given morning.

Beginning again -- again -- is hard. It is different from starting the first time. When I began training for my first marathon, I didn't know what I was getting myself into, really. Each new long distance run was a challenge, but I just kept plugging away. This time, I know what it feels like to be in top shape, ready to run fast or long on demand. Ready to take on anything. To run a mere six easy miles and feel like I am working hard -- not struggling, yet not quite comfortable -- well, in a way the challenge seems all the more daunting. Having conquered it once, can I do it again?

I think a lot about a couple of friends who are or were training for their first marathons. It is hard for them! They usually don't have the 10-15 miles/week foundation that I had when I started, so every step can feel like a chore. The fatigue and soreness are new and can feel insurmountable. When the first deep cold spell settled over us in December, one buddy set aside his ambition. He wasn't ready to face two opponents at once. All one can do is persevere. Eventually, everything comes together, and you feel like a runner.

I know that I don't face their challenge, but having already been there... This gives me a glimpse of what it must be like for an accomplished athlete who has to return from a debilitating injury. I know it's just a glimpse; I've never accomplished much as a runner other than to finish a few races and have some fun. But it is an interesting new challenge to struggle on a 3-, 5-, or 6-mile run, knowing what it's like not to struggle at that distance, or at any distance. Do I have what it takes?

I think so. Old friends and new will help me through.

Posted by Eugene Wallingford | Permalink | Categories: Running

March 02, 2009 3:13 PM

Two Months to the Starting Line

running the compound at SugarLoafPLoP 2004

Two months from today is the Indy 500 Mini Marathon. That means I have nine weeks two work myself back up to 13 miles -- not racing shape, such as that is for me, just good enough shape to cover the distance without risking life or limb.

Given that my most recent news of two was managing two runs in a single week, even the lesser goal is a bit daunting. The good news is that I ran three times the week before last and four times last week. Those four runs totaled just a bit less than a half-marathon: 13 miles even. Yet I ran four times in a week for the first time since October. Hurray!

I'll set as aggressive an ascent as I can manage over the next couple of months, raising my long run by a mile or two each week. This is what I have in mind: 5, 6, 8, 5, 8, 10, 12, 10, and then the half. Dropping back to 5 one week helps the body incorporate the mileage and recover a bit. I can probably get with nothing more than a 10-mile long run, if that is necessary. But if I can manage a 12-miler, I'd like to, for my confidence and sanity before the race.

The overriding consideration will be health, trying to build back up without a recurrence of the symptoms that have gotten in the way since, oh, last May 2. What an anniversary race that will be. The last two weeks have left me hopeful but wary. I don't yet feel quite right, but I feel better than I have in a while.

At least the weather is beginning to turn a bit. Spring is in the offing. Though we had some cold weather over the weekend, the sun has moved higher in the sky and is lasting longer. Today, the outside looks almost as nice as the sun day in the photo above, taken by one of my workshop colleagues at SugarLoafPLoP 2004. 4 degrees of latitude below the equator creates a different set of conditions for running than most days in Iowa, yet in the end it is all the same: accept the challenge offered by today, and see where you can go. In Fortaleza that day, the challenge was a hot sun and a powerful humidity. The run was wonderful. I can only hope for runs as nice over the next two months.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 12, 2009 8:15 PM


Two can be as bad as one
It's the loneliest number since the number one

-- Three Dog Night

Two is the number of times I have run since Tuesday afternoon. It is also the the number of times I ran between Tuesday and December 21, and twice as many times as I ran in the entire month of January.

I was so excited when I ran three miles on January 30 that I nearly blogged One, because it had been one month since my previous run, and my only run in January. (I'll talk about that December 30 in an upcoming Running Year in Review.)

Good news: The two runs this week have not led to the symptoms that knocked out most of November and December. That's especially good news given that months of medical testing have failed to find their cause. At this point, I have the most accurate snapshot of my body and its health ever: blood tests, metabolic tests, stress tests, sleep tests, gastrointestinal scopes, an MRI of my head, an ultrasound of my internal organs, and finally a marrow biopsy. The tests came back negative, which is positive -- except for finding a cause. I'm ready for the symptoms to disappear and become a mystery of the past.

So two runs in a week with good health feels great. I ran only three miles each time, slow but not so slow that I am setting negative PRs. My legs feel good, ready for more. I'll wait until Sunday or so before trying that.

Ever the optimist, earlier this month I signed up to run a spring race. My running buddy has wanted to run the Indy 500 Mini Marathon for a few years. I'm an Indianapolis native who grew up amid the mystique of the Indy 500 but who didn't run while I lived there. I was easily sold.

The race -- America's largest half marathon and one of the five or six largest races of any distance -- is May 2, so I have my work cut out for me. At this point I don't envision myself "racing" this one. Instead I'll use it as a goal to drive my return to running this spring, and then on race day as a symbolic return to the real thing. Running for fun can be fun, and it will let me know whether I have what it takes to get back into serious mileage and some real racing later. Maybe even an autumn marathon.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 10, 2008 6:27 AM


This is the busy end to a busier-than-usual semester. As a result, my only opportunity and drive to blog come from echoes. Sometimes that's okay.


... or not. After six weeks or so of 26-28 miles a week -- not much by standards, but a slow and steady stream -- November hit me hard. Since 11/03 I've managed only 6-8 miles a week and not felt well the days after. My doctors are running out of possible diagnoses, which is good in one way but bad in another. In addition to the blog echo, I have an actual echo running through my head, from John Mellencamp's "Junior": Sometimes I feel better / But I never do feel well.

Building Tools

As we wrap up the semester's study of programming languages, my students took their final quiz today. I used the free time before the quiz to show them how we could imperative features -- an assignment operator and sequences of statements -- to a simple functional interpreter that they have been building over the course of the last few homework assignments. After writing a simple cell data type (10 lines of code) to support mutable data, we added 25 or so lines of code to their interpreter and modified 5 or so more. That's all it took.

I'm always amazed by what we can do in a few lines of code. Those few lines also managed to illustrate several of the ideas students encountered this semester: map, currying, and even a higher-order type predicate. Today's mini-demonstration has me psyched to add more features to the language, to make it more useful both as a language and as an example of how language works. If only we had more time...

After class, I was talking with a student about this and that related to class, internships, and programming. He commented that he now groks what The Pragmatic Programmer says about writing your own tools and writing programs to generate code for you. I smiled and thought, yep, that's what programmers do.

40th Anniversaries

Today was one of the 40th anniversaries I mentioned six weeks ago: Douglas Engelbart's demonstration of a mouse-controlled, real time-interactive, networked computer. SFGate heralds this as the premiere of the PC, but this event has always seemed more about interaction than personal computing. Surely, the kind of interactivity that Engelbart showed off was a necessary precursor to the PC, but this demonstration was so much more -- it showed that people can interact with digital media and, yes, programs in a way that connects with human needs and wants. Engelbart's ideas will out-live what we know as the personal computer.

No matter, though. The demonstration inspired a generation. A friend of mine sent a note to all his friends today, asking us to "drink a toast to Douglas Engelbart" and reminiscing on what personal computing means to many of us:

Think how much this has changed our lives... The communication capabilities allow us to communicate extremely quickly, throughout the globe. The PC, and Internet, allow me to have friends in Australia, Belfast, Brazil, China, Holland, India, Japan, London, Switzerland, and many other places. ... Can you even picture a world without PC's? I've seen and used them in remote places like Nosy Be, Madagascar, and Siem Reap, Cambodia.

The world is a different place, and many of us -- my friend included -- contribute to that. That humbles and awes me.

Programming Matters

Don't need programmers, only smart people? Or people with good "people skills"? Today on the Rebooting Computing mailing list, Peter Norvig wrote:

At Google, a typical team might be 1 software architect, 5 software designers who are also responsible for development, testing, and production, and one product manager. All 7 would have CS BS degrees, and maybe 2 MS and 2 PhDs. Programming is a significant part of the job for everyone but the product manager, although s/he typically has programming experience in the past (school or job). Overall, programming is a very large part of the job for the majority of the engineering team.

Sure, Google is different. But at the end of the day, it's not that different. The financial services companies that hire many of my university's graduates are producing business value through information technology. Maximizing value through computing is even more important in this climate of economic uncertainty. Engineering and scientific firms hire our students, too, where they work with other CS grads and with scientists and engineers of all sorts. Programming matters there, and many of the programmers are scientists. The code that scientists produce is so important to these organizations that people such as Greg Wilson would like to see us focus more on helping scientists build better software than on high-performance computing.

Those who can turn ideas into code are the masters of this new world. Such mastery can begin with meager steps, such as adding a few lines of code to an interpreter make imperative programming come alive. It continues when a programmer looks at the result and says, "I wonder what would happen if..."

Posted by Eugene Wallingford | Permalink | Categories: Computing, Running, Teaching and Learning

September 28, 2008 11:06 AM

Another Reason To Run Long Distances

From running coach and research physiologist Jason Karp, Ph.D.:

... my research published in International Journal of Sport Nutrition and Exercise Metabolism in 2006 showed that chocolate milk is just as good or better than other recovery drinks after exhausting exercise.

According to Karp, other research suggests that I could consume nearly four 8-oz. glasses of chocolate milk within 30 minutes after ending a hard run in order to take in the 0.7g of simple carbs per pound of body weight needed to maximize the rate of glycogen synthesis and thus to speed replenishment of my muscles stores. The mix of carbs and protein in the drink is almost ideal for the human body under the conditions of hard work.

I heart chocolate milk. Any activity that makes it not only possible but recommended that I consume plentiful amounts of it is okay by me.

Unfortunately, I don't usually drink my chocolate milk as a post-run recovery drink. I tend to drink mine in the evening as a treat. I rationalize that it is good to fuel up before my early morning runs, which I do as soon as I wake up and before eating or drinking anything.

But there is also research to support that not fueling up immediately after a hard run can be a good thing, if done appropriately. Running marathons requires the largest store of glycogen possible, a system that uses newly-ingested glucose as efficiently as possible, and a system that uses fat for fuel as efficiently as possible. "Starving" the muscles immediately after a workout that depletes glycogen stores trains the body to use fat more efficiently and to use newly-ingested glucose more efficiently. Karp calls this a "creating a threat to the muscles' survival", to which the body responds effectively. When you finally rebuild glycogen stores later with carbo loading, the muscles will store more than their previous capacity allowed. The human body is an amazing and wonderful machine.

Quick update: I ran 7 miles on Friday in under 56 minutes -- nothing spectacular, but much faster than I have run in over four months. This morning I ran 11 miles, on one of my hilliest routes. The results of these runs are my first 30-mile week in over four months, legs that feel abused, and a small headache from my lingering symptoms. Thirty miles ain't much, but right now it feels okay.

I may well drink a tall glass of chocolate milk this evening.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 11, 2008 8:37 PM

Not Running

a run on the trails

I've talked about not reading a few times [ 1 | 2 | 3 ], and even observed it in the wild.

What about not running?

Well, I did write about my lost summer. That's the bad kind of not running: not running because you can't. I've been doing too much of that this year. It's not ironic or humorous in Bayard's sense; it's just sad.

Believe it or not, I have encountered Bayardesque not running before. Soon after I went public with my intent to run my first marathon, a mathematician friend publicly announced that he had embarked on the arduous task of not running a marathon before he turned 40. I am happy to say that he succeeded to the fullest extent of his dream. However, this past weekend, I saw him laboring across a local bridge in what must be called at least a trot. He is certainly now not not running, and perhaps is even entertaining the idea of not not running a marathon. There is no cache in that.

In all seriousness, there are several good kinds of not running. Sometimes we cross train, which means to do another form of exercise instead of running. This allows us to develop strength or stamina, or maintain our habit of exercising, without stressing our running muscles. At other times we go all the way and rest. Sometimes, our body needs time off to recuperate and rebuild damaged muscle. Other times, our mind needs rest, time away from the stress of meeting a goal or pushing the body to its limit. (Crosstraining is a form of rest, too, but only for the part of the mind and body that runs.)

Finally, we may choose not to run for a very good reason. I don't have a pithy name for this; I think of it as not running toward a goal. In the last weeks before a marathon, we taper, that is, we cut our mileage way back. It's rest with a specific intent: to prepare the body for the race. In the final week, we may not run at all. When I have a bad hamstring, I choose not to run in order that I might heal. This is different than rest, because my mind and body may very much want to run. But I tell it to wait, so that more running doesn't make the injury worse.

I have learned that there is something in between bad not running and good not running. A few months ago I was able to say that I run again, but that was true only in the simplest sense: After not running for a few weeks, I pulled on my shoes and shuffled along the trails and roads around town. But I am still not running in the fullest sense: regular miles, regular speed, regular workouts.

Only in the last week have I "run" run -- on Sunday, a 10-miler in which I pushed hard for two miles in each half of an out-and-back course, and last night, an 8-miler over which I maintained the pace of those four miles for the full 67+ minutes on the university's indoor track. (Cute girls and young male speed demons motivate even old fogies like me.) Now I can only hope that my body doesn't balk in the next few days with a full set of symptoms. I'm happy for now to be in between.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 19, 2008 1:21 PM

A Lost Summer

For the last five years, mid-August has meant more than getting ready for fall semester. It has meant 50+ mile weeks. It has meant once or twice weekly track workouts. It has meant hours each week running, before dawn in cool, moist air; in newly-risen sunlight; in the rain.

A month ago I was still figuring things out about my running, hoping to get well all the while. Unfortunately, I haven't gotten well. At times, I have gotten better, but never well, and punctuated every couple of weeks by a return of the same symptoms that have dogged me since May 2. I've been running since early June, because I wasn't getting better anyway. The last month or two, I have managed between 24 and 29 miles each week, with one 31.5-mile week that left tired for a week afterwards. Many people think that 25-30 mile weeks are awesome, but for me they aren't, and all the while I'm looking to get better.

My doctor is baffled. He has run every test he can imagine, and all he and his nurses can say is, man, you are healthy. That's good news! ... except for the part of not being well.

We'll keep looking, and I'll keep plodding along. But I really miss the summer of running I didn't have. August isn't quite the same.

Posted by Eugene Wallingford | Permalink | Categories: Personal, Running

July 13, 2008 9:33 PM

Still Figuring Things Out

Last Sunday, I ran 9 miles. It was my longest long run since coming down with whatever ails me 10 weeks ago or so. It felt better than I expected. The result was 30+ miles for that week. My plan for the past week was to repeat that mileage and let my body adjust before trying to do more.

But then I felt rundown all week. I felt slow when I was on the road, and I felt listless at work and at home. I decided to skip my Friday run, in order to recover a bit, and maybe rest a little.

Friday night, my whole family drove three hours to Minneapolis. My wife and older daughter were to attend a dance camp for a few days, and my younger daughter and I tagged along for Friday evening and Saturday.

Saturday, the three of us who weren't dancing spent all day on our feet, mostly walking to, from, and at the Mall of America. (Yes, it's a very big mall.) At the end of the day, I was exhausted, and my younger daughter and I drove home.

This morning, I slept in, recovering a bit. I decided to give my planned 9-miler a go in the afternoon, but even before I started I was thinking of contingencies. I would take it slow, and if I didn't feel well, I could trim it back to 8, 7, or even 6 miles. The weather would be quite warm, and I usually run in the morning before heat is an issue, so I carried water for even this short "long run".

I felt good. I ran faster and more comfortably than last week. For Mile 7, I ran a shocking 8:18. (The time is shocking only in the context of the last ten weeks!) I slowed over the last 2.5 miles, yet my overall time was almost 3 minutes than last week's run over the same route.

Of course, soon I had to sleep, and sleep I did, hard and deep for an hour or more.

My body is getting back into the swing of running, but in certain ways I'm still where I was weeks ago. What's worse, I don't know how my body will react to any given run or day. I'm still figuring things out, and hoping to get well all the while.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 03, 2008 10:55 AM

Running Half-Year in Review

I usually write year-end reviews of my running, to look back at accomplishments and disappointments and to think ahead to what the next year will be like. My 2007 review saw a tough January through May, a recovery in June, and then a good training season for the Marine Corps Marathon.

I'm in a looking-forward mood as we reach the midpoint in 2008 because I have a decision to make. My running year started well, and at the end of April I was 140 miles ahead of my 2007 pace, though 130 miles behind my record pace from 2006. Then on May 2, the symptoms that set me back in 2006 returned. I stopped running in order to let my body get better. Unfortunately, the symptoms not gone away yet, but I eventually decided that if they weren't leaving I may as well run -- as long as I didn't feel worse.

On June 9, I ran again, and I spent the next three weeks slowly building up my mileage, keeping a close eye on how I feel. I'm not getting worse and may have gotten marginally better, though I still experience the wrong kind of fatigue. After weeks of 15, 20, and 26 miles, I am on target to run 30 this week. Not much, by past standards, but it's a start.

Sadly, while building back up, I was unable to run my now-traditional half marathon at our local summer festival. (I wasn't the only one ailing... After the horrible flooding that hit us last month, the festival had to trim its half marathon to a 10-miler.)

The decision I have to make is this: Should I try to run a fall marathon this year? Even last year I did not have to think about this, because I recovered early in May and had two months to get back somewhere near normal in time for June through September training plan. But this week's 30 miles find me a week deep into July... I'm not strong yet, nor 100% healthy, and I'm not sure I am physically ready to take up the gauntlet. I also wonder if I am mentally ready.

But the desire to rise up to the challenge is at least flickering.

If I do go for it, this is the perfect year to aim for a marathon with no time goal -- just run it, finish, and feel that accomplishment. That would be a refreshing change for me.

If I do go for it, I will keep it simple, stay close to home. I am considering the Des Moines Marathon or a much smaller event, the On the Road for Education marathon. At this point, I'm leaning toward the latter for a few reasons. I've never run a small marathon and am curious what it feels like to be out there mostly alone, not in a big crowd with a large audience along the route. It also has a later preregistration cutoff date, which allows a later decision and a smaller fee. Perhaps most important, though, is one lone week: Des Moines is October 19, and Mason City is October 26. At this point, an extra week for training may be worth a lot more than any money or support.

I have to decide soon.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 02, 2008 10:23 AM

Math and Computing as Art

So no, I'm not complaining about the presence
of facts and formulas in our mathematics classes,
I'm complaining about the lack of mathematics
in our mathematics classes.
-- Paul Lockhart

A week or so ago I mentioned reading a paper called A Mathematician's Lament by Paul Lockhart and said I'd write more on it later. Yesterday's post, which touched on the topic of teaching what is useful reminded me of Lockhart, a mathematician who stakes out a position that is at once diametrically opposed to the notion of teaching what is useful about math and yet grounded in a way that our K-12 math curriculum is not. This topic is especially salient for me right now because our state is these days devoting some effort to the reform of math and science education, and my university and college are playing a leading role in the initiative.

Lockhart's lament is not that we teach mathematics poorly in our K-12 schools, but rather that we don't teach mathematics at all. We teach definitions, rules, and formal systems that have been distilled away from any interesting context, in the name of teaching students skills that will be useful later. What students do in school is not what mathematicians do, and that's a shame, because mathematicians is fun, creative, beautiful -- art.

As Lockhart described his nightmare of music students not being allowed to create or even play music, having to copy and transpose sheet music, I cringed, because I recognized how much of our introductory CS courses work. As he talked about how elementary and HS students never get to "hear the music" in mathematics, I thought of Brian Greene's Put a Little Science in Your Life, which laments the same problem in science education. How have we managed to kill all that is beautiful in these wonderful ideas -- these powerful and even useful ideas -- in the name of teaching useful skills? So sad.

Lockhart sets out an extreme stance. Make math optional. Don't worry about any particular content, or the order of topics, or any particular skills.

Mathematics is the music of reason. To do mathematics is to engage in an act of discovery and conjecture, intuition and inspiration; to be in a state of confusion--not because it makes no sense to you, but because you gave it sense and you still don't understand what your creation is up to; to have a breakthrough idea; to be frustrated as an artist; to be awed and overwhelmed by an almost painful beauty; to be alive, damn it.

I teach computer science, and this poetic sense resonates with me. I feel these emotions about programs all the time!

In the end, Lockhart admits that his position is extreme, that the pendulum has swung so far to the "useful skills" side of the continuum he feels a need to shout out for the "math is beautiful" side. Throughout the paper he tries to address objections, most of which involve our students not learning what they need to know to be citizens or scientists. (Hint: Does anyone really think that most students learn that now? How much worse off could we be to treat math as art? Maybe then at least a few more students would appreciate math and be willing to learn more.)

This paper is long-ish -- 25 pages -- but it is a fun read. His screed on high school geometry is unrestrained. He calls geometry class "Instrument of the Devil" because it so thoroughly and ruthlessly kills the beauty of proof:

Other math courses may hide the beautiful bird, or put it in a cage, but in geometry class it is openly and cruelly tortured.

His discussion of proof as a natural product of a student's curiosity and desire to explain an idea is as well written as any I've read. It extends another idea from earlier in the paper that fits quite nicely with something I have written about computer science: Mathematics is the art of explanation.

By concentrating on what, and leaving out why, mathematics is reduced to an empty shell. The art is not in the "truth" but in the explanation, the argument. It is the argument itself which gives the truth its context, and determines what is really being said and meant. Mathematics is the art of explanation. If you deny students the opportunity to engage in this activity--to pose their own problems, make their own conjectures and discoveries, to be wrong, to be creatively frustrated, to have an inspiration, and to cobble together their own explanations and proofs--you deny them mathematics itself.

I am also quite sympathetic to one of the other themes that runs deeply in this paper:

Mathematics is about problems, and problems must be made the focus of a student's mathematical life.

(Ditto for computer science.)

... you don't start with definitions, you start with problems. Nobody ever had an idea of a number being "irrational" until Pythagoras attempted to measure the diagonal of a square and discovered that it could not be represented as a fraction.

Problems can motivate students, especially when students create their own problems. That is one of the beautiful things about math: almost anything you see in the world can become a problem to work on. It's also true of computer science. Students who want to write a program to do something -- play a game, predict a sports score, track their workouts -- will go out of their way to learn what they need to know. I'm guessing anyone who has taught computer science for any amount of time has experienced this first hand.

As I've mentioned here a few times, my colleague Owen Astrachan is working on a big project to explore the idea of problem-based learning in CS. (I'm wearing the project's official T-shirt as I type this!) This idea is also right in line with Alan Kay's proposal for an "exploratorium" of problems for students who want to learn to commmunicate via computation, which I describe in this entry.

I love this passage from one of Lockhart's little dialogues:

SALVIATI:     ... people learn better when the product comes out of the process. A real appreciation for poetry does not come from memorizing a bunch of poems, it comes from writing your own.

SIMPLICIO:     Yes, but before you can write your own poems you need to learn the alphabet. The process has to begin somewhere. You have to walk before you can run.

SALVIATI:     ... No, you have to have something you want to run toward.

You just have to have something you want to run toward. For teenaged boys, that something is often a girl, and suddenly the desire to write a poem becomes a powerful motivator. We should let students find goals to run toward in math and science and computer science, and then teach them how.

It's interesting that I end with a running metaphor, and not just because I run. My daughter is a sprinter and now hurdler on her school track team. She sprints because she likes to run short distances and hates to run anything long (where, I think, "long" is defined as anything longer than her race distance!). The local runners' club leads a summer running program for high school students, and some people thought my daughter would benefit. One benefit of the program is camaraderie; one drawback that it involves serious workouts. Each week the group does a longer run, a day of interval training, and a day of hill work.

I suggested that she might be benefit more from simply running more -- not doing workouts that kill her, just building up a base of mileage and getting stronger while enjoying some longer runs. My experience is that it's possible to get over the hump and go from disliking longs runs to enjoying them. Then you can move on to workouts that make you faster. So she and I are going to run together a couple of times a week this summer, taking it easy, enjoying the scenery, chatting and otherwise not stressing about "long runs".

There is an element of beauty versus duty in learning most things. When the task is all duty, you may do it, but you may never like it. Indeed, you may come to hate it and stop altogether when the external forces that keep you on task (your teammates, your sense of belonging) disappear. When you enjoy the beauty of what you are doing, everything else changes. So it is with math, I think, and computer science, too.

Posted by Eugene Wallingford | Permalink | Categories: Computing, Running, Teaching and Learning

June 18, 2008 3:51 PM

William James and Focus

I've long been a fan of William James, and once wrote briefly about the connection between James's pragmatism and my doctoral work on knowledge-based systems. I was delighted yesterday to run across this quote from James's The Principles of Psychology, courtesy of 43 Folders and Linda Stone:

[Attention] is the taking possession by the mind, in clear and vivid form, of one out of what seem several simultaneously possible objects or trains of thought. ... It implies withdrawal from some things in order to deal effectively with others....

Prone as I am to agile moments, this message from James struck me in an interesting way. First of all, I occasionally battle the issue that Stone writes about, the to-do list that grows no matter productive I seem to be on a given day. (And on lazy summer June days, well, all bets are off.) James tells me that part of my problem isn't a shortage of time, but a lack of will to focus. I need to make better, more conscious choices about what tasks to add to the list. Kent Beck is fond of saying something to the effect that you may have too many things to do and too little time, but you ultimately have control over only one side of the equation. James would tell us the same thing.

My mind also made a connection from this quote to the agile software and test-driven development practice of working on small stories, on taking small steps. If I pick up a card with a single, atomic, well-defined feature to be added to my program, I am able to focus. What is the shortest step I can take and make this feature part of my code? No distractions, no Zerstreutheit. Though I have an idea in mind toward where my program is evolving, for this moment I attend to one small feature and make it work. Focus. James would be proud.

I think it's ironic in a way that one of the more effective ways to reach the state of flow is to decompose a task into the smallest of tasks and focus on them one at a time. The mind gets into a rhythm of red bar-green bar: select task, write code, refactor, and soon it is deep in its own world. I would like to be more effective at doing this in my non-programming duties. Perhaps if I keep James and his quote in mind, I can be.

This idea applies for me in other areas, in particular in running and training for particular events. Focusing each day on a particular goal -- intervals, Long Slow Distance, hill strength, and so on -- helps the mind to push aside its concerns with other parts of the game and attend to a particular kind of improvement. There is a great sense of relaxation in running super-hard repeats when the problem I've been having is, say, picking up pace late in a run. (I'd love to run super-hard repeats again some day soon, but I'm not there yet.)

Posted by Eugene Wallingford | Permalink | Categories: General, Running, Software Development

June 09, 2008 4:48 PM

I Run Again

I haven't written about running for a while now, in large part because I have not been running for a while now. On May 2, I ran a great fast workout, my fastest in many months. I was stoked and feeling ready to train for the Sturgis Falls half-marathon at our local summer festival.

Later that morning, I came down with the same symptoms that had ransacked me for six months last year: headache and a strange but deep fatigue. Exertion magnified both inordinately. So I rested.

After nine days, I felt a little better but not well. I tried 3.5 easy miles and was back at the beginning. So I rested.

I felt a little better at times but never well. I went to the doctor, who revisited our diagnostic efforts from last year. He drew an extra large dose of blood and ran tests for a wide array of possible causes: iron deficiency, B-complex vitamin deficiency; liver, kidney, and thyroid; myelomas, mononucleosis, and several others. The tests came back clean.

That is great news; I don't yet seem to be sick with anything major. But it is also bad news; we don't know what's up.

I have been feeling a bit better but, still, not well. Late last week, I finally began to feel as if I was losing fitness in my legs. Surely my legs were leaving me earlier, but now they felt like it.

This morning I decided to test the road again. I ran 3 easy miles. My hamstrings said, "Remember me?" The rest of my legs felt like they'd been off for five weeks. So far, I have not had the dull ache in my head, only the fuzziness that accompanies the unusual fatigue. I have managed to work all day. That feels like good news.

At this point, the June 29 half-marathon is out. If I can get back to regular runs in the next two weeks, I may try to run the accompanying 5K at a recreational pace. If things go ll right the rest of the month, I think I will try to run an October marathon -- relatively local, and relatively relaxed. But a small desire is still there.

I'll run again tomorrow.

Posted by Eugene Wallingford | Permalink | Categories: Running

March 13, 2008 7:22 PM

Notes on SIGCSE 2008: Table of Contents

This set of entries records my experiences at SIGCSE 2008, in Portland, Oregon, March 12-16. I'll update it as I post new pieces about the conference. One of those entries will explain why my posts on SIGCSE may come more slowly than they might.

Primary entries:

Ancillary entries:

Posted by Eugene Wallingford | Permalink | Categories: Computing, Running, Software Development, Teaching and Learning

March 12, 2008 4:32 PM

On the Roads Back in Portland

SIGCSE 2008 logo

With the exception of my annual visit to Carefree for ChiliPLoP, I don't often get a chance to return to a city for another conference. This year brings a pleasant return to Portland for SIGCSE 2008. OOPSLA'06 was in Portland, and I wrote up a little bit about running in Portland as part of my first visit to town. Because I was on the conference planning committee that year, I made three trips to the city, stayed in the same hotel three times, and ran several of the same routes three times. The convention center is right in town, which makes it hard to get to any nice parks to run, but Portland has a 3-mile loop alongside the Willamette River that provides a decent run.

This time, I am on my own dime and trying to save a little money by staying at a budget motel about 3.5 miles from the convention center. That meant figuring out bus routes and bus stops for the ride between the two -- no small feat for a guy who has never lived in a place where public transportation is common! It also meant planning some new runs, including a route back to the waterfront.

I arrived in town early enough yesterday to figure out the buses (I think) and still have time for an exploratory run. I ran toward the river, and then toward the convention center, until I knew the lay of the land well enough. The result was 4.5 miles of urban running in neighborhoods I'd never seen. This morning, used what I learned to get to the river, where I ran my first lap through the Governor Tom McCall Waterfront Park and the Eastbank Esplanade since October 2006. I ended up with about 8 miles under my belt, and a strong desire to return Saturday evening for three laps and what will be a 14-miler -- what would be my longest run since the Marine Corps Marathon. Let's see how I feel in a couple of days...

The rest of this week I am at SIGCSE, and I'm looking forward to seeing old friends and colleagues and to talking CS for a few days. Then on Sunday, four of us fly to Phoenix for ChiliPLoP and some intense work. This is a long time to be away from home and to miss my family, but the ideas should keep me busy.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

February 24, 2008 12:48 PM

Getting Lost

While catching up on some work at the office yesterday -- a rare Saturday indeed -- I listened to Peter Turchi's OOPSLA 2007 keynote address, available from the conference podcast page. Turchi is a writer with whom conference chair Richard Gabriel studied while pursuing his MFA at Warren Wilson College. I would not put this talk in the same class as Robert Hass's OOPSLA 2005 keynote, but perhaps that has more to do with my listening to an audio recording of it and not being there in the moment. Still, I found it to be worth listening as Turchi encouraged us to "get lost" when we want to create. We usually think of getting lost as something that happens to us when we are trying to get somewhere else. That makes getting lost something we wish wouldn't happen at all. But when we get lost in a new land inside our minds, we discover something new that we could not have seen before, at least not in the same way.

As I listened, I heard three ideas that captured much of the essence of Turchi's keynote. First was that we should strive to avoid preconception. This can be tough to do, because ultimately it means that we must work without knowing what is good or bad! The notions of good and bad are themselves preconceptions. They are valuable to scientists and engineers as they polish up a solution, but they often are impediments to discovering or creating a solution in the first place.

Second was the warning that a failure to get lost is a failure of imagination. Often, when we work deeply in an area for a while, we sometimes feel as if we can't see anything new and creative because we know and understand the landscape so well. We have become "experts", which isn't always as dandy a status as it may seem. It limits what we see. In such times, we need to step off the easy path and exercise our imaginations in a new way. What must I do in order to see something new?

This leads to the third theme I pulled from Turchi's talk: getting lost takes work and preparation. When we get stuck, we have to work to imagine our way out of the rut. For the creative person, though, it's about more about getting out of a rut. The creative person needs to get lost in a new place all the time, in order to see something new. For many of us, getting lost may seem like as something that just happens, but the person who wants to be lost has to prepare to start.

Turchi mentioned Robert Louis Stevenson as someone with a particular appreciation for "the happy accident that planning can produce". But artists are not the only folks who benefit from these happy accidents or who should work to produce the conditions in which they can occur. Scientific research operates on a similar plane. I am reminded again of Robert Root-Bernstein's ideas for actively engaging the unexpected. Writers can't leave getting lost to chance, and neither can scientists.

Turchi comes from the world of writing, not the world of science. Do his ideas apply to the computer scientist's form of writing, programming? I think so. A couple of years ago, I described a structured form of getting lost called air-drop programming, which adventurous programmers use to learn a legacy code base. One can use the same idea to learn a new framework or API, or even to learn a new programming language. Cut all ties to the familiar, jump right in, and see what you learn!

What about teaching? Yes. A colleague stopped by my office late last week to describe a great day of class in which he had covered almost none of what he had planned. A student had asked a question whose answer led to another, and then another, and pretty soon the class was deep in a discussion that was as valuable, or more, than the planned activities. My colleague couldn't have planned this unexpectedly good discussion, but his and the class's work put them in a position where it could happen. Of course, unexpected exploration takes time... When will they cover all the material of the course? I suspect the students will be just fine as they make adjustments downstream this semester.

What about running? Well, of course. The topic of air-drop programming came up during a conversation about a general tourist pattern for learning a new town. Running in a new town is a great way to learn the lay of the land. Sometimes I have to work not to remember landmarks along the way, so that I can see new things on my way back to the hotel. As I wrote after a glorious morning run at ChiliPLoP three years ago, sometimes you run to get from Point A to Point B; sometimes, you should just run. That applies to your hometown, too. I once read about an elite women's runner who recommended being dropped off far from your usual running routes and working your way back home through unfamiliar streets and terrain. I've done something like this myself, though not often enough, and it is a great way to revitalize my running whenever the trails start look like the same old same old.

It seems that getting lost is a universal pattern, which made it a perfect topic for an OOPSLA keynote talk.

Posted by Eugene Wallingford | Permalink | Categories: Computing, General, Patterns, Running, Software Development, Teaching and Learning

February 23, 2008 11:21 AM

Unexpected Inspiration

How is this for a headline?

2004 Olympian DAN BROWNE Sets His Sights on Eugene

I'm making a dash for the finish line... Can I hold him off?

This has been my first week since the middle of last year not running, due to a little flu or cold bug I've picked up. It's been an icy enough week that I miss the run less than I might, but I am itching to hit the road. I hold some hope for tomorrow morning.

Posted by Eugene Wallingford | Permalink | Categories: Running

January 26, 2008 10:01 PM

Spirit of the Marathon

The day of my cold run ended with a viewing of the new film Spirit of the Marathon. Jon Dunham's film follows six people as they prepare for the 2005 Chicago Marathon. Two, Kenya's Daniel Njenga and the US's Deena Kastor, are among the best marathoners in the world. One was a guy is a 30-something with a PR of 3:11 hoping to qualify for Boston. Two are 20-something women training for their first marathons. The last is a 60-something guy with several 12:00/mile-pace marathons under his belt. Interspersed throughout coverage of the six runners are interviews with some of the sports greats, including Frank Shorter and Bill Rodgers, who comment on the history of the marathon as event and on the human desire to challenge oneself and persevere.

I enjoyed the film very much. Every few minutes, someone in the film said or did something that put a smile on the face, or a tear in the eye, of every marathoner in the room. We knew just what the person was doing, thinking, feeling; we had done the same. The chill of a dark morning just before a 20-miler. The deep disappointment of an injury that means the end of a goal. The vacillation between doubt and confidence as goals are met and new challenges arise.

Some of the lines were memorable. A lot of folks chuckled out loud when the 60-something guy said, "The only runner's high I've ever felt is when I stop running." People talk about a runner's high, but it's not all that common. Each mile is work, and most days we merely manage to reach the end. I've certainly had great runs, and written about some of them here, but those days are rare and less euphoria than steady. Unfortunately, new runners expect that they should feel a runner's high at some point, and when they don't they think something is wrong with them. There's nothing wrong with you. Just keep running.

My personal favorite line was spoken, I think, by Deena Kastor, 2004 Olympic marathon bronze medalist. She said that one of the great allures of running a marathon is the unknown. You work hard, you prepare, you are ready for the race of your life. Yet despite all of the preparation, all the hard work, you never know how your body or mind will react on The Day. That is the moment of challenge.

Indeed, this is the ultimate challenge of a marathon. The distance leaves your body with no margin of error, so the marathoner is always teetering at the end of his or her physical capabilities -- and mental energy. We middle- and back-of-the-packers may think that the champion runners are different from us, but they aren't. When Daniel Njenga made the final turn of the Chicago Marathon and faced the last grueling meters of the race, desperately hoping to find a kick that would carry him across the finish line -- he came up empty. Spent, sore, tired. His dream was beyond his reach. But he kept running, pushing his mind and legs to take the last steps.

I've made that last turn in Chicago and felt that same disappointment. I've struggled to push my legs through those last grueling meters of the course. My dream wasn't Njenga's, but it meant the same to me as his did to him.

In other sports, we can share the dreams of the world's best, but we compete in different arenas. In the marathon, we run the same courses, on the same crisp mornings, only minutes (and hours...) apart.

I don't know if non-runners will enjoy Spirit of the Marathon as much as the runners in the audience Thursday night did. If you think running is boring or hard, this film may not change your mind. If you think marathoners are crazy to attempt the distance even as they know it will push them beyond their limits, then you may see this film as supporting evidence, not inspiration. As a runner, I know the exhilaration of the challenge, and watching six runners challenge themselves and show us what they felt along the way was pretty inspiring.

Oh, and the marathon doesn't push me beyond my limits. It helps me to find my limits, and push them outward.

Posted by Eugene Wallingford | Permalink | Categories: Running

January 25, 2008 2:07 PM

Running, Programming, and Tools

I enjoyed a brisk 5-mile run outdoors yesterday morning. That isn't much to write about, except that yesterday morning the temperature dipped to an all-time record low for January 24 here, bottoming out at -29° Fahrenheit. (All together now: Here's your sign.) At least the wind didn't make it feel much colder than that.

The thing is, I did enjoy the run. I stayed plenty warm, thanks to my clothing and the physical act of running. First, I threw on a layer or two more than usual. Second, my wife gave me a couple of pieces of new gear for Christmas: a pair of fleece running mittens with a second, wind-resistant outer layer, and an ultra-warm headband that I wore under my usual thermal hat. My fingers and toes have always been my weak spot in the cold, and for the first time ever in very cold weather, my fingers didn't get cold at all. My attire did the job, and the new gear worked just as I had hoped.

In running, as in programming, good tools make all the difference. I really liked Jason Marshall's take on this in a recent Something to Say:

There's an old saying, "A good craftsman never blames his tools." Many people take this to mean "Don't make excuses," or even, "Real men don't whine when their tools break." But I take it to mean, "A good craftsperson does not abide inferior tools."

I'm teaching a course on Unix shell scripting the first five weeks of this semester, and tool-building is central to the Unix philosophy. I hope that students see that they never have to abide inferior tools, or even okay tools that do not meet their needs. With primitive Unix commands, pipelines, I/O redirection, a little sed and awk, and the more general programming language of bash, they can do so much to customize their environment so that it meets their needs. If the shell isn't enough, they can use a general-purpose programming language. Progress depends on the creation of better tools.

I like to build software tools for myself. I'm not equipped to make my own running gear, though, and being, um, careful with my money means that I am sometimes slow to buy the more expensive item. But after running 7500 miles over the last four years, I've slowly realized that I'm enough of a runner to use better gear. A few experiences like yesterday morning's make it easier to purchase the right equipment for the job. Learning shell scripting, or a better programming language, can have the same effect on a programmer.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

December 31, 2007 3:20 PM

2007 Running Year in Review


I was planning to run this morning, even though Monday is often a day of rest for me. There were two reasons. The first was purely sentimental. Today is the last day of 2007, and it is always kinda cool to mark big days with a run. The second reason was more compelling. It will be cold here tomorrow, certainly in the single digits Fahrenheit and perhaps as low as 0 degrees, with gusty winds. I figured that I would enjoy my run more at a balmy 15 degrees than a frigid 5. This would be my usual Tuesday run, an easy five-miler that falls between a Sunday long run and a faster Wednesday 8-miler, usually run on the track. I would run it on Monday instead and take Tuesday, January 1, as a day of rest, kicking off a new year's running bright and early on Wednesday morning.

But then I sat down last night to update my running long for the previous week, and saw that number.


As of December 30, I had run 1,492.0 miles. It was a surprise to me, as I had not expected to have put so many miles in the books this month. But the last three weeks have been good running, with 35, 37, and 39 miles, respectively. I'm getting back to a good groove after my latest marathon, though on most of my easy days I still feel a little slow.

In any case, upon seeing 1492.0 in my end-of-week column, no longer could I plan to run the same old five miles on New Year's Eve! With a mere three miles more, I could reach the nice, round total of 1500 miles for 2007.

So December 31 became an 8-mile run.

1500 shouldn't excite me so much. In 2006, I ran 1932.9 miles, in 2005, I ran my all-time high of 2137.7 miles, and in 2004, I made a huge jump in mileage upswing with 1907.0 miles. We have to go back to the year of my first marathon, 2003, to find so few miles on the books, 1281.8 miles.

But 2007 was different. January was tough, beginning with a lingering illness that knocked me off the road entirely for the last week of January and the first of February. I slowly built my mileage back up -- partly to be safe and partly because I didn't feel strong enough to build faster. Then I lost whole weeks to the same lingering "under the weather" in April and May, and a week to bad hamstrings in the middle of July.

From then on, I was as healthy as I'd been in a long while. My marathon training went pretty well, though I never quite found the speed I had lost from 2006. I could run fast a couple of days a week, but the other days were "just miles". Post-marathon has been pretty good, too, with only a few days missed. The last three weeks have seemed positively normal.

So 2007 was simply a tougher year all-around, and the small accomplishment of 1500 miles felt like a good way to ring out the old year and look toward a new one. And indeed it was.

Looking back at my log, 2003 looks a lot like 2007 in many ways. I was under the weather and off the road for January and February. In March, I began to recover with some long walks in the Arizona desert of ChiliPLoP'03; my colleague and good friend Robert Duvall may recall these walks as well. I then ran once each of the last two weeks, for a total of 6 miles on March 31. I began to train for my first half marathon on April 1 and put in 284.7 miles over the next three months. Then came training for the Chicago marathon, with an until then unheard-of 545.7 miles over three months. My post-marathon mileage was a nearly a carbon copy of 2007. Interesting.

My mileage was down this year, but what about performance in races? Though I never reached my strongest levels of 2005 or 2006, race times were not too bad. I ran my 3rd-best 5K ever in September, my 3rd-best half-marathon in June, and my 2nd-best marathon ever at the end of October. With a little more intestinal luck in Washington, I might have PRed the marathon, despite running a more physically demanding course. So, as I usually find at the end of each year, I can't complain much. This year raised new challenges, but isn't that what most years do for us?

As I type this now, I feel a distinct urge to start 2008 "right" -- on the road. An easy, easy three miles sounds good... I can handle half an hour of -5 degrees Fahrenheit, even with the stiff winds forecast for the night and morning. I'll bundle up, lace up the Asics, and savor the crispest of winter air as it fills my lungs with the hope of a year of new challenges. Perhaps that is what I'll do.

There are plenty of ways to warm up after I return to the house to celebrate the New Year with my family.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 20, 2007 11:30 AM

Increasing Your Sustainable Pace

Sustainable pace is part of the fabric of agile methods. The principles behind the Agile Manifesto include:

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

When I hear people talk about sustainable pace, they are usually discussing time -- how many hours per week a healthy developer and a healthy team can produce value in their software. The human mind and body can work so hard for only so long, and trying to work hard for longer leads to problems, as well as decline in productivity.

The first edition of XP had a practice called 40-hour work week that embodied this notion. The practice was later renamed sustainable pace to reflect that 40 hours is an arbitrary and often unrealistic limit. (Most university faculty certainly don't stop at 40 hours. By self-report at my school, the average work week is in the low-50s.) But the principle is the same.

Does this mean that we cannot become more productive?

Recall that pace -- rate -- is a function of two variables:

rate = distance / time

Productivity is like distance. One way to cover more distance is to put in more time. Another is to increase the amount of work you can do in a given period of time.

This is an idea close to the heart of runners. While I have written against running all out, all the time, I know that the motivation found in that mantra is to get faster. Interval training, fartleks, hill work, and sustained fast pace on long runs are all intended to help a runner get stronger and faster.

How can software developers "get faster"? I think that one answer lies in the tools they use.

When I use a testing framework and automate my tests, I am able to work faster, because I am not spending time running tests by hand. When I use a build tool, I am able to work faster, because I am not spending time recompiling files and managing build dependencies. When I use a powerful -- and programmable -- editing tool, whether it is Eclipse or Emacs, I am able to work faster, because I am not spending time putzing around for the sake of the tool.

And, yes, when I use a more powerful programming language, I am able to work faster, because I am not spending time expressing thoughts in the low-level terms of a language that limits my code.

So, programmers can increase their sustainable pace by learning tools that make them more productive. They can learn more about the tools they already use. They can extend their tools to do more. And they can write new tools when existing tools aren't good enough.

Perhaps it is not surprising that I had this thought while running a pace that I can't sustain for more than a few miles right now. But I hope in a few months that a half marathon at this pace will be comfortable!

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

December 03, 2007 10:12 AM

Good News, Bad News

On Friday morning, I had my best speed workout in at least fourteen months. I ran 1600m and 800m intervals at target 5K pace, followed by a ladder of 800m-400m-200m at an equivalent 1 mile pace. The 800m at 1-mile pace was almost certainly the fastest half-mile I have ever run in my life. Afterwards I felt great. Life is good.

Things look perfect for a chance to PR a 5K on Saturday, December 8. This is a great chance to put all my marathon training to good use in a speedier (and shorter!) race.

On Saturday, we had a huge ice storm. Snow and cold are one sort of challenge, but I'll take my chances running fast in them. A half-inch of ice is an entirely different matter.

I guess this will be a "fun run" after all, if the race is even able to go.

Posted by Eugene Wallingford | Permalink | Categories: Running

November 01, 2007 4:50 PM

How to Tell You Have Recovered Enough From Running a Marathon

You are leaving a meeting and spontaneously break into a a jog.

The weather was beautiful, if a bit nippy. I was in a hurry to get back to my office and prepare for class. And my legs did the rest, without a thought. When I realized what was happening, I was a bit surprised, and happy.

I also ran an easy three miles this morning. Thursday after a Sunday marathon is a common day for me to go for my first post- marathon run. Actually, I felt like running yesterday, which would not have been unheard of, but I slept in a bit. In retrospect, though, I'm glad I waited. By this morning, all the residual stiffness from Sunday was gone. I enjoyed today's run more than I would have enjoyed one yesterday, and my body feels better for waiting.

We all have reason to celebrate a "new year" many times in any twelve-month cycle: a calendar new year, an academic new year, a religious new year. Now that I've run a marathon each of the last five Octobers, I celebrate a new "new year" each fall, the first run after that race, as I ease into a winter of runs that are, for the most part, not tied to any particular training plan, running just for fun, for the sake of running. It is a cause for some celebration, no matter how much I enjoy getting ready for a big run.

Happy New Year!

Posted by Eugene Wallingford | Permalink | Categories: Running

October 28, 2007 7:03 PM

This One Was 26.2 Miles, Too — Trust Me

First, I'll cut to the chase: 3:47:01.

I feel good about my result. The most meaningful measure of success for me is that I ran the race I planned: a careful first 20 miles, paying special attention to the uphill and downhill stretches, followed by a faster last 6 miles, with some strength. The only deviation from plan was that most of my miles were a bit slower than planned. I never really found my groove and saw mile splits that were all over the board. The hills early in the course had a lot to do with that, too.

But Miles 20-24 went very well, which allowed me to feel something I had not felt in at least three years: strong down the stretch. The last hill came at about 25.5, as we climbed from a highway down near the river up to the Marine Corps War Memorial. That made a fast finish impossible for me, but I ran hard and felt proud.

As a result, though, I did run my tank empty, and so the hour after the race was a little uneasy. But some rest on the metro, a shower, and several pieces of dandy pizza have refreshed me! My legs are still complaining, but that I can take.

This race had fewer novelty runners and humorous shirts and signs than my previous mega-race, in Chicago. My two favorite inspiration along the way were:

  • In a wide open stretch between the halfway point and the 14-mile marker, a van was playing music and and advertising its wares. The side of the van read "3:16 — Your Race Number for Life!" I thought that was a creative twist on the usual "John 3:16" one sees at most sporting events.
  • Somewhere around Mile 19, a spectator was holding a sign that featured a young woman eating an ice cream cone, um, suggestively. The sign read, "You Can Lick This Marathon". This made me smile as I entered my stretch run.

Iwo Jima Memorial

Of course, the inspiration in this race comes from the men and women of our armed forces. Many ran this race in honor of fallen comrades. Spouses ran in honor of active personnel in Iraq. Veterans ran, including some who had lost legs and so competed in the wheelchair division. Some ran with backpacks that made my load seem cheap. Many Marines did not run and instead served us, from the bag check before the race, through water stops along the course, to the recently-minted second lieutenants draping medals over our necks and honoring our effort. All I could say to them was "thank you" and think how much greater their efforts are every day, whether here or serving in harm's way. Oo-rah.

This was my second best time ever, just 77 seconds slower than Des Moines. But that was three years ago, and I have had much better preparation the last two years. I think this is another positive I can take from this year -- a good run in what was not the best health and training year I have had.

But I won't be running tomorrow.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 24, 2007 11:24 AM

Gonna Fly Now

5:00 AM on a chilly autumn morning. A crystal clear sky filled with more stars than the eye can take in. A lone runner moves through the empty streets of a sleeping city, with only a hooded sweatshirt as protection against the intermittent gusts of wind.

As I completed my final training run this morning, my overly romantic subconscious felt like Rocky -- I half-expected to hear Bill Conti's theme rise over the trees of South Riverside Trail. Of course, Rocky ran against the backdrop of a blue-collar metropolis waking for another work day, among a people who placed great hope in one of their own to rise from the streets in victory. When I finished running, I headed off to my office for a day of mail, meetings, and a comfortable chair.

Rocky faced the challenge of Apollo Creed, who put on a cloak of transparent patriotism as America's hero. My challenge, the Marine Corps Marathon, offers a background of patriotism and pride, but an authentic pride borne of sacrifice my men and women who endure challenges that dwarf my 26.2 miles.

Rocky looked into the unknown as he prepared for a world championship fight, but this is my fourth marathon. I know the challenge. I have had some successes, and I've come up short of expectations. Each race is an unknown, but we understand some unknowns better than others.

I cannot in good conscience compare my cliché-riddled state of mind to Rocky's quiet desperation that his life could be more -- that he could be more. But on those mornings filled with long and solitary miles, we share something of a bond, along with countless others who challenge themselves to approach their limits. I, for one, enjoy it all -- the planning, the training miles, the race strategy, and lining up to see how far I can go.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 11, 2007 1:35 PM

Thoughts as I Begin My Taper

My taper into the Marine Corps Marathon has begun. Last week ended with a 25.5-mile long run, my longest training run in preparation for the race, for a total of 60 miles in the week, my longest week.

Time was of no concern to me on this long run. My mileage build-up has taken longer this year than the past few, coming out of a winter and spring that curtailed both my mileage and my speed. On Sunday, the weather was my friend as much as it could be, with the sun spending much of the morning moving in and out of the clouds. That kept temperatures in the upper 70s F., unlike what my brethren racing in Chicago and the Twin Cities faced.

I knew early in this run, by mile 6 or so, that I didn't "have it" this day, and that finishing would be a matter of perseverance, not triumph. I was not surprised. The gods of progress were penurious this year, so I've never quite reached the level of comfort going either long or fast that I have reached in recent years. That may well turn out to be a good thing. In past years, I ran a lot of miles going into my race and probably had worn my body out. I also probably peaked too soon, on one of the long training runs weeks before. This year, I will be undertrained rather than overtrained, and relatively rested rather than relatively spent. Veteran marathoners tell me this is good. The body can be ready.

I suppose that my taper began on Monday, but I had no reason to notice until Wednesday, when I did my first track workout of the week. Instead of ten miles, I ran eight. It was a legitimate workout -- 6x800m followed by 2.5 miles at my ambitious marathon goal pace -- but it ended two miles sooner. It's amazing what two fewer miles can do (or not do) to the body.

The primary purpose of the taper is to let the body recover from the hard work it has done in recent weeks and to consolidate the gains it has made during training. One of the training goals of the taper is focus on the quality of every run, rather than on the cross-product of quantity x quality. By running only eight miles on the track, I can concentrate on speed, whether a target speed for the intervals or the steady goal pace of my other miles. My 800m repeats are still not where they were last fall (3:11-3:13), but I did run six solid repeats at 3:16 or so, with the last two being the fastest. (Negative splits!) My Tuesday and Thursday runs this week have still been slow, but I expect that by next week my body will be ready to take every run seriously.

Earlier, I mentioned my "ambitious marathon goal pace". By this I do not mean that I have set an ambitious goal pace for myself. Rather, I mean that I have two goal paces, an ambitious one and a less ambitious one. Indeed, my ambitious goal is exactly the same goal pace I've had the last two years, 8:00 per mile. I know that I have this in me somewhere, as I have maintained that pace well for long training runs the past two years and through 19 and 21 miles of my last two marathons, respectively. Whenever I have run "marathon pace" miles in training this year, I have run 8-minute miles. And I have run as many marathon pace miles as possible, especially on the track after doing my scheduled repeats. I want to prepare my body for what it feels to run this pace while tired and maybe even sore.

My less ambitious pace is 8:30 per mile. If I were to finish my race averaging this pace, I would have every reason to feel good about my day. So I have been preparing my mind to think about both paces. One thing I will do these next couple of weeks is to decide on a race strategy. At various times this summer, I have considered planning to run the first X miles of the race at 8:30/mile, where X ranges from 5 to 16, and then deciding whether I feel strong enough to try to finish at 8:00/mile. My ultimate plan will depend some on race conditions that day, but the real question is where my confidence lies, both in my mind and in my body.

One good thing about running lots of miles at an 8:00 pace: Running an 8:30 pace feels great!

Posted by Eugene Wallingford | Permalink | Categories: Running

October 01, 2007 7:33 PM

Easy, Unlike a Sunday Morning

... with apologies to The Commodores.

It is not often anytime, let alone during marathon training, that my Sunday long run is not focal point of my running week. This week was different.

First, it was a recovery week that called for only a 12-mile long run. That always shifts more of my attention to my in-week track sessions, which this week consisted of two 10-milers: Wednesday, consisting of 8x200m repeats followed by 5 miles at marathon goal pace, and Wednesday, consisting of 7 miles at marathon goal pace with relatively fast cool-down laps.

Second, I decided to run a 5K race on Saturday. On tired legs from the two track workouts, I had low expectations. But I figured the race vibe would be good for me, and besides I could find out how much speed I had after a week of running.

My result was unexpectedly good. I finished in 21:26, which was my 3rd fastest 5K ever and fastest since 2005, when I ran a 20:50 in June and a 20:44 in December. I even "medaled", finishing second in my age group. And I even felt good at the end -- could've run more! A good day.

Sunday's 9 miles was anticlimactic, a nice breather as I head into my stiffest week of the year: 60 miles that ends with a 25-miler next Sunday. That will be a regular Sunday.

I woke up this morning to find that Haile Gebrselassie had shaved 29 seconds off of the marathon world record on a flat course at the Berlin Marathon. 2:04:26 requires a phenomenal pace for 26.2 miles, about 4:45/mile, which is almost incomprehensible to me. I'll keep working on an 8:30/mile pace and shoot for 8-minute miles on a great day.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 25, 2007 6:18 AM

99 Goes Into 2

... for the first time since last September.

In the two weeks since my last training update, I have run 99 miles, in weeks of 43 and 56. The 56 is not an extraordinary number during marathon training, though for me it's a signal that I am reaching the peak of my plan. But after the last eleven months, 56 miles seems amazing. And it feels great.

The 99 miles culminated in a long run of 23 miles on Sunday morning. Rather than run a 23-mile route, I pieced together two passes around an 8-mile loop followed by a 7-mile loop. This allowed me to stop by my house twice during the run, grab a power gel, and take any other breaks (ahem) that I might need.

I didn't run fast -- just a bit under 9:00 minutes per mile -- but that's a good pace for a long run when my marathon goal pace is 8:00 or even 8:30. (I ran last Sunday's 12-miler in a sub-8:30/mile pace.) This run challenged me not only with its distance but also its hills. The 8-mile loop has several long rises and falls, and running down the hills left me with sore quadriceps. But its a soreness I am happy to carry into this week.

And before you tell me that Iowa is flat and has no hills, let me remind you that hills are relative. When I run mostly flat routes, a few miles of hills in a row affects the legs. When compounded with distance, the hills matter more. I invite anyone who runs mostly flat ground to join me for a week. Then we'll see who thinks eastern Iowa is flat!

I think I am back in the groove, or close. My last five weeks have been 44, 46, 48, 43, and 56 miles. The next two will tell; they call for 44 and 60 miles, respectively, ending with a 25-mile long run. Then comes my taper, when I progressively cut mileage, convert stamina into speed, and let my body recover a bit before the race.

I don't have any grand analogies between running and agile software development right now. Sustainable pace and continuous feedback have been instrumental in building my mileage back up. But when push comes to shove, it's mostly about running -- just as software development ultimately comes down to programming. At the end of the day, all you have to show are the code you wrote, or the miles you ran.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 09, 2007 11:05 AM


I have just completed the fifth week of my 12-week training plan for the Marine Corps Marathon. Not quite halfway, but when I throw in the "bonus week" in Indiana and California that interrupted the start of the plan, I am through six of thirteen weeks -- and halfway to that last week before the race, when we let our bodies rest and our minds prepare for the big day.

Today I ran twenty-one miles, one of my standard fourteen-mile routes followed by a standard seven-miler. After five miles, then seven, then nine, my legs were balking. My mind was thinking, "Maybe you should just do fourteen today. That's a good run. You deserve a break. You can do twenty-one next week."

My mind was right. At the start of the program, this week called for a twelve-miler, recovering from a build-up to twenty-one miles last week. But early in August I had a bad 15-miler, which I attributed in part to my lack of mileage this summer. I listened to my body and made an adjustment in program, to build up to 21 more gradually. But one outcome of this change is that I haven't had a "drop-back week" since July. That's a week where I reduce my long-run mileage so that my body can adjust to the increased miles from the previous week or two. Usually I "drop back" every third week during training; my training plan drops back every other week.

So I would have been justified to hold on fourteen and live to run another week. But I just didn't want to, sore legs or not. Running a marathon is about pushing your body -- and your mind -- to run when it wants to stop, when the wise move is to stop. This morning held a moment of challenge for me. The weather is perfect. My body is well-fueled. My mind wants to stop. But I want to run more.

I ran.

At twelve miles, I took a mocha mocha Clif Shot -- 100 calories, 70mg of electrolytes, and 50mg of caffeine. Have you ever baked chocolate chip cookies, taken one right from the oven, and indulged in that decadent sensation? This gel tasted just like that. I felt as if I should stop at the nearest Catholic church and make confession. For the rest of the run, my mind felt good as it commanded my legs to do what they must do: just keep moving.

Some days hold moments of challenge that are at the same time moments of promise. I sense that this morning's challenge held such a promise. I've been struggling more mentally since my last marathon than at any time in the preceding three years. Today's run asked me, "Do you mean business?" My legs are sore, but my answer was "Yes".

Posted by Eugene Wallingford | Permalink | Categories: Running

August 27, 2007 8:14 PM

All Out. All the Time.

Running on the university track late last week, I saw this slogan on the back of a student's T-shirt:

All out. All the time.

Such slogans are de rigeur for high school sports teams these days. They serve as mantras for the team, used to motivate the individual athlete but even more so to build team identity and spirit. I don't remember when I saw the first of these, but these days every team has one.

The folks at Despair.com have profited from pointing out how shallow and lame such slogans and motivational tools are. But I cut most of these T-shirts some slack, because they are aimed at kids, who are not perhaps at a deep level when it comes to motivation. I do hope that the involved coaches help their student-athletes move on to a deeper understanding of teams and motivation, both individual and group, than the slogans give.

But more importantly, I hope that these young athletes know that -- taken literally -- these slogans are usually wrong.

"All out. All the time." Any runner knows that this can't be true. If you run all out for any length of time, your body will let you know that won't be doing it all the time. Sprint 200 meters all out, and you'll need to recover. (Most coaches recommend at least 100m of recovery, or the same amount of time it took you to run the 200.) If you try to sprint 400 meters at the same pace that you can sprint 200 meters, then you'll usually fade fast at the end. Move all the way up to a marathon, and you have to make serious changes in your expected pace. That's just the our bodies work.

The same is true in any sport, along some dimension of exertion.

The same is also true in creative work. And in software development.

One of the great elements of Extreme Programming is the practice originally dubbed 40-hour work week and later renamed sustainable pace. Kent and Ward recognized that developers can't produce good code if they work beyond the pace that their minds and bodies allow. Ignoring those natural bounds is no different than trying to run your 200m pace for 400 or 800 or 1600 meters -- or for a marathon. If you try to go too fast for too long, you'll fade. That's not good for your client, and it's not good for developers.

There is a time for sprinting, surely, but software development and good relationships with customers are more of a long-term affair. Sprint in short bursts where that adds value for the customer and doesn't hurt the developers. But back off the throttle as a long-range plan.

The runners wearing slogans such as "All Out. All the Time." must know that they can't actually go all out all of the time. If they could, then I would never be able to pass them on the track with my tired old body, which most surely cannot go all out all of the time. But like them, I do like to go all out some of the time -- it feels good! And sometimes I myself will use even shallow, emotional sentiments to push myself when I am at the boundaries of what I think I can accomplish.

But then I take a recovery break.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

August 06, 2007 2:27 PM

Running on the Road: Greenfield, Indiana

(The sixth stop in the Running on the Road series. The first five were Allerton Park, Illinois, Muncie, Indiana, Vancouver, British Columbia, St. Louis, Missouri, Houston, Texas, and Carefree, Arizona.)

Hancock County Courthouse

I tend to write these reports about running in a big city that others might visit, or a hot tourist spot, or at least a conference location, that some readers of my blog may care about. But this is more like my report on visits to my alma mater in Muncie, Indiana. It is about running in my high school hometown of Greenfield, Indiana. I didn't live in Greenfield for very long -- for four years of high school, and then summers during my college years -- but in many ways it still feels like home. I'm finishing up a few days back in Greenfield for a high school reunion, and I did something I never did when I lived here all those years ago: I ran.

I did not run at all, really, until I was in graduate school. Sure, there were occasional attempts at a few miles here and there, and a bit of time on the track in physical education classes, but I never got over the hump. Every run seemed less enjoyable than it should have been, and I never got past the feeling that I wasn't cut out to run.

So running this weekend gave me a different perspective on my hometown than I had ever had before, on the pavement at dawn, seeing buildings and scenery and signs pass by me from eye level. When I add this effect to the sense of change I felt after having been gone from town almost completely for eleven years and and nearly so for twenty, I experienced an mixture of déja vu and jamais vu unlike any before. For hours. While maxing out my legs at the beginning of marathon training. Not ordinary runs at all. The unusual sensation of time fits very well with attending a 25-year high school reunion and with recently reading Alan Lightman's book.

I used my time own the road to survey the changes that have happened in Greenfield in the last decade. I recall it as a town of 15,000 or so folks, most with rural and small-town roots. Its official population back in 1980 must have been much less, as the 1990 census shows only about 12,000 people, but the outlying rural areas were then beginning to attract people from bigger cities in search of inexpensive land. Unofficially, the population these days must be closer to 30,000, and one can see that in the explosive growth of the town to the north and east. One big change I notice as I visit local stores and restaurants and as I run through town is much greater diversity. When I lived here, Greenfield and its entire county were almost 100% white, but now I see Asian immigrants, African Americans, and especially Latinos everywhere. The result is more plentiful choices of food for the palate and a richer set of accents for the ear.

Sightseeing in one's own hometown is a great way to run. I encourage it to those of you who ever have the chance.

Mile Marker 1.0 on the Pennsy Trail

Other than running around town on city and country roads, I can report one neat development: the beginnings of a recreation route called the Pennsy Trail. This trail parallels Old National Road (U.S. 40) along the former Pennsylvania Railroad line just south of Greenfield's main street. It crosses Brandywine Creek, which is the presumed site of poet and Greenfield native James Whitcomb Riley's ol' swimmin' hole. Right now, the trail isn't much, running only 3 miles or so to the east of downtown Greenfield, but eventually the Pennsy Trail will connect westward to a network of trails in central Indiana, and perhaps be a link in the National Road Heritage Trail, which will follow U.S.40 across Indiana's breadth. As a runner, I greatly appreciate clean, marked, metered trails that offer peace, natural scenery, and even occasional services such as water fountains and toilet facilities. They are also a great resource for the citizens of the community, a sign that the community is thinking about the quality of life it offers citizens and visitors alike.

Now I am off for a couple of days running in Plainfield, a city also on the Old National Road but on the west side of Indianapolis. Plainfield also has a nice trail system connecting its parks from north to south, which I will surely patronize. After that I'll do one run in Santa Ana, California, and a couple in San Diego. I probably will not write Running on the Road reports for Plainfield or Santa Ana, but I do have some raw material for a report on San Diego, from my three trips for OOPSLA 2005. San Diego is a beautiful place to run, and I look forward to being there just for fun.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 30, 2007 2:01 PM

Preparing for a Fall Marathon

I haven't written about running in a while, but there hasn't been much to say. I've been building my mileage back up to a respectable weekly average (in the mid 30s), with an eye toward being ready for marathon training. My last few weeks have been interrupted by only one mishap, a double-hamstring injury brought on not by running but by an intense day of landscaping. Last week, I managed 38 miles with two rest days, which puts me in good shape to begin training.

At the end of October, I'll be running the Marine Corps Marathon, my first "destination" marathon. It's also the latest in the year I will have run a marathon, with my previous four all coming in the first half of October. As a result, this is the latest I have ever started my official training plan for a marathon. This affects training in two ways: more of my mileage will come after the hottest part of the summer, and more of my mileage will come during the academic year. For a university prof or student, this means spending more hours on the road, away from work, and being more tired when doing CS. I think I will have to get to bed earlier most nights and so change some of my routine.

I am again using a 12-week plan for "advanced" runners that I read about in Runners' World, designed by running coach Bob Williams. Via Google, I found a 16-week plan by Williams, but it's much more complicated than the plan I am using; I prefer workouts that don't require a lot of switching gears. The plan I am using puts me on the track twice most weeks, once doing long repeats (≥ 800m) to build long speed and once doing shorter repeats (< 800m) to increase leg turnover, improve form and efficiency, and build strength for longer speed.

Last year, I customized this plan quite a bit, spreading it over 14 weeks and adding a lot of miles. This year, I am sticking to the plan even closer than last year, not just the speed workouts but also the off-day workouts, the order and length of the long runs, and the weekly mileage recommendations. I suppose that having run several hundred miles fewer this year than last has me feeling a bit less cocky, and I also think it's time to let the expert guide me. My only customization this year is to stick in an extra week next week, between Weeks 1 and 2, while I am on the road to Indiana and southern California for a reunion and a little R&R before the school year -- and heavy training -- commence. Next week, I'll just work on my aerobic base with some mixed-speed road running.

Wish me luck.

Posted by Eugene Wallingford | Permalink | Categories: Running

June 25, 2007 10:54 AM

A Good Start

I haven't written about running lately. There hasn't been much to say as I worked my mileage slowly starting over, again. My first milestone came yesterday morning, at the Sturgis Falls half marathon.

The short description. I did not run a personal best, yet my race was a surprising success. Today, I am sore, and happily so.

The long description: The race went much better than planned. I went into the day with relatively light training, consecutive weeks of 28, 30, 30, and 32 miles. My longest runs were 11 miles two weeks ago and 10 last week. I had done a couple of runs that pass for fast, but only 4-5 miles each. So, my plan for the race was conservative: try to run 8-10 miles at a 8:30/mile pace and then see how I felt. If I felt weak, I'd just try to maintain that pace; if I felt strong, I would see whether I could speed up a bit.

I ran miles 1-5 right at an 8:30/mile average. Unintentionally, I ran the sixth mile in 8:20 or, and it felt okay so I held that pace through the ninth mile. I was fully prepared for the chance that this would burn me out. But it didn't. Miles 10-12 took us along a trail into downtown and back, with a small loop on the end. This meant that there were a lot of runners all along the course in both directions. The energy of competition kicked in... I ran my Mile 10 in 8:07, and then Mile 11 in 8:03. The race was on. I took the twelfth mile in 7:41, finally passing a young, strong-looking runner whom I'd been tracking for several miles. I ran the last full mile 7:30 and sprinted home to finish in 1:47. The young guy finished even stronger and beat me by 7 seconds. No matter. Though this was my second worst time ever in a half marathon, it was among the most satisfying, given my expectations. Context matters.

I'm still tired from the race and a bit stiff, but that's to be expected. I have not run this far or this fast for this long in a long time. My body has a right to register its reaction.

With yesterday's race, my last five weeks have been in the 28-30 mile range. That's a far cry from the regular 38-41 mile weeks I ran throughout 2005-2006 but also my best stretch since December. I still tire more easily than in the past, and I do not have much speed yet. But I can now embark on training for Marine Corps Marathon with some confidence. I'm wondering how aggressive I should be in training. I'm even thinking ahead to the race itself -- maybe I should set a goal of 8:30/mile for the first 15 miles or so and then see if I can finish strong? There is a lot said for balancing high ambition with a dose of realism that increases the probability of success -- and fun.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 15, 2007 7:48 PM

Starting Over, Again

Good News: I ran 3 miles this morning.

Bad News: That this is good news.

Good News: I was smart enough not to overdo it.

Bad News: That I had to hold myself back.

Good News: I think I can do it again tomorrow.

I've just gone through a third bout this year of some ailment that held me under the weather for a prolonged period. The first was the worst, with two weeks of two runs each, a week with a single run, and then two weeks off entirely. Just as I was getting back to normal and working my way back onto the track, I lost a week to the same fuzzy head and persistent fatigue. The third hit me soon after I returned from the workshop at Duke -- air travel often seems to hit me these days -- and kept me off the road for nearly two weeks. It was hard, because the weather has turned to spring and the mornings have been wonderful. But it was also easy, because I was simply too tired.

This morning I was careful not to try to run more. Patience is a virtue when getting started. It is better to have another three miles tomorrow than to be foolhardy today.

Bad News : My total mileage this year before this morning's run, May 15 == 347.6. That may sound like a lot, but last year I reached 350 miles during my long run on March 5. It's also bad news because it means I must have been sick, else I wouldn't not run.

Good News: My body is probably fresher at this point in the year than it has been in at least three years. Running lots of miles gets me into shape, but it also wears on the body. I hope that my fresher legs -- and mind -- will be useful as I train this summer. In the short term, my lack of miles and fitness will almost certainly result in a slower half-marathon time at the end of June. In the long term, it may help me be fresher at marathon time, at the end of October.

Oh, and I'm in... So I have a target to shoot for.

But right now, I just want to run.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 11, 2007 7:41 AM

Negative PRs

Negative splits are usually a good thing. A negative PR is usually not.

In the last fours days, I have recorded a dubious achievement. I have run my slowest time ever on three different routes, ranging from 3 miles to 9 miles. And these times weren't close to what I expect. The only thing that saved me from the more dubious four-for-four was the 1.5 miles yesterday in the middle of a 5.5-mile route on which I picked up my pace to something speakable.

My rationalization is that this downturn in speed is the result of running a few more miles again plus my first interval workout in seven months -- a 5x800m, 6.5-mile workout last Friday.

Patience, patience.

UPDATE: I almost made it four for five this morning, but I came in a minute or two under my slowest time for the route in question. Of course, that slowest time had been run in 8" of slushy snow, a year ago December! Rationalizing this one would have been even easier to make, as I ran an extra four miles with a student last night and my legs should be a bit more tired than usual. Besides, both the run last night and the one this morning were also done in 4-5" of slushy snow as well. I don't usually plan on snow runs for mid-April, but at least it was nice to break a fresh pack of snow one last time before spring arrives for good.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 02, 2007 6:09 PM

The First Monday in April

... is the traditional start of my training for the Sturgis Falls Half Marathon, which is the last Sunday in June. The tradition is only four years old, and it also marks the longer-term start of my marathon training for fall.

Last year, I was in such good shape coming out of winter that training for the June half didn't seem all that big a deal. This year, I'm coming off a January and February of little or no mileage, and a March in which I've slowly been building my mileage back up. So preparing for the half matters.

I had worked my way up to a 30-mile week before last week, but with a Sunday long run of only 7 or 7.5 miles. Last week, I continued a regular week of mileage and then took a big step forward: a 20K (12.4-mile) long run. A student is training for the St. Louis Marathon, but had done most of his work on city streets. I offered to take him out on our trail system for a more scenic long run and decided to go the full run with him. The result was good for me. I needed a nap on Sunday afternoon, but my legs were nothing but a little stiff this morning. I ran an easy three miles to loosen them up, and all is well. I think I am ready to train now, though I expect to be slower than last year for at least a few more weeks. With the coming of spring, I am ready for miles outdoors, however slow they may be.

Looking farther ahead, I think that this year I will run the Marine Corps Marathon. This will be my latest marathon (October 28, 2007) and will follow on the heels of OOPSLA in Montreal. That will be a challenge to my taper...

Posted by Eugene Wallingford | Permalink | Categories: Running

March 06, 2007 10:19 AM

Getting Back to Normal

This "slow and steady" thing is starting to pay off. Last week, I ran a week of four-milers, six of them. That doesn't seem like much after four years of marathon training, but...

While recording mileage in my running log, I noticed that this was the first time I had run four days in a row since January 2-5, and the first time I had run five in a row since November 27-December 1. These weren't fast miles, for the most part, as I let the "run come to me" every day. But then on Friday, I had a pleasant surprise. I found myself falling into a steady, comfortable run -- at sub-marathon goal pace. It felt great! Even better, I didn't feel too sore or tired over the weekend, and so was able to finish off my week outdoors on the ice.

SIGCSE 2007 logo

This week, my goal is a week of five-milers, six of them. I ran right at MP on the track this morning, with the rest of my runs for the week planned outdoors. Tomorrow, I head to SIGCSE 2007, in Covington, Kentucky ("the other Cincinnati"). My more technical readers can look forward to some CS-specific writing in the next few days.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 26, 2007 6:00 PM

Forming a New Old Habit

I've been frustrated in the last week by my inability to run.

After finally recovering from my downtime, I worked in a week of 3-milers, and then flew to Arizona for ChiliPLoP. In Carefree, I was able to run twice, extending my time on the road in an effort to rebuild stamina. While I wasn't quite ready to circle Black's Mountain yet, I was able to enjoy the beautiful terrain of the February desert. The hills made it a bit difficult for me to estimate distance from my times, but I did manage to run for 43 and 41 minutes, respectively.

Then came the frustration. After the second of my Carefree runs, I lost a few days to the last day of the conference and the travel home. I'm willing to run under crazy circumstances, but driving home until 3 AM makes it tough to run at 5 AM... Then I caught up on work and sleep for a couple of days. Just as I was ready to run, we were hit by some inclement weather. I've gone on record for running in the cold, but there is one kind of weather that causes me pause: ice. Cold can be addressed with layers -- more and better layers of clothing. But a two-inch layer of ice, glassy and transparent, is a whole different matter. Even the most dedicated runners have to adjust.

But I am ready to run again, so it will happen. This morning, I circumvented the ice by running indoors. Sticking with my plan for a slow and steady return, I ran only four miles and did my best to avoid the speed-up that come almost naturally when I am running short laps in the presence of others.

Establishing new habits, even ones that used to be old habits, takes time. Running offers a physical reminder of this, via sore muscles and fatigue. But with time, the habit returns to match the desire to run.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 16, 2007 8:45 PM

Suit Up!

This just in from my favorite new TV character in recent years, Barney Stinson of How I Met Your Mother:

Here's how you run a marathon:

Step 1: Start running.


Oh, yeah -- there's no Step 2!

After five weeks of almost no running, I started running this week. Unlike Barney, though, I stopped after just three miles Monday morning. But then I did it again and again on Tuesday and Wednesday. Then, after a day on the road playing University Lobbyist, I started again on Friday, this time for 3.5 miles. It feels good to be well enough to run any day I can. Indeed, it feels good just to run. My legs feel fine even after the layoff, probably because I've remained patient on distance and speed.

Unlike my friend Barney, who ran and finished the New York Marathon without training, only to find several hours later that he no longer had control of his legs. This is one of the few experiences that I share with Barney. Even on television, the truth can catch up with you.

Suit up! Start running.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 12, 2007 7:27 PM

A New Start

I had a new experience running this morning. I ran! That seemed novel, given my inability to run the last few weeks. Due to a persistent something that kept me at 50-90% strength since January 5, I hadn't run in 2 weeks and a weekend; I had managed to run once in the week before that, and twice in each of the two weeks before that, for a total of five runs in five weeks. An expected result of this off-time was a loss of fitness. An unexpected result was a certain loss of memory. Dressing and preparing for the run felt odd. I'm a creature of habit, and two weeks is a good start on new habits.

Nothing could have made my first run in so long more enjoyable than one of the great pleasures of an early-morning runner. Last evening, we received a little under an inch of wet snow, so this morning my first steps broke fresh snow. The crunch under my feet made the run seem new in more than one way.

True to my supposition from a couple of weeks ago, I plan to take my restart slow and steady. So today I ran a slow and easy three miles. My three-mile routes have not been put to much use in the last year or so, so the route itself seemed new, too. I didn't worry about speed. Instead I merely focused on the feeling in my lungs as they worked for the first time in a couple of weeks, on the feeling in my legs as they pushed me forward, in my hips as they adjusted to the slightly uncertain steps on wet snow. It was good.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 04, 2007 10:54 PM

2006 Running in Review, A Little Tardy

February 2007 is already here, and I still haven't written up my "running year in review" post, as I did for both 2005 and 2004. This lack or urgency derives in part from a lack of excitement about what I accomplished in 2006, but mostly reflects busyness at work and a persistent low-grade illness of some sort that has kept me off the road for most of 2007 thus far and so has me thinking less about running than I might otherwise.

After a couple of years of big increases, last year I saw a decrease in mileage for the year, though not that much of a decline:

  • 2006: 1932.9 miles
  • 2005: 2137.7 miles
  • 2004: 1907.0 miles
  • 2003: 1281.8 miles

Even though I had my second biggest year ever in terms of miles on the road, in most other ways it was a less satisfying year than in the past. I started the year well enough but then hit a tough stretch in March and April when my hamstrings and feet caused me grief. I had never dealt with running injuries, whether momentary or chronic, before. This pain was chronic, and only rest can do much for them.

This is almost my first year ever when I never PRed a single distance -- not 5K, half marathon, or marathon. I didn't race a single 5K this year, which is a shame, because my summer speed training probably had me in the right shape to do well. My spring of soreness affected my training for the Sturgis Falls half marathon in June. While I missed a PR by a good 4 minutes, I still managed to run my second best time ever at that distance. I felt pretty good going into my marathon training plan, and it went well. But there is no need to recount my experience at the Twin Cities Marathon, which resulted in my worst time ever. I was lucky, perhaps foolhardy, to have finished the race at all.

The year ended in a bit of a down note, as I never quite seemed to recover from the marathon, as much mentally as physically. My post-marathon mileage was okay, though -- just no "zip".

As I mentioned earlier, 2007 has started slowly. I've been under the weather since January 5(!), and the last two weeks have been the worst of all. The silver lining in not running much these last many weeks may well be that my body and mind have had a chance to rest that I never would have given them otherwise. I think I'll take this opportunity to start again from scratch. Maybe I'll get my "zip" back, both in speed and mindset.

(Another silver lining may be the natural excuse it gives me for not running during our recent cold snap. Last night, we reached -15 degrees F., and tonight we'll get down to -17. The highs aren't making it to 0 degrees, either. Truth be told, though, I like being able to say that I've run in such conditions!)

Posted by Eugene Wallingford | Permalink | Categories: Running

January 26, 2007 5:13 PM

Low Defenses, Low Mileage

I haven't written about running in a while because I have not been able to run much for a while. On January 5, I came down with something that has kept me under the weather for three weeks. Fatigue has been the most onerous symptom. In that time until last Friday, I managed only four runs of 7 or 8 miles each. Every run seemed to provoke a small relapse or extension of the symptoms. I have taken the last week off in an effort to get back to 100%. That was my first full week off from running in at least three years. Even after my Sunday marathons, I have jogged by the next Thursday. It's hard to realize how much a habit is ingrained until I go cold turkey.

Finally this week I seem to be improving, and so this morning I ventured over to the track for a few miles. I should probably have taken it easy and jogged an easy 3 miles or so. But I planned to do at least 5, maybe 6, and in the end I ran 7. I did take it easy, though, at least for five of the miles, and ran a pace suitable for LSD (long slow distance). I'm a little sore, but it's the good kind of pain. So far, I'm just a bit tired and am hopeful that I'm still on the road to full health.

This break comes at an interesting time. Like Tiger Woods has done with his golf swing, I've been thinking about taking a small step backwards on the prospect of taking my training a leap forward. Throughout the winter, I've played with the idea of starting over with a new weekly plan. Rather than do my usual five or six days, with two mid-distance runs (one a speed workout) and a Sunday long run each week, I would pick some relatively small distance -- say 4 or 5 miles -- and run it every day for a couple of weeks. My idea is that I could develop a daily training schedule that doesn't tire me out but that does maintain a steady condition. One side effect is that I would lose my long-distance stamina. Then I could build the week back up slowly, starting with a couple of 7 or 8 milers. Add some speed here, some distance there, and I would be back up to the sort of mileage I'd like to run each week, 40-45 miles, but with rebuilt stamina and speed. The goal would be let my body relearn the distance and speed skills.

To do this right, I should probably consider a longer interim, say a couple of months, in which I do know running but instead cross train on a bike, in a pool, or on a tennis court. But I don't have Tiger-like patience just yet!

As it is, by recent standards I have now run very little since Christmas time, so maybe I'm rested enough to try something new to good effect. Trying to get over this cold-like virus is motivation to keep the mileage low for a while, and my eagerness to get back on the road is motivation to run every day.

The other complication right now is one that many folks can understand: snow. We received 10" of snow in a week a couple of weeks ago. This is, of course, hardly worth mentioning after what our friends in Denver, Oklahoma, Portland, and the like have faced recently. But the effect is the same. Running trails are covered. Roads are artificially narrow, and slippery in places. Sidewalks are only occasionally passable. The challenge is to find routes that I can run reliably and safely. It seems that each winter creates its own set of best running routes. Then there are the temperatures. But you know what I've said before, you know you're a runner if.... I will find a way.

Good running to you all. I look forward to getting back into a rhythm and seeing what running teaches me about programming, software development, and teaching this year.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 11, 2006 7:29 PM

Learning about My Communications Job ...

... on a last December morning in Montreal, where I am on the job.

I awoke for an early morning run to snow, the wet fluffy snow of temperatures near 0° C. In the downtown area, all that remained were wet streets, but as I jogged toward Mont Royal the snow was still falling and the 6-8% grade up Rue Peel was covered in an inch or so. I love to run in falling snow, and my first snow run of the year is often special. I enjoyed this one as much as usual.

Just past half way on my out-and-back route, I missed a turn that seemed obvious yesterday. Perhaps it was the snow-covered street signs, or my snow-covered glasses. The result was 17 minutes or so of backtracking and retracing my steps, and a planned 8-miler turned into a 10-miler that lasted into Monday morning rush hour traffic. The 6-8% grade down a snowy Rue Peel was, oh, let's say more challenging than the run up. I survived with no spills but a few minutes of my heart pounding a bit more than usual.

I hope that the OOPSLA 2007 wiki, which we hope to have up and running any day, will be a place for OOPSLA-bound runners to share advice on routes and warnings of things to watch for. We usually launch the conference wiki at or just a few weeks before the conference, but I think having it running all year long will offer a chance for potential conference attendees and other altruistic souls to build community around issues related both to the conference and to our personal pursuits in Montreal. This is a part our vision for the communications component of our conference organization.

As I checked out later in the morning, I received a more expensive surprise. It turns out that the complimentary shuttle from the Hyatt to the Montreal central bus station, which I thought ran on a regular and frequent schedule, requires a one-hour advance registration. There was no information about this in the packet I received from our logistics company, nor at the L'Aerobus station, nor in the hotel itself. This inconvenience followed the general sense of disorientation and complexity I felt on the night I arrived and strengthened my desire to incorporate a useful Local Travel on the conference web site. Anything we can do to ensure that all of the ancillary things associated with conference travel go well, the more likely we can create an awesome OOPSLA 2007 experience for attendees. Yet more conference communications! Yet another element to my position on the conference committee.

Before I began to dig into this position during OOPSLA 2006, I assumed that most of my activities would focus on the conference content: calls for submissions, the advance program, the program on the web site, the final program, and the much-missed Program-at-a-Glance that makes the days of the conference easy to follow and plan. But I have come to understand that communications is much more than simply organizing the program for presentation in paper and bits. In fact, I'd say that that task is merely one example of a larger purpose. It is really about eliminating the friction that naturally comes at all stages of participating in OOPSLA. It is about serving the informational needs of submitters and attendees.

I have come to admire the underlying sense of duty that runs throughout our conference committee. General chair Dick Gabriel has his pulse on both ends of the spectrum of tasks that faces the committee: those little details that seem to matter only when something goes wrong, such as web-site navigation and hotel reservations, and the big picture of moving the conference forward for which he is so well-known among the OOPSLA committee, such as Onward! and the Essays track. He certainly recognizes the financial implications of falling down on the little services, which affects both the current year's attendance and the possibly future years' attendance, but I don't think that this is what motivates him. In any case, just now I am short on the kind of big ideas that can move the conference in a new direction, I am hoping that my attention to the details of our communicating well to OOPSLA participants can help the rest of the committee put on a winning conference.

And I am not saying all these nice things just because Dick graciously picked up part of a dinner tab that the conference budget could not last night at Montreal's Globe restaurant, attended by the committee members who had stayed an extra night in order to do more committee business and scout the area. The Globe offered a fine menu extravagant in seafood and a mix of French and North American cuisine, at prices that left this small-town Midwestern boy in a state of awe. The waitstaff was remarkably attractive and, um, shall we say, enticingly well-dressed. While I probably won't dine at this establishment on my future trips to Montreal, I can cherish the memory of this visit's delights.

Finally, during dinner conversation, I learned of the next big thing that will rock the software world, which will explode out of OOPSLA 2007 as so many revolutionary ideas have sprung from past OOPSLAs: ribosome-oriented computing. Keep your eyes glued to Google; this has the potential to make an international superstar out of postmodern software prophet Robert Biddle.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

December 09, 2006 1:08 PM

Hello from Montreal

OOPSLA 2007 logo - embrace the beaver!

Bienvenue de Montréal! My previous post was written on the plane to Quebec for the December OOPSLA'07 planning meeting. This year, I am communications chair for the conference, which means that I have a diverse set of responsibilities defined around "getting the word out". (Don't worry; I won't turn this blog into a conference shill.) This includes the design of the advance and final programs, as well as helping to shape the content and organization of the web site. I'm part of a team consisting of a graphic artist and a person focused on advertising, which is good, given my lack of skills in the former and lack of feel for the latter.

My big challenge this year is to find a way to communicate the rich diversity of our program -- and it is richer and more diverse than any computing conference I know of -- to the people who should be at OOPSLA next year. We have all been talking about this for a couple of years, but now it's my job. How do I help attendees, especially newcomers, navigate their way through the conference? Someone this morning likened OOPSLA to Paris, a wild circus of ideas and events that can educate and enthuse and enlighten and entertain most anyone who cares about programs and the art of programming. It's a provoking analogy that I'll have to explore. For example, how do we help potential attendees find us as a "vacation spot" and plan their trip?

As when I attended SugarLoafPLoP, I find the change in local language to be surprisingly disorienting -- even in a place where almost everyone speaks English as well as I. This exposes my parochial upbringing and my rather limited travel experiences as a professional. It probably also says a lot about a self-insularity that I need to break out of. EuroPLoP and ECOOP are calling me!

Given that I'll spend a total of a couple of weeks over the next year among the Quebecois, I think that I should try to learn a little French beyond "oui", "merci", and "non parlez-vous Francais". When I went to Brazil, I set the too-ambitious goal of learning some conversational Portugese. This time, I will set the less imposing and more achievable goal of learning some vocabulary and a few key phrases. (My colleague Steve Metsker says that he sets the goal of learning 50 words in the local tongue whenever he travels to a new land.) At least I can learn enough to show Montreal residents that I respect their bilingual culture.

the view of Montreal from Mont Royal

I am not running ready to write a new installment of "Running on the Road" yet, but I am looking forward to starting my research. After a long few weeks at the office, three hard days in a row on the track, and a long day of travel, this morning found me resting peacefully. The great news about our location in downtown Montreal is proximity to the running trails along the Fleuve Saint-Laurent and in the wonderful Parc du Mont-Royal. I plan to run tomorrow's 12-miler on the trails of Mont Royal -- not climbing the mountain, but on a trail that circles near the base. Then Monday I'll try the trail along the St. Lawrence. My May visit will give me more opportunities to explore the possibilities.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

November 18, 2006 9:17 AM

No Shortcuts

I overhead a conversation in the locker room yesterday that saddened me. Two university students were chatting about their lives and work-outs. In the course of discussing their rather spotty exercise routines, one of them said that he was planning to start using creatine as a way to develop a leaner "look". Creatine is a naturally-occurring compound that some folks use as a nutritional supplement.

Maybe I'm a fuddy-duddy, but I'm a little leery about using supplements to enhance my physical appearance and performance. It also may just be a matter of where to draw the line; I am willing to take multivitamins and zinc supplements for my immune system. The casual use of creatine by regular guys, though, seems like something different: an attempted shortcut.

There aren't all that many shortcuts to getting better in this world. Regular exercise and a good diet will help you develop a leaner body and the ability to perform better athletically. The guys I overhead knew that they could achieve the results they needed by exercising and cutting back on their beer consumption, but they wanted to reach their goal without having to make the changes needed to get there in the usual way.

The exercise-and-diet route also has other positive effects on one's body and mind, such as increased stamina and better sleep. Taking a supplement may let you target a specific goal, but the healthier approach improves your whole person.

Then there's the question of whether taking a supplement actually achieves the promised effect...

These thoughts about no shortcuts reminded me of something I read on Bob Martin's blog a few weeks ago, called WadingThroughCode. There Bob cautioned against the natural inclination not to work hard enough to slog through other people's programs. We all figure sometimes that we can learn more just by writing our own code, but Bob tells us that reading other people's code is an essential part of a complete learning regimen. "Get your wading boots on."

I've become sensitized to this notion over the last few years as I've noticed an increasing tendency among some of even my best students to not want to put in the effort to read their textbooks. "I've tried, and I just don't get it. So I just study your lecture notes." As good as my lecture notes might be, they are no substitute for the text. And the student would grow by making the extra effort it takes to read a technical book.

There are no shortcuts.

Posted by Eugene Wallingford | Permalink | Categories: General, Running, Teaching and Learning

November 07, 2006 4:37 PM

A Legend Learns to Respect the Distance

... that was without a doubt
the hardest physical thing
I have ever done.

-- Lance Armstrong

"That" was the New York City Marathon, which Armstrong ran last Sunday. He is, of course, world-renown as a seven-time winner of the Tour de France, which is among the most grueling and physically-challenging feat of athletic endurance. I have long admired Armstrong's accomplishments on the Tour, overcoming the vicissitudes of competition, the annual challenges from new and younger riders, and the wear and tear of such a demanding event -- and winning, not once, not just seven times, but seven consecutive times. And all this after overcoming a metastasized case of testicular cancer.

But the marathon offered him a new sort of challenge. If you have read much of my writing on running, then you have seen me say more than once that you have to "respect the distance". Running a marathon goes beyond what the human body is typically configured to do. It stresses the body in ways that other physical feats don't often. I've never cycled for the distances or remarkable inclines that the Tour de France requires, but I've cycled enough to know that it does not stress the joints like running does. Armstrong found this out:

"I think I bit off more than I could chew. I thought the marathon would be easier," he said. "(My shins) started to hurt in the second half, especially the right one. I could barely walk up here, because the calves are completely knotted up."

So, all of you fellow runners out there, take heart that even the greatest athletes find running at the edges of their endurance and speed daunting. I take heart, too, that they fight through the same pain as I, because I know then that I can do the same.

To be fair to Armstrong, the quote I opened with above starts with an ellipsis. The portion of the quote omitted by me -- and most newspapers that highlighted this statement -- is "For the level of condition that I have now". So he may be able to run a faster and more comfortable marathon in the future, if he reaches a different level of fitness. I've seen reports that Armstrong had never previously run more than 16 miles at once, and that he dod no particular speed training before attempting NYC.

This explains some of Armstrong's struggle, but it raises another question. Why didn't he train (better) for the marathon? I guess he didn't realize just how much respect we all have to show the distance. Perhaps he could learn something from our old friend Santiago Botero, who once learned something from Lance:

His smile said to me, 'I was training while you were sleeping, Santiago'. It also said, 'I won this tour four months ago, while you were deciding what bike frame to use in the Tour. I trained harder than you did, Santiago. I don't know if I am better than you, but I have outworked you and right now, you cannot do anything about it. Enjoy your ride, Santiago. See you in Paris.'

When Armstrong first publicly discussed the possibility of running a marathon a few years ago, there were two schools of thought. Some folks thought that he would be think he would be a good but not great marathoner -- running something like the 3:00 race he ran in New York. Others thought that, given his great aerobic base and mental toughness, with only a little training he could run a 2:20 marathon better. I was in the second camp -- and still am. This race only highlighted the importance of that little bit of training.

And of course, Armstrong's time was still faster than my best time by 45 minutes. I have a lot of work yet to do!

Posted by Eugene Wallingford | Permalink | Categories: Running

November 02, 2006 7:18 PM

The Transition Back to Normal

On Sunday I had a beautiful morning for my first run since returning from OOPSLA. That run marked four weeks since my marathon in the Twin Cities, and it was my longest since then, an enjoyable twelve miles over my favorite route. I threw in an 8-minute mile near the end, but mostly I took it easy. My body reminded me that I hadn't run that far in a while.

Running in Portland was as good as the conference itself. The cool morning temperatures were perfect, and we had clear skies and no wind all week. I even started feeling a little bit of speed coming back, but my legs felt the increase in mileage.

Dare I consider a spring marathon in, say, Green Bay or Madison or Cincinnati? Winter training in Iowa would help me to keep my mileage -- and my expectations -- down. I could run for fun. My virtual training partner from Arkansas would appreciate an opportunity to train in the South's most comfortable season!

I know, I know. "Normal" and "thinking of doing another marathon" probably don't go hand in hand for most people. But I have a strange desire at this point to run one for the sake of running it, not for a time. I haven't given up on getting better; I just realize that that isn't the only thing that matters.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 01, 2006 7:54 PM

On the whole...

W.C. Fields, who is attributed with this sentiment

... I'd rather be in Philadelphia. -- W. C. Fields

My race today effectively ended today at the 21-mile mark, when my legs cramped badly enough that I could no longer run. My training partner, who was running ahead of me by a few minutes, suffered the same fate. I will spare you the details, but suffice to say, I relived much of this experience and ended with a time slower than Chicago 2003.

At least I was wise enough to back off when the truth made itself know, which I had hoped to be yesterday. As a result, I enjoyed the back half of the Twin Cities course more this year. I saw many beautiful churches as we moved down St. Paul's Summit Avenue. I made a little guy who was watching the runners with his daddy smile by making a little face for him. And, when we came upon a couple of elderly ladies dressed nicely and giving their time this morning to cheer us on, I connected with one of the ladies, and the smile that lighted up her face lifted my spirits.

When you end up walking as much as I did today, you have a lot of time to reflect on what the world has served up. What did I do wrong? Peak to soon in training? Taper poorly? Eat poorly in the last week, last days? Hydrate insufficiently on the course -- or too much? (I drank steadily throughout, and more than ever before.) Was the day out of my control, with soaring temperatures that caught even the meteorologists off guard? Am I just not equipped physically to run 8:00 miles for a full 26.2? Is it only Minneapolis?

I have no answers yet. But I do have more doubts about myself after this race than last year's. I may need to walk a lot more more miles to work through the questions and doubts.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 30, 2006 8:48 PM

Expect the Unexpected for Every Race

I am in Minneapolis and preparing for the marathon that begins in less than twelve hours. Today has reminded me that one should never expect carefully-made plans for the day before a race to go as so carefully planned. The world moves forward in its own way. Sometimes we can control little other than how we react to what the trip presents us.

I've enjoyed meeting with my good friend today, after months of training together "virtually". I have also enjoyed seeing his family again and meeting several interesting people in their entourage. But my plans for visiting the expo, driving the course, eating, and resting have been thrown out of kilter.

I am in my room and ready to rest. The training and preparing are over. Now all that remains is the test. I'll try to balance running to meet my goal with running to enjoy the scenic course. I think I am willing to give up part of my goal time if I need to in order to enjoy the run. Let's see if I feel the same way when the race challenges my resolve tomorrow.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 26, 2006 5:54 PM

Taper Almost Finished

I am now almsot 2.5 weeks into my three-week taper that ends with the Twin Cities Marathon on Sunday. The two weeks before this one saw me cut back to 41 miles each, ending last Sunday with a relatively easy 10-miler on an out-and-back trail route. I did run 1.5 miles at goal pace on the way back, but for most of the time I took it easy.

This last week is the easiest of all. I took Monday off, and then this morning I ran one hour at goal pace. One of the marathon coaches I've read recommends this for the Tuesday of the last week; the goal is to get one last bit of marathon-pace work in, without overdoing either time or speed, while at the same time emptying the body's glycogen stores for fueling up this week. I'll run light and slow Wednesday through Friday, just enough to stay loose and keep my mind on task. Good rest is my goal.

As I noted in my previous update, in some ways I find the well-known "carbo load" of the last week to be among my biggest challenges. You'd think that eating would be easy, right? But eating the right things at the right times throughout the week seems tough. At least I don't have to worry about taking on too many calories... or do I?

Posted by Eugene Wallingford | Permalink | Categories: Running

September 16, 2006 1:48 PM

Beginning My Descent

I am almost one week into my three-week taper now. I've only run 29 miles so far this week, with only one track work-out. That was an 8-miler on Wednesday, 6x800m at 3:06-3:08 per repeat. Tomorrow I'll do 12 miles, at a pace close to my marathon goal.

My last two weeks of big mileage (60 and 58) tired me out. It rained all day the day of my last long run, scheduled to be 20 miles, so I ended up running indoors. Now, 184 laps sounds much worse than it is... I found a good rhythm, had plenty of scenery to view and distractions to occupy my mind, and I had easy access to restrooms and fluid. But I ran just a bit faster than planned, say, 1-1.5 seconds per lap, which took its toll over twenty miles. I ended up happy with my time but sorer and bit more tired than planned.

So my body is ready for the rest. This week I'll do 43 miles; next week, 41. I've done a much better job this year of striking a balance between pushing myself with hard workouts and being patient on recovery runs and breaks. This is the phase of training that must be dominated by patience and punctuated by shorter runs of intensity -- but mostly not faster than marathon goal pace. I will do one more speed work-out next week, 5x1600m, as recommended by the training plan I've followed all season.

What will be toughest for me is eating properly. I need to build up my fuel stores a bit over the next couple of weeks, without overeating as my mileage goes down. Plus, I'm not very good about eating regularly on teaching days, because I get into my preparation for class. I almost wish that someone would write a guide for how to eat during the taper. I like to learn from patterns of successful behavior. Of course, I could write a guide, but I haven't found the patterns yet...

Posted by Eugene Wallingford | Permalink | Categories: Running

September 04, 2006 5:50 PM

Just the Facts, Ma'am

Okay, so much for the maudlin confession. How did that 22-miler go?

For the first time in a very long time, when I woke up yesterday morning, I did not want to run. It was exceedingly cloudy, and the evidence of hard overnight rain lay all over the ground. And I was feeling tired.


I finally urged myself out of bed. It was cool, which is great for a long run.

The run went well, much better than I could have anticipated. I ran negative splits, even though I hit my first 10K lap faster than planned. For the full run, I averaged 8:30/mile, down from the 9:00+ miles I was running early in this training season. 8:30 is at the lower bound of the "30-60 seconds slower than goal pace" range that the creator of my training plan recommends for long runs late in the season. Being this fast, I will happily run a slower 20-miler next Sunday; my body will need to recover.

I was especially pleased with miles 19 and 20: 8:04 and 8:02 respectively... right at marathon goal pace! And this came at the end of a 60-mile week.

Of course, then I was sore. It felt good, though, and I was able to go for a short walk with my family in the evening. I had an easy 3 miles planned for this morning but took it off so that I could take an easy bike ride with my family later in the morning. The bike ride served the same purpose as the run -- to loosen my legs up for the coming week -- but was so much more fun than the run would have been.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 03, 2006 8:39 PM

Crisis of Confidence

But here you are in the ninth
Two men out and three men on
Nowhere to look but inside
Where we all respond to

-- Billy Joel

I had an abrupt crisis of confidence while running this morning. My legs had just started to feel the miles. Even though I've had good times in training the last few weeks, I pictured myself in the marathon, at that moment when my legs start hurting and I realize that there are still 4 or 6 or 8 or 10 miles, when my resolve is at its lowest and I simply have to gut it out if I want to finish the race strong and meet my goal -- and just then I wondered, maybe I'm just not tough enough mentally to overcome. The prospect those remaining 4 or 6 or 8 or 10 miles suddenly seemed very lonely.

The crisis was short-lived. Pretty soon I was thinking the other seemingly random thoughts that tend to fill a 3-hour run. But my earlier thoughts hung around my head like an echo, with the lyrics and uneven melody of Billy Joel's "Pressure" as accompaniment.

In that short period, I found myself wishing, almost counterintuitively, for a tough run, or even a bad stretch of training. Last summer went pretty smoothly, and look where that goth me. This year started with hamstring problems and so my training started slower and bit tougher than usual, but lately things have been going pretty well. When I'm on the course in the Twin Cities and my resolve bottoms out, will I have what it takes to gut it out?

In that short period, I found myself thinking of my friend Greg who is training to run Twin Cities with me. He lives in Arkansas, where summer is brutal on a marathon runner. Constant heat and unbearable humidity add to the hilly terrain to make every long run a chore. Greg's work schedule makes training even tougher, as almost he has to run in the middle of the night if he wants to get his miles in. As a result, he is worried that he won't be ready for the marathon. My counterintuitive thought was, maybe he'll be better prepared than I am for handling that "moment of truth" during the race; he'll have faced hard, painful runs all summer long.

How is that for my egocentrism and feeling sorry for myself? I guess a really long run on a rainy, dreary day can do that to the best of us. Once I moved on to my next thoughts, the idea that Greg somehow benefits from his current suffering seems foolish, just the sort of foolishness that someone who has had it easy sometimes indulges in. The bottom line is that I have to find the resolve when I need it. All the rest is just excuses.

Don't ask for help
You're all alone
You'll have to answer to your own

-- Billy Joel

Posted by Eugene Wallingford | Permalink | Categories: General, Running

August 29, 2006 5:36 PM

Entering the Final Iteration

At last report, I had had a good 22-miler, which was my first comfortable long run of the year. My 18- and 20-milers had been struggles, due in part to weather and in part to the fact that I was still regaining strength and stamina from reduced mileage in the spring. But I was wary of feeling too good, because I still faced my longest test of the year.

This year I am again training on a three-week cycle, something like an iteration in agile development. For two weeks, I increase mileage, including the Sunday long run, and then in the third I cut back a bit, to consolidate my gains and to prepare for the next increase. My tough 18- and 20-milers had been part of a 50-52-48 iteration, capped off with a 12-miler. The 22-miler was the end of the first week in a 54-56-52 iteration.

Well, I did my longest run of the year at the end of Week 2, four times around a 10K loop in the local park. That comes to 24.8 miles, though I record it as a 24-miler. It went very well. I felt strong throughout, ran negative splits for all four laps, and finished in 3:34:25 -- about 9 minutes under my upper bound of 9:00/mile. The last mile of my first three laps took 9:16, 9:04, and 8:46, and then I closed the last lap with consecutive miles of 8:32, 8:46, 7:58, and 7:34. This wasn't nearly as fast as last year's 40K, but it was perfect as a training run -- fast, but not too fast. If I run the long runs too fast, then I won't be able to gain as much from my upcoming speed workouts; plus I run an increased risk of injury or simply burning out. Patience, patience!

With a marathon goal pace of 8:00/mile, I felt good knowing that I could close with two sub-8:00-minute miles at the end of a 110-mile fortnight. On race day, I will have run only 20 miles or so in the preceding week, all in short distances and none too fast. The body will, I hope be recovered and ready for a long, hard push.

Even better, I ran that well with only two bathroom breaks, taking no energy gels, and drinking only about 16 ounces of sports drink. And I still felt good later that day! As I have begun telling folks, I wonder if my body isn't better suited for even longer distances, the so-called "ultra" races. (No, I'm not ready to put my mileage where my mouth is just yet.)

My consolidation week went very well. I ran only 49 miles after giving myself a day off after the 40K. My speed workouts pushed me long -- 5x1600m and 10 miles at marathon goal pace -- and then I ran a long run of 16 miles in under an 8:30/mile pace. I haven't run that route so fast in at least a year. Again, I felt strong.

I'm now beginning the final iteration of my training, a two-week cycle of 58-60 that ends as my three-week taper begins. I don't need a consolidation/recovery week, because the taper gives me three weeks of the same. My long runs will be only 22 and 20 miles, which means that I am bulking up my midweek runs. I'm going to stick with a 10-mile max on my Wednesday and Friday speed workouts, so Tuesday and Thursday will be the days that see more miles. I am curious to see what my long runs feel like these weeks, especially if I try to speed them up to an 8:30/mile pace throughout.

What I really need to do is find a way to sleep more hours, but there are only so many in a day. With the start of the school year, both for me and my daughters, I don't have much leeway. That is one of the big challenges for me, and one of the reasons I've never tried an April or May marathon, when all of my training would occur during a semester. My training partner for this race, though, lives in Arkansas, and he is suffering through the heat and humidity of the south just to get ready to run with me in October. I definitely owe him one and so will likely find out what training for a spring marathon is really like -- and soon!

Next up, in the morning: a 10-mile speed workout, 800m repeats, I think. Time to go fuel up.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 13, 2006 11:16 AM

An Easier 22 Miles

Just a quick update on preparation for the Twin Cities. What a difference two weeks can make.

My 20-miler two weeks ago didn't feel all that good to me. It was hot and humid, and I was sore and tired. At the end, I was wiped out for a day or two.

This morning was cool and dry. My legs felt a little heavy, but I was able to run 9-minute miles without much effort, I was starting to drag by the 14-mile mark, so I did two things: drank a little Powerade and set my mind on picking the pace up to 8:30/mile for a marked four-mile stretch up ahead. You might think that thinking about speeding up would be the wrong thing for me to do when I start dragging, but in this case I judged the fatigue to be more mental than physical. My legs weren't slowing down; I was just feeling the weight of the miles left to run. In such a case, I find that I can perk myself up with a little speed-up. It gives my mind something positive to focus on and improves my mood.

I've been successful doing this on training rains the last few years, but during my marathons. I wonder what I can do in six weeks to convert this into a racing tool?

The fast four miles went better than expected: 8:10, 8:12, 7:52, 7:47. That's a cool 32:01 -- my marathon goal pace. And the last two miles coming home felt just fine.

A much better day. Let's see what next week's 24-miler, the crest of my mileage buildup, brings.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 30, 2006 8:26 PM

20 Miles the Hard Way

Here are two signs that you may face a tough 20-miler:

  • When you rise at 6 AM, the dew point is 78 degrees, and the temperature is already 80 degrees. (This problem is at the other extreme from the one you faced in the winter.)
  • You are already sore from your workouts during the preceding week.

... and that doesn't even take into account the fact that it's a 20-miler!

There isn't much I can do to change the weather conditions, and there's not much I can do to address them when it stays hot and humid through the night. I can run slowly and take plenty of fluids. Choosing a shaded route is good, too.

My soreness is under some control, though I depend on my harder workouts to get faster for my race. This week, however, I overdid both of my fast workouts, partly out of ignorance though also partly out of overeagerness. (Stick to the plan!)

This morning, I ran slowly, but "on plan" -- ≤ 70 seconds over marathon goal pace, which is within the 60-90 seconds over marathon goal pace recommended by the coach who designed the plan I'm following. The route I ran offered shade for much of the last 8 miles, which certainly helped as the temperature rose into the mid-80s. I also drank a lot of fluid -- at least when compared to my usual practice. I consumed 19 oz. of the sports drink that will be available on the race course this fall. Last year's experience suggests that my body may not absorb the liquid I take on the course all that well, especially this brand. That almost certainly affected my hydration during the marathon last year. This year I hope to train my body to take more liquid, and this kind of liquid in particular. If nothing else, I need to get used to living with the flavor for almost four hours!

The first two hours today felt good, much better than the first half of last week's 18-miler. But I began to feel the effects of the weather and fatigue in the last hour. Then I ran a bit faster for my 18th mile (8:15), just to see if I had anything left. I did -- but then not for the last two miles. This is an indulgence I need to give up. (Stick to the plan!)

Last year at this time I ran a great 20-miler on a rails-to-trails trail in Muncie, Indiana. That run felt much better than today's, and I ran much faster. I was in better shape last year after a perfect spring 2005. The timing of my hard workouts and the weather probably contributed, too. But running too fast on my long runs last year also probably hindered my speed training last year and may have led me to peak too soon, both physically and mentally. So I am not too worried about running slower on my first 20-mile run of 2006.

For I now, I am happy to have my first pair of big weeks (50 and 52 miles) under my belt. Now I look forward to a consolidation week -- 48 miles, with a long run of only 14 or so. Such periods, which I schedule every three weeks, let the body recover from recent increases in hard work and mileage and adapt to these new stresses. Then I face my next big climb: weeks of 56 and 58 miles, with long runs of 22 and 24. I think of that pair as like the Tour de France entering the Alps for a couple of massive climbs...

Posted by Eugene Wallingford | Permalink | Categories: Running

July 12, 2006 5:40 PM

To Tell the Truth

This morning I was thinking about a game show from my youth, To Tell the Truth (not the 1953 version!). In this game, "a person of some notoriety and two impostors try to match wits with a panel of four celebrities". The goal of the celebrity panel was to identify the 'real person' and ferret out the impostors.

Why would a thirty-year-old game show come to mind on a hazy July morning? The track was doing its best to determine if I was an impostor or the real McCoy. I think I passed my first test of the training season.

The Twin Cities Marathon takes place on October 1, so I have just under 12 weeks to prepare. Last week I bumped my weekly mileage up into the low- to mid-40s, and this week I began a 12-week "can't fail" training plan by running coach Bob Williams that I found in an old Runner's World magazine.

Now generally, I'm no better at sticking to someone else's training plan than I am sticking to someone else's textbook; I like to tinker with the plan, make it conform to my schedule and a bit to my expectations. This year isn't much different, with one exception: I intend to follow Williams's speed workouts as closely as I can. His plan calls for one workout of short, fast repeats each week or so, and one workout of longer repeats every other week or so, with tempo runs in the alternate weeks. Today, I ran speed workout #1, 5x800m repeats at roughly 5K pace. I managed 3:13-3:15 per half-mile on this fine day, but only after I spent my warm-up miles wondering if I had what it took to run repeats today.

The plan I selected for this season is unusual in another way, one that doesn't demonstrate the sort of humility that has cropped up in my recent writing: I opted for the "advanced" program. Many training plans for 5Ks, halfs, and marathons come in three flavors, beginner, intermediate, and advanced. I have always gone with the intermediate plan, but this year I was honest with myself; by the recommendation of the coaches, I am ready for the advanced plan. For example, Williams's plan says "Typically this person has completed at least three marathons and has run consistently for three years or more." Check and check. Note that this precondition says nothing about the runner's speed or goal time; it depends only on the person's ability to work up to a sufficient mileage and handle speed workouts at a runner-specific pace. I'm ready for that.

One thing I like about running, which has popped up from time to time in this blog, is the accountability it exacts from us. It's impossible to be an impostor in this game. Eventually, the road or track finds you out. It lets your body know that you've been found out, and your body tells your mind. The feedback comes immediately, in the form of aches and pains and fatigue, and over the long haul, in the form of persistent fatigue and injury. So we do end up facing the need for humility after all, but also a challenge to stretch and grow.

For one day at least I am the real guy. Let's see if I am found to be an impostor by 11:30 AM or so on October 1.

Posted by Eugene Wallingford | Permalink | Categories: Running

June 28, 2006 4:22 PM

One Reason I Like Agile Methods

Short answer: Because sometimes I am too cocky for my own good.

If you read the recent entry on my latest half marathon, you may have noticed that my mile 3 time stands out as slower than the rest. What happened? After running two comfortable miles at exactly 7:32, about a half minute faster than planned, I started daydreaming about what a great race I would soon have run. "Let's see, that's 91... plus six-and-a half, which is... Wow!" While patting myself on the back in advance, I forgot to keep running. Too cocky.

Last summer, when I took on the responsibilities of department head, I managed to convince myself that I was the best person for the job. Maybe even the only person. With this attitude, it is all too easy to fall into habits of thought and action where I forget that I have to do the hard work of the job. Why aren't things coming more easily? Too cocky.

So it is with programming. It's quite easy to attack a problem before we fully understand our customer's needs, to start pumping out code before we know where we are going. Get cocky, and pretty soon the problem and the program step up to humble me. Unfortunately, by then, I too often have a big mess on my hands.

I work better when I'm a little nervous, when I'm a bit unsure of whether I can do what I'm trying to do. Maybe that's a trait peculiar to me, but I think not. I've had good friends who thrived on an element of tension, where just enough uncertainty heightens their senses. I am more aware then. When I get cocky, I stop paying attention.

One reason that I like agile approaches to software development is that they encourage me not to get cocky. They tell me to take small steps, so I can't run ahead of my understanding. They tell me to find simple solutions, so that I have a better chance of succeeding (and, when I don't, I won't have erred too badly). They tell me to seek continuous feedback, so that I can't fool myself into thinking that all is going smoothly. The red bar cannot be denied! They tell me to integrate my work continuously, so that I can't fool myself about the system at large. They tell me to interact with other developers and with my customer as frequently as I can, so that others can help me, and keep me honest. The whole culture is one of humility and honesty.

Posted by Eugene Wallingford | Permalink | Categories: Managing and Leading, Running, Software Development

June 26, 2006 4:31 PM

My Latest Half Marathon

Hannibal Smith of television's The A-Team used to say, "I love it when a plan comes together." I do, too, but some days work out better than that.

My plan for the Sturgis Falls half marathon yesterday was conservative: 8:00 minutes/mile. Last year I was shooting for 7:00 minutes/mile and fought some humid weather on the way to a finish of 1:34:11, a pace of 7:11. This year, after being under the weather persistently for a couple of months and working through hamstring soreness, I scaled back my expectations to my target marathon pace.

The weather this year was perfect for a race: cloudy, not too breezy, and temperatures just under 60 degrees Fahrenheit. Just before the starting gun, one of my friends said, "I hate when the weather takes away all of my excuses." Yep, because then it's just me out their on the course.

It can be tough to start a big race "on pace" because the adrenalin and the presence of the big crowd usually encourages a fast start. After 1 mile, I had run 7:32 -- a half-minute too fast. But I felt good, and the pack had thinned out, so I kept on. My second mile: 7:32. Still feeling good. The third mile took me 7:44, but I still felt good and actually thought I'd been a little cocky over the last mile. So I kept on running. And I found a very nice rhythm.

This may have been the steadiest ten miles I have ever run:

7:32 - 7:32 - 7:44 - 7:35 -
7:35 - 7:33 - 7:30 - 7:34 -
7:36 - 7:29

There was a glitch in the course's 11th mile due to road construction, so my time for that "mile" (6:13) is certainly inaccurate. Then I ran back-to-back miles of 7:21 and sprinting home the last 1/10-mile in 37 seconds, for a finishing time of 1:37:15 -- only three (or maybe four) minutes slower than last year.

I felt great the whole way, though when I was done I felt as if I had run a marathon. I'm beginning to learn that pain and soreness are not a function of one's time or one's fitness, but a function of the combination of time and fitness. On this day, I ran about as fast as I possibly could have, given my fitness level, and my body told me so afterwards.

The only bad news of the day was that I finished off the medal stand for my age group -- by two seconds! To be honest, though, I don't know if I had two seconds left in me at the end of the race, so I have no regrets.

Now, I'll spend a couple of days doing easy runs to recover and then proceed with a training plan for the Twin Cities Marathon on October 2. I don't have a lot of time, and I have more work to do that I had this time last year. But yesterday's race makes me eager to face the challenge.

Posted by Eugene Wallingford | Permalink | Categories: Running

June 20, 2006 2:28 PM

Two Motifs for the Day

... courtesy of quite different triggers.

"The plan is more important than the ego."

I finally got back on the track last week for some faster running. Not fast, just faster than I've been able to manage the last couple of months. This Sunday I run a half-marathon, so I didn't want to run a speed workout this week, but I did want to get back into the habit of a weekly trek to the track, so I decided to go this morning for eight miles at my conservative half-marathon goal pace, 8:00 minutes/mile.

Everything went great for a couple of miles, when a college student joined me on the track. Then one of my personal weaknesses came forward: I wanted to run pass him. He wasn't running all that fast, and a couple of laps of fast stuff would have put him away. But it may also have cost me, either later in this run or, worse, during my race, when I discovered that I'd burned up my legs too much this week.

Fortunately, I summoned up some uncharacteristic patience. Fulfilling my plan for this morning was more important than stroking my ego for a couple of minutes. What else would have passing this guy have done for me? It wouldn't have proven anything to me or to him (or his cute girlfriend). In fact, my ego is better stroked by sticking to the plan and having the extra strength in my legs for Sunday morning.

In the end, things went well. I ran 7.5 miles pretty much on pace -- 7:55 or 7:56 per mile -- and then let myself kick home for a fast half mile to end. Can I do 13.1 miles at that pace this weekend? We'll see.

"It changes your life, the pursuit of truth."

I heard Ben Bradlee, former editor of the Washington Post, say this last night in an interview with Jim Lehrer. Bradlee is a throwback to a different era, and his comments were an interesting mix of principle and pragmatism. But this particular sentence stopped me in my tracks. It expresses a truth much bigger than journalism, and the scientist in me felt suddenly in the presence of a compatriot.

The pursuit of truth does change your life. It moves the focus off of oneself and out into the world. It makes hypotheticals and counterfactuals a natural part of one's being. It makes finding out you're wrong not only acceptable but desirable, because then you are closer to something you couldn't see before. It helps you to separate yourself -- your ego -- from your hypothesis about the world, which depersonalizes many interactions with other people and with the world. Note that it doesn't erase you or your ego; it simply helps you think of the world independent from them.

I'm sure every scientist knows just what Bradlee meant.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

May 30, 2006 10:27 AM

Sometimes, Normal is Very Good

Last week, I ran 38 miles. In most respects, that is hardly remarkable. I ran 41 miles or more most weeks of 2005, and 38 miles was my usual week for most of 2004. But I hadn't had a normal running week since at least the middle of March, and I have to go back late February to find more than a week of normalcy. The culprits were manifold: trips to Houston, Carefree, and Portland; the long-lasting bugs that I brought home with me from each; and a pair of pesky hamstrings. Hence my happiness at having a merely ordinary week, one in which all I managed to do was to run my ordinary mileage every day in unremarkable times.

All winter, I seemed to be running a bit slower and more labored than I expected. In retrospect, this was probably a symptom of the overuse that eventual hammered my hamstrings. Last week's running may have been unremarkable in the grand scheme of things, but in context it offered one piece of hope: I ran 20 km (12.4 miles) for my long Sunday run in only 1:42. I wasn't trying to run faster than I've been running; the speed came naturally. I even managed a 7:56 mile near the end of the run. And the hamstrings felt fine.

I started this week with a 5-miler this morning, and it offered another sign that I am close to normal. Without any particular effort to go fast, I had my best time on the route in many months, probably since September.

Uncharacteristic patience has paid off for me over the last couple of months. I tend to rush back into my regular miles and speeds as soon as I think I can, but with so many different problem areas I found myself able to hold back, taking it easy some days and off on others. I may have taken it even easier when the hamstrings began to give me trouble; those muscles have definitely taught me to respect their power.

I sometimes feel guilty talking about the "struggle" to get back to a comfortable level after only eight or ten weeks of falling off pace. My wife has been trying to get back into a running routine after a few years away, and that has been much more of a challenge than what I have experienced. A friend recently told me that he had taken up a simple running program for the first time. These two are doing a good thing for their bodies (and minds), but there are days when starting from scratch must seem pretty daunting. The fact that these folks can stick with forming a new habit and training their bodies makes me realize that I'm in a pretty good place; my expectations are more of a problem than my body or habit.

Anyway, I am going to try for one more week of the very good usual, with no particular concern for speed or hills or intervals. Then I hope to spend a couple of weeks getting ready for our local half-marathon on June 25, not as a race with expectations of blowing away my PR but as a training run that shows I am ready for what comes next: training for the Twin Cities Marathon. For now, I will enjoy the usual, more than usual.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 30, 2006 1:58 PM

Rain, Not Pain

After four weeks of 21.5 miles each -- pure coincidence -- as I recovered from bothersome bugs and painful hamstrings, I finally have had a real week of running. I ran 8.5 miles last Sunday, then put in 23 miles Monday through Friday. I ran easily, with a couple of speedy miles here and there, but mostly I was just happy to be on the road again.

This morning, I got together with an old friend, a teammate from my first marathon in Chicago who used to lead the superb children's theater program at the aforementioned local playhouse. He has since moved to Little Rock but was back in town for a short weekend. Both of us wanted to take it easy for our legs, so we headed out for a moderate 11.5 miler along the trails he used to run. What made the run toughest was the fact that it rained all morning, and we occasionally ran into a stiff headwind. But we ended with much the same feeling I had after Friday: feeling good, and happy to run without pain or other impediment. I can now get ready for an end-of-June half-marathon and a few 5Ks in the meantime, and he can taper into the Olathe Marathon, three weeks hence. Good luck, Greg!

I'm pleased to have a 34.5 mile week under my belt. I now hope that the last few weeks' relative rest have prepared my body for a fun summer of training.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 14, 2006 9:06 AM

Running on the Road: Carefree, Arizona

(The sixth stop in the Running on the Road series. The first five were Allerton Park, Illinois, Muncie, Indiana, Vancouver, British Columbia, St. Louis, Missouri, and Houston, Texas.)

the low mountain desert of Arizona

Back in 1998, the still relatively new Hillside Group spun off a third conference in its "Pattern Languages of Programs" series, the mysteriously-named ChiliPLoP. The name is a double entendre, one part based in the southwestern US culture and cuisine that are spicy by national standards, and one part based in the conference's intent to bring together patterns folks working intensely in groups on "hot topics" of interest. Since the beginning, I have been a regular, meaning that each spring I travel to Arizona for a great three or four days working on patterns and interacting with the some of the most interesting folks I've ever met.

The first three years of ChiliPLoP were held in the rural area 50 miles northwest of Phoenix, at the wonderful Merv Griffin Wickenburg Inn and Dude Ranch. At the time I was still just a casual runner, so I jogged about the compound on gravel and sandy paths for 20-30 minutes at a time. In 2000, Merv donated the ranch to a charity, for use as a camp for wayward boys, and ChiliPLoP had to surrender its great Western luxury and find a new home.

Spirit in the Desert logo

Since 2001, ChiliPLoP has been in Carefree, northeast of Phoenix, at the Spirit in the Desert retreat center. That may not sound exciting, but it has been a great place to hold a working conference -- quiet, with lots of open space and kitchen area, autonomy, and a great staff. And, more to the point of this article, Carefree offers great running.

Carefree is a young town of about 3000 people up the road from Scottsdale and neighboring the older and larger community of Cave Creek. It's basically a tourist community, with restaurants, trinket shops, and art galleries. Many of its residents live in expensive homes in the land that rings the small center center.

When I run in Carefree, I go for three different kinds of outing.

the sundial in the center of town

In Town

My shorter runs tend to be in and around the town area. There isn't really much town, but the streets in the vicinity of the retreat center wind around, folding back in on each other, making it possible to run for a few minutes without ever running in quite the same place. Just south and east of town, the roads are like the country roads I remember in rural Indiana, with a few houses, narrow streets with no shoulders, and little traffic. I can easily piece together a 5-6 mile run by aimlessly wandering streets with names like Bloody Basin, Nonchalant, Long Rifle, Sidewinder, and Breathless.

low mountains north of town

The Outlying Areas

Farther to the east but especially to the north, I get into the "wild". There are still homes to be found, but they are fewer and harder to see, hidden atop hills and behind the desert's flora. These runs are much hillier, with a few big hills and many, many smaller but still significant rises and falls. I like to run early, and I often see javelinas and coyotes out -- the javelinas in packs, sometimes near the roads, and the coyotes alone or in pairs, scouting the ridges above the roads.

My favorite runs are north of town. I take Tranquil Trail north across Cave Creek Road and follow streets where they lead me. Occasionally I hit a dead end at the top of a steep incline, so I double back to the latest choice I made and make another. We all study about backtracking algorithms in our CS courses, and I've tried them all as I explore this area. I don't worry much about distance, because the hills change my speed profile so much; I just run for an hour, or ninety minutes, being sure to stop moving farther from town near the 2/3 mark. One run of this sort is the strength work-out I need for a week, replacing any speed work-out or hills I might do at home.

Black Mountain

The Mountain

When I started running more miles in 2002, I began to hear a siren call: Black Mountain. This 3700-foot mountain lies east of Carefree and south of Cave Creek, and it dominates the skyline as I look out the window of my room at the retreat center. I was running more mileage, and now I realized that something was possible that before had never even been conceivable. The mountain called to me: run all the way around me.

the fountain at the LRC

That first year, I mostly wandered the retreat center's tranquil grounds and imagined. But I looked at local tourism maps and guessed that the roads around the mountain's base form a loop of 10 miles or less, and the call got stronger.

I also could not resist one other attraction of this run. The south border of mountain is called Carefree Highway, and all I could of was the old Gordon Lightfoot song, which I loved, and the prospect of telling my friends that I had run down Carefree Highway.

In 2003, I did. The run convinced me that the loop -- beginning on the northeast side of the mountain at the corner of Tom Darlington Highway and Cave Creek Road, counterclockwise on Cave Creek around the north and west perimeters to Carefree Highway, east back to Tom Darlington, and finally north again to Cave Creek -- was only 8.5 or 9 miles. With a half mile or so to and from the starting point, I figure this run is in the 9 to 9.5-mile range. It has plenty of rise and fall, but not dramatic changes in elevation; the inclines and declines are long and gradual.

This run is now a ritual of my ChiliPLoP visits. The roads of this route are two and four lanes and are the major roads into and out of Cave Creek and Carefree. So they are busy. That, coupled with the fact that I do have work to do at the conference, means that I usually start early -- no later than 5:30 AM, certainly, and as early as 4:15 AM. I start in darkness and end in light, much like the conference itself. Indeed, I have seen some remarkable sunrises as I come around the southwest corner of the mountain and turn east, when the sun seems to come alive all at once as the mountain no longer blots out my eastern vista.

I hope no one is listening, because I often talk to the mountain. The first year, I spoke to it as a motivational device, because I'd never run such a hilly 9-miler. Now, I speak to it as an old friend, a partner that has seen me go from novice runner to old hand. Yesterday morning, I thanked Black Mountain for another glorious run. Unlike Coleridge's Ancient Mariner who bore the burden of guilt for slaying the albatross, I grew with the mountain and became its companion.


The software patterns movement is changing, as patterns and the OO software development that engendered it become a part of the discipline's mainstream, and I don't know how much longer conferences like ChiliPLoP will continue to exist as viable entities. I can only hope that it lasts for a while longer. I need my annual excuse to run in its world.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 07, 2006 2:23 PM

Which Kind of Pain Today?

Well, if there are different kinds of pain, which kind of pain am I feeling today?

After a few days on hold, my hamstrings felt okay by Tuesday night, so I headed out for a short (3-mile), easy run on Wednesday morning. My legs were sore, but I felt no pain in my hamstrings!

I ran 5 miles yesterday. After a tentative first mile, I accelerated for the first time in over a week. I held a pace in the 8:45 minutes/mile range -- not fast, by any means, but much faster than anything I could manage the week before. Again, sore legs, but no pain.

Today's 5-miler was a bit slower, but just because my muscles are a little out of shape even after a the short lay-off. But I feel the good kind of sore. I'm getting better.

I plan to take it relatively easy in Carefree next week while at ChiliPLoP'06, and then -- if the legs still feel good -- begin preparation for a half-marathon at the end of June.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 06, 2006 6:46 PM

Different Kinds of Pain

The other night at dinner, I was telling my family about the state of my legs after my most recent run, and I said, "My legs don't hurt, but my hamstrings are sore." My younger daughter, Ellen, responded, "Um, Dad, your hamstring is part of your leg." And I was caught. Fun was had by all at my expense.

Of course, I was talking about different kinds of pain. I've been thinking about different kinds of pain a lot lately. As I mentioned in my last post, I have been having trouble with my hamstrings. I have not suffered from a running injury in the three-plus years since I developed a larger commitment to running, but I've felt plenty of pain. Whenever we push our bodies farther than they are used to going, they tend to talk back to us in the form of muscle soreness and maybe even a little joint soreness. That pain is a natural part of the growth process, and if we can't handle that sort of pain then we can't get better -- more speed, more stamina. Oh, I suppose that we might be able to get better slowly, but so slowly that it wouldn't be any fun. Even still, we runners have to listen to their bodies and let them tell us when to lighten up. I live with this sort of pain periodically, as it is a part of the fun.

This is a different sort of pain than the pain we feel when something is wrong with the body. Last week, my hamstrings hurt. Walking was painful at times, and going upstairs was torturous. This is the kind of pain that evolved to tell us our bodies are broken in a way that wasn't helping. Listening to this kind of pain is crucial, because unheeded the underlying cause can debilitate us. When we feel this kind of pain, we need to "get better", not get "better".

This week I have been talking with students in my compilers class. They are feeling a kind of pain -- the pain of a large project, larger than they've ever worked on, that involves real content. If they design the parsing table incorrectly, or implement the table-driven parsing algorithm incorrectly, then their programs won't work. To their credit, they all see this sort of pain as useful, the sort of pain you feel when you are getting better. "I've learned more about Java programming and object-oriented design than I've ever learned before." They realize that, in this case, less pain would be worse, not better. Still, I feel for them, because I recall what those first few experiences with non-trivial programs felt like.

For my agile software development readers: I know that I haven't written much about agile in a while, but I can say that many of my students are also experiencing the pain that comes from not using the agile practices that they know about. Taking small steps, using unit tests, and getting as much feedback from their code as often as possible -- all would make their lives better. There is nothing like trying to debug several hundred lines of tightly-coupled code for the first time and needing to track down why Rule 42 of 200 doesn't seem to be firing at the right time!

This is also advising time, as students begin to register for fall courses. Sometimes, the best course for a student will be painful, because it will stretch him or her in a way that the mind is not used to. But that may be just what the student needs to get over the hump and become a top-notch computer scientist!

These encounters with various kinds of pain remind me of an essay by Kathy Sierra from a month or so ago. One of her central points is that, to become really good at a task, you must practice the parts that you are weakest at -- you have to choose pain. Most of us prefer to practice that with which we are already comfortable, but then we don't stretch our (programming, piano-playing, golfing, running) muscles enough to grow. I suspect that it's even worse than that, that by repeatedly practicing skills we are already good at we drive our muscles into a rut that leaves us worse, not better. I see that happen in my running every so often, and it probably happens to my programming, too.

But is all the psychic pain we feel when taking a compilers course or learning to program a good sign? Probably not. We do need to choose tasks to master for which we are well suited, that we like enough to work on at all. If you really have no affinity for abstraction and problem solving, then computer science probably isn't for you. You'll not like doing it, no matter how expert you become. But after selecting a task that you can be good at or otherwise interested in, you after to be ready to take on the growing pains that come with mastering it. Indeed, you have to seek out the things you aren't good at and whip them. (*)

I hope you have the chance to feel the right kind of pain soon. But not for long -- be sure to move on to the fun of getting better as soon as possible.


(*) I do offer one caveat, though. It is too easy to tell ourselves, "Oh, I don't like that" as a way to avoid finding out whether we might like something enough in practice. I don't know how many times people have said, upon hearing that I ran 20 miles that morning, "Oh, I can't run long distances" or "I don't like to run at all". I usually smile politely, but sometimes I'll let them know that I didn't know I liked it until I had done it for a while. I used to make jovial fun of my friends who ran. Then I did a little for ulterior reasons and thought, "Hmmm...", and then I did more and more. Sometimes we need to try something out for a while just to know it well enough to judge it.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

April 03, 2006 5:58 PM

Opening Day -- with a Slight Delay

Since I took up training for half-marathons and marathons back in 2003, the first Monday in April has been the traditional "opening day" for my training season. I usually run the Sturgis Falls Half Marathon, which is part of our major city festival. The race is always the last Sunday in June, and starting at the beginning of April gives me almost three months to prepare specifically for racing a good half. Today is opening day for 2006, with a race date of June 25. Countdown: 12 weeks.

My training is on hold for a day or two, though. A couple of week ago, I started feeling a little soreness in my hamstrings. I ran normally that week, in hopes that it would pass. It didn't, and got worse instead. So last week I cut my mileage way back and further ran very, very easily -- no speed, no acceleration, no hills, just short, slow, easy miles. I may never have run a 10-minute mile before (well, except perhaps while struggling to finish my last marathon.)

By last Friday, my hamstrings hurt even more, so I decided to take drastic measures: I skipped my Sunday run. Believe it or not, I had never had to cancel a run for injury! The 48-hour break helped my right hamstring, but the left still felt a little tender. So I chose not to run today, either. The left hamstring is feeling better today, and I may take tomorrow off, too. With hamstrings, it is safer to be a little more cautious and let those boys heal well than to foolhardily race off too soon. I have friends who have suffered through full seasons of hamstring pain. They affect walking and sitting, and then you can't run at all. A day or too of rest is a price worth paying when a plausible alternative is weeks or months on the shelf.

Not that I have ever been one to be cautious when it comes to canceling runs. I usually run through things and let my body win. But I've probably been fortunate not to have the sort of injuries that made that strategy impossible.

I didn't suffer any particular injury here, so I guess this is what athletes call an "overuse injury". I've been running about 38-41 miles per week this winter, and between miles and shoes and a little speed, I may just have overdone things a bit. And maybe I'm getting a little older, and this is my body's way of reminding me who's in charge...

So, my half-marathon training may not start until Wednesday morning. Another day of rest, then a short, easy jog, then -- if all feels okay -- a few easy miles for this week. Eleven weeks is plenty of time to prepare for a half, and I want to enjoy it.

Besides, next week I spend a few days in Carefree, Arizona, and I want to enjoy the trails, hills, coyotes, and javelinas!

Posted by Eugene Wallingford | Permalink | Categories: Running

March 08, 2006 11:41 AM

Pink Socks

There's a title I never had planned for a blog entry.

This isn't really a running post, but if I were not a runner, then it would never have happened. Then again, if there had never been a 09/11, it probably wouldn't have happened, either.

When I go to conferences, I pack for running. For the past couple of years, I have taken powered Gatorade and an empty water bottle with me. Just add water, I have the liquid I need to recover from longer runs. The Gatorade turns out to be a nice drink even on mornings when I don't run -- conferences often don't serve anything but coffee in the morning, and sports drink is low-calorie and high vitamins and minerals.

I pack the powder in a plastic container that seals tight, to keep the powder in and the moisture out. On my trip to Houston, I took tropical punch-flavored powder.

Well, my friends at the TSA must have conducted a thorough search of my bags on the way bag from Houston. When I got home, there was little red powder everywhere, but especially in my running shoes and clothes. I found the plastic container, whose lid had not been put back on tightly. It was in a large ziploc baggy that wasn't zipped 100% either. So the search may have been thorough, but it was not all that careful.

I grumbled a bit about the misfortune, shook my clothes and shoes out carefully, and forgot about it.

Until this morning. When I finished my run, I was changing in the locker room when I noticed that my socks were pink at the ankles. When I got the shoes off, I saw that the socks were mottled pink all over, especially the soles. I must not have gotten all of the powder out of my shoes after all. Now a pair of good running socks is stained irreversibly with red dye #2.

I suppose that I should have done something more to be sure that my shoes were powder-free, but it just didn't occur to me.

Thanks, TSA. Thanks, Al Qaeda.

Posted by Eugene Wallingford | Permalink | Categories: Managing and Leading, Running

March 03, 2006 6:15 PM

Running on the Road: Houston, Texas

(The fifth stop in the Running on the Road series. The first four were Allerton Park, Illinois, Muncie, Indiana, Vancouver, British Columbia, and St. Louis, Missouri.)

My Running on the Road series has lain dormant since last year's SIGCSE. It's not that I haven't been running on the road... I've had some great runs in Carefree, Arizona; San Diego (twice); Plainfield, Indiana; Portland, Oregon; and Knoxville, Tennessee. But some of these runs weren't ones that I wanted a long-term record of, and others came at times that found me so busy that I never got around to blogging. For one, Carefree, I'd like to write to something more than a routine few paragraphs, and so I saved it for this year's ChiliPLoP.

County Courthouse

This week at SIGCSE I had a chance to run in downtown Houston, Texas. I've not spent much time in Texas, and both major visits have been for SIGCSE. For a midwesterner, Houston is a great place to visit in February or early March. It's generally cold at home, and Houston is not yet rainy or oppressively hot and humid as it will be later in the year.

Many downtown conferences are not ideal for a runner, though, because some downtowns are concrete jungles. Houston is like that. I'm sure there are some scenic runs out in the neighborhoods and suburbs that ring the city, but they are hard to get to you easily, because Houston is a town for drivers. Despite this, I was pleasantly surprised to cobble together a nice little loop around downtown Houston that met my needs.

City Hall

The conference was at the Hilton Americas, but I stayed 2/3 a mile away at the Club Quarters, which is a members-oriented hotel. When I booked my reservation, I did not realize that this hotel is right in the center of Houston's downtown. I studied the local map I was given at check-in and found what looked to a big rectangle around the perimeter of the area that was just the right size: small enough that I could run multiple loops to assemble runs of different lengths and always be within reach of my hotel (in case nature calls and won't take 'no' for an answer), but large enough that I didn't feel like I was running laps on a track.

The loop was bounded by Dallas on the south, Crawford on the east, Preston on the north, and Bagby on the west. This route turned out to be nearly ideal as it took me by most of the landmarks of the downtown area. I saw the old county courthouse (first picture above) and Houston City Hall (picture on left). Near the northeast corner of my loop, I passed the second oldest church in Houston, the Church of the Annunciation (picture below), and one of the newer ball parks in major league baseball, Minute Maid Park, home of the Astros (pictured near the bottom of the post). These landmarks are across the street from each other, which may be convenient some game days! Near the southwest corner of the loop I ran past the scenic attraction Downtown Aquarium-Houston.

Church of the Annunciation

For both of my runs, I also ran from the Club Quarters south to Dallas and then back up Main to Capitol. This access route paralleled Houston's light rail line.

MapQuest tells me that my loop is about 2.9 miles, plus 0.3 miles for parts of the hotel access. But my instincts and body tell me that I was running closer to 3.0 miles total for the whole circuit. On Wednesday, I ran the three passes for a total of about nine miles, and on Thursday twice for about six.

As with most big cities, the time of a run has a large effect on how traffic a runner must deal with. My first morning out, I didn't start until almost 7:00 AM, and traffic was heavy on nearly every street. On my second morning, I hit the pavement at about 5:45 AM and found mostly deserted streets. As a result, I was able to cross on most red lights without affecting traffic or endangering myself.

Minute Maid Park

Running in morning rush hour traffic the first day had two effects on my run that I hadn't anticipated. First was on my elapsed time. I ran for 75 minutes, but I was on the road for 98! I hadn't considered that while I was stopped waiting for a traffic light to change that the earth continued to revolve beneath me. This surprise left me running late for my heads workshop the first day.

Second was on my speed. Because I was stopping every few blocks for a light, I was starting up every few blocks. It's natural for me to take off just a wee bit faster than the pace I plan to maintain, and besides all of those little breathers kept me a bit fresher than I would have felt over nine miles of non-stop running. This surprise left me a bit sorer than I would ordinarily be after an easy run, much like a track workout does. Given that I don't have much experience running in town, I am not really surprised that these runs went differently than I had expected. As is often the case, I learned something new.

All in all, downtown Houston was an enjoyable place to stay, eat, work, and run, and much fun was had.

Posted by Eugene Wallingford | Permalink | Categories: Running

February 06, 2006 6:35 PM

Deeper Things Under The Surface

As a runner, I sometimes fall into the trap of expecting to see progress in my abilities. When I expect to experience a breakthrough every day, or every weekly. I am sure to be disappointed. First of all, breakthroughs don't happen all that often. In fact, they don't happen often at all, and when they do they seem to come in bunches -- PRs on several different routes at several different distances in the span of a couple of weeks. These spurts often tempt me into thinking that I'll just keep getting better and better!

But when these breakthroughs occur, whether alone or in spurts, they aren't really the point. What you did that day, or in the previous week, isn't often directly responsible for the breakthrough. The big gains happen outside conscious sight. After years as a casual runner, I saw my first big improvements in speed and stamina only after many, many months of slow increases of in my daily and weekly mileage. I hadn't done anything spectacular over those months, just routine miles, day after day. This is what the gurus call 'building my aerobic base'. Deeper things were are happening under the surface.

I think that this sort of thing happens when we learn, too. Can I memorize facts and be a whole smarter tomorrow than today? Maybe, but perhaps only for a short time. While cramming doesn't work very well for running, it may help you pass a fact-based final exam. But the gain is usually short term and, more important if you care about your professional competence, it doesn't result in a deep understanding of the area. That comes only after time, many days and weeks and months of reading and thinking and writing. Those months of routine study are the equivalent of 'building your mental base'. Eventually, you come to understand the rich network of concepts of the area. Sometimes, this understanding seems to come in a flash, but most of the time you just wake up one day and realize that you get it. You see, deeper things are happening under the surface.

I think this is true when mastering programming or a new programming style or language, too. Most of us can really grok a language if we live with it for a while, playing with it and pushing it and having it talk back to us through the errors we make and the joy and pain we feel writing new code and changing old code. Students don't always realize this. They try to program a couple of days a week, only to be disappointed when these episodes don't take them closer to being a Master. They could, if they became part of our routine, if we gave time and contact a chance to do their magic. Deeper things can happen under the surface, but only if we allow them to.

"Deeper things under the surface" is a catchphrase I borrow from an article of that name by Ron Rolheiser which talks about this phenomenon in human relationships. After a few months in my department's headship, I can see quite clearly how Rolheiser's argument applies to the relationship between a manager and the people for whom he works. We can all probably see how it applies to our relationships with friends, family, children, spouses, and significant others. I have to work over the long term to build relationships through contact. "Quality time" is a fine idea, and important, but when it becomes a substitute for sufficient quantity over sufficient time, it becomes a meaningless slogan.

But I think this applies to how we develop our skills. Just as in relationships, routine contact over time matters. In this case, absence may make the heart grow fonder, but it doesn't make the heart stronger. The cliche that better captures reality is "out of sight, out of mind".

A lot of techie students aren't comfortable with the sentiment I'm expressing here, but consider this quote from Rolheiser's article:

What's really important will be what's growing under the surface, namely, a bond and an intimacy that's based upon a familiarity that can only develop and sustain itself by regular contact, by actually sharing life on a day-to-day basis.

It may be sappy, but that's pretty much how I have always felt about the programming languages and topics and research problems that I mastered -- and most enjoyed, too.

Posted by Eugene Wallingford | Permalink | Categories: Managing and Leading, Running, Teaching and Learning

January 15, 2006 11:15 AM

2005 Running in Review

Our weather this winter has been a collection of extremes. The first couple of weeks of December dumped nearly 20" of snow on us. And it was cold. The next three weeks were 100% cloudy -- as gray and downhearted as it could be. Now, the last couple of weeks have been unseasonably warm, and we've seen the sun almost every day for the last week or so.

The result was that I spent a lot of time inside on the track during December but lately have been back outdoors enjoying an un-January on the roads. This morning, I took in a nice 12-miler, my second Sunday 12-miler in row after five or six weeks of shorter long runs.

After one hour, my mind said, ah, this is a great January run. After one hour and five minutes, my legs said, yeah, but didn't you run eight fast miles on Friday? I finished off the run with no thought of speed, just basking in a bright sun.

Last year, I summarized my 2004 running when I broke 1900 miles on the second to last outing of the year. I finished the year at 1907 miles, up from 1281.8 miles in 2003. That blog entry suggested that I would probably not be able to increase my mileage by even 300 miles in 2005.

My running log backs me up, but... In 2005, I ran 2137.7 miles. Almost 100 miles of this increase came over the first three months of the year, when I ran consistently in the mid- to upper-30 mile per week range. After that, the increase in mileage seems to have been spread pretty evenly.

My shoe locker bears the evidence of all these miles, too. I went through four pairs of shoes, and have two active pairs in use right now. My wife is beginning to wonder what I plan to do with all these shoes...

The year was good for my times, too. I PRed in the 5K twice, first in June (20:50), and again in December (20:44). I also lowered my best time in the half-marathon to 1:34. My 2005 marathon didn't go as well as I had hoped, but I did improve on my debut marathon time.

More miles. Faster times. Plenty of enjoyment. A good year.

I do not yet feel really strong and powerful on the road yet, and my weekly track times are still a bit slower than I've grown accustomed to. But I am getting the itch to run longer miles again, and the the prospect of beginning to train for a marathon again sounds palatable. Where shall I run this fall? Twin Cities, for personal vindication? New York, for a "big event"? Another Chicago, still my gold standard for marathons? Perhaps Des Moines again, for a flat fast course that might buoy my spirits?

Posted by Eugene Wallingford | Permalink | Categories: Running

December 12, 2005 5:52 PM

An Unexpected Personal Best in the 5K

2005 Snow Shuffle 5K

The end of my semester has been busier than usual, which has made it difficult for me to set aside time to read, write, or rest much. So I was happy to have the luxury of an hour on Saturday to run the 2005 Snow Shuffle 5K. This is the 5th annual Snow Shuffle, which brings the local racing season to a close with a relatively relaxed run and plenty of doughnuts and hot chocolate.

Back in November, I wrote:

Now I am getting excited about running the Snow Shuffle 5K on December 10. It's tough to PR races in the cold of December, and there is always the chance of snow or ice or fierce wind. So I won't plan for anything other than running as fast as the conditions allow. But the thought of racing, however short, sounds good again.

In the intervening few weeks, I had not felt all that fast, either on the road or the track, so I had decided to make this a fun run. I even ran laps on Wednesday, three days before the race, as a way to reduce any temptation to expect anything out of the race.

The super cold weather of last week passed, but in its place we received several inches more snow, for a total of 13" or more on the ground. So race day saw temperatures in the teens Fahrenheit and plenty of slush and ice on the course. My expectations were lowered even further.

But I felt good. My early pace was faster than my usual fast runs, and I finished the first mile in 6:31 -- my second fastest 5K mile ever, after the first mile of my June race. I slowed a bit in the second mile, to 6:42, but with a little push I was able to maintain this pace... and finally, with about a half mile to go, I caught a guy who had been running just ahead of me for over a mile. He cheered me on and, though I didn't have the legs to accelerate, I held on.

My official time was 20:46, with a course time of 20:44 -- a PR by over five seconds. I was a happy guy.

Maybe it helps train in the winter weather of Iowa after all.

Even more amazing to me than my 2nd place in the 40-49 age group is that I finished in the top ten overall, out of 150+ finishers. I'm not sure I have ever finished as high as 9th in a race that had more than nine people in it!

This race buoys my spirits a bit, both for running and for the end of our academic term. I have much that I would like to write about the last few weeks, and now I can see the finish line of the semester, at which I will be able to indulge in a little reading and writing.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 06, 2005 4:19 PM

You Might Be a Runner If...

You might be a runner if...

  1. ... you get back from your morning run to find that the temperature has risen to 12 degrees.


    Below zero.

  2. ... you make plans to go to your office to do some work that will take the rest of the day, so you schedule your daily run for just before you go in.

    At 4 o'clock.


    And it is cold. (Go to #1.)

With apologies to Jeff Foxworthy. (Though my colleagues in the office are more likely to offer me a sign, courtesy of Bill Engvall.)

Posted by Eugene Wallingford | Permalink | Categories: Running

December 03, 2005 6:52 PM

A First Run in Portland

For many, many years, my hometown of Indianapolis, Indiana, was the largest city in the United States not located on a navigable waterway. (Phoenix has that distinction now, and some other cities in the Sun Belt have probably passed Indianapolis by now, too.) My family didn't travel much when I was growing up, so I have relatively exposure to life on the water. This accounts for some of my enjoyment of water when I run at conferences. Running in Vancouver is still among my favorites.

I'm in Portland today for the OOPSLA 2006 fall planning meeting. This is my first trip to Portland, and naturally the first thing I did this morning was to hit the road for a pre-dawn run. 5:00 AM here is 7:00 AM on my body's clock, so that was easier than it sounds.

Portland is defined in large part by its water source, the Willamette River, which divides the town northeast and southwest. With just one day in town, I kept my route simple, running from my hotel on the northeast side of the river to a 3-mile loop up and down a riverwalk in the downtown area. It was a nice mix of scenic riverwalk and the sort of gritty area that I seem to experience in water towns.

I had a couple of fun new experiences this morning...

  • drawbridges

    I've seen drawbridges before, and even driven over a cool little manual drawbridge on Cape Code. But this may have been the first time I've run over one -- and I ran over two. The first was an auto bridge of the traditional sort:

    traditional drawbridge

    But imagine my surprise when I began my second lap across the river, where the pedestrian walk parallels a railroad track, and ran into a closed gate that had not been there on my first pass... and the bridge was just gone! Well, it wasn't gone so much as 30 feet in the air:

    new sort of drawbridge

    I was so caught up in marveling at this feat of technology that I didn't notice how cool I became as I waited for the bridge to come back down. Standing still in 35-degree rainy weather during a run can be that way...

  • Warning!

    It didn't rain while I ran, but it had rained through the night. That, and the Pacific Northwest's reputation for rain, rain, rain, made one warning sign I encountered all the more humorous:

    Warning!    Sewage    Avoid contact with river after rain

    Hasn't it always just rained in Portland?

I enjoyed my morning run so much that I may skip the conference committee dinner this evening and try a different route... More on the conference itself tomorrow.

Posted by Eugene Wallingford | Permalink | Categories: Running

November 08, 2005 6:54 PM

Getting Back to the Usual

I haven't written about running for a while. Some of my friends were getting worried... Had my TC Marathon experience soured me? Not at all. But I haven't been training for a race, or running with any particular purpose in mind, so there hasn't been much to say. I've just been running. The first few weeks after any marathon are filled with the body recovering, so some days feel great and others feel just OK. That pretty much sums up my weeks since Twin Cities.

While in San Diego for OOPSLA, I wasn't able to do any fancy-dancy running, as the friend who was going to be my running guide was sick. (Get better, Kris!) So I took advantage of our location just south of Fashion Valley Shopping Center to jog up to Friars Road and use it as my main artery. One day, I ran to the campus of University of San Diego; a couple of other times, I ran to Jack Murphy Stadium, and once I ran out past Sea World and over the beachfront bridge that spans the San Diego River. Friars Road worked about as well as any major urban street could for morning runs. For the week, I put in well over 30 miles; not bad for such a busy conference week... (There is hidden advantage of attending conferences on the west coast -- I just keep rising on Iowa time!)

I've now done a couple of 12-milers and 14-miler, so my distance is doing fine. My long speed is coming back slowly, and I've comfortably managed a couple of long routes at 8.5 minutes/mile pace.

This morning was my finest fast run yet. I ran one of my standard short routes, 5.5 miles, with the intention of getting done and getting to my office earlier to grade and prep class. And get done fast I did -- in 40:52, more than 15 seconds faster than I've ever run this route. My legs were a bit sore this morning, but it was the kind of soreness that I look forward to!

Now I am getting excited about running the Snow Shuffle 5K on December 10. It's tough to PR races in the cold of December, and there is always the chance of snow or ice or fierce wind. So I won't plan for anything other than running as fast as the conditions allow. But the thought of racing, however short, sounds good again.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 11, 2005 8:12 AM

Alive Again

Finally, nine days later, I finally felt like a runner again this morning. My legs felt strong, my lungs felt strong, and I was able to pick up my pace and hold it strong for 40+ minutes. Now my legs tingle in that way they always do after a good workout -- not sore, just there.

I am alive again!

Posted by Eugene Wallingford | Permalink | Categories: Running

October 02, 2005 10:19 PM

Marathon Signage

Marathoners often adorn themselves with signs. Some are pinned on shirts and shorts, others are written on clothes, and still other are written directly on their bodies. Some just give the runners' names, so that members of the crowd can call out personalized encouragement. Others list team names or other affiliations, as a way of acknowledging why they run. Still others broadcast messages of inspiration, for their own benefit and the benefit of others around them.

I wasn't entirely coherent for much of my Twin Cities Marathon, but a couple of inspirational message caught my eye.

Best inspirational violation of "Once and Only One":

I may not have a good time,
but I will have a good time.

Emphasize 'time' in the first sentence, and 'have' in the second.

I know that this quote is trite, but I appreciate the Power of Positive Thinking exhibited by this middle-aged woman. I hope she two good times and, if not, at least the latter.

Best inspirational use of punctuation:

Heart attack.


Heart attack,

Marvelous. The survivor in that shirt ran strong early, like me, and faded late, like me. I hope he finished, and felt strong doing so. In any case, training for a marathon demonstrates that he wants the tale of his life to feature a comma, not a period. Bravo.

I did not have a good time for me, and all in all I can't say that I had a good time. But in the future I hope to tell this story with a comma. I owe that to people who persevere in the face of what could be much more significant periods.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 02, 2005 9:48 PM

Not a Great Race by Me

Like the week that came before, my Twin Cities Marathon did not go as planned.

For a while, it went as well as I could have hoped. I ran with then 3:30 pace team from the beginning, and I felt rested and strong. At about 8 miles, things felt tougher, but I stayed on pace. We were running slightly sub-8:00 miles in anticipation of several uphill miles in the last eight. And our pace was incredibly even. We had banked about 80 seconds by the 4-mile split, and we then ran mile after mile at an 8:00 pace. At the 15-mile marker, I felt good.

But I don't think I was. I was struggling. By 18 miles, I was thinking positively about the rest of the race, but I think my body was near its end.

Still, at the 20-mile marker, I was nearly on target -- 2:40 and few seconds. But that marker effectively ended my race and began my attempt to survive the remaining distance. I was out of gas.

I'll save you the full story and leave you with this: I needed to walk 2, 3, or (at least once) 4 minutes at a time. I consumed a lot of fluid. My thighs cramped -- the first time I've ever cramped in a race. When running, I slowed to a crawl.

Finally, at about 24.2 miles, I finished my last stint walking. I really wanted to finish on the move so I jogged, ever so slowly to the 26-mile marker, at which point I enough to accelerate to a 9:10 pace for the last .2 miles.

My official time was around 3:57, though my chip time will be closer to 3:55. (I haven't seen race results on-line yet.)

Within a few minutes of crossing the finish line, I was ill. I don't often seek out medical attention, but I knew I needed to this time. After an exam on the green, the EMT crew sent me to the medical tent for some real treatment. I spent nearly an hour there, because I wasn't getting any better. They finally discharged me, but even then I wasn't much better. So much so that I decided not to risk the drive back to Cedar Falls tonight. I went back to my hotel for plenty of fluids, some rest, a big meal, and more rest. Tomorrow, I'll give it a go.

The diagnosis: dehydration. I thought I drank more than enough during the race, but I probably hadn't drunk or eaten enough during my week ill leading up to the race. I've never been dehydrated before or felt that bad after any physical activity in my life. And I don't want to ever again.

Marathoners often say "Respect the distance." Before this race, a marathoner friend told me, "Anything can happen in the last six miles." This race reminded me that anything can happen in the last six miles of a marathon and that I must respect the distance. Given my situation heading into this race, I should have set out more conservatively, even though I felt good early. Respect the distance.

I can say this. The Twin Cities Marathon is a great race. The course is as beautiful as advertised. The organizing team creates a great environment for the runners. The crowds offered great support from the first mile to the last. And the people in the trenches, the race volunteers, more than live up to the reputation most have of folks from the Midwest: friendly and out-of-their-way helpful.

I may have to run this marathon again some day, so that I can enjoy the route and people more from beginning to end. But I don't want to think about another marathon yet for a while.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 30, 2005 5:16 PM

Marathon On-Deck

My third marathon is a little over 36 hours away. As I have come to expect from this big, complicated world, my last week before the race did not go as planned.

I did my last last 10-mile run last Sunday. I did the middle four to six miles at marathon goal pace (8:00 miles) with some slower miles to start and finish.

That part was just as I had planned.

Somewhere along the route, though, I took a pit stop and came into contact with some poison ivy. You may recall that I came down with an extreme case of poison ivy last year, which cost me nine days of training. Well, after poison ivy exposure, the body remains highly sensitized for up to several years, and inadvertent contact this year led to another bad case -- one week to the day before my race.

This case hasn't been as bad as last year, but that's not much comfort. Almost no case could be that bad. This case is bad enough to have kept me from running all week long and has kept me in various stages of itchiness and pain throughout. It peaked on Wednesday but has been so in recovery.

Now, a marathon runner usually trims his mileage back severely in the week before a race, but 0 miles is extreme. With no running, I haven't had much appetite and so haven't carbo-loaded very well.

The good news is that I'm getting better, and at a rate fast enough that I hope to be able to run my race. At this point, I hope only to get better enough that I can run it, regardless of my fitness or ability to achieve my big goals. I realize now that I have been looking forward to the marathon for its own sake, as a pleasurable challenge. It's good to know that I have a purer motive than to PR or achieve a particular time.

If I get to run, I will be well-rested. But will I be rusty? A little out of condition? I don't know. I am prepared to adjust my goals so that I can enjoy the run, so if I find that I'm rusty, I'll just run as I can.

Then again, maybe the rest is just what I needed, and I'll be able to shake off the rust and pursue my goal of a 3:30 finish. A small part of me still hopes... It's good to know that I also have some drive to excel.

The forecast calls for an overnight low on Sunday morning of 63 degrees Fahrenheit, on it sway to 81 degrees. That is warm for a marathon! Many folks will enjoy their runs less at those temps, but I don't mind running on warm days. This will be the opposite of last year, when the race started in the mid-30s and only reached 50 or by race end.

Every year seems to bring new conditions. Whether it's weather or illness, that makes for different challenges.

I won't be the only interesting fellow in the race. This marathon doubles as the US national marathon championship, so several elite American runners, such as 2004 Olympian Dan Browne, will be on the course. And I just learned that the Governor of Minnesota and the First Lady will run, too. (Both have complete TCM in the past.)

If you find yourself on-line Sunday and feel the urge to know just where old Eugene finished, check out the race results on-line.

Wish me luck!

Posted by Eugene Wallingford | Permalink | Categories: Running

September 12, 2005 7:39 PM

The Taper Begins

I'm feeling deja vu all over again, only two weeks ahead of schedule. Last September 27, I blogged about the end of my major training phase for the Des Moines Marathon, my second marathon. I ran Des Moines in 3:45, which was an 18-minute improvement over my inaugural marathon in Chicago.

Today I can write a corresponding entry for my third, the Twin Cities Marathon, which takes place on October 2. If you've been following the story up to now, you know that I've run a 24.8-miler, two 22-milers, and a 20-miler. I've mostly been very happy with my times and how I've felt after my long training runs. I've also had some good speed work-outs, though they haven't always ended as I had hoped.

Yesterday, I did my second 20-miler of the season. Unfortunately, I have been sick for several days, which made this my least satisfying long run in terms of absolute performance all year. To be honest, I probably shouldn't have run at all, should have just rested and found a way to get a few extra miles in over this week. But I have high hopes for a healthy and effective taper over the next three weeks, and I did not want to start out my taper in the hole.

I suppose that, in context, I should be happy with my performance yesterday. I was weak, depleted, tired; but I gutted it out for 2:57:00 and even threw in a 7:48 mile near the end. But that left me even weaker,more depleted, and more tired. All I could do the rest of the day was lie back and watch 35-year-old Andre Agassi gut out three hard sets against world No. 1 Roger Federer in the U.S. Open tennis championship, before falling to time and the relentless, all-purpose game of a great champion. Watching Agassi's concentration and shot-making after having played 3 consecutive 5-set matches, at an age when most professional tennis players have long since hung up their rackets, was inspiring. I hope that I can summon a resolve like his in those last miles of my marathon, as a I approach downtown St. Paul.

I feel a little better today and hope to do an easy 5 miles tomorrow morning. If all goes well, I'll do one last long speed work-out this week and a shorter speed work-out next week. But, as I said last year, my main goal at this point in training is to enjoy my runs, let my body recover from the pounding it's taken the last few weeks (225+ miles over four weeks), and break in a new pair of shoes for the race. The week before the race will consist of just a few short, easy runs, with a couple of miles at marathon goal pace thrown in to preserve muscle memory.

Wish me luck.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 31, 2005 11:11 AM

Goal Pace at a Distance

Just a quick training update, only because I am even more surprised and pleased than I was after my last long run.

I am planning to close my long-distance training with the traditional 20-miler three weeks before race day. My goal for much of this season has been to try to run this 20-miler at my marathon goal pace -- 8:00 min/mile -- or close.

On Sunday, I did a 22.2-mile long run, five weeks before the marathon. The final time: 2:55:53! That's a minute and a half sub-goal pace.

Oh, and I managed negative splits on my clocked miles: 8:27, 8:09. 7:57, 7:40, 7:30, 7:10. That last was Mile 20!

I am pretty sure that I could have finished a full marathon in 3:30 on Sunday. This run came at the end of a 60-mile week, and a 122-mile fortnight.

Other than a longer than usual nap on Monday, and some sore quads Monday and Tuesday, my body showed no ill effects from the training run. I even played volleyball on Sunday evening.

At this point, I am as confident as I can be about my speed and endurance heading into the marathon. I just need to maintain my fitness level, perhaps improving the combination of speed and endurance a bit in my last few track workouts. My real focus now is on a good taper (rest!) and the right diet in the week before the race.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 23, 2005 4:40 PM

40 KM

I did my longest long run of the season on Sunday: four times around a 10 km loop in the local state park, for a rough total of 24.8 miles. This run came at the end of my longest training week, too, 61 miles. It was, I believe, my longest week ever.

Once again, I was pretty happy with the results. I knew that I needed to pace myself in order to complete this run, so I planned to begin gently. But, as slow as it seemed at the time, I must have felt better than I expected. My four "lap" times were 51:36, 51:01, 50:38, and 48:38. Negative splits! Even better, the first three were faster than all but the fastest split time for my recent 18-miler, over the same course.

I broke each lap into two parts that are roughly 5K each. Near the end of each of these parts, I clocked a single mile in order to gauge my pace. The eight miles, in order, were 8:36, 8:30, 8:33, 8:23, 8:27, 8:08, 7:40, and 7:27. Yes, I ran the 24th mile in 7:27.

Total time: 3:21:53. Color me pleased!

Later in the day, I went back to compare my time on this route with the same training runs for my previous two marathons. My log reminded me that I was unable to do this route last year, due to flooding from heavy rains in the preceding week or two. But back in 2002, I ran this route on September 21, as part of my then-longest (by far) week ever of 51 miles. I didn't run negative splits that year, though my fourth lap was my second fastest. The run took me 3:59:38. My improvement in two years was about 38 minutes.

Notice, too, how late my longest long run came in 2003. My 2004 24-miler came on the same weekend, September 19. By hitting 24 miles a month earlier this year, I have the luxury of being able to do two more long training runs: a 22-miler next weekend and a 20-miler exactly three weeks before the race date. I can focus these runs on pace management and speed, without having to worry about endurance.

At this point, I am guardedly optimistic that I can make a solid improvement on my marathon time from last year. The guardedness reflects the intrusion of reality... I took restroom breaks during the training run that I will hope not to take during the race. Those rests, however brief, improve running time at the cost of actual time. Plus, there is a big difference between early 8 ½-minute miles and early 8-minute miles. But I will also rest my body in the weeks leading up to the race, and I will do more to manage my diet and sleep. We'll see.

Doing this run reminds me just a bit about how grueling the marathon is. As happy as I was with my time, my quadriceps are still feeling it two days later. Over the course of the run, I lost eight pounds. (Don't worry; most of that comes back with a moderate-sized meal later in the day.) And I needed a nap on Monday, though I didn't get to take one. :-)

Back to the track tomorrow morning...

Posted by Eugene Wallingford | Permalink | Categories: Running

August 22, 2005 7:55 PM

Negative Splits in Learning

When I was a in school, I was a pretty good student. The first class I ever remember not "getting it" immediately was Assembler 2, at the beginning of my sophomore year in college. The feeling was a bit scary.

Our first assembler course was the "traditional" assembler course, in which we learned basic computer organization and the magic of MOV, JNE, and LD commands. But this was the early 1980s, and my school required a second course in this area. In the second quarter, we did more assembly language programming, but we also learned JCL and how to control an IBM 360/370 at a fine level of granularity from the moment execution began. Our card decks and key punches and assembly language programming became a bit more complicated.

For whatever reason, the different levels of abstraction in the 360/370, when combined with the massive gulf between the problems we were programming and assembly language, left my head spinning. I didn't get it. Good student that I was, I kept plugging away, doing what we were taught in class, getting mostly correct answers -- but not really understanding why. And when I did understand something, it did not feel natural. and scored well. But I was worried, because I didn't get it. I didn't feel like I was in control.

Then one morning, everything changed. There was no great epiphany, no flash of light. I was simply standing in the shower when I realized, ever so naturally, that it all made sense. I walked to class, and all was again right with the world.

Since that time, I have had this sort of experience a few more times. The learning process moves slowly for a while, with the effort exerted exceeding the gains in understanding. Then, there seems to be an acceleration in understanding, like compound interest on the effort exerted earlier in the process. Once I got used to the idea that this would happen, it wasn't so threatening to me, and I was able to proceed with relative confidence deep into new ideas that I wasn't getting -- yet. But there is always a nagging thought at the back of my mind that this is it -- I've finally reached a point I won't be able to get.

Runners have an idea that bears some resemblance to this upside-down learning process, called negative splits. The simplest form of negative splits is when the first half of a run is slower than the second half, but the idea generalizes to any number of splits. For the mathematically inclined among you, think of a monotonically decreasing sequence of split times.

In running, negative splits are generally considered a good thing. They are wise as a training strategy, as they ensure that you do not use up all of your energy too soon. Plus, they cause you to run faster at the end of the workout, which trains your body in the feeling of working hard when it is tired. They are often a wise racing strategy, too, for many of the same reasons. Many racing greats have set records running negative splits.

As I have learned over time, there is a corresponding danger -- going too slow in the beginning. If I am trying to get better, I need to be careful not to create negative splits by virtue of not working hard enough early on. In a race, this can waste the opportunity to reach a goal. But for endurance training, it's hard to go too wrong with negative splits. The goal is to do the miles, and negative splits maximizes the chance of completing the miles successfully.

Recently I wrote about my happiness with some long distance workouts. You will now notice that both my 20-miler and my 22-miler were characterized by negative splits. Much of my happiness comes not so much from running fast as from running faster as those long runs progressed -- in some cases, with eight or more miles increasingly faster than the previous.

I've come to realize that negative splits in learning, of the sort I experienced in that second assembler course, are also often a good thing. Learning requires our minds to change, and that change often takes time. Changing habits, practices, and expectations is hard, because our minds are well-suited to remembering and employing patterns of thought as a strength. Some of us even have a harder time than others changing mental habits. I am one of those people.

Runners use negative splits as an explicit strategy, but for the learner change often forces us to accept negative splits. They are simply cognitive and psychological reality. Coming to accept that, and treating negative splits as the way we sometimes must learn, can free us from a lot of fear and uncertainty. And surrendering that fear and uncertainty can help us learn even better.

Students should keep this in mind. (And remember, we are all students.) Teachers should keep this in mind, too. We need to take negative splits into account for many or all of our students, especially with the most challenging or abstract material. This is one of the elements of teaching that calls for a little cheerleading, a little reassurance to students that they should hang in there with the tough stuff, with the promise of it all coming together sometime soon.

Leaders of every sort -- even department heads -- need to keep this principle in mind, too. Introducing change to an organization has all the hallmarks of trying to learn new habits and practices. People feel fear and uncertainty. This is complicated by the fact that sometimes the change must come to personal interactions, which carry a lot of extra psychological baggage with them. Negative splits may be a wise strategy for the leader, introducing small, easier-to-master changes first and only accelerating when people gain confidence and realize their own strength.

That old assembler course... I had one of my favorite CS professors ever in that course, one who taught me so much about systems, software, and professionalism. I still have the textbook on my bookshelf, too: System 360/370: Job Control Language and the Access Methods by Reino Hannula. Early in that semester, the name "Hannula" raised fear in students' hearts, was veritable poison to the ears. When we all got it, it became a beloved totem of our collective experience. And the greatest lesson we learned in the course probably wasn't IBM JCL -- as cool as it was -- but the idea of negative splits.

Posted by Eugene Wallingford | Permalink | Categories: Managing and Leading, Running, Teaching and Learning

August 08, 2005 7:34 PM

Miles Fast and Long

My latest training cycle for the Twin Cities Marathon has gone quite well. I train in three-week cycles, consisting of two weeks of increase in mileage and effort followed by a "consolidation" week. The consolidation week gives my body a chance to recover from the new stresses, to rest a bit, and to prepare for new stresses to come. In my last running post, I wrote of the second hard week of my first cycle, in which I ran a fast 18-miler, and the slow, tired recovery week that followed.

I'm now into the third week of my second training cycle. In each of the first two weeks, I ran solid 7x1200m work-outs. But the long runs are what I feel best about.

On July 31, I ran a 20-miler in Muncie, Indiana, the home of my alma mater. The Delaware Greenways rails-to-trails bike trail offered an ideal route: flat, scenic, and toilet facilities. I ran ten miles from downtown Muncie to the neighboring town of Gaston and back. The first ten miles felt good, varying between 8:40 min/mile and 8:20 min/mile. When I reached Gaston, I felt strong enough to pick up the pace. What followed was, for me, an amazing eight-mile stretch:

8:07 - 8:07 - 8:03 - 8:02 -
7:59 - 7:53 - 7:25 - 7:34

Yes, I ran my 17th mile in 7:25. And I followed it with a 7:34 18th mile. At the end of the run, my feelings were a mixture of elation and amazement. Never before could I have done such a training run.

Yesterday, I ran a 22-miler here at home. The route consisted of my 18.6-mile route from a few weeks back, plus 1.8 miles to and from the trail loop. After running repeats only two days before, I wasn't ready to start fast, and I expected to go relatively slow and easy for the whole run -- just doing the miles to build stamina.

And did I start slow. My first 8+-miles were at an over-9:00 min/mile pace. But then I ran the middle 10K at an 8:43 min/mile pace, including an 8:15 mile near the end. Feeing stronger than expected, I decided to try to pick it up for the third 10K loop through the park. The result was a 7:54 min/mile pace, including miles of 7:46 (17th mile) and 7:22 (19th mile)! On the return home, I finished faster than I had started, for a grand total of under 3 hours, 9 minutes. Again, my feelings were a mixture of elation and amazement. Didn't I run a super-fast 20-miler last weekend? And a 7x1200m workout on Friday? Where is this strength coming from.

Practice. Many miles over many, many months. Except for the tragically gifted, it doesn't happen any other way.

I know, of course, that in the larger world of running my times are nothing special. But they are special to me.

Today, I took a well-deserved nap at the office, in the midst of beginning my new job duties. Being better is more fun, but it can also be tiring!

This week, I recover with fewer miles (49, instead of 54.5 and 55.5, respectively) and slower times. But this week should prepare me for my longest training run -- 24 miles -- and the two 60-mile weeks that make up my third training cycle. After that, one last 20-miler before I taper home to race day.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 27, 2005 12:52 PM

Getting Better

Well, the Gringo did it again. Lance Armstrong finished his professional racing with a dominating yet relaxed performance in the 2005 Tour de France. (Our friend Santiago finished 51st. A disastrous Stage 14 did him in.)

If you watched any of the interviews Lance gave over the last few days of the tour, you could see that he really enjoys racing, competing, and winning. He relished the challenge that the T-Mobile and CSC teams threw at him in the mountains. He would have enjoyed the raw challenge of scaling the Alps and Pyrenees had he ridden alone, but having teams of riders try to take his yellow jersey made them all the sweeter. And his wonderful closing time trial to cement his edge placed a perfect exclamation on his tour career.

Watching Lance these last few years has reminded me that being good is fun, as the folks at Creating Passionate Users recently wrote:

My running coach told me a few years ago, "It's just more fun when you're faster." I wasn't sure what he meant; I was just trying to get back in shape and do a decent 10K. But once I started training with much better runners, and began pushing myself and keeping my splits and timing my speed work... it was more fun. And it wasn't like I had any illusion of being competitive. Being better is just more fun.

You mean running repeats is fun? Yes.

No, not every moment. A few weeks ago, I had one of those days that, in isolation. wasn't as much fun as I would have liked. Getting back to form in my 1200m interval training has been hard this season. The week after the not-so-fun day, I managed to do 6x1200m, but the last one repeat was slower than I had wanted it to be. Last week, I just wasn't motivated to run fast, so I skipped the work-out in favor of a steadier 9.5-mile run.

My fatigue last week was a surprise until I sat down to compute my paces for my runs the previous week. In addition to the 6x1200m work-out on Wednesday and a 10-mile tempo run on Friday, I had done an 18.5-miler on Sunday. No big deal... until I see that I ran it in 2:25:37 -- an average pace of 8:01 min/mile. That is my marathon goal pace for October!

Being better is more fun. I have no illusions that I am fast, or that I will challenge even for an age group prize in the Twin Cities. This is about challenging myself, and getting better. It feels good.

This morning, I hit the track at 5:15 AM, earlier than usual so that I could get a bit more done at the office before a four-day weekend mini-vacation. It was cool, unusual after a month of 90-degree highs and 70-degree lows, but perfect for a work-out. As the sun rose, I knew that today was finally a good day of repeats. As I started my fifth, I knew that I would reach the days goal. In the end, 7x1200m, all in target time or better, with the seventh repeat being the fastest of all.

Being better is more fun. But without the local moments of less fun a few weeks ago, I wouldn't have been better today -- either in setting goals or achieving them. As I quoted Merlin Mann a few days ago in the context of knowing ourselves as well as we know our tools:

Making improvements means change and often pain along the way. It's hard to get better, and good tools like these can definitely ease the journey. I guess I'm proposing you try to understand yourself at least as well as the widget you're hoping will turn things around.

One interview moment with Lance Armstrong stuck with me last weekend. When asked what he would miss most about racing, he said that he would never again be in as good a shape as he is today -- and he would miss that most of all. Not the yellow jerseys or the wins or the accolades and adulation that come with them, but the simple state of being in the best possible shape. I know the feeling. Of course, I have an advantage on Lance -- I didn't start working hard at my running until a little more than two years ago, when I started training for my first marathon. That means my body, while old, is still relatively fresh. So is my mind. I hope to keep getting better for a few more years...

Posted by Eugene Wallingford | Permalink | Categories: Running, Teaching and Learning

July 25, 2005 8:58 AM

Playing With Our Toys

Merlin Mann says this about running and running shoes:

My concern is that there's a big difference between buying new running shoes and actually hitting the road every morning. Big difference. One is really fun and relaxing while the other requires a lot of hard work, diligence, and sacrifice.

He is so right. Have you bought running shoes lately? Ten or so manufacturers. Ten or so models per manufacturer. Prices into the $100s for an increasing number of models. Going for a run each morning is much easier.

Oh wait, that's not what he meant. So I disagree with his analogy after all. But I do agree with the real point of his essay, which is better expressed in this analogy:

a claw hammer

You can buy a successively more costly and high-quality series of claw hammers until you've reached the top of the line, but until you learn how to use them skillfully, you're going to keep making ugly bird houses.

We can easily be so caught up in the excitement and fun of tinkering with new tools that we never getting any real work done. This separates the contenders from the pretenders in every area of life. It is true of productivity tool contenders and pretenders. It is true of runners and non-runners. It is also true of programmers and the folks who would rather tinker with their bash set-up and their .emacs file than actually cut code.

We all know people like this. Heck, most of us are people like this, at least some of the time in some parts of their lives. Starting -- even finishing -- is much easier than living in Ordinary Time. But that's where life is.

Some people run as a means to an end -- to lose weight, to "get in shape", to meet cute girls. For them, running may remain onerous forever, because it's just a chore aimed at reaching an external goal. Some people run for the sake of running. For them, getting up most mornings, pulling on the shoes, and hitting the road are a joy, not a chore. They are a part of the good life.

The same is true of productivity tool contenders and pretenders. When playing with the latest tool is more fun than getting things done, the mind and heart are in the wrong place. The same is true of programmers and tinkerers. When playing with Linux and .vimrc are more fun than writing programs, being a programmer isn't really for you.

When we find ourselves drifting into tinkerdom, sometimes all we need is to work on our habits. We really do want to write code, run five miles, get things done. But the distractions of the world have become a part of our routine and need to be put aside. Changing habits is hard...

New Balance 766 shoes, blue and gold trim

As for the running versus running shoes analogy, I really do find choosing running shoes more stressful than it could be. Going into a shoe store or browsing through a running shoe catalog is like going to K-Mart and stepping into the shampoo aisle -- instant product overload. New Balance, Asics, Saucony, Nike, Brooks, Mizuno, .... Stability shoes, motion control shoes, racing flats, .... I just want a pair of shoes! I do my best to avoid all the indecision by sticking with the shoe that has served me well in the past, New Balance 766. Even still, that model number seems to change every year or two... (When my local shoe store stopped carrying 766s, I bought a couple of pairs of Asics GT-2099s that worked out pretty well.)

Now that I have the habit, running is relatively easy, fun and relaxing. I miss it on my off-day.

Merlin closes with sound advice for choosing tools and changing habits:

Making improvements means change and often pain along the way. It's hard to get better, and good tools like these can definitely ease the journey. I guess I'm proposing you try to understand yourself at least as well as the widget you're hoping will turn things around.

When you know yourself better, you will know your motivation better. That makes choices easier, sometimes obvious.

I am reminded of a conversation from October 2003, when I ran my first marathon. Several of us her in town were going to run Chicago as a team, which was more symbolic than practical -- we were all at different levels and speeds, so we'd run the race itself solo. One of our group had dropped out of training a month earlier. At a party, three of us were chatting about our training when the guy who had dropped out said that, while he had wanted to do the marathon, he just didn't have time to train -- work and family and outside activities and nagging little injuries had pulled him away.

After this guy left the conversation, the third guy -- our most experienced runner -- turned to me and said, "If you want to run..." He paused almost imperceptibly. "You run."

I took great comfort in that. I was still a relative beginner, and that statement stayed in my mind for all those days when I might wonder what I wanted to do. Maybe I should go buy a new pair of running shoes... No, let's just hit the road.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

July 06, 2005 8:23 PM

Too Many Variables

Do you remember this old Billy Crystal/Christopher Guest skit from Saturday Night Live? The guys were janitors. When they ran into one another, they would take turns describing to one another accidents that had happened to them. The first incidents in the exchange were the sort that could happen to a working guy, such as "You know when you're working in the shop and you hit your thumb with a hammer?" But as the skit progresses, the accidents become incidents of strange, self-inflicted pain that could never happen accidentally, such as "You know when stick your inside your car door and just slam the door right on your head? That really hurts." The unforgettable catch phrase of the skit was this classic: "I *hate* when that happens."

Interval training on a track can be like that. I imagine most non-runners listening to me tell tales of my track work-outs and thinking of me the way we all thought of Guest and Crystal at the end of their skits. "I *hate* when that happens." Well, duh. It's all quite funny, unless your the guy with his head crushed by the car door.

When I run intervals, or repeats, I am trying to work my body at the edge of its capabilities. As a result, there is little margin for error or unexpectedness. When things don't go as well as expected, the workout can feel something like slamming a car door on my head -- voluntarily, at 5:30 or 6:00 in the morning. I hate when that happens.

Doing my 6x1200m workout this morning, I re-learned what all good experimental scientists know: too many free variables make it difficult to know why what happened happened when what happened isn't what you expected.

What happened? I came up way short today. I was trying to run each repeat in 4:52 or less. The first was tough but right on mark. The second slowed down by 3 seconds and felt bad enough that I decided to jog lightly through the third. When I ran the fourth, I slowed down another 2 seconds and realized that I was going to be able to meet my goal for the day. In place of the fifth and sixth repeats, I chose to alternate faster laps with slower ones, in hopes of not turning the day into just another slow jog.

But why did this happen? Here are some possibilities:

  • I tried to do too many repeats.
  • I tried to run each repeat too fast.
  • I ran too short a recovery period in between repeats.
  • I wasn't ready to run my repeats outdoors on the 400m track just yet.
  • My repeats were too long because I was not running the inside lane of the track.
  • I am still feeling lingering effects of my recent half marathon, two hard workouts last week too soon after the half, and a moderately fast 14-miler on Sunday?

Running outside itself wasn't likely the problem, though the nature of the feedback is different. Attempting six repeats wasn't likely the problem, either, because the problem wasn't with Repeat 6; it was Repeat 3, or even #2.

I think the most likely explanation is the combination of three variables. First, my legs are still tired from last week. Second, I tried running 400m recoveries instead of the more ordinary 600m (50% of the repeat distance). I will try to remedy those next week.

Finally, and perhaps most important, I now realize that I was running repeats longer than 1200m. Last week's 4:53 repeats were right at my target distance, because I was running to lane markers on the indoor track. This morning, I was running three laps in Lane 4 of the 400m outdoor track. Four laps in Lane 4 is actually about 1.05 miles, so my three laps work out as a little over 1266m. That extra 66m is enormous when it comes to running at my limits. To do my target 1200m pace, I should have allowed myself an extra 16 seconds on each repeat!

The idea that my laps were longer than planned didn't occur to me at all until I was out on the track, slogging through laps, asking myself, "But why?" I *hate* when that happens.

I should have taken the feedback from my body at face value and adapted my pace. Whatever the reason, I was not going to be able to do 1:37 laps, so I should have eased off to a pace that I could sustain. Instead, I despaired a bit and gave up on a couple of the repeats. Note to self: Feedback is good; use it to get better.

Multiply these three factors together, and you get a workout that does not go as planned.

Then again, in retrospect, maybe my times weren't so bad after all. After crunching the numbers, I think that I can safely conclude that I was simply trying to run too fast.

Unfortunately, things don't usually turn out so tidily. Ordinarily, I wouldn't know for certain the reason that the workout that did not go as planned, because I put too many variables into play. What I don't want to do is use my good fortune this week as rationalization for making the same mistake next week.

My excuse, er, reason, for changing so many things at once is that training time is precious. From last Sunday, I had exactly 13 weeks until the Twin Cities Marathon. If I hope to meet my race goals, I need to make steady and rapid progress in my workouts.

That is just the sort of reason that we software developers use to convince ourselves and our clients that we need to shove more and more features into the next release. It's the same excuse that teachers tell themselves and their students when they try to squeeze just one more topic into the already crowded syllabus of a course. The results are similar, too. The developers and instructors often fail to achieve their goals; software clients and students are left holding the bag. And then in the end, we are left asking ourselves why.

Of course, this morning's experience also taught me another lesson: do my homework better when it comes to computing repeat distances on the track. "Do your homework" is, of course, also a fine piece of advice for software developers, software clients, teachers, and students alike. :-)

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

July 04, 2005 8:03 PM

The Lesson the Gringo Taught Me

The beginning of the Tour de France on Saturday reminded me of this diary entry by Santiago Botero, a Colombian rider in cycling's Tour de France, the most grueling of athletic events.

There I am all alone with my bike. I know of only two riders ahead of me as I near the end of the second climb on what most riders consider the third worst mountain stage in the Tour. I say 'most riders' because I do not fear mountains. After all, our country is nothing but mountains. I train year-round in the mountains. I am the national champion from a country that is nothing but mountains. I trail only my teammate, Fernando Escartin, and a Swiss rider. Pantani, one of my rival climbers, and the Gringo Armstrong are in the Peleton about five minutes behind me. I am climbing on such a steep portion of the mountain that if I were to stop pedaling, I will fall backward. Even for a world class climber, this is a painful and slow process. I am in my upright position pedaling at a steady pace, willing myself to finish this climb so I can conserve my energy for the final climb of the day. The Kelme team leader radios to me that the Gringo has left the Peleton by himself and that they can no longer see him.

I recall thinking 'the Gringo cannot catch me by himself'. A short while later, I hear the gears on another bicycle. Within seconds, the Gringo is next to me - riding in the seated position, smiling at me. He was only next to me for a few seconds and he said nothing - he only smiled and then proceeded up the mountain as if he were pedaling downhill. For the next several minutes, I could only think of one thing - his smile. His smile told me everything. I kept thinking that surely he is in as much agony as me, perhaps he was standing and struggling up the mountain as I was and he only sat down to pass me and discourage me. He has to be playing games with me.

Not possible. The truth is that his smile said everything that his lips did not. His smile said to me, 'I was training while you were sleeping, Santiago'. It also said, 'I won this tour four months ago, while you were deciding what bike frame to use in the Tour. I trained harder than you did, Santiago. I don't know if I am better than you, but I have outworked you and right now, you cannot do anything about it. Enjoy your ride, Santiago. See you in Paris.'

Obviously, the Gringo did not state any of this. But his smile did dispel a bad rumor among the riders on the tour. The rumor that surfaced as we began the Prologue several days ago told us that the Gringo had gotten soft. His wife had given birth to his first child and he had won the most difficult race in the world - he had no desire to race, to win. I imagine that his smile turned to laughter once he was far enough not to embarrass me. The Gringo has class, but he heard the rumors - he will probably laugh all the way to Paris. He is a great champion and I must train harder. I am not content to be a great climber, I want to be the best.

I learned much from the Gringo in the mountains. I will never forget the helpless feeling I had yesterday. If I ever become an international champion, I will always remember the lesson the Gringo taught me.

Botero wrote that entry back in 2000, the year after Armstrong won his first Tour. He went on to win that Tour as well, on his way to a record six in a row. This year, Armstrong rides his last Tour de France, seeking to retire as a champion yet again. By all accounts, he still feels the fire to win. More important, he felt the fire to prepare to win all winter and spring.

Botero finished sixth in the 2000 Tour. He is racing this year's Tour, too, and his recent win at Romandie signals that he may have what it takes to challenge again for the title in France.

Botero learned what separates himself from Armstrong from the master himself. The will to prepare to win comes from within, and sometimes it's hard to appreciate until you see its power first hand. Even then, achieving excellence exacts a heavy commitment. How much do you want it?

Posted by Eugene Wallingford | Permalink | Categories: Running, Teaching and Learning

June 27, 2005 2:11 PM

Another Half Marathon in the Books

Sturgis Falls Half Marathon logo

No race ever seems to go quite the way I expect it to. This year's Sturgis Falls Half Marathon was no different.

I went to sleep Saturday night to rain. Little did I know that the rain would continue all night, or that a major thunderstorm would roll in at about 2:00 PM and continue for five hours. With the race scheduled to start at 7:00 AM, runners and organizers alike were left to wait and wonder when the race would start.

The thunderstorm ended right around 7:00 AM, though the rain continued for another 50 minutes or so. But once the storm had past, the organizers and course volunteers did a marvelous job setting things up for a 7:45 AM start.

Like the race details, my run did not go as planned. Last year, I ran a personal-best 1:40, which over 13.1 miles averages to 7:37 minutes per mile. This year, I was aiming for a 7:00 minute pace. With the rain delay, I didn't do a very good job of warming up. But the biggest effect of the rain was, well, the water. With water on the course, we all have to run differently. I also made the tactical decision to wear an older pair of shoes, because I didn't want to ruin a new relatively new pair with an hour and a half of pounding through puddles. (That's the surest way to end the useful life of running shoes: run for a long time in them the soaking wet.)

You can see the effects of my legs tiring in my mile splits. Here are the first eight:

6:56 - 6:49 - 7:02 - 7:02 -
7:03 - 7:08 - 7:08 - 7:13

I'm slowing down a bit... I noticed that my last three miles had fallen off pace, so I tried to pick up the pace to get back on target. Here are my next four miles:

7:10 - 7:40 - 7:22 - 7:40

Ouch -- and I'm not talking about my legs. "Picking up the pace" only got me a 7:10, and then I really slowed down. I hadn't anticipated running any miles as slow as 7:40, and I became a little dispirited when I realized that I didn't have what I needed for the day.

With 1.1 miles left, I gave it all I had left and ran a 7:07 mile. With the crowd cheering all finishers on in the home stretch I sprinted the last 1/10 of a mile in 0:40.

The final result: 1:34:11, which was six minutes faster than my old PR.

Once the race was over, my dispiritedness turned to cheerfulness. My time was good, given the conditions. The last half of the run was difficult, but I stuck with it and finished strong. Life is good. Just because it doesn't always follow the script in my mind doesn't make it otherwise.

I can still do a better job of preparing for my long races during the last week. I didn't eat properly this time; too much "stressful" food in the last 72 hours. Worse, I ran too fast for a few miles each on Tuesday, Wednesday, and Thursday, which I know is a recipe for tired legs. I didn't think I was running too fast at the time, but next time I'll know to run slower, or at least not so far.

The other place I can improve is to slow down at the beginning of the race. Somehow, I let myself go way too fast for the first two miles, especially the second one. I'd be better off running the first two miles in 7:03 and saving some energy and leg strength for later in the race. Now that I'm able to run faster, it's even more important to pace myself early.

While visiting with friends and cheering other runners on after the race, one of my friends gave me one last bit of good race news -- I finished 5th in the 40-44 age group! This is my first medal in a race longer than 5K. Check me out in the unofficial race results. I'm 32nd among the men, which is a big improvement over even last year, when I came in 73rd.

Progress past, progress future. A good place to be: today.

Posted by Eugene Wallingford | Permalink | Categories: Running

June 15, 2005 5:16 PM

Pace and Expectations

This isn't (just) a running post, though it starts with a running story.

This morning, I did my last speed workout before the half marathon I will run in 11 days. I have not yet started back to real interval training since my marathon last October, Instead, I have been focusing on sustaining speed over longer distances. I would ordinarily have run 8 miles today at something just under 7:00/mile. With the half-marathon looming, I decided to test myself a bit and try to run 10 miles at 7:00/mile. In an ideal world, I would run that pace in my race. For my workout, I'd be slowing down a bit to target race pace but sustaining the pace for a longer stretch. It's good to train the body and mind to recognize and hold your target pace, so I was hoping to run all of my miles this morning in about the same time, between 6:50-6:54/mile.

Going from 8 miles to 10 at a challenging pace may not seem like all that much, but it is a challenge. Usually, I finish my 8-mile workout pretty well spent, often having to work hard over the last three miles to keep the pace up. Where would I get the extra energy, both physical and mental, to go as fast for longer?

In some ways, the physical part is the easier of the two. You can usually do more physically than you think. When a person tells me, "I can't even jog a block", I usually think they could. It might well hurt a bit, but they could do it. There muscles are more powerful than they realize. Since getting into better shape, I have often been surprised that my body could do more than I expected of it.

The mental energy is another story. Even if my body can handle 10 miles at race pace, it will beginning feeling the stress much sooner. I knew that my body would be talking back to me this morning -- "Why? Why?" -- by the six or seventh mile. Being able to keep the faith and keep the pace becomes a mental challenge, answering the calls of fatigue and pain with energy found elsewhere.

How did I manage? I think that the key was having a fixed and realistic target for the run. 10 miles isn't that much more than 8, so I know that my body can do it. Knowing that I only had to put together two more miles allowed my mind to adjust to the small increment before the run began. When I started to feel the workout in its seventh mile, my mind was ready... "Just a couple of more miles. Focus on the pace of individual laps. It's only two miles beyond what you usually do." Then, when I reached the 8-mile mark and my body mostly felt like stopping, I could say to myself, "Just a couple of more miles. You just did two tough ones. Will these really be any harder?" They weren't. My body could do it.

I don't actually conduct this internal dialogue all that much as I run, only in the moments when my focus shifts away from the lap I'm running to the seemingly vast number of laps that remain. I can't run those laps yet; all I have is this one.

I think it's a game of expectations. With reasonable expectations, the mind can help you do more than otherwise would be comfortable. An important part of reasonableness is duration--this only works well in the short term. Had I tried to run a full 13 miles this morning at race pace, my mind may have failed me. My body is still recovering from recent 5K and a 12-mile weekend run, and so it would begin to complain with increasing fervor as the miles added up. And I doubt that my spirit would have been strong enough to win the battle, because doing a 13 miles at race pace isn't reasonable for this day. But with a reasonable short-term expectation, I was able to handle crunch time with that short-term horizon in mind.

I've written about sustainable pace before, including about what happens when I try to go faster than a sustainable pace for too long and how software developers might train for speed. (I've even referenced sustainable pace in the context of a Bill Murray film.) But the idea has been on mind again lately in a different way. The pace that is sustainable is closely tied to one's expectations about its endurance. This mental expectations game applies in running, but it also applies in other human endeavors, including software development.

A recent thread on the XP mailing list considered the proposition that "crunch mode" doesn't work. There didn't seem to be many folks defending the side that crunch mode can work. That's because most people were thinking about sustainable pace over the long run, which is what agile folks tend to mean when they talk about pace. They do so for good reason, because the danger in software development has usually been for companies to try to overdo it, to push developers too far and too fast, with the result being a decrease in software quality and ultimately the burn-out of the developers.

At least one person, though, argued that crunch mode can work. The gist of SirGilligan's claim is that a software team can go faster and still do quality work -- but only for a well-defined short term. He even used a running metaphor in defining such a crunch time: We are not 1/3 along the way, we are in the straight-a-way and heading for the finish line. How can developers win the expectations game in such a scenario? The end is clearly in sight:

Pending features are well defined. Order of feature implementation is defined. Team is excited for the chance to deliver. It is the team's choice and idea to crunch, not some manager's idea. We enter crunch mode! After we deliver everyone gets the following Friday and Monday off for a four-day weekend!

That sounds an awful lot like what a runner does when she races a marathon or half-marathon faster than she thinks otherwise possible. The pending goal is well-defined. The runner is excited to deliver. She chooses to push faster. And, after the race, you take a few days off for rest. A party, of course, is always in order!

I think the great ones are able to manage their expectations in a way that allows them to do more than usual for a short while. The good news for the rest of us is that we can learn to do the same, which gives us the ability to succeed in a wider variety of circumstances. Just always keep in mind: You can't keep going faster indefinitely.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

June 11, 2005 12:22 PM

A New Personal Best in the 5K

My first race of the season was a success. Last night I ran the Loop the Lakes 5K here in Cedar Falls. The conditions weren't ideal at the start -- 80+ degrees Fahrenheit and muggy, with a few raindrops -- but I knew that I had a chance to improve on my personal 5K best. The last few months I've been doing speed workouts of 8 miles at 6:40-7:00 minutes per mile, and my best 5K time was 21:26. But with the weather and the hills of an outdoor run, I knew that things might not go as smoothly as a track workout.

Any worries were quickly erased. I ran Mile 1 in 6:28, my fastest recorded mile ever. Then Mile 2 passed in 6:34, and I was well on my way to a PR.

Then came Mile 3. The raindrops had turned to a heavier sprinkle, but worse was the stiff head wind that greeted us at the beginning of the mile, next to the big lake. After 2/3 of a mile or so, we turned out of the wind... right onto a steep incline to finish the race. Everyone slowed down a bit, and I completed the mile in 7:08. After a sprint over the last 1/10 of a mile, I reached the finish line in 20:50. A fine time, which I am most happy with!

I even won a prize. I finished 2nd in the 40-49 age group. The guy who came in first beat me by only 4 seconds, and we nad run within reach of each other the whole race. I've won two age group prizes before, but they were flukes -- my slower times were good enough only because my age group didn't have many participants. This prize was legitimate; the times we ran in 40-49 were in reasonable range of what the other age group winners ran.

Now comes the rest of the season. In two weeks, I run in the Sturgis Falls Half-Marathon, and then comes a three-month push to prepare for the Twin Cities Marathon.

My speed goals now turn to long, sustained pace. To run a 3:30-hour marathon, I need to run an 8:00 minute/mile pace. I'd like my next few months of training to turn the pace I now find comfortable for 8 miles into a comfortable but somewhat slower 25 miles. The mindset for this sort of training is much different for me. I can't push myself to my limits too soon, but instead must start slower with the idea that this will become my limit in a few miles -- and then keep at it when it gets hard. That's the challenge in training for a marathon, at least for me. I'm beyond the point where long miles bother me much, but setting the right pace for the long runs is still tough.

But for a day or so I'll enjoy my new PR.

Posted by Eugene Wallingford | Permalink | Categories: Running

May 31, 2005 1:56 PM

A Weekend in the Caves

The family inside Mammoth Cave

My family's weekend at the caves was a great success, both for family and relaxation. This is a completely personal entry, so feel free to move on if you are looking professional content...

South-central Kentucky in the US is one of the most cavernous terrains in the world. My wife, my two daughters, my mom, and four nieces and nephews met there for a long weekend of vacation. In our two days in the area, we visited three different cave systems, all within five miles of one another.

First up was the magnet that drew us to the area, Mammoth Cave National Park. At over 350 miles, Mammoth Cave is the longest known cave system in the world. On our first day together, we took the relatively easy hour-long "discovery tour" of Mammoth Cave, followed by a few hours of hiking the national park trails. The discovery tour introduces visitors to the history and geology of the cave via a gentle walk.

Next time, I'll sign up for the longer, more strenuous Frozen Niagara tour. If you are a real spelunker, or want to be one, you can take specific tours that explore deeper and less accessible portions of the cave.

Leaving Hidden River Cave

On our second day, we visited two other caves in the area. Hidden River Cave has the second-largest cave opening in the world -- only Carlsbad Caverns' is larger. It is also one of only two river cave tours in the US. The river is small but steady, with crystal water. You enter the cave by descending through an old sinkhole located right on Main Street in the town of Horse Cave. I was amazed to find this cave site while running through town that morning -- it is stunning. The picture at the right shows the view as members of my tour were leaving the cave; I couldn't do justice to the mouth of the cave from above.

The cave site also hosts a museum that is worth an hour or so. On both the cave tour and museum visit, you learn that Hidden River Cave is one of the great environmental reclamation successes of the last half century. This cave was a popular tourist attraction from 1916 through 1943, when it had to close due to pollution. The residents of the region had been disposing of their garbage and sewage by throwing it all into the many sinkholes that pockmark the area. These sinkholes feed the underwater river that flows through the Hidden River Cave. By the mid-1980s, the cave was such a polluted mess that the town above nearly died. The clean-up has been remarkable. Through education, folks stopped the dumping, and Mother Nature repaired herself. The river itself is clean now, and the cave is clean and pleasant.

We ended our caving with a visit to Diamond Caverns, which is the best "formation cave" in the area. A formation cave is distinguished by the quantity and quality of its stalactites and stalagmites, the features most folks think of when they think of caves. Diamond Caverns' formations have spectacular shapes and colors. On this tour, I learned about The Cave Wars waged in the first decades of the 1900s by the owners of the commercial cave tours in the Mammoth Cave region. The owners tried to increase their own profits by damaging the other caves. As the most beautiful cave in the region, Diamond Caverns was a frequent target, and it suffered extensive damage to some of its chambers. Even still, it was worth a visit.

For the runners among you: I did manage to work in a short long run on Sunday, an 11-mile out-and-back jaunt between our hotel in Cave City and the eastern edge of Horse Cave. The two towns are connected by old U.S. 31, a two-lane highway. The motorists I encountered were not malicious, but they didn't seem to think they should change their behavior to account for a runner in their midst. Fortunately, I ran 5:30-7:00 AM, and the road had sidewalks and grassy shoulders.

This was the first break I'd taken from work since at least March, and my mind enjoyed it. Now, it's back to work -- with slack built into my schedule for summer.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

May 22, 2005 12:15 PM

Sixteen Miles

Why do I get the strongest urge to blog about running on Sunday mornings? Maybe because the long runs give me plenty of time to think. But I think it's more -- long runs take more out of me, but they also lead to an endorphin rush that I don't get on shorter runs.

I ran sixteen miles this morning. It was my longest run since the Des Moines Marathon. Since then, I have run a few 14-milers and a couple of half-marathon training runs, but nothing more.

Sixteen miles has always been a crossover point for me, where medium-sized runs become long runs. My first 16-miler two years was my least enjoyable run ever. I ran it under conditions that were a recipe for a bad experience, but that never changed how I felt about the distance. My next 16-miler came last spring, the morning after torrential rains had flooded most of the Cedar Valley. I got six miles from home to find myself running through knee-deep water coursing over the trail. Great fun, I know, though the run turned out better than that first.

Since then, I have had better experiences. A couple of weeksa ago I got the itch to go long again, so I built myself toward a sixteen today. It was a glorious morning. The sun was up soon before 6:00 AM, and the temperature in the low 50s was perfect to start. I felt good early, hit the usual lull that happens at ten miles or so, and finished strong over the last two miles.

The strangest part of the run came early, in the third mile, when I ran through a ten-second period where the outside temperature must have been 20 degrees warmer than the rest of the run. I was in the middle of a wooded area on a trail, not near any large source of heat, so I don't know what caused it. As quickly as it came, it left; my glasses unfogged, and the run went back to normal.

I sometimes wonder if I ought to be working so hard on Sunday. But I don't think of it as work, really, and I run early enough in the day that I can go to morning Mass. Besides, if there is a better way for me to revel in the glory of Creation, I don't know what it would be.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 24, 2005 3:54 PM

A Great Day for a Run

I've been negligent in posting the next installment of my Running on the Road series, to detail my experiences and recommendations for running in Tucson and Carefree, Arizona. That won't likely come for a couple of weeks, until my semester has ended. By then, I hope to have an entry on running in San Diego, too. But I can report a great spring running here at home. In January, I reported my plan for the winter: get faster. I kept up weekly track work-outs through February, when conference trips interrupted. When I returned home and got back into my routine, gorgeous spring weather and rising temperatures made outdoor running so attractive that I hit the trails inside of the track, though I still pushed myself hard a couple of days a week.

The last two weeks have seen a culmination of the winter running. Two weeks ago, I ran three times that were either personal bests or personal #2s on their respective routes. I ended the week with a hilly and credible 14-miler. This week, I recovered from all that exertion with easy runs until Friday, when I got back on the track for the first time in a couple of months. The results pleased me:

  • Friday: my fastest 8-mile track workout ever, shaving more than 2 minutes off my old PR
  • Sunday: my fastest time ever on a beautiful 20-K trail route through George Wyth State Park. I haven't checked my running log yet, but I'm guessing that I cut 5 minutes off my best time for this route. And that includes a race time running the Sturgis Falls Half-Marathon last June!

I guess I have to rate my winter "maintenance mileage" a success. I enjoyed my runs and got a little faster in the process. Now comes a season in which I can enjoy the outdoors even more, boost my mileage, and start thinking about running 8-minute miles or better for 15, 18, 20, ..., 26.2 miles. The race goal: run the Twin Cities Marathon on October 2. The pace goal: 3:30. That's aggressive, given that I ran 3:45 in my second marathon last October. But an aggressive goal supported by good preparation and tempered by a healthy dose of realism is okay. Let's just see how I feel in September.

Posted by Eugene Wallingford | Permalink | Categories: Running

April 04, 2005 3:58 PM

Agile Methods in the Dining Room

I've written about using agile software principles in my running. Now Brian Marick applies the idea of Big Visible Charts as a motivational technique for losing a few pounds.

The notion that practices from agile software development work outside of software should not surprise us too much. Agile practices emphasize individuals and interactions, doing things rather than talking about things, collaboration and communication, and openness to change. They reflect patterns of organization and interaction that are much bigger than the software world. (This reminds me of an idea that was hot a few years ago: design patterns occur in the real world, too.)

Oh, and good luck, Brian! I know the feeling. Two years ago, I had broken the 190-pound barrier and, despite recreational jogging, felt soft and out of shape. By exercising more and eating less (okay, exercising a lot more and eating a lot less), I returned to the healthier and happier 160-pound range. I'll keep an eye on your big visible chart.

Posted by Eugene Wallingford | Permalink | Categories: General, Patterns, Running, Software Development

March 23, 2005 4:37 PM

Hill Climbing and Dead Ends

A couple of things that occurred to me while running through the low mountain desert north of Carefree, Arizona, this morning:

A dead end isn't always a bad thing.

Sometimes, running to the dead end has its own benefits, even if only the joy of the running.

Running up big hills is worth the effort.

Of course, running up hills makes you stronger. It makes you stronger when running on level ground. It makes little hills seem like not so much. It teaches you that running up other big hills is doable.

Perhaps as important, though, is this: The view from the top of the hill can be stunning. You see the world differently up there.

Sometimes, you run to get from Point A to Point B, to accomplish a goal. Sometimes, you should just run.

These are true about computer programming, too, and many other things.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

February 28, 2005 10:59 AM

Running on the Road: St. Louis, Missouri

(The fourth stop in the Running on the Road series. The first three were Allerton Park, Illinois, Muncie, Indiana, and Vancouver, British Columbia.)

While in St. Louis for SIGCSE, I got out for three runs. Most of my stay was at a Motel-6 just off I-270 on the northside of town, at Dunn Road. That means I can't give advice that will help to most of you, who are unlikely to have my family reasons for staying there -- or my idiosyncratic desire for taking economy travel to an extreme on some trips. Let's just say that I was pleased to find an attractive middle-class neighborhood just behind the motel, one with lots of trees and curvy roads. It was perfect for a couple of easy 5-milers before my drive downtown to the conference.

I spent my last night at the conference hotel, the Renaissance Grand, which is on the corner of 8th and Washington. This hotel is a half mile or so from St. Louis's signature landmark, the Gateway Arch. After a 5-minute jog toward the arch I reached Gateway Park. The arch sits in the middle of the park, with paved walks curving out from the arch to the corners of the park.

I ran the perimeter of the park, except the southwest corner, which I replaced with a path into the arch and one of those arcing roads out to the corner. The result was a loop of a bit more than 1.5 miles. I ran that loop seven times which, combined with the jogs to and from the hotel, gave me something in the neighborhood of a 12-mile jog.

Oh, and I must tell you that this is no ordinary loop. The Gateway Arch sits atop a ridge, and the park borders the Mississippi River. The result is a significant change in altitude. The westside of the park has three massive sets of concrete stairs. My loop included the northernmost staircase, which I ran up on each pass. (See the box on the map below.)

The climb took me 30-35 seconds and ended with rubbery legs. The rest of the loop had a few small rises and a couple of declines down to the waterfront road. This made for a good hill workout!

The next time I stay in St. Louis, I hope to have some opportunities for a few different runs. St. Louis has some other park running routes available as you get away from the crowded old city district. Downtown, I'd like to run Chestnut and Market Streets, which frame a long stretch of greenery leading west from Gateway Park out toward St. Louis University. Along that route I'll also pass near the Savvis Center -- perfect for a visit to Arch Madness some year. (Go, Panthers!)

Posted by Eugene Wallingford | Permalink | Categories: Running

February 03, 2005 4:01 PM

Small Differences Can Have a Large Effect

The temperature here has risen to unseasonably high levels the last week or so. That means that I am able to run outdoors again. And I love it -- fresh air and open space are where the great running is. I live where the American Midwest meets its Great Plains, so by most folks' standard the land here is flat. But I live near a river, and we do have gently rising and falling terrain, which makes every run more interesting and more challenging than any track can offer.

One thing I notice whenever I am able to break away from track running is an increase in the variability of my pace. When I run on a short indoor track, I usually find myself running relatively steady lap times, drawn into a rhythm by the short, repetitive environment.

Another thing I notice is that tend to run faster than I'd like, even on days I'd rather take it easy. One good result of this is that I get faster, but the negative side effect is that I end up more tired all week long. That affects the other parts of my life, like my teaching and my time with my family.

You might think that a couple of seconds per lap -- say, 52 second laps instead of 54 -- wouldn't make that much difference. That's less than 4%, right? But a small difference in effort can have a big effect of the body. That small difference compounds at every lap, much like interest in a bank account. What feels comfortable in the moment can be less so far after the fact, when that compounded difference makes itself apparent. There can value be in such stresses ("the only way to get faster is to run faster"), but there are also risks: a depressed immune system, increased susceptibility to injury, and the tiredness I mentioned earlier.

Most runners learn early to respect small changes and to use them wisely. They learn to mix relatively easy runs and even off days in with their harder runs as a way to protect the body from overuse. Folks who train for a marathon are usually told never to increase their weekly mileage by more than 10% in a given week, and to drop back every second or third week in order to let the body adjust to endurance stress.

At first, the 10% Rule seems like an inordinate restriction. "At this rate, it will take me forever to get ready for the marathon!" Well, not forever, but it will take a while. Most people don't have any real choice, though. The human body isn't tuned to accepting huge changes in endurance very quickly.

But their is hope, in the bank account analogy above. You may have heard of the Rule of 72, an old heuristic from accounting that tells us roughly how quickly a balance can double. If a bank account draws 5% interest a year, then the balance will double in roughly 72/5 ~~ 14 years. At 10% interest, it will double in about seven. This is only a heuristic, but the estimates are pretty close to the real numbers.

Applied to our running, the Rule of 72 reminds us that if we increase our mileage 10% a week, then we can double our mileage in only seven weeks! Throw in a couple of adjustment weeks, and still we can double in 10 weeks or less. And that's at a safe rate of increase that will feel comfortable to most people and protect their bodies from undue risks at the same time. Think about it: Even if you can only jog three miles at a time right now, you could be ready to finish a marathon in roughly 30 weeks! (Most training plans for beginners can get you there faster, so this is really just an upper bound...)

What does this all have to do with software development? Well, I have been thinking about how to encourage students, especially those in my first-year course, to adopt new habits, such as test-driven design and refactoring. I had hoped that, by introducing these ideas early in their curriculum, they wouldn't be too set in their ways yet, with old habits too deeply ingrained yet. But even as second-semester programmers, many of them seem deeply wedded to how they program now. Of course, programmers and students are people, too, so they bring with them cognitive habits from other courses and other subjects, and these habits interact with new habits we'd like them to learn. (Think deeply about the problem. Write the entire program from scratch. Type it in. Compile it. Run it. Submit it. Repeat.)

How can I help them adopt new practices? The XP mailing list discusses this problem all the time, with occasional new ideas and frequent reminders that people don't change easily. Keith Ray recently posted a short essay with links to some experience reports on incremental versus wholesale adoption of XP. I've been focusing on incremental change for the most part, due to the limits of my control over students' motivation and behavior.

The 10% Rule is an incremental strategy. The Rule of 72 shows that such small changes can add up to large effects quickly.

If students spends 10 minutes refactoring on the first day, and then add 10% each subsequent day, they could double their refactoring time in a week! Pretty soon, refactoring will feel natural, a part of the test-code-refactor rhythm, and they won't need to watch the clock any more.

I'm not sure how to use this approach with testing. So far, I've just started with small exercises and made them a bit larger as time passed, so that the number of tests needed has grown slowly. But I know that many still write their tests after they think they are done with the assignment. I shouldn't complain -- at least they have tests now, whereas before they had none. And the tests support refactoring. But I'd like to help them see the value in writing the tests sooner, even first.

Together, the 10% Rule and the Rule of 72 can result in big gains when the developer commits to a new practice in a disciplined way. Without commitment, change may well never happen. A runner who doesn't run enough miles, somehow increasing stamina and strength, isn't likely to make to the level of a marathon. That discipline is essential. The 10% Rule offers a safe and steady path forward, counting on the Rule of 72 to accumulate effects quicker than you might realize.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

January 14, 2005 9:15 AM

Sundown, You Better Take Care

Some days my run just seems hard. I was planning a fast eight-mile workout this morning, but after three miles I found myself slowing down. I did manage a couple more fast miles, my sixth and eighth, but I didn't feel fast.

Then I checked my watch. 55 minutes, 56 seconds. Wow. That's just what I had hoped for. Now I feel guilty for having felt slow.

Winter offers a different sort of running. I'm not training for any particular race, so running 35 miles a week or so for fun and to maintain fitness seems like the right thing to do. But this winter I've fallen into something of a plan: get faster. Between the ice we've had on the roads, a foot of snow on the trails, and this morning's -7 degrees outside, I've run on the indoor track more than usual the last few weeks. And I always run faster on the track. The result has been an increase in speed.

If I can get faster over 35 miles a week this winter, maybe I can stretch the speed out over the longer miles I'll do next spring and summer. As I mentioned earlier, I'd love to make 8:00 miles feel like a walk in the park. A "slow" eight miles in 56:00 is a good start.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 30, 2004 7:48 AM

One Last Milestone

I reached my last "round number" milestone of the year running this morning. The sixth mile of my track work-out was my 1900th mile of 2004. To celebrate, I burned it as fast as I could and ran the fastest mile of my life, 6:32. That number seems unreal to me... When I began training for my Chicago Marathon in the spring of 2003, I doubt I could run a mile under 8 minutes. Practice and persistence pay off. So does the good fortune of staying healthy.

I'm at 1902 miles now. Tomorrow is New Year's Eve, so I'll get one more run in for the year, an easy 5-miler outside. I don't remember how many miles I ran last year, but I think it was in the 1500-1600 range. Don't expect me to increase my mileage by the same amount in 2005. :-) I may well increase a bit, but I'd like to continue to get faster. If I could make 8:00 miles feel like a walk in the park, I will be able to reach my next goal for the marathon, circa October of next year: 3 hours, 30 minutes. Wish me luck!

Update: I checked my log for 2003. My mileage that year was 1281.8. I'd forgotten that I didn't run much the first three months of that year, due to weaker habits and a persistent cold. You can be certain that I won't run 2500 miles next year!

Posted by Eugene Wallingford | Permalink | Categories: Running

December 12, 2004 2:03 PM

A New PR in the 5K

I accomplished one short-term goal yesterday morning: I PRed my final race of the year, the Snow Shuffle 5K. My previous best had been a few seconds over 22 minutes, and I was aiming to break 21:42, a 7:00/mile pace. Despite being bundled up on a chilly day, I ran a 21:25. Hurray!

After my marathon last year, I found that this is a great time to go for a personal record in a shorter race. Marathon training helps you build up aerobic fitness and plenty of muscle, and that's a great base for anaerobic training. So, since the Des Moines Marathon, I've been working on my short speed. It paid off. The good news is, I think I can run faster... The weather and clothing certainly weren't ideal for racing, and I even ran the first mile too fast. So watch out for me next April -- I'm going to try to do myself one better!

This was my first race in the 40-49 age group (ack!), and my PR was good for only fifth place in the category. In my neighborhood, the 40-49s are fast. So I have plenty of goals to shoot for.

I went out this morning for an easy 12-miler, but a weather front is moving through the region right now and it threw some serious gusts of wind my way. The most remarkable one came seemingly out of nowhere at what must have been 40-45mph, caught me headlong in mid-stride, and nearly knocked me on my behind. I've never felt such a belt! The universe is reminding me to be humble, I guess. A good thing to be reminded of every now and then.

Posted by Eugene Wallingford | Permalink | Categories: Running

December 08, 2004 10:12 AM

You Can't Cram for Your Running Final

We are in the last week of classes here. For the last couple of weeks, I've noticed a group of students who have started working out in the mornings. If they are working out as a part of a lifestyle change, I applaud them! However, from the timing of the new workouts, I suspect that these folks are trying to get ready for an upcoming final exam in their physical fitness classes.

Folks, here's a small hint from someone who's been there: You can't cram for physical fitness. Your bodies don't work that way. Slow and steady win this race.

Our brains don't work that way, either, though in this season of cramming for final exams you wouldn't think that anyone knows so. Sadly, for many academic courses, it seems to work in the short-term. If a final exam emphasizes facts and definitions, then you may be able to study them all in a massive all-nighter and remember them long enough to get through the exam. But the best-case scenario is that you do well enough on the exam, only in a year or so to find that you have not mastered any of the ideas or skills from the course. For a CS professor, there are fewer things sadder than encountering a senior, about to graduate, who did well enough in all his courses but who can't seem to program or drive at a command line.

Learning, like training, is an enterprise best done over time. Slow and steady wins the race.

Posted by Eugene Wallingford | Permalink | Categories: Running, Teaching and Learning

December 07, 2004 6:24 AM

More on Software Speed Training

Last evening, I commented on the idea of speed training for software developers, raised in Erik Meade's blog. John Mitchell also commented on this idea. Check out what John has to say. I think he makes a useful distinction between pace and rhythm. You'll hear lots of folks these days talk about rhythm in software development; much of the value of test-driven development and refactoring lie in the productive rhythm they support. John points out that speed work isn't a good idea for developers, because that sort of stress doesn't work in the same way that physical stress works on the muscles. He leaves open the value of intensity in learning situations, more like speed play, which I think is where the idea of software fartleks can be most valuable.

Be sure to check out the comments to John's article, too. There, he and Erik hash out the differences between their positions. Seeing that comment thread make me again want to add comments to my blog again!

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

December 06, 2004 6:57 PM

Speed Training for Software Developers

In making analogies between software development and running, I've occasionally commented on sustainable pace, the notion from XP that teams should work at a pace they can sustain over time rather than at breakneck paces that lead to bad software and burn-out. In one entry, I discuss the value of continuous feedback in monitoring pace. In another, I describe what can happen when one doesn't maintain a sustainable pace, in the short tem and over the longer term.

Not unexpectedly, I'm not alone in this analogy. Erik Meade recently blogged on sustainable pace and business practice. I was initially drawn to his article by its title reference to increasing your sustainable pace via the fartlek. While I liked his use of the analogy to comment on standard business practice, I was surprised that he didn't delve deeper into the title's idea.

Fartlek is Swedish for "speed play" and refers to an unstructured way for increasing one's speed while running: occasionally speed up and run faster for a while, then slow down and recover. We can contrast this approach to more structured speed work-outs such as Yasso 800s, which specify speeds and durations for fast intervals and recoveries. In a fartlek, one simply has fun speeding up and slowing down. This works especially well when working out with a friend or friends, because partners can take turns choosing distances and speeds and rewards. In the case of both fartleks and structured interval training, though, the idea is the same: By running faster, you can train your body to run faster better.

Can this work for software development? Can we train ourselves to develop software faster better?

It is certainly the case that we can learn to work faster with practice when at the stage of internalizing knowledge. I encourage students to work on their speed in in-class exercises, as a way to prepare for the time constraints of exams. If you are in the habit of working leisurely on every programming task you face, then an exam of ten problems in seventy-five minutes can seem like a marathon. By practicing -- solving lots of problems, and trying to solve them quickly -- students can improve their speed. This works because the practice helps them to internalize facts and skills. You don't want forever to be in the position of having to look up in the Java documentation whether Vectors respond to length() or size().

I sometimes wonder whether working faster actually helps students get faster or not, but even if it doesn't I am certain that it helps them assess how well they've internalized basic facts and standard tasks.

But fartleks for a software development team? Again, working on speed may well help teams that are at the beginning of their learning curves: learning to pair program, learning to program test-first, learning to use JUnit, ... All benefit from lots of practice, and I do believe that trying to work efficiently, rather than lollygagging as if time were free, is a great way to internalize knowledge and practice. I see the results in the teams that make up my agile software development course this semester. The teams that worked with the intention of getting better, of attempting to master agile practices in good faith, became more skilled developers. The teams that treated project assignments as mostly a hurdle to surmount still struggle with tools and practices. But how much could speed work have helped them?

The bigger question in my mind involves mature development teams. Will occasional speed workouts, whether from deadline pressure on live jobs or on contrived exercises in the studio, help a team perform faster the next time they face time pressure? I'm unsure. I'd love to hear what you think.

If it does work, we agile developers have a not-so-secret advantage... Pair programming is like always training with a friend!

When a runner prefers to run alone rather than with others, she can still do a structured work-out (your stopwatch is your friend) or even run fartleks. Running alone leaves the whole motivational burden on the solo runner's shoulders, but the self-motivated can succeed. I have run nearly every training run the last two years alone, more out of circumstance than preference. (I run early in the morning and, at least when beginning, was unsuitable as a training partner for just about any runner I knew.) I can remember only two group runs: a 7-miler with two faster friends about two weeks before my first marathon last fall, and an 8-mile track workout the day before Thanksgiving two weeks ago. As for the latter, I *know* that I trained better and harder with a friend at my side, because I lacked the mental drive to go all out alone that morning.

Now I'm wondering about how pair programming might play this motivational role sometimes when writing software. But that blog entry will have to wait until another day.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

November 21, 2004 11:23 AM

The Psychology of Long Runs and Long Iterations

This morning I went out for a 12-mile run. That's my usual Sunday morning run when I'm not training for a marathon, part of my "maintenance mileage" year 'round. But before today I had run this far only once since running the Des Moines Marathon, plus I've been dragging a bit from running faster the last couple of weeks. So this morning I planned for a little LSD. That's long slow distance, not the psychotropic drug, though both can lead to out-of-body experiences.

Forty-eight minutes into the run, I felt a little discouraged. I still had a little over an hour to go! But then I thought, you run almost 48 minutes even on your shortest days; what's the big deal? The big deal was that that second thing: I still had a little over an hour to go. The psychology of a long run is much different than the psychology of a short run. That's what makes marathons so challenging.

Then I got to thinking about the psychology of long and short runs in software development. I wonder if the short iterations encouraged by agile methodologies help to buttress the morale of developers on those days and projects that leave them feeling down? I've certainly worked on traditional software projects where the thought of another six months before a release seemed quite daunting. Working from a state of relative uncertainty is no fun. On agile projects, we at least get to issue releases more frequently and incorporate feedback from the customer into the next iterations.

Sometimes, running requires endurance. If you want to run a marathon, then you had better get ready to run for 3, 4, or 5 hours. I suppose that big software projects require stamina, too. A year-long project will take a year whether done in many short releases or in one big one. But the closer horizon of short iterations can be comforting, even without considering the value of continuous feedback.

With my mind occupied thinking about software and psychology, pretty soon my run was over. I was tired, as expected, and a little stiff. But I felt good for having done 12. My next 45-minute iteration happens on Tuesday.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development

November 19, 2004 10:10 AM

Of Roosters and Running

From Art and Fear:

In talking about how hard artists work, I am reminded of the story about the man who asked a Chinese artist to draw a rooster for him and was told to come back in a month. When he returned, the artist drew a fabulous rooster in a few minutes. The man objected to paying a large sum of money for something that took so little time, whereupon the artist opened the door to the next room in which there were hundreds of drawings of roosters.

Sometimes folks, non-runners and runners alike, comment on how they can't run as far or as fast (hah!) as I do. There are days when I wish that I could open a door to let the person see a room full of runs like the one I had this morning: hard work, pushing at my limits, finishing with nothing left, but still short of the goal I've been working toward.

Folks who make this sort of comment almost always mean well, intending a compliment. Often, though, I think that the unstated implication is that they couldn't do what I do even if they tried, that runners have some innate ability that sets them apart from everyone else. Now, I don't doubt at all that some people have innate physical abilities that give them some advantage at running. The very best -- the guys who run 9.9s in the 100m, or 2:10 marathons -- almost certainly have gifts. But I am not a gifted runner, other than having the good fortune to not injure easily or get sick very often.

And let's not forget how hard those 9.9s sprinters and 2:10 marathoners have to work in order to reach and maintain their level of excellence.

Richard Gabriel often says that "talent determines only how fast you get good, not how good you get". Good poems, good art, and good runs are made by ordinary people. Art and Fear says this: "Even talent is rarely distinguishable, over the long run, from perseverance and lots of hard work."

That is good news for runners like me. Maybe, if I keep working, I'll reach my speed goal next week, or the week after that.

It's also good news for programmers like me.

Computer science students should take this idea to heart, especially when they are struggling. Just keep working at it. Write programs every day. Learn a new something every day. You'll get there.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development, Teaching and Learning

October 31, 2004 4:38 PM

Running on the Road: Vancouver, British Columbia

(The third stop in the Running on the Road series. The first two were Allerton Park, Illinois, and Muncie, Indiana.)

As we chatted before his address to the OOPSLA Educators Symposium last week, Alan Kay said "Canadians really know how to do big cities." He's certainly right about Vancouver. It is a great place for a conference.

Do you see the little sail-like structures in the middle of the picture at the right? The tall building just to their left is the Pan Pacific hotel, which is where I stayed on my last two visits to British Columbia. It's a luxury hotel, more expensive than my taste for paying but just right for my taste for enjoying life.

Now, look to green patch near the middle of the photo. That is Stanley Park, a gem in the crown of urban parks. Among its many charms is a 10km seaside trail for running and biking, along with numerous roads and paths that criss-cross the wooded acres. It's the best place to run in the so-called north mainland of Vancouver.

Stanley Park

The 10km seaside trail is a wonderful run, flat and scenic. You'll run by and under a couple of small lighthouses that alert the bays many vessels to steer clear of the peninsula. You'll run past a couple of commemorative statues and even a children's park.

Add in the 1.25-mile jog from the Pan Pacific area to make a nice 8.5 miler. In previous trips, I've thrown in a second loop to make a 15-miler. Run the trails up to Prospect Point, far and away the highest point in Vancouver, to add some challenging hillwork to your workout. Some of those trails seem nearly vertical... Mix in some minutes running on the interior streets and trails of the park to craft a variety of runs up to the distance of your choice.

On my most recent trip, I continued my recovery from the Des Moines Marathon with three of the simple 8.5-milers, in 72, 70, and 78 minutes, respectively. They were my longest runs since the race, and that middle one was my fastest, too.

False Creek

False Creek is an inlet from the bay to the west of Vancouver, separating the north mainland of the convention center and Pan Pacific Hotel from the south mainland of commerce and residence. There is a an 8km loop around False Creek from the Burrard Street Bridge on the west around the inlet and back. I ran south down Burrard Street, which terminates less than a block west of the Pan Pacific, about one mile to the Burrard Street Bridge, to connect with the shore trail around False Creek. That all-urban connection is just about a mile long, with a few small hills making it interesting.

The photo to the left shows you what early morning runs through the city look like. You can even see this panaorama from the southeast corner of the False Creek loop.

I didn't know how to get straight on the loop after crossing to the south side of the bridge, so I ended up running a little bit more than planned around a Molson brewery and through some seaside businesses. Eventually I found the paved seawalk and began my big lap.

As I wrote earlier, this coastline run is a mix of urban park, pretty modern buildings, and occasional industrial spaces. It's not as undisturbedly scenic as Stanley Park, but it gives you a more complete sense of what Vancouver is.

With my fumbling around at the beginning of the loop, I ended up with a nice 72-minute run -- right in line with my other runs this week.

In my three trips to Vancouver, I've never had a chance to venture beyond the north mainland. The mountain view to the right hint at some of the other sights and activities to be had in this beautiful city. In the future, I hope to take in a cruise on the bay, hike in the mountains, visit other parts of the region -- and run all over place, of course.

Posted by Eugene Wallingford | Permalink | Categories: Running

October 26, 2004 11:00 AM

The First Day of the Rest of OOPSLA

With the Educators' Symposium over, I now get to enjoy the rest of OOPSLA worry-free. The conference proper begins today, with some great speakers and panels on-tap. As is now usual, the Onward! track will get most of my attention between invited talks and networking.

Vancouver really is a nice conference city. The view to the right is one third of the panorama outside of my 15th floor hotel room. This morning I ran about eight miles, into the city to the south and then around False Creek, an inlet from the bay to our west.

I do like water. I'm not one of those folks who feels an indomitable urge to live on the sea, but I love to be near it. (Though after my run, I did come back and pop Son of a Son of a Sailor into the CD player...) The sounds of waves lapping against the shore line, birds flocking over head, and the gentle swoosh of a morning crew team out for a training run of their own certainly bring a sense of peace to a run.

That said, it's easy to forget that not everything about the coast is light and beauty. Port cities are, at their edges, industrial places: big steel ships and beyond-human scale concrete piers. Here in the heart of Vancouver things aren't so bad, with the coastline dominated by marinas and restaurants, but even still I ran through a couple of industrial areas that didn't look or smell all that wonderful. I'm glad when the real world occasionally reminds me not to surrender to my weakness for romance.

Well, off to Rick Rashid's conference keynote on the future of programming. Rick's not a programming languages guy, but he has written a little code... He developed the Mach operating system, which sits at the core of a number of operating sytem running on my laptop right now!

Posted by Eugene Wallingford | Permalink | Categories: General, Running

October 18, 2004 11:24 AM

Marathon Results On-Line

The results are on-line now at:


Check out 335th place. My official time was 3:45:15.

And I am even able to walk forward down stairs today...

Posted by Eugene Wallingford | Permalink | Categories: Running

October 17, 2004 3:23 PM

It's a Good Day to Run 26.2

A quick note from Des Moines. My second marathon is in the books. On this cold, cloudy morning, I joined 3300+ people for the Des Moines Marathon. It went well, with my time coming in right on target -- 3:45 -- though differently than I expected. After two of these, I think I now understand that nothing will ever go quite as planned. That is part of the charm of a a marathon -- but an even bigger element in its challenge.

Des Moines is a different kind of marathon than Chicago, where I ran my first. We had fewer 10% as many runners start this morning, and the crowd of onlookers was as much smaller. But I was surprised by how many people braved a cold, cold morning to cheer us on, play music, and offer snacks. I am indebted to the creative folks who passed out facial tissues along the course. The crowd may have been smaller, but their enthusiasm more than made up for their numbers.

The course was also much more scenic than Chicago. Des Moines doesn't have the history of Chicago, but it has several pretty parks and many pretty neighborhoods. Out of staters may not expect that -- or the hills! They definitely affected my run today.

I don't when the race results will be avilable on-line, but if they do you can check me out at race bib #1272. (The bibs didn't actually have our numbers -- they had our first names. This made it possible for friendly total strangers to call out "Looking good, Eugene!" throughout the race. I doubt I did, but it boosted my spirits.)

All in all, a well-organized race. I recommend it highly.

Oh, and remember the gonzo Grant Wood race poster? That's the image on our race medal!

Posted by Eugene Wallingford | Permalink | Categories: Running

October 15, 2004 4:37 PM

Off to the Des Moines Marathon

Well, the time is almost here. I leave tomorrow for the Des Moines Marathon. Officially, I've been training for this race since April 1 or so, but I never really stopped getting ready for my first marathon last October. You reach a point where there is nothing left to do. I increased my mileage and my pace during training this year. I've tapered the last three weeks, running only 13 miles so far this week. My eating has been out of sync the last few weeks, but I think that my body will be fueled well enough for the race. It's time to do it.

Tomorrow, I will hit the race expo, to pick up my race number and timing chip and to do a little window shopping. Then I'll spend the evening with a friend, former student Fred Zelhart, who has generously offered to put me up for the weekend. The race is 8:00 AM Sunday morning. The weather forecast is almost perfect -- mid-40 degrees to start the race, upper 50s to finish, partly sunny. That may sound cool, but it's perfect for a long run.

I'm excited. I think I can improve on my time at Chicago, but I'm respectful of what race day and the distance can bring. My first goal is to enjoy; my second is to improve on my debut performance. If everything goes perfectly, I could run anywhere from a great time to the same time as last October. I have a couple of goal times in mind but learned last year that sometimes you just have to run. So that's what I plan to do.

Oh, and if you want something with a little more attitude than my cautious forecast, check out this Grant Wood-inspired race poster. And we Midwesterners wonder why our coastal friends tease us sometimes...

Posted by Eugene Wallingford | Permalink | Categories: Running

October 11, 2004 12:12 PM

Running on the Road: Muncie, Indiana

The second stop in the Running on the Road series: Muncie, Indiana, the home of Ball State University. (The first stop was Allerton Park, Illinois.)

Ball State University is my alma mater, and I still have a place in my heart for the university and for Muncie, its town. Muncie is a typical small Midwestern city of about 80,000 people. It grew up with the industrial expansion of the US in the early and middle 1900s and, like many such cities is not always pretty on the eyes. But it is also typical Midwest in the friendliness and pride of its people.

I was not a runner in college and so don't have any memories of good routes. But I've been back to Muncie for various reunions three of the last four years or so, which has led me to look for and try out a few different places to run.

On Campus

Ball State has a nice campus to run. It has lots of paths that let you cross the Quad and central campus many different ways, with several arteries that connect the north, central, and south parts of campus. I've run 5-6 miles on campus several times now just by looping in and out for new views. McKinley Avenue is the north-south artery that runs from near the football stadium on the north to the Quad at the south. The south end of campus spans to Tillotson Avenue on the west. It includes a soccer field where you can run laps and Christy Woods, a small but scenic nature area better known for holding hands and kissing than for running. I've stayed at the Student Center hotel, which is simple and inexpensive, and recommend it. Central campus runs east of McKinley and has plenty of trees and paths.

Head east on either Riverside (past churches and frat row) or University (through The Village, BSU's restaurant, club, and store district) to find two areas of interest. When you reach Wheeling Avenue, turn south and you will reach downtown Muncie in no time. Even better, though, from Wheeling you can reach either of the two nature trails that offer Muncie's best runs.

Delaware Greenways

Muncie offers two trail systems. You can find information on both at DelawareGreenways.org. This map of the trails from that site shows the basic layout of the system, as well as the Ball State campus and downtown Muncie, too.

Coming from campus, when you hit Wheeling Avenue you reach the White River Greenway, which runs roughly west to east through town following the north bank of the White River. I've only run the bit of this northeast from Wheeling to the other trail, but I know that the river offers a scenic view of some Muncie parks and residential areas. I'll check it out more the next time I get to town.

If you head south on Wheeling to Wysor Street and then turn left, or north on the White River Greenway, you will reach the Cardinal Greenway, which is constructed on trackbed of the old Chesapeake and Ohio, a railroad originally conceived to bring Appalachian coal to Virginia tidewater. It runs 20 miles with Muncie in the middle, though this rails-to-trails project aims to connect with another C&O-based trail in eastern Indiana to reach 75 miles in length. So far, I've only gone north from the Wysor Street Trailhead, at the site of a restored 1901 depot. The trail is marked every half mile (excellent!) and has toilet facilities 4 miles north. There is also a nice trailhead and parking lot at McGalliard Avenue, a mile or so east of the north side of the Ball State campus.

After a half mile or so, this trail is all natural, with lots of green and farmland to view. I really enjoyed a 12-mile run out and back on the trails this weekend. The southern portion of the trail is probably pretty, too, as you'll be out of town quickly. I plan to try it out next time!

Posted by Eugene Wallingford | Permalink | Categories: Running

September 27, 2004 6:13 PM

Beginning My Descent

The major training for my second marathon has ended.

Yesterday, I did my last long run in preparation for the Des Moines Marathon, which takes place on October 17. I just finished up my heaviest three weeks of running ever: 163.5 miles, including three runs of 20 miles or more (22, 24, and 20). And I even felt good at the end of yesterday's run, throwing in a 46-minute 10K at the end, which itself ended with 2 miles in 14:40. That may not be very fast, but for me it is. A big improvement over last year.

Now begins the taper, those three weeks before the marathon when a runner decreases mileage, begins to rest the body, and fuels up for the race. I'll do 46 miles this week and 38 next week, but mostly slow and easy. I'll run one more speed work-out Friday and then do an 8-miler at marathon goal pace next Wednesday. Otherwise, my only goal is to enjoy my runs, let my body recover from the pounding it's taken the last few weeks, and break in a new pair of shoes for the race. That last week will include just a few short, easy runs, with a cuple of miles at marathon goal pace thrown in to preserve muscle memory.

Wish me luck.

Oh, while recording my mileage for last week I noticed that I'd passed a new milestone on yesterday's run: 1400 miles for 2004! I'll go over 1500 on my last jog before Des Moines. That just seemed kinda cool.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 16, 2004 7:43 AM

Running on the Road: Allerton Park, Illinois

One of the goals of the running category of my blog is to report on my runs while traveling. When I go to conferences or to visit friends, I try to find interesting places to run. I sometimes have a hard time finding good information on the web about routes and parks, so I figured I should share what I do find, plus any information I can add from my own experience.

The first stop in the Running on the Road series: Allerton Park, southwest of Monticello, Illinois.

I run at Allerton Park every year when I go to PLoP. As I've increased my mileage over the last couple of years, I've come up with a wider variety of running routes. The great thing about Allerton is the variety available. On the park grounds, you have a choice of trail runs that follow the Sangammon River and trail runs that go through the park's many sculpture and sculptured gardens. Be sure to run to the Sunsinger at least once--especially at sunrise! You can also run on Old Timber Road, the county road that runs through the park, or use it to reach a network of county roads that surround the park and run to Monticello.

First, check out this map to get a feel for the area. All of those county roads are runnable, so you can put together your own routes pretty easily. The hardest thing to do the first time around is judge distance.

Here are some of the routes I've used, by distance.

3 miles
Run from the main sidewalk at Allerton House to the Sunsinger, around the circle, and back.
4 miles
Run the 3-mile Sunsinger route plus a round trip out to closest park entrance, and back.
Run the trail route from Allerton House, through sculptured gardens out to the Centaur, left on the trail eventually to a staircase that bring you up near the lake in front of the house, and back to the House
5 and 6 miles
Run from Allerton House out to Country Farm Road, and then go left or right as far as you like. I sometimes turn down 450E or up 625E to see something different.
10 miles
Run Old Timber Road to County Farm Road to 625E to Old Route 47 out to the Interstate, and back.
Start the same, but stay on County Farm Road all the way to Bridge Street. Turn right and go into Monticello. Turn right on Market Street and run to the IGA store. Return by same route. Turn around sooner for an 8- or 9-miler.
11 miles
Run the 10-mile route into Monticello, but go another half mile or so past the store. Or turn onto a side street for a change of pace.
22 miles
Run the 23-mile route below, minus the lap through the Fu Dog Garden.
23 miles
I owe this route to the Second Wind Running Club's marathon training group. I found their course map to be most helpful, though it doesn't show the run's closing round trip from the parking lot to the park's back entrance. The written directions are helpful, too, though I think Step 7 should say to turn left, not right. The route is pretty easy to follow, because you are running around the park counter-clockwise and you don't have any left-turn options other than the ones shown on the map.

You should also check out this essay by a local runner about some good Allerton Park routes, as well as suggestions for good post-run eats in Monticello!

If you want to run laps on an outdoor track, here are directions to Monticello High School. I had planned to do a speed workout there in 2004, but at the last minute decided to do that workout at home before leaving and to run an 11-miler on the road in its place.

Allerton Park is a great place to run. It is hillier than my hometown, which makes it even a bit more challenging. Just be prepared for the shape of county roads: they drop off on the sides more than most city streets, which can wear on your hips after a few miles.

Posted by Eugene Wallingford | Permalink | Categories: Running

September 08, 2004 10:27 AM

A Good Morning

Many people express surprise that anyone can enjoy running, especially when it comes to long distances or fast paces. Every once in a while, though, I have a run that reminds me just why I get up every morning. Usually, it's a medium to long run on the trails, not too fast or slow, that raises the spirit. This morning, I had a speed workout that left me feeling just as good.

Darkness. A crystal clear sky filled with stars. The temperature a bit chilly -- 48 degrees -- but perfect for keeping the body cool as it works. Fast repeats with short recoveries, with every lap feeling goodi, faster than usual. The sunrise lights the sky as I run, but it doesn't hide all of the stars. I finish in bright sunshine on a beautiful September day, a few degrees warmer, but still brisk. My legs feel spent but strong. I'm alive.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 27, 2004 1:09 PM


I bonked while running this morning. It's been a long while since that has happened, and I won't mind if it doesn't happen again for a long time.

Today called for an 8-1/2 mile speed workout, doing seven 1200m repeats. After my third repeat, I felt myself losing all energy. For a while, I considered alternatives to finishing -- stopping short and running laps this evening, or doing a short workout in the morning. In the end I gutted it out, with longer recoveries and much slower lap times. The rest of the workout was a struggle, but I'm glad I finished. I was even able to finish relatively strong, with big negative splits for each 200m. That felt good.

Why the bonk today? I'm probably feeling the effects of a 60-mile week last week. I had been scheduled for 48 miles then, but I returned late on the previous Sunday from Brazil and ended up doing my long run for that week on Monday. The big week went well, including a much faster than expected 18-miler on Sunday. That extra speed is probably also affecting my runs this week.

The final ingredient can be traced to a storm. A major thunderstorm knocked our power out for a couple of hours at bed time last night. That killed my alarm clock, which allowed me to sleep in more than an hour longer than usual. That got me to the track this morning at 7:00 AM, rather than 5:30 AM. So I shared the track -- with three or four dozen ROTC recruits, out for weekly PT. No problem there, except that they were only running 2 miles, and some of those guys do a fast two miles. I let myself get caught up in their speed, which led to three fast repeats -- and then the wall.

I think there is a lesson that I can draw for software development in this story, such as the importance of maintaining a sustainable pace, but I am not inclined to draw it out now.

Posted by Eugene Wallingford | Permalink | Categories: Running

August 06, 2004 8:44 AM

Leaving for SugarLoafPLoP

I am off to Florida for a couple of days on my way to Brazil for SugarLoafPLoP 2004. I give a talk in Recife on Monday and conference talks on Tuesday and Friday. In between I'm leading a writers workshop and serving as a writing mentor to a new author. I'll be busy! The conference hotel offers Internet access, so I'll try to blog about the goings-on.

My talks aren't finished yet, so I will also be busy on the plan today and then on the flights to Brazil. Good thing my Tampa-Recife flights net out at 23 hours...

Running update: I ran my best 6x1200m speed work-out this morning, bringing every repeat in at 4 seconds under target except the last, which I ran 14s faster than my goal time. So, after four slow runs recovering from my nine-day lay-off, I may be back on track! Let's hope that I can find the time and places I need to run while traveling.

Posted by Eugene Wallingford | Permalink | Categories: General, Running

August 04, 2004 12:38 PM

On the Road Again

After nine days off and missing one week's worth of mileage (43 in all), I ran again on Sunday. I was scheduled for 16 miles, but after the layoff I decided to try only 12. That was still pretty aggressive; the body loses stamina in nine days. I survived, if a bit more tired than usual, and have now jumped back into my regular training schedule. I'm running slower than in the recent past, but the speed will come back with time. I'm just glad to be able to run again!

Posted by Eugene Wallingford | Permalink | Categories: Running

July 29, 2004 8:05 AM

Itching to Get on The Road Again

And I mean that literally.

I haven't been able to run since last Friday. This is my longest break from my running routine in over a year, and I'm really ready to lace up my New Balances and hit the road again.

However, I am recovering from the worst case of poison ivy I've had since I was in grade school. In some ways it is my worst ever. On Saturday, I was unable to move about comfortably. Lying in bed was nearly as uncomfortable.

How did you get that, you ask? Let's just say that if I'm ever on Jeopardy!, and Alex Trebek asks me about my most embarrassing situation, I now have a really good something to say. Of course, the answer may disqualify me from appearing on Jeopardy!, so I may not let Alex know.

If I have to take a week off from running, now is as good a time as any. I'm currently training for the Des Moines Marathon, which takes place on October 17. Any later, and a layoff would seriously affect my preparation. As it is, I can use this layoff as a rest for my body before seriously ramping up my miles in August and September. At I can rationalize it as such. Mostly, I just want to run.

This will be my second marathon, by the way. Last October, I ran the Chicago Marathon for my first. That was great fun and a great teacher about running the distance. I'm approaching Des Moines with a bit more confidence but also with even more respect for the marathon. It's funny how learning about tough challenges can affect us in those seemingly opposite ways. Hubris and humility often go hand in hand.

Posted by Eugene Wallingford | Permalink | Categories: Running

July 15, 2004 12:07 PM

Continuous Feedback on the Track

While out on a run recently, I realized that I was practicing the agile software development principle of getting continuous feedback -- without even trying.

Most mornings, I want to control the pace I am running. Maybe I am doing a tempo run, on which I want to average my 10K pace for a few miles. Maybe I'm doing a speed work-out and need to run several repetitions of a particular shorter distance at a faster pace. I have to be careful when trying to run fast, because it's easy for me to overdo it. Then I run out of gas and can't finish comfortably, or at all. And it's even easier to run too slowly and not get the full benefit of the workout.

Or maybe I *want* to run slower than usual, as a way to recover from faster work-outs or as a way bump my mileage up. On days like this, I have to be careful not to run too fast, because my body needs the break.

So I need a way to pace myself. I'm not very good at doing that naturally, so I like to use landmarks to monitor my pace.

One place I can do that is on a recreation trail near my home. This trail contains a 6.2-mile loop and has four 1-mile segments labeled. When I try to run a steady pace on this route, I used to find that my miles varied by anywhere between 10 and 20 seconds. These days I do better, but sometimes I can't seem to get into a groove that keeps me steady enough.

I do my weekly speed workouts on the indoor track at my university's wellness center. This track requires me to do 9 laps per mile, and it has signs marking 200m, 400m, 800m, and 1200m splits. Running on this track I get feedback every 1/9th of a mile, and I can synchronize myself at the longer splits, too. Not too surprisingly, I pace myself much better on the track than on the trail. And more frequent feedback is the reason. When I get off by a second or two for a lap, I make can make a small adjustment to get back on pace -- and I can tell if the adjustment was successful within a 1/9th of a mile.

Doing my Yasso 800s on the small track has been invaluable in helping me get faster. Even better, they have helped me learn to pace myself naturally. Now when I run mile repeats on the trail, I find that my pace rarely varies more than 10 seconds per mile, and sometimes I can clip off several miles in a row all within 3-7 seconds of each other. Getting continuous feedback as I've learned has helped me to develop better "instincts".

I recently took my speed workouts outside to the university's 1/4-mile track, to enjoy the summer weather more and to lengthen my repeats. Running consistent 1200m repeats on the longer track is tougher, because I don't yet have the instincts for racing fast at a desired pace and because the track gives me feedback less frequently. But I hope that a few weeks of practice will remedy that...

My goal is eventually to be able to find a groove where my pace is steady, comfortable, and right on the mark for a particular marathon time. Continuous feedback plays an important role in training by body and mind to do that.

I think that this story may be a good way to illustrate and motivate the idea of continuous feedback in my Agile Software Development course this fall.

Posted by Eugene Wallingford | Permalink | Categories: Running, Software Development