Running the Stack

by lionhearted1 min read26th Sep 20198 comments


ProductivityComputer ScienceHabits

Look at the image here:

After looking at that image, you understand the concept well enough to use it as a mental model.

Hard-won lessons —

(1) I joke that "meditation is having exactly one thing on the stack." One thing at a time on the stack might seem oppressive, but it's actually joyful. I think you more-or-less can only do one thing at a time.

(2) But okay, the stack is more full. You just popped the top item off. Now what? IME, life goes better if you go down the stack unless new information compelling obsoletes it (unless you're just messing around, in which case "messing around" is on the stack and you're good). When an irrelevant tangent hits in a conversation, once it concludes, go back to where you were (if it was useful). When you realize you got distracted putting the groceries away, typically you want to finish putting them away.

(3) It's entirely true that oftentimes, going down the stack is short-term worse than whatever newly catches your attention. But it trains you to both recognize tangents and navigate conversations intelligently (again, in a non-pure-social-hangout conversation - like at work or when exploring an important topic).

(4) Even more true: often super sucks to go back down the stack on physical task stuff after you got distracted. But! I believe — I don't have any research, but my observation bears it out, it's a hypothesis — I believe that consistently running down the stack after you got distracted makes you less distractible going forwards, because there's less payoff to doing so.

(5) Some people can literally "run the stack" in their minds. Not a metaphor. Literally.

(6) I couldn't do this before. Now I can.

(7) What changed is that I used to be able to comfortably juggle 5-7 items at a time without running a stack, but I recently calculated out the work I'm committed to in the near future— like, "almost all of this work will get done" — and it's 300+ hours. Employees, administration, ops, software development, sales, finance. There's dozens of projects that stretch off into infinity going on. Suddenly, I was just running the stack all the time. I don't recommend it, but that's what happened to me.

(8) You can get better about refusing to add things to the stack.

(9) You can get better about "closing the thread" (popping things off the stack) before changing gears. "Yeah but wait, let's talk about that, but can we calendar that thing before we move on?" (can say it shorter, exaggerating for clarity)

(10) You don't need to do a task or complete a conversation to remove it from the stack. You can just delete it. But the act of explicitly doing so — and communicating it to anyone else relevant that needs to know — is what keeps your stack from overflowing.

And the most important lesson —

(11) When you have multiple items on the stack and "start feeling ambitious and motivated", COMPLETE THE ITEMS ON THE STACK RATHER THAN ADD NEW ITEMS TO THE STACK.

The all caps there isn't shouting at you — it's regret for lost years of my life. Alas. Bigger stack isn't better. Faster throughput is better. That's typically less stuff on the stack at any one time.

Anyway, the concept doesn't work for everyone, but a surprising number of people who are effective I know actually literally "run a stack" in their minds. It's... more common than I'd thought it. Probably the mix of being on software development and having an amount of work that'd be insanely overwhelming if I didn't take things one-thing-at-a-time is what generated it.