Rambling: Ullswater, Lake District

Ullswater is one of my favourite spots in the Lake District. This was a low-level walk from the Pathfinder Short Walks series, with a minor embellishment to take in Silver Crag – we were blessed with good weather and lovely views across the lake.

The walk was booked at 5 miles from the car park in Patterdale (mind you, the book said that parking would cost £1 and it has gone up to £4.50 in the 10 years since I bought the book!). My technology recorded it as 23000 steps and 62 floors climbed.

Leave a comment

Filed under Rambling

IET Meetup: Artificial Intelligence Marketing, Lisa de Bonis & Gary Jobe

Lisa de Bonis and Gary Jobe work for Havas, a communications and marketing firm who aim to demystify technology and find commercial/strategic applications for their customers. They frequently use cognitive systems like IBM Watson to understand imagery, language and unstructured data – enabling them to reason, learn and interact with the data.

Lisa demonstrated the power of today’s AI via Google Quick Draw, which can recognise pretty basic hand-drawn pictures, based on millions of examples of drawings of the same subject by other people.

Perhaps the most compelling example was Lisa/Havas’s involvement in EagleAI – a commission by ITV News during the recent US Elections. Given that news organisations all had access to the same polls, ITV News wanted a different angle. Havas had just 4 weeks to put together a system that could analyse speeches, tweets, blog posts, debates from the election campaign. The aim was to use AI to determine the main motivators for the electorate and provide insight. Whilst traditional pollsters predicted a Clinton win, EagleAI predicted a Trump win, and found he was in the lead throughout (being more in touch with the motivations of the voters).

Leave a comment

Filed under Meetup

Book Review: Memory Man, David Baldacci

Memory Man is the first book by David Baldacci to introduce Amos Decker. As a professional American footballer, Decker suffered a massive trauma to the head, changing his mental state forever – he now has hyperthymesia, he never forgets anything. Indeed, he can review any events from his life in full colour, even from before the injury. This, of course, is massively useful for someone whose job is analytical – Decker uses his new skills, becoming a gifted detective in the local police force.

Scroll forwards, and Decker’s life is interrupted by another shocking event – his wife and young daughter are brutally murdered in his home (as well as the wife’s brother – this was glossed over in the book and the plot didn’t seem to require the additional murder). After that, his life goes quickly downhill – he loses his home and job, living out on the streets. Only belatedly, he finds the resolve to get some Private Investigator work to pay for temporary accommodation.

So much for the back story. The plot for this book is that a serial killer is on the loose, massacring students and teachers at a high school and then proceeding to kill an FBI agent assigned to the case. The killer leaves personal messages to Decker, but ironically he cannot remember anything connected to this case that would help to identify the culprit.

I gather there is going to be a series of thrillers featuring Amos Decker and he’s a much more complex and sympathetic character than, say, Agent John Puller in another of Baldacci’s series. If the others are as readable as this one, then they’ll be worth following.
Four stars

Leave a comment

Filed under Book Review

Rambling: Cat Bells and Derwent Water, Lake District

This visit to the fabulous Lake District National Park was greeted by sunshine and fine views – a rarity in this part of the country. Cat Bells is deceptive, from a distance it doesn’t look much of a challenge, yet it is steep and strenuous from the very beginning. The initial climb is followed by a scramble up to a peak that makes you think you’ve arrived. In reality, there’s another peak to go, followed (on this occasion) by beautiful views across Derwent Water. I chose a route that took us down the other side of the hill and back along the wooded shores of the lake.

This walk from the Lake District Pathfinder Guide was booked at 4.5 miles (but you could add on a mile to allow for parking some distance from the hill). My phone recorded 25000 steps and 118 floors climbed.

Leave a comment

Filed under Rambling

Book Review: The Wrong Side of Goodbye, Michael Connelly

This book is from the Harry Bosch series by Connelly and comes at a critical time. Detective Bosch has left the cold crimes unit in the LAPD, so how can the author continue to provide him with a stream of crimes to investigate? Take on some private investigator work and volunteer for the San Fernando Police Department – that’s how. This gives an interesting mix and new dilemmas – Bosch is forbidden from using police resources (such as databases) for his private work, but will he abide by the rules?

In this thriller, Bosch investigates whether a billionaire industrialist has an heir to his fortune (a private assignment) and is hot on the tracks of a serial rapist he calls ‘The Screen Cutter’ (police work). Meanwhile, his daughter Maddie has started at university, giving a glimpse of Bosch ‘the man’ as well as the detective. I loved his attempts to improve her security by putting a dog bowl (full of water) outside the kitchen door. There’s also a cameo for Bosch’s half-brother, Micky Haller, on the inheritance case.

Leave a comment

Filed under Book Review

Rambling: Bourton-on-the-Water, Cotswolds

I’d been looking forward to this ramble in the Cotswolds for a while. Though not a National Park, the Cotswolds are well known as an area with beautiful countryside and idyllic stone villages.

I chose a 10 mile circular walk from Bourton-on-the-Water, through Lower Slaughter, Upper Slaughter and Naunton. Though lacking much in the way of hills, this walk passed some lovely meadows and rivers. Naunton also has a famous dovecote, built in 1660! Although this walk was worth 34000 steps, the lack of hills meant it only accounted for 40 floors climbed.

Leave a comment

Filed under Rambling

C++ London Meetup: FFIG and Why Iterators got it Wrong

This month’s C++ London meetup features two talks – the first on C++/Python integration and the second on C++ iterators.

Foreign Function Interface Generator (FFIG) – Jonathan Coe
Jonathan presented his hobby project, FFIG, largely written on the train during his commute (!).

I want to be able to write C++ code and call it from Python without doing any extra work

He explained that existing solutions (Boost::python and SWIG) generate interfaces that bind you to a specific binary Python implementation. Whilst a work in progress, FFIG’s generated libraries are Python library independent (meaning you can compile once and call from multiple Python libraries).

FFIG generates a C-API on top of your C++ code, which eliminates any classes/structs, but provides a library readily callable from Python. It also generates a Python (or Ruby) library that layers the objects over the C-API, to restore the original interface. A key lesson learned during development was to hide any ownership concerns from the Python layer.

Why Iterators Got It Wrong – Arno Schödl
Arno has developed a range-like library within his firm (Think-Cell), which addresses some features of iterators perceived as ugly:

// Iterators returned by begin() and end() are asymmetrical
auto it = collection.begin(); // start of a non-empty collection
std::cout << *it; // ok - prints the first element of the collection
auto it2 = collection.end(); // end of a non-empty collection
std::cout << *it2;// error - undefined behaviour, end() returns 1 past the last element!

// Algorithms may return a valid element or a sentinel "border" indicator
std::vector<int> v1{0, 1, 2, 3, 4}, v2{};
auto result1 = std::find(std::begin(v1), std::end(v1), 2);
std::cout << *result1; // ok
auto result2 = std::find(std::begin(v2), std::end(v2), 2);
std::cout << *result2; // error - de-referencing end again

The summary was that his library distinguished between elements and borders instead of using iterators. Once rolled out through the codebase, this made the code clearer and avoided any chance of undefined behaviour. However, I think the availability of Eric Niebler’s Range library (or simple higher-order functions) make the STL so easy to use that these concerns shouldn’t put off new developers.

Leave a comment

Filed under C++, Meetup