Building .NET 9 with Glenn Condron - podcast episode cover

Building .NET 9 with Glenn Condron

Nov 21, 20241 hr 6 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Let's talk about .NET 9 with one of the platform's leaders! Carl and Richard talk to Glenn Condron about his experiences building .NET 9. Glenn talks about the usual improvements in every version of .NET, including performance, security, and stability. But the new stuff is where the excitement is, starting with Aspire. The conversation digs deeper into the origin story of Aspire and what the team sees as the future of building cloud-native applications with .NET. Then, a dive into all things AI - tools to help developers create applications, as well as how to include AI capabilities in your applications. And there's more to come - .NET 10 is only a year away!

Transcript

Speaker 1

How'd you like to listen to dot net Rocks with no ads? Easy? Become a patron for just five dollars a month. You get access to a private RSS feed where all the shows have no ads. Twenty dollars a month. We'll get you that and a special dot net Rocks patron mug. Sign up now at Patreon dot dot NetRocks dot com. Hey, welcome back to dot net Rocks. I'm Carl Franklin at A'mergard Gamble, and happy autumn season to y'all. Yeah, it was Halloween last night after we recorded this.

Speaker 2

When we're recording, Yeah, but yeah, this is later than that because time shifting.

Speaker 1

Right, and we were hoping to get some more stuff. We had Dan Roth on last week and we were hoping to get some more not last okay, time shifting a few shows ago. But we were hoping to get this closer to dot net conf. But you know, you Glenn, being you know, experienced in all things dot net nine just not not just Blazer, we thought we would do a little recap of what they talked about acts dot net conv So, hey, Richard, hey man, let's I think we should just jump into a better no framework don't

you do the thing? All right? Roll the music? All right? Well, I kind of have gotten into the habit of looking at trending GitHub repositories and this one came up. It's called Little Big Mouse. It's an open sourced app designed to enhance the multi monitor experience on Windows ten and eleven by providing accurate mouse screen crossover locations within MULTIDPI monitor environments. Nice particularly useful for setups involving a four K monitor alongside of you know ten EIGHTP monitor.

Speaker 2

The tedap so the scaling thing, the DPI thing happens, and your mouth goes a little nutty.

Speaker 1

Yeah, not just a mouse, but there's a video right there on the repo and he takes like notepad and tries to drag it between the two screens. Yeah, and that's always a not fun experience. But it's pretty good. Yeah, pretty good stuff. I'm going to use it.

Speaker 2

Well, I in this this recording rig, I have a portrait oriented like fourteen forty screen and then a landscape oriented curved like thirty eight and dragon between those can get whacky whacky.

Speaker 1

Yeah, So I'm going to download this too because I've got a few screens and I got a forty nine insure like you yeah, and a couple other screens. All right, So that's what I got. Richard, who's talking to us today.

Speaker 2

Gray Call Show nineteen o three, the one we did with our friend Beth Massey when we talked a bit about Maui and Blazer. Yeah, and got a bunch of good comments on this show because we had a lot of fun there. And this comment is from ilfeb who said, I love your shows. My feeling when hearing all these UI names like WPF, win UI three, Maui, WebView two css SX that we devs would love to have not

so many different UI text acts. The fact that still WPF seems to be the most used dot net UI framework tells quite a story at Microsoft's dot net UI strategy. In the past, we're using Avalonia for our cross platform development, which we've done a show on avalone. We would love to get such a thing from Microsoft. But now that Avalonia UI is there, I hope that the current wild

pace of adoption keeps going. So there's two things that worry me, the current and future quote mess sorry with dot net UI frameworks, where we could have just one for desktop, mobile potentially in a cross platform form for Windows, Linux, Mac os, iOS, Android and the browser and an unclear platform IDE strategy. I'm very much into vidual Studio, not at all into VS code. I guess most devs would want VS twenty twenty eight to be a cross platform IDE. What are your thoughts on this?

Speaker 1

Did you say twenty twenty eight?

Speaker 2

Yeah, like the next next version of visual Studio is okay, I mean to be clear, it skipped over a couple of years there. Yeah, visual Studio runs exactly on one platform Windows. There was a Visual Studio for the Mac which was actually Mono develop. When they got acquired Zamorin they renamed it, which I thought was an unwise thing to do, But now they've stopped working on it, so that's really not a thing. I think your wish is a good wish. It's also never been achieved by anything.

Right to have desktop mobile, you know, and plus all of the operating system is that it just works. That would be awesome. Plazer well and MAUI is obviously, you know, origins are in zamorin forms, the phones being the sort of subset that you need to start with and work out from. But it's really hard to start with that set and then do a good job on Windows in mac Os and the and the larger stream platforms. So

I think it's still a story arc here. Maui's intent was to try and unify all of these things, right, And yeah, I think what you're feeling, your concerns are reasonable, because what you're really feeling is that somewhat of a political struggle going on inside of Microsoft about what folks want to work on, who's one what where, Like, there's a lot going on on all of this.

Speaker 1

I gotta tell you, I just wrote an app in Maui for myself because you know, I'm a solo artist and i play out with my guitar and I've got sheets of paper, usually with big song lists and some lyrics, and usually they're like on the floor by the end of the night. And I was like, you know, I got an iPad.

Speaker 2

Totally normal playlist thing to happen. Yeah, I'm like, I got an iPad, let's do this. So I went looking to see if there were apps out there, and there are, but they want thirty forty bucks a month for a freaking list a month, yeah or something.

Speaker 1

I don't know. They were just expensive, Like I'm not giving you my money for that stupid thingpad. So anyway, I wrote an app and it's beautiful. And here's the thing, Like, my machine is really fast, faster than my iPads, so I could I put like a dev express HTML editor in there, and on my machine, I can add songs and then it add lyrics and stuff, and then I buzz it over to the iPad and it just reads the data, you know. And I used it on the gig last night, nice and it it ran like a shamp.

So I love that whole Blazer hybrid thing because I could I could take that and run it into browser too.

Speaker 2

But I'd also say you were putting it on one platform an iPad two.

Speaker 1

Two, run it out in Windows right on my desktop and then iPad Yeah.

Speaker 2

Okay, legit.

Speaker 1

Yeah yeah. I think the Struggle browser's pretty cross platform.

Speaker 2

Yeah. The struggle for a unified crossplat story is hard, and there's always going to be an origin platform that's going to be strongest, and they're going to battle to make the other ones good. And you know, folks come from a lot of different directions, so there's a reason you're feeling a little concerned I'm glad you're happy with Avalonia.

We thought it was an impressive product. Yep. And maybe we have to do another show and that's very fair maybe so ill fab Thank you so much for your comment, and a copy of music Coba is on its way to you. And if you'd like a copy of music Cobe, I write a comment on the website at dot net rocks dot com or on the Facebook, so we publish every show there. Maybe you comment there when ever reading the show, we'll send you a copy of music Goby.

Speaker 1

Or if you want to just buy music to code by, go to music to code by dot net crazy. All right, well, before we start here, this is episode nineteen twenty five, and as always I kind of like to run down a little history. You know, what's your favorite piece of history from twenty some events? Well, of you know, Mussolini in January makes a pivotal speech in the Italian Chamber of Deputies which will be regarded by historians as the beginning of his dictatorship. Awesome, Yeah, here's a happy note.

January twenty seventh to February first, the nineteen twenty five serum Run to Nome the Great Race of Mercy relays diphtheria antitoxin by dog sled across the US territory of Alaska to combat and epidemic.

Speaker 2

How about that they ran the drugs by dogs like the get by doctors, no other way. Yeah.

Speaker 1

March eighteenth, tri State Tornado, the deadliest and US history, rampages through Missouri, Illinois, and Indiana, killing six hundred and ninety five people and injuring two thy twenty seven.

Speaker 2

That's crazy, but that's before there was ways to warn folks really, right, Yeah, there's just the sirens.

Speaker 1

Yep. So there's more to that. But April tenth, f Scott fitzg Old publishes The Great Gatsby in New York, famous famous book. April sixteenth a communists assault on Saint Nadelia Church claims roughly one hundred and fifty lives in Sofia, Bulgaria place we have been several times.

Speaker 2

Yeah, and at that time was part of the the Soviet Union.

Speaker 1

Yeah. June thirteenth, American engineer Charles Francis Jenkins achieves the first synchronized transmissions of pictures and sound using forty eight lines and a mechanical system in the quote first public demonstration of radio Vision Nice Radio forty eight P.

Speaker 2

Yeah for eighty P. Forty eight P.

Speaker 1

July the Scopes trial right. In this stage test case the Monkey trial in Dayton, Tennessee. John T. Scopes, a young high school science teacher technically arrested on May fifth and indicted on May twenty fifth, is accused it was signing a reading from a date mandated textbook on Darwinian evolution in violation of a Tennessee state law, the Butler Act. He has found guilty and fined one hundred dollars through the verdict, though the verdict is later overturned on a technicality.

The trial makes explicit the fundamentalist slash modernist controversy within the Presbyterian Church in the United States of America, with William Jennings Bryan, who dies on July twenty sixth, being challenged by the liberal Clarence Darrow. All right, I swear to God, I'm not going to go through all these

but July eighteenth, Adolf Hitler publishes minekompf. August eighth, the Ku Klux Klan demonstrates its popularity by holding a parade with an estimated thirty five thousand marchers in Washington, d c. August thirty first, Margaret Mee, anthropologist, lands in American Samoa to begin nine months of field work that'll accumulate in her nineteen twenty eight book, Coming of Age and Samoa. This best selling book will become the first popular anthropological

study and will change many attitudes toward tribal peoples. The Locano Treaties negotiated October fifth through sixteenth, and signed in London December first. Very you know, getting ready for World War Two? Here the Grand Old Operay November twenty eighth, first broadcast on WSM Radio and Nashville, Tennessee as the WSM Barn Dance. Oh yeah, so it was an interesting year. Do you have anything to add?

Speaker 2

Yeah, Hitler's out of prison, publishes Mind Camp, reforms the Nazi Party, and creates the SS all in the same year. Yeah, guess which way we're going? Friends?

Speaker 1

Mmm?

Speaker 2

Right? Like, just like that, He's he's right back on the mission. Nine months in prison didn't seem to dissuade him much after the Beer Hall push.

Speaker 1

So you're saying he was a convicted felon.

Speaker 2

He was, actually, but it apparently let out. I mean, it was a five year sentence. The only served nine months. Yeah, I know how you pull that off. It's a friends and good behavior because he's busy writing a.

Speaker 1

Book friends in high places.

Speaker 2

I guess something. I don't think he had any.

Speaker 1

Actually, Okay, now for that, let's bring on our guest. Glenn Condren as a program manager on the Application Platform Team at Microsoft, where he spends most of his time working on the asp net core runtime. Before becoming a PM, he was software developer and consultant for eight years. His work before Microsoft was primarily for Australian government clients. Welcome, Glenn, Hi, how are you doing. We're good, doing great, excellent, glad to have you. You guys have been busy.

Speaker 3

Yeah, indeed, I guess my updating of my bio I suppose because I probably haven't done it for a while. I am now the lead of the Platform Team pmteam, which means that almost everything that's not tooling and MAUI right, all those pms. Okay, so yeah, that's that's.

Speaker 2

So all the heart of dart net, not not the language, the framework.

Speaker 3

And I have very recently including the language. Well, Mad's Tubison also wants to be but like he's bad, so I don't. Actually, I don't have actually influence bads at all. He's bad, and the Language Design committed and the Language Design Meeting does its thing, and all those people that don't pretend to influence it anyway, but technically reports you.

Speaker 2

And Mads have a conversation periodically. We do. Yeah, Yeah, it's great.

Speaker 3

Yeah, So yeah, that's my that's my part of the world, which means this kind of release we're here to talk about don N nine. It's been a lot of for me. It's been a lot of aspire, especially because it grows out, that grows out of what I was doing before I started moving into I am now lots of aspire, lots of lots of kind of AI. That's just kind of two halves of AI for us. It is AI for you and and US as devs like co pilots and friends. AI for code, and then there's AI for how am

I going to How am I? You know, my boss has said he wants a chatbod. How do I make it real? Or how do I integrate AI into my apps? And that's that bit is more where where I play? Because now you need libraries, you need SDKs, you need experiences. How are you going to talk to the l l M. How are you going to do generatly? BAYI right, how

are you going to make it work? We got lots of samples to do, lots of partners, lots of lots of work, and then our forever goals right security, quality performance.

Speaker 1

Right, Yeah, security a big one. I know. We talked to Dan Roth a few weeks ago and he was mostly focused on Blazer in the changes to Blazer, but we thought we would get some more breadth about dot net nine with you. So we know about Blazer. What are some of the other big wins in dot net nine over dot net eight?

Speaker 3

Let's see, so lots. We've continued our PERF journey. I don't know, I'm sorry, not PERF. I mean, yes, we've continued our PERF journey. But the thing that I was going to say was in don at eight we talked about I believe it was in eight, maybe even have been as early as seven. But for many years now we've been on this steady march with Native aot. As we kind of keep giving you this, more and more of the stack becomes kind of aoteable. We made another

good ahead of time step ahead. Yeah, that's ahead of time. Compilation. That's kind of compiling hardest for lack of a pretteric description, get pilot to native and what that gives you is, you know, better cold start times maybe and things like that because there's no JGIT, right, and what what it takes away is dynamicism.

Speaker 1

Right.

Speaker 3

So if you're in that world, especially if you're in like I have a small service and I don't need any of the kind of runtime, kind of dynamic runtime features that that are difficult in a full in an AOT world, then you might want that extra cod start time, container container on a cluster, right, So we made more roads towards that we've made. There's some stuff in the GC. There's the new like dynamic adaptive GC mode for server GC.

There is garbage and garbage collection, all all in support of cloud and building these new workloads in these new ways people are using.

Speaker 1

Right.

Speaker 3

Aspire was a kind of big lift that we kind of talked about at the end of don at eight at dot net Confin do at eight, I did the talk. I did a talk there with Feler and then I think you've had Fouler on to talk about it and some people, right, yeah.

Speaker 2

Sure, and Hunter and yeah, yeah, so they even talked about Aspire, right.

Speaker 3

So that shows you the kind of broad thing about Aspire is how many things needed to change.

Speaker 2

Yeah, I mean, but I think of it as tooling. You're saying it's in the framework too.

Speaker 3

Yes, because Aspire is kind of it. It actually crosses almost the entire intersection of the team, Like it doesn't impact the language, but it impacts almost everything else. Right. So you have tooling, yes, because you have the dashboard to give you all your metrics, to give you a hotel, to give you that dev focused what's going on in my app right now? Right? Then you have integrations. So

integrations were Newgate packages. Their library is the same as all the other things that I build on my team are libraries, right, but they are configured by the out of the box to assume that you're in this world. You're using cloud stuff. Stuff might be unreliable.

Speaker 1

Right.

Speaker 3

We did work in Polly, for example, at the beginning of doing a spire to make to improve to help improve its perth. Right, Like, we've contributed a lot into the poly project that was kind of under this umbrella of building this Aspire project. It's gone from elements and ingredients of a stack poly is faster. We've got a reduction thing. We've got this ability to you know, we have baked re tries and such in fast better all

these ingredients. Then you start stacking them together and stacking them together and stacking them together until you've got a stack right right, and so now you've got Now you've got libraries that make it easier to get you know, I want to talk to reddis but I need retry. I need a good default retry policy. I need to make sure it's configured with in di I properly, with the right lifetime. Is the Reddest client thread safe?

Speaker 1

I don't know.

Speaker 3

Is it supposed to be a singleton or not? I got no idea. I'm I could do it.

Speaker 1

You know, DDI, can you define that.

Speaker 3

DI I so dependency d SO. If I describe this out, if I pull this out into a list for you, if let's say you're going to use raddis, this is This is our kind of favorite example, and this was part of our genesis when we were creating what is a spy going to be?

Speaker 2

When we were.

Speaker 3

Giving this pitch, we had this slide, and on that slide it said, if you're going to use Reddus today in the modern cloud. This is what you have to do, and it was fifteen steps long.

Speaker 2

Right configuration, setting all of the settings, right, security parameters exactly, you need.

Speaker 3

To add the right to add you need to add the new get package. Right, you got to find the right one. You have to add it to dependency injection in your like server app. What is the lifetime? Don't know? You have to go read the docs make sure you've got the right one because if the thing, you know, can it be a singleton or not? Is the main decision point? Right, I'm going to have it to di is it logging properly? Is it going to go into

my logstream? How do I do that? When we started this effort, that was a shim that you had to do that you had to go learn that significantly like improved now, right, then how do I consume it in my in my controller or in my function? And then like is the what is the resiliency policy? Is that turned on? If reddis is a little bit flaky one day or if something happens, is it going to recover? Like it just kept.

Speaker 1

Going right, it goes everywhere and.

Speaker 3

What we want, Yeah, understand it almost becomes viral, and so the intent was, how do you collapse that into just add reddis and for the love of God, give me some give me a really make it work with all those things that we just described, so.

Speaker 2

Well, just give me the settings that would make me happy be in the cloud, absolutely right, because the bigger thing here is going, hey, what if we did elastic instead and just being able to switch it, like if you actually got Redus running right, you'd literally go okay, don't touch it. Yeah it's working right now?

Speaker 3

Yeah, exactly right.

Speaker 1

Well, that brings up another point, which is if you start with Aspire, right, and you do all the things and you pull all the switches and everything, you add reddis, do you give up the whole idea of adding things manually after Aspire? Like do you always have to go through the Aspire thing to add things so that you don't disturb? Right? I mean, if you're going to add another service, can you just add a service and we'll add all the Aspire stuff follow.

Speaker 3

Yeah, absolutely so I think what you're talking about is like add Aspire integration, like gesture in tooling.

Speaker 1

Well, even if you start with Aspire, but you know, we have many years of manual configuration experience. And that's where we go. Oh, right, as developers, I see, do we now have to put that aside and before we add to it or expand our application or applications, do we now look for the Aspire way to do things?

Speaker 3

I mean, I hope, I hope that the Aspire way means that you can delete some code. And therefore I'm always supportive of you being out of delete code if you if that you don't care about, or that you don't need to worry about, right, so that maybe, but no, it's not not required for you to go and change the way that you do things.

Speaker 1

Right, So there isn't any risk of doing something that conflicts with what I've set up and aspired that maybe I don't even understand, like all that stuff that you said about reddits.

Speaker 3

No, So the largest risk is probably that you add a redes say and we built in and like say, reach a particular set of policies with poly YEP poly policies, and then you've wrapped them in your own and now you've got a double layer of retries or something like that.

Speaker 1

Actually that happened to a customer of mine that we went out and tried to add Aspire to we already had partly, right.

Speaker 3

Yeah, And so that's probably the biggest risk is you didn't realize that the client you're getting now is already retrying and doing all that for you, and therefore you're doing your own logic for it. That's probably the biggest risk.

Speaker 1

Yeah, yeah, But.

Speaker 3

Ultimately, like you know, I heard this thing as part of me like being oh, yeah, let me make sure I remember what dot net rox is all about. And I listened to Chris Bluke, my befriend Chris. He was talking about he talked to you about how he like, you wouldn't want to be a developer today because of all these things to learn.

Speaker 1

You would want to start.

Speaker 3

You wouldn't want to start, You wouldn't want to be getting You wouldn't like you couldn't imagine how overwhelming it must be day one showing up and then them saying cool, you're building this kind of app. Right, So what I would ultimately, what I'm trying to achieve within Aspire is today I would say that the learning curve for how

to build a current app is like logarrhythmic. It goes like straight up and then it starts to even out right, and you want want to make a linear like you slowly learn more and more bits and you can make it in you again, can we flatten this curve of what how much you need to learn to be productive and to get something that works and can work for real with real internet traffic hitting it and not like fall.

Speaker 1

Over and can be maintained and can.

Speaker 3

Be maintained right, because today it's just this mass. It's very very hard, right, and so there's a bunch of interesting challenges.

Speaker 2

Because it's not that tough to toss an app service up and get it to run. Yeah, that's right, But you haven't done a lot of things at that point.

Speaker 3

No, that's right. Yeah, And if you were, and if you're good with building that kind of app where it's a kind of app service talking to a database, Spire is still useful in that world in that it makes it easy to spin up the database every time you

press F five and stuff like that. But then it's mostly useful when now when you've got to have you've got three or four backing APIs or a couple of functions and an API and a data and then you start to stretch the realms of what app service is kind of really built for that in that world, right the that's so that's that's what that gets. So yeah,

flattening that curve is super super important to us. Like one of the customer calls that I did leading into with Spire, I was talking to this engineering lead and he said, we said one of the questions we would ask in our standard script, because we're trying to ask a consistent set of questions, was what's keeping you up at night? Because I'm looking for the I'm looking for the answer to that question because if there's something keeping you up at night, I can try and solve it right.

And his answer was, I don't know if I'm putting the lego together properly.

Speaker 2

Mm hmmm, it's a good one.

Speaker 3

I'm my app is built on like a pyramid of newgat packages, and I know that it works, it runs, But are these two supposed to go together? Have I

configured this word properly? Like there's so much exercise left to me that I am terror that tomorrow my thing will come crashing down, And I don't really know if it's quite possible I put two things together that aren't supposed to go to get to your question, about Aspire working with other things that I've done, and that's going to cause me something that causes the world to fall apart. And so ultimately you're trying to make it so that that person can go to sleep at night and be like,

I'm pretty confident, I'm good. I used all the things that they said would work that are kind of proven based upon this community and ecosystem of Aspire people building stuff to make it so that I can be more confident that I haven't made that mistake, right, And that's why in the nine keynote, I assume this comes hopefully

this comes out after the keynote. Like, what we've seen is this community toolkit idea with Aspire, which is just the idea of trying to make it so that more and more people can build things that are Aspire components that you can guarantee adhere to the same kind of

requirements and guidelines that an Aspire. I call on them components still even though we change the name to integrations, so like, because like what is an integration it is effectively we have this idea of a spec it means you know, you know it can wire into dependency injection. You know, there's a set of you know, ten fifteen things that in order to be an integration you have

to tick. And so this idea of Inspire Community Toolkit is you or anybody who has a library that they want to be able to be an Aspire integration can also go and be in the list when you say out Aspire Integration and we can. Then we'll have a whole community toolkit kind of effort around making sure that that we can continue to build up this community of when you're building this type app and you really want this kind of guarantees, what do you do and how does it work?

Speaker 1

Right?

Speaker 3

It's also still very early in Aspire. There's crazy crazy stuff we could do, right, Like, Aspire has the model of your entire application, we could map it. We can give you the full description of all the pieces of

your app. What's more, you could do things that are crazy like some of the people there's a some people on the team I was talking to yesterday who were like, yeah, what if we put a proxy in between every communications section, So on your dev machine you could turn on packet loss between any in particular individual connection and you could just make that a feature of the tooling, so you run it app and you turn on packet loss right

or things like that. Right, that's possible to do today, but to developers go to the effort of figuring out how to do it and turn it on Like probably not, but if it was just there and you just had to click a thing, we'll try it. Right. So there's a lot of that kind of work that you can do in the Aspire space just to try and help people build make their apps more reliable from the beginning so they don't like called up in the middle of the night or anything crazy like that.

Speaker 2

Well, not finding out the hard way that it isn't reliable, not.

Speaker 3

Finding out the hard way. We had a lot of horror stories of people finding out the hard way, and we're trying to We tried to fix all of those things for those people when we were building up.

Speaker 2

You don't find out you're logging wrong until you're eating it and then you go looking for the logs and can find them. Yeah. Absolutely, that's when you find out. You've been looking about.

Speaker 3

How do we fix that?

Speaker 2

Right? It's been a year, yeah, right, I mean you talked about Aspire the first time at dot net com for dot net eight indeed, and we did our first show with foul Er, I think January twenty four. So are we on is this V two or is this really V one? Like it felt like you were just experimenting a year ago.

Speaker 3

Isn't the isn't the common Microsoft saying that the V two is when you start trying it. Isn't that? What the isn't that what? We always just know? What people used to say is.

Speaker 2

That V three now and V three is when it's great? Yeah.

Speaker 1

V three is the golden version.

Speaker 3

Yeah, the golden version.

Speaker 2

Yeah yeah, but I mean you had a year of feedback and pressing against this. I mean it's a club world now, right, Yeah, watch the issues it's crazy.

Speaker 3

Yeah, absolutely, yeah. So yeah, that was the goal was to get that, get the the was addressing. So one of the themes I think is part of this discussion now, which is like, what are you done? What? What are the what is the what if? Customers hit real badly?

So so one of the biggest things that we that people hit a lot that we've started to try to address is just so we had this concept of developer first, OPS friendly that we used that I used to talk about with the team because like, you can't like this thing has to fit into that world right right, like, and if you super prioritize towards only the developer, you're like,

sis admin guys, give what is this like? No, we can't, you can't do this right, And so you needed to build a solution that you lets you that is attractive and productive and good for developers, but then lets you easily fit into the flow that those sis admin folks want. So it was very obvious to us almost immediately once people started to use this thing that they people desperately wanted more ability to customize what the thing that they

were deploying to. When they were using the kind of default deployments we should probably talk about deployments more generically, but when using the like AZD experience specifically, they wanted something more. So this is where this is the interesting thing about Aspire is Azd's not mine. But another principle

that we had was kind of extreme ownership. This idea that within Aspire, at least we were not going to let the gaps between the different parts of the things that you needed we needed to work for you to be successful stop us from making changes. So if the AZD team needed to do something to make the Azure thing good, or even the AWS team needed to do something to make the AWS experience good. We would go talk to them and we were trying and figure it

out right in terms of deployment. And so one of the big things with as Container apps and Aspire and doing AZD up was well, how do I change the name of the thing or like tweak this one setting or the sequel thing is real good except this bit. And I don't want to have to completely eject from the system. So you could always generate all the bicep and then you hand that off and then involve it from there check it in. But I don't want to do that. If I could avoid it, can you give

me something else? And so now there's a lot more flexibility in you being able to drop into effectively a C sharp wrapper around what the BICEP generated would be within ACD, So you can tweet names, you can change settings that you previously you would have had to fully eject into, generate the bicep, check it in, and then use bicep from then on. And so there's a lot more of Now you can kind of pick the right

spectrum to be able to fit that. Then there's a lot of There was a lot of people who desperately wanted to like wait for so I can say I want this to start after this thing, so you know you've got support for that. You have support for persistent containers to keep the sequel, keep the sequel server running in between the executions of my app. So we now

have support for that. All of these things were all really driven from people who really who were using the thing and saying, yeah, we need this, we need this support, right, as well as a few like big internal people who were using it. You would have seen a video from a video in the keynote if you watched it from one of the architects who works on copilot. The unified like back end for copilots is built using a spire.

And so whenever you're using one of the Microsoft Copilots at all through the same kind of Copola backhand, that's an Aspire like backhand API set that is the orchestrated and their devo loop uses a spire, right, it doesn't impact their production.

Speaker 2

And Glenn, I'm gonna interrupt you for one moment for these very important messages.

Speaker 1

Is your on prem dot net framework application A prisoner find freedom? On AWS with elastic scale and pay as you go pricing. Port to cross platform dot net and run on Linux without license fees. Find out more at aws dot Amazon dot com, slash dot net, slash Modernize. Hey Carl, here today we're spotlighting a tool that's turning heads in the tech community. Raygun's AI error resolution brings you smart AI powered insights directly into your development workflow.

This feature doesn't just identify errors, it suggests how to fix them quickly and efficiently in seconds. If you're ready for a deeper dive into smarter debugging, you won't want to miss what raygun has to offer. Visit raygun dot com, slash dot net rocks. That's raygun, r A Y g U N dot com, slash d O t n E t r O c k S for your free fourteen day trial to explore the way reygun is revolutionizing debugging.

Speaker 2

And we're back. It's dot net rocks. Amateur Campbell. That's Carl Franklin. Hey, Hey, hey, talking to our friend Glenn Chondron about all the dot net nine goodness. Indeed, welcome back of that.

Speaker 1

Yeah yeah, And just a reminder that you can get an ad free feed of dot net rocks by becoming a five dollars a month patron at Patreon dot dot NetRocks dot com. Okay, you were saying, Glenn.

Speaker 3

I don't remember that was out somethink about. We had long we took. I think my pain point was there was lots of feedback. We did a lot of features, highlighted some of them, but it was all trying to just our goal was between when we kind of shipped halfway through dot net, halfway through dot at nine to now was all about top pain point fixed, top pain point, top pain point down donat I man, yeah, we ship when we ship. Yeah, So that's what it's been and now we're in this what I think is a really

nice state. We have a lot of people who are using it for real, and that's the thing that prioritization.

Speaker 1

The thing that piqued my interest when you were talking about drop into a C sharp wrapper around stuff that you don't really understand or need to learn. Now yeh yeah, this ability is all part of a spire. That's not something that's to dot net developers without aspire or no.

Speaker 3

It will be available to it should be available to don't developers elsewhere because it's not technically part of a spire, it's just a it's a feature of the Azure developer, the az d C and the AD experience. We give you a method and we make it intuitive when you're within Aspire, but it's not we layer. We layer the software better layer and kind of segment the software better than that. Right, So you should also be able to

get that outside of the Aspire experience. Love that Aspire is very much a collection of pieces that all work fine on their own, but get better when you put them all together.

Speaker 2

Right.

Speaker 3

So the dashboard that shows you all your hotel data, it's just an hotel dashboard. You can make anything that talk to hotel appear in that thing. It doesn't need to open telemetry in this case. Yeah, absolutely, I appreciate it. And if you'll notice, if you go to as your Container apps now they have the dashboard, the Aspire dashboard because it's just code. They just took it and hosted at ACA. It said here, this is a cool hotel ed point, let's put it in there.

Speaker 2

Right.

Speaker 3

Integrations are just new get packages. The AD the AD integration for Gesture in Visual Studio is literally a search or new Get for things that are owned by the Aspire account. Like, there's no, there's nothing special about them. They are a new get package with some wire up code.

Speaker 2

Right.

Speaker 3

The just the kind of way the service discovery ish stuff is environment variables, right Like, it is very much a you could do all of this stuff to that you could have done all of the things that Aspire does for you, but it makes it puts it all together for you, so you don't have to think about it as much.

Speaker 1

And yeah, it's it's the classic thing of you know, you want to use this library or whatever, this component that might be an open source component or whatever. First you download, then you get package, then you wire it up and program cs and then you might have to add a CSS file or exact JavaScript link or all of that stuff.

Speaker 3

Yeah, and so how do we help you get there? That's kind of a lot of what it does. And then yeah, it's and then but when you put it all together, the overall the experience of all those things together is kind of mind blowing. People looking at them and say, I'm where there was this being all my life.

Speaker 2

And right yeah, yeah, real powerful effect, right like that that's the whole thing is.

Speaker 3

Indeed a very powerful cumulative effect when you put all these pieces together, but they're all individually adoptable and they're not super tightly coupled, which is it's just very nice.

Speaker 2

And more importantly, if you know, if you've got strong opinions about how you want your cloud native apps to be built, you can take the pieces out that don't work for your plan or changing. Yeah, but I appreciate that. And so you still still early days, but clearly you guys have been taking a lot of feedback, Like just look at the issues list. Oh yeah, absolutely, I haven't had time to triage this yet, but imagine you do this.

How much of these issues are people don't understand how to use this versus people want to take it further?

Speaker 3

Yeah, yeah, yeah, so there is a lot of there's not as many issues for I don't understand how to do this, but there's lots of discussion. Right, So the feedback channels are filled with yeah, but what is it?

Speaker 2

Yeah?

Speaker 3

Right, filled with ye but what is it? Yeah?

Speaker 1

I think building an app with a spire would be a great learning opportunity for somebody who doesn't has never done reddis right And instead of you know, going to the documentation, spending a whole day or two reading it and trying to figure out how to cram it into your app. You use a spire and then go and look and see what it what it did. Yep, absolutely, you know that that makes total sense to me.

Speaker 3

Yeah, Yeah, there's a it's a it is good on that gun. And that's that's partly because of that effort to try to kind of make learning linear again, right, Yeah.

Speaker 2

And to smooth these things out. Give us the pit of success here. Yeah, that if you just follow the defaults, you're going to be in a good place. And if you want to go further you can, right, And.

Speaker 3

Then it helps your bigger enterprises because the bigger enterprise wants to try and get some level of consistency across twenty teams. So now you've got you've got that lever as well.

Speaker 2

You can really press against those templates and making where you want it to be. I don't want to do a whole show on Inspire because there's more stuff going on Dot nine. Let's do the AI conversation. Yeah, it's kind of on the radar for a lot of folks these days, for.

Speaker 3

A lot of people. Yeah. So one of the big things, the first call out. I think I would say on that front is if you haven't looked at Sanderson's kind of sample apps. We talked about Shop. We did this kind of rework of the e Shop sample app, make it all cloudified. It's running with a spire and stuff

like that. Right, So, as one of the engineers on our team said, we're now expanding the Shop cinematic universe to create this E Shop back of house application, which is, imagine that you were the support person having to deal with customer support for that E shop kind of app. We build that app, and so it uses a lot of AI in ways. It's sometimes a convincing sometimes not as obvious to people because the every AIDEMO you've ever seen is how do I chat?

Speaker 2

Yeah? Yeah?

Speaker 3

And so it uses it for filtering, it uses it for summarization, It uses it to like, help me make sure I'm worth looking at the most important issue, help me find the right when I get the feedback ticket where I want to respond with r TFM read the

manual with an F in the middle. How do I ask the AI to find the bit in the manual that I should them to so that I don't have to go search through the manual like if things all those sort of functionality exists in that sample app and it's all put together and it's working well, and Santus has done some talks on it, and Sanus is a great presenter.

Speaker 2

So like, I'm sure you're I'm going to grab a link to his video from from.

Speaker 3

So absolutely so watch all that, especially if you're like, yeah, but why do I care about AI If I don't, if I don't have I don't work in an app where I need a chatbot, So what would I do? Go look at some of his stuff. It is very good.

Speaker 2

It's inspirational for thinking more broadly about what these tools can do for you.

Speaker 3

Absolutely right, So then in support of that, so what does the Donat team do? What does my team do? So we have this way. We we have started with effectively primitives. We're looking at, Okay, you need to tokenize strings in this world. What's the fastest, best, most pop what's the best tokenizer that everybody in the world should use.

Let's make sure an implementation of that exists. Like these very bare like numerics, like these very very low level underline primitives that build a bunch of this stuff and then effectively we just start building up as we build building blocks and building blocks and building blocks that allow you to do the to communicate with the to do this generative AI task, and I want to say communicate

with right. So in the dot an ecosystem, you have semantic kernel, and you have Azure SDKs, you have all of the like these libraries to be able to do kind of generative AI stuff. We help and support all of those things, and then we look at, okay, well, what is the underpinning that we should be building that all of these people need? And the is the forever question.

What is the thing we should build so that they don't have to then then everybody will adopt it, and then will be everybody will be in a better place. So that's where we've been going. So one of the things you're seeing in don N nine is this extensions AI.

We talked about it a bit beforehand. It's semantic kernel already exists, and then extensions AI is this kind of building block layer for I want to talk to an LM, how I want to talk to an LM, And what that library set allows you to do is is do kind of a chat completion, which is what a lot of the stuff, even the stuff that isn't chat kind of boils down to I'm going to send a string to a server and I'm going to get a string back,

and I'm going to figure out what it means. And I want to do the stuff where I teach that about my own data, and I want to have telemetry plugged in and such. And it gives you a consistent abstraction over many different types of lms. So if you're going to use open Ai, or you're going to use some local thing, or you're going to use like Olama, or you're going to use you can have the same programming experience against a bunch of different models that can

all plug into this system. What's interesting about it is it effectively uses a middleware pipeline, so the same as I's been a core middleware for those of you playing

along at home. So you made a request effectively in this world, which is a chat completion, and it goes through this middleware pipeline, and so that moves implementation of things like logging out of the provider that is specific to the LM and into the generic library, such that every provider doesn't have to do all the logging stuff so you as a consumer get consistent logging, you get consistent tool calling where it will where one of the things LM's will do is call your methods if they can't,

if they can't, if they need to. Right. It has all that sort of stuff built into this middlewhere layer as opposed to being each provider. That makes it easier to write providers. That hopefully means we get more providers. It also allows other things like semantic kernel to like layer on top and get those same benefits.

Speaker 1

Right, do you do you foresee people using AI for things we typically code forms over data for like I'll give you an example, selecting a report right with a whole bunch of filters. Do you instead of having drop down combo boxes and things that fill and refill and check boxes and whatever. Would you foresee somebody just opening a text box and say give me all this data between this date and that date with this you know, particular film and blah blah blah and replace all of that UI code.

Speaker 3

Yeah, it seems entirely likely that would happen. I think what will happen first is that you'll use AI to build that that form that you just described. First step, Right, co pilots and friends and all of the tooling in visual studio visual studio code like you even see like you see the explosion of AI assisted coding. Right, So the first step one would be I want to build that form, and then the AI says, sure, here's all the UI.

Speaker 1

Right.

Speaker 3

The second part would be would be, yeah, I think you could get to that point. Would it be faster, would it be better for the end consumer? I'm not one hundred percent sure, right.

Speaker 1

Well, at least giving them the option, right, you could.

Speaker 3

Give them the option I think will absolutely happen, will it be? But I still suspect you'll have your kind of You'll still want your your thing. That is the thing everybody looks at. We already know what it is, so let's make it real as so I don't have to chat because I think that process will involve some iteration to get exactly what you want every time, So you won't want to do that for the report you have to look at every second day.

Speaker 1

Right, And then on top of that, you could add speech recognition so that you could just literally talk to the app and get absolutely what you want out of it.

Speaker 3

Yeah, but more important, but more also interesting that is just mining for insights, right, Like, if you're going to have that conversation away where the thing can understand all the data, can you ask you questions just like you know, what has my growth been? What is my year over year growth?

Speaker 2

Now?

Speaker 3

Absolutely, and it would just tell you and then you don't need to go look at the chart to interpret what the year of year growth is. Right, So to give you so.

Speaker 1

Much, you might have an app which is your main app, and then you might have this AI bot for lack of a better thing that you just converse with to get data out of your back end.

Speaker 3

Yeah, and then you see the other experiments people have gotten where you're effectively getting a free junior dev of like, which is just AI agents writing like fixing, doing prs for you against issues that are logged on your repot.

Speaker 2

Right, that's insane, well at least writing my pr our comment good lord.

Speaker 3

Yeah, yeah, absolute ability.

Speaker 2

To actually remember, well not remember, but I analyze everything I've changed and give me a summer.

Speaker 3

It give me a summer, it's not in my head, right, write all the unit tests for me, right, Like, Ultimately you want you want to get to a point on that AI assistance where the AI is doing all the toil of code so that you could do the fun parts right, But that's.

Speaker 2

Uh, yeah, they're just their augmentation tools and they're a good one. It doesn't It writes unit tests that are okay, but you know, it's still easier to edit a test than it is to write them from scratch, right, and sometimes it spits out stuff you just haven't thought of.

Speaker 3

Absolutely. What's interesting for me, Like, I guess I want to talk about challenges that are maybe are unique to me on this front and maybe not, but hopefully it's interesting to people. Is like you can't put that stuff in a box of ships annually yet, yeah, because it's some sort like there's there's this challenge within the AI space. It's within Aspire as well. Different so I guess it's common for both of those things but for different reasons.

But both of those areas are resistant to we're going to ship it once every year and call it good and put it and install it on everybody's machine, either because the pace is really fast or because you're depending on lots of stuff that you don't control. In the case you Aspire, right, if we need to update the redest client that we depend upon we'll need to do an update, right, and in the AIS case this there might be some new way of doing something that is

very important. Therefore, both of them are kind of not we're shipping them along with everything else in don At nine, but we're making sure that mechanically they're not tied to shipping, only being able to ship when we ship a major version of the thing.

Speaker 2

Sure, and you need to be able to swap out what Opening Eye Library are using. Absolutely, I would hope you can switch to a local instance of Cloud if you want, or a LAMA, right, like, yeah, that's.

Speaker 3

All that sort of stuff. Yeah, but then also like what's into thing about that is Aspire nine works on DONNA eight But like normally we've we've we we have for some time tried to keep nine is nine eighties eight seven is seven because it's just easier, it's far easier to reason about.

Speaker 1

Right.

Speaker 3

Everybody's brain breaks when you start saying, but technically you could be using seven, version seven of this on version six of that with version four of this thing over here, and then your brain explodes.

Speaker 2

Where I feel like one version of Aspire is good.

Speaker 3

And that's and so yeah, so but if it's two versions. If it's Aspire eight as a world and Aspire nine as a world, and they're working on a dot net version which is either donat eight or nine, that's probably understandable. But that's part of this, like the things I don't necessarily always ship in the box now, the same as with kind of extensions AI, and that's we can't go to the world where everything individually ships, because we tried that in the early days of Core. If any of you remember.

Speaker 2

We do, and that ad is lts like, it makes sense to me you'd support two versions of dot.

Speaker 3

Now indeed, which is another discussion that you then kind of have internally about, oh, maybe this makes a lot of sense, maybe we should do this more. We haven't made decisions on those front, but we've certainly talked about it. Yeah.

Speaker 2

No, but you're definitely feeling around for it's some things you just want to keep sync. Like, I'm okay with you calling it Aspire nine. Yeah, even though there's no way you've made nine versions or anything.

Speaker 3

Yeah, absolutely, even though there's no version exactly. Yeah, because it's just you've got to try and you have to balance the well, technically, these things can all be independent versus. Yeah, but how should people think about it? Because you need to make it easy for everybody at the keyboard trying to figure out what they've got to do. You need to balance all of that. You've got to balance that thing.

And then it's easy to invent scenarios of like, but what if we add a thing here feeds bug fixed to this package only and somebody really wants that, And I'm like, yeah, but really.

Speaker 2

Well, and especially in fast generating stuff, there should only be one current version of Aspire that I don't care what you're working on on the back end, it works, yeah, ideally, and same for all of this gen AI stuff because it is so iterating so rapidly. Yeah. Yeah.

Speaker 3

And then and then then in the AI stuff, the challenge is figuring out the things that are going to be enduring. Yeah, because you don't want to push everything down, right, So we have chat completions in and some people will look at that and say that's cute, like, but what about this other like mountain and stuff that exists in that ecosystem, Like what about audio? What about streaming audio backwards and forwards or like some some other thing. Right,

We'll be like yeah, yeah, but we can't. We can't move different layers of dot and need to can move at different speeds, and we don't help anybody if we if we evolve too fast in the library, in the in the well.

Speaker 2

Some folks are arguing that a version of dot net every year is too fast.

Speaker 3

Yeah, exactly, Yeah, yeah, but that's already too fast for some people, right, And I think with that is actually often more about people when people don't want to feel forced to move more than they care about the fact that there's another version. And also people feel bad if the versions get too far ahead of them.

Speaker 2

When you're at six, you're missing out.

Speaker 3

Yeah, lots of people are on six. By the way, it's the most popular, not new, it's the most popular.

Speaker 2

Version that the LTS. Exactly.

Speaker 3

So the data tells us that roughly half of the dot netir base only moved from LTS to LTS.

Speaker 2

That's fine, that's good. That's a good thing to know. It just speaks to people care about that. Like there's another debate that is why why I have an LTS and a non LTS, like just make them all the same, But clearly it matters to a certain group of folks, it does. Yeah, yeah. Yeah, And I mean I'll included a link of Stephen Tabbs every year amazing, ridiculously complicated. You need to spend an afternoon reading blog post on performance. Absolutely, But I firmly in the camp of when you swip

to a newer version of dot net, stuff's faster. Yeah, you just get two ways about it.

Speaker 3

Yeah, for all of for everybody listening, every version is faster. That's that's a that's a true is full step. We tried to we make it. We try to make every version of fast. And there's some amazing experiments happening, Like the runtime team has been experimenting with acinc and like a different version of acinc, Like like, not a different version,

We're not going to change, different approach, different approach. What if the what if acinc was more of a run time feature and less of a compiler feature.

Speaker 2

Interesting?

Speaker 3

What does it do to perth?

Speaker 2

Yeah?

Speaker 3

What scenarios are better? What scenarios worst?

Speaker 1

Right?

Speaker 3

Like, what does that look like.

Speaker 2

Rather than just spitting out acinc i L with all of its overhead, what if you actually had underpinnings in the OS that under in the language that did this exactly right?

Speaker 3

So, like experiments for that like it grew growing out of you know you maybe you saw some of our experimentation with green threads and doesn't make sense to have a green thread model in dot net. The outcome of that was, yes, we could do this, but it would like be yet another way of doing ac Really what you need another one that I don't know what significant benefit.

Speaker 1

What are green threads that?

Speaker 3

It's they're kind of like the way that go routines in go work. It's just a it's a it's a different way of doing a sinc I'm not it's a bit far from the point to worry about it. Sure, we can grab a link, but what we'll do is grab a link to.

Speaker 2

Wed To the to the original issue called the Green thread Experiments. Good.

Speaker 3

It's a good it's a good interesting read if you care about learning what is green threads or about just this topic in general. But to be honest, something the most of you all probably don't have to care about.

Speaker 1

So, you know, so I want to just go back before we sign off here, you were talking about AOT and how AOT is progressing. Our friend Dylan Beattie, we just talked to think last week. Before this comes out right Richard.

Speaker 2

Something like that.

Speaker 1

He's great, yeah, all right, so he has a language called rock Star, and you know, of course it's fun. But he was waiting for AOT to really come into its own and he was like, dot Net eight finally delivered. So he can, you know, with a GitHub action, produce a fully you know, native version of his interactions the compiler or whatever you want to call it for all platforms. And so that's there in eight and dot net nin Does it just make faster and smaller executables or what?

Speaker 3

No? No, So it's more of the IoT at this point is the more of the ecosystem just works. So like in AF doesn't really work right, EF does a lot of things that don't work super great in AOT. So if you're trying to do a compiler, it's one hundred percent fine, but some parts of the stack don't necessarily work super well with it. And so it's it's more about broadening the ecosystem so that more and more of the things just work without you thinking about it.

Is what the progression for AOT is for at least the next year or two or three, okay yo.

Speaker 2

In the context of AOT, just another subject before a run out of time Windows on ARM. Yeah, So, I mean my presumption has always been you guys are going to take care of this for us. It's dot net developers. If you want to run on ARM, you run on Arm, and Git will simply do.

Speaker 3

It the magic of Git.

Speaker 2

Yeah. Yeah. But if you're aoting do you have to pick a platform? Yes, yeah, so you're and the obvious one is x sixty four and because that's what everybody's running, so that makes it pretty easy. And then flip an ARM shows up and you're.

Speaker 3

Like, and then now you've got to do a new build. You need a new compile. You need a new compilation for the new platform that is targeting. That's the price of AOTRUS one of the process.

Speaker 2

Yeah.

Speaker 3

Absolutely, But if you are a compiler you probably want that.

Speaker 2

Yeah. And well, and if you are deploying a backhand chunk of code that needs to be absolutely as fast as possible and only runs in exactly one place as specific you know, instance in the measure, you can aot that thing.

Speaker 3

Also, if you're running into container and where you have a lot of control over this thing, ye might specify the way specify a lot of that plat form information so you know it's never going to change, right, But to your point, to some extent, you're still running on a CPU, like what do you?

Speaker 2

Yeah, you are, and that's just the job of the run time was to the CLR was to take care of this for me.

Speaker 3

Yeah.

Speaker 2

It is interesting to think because they are starting to roll out those big my ARM processors into Azure. Now that it's one thing for me to build in dot net and run it in a regular app service or then run it on a Linux instance, but now i'd have the option to run it as an ARM instance and say, you know that it's like twenty percent twenty five percent cheaper to running on a Linux instance. I wonder what it's going to be on an ARM instance that's less performance?

Speaker 3

Indeed, I don't know. Ye, yes, if you're using normal dot net then yeah, that we do. We've got we got you.

Speaker 2

Yeah, you know it's going to work. It's just like the simpler architecture of ARM, the way that it processes instructions. And I am clearly a hardware geek. I wonder if it'll actually outperform and be cheaper from a resource consumption perspective. But you guys also haven't had as much time to optimize for ARM. Yet like maybe another version or two from now, your ARM optimizations will be stunning.

Speaker 3

And it might well be that that's the thing that makes the perfect changes from a version in the future.

Speaker 2

Who knows, right, yeah, and jumps out again. Right, it's like, hey, you want this thing to rock running on an ARM instance, Andrew.

Speaker 1

I always I still can't get out of the mindset that well I will, but that ARM means lower power, right that is. But it isn't that that is totally changed. Isn't the MacBook M two kind of stuff? Isn't that an ARM.

Speaker 2

Chip whethery're up to N four now? And yes, I would say highest performance set up that exists right now. Yeah, that's because it's just super asic, right, Like it's the processor and the GPU and the CP and and the NPU and like everything integrated on this chip of doom.

Speaker 1

Right yeah.

Speaker 2

So, and that's where they're getting a lot of their wins. And that's to be a Dragon did with their Ultra AX, right, that's just new Windows on ARM platform. It's that process.

Speaker 3

Yeah, this is and this is part of the world that I don't spend as much time in. But the the when you start looking at the assembly that is getting generated when against x eighty six or A versus ARM versus Zombie two and such, it's like the ARM instruction set is getting fairly large. But like there's some cool stuff I've watched some people recently where you decompile it.

If you use like one of the tools to do decompletion and you put like x eighty six versus ARM, and then you take the same code and you look at what the assembly looks at, it's vastly different and frequently looks Wastimply.

Speaker 2

You know, X sixty four x eighty six has this baggage of decades. You know that it's bridged from eight bit to sixty bit, to thirty two bit to sixty four bit, and ARM has only been thirty three or sixty four. Like, they're just fundamentally simpler. And you know, to the point where that snap Dragon machine is emulating X sixty four fast enough that you you barely notice it. It's more power consumptive, but it's fast.

Speaker 3

Yeah, for some of the for some of the people out there who are interested in this, you should absolutely well. First of all, Tobe and handsmen do some deep dot net where they drop to assembly. I believe you should probably watch some of that, but also just jump into some of the decompiler apps that are out there. It's write something basic.

Speaker 1

Just do it.

Speaker 3

Just do it, Yeah, do a console that right line and then look at the IL but then start and then start clicking around and look at some of the assembly, not to try and understand it, just to like have a look and see how it goes. If you and if you do want to learn that layer of the stack, like go nuts. It's so easy. It's not not easy. It is so available now for you if you want to choose to go into that part of the stack to go do it like you can do that now.

It was kind of impossible for a long time for you to really figure that stuff out. And now there's lots more resources available. There's lots of very easy tool to just write some code. See what the output will be looked. Like last last weekend, I spent two hours and I had a basic app. I had a basic OS writing to the console right like I had created a grub bootloader that like booted an emulator in QMU and like was writing Hello World to the screen right.

That was like I could follow a tutorial on the internet to get to the point where I was booting hardware. That's insane and it's amazing crazy, Like doesn't matter which part of the computing world that you want to be involved in right now, the availability of materials, it's ridiculous.

So even though we said earlier that it would be scary in horror and maybe I wouldn't want to be a developed new developer these days, on the other hand, man, how much more stuff is available for me to learn if I'm a new developer these days.

Speaker 2

It's so much more to do. But this is where the tooling comes into play. Yeah, he you know, two years ago building cloud native and dot Net hard right, aspier maybe young, But it's easier now yep, and it'll only get easier from here.

Speaker 3

Yeah. This is the advantage of kind of Dotnet as a platform, right is because you have us my team constantly looking at what sort of does everybody have to build? How do we make that as easy as possible? And then as so as Donet evolves type of apps you need to build, chances are we've been making that easier for a bit for you, or at least we will be in a year from now. It's one of the challenges I try to set for myself and for my team is that constant progression of what what does modern mean?

Speaker 2

Yeah?

Speaker 3

Right, we're like, what is what is the if I was to go do if I if I am got a green fields project today and I'm like, yes, this time, this time, we're going to do it, right, then what would actually what would I think I would build and like?

And how do I make that thing that you're trying to build be amazing without letting the people who aren't don't get the chance to do that green fields fall by the wayside, right, because you also need the It's often far more impactful for me to help the person who needs to get to that new, that different architecture.

Speaker 2

I think you have to do this in two steps. First, is what's the perfect greenfield athlmitation? And then how do you have these tools to bridge my brownfield after that space exactly.

Speaker 3

When you see I aspire trying to bridge that. Well, now, yeah, but you're doing a couple of years ago, we didn't know what the ideal of greenwill field space is. Right, you can and there's still like areas of there's still lots of areas to go look at, in that, in that, in this whole space.

Speaker 1

Well, Glenn, what's next for you after dart Net nine? What's in your inbox?

Speaker 3

I suspect I think ten is the next number after nine.

Speaker 1

You know, I had a feeling it's it's weird.

Speaker 3

Yeah, it's funny that thing thinking about.

Speaker 1

Like take a vacation or something before you jump back in.

Speaker 3

And typically December gets pretty quiet on the team, like towards the end of November and December.

Speaker 2

And I gotta bet there's a bunch of stuff that's sitting in like a v next topper that didn't make it there is.

Speaker 3

So there's a lot of teams, there's a lot of people who are now going through their backlogs. So there's a lot of backlog grooming happening at the moment, like what are the things we want to pop? We want to pop that we want to bring up in the

next version. Aspire needs to do like some miners before ten, so it'll do some like backwards compatibile, like let's throw a few brand new features in here, like we just ship support for big areas like functions and friends, So they'll have to ship and they'll have to ship before the next version. There's a lot of that. There's a lot of which of these experiments do we now want to bring forward, which of them do we won't? A lot of those kinds of decisions have to be made, And.

Speaker 1

Then there's some Gotchas and Blazer that needed dressing.

Speaker 3

There is a lot of work on all of the platforms, right, they just all need constant evolution and constant love to make better. Maui has gotten way better, Blazer is significantly betting better, but Blazer in practice only very recently will kind of switch into this full stack kind of almost better framework mode of being a web stack. So like

there's a lot of work there there. We've been talking a lot about reliability of connections within Blazer and trying to make sure circuits and connections and stuff and much more reliable and resilient. And what work can do there for example, like as well as a whole backlog of

stuff that team has. Who knows what's going to happen in AI six months from now that people are going to need to use, like I need people like I need big companies who are today knocking on my door saying We've got a fleet of donet applications and we want them to using this new generative by staff today.

Speaker 2

Right, what do you got?

Speaker 3

So I need to figure out how to answer those people and then uh, and then and then all of that sort of stuff, Like every every week is different.

Speaker 2

It's a pretty cool problems, Glenn. Cool. I mean, there's still problems, but they're cool.

Speaker 3

I have a cool job, don't don't get me wrong. Not many other jobs where I get to listen to somebody talk to me about like a GC and like a runtime like acinc stuff as well as AI and like how we're going to do cloud native stuff and all in one week, right is all?

Speaker 1

That's good. It's all good stuff, Glenn Conder And thank you for spending this time with us. And wow, what a great what a great conversation.

Speaker 2

Thank you, Thank you.

Speaker 3

Hopefully it was enjoyable to everybody out there. And I'll see you all next.

Speaker 1

Time, all right, And we'll talk to you, dear listener next time. I'm dot net Products. Dot net Rocks is brought to you by Franklin's Net and produced by Pop Studios, a full service audio, video and post production facility located physically in New London, Connecticut, and of course in the cloud online at pwop dot com. Visit our website at d O T N E t R O c k S dot com for RSS feeds, downloads, mobile apps, comments, and access to the full archives going back to show

number one, recorded in September two thousand and two. And make sure you check out our sponsors. They keep us in business. Now go write some code, see you next time.

Speaker 3

You got jam vans

Speaker 1

And the taxes are predial

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android