Book review: The Man Who Ate the Zoo by Richard Girling

AteTheZooA second birthday book: The Man Who Ate the Zoo by Richard Girling is the biography of Francis (Frank) Buckland who lived 1826-80 and can best be described as a naturalist populariser. His father William Buckland was a famous naturalist, and also Dean of Westminster.

The book is chronological in its layout, starting with something of Buckland’s father William Buckland. Who coined the term coprolites to describe fossilised faeces. An early geologist he was also a theologian, rising to become the Dean of Westminster and by this connection his son Frank was exposed to the best in society from a young age.

Girling writes less of Buckland’s mother but there is a rather poignant letter to him from her as he leaves at the age of five to go to boarding school. It is loving but bemoans his impatience and lack of obedience, a letter I might write to my own son!

Buckland’s life at school and then university was unremarkable from an academic point of view but rather exotic. At school he seems to have spent a great deal of time dissecting any number of animals which came under his hand including numerous domestic cats. At the time this appears to have been unusual but no cause for concern. At university he kept something of a menagerie including a bear, named Tiglath-Pileser.

Following university Buckland trained as a surgeon, travelling to Paris in 1849 to dissect victims of cholera, who were in ample supply – the disease killed 19,000 people in that city. After training he joined the Life Guards in London as a surgeon. This does not appear to have been an onerous job since he managed to write a great deal during this time and dissect pretty much what he wanted.

He left the army in 1863, and took up residence in Albany Street, close to London Zoo and married Hannah Papps, who had borne him a child some years previously, out of wedlock – which would have been scandalous at the time. The child, Physie (Francis John), died at the age of four and a half.

Writing then became Buckland’s career. He published Curiosities of Natural History and wrote copious articles for periodicals such as The Field. The house at Albany Street played host to the famous and the “freakish”. Buckland’s interest in nature extended to the unusual in humans: giants, dwarves, hairy women and Siamese twins. Somewhat quaintly the author claims we no longer have the terrible freak shows of Victorian times. I suggest he peruse a few documentaries on TV! 

Buckland was a member of the British Acclimatisation Society whose purpose was introducing new domestic animals into the United Kingdom for the purposes of feeding the masses more cheaply, or better for the same sum. This led to a life of eating all manner of strange and exotic creatures. Perhaps happily little came of their investigations.

Buckland was appointed Inspector of Fisheries in 1867. This started in inland waters where he travelled the country inspecting salmon rivers and also worked on fish farming, eventually sending salmon eggs around the world to populate New Zealand rivers. He was keen to restore the inland waterways to make them liveable for salmon both in terms of their cleanliness and the infrastructure in them – putting salmon ladders beside man-made weirs. Subsequently he worked on marine fisheries. His final substantial work was a report on marine fisheries: Report on the sea fisheries of England and Wales.

The Victorian period was a time of change, early in the 19th century the first animal protection legislation was enacted and towards the end there was a growing realisation of the impact of man on the environment. In a way Report on sea fisheries was a swansong to the old way of thinking, it put forward the idea that the sea fisheries were effectively limitless in their capacity but called for more research into these critical food animals.

Buckland, and his father, lived in the time of Charles Darwin although his father died before the publication of On the Origin of Species  in 1859. The origins of life had been a topic of scientific interest to which both Bucklands made their contribution, on the side of the what we would now call the Creationists.

I couldn’t help thinking of Michael Faraday and David Attenborough when reading about Frank Buckland, neither can claim to be the greatest of scientists but their impact through communicating a wonder of science and nature (and a genuine deep knowledge of them) has been enormous.

The Man Who Ate the Zoo is a pleasant enough read, Buckland is an interesting character and left a legacy in fisheries research. 

Book review: BDD in Action by John Ferguson Smart

bddinactionBack to technical reading with this book BDD in Action by John Ferguson Smart. BDD stands for Behaviour Driven Development, a relatively new technique for specifying software requirements.

Behaviour Driven Development is an evolution of the Agile software development methodology which has project managers writing “stories” to describe features, and sees developers writing automated tests to guide the writing of code – this part is called “test driven development”. In behaviour driven development the project manager, along with their colleagues who may be business analysts, testers and developers, write structured, but still “natural language”, acceptance criteria which are translated into tests that are executed automatically.

Behaviour Driven Development was invented by Dan North whilst at Thoughtworks in London, there he wrote the first BDD test framework, JBehave and defined the language of the tests, called Gherkin. Gherkin looks like this:

Scenario: Register for online banking

Given that bill wants to register for online banking

When he submits his application online

Then his application should be created in a pending state

And he should be sent a PDF contract to sign by email

The scenario describes the feature that we are trying to implement, and the Given-When-Then steps describe the test, Given is the setup, When is an action and Then is the expected outcome. The developer writes so called “step definitions” which map to these steps and the BDD test framework arranges the running of the tests and the collection of results. There is a bit more to Gherkin than the snippet above encompasses, it can provide named variables and values, and even tables of values and outputs to be fed to the tests.

Subsequently BDD frameworks have been written for other languages, such as Lettuce for Python, SpecFlow for .NET and Cucumber for Ruby. There are higher level tools such as Thucydides and Cucumber Reports. These tools can be used to generate so-called “Living Documentation” where the documentation is guaranteed to describe the developed application because it describes the tests around which the application was built. Of course it is possible to write poorly considered tests and thus poor living documentation but the alternative is writing documentation completely divorced from code.

Reading the paragraph above I can see that for non-developers the choice of names may seem a bit whacky but that’s a foible of developers. I still have no idea how to pronounce Thucydides and my spelling of it is erratic.

BDD in Action describes all of this process including the non-technical parts of writing the test scenarios, and the execution of those scenarios using appropriate tools. It takes care to present examples across the range of languages and BDD frameworks. This is quite useful since it exposes some of how the different languages work and also shows the various dialects of Gherkin. BDD in Action also covers processes such as continuous integration and integration testing using Selenium.

As someone currently more on the developer side of the fence, rather than the (non-coding) project manager BDD seems to add additional layers of complexity since now I need a library to link my BDD style tests to actual code, and whilst I’m at it I may also include a test-runner library and a library for writing unit tests in BDD style (such as spock).

I’ve had some experience of managing Agile development and with that hat on BDD feels more promising, in principle I can now capture capabilities and feature requirements with my stakeholders in a language that my developers can run as code. Ideally BDD makes the project manager and stakeholders discuss the requirements in the form of explicit examples which the developers will code against.

BDD in Action has reminded why I haven’t spent much time using Java: everything is buried deep in directories, there are curly brackets everywhere and lots of boilerplate!

I suspect I won’t be using BDD in my current work but I’ll keep it in the back of my mind for when the need arises. Even without the tooling it is a different way of talking to stakeholders about requirements. From a technical point of view I’m thinking of switching my test naming conventions to methods like test_that_this_function_does_something arranged in classes named like WhenIWantToDoThisThing, as proposed in the text.

In keeping with my newfound sensitivity to the lack of women in technical writing, I scanned the acknowledgements for women and found Liz Keogh – who is also mentioned a number of times in the text as an experienced practioner of BDD. You can find Liz Keogh here. I did look for books on BDD written by women but I could find none.

If you want to know what Behaviour Driven Design is about, and you want to get a feel for how it looks technically in practice (without a firm commitment to any development language or libraries) then BDD in Action is a good place to start.

Book review: Where the Animals Go by James Cheshire and Oliver Uberti

animalsgoIt is becoming a tradition for me to receive a beautiful James Cheshire and Oliver Uberti coffee table book for my birthday. A couple of years ago it was The Information Capital, this year it was Where the Animals Go.

Where the Animals Go is a collection of stories and visualisations all relating to the tracking of animals, each story occupies at most a few pages and is accompanied by a couple of maps which trace the paths of one or more of the species in question across the earth. The maps are beautiful.

The book starts with an introduction which covers the evolution of animal tracking technology. The bulk tracking of the movement of animals on an hourly or faster basis has become easier with the advent of commodity GPS devices since the 1990s. Some of these raw data are now being published on aggregation websites such as Movebank.

Precursors to these GPS tracking systems are old-fashioned bird-ringing – a passive technique which relies on recapture of animals and has been around since the early 19th century. The Argos system relies on data from tags being transmitted to a small constellation of satellites – it has lower temporary and spatial resolution than GPS. There are also radio and acoustic tracking methods which have been around from the sixties.

In the text we discover how ants have been tracked in an artificial nest using tiny bar codes, and Daphnia zooplankton have been tracked with fluorescent nanoparticles in a tiny aquarium. Penguin colonies have been identified, and numbers estimated, from satellite imagery of the guano (posh word for poo) that they stand amidst.

I must admit to being a bit of an enthusiast for tracking myself, particularly when out skiing or walking. I used use GPS to geotag my photographs – parenthood has put a stop to such pursuits. I started using GPS about 10 years ago when the process was a bit clunky both in terms of the hardware and the software to process tracks. Nowadays I can record a GPS track on my watch or a mobile phone. So I can easily see how advances in technology relate to advances in the study of animal movement with GPS sensors becoming feasible for ever smaller animals.

After introducing the technology there are then three parts covering animals on the land, in the water and in the air.

The tracks of troops of baboons seemed most similar to the tracks of my Alpine skiing holidays. In this study a number of baboons from the same troop were tracked, this made it possible to see something of the leadership, or otherwise, behaviour of the baboons but this is actually unusual – in most cases a small number of individuals from a group are tracked.

Most entertaining are the tracks of animals who have been relocated for human convenience, and promptly return to the place from whence they came – pythons and crocodiles are in this group. Sadly, I suspect this type of behaviour does not end well for the animals concerned.

Related to this are those animals who live in close proximity to humans and find their why blocked by major highways, mountain lions in California – for example. Animal tracking can show the degree to which major highways cause a problem, and also show the way to solutions in providing corridors.

Sometimes tracking clears animals of what humans consider to be mis-deeds – the tracking, by acoustic sensors, of sharks in Hawaii falls into this category. More benignly it has been discovered that oilbirds in Venezuela did not simply foray out of their nesting caves at night and return at dawn, thus failing to carry out vital ecosystem services such as dispersing seeds. Instead GPS tracking showed that they spent days out in the forest foraging, and roosting in trees.

Generally the animals portrayed are depicted moving in a plane (mathematically speaking) across the land but sometimes they break out into the third dimension – an example is vultures spiralling upwards on thermals. Hang-gliding friends I know would be interested in this. Also included are the bar-headed geese, who migrate across the Himalayas, it turns out they generally stick to the lowest altitudes they can get away with, however they still exhibit great endurance in high altitude flying.

The accompanying text provides detail on what we see in the maps, and also some human interest in the scientists who collected the data.

Another beautiful book, and the references are sufficient for you to go and find out more about any of the individual stories. There is a dedicated website where you can see excerpts of Where the Animals Go.  

A real opposition

Labour no longer form an effective opposition. On the main issue of the day, Brexit, their leader was insipid in the referendum campaign, and the Remain campaign was hamstring because of this. And now the vote has passed their policy seems to be a vague “we’ll do Brexit but not as Brexity as the Tories”. They voted to trigger Article 50 in the absence of any practical acquiesce to their demands on Brexit.

Theresa May led a slim majority in parliament with no personal mandate, and a prime directive: Brexit that a very narrow majority of voters actually voted for and if they did vote for it then it was a glorious unicorn which frankly is not on the table (or in the stable, if you wish to avoid a mixed metaphor). Any reasonable opposition should be well ahead in the opinion polls, not 20 points behind as Labour is now.

The opinion polls as they now stand are not “will they / won’t they form a government”, more “what size rump of the Labour party will be left”.

Their main problem is leadership. Fundamentally a man who rebelled so often against the party in the past is incapable of leading it. The parliamentary Labour Party agrees, 80% of them voted against Jeremy Corbyn in a no confidence vote. Labour MPs don’t want Corbyn as their leader, why on earth should we want him to lead the country?

The problem with leadership has meant that the Opposition has scarcely had a function front bench since the 2015 election, and re-electing Corbyn as a leader as not helped in any way.

Labour as an opposition with a minority of less than 20 seats have been ineffective. Just think what it would be like with a minority in of more than 100.

Labour as a party is dead. It’s dead but it doesn’t yet know it. You can vote for it to make the corpse wiggle for a little longer or you can do something different.

Across the country Labour are saying “Don’t vote for them, they’ll let the Tories in”. The blunt truth is, they will let the Tories in with their utter incompetence and they’ll give them a free hand to do what they want once they are in. They rely on their “hereditary” vote and a presumption that they have the right to any vote that is not a vote for the Tories.

On the 8th June, vote for a real opposition, vote for the Liberal Democrats.

And they’re off!

How did we get here, facing a second general election only two years after the last one?

Theresa May called the election, possibly because she saw that Labour was historically weak – the Tories currently have something like a 20 point lead over Labour in the opinion polls. That’s much larger than any sort of margin of error, and if maintained until the election will give the Tories an overall majority in excess of 100 seats – see the Electoral Calculus website for a more detailed prediction.

Or it might have been because she was going to lose her majority of 17 through resignations of Tory MPs over election expenses. Channel 4 has done some great work researching this story: Channel 4 Election Expenses Investigation. As it stands Tory MPs and their agents could have charges brought against them during the election campaign.

MPs voted by more than a two thirds majority to allow the election, as required by the Fixed Term Parliament Act. In retrospect this is a bit surprising, clearly the Liberal Democrats have an interest in this General Election – things can’t be worse for them than the 2015 election. But why have Labour made this so easy? They could have forced a vote of no confidence instead of voting with the government which would have made little practical difference but would have not looked good for the government.

Of course the original cause for the General Election is David Cameron’s decision to hold a referendum on Britain’s membership of the EU to pacify the europhobic wing of the Tory party. He clearly expected to win the Remain vote in the referendum, and his failure led to the most spectacular act of political self-decapitation that I can recall.

This general election appears to have taken Labour and even Tory parties by surprise, but not the Liberal Democrats – as local parties we were asked by our HQ to select candidates last summer, after the EU referendum.

Regular readers of my blog will be aware that I’m somewhat political. I can’t maintain a mysterious and thoughtful mien in the forthcoming campaign before finally, publically revealing my voting intentions. I am the treasurer of City of Chester Liberal Democrats, so:

Vote Liberal Democrat on 8th June, wherever you are!