NDC London 2022 Highlights: CUPID, Dylan Beattie and more!

Arjun Aravind 16 May 2022 7 min read Last week, I had the good fortune of attending NDC London in its entirety and it was amazing!

When my manager told me that I'd be attending the conference, several weeks ago, I was excited for a multitude of reasons:-
As you can see, I was pretty hyped for it.

The majority of the talks I attended were really good and a few were a little hit-and-miss. From what I gathered from the other attendees, it was about 65-35 in terms of good and bad talks.

In this article, I'll be briefly writing about the talks I really liked and memorable events (one of them being a bomb scare, if you can believe it) that happened over the course of the 3-day conference.

Alright, let's see what happened.
"CUPID - for joyful coding" was the name of a talk given by Daniel Terhorst-North on CUPID. According to Mr North, CUPID is a set of properties or benchmarks that we can adhere to, while coding, to make our codebase much more readable.

This was one of my favourite talks because of how thought-provoking it was!

Mr North proposed CUPID as an alternative to the SOLID principles that we're all familiar with. He argued that a codebase must be a "joy" to read for other developers, especially newcomers.
He mentioned that following SOLID principles while coding doesn't necessarily guarantee a "joyful" codebase.

He added that SOLID principles might be more geared towards enabling complex team dynamics in a company rather than readability of the code itself.
So what does CUPID stand for, you ask?

You can read more about CUPID here.
An eventful first evening....
It's important to note that the conference was held at the Queen Elizabeth II centre in Westminster, right next to the houses of Parliament in London.
Around 3:30PM on the first day, an announcement was made informing occupants of the centre that everyone needed to evacuate immediately as a fire had been detected.

When we exited, we noticed an extremely large police presence outside the centre, which was super weird. What was weirder was that the police quickly cordoned off the entire area.
The entire street, along with the conference centre, was cordoned off.
Later on, a tweet by the Westminster Police mentioned that a "suspicious vehicle" had been sighted in the area. The police also carried out two controlled explosions, which we heard, as part of their checks on the vehicle.

Fortunately, the police seemed to be on top of the situation and all was well.....except that the rest of the talks were mostly cancelled for the day!

Memorable first conference, right?
Failure Is Always An Option
This was the name of a talk given by Dylan Beattie delving into how some organisations have approached building fault-tolerance into their systems. I'm glad I decided to go to this one because it was the highlight of the conference for me!

I think what made this talk really enjoyable was the fact that Mr Beattie interspersed the whole thing with humour and fascinating stories.

Taking some case studies such as the Apollo and Challenger space programs, Mr Beattie illustrated just how much effort had been put into making those machines truly tolerant to failure. And when I mean "tolerant", I mean having backup plans for backup plans!
Mr Beattie suggested that a good way, to foresee failure in a system, would be to view software as not just the running of the application itself.

Instead, if we saw it as a combination of the application, the people who are using it and the reasons for which they are using it, we could more easily figure out where it may go wrong.
Mr Beattie also illustrated how users can utilise software in ways that developers can never foresee by describing how people in Kenya invented an informal e-banking system using mobile minutes. By the way, if you haven't heard about this before, take a look!
Dylan Beattie and the Linebreakers
Oh man, I definitely have to mention this!

So, as I got to know during this conference, Dylan Beattie is a fan of rock and is a proper musician himself. He's part of this band called 'Dylan Beattie and the Linebreakers' who perform programming-themed parodies of famous songs!
It sounds nerdy as hell but they were actually good! Some of their covers really got me singing along; they had a song titled 'DMCA' (in the tune of 'YMCA' by Village People) and there was another one titled 'We're Gonna Build a Framework' (based on Billy Joel's 'We Didn't Start The Fire'). Good stuff.
Silver Bullet Syndrome - Part 2
This was a talk given by Hadi Hariri as a 'sequel' to one of his talks from several years ago.

This was mostly a humorous 'rant', as Mr Hariri himself described it, on how developers love to create abstractions on top of abstractions and how these abstractions lead to problems which, in turn, lead to even more abstractions being created!

To be honest, even as a rant, it did hit a little close to home! As developers, we do subconsciously like to solve interesting problems and create elegant, if sometimes unecessary, abstractions.

Watch the original to get a gist of what this talk was like!
Concurrent Affairs
This talk by Kevlin Henley was extremely informative and super funny!

It was interesting because Mr Henley talked about the various constructs, available in programming languages, which can be used to enable concurrent programming. A curious thing that I learnt was that most of these constructs, that we consider "modern", were described years ago in older languages.

I feel like I'm not doing full justice to his talk as there were just so many engrossing things he talked about! Here's an older version of the talk that you can check out, I highly recommend it!
These talks were fascinating as well!
While the talks I mentioned above were more theoretical, the ones I've listed below were very technical and instructed attendees on how to solve specific problems.

I didn't want to write about these in detail as they covered a lot of technical concepts. I have also included links to the slides wherever possible.


Right, I hope you guys found all these descriptions intriguing enough that you decided to take a deeper dive into these topics.

I'd like to thank all these wonderful speakers for making the conference absorbing and for providing me with some new perspectives on computing in general. Cheers!