Because as browsers became more and more interactive, and computers became more and more interruptive, I found that I started subconsciously confusing the entertainment value of computers with the work value of computers.
Simple solution (for me, anyways): 2 computers at 2 different workstations. One for work, not connected to the internet and the other for the internet only. I used to have them in 2 different rooms, but I have found that that's not necessary. The difference between alt-tab and getting up off my butt is just enough to make this work.
I wasn't clear in my original comment: it's not that I require API docs (though they're nice), it's that I require the API itself, usually a REST web service, or in the case of mapping, a bunch of remote resources (images and JavaScript).
When you say you "download/clone", are you talking about just the docs, or do you actually clone the API locally?
For example, create a local, mock Twitter OAuth API so that you can program against the Twitter API without being online.
I'm genuinely curious. I like the idea of going offline, but it seems like it's not worth the effort if you're working on applications that are codependent on network APIs.
I run into this problem and my solution has been to block distracting sites. This gets me 90% of the value of being offline without taking required APIs offline.
I noticed that whenever I have documentation at the reach of my fingertips (Intellisense, awesome API docs), I'm not going through the effort of really reading the documentation and many times I start cargo-culting.
For instance ... if you need to read the Amazon AWS's docs, maybe you're better off searching for and using something like Boto. If the Boto API is too complex to memorize, maybe you're better off constructing a Facade around it that you can remember without going for the documentation every time you want to open an S3 bucket.
Just saying ... lack of easily accessible documentation leads people to do strange things :-)
He's not talking about documentation. He's talking about making API calls to online services. To test that sort of stuff, you have to be online, and generally you want to test that stuff pretty often as you're building things.
I just did a PayPal API, and the docs were pretty bad/inaccurate, so we had to make frequent test calls to see what the real world behavior actually was.
It gets worse. There are several situations where the docs say one thing, the sandbox behaves a different way, and the live API behaves in a third, different way. It's a mess.
Sure, or use SelfControl (for the Mac) or its equivalent, and turn off all the distracting sites for N hours at a time. Very helpful when your will is feeling weak.
Simple solution (for me, anyways): 2 computers at 2 different workstations. One for work, not connected to the internet and the other for the internet only. I used to have them in 2 different rooms, but I have found that that's not necessary. The difference between alt-tab and getting up off my butt is just enough to make this work.