http://www.catb.org/~esr/faqs/smart-questions.html