Day 2 of NDC Oslo. A bit less productive than the first. I needed a longer lunch and missed a couple of slots, but made the most of talking to some of the speakers for a bit over the break. There is so much going on that it just felt necessary.
Never-the-less, I did still pack in a few good choices throughout the day.
Rise of the Tech Influencer
First up was Michelle Sandford with her talk "Rise of the Tech Influencer - Small steps you can take to increase your reach". I had been twitter-stalking Michelle a bit the last few days leading up and into NDC, and it turns out that may have been the right idea based on some of the points through her talk. I need to take some advice to update my profile, get a picture of me instead of my avatar (done! Thanks Michelle!) so that I can get recognised more easily, and promote more of my writing better through social networks.
I didn't get a chance to catch her at the end but needed to find her again before the end of the week for a decent chat, which I managed at the Social drinks on Thursday Night, and between sessions on Friday. Sorry I didn't get a final goodbye before the day's end, Michelle!
Implementing Authentication and Authorization with ASP.Net Core 2
A great talk by Chris Klug on Auth in ASP.Net Core. Now I have done this before, and the hard way because I was connecting Auth to GitHub. But it is fair to say that I didn't really understand what I was doing at the time. However the clear incremental approach Chris took explaining each couple of lines as he went made it well worth revisiting something not entirely new to me. Recommended to anyone trying to do Auth with AspNetCore 2.X.
After so many talks packed so tight across a day and a half, I felt it necessary to take a break for a long lunch, and had to miss a couple of slots. This gave me the chance to sit and have lunch with a lovely group of speakers. Also just reading a title of "Quantum Computing" made my head hurt for at least an hour.
Adapting ASP.NET Core MVC to your Needs
Competing timeslots with Jon Skeet is hard work, but I decided that Dates and Timezones wasn't as immediately necessary to me as AspNetCore is. (This later may have been regretted as I ran late towards a train leaving Oslo, realising my calendar appointment wasn't timezone adjusted. - Made it though!)
So I went along to see Filip W talk about what is new in AspNetCore 2.1 and MVC. I learned a bunch of new features, especially extension points and convention based patterns that will help reduce the MVC boiler-plate we have used in the last few releases, thanks to more convention over configuration enhancements, and the ability to customise them, too. Worth looking at if you are wanting to understand customising AspNetCore 2.1, or just to learn what Cargo-Cult code you can now remove.
Finding your service boundaries
"Finding your service boundaries - A practical guide" was an interesting talk from Adam Ralph talking over some of the finer points of using data-first approaches to building up your service boundaries. By avoiding doing Entity-First, or even naming things, we can avoid mistakes in design caused by these names. I don't do the concept justice but if you are doing a lot of data-modeling for your services to get the Architecture right, this is one to take a look at. A lot of familiar principles of coupling and cohesion, applied to the domain of Micro Services.
Containers in Production
Rounding out the day, right before the beer started, flowing was a very educational talk from David Ostrovsky. The full title is "Containers in Production: It's Like Orchestrating Cats". This was a great real-world overview of using Kubernetes Clusters in production, for developers. While he covers a few DevOps-y points towards the end, most of the operational points were nicely dev-centric and his points on health-checks and logging were spot-on.
I had a quick chat with him afterwards about Containers and their health ping. He had stated that he adds checks for dependencies inside his health-check endpoint. I raised the concern that this might cause a cascading failure if a downstream service went down. He made the very valid point that firstly there is a cooldown. It will still report 200 until a service has been down for a period, then start complaining that it can't do its job. This way, transient downstream issues won't take out the upstream components. Secondly, if you actually need the other services to do your work, and you don't have graceful degradation and short timeouts, then stopping this service is probably better. Your app and its consumers will then fail fast, rather than hang requests, or worse, produce incorrect results.
To round that out, I later learned that Kubernetes has a backoff strategy for restarting instances, which would stop it thrashing in the above failing health check case (which I am yet to locate in AWS ECS).
Honourable mention goes to PubConf. That's all I want to say on the matter.
And here is proof of the NDA stuff... pic.twitter.com/vJUNZ83TSm— Chris Klug (@ZeroKoll) June 14, 2018
The nature of a good conference is the opportunity to mingle for drinks the last night before the last day. Which means rather than putting together an update of day 2, the meeting of speakers and other like-minded developers takes priority over writing this.
Never-the-less, here we are on day 3, the final day of NDC Oslo 2018.
The first session was replaced with a late breakfast, and a chance to try out the overflow room. It's hard to judge talks well from switching between them, so I will have to revisit this and reserve judgement here.
The Hello World Show LIVE
I have to say that I'm not familiar with their show, but I was familiar with some of the guests. In almost a lightning-talk style, each guest gave a quick presentation, and these we all very entertaining and educational at the same time. This was educational and entertaining at the same time.
After this, I think It is only fair I take a look at The Hello World Show on YouTube.
Patricia Aas presented her talk on "Deconstructing Privilege". I learned a lot. This is brain-altering stuff. In a good way.
I hope I can convey this in the way it is intended and not get misunderstood, but I walked out in silent contemplation which lasted several minutes before I could engage in another conversation. Very thought-provoking, and I hope it had the desired effect of me achieving conscious incompetence at least.
Become conscious of your incompetence on privilege to progress towards conscious competence and unconscious competence. If you are a white man, you have privilege. Become aware of it and use it to help those with more hardship than you. Great talk by @pati_gallardo at #NDCOslo. pic.twitter.com/Mj3TVXTYUF— Asbjørn 🐻 Ulsberg (@asbjornu) June 15, 2018
I also had recommendations to check out Arthur Doler's ' Let's Talk About Mental Health' that was on at the same time.
Kubernetes for .Net developers
Shahid Iqbal was a nice companion talk to attended following David Ostrovsky's Cat-Herding from the day before. A bit more hands-on with Kubernetes demos, templates and scripts, including demonstrating switching between dev-machine to cloud with the same
Not a magic
"Not a magic: What to expect from Machine Learning projects" was co-presented by Katya Mustafina & Natalia An. This was my wildcard for the day, getting a taste for ML and how it is done. I now have a much better understanding of the Machine Learning development cycle, and how complicated and time-consuming it can be to produce something useful.
12 Factor MicroServices
Despite the fact that Troy Hunt was speaking in the other room, I felt I had more to benefit from finding out more about this 12 Factor stuff, from someone who practically follows the principles himself. Andy Davies talked us through the 12 principles that make up 12-factor, with a few his own preferences and variations along the way, on how he uses them to source control, build, test and release pipeline his software applications. Nothing too earth-shattering, but a good revision of the basics, things that might seem obvious to some, but not all of us do it. There was at least one point from this talk that I can use to try out as part of our iterative improvement.
Would I attend again? Without question. Well, one question. Can I afford it? Chances are if I had to come all the way from New Zealand or Australia it would be a bit of a mission and would hurt the wallet. However, if NDC Sydney is even half as good as this then it would be highly recommended. (Though I hear pre-sales may have just ended.)
Thanks again to all the great speakers and attendees for their hallway conversions. This really makes a conference like this what it is.