Sunday
Apr092006

The +CAL Algorithm Language

Leslie Lamport has extended his TLA+ Tools with +CAL, a language to specify algorithms in.  As he explains:

+CAL (pronounced "plus-CAL") is an algorithm language based on TLA+.  A +CAL algorithm is translated to a TLA+ specification, which can be checked with the TLC model checker.

An algorithm language is for writing algorithms, just as a programming language is for writing programs.  The introduction to the +CAL manual (see below) explains how algorithms differ from programs, and how +CAL differs from programming languages. 

+CAL comes with two syntaxes, one Pascal-like and the other Java-like.  This looks like a cynical attempt to attract the curly-brace rabble (but I reckon most of them would probably fail to appreciate Lamport's distinction  between an algorithm and a program).

Saturday
Apr082006

First Gosling of the Year

egs.jpg

I went round the university lakes with Zoe and Liz this afternoon, the first time for several weeks.  There weren't many birds around; maybe they are busy nesting.  Any how, the pair of Egyptian geese had one tiny gosling.  It must have been only a few days old.

Wednesday
Apr052006

Michael Jackson's Papers

I have a lot of time for the software development guru Michael Jackson: he has thought deeply about important problems, and has come up with original, interesting and practical ways of solving them.  Recently, he has revamped his publications page to include on-line copies of many more of his papers.  This now provides lots of good reading on the subjects of Problem Frames, Requirements and Specification, as well as his earlier work which lead to JSP and JSD.

(If there was a competition for the coolest title for a computing science paper then Zave and Jackson's Four Dark Corners of Requirements Engineering would be my nomination.)

Wednesday
Apr052006

Nuthatch

I am spending a few days with Zoe at my father's in Guisborough.  It has been mostly cold and wet, yesterday it snowed.  This morning was clear and sunny so we went for a walk up Roseberry Topping.  On the way back we saw a nuthatch (Sitta europaea).  It was in a birch tree near the Hutton Village end of the forestry track that runs along the eastern side of Bousdale.

Sunday
Mar192006

The Head of the Black-Headed Gull

One of the signs of spring over the past month or so has been the adult black-headed gulls (Larus ridibundus) developing their dark-brown head colouration.  For most of the year their heads are white with only a dark smudge behind each eye. 

Walking home from the station one afternoon, I was struck by how sudden and definite the change to dark brown colour was, and this got me thinking along the following lines:  The colour change comes on during the breeding season so it obviously evolved in response to sexual selection or mate choice.  One of the theories of sexual selection is that in it animals are (unwittingly) selecting for mates that have fewer parasites.  Suppose that the lice and ticks of gulls are light coloured (dark coloured ones being easier for the gulls to to see and pick out from their mainly white feathers).  Now, in selecting a mate with a dark head in which there are no white spots a gull is (unwittingly) ensuring that this mate has no lice or ticks.  That was all fairly obvious to me, but the problem was why is it only the head that changes to dark brown?  Then the answer hit me: think of how a bird can groom itself and remove lice and ticks: it uses its beak, and which part of its body can it never reach with its beak?  Its head!  If a bird has a louse or tick infestation then the head is precisely where you should look to find out!

I felt very pleased with  myself for having worked this out.  Sexual selection for mates without lice and ticks seems to explain both when the black-headed gull's head turns dark and why it is only the head that turns dark.  Presumably the same reasoning can explain the irridescent green heads of male mallard ducks.

Later that evening I told Zoe of my 'discovery' but she wasn't impressed.  Maybe she is just too young.