I have just returned from KCDC 2019, and I had an absolute blast at this conference.From various speaker and attendee events, to the people whom I met, to the overall caliber of content and presenters and learning that took place, to the organizers, and last but most importantly to the sponsors, this event is one to make sure you do not miss in 2020.
I’m going to just dive in, giving a quick nod and recap of a couple of the sessions that I found to be fun, informative, and useful, so you can check out these presenters and/or you can make sure not to miss their talks if you get a chance to see them at another event. These are in order of attendance by me and are therefore not ranked as to “which was the best/favorite.” All of these presentations were top-notch, helped me in some way, and, again, are “do-not-miss” in my opinion.
Henk Boelman [https://www.henkboelman.com/ || https://twitter.com/hboelman] discussed machine learning in his talk “Getting started with Azure Machine Learning Service.” As someone who has not done a lot with ML, this was a great overview and explanation of how ML works, and how to use it correctly. I enjoyed how he laid out each step of the process, explained it, and then showed how to do it with brief code snippets.
John Alexander [ https://twitter.com/JohnAlexander] also took us through ML in .Net with his talk “Machine Learning in .Net” Some of what he said lined up exactly with what Henk had presented, and then he also brought to light areas of various programs such as PowerPoint [Microsoft Office] where ML is already in process. I really liked how he made it clear that you can integrate ML into any of your .Net applications, which is something I think we’ll all need to be able to do soon.
Mickey Gousset [http://www.mickeygousset.com/ || https://twitter.com/mickey_gousset] dropped sweet knowledge about “Continuous Delivery with Azure DevOps.” From an excellent start where he showed us the basics of CI/CD [continuous delivery] and the other CD [continuous deployment], he set a firm foundation for where we were going with all of this, and most importantly, why we want to go there. By the end of the talk, it was clear how to setup and build an Azure DevOps pipeline, as well as how to make it so that you could do full CD (the other one) if you really want to. In one hour, the entire devops process was completely de-mystified.
Scott Addie [https://scottaddie.com/ || https://twitter.com/Scott_Addie] took us from checking in our passwords to understanding how we can protect those all-important secrets using ASP.Net Core Secret Manager and Azure Key Vault storage in his talk “Protecting App Secrets.” I really appreciated how he talked about the usage and limitations of the Secret Manager and how he then took us to using the KeyVault storage at Azure, and showed how a program might default to one if the other is not being used, or even fallback to the web.config with just a little bit of code.
Kevin Griffin [https://kevgriffin.com/ || https://twitter.com/1kevgriff || https://www.twitch.tv/1kevgriff] probably didn’t expect standing room only in his talk “A Modern Architectural Review of Text-Based Adventure Games,” but he got it, at 8:30, on a Friday morning. I had met and talked with Kevin on Wednesday night at the speaker event, and mentioned I thought it would be an interesting talk, but I was wrong – it was well beyond “interesting.” First of all, as someone who played these games, I never stopped to think about how they might have been implemented. I’m pretty sure knowing what I know now, I might actually be able to beat them – all while avoiding getting eaten by the grue. Here is the thing – I’m pretty stoked about a couple things he showed – translating a command to intent is something that I think we take for granted, and using an “engine” to map this is pretty sweet. Also, as a comp sci nerd, I totally jived when he mentioned using a 32 bit [4 byte] integer in order to save the flags for state in these games. This reminded me of the “old days” where we had used binary base-2 numbers for certain things and stored them in the db [i.e. 2 means one thing for the user, 4 means something else, 8 means something else => Is this ringing any bells?]. Anyway, what I’m most interested in here as someone who teaches computer science is how I might modify my curriculum to teach this stuff – because making a text-based adventure game could be a lot more fun than simple scorekeepers and printing your name – and you could easily teach everything about both basic programming and computer science with one term-long text-based program, provided the cyclops has fled the adjacent room, of course.
Jay Harris [https://www.aranasoft.com/ || https://twitter.com/jayharris] went a bit long on his presentation but I’d have stayed another hour if we could have kept going. Although I had attended a couple of talks on Azure DevOps, as this is one of my primary focuses in personal learning right now I wanted to attend his talk – and I’m glad I did. He started by taking us through Martin Fowler’s 10 tenets of continuous integration and then showed how we make sure to apply each one of the ten in the Azure DevOps pipeline. Although I had seen a couple of these in Mickey’s talk, I appreciated both the reinforcement and also the different ways they were configured for application [i.e. turning on continuous deployment versus not turning it on]. He finished with some words of wisdom – start small, work toward automation, and build your confidence.
Arthur Doler [https://arthurdoler.com/ || https://twitter.com/arthurdoler] laid down one of the most important ethical questions we’ll encounter as developers in the upcoming years in his discussion of “An AI with an Agenda: How Our Cognitive Biases Leak Into Machine Learning.” I’ll admit, I’m biased because if I’m at a conference and Art is giving a talk, you can bet good money I’ll be at it. I really liked his point about how just because data shows something doesn’t mean that is how it should be – and how it’s our job to make sure it is how it should be. This being one of the most ethically significant things we can do as a developer. I loved his illustrations on feedback loops and the associated problems that allowing ML to dictate decisions can actually create, such as a slum in your city. One other point of note - isn’t it interesting that we think of a zip code as being weird if it were used to define a gender, but don’t have as much of an issue with it defining a race, and how that illustrates that eliminating columns like “Race” from your data doesn’t mean your data is unbiased -> your shadow column “zip code” might have the exact same effect on the output.
All-in-all, I am recharged and challenged by the talks I saw and the people I met and interacted with during this conference.I will be looking forward to KCDC 2020 with eager anticipation!