Sudbury Rocks Half Marathon Race Report
There’s a Jennifer Lopez song called “On the Floor” that, if you have ever heard it, you know could make a corpse want to get up and dance. It starts with a sample of “Lambada”—the famously earwormy 1989 hit—and then J.Lo’s vocals kick in over pounding EDM beats. I have a soft spot for this song in particular because it was blasting from the speakers at a concert in Pontevedra, Spain where Andrea and I had front-row tickets last year to see J.Lo perform it live.
So when the same track came thumping out of a speaker at the start of the Sudbury Rocks Half Marathon—while we huddled under a parking garage to stay out of the drizzle—I couldn’t help but feel amped up. Of all the songs to kick off a race, this one felt almost chosen for me.

This was the second of three half marathons Mel and I would run in five days in Canada, and it held a particular significance for her: she grew up in Sudbury, Ontario, until she was 14, when her family moved to the United States. Running the streets of your hometown you haven’t lived in for decades is its own kind of time travel. I was just along for the ride—happy to be racing somewhere new, in cool, overcast conditions, with 90% humidity pressing in from all sides like a damp towel.
My preparation for this race was, charitably, a work in progress. I hadn’t put in a truly long training run since the Kentucky Derby Festival Marathon in April, though I had been running six days a week consistently since then. Three days prior, Mel and I had run a DIY half marathon in Winnipeg, Manitoba—the first of our Canadian trifecta—so my legs carried with them the memory of that effort. In addition, I’d driven the Sudbury Rocks course the day before with Mel, studying every rise and dip, and I came away with a plan: target 1h34m, run steady, and don’t let the hills trick me into burning matches early.
The elevation profile looked like a sawtooth on the map—lots of short punchy climbs followed by equally short descents, repeated across the entire course. As a runner, I am more puncheur than climber (to steal a cycling term), meaning I handle brief steep efforts well but tend to lose time on sustained gradients. The good news here was that nothing was sustained. The bad news was that while running, you cannot exactly coast like you can with wheels.

A few minutes before the gun, a volunteer led the assembled runners through a warm-up, bouncing up and down with such enthusiasm that he resembled a man who had consumed a considerable amount of espresso. I lined up in the front row wearing my blue Sudbury Rocks tech tee—handed out at packet pickup the day before—and when the race started, several runners immediately detonated off the line as though they had somewhere very important to be. Within ten seconds, a small pack was already 200 meters ahead. I let them go.
After a few kilometers, a fourth woman swept past me: tall, muscular, running with the efficient mechanics of someone who does this a lot. I tucked in behind her for several kilometers before finally passing her—only to discover, shortly after, that she was a relay runner covering a five-kilometer leg. I briefly wondered if the three women ahead of her were also relay runners. (They were not. They were simply faster than me.)
For most of the race I tracked within five to eight seconds of my 1:34:00 Garmin target, which surprised me given the terrain. Normally on hilly courses I yo-yo—surging on the downhills, bleeding time on the climbs. But the brevity of each hill forced a different approach: keep the cadence up, drive the knees forward, maintain a quick kick, and just absorb the gradient rather than fight it. It was working.
At the nine-kilometer mark, a tall man with a dad bod passed me with the unhurried confidence of someone who has been doing this for years and knows exactly what he’s doing. He opened a 20-meter gap and held it there with amazing consistency. At every water and Gatorade station, he grabbed a cup without losing a stride. I skipped every station rather than break my rhythm, yet could not close the gap.

There was one moment of pure slapstick: a very elderly woman began pulling out of a driveway directly into Dad Bod’s path. He threw up both hands and let out a sound that, while technically wordless, communicated his feelings comprehensively. The lady just stared forward, death-gripping the steering wheel. Dad Bod pressed on.
Around kilometer 16, a balding, shorter, grey-haired man who I had previously passed came surging back past me. I noted this with the quiet resignation of someone who has raced long enough to know that five kilometers from the finish, your past decisions are writing checks your legs have to cash.
The hardest stretch of the course came right there, with five kilometers to go: a longer climb that had I am sure others regretted being at the end of a race. My Garmin pace ticked a few seconds behind target for the first time all morning. The course was coned off with orange cones on the road shoulder, and police officers stopped cars at intersections to let us through—which was appreciated, because navigating traffic on top of a long hill uphill would have tested my already-limited composure.
The other challenge was the puddles. The roads were still wet from the morning drizzle, and taking the tangents—the shortest theoretical line through every turn—sometimes meant hurdling standing water or weaving around patches the cones didn’t fully protect. I accepted the extra distance as part of the deal.
With one kilometer to go, I spotted the Laughing Buddha bar—a landmark Mel and I had visited the day before, where I’d had a non-alcoholic beer and she’d worked her way through something fruity and liquor-infused. We had stood outside that evening, looked at the finish-line setup 400 meters away, and I had resolved: this is where I kick. I had made a deal with future me, and present me was not going to be the one to break it.
I picked up the pace and started to sprint. Then the 5K and 10K finish chute merged with the half marathon’s, and I had to navigate around a small city of slower runners while going full throttle. Somewhere in the crowd, a volunteer was shouting “right, right, right!”—which I interpreted as directions for me until Dad Bod turned and told me to go left: he and the grey-haired man were actually doing the full marathon and needed to veer right to continue their loop. I had been confused by a directional instruction not meant for me, lost somewhere between five and ten seconds weaving around the 5K finishers despite frantically kicking again the final 50m, and then finally ducked under the chute.

My official time was 1:34:30. My Garmin logged 21.27 kilometers at 4:27/km, putting my actual running time at 1:33:51. I finished 17th overall out of 447 finishers, 14th among men, and first in my age division. That ranks among the top five half marathon times of my life—and it’s just four and a half minutes off my personal record. Which means I am still, somehow, faster than I was in my 20s.
I stayed at the finish area and waited for Mel. The SudburyROCKS race has been raising money for local charities since 2005 and has now surpassed $1 million in total donations, with the 2026 proceeds going toward cancer care through the Health Sciences North Foundation. The post-race scene had the warm, community-built feel of a race organized by people who genuinely care about what they’re doing.

There were spectators dressed as Sudbury Wolves—the local OHL hockey team whose arena also doubles as the set for Shoresy, the Canadian comedy series about a fictional Sudbury hockey club that has turned the city into a minor pilgrimage destination for fans. There was even someone dressed as Shoresy himself, prowling the finish-line area looking for someone to chirp. I made sure to stay out of range.
It was, start to finish, the race I had envisioned the evening before while sipping a non-alcoholic beer outside the Laughing Buddha. Sometimes that happens. Not often enough, but sometimes.
Race Data
Distance: 13.2 miles (21.27 km per Garmin)
Final time: 1:34:30 (4:27/km)
Overall place: 17 / 447
Male place: 14 / 217
Division place: 1 / 16
Official results
