Sometimes what we want to solve is problem X,
but we get tangled up in problem Y,
and ultimately fall into the trap of problem Z.

A Simple XYZ Problem

Most of the time,
our brain thinks linearly about problems.
Sometimes the more we think,
the more easily we fall into the trap of the problem.

  • For example, I need a nail clipper.
  • The day before yesterday the nail clipper was on the desk in my room, but my mom tidied up the desk yesterday.
  • I remember mom seems to have put all the stuff in the drawer of the study.
  • But the study has several drawers, and I want to figure out which one the nail clipper is in.
  • So I ask my mom: What’s in the drawers of the study?

In this case,
if we summarize using the XYZ problem framework,
problem X is where is the nail clipper,
but the Z problem I asked is what’s in the drawers.

Of course,
this example itself is shallow and extreme.
My mom can easily see that, if you used your head a bit more,
you could just ask where’s the nail clipper directly.

But many times the problem isn’t that simple.

A Real XYZ Problem

I’m not good at writing web pages,
but every time I want to try writing web pages.
It’s kind of like those people who can’t eat spicy food,
but still want to eat spicy food.
In this case, I easily fall into the XYZ problem.

For example, I needed to write a typewriter effect.
Based on my command-line programming experience,
I felt that the typewriter effect could roughly be equivalent to updating the content every 0.5 seconds.
And I felt that this could roughly be equivalent to update content, wait 0.5 seconds, update again.
So I searched JavaScript sleep 0.5 second.

/(ㄒoㄒ)/
Sadly,
the solutions I got that way were far from what I wanted.

So the best way to solve the XYZ problem is:
Clear your thinking, find problem X, and solve it directly.

In this JavaScript example,
our problem X is actually JavaScript typewriter effect
(searching with this will turn up many ready-made solutions)

Chinese Class Teacher Says We Need to Write a Conclusion

As the saying goes, crude words don't mean crude reasoning; crude reasoning still carries deep meaning.

When we encounter problems in the future,
we can also think:

  • What is our problem X?
  • Have we fallen into the pit of problem Y?
  • Does solving problem Z help solve problem X?

:)