Why No-One’s Noticed This Before
We’ve been in the software crisis since Grace Hopper inaugurated the practice of debugging, although it wasn’t named until 1968. In that time we’ve seen one methodology after another, we haven’t really made much progress, and here I am claiming that the very ability to program is like the light in the fridge wired up backwards - when we try to use it, it goes away! How come no-one has noticed this before?
The answer is in three parts, at the individual level, the social level and even the logical level. In this section I’ll address the individual level.
In The Man Who Mistook His Wife For A Hat Oliver Sacks describes a woman who suffered an injury to her brain which removed her cognition of the left side of her visual field. She didn’t end up blind on the left - the damage to her brain removed the very concept of leftness, such that she felt that she was seeing completely, even though she knew intellectually that half her lunch remained uneaten. Being an inventive person, she solved the problem by getting a rotating typist’s chair. When she finished eating, she would propel herself around to the right, round and round, until some more food came into view. The point of this story is that when we lose a cognitive faculty, we can lose the very idea of what we can no longer do. We don’t miss what we haven’t got.
The same thing happens with juxtapositional thinking. We know that there’s a peculiar “creative minority”, but we don’t know what’s different about them. To give you an idea of how deep this goes, consider that there are many jobs which involve setting out to find an insight. Programmers are obviously one example, but so are epidemologists who must discover the vectors of disease transmission, planners of traffic systems in cities who can make doing business there possible or hell on earth, and transport managers. The transport manager of a light engineering firm must plan deliveries into loads. Big things must go below small things on the truck, or the load will be unsafe. But early deliveries must go on above late deliveries, or the driver will not be able to get the stuff off efficiently at each stop. Different roads are busy at different times of day, drivers’ working hours are limited by tachometers, married drivers often prefer to get home while single drivers often prefer frequent nights out. And all the orders must be delivered to customers on time. Every transport manager is an unsung composer. They are usually ex-drivers, and whether or not they are good at their jobs can make or break the firm.
So isn’t it strange that we have no word for setting out to find an insight? If an insight arrives unexpectedly we say, “the penny dropped”. But we have no word to say that we’re doing the work of finding one. As a character in The Hitch Hiker’s Guide to the Galaxy unwisely told Arthur Dent, “There’s no call for it”.
For completeness I should add that a correspondent, Mr. Mik Seljamaa, tells me that in the unusual Finnish language there is such a word - “elaytyminen” - which translates as “excellence-forming”. Perhaps this has something to do with the finding that Finnish kids are the brightest in the world in terms of “their ability to use scientific knowledge and understanding to identify and address questions and resolve problems in daily life.” That certainly sounds like they are able to understand and apply what they know in new situations, in a way that involves trusting their own good senses without being told what to do, in keeping with the ideas presented here. I wonder what’s atypical about Finland in this respect?
We don’t miss what we haven’t got, and this can lead to seeing things in profoundly different ways. A person who frequently does juxtapositional thinking is aware of the importance of self-consistency in their thinking. If something doesn’t “hang together”, they know they have made an error. Often they use self-consistency as the basis of their thinking, deducing that something must be missing, and then being able to find it. A person who is rarely if ever in a position to do juxtapositional thinking, will not consider or expect self-consistency in this way. Their view of reality is therefore fragmented. If they don’t require their understanding to hang together, they develop the idea of “mere facts”. What are facts? What do they prove? Nothing! Instead they use their focussed attention to concentrate on compliance with a proceduralism, and they don’t let mere facts get in the way. They certainly don’t trust their own good senses.
This can lead to some very bizarre consequences. One example is the strange history of Hungarian naming conventions. For years, the coding standards at many sites required us to use a bizarre variable naming convention where the type of variables was coded into their names. There was clearly no benefit to this at all, and it made the code damn ugly. Yet despite the obviousness of this, the “mere facts” brigade kept insisting that there were untold benefits which the doubters were too intellectually limited to understand. It turned out it was all a horrible misunderstanding of a once good idea at a certain time and place. But for those who can’t trust their own senses and instead focus on compliance, what mattered was that someone else had said there were benefits, even though it made no sense. Spolsky gives the full story near the bottom of this page.
Over the years I’ve seen this issue of people expecting self-consistency come up over and over again, as it influences their ability to spontaneously notice errors or contradictions, tendency to reason based on assuming self-consistency and ability to follow arguments that use self-consistency. So I was delighted when a correspondent, Mr. Jeff Read, pointed out a paper, The camel has two humps by Saeed Dehnadi and Richard Bornat. It’s worth reading just for their frank description of the scale (and to date, intractability) of the problem of teaching people to be effective programmers. The authors describe their discovery of a test of programming aptitude which is remarkably accurate, and may be applied before the subjects have studied programming at all. They find that their students fall into three groups (utterly clueless, poor and good). The poor and good groups form two distinct humps in the distribution of exam results. They gave some test subjects some programming questions before and after teaching them, and found an interesting correlation with how the subjects responded to questions involving assignment e. g.
a = b. (Remember they haven’t been taught any programming yet.) It turns out that the students who always interpreted assignments consistently (even if “wrongly” given the syntax of any particular language) were destined to be in the “good” group with high probability. They report that most of their colleagues do not guess this, but here it makes perfect sense. It is the students who frequently enjoy juxtapositional awareness that are sensitive to consistency (or apply the same thinking in an orderly way to multiple questions), and they are the ones who will be able to use juxtapositional thinking when programming. Awareness of self-consistency is important in itself in many ways, but I think the test really works by probing for frequent juxtapositional awareness, which leads to such sensitivity to self-consistency. It would be very interesting to see if the clusters predicted by Dehnadi and Bornat’s test also correlate with clusters from the Embedded Figures Test.
Things get even stranger when the “compliance” does not produce the expected results. Sometimes people will see this as some kind of Sacred Mystery and change the subject as quickly as possible, rather than examine what happened and understand why. Without the expectation of self-consistency, understanding anything ceases to be a reasonable aspiration. Other times, they will rewrite history. Plenty of people have seen this happening, and it’s easy to dismiss it as cynical and shameless dishonesty, but it’s actually more complicated than that. I suspect that our biology gives the highest priority to keeping us functioning in situations where otherwise we would be paralyzed by confusion. For example, we all have a blind spot as a result of the architecture of our eyes, but to stop us being driven crazy by this, the mind does an amazing extrapolation and memory trick, and fills it in. We can only detect the blind spot by deliberately fooling the extrapolation system, putting something into the blind spot and watching it disappear. Likewise, people suffering from the memory loss disease Korsakoff’s Syndrome are unaware that they have huge gaps in their memory. Instead their minds fill in the blanks with pure fantasy, and the people are so unaware that they are doing this that they will tell their tall tales with every indication of complete truthfulness, shifting from one fantasic narrative to another, quite unaware of what is happening. They themselves think their stories are true. It’s called confabulation, and it is a very strange thing to witness indeed. Having seen it happen to someone who was deteriorating due to years of alcohol abuse, I can say that it is actually a blessing. The person is completely messed up, but is spared the terror which might otherwise accompany such a state.
The amazing thing is, many completely healthy people will confabulate, as the remarkable choice blindness experiments demonstrate. In these, subjects are shown two pictures, and invited to select the one they prefer. They are then handed the card, and invited to explain why they made that choice. Sometimes the researchers switch the cards during the handover, and the subject will give a detailed but confabulatory explanation of why they picked the card that they did not pick! So perhaps it’s not surprising that when “perfect” proceduralism, or narrow minded thinking leads to disasterous results, people are seen to rewrite history. It’s also interesting that the Beversdorf group has studied such false memory formation, and in the paper Increased discrimination of “false memories” in autism spectrum disorder it appears to be the case that people who (I believe) retain juxtapositional thinking, are much less vulnerable to such confabulatory self-delusion. (I promise I’ll discuss the peculiar minority, truly I will…)
Even more shocking are Asch’s conformity experiments, which show people clearly denying the evidence of their own senses in order to conform with a group. Where people are so loosely grounded in their own perceptions, it’s hardly surprising that stressed out groups can misperceive their situations, and not be able to recognize that it is happening.
Solipsism at Work!
Amongst some people, such confusion has been elevated to a philosophical ideology. I once watched a very lost group working near to me, who had spent months trying to print out a graph. It was all very complicated for them. Eventually they decided to purchase a third party graph drawing component, which advertised that it could print out graphs. After considerable administration they obtained a binary library, which they were not then able to link. One day it became apparent that the component extended a base class of the Qt graphics toolkit, while their program used MFC. Foolishly, I ventured to suggest that if the base class wasn’t available, a derived class couldn’t be linked to it. One of the workers informed me that this was “my opinion”. I should have left it alone, I know. But I used to work in a useful industry. I explained that it was a simple fact that if the base library dependency isn’t there, the component can’t link to it. He looked at me and said, “There are no facts, there are only opinions, and all opinions are equal.” The correct Defence Against the Dark Arts in this case was given by the physicist John S. Bell:
I have noticed that solipsists, where they have children, always carry life insurance.
So perhaps it isn’t so surprising that no-one has noticed that the fridge light goes out whenever we try to use it, or that in the bizarre fragmented reality that results, some sites mostly resemble the nightmares of Franz Kafka.