I started running because my wrist hurt from typing all day. This was late 2022, somewhere in the middle of a particularly dense sprint of pipeline work, and my physiotherapist told me to do something that wasn’t typing.
Running was the obvious answer. It requires no equipment, it requires no coordination, and in Kathmandu it requires no plan — you just go up.
The city at 5:30am
There’s a version of Kathmandu that most people don’t see because they’re asleep when it happens. The streets are quiet. The dust hasn’t risen yet. The air is cold enough that you can see your breath until late April. The dogs that spend the night barking are finally, mercifully, resting.
This is the Kathmandu I know best now. The Ring Road before the microbuses. Budhanilkantha in the dark, fog on the hills. The feeling of your legs finding their rhythm before your brain has fully loaded.
Running and pipelines
Somewhere around month four of running, I noticed that I was solving engineering problems while running. Not actively — I wasn’t running to think about work. But the idle CPU cycles that normally go to Twitter were going elsewhere, and what came back was useful.
Some of my best architectural decisions for the EVM indexer came on runs. The decision to use ClickHouse Materialized Views for real-time ABI decoding: uphill on the road to Swayambhunath. The discovery that our Kafka consumer was creating partitions in the wrong order: flat road, easy pace, half-asleep.
I don’t have a tidy explanation for this. But I’ve stopped questioning it.
The marathon in October
I’m targeting sub-4 hours at Kathmandu Marathon. My current long run pace sits around 5:45/km, which gets me home in about 4:03. Six minutes to find.
I’ve been told that the race itself provides those six minutes through crowd energy and adrenaline. I’ve been told this by people who run sub-3. I am skeptical but hopeful.
Either way, 5:30am, six days a week. The city is quiet and the work is simple.