One among the TwoHardThings in Computer Science


There are only two hard things in Computer Science: cache invalidation and naming things.

– Phil Karlton

Reading this post shared in Hacker News today was thought-provoking. One among the TwoHardThings – naming things – might have an implication on society. Am I right when I say that I have a file named blacklist.yaml which stores all those words which are not allowed in my application?

Happy to see that the Internet Engineering Task Force has a draft working towards fixing such terms in their specification documents. This draft mentions certain commonly-used terms like master-slave, whitelist-blacklist and possible alternatives to make these specifications more neutral in terms of our society. While this draft progresses, I feel that the developers can start bringing changes in some places immediately, starting with renaming a file from blacklist.yaml to blocked.yaml etc.

Post Script: My muscle memory still makes me type git push origin master. Who is the master here? Maybe this should be renamed to trunk as in subversion.