Sunday, April 28, 2013

A priori ideas and metaphors

One of the obstacles to understanding is the existence of incorrect a priori ideas and metaphors.
I offer a technical example:
  In TCP network programming there is an idea of a server and a client. People are often told that a good metaphor for a connection is a telephone call. They might then come to the conclusion that in a communication between two sockets neither is a server because it does not look like there is a server role when you ring someone: "both are in the same situation"

Another one, easier, concerns drag and drop operationson file icons in a Windowing interface.
In some cases it means copy and in other cases it means move. You can imagine that it is not a priori obvious that there should be this distinction.

Anybody teaching should try and identify potential a priori ideas so as to correct them.


Friday, April 19, 2013

Communities

It's been a long time, decades since I have read Michael Polanyi's famous book
"Personal Knowledge" but I believe it's relevant.
I shall risk trying to explain some of the ideas that remain:
Knowledge and the attendant understanding is an affair of communities.
The quantum mechanics community is relatively separate from the pure mathematics community etc...
Each community not only has its assertions and theories but they also have
tacit knowledge that is transmitted by living and working in those communities.
You just cant pick up a book and expect to understand easily by turning the pages.
Communities probably even have different criteria for what passes as truth.
It's that deep.

More later.


He doesnt understand how to answer email.

My friend, let's let him hide behind the name Bob, is in his seventies.
Occasionally I send him  email but he doesn't answer back.
Every time I ring him he reminds me that he doesn't know how to answer
email.

This should make you think.
The traditional reaction of many younger is to conclude that he must be senile.
Now he's not stupid, and it's not going to get any better the longer it lasts.
So what's going on?
I dont have the answers, but we could explore some:
  • He's getting "computer fright" (is that the right term) and this is getting ingrained. People who get this are also afraid of making a mistake, so they dont explore.
  • He realises that once he wants to understand how to reply to email he's going to be learning lots more and he thinks the investment is not worth it.
  • He's set in his ways.
  • Somebody needs to show him.
Some people get out of it by writing a recipe: press this button and that and follow the recipe rigidly. Clearly this is not understanding.

One point I want to make is that adapting to a piece of technology can appear to require a huge investment, the little bit you learn is only the visible tip of an iceberg of knowledge.
New information always perturbs our system.

What I have just written is a rough draft. What do you think?

Software patterns can be hard to understand at first

Let's take the fashionable concept of Software Design Patterns.
If you read the foundation book by a group known as the Gang of Four, you can be tearing your hair out wondering what on earth they are saying. On the other hand, if you are prepared to put up with the jokes and you know Java then the book Heads First Design Patterns makes the learning much easier because they present the subject from the perspective of a simple task you are given to solve.
The problem with many descriptions of design patterns as they are expressed in the "abstract" is that
they are using English words which are images, but it's very hard to work out how to interpret them.
And yet I get the impression that their authors think that they are being perfectly clear.

So you need a good strategy to understand the concept. A key element is patience, just keep on reading.
I had started but not finished the head-first design patterns book and then went on to read the Wikipedia
articles on individual patterns. It turned out, it seemed that the best strategy for me was to look at the code samples in Java, surmise what was trying to be accomplished and then go back to the "abstract definition".

And then it seems that it's so much easier than what it seemed to be.


Comfortable/Unconfortable concepts

Let's suppose we try to define a concept in mathematics like this:
A set of integers is Moustierian if it contains the integers 6823807439 and 523098064.
I just made this up using random numbers of course, but I would be hiding this from my listener.

In a way it is a trivial but the person that is given this concept will not feel that this is a comfortable concept because he/she will be wondering where on earth did I get those numbers from?
And where did I get that strange name?
So there will be a number of hanging questions, which are like weights attached.

Did I mislabel this blog?

I have let this blog alone for quite a while, but I often think about the subject.
It seems to me that the title of the blog could have been better adapted to the contents that I have put in and will probably put in, namely it's about understanding technical subjects like computing, mathematics, physics and chemistry rather than understanding say the  Chinese philosophy of the 13th century or understanding French philosophers after World War 2. There are common features of course to all subject but I'm not competent enough to discuss these much.
But while I'm on the subject let me mention the shock I had when I came to France, picked up a book by Gilles Deleuze and tried to understand what he was saying. Being used to discussion from English analytical philosophers I was very put off by the French philosopher's style. Lots of anglophones would agree, coming from a world where they had read someone like say Nozick.

If I wanted to read such a French philosopher I would need a strategy, adapted to someone from my culture.
I would have to have been told how the French typically organise their discourse, which is often different to what anglos are used to. And there are the individual words of course, but that is not sufficient.