Problems of the Inquiring (or Technological) Mind

Well it has been a long while since I last posted here, and for that please accept my apologies, but there have been good reasons. I have been re-assessing life somewhat. I am hesitant to call it a mid-life crisis, since it feels like it has been happening for most of my life!

One of the problems of having an inquiring mind, a curious mind, an analytical mind, is that you tend to deconstruct everything, i.e. you pull it apart. Sometimes there need to be boundaries as to what you will and what you will not pull apart. I must confess I have had problems with where to place those boundaries. And I think I am not alone in this. As I have mentioned before, the puzzle becomes the thing ,and if you have an analytical bent, you can easily forget why you wanted to solve the puzzle in the first place, or maybe sometimes you don’t even know, which means you are usually doing it just for fun.

The impulse to re-assess has come from a number of directions and has a lot to do with a dawning realisation about just how damaging this sort of mind can be.

Firstly has been my attendance at a Science conference in Stourbridge on a rainy weekend in late February (see footnote 1); secondly I have recently started reading what I am finding an inspiring management book called “Theory U” by Otto Scharmer (see footnote 2); and thirdly an article recommended by a friend about a breathtaking display of technological hubris by neurology professor, Henry Markram at the Ecole Polytechnique in Lausanne (see footnote 3).

So what on earth is it that pulls all these threads together and is giving me such a hard time? Well… deep breath… I have been finding it harder and harder not to worry about various environmental concerns and bury my head in the technological sand, saying that we will be able to find solutions to the issues coming our way. A tipping point was when I watched a TV program about James Lovelock originally broadcast in April 2010 (Episode 2 of the “Beautiful Minds” series). Here is a man who is a great polymath and a scientist who is quite happy to be on the outside of the mainstream, pointing out the inherent problems of working within mainstream science at this time.

These different threads have led me to the point where I feel very strongly that there are not just limits implicit in the current mode of thought we have, but that there is a fundamental flaw that is causing wide scale havoc with our environment.

Favourite Metaphors, Quotes and Insights
Thanks to the minds of various giants I like to think I am able to stand on their shoulders and have assembled here some of my favourite thoughts from them that, together, encapsulate some of what I am going on about.

J.W. Goethe: Life is a Conversation. Ah yes, the wonderful idea of Delicate Empiricism.

David Bohm: Thought as a System which creates the world and then says “I didn’t do it!”. So our collective thought is creating organisations which are prisons, and then we can blame the “system” for all the problems, which, remember, we have created.

Rudolf Steiner: The problems of Dualism and the terrific difficulty of getting to Monism (which I link to a holistic way of seeing), though Henri Bortoft helps…

Henri Bortoft: We cannot know the whole in the same way as we know a thing.
This is worth more words here: The whole is not a thing. The way to the whole is through the parts. It is not to be encountered by stepping back and taking an overview. The whole is to be encountered by stepping into, and passing through, the parts.

Couple these ideas with the realisation from my own experience of how difficult it is to recruit competent, thoughtful, software developers and perhaps you can see why I am going through a rather angst-ridden period.

So I have now come to realise that we must must must change the way we collectively think. Obviously this requires us to individually be more clear in our own thought, but there are issues of social technique that we need to learn, which I believe are key to how we turn this around. Now here is a kicker, there is a major link with the whole Risk Averse rant I usually bore friends with. The trouble with all this tech is that there is a risk of letting it do the thinking for us.

My favourite example is the use of a satnav. I hate using a satnav that is telling me which way to turn. I once tested one and found its route choice to be flawed at best. No. I will choose the route thank you very much, and I will use the machine as a very useful map follower which traces where I am on the map. This is exactly what pilots are recommended to do when flying with a GPS. This is a prime of example of how to consciously use the technology.

So… the link to risk aversion. Well if you do not consciously use the technology, you stop thinking. This is comfortable, but in the end, dangerous. It is also very convenient for any government. Since to have a population who are quite willing to follow orders is just fine by them. Risk aversion also puts you in a comfort zone. Again this means you stop thinking. Which is of course tied up with existence :-), as Descartes realised:

I think therefore I am…

And thats enough for now.
See you soon.
Thanks for reading.

1: This was Science from an anthroposophical perspective (the Steiner lot if you don’t know what the word means). I co-presented one session about the “Conscious use of technology”. The conference in general was a positive experience that has started me tentatively re-approaching some of Rudolf Steiner’s ideas. In preparation I read Paul Emberson’s book called “From Gondishapur to Silicon Valley” which I found a difficult read as I felt it was rather too evangelical about just how nasty our present computer technology is. In recent days I have come to have a better view of this, but more about that in a later post.

I have found that, so far, the book called “Theory U” by Otto Scharmer is an inspiring read. It is early days as yet since I am about one third of the way through, but his insights from a personal perspective stop it being a dry book, for me at least, and I can relate to a lot of what is being said. His drive is to get to understand why we carry on doing things that are so destructive, and don’t seem to be able to change the results.

A close friend sent me a link to an article in the Daily Mail about Prof Henry Markram trying to make a conscious computer system. As far as I can see this is all an effort to get some more funding and investment. His approach is breathtakingly short sighted and is yet another instance, to me, of someone playing with their toys.

Why do people become programmers? Really?

In a previous post I noted that an inordinate amount of energy has been put into developing computing technology and especially software.

The question of “Why?” has always fascinated me.

For the doomsayers among us, certainly we can see that the current computer has come directly out of warfare. Just go back to Los Alamos, von Neumann, the atom bomb and so on, let alone the very early technology to allow rapid ballistics calculations. But here I want to deal with the more personal side to it.

So just what is happening here with the people who become programmers? Let me give a quick overview of some of the reasons that make programming enjoyable. Then I will expand on the reasons individually in subsequent posts.

Flow: The Puzzle hook…
Perhaps this is the easiest reason to understand for a non-programmer. The drive that causes people to do crosswords, sudoku, chess, rubik’s cube, etc etc, is one of the main reasons that programmers spend hours upon hours working at a computer without noticing the amount of time that passes. The psychology professor, Mihaly Csikszentmihalyi, calls this experience “Flow”. It provides us with an intimate experience of order, which can be really absorbing, especially if we experience the world as chaotic. And as if you couldn’t guess, there are links between this and culture, and even religion. No wonder good programmers are known as “gurus”!

The Creation hook…
When you start to develop your first programs, they are small and you can very quickly create a little application that is a calculator, a calendar or some such thing. The feedback between having the thought and making it concrete in a computer in some way is pretty immediate. It is at this point that you either get bored at the pedantry of programming, because the comma must go here and the semi-colon here. If so, then in exasperation you move on to other pastimes. But if you get it (a favourite term being “grok” it), then you’re hooked and will probably move on to more and more ambitious projects, possibly culminating in a career in software. Good Luck!

The Control hook…
This is related to the first mentioned hook of Flow. By writing an application you are creating your own miniature world over which you have total control. Sure, you have to learn the language, but you are solving a problem, thinking of the solution, and then putting the results of this thinking into the machine. As long as you follow the strict rules, it wont answer back or argue you with you. The perfect slave. You then become the master. At its best this is not all bad, developing mastery requires discipline and attention to detail, not necessarily bad qualities.

The Elegance hook…
This one usually gets you a bit later on in your involvement with computing. Really good software development requires the minimal amount of code to perform the required operation. However, it is very very easy to write a sprawling program that is 10 or even 100 times as big as it needs to be, and alas, usually due to time constraints, bad specifications, and of course bad programmers, a lot of professional software is like that. To trim it down requires time. But when you do this you find yourself getting a huge amount of satisfaction from producing an ‘elegant’ solution. The minimum amount of typing for the maximum function. I have coined the term “Japanese Garden Software” for this type of code and it is a major drive for any self-respecting professional programmer. (When is a Japanese garden not a Japanese garden? When removing one more rock or plant would stop it being a garden)

So. That should do for now. In the next post I will elaborate more on the “Flow” hook. But first I need to dig out my notes I made from reading Mihaly Csikszentmihalyi’s book.

Be with you soon…

“Flow: The Psychology of Optimal Experience” by Mihaly Csikszentmihalyi.

Communication Shadows

This post is a call to the computer professionals among us to be more aware about computer mediated communication issues:

Have you ever thought why email communication so easily descends into conflict? Is it something we should just accept and get on with? Or can we be rather more in control of the situation?

These questions have bothered me for quite a while now. I believe that we could become better masters of the situation. I present a working hypothesis in this article about what happens during a conversation. I first presented this as a “Lightning Talk” at ACCU2009 and was encouraged by the response which, along with some other subsequent insights, has prompted me to put pen to paper, or rather, fingers to keyboard. Some of the conclusions turn out to be fairly surprising.

Why Should We Care?
I start from the position that as technologists we should be more aware of how electronic communication media can affect human discourse. This becomes more of an issue because we are likely to be a reference for lay-people who have problems with such communication. The trouble is that although we are technologists, the questions raised are primarily psychological.

During a conversation, here defined as occurring between a number of people, (I don’t believe machines can converse, but that is another story) I suggest it is a very rare occurrence for us to talk directly to the “real” other person. We form an image of the other person and communicate with that image. It is then the reduction in the congruence of this image with reality that can cause problems.

It is this image that I call the “Communication Shadow” and it is formed by a combination of our own psychological projections and the various miscommunications and errors made by the other speaker. The greater the discrepancy between this Shadow and the “real” other person, the more chance there is that the conversation will descend into conflict.

The Available Media
So what does this have to do with computing? I have experienced that the various types of electronic communication media will affect human conversation differently. So lets look at some differing modes of communication:

1. Face to face
The best mode of communication we can experience, where we can continually pick up subtle cues: body language, facial expression, as well as the timbre of the voice. Of course it can still be difficult. Something I experience in married life! Even after many years I can still fall into some of the old traps, usually culminating in having the last words, namely: “Yes dear”. I am sure there will always be a job for counsellors. With face to face conversation the Shadow we are creating is (or should be) getting continually updated and modified to match the other person. Conversations in the bar can be hilarious just because we can laugh about how different the shadow image is from the real person, although usually the alcohol will help things move along smoothly.

2. Video and Audio
I have in mind the current set of video conferencing systems which are so useful for long distance communication. Although problems with the video/audio synchronisation can make for a stilted conversation, this mode of communication works very well. There will, however, still be missed cues. Though the image of the other person is important I think that what and how the other person speaks is a greater help in adjusting the Shadow image we have of them. But I would advise caution if you think that there are absolutely no problems with this medium. I have worked in the TV business for many years and know that many celebrities are very adept at promoting just the image they wish by video. The reality invariably turns out to be quite different.

3. Audio only
Usually telephone conversation, which has even more absent cues. Again, since we can hear the other person, it still can work well because we can adjust our Shadow image to make the communication work. I believe it is here where we can start to realise that we are creating a Shadow of the other person, especially if we have not met them face to face. Just remember how surprising it can be to see the person in the flesh after we had been forming a totally different image of them having only conversed by telephone.

4. Text only
The worst form of communication in terms of its ability to foster massively discordant Shadows. In ye olden days, people would take time over letter writing and would therefore ponder, peruse and pause in their thinking. But now we have the chance to “chat” instantly and isn’t that bound to be an improvement? Well, yes and no. Being faster can mean more mis-communication errors are made. On the positive side, the speed of interaction means that we can correct the error by further clarification, before the other person has a chance to ruminate and get too upset.

The Conflict Process
Lets look at a typical sequence that can occur during a textual communication:

  • Person A types some text and is just not quite careful enough, writing something which is ambiguous and just happens to “push the buttons” of a recipient. Needless to say person A is totally unaware of how their message is going to be received.
  • Person B sees what has been written and due to their temperament, and the ambiguity inherent in the message immediately gets offended and starts making all sorts of assumptions about person A. Person A, they think, is a complete and utter twit and needs to be told so in no uncertain terms right now. “How can they think of writing something so preposterous?”
  • So person B fires off a flaming response, usually starting the latest flame-war.
  • So what just happened? It is here where the idea of a Communication Shadow can be useful. What has happened is that person B very quickly created an image of person A, projecting all sorts of personality traits onto them, and then proceeded to communicate with that Shadow. From then on it may all be downhill as person A is likely to do the same with person B.

    Thus we end up with a conversation with 4 people in it! Person A is going at Shadow B and Person B is going at Shadow A. Anybody who can successfully manage and calm this conflict will usually do so by getting both people to step outside of the immediate arena, psychologically speaking, and see what is happening from a distance. If successful this can immediately help them realise that assumptions have been made. Unfortunately in my experience this rarely happens and the protagonists go their separate ways, convinced of the idiocy of the other person.

    The Point
    Now here is the key point of this article:

    The problem is not that this Communication Shadow exists…

    …it is the fact that we are unaware that it exists.

    If we are truly to enter into a more enlightened communications or digital age, call it what you will, then we must become more aware of the processes in which we are involved rather than solely the content of our communications.

    From my experience I can see that programmers may have more trouble communicating than non-programmers. I am not pointing this out as a bad thing, rather it is a side effect of the sort of work in which we are engaged. If you have to think complex structures or processes through in your head, stringing together a number of thoughts, you must reduce your communication overhead while doing so in order to maintain flow. Once you have reached a point where you have enough coherency within those thoughts, you can then communicate them to others.

    We therefore have to live in the two worlds, the inner world of thoughts, the very thoughts from which we create the software, and the outer world of our interactions with other humans, because you need a team to produce a finished product.

    So I hope that you feel that the idea of a Communication Shadow has some merit and may help you to be more reflective about future conversations. Just remember that using text or email is a lot like using powerful Unix commands when logged in as root, you need to check them 3 times at least before hitting the return key.

    [Note for non-programmers: A Unix command allows you to do most things through a textual interface. You don’t need a window based operating system. “root” is the system administrator username on a Unix system]

    Theory Meets Practice – and saves lives

    On Feb 15th I spent some time at Lasham where I fly gliders, helping out with the Lasham Cadets. Unfortunately the weather was not good enough for flying so we had some talks. The cadets had to give a talk about various aspects of the theory of flying gliders, whereas the adults gave a mixed set of talks about work they have done.

    I want to focus on a particular talk given by one of the parents who is a professional in the aviation industry, previously having been a pilot, now also flying gliders. He was making a point about the importance of being able to link theoretical knowledge to practical application, in this case about the theory of flight and saving lives.

    The subject he chose was the accident at Heathrow on 17th Jan 2008 where a Boeing 777 lost power before landing and just managed to touchdown inside the airport but short of the runway. He was particularly highlighting the actions of the captain and the effect it had on the outcome.

    As a preamble it is worth noting the layout of the ground on the runway approach in question, 27L. From the airport boundary fence there is about a 1700ft gap before the runway paved surface starts. Here is a detailed map for the flying nerds among us. Just before the airfield fence you have the main A30 road which is a very busy highway. According to the AAIB report S1/2008 the aircraft touched down “some 1000ft short of the paved runway surface”, so there was only 700ft or so between the touchdown point and the road.

    However, the key statement is in the interim report on page 4 where is says: “At 240 ft the aircraft commander selected flap 25 in an attempt to reduce the drag”. According to the person giving us the rainy day talk at Lasham, this action is not mentioned in any training, although it will be known by pilots because the effect of flaps is a basic theory of flight item.

    Some Theory of Flight
    So what are flaps and what do they do? On an airliner they are like big barn doors that, when down, extend from the rear of the wing. They allow the pilot to increase the lift from the wing at slower speeds. Depending upon the aircraft and their setting they also adjust the angle the aircraft flies at so that visibility is usually better for landing. In this case they had 30 degrees of flap which will have given them a slow flying, high visibility approach. Since with physics, you never get something for nothing, the down side will have been the high drag. In this case the autopilot will have been countering this drag with more thrust from the engines because at 30degrees the flaps were giving more drag than lift.

    Handling the Emergency
    Looking at the approach graph, when the engines gave up, although the glide angle was fairly constant, the airspeed was fluctuating and falling rapidly at some points. This could only go on for so long before the aircraft would have slowed down too far and fallen out of the sky, quite possibly onto the A30 dual carriageway. When the commander selected 25degrees of flap, although the glide angle steepened temporarily, it reduced the drag so that the airspeed stopped falling and the aircraft was able to glide a bit further than it would have done with the 30degrees setting. This would have taken courage because just after reducing the flap there was less lift from the wing so the aircraft lost some height before it stabilised on a better glide angle.

    In any pilot’s training the effects of controls like this are covered. It is something that is relevant regardless of the type of aircraft you are flying. It works just as well for a glider as it does for a 200-400 seater airliner. Luckily what happened here was that the pilot had internalised the theory of flight enough to make the right judgement in an emergency, even though the initial response of the aircraft was going to be losing more height, something he would have known.

    He managed to make that important link between theory and practice.

    The Moral
    Although technology can be made to work well a lot of the time, when an emergency occurs you will be vulnerable. A successful outcome will depend upon making the link between theory and practice. It will not be an academic exercise.

    The Path of Technological Development – A quick overview of recent history

    Lets start with some overview of the love affair that the human race seems to have with technology.

    In the 30 or so years I have been working in the profession, computers have moved from being the province of nerds to now being a fashion item. And, yes, I was a spotty faced geek with glasses spending all hours in front of a keyboard playing some of the early computer games like Dungeons and Dragons – “Get in bucket. Drop bottle. Pick up matches” – usually eliciting the response from the game – “You are in a maze of twisty passages, all alike”. Those games did not need much computing power. Now if you have a Smartphone, it has more power than many desktop PCs of the 90s.

    But the question that has puzzled me is why there has been an inordinate amount of time, money but above all, human energy invested in developing computer software. Where I work, for example, there have been over 2 person centuries of effort expended in writing the software, which now stands at over 16 million lines of software, if not more. This is not out of the ordinary in industry.

    Information technology is just the latest result of a continuum of technological development stretching from thousands of years ago. However it has a special attribute which I will come to later.

    As with the movie character Shrek, even though he didn’t like being compared to an onion, there are a number of levels here:

    The Development of Craftsmanship
    Humans are consummate toolmakers and the computer is the latest in a long line of inventions that have given us more power to predict and control our environment. However, every tool has two sides, just like the proverbial two-edged sword. On the plus side a good tool amplifies our capacities. The down side that is usually forgotten is that any tool will place obstacles in our path which we must overcome by training ourselves to use it properly. Eventually, with effort, we develop more skill and a good tool becomes transparent to us as we use it. This has resulted in the development of craftsmanship and the professions.

    The Development of Automation
    If we look at the beginning of the 20th century, Henry Ford introduced the assembly line to help speed the construction of the Model T car. This was a major change in the way work was carried out and was met by strong opposition. He doubled the pay of his employees, segregated the work, yet stayed profitable because he was able to triple the running speed of the assembly line (see Shop Class as Soulcraft reference). This was the beginning of a massive development towards more automation in the workplace. Automation is about defining sets of rules to follow, and this can be done with some non-physical work, culminating in the current so called Expert Systems. For example I would expect the legal profession to see quite a few changes in this area in the years ahead.

    The Development of Software
    And so we come to software development. Why do I consider it to have a separate place from the automation of other work? With software programming the rules of work are almost impossible to pin down. Software is always written in an unambiguous machine-friendly language, and requires a lot of human effort create, since we have to use the ambiguous human languages to define what we want done. Now to automate software development, which uses a language, you have to… you guessed it… use another language. This means that to improve software development you have to do even more software development! With computing this has been the story so far with many new languages appearing every year, and it does not look like slowing down.

    And so…
    In terms of tool use and development, we have reached the top of a pyramid, moving up from physical work to thought work. We can automate repetitive physical work by using our thinking. But to automate repetitive thinking, we can only do more thinking, but at a higher-level. Of course we need to recognise that we are talking about the more utilitarian mode of thought here, but of course, as you might expect, the view of the path starts to get murky.

    More to follow…

    “Shop Class as Soulcraft – An Inquiry into the Value of Work” by Matthew B Crawford, Penguin.

    Thoughts about People and Technology

    Having been in at the ground floor of the PC “revolution” back in the 70’s, I have some interesting reflections about the bigger picture. Yes, well, I know I would say that, but honest, I think I do.

    I mean, we weren’t even sure that everyone would have a PC back in those days, what would anyone do with them? A top end computer used to mean one fitted with 64K of memory! Luxury, luxury. (With apologies to Monty Python).

    I have come to realise that there are some rather interesting insights to be had here, and you don’t usually get to hear them. The wrinkles to be encountered when people and computers mix have some far reaching consequences for society. Some of the issues being raised so far are only just the start.

    More to come…