I offer you a Quick Win today: using sleep and say to help you handle open loops more effectively and more peacefully.

What is an open loop again?

When I talk about an open loop, I mean a task that you need to pause doing for a while before resuming it. Common open loops include waiting for someone to reply to email, waiting for someone to approve your expense report, or waiting for your code to compile.

A Scenario

I am updating the server that I use to host The jbrains Experience Forum. I update it infrequently, so this always takes longer than I expect: a few reboots, upgrading the kernel, and so on. Invariably, waiting for reboots bores me, so I prefer to do something else (following the Two-Minute Rule, of course). If I merely switch tasks, however, I will focus on the new task, forget what I was doing in the old task, and invariably subject myself to unnecessary stress. There has to be a better way.

The Better Way

I reboot my Digital Ocean server. I need to log back in to that server when after it reboots. I make a guess about how long that could possibly take: 3 minutes. I type this:

$ sleep 180 && spd-say "Logging in to the server now" && ssh -A root@nunya.business.com

In English, this reads:

Wait 3 minutes, then announce “Logging in to the server now”, then log in to the server.

Now I can forget about this task for about 2 minutes and 58 seconds, focus on something else, then return to this when I’m ready. The announcement—as long as my speakers are on—will help me remember to get back to that task. It’s not perfect, but it works quite well for me.

Uh… Really?!


Even if you find this to be a bit much, this approach does what all reminders do: it lets me forget with confidence, so that I can focus. It gives me the option to get another task done or go take a walk to make coffee or zone out and rest for a few minutes. I can choose. This makes me happy.

And maybe it helps make you happy, too. Try it and let me know how it goes.