Productivity with random numbers

One little productivity trick I use is to select tasks or work with a random number. The simplest form is numbering a list of things you could do, then selecting one randomly.

This can be applied to various things you might want to work on:

  • Items on a todo list.
  • Chapters or pages in a textbook.
  • Tickets in a work-tracking system.
  • A list of projects, with sub-lists of work items.
  • Options in a decision you’re stalling on.

The random number generator on is quite nice for this.

It’s helpful for a few reasons:

  • It lets you just start getting things done without stalling (this is the biggest benefit in my view).
  • It avoids wasting time on meta-work (over-planning and managing the things to be done is a common form of procrastination).
  • It reduces the feeling of being overwhelmed by a big list of tasks.
  • It builds a sense of trust that items will get looked at if you add them to the list.
  • It lets you use different chunks of time by quickly finding a useful task that fits the time.
  • It can produce a greater sense of achievement to complete a random sample of e.g. a textbook than to feel you got stuck on the second chapter. In other words it can unblock tasks.

The idea is also summed up by this AJATT tweet:

If you have the list of tasks as a text file (e.g. todo.txt), then you can get a random task with shuf:

shuf -n 1 todo.txt

I use Todoist (referral link) to stay sane with all the various tasks I accumulate. I apply the “random task” approach to it with this Python script:

import todoist
import os
import random

api = todoist.TodoistAPI(os.environ['TODOIST_TOKEN'])

item = random.choice([i for i in api.state['items'] if i['date_completed'] is None])

You can alias and run it as a one liner in bash:

alias randomtodo="python -c 'import todoist;import os;import random;api=todoist.TodoistAPI(os.environ[\"TODOIST_TOKEN\"]);api.sync();print(random.choice([i for i in api.state[\"items\"] if i[\"date_completed\"] is None]));'";

Then you can fill any bit of time with something useful by running randomtodo a few times until you get something doable in the time you have. You also keep your list fresh by regularly reviewing a random sample.

View post: Productivity with random numbers