Kaushik's Blog

A Few Obvious Things

Sometimes, there are things we think are obvious. We think that everyone else knows these things.

That's not always, or even often, the case. You never know when someone may be one of the lucky 10,000 who have heard of something for the first time.

This happened to me recently while explaining the following concept:

Sometimes, we encounter a problem. Let's call the problem X. We may come up with an approach to solve the problem. As we implement the approach, we find that we're stuck on a tricky aspect of that implementation. So we ask for help, but restrict our question to that particular aspect. Let's call that question Y.

Surely, it is clear that, in mathematical terms, X ≠ Y.

Yet, we have all fallen prey to the XY problem. I particularly like the example of asking how to extract the last 3 characters of a filename when the actual desire is to get a filename's extension. Extensions may not be exactly 3 characters long (e.g., .md, .jpeg)

We may face the XY problem while attempting to simplify, to strip away details and focus on the core. But we must take care to check in on the original ask, to make sure we've not drifted away.

There is a balance to be sought after here. Too much detail can be as problematic as too little.

Consider a paper map. For it to fit on a handy sheet of paper, it must necessarily condense the real world. In doing so, it loses many details. The creators of such a map must have turned their backs On Exactitude in Science.

This lack of detail can be simply rectified by making the map just a bit bigger. Add more details in, more texture and terrain. It is now larger, more faithful.

Perhaps not faithful enough? Expand it some more.

And that's how you end up with a map the very size of the world itself - a map that is perfectly detailed and a map that is extraordinarily useless.