Cardio-Driven Development
· community
I’ve been hard at work on some research projects and new roles that require me to learn topics I don’t know about (or at least have mostly forgotten about). For example, someone on my team came out with an interesting Linux kernel LPE and I felt like it was my responsibility to know everything I can about that exploit so I can help with disclosure or reporting.
I run. I’m not fast. I don’t go particularly far. I just do it. If you’re a runner you might have thought about different running “zones.” Running fast is good for anaerobic work, while slower runs are better for aerobic. The test for whether you’re in Zone 2 is can you have a conversation while running or not.
But taken literally, a conversation while running? Who am I running with? I for one don’t have buddies who want to jog with me and chat. The idea hurts my nerd brain: “Hey bro, want to go run slowly and talk about AI and agent orchestration?”
Put these two things together – technical learning and conversation jogging – and I’ve found a new friend.
Parallel chat agents like ChatGPT lets me load up a git repo of technical topics I want to learn,
and prompt it to help me learn all the details while I’m running. I load up the Linux kernel LPE
and walk through the kernel components that caused the issue, discuss conntrack and how it’s involved, and
break down how a use-after-free bug happens because a slab pointer doesn’t get updated. …All while being in Zone 2.
Here is my setup:
- A Github repo has an AGENTS.md that instructs the agent to log the session as we go including timestamps
- I add the topic I want to work on that day to that repo and tell it to use that as context
- I tell it the goal of the session is to learn all the intimate details of this exploit
- I ask questions, interact with it, and parrot back details to demonstrate my understanding
- I’m not allowed to stop running until I completely understand the topic
- When a run is done, take my Garmin data from the API and correlate it to the session
Results?
There are some obvious conclusions first of all:
- I repeat my own questions more often towards the end of a run. “What did you say, I wasn’t paying attention.”
- It’s very effective at keeping my focus because there’s not really any alternatives.
The unexpected result was that I actually retain the information. More often than not, you go on a run and come back without a good memory of what you saw or the path you took. That may be dehydration or simply paying attention to other things like a podcast or music. I expected to forget what I was learning immediately. That hasn’t been the case so far.
I don’t have much to compare to because there aren’t many other times that I can focus for an hour or an hour and a half on a specific topic but all I can say is this is effective for me.
I don’t have much real data to point to anything. But that doesn’t stop us from making some hypotheses that take into account:
- exercise may help attention or mood
- speaking forces ideas into a sequential form
- the topic may simply have been interesting that day
- AI can make a conversation feel productive while still being wrong
Warnings and YMMV
Running in the suburbs while talking to yourself about high-tech topics will make you sound like a babbling crazy person.
“…ok so the TFTP conntrack struct only starts with port 69, but the use-after-free scenario happens when it creates additional data ports?…”
And if I’m being honest, trying to explain that I’m not crazy, I’m just talking to a chat agent while running isn’t overly convincing. That’s why when I run by someone walking their dog, I either don’t say anything or try to make it sound like I’m on the phone – still crazy but more plausible.
“…so uh yeah, make sure you reach out to Steve after you do that… ha ha ha I know right? Fucking, Steve…”
I’m just out here adapting to the new world and trying to optimize for how to not just get AI to do things for me, but help make me better along the way. This helps train my body and my brain at the same time. In doing so, I feel like I’ve substantially increased the risk of being hit by a car so we might be net negative here. Time will tell.