Problem Solving 2192.1029.1777

Filed Under (GFX, work.BLOG) by WildFire on 24-11-2005

Programmers or developers or any human in the problem solving workforce, tend to have difficulty solving the problem if their minds are clouded beforehand with buffered and imagined scenarios that they think will cause complications to occur.

Anticipating problems which may possibly occur in the future is a good programmer virtue, yet sometimes, it can serve as a hindrance itself to attaining solutions.

It is always good to have a Plan B, but always keep in mind why you need that alternative. Forgetting the real reason of having conceived a plan B in the first place can sometimes mislead you.

I have this Plan B in case Plan A will not work considering I'm using an A-10 approach and Factor A-9 exists.

Enumerate first the real possible causes that prevent A-10 approach from working before jumping to Plan B, which most of the time is a lazy way out.

Never blame Factor A-9 too.

Sometimes we do have this set of possible causes which blind us.

And blind us big time, it does.

Validate those variables first. Sometimes the most efficient solutions are aligned with the most simple and obvious answers.

CLICK for a LARGER much SEXIER version.

Last week, I decided to include a TreeView control in one of my newly converted VFP8-to-VFP9 projects. During the development phase, my mind was already clouded with the possible DLL-Hell related stuff, possible VFP9-libraries-on-site compatibility issues, the well-behaved Windows 98SE machines in my clients site, green alien abductions and countless possible shenanigans that might occur.

And so it goes, after two failed installation attempts, DependencyWalker tinkering, InstallShield version upgrades (and even downgrades), CD archive searching, three CPU testings, OLE/DLL manual gathering and regsvr32-in', compilations and recompilations, VFP5 Developer's Guide skimming, screaming, punching, calling the gods of Asgard... and countless other efforts, I still... was unsuccessful.

Only to find out that the real cause of the problem lies in my code itself.

You might blame my alien-related paranoia for not detecting the problem right away, but... the main reason is that my mind was already clouded with too many factors that prejudiced/poisoned/muddled the problem solving process.

Free the mind, human.

Even the most complex problems are dealt with with an array of systematic step by step simple solutions that work.

You don't need to study rocket science to be able to do that.

(And go back to the pen and paper approach if needed. (Papers rock!))