Freewriting in my head, and overcoming the “twinge of starting” — LessWrongIf things feel trivial, aim for words that represent purposes or problems (i.e., higher-level concerns) or higher-level tasks (what larger task something is part of) It can be surprisingly helpful just to name the high-level kind of thing that something does (i.e., “authorization”) Prefer to generate “heavier”, higher-information phrases (but not at the cost of getting stuck)
-
Examples of “light” phrases:
-
“Task”
-
“User”
-
“Requirement”
-
Examples of “heavy” phrases:
-
“API endpoint definitions that have a @requires_authz decorator”
-
“What Prem said on Friday”
If you have been distracted by something else, it can be very helpful just to generate trivial words related to the task you want to focu…
Freewriting in my head, and overcoming the “twinge of starting” — LessWrongIf things feel trivial, aim for words that represent purposes or problems (i.e., higher-level concerns) or higher-level tasks (what larger task something is part of) It can be surprisingly helpful just to name the high-level kind of thing that something does (i.e., “authorization”) Prefer to generate “heavier”, higher-information phrases (but not at the cost of getting stuck)
-
Examples of “light” phrases:
-
“Task”
-
“User”
-
“Requirement”
-
Examples of “heavy” phrases:
-
“API endpoint definitions that have a @requires_authz decorator”
-
“What Prem said on Friday”
If you have been distracted by something else, it can be very helpful just to generate trivial words related to the task you want to focus on. Even trivial thoughts, as long as they are somewhat related to the task, will occupy your working memory and “evict” whatever was in your mental “cache” before, and you will naturally stop thinking about it.
- I find this sort of “active cache eviction” to be much more effective than just telling myself I want to focus on something.
Illustrative transcript
For the same example, here is what might actually go through my mind:
- Forbid
- User
- Types
- Pages
- Actions
- Checking
- Data
- Roles
- Error codes
- Copy (words)
- Message
- Object state
- Ownership
- Test data
- Roles
- Readonly
- Realistic?
- Fixtures?
- How did it get in this state
- The stopping point: What if I wrote a test fixture and test for the basic case where the user has readonly access?
Notice that we did this exercise without needing to have any access to any of the nuances of the task in working memory. This was a made-up task description for which no details actually exist!
Two closely related ideas to “cogitating” are freewriting and morning pages. I am basically saying that you can do freewriting in your head, sometimes even faster than on paper. The commonality is that you try to think of a lot of relevant words sequentially, in hopes of eventually coming to a meaningful realization.
“Cogitating” is complementary to writing. Thinking in your head is faster, and can be done even while (say) standing outside or in the shower. Once your mental cache is reasonably full, though, it absolutely makes sense to transfer your thinking to a written medium.
Benefits that I’ve noticed
On tasks: The big benefit I get now is that I rarely feel dread when restarting a complex task. It is my go-to method for starting work when I don’t immediately know what to do. (Though when I have access to paper or a computer document, I often freewrite instead, following similar rules of thumb for what to think of.)
On teams: The same basic idea has helped me un-jam a number of team meetings, especially ones that I didn’t organize. The “empty cache problem” exists in groups as well — there’s a meeting about something, and it seems like no one is talking. It can similarly be overcome by prompting the group to recall a bunch of stuff. Usually all it takes is a few simple questions like “what is this” or “what is this for”. It’s even easier in a group than by oneself, because the pool of knowledge that can get dug up is much larger.