I've noticed that while I'm programming, I divide my work into tasks and until a task is complete I cannot stop, even if it takes hours.
However, once that task is complete, I find it very hard to move onto the next task. I feel the urge to spend some time having a break, surfing the web, etc, and before you know it the rest of the work day has gone by. Sometimes if it only took 1-2 hours to complete a task, this still happens.
Has anyone else experienced this? How do you deal with this so you stay in the zone till all your tasks for the day are done?