kuniga.me > NP-Incompleteness > Why Do I Care About Names?

Why Do I Care About Names?

20 Sep 2026

Cartoon image of Feynman, generated using ChatGPT

In The Pleasure of Finding Things, Richard Feynman recounts a childhood event in which a boy comes to him and asks “See that bird, what kind of bird is that?” and Feynman concedes he has no idea, and the boy proudly answers himself “It’s a brown-throated thrush” and that “Your (Feynman) father doesn’t tell you anything”.

Feynman pointed out that the boy knew about the name of the bird but did not know anything else about it and used it to illustrate shallow knowledge. Later in life he even joked that this attitude caused him trouble because he often didn’t know the conventional names for effects in physics, but understood them once someone described what the effect actually was.

In this post I’d like to reflect on why I think names can be beneficial.

Lookups

When I used to study difficult textbooks, I often needed to complement them by doing Google searches and I had no trouble finding more information about theorems that had a name, whereas searching for results by describing the topic was much harder. However, one can argue that the fact something has a dedicated name suggests it’s more important and more likely to be written about.

Nowadays with LLMs it’s much easier to search things from their descriptions because LLMs can often find the name for you. So this became a weaker reason.

Checkpoints

Names can also be used as checkpoints, to quickly recall something we’ve learned before. For example, while studying the LZ77 algorithm I had a vague recollection of having heard Lempel and Ziv before, and that helped me find out that I had studied the Lempel-Ziv-Welch algorithm before.

On the other hand, names can end up as a shortcut for learning something properly, as was the case with Feynman’s anecdote. As a more personal example, I used to conduct a lot of systems design interviews and it seems that many candidates got in their heads that mentioning specific keywords in the interview would score them points. Candidates often mentioned consistent hashing and CAP theorem and in many cases they would recite what they were, but they were often irrelevant to the question being asked and gave me the impression they didn’t understand what they were saying.

Encapsulation

Sometimes we have a set of disparate thoughts and observations and by trying to give it a name we encapsulate it into a cohesive bundle. This name can then be used as a handle for the whole concept. For example the term sunk-cost fallacy.

This is like in programming, where we can refactor some code into a function and give it a name. Finding a good name goes hand in hand with finding a good abstraction: if the name is too long or too vague, it indicates the function is not cohesive enough.

There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

– Leon Bambrick

Abstractions allow us to think at a higher level. We don’t have to “load” the details of a concept in our head when thinking, but we can always go one level down the abstraction ladder if needed.

Continuing the analogy with programming, concepts should ideally be atomic, following the UNIX philosophy: “write programs that do one thing and do it well”, or be a composition of smaller concepts. This ties to the other post we have about writing atomic posts, in which we discussed the motivation of having minimal scope posts is to find connections.

It’s often hard to come up with a simple name for a concept, especially for abstract things that might not have relevant words in the dictionary, so we usually name them after people, for example Jevons’ paradox.

Connections

Naming things consistently and properly can help LLMs find connections between posts. I don’t know if LLMs are capable of thinking at a high level or making analogies so having consistent naming and expressing concepts in terms of smaller concepts can help them find connections via text.

One idea I have is to keep a table of synonyms to help bridge some of the gaps in terminology, though I’m sure LLMs have it as part of their model. The Related Posts I put at the end of each post and is surfaced by LLM but that I curate, should serve as RLHF (Reinforcement learning from human feedback), since LLMs can use those associations for future associations.

Reality

Lastly and least, another reason for naming things is to change how we perceive the world, which is related to how abstractions and concepts allow us to think at a higher level. The Sapir-Whorf Hypothesis claims exactly that.

There’s a stronger version called linguistic determinism, which says language determines what you can think or perceive. This is an unsupported theory. A more mild version with strong evidence is the linguistic relativity: the categories and labels provided by language can influence what distinctions are salient, how quickly we categorize things, what we remember, etc.

I learned this effect is a lot less strong than I thought before researching the post, so I left it to last.

Conclusion

I didn’t like the way this post came out. I had a bunch of ideas surrounding naming but I couldn’t put them together in a cohesive way. I had some notes about how I’ve seen people name things, especially projects and teams, but I didn’t find it particularly insightful after reading it, so I removed.

My main goal is to build the foundation for a later post on making connections. The post atomic posts is one piece and naming is another.

There are a lot of interesting philosophical angles related to naming. It touches on metaphysics and goes all the way back to Plato. ChatGPT recommended a bunch of related literature which I’m interested in, such as Through the Language Glass by Deutscher and The Tacit Dimension by Polanyi.

The book Code Complete 2 discusses naming in code and abstractions. I learned a lot of good practices from that book!

In the post On Memory I discussed keeping only an index in my organic brain and offloads details to electronic brains! It’s on point with the idea of working at higher level of abstractions mentioned here too.

In On Doing Things Manually I also touch on learning things properly instead of stopping at a too high level of abstration. Here we can bring up Feynman again, because there’s a video where he’s interviewed and tries to answer why ice by asking deeper and deeper questions.

In Borges’ Ficciones there’s a short story Funes el Memorioso about someone who can remember every single details but is not able to generalize or abstract. He comes up with a naming system to refer to everything.