I was lucky enough to come by a ticket for NDC London this year as one of 6 people sent down from Tombola, 2 each from Bingo, international and my division Arcade, sitting on the train going down I was literally overwhelmed trying to decide what to miss, in case you don’t know the structure of the conference, outside of the keynote speeches is to have 5 talks in parallel, and suffice to say, I had no problem filling each hour, only problems deciding what I was going to miss.
So What is Programming
The opening keynote was delivered by Felienne (@Felienne) and was titled “What is programming anyway?”, having messed around with various machines and languages since getting a BBC Micro for (around) my 10th birthday I thought I would have a fair handle on this question, however listening to her talk on her work with children, and how to inspire and interest them, got me thinking about it in a whole different way, and her comparisons between the language and tech wars we as an industry tend to have with how supportive the knitting community was rang very true, as well as making the whole room laugh.
Who am I and What Can I do
I than attended two back to back talks on Identity server and then Policy Server, we are looking at implementing Identity server – and rate of progress of the product is amazing, and seeing directly from the horse’s mouth the best way to implement and extend this excellent product will prove to be very valuable. That such a great product https://identityserver.io/ is provided to and by the community makes all of our lives easier – thanks guys.
Have I been Pwned
Following lunch a bit of light relief – listening to @troyhunt is like watching Michael Jordan play basketball – It is rare to get such a combination of technical knowledge with a natural presentation style. For all I believe we engineer things well here – and take the protection of player data very seriously – you can always do more and should be constantly reviewing and improving to keep things as safe as they should be.
Next up was a talk from which I think I can take a lot from a personal perspective, Kevlin Henney @KevlinHenney talked about immutability and refactoring, his insights made me focus on things I know I can improve in my own practices of crafting good code.
Lambda and Serverless Computing
Next up and final for the day was an experience report on Serverless Computing, we are working towards separating out our services into smaller components, and have used some AWS Lambda and recognise the power and flexibility it gives us so listening to people who had walked the road previously gave a valuable opportunity to learn from their experiences – the speakers were Yan Cui (who I did now know at the time was responsible for theburningmonk.com which I read often when learning F# several years ago), and Domas Lasauskas. They detailed moving from a monolithic architecture to small distributed components and picking the best for each use case, they detailed using AWSLambda with Google BigTable for search which yielded enormous performance increases, made even cooler for me as it showed using the best options from two providers to build the best solution, which coupled with the rapid scalability afforded by this architecture convinced me that going forward we should look to leverage this wherever it makes sense to do so.
A Cluster of Pi’s
Day two brought two of my favourite talks of the conference – it opened with Scott Hanselman and Alex Ellis showing off a Kubernetes Cluster running on Raspberry Pis – the visual demo of tasks moving to different devices on the cluster in response to network being lost (the cable being pulled) showed how powerful the orchestrated container paradigm is, in running services 24/7 and seeing it done on a server rack you could build for about £250 gave me some ideas for my next week off, there is little doubt in my mind that the path forward will be containers for long running tasks and server processors with serverless functions replacing occasionally invoked features knowing we are already on this path and looking to hasten our journey along it looks very promising for the future.
Space Age Data Analysis
Later in the day I took a wildcard and went to a talk entitled “Probing the Mysteries of Saturn’s E-Ring with PostgreSQL” Rob Conery @robconery was not a name I was familiar with but I love data and the analysis thereof, and this really was a gem, starting from downloading the data from the NASA Cassini mission he detailed cleaning and analysing the data, and attempting to produce meaningful conclusions from it, as well as a good story he explained well a little used (but when used well very important) bit of SQL functionality common table expressions – but mainly this was a fun talk for data and space geeks.
In between these there was an excellent hints and tips of .NET Core by K. Scott Allen of @OdeToCode fame, and a brilliant talk on Pilot Decision Management which gives the perspective from outside this industry as to finding, diagnosing and resolving a problem, and where generally the life or death outcome literally means life or death.
The final act of the day was a live recording of .NET Rocks – it was a fun end to a good day, and a nice precursor to the conference party, if you don’t listen to the podcast check it out.
Steam Your Data
Day three started with Scott Guthrie @scottgu delivering the keynote and showing some really cool stuff available through cloud computing, recently at an in house Hackathon we looked at using AI for image recognition, and categorising the images, obviously he had seen this as he did similar but for photos of cats as a part of his presentation. This shows one key thing about the cloud, it has enabled more developers to do than before, in the past using this functionality would have been beyond most, and few organisations and individuals would have been able to justify the time and expense to develop and run a service such as this, cloud services such as this allow anyone with a use case to hook into these services in inventive and creative ways – more than ever before what you can build is limited by your imagination.
Steam Your Data
Next up was Rethinking data and services with steams, it was delivered by Ben Stopford from Confluent – so it was heavily Kafka in its thinking, but the principle is a solid one and is in use more and more to enable services to handle massive numbers of requests, the issue I can see with this for us is in an instant feedback situation which we have how do we marry up the user feedback loop we want and need with the buffered processing offered by streams.
There was then the opportunity to see the Hello World Show https://www.youtube.com/channel/UCh1MAMXrvKK_C_piVgOFOAg live, before what was my favourite talk of the conference. Scott Hanselman @shanselman tied lots of things together talking openly about his diabetes (type 1) and how he and other members of the community worked together to produce several open source apps to create an artificial pancreas, the real time showing of his own data – taking blood samples on stage as well as the cool tech they were using to solve the issues they were having made it both fascinating from a technology perspective and from a human one.
So in Summary
Lots of interesting takeaways – some of which I think can be applied, others require a bit more thought to get the best use for our scenarios. More importantly however is the opportunity to hear various luminaries from the industry sharing their knowledge and experience with some of us mere mortals. That wrapped up with some fun extras and the usual great food made it both an excellent and productive few days.