!pq "There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors." http://martinfowler.com/bliki/TwoHardThings.html