I recently discovered a very cool app for OS X called Dash. It’s basically an offline popup for any kind of programming or tech documentation you can think of. You can choose from a large number of coding docsets and cheatsheets — pretty much any modern programming language (sorry, no FORTRAN) and a good number of applications. You download them to your local drive so access becomes instantaneous. There are even modules to access the various topics on StackOverflow, with both online and offline versions. (I imagine the offline versions of those can get pretty big.)
Personally I’ve loaded up everything from the entire LAMP stack, to Vagrant, to WordPress, and cheat sheets for ASCII Tables and Regular Expressions. One module I’ve found particularly handy is one that lets you search and read local Man pages. Documentation installed with XCode is automatically included in the accessible content. (Even if installed, you can turn docsets on or off in the interface.)
There are even customizable search shortcuts: so if I want to search the PHP docs for the page on Arrays, I can simply type “php:array”. If I want to search within that page, I just hit space and keep typing, e.g. “php:array index”
The author has even set up a Git project so that users can submit their own Docsets or cheat sheets. I wanted a cheat sheet for MacPorts, so I made one. The author added it to the official list, so now the sheet I made is easily available to anyone who uses the app.
It’s worth mentioning that the author is also very attentive to support issues. I had a problem with the Man page module not searching all the Man pages installed on my computer. He responded quickly, and ended up helping me resolve issues that really went beyond the scope of his app.
Dash is surprisingly deep for what seems like a simple concept. The elegant search function, flexible sourcing, and integration with a large number of third-party apps make it a real winner. I can’t imagine going without it now that I’ve used it for a short while — simply outstanding.
If you work with computers a lot, and especially if you use the command line or do programming, I would highly recommend Dash. It’s worth checking out.