Two Hard Things There are only two hard problems in Computer Science: 1 Naming Things 2 Caching 3 Off by One Errors