Wednesday, 10 September 2014

Wednesday Science Limerick: MK17 - In memory of those who died

The large plane was flying so high
And no passenger wanted to die 
But a Russian made missile 
With a warhead so fissile 
Brought them tumbling dead from the sky.

Yesterday a preliminary report was published about the fate of the Malaysian Airline's plane MK17 over Ukraine. This revealled that the plane crashed because something exploded close to the plane, and whatever it was shattered into many small pieces which penetrated the front end of the plane, including the cockpit area, at high speed. 
Holes punched in the floor of the cockpit by the explosion
The report carefully avoids saying what exploded just outside the plane at 10,000 metres above the ground but everyone knows that the only realistic possibility is that it was a Russian BUK missile fired in anger from the ground. The missile is designed to violently shatter into fast-moving fragments and there were people on the ground who believed that the way to settle disagreements is to kill your fellow men. Undoubtedly whoever fired the missile had not intended to kill 298 completely innocent people who had nothing to do with the dispute in a country which many of the victims may not have known even existed. But while the deaths may have been a tragic accident there is no escaping the fact that those who fired the missile had meant to kill.

Of course science and technology made this particular incident possible. It could not have happened if we had not discovered how to transport people in metal tubes miles above the surface of the earth. Rockets, and explosives, and the diagnostic tools that helped the investigators discover what happened are all modern inventions. It is at times like this that we must all remember that science is morally neutral and that it is man's brain, motivated by a tendency to hate others with radically different views, which is the real cause of all the death and destruction we see in the world about us.

Wednesday, 3 September 2014

Wednesday Science Limerick: Ethyl Acetate

Ethyl acetate has a nice taste
And pear drops are with it well laced.
This allows us to savour
Its chemical flavour
As into our mouths they are placed.

Just a limerick, without a discussion of the background science this week, as various other activities are keeping me from spending so much time at the keyboard.

Sunday, 31 August 2014

Rural Relaxation: The Twist at College Lake

The Seat at the Top of The Twist
When I want some exercise and a breath of country air well away from a computer key board (and with the mobile phone switched off) I frequently go to College Lake. The place has many different habitats and I have been taking photographs of the Reserve for 9 years - recording the changing seasons - and the improvement made by BBOWT, who run the reserve. 

I have decided that at the end of each month my "Rural Relaxation" post will concentrate on one feature of the reserve and include pictures taken at a range of dates. 

This month I visit The Twist, a winding path with a seat at the top, giving good views across the Lake. There is also a seat at the bottom (at present) which is currently the only place in the Reserve where you can stand really close to the water of the Lake. I say  "at present" because only three months ago the water was covering the path in front of the seat, while the other seat near the Octagon hide is already under water. 

For more pictures and descriptive text CLICK HERE

The Twist and nearby features of the College Lake Nature Reserve
Posted in Memory of Graham Atkins

Thursday, 28 August 2014

The Limitations of Conventional Programming Languages

Under the heading Trends in Programming Dr Geoffrey Sharman, chair of the British Computer Society Advanced Programming Specialist Group, sums up the current trends in programming and developing applications. He writes:
    Overall, programming languages have been relatively stable for several decades. Almost all modern languages are derived originally from Algol and, more directly, from C.
    While there continues to be development of existing languages such as C++ and Java, and of new languages such as Python, Ruby and Groovy, these are recognisable as incremental improvements on an existing paradigm, rather than new paradigms, and therefore exploit widely available programming skills. Notable exceptions are COBOL and FORTRAN, which are firmly established in particular industries, but also stable providing that skills are maintained.
    Similarly, programming tools such as compilers, interpreters and debuggers have improved over many years. The introduction of integrated development environments (IDEs) just over a decade ago provided a significant increase in programming productivity, which continues to be improved year on year.
    No other technologies are in sight that might offer significant productivity increases and, therefore, current attention is focussed on ‘agile’ development methodologies, which seek to offer shortened development cycles and increased confidence in the outcomes of development projects. 
    For the most part, these methods are based on iterative development techniques in which a subset of function can be demonstrated early in a development project and then reviewed against user needs, and enhanced or refined as the project progresses. The success of these techniques is based primarily on refining specifications rather than the development process itself. In other words, answering the question ‘am I developing the right thing?’ rather than ‘am I developing the thing right?’ ... ...

Basically little has really changed since I retired in 1988. The real problem, which has not been tackled relates to the fact that modern computers are black boxes. If a user is running a black box system of any kind they have a serious (and in some cases catastrophic) problem when something goes wrong, because they do not know what has gone wrong or how to correct it. This means that every effort has to be made to ensure that the black box always works correctly - and the more complex the task the harder it is to pre-define and implement every possibility. The article suggests that what are now needed are not better programming languages but better ways of specifying the task and ensuring that the program does what the task requires.

No one appears to have realised that the fundamental problem results in having a black box. What is really needed is a white box system where the user can work with symbiotically with the automated system. Of course things can still go wrong but now the user can see what is wrong and take appropriate remedial actions. As CODIL is a preliminary attempt to build a white box computer I decided to write the following letter in reply to Dr. Sherman's article.
     As a long retired Fellow of the Society I read about the comparative lack of progress during the years since my retirement, and I am not really very surprised. The conventional rule based programming approach lacks the flexibility of the human mind and has problems with the messier aspects of the real world. An analogy with the railways of Victorian times illustrates the problem. Both railway lines and programs need to be planned in advance and only when they have been built can “fare-paying customers” (goods/passengers in the case of trains, data for programs) use the systems. Both are prone to considerable disruption if faults occur in key places, and both are unable to cater for low volume non-standard “journeys” (which do not justify the up-front building costs) and unpredictable real world events. Many bigger and more successful computer systems work because people are more flexible and change their behaviour when offered a limited but very much cheaper service – moving to live in houses built near railway stations in late Victorian times, and using hole-in-the-wall banking today.
     However there are many problems where there are very hard to fully pre-define requirements and where low volume and unpredictable requirements cannot be ignored, We still read of projects in such areas running into trouble. Medical records are a good example. They involve active participation of many people to gather the data, which relates to the real life problems of many people who each have an assortment of medical issues. At the same time medical advances lead to changes in our understanding of the diseases, new ways of monitoring the patients, new drugs and medical experiments, and problems such as the development of drug resistance.
     I have recently been looking back into the relevant computing history. Many of the early experimental programming languages got squeezed out in the rush to develop better conventional programming tools and one of the “lost” languages seems of particular interest in this context. CODIL (COntext Dependent Information Language) was conceived as the symbolic assembly language of a radically new human-friendly “white box” computer architecture, as an alternative to the human-unfriendly Von Neumann “black box” computer. The research was triggered by a study of the 1967 sales accounting package of one of the biggest commercial computer users, Shell Mex & BP, at a time when many of the sales contracts had been drawn up in pre-computer days. The initial research work into CODIL was financially supported by the LEO pioneers, David Caminer and John Pinkerton, but was axed when the old LEO research labs were closed and ICL was formed. A short talk on the first preliminary research was given to the Advanced Programming Group 45 years ago, and several papers were later published in the Computer Journal describing work with a simulator, as no hardware was ever built.
     A re-examination of the CODIL project papers suggests that the real reason for its failure was that the research concentrated on looking into the possibility of producing a competitive computer package and failed to do any essential unrushed blue sky research into why it worked!
    My current assessment is that the CODIL approach represented an alternative mathematical model of information processing to the “Universal Machine” approach of the conventional stored program computer. Instead of a top down rule based approach which uses numbers to represent instructions, addresses and data, within a precisely defined mathematical framework, CODIL takes a bottom up approach using recursive sets rather than numbers as the basic storage unit and makes no formal distinction between program and data. It uses associative addressing and automatically compares patterns to find and fill up “gaps” in incomplete patterns. It appears that the approach could be implemented on a simple neural network and work done 40 or more years ago may prove to be relevant to understanding how the brain works.
     Of course further examination may show that the CODIL approach is not the answer to building complex human-friendly open-ended systems but its very existence could indicate that there are other interesting research gems which were lost in the mad rat race in the early days of computing to capitalise on the market potential of this new invention. 

Wednesday, 27 August 2014

Wednesday Science Limerick: Buckminsterfullerene

A bucky-ball has to be seen
It's called buckminster (dash) fullerene
It is like a football
It's a cage, that's not all
It traps atoms in ways unforeseen.

When I studied Chemistry at university there were three known forms of the element carbon, diamond, graphite and amorphous carbon (such as charcoal). I became very interested in carbon atoms which contained unsaturated hexagonal rings and ended up doing a Ph.D. linking theoretical calculations with their measured properties. It was over 25 years later, in 1985, that the first "Buckyballs" were discovered.
Buckmasterfullerene (chemical formula C60) consists of a sphere of 60 carbon atoms arranged as 20 hexagons and 12 pentagons forming a truncated icosahedron. The pattern is same as the leather faces on an association football and the name was given because an architect Buckminster Fuller designed buildings with spherical domes called geodesic domes. It opens up an exciting new field of carbon chemistry including materials with very interesting properties. Metal atoms can be trapped inside the cage, and bucky-balls laced with potassium are superconductors up to a temperature of 18 degrees Kelvin. In addition the discovery has lead to many other fullerenes being discovered - the most important being nanotubes which can be likened to sheets of graphite being rolled up into a tube.

Note about the limerick below the fold.  

Health, diet and the understanding of what science can do.

A good old fashioned English Breakfast
The Independent newspaper today has an article The science of saturated fat: A big fat surprise about nutrition? which seemed very relevant to me at the moment for family reasons.

Earlier this I was given a very robust talking to by the nurse at my doctor's surgery and as I result I have already lost 7 kg by reducing portion sizes, eating more fruit and vegetables, and cutting out between the meals nibbles. I am taking the need for a daily walk more seriously, and spend an hour a week in our local swimming pool. I am well on track to achieve  my target of 10 kg lost by Christmas, with further losses in the New Year. However my current eating habits may need further  modification when I hear the result of a blood test next week.

Over the bank holiday weekend I had planned several further posts on this blog but was distracted by a urgent phone call - as a close relative was rushed to hospital four days ago with a heart attack. Fortunately it was more of a sharp warning and after an angioplasty the signs are good - but he is even more overweight than I was and one of the matters he will have to address is his weight. We have already had some discussions about what the doctors might recommend.

And so to the newspaper article, its statement that saturated fats do not cause heart disease, and the discussion of why the earlier research was wrong. The article suggests that Our fear of saturated fats began in the 1950s when Ancel Keys, a pathologist at the University of Minnesota, first proposed that they raised cholesterol and therefore caused heart disease. It then goes on to review the findings of Ronald M Krauss when he reviewed the literature on the subject and was able to show that the evidence of a link is inconclusive. The story sounds plausible and he may be right.

The problem is knowing what one can believe. There must be many possible links, some strong, some weak, between the food we eat and our health and in theory science can look for and measure the effects. I know enough about science to know that in theory I could look into the literature in detail and assess the reliability of the information for myself. I could but I don't have the time or motivation to do so. I also realise the very real difficulties of carrying out long term dietary research over several decades in a way that will return statistically significant results. My father was, for a time, a tobacconist and can remember the years it took to get people to accept that smoking could damage your health.

However I have noted that the article is linked to a publication of a book, and there are many different books on the market, articles in magazines and on web sites, and programmes on television which give conflicting advice. Most would claim they are backed by science and a very significant number have commercial interests which could influence their objectivity. 

All this must influence what people think about science. Every one has to eat to live and is interested, in the short term at least, in their health. Good science has difficulties in providing reliable predictions about long term effects of diet - and there is much pseudo-science, such as homeopathy, which has no scientific foundations. This gives Joe Public the impression that science is unreliable, and the lack of understanding could well encourage people to take up issues which have no sound basis.