Rockin' The Code World with dotNetDave ft. Scott Hunter - Show 1
3K views
Nov 16, 2023
Join us in the first episode with host David and Guest of the show Scott Hunter - Director Program Manager for .Net at Microsoft. C# Corner - Global Community for Software and Data Developers https://www.c-sharpcorner.com #csharpcorner #microsoft #liveshow
View Video Transcript
0:00
David, you are live
0:12
I'm live? Hey, everybody. Welcome to the Rocking the Code World with Donet Dave
0:21
I'm David McCarter, and I'm really happy you're all here for the inaugural show
0:30
I'm very, very excited to not only bring the show to you with C Sharp Corner, but I'm really, really excited about our very, very first guest, Scott Hunter, the big wig at Microsoft
0:44
And so with that, we had to rearrange the show a little bit
0:50
So we're just going to do two little things about the giveaways and then we're gonna go right into asking
0:56
Scott Hunter the hard questions about that net five so Again, I'm glad you're all here and we'll talk more about what the show is and what our plans are in the second half of the hour
1:15
And my slide deck isn't working awesome Oh, there we go. Sorry, I had clapping
1:28
All right, so every episode of the show, I'm going to give away some really cool stuff
1:35
Some things will change, but some things will be pretty the same. So every week, we're going to give away a $50 Amazon gift card
1:42
to anybody on the show. We're going to give away C Sharp Corner swag, T-shirts, backpacks
1:48
whatever they want to give to a lucky person every week. I'm going to give away some Donna Dave Donna Tips swag
1:59
Unfortunately, it's only U.S. residents because it does cost too much money to send it anywhere else
2:05
Until we get a sponsor. And everybody on the show today will get a free copy
2:13
of my favorite code refactoring tool, Code Rush from DevExpress. So, but you have to stay till the end
2:21
All right. So how do you win? Well, you've got to pay attention and type fast
2:26
Okay. And Simon will pick the winner and splash it up on the screen for everybody
2:33
All right. So let's do the very, very first giveaway of the very first show
2:38
And this giveaway is for C Sharp Corner Gifts. And I'm not going to leave this up long
2:44
So read fast. Ready? So to win, the first person that answers this question in the chat will win the C-sharp corner gifts
2:54
How many times have I been to India to speak at the C-sharp corner conference
3:00
There's me rocking out. I love playing guitar in front of my fans like us in the C-sharp corner
3:07
So there you go. First one that knows that and puts it in the chat wins
3:15
All right. I'm going to introduce our very special guest, Scott Hunter, and he's going to come on and answer your questions from his car
3:27
It's going to be fun. So before that, I've known Scott for six years
3:34
And the reason is because, come on. well there was supposed to be a video playing but anyway scott uh i was so happy i got scott to come
3:48
down to my uh retirement party from the san diego dunnet uh developers group uh he came down we had
3:55
an awesome time we had band uh uh which i was in and we had a great time and that's when i got to
4:02
meet and get to know Scott. And I'm really glad that I do know him. So, and that was my 20-year
4:11
retirement party. And now it's run by one of my friends here in San Diego. So, let's get Scott on
4:18
Scott Hunter is responsible for Microsoft's .NET platform, which includes the .NET framework
4:24
.NET core, ASP.NET, any framework, .NET tools, web tools, and managed languages
4:28
C Sharp, F Sharp, and VB. Prior to leading the .NET platform, Hunter helped the Azure Developer Experience Team
4:38
to build Azure SDKs, app service tooling, Azure Redis, Cache, Azure API Management
4:45
ASP.NET, any framework, and web tooling. I guess you guys can tell I didn't read this prior to this
4:51
In his spare time, he loves hiking the mountains in Washington State and around the world
4:56
So with that, Scott, welcome to the show. Hey, Dave. Great to be here. Great to be on your first episode from my car
5:05
I know. I actually can't see you live because I have to watch the published one
5:13
So how's it going? It's going great. I mean, it feels crazy
5:22
We're just a little over a month away from shipping .NET 5 on November 10th
5:26
So we're in that crazy shutdown phase and, you know, all of us are panicking as we look at the number of bugs we have left and we're trying to fight that bug countdown to RTM
5:38
But I know we'll make it. I know you will. You do
5:42
You've got a really good cadence now with these yearly major updates
5:46
And I think you guys have been doing a great job to me
5:52
Thank you. Yeah. Yeah. So, everybody, please, please type your questions into the chat, and Simon will flash them up on the screen for us
6:05
And so, Scott, what's like the first question I have is just what's like the big deal with .NET 5
6:16
The big deal with .NET 5 is actually not going to actually ship in .NET 5
6:23
The real journey that we want our customers to realize is that over the time, this is one of the jokes I always like to make is we have too many .NETs at Microsoft
6:35
We have .NET Framework, we have Xamarin, we have .NET Core. We really want to get back to having a single .NET again
6:41
And so the reason that .NET 5 is called .NET 5 and .NET Core 4 is because we're trying to signal that we're trying to go back to a single brand
6:55
And so once we get to .NET 6, we will bring all the Xamarin workloads directly into .NET as well
7:01
And so at that point, we'll have a single unified stack. But that said, we did a bunch of unification in .NET 5 as well
7:07
So if you wrote a Blazor app today on .NET Core 3.1, you're actually using the mono BCL
7:15
If you write a Blazor app on .NET 5, you're using the .NET Core BCL
7:20
And so you know and we do that same thing for the Xamarin stack in the 6 But our real goal is to try to end the confusion as are you on core Are you on framework What the newest What can you build We really want our customers to be on the new tech
7:38
And so .NET 5 is really a continuation of .NET Core, dropping the core brand
7:44
And so moving forward, there's just .NET 5, .NET 6, .NET 7
7:47
So that's, you know, it's not a technical thing, but it is a big messaging and marketing kind of thing to make our platform simpler
7:54
and we call it unifying the stack. Well, you know, I personally, as a speaker and a teacher and a writer
8:03
I'm really glad you're doing it because it's been horribly even frustrating for me
8:07
to try to explain all the different things to, you know, somebody new to .NET
8:12
or, you know, coming to my conference sessions. And then if you, you know, if I blurt out the word .NET standard
8:18
they have no idea what I'm talking about, you know. So I'm really glad you're bringing it all back into one ecosystem
8:25
And that's, quite frankly, why, you know, in my almost my entire programming career, I've loved a Visual Studio because it's all just one ecosystem
8:34
You know, I don't need anything else hardly, but Visual Studio. So. Yeah, it's
8:43
it is a unique challenge, actually. Even inside of Microsoft, we have people that are confused about the core versus the framework versus all those things
8:57
So, you know, I do think the unification is going to be a big, big part of our stack
9:04
And, you know, you mentioned .NET Standard, which is interesting because .NET Standard, we announced that in 2016, actually
9:13
And one of the biggest challenges we have with .NET Dave, all up, is people don't know
9:24
For whatever reason, our customers always seem to be like five years behind us. Meaning that it's still insane to this day the number of times that I go talk to a customer and they're like
9:37
Well, Scott, you're on a Mac. How does .NET run on a Mac? we've been cross-platform since 2016
9:44
we've been open source since 2014 we like to call this the perception problems that we have in .NET
9:51
which is we're still seen as the Windows-centric 2002 release and it'll take us more time to go and finish this journey of letting everybody know
10:03
that we actually are totally free, you don't have to pay for it It runs on Windows, Mac, Linux, ARM32, ARM64, and it's open source
10:15
And you can use CLI with your editor of choice, or you can use Visual Studio, like you mentioned before
10:20
But that really is the message that we still need to keep pounding out to our customers so they all know where we are today
10:28
Yeah, and I think, you know, when you were talking about that, it kind of reminded me of, you know, trying to explain things kind of like Azure, you know, what does Azure do
10:41
What can it do? Where does it run? How does it run? You know, and then .NET is kind of the same thing, you know, where I can really use one thing for everything, you know, and that's one thing I think I really liked about the direction with Microsoft for a while now
10:57
is that unlike maybe some other companies, you embrace other languages and stacks and things like that
11:05
and bring them into your ecosystem so everybody can use it as opposed to having to jump out
11:11
and doing it in a completely different language or something like that. Yeah, this might surprise people, but when you read my bio, I've been doing .NET at Microsoft since 2007. and
11:23
this might be shocking to some people but I also my team also is responsible for building Java
11:29
Really? I didn't know that As you mentioned, you know, if you look
11:34
at DevDiv, we work on Python we work on Node, we work on
11:38
Java, we work on .NET we work in a variety of languages while I think .NET is the most
11:44
productive platform the reality is there's customers on a variety of platforms
11:48
and that's also another part of our journey with .NET is a lot of people ask me
11:55
Scott, why didn't you bring WCF, Windows Communication Foundation, to .NET Core
12:00
slash .NET 5? Well, that's really Windows-centric tech. And moving forward, we don't want
12:08
to be so Windows-centric. And so, .NET Core 3.0 and 3.1 shipped with support for gRPC
12:17
and gRPC is a it's very similar to WCF it's tightly bound contracts
12:24
you define the types and stuff go into your methods you call your methods and it
12:30
just feels kind of seamless but we chose that over bringing full WCF in because
12:36
gRPC is very cross platform it works on Go it works on Rust, it works on Java
12:42
it works on a variety of languages and in the core world
12:48
what we kind of know is we don't assume any company is just a .NET only shop
12:54
I mean, I'm sure there's plenty of those too, but a lot of companies have a mix of Java, Node, .NET
13:00
And our job is to make sure that .NET interoperates really well across those
13:05
And so, gRPC is a WCF style way of doing that across all the languages
13:10
And then even REST. We've been shipping REST and .NET forever. but I've been really happy with the work we've done in .NET Core 3 and .NET 5 especially
13:23
We're trying to take our REST technologies and make the tooling as good as the WCF tooling was
13:29
So now in .NET 5, if you build a web API, we actually inject OpenAPI through a package called Swashbuckle into all of the API projects
13:41
and what that does that open API is a spec called Swagger
13:47
that shows the definition of your API and from that I can provide rich tooling
13:53
that is generating a client automatically for you. That was like the
13:58
number one most requested feature for web APIs forever for us. Me too
14:03
I could write my code and then I would just go create another project and say
14:07
reference that thing and it would do all the hook up for me automatically and write all the logic
14:13
We have all that in web APIs now. So if you build a web API in .NET Core 3.1 or .NET 5
14:21
especially .NET 5 because the open API is on by default, in .NET Core 3.1, you would have to install the Swashbuckle
14:26
or NSWAG package yourself. You can then create a WinForm project or a Blazor project
14:34
or a console project. Right-click on the project, say Add, go to connected services, select, you know, the web API
14:41
point it to your web API and we'll generate the entire client for you to make it
14:45
easy to call an API. I'm so happy. Which, you know, it seems simple, but, but it's, it's funny
14:54
You look at the code we generate and you like crap I don want to write any of that Sure Yeah Yeah And we and that a lot of work for developers You know I you know the way I develop you know and the way I segment things out in my projects it easier to do to kind of get around those
15:13
The limitation we've had that, you know, the auto generated proxy classes like you used to have in WCF
15:19
And so I've had to kind of handhold people across the process on how to make that easier
15:28
But this is better, you know, because now you have, you know, I guess, are they just kind of like the proxy classes, the proxy classes that were created by WCF, sort of
15:40
Sort of, yes. But we do give you a bunch of new features
15:45
Because you're using the newer HTTP client, you can actually inject your own HTTP client into the thing that we generate for you, which means you can take your own retry policies and stuff like that without having to go touch the code, which is an important part of that
16:02
And they are generated at build time, which means if the definition changes, all it takes is a recompile of the project and we'll change the proxies on the fly
16:12
while the WCS work would require you to go and, you know
16:15
and probably delete the reference and read the reference. We may, you know, once again, it's 2020
16:21
We're better than that. And so now we can make those things actually just more dynamic
16:27
and more compilation based. So it's easier to keep things in sync than it was before in the past with WCS
16:35
That's, yeah, I'm really happy to hear. And you've cleared up a lot of my confusion even, you know, with, you know
16:41
because I, you know, every time I started working on an API, you know
16:45
I go, why, where's WCF? You know, and it's not necessarily because of the endpoints
16:50
it's because of the flexibility, you know, of WCF that, you know, that
16:55
that came, you know, when that came out and what, Donate 2 or 3, Donate 3, wasn't it
17:01
It was WCF. That's one of those weird things that we did
17:06
That was the .NET 3, which was a kind of a weird release
17:10
in that it was kind of like an add-on to the existing .NET 2 at the time
17:16
Yeah. And it wasn't really baked all the way in the platform until .NET 3.5
17:21
Right. Yeah. Yeah. So you've already answered one of my questions that I had written down
17:27
pre-written down for you. So here's another one that, because I'm actually working and thinking about this right now
17:33
so I thought I'd ask the expert. And so it's .NET supported with the older frameworks like the CLR
17:40
and how. Is .NET supported with a seal? Help me a little bit
17:47
What exactly are you asking? Well, what I'm asking is if some people start writing
17:53
new code in .NET 5 or 6 or whatever and they still have
17:59
for me, I still have a WinForm app in .NET 4 or something
18:05
Can I still connect to that and maybe vice versa? So is the question more of, are we still supporting .NET Framework 4.8 and above
18:16
No, no, no. The question is, from .NET 4.6, can I call .NET 5 DLLs
18:25
Yes, that's a great question. So it's a very common scenario for our customers
18:32
I mean, the reality is, you know, .NET Framework shipped in 2002. And the first .NET Core shipped in 2016
18:39
So obviously there's 14 years of code that's been created before there ever was a .NET Core
18:46
And that's where the question you asked before about .NET Standard, what is .NET Standard
18:52
And so we recognize as a team, as we went on the .NET Core journey, and for folks that don't know
18:58
the reason that there even was a .NET Core was because we realized the only way to take .NET into the future
19:04
was to break away from the past a little bit, and to have a new platform that ran on Windows, Mac, and Linux
19:11
and it was fully open source. But obviously, we know our customers have lots of old code
19:18
And so there's a couple of ways you can do this. First off, there's something called .NET Standard
19:23
Still super important today. And .NET Standard is hard to describe because it's not a physical thing
19:29
What .NET Standard really is, is a list of methods and functions and objects that Emo Landworth and folks on my team put together
19:41
It's all the APIs that exist on .NET Framework and Mono. It's kind of the intersection of the APIs between Mono and .NET Framework
19:51
And so what it is, is if your code is .NET Standard compliant, meaning you can actually make this in Visual Studio
19:58
You can create a .NET standard class library. Any code inside of that works across all the stacks
20:05
So if you write a library and make it .NET standard compliance
20:10
well, it runs on Xamarin. It works on .NET Framework. It works on .NET Core
20:15
Now, Dave might have been asking a more nuanced question. Imagine the case of you wrote some code
20:21
or you used a library in .NET Framework, say, in 2010. You don't have the source code for it
20:26
Yeah. If you have that library and all the APIs in that library exist in .NET Core or .NET 5, you can actually use it without recompiling it at all
20:35
.NET still is just .NET, meaning that all we do is have some tech in .NET that knows how to read what's called IL
20:43
IL is the tech that when you compile a class library, it's compiled into IL
20:48
as long as all the APIs that library uses exist in .NET Core slash 5
20:57
they'll work without recompile. So we don't require you to recompile anything. So two things that I think are important to think here is
21:03
number one is, if you want to write code that you want to share across all the .NETs
21:07
you really want to make it .NET standard compliant code. And there's a class library type in .NET in Visual Studio for exactly that
21:14
If you are going to port something to .NET Core slash .NET 5
21:17
and you don't have the code for it, just reference it and try it
21:24
It will likely work. I had built a couple of years ago. I actually took a zip library
21:29
that hadn't been updated since like 2010. And it just loads and works just fine
21:35
And in fact, if you look at nougat.org, I believe now we're up to around 75 or 80
21:42
of all the packages there work on .NET Core now. and that's because we've added enough APIs back
21:49
over the journey from .NET Core 1 to 3. You know, we added a ton of APIs back
21:54
as we listened and watched to see what customers wanted to do
21:59
Yeah. That sounds really awesome, to tell you the truth. I know we just..
22:07
Are there any questions yet from the audience? So, I actually am looking at some of the questions right now, Dave. Yeah
22:24
One of them is what is your story How did you get into Microsoft I happy to answer that Okay Yeah
22:36
So I used to live in California, actually not far from where Dave is today
22:41
I was up in Orange County. Oddly enough, Microsoft is not something that I actually thought of as a place I wanted to go
22:51
because at the time that I was working down in Orange County
22:57
Microsoft was this really closed-source, Windows-centric company. And then secondly, I started reading this guy's blog
23:05
His name was Scott Guthrie. And he was very progressive. And the way he talked about .NET, the way he was customer-driven
23:14
the feedback and the talks about being very open about how .NET was built and stuff like that
23:22
interested me in Microsoft. And this is a funny story, actually. So I actually
23:30
go and find, go to the job site at Microsoft. I apply and I show up for an interview and I
23:39
totally tanked my first interview at Microsoft. So I what happened was I was working for a company in Orange County
23:48
called Starbase and we built technology that was very similar to Team Foundation Server
23:56
And when I applied to Microsoft I said I want to work on C Sharp as the hat says
24:02
And I show up and because they looked at my history I was suddenly doing a loop
24:08
an interview loop with the TFS team. And I'm like, I remember on my second interview
24:13
I'm like, why are you asking all these source control questions? And so it did not go well
24:18
because that was not what I wanted to work on. And so that failed
24:22
I applied again about a year later. And this time when I talked to the recruiter
24:27
I said, I want to work for the .NET team, whether it's ASP.NET, C-sharp, whatever
24:32
I said, if you're going to have me interview somebody else, do not bring me up. and uh and so i i joined in 07 um that's that loop and uh it was it was an interesting time because
24:45
uh scott hanselman who i think most people would probably know as well he joined two months after
24:50
i joined um and phil hack um who was also one of the big people that worked on both nuget and mbc
24:58
uh joined as well and so um phil hack and scott hanselman and i kind of grew up together
25:04
and Microsoft. Well, you know, as you were talking about Scott Guthrie
25:12
if you can get him on my show, that would be freaking awesome
25:16
I would love to talk to him one-on-one. That'd be a lot of fun
25:27
So which question do you want to... Oh, yeah. Yeah, it's there on the screen
25:32
Yeah, it's there on the screen. You can read the question, yeah. Yeah, will there be an easier recommended path
25:38
to migrate ASP.NET 4 to .NET 5? That was actually one of my questions
25:43
How is the migration path for the older code to the new .NET 5
25:51
Moving from, you know, any .NET core to .NET 5 will be pretty easy
25:59
Moving from .NET framework to .NET 5 is a little more challenging
26:04
But we're working on that, and I think in the .NET 6 wave, you're going to see a lot of work there
26:07
For people that don't know, there's a tool called TryConvert. If you just Google TryConvert.net
26:15
It looks like Dave's trying right now. No, I'm writing it down
26:20
TryConvert, I'm going to do it right now. TryConvert is a GitHub
26:34
If I can stick it in the chat, I'll stick it in the chat here real quick. Okay
26:39
What TriConvert does, TriConvert, just Google it in GitHub
26:50
It's a project we wrote that will actually take a older.NET project and convert
26:56
the project file to the new project. For folks that don't know
27:02
That's another big investment we made along the path from .NET Framework to .NET Core
27:11
It used to be that our project files were just piles of GUIDs and piles of unhuman-evable
27:18
And so one of our goals in the .NET Core journey was to make those files human-evable
27:22
and so what it will do is it will take an older project
27:28
and convert the project file to a modern project file modern project
27:35
project file format so if you want to move an application probably the first thing you want to do is
27:44
run that tool on it and then kind of press compile until you get
27:48
things working again if you're moving from like ASP.NET to .NET Core, there's two paths
27:56
If you have an ASP.NET Web API project or an ASP.NET MVC project
28:01
they will move actually pretty easily. For the most part, what I would actually do
28:08
if you're moving one of those types of projects is I would create a brand new ASP.NET MVC project
28:14
and then I would take the controllers, whether it's Web API or MVC
28:20
and I would basically paste them into the controller folder and paste the views into the view folder
28:26
and then just compile until it works again. That's not a huge leap
28:32
If you're moving from web forms, web forms is one of the things that we did not bring forward
28:38
in the .NET Core world. But there's a better tech that actually mimics it quite closely
28:46
and that is Blazor. So Blazor has a similar component model that Webforms had, meaning that if you go look, you know, Telerik, DevExpress, Syncfusion, you know, all the people that build, you know, cool tools for .NET, they all have controls for Blazor, just like they have controls for Webforms
29:09
forms. Jeff Fritz on my team, if you just Google Jeff Fritz, you know, Blazor to web forms or web
29:16
forms to Blazor, he has built a library of Blazor components that have the same names as the
29:23
components in web forms. Really? I didn't know he did that. That wants to do that, to look at that. And it means that your markup is a little different
29:34
but the coding practices are very, very similar. And so that's the best way to move an ASP.NET project
29:41
into the new world. Well, quite frankly, moving my code, except for WinForms to .NET standard, .NET Core
29:53
for me personally, wasn't really that hard. I just moved the class files over to the new project
29:59
changed a couple of things and I was up and running. So I never had a huge problem moving except for WinForms
30:07
I still have one app left in WinForms. And so I, you know, compare that to, you know, 18 years ago
30:16
you know, the migration story, I think, at Microsoft, in the .NET world, at least, is a lot better than it used to be, for sure
30:25
Yeah, listen to this. So Jeffers' project, which is called Blazor Webform Component
30:30
webforms components. He has add rotator, button, hidden field, hyperlink, image, image button
30:36
label link button, literal, data list, forms view, grid view, list view, repeater, custom validator
30:43
regular expression validator, required field validator, validation summary, tree view. He's got
30:49
23 of these things already ported over, and we add more every day to make that webform
30:58
migration to Blazor easier. And then the other benefit you get out of that is
31:04
webform-based applications or post-back-based applications, which means every time you take an action on the page
31:11
we refresh the entire web page. The cool thing about using GIF versus tech is
31:17
Blazor apps are all spa apps, which means the page never redraws
31:23
And so it makes it easy to port a webform application, and then the application becomes a more modern feeling application
31:31
And that's another cool piece of the .NET Core 3.1 slash 5.0 tech as well
31:38
One of the most exciting things for us is we find that a lot of folks want to write desktop applications
31:45
but they want to build them with web tech. And they want to do that because it works on Windows 7, Windows 8, Windows 10, version, works on a Mac. Right
31:55
So, you know, with Blazor, another cool feature of Blazor is at creation time, you can click
32:01
a button and call it make it a PWA. That's a progressive web application
32:06
And if you load a progressive web application into a browser, whether it's Chrome or Edge
32:12
or Safari or Firefox, all of those will have an option somewhere in the Chrome of the app
32:19
where you can actually click a button and make that application a desktop app
32:23
And so you can build a Blazor application today, check that box, and then suddenly it runs as a native app on your desktop, which is a really cool piece of tech
32:33
Yeah, I'm still trying to get up to speed with Blazor. But, you know, one thing that because I have been doing talks on Blazor for a couple of years now
32:41
And, you know, one thing that people cautiously ask me is, you know, so how long is Blazor going to last before it's killed
32:51
or should I look at Blazor, right? And my answer is, yes, look at Blazor
32:57
because I know of all the work that you and Jeff and Carl Franklin and all you people are putting into
33:04
and Michael Washington and making sure that all this stuff becomes the new way of doing things
33:13
Actually, that's one of the biggest fears of, if you're using Microsoft tech
33:18
one of your biggest fears probably is, oh my God, I'm afraid to go build an app on some new UI stack
33:24
because we've killed a bunch of them in the past. Light switch. The primary one
33:29
Not light switch. What was that called? Your flash? Silverlight. Yeah. Yes
33:36
Silverlight's the big one. Blazor won't go down that path because Blazor is completely built on web standards
33:44
Silverlight really died, you know, because in the modern world, if you cannot run those applications on your smartphone
33:52
then they don't make sense. And smartphones and browsers in general, after December of this year
34:00
are not going to run plugins at all. It used to be that, you know, Silverlight was a plugin
34:05
Flash was a plugin. That tech's all being retired, and that's because primarily it didn't work on smartphones
34:13
Android had Flash running on smartphones for a small point of time
34:17
But if you ran a flash game on an Android phone, it would run for about 10 minutes before the battery of your phone died
34:23
And so the tech doesn't make sense. But Blazor is just web tech. And so you're going to see us do even crazier things with Blazor
34:30
There's an awesome project out there, if you just Google it, Blazor Mobile Bindings
34:36
And what Blazor Mobile Bindings does is it lets you create what we call hybrid applications
34:43
And a hybrid application is an app that's both native and web tech. And so a Blazor mobile binding application, you can put Xamarin controls inside of your Blazor application
34:54
Wow. So imagine having some web and then having some native Blazor, I mean, native Xamarin controls in there as well
35:03
And that application, because the Blazor controls, one of the cool things about Blazor controls is they run on all the operating systems
35:09
so I can build an app that has both got Blazor inside of it
35:12
and has Xamarin controls inside of it and can run on iOS, Android, Mac, and Windows
35:18
Wow. And that, I think, is really the future of where Blazor is going to go next is
35:24
hey, we've got the web-only thing going really, really well, but we know some folks, like if you're running Slack or you're running Teams
35:31
or you're running Dropbox or you're running Spotify, those are all actually web apps
35:36
but they run inside of what's called the Electron shell. which enables them to have access to native parts of your operating system
35:43
We want to take Blazor to that same place where you can build a Blazor app
35:47
that runs in that kind of Blazor mobile binding model where it's a web app
35:52
but it can run inside of a frame or a shell on any of the OS platforms
35:58
And so I don't think worrying about Blazor dying, it will never happen because it's web tech
36:03
But we'll take it beyond that to letting you run Blazor in more places
36:08
Wow. My mind was just blown. And that's hard to do with me
36:13
Blown in a good way. Well, you have to go, don't you
36:19
I got two or three more minutes. Okay. So let's get off of, if we just have a couple minutes, let's talk about you
36:31
So what's up with you? What do you like to, so I figured out a question to ask you
36:36
So once .NET ships, what's the first thing you're going to do for fun
36:41
So for me, my fun is primarily hiking big mountains. So folks probably don't know it, but in 2018, I took my youngest daughter and we went to Africa and we climbed Mount Kilimanjaro
36:56
Wow. So that's a 20,000 foot mountain. It took us about seven days to go up and down
37:04
and it was probably the most, it was the coolest thing I've ever done with my kids
37:12
Meaning that in the world we all live in today, we are so inundated with technology
37:18
My kids are connected to smartphones all the time. They TikToking or they Instagramming or they Snapchatting or whatever And so you never feel like you have that really tight bond When you go climb a big mountain like that with your kid there was no internet for seven days
37:36
I know. And so I got to hang out on a mountain with my daughter for seven days with just us
37:42
And it was one of the most amazing experiences I've ever had. And I plan to go back and do it again
37:49
Once COVID's all passed, my older daughter, who passed on the trip
37:54
after she heard my younger daughter talk about the trip, she wants to do it too
37:59
And so I'm going to go back to Kilimanjaro with both my daughters and climb that again. I won't do that right after
38:04
we ship that net five. But I love hiking. I love snow. We're supposed to have a good
38:10
winter in Washington State this year. And so if the weather is right
38:16
I will probably go and snowshoe. I've done that. your uh yeah well it sounds like you went to a much better part of africa than i did
38:27
i was at i was in africa for i think like five torturous days when i was in the navy but
38:36
uh that sounds like a lot more fun than what i saw i went on a safari that was cool but uh
38:43
um i i missed the safari part of it um because i i we were already gone for a week it was summer
38:49
and it was just me and my youngest daughter. We wanted to get back to the rest of my family
38:54
And so we didn't get to do the safari, but Africa was amazing
38:59
Kilimanjaro was super, we were in Tanzania is where we started at before we went up the mountain
39:05
The people were amazing. The culture was amazing. And this will sound crazy to some people
39:13
but we had about 20 people that helped us up the mountain
39:17
You can't go con con con zero by yourself. You have to actually do it with some guides
39:22
And many of us still text those guides because, you know, they watch us and our lives for seven days
39:32
And that's a bond you can't forget. And so it's kind of fun that we still talk to all those guides
39:36
And hopefully I'm going to go back to the same crew again. Oh, that'd be awesome
39:41
That sounds like fun. I hope you post a lot of pictures from that
39:45
I'd love to see them, especially being a photographer. I would love to see the pictures from there
39:51
Cool. Well, thanks for having me today, Dave. I really appreciate it. And I will promote the show
39:57
Thank you very much. Talk to Scott. Well, Scott, I couldn't ask for a better first guest on my new show
40:09
So I really, really appreciate you taking the time out for us for 35 minutes or so
40:15
And I'm really glad you made the show. And for being on the show, you're going to get a commemorative, one-of-a-kind T-shirt from C Sharp Corner, Rockin' the Code, the Donnet Dave T-shirt that only guests get
40:30
And maybe they'll get me one. So thank you very much, Scott. Thank you
40:34
Have a great day. See you. So, everybody, that's Scott Hunter. I hope you liked it
40:43
I'm sorry he had to go early. He's probably working on .NET 5, so I think that's a good tradeoff
40:50
So is Mahesh here? Is Mahesh? Yeah. Hey, Dave, I'm back. What's going on
40:59
Hey, nicely done. That was great. I was just, you know, when Scott was talking
41:04
I was sitting and trying to, you know, listen and also think about it
41:08
And I was going, you know, I think I learned more in that 35 minutes than any guests I've ever had on my podcast or anything
41:19
I love all you guys that were on my podcast. But, you know, talking to the man, Scott Hunter, I thought was pretty awesome
41:27
Agreed. Because, you know, he's very technical and he's hands on with everything
41:31
And he's the one leading the charge in .NET. And I know there's a lot of guys still have questions
41:38
So maybe, you know, you may want to bring him back at some point. There's a lot of questions in the .NET file
41:43
So, you know, a lot of guys are still asking. So, again, very, you know, sorry to hear about, you know, CEO disappointed
41:50
But, again, he had limited time. And, you know, I think you're grateful that at least he still made his commitment
41:57
Yes. I would love to have him back when he gets back from his trip from Africa
42:03
showing some pictures and stuff. But, you know, the one thing that he had to go, but the one thing I wanted to mention to him, and he's probably not going to hear this, is that there's one thing he made me feel really good about
42:15
And he said that he tanked his first interview at Microsoft. And I almost blurted out, well, I've tanked every interview at Microsoft
42:23
So I think I've been interviewed by Microsoft like three times with the last time last year, actually, and I've tanked everyone
42:32
So I'm glad I'm not the only one. Yeah, it happens. It happens
42:39
Yeah. So let's talk a little bit more about the show. And then we can ask some, you know, we can talk to audience, reply some non-technical .NET 5 questions
42:50
Okay. Let me share my slides again, Simon. So we can kind of go over some notes I made on PowerPoint decks
43:00
And then we can talk about it. Is that cool? yeah that's good definitely okay and then also in the slides we have the remainder of the uh
43:10
prize giveaway questions and so that should be fun for everybody to to to uh
43:16
learn something oh there's the video that didn't play so this is the video that from my uh
43:23
retirement party um uh uh six years ago when scott hunter came and and uh i was so happy he
43:31
came down and and uh there he is there's that's when i got to meet him he's a awesome guy um so
43:42
so oh a new giveaway all right so ready so for this giveaway i'm going to uh give away a copy of
43:51
one of my books uh done that uh tip sticker uh magnet and since these are too small for me
44:01
I'll send you a C-sharp corner face mask. So, and whatever else I have laying around here
44:07
because I have a lot of stuff I couldn't give away this year. So here's the question
44:13
What was the name of the podcast that I hosted with my best friend, Woody Pughett
44:18
that we ran for about a year? So that's the question. So the first person
44:25
please try to be from the United States. I'm sorry. I can't afford $50 to ship this outside of the country
44:34
So the first person that enters that, I'll send that to you this week, okay
44:41
So I'll skip this. Nothing super big happened this week except for Ignite
44:50
So I want to welcome everybody to the first show. I kind of said that at the beginning I really really glad everybody here And I really glad to everybody who going to be watching this later And I hope that you know along with Mahesh and the excellent team at C Sharp Corner
45:08
we can keep this going for as long as you guys want. And because it's not, you know, I'm not going anywhere
45:15
So, you know, this show is for you. I really want to hammer home that point that, yeah, we're going to interview, you know
45:24
leaders from the tech world and we're going to have some fun and, and some other things. But you know, this show is really for you. And you know
45:33
I, so because of that, I really need your feedback. So if you don't want to put it in the chat well, better yet
45:40
actually just email it to me and I'll work on it and see if we can work it
45:45
into a show. But this show is for you. If you have suggestions on topics you want to have discussed
45:51
if you have suggestions on guests that you want me to get on the show
45:56
I can get people on the show. I've been around this world for a long time
46:00
and I'm pretty good at that usually. And also I'm going to maybe do some weekly segments
46:07
I'm going to do the first one this week. And if you like that one or don't, let me know
46:13
If you have ideas for segments, let me know. So please, please, please email me
46:19
Of course, the show is every Saturday at 10 a.m. my time, unless I'm on vacation, I guess
46:29
So some of the things that I have planned is, of course, interview with top leading leaders in our industry, which we did today, which was freaking awesome, if you ask me
46:42
Next week, we'll do some more tech news stuff. I had some, I didn't have enough time working on that this week
46:49
And the first segment I'm going to do this week is something that I really like talking about
46:54
It's a subject called dogfooding. I've known for a long time. And so that'll be the first weekly segment for this week and more to come
47:03
So what do you think, Mahesh? I think that was great. It's a good idea
47:08
I mean, this whole thing, having a scar hunter was great. And just see how Ugo now looks like
47:13
keep bringing more and more of these leaders, which is getting everybody excited
47:18
Yeah. And the other thing, and I guess this is part of my personality
47:24
is I don't want to do a normal show. I want to do something that's fun and kind of light
47:32
and just have fun. And especially if it's on the weekend, why not have some fun
47:36
And, you know, you can tell your loved ones you have to hide away for an hour
47:43
So, yeah, I'm hiding right now. It's a good excuse. It's like, you know, I'm sure you've seen my tweets that, you know, I encourage people to donate blood
47:53
And whenever I get back from the blood bank, you know, because I donate every month
47:57
And when I get back from blood bank, you know, I always tweet, hey, guys, you want to get out of doing yard work
48:04
Go donate blood because now you can't do it for 24 hours. So any more thoughts from you before we go into the first segment
48:16
No, get started. I think that's good to go. You're good to go. And I think I don't know when you probably want to remind people how they're going to win prize
48:23
when you're going to announce the winners one more time. Well, Stephen, if you can flash the winners up
48:33
That would be great. And so they can, you know, have their name memorialized in our first show or all our shows, I guess
48:41
That would be awesome. Because we don't want people to think we're not giving away
48:45
Because I need to get this. Yeah. Do you see the screen? It looks like there's a winner right there
48:51
I don't see. Oh, I can't see you live. I have to look at the delay
48:58
You should also be able to see on your screen live. I'm not sure how you're using
49:02
Are you in the streamer? Yeah, we'll take care of that later
49:06
Okay, we'll figure out. I don't want to stop the show for that. So one of the segments that we did every week on the podcast that I had with my friend Woody Pughett was dogfooding
49:20
And I've known about dogfooding for as long as I can remember
49:25
And it's not about dogs. It's not about food either. It's basically about eating your own software
49:32
or using your own software. And that's really the big thing. And to talk about that
49:38
I firmly believe that if possible, if the people working on the software
49:45
everybody involved in working on the software, or even in the entire company
49:49
if they are actually using that software, the company has a vested interest in making that better
49:57
And I've seen, And, you know, unfortunately, I don't see a lot of companies doing this very well
50:06
And I've seen some companies do it really well. And, you know, and so one of the ways I use dogfooding actually in coding is so you all know I'm a Microsoft MVP
50:20
And every year, except for this year, you know, we go to Microsoft for a week and we learn all this stuff, you know, that's coming out the next couple of years that we're not allowed to talk about
50:29
And but one of the things that, you know, that I really work on every year when I go up there because I am a writer and a speaker and it used to be a teacher is I actually ask people around Microsoft on the teams if they're actually using the framework they've released
50:49
Right. So the first framework that always popped in my mind when I talk about this is entity framework, you know, because people are very nervous about it
50:59
in the beginning. It wasn't awesome, their first version, but now it's awesome. But that year
51:09
I was at Microsoft and I was asking, are you guys using any of the framework? Are you using this
51:14
And they said, yes. And I go, okay, I'm going to start writing about it and teaching about it
51:19
because now I know you're going to keep it around for a while unless it goes the way of
51:26
civil rights. So anyway, so for those of you who don't know what dog fooding is
51:33
that's why I'm spending a little more time this week on it. And of course, this is a great way
51:39
for your organization to test everything before it goes on in the real world. You know, I know
51:44
people right now that don't test unless it's on production. And that's insane if you ask me. But
51:50
Anyway, so, and also it demonstrates a confidence in the developer's own products, right
51:58
And I think the segment I'm going to do next week is on Amazon Fire TV, because that thing just drives me nuts
52:08
And, you know, I tweeted about it once, and I got a lot of feedback of other people feeling the same way
52:15
And I go, oh, great. It's not me. It does suck, you know, so I think that's what I'm going to do next week
52:24
But that you know takes a little time with setting up the recording and everything for that So before we get into the actual dogfooding segment because I have a video that I going to show you
52:41
I'm going to give away the $50 Amazon gift card. So everybody, are you at your keyboards
52:47
Ready? Ready? Ready? how many years did I run the SanDiego.net Visual Basic.net user group
52:56
Or the SanDiego Visual Basic.net user group? I've already mentioned it a couple times, and you saw it on the video
53:03
So there you go. First one answers it, wins 50 bucks on Amazon
53:09
I kind of need that. So the first dogfooding I'm going to do is something I've saved
53:17
I actually, this is a couple months old from a new add-in, if you guys haven't used it, called Grammarly
53:26
And as far as, you know, checking for grammar in your Word documents, websites, you know, basically a lot of different services, even PowerPoint now
53:39
Grammarly is really good at checking that kind of stuff. And it's actually helped me sound better without paying an editor
53:48
And so I think their engine works really well. I think it's much better than anything that's in Office
54:00
And actually, if anybody on the Office team is listening, why don't you guys just buy Grammarly
54:07
Yeah, I think that would be great. so but um the grammarly add-ins uh especially to word uh is pretty dismal and it continuously
54:20
frustrates me when i'm working on uh my book or uh articles for c-sharp corner so
54:27
so that's what it does um i like it much better uh and the other thing i discovered this week
54:34
because I couldn't get Grammarly to freaking work. And so I went back to Word
54:39
and then Word started checking all my code in my article. I'm going, why are you checking my code
54:45
And Grammarly doesn't check your code, I found out, which is awesome
54:50
And I don't know if that's a setting. I can't find it, but it doesn't check code for some reason
54:55
So magic going on there, right? So anyway, I'm gonna play the video
55:01
of just some of the frustrations I'm finding in Word. and we'll talk a little bit about that after the video
55:10
So here's an example where I'm trying to fix the word remotely
55:17
too remotely, and I have to click it, click it, click it
55:21
Finally, after seven times, it works, right? Now, if I want to delete their thing that they're telling me
55:28
click, click, click, click, click, click, click. I'm trying to make sound effects. Nine times
55:37
It took me nine times before it deleted it. And this one is showing, do you want to change done
55:43
to is done? Where's the cursor? Where is it? I don't see it. Right. And so not only if you actually
55:53
can see the cursor. It's hard to find. So Grammarly, why don't you just highlight the text
55:58
in Word that you're telling me about? Why do I have to spend a lot of time searching around my
56:04
document to where it is? All right. So there's other issues. So those are just some I've recorded
56:13
I think, when I was working on an article or a book. And so Grammarly, your add-ins
56:22
especially for Word need a lot of work. And I think you need to go back to the drawing board, quite frankly
56:29
And it completely does not work in the new crappy interface that WordPress just released
56:37
So fix that too, please. So anyway, so that's enough complaining about Grammarly
56:45
Any comments? Yeah, no, back to dog fooding, right? So, you know, obviously our guys, C Sharp Corner team, they're developing the C Sharp Corner platform
56:56
I always tell them, guys, you got to use your own platform, but they don't
57:03
You know, I'm finding sometimes these little errors and I just keep telling them
57:07
It's just the mindset that, you know, how sometimes you are in the kitchen and you are cooking
57:12
You don't really like your food because you've been cooking it so long. Yeah
57:16
So it's kind of hard, but I still want guys, our C Sharp Corner dev team to go and use the website every day because that's how you get better because you become your own user, right
57:29
If you become a user of your own application, that's how you build better software
57:34
Yeah, yeah. And that actually reminded me of something a company I've recently worked at did that I thought was no one's ever done to me before when I first started working at a company
57:48
And so a couple of years ago, I was working for a company that makes these really high, high end exercise bikes that basically has a game engine in front of you and you can play games and watch live videos
58:01
And it's kind of like the Peloton on steroids. Yeah. Right. And I think it is much better than the Peloton any day of the week
58:10
But so every day when I walked in, you know, they we had three of the bikes, three or four of the bikes there that we used for testing, you know
58:21
And but the first day I started, you know, I said, hey, can you guys show me, you know, the bike
58:28
Because that's not that wasn't the product I was working on. And they said, no
58:35
And I go, why? You know? And they said, well, because they were working on a brand new version, right
58:43
And they actually hired two people from Disney to work on it
58:48
And they said, and this kind of goes back to what you were saying
58:54
The problem that we have testing our own stuff, we are the worst testers ever of our own stuff, right
59:01
Because we know how it works, right? And we're used to it. We've probably been using it for months and months and months
59:07
And so we know how it works, right? And so we come blind to how other people see it, you know
59:15
And like back in the day, I used to always say, I can instantly tell if a developer designed a program
59:24
because it looks horrible, right? and um so uh so what they wanted was a fresh pair of eyes so they said dave until we get the new one
59:33
done you know the new machine in and the new software loaded and all this stuff we don't want
59:38
you looking at it or even using it right because one of my plans yeah one of my plans was to
59:44
exercise on the bike every day you know yeah but they wouldn't let me and so they did that they
59:51
brought me to the bike they kind of gave me an overview of how it worked and then they let me
59:55
and they try to figure it out. And it was really helpful for them, I think
59:59
Really, really wish more companies. Yeah. So any other thoughts about that
1:00:07
Because we're a little over. No, that was good. I like that every episode, you're going to have one of these topics
1:00:15
Yeah. Dog fooding was important next year. I think this is a great idea. Okay, great
1:00:19
So the last prize giveaway. Ready? And this one's easy because you don't need to answer anything
1:00:26
So everybody watching the show right now gets a free copy of CodeRush from DevExpress
1:00:34
DevExpress, CodeRush is a refactoring tool. It's been around since pretty much the beginning of .NET, and it's the only refactoring tool I'll use
1:00:46
And I even gave it the only .NET Dave approved award this year
1:00:50
so if you go to that link devexpress.com slash Donna Dave please go there
1:00:58
and download your copy and Sinema thank you for donating that to everybody watching today so and I hope you will love it as much as I do
1:01:13
Maybe we'll, actually, yesterday I talked to the guy who I know at that company and started
1:01:20
at the company and I'm gonna have him on probably in November. So, that'll be fun
1:01:26
So, I've got a couple more things. So, thanks for watching. We can hang around if C Sharp Corner wants and do some questions
1:01:37
But next week, I have one of my really, really, really, really good friends, Woody Zool, coming on
1:01:42
He is the inventor of mob programming, if you've heard of it
1:01:47
And so he's going to be on next week. So I'm really excited about catching up with Woody and talking about mob programming because it's pretty cool
1:01:58
Please be safe out there. please listen to your medical professionals about COVID-19
1:02:03
I want everybody back next week and I want everybody back, you know when I come to India in the future And so please please listen to them You know my daughter got COVID And so you know this thing is hitting everybody So she fine but it was scary So for me as a father
1:02:27
So I'm also working on a intro music for the show. And I already have all the musicians lined
1:02:36
up and we're going to record a intro song, a rock intro song I'm going to write. And so that will be
1:02:42
coming soon. And, and since I actually know some rock singers that famous rock singers, I'm going
1:02:49
to see if I can tap them to do a little thing at the very end of the song. So with that said
1:02:56
I'm glad everybody's here. Please, please, please email me at donatdaveatlive.com with your
1:03:01
suggestions, comments, you liked it, you didn't like it. Remind me to send you the swag that I
1:03:08
have here for you because I'm forgetful these days. And thanks a lot. So Mahesh, do you want to
1:03:14
keep going or No I think thank you all Unless somebody has questions that was great I think you getting some exciting stuff coming up soon i looking forward to it i think um each show will be exciting it
1:03:30
different than what we've been doing so i'm definitely looking forward to it yeah me too i'm
1:03:36
you've heard me the last couple weeks uh express my excitement over the show so um you know i don't
1:03:42
think I've felt this excited about doing a weekly show before. So yeah, and hopefully you feel
1:03:49
better. I know you went to ER last night. That was, you know, again, you know, these days
1:03:56
crazy days, the hospitals are taking forever. So hopefully you feel better. If it was last night
1:04:01
I wouldn't be here right now. So it was actually Wednesday. So I'm finally, I'm finally
1:04:07
finally starting to show signs of getting better. My only hope on Thursday was to just get through this show
1:04:16
So I did it. Good job. Congratulations. Awesome work. Let's do it again next week
1:04:24
All right. See you guys later. Thank you all. Over and out
#Online Communities
#Programming
#Windows & .NET