There is problem solving.
Then, there is troubleshooting.
I am putting the last touches on a beta version of Howl - provocative tech to radically transform the C# programming experience. It has been very hard work, and I cannot wait to tell you all about it.
I will wait.
I left the comfort of my preferred operating system and went to check the "Windows situation".
One thing leading to another: the atom-tree-sitter-npm-gyp stack I am depending on may or may not percolate on Windows as easily as it brewed on Mojave (notice I didn't say "macOS" as this would include Catalina).
As Windows is displaying its "blue screen of updating" please make yourself comfortable: let me stir your trouble-gazing spirit.
One step towards solving pesky engineering problems is gratitude.
Why need I install (to me) relatively obscure software instead of sitting on the couch munching pop corn?
The answer is simple: it has everything to do with me right now : Gyp powers Tree-Sitter - awesome tech - which powers my syntax highlighting; which tremendously (chuckle) enhances the user experience of my (as yet non-existent) users.
The opposite of gratitude is: negging the software stack you are standing on.
I brewed coffee. Got a break. If this drags on I will go and learn more about GYP, cause why not?
Onto another, equally important dimension in happy, effective trouble-shooting.
In all, a lack of patience for technology(*) has influenced my career and learning orientation throughout. You could say I am more of a CS guy, less of a hacker.
Two years ago I was offered decent work involving compatibility. Meaning, switching between OSes. Installs and re-installs. VMs. Ironing every kink. Herding compilers.
This has taught me one thing: a goal oriented, inductive mindset does not solve everything. If you try to solve this kind of issue with a mental hammer, you will tire out and give up.
People say "admire the problem" sarcastically.
Meanwhile, many setup/installation/wobbly tech annoyances get solved by moving in quietly and instead of "how do I get this @#$^$% thing to work", be "Okay, I want to learn about this, let me see how it works".
All the way to
〜 I will check out the source and rebuild this whole thing myself to see what fork in the code caused this error to display.
Hammers are for breaking doors, not assembling clockwork.
The blue screen of nether is still on. That's okay. With patience, gratitude and an open ended approach to engineering problems... ...some things are possible.
Technology being aptly defined as "what doesn't work".