Questions Considered

Notes on thinking, learning, decision making, and occasionally running. Simple ideas, mostly obvious.

Discovering first principles

There is value in reasoning by first principles and there are different approaches you can take to discover the first principles at play in a given situation. I will leave that for future posts. Here, I want to briefly cover a foundational truth about this.

What does it mean when you determine those first principles? What is the nature of that?


The first principles you find are, themselves, a mental model. By identifying those core truths, you are not just uncovering some isolated facts. You are building a simplified framework that represents the essence of a reality you are examining. So, to discover first principles for something means to discover mental models for it.

Imagine you are in the kitchen, preparing a meal. You soon realize that you often find yourself in a state of waiting — food is in a blender or a food processor, in the oven, a frying pan or on the stove — and it just needs time. This is unavoidable, but there are other things that you can do. Perhaps you clean up your work area or prepare the next bits for the meal. You utilize idle time.


One powerful aspect of mental models is that they sometimes easily transcend the context, where they were originally discovered. You can try them out in new situations, and often, they transfer well, providing valuable insights across different domains.

Should you find yourself on a bus, commuting to work, you might again realize there is nothing really you can do speed up that process. So, instead of simply waiting, you might read a book, listen to a podcast, or catch up on emails.

In computing, this principle of utilizing idle time shows up in multithreaded programming, especially during expensive I/O operations. When a program’s main thread is waiting on tasks like data loading or the completion of network requests, additional threads can handle secondary operations in parallel, maximizing the system’s efficiency. Just as you make productive use of waiting time in the kitchen or on a commute, multithreaded computing optimizes idle moments to ensure a smoother, more responsive experience.

Often, the more mental models transfer, the more use you get out of them.


Of course, all this also means that the first principles you discover are the map in the map and territory disconnect. They are the model, but not the reality that they describe.

Discover more from Questions Considered

Subscribe now to keep reading and get access to the full archive.

Continue reading