I've found it's a pretty handy skillset to have, but for most everyday programming, I'm happy to reach for the search box.
I've found it's a pretty handy skillset to have, but for most everyday programming, I'm happy to reach for the search box.
Granted I need reference documentation for the engine (love2d in my case), and I occasionally consult the Lua stdlib documentation (which I get from apt-get), but that's about it.
Instead, things like compilers, complex algorithms, data formats, data mining, etc. are good candidates for offline coding. Most of the knowledge for them exists in your head, and the ratio of thinking time vs. reading time is much greater. In the case of data mining & machine learning, there's also a long iterative process that involves looking at your data, coming up with insights, implementing your insights, and evaluating how well it improves the algorithm. If your test data fits on a laptop (not all interesting data does), it's a good candidate for offline development.