Earlier this week we had our 15th .NET Oxford meetup. This time it was another lightning talk event, making it our 3rd one to date. For normal events, we have one or two long talks - but the idea behind the lightning events is that we have shorter talks, where more people can get up. I really enjoy these types of meetup, as they add much more variation and also have a great social feel!
I'm afraid, for this blog post, I'll be going into less detail with the talks themselves than I usually do - the main reason being that I wasn't as good as I normally am with taking detailed notes during the talks. But another reason is that I'm currently on a family holiday to celebrate my 40th! So hopefully you'll all forgive me for the less detailed post this one time ;)
I got to the event a bit earlier than usual, and met with Matt, James, and Stuart at a coffee shop just around the corner. All four of us were speakers, so we were all making last minute slide/demo checks. For the intro talk (see below), Stuart and I did a demo of VS Live Share, and we had our first and only trial run in the cafe beforehand! There's nothing like being prepared, and this was nothing like being prepared! :)
We then moved onto the venue just after 6pm, and did all the usual equipment check before members started to arrive.
|Dan Clarke||Intro talk, News, and Prize Draw||15 minutes|
|James World||WebAssembly and Blazor||15 minutes|
|Stuart Leeks||Azure Durable Funkiness||10 minutes|
|Matt Nield||Beginner's guide to Azure Search||20 minutes|
|Dan Clarke||Kubernetes - What and Why?||20 minutes|
|Rhys (Corriculo Recruitment)||Let’s Talk .NET Oxford||10 minutes|
|Dong Xie||LiteDb, the great little NoSQL for .NET||10 minutes|
I started with the usual intro talk - welcoming everyone to the event, overviewing the agenda, thanking all of our sponsors - then moved onto the news section...
Microsoft acquires GitHub
The first news item was an announcement from the day before, which I'm guessing 90% of the audience already knew about, unless they were hiding under a rock that day! Of course, it was the Microsoft acquiring GitHub announcement! My Twitter stream was swamped that day about this. Lots of positive comments, and lots of negative ones too. Personally, I'm a big fan of Microsoft (especially the new Microsoft), and I'm a big fan of GitHub. I don't think anyone has that much to worry about. But for people completely out of the Microsoft space, who use GitHub heavily - I can certainly understand the concern and frustration. I really hope too many people don't jump ship because of their perceived views on Microsoft. Especially if they're basing those views on the Microsoft of 10 years ago.
.NET Core 2.1 Release
The second news item was the .NET Core 2.1 release (plus ASP.NET Core 2.1 and EF Core 2.1). We've been mentioning the preview releases in the news sections these past few months, but this time it's been officially released! I didn't go into much detail about what's new - as there's obviously quite a lot. But I'd recommend checking out those links above and scanning through. Speaking with a few people who have upgraded their projects from 2.0 to 2.1 - it sounds quite an effortless migration. Unless you're doing Blazor stuff - as James commented on in his talk!
Developer Day 2018
We've spoken about the DDD conferences quite a few times during the intro talks. Regular, community based conferences - always on a Saturday - always free to attend. The next one is in Reading (so very local!) on the 23rd June at the Microsoft HQ. And it turns out that I'll be doing my Developer Productivity talk again there too! On Tuesday at the meetup, there were still tickets available - however I've just checked as I'm writing this, and it's now sold out. You can get on the waiting list here though.
VS Live Share (with demo!)
The day before our last meetup it had literally just been announced that VS Live Share had gone public. Matt touched upon it briefly when he did the news section - however, I thought it would be nice to do a quick demo of this - as it's a very cool technology, which can have immediate benefit to teams - especially those with remote developers.
Chatting with Stuart Leeks on Sunday night on Twitter, we thought it would be a nice idea to use my prize draw app to demo this. Perhaps introducing a subtle bug that I need help with to fix. Stuart wanted to show the web debugging functionality though. The problem with this is that the prize draw app is a WPF app. He joked that we could rewrite the prize draw app as a webapp. Bare in mind that this was Sunday evening. I assumed he was joking anyway, and said "You know the meetup is on Tuesday right?", then I went to bed. The next morning I had a message from him on Twitter with a screenshot of his port of the prize draw app! I don't think that man sleeps! ;)
So after saying the above to the audience, I switched over to his prize draw webapp, knowing that there was a bug in there, but not knowing what it was! Okay, that's not entirely true - I knew what the bug was, but pretended I didn't to the audience!
The first draw was for the Jetbrains licence. And the winner was ... Mr Stuart Leeks! Oh, sorry Stuart, speakers can't win - so let's redraw. After redrawing, the winner was ... Stuart. That's strange. Let's try again. And ... Stuart. Right! I think we've spotted our bug! Or feature?! I would say a feature, as the audience definitely found this quite funny - which is always nice! :)
I switched over to Visual Studio, showed how to create an invite link and messaged it to Stuart, who then took over the demo from his computer (with my computer still projected to the big screen). He fixed the bug, then we did the real prize draws!
I was really pleased with how this demo went - especially given we had virtually zero prep time for this! Oh, and I should mention that I was using Visual Studio in Windows, and Stuart was using VSCode in Ubuntu! It's very cool how choice of Operating System is becoming less and less of an issue with collaboration.
A massive congratulation to the winners this month ...
Congratulations to Colin Turner for winning a year-long Jetbrains product licence! He had wisely chosen the Resharper + Rider combo.
Congratulations to speaker Dong Xie for winning a Manning ebook of his choice! The winner has the choice of any of the awesome Manning ebooks from their website, and Dong choose Grokking Deep Reinforcement Learning.
Remember that we have our special Manning coupon code (ug367) which gives all of our members a 36% discount on any of their e-books! They've also asked me to share a link to some of their new courses for their LiveVideo system.
Congratulations to Aleksander Zakrzewski for winning the Oz-Code licence! For those that don't know, this is a Visual Studio extension that puts your debugger on steroids! Take a look at their website for videos of their features.
If you haven't checked it out, then definitely download the trial and have a play. All our member get a free 3 month trial licence (see below) or 50% off a full licence! To claim, you can visit this link to pick up your licence!
The slides for the intro talk can be found here, and the Reveal.js source code can be found here.
Before moving onto the talks, I just want to mention our primary sponsors, Corriculo Recruitment. They've been our sponsors from the very beginning, and we really couldn't have done it with out them! They've not only helped us out financially, paying for the venue, and providing lots of refreshments - but also helped us out at the events, welcoming everyone in, serving drinks - and also outside the events with marketing and promotions, ideas and suggestions. Definitely a core part of the .NET Oxford team! A massive thank you to everyone at Corriculo for being so awesome :)
First up was James World talking about WebAssembly and Blazor. He started off talking about the history of WebAssembly, and what it is. Then spoke about all the different languages that use it, before moving onto Blazor itself.
James has spoken a number of times at .NET Oxford - both full talks, and lightning talks. And I don't think he has missed a single meetup either! Was really great to see him back speaking, especially speaking about such a cool cutting edge technology!
I don't yet have the link to his slides, but I'll update this post when I do.
Next was Stuart Leeks, talking about both Azure Durable Functions, and the evolution of code from synchronous, to asynchronous and parallel, then on to distributed with Azure Durable Functions.
Stuart had his slides on auto-advancing mode, so had to keep up with slides. I loved this idea, as it not only kept the pace and didn't overrun, but also added a fun angle to his talk, and as Stuart told me afterwards - a lot of additional adrenalin!
Stuart has spoken at .NET Oxford a few times now - in fact, he was our very first speaker ever in January 2017! I always enjoy his talks, and it's immediately obviously that he has so much passion about technology, and this really comes across in his talks!
As his code examples were in the slides - rather than me trying to explain them here - you can view his slides here. Now imagine trying to explain those with the slides on auto-advancing mode!
Matt's talk was next, showing off Azure Search. He admitted that he was fairly new to it, and was using the talk as a way to force himself to grok it more deeply. This is something that I still haven't yet had the chance to play with. Unfortunately I regret that my mind was half on the fact that my talk was next, and I also had a bit of prep to do on my laptop - so I sadly missed sections of his talk. I did see that there were plenty of code demos using my favourite tool, LINQPad though - which is always nice to see! I'll have to get Matt to give me a demo in the next .NET Oxford planning meeting instead!
As I write this, I've just noticed that Matt has written a nice blog post himself about his talk, where he goes into detail about the motivation of his talk, as well as the content.
Matt's slides can be found here.
After the break, it was my turn with an introduction to Kubernetes. It was aimed at people who haven't used Kubernetes before - explaining the core concepts - eg. pods, deployments, services, kubectl, yaml - and then moving over to some live demos scaling my blog website, and showing a rolling update with zero downtime. Whilst the talk assumed the audience already had knowledge of Docker and containers, I was aware that there would be some in the audience who didn't know what these were - so I started off with a quick few minute explanation of containers, images, and remote image repositories - just so everyone could follow along.
I'm actually planning on writing a blog-post series on Kubernetes, starting with the very basics, then moving onto more advanced topics - so watch this space! :)
Next up, was Rhys from our sponsors, Corriculo Recruitment, talking about recruitment in Oxford. This was an update of Megan's talk last year, talking about the current state of the developer market in Oxford, covering how things like how Brexit, accommodation prices, commutes, etc. are affecting the job market.
He also mentioned the recent IR35 changes for contractors that have been applied to the public sector, which will also be applied to the private sector soon. This will find more contractors to be within the IR35, and cost more tax. Potentially bringing more contractors back into the permanent market. This was of particular interest to me, being a contractor myself!
He also spoke about different programming language popularity (I'm not sure of the source he used), stating that Python had overtaken C# in the list of most popular languages - something that could well change again now .NET Core, Xamarin, etc. is becoming so popular. The least popular technologies in his list were no surprise, with VB6, Cordova, IBM DB2, and SharePoint.
Rhys wrapped up his talk with a few resources about teaching kids to code - which can be found in his slides linked here.
The last talk of the night was by Dong Xie. Dong's talk was a late addition, as he got in touch with me the Friday before asking if he could do a talk. I was previously going to fill the remaining 10 minutes by doing a second talk, on Vim. But to be honest I hadn't done enough work on my Vim talk, focusing primarily on my Kubernetes talk. So if I was still to do my Vi talk I was about to wave goodbye to my weekend to get it ready! So I was quite relieved when Dong got in touch about his talk on LiteDb, meaning I could postpone mine to the next lightning talk event!
LiteDb is a small open source standalone no-sql database, and Dong's talk started comparing it with other standalone options, like SQL Server Compact, SQLite, and a few others. He then moved over to show and demo some code showing this in action. He also demoed some of the tooling, which looked really nice! I'll definitely be checking this out myself next time I need a local database!
Whilst most of Dong's talk was showing code and demoing LiteDB - he did have a few slides, and the PDF with them in can be found here.
All of 2018 has now been mapped out, and we have some very cool talks planned! The June and July events have already been announced on our Meetup.com Event page, but below is the full plan ...
July 3rd: Getting Entangled in Q#!:
I'm really excited about this one! For our next meetup, we have Frances Tibble and Anita Ramanan joining us to talk all about Quantum programming and Microsoft's new Q# programming language! There will even be a hands-on coding session for those who'd like to bring along their own laptops and follow along!
August 7th: CosmosDB, Azure Functions, and PowerBI:
In August, we have James Broome and Mike Larah joining us from endjin talking about analysing flight data in real-time using CosmosDB, Azure Functions, and Power BI.
September 11th: "Pilot Decision Management" and "Chatting with your Data":
In September we have two talks - Clifford Agius will be talking about Pilot Decision Management, and how their training relates and can benefit programmers. Then we also have .NET Oxford co-founder, Matt Nield talking about using bots to access your data.
October (9th?): Jon Skeet:
October should be with Jon Skeet himself! He has a few talks, and we're not yet sure which one he's doing - but, it's Jon Skeet! He can talk about anything he likes! At the moment this is pencilled in for the 9th, but that hasn't been confirmed yet.
December: More Lightning Talks!
We thought that December would be a nice place to slot in another lightning talk event. It may be a long way off, but if you do want to do one, feel free to get in touch! First timers are most welcome too!
Please retweet if you enjoyed this post ...
Blogged: ".NET Oxford Meetup XV: Lightning Talks" https://t.co/j5vIZfzEQu @dotnetoxford @CorriculoRec @mnield @stuartleeks @jamesw0rld @xied75— Dan Clarke (@dracan) June 18, 2018