Today’s header image was created by Mikael Kristenson at Unsplash

Two shorter things in this week’s blog post:

  • .NET Conf and Channel9
  • Streaming

aren’t they connected? Read on to find out

.NET Conf and Channel9

This past week

if you’re reading this in the future, “this” was late September 2017

Microsoft held an online, live streamed event. The start of which was when Scott Hunter, Miguel de Icaza, and Mads Torgersen were asked to provide the key note for this year’s .NET Conf in Stockholm, Sweden.

I was unable to attend .NET Conf, but that didn’t stop me from watching the keynote. And neither, too, should it stop you because Microsoft live streamed it. They’ve even stored it on Channel9, so that we can watch it on demand, whenever we want.

isn’t that nice of them

In fact, if you wanted to watch it all over again (or for the first time), can do so here.

The keynote kicked off three days of live streamed videos from Channel9. The videos covered a range of topics from .NET Core to ASP.NET Core and from EF Core to Visual Studio, they were broadcast live and the presenters took questions as they were presenting.

how cool is that?

In fact, Scott Hanselman announced that all of the videos where ready on Twitter, just a few days ago:

On top of THAT, this week the Microsoft folks have been hosting Ignite 2017.

AND there was an ASP.NET Community Standup

AND Satya Nadella released his book, “Hit Refresh

talk about a busy week, how does these folks find time to sleep?!

I’ll be honest with you all, I haven’t had a chance to consume all of the content yet, but I did pick and choose some of the live streams that the Microsoft folks put out during the .NET Conf event.

when I get the chance, I’ll be looking through the Ignite videos, too.

.NET Conf Keynote Speech

The key note is 90 minutes of fantastic stuff. The first 40 minutes are spent with Scott Hunter talking us through some of the cool stuff that .NET Core 2.0 can do,

most of it, we’ve covered here already. But it’s a nice introduction to .NET Core 2.0 and the event

some of the new features of Visual Studio (like live unit tests), and all about AppInsights and the new remote debugging features of Azure.

Then Miguel de Icaza talks us through some of the fantastic stuff that the Xamarin team have been working on, including making Xamarin into a fully cross platform desktop UI platform

he mentions the “trilogy” of platforms (Android, iOS and UWP)

by mentioning the “prequels” to the “trilogy” of platforms (i.e. Android, iOS and WPF)

Xamarin Prequels slide
A much more interesting set of prequels than most others, I’m sure you’ll agree

just before showing this slide he let slip that Xamarin was going full .NET Standard later this year.

just let that sink in for a moment.

He also demoed experimental project called the Embeddinator, which can take ANY .NET library and create a native level application for Android, iOS, MacOS, tvOS, Linux and Windows.

Remember the “any developer, any app, any platform”? They really meant it

Embedinator slide
I need your clothes, your boots and you cross platform application

He shows this off by passing a Xamarin application and putting it through the Embedinator live,

because he’s brave like that

which produces a native build of his application for Android, iOS, and MacOS.

Embedinator output slide
You can see the directories for the native platforms on the left here; each one of these has a fresh, NATIVE, build of his application

Part of Mads’ section of the key note was all about some of the cool new features coming to Visual Studio 2017; most of which felt oddly familiar

cough-cough-ReSharper-cough-cough

Mads Visual Studio 2017
These features seem oddly familiar

He also mentioned that the keen eyed users has noticed that Visual Studio 2017 15.3 shipped with an early version of C# 7.1

even though C# 5 and 6 are still to be ECMA-ified

Mads C Sharp 7.1
“this is a minor release”

Usually the C# team release full version updates to the spec, but Mads felt that it was time for a partial release:

So we actually went and did our first point release [7.1]. And the point of this point release, primarily just is to grease the skids and feel out what does it feel like to have a point release.

A lot of the changes are syntactical niceties like implicit defaults. For instance, let’s say that you have an async method:

public static async Task<IEnumerable<Book>> GetBooks()
{
// do some stuff
}

Well, all async methods should have a cancellation token, and you can add one by doing:

public static async Task<IEnumerable<Book>> GetBooks(CancellationToken
cancellationToken = default(CancellationToken))
{
// do some stuff
}

But, as Scott Hanselman has said in the past:

I only have so many key strokes in my fingers

So C# 7.1 can strip that down to you by implicitly providing the default type for the given context like this:

public static async Task<IEnumerable<Book>> GetBooks(CancellationToken
cancellationToken = default)
{
// do some stuff
}

Which is pretty cool.

There are some other cool things like the “damnit” operator

I’ll let you find out about that one by watching the stream

 

Streaming

I was live streaming this past weekend, whilst working on some code, and I loved it.

I went from having no code at all, to having an ASP.NET Core MVC application with individual auth, utilising the Onion Architecture. I used the terminal and Rider in order to build the application and talked through what I was doing, when I was doing it. All in all, I was streaming for a good 165 minutes (that’s 2 and 3/4 hours).

I’ll leave an embedded player here, so that you don’t have to go anywhere.

But I’d recommend that you follow me over on my twitch page in order to get updates on when I go live.

Earlier this week, I mentioned on Twitter that I was thinking of making it a semi-regular thing:

And the response was pretty positive. So, going forward, I’m planning on live streaming on a semi-regular basis. I’ll be posting to Twitter about it, and will add something on the side bar to indicate when I’m live.

the keen eyed of you all should have spotted it already

I haven’t set up a schedule yet, but it’s most likely to be either a Saturday or a Sunday.

This means that I’ll be posting new articles a little less often. But I will be posting on here about the streams with show notes which should encompass some of the following stuff:

  • What my plan was for the stream (i.e. what I was going to make)
  • Any slides or images that I used to illustrate a point
  • Links to external documentation (where relevant)
  • An embedded player with the show on

I’ve been thinking about the format of the live streams and how it would work, and I think that 165 minutes is too long. As Twitter user Byteflux pointed out:

So I think I’ll time box them to a maximum of 2 hours and have short stints of programming at 30-45 minutes each,

that way I can use pomodoros, too

I can then easily break the videos into those smaller chunks and upload them to YouTube.

I know that YouTube is more convenient for some people

So I guess I’m saying that you should look out for the upcoming streams and pages devoted to them.

the keen eyed among you will have noticed that I’ve posted the first one already

Exciting times, or what?

A .NET developer specialising in ASP.NET MVC websites and services, with a background in WinForms and Games Development. When not programming using .NET, he is either learning about .NET Core (and usually building something cross platform with it), speaking Japanese to anyone who'll listen, learning about languages, writing for his non-dev blog, or writing for a blog about video games (which he runs with his brother)