obviscating python code for distribution
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Fri May 20 03:04:27 EDT 2011
On Fri, 20 May 2011 05:48:50 +0100, Hans Georg Schaathun wrote:
> Either way, the assumption that your system will not be handled by
> idiots is only reasonable if you yourself is the only user.
Nonsense. How do you (generic "you", not any specific person) know that
you are not an idiot?
If you are an idiot, you obviously shouldn't trust your own judgment --
although of course idiots do trust their own judgment when they
shouldn't, and the less they know, the less they realise how little they
know:
http://en.wikipedia.org/wiki/Dunning–Kruger_effect
So if you think that you're not an idiot, you might be an idiot who is
unaware of being an idiot. Your own opinion is the last opinion you
should pay attention to. The world is full of people with delusions of
superiority -- only an idiot would trust their own opinion of themselves.
You can listen to others, but only so long as you don't surround yourself
with idiots. But how do you know if the people around you are idiots? You
certainly can't trust your judgment, nor can you trust theirs. If you're
an idiot, you (still talking about generic "you") and your idiot friends
are probably all congratulating yourselves for not being idiots.
In contrast, if you're not an idiot, then you probably are aware (and if
not, you should be) of all the cognitive biases human beings are prone
to, of all the mental and emotional weaknesses that we all suffer from,
which cause us to act in idiotic ways. If you're not an idiot, then you
know your limitations, that like everyone, you can be fooled or foolish,
that you can make mistakes, that you sometimes operate equipment when you
are not at the optimum level of alertness, when your attention to detail
is below normal or you are a little more careless than you should be.
In short, that everyone, including yourself, can be an idiot, and the
more intelligent you are, the more astonishingly stupid your mistakes may
be. Any moron can accidentally burn themselves with a match, but it takes
a first-class genius to give chronic lead poisoning to tens of millions
*and* nearly destroy the ozone layer of the entire world:
http://en.wikipedia.org/wiki/Thomas_Midgley,_Jr.
So... if you think you are not an idiot, you are, and if you think you
are an idiot, you are. Either way, even if your software is only being
used by yourself, you should still attempt to make it as idiot-proof as
an idiot like yourself can make it.
--
Steven
More information about the Python-list
mailing list