I know what you mean. I have a fairly good layman's understanding of evolution. Whenever I've been engaged in a discussion on the topic, I'm amazed by the level of ignorance that's often displayed. Especially when people repeat absurd statements like "survival of the fittest" which have no bearing whatsoever on evolution.
That reminds me of when I worked as a consultant with a company that did a lot of military contracts. I had to start on a project right away but couldn't work with sensitive data until my security clearance came through. So I did what any programmer would do, I made up a bunch of data to test the code. The software would produce reports which had to have to have the word SECRET clearly visible on the first page. The funny part was, I wound up producing several boxes full of bogus reports which had to be treated as secret. So they had to be stored and destroyed according to military specs.
I had a friend who did admin stuff for a research group at what was once known as ford aerospace. He told me once that his boss always hated anything SECRET because they then had to install more locked cabinets in order to keep it secure for several years.
All the time. Just recently one of guys I work with got stuck because he was using an STL priority queue to maintain a scheduler's data. The data was keyed on the time a scheduled event needed to run. The problem was that sometimes an event's time needed to change. Normally theses priority queues do not let you change items on the fly. Things get added and they come out based on their priority. He figured out how to override this behavior but couldn't understand why the priority queue was broken after he modified an item inside the queue directly. So, I had to explain to him how heaps and priority queues worked.