Wednesday, March 26, 2008

Why Honesty?

I won't go so far as to say "Thou Shalt Not Lie". Lying is a legitimate form of self-defense. When done unprovoked, it is an act of aggression.

I wont go into the whole logical derivation that honesty is in your personal best interest. You have to get to those kind of truths on your own for them to be of real value to you. I will go into some thoughts on how dishonesty might foul up your software, however. Note: The same reasoning applies to Theft and The Use of Unprovoked Force.

The conscious brain is not always aware of its own thought processes. There are sub-routines, sub-sub-routines, etc. going on all the time, affecting every action you take and every move you make. The subconscious brain uses what you have determined to be concrete facts or high probabilities to process and analyze input. If one of these beliefs is that one should not lie, and you do anyway, the sub-conscious brain needs to put the behavior in memory in a manner that is consistent with stored information.

Now the brain has to come up with ridiculous sub-routines like "One shouldn't lie unprovoked, unless you really want to, and the victim is wearing a blue tweed suit." You wont necessarily know that little line of code has been created, but it's there. It will stay there until you consciously acknowledge a grievous error and make your behavior consistent with your fundamental beliefs.

Contradiction between what you are convinced you believe and your actual behavior lead to software bugs. If you can't change your behavior to what you think you believe, take a close look at your fundamental beliefs.