Sunday, April 20, 2008

Don't listen to Yoda!

Don't do. Try. That way, you enter with failure as a likely outcome, allowing procrastination to take full force. You can then feel guilty about not giving it your best effort, and take solace in that while you failed, at least you didn't give it your best effort.

Don't prime the pump! Make sure to leave work with your task completely finished. That way you have to start the day by figuring out what to do next, and how to start it. Figuring out what to do next is an excellent excuse to procrastinate. Further, getting started is much easier when you're flush with success after finishing something. Starting something at that point might get your work to flow, which would significantly cut into procrastination. On the other hand, getting started both on the process of working, and on a new task, at the same time is quite overwhelming and fertile ground for procrastination.

Don't reward yourself until it's perfect. Rewarding your efforts early might reinforce the habits of starting on projects and getting outlines done. Give yourself rewards before doing work instead of after; that way you can get the reward, and then procrastinate as usual.

Don't ask for help until you're desperate. Ideally, get rescued, not helped. By not asking for help early, you can procrastinate while "trying to figure out how to do it". When you ask for help late, there's typically so little time left that the only way to help you is to take ownership of the problem. This reinforces a useful feeling of helplessness.

Don't account for eating, sleeping, recreation, health activities, commuting, social demands, shopping, errands, or any of the other things you have to do to survive. Always be unrealistic about your schedule. This way, you can make it impossible to work as many hours as you "should", making your goal unreachable and promoting procrastination. You can also punish yourself for your failure, which will lower your self esteem.

Thursday, April 17, 2008

Kill it before it's too late

Self esteem is the arch enemy of procrastination. With strong self esteem, you will most likely not procrastinate, because procrastination is an act of avoidance, and with strong enough self esteem you will not feel the need to avoid things.  Fear of criticism, one of the main allies of procrastination, can be completely demolished by strong self esteem. Confronting self esteem, and keeping it down is critical in sustaining procrastination. This can be done through some simple techniques: 
  1. Take an all or nothing attitude. By doing this, you can make sure that anything that is not a total success is a complete failure. Since complete success is so rare, you're ensured of a long string of abysmal failures, keeping your self esteem properly deflated.
  2. Internalize all criticism without question. Whenever you're given a negative assessment of any kind, add it to the repertoire of your inner critic. Never question the motives or objectivity of the person criticizing.
  3. Never forgive yourself. Following the techniques above, you will have a steady inflow of failures and flaws to deal with. By making sure to never forgive yourself, you will keep your list of mistakes steadily growing, pushing your self esteem further down.
  4. Never analyze your mistakes. When you've done something that you later regret, make sure to treat it as a character flaw, not as an unfortunate event that you can learn from.
  5. When you hurt others through your actions, never seek to atone for them. Never ask for forgiveness. If you try to atone and ask for forgiveness, you're likely to receive both that and sympathy, and you might start to forgive yourself, violating rule 3.
  6. Apply rigid rules to yourself. Rules such as "I have to be independent", "I have to get all A:s in school" or "I have to be liked by everyone" are almost impossible to live up to, and create more instances for you to fail even while you might appear to be succeeding by other standards.
  7. Make your rules mutually exclusive. That way, you can make sure to always break at least one of them. 

Tuesday, April 15, 2008

Know thine enemy

A great enemy of procrastination is task management. If tasks are broken into sufficiently small sub tasks, it becomes trivial to finish one of these smaller tasks within a small number of hours. Once tasks can be finished that quickly, it becomes possible to accurately track progress even over a single day.

Tracking progress has two unfortunate effects: first, it may induce guilt as you notice that you're not actually making progress, and, second once you do happen to complete a task it is immediately obvious that you have accomplished something. This sense of accomplishment may then lead to self esteem, and, in essence, make you addicted to finishing tasks. Forming a new habit takes only a few weeks, and by continuously tracking progress over such a short time span, you can find yourself making significant progress on your projects without negative stress; instead, you will be chasing your next goal.

If you have spent 4 minutes of a 5 minute task --- walking half a mile, say --- and accomplished nothing, then you'll most likely realize that you will not be able to accomplish your goal. However, if you've spent 4 months of a 5 month tasks and accomplished nothing, then you can still convince yourself that another day doesn't matter.

This example might appear to be somewhat disingenuous; walking a fixed distance is an activity where it's easy to track progress. If you had 5 minutes to come up with a name for your firstborn, having spent 4 minutes without thinking about it might still not instill a sense of urgency. So, it's the ability to track progress, rather than the duration of the task, that's the key. Walking half a mile can intuitively be broken into subtasks, coming up with a name on the other hand, at least superficially appears to be an atomic task.

The goal, then, is to avoid breaking up tasks into pieces that can be intuitively understood. If you cannot know that you're making progress, then there's no way of knowing that you're not making any, and procrastination can move forward unhindered.

To further promote procrastination, you want to avoid setting mile stones. Instead, use deadlines. With sufficiently fine grained milestones, you reach mile stones so often that it becomes quite impossible to lose track of progress; the pace at which work proceeds becomes obvious both to yourself and to outsiders.

Deadlines anchor progress to an arbitrary date rather than to an accomplishment, which make them strong procrastination promoters. You make "progress" by doing nothing since that brings you closer to the date when you have to be finished, and you can always pretend that there's enough time left until the deadline is reached, at which point you can almost always make up a new one. If you do meet the deadline through a heroic last ditch effort, you will be sure to procrastinate even longer the next time, to keep things challenging.

Even when deadlines are fine grained and close together, they are negative; if any single part of the project takes longer than expected, you're continuously behind, and will fail to meet future mile stones even if the remainder of the project proceeds as expected. Again, this promotes procrastination because you can easily procrastinate before you've failed to meet a deadline, and once you have failed, you can't catch up anyway, so you might as well procrastinate.

Saturday, April 5, 2008

Getting things done? Check!

As I wrote in the last entry, polling can be used to promote procrastination. Here, I'm planning to address another useful tool: Multi tasking.

Multi tasking is the art of performing multiple tasks at the same time. It has the interesting property that you're almost guaranteed to perform each task less well than you would if you had performed them one after the other.

Method 1: Cooperative multi tasking
Cooperative multi tasking works much like polling. Every so often you break off from your task to check if there's anything else that needs to be done, then do that for a while, until again checking. If there's only one task to do, you'll check and immediately get back to what you were doing. Embedded systems sometimes work like this, because it gives complete control over where things are interrupted, and can in theory give very good performance. In the real world, this can be used, for example, for talking to multiple people at the same time in a chat system. By switching slowly between them, you will be able to keep up the semblance of a conversation with a large number of people. Another example would be switching from one task to another whenever the task becomes difficult or stressful. This practically guarantees that nothing will ever get finished, and also teaches a healthy habit of avoiding difficult problems and working on easy tasks.

Method 2: Time slicing and preemption
Time slicing relies on an interrupt firing every so many "ticks", giving control to a scheduler that picks a task to run for the next "time slice". Interactive computer systems use this, with an appropriately short time quantum, to provide the illusion of performing multiple tasks at the same time. If the time quantum is too large, the illusion will not be upheld, and if too short, the overhead associated with switching tasks will dominate the real work. In modern computer systems, where locality of reference in the caches (TLBs as well as instruction and data caches) is important, switching quickly also makes the temporal locality so poor that the cache brings little benefit. The human mind, working much like the memory hierarchy in a computer, will also be made more inefficient by switching rapidly between different cognitive tasks. You can use rapid, regular switching between tasks to make sure that you never spend long enough on a task to internalize it and make significant progress.