ANTITREE

/dev/loop3 ro squashfs ---------------------------------------------------------~inode 0x4e21c8

uts:ns 4026532198 ----------------------------------------------------------#cap_sys_admin -eff

seccomp filt 0x1f ---------------------------------------------------------#rtt 12.4ms mtu 1500

::fe80::4a2c/64 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::[vmalloc 0xffffc90000]

antiTree

Containers, kubernetes, AI, sandboxes, security, Linux isolation

and whatever else looks interesting enough to take apart.

[SANDBOXES]
[RUNTIME]GVISORID: RTM-49GVISOR / SYSCALL 0x2A / 11:16:45
Syscalls & sandboxes
[CONTAINERS]
[CLUSTER]CONTAINERDNODE: K8S-17CGROUP V2 / CAP_SYS_ADMIN / 04:22:09
Containers
[AI AGENTS]
[INFERENCE]TOOL-CALLCTX: 128KMCP / TOKENS 4096 / 19:41:02
AI & agents

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.

Personal heart-rate zones across five CDD runs

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.

CDD run timeline with session annotations

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.