Actually, this article made think about what the relationship is between being lazy and being a procrastinator. Once I get going I enjoy working and it feels so good to get things done. Still, I have the hardest time getting started. So what are the best methods to get going? It seems avoiding HN may be one of them.
I find that knowing what to do next helps. Also, I try to make a habit of getting to work when I first turn on the computer (rather than going to Hacker News and whatnot) in the morning. This helps me get some momentum, which helps keep the work going throughout the day.
I can still get work done without the initial early morning momentum, but I get much more done by focusing on work first thing.
For "what to do next," I keep a task list. I've been using "The Hit List" on Mac and ToDoList (by AbstractSpoon) while in Windows. I find that part of the trouble with "getting started" is not knowing what to do next sometimes. So keeping a task list is quite helpful, in my opinion.
The other thing is, setting up timeboxes and being resolved to work diligently during each timebox. I guess you can try the Pomodoro technique -- just remember that you can adjust the timings to whatever work best for you. I personally prefer the longer timeboxes (1.5-2 hours each).
This one small idea completely changed my life a few years ago. I always keep a list containing my next actions. If I find myself procrastinating, I don't even have to think, I just glance at the list and do whatever is on top.
A really easy way is to tell yourself that you'll write only one line of code. Go ahead and do that. Or that you'll do just one pushup or only one line of your blog... It works wonders.
This seems related to the smart/hard work attitude. If you think you solve problems because you are smart, then come across a problem that seems too difficult you are more likely to give up than if you think you solve problems by working through them. You can't just make yourself smarter but you can work harder.
Along the same lines, I think I have some control over procrastinating. Not so much over being lazy.
for me, the key in this is to mean it. i.e. to really let yourself stop after the first line if you want to. 90% of the time you'll do much more anyway, but it doesn't work unless you allow yourself to give up after 5 minutes the other 10%.
I have a feeling that procrastination is very personal thing - ie different for different people. For some reason this method works for some programmers. But only for programming tasks.
I'd like to believe that this is because it's something we love to do inherently but we fear the "setup costs" involved in actually doing the task.
I stumbled upon this technique when doing P90X, I would tell myself I would just do the warmup. By the time the warmup was done, was ready to continue the exercise. Worked wonders!
Isn't there a procrastination option for your login in HN? I'm not sure what it does, though.
It'd be neat if you could create an account on HN that only allowed you to see the top 20 stories for yesterday and the associated comments, and that's it. If you wanted the normal view, you'd need to log out, and type in your normal account name + password. Thus, you get a small break from work, but the site limitations prevent you from wasting too much time. The pain of logging in/out prevents you from circumventing it (I mean, you could log in/out, but hopefully you don't for your own good).
IMO, putting sites into your hosts file is too draconian - when the mind starts to wander, it'll want to find a place to roost. If you deny it even a tiny perch (like a hobbled HN), it'll flitter to other, unprotected pastures (like slashdot or reddit).
I think the best way to get started is having a habits calendar' aka seinfield's "don't break the chain". You track something like "work on this idea/project 30min everyday", and multiple times you'll try to do it quickly to 'get rid of the task' as quickly as possible.
As you'll notice multiple times though, once you get started, you'll feel like going way past the 30min mark. Also, not having the 'responsibility' of working more than 30min will usually make the rest of the time working feel like less of a grind and more pleasurable.
At a micro-level, you can reduce the time you spend on HN by blocking it for periods of time.
pg has added a noprocast option in your profile which you can turn on. It's set by the maxvisit and minaway fields (not sure about naming here, might need to adjust this in 20mins). I've got mine set to allow 10mins on the site, with a 20mins block.
Another is avoid reading books/articles about time management techniques. The first 4-5 chapters of Eat That Frog explain exactly what everyone needs to know.
Applying it may be another story though.
Success and happiness cause you to regain willpower
I discovered this a while ago and found a good hack for it. I created a fake index, and within this index, I listed companies. Each company means something: progress in work, proficiency in English, learning, reading, self-improvement...
The day opens at 10 A.M, when I wake up. The trade begins. If I work or make money, the index rise (one of the company indexes or more). If I procrastinate, I lower the index. This makes me uncomfortable, because I'm looking to grow the index and not actually lower it. So, I get back to work to get the index up or reduce loses.
Sometimes I'm very productive; I don't even check it out. I don't rise it a lot after that. But other times, I procrastinate a lot, so I return back to the index and drop it dramatically. I feel like I'm obliged to safe the situation, so I work to reduce the loses.
This also keeps me with all my goals, as I care about the global index and also companies indexes.
hint: You need to make this index a part of your life. That's necessary if you want that it forces you to work.
Bringing some game mechanics like this is a great idea. The rewards of doing work are usually distant but an index like you describe makes it apparent immediately..
The best hack I ever learned to avoid the "pain of getting started" problem:
Never finish.
I always leave something easy, even trivial, undone when I knock off each day. So no matter what else I'm doing the next day, it's easy to change a format, add another data element, or change a few variable names. Then once I get going, it's much easier to keep going.
Things that don't work well with this method: debugging a nasty problem, reworking architecture, scaling, or major additions. Those are best left for later in the day.
I've personally stopped using chapters, I found them to be rather detrimental to the process. When I feel I need them I insert them into the logical places via hindsight rather than using them to make arbitrary boundaries inside my work as I work.
sometimes i leave myself something that keeps my brain working on a solution.i find that a different ream sometimes lets my defense down and the answer to enter
I learned a long time ago that I could cure the pain of procrastination by opening an editor and typing
int main(int argc, char **argv) {
I still do this... just opening the appropriate program -- emacs, MS Word, whatever -- and typing a line that looks like it might actually be useful is enough to get me started doing real work, even when I have no idea how to complete the project (which was what was stopping me from starting in the first place).
I've found similar methods that work; if something can be made a routine, then the automaticity often takes over and provides the kick in the pants necessary to get started.
I don't recall precisely. I suspect I asked myself something along the lines of "What is the smallest, simplest concrete step that I can take that will move me toward my goal?" If the answer is typing "emacs", that's so easy that it's hard to resist doing it right away. Having tried the little mental exercise once or twice, the positive feedback I got made me want to do it over and over again.
The trick of writing /something/ down, no matter how trivial or wrong, is that now you've got something to work with.
If it's the declaration of main(), the next step is staring you in the face: what's the first thing I need to do in main()? Process arguments? Cool, I know how to write that code. What are the arguments? I don't know, how is the program going to be used? And like magic, now we're designing the interface to the system; that is, we're actually doing the real work.
If it's a piece of writing, write an opening sentence. Anything will do. If it's terribly wrong, how can we make it better? If it's roughly right, what's the next logical thought? And the next? And the next? Now, how can we cleanly end this paragraph and lead into the next one...
After a day of procrastinating, you usually feel like shit. You are worried and stressed because now you have even more work to do. So by taking the day to 'relax', you have actually worsened your mental state.
After a day of working, assuming it was a productive day where you actually solved problems, you usually feel pretty damn good.
Perhaps meditation is a good cure for this type of procrastination? It shouldn't take any effort to close your eyes for a few seconds, and "meditate" to regain your focus. Then, it's easier to decide what to do next.
I have found out that meditation does even more for me. I started noticing the little seductive impulses ("Hey buddy, it won't hurt to browse HN for five minutes!") without automatically following through on them.
The little moment after noticing the impulse is where I can wait for it to subside instead of yielding to it.
The funny thing is, this isn't just a problem in the developer community, it's across all creative fields (OK, it's not funny, you know what I mean :P).
I've always found that just starting with something very small to get into it always helps tons. I know it's a simple point, but it really does work wonders. Once you start, you'll just naturally progress and want to continue for a while longer.
I found that having certain rituals, like ingestion of certain substances (caffeine for programming, e.g.) or listening to certain music, or visiting certain forums before doing an activity pretty much removed procrastination from my life. With substances, I found (by accident) that placebo works just as well.
Of course, now I have to battle different drug addictions but that's a completely different story :)
Ludum Dare ( http://www.ludumdare.com ) is a great way to free yourself from some procrastination chains for a weekend. I typically start with a menu screen if I haven't gotten into the mood, since it's easy, it should be necessary, and it lets me digest my planned game some before I start on the main bits.
I think there is more than this: e.g. it's easier to procrastinate when you're tired and this theory doesn't account for it.
I wonder if RescueTime data contain really important insights on productivity. They should try to mine them, probably Netflix-prize style would work well.
Actually, this article made think about what the relationship is between being lazy and being a procrastinator. Once I get going I enjoy working and it feels so good to get things done. Still, I have the hardest time getting started. So what are the best methods to get going? It seems avoiding HN may be one of them.