Book Review: The City and the Stars, Arthur C. Clarke

Another book from the SF Masterworks series, this one traces the adventurous Alvin, a unique individual in the city of Diaspar on Earth. Set a billion years into the future, Diaspar is the only city left, run by AI and repaired into perpetuity by autonomous robots. Yet Alvin feels that something is missing and has a deep yearning to explore beyond the city. He discovers a route to Lys, a community set in countryside far from the city, where the populace has evolved quite differently from those in Diaspar. His destiny is to unify these divided communities and to re-examine the shrouded history that separated them in the first place.
Four stars

Leave a comment

Filed under Book Review

C++ London Meetup: Pointers and Errors

This C++ Meetup, held at Skillsmatter, was split into two talks.

The first by Ervin Bosenbacher was Modern C++ Smart Pointers in C++ 17, 20 & Beyond. It served as a good introduction to smart pointers and motivation for using them, particularly for developers new to C++ (or those who had not yet started to use C++11). The talk covered:

  • Issues with use of raw pointers (ownership, how to delete, exception safety)
  • std::auto_ptr and why not to use it
  • std::unique_ptr and std::shared_ptr – trade-offs and performance figures
  • Use RAII – assign a raw pointer to a smart pointer as soon as it is allocated

A good point was that use of std::shared_ptr means that other parts of the codebase can modify an object that you’re sharing – so synchronisation primitives (such as a std::mutex) are needed to ensure access to the underlying resource is thread-safe. This is often overlooked because the reference counting *is* thread-safe. In C++20, we will get atomic smart pointers to help with this.

Discussing std::shared_ptr with a friend, I also learnt about a secret constructor on std::shared_ptr to share the resource control block and keep a parent pointer alive.

The second talk was Arno Schödl on Error Handling. He described how Think Cell grade errors into different levels, each with a clearly defined error handling strategy. The aim is to minimise coding and testing overhead whilst maximising the ability to capture and debug error conditions.

Leave a comment

Filed under C++, Meetup, Programming

Book Review: 2001: A Space Odyssey, Arthur C. Clarke

A bit like The Right Stuff, this is a book most people have probably heard of, especially because of the famous film, made in collboration with the author. I knew that the plot involved the finding of black monolith, and a computer called HAL that mutinied against its crew.

Perhaps the most fascinating part of the story, though, is that the book was written in 1968 at the dawn of the space age. When Clarke described Extravehicular Activity (EVA), needed by the crew to repair the antenna on their ship, he defined the term used by future astronauts working outside the Space Shuttle or the International Space Station. He described the isolation felt by David Bowman on board, exaggerated because of time lag on communications between Earth and the space craft, and that lag forms part of space exploration experiments carried out today. When Dr Heywood Floyd plugged in his “newspad” to read the world’s major electronic papers, he effectively wrote the specification for today’s electronic tablets, 40 years before the first iPad was released.

There’s a fascinating scene where an alien intelligence has built an environment familiar to Bowman based on television and radio signals received out in space – yet books and magazines lack any content, because only the covers are transmitted. Perhaps the availability today of literature online means that, in a re-write, the aliens would be able to produce accurate re-print of the books.
Four stars

Leave a comment

Filed under Book Review

How to solve Huawei Watch W1 wifi connection issue

I recently purchased a Huawei Watch W1. Although many other Wear OS smartwatches are available, this one has the smaller 42mm case (recent launches like the Huawei Watch GT have a 46mm case) and it has several really attractive watch faces loaded out of the box:

I paired the watch with my iPhone 6S and the initial setup was pretty painless. The watch connected directly to my home wifi and several updates installed successfully. At that point, I had access to all of the watch faces that I’d seen, and the iPhone forwarded notifications to the watch – happy days.

The downside was that Wear OS App on the iPhone reported that the watch still needed an update – but at this point, the watch no longer connected to my home wifi. I waited a few days, then tried to connect to my office wifi (thinking that was likely to be up to date) – still no joy. It seemed that I was stuck on that old version of Wear OS, which was a shame because I’d read good things about the latest version. Without the update, and without connecting to wifi, I couldn’t use Google Maps or Weather (both need location services which weren’t working in that version either) and Google Fit wasn’t working properly without an update to Google Play Services. There were many articles on the internet about resolving wifi connection issues from the Huawei Watch W1, but I was confident that the problem would be resolved if I could just install the latest Wear OS updates.

The trick that worked was to turn on the Personal Hotspot on my iPhone and connect the watch to that as its wifi connection. Although this meant I was downloading the updates over my mobile data allowance, the patches turned out to be pretty small (less than 20MB each). I suspect that the data was transferred via Bluetooth, which wasn’t quick, but it did enable the watch to install all the Wear OS and Google Play Services updates that it needed. Even better, as I hoped, the watch now connects successfully to wifi and all the issues with location services and Google Fit have been resolved.

Disclaimer: Whilst I currently work for Google, I don’t work on Wear OS/Android and opinions in this blog post are my own.

Leave a comment

Filed under Technology

IET Meetup: Debugging the Brain


In 2011, Ed Boyden won the IET Harvey Prize in recognition of his contribution in the field of optogenetics. Now some years later, he came to the IET to update the organisation on the progress his team have made in that field and how their contrarian approach has led to developments elsewhere.

The field combines light-based optical technologies and genetics to control the activity of neurons, enabling treatment of conditions resulting from a wide variety of brain disorders, such as epilepsy, post-traumatic stress disorder, and Parkinson’s disease.

Boyden described novel techniques, such as repeated miniaturisation of structures by injecting a lattice and using dehydration of hydrogels. This was discovered by reversing a process performed to increase the scale of neutrons in brain tissue so they could be visualised for research projects.

Marquee events like this are always very popular at the IET and this one was was very well attended. What was particularly notable was the number of well-informed questions after his presentation from researchers in similar fields who had travelled to attend the event.

Leave a comment

Filed under Meetup

Book Review: The Gods Themselves, Isaac Asimov

What a brilliant book this is, split into three parts, each telling the story from a different viewpoint.

First, we hear about the invention of the Electron Pump – a source of limitless energy that transforms life for those on Earth. However, the discovery was not by chance – the invention was only possible with the collaboration of aliens in a parallel universe, with consequences for both universes due to conservation of energy, matter and momentum. The discovery would not even have been made without the personal animosity between two scientists, Hallam (who becomes known as the Father of the Electron Pump) and Denison (the more talented of the two, whose career never recovers). Years later, some scientists discover that the impact on our own universe could be significantly worse and more immediate than originally thought, but it’s heresy to question the wisdom of the pump and their opposition is dismissed.

Second, the story is told from the viewpoint of the aliens. The imagination and storytelling are superb. Asimov describes a totally different familial and societal structure to our own, focussing on the lives of a “Soft” triad and their side of the Electron Pump invention. The triad are Odeen (the Rational), Dua (the Emotional) and Tritt (the Parental). Each has a well-defined role in society – Odeen learns, Tritt bears the children and Dua should socialise with the other Emotionals, absorbing energy from the Sun. Dua is unusual, fighting against the norms of society and yearning to learn instead of sunning herself. Odeen is the top intellect of his generation – and Tritt, too, has far more invention about him than most Parentals. Together, they have huge potential and carry the hopes of the “Hard ones” who tutor the younger generation.

Third, we experience the story from a base on the moon, where Denison migrates in hope of reviving his career. He makes friends with a tourist guide, Selene, who was born on the moon and introduces him to the culture there. As Denison’s research matures, Selene becomes his assistant – they investigate the possibility of a new technique that could counteract the effects of the Electron Pump. Yet, again, Denison finds himself caught in a battle of wits with another scientist, Selene’s boyfriend, who has other plans for the research.

Five Stars

Leave a comment

Filed under Book Review

Book Review: Past Tense, Lee Child

The annual publication of Lee Child’s brand new Jack Reacher thriller is always eagerly awaited. I received a lovely hardback edition of this one (it was purchased in an edition sold by Tesco in the UK, containing an exclusive short story: “The Fourth Man”).

Having read all the Jack Reacher books, I have to say this one isn’t one of the classics – for me, it took too long for the real story to begin. We follow a young, Canadian couple to a country motel following the breakdown of their car and Jack Reacher to the city of Laconia, the town where his father grew up. The motel, though, is not what it seems – the owners trap the Canadians in their room and set up a sinister gathering of like-minded individuals. Meanwhile, Reacher tracks down the location of his father’s family’s home and seeks accommodation – at the same motel. The final showdown is excellent and Reacher has lost none of his deadly skills.
Three stars

Leave a comment

Filed under Book Review