One aspect of the "rabbit hole" problem is when you're doing work and you find a detail you want to read up on a bit more. You're doing Lisp and you want to read up on the best way to do a specific thing, then the best way to do a specific part of that, etc. The good old argument of parsing an infinite tree (graph) of information: Depth-first or breadth-first? Let's assume "breadth" means getting things done, and every new level of depth is going into a (maybe tangential) detail.

The great thing about a teacher is that they can find cycles in such graphs of related topics. They can use your attention to detail to steer you back on topic. Reading up on the trigonometric identities leads you to hyperbolic functions which leads you to holomorphic functions which leads you to linear algebra which leads you to a simple proof of trigonometric identities. It's a great thing if you figure something like this on your own.

There are other strategies to following the graph around. In fact, there's a topic called "computational strategies", which is fairly popular stuff if you're into supercomputing. Then on the other hand there are organizational measures like Time-Division Multiplexing, prioritizing, QoS, etc.. It's all been worked out, we really make computers in our own image. They can teach us a lot about ourselves.

I can equate reading up on new things (e.g. following HN closely every day) to juggling. Every time I read something new and interesting there's a new topic up in the air. It's there for some time until I've made my peace with it and integrated it into my consciousness.

I find that in my brain there's a certain amount of resource that I can dedicate to this sort of juggling, after which I gradually start getting tired, and "burnt out on news". At this point I start doing some fairly mechanical tasks. It often involves cleaning my flat, sports, shopping. Those are things which in some way tick boxes and they are a change for me which is the next step in the cycle. (Compare this to hanging out with friends or watching a movie or listening to music, which are passive tasks that do not advance the cycle for me.) After doing some of this practical stuff, I usually slow down reading up new stuff, forget about HN or whatever I was parsing, get caught up in real life. At this point I save all links, close it all off, and shelve it away. One thing that helps is that I have a structured database of resources (ok, just some dirs in dirs in dirs) where I save notes or webpages. This helps a lot to offload me from the burden of feeling I HAVE to read those articles. It's good because in the end most of this "catching up" that I do on HN is just to cross-reference topics and get new ideas; if two files are in the same dir (e.g. an "Parsers" dir) then I will end up looking at them two at the same time the next time I am working with parsers.

I have never been on a drinking binge, but externally - and as a voluntary social worker I've been a lot around people who have had strong problems with alcoholism - such a "research cycle" is very similar to a drinking binge. It starts with one sip, just let me look at the headlines on HN. Then I start taking shot after shot of reading the articles. Then I do it so much that I forget about everything. I'm in the zone. I'm in the flow. The world does not exist, I am GOD, the clarity is amazing. Escapism at its very best. At some point the high becomes tiring and I am unable to keep up. I get real-lifed. I start sobering up. By moving into doing something constructive I completely mitigate the crash.

So the cycle is start -> get infected -> totally binge out until you can't go further -> sober up -> do real life stuff -> back to start.

Of course, that's just one of the layers of my life, but it's a fairly well defined one at this point.

The cool thing is that, unlike sucking on the juice, this actually gets me to places. Maybe we should teach alcoholics Agda as rehab: http://i.imgur.com/njf59.png