I spend the majority of my day attempting to convince my computer that I'm not an idiot. Some days I'm more successful than others.
One way to help improve this process is to write software in such a way that it can be unit tested. Unit testing involves ensuring the building blocks of your code operate as you expect on predetermined inputs and outputs. If you test well enough, you can rest assured that your code is doing what you think it is doing and more importantly what you want it to do. You might say untested code is inherently wrong because you can't trust it.
Unfortunately, there is no unit testing framework for opinions. There is no magic to automatically check the veracity and intent of a thought or statement. This is made worse by the expanse to which we can share our ideas these days.
Just because you can type or say it doesn't make it correct. We take other people being wrong to imply naiveté (but too often we jump straight to stupidity) in our society. I wish it meant something more akin to having a unit test fail and that they should try again.