There are only two hard things in Computer Science: cache invalidation, naming things, and counting.
-- Phil Karlton, Popular CS Legend
popularized by martinfowler.com