I find that I often descend into what I call "rabbit holes" as I learn about a new technology/language/method/etc.
These are the moments where you feel that in order to understand a detail of what you are working on, you start investigating and investigating and you end up in a related, but detached space.
For instance, I'm learning Ruby (and Rails), and the more and more I discover, the more I feel I need a much better understanding of system administration, and so on and so on until I realize that I've found myself reading about Lisp...
or I begin working on old code. I take a look and I work at it and next thing I know, I'm refactoring and eventually rewriting code, when really I should just be completing the task.
Anybody else? Or just me?
How do you avoid these time sinks and rabbit holes? How do you pull yourself out of "refactor" mode?