I've come on an interesting point of view on one of my biggest sin on codeproject : knowledge accumulation.
Happy developers, by their passion, have an eager curiosity... at the expense of their projects.
This problem comes up when we are working on a project and we miss some technical knowledge. So we google it. But very quickly we are tempted to learn everything on the subject, even if it's not required for the project.
To not fall in this trap, I think the best solution is first to admit that our curiosity is in the way of the project.
Then stop googling and planify learning sessions.
This way our day is not fragmented between knowledge acquisition and getting things done. No time framgentation means fewer context switch, which means more time in flow state.