There are only three hard problems in computer science: 1. Naming things 2. Cache invalidation 3. Off-by4. Multi-threading -one errors.