Category Archives: Meetup

ACCU Meetup: Functional C++ (Phil Nash)

meetup-functional-cPhil Nash presented his ideas on functional C++ to a packed ACCU meeting a couple of weeks ago. He kindly provided the slides on his website.

For the uninitiated, the functional style is often quite a shock, but having written F# for some time, I’m in favour of “modelling computations as evaluations of expressions” as Phil presented it, or the declarative style as it’s often described. I wrote about Higher-Order Functions in C++ recently and Phil touched on that as well.

One of the highlights of the talk was the section on persistent data structures, which share as much of the previous state as possible whenever additional elements are added. For example, an associative binary tree could have a new element added, but retain links to the bulk of the original tree. There are challenges to stay balanced, but often the benefits can be worth it (e.g. a red-black, persistent tree that’s thread-safe because all the data is immutable). Phil also presented a Trie hybrid with hashing – a persistent tree structure, with performance similar to unordered_map, for which the hashing ensures no re-balancing is required.

The finale was a demonstration of pipelining for C++, based on std::optional (available from C++17). The recommendation was to watch Eric Niebler’s Ranges talk from CppCon 2015 for more details.

Leave a comment

Filed under C++, Meetup

IET Meetup – Sir Henry Royce Memorial Lecture 2016

meetup-henry-royce-lectureThis evening’s lecture at the IET was given by Chris Aylett of the Motorsport Industry Association. Chris gave a fast-paced overview of the work of motorsport engineers within their own industry and the increasing crossover into other sectors. He is a fan of horizontal innovation, the application of under-used skills and capacity within a firm to satisfy demand from clients in other industries.

This is particularly appropriate for the world-class unique capabilities of R&D-based motorsport suppliers in the UK who are able to resolve disparate engineering problems, and do so very quickly.

Particular examples were given by speakers from Wirth Research, Prodrive and Lentus Composites. The latter were responsible for the design of the Team GB track bikes which did rather well at the Rio Olympics – having been developed in just 13 months.

There was also plenty to reference from the inspirational life story of Sir Henry Royce. Despite having only one year of formal schooling, he became an apprentice engineer and ultimately started his own business making cranes. Not only did he expand into making motor cars and design the first aero-engine to fly over 400mph (which was developed into the famous Rolls-Royce Merlin engine in WWII Spitfires) – he also designed the bayonet lightbulb.

Leave a comment

Filed under Meetup

IET Meetup: Rosetta Spacecraft Seminar

Meetup - Rosetta SpacecraftI was thrilled when the IET announced that they were organising a seminar on the European Space Agency’s Rosetta mission. I’d followed the progress of the mission and the audacious landing of the Philae probe on the comet – it was fascinating to meet Paulo Ferri, the Operations Manager for the mission. Also speaking was Mark Bentley, Principal Investigator of the MIDAS instrument on board Rosetta.

Rosetta67P

I asked Paulo how the agency chose comet 67P as the target for the mission. Apparently, it wasn’t the original choice, but a failed Ariane rocket caused the mission to pause and the launch window for the original comet was missed. They re-examined the list of choices and given that Rosetta and Philae had already been built, the only other suitable comet for a mission of that type was 67P!

Leave a comment

Filed under Meetup, Technology

IET Meetup: Robots Helping People, Yiannis Demiris

IETLogo
Meetup - Robots helping PeopleProfessor Yiannis Demiris gave the latest Prestige Lecture at the IET. His work is truly inspirational – his research aims to develop robots that can help both children with disabilities and adults with chronic or mobility problems. A running theme throughout his talk was the need for the robot’s behaviour to adapt during the life of the relationship with the person – as the person learns a skill, the robot can lower its levels of assistance. Or, the robot can take the person to the next level, for example in therapeutic exercises or in gaming.
YiannisDemiris
The speaker heads the Personal Robotics Laboratory at Imperial College London, where he conducts research in personalised assistive robotic systems, with applications in healthcare, in-vehicle intelligence, and support for children and adults with disabilities.

Leave a comment

Filed under Meetup, Technology

BCS Meetup – The Trust Machine, Simon Taylor

BCS LogoThe BCS hosted a presentation by Simon Taylor of Barclays Bank.

Meetup - The Trust Machine

With the full potential of the uses of blockchain databases still yet to be discovered, there is a race, led by financial services, following the growth of Bitcoin, to find new, transformational business models that will exploit this technology.

Simon will explain that, while a Blockchain is just a kind of shared database, it is quite different because it creates a system of transparent, unalterable and permanent records of agreements. The impact of this is to allow all parties to organise themselves without fear of cheating. Simon will explain how cryptographic keys are used to create this trust, how it stops any single party from having more control than any other, and how, by allowing parties, for instance a buyer and a seller, to directly connect, it is seen as an opportunity and a threat by established trusted intermediaries, like his own organisation.

Simon covered a lot of interesting use cases in his presentation and shone light on the differences between bitcoin/blockchain as a technology. For example, this scenario was in his talk and on his blog:

Problem: When an investor comes to raise a Seed, things get messy, people fall out. Solution: Store this on a Blockchain at NASDAQ which has perfect time stamps, and digital signatures and no database administrator can edit the record without signatures of the founders. Could you do this with a database? Sure, but you’d lose that audit trail.

There are plenty of links to further reading on the blog post, 10 things you should know about Blockchains.  Also, What is the Blockchain and why should you care on Recode is worth a read.

Leave a comment

Filed under Meetup, Technology

F# Meetup – Microservices Chaos Testing

Meetup - Microservice Chaos TestingThis was the first event I’ve attended by the F#unctional Londoners group and the venue at Skillsmatter.com was excellent.

Some of the biggest growing pains we’ve experienced with our microservice architecture at Jet is in preparing for system outages.

In this talk, Rachel will discuss Jet.com’s chaos testing methods and code in depth, as well as lay out a path to implementation that everyone can use.

I haven’t used chaos testing in my own work, but in the world of distributed services, it makes sense to test the robustness of the system to failures on individual nodes. Rachel’s story was quite compelling, even if her own developers aren’t all convinced of the attractions of chaos testing on the production system just yet!

Leave a comment

Filed under F#, Meetup, Programming, Technology

IET Meetup: Turing Lecture 2016, The Internet of Me, Robert Schukai

IETLogoThis years Prestige Turing Lecture was given by Robert Schukai, Head of Applied Innovation for Thomson Reuters.

TuringTrustAn opening address was given by the great nephew of Alan Turing, on behalf of TuringTrust.co.uk. This organisation builds on the legacy of Turing by distributing pre-owned computing equipment, both in the UK and particularly to schools in Africa who have no facilities.

The lecture hall was completely sold out for this talk and the speaker lived up to his billing, giving a mixed media presentation with great passion and insight. He took the audience on a journey from the introduction and incredible growth of mobile technology, both in terms of number of users, speed of data transfer, and bulk of data stored annually. Then he showed that, with the advent of new applications such as Genomic Profiling, and/or the Internet of Things, today’s data footprint will be blitzed by that of the future.

He introduced Cognitive Computing by way of IBM’s Jon Iwata talking about Watson and Robert Schukaithen illustrated the rate of progress of Artificial Intelligence with reference to Google’s Deep Learning having mastered the game Go a full decade earlier than predicted.

Schukai’s vision for the near future is of “DayFlow“, a seamless user experience where their needs are met across devices, throughout the day, with content being proactively displayed just as the user needs it.

I suspect my iPhone is already there – it volunteers the Bus Timetable app first thing in the morning, just as I’m ready to leave for work.

Leave a comment

Filed under Meetup, Technology

IET Meetup – Wireless Charging Buses in the UK

IETLogoThis is the first meeting I’ve been to at the IET since the refurbishment of the premises at Savoy Place, London.

Savoy Place

The location has always been amazing, but now the venue makes the most of it, with new entertainment space on the first floor leading to balconies that overlook the River Thames.

The presentation by Murat Basarir covered a Joint Venture by Arup and Mitsui to trial 8 electric buses on an urban bus route in Milton Keynes. The linear route is 24km long and takes about 50 minutes from one end to the other. Whilst they considered many battery charging options, they decided to install wireless charging plates into the road at the terminals, giving the bus 10 minutes to top-up before it turns round and runs the route in the opposite direction. There’s no need for the driver to physically plug in or swap batteries, so s/he gets a ten minute breaks, as per routine with diesel buses. The regular top-ups increase the range of the bus, so that it only needs a longer, trickle charge overnight back at the depot.

Leave a comment

Filed under Meetup, Technology

ACCU Meetup: Quicker Sorting, Dietmar Kühl

Meetup - Quicker SortingI was lucky to get an invite to this month’s ACCU London meet-up on the topic of sorting. Dietmar Kuhl hosted the presentation at the plush Bloomberg offices on Finsbury Circus. The talk brought together a sample of approaches to speeding up QuickSort:

  • insertion sort
  • sentinel partitioning
  • hand-rolled sorting for small collections

Overall, these changes (and others) made an impressive improvements, such that the combined algorithm rivalled std::sort for sorting std::vectors of integer. However, the algorithm wasn’t as competitive for other important element types such as std::string.

Dietmar intended the talk to be accessible to all, rather than an in-depth presentation using advanced C++ techniques. I think it was a good example of how you can iterate and bring in multiple techniques to optimise an algorithm for a specific use case.

Leave a comment

Filed under C++, Meetup, Programming

IET Meetup – Only a Matter of Time

I was lucky to get a ticket to an excellent lecture by Leon Lobo of the National Physical Laboratory – ‘Only a matter of time’ – How time has infiltrated different industries and why it is important to a micro second level. This lecture was partly to celebrate 60 years since Louis Essen developed his atomic clock.

essen-book-coverAll attendees were presented with a copy of Louis Essen’s memoirs. I love reading about the history behind mathematical or scientific advances. This book includes gems such as when Albert Einstein gave a lecture at the National Physical Laboratory and someone had to lend him £5 because he had no money! Also noteworthy is that the great Alan Turing was developing a computer at NPL after the war – he just happened to cross paths with Essen, and repeated a key correction factor calculation for him, doing it far more elegantly and rigorously using waveguide theory.

Leave a comment

Filed under Book Review, Meetup, Technology