Why daily programming output can be ineffective?
Article at Recycled Knowledge
Among things that break the Flow I can add room noise, talkative colleagues, daily and personal problems, ICQ links, emails, reminders. As it seems to me if you want to concentrate the best way is to delete any irrelevant applications from desktop, turn off email, ICQ, reminders and other stuff like this, then make a short schedule for a day and follow it - check email hourly - not every 15 minutes or use some AI to filter important mails that need your attention immediately.
Different interesting things can draw attention away while you're mining for information: idea for a great tool, obscure bugs in existing great tools or just this hackerish habit of making proof of concept to check if your fresh idea worths something. This draws the Flow into things far from your work and despite of positive effect of being in the Flow your main task to do is still in the same still condition. Sometimes a feeling from successfully finished proof-of-concept can keep you in the Flow for hours no matter what will you do next. A pity that in the morning after deep sleep ideas are not so bright and usually you have to find your Flow anew.