1
00:00:01,080 --> 00:00:03,000
Speaker 1: How'd you like to listen to dot net Rocks with

2
00:00:03,040 --> 00:00:07,879
no ads? Easy? Become a patron for just five dollars

3
00:00:07,919 --> 00:00:10,800
a month. You get access to a private RSS feed

4
00:00:10,839 --> 00:00:14,279
where all the shows have no ads. Twenty dollars a month.

5
00:00:14,279 --> 00:00:16,879
We'll get you that and a special dot net Rocks

6
00:00:16,960 --> 00:00:21,000
patron mug. Sign up now at Patreon dot dot NetRocks

7
00:00:21,120 --> 00:00:36,719
dot com. Hey, welcome back to dot net Rocks. I'm

8
00:00:36,799 --> 00:00:42,200
Carl Franklin at A'mergard Gamble, and happy autumn season to y'all. Yeah,

9
00:00:42,359 --> 00:00:45,000
it was Halloween last night after we recorded this.

10
00:00:45,039 --> 00:00:47,960
Speaker 2: When we're recording, Yeah, but yeah, this is later than

11
00:00:48,000 --> 00:00:50,439
that because time shifting.

12
00:00:50,560 --> 00:00:54,399
Speaker 1: Right, and we were hoping to get some more stuff.

13
00:00:54,439 --> 00:00:56,840
We had Dan Roth on last week and we were

14
00:00:56,840 --> 00:01:00,840
hoping to get some more not last okay, time shifting

15
00:01:00,960 --> 00:01:03,399
a few shows ago. But we were hoping to get

16
00:01:03,399 --> 00:01:07,319
this closer to dot net conf. But you know, you Glenn,

17
00:01:07,359 --> 00:01:11,840
being you know, experienced in all things dot net nine

18
00:01:12,120 --> 00:01:15,920
just not not just Blazer, we thought we would do

19
00:01:15,959 --> 00:01:19,359
a little recap of what they talked about acts dot

20
00:01:19,400 --> 00:01:24,959
net conv So, hey, Richard, hey man, let's I think

21
00:01:24,959 --> 00:01:27,400
we should just jump into a better no framework don't

22
00:01:27,439 --> 00:01:37,719
you do the thing? All right? Roll the music? All right? Well,

23
00:01:37,719 --> 00:01:41,599
I kind of have gotten into the habit of looking

24
00:01:41,719 --> 00:01:47,760
at trending GitHub repositories and this one came up. It's

25
00:01:47,799 --> 00:01:52,519
called Little Big Mouse. It's an open sourced app designed

26
00:01:52,519 --> 00:01:55,799
to enhance the multi monitor experience on Windows ten and

27
00:01:55,840 --> 00:02:02,560
eleven by providing accurate mouse screen crossover locations within MULTIDPI

28
00:02:02,840 --> 00:02:07,120
monitor environments. Nice particularly useful for setups involving a four

29
00:02:07,239 --> 00:02:11,199
K monitor alongside of you know ten EIGHTP monitor.

30
00:02:10,840 --> 00:02:14,520
Speaker 2: The tedap so the scaling thing, the DPI thing happens,

31
00:02:14,520 --> 00:02:15,719
and your mouth goes a little nutty.

32
00:02:15,840 --> 00:02:19,120
Speaker 1: Yeah, not just a mouse, but there's a video right

33
00:02:19,159 --> 00:02:23,319
there on the repo and he takes like notepad and

34
00:02:23,360 --> 00:02:27,319
tries to drag it between the two screens. Yeah, and

35
00:02:27,319 --> 00:02:31,199
that's always a not fun experience. But it's pretty good. Yeah,

36
00:02:31,240 --> 00:02:33,479
pretty good stuff. I'm going to use it.

37
00:02:33,520 --> 00:02:36,439
Speaker 2: Well, I in this this recording rig, I have a

38
00:02:36,479 --> 00:02:41,120
portrait oriented like fourteen forty screen and then a landscape

39
00:02:41,199 --> 00:02:45,199
oriented curved like thirty eight and dragon between those can

40
00:02:45,240 --> 00:02:48,319
get whacky whacky.

41
00:02:48,560 --> 00:02:50,680
Speaker 1: Yeah, So I'm going to download this too because I've

42
00:02:50,719 --> 00:02:52,599
got a few screens and I got a forty nine

43
00:02:53,159 --> 00:02:57,199
insure like you yeah, and a couple other screens. All right,

44
00:02:57,280 --> 00:02:59,439
So that's what I got. Richard, who's talking to us today.

45
00:02:59,439 --> 00:03:02,240
Speaker 2: Gray Call Show nineteen o three, the one we did

46
00:03:02,280 --> 00:03:04,080
with our friend Beth Massey when we talked a bit

47
00:03:04,120 --> 00:03:07,159
about Maui and Blazer. Yeah, and got a bunch of

48
00:03:07,159 --> 00:03:09,280
good comments on this show because we had a lot

49
00:03:09,280 --> 00:03:11,960
of fun there. And this comment is from ilfeb who said,

50
00:03:12,280 --> 00:03:15,000
I love your shows. My feeling when hearing all these

51
00:03:15,080 --> 00:03:20,280
UI names like WPF, win UI three, Maui, WebView two

52
00:03:20,599 --> 00:03:24,039
css SX that we devs would love to have not

53
00:03:24,120 --> 00:03:27,159
so many different UI text acts. The fact that still

54
00:03:27,400 --> 00:03:29,719
WPF seems to be the most used dot net UI

55
00:03:29,759 --> 00:03:34,120
framework tells quite a story at Microsoft's dot net UI strategy.

56
00:03:34,120 --> 00:03:39,479
In the past, we're using Avalonia for our cross platform development,

57
00:03:39,639 --> 00:03:43,159
which we've done a show on avalone. We would love

58
00:03:43,199 --> 00:03:44,840
to get such a thing from Microsoft. But now that

59
00:03:44,840 --> 00:03:47,879
Avalonia UI is there, I hope that the current wild

60
00:03:47,960 --> 00:03:50,240
pace of adoption keeps going. So there's two things that

61
00:03:50,319 --> 00:03:55,479
worry me, the current and future quote mess sorry with

62
00:03:55,560 --> 00:03:57,919
dot net UI frameworks, where we could have just one

63
00:03:58,039 --> 00:04:03,039
for desktop, mobile potentially in a cross platform form for Windows, Linux,

64
00:04:03,080 --> 00:04:06,960
Mac os, iOS, Android and the browser and an unclear

65
00:04:07,560 --> 00:04:10,560
platform IDE strategy. I'm very much into vidual Studio, not

66
00:04:10,599 --> 00:04:13,120
at all into VS code. I guess most devs would

67
00:04:13,319 --> 00:04:16,240
want VS twenty twenty eight to be a cross platform IDE.

68
00:04:16,920 --> 00:04:18,360
What are your thoughts on this?

69
00:04:19,040 --> 00:04:20,519
Speaker 1: Did you say twenty twenty eight?

70
00:04:21,000 --> 00:04:24,879
Speaker 2: Yeah, like the next next version of visual Studio is okay,

71
00:04:25,519 --> 00:04:27,639
I mean to be clear, it skipped over a couple

72
00:04:27,639 --> 00:04:31,560
of years there. Yeah, visual Studio runs exactly on one

73
00:04:31,600 --> 00:04:35,639
platform Windows. There was a Visual Studio for the Mac

74
00:04:35,720 --> 00:04:40,439
which was actually Mono develop. When they got acquired Zamorin

75
00:04:40,639 --> 00:04:43,279
they renamed it, which I thought was an unwise thing

76
00:04:43,279 --> 00:04:46,439
to do, But now they've stopped working on it, so

77
00:04:46,560 --> 00:04:51,319
that's really not a thing. I think your wish is

78
00:04:51,360 --> 00:04:54,720
a good wish. It's also never been achieved by anything.

79
00:04:54,839 --> 00:04:58,800
Right to have desktop mobile, you know, and plus all

80
00:04:58,839 --> 00:05:01,319
of the operating system is that it just works. That

81
00:05:01,360 --> 00:05:07,480
would be awesome. Plazer well and MAUI is obviously, you know,

82
00:05:07,560 --> 00:05:12,079
origins are in zamorin forms, the phones being the sort

83
00:05:12,120 --> 00:05:14,759
of subset that you need to start with and work

84
00:05:14,839 --> 00:05:17,040
out from. But it's really hard to start with that

85
00:05:17,160 --> 00:05:19,319
set and then do a good job on Windows in

86
00:05:19,399 --> 00:05:22,160
mac Os and the and the larger stream platforms. So

87
00:05:22,600 --> 00:05:25,879
I think it's still a story arc here. Maui's intent

88
00:05:26,079 --> 00:05:28,959
was to try and unify all of these things, right,

89
00:05:30,480 --> 00:05:34,480
And yeah, I think what you're feeling, your concerns are reasonable,

90
00:05:34,519 --> 00:05:36,879
because what you're really feeling is that somewhat of a

91
00:05:36,920 --> 00:05:41,120
political struggle going on inside of Microsoft about what folks

92
00:05:41,160 --> 00:05:44,839
want to work on, who's one what where, Like, there's

93
00:05:44,879 --> 00:05:46,319
a lot going on on all of this.

94
00:05:47,360 --> 00:05:50,439
Speaker 1: I gotta tell you, I just wrote an app in

95
00:05:50,480 --> 00:05:54,279
Maui for myself because you know, I'm a solo artist

96
00:05:54,360 --> 00:05:58,360
and i play out with my guitar and I've got

97
00:05:58,399 --> 00:06:02,000
sheets of paper, usually with big song lists and some lyrics,

98
00:06:02,040 --> 00:06:03,959
and usually they're like on the floor by the end

99
00:06:03,959 --> 00:06:05,360
of the night. And I was like, you know, I

100
00:06:05,399 --> 00:06:06,600
got an iPad.

101
00:06:06,480 --> 00:06:09,560
Speaker 2: Totally normal playlist thing to happen. Yeah, I'm like, I

102
00:06:09,600 --> 00:06:11,879
got an iPad, let's do this. So I went looking

103
00:06:11,920 --> 00:06:13,639
to see if there were apps out there, and there are,

104
00:06:14,000 --> 00:06:16,160
but they want thirty forty bucks a month for a

105
00:06:16,199 --> 00:06:19,240
freaking list a month, yeah or something.

106
00:06:19,360 --> 00:06:21,920
Speaker 1: I don't know. They were just expensive, Like I'm not

107
00:06:21,959 --> 00:06:26,959
giving you my money for that stupid thingpad. So anyway,

108
00:06:27,000 --> 00:06:30,839
I wrote an app and it's beautiful. And here's the thing, Like,

109
00:06:31,519 --> 00:06:35,720
my machine is really fast, faster than my iPads, so

110
00:06:36,199 --> 00:06:39,160
I could I put like a dev express HTML editor

111
00:06:39,240 --> 00:06:42,360
in there, and on my machine, I can add songs

112
00:06:42,399 --> 00:06:44,240
and then it add lyrics and stuff, and then I

113
00:06:44,279 --> 00:06:47,199
buzz it over to the iPad and it just reads

114
00:06:47,240 --> 00:06:49,839
the data, you know. And I used it on the

115
00:06:49,839 --> 00:06:53,480
gig last night, nice and it it ran like a shamp.

116
00:06:54,160 --> 00:06:57,800
So I love that whole Blazer hybrid thing because I

117
00:06:57,800 --> 00:07:00,120
could I could take that and run it into browser too.

118
00:07:00,120 --> 00:07:03,000
Speaker 2: But I'd also say you were putting it on one

119
00:07:03,079 --> 00:07:04,720
platform an iPad two.

120
00:07:04,639 --> 00:07:07,600
Speaker 1: Two, run it out in Windows right on my desktop

121
00:07:07,959 --> 00:07:09,600
and then iPad Yeah.

122
00:07:09,439 --> 00:07:10,319
Speaker 2: Okay, legit.

123
00:07:10,519 --> 00:07:13,839
Speaker 1: Yeah yeah. I think the Struggle browser's pretty cross platform.

124
00:07:13,920 --> 00:07:16,920
Speaker 2: Yeah. The struggle for a unified crossplat story is hard,

125
00:07:17,319 --> 00:07:19,839
and there's always going to be an origin platform that's

126
00:07:19,839 --> 00:07:21,480
going to be strongest, and they're going to battle to

127
00:07:21,480 --> 00:07:24,519
make the other ones good. And you know, folks come

128
00:07:24,560 --> 00:07:26,360
from a lot of different directions, so there's a reason

129
00:07:26,560 --> 00:07:29,439
you're feeling a little concerned I'm glad you're happy with Avalonia.

130
00:07:29,519 --> 00:07:33,040
We thought it was an impressive product. Yep. And maybe

131
00:07:33,040 --> 00:07:34,800
we have to do another show and that's very fair

132
00:07:34,839 --> 00:07:36,920
maybe so ill fab Thank you so much for your comment,

133
00:07:36,959 --> 00:07:38,480
and a copy of music Coba is on its way

134
00:07:38,519 --> 00:07:40,040
to you. And if you'd like a copy of music Cobe,

135
00:07:40,040 --> 00:07:41,720
I write a comment on the website at dot net

136
00:07:41,800 --> 00:07:43,439
rocks dot com or on the Facebook, so we publish

137
00:07:43,439 --> 00:07:45,360
every show there. Maybe you comment there when ever reading

138
00:07:45,399 --> 00:07:47,040
the show, we'll send you a copy of music Goby.

139
00:07:47,160 --> 00:07:48,839
Speaker 1: Or if you want to just buy music to code by,

140
00:07:48,959 --> 00:07:51,480
go to music to code by dot net crazy. All right, well,

141
00:07:51,639 --> 00:07:54,439
before we start here, this is episode nineteen twenty five,

142
00:07:54,480 --> 00:07:57,120
and as always I kind of like to run down

143
00:07:57,160 --> 00:08:00,959
a little history. You know, what's your favorite piece of

144
00:08:00,959 --> 00:08:05,079
history from twenty some events? Well, of you know, Mussolini

145
00:08:05,319 --> 00:08:09,360
in January makes a pivotal speech in the Italian Chamber

146
00:08:09,360 --> 00:08:12,160
of Deputies which will be regarded by historians as the

147
00:08:12,199 --> 00:08:17,199
beginning of his dictatorship. Awesome, Yeah, here's a happy note.

148
00:08:17,519 --> 00:08:20,680
January twenty seventh to February first, the nineteen twenty five

149
00:08:20,800 --> 00:08:25,079
serum Run to Nome the Great Race of Mercy relays

150
00:08:25,160 --> 00:08:30,279
diphtheria antitoxin by dog sled across the US territory of

151
00:08:30,279 --> 00:08:32,799
Alaska to combat and epidemic.

152
00:08:33,039 --> 00:08:35,519
Speaker 2: How about that they ran the drugs by dogs like

153
00:08:35,639 --> 00:08:38,759
the get by doctors, no other way. Yeah.

154
00:08:38,799 --> 00:08:41,879
Speaker 1: March eighteenth, tri State Tornado, the deadliest and US history,

155
00:08:41,960 --> 00:08:45,080
rampages through Missouri, Illinois, and Indiana, killing six hundred and

156
00:08:45,159 --> 00:08:49,039
ninety five people and injuring two thy twenty seven.

157
00:08:49,360 --> 00:08:52,440
Speaker 2: That's crazy, but that's before there was ways to warn

158
00:08:52,519 --> 00:08:55,200
folks really, right, Yeah, there's just the sirens.

159
00:08:55,440 --> 00:08:59,200
Speaker 1: Yep. So there's more to that. But April tenth, f

160
00:08:59,240 --> 00:09:02,840
Scott fitzg Old publishes The Great Gatsby in New York,

161
00:09:03,519 --> 00:09:07,159
famous famous book. April sixteenth a communists assault on Saint

162
00:09:07,240 --> 00:09:10,840
Nadelia Church claims roughly one hundred and fifty lives in Sofia,

163
00:09:11,120 --> 00:09:13,759
Bulgaria place we have been several times.

164
00:09:13,840 --> 00:09:16,240
Speaker 2: Yeah, and at that time was part of the the

165
00:09:16,440 --> 00:09:17,120
Soviet Union.

166
00:09:17,399 --> 00:09:22,120
Speaker 1: Yeah. June thirteenth, American engineer Charles Francis Jenkins achieves the

167
00:09:22,159 --> 00:09:27,080
first synchronized transmissions of pictures and sound using forty eight

168
00:09:27,159 --> 00:09:31,000
lines and a mechanical system in the quote first public

169
00:09:31,159 --> 00:09:35,519
demonstration of radio Vision Nice Radio forty eight P.

170
00:09:37,120 --> 00:09:41,720
Speaker 2: Yeah for eighty P. Forty eight P.

171
00:09:43,320 --> 00:09:47,759
Speaker 1: July the Scopes trial right. In this stage test case

172
00:09:47,799 --> 00:09:51,399
the Monkey trial in Dayton, Tennessee. John T. Scopes, a

173
00:09:51,440 --> 00:09:54,960
young high school science teacher technically arrested on May fifth

174
00:09:54,960 --> 00:09:57,919
and indicted on May twenty fifth, is accused it was

175
00:09:58,000 --> 00:10:02,519
signing a reading from a date mandated textbook on Darwinian

176
00:10:02,559 --> 00:10:08,159
evolution in violation of a Tennessee state law, the Butler Act.

177
00:10:08,399 --> 00:10:11,480
He has found guilty and fined one hundred dollars through

178
00:10:11,519 --> 00:10:15,679
the verdict, though the verdict is later overturned on a technicality.

179
00:10:16,200 --> 00:10:21,840
The trial makes explicit the fundamentalist slash modernist controversy within

180
00:10:21,919 --> 00:10:24,559
the Presbyterian Church in the United States of America, with

181
00:10:24,639 --> 00:10:27,440
William Jennings Bryan, who dies on July twenty sixth, being

182
00:10:27,519 --> 00:10:31,559
challenged by the liberal Clarence Darrow. All right, I swear

183
00:10:31,559 --> 00:10:32,919
to God, I'm not going to go through all these

184
00:10:32,960 --> 00:10:38,600
but July eighteenth, Adolf Hitler publishes minekompf. August eighth, the

185
00:10:38,720 --> 00:10:42,639
Ku Klux Klan demonstrates its popularity by holding a parade

186
00:10:42,679 --> 00:10:45,879
with an estimated thirty five thousand marchers in Washington, d c.

187
00:10:47,399 --> 00:10:51,480
August thirty first, Margaret Mee, anthropologist, lands in American Samoa

188
00:10:51,519 --> 00:10:54,240
to begin nine months of field work that'll accumulate in

189
00:10:54,279 --> 00:10:57,399
her nineteen twenty eight book, Coming of Age and Samoa.

190
00:10:57,840 --> 00:11:01,559
This best selling book will become the first popular anthropological

191
00:11:01,720 --> 00:11:06,759
study and will change many attitudes toward tribal peoples. The

192
00:11:06,840 --> 00:11:12,879
Locano Treaties negotiated October fifth through sixteenth, and signed in

193
00:11:12,919 --> 00:11:17,919
London December first. Very you know, getting ready for World

194
00:11:18,000 --> 00:11:22,399
War Two? Here the Grand Old Operay November twenty eighth,

195
00:11:22,840 --> 00:11:26,919
first broadcast on WSM Radio and Nashville, Tennessee as the

196
00:11:27,080 --> 00:11:31,519
WSM Barn Dance. Oh yeah, so it was an interesting year.

197
00:11:31,559 --> 00:11:32,399
Do you have anything to add?

198
00:11:32,519 --> 00:11:35,919
Speaker 2: Yeah, Hitler's out of prison, publishes Mind Camp, reforms the

199
00:11:36,000 --> 00:11:39,919
Nazi Party, and creates the SS all in the same year. Yeah,

200
00:11:40,200 --> 00:11:41,840
guess which way we're going? Friends?

201
00:11:42,639 --> 00:11:43,039
Speaker 1: Mmm?

202
00:11:43,360 --> 00:11:45,919
Speaker 2: Right? Like, just like that, He's he's right back on

203
00:11:45,960 --> 00:11:48,759
the mission. Nine months in prison didn't seem to dissuade

204
00:11:48,840 --> 00:11:52,240
him much after the Beer Hall push.

205
00:11:52,320 --> 00:11:54,279
Speaker 1: So you're saying he was a convicted felon.

206
00:11:54,600 --> 00:11:58,320
Speaker 2: He was, actually, but it apparently let out. I mean,

207
00:11:58,360 --> 00:12:01,559
it was a five year sentence. The only served nine months. Yeah,

208
00:12:01,600 --> 00:12:03,879
I know how you pull that off. It's a friends

209
00:12:03,879 --> 00:12:05,879
and good behavior because he's busy writing a.

210
00:12:05,799 --> 00:12:07,279
Speaker 1: Book friends in high places.

211
00:12:07,320 --> 00:12:09,480
Speaker 2: I guess something. I don't think he had any.

212
00:12:09,360 --> 00:12:12,639
Speaker 1: Actually, Okay, now for that, let's bring on our guest.

213
00:12:12,879 --> 00:12:16,159
Glenn Condren as a program manager on the Application Platform

214
00:12:16,159 --> 00:12:18,720
Team at Microsoft, where he spends most of his time

215
00:12:18,759 --> 00:12:22,279
working on the asp net core runtime. Before becoming a PM,

216
00:12:22,360 --> 00:12:25,600
he was software developer and consultant for eight years. His

217
00:12:25,720 --> 00:12:30,799
work before Microsoft was primarily for Australian government clients. Welcome, Glenn, Hi,

218
00:12:31,440 --> 00:12:34,519
how are you doing. We're good, doing great, excellent, glad

219
00:12:34,519 --> 00:12:37,080
to have you. You guys have been busy.

220
00:12:37,200 --> 00:12:43,399
Speaker 3: Yeah, indeed, I guess my updating of my bio I

221
00:12:43,440 --> 00:12:46,440
suppose because I probably haven't done it for a while.

222
00:12:47,919 --> 00:12:51,879
I am now the lead of the Platform Team pmteam,

223
00:12:52,279 --> 00:12:59,080
which means that almost everything that's not tooling and MAUI right,

224
00:12:59,200 --> 00:13:03,000
all those pms. Okay, so yeah, that's that's.

225
00:13:02,759 --> 00:13:06,360
Speaker 2: So all the heart of dart net, not not the language,

226
00:13:06,399 --> 00:13:07,759
the framework.

227
00:13:07,799 --> 00:13:11,840
Speaker 3: And I have very recently including the language. Well, Mad's

228
00:13:11,840 --> 00:13:14,480
Tubison also wants to be but like he's bad, so

229
00:13:14,480 --> 00:13:16,960
I don't. Actually, I don't have actually influence bads at all.

230
00:13:17,000 --> 00:13:21,080
He's bad, and the Language Design committed and the Language

231
00:13:21,080 --> 00:13:22,879
Design Meeting does its thing, and all those people that

232
00:13:22,919 --> 00:13:26,200
don't pretend to influence it anyway, but technically reports you.

233
00:13:26,240 --> 00:13:30,399
Speaker 2: And Mads have a conversation periodically. We do. Yeah, Yeah,

234
00:13:30,480 --> 00:13:30,960
it's great.

235
00:13:31,879 --> 00:13:34,480
Speaker 3: Yeah, So yeah, that's my that's my part of the world,

236
00:13:35,639 --> 00:13:38,120
which means this kind of release we're here to talk

237
00:13:38,159 --> 00:13:40,360
about don N nine. It's been a lot of for me.

238
00:13:40,440 --> 00:13:42,879
It's been a lot of aspire, especially because it grows out,

239
00:13:42,919 --> 00:13:45,159
that grows out of what I was doing before I

240
00:13:45,159 --> 00:13:49,879
started moving into I am now lots of aspire, lots

241
00:13:49,919 --> 00:13:54,919
of lots of kind of AI. That's just kind of

242
00:13:54,919 --> 00:13:58,720
two halves of AI for us. It is AI for

243
00:13:59,159 --> 00:14:04,279
you and and US as devs like co pilots and friends.

244
00:14:04,279 --> 00:14:07,039
AI for code, and then there's AI for how am

245
00:14:07,080 --> 00:14:09,559
I going to How am I? You know, my boss

246
00:14:09,559 --> 00:14:11,519
has said he wants a chatbod. How do I make

247
00:14:11,559 --> 00:14:15,360
it real? Or how do I integrate AI into my apps?

248
00:14:15,399 --> 00:14:18,360
And that's that bit is more where where I play?

249
00:14:18,360 --> 00:14:22,240
Because now you need libraries, you need SDKs, you need experiences.

250
00:14:22,279 --> 00:14:25,039
How are you going to talk to the l l M.

251
00:14:25,120 --> 00:14:27,320
How are you going to do generatly? BAYI right, how

252
00:14:27,360 --> 00:14:28,919
are you going to make it work? We got lots

253
00:14:28,919 --> 00:14:31,080
of samples to do, lots of partners, lots of lots

254
00:14:31,120 --> 00:14:36,000
of work, and then our forever goals right security, quality performance.

255
00:14:35,840 --> 00:14:40,679
Speaker 1: Right, Yeah, security a big one. I know. We talked

256
00:14:40,679 --> 00:14:43,240
to Dan Roth a few weeks ago and he was

257
00:14:43,240 --> 00:14:46,519
mostly focused on Blazer in the changes to Blazer, but

258
00:14:46,559 --> 00:14:49,120
we thought we would get some more breadth about dot

259
00:14:49,159 --> 00:14:55,000
net nine with you. So we know about Blazer. What

260
00:14:55,080 --> 00:14:58,080
are some of the other big wins in dot net

261
00:14:58,159 --> 00:14:59,159
nine over dot net eight?

262
00:15:00,279 --> 00:15:04,879
Speaker 3: Let's see, so lots. We've continued our PERF journey. I

263
00:15:04,919 --> 00:15:07,720
don't know, I'm sorry, not PERF. I mean, yes, we've

264
00:15:07,720 --> 00:15:09,840
continued our PERF journey. But the thing that I was

265
00:15:09,879 --> 00:15:12,919
going to say was in don at eight we talked

266
00:15:12,919 --> 00:15:15,039
about I believe it was in eight, maybe even have

267
00:15:15,080 --> 00:15:17,240
been as early as seven. But for many years now

268
00:15:17,279 --> 00:15:21,039
we've been on this steady march with Native aot. As

269
00:15:21,120 --> 00:15:24,120
we kind of keep giving you this, more and more

270
00:15:24,200 --> 00:15:27,039
of the stack becomes kind of aoteable. We made another

271
00:15:27,559 --> 00:15:30,759
good ahead of time step ahead. Yeah, that's ahead of time. Compilation.

272
00:15:30,919 --> 00:15:34,320
That's kind of compiling hardest for lack of a pretteric description,

273
00:15:35,120 --> 00:15:38,039
get pilot to native and what that gives you is,

274
00:15:38,120 --> 00:15:41,440
you know, better cold start times maybe and things like

275
00:15:41,480 --> 00:15:43,799
that because there's no JGIT, right, and what what it

276
00:15:43,840 --> 00:15:45,399
takes away is dynamicism.

277
00:15:45,480 --> 00:15:45,639
Speaker 1: Right.

278
00:15:46,000 --> 00:15:48,519
Speaker 3: So if you're in that world, especially if you're in

279
00:15:48,600 --> 00:15:51,799
like I have a small service and I don't need

280
00:15:51,840 --> 00:15:55,120
any of the kind of runtime, kind of dynamic runtime

281
00:15:55,159 --> 00:15:57,799
features that that are difficult in a full in an

282
00:15:57,840 --> 00:16:01,120
AOT world, then you might want that extra cod start time,

283
00:16:01,480 --> 00:16:04,039
container container on a cluster, right, So we made more

284
00:16:04,120 --> 00:16:08,000
roads towards that we've made. There's some stuff in the GC.

285
00:16:08,240 --> 00:16:12,919
There's the new like dynamic adaptive GC mode for server GC.

286
00:16:13,639 --> 00:16:17,960
There is garbage and garbage collection, all all in support

287
00:16:18,000 --> 00:16:20,639
of cloud and building these new workloads in these new

288
00:16:20,639 --> 00:16:21,799
ways people are using.

289
00:16:22,879 --> 00:16:23,039
Speaker 1: Right.

290
00:16:24,360 --> 00:16:27,600
Speaker 3: Aspire was a kind of big lift that we kind

291
00:16:27,639 --> 00:16:29,360
of talked about at the end of don at eight

292
00:16:30,559 --> 00:16:32,679
at dot net Confin do at eight, I did the talk.

293
00:16:32,759 --> 00:16:34,519
I did a talk there with Feler and then I

294
00:16:34,519 --> 00:16:36,279
think you've had Fouler on to talk about it and

295
00:16:36,320 --> 00:16:40,159
some people, right, yeah.

296
00:16:39,440 --> 00:16:45,559
Speaker 2: Sure, and Hunter and yeah, yeah, so they even talked

297
00:16:45,600 --> 00:16:46,639
about Aspire, right.

298
00:16:46,759 --> 00:16:49,480
Speaker 3: So that shows you the kind of broad thing about

299
00:16:49,480 --> 00:16:51,720
Aspire is how many things needed to change.

300
00:16:51,960 --> 00:16:54,200
Speaker 2: Yeah, I mean, but I think of it as tooling.

301
00:16:54,399 --> 00:16:56,159
You're saying it's in the framework too.

302
00:16:56,519 --> 00:17:01,200
Speaker 3: Yes, because Aspire is kind of it. It actually crosses

303
00:17:01,320 --> 00:17:03,679
almost the entire intersection of the team, Like it doesn't

304
00:17:03,679 --> 00:17:07,200
impact the language, but it impacts almost everything else. Right.

305
00:17:07,279 --> 00:17:10,480
So you have tooling, yes, because you have the dashboard

306
00:17:10,640 --> 00:17:12,680
to give you all your metrics, to give you a hotel,

307
00:17:12,759 --> 00:17:15,400
to give you that dev focused what's going on in

308
00:17:15,400 --> 00:17:20,160
my app right now? Right? Then you have integrations. So

309
00:17:20,240 --> 00:17:23,640
integrations were Newgate packages. Their library is the same as

310
00:17:23,640 --> 00:17:25,279
all the other things that I build on my team

311
00:17:25,279 --> 00:17:29,000
are libraries, right, but they are configured by the out

312
00:17:29,039 --> 00:17:31,920
of the box to assume that you're in this world.

313
00:17:32,000 --> 00:17:34,599
You're using cloud stuff. Stuff might be unreliable.

314
00:17:34,839 --> 00:17:35,000
Speaker 1: Right.

315
00:17:35,880 --> 00:17:38,440
Speaker 3: We did work in Polly, for example, at the beginning

316
00:17:38,480 --> 00:17:41,160
of doing a spire to make to improve to help

317
00:17:41,200 --> 00:17:43,599
improve its perth. Right, Like, we've contributed a lot into

318
00:17:43,640 --> 00:17:46,400
the poly project that was kind of under this umbrella

319
00:17:46,519 --> 00:17:50,559
of building this Aspire project. It's gone from elements and

320
00:17:50,759 --> 00:17:54,319
ingredients of a stack poly is faster. We've got a

321
00:17:54,359 --> 00:17:57,759
reduction thing. We've got this ability to you know, we

322
00:17:57,839 --> 00:18:01,480
have baked re tries and such in fast better all

323
00:18:01,519 --> 00:18:05,000
these ingredients. Then you start stacking them together and stacking

324
00:18:05,039 --> 00:18:06,839
them together and stacking them together until you've got a

325
00:18:06,880 --> 00:18:10,519
stack right right, and so now you've got Now you've

326
00:18:10,519 --> 00:18:12,759
got libraries that make it easier to get you know,

327
00:18:12,799 --> 00:18:14,599
I want to talk to reddis but I need retry.

328
00:18:14,640 --> 00:18:16,599
I need a good default retry policy. I need to

329
00:18:16,599 --> 00:18:18,680
make sure it's configured with in di I properly, with

330
00:18:18,720 --> 00:18:21,880
the right lifetime. Is the Reddest client thread safe?

331
00:18:21,920 --> 00:18:22,279
Speaker 1: I don't know.

332
00:18:22,440 --> 00:18:24,039
Speaker 3: Is it supposed to be a singleton or not? I

333
00:18:24,079 --> 00:18:25,559
got no idea. I'm I could do it.

334
00:18:25,559 --> 00:18:28,960
Speaker 1: You know, DDI, can you define that.

335
00:18:29,599 --> 00:18:33,920
Speaker 3: DI I so dependency d SO. If I describe this out,

336
00:18:34,000 --> 00:18:35,839
if I pull this out into a list for you,

337
00:18:35,880 --> 00:18:37,559
if let's say you're going to use raddis, this is

338
00:18:37,759 --> 00:18:39,559
This is our kind of favorite example, and this was

339
00:18:39,599 --> 00:18:44,200
part of our genesis when we were creating what is

340
00:18:44,240 --> 00:18:45,160
a spy going to be?

341
00:18:45,359 --> 00:18:45,920
Speaker 2: When we were.

342
00:18:45,839 --> 00:18:49,000
Speaker 3: Giving this pitch, we had this slide, and on that

343
00:18:49,079 --> 00:18:51,240
slide it said, if you're going to use Reddus today

344
00:18:51,359 --> 00:18:53,920
in the modern cloud. This is what you have to do,

345
00:18:54,519 --> 00:18:56,119
and it was fifteen steps long.

346
00:18:56,559 --> 00:19:01,960
Speaker 2: Right configuration, setting all of the settings, right, security parameters exactly,

347
00:19:02,039 --> 00:19:02,400
you need.

348
00:19:02,319 --> 00:19:04,359
Speaker 3: To add the right to add you need to add

349
00:19:04,359 --> 00:19:06,039
the new get package. Right, you got to find the

350
00:19:06,079 --> 00:19:08,720
right one. You have to add it to dependency injection

351
00:19:08,839 --> 00:19:12,039
in your like server app. What is the lifetime? Don't know?

352
00:19:12,279 --> 00:19:13,880
You have to go read the docs make sure you've

353
00:19:13,880 --> 00:19:15,759
got the right one because if the thing, you know,

354
00:19:15,839 --> 00:19:17,359
can it be a singleton or not? Is the main

355
00:19:17,440 --> 00:19:19,160
decision point? Right, I'm going to have it to di

356
00:19:20,240 --> 00:19:22,200
is it logging properly? Is it going to go into

357
00:19:22,200 --> 00:19:24,079
my logstream? How do I do that? When we started

358
00:19:24,119 --> 00:19:26,039
this effort, that was a shim that you had to

359
00:19:26,079 --> 00:19:29,160
do that you had to go learn that significantly like

360
00:19:29,279 --> 00:19:32,000
improved now, right, then how do I consume it in

361
00:19:32,039 --> 00:19:34,799
my in my controller or in my function? And then

362
00:19:34,920 --> 00:19:37,640
like is the what is the resiliency policy? Is that

363
00:19:37,720 --> 00:19:39,839
turned on? If reddis is a little bit flaky one

364
00:19:39,920 --> 00:19:41,960
day or if something happens, is it going to recover?

365
00:19:42,519 --> 00:19:43,839
Like it just kept.

366
00:19:43,559 --> 00:19:45,799
Speaker 1: Going right, it goes everywhere and.

367
00:19:45,720 --> 00:19:48,839
Speaker 3: What we want, Yeah, understand it almost becomes viral, and

368
00:19:48,880 --> 00:19:52,440
so the intent was, how do you collapse that into

369
00:19:52,559 --> 00:19:54,519
just add reddis and for the love of God, give

370
00:19:54,559 --> 00:19:56,559
me some give me a really make it work with

371
00:19:56,640 --> 00:19:58,200
all those things that we just described, so.

372
00:19:58,200 --> 00:19:59,680
Speaker 2: Well, just give me the settings that would make me

373
00:19:59,720 --> 00:20:02,640
happy be in the cloud, absolutely right, because the bigger

374
00:20:02,680 --> 00:20:04,759
thing here is going, hey, what if we did elastic

375
00:20:04,839 --> 00:20:07,160
instead and just being able to switch it, like if

376
00:20:07,200 --> 00:20:09,720
you actually got Redus running right, you'd literally go okay,

377
00:20:09,759 --> 00:20:12,119
don't touch it. Yeah it's working right now?

378
00:20:12,240 --> 00:20:13,400
Speaker 3: Yeah, exactly right.

379
00:20:13,559 --> 00:20:16,440
Speaker 1: Well, that brings up another point, which is if you

380
00:20:17,319 --> 00:20:20,519
start with Aspire, right, and you do all the things

381
00:20:20,599 --> 00:20:22,960
and you pull all the switches and everything, you add reddis,

382
00:20:25,000 --> 00:20:28,440
do you give up the whole idea of adding things

383
00:20:28,440 --> 00:20:32,559
manually after Aspire? Like do you always have to go

384
00:20:32,640 --> 00:20:37,119
through the Aspire thing to add things so that you

385
00:20:37,160 --> 00:20:39,599
don't disturb? Right? I mean, if you're going to add

386
00:20:39,640 --> 00:20:43,079
another service, can you just add a service and we'll

387
00:20:43,079 --> 00:20:45,200
add all the Aspire stuff follow.

388
00:20:45,039 --> 00:20:47,759
Speaker 3: Yeah, absolutely so I think what you're talking about is

389
00:20:47,960 --> 00:20:50,799
like add Aspire integration, like gesture in tooling.

390
00:20:50,960 --> 00:20:53,680
Speaker 1: Well, even if you start with Aspire, but you know,

391
00:20:53,960 --> 00:20:59,319
we have many years of manual configuration experience. And that's

392
00:20:59,359 --> 00:21:02,400
where we go. Oh, right, as developers, I see, do

393
00:21:02,480 --> 00:21:06,119
we now have to put that aside and before we

394
00:21:06,160 --> 00:21:10,240
add to it or expand our application or applications, do

395
00:21:10,319 --> 00:21:13,599
we now look for the Aspire way to do things?

396
00:21:13,839 --> 00:21:17,200
Speaker 3: I mean, I hope, I hope that the Aspire way

397
00:21:17,400 --> 00:21:20,880
means that you can delete some code. And therefore I'm

398
00:21:20,880 --> 00:21:23,200
always supportive of you being out of delete code if

399
00:21:23,200 --> 00:21:24,880
you if that you don't care about, or that you

400
00:21:24,880 --> 00:21:28,759
don't need to worry about, right, so that maybe, but no,

401
00:21:28,839 --> 00:21:31,640
it's not not required for you to go and change

402
00:21:31,640 --> 00:21:32,640
the way that you do things.

403
00:21:32,759 --> 00:21:37,839
Speaker 1: Right, So there isn't any risk of doing something that

404
00:21:37,920 --> 00:21:41,079
conflicts with what I've set up and aspired that maybe

405
00:21:41,119 --> 00:21:42,920
I don't even understand, like all that stuff that you

406
00:21:42,960 --> 00:21:44,000
said about reddits.

407
00:21:44,279 --> 00:21:48,599
Speaker 3: No, So the largest risk is probably that you add

408
00:21:48,599 --> 00:21:51,039
a redes say and we built in and like say,

409
00:21:51,119 --> 00:21:56,559
reach a particular set of policies with poly YEP poly policies,

410
00:21:57,039 --> 00:21:59,319
and then you've wrapped them in your own and now

411
00:21:59,319 --> 00:22:02,279
you've got a double layer of retries or something like that.

412
00:22:02,400 --> 00:22:06,079
Speaker 1: Actually that happened to a customer of mine that we

413
00:22:06,599 --> 00:22:09,400
went out and tried to add Aspire to we already

414
00:22:09,400 --> 00:22:10,519
had partly, right.

415
00:22:10,440 --> 00:22:12,559
Speaker 3: Yeah, And so that's probably the biggest risk is you

416
00:22:12,599 --> 00:22:15,000
didn't realize that the client you're getting now is already

417
00:22:15,039 --> 00:22:17,240
retrying and doing all that for you, and therefore you're

418
00:22:17,240 --> 00:22:19,759
doing your own logic for it. That's probably the biggest risk.

419
00:22:20,640 --> 00:22:21,759
Speaker 1: Yeah, yeah, But.

420
00:22:21,799 --> 00:22:25,880
Speaker 3: Ultimately, like you know, I heard this thing as part

421
00:22:25,920 --> 00:22:27,759
of me like being oh, yeah, let me make sure

422
00:22:27,759 --> 00:22:29,319
I remember what dot net rox is all about. And

423
00:22:29,359 --> 00:22:34,559
I listened to Chris Bluke, my befriend Chris. He was

424
00:22:34,640 --> 00:22:36,759
talking about he talked to you about how he like,

425
00:22:36,759 --> 00:22:39,119
you wouldn't want to be a developer today because of

426
00:22:39,160 --> 00:22:40,079
all these things to learn.

427
00:22:40,119 --> 00:22:40,920
Speaker 1: You would want to start.

428
00:22:41,000 --> 00:22:42,559
Speaker 3: You wouldn't want to start, You wouldn't want to be

429
00:22:42,599 --> 00:22:45,440
getting You wouldn't like you couldn't imagine how overwhelming it

430
00:22:45,519 --> 00:22:48,119
must be day one showing up and then them saying cool,

431
00:22:48,160 --> 00:22:51,960
you're building this kind of app. Right, So what I

432
00:22:51,960 --> 00:22:56,359
would ultimately, what I'm trying to achieve within Aspire is

433
00:22:56,880 --> 00:22:59,519
today I would say that the learning curve for how

434
00:22:59,559 --> 00:23:01,920
to build a current app is like logarrhythmic. It goes

435
00:23:01,960 --> 00:23:05,200
like straight up and then it starts to even out right,

436
00:23:06,160 --> 00:23:08,200
and you want want to make a linear like you

437
00:23:08,240 --> 00:23:10,519
slowly learn more and more bits and you can make

438
00:23:10,559 --> 00:23:14,000
it in you again, can we flatten this curve of

439
00:23:14,079 --> 00:23:17,480
what how much you need to learn to be productive

440
00:23:17,480 --> 00:23:19,920
and to get something that works and can work for

441
00:23:20,000 --> 00:23:23,599
real with real internet traffic hitting it and not like fall.

442
00:23:23,359 --> 00:23:25,359
Speaker 1: Over and can be maintained and can.

443
00:23:25,279 --> 00:23:29,079
Speaker 3: Be maintained right, because today it's just this mass. It's

444
00:23:29,319 --> 00:23:31,759
very very hard, right, and so there's a bunch of

445
00:23:31,799 --> 00:23:33,119
interesting challenges.

446
00:23:32,720 --> 00:23:35,160
Speaker 2: Because it's not that tough to toss an app service

447
00:23:35,240 --> 00:23:37,440
up and get it to run. Yeah, that's right, But

448
00:23:37,519 --> 00:23:40,119
you haven't done a lot of things at that point.

449
00:23:40,319 --> 00:23:42,519
Speaker 3: No, that's right. Yeah, And if you were, and if

450
00:23:42,519 --> 00:23:44,599
you're good with building that kind of app where it's

451
00:23:44,599 --> 00:23:47,400
a kind of app service talking to a database, Spire

452
00:23:47,480 --> 00:23:49,319
is still useful in that world in that it makes

453
00:23:49,359 --> 00:23:51,039
it easy to spin up the database every time you

454
00:23:51,079 --> 00:23:53,759
press F five and stuff like that. But then it's

455
00:23:53,839 --> 00:23:56,200
mostly useful when now when you've got to have you've

456
00:23:56,240 --> 00:23:58,400
got three or four backing APIs or a couple of

457
00:23:58,400 --> 00:24:01,119
functions and an API and a data and then you

458
00:24:01,240 --> 00:24:03,359
start to stretch the realms of what app service is

459
00:24:03,440 --> 00:24:05,759
kind of really built for that in that world, right

460
00:24:07,359 --> 00:24:10,640
the that's so that's that's what that gets. So yeah,

461
00:24:10,680 --> 00:24:13,480
flattening that curve is super super important to us. Like

462
00:24:14,799 --> 00:24:18,000
one of the customer calls that I did leading into

463
00:24:18,079 --> 00:24:21,200
with Spire, I was talking to this engineering lead and

464
00:24:21,240 --> 00:24:24,000
he said, we said one of the questions we would

465
00:24:24,039 --> 00:24:26,039
ask in our standard script, because we're trying to ask

466
00:24:26,079 --> 00:24:29,480
a consistent set of questions, was what's keeping you up

467
00:24:29,519 --> 00:24:31,759
at night? Because I'm looking for the I'm looking for

468
00:24:31,799 --> 00:24:33,759
the answer to that question because if there's something keeping

469
00:24:33,759 --> 00:24:36,240
you up at night, I can try and solve it right.

470
00:24:37,039 --> 00:24:40,440
And his answer was, I don't know if I'm putting

471
00:24:40,480 --> 00:24:41,680
the lego together properly.

472
00:24:42,000 --> 00:24:43,559
Speaker 2: Mm hmmm, it's a good one.

473
00:24:43,880 --> 00:24:47,519
Speaker 3: I'm my app is built on like a pyramid of

474
00:24:47,559 --> 00:24:51,920
newgat packages, and I know that it works, it runs,

475
00:24:52,319 --> 00:24:54,799
But are these two supposed to go together? Have I

476
00:24:54,799 --> 00:24:58,960
configured this word properly? Like there's so much exercise left

477
00:24:59,000 --> 00:25:01,680
to me that I am terror that tomorrow my thing

478
00:25:01,720 --> 00:25:04,839
will come crashing down, And I don't really know if

479
00:25:05,119 --> 00:25:07,279
it's quite possible I put two things together that aren't

480
00:25:07,279 --> 00:25:09,759
supposed to go to get to your question, about Aspire

481
00:25:09,799 --> 00:25:12,160
working with other things that I've done, and that's going

482
00:25:12,200 --> 00:25:14,400
to cause me something that causes the world to fall apart.

483
00:25:15,200 --> 00:25:17,960
And so ultimately you're trying to make it so that

484
00:25:17,960 --> 00:25:20,160
that person can go to sleep at night and be like,

485
00:25:20,200 --> 00:25:22,240
I'm pretty confident, I'm good. I used all the things

486
00:25:22,240 --> 00:25:24,079
that they said would work that are kind of proven

487
00:25:24,119 --> 00:25:28,160
based upon this community and ecosystem of Aspire people building

488
00:25:28,200 --> 00:25:30,119
stuff to make it so that I can be more

489
00:25:30,160 --> 00:25:33,079
confident that I haven't made that mistake, right, And that's

490
00:25:33,079 --> 00:25:39,960
why in the nine keynote, I assume this comes hopefully

491
00:25:40,000 --> 00:25:44,640
this comes out after the keynote. Like, what we've seen

492
00:25:44,960 --> 00:25:47,680
is this community toolkit idea with Aspire, which is just

493
00:25:48,160 --> 00:25:50,000
the idea of trying to make it so that more

494
00:25:50,039 --> 00:25:52,720
and more people can build things that are Aspire components

495
00:25:52,720 --> 00:25:56,240
that you can guarantee adhere to the same kind of

496
00:25:56,279 --> 00:25:59,079
requirements and guidelines that an Aspire. I call on them

497
00:25:59,079 --> 00:26:01,319
components still even though we change the name to integrations,

498
00:26:02,640 --> 00:26:05,000
so like, because like what is an integration it is

499
00:26:05,200 --> 00:26:07,960
effectively we have this idea of a spec it means

500
00:26:08,000 --> 00:26:10,920
you know, you know it can wire into dependency injection.

501
00:26:11,000 --> 00:26:13,000
You know, there's a set of you know, ten fifteen

502
00:26:13,079 --> 00:26:15,799
things that in order to be an integration you have

503
00:26:15,880 --> 00:26:20,200
to tick. And so this idea of Inspire Community Toolkit

504
00:26:20,319 --> 00:26:23,240
is you or anybody who has a library that they

505
00:26:23,279 --> 00:26:26,359
want to be able to be an Aspire integration can

506
00:26:26,480 --> 00:26:28,680
also go and be in the list when you say

507
00:26:28,680 --> 00:26:30,759
out Aspire Integration and we can. Then we'll have a

508
00:26:30,759 --> 00:26:33,960
whole community toolkit kind of effort around making sure that

509
00:26:33,960 --> 00:26:36,440
that we can continue to build up this community of

510
00:26:36,720 --> 00:26:38,880
when you're building this type app and you really want

511
00:26:38,920 --> 00:26:41,599
this kind of guarantees, what do you do and how

512
00:26:41,640 --> 00:26:42,160
does it work?

513
00:26:42,279 --> 00:26:42,440
Speaker 1: Right?

514
00:26:42,680 --> 00:26:46,359
Speaker 3: It's also still very early in Aspire. There's crazy crazy

515
00:26:46,359 --> 00:26:50,480
stuff we could do, right, Like, Aspire has the model

516
00:26:50,480 --> 00:26:53,519
of your entire application, we could map it. We can

517
00:26:53,559 --> 00:26:55,400
give you the full description of all the pieces of

518
00:26:55,440 --> 00:26:58,319
your app. What's more, you could do things that are

519
00:26:58,359 --> 00:27:00,640
crazy like some of the people there's a some people

520
00:27:00,680 --> 00:27:03,119
on the team I was talking to yesterday who were like, yeah,

521
00:27:03,599 --> 00:27:07,279
what if we put a proxy in between every communications section,

522
00:27:07,440 --> 00:27:09,920
So on your dev machine you could turn on packet

523
00:27:09,960 --> 00:27:14,480
loss between any in particular individual connection and you could

524
00:27:14,519 --> 00:27:16,359
just make that a feature of the tooling, so you

525
00:27:16,440 --> 00:27:18,400
run it app and you turn on packet loss right

526
00:27:18,559 --> 00:27:21,160
or things like that. Right, that's possible to do today,

527
00:27:21,519 --> 00:27:23,759
but to developers go to the effort of figuring out

528
00:27:23,759 --> 00:27:25,759
how to do it and turn it on Like probably not,

529
00:27:25,839 --> 00:27:27,680
but if it was just there and you just had

530
00:27:27,680 --> 00:27:31,359
to click a thing, we'll try it. Right. So there's

531
00:27:31,359 --> 00:27:33,039
a lot of that kind of work that you can

532
00:27:33,079 --> 00:27:35,279
do in the Aspire space just to try and help

533
00:27:35,319 --> 00:27:38,160
people build make their apps more reliable from the beginning

534
00:27:38,200 --> 00:27:39,599
so they don't like called up in the middle of

535
00:27:39,599 --> 00:27:41,119
the night or anything crazy like that.

536
00:27:41,160 --> 00:27:44,160
Speaker 2: Well, not finding out the hard way that it isn't reliable, not.

537
00:27:44,200 --> 00:27:46,119
Speaker 3: Finding out the hard way. We had a lot of

538
00:27:46,119 --> 00:27:48,359
horror stories of people finding out the hard way, and

539
00:27:48,400 --> 00:27:51,680
we're trying to We tried to fix all of those

540
00:27:51,880 --> 00:27:54,599
things for those people when we were building up.

541
00:27:54,640 --> 00:27:57,319
Speaker 2: You don't find out you're logging wrong until you're eating

542
00:27:57,359 --> 00:27:59,319
it and then you go looking for the logs and

543
00:27:59,400 --> 00:28:01,480
can find them. Yeah. Absolutely, that's when you find out.

544
00:28:01,480 --> 00:28:02,400
You've been looking about.

545
00:28:02,240 --> 00:28:03,039
Speaker 3: How do we fix that?

546
00:28:03,119 --> 00:28:05,920
Speaker 2: Right? It's been a year, yeah, right, I mean you

547
00:28:05,960 --> 00:28:08,279
talked about Aspire the first time at dot net com

548
00:28:08,359 --> 00:28:10,759
for dot net eight indeed, and we did our first

549
00:28:10,759 --> 00:28:15,160
show with foul Er, I think January twenty four. So

550
00:28:15,640 --> 00:28:17,759
are we on is this V two or is this

551
00:28:17,839 --> 00:28:20,440
really V one? Like it felt like you were just

552
00:28:20,599 --> 00:28:22,640
experimenting a year ago.

553
00:28:22,759 --> 00:28:25,599
Speaker 3: Isn't the isn't the common Microsoft saying that the V

554
00:28:25,640 --> 00:28:27,559
two is when you start trying it. Isn't that? What

555
00:28:27,559 --> 00:28:29,319
the isn't that what? We always just know? What people

556
00:28:29,400 --> 00:28:30,319
used to say is.

557
00:28:30,319 --> 00:28:32,880
Speaker 2: That V three now and V three is when it's great? Yeah.

558
00:28:33,039 --> 00:28:34,599
Speaker 1: V three is the golden version.

559
00:28:34,680 --> 00:28:36,559
Speaker 3: Yeah, the golden version.

560
00:28:36,759 --> 00:28:39,119
Speaker 2: Yeah yeah, but I mean you had a year of

561
00:28:39,480 --> 00:28:42,440
feedback and pressing against this. I mean it's a club

562
00:28:42,480 --> 00:28:45,039
world now, right, Yeah, watch the issues it's crazy.

563
00:28:45,160 --> 00:28:48,200
Speaker 3: Yeah, absolutely, yeah. So yeah, that was the goal was

564
00:28:48,240 --> 00:28:53,000
to get that, get the the was addressing. So one

565
00:28:53,000 --> 00:28:55,480
of the themes I think is part of this discussion now,

566
00:28:55,480 --> 00:28:57,839
which is like, what are you done? What? What are

567
00:28:57,880 --> 00:29:00,240
the what is the what if? Customers hit real badly?

568
00:29:00,319 --> 00:29:03,680
So so one of the biggest things that we that

569
00:29:03,880 --> 00:29:06,440
people hit a lot that we've started to try to

570
00:29:06,480 --> 00:29:11,720
address is just so we had this concept of developer first,

571
00:29:11,720 --> 00:29:13,440
OPS friendly that we used that I used to talk

572
00:29:13,440 --> 00:29:17,039
about with the team because like, you can't like this

573
00:29:17,079 --> 00:29:19,640
thing has to fit into that world right right, like,

574
00:29:20,000 --> 00:29:23,599
and if you super prioritize towards only the developer, you're like,

575
00:29:23,680 --> 00:29:27,400
sis admin guys, give what is this like? No, we can't,

576
00:29:27,440 --> 00:29:31,319
you can't do this right, And so you needed to

577
00:29:31,440 --> 00:29:35,920
build a solution that you lets you that is attractive

578
00:29:36,000 --> 00:29:38,559
and productive and good for developers, but then lets you

579
00:29:38,880 --> 00:29:42,000
easily fit into the flow that those sis admin folks want.

580
00:29:42,279 --> 00:29:45,640
So it was very obvious to us almost immediately once

581
00:29:45,680 --> 00:29:49,559
people started to use this thing that they people desperately

582
00:29:49,599 --> 00:29:53,079
wanted more ability to customize what the thing that they

583
00:29:53,079 --> 00:29:55,039
were deploying to. When they were using the kind of

584
00:29:55,119 --> 00:29:58,759
default deployments we should probably talk about deployments more generically,

585
00:29:58,799 --> 00:30:03,200
but when using the like AZD experience specifically, they wanted

586
00:30:03,240 --> 00:30:05,440
something more. So this is where this is the interesting

587
00:30:05,440 --> 00:30:10,079
thing about Aspire is Azd's not mine. But another principle

588
00:30:10,119 --> 00:30:12,559
that we had was kind of extreme ownership. This idea

589
00:30:12,640 --> 00:30:14,920
that within Aspire, at least we were not going to

590
00:30:15,039 --> 00:30:17,759
let the gaps between the different parts of the things

591
00:30:17,799 --> 00:30:19,440
that you needed we needed to work for you to

592
00:30:19,480 --> 00:30:22,680
be successful stop us from making changes. So if the

593
00:30:22,680 --> 00:30:24,720
AZD team needed to do something to make the Azure

594
00:30:24,720 --> 00:30:27,279
thing good, or even the AWS team needed to do

595
00:30:27,319 --> 00:30:29,440
something to make the AWS experience good. We would go

596
00:30:29,440 --> 00:30:30,759
talk to them and we were trying and figure it

597
00:30:30,799 --> 00:30:33,519
out right in terms of deployment. And so one of

598
00:30:33,519 --> 00:30:35,599
the big things with as Container apps and Aspire and

599
00:30:35,640 --> 00:30:37,880
doing AZD up was well, how do I change the

600
00:30:38,000 --> 00:30:40,279
name of the thing or like tweak this one setting

601
00:30:40,400 --> 00:30:42,519
or the sequel thing is real good except this bit.

602
00:30:43,000 --> 00:30:45,440
And I don't want to have to completely eject from

603
00:30:45,480 --> 00:30:48,759
the system. So you could always generate all the bicep

604
00:30:48,799 --> 00:30:50,519
and then you hand that off and then involve it

605
00:30:50,559 --> 00:30:52,960
from there check it in. But I don't want to

606
00:30:52,960 --> 00:30:54,640
do that. If I could avoid it, can you give

607
00:30:54,680 --> 00:30:56,880
me something else? And so now there's a lot more

608
00:30:56,920 --> 00:30:59,759
flexibility in you being able to drop into effectively a

609
00:30:59,799 --> 00:31:02,680
C sharp wrapper around what the BICEP generated would be

610
00:31:02,720 --> 00:31:05,319
within ACD, So you can tweet names, you can change

611
00:31:05,319 --> 00:31:07,839
settings that you previously you would have had to fully

612
00:31:07,839 --> 00:31:11,000
eject into, generate the bicep, check it in, and then

613
00:31:11,079 --> 00:31:13,079
use bicep from then on. And so there's a lot

614
00:31:13,160 --> 00:31:15,319
more of Now you can kind of pick the right

615
00:31:15,400 --> 00:31:17,559
spectrum to be able to fit that. Then there's a

616
00:31:17,559 --> 00:31:19,359
lot of There was a lot of people who desperately

617
00:31:19,400 --> 00:31:21,599
wanted to like wait for so I can say I

618
00:31:21,640 --> 00:31:24,319
want this to start after this thing, so you know

619
00:31:24,400 --> 00:31:27,400
you've got support for that. You have support for persistent

620
00:31:27,440 --> 00:31:30,440
containers to keep the sequel, keep the sequel server running

621
00:31:31,039 --> 00:31:33,359
in between the executions of my app. So we now

622
00:31:33,359 --> 00:31:35,559
have support for that. All of these things were all

623
00:31:35,599 --> 00:31:38,359
really driven from people who really who were using the

624
00:31:38,400 --> 00:31:41,720
thing and saying, yeah, we need this, we need this support, right,

625
00:31:42,200 --> 00:31:44,440
as well as a few like big internal people who

626
00:31:44,519 --> 00:31:47,640
were using it. You would have seen a video from

627
00:31:47,799 --> 00:31:50,200
a video in the keynote if you watched it from

628
00:31:50,559 --> 00:31:54,480
one of the architects who works on copilot. The unified

629
00:31:54,559 --> 00:31:56,960
like back end for copilots is built using a spire.

630
00:31:57,079 --> 00:31:59,680
And so whenever you're using one of the Microsoft Copilots

631
00:31:59,680 --> 00:32:03,160
at all through the same kind of Copola backhand, that's

632
00:32:03,160 --> 00:32:07,160
an Aspire like backhand API set that is the orchestrated

633
00:32:07,200 --> 00:32:09,200
and their devo loop uses a spire, right, it doesn't

634
00:32:09,240 --> 00:32:10,079
impact their production.

635
00:32:11,400 --> 00:32:13,599
Speaker 2: And Glenn, I'm gonna interrupt you for one moment for

636
00:32:13,799 --> 00:32:15,240
these very important messages.

637
00:32:17,640 --> 00:32:21,319
Speaker 1: Is your on prem dot net framework application A prisoner

638
00:32:21,799 --> 00:32:25,920
find freedom? On AWS with elastic scale and pay as

639
00:32:25,960 --> 00:32:29,720
you go pricing. Port to cross platform dot net and

640
00:32:29,839 --> 00:32:33,960
run on Linux without license fees. Find out more at

641
00:32:34,000 --> 00:32:39,240
aws dot Amazon dot com, slash dot net, slash Modernize.

642
00:32:40,640 --> 00:32:43,839
Hey Carl, here today we're spotlighting a tool that's turning

643
00:32:43,880 --> 00:32:48,440
heads in the tech community. Raygun's AI error resolution brings

644
00:32:48,440 --> 00:32:52,799
you smart AI powered insights directly into your development workflow.

645
00:32:53,599 --> 00:32:57,640
This feature doesn't just identify errors, it suggests how to

646
00:32:57,680 --> 00:33:01,720
fix them quickly and efficiently in seconds. If you're ready

647
00:33:01,759 --> 00:33:05,640
for a deeper dive into smarter debugging, you won't want

648
00:33:05,680 --> 00:33:09,519
to miss what raygun has to offer. Visit raygun dot com,

649
00:33:09,559 --> 00:33:12,839
slash dot net rocks. That's raygun, r A Y g

650
00:33:13,000 --> 00:33:16,160
U N dot com, slash d O t n E

651
00:33:16,240 --> 00:33:19,000
t r O c k S for your free fourteen

652
00:33:19,119 --> 00:33:23,640
day trial to explore the way reygun is revolutionizing debugging.

653
00:33:26,599 --> 00:33:28,839
Speaker 2: And we're back. It's dot net rocks. Amateur Campbell. That's

654
00:33:28,839 --> 00:33:31,599
Carl Franklin. Hey, Hey, hey, talking to our friend Glenn

655
00:33:31,640 --> 00:33:35,759
Chondron about all the dot net nine goodness. Indeed, welcome

656
00:33:35,759 --> 00:33:37,000
back of that.

657
00:33:37,640 --> 00:33:40,799
Speaker 1: Yeah yeah, And just a reminder that you can get

658
00:33:40,799 --> 00:33:44,559
an ad free feed of dot net rocks by becoming

659
00:33:44,599 --> 00:33:47,160
a five dollars a month patron at Patreon dot dot

660
00:33:47,200 --> 00:33:50,599
NetRocks dot com. Okay, you were saying, Glenn.

661
00:33:51,559 --> 00:33:56,079
Speaker 3: I don't remember that was out somethink about. We had

662
00:33:56,160 --> 00:33:58,039
long we took. I think my pain point was there

663
00:33:58,079 --> 00:33:59,839
was lots of feedback. We did a lot of features,

664
00:34:00,039 --> 00:34:02,480
highlighted some of them, but it was all trying to

665
00:34:02,680 --> 00:34:06,680
just our goal was between when we kind of shipped

666
00:34:06,720 --> 00:34:10,000
halfway through dot net, halfway through dot at nine to

667
00:34:10,079 --> 00:34:13,400
now was all about top pain point fixed, top pain point,

668
00:34:13,400 --> 00:34:16,559
top pain point down donat I man, yeah, we ship

669
00:34:16,559 --> 00:34:18,800
when we ship. Yeah, So that's what it's been and

670
00:34:18,840 --> 00:34:21,079
now we're in this what I think is a really

671
00:34:21,159 --> 00:34:22,960
nice state. We have a lot of people who are

672
00:34:23,039 --> 00:34:27,039
using it for real, and that's the thing that prioritization.

673
00:34:26,480 --> 00:34:28,599
Speaker 1: The thing that piqued my interest when you were talking

674
00:34:28,639 --> 00:34:33,239
about drop into a C sharp wrapper around stuff that

675
00:34:33,360 --> 00:34:38,559
you don't really understand or need to learn. Now yeh yeah,

676
00:34:38,599 --> 00:34:40,800
this ability is all part of a spire. That's not

677
00:34:41,079 --> 00:34:44,920
something that's to dot net developers without aspire or no.

678
00:34:45,000 --> 00:34:46,719
Speaker 3: It will be available to it should be available to

679
00:34:46,719 --> 00:34:49,159
don't developers elsewhere because it's not technically part of a spire,

680
00:34:49,239 --> 00:34:52,440
it's just a it's a feature of the Azure developer,

681
00:34:52,960 --> 00:34:56,719
the az d C and the AD experience. We give

682
00:34:56,760 --> 00:34:58,880
you a method and we make it intuitive when you're

683
00:34:58,880 --> 00:35:01,360
within Aspire, but it's not we layer. We layer the

684
00:35:01,360 --> 00:35:04,000
software better layer and kind of segment the software better

685
00:35:04,000 --> 00:35:05,519
than that. Right, So you should also be able to

686
00:35:05,519 --> 00:35:09,360
get that outside of the Aspire experience. Love that Aspire

687
00:35:09,480 --> 00:35:13,400
is very much a collection of pieces that all work

688
00:35:13,519 --> 00:35:16,119
fine on their own, but get better when you put

689
00:35:16,119 --> 00:35:16,719
them all together.

690
00:35:16,960 --> 00:35:17,199
Speaker 2: Right.

691
00:35:17,360 --> 00:35:20,280
Speaker 3: So the dashboard that shows you all your hotel data,

692
00:35:20,320 --> 00:35:23,199
it's just an hotel dashboard. You can make anything that

693
00:35:23,280 --> 00:35:25,400
talk to hotel appear in that thing. It doesn't need

694
00:35:25,400 --> 00:35:30,280
to open telemetry in this case. Yeah, absolutely, I appreciate it.

695
00:35:31,440 --> 00:35:33,320
And if you'll notice, if you go to as your

696
00:35:33,320 --> 00:35:37,400
Container apps now they have the dashboard, the Aspire dashboard

697
00:35:38,079 --> 00:35:40,320
because it's just code. They just took it and hosted

698
00:35:40,480 --> 00:35:42,320
at ACA. It said here, this is a cool hotel

699
00:35:42,400 --> 00:35:43,519
ed point, let's put it in there.

700
00:35:43,679 --> 00:35:43,840
Speaker 2: Right.

701
00:35:44,360 --> 00:35:48,280
Speaker 3: Integrations are just new get packages. The AD the AD

702
00:35:48,320 --> 00:35:51,840
integration for Gesture in Visual Studio is literally a search

703
00:35:51,960 --> 00:35:53,440
or new Get for things that are owned by the

704
00:35:53,480 --> 00:35:56,800
Aspire account. Like, there's no, there's nothing special about them.

705
00:35:57,000 --> 00:35:59,199
They are a new get package with some wire up code.

706
00:35:59,480 --> 00:35:59,719
Speaker 2: Right.

707
00:36:00,719 --> 00:36:04,039
Speaker 3: The just the kind of way the service discovery ish

708
00:36:04,079 --> 00:36:07,159
stuff is environment variables, right Like, it is very much

709
00:36:07,320 --> 00:36:09,559
a you could do all of this stuff to that

710
00:36:09,760 --> 00:36:11,480
you could have done all of the things that Aspire

711
00:36:11,599 --> 00:36:14,480
does for you, but it makes it puts it all

712
00:36:14,480 --> 00:36:16,119
together for you, so you don't have to think about

713
00:36:16,159 --> 00:36:16,719
it as much.

714
00:36:16,960 --> 00:36:20,280
Speaker 1: And yeah, it's it's the classic thing of you know,

715
00:36:20,320 --> 00:36:22,920
you want to use this library or whatever, this component

716
00:36:23,039 --> 00:36:25,119
that might be an open source component or whatever. First

717
00:36:25,159 --> 00:36:27,760
you download, then you get package, then you wire it

718
00:36:27,840 --> 00:36:30,159
up and program cs and then you might have to

719
00:36:30,199 --> 00:36:34,599
add a CSS file or exact JavaScript link or all

720
00:36:34,639 --> 00:36:35,360
of that stuff.

721
00:36:35,559 --> 00:36:37,440
Speaker 3: Yeah, and so how do we help you get there?

722
00:36:37,480 --> 00:36:40,280
That's kind of a lot of what it does. And

723
00:36:40,320 --> 00:36:42,679
then yeah, it's and then but when you put it

724
00:36:42,679 --> 00:36:45,079
all together, the overall the experience of all those things

725
00:36:45,079 --> 00:36:47,159
together is kind of mind blowing. People looking at them

726
00:36:47,159 --> 00:36:49,119
and say, I'm where there was this being all my life.

727
00:36:49,000 --> 00:36:52,800
Speaker 2: And right yeah, yeah, real powerful effect, right like that

728
00:36:52,800 --> 00:36:53,599
that's the whole thing is.

729
00:36:53,719 --> 00:36:56,039
Speaker 3: Indeed a very powerful cumulative effect when you put all

730
00:36:56,079 --> 00:36:58,519
these pieces together, but they're all individually adoptable and they're

731
00:36:58,559 --> 00:37:00,840
not super tightly coupled, which is it's just very nice.

732
00:37:00,880 --> 00:37:03,360
Speaker 2: And more importantly, if you know, if you've got strong

733
00:37:03,400 --> 00:37:05,719
opinions about how you want your cloud native apps to

734
00:37:05,760 --> 00:37:08,000
be built, you can take the pieces out that don't

735
00:37:08,039 --> 00:37:12,400
work for your plan or changing. Yeah, but I appreciate that.

736
00:37:12,480 --> 00:37:14,800
And so you still still early days, but clearly you

737
00:37:14,800 --> 00:37:16,599
guys have been taking a lot of feedback, Like just

738
00:37:16,599 --> 00:37:20,039
look at the issues list. Oh yeah, absolutely, I haven't

739
00:37:20,039 --> 00:37:22,119
had time to triage this yet, but imagine you do this.

740
00:37:22,199 --> 00:37:24,480
How much of these issues are people don't understand how

741
00:37:24,519 --> 00:37:26,760
to use this versus people want to take it further?

742
00:37:27,519 --> 00:37:31,679
Speaker 3: Yeah, yeah, yeah, so there is a lot of there's

743
00:37:31,679 --> 00:37:34,039
not as many issues for I don't understand how to

744
00:37:34,079 --> 00:37:37,920
do this, but there's lots of discussion. Right, So the

745
00:37:37,960 --> 00:37:40,280
feedback channels are filled with yeah, but what is it?

746
00:37:40,559 --> 00:37:40,960
Speaker 2: Yeah?

747
00:37:41,079 --> 00:37:44,719
Speaker 3: Right, filled with ye but what is it? Yeah?

748
00:37:45,039 --> 00:37:48,079
Speaker 1: I think building an app with a spire would be

749
00:37:48,079 --> 00:37:51,880
a great learning opportunity for somebody who doesn't has never

750
00:37:51,960 --> 00:37:54,960
done reddis right And instead of you know, going to

751
00:37:54,960 --> 00:37:57,599
the documentation, spending a whole day or two reading it

752
00:37:57,679 --> 00:37:59,599
and trying to figure out how to cram it into

753
00:37:59,719 --> 00:38:02,679
your app. You use a spire and then go and

754
00:38:02,719 --> 00:38:05,480
look and see what it what it did. Yep, absolutely,

755
00:38:05,519 --> 00:38:08,280
you know that that makes total sense to me.

756
00:38:08,400 --> 00:38:11,000
Speaker 3: Yeah, Yeah, there's a it's a it is good on

757
00:38:11,000 --> 00:38:13,199
that gun. And that's that's partly because of that effort

758
00:38:13,239 --> 00:38:16,800
to try to kind of make learning linear again, right, Yeah.

759
00:38:16,599 --> 00:38:19,000
Speaker 2: And to smooth these things out. Give us the pit

760
00:38:19,119 --> 00:38:22,440
of success here. Yeah, that if you just follow the defaults,

761
00:38:22,480 --> 00:38:23,719
you're going to be in a good place. And if

762
00:38:23,719 --> 00:38:25,599
you want to go further you can, right, And.

763
00:38:25,519 --> 00:38:28,320
Speaker 3: Then it helps your bigger enterprises because the bigger enterprise

764
00:38:28,400 --> 00:38:30,599
wants to try and get some level of consistency across

765
00:38:30,599 --> 00:38:33,000
twenty teams. So now you've got you've got that lever

766
00:38:33,079 --> 00:38:33,519
as well.

767
00:38:33,440 --> 00:38:36,000
Speaker 2: You can really press against those templates and making where

768
00:38:36,039 --> 00:38:38,639
you want it to be. I don't want to do

769
00:38:38,679 --> 00:38:40,719
a whole show on Inspire because there's more stuff going

770
00:38:40,719 --> 00:38:46,079
on Dot nine. Let's do the AI conversation. Yeah, it's

771
00:38:46,159 --> 00:38:48,039
kind of on the radar for a lot of folks

772
00:38:48,079 --> 00:38:48,840
these days, for.

773
00:38:48,800 --> 00:38:51,159
Speaker 3: A lot of people. Yeah. So one of the big things,

774
00:38:51,360 --> 00:38:52,840
the first call out. I think I would say on

775
00:38:52,880 --> 00:38:55,599
that front is if you haven't looked at Sanderson's kind

776
00:38:55,639 --> 00:39:00,400
of sample apps. We talked about Shop. We did this

777
00:39:00,480 --> 00:39:02,840
kind of rework of the e Shop sample app, make

778
00:39:02,880 --> 00:39:05,360
it all cloudified. It's running with a spire and stuff

779
00:39:05,400 --> 00:39:08,960
like that. Right, So, as one of the engineers on

780
00:39:09,000 --> 00:39:12,679
our team said, we're now expanding the Shop cinematic universe

781
00:39:13,159 --> 00:39:17,880
to create this E Shop back of house application, which is,

782
00:39:18,400 --> 00:39:22,719
imagine that you were the support person having to deal

783
00:39:22,760 --> 00:39:26,320
with customer support for that E shop kind of app.

784
00:39:27,159 --> 00:39:29,920
We build that app, and so it uses a lot

785
00:39:29,960 --> 00:39:33,840
of AI in ways. It's sometimes a convincing sometimes not

786
00:39:33,920 --> 00:39:36,679
as obvious to people because the every AIDEMO you've ever

787
00:39:36,679 --> 00:39:38,000
seen is how do I chat?

788
00:39:38,199 --> 00:39:39,519
Speaker 2: Yeah? Yeah?

789
00:39:39,639 --> 00:39:41,599
Speaker 3: And so it uses it for filtering, it uses it

790
00:39:41,639 --> 00:39:44,440
for summarization, It uses it to like, help me make

791
00:39:44,480 --> 00:39:46,920
sure I'm worth looking at the most important issue, help

792
00:39:46,960 --> 00:39:50,039
me find the right when I get the feedback ticket

793
00:39:50,320 --> 00:39:53,239
where I want to respond with r TFM read the

794
00:39:53,280 --> 00:39:57,199
manual with an F in the middle. How do I

795
00:39:57,239 --> 00:39:59,519
ask the AI to find the bit in the manual

796
00:39:59,519 --> 00:40:01,199
that I should them to so that I don't have

797
00:40:01,239 --> 00:40:03,320
to go search through the manual like if things all

798
00:40:03,400 --> 00:40:07,119
those sort of functionality exists in that sample app and

799
00:40:07,159 --> 00:40:09,239
it's all put together and it's working well, and Santus

800
00:40:09,280 --> 00:40:10,840
has done some talks on it, and Sanus is a

801
00:40:10,840 --> 00:40:11,440
great presenter.

802
00:40:11,599 --> 00:40:13,719
Speaker 2: So like, I'm sure you're I'm going to grab a

803
00:40:13,800 --> 00:40:15,400
link to his video from from.

804
00:40:16,159 --> 00:40:20,639
Speaker 3: So absolutely so watch all that, especially if you're like, yeah,

805
00:40:20,639 --> 00:40:22,440
but why do I care about AI If I don't,

806
00:40:22,440 --> 00:40:23,840
if I don't have I don't work in an app

807
00:40:23,880 --> 00:40:25,719
where I need a chatbot, So what would I do?

808
00:40:26,079 --> 00:40:28,719
Go look at some of his stuff. It is very good.

809
00:40:29,400 --> 00:40:32,760
Speaker 2: It's inspirational for thinking more broadly about what these tools

810
00:40:32,800 --> 00:40:33,400
can do for you.

811
00:40:33,480 --> 00:40:36,159
Speaker 3: Absolutely right, So then in support of that, so what

812
00:40:36,199 --> 00:40:37,880
does the Donat team do? What does my team do?

813
00:40:38,480 --> 00:40:41,719
So we have this way. We we have started with

814
00:40:41,800 --> 00:40:46,320
effectively primitives. We're looking at, Okay, you need to tokenize

815
00:40:46,320 --> 00:40:49,559
strings in this world. What's the fastest, best, most pop

816
00:40:49,639 --> 00:40:52,280
what's the best tokenizer that everybody in the world should use.

817
00:40:52,320 --> 00:40:55,079
Let's make sure an implementation of that exists. Like these

818
00:40:55,199 --> 00:40:59,599
very bare like numerics, like these very very low level

819
00:40:59,679 --> 00:41:02,480
underline primitives that build a bunch of this stuff and

820
00:41:02,519 --> 00:41:05,079
then effectively we just start building up as we build

821
00:41:05,119 --> 00:41:07,519
building blocks and building blocks and building blocks that allow

822
00:41:07,679 --> 00:41:11,760
you to do the to communicate with the to do

823
00:41:11,800 --> 00:41:13,960
this generative AI task, and I want to say communicate

824
00:41:14,000 --> 00:41:17,119
with right. So in the dot an ecosystem, you have

825
00:41:17,159 --> 00:41:20,760
semantic kernel, and you have Azure SDKs, you have all

826
00:41:20,760 --> 00:41:22,960
of the like these libraries to be able to do

827
00:41:23,119 --> 00:41:26,559
kind of generative AI stuff. We help and support all

828
00:41:26,599 --> 00:41:29,119
of those things, and then we look at, okay, well,

829
00:41:29,119 --> 00:41:31,159
what is the underpinning that we should be building that

830
00:41:31,239 --> 00:41:35,039
all of these people need? And the is the forever question.

831
00:41:35,119 --> 00:41:36,639
What is the thing we should build so that they

832
00:41:36,639 --> 00:41:38,559
don't have to then then everybody will adopt it, and

833
00:41:38,599 --> 00:41:40,239
then will be everybody will be in a better place.

834
00:41:40,519 --> 00:41:42,239
So that's where we've been going. So one of the

835
00:41:42,280 --> 00:41:44,719
things you're seeing in don N nine is this extensions AI.

836
00:41:45,440 --> 00:41:48,000
We talked about it a bit beforehand. It's semantic kernel

837
00:41:48,079 --> 00:41:50,360
already exists, and then extensions AI is this kind of

838
00:41:50,360 --> 00:41:54,280
building block layer for I want to talk to an LM,

839
00:41:54,320 --> 00:41:57,639
how I want to talk to an LM, And what

840
00:41:57,840 --> 00:42:00,800
that library set allows you to do is is do

841
00:42:01,119 --> 00:42:03,079
kind of a chat completion, which is what a lot

842
00:42:03,119 --> 00:42:05,280
of the stuff, even the stuff that isn't chat kind

843
00:42:05,280 --> 00:42:06,920
of boils down to I'm going to send a string

844
00:42:07,000 --> 00:42:08,440
to a server and I'm going to get a string back,

845
00:42:08,480 --> 00:42:12,119
and I'm going to figure out what it means. And

846
00:42:12,159 --> 00:42:14,199
I want to do the stuff where I teach that

847
00:42:14,360 --> 00:42:17,280
about my own data, and I want to have telemetry

848
00:42:17,320 --> 00:42:19,440
plugged in and such. And it gives you a consistent

849
00:42:19,480 --> 00:42:22,480
abstraction over many different types of lms. So if you're

850
00:42:22,480 --> 00:42:24,159
going to use open Ai, or you're going to use

851
00:42:24,199 --> 00:42:26,320
some local thing, or you're going to use like Olama,

852
00:42:26,480 --> 00:42:28,639
or you're going to use you can have the same

853
00:42:28,719 --> 00:42:31,760
programming experience against a bunch of different models that can

854
00:42:31,840 --> 00:42:34,360
all plug into this system. What's interesting about it is

855
00:42:34,360 --> 00:42:38,119
it effectively uses a middleware pipeline, so the same as

856
00:42:38,119 --> 00:42:40,039
I's been a core middleware for those of you playing

857
00:42:40,039 --> 00:42:43,920
along at home. So you made a request effectively in

858
00:42:43,960 --> 00:42:46,320
this world, which is a chat completion, and it goes

859
00:42:46,360 --> 00:42:51,000
through this middleware pipeline, and so that moves implementation of

860
00:42:51,079 --> 00:42:54,800
things like logging out of the provider that is specific

861
00:42:54,840 --> 00:42:58,320
to the LM and into the generic library, such that

862
00:42:58,440 --> 00:43:00,599
every provider doesn't have to do all the logging stuff

863
00:43:01,000 --> 00:43:03,599
so you as a consumer get consistent logging, you get

864
00:43:03,599 --> 00:43:06,559
consistent tool calling where it will where one of the

865
00:43:06,559 --> 00:43:09,400
things LM's will do is call your methods if they can't,

866
00:43:09,800 --> 00:43:11,480
if they can't, if they need to. Right. It has

867
00:43:11,519 --> 00:43:14,400
all that sort of stuff built into this middlewhere layer

868
00:43:14,400 --> 00:43:16,679
as opposed to being each provider. That makes it easier

869
00:43:16,719 --> 00:43:19,559
to write providers. That hopefully means we get more providers.

870
00:43:19,960 --> 00:43:23,039
It also allows other things like semantic kernel to like

871
00:43:23,119 --> 00:43:26,119
layer on top and get those same benefits.

872
00:43:26,639 --> 00:43:31,320
Speaker 1: Right, do you do you foresee people using AI for

873
00:43:32,039 --> 00:43:36,159
things we typically code forms over data for like I'll

874
00:43:36,199 --> 00:43:40,800
give you an example, selecting a report right with a

875
00:43:40,800 --> 00:43:45,320
whole bunch of filters. Do you instead of having drop

876
00:43:45,400 --> 00:43:48,840
down combo boxes and things that fill and refill and

877
00:43:49,039 --> 00:43:53,639
check boxes and whatever. Would you foresee somebody just opening

878
00:43:53,639 --> 00:43:56,760
a text box and say give me all this data

879
00:43:56,760 --> 00:43:59,239
between this date and that date with this you know,

880
00:43:59,320 --> 00:44:02,199
particular film and blah blah blah and replace all of

881
00:44:02,239 --> 00:44:03,320
that UI code.

882
00:44:03,599 --> 00:44:06,239
Speaker 3: Yeah, it seems entirely likely that would happen. I think

883
00:44:06,280 --> 00:44:08,480
what will happen first is that you'll use AI to

884
00:44:08,480 --> 00:44:12,519
build that that form that you just described. First step, Right,

885
00:44:12,599 --> 00:44:14,480
co pilots and friends and all of the tooling in

886
00:44:14,559 --> 00:44:17,559
visual studio visual studio code like you even see like

887
00:44:18,000 --> 00:44:21,119
you see the explosion of AI assisted coding. Right, So

888
00:44:21,159 --> 00:44:23,199
the first step one would be I want to build

889
00:44:23,239 --> 00:44:25,239
that form, and then the AI says, sure, here's all

890
00:44:25,239 --> 00:44:25,760
the UI.

891
00:44:26,280 --> 00:44:26,519
Speaker 1: Right.

892
00:44:27,880 --> 00:44:30,840
Speaker 3: The second part would be would be, yeah, I think

893
00:44:30,840 --> 00:44:33,519
you could get to that point. Would it be faster,

894
00:44:34,719 --> 00:44:38,519
would it be better for the end consumer? I'm not

895
00:44:38,559 --> 00:44:40,280
one hundred percent sure, right.

896
00:44:40,880 --> 00:44:43,199
Speaker 1: Well, at least giving them the option, right, you could.

897
00:44:43,000 --> 00:44:45,280
Speaker 3: Give them the option I think will absolutely happen, will

898
00:44:45,320 --> 00:44:48,679
it be? But I still suspect you'll have your kind

899
00:44:48,679 --> 00:44:50,840
of You'll still want your your thing. That is the

900
00:44:50,880 --> 00:44:52,840
thing everybody looks at. We already know what it is,

901
00:44:52,920 --> 00:44:55,199
so let's make it real as so I don't have

902
00:44:55,239 --> 00:44:57,880
to chat because I think that process will involve some

903
00:44:57,960 --> 00:45:00,320
iteration to get exactly what you want every time, So

904
00:45:00,360 --> 00:45:01,960
you won't want to do that for the report you

905
00:45:01,960 --> 00:45:03,280
have to look at every second day.

906
00:45:03,639 --> 00:45:05,280
Speaker 1: Right, And then on top of that, you could add

907
00:45:05,280 --> 00:45:08,159
speech recognition so that you could just literally talk to

908
00:45:08,519 --> 00:45:11,239
the app and get absolutely what you want out of it.

909
00:45:11,400 --> 00:45:14,800
Speaker 3: Yeah, but more important, but more also interesting that is

910
00:45:14,840 --> 00:45:17,400
just mining for insights, right, Like, if you're going to

911
00:45:17,440 --> 00:45:20,239
have that conversation away where the thing can understand all

912
00:45:20,320 --> 00:45:23,760
the data, can you ask you questions just like you know,

913
00:45:24,000 --> 00:45:26,039
what has my growth been? What is my year over

914
00:45:26,119 --> 00:45:26,559
year growth?

915
00:45:26,599 --> 00:45:26,840
Speaker 2: Now?

916
00:45:27,039 --> 00:45:29,119
Speaker 3: Absolutely, and it would just tell you and then you

917
00:45:29,119 --> 00:45:30,920
don't need to go look at the chart to interpret

918
00:45:31,000 --> 00:45:33,039
what the year of year growth is. Right, So to

919
00:45:33,039 --> 00:45:33,880
give you so.

920
00:45:33,760 --> 00:45:37,000
Speaker 1: Much, you might have an app which is your main app,

921
00:45:37,039 --> 00:45:40,199
and then you might have this AI bot for lack

922
00:45:40,199 --> 00:45:43,559
of a better thing that you just converse with to

923
00:45:43,639 --> 00:45:45,480
get data out of your back end.

924
00:45:45,800 --> 00:45:48,039
Speaker 3: Yeah, and then you see the other experiments people have

925
00:45:48,039 --> 00:45:50,760
gotten where you're effectively getting a free junior dev of like,

926
00:45:50,800 --> 00:45:54,280
which is just AI agents writing like fixing, doing prs

927
00:45:54,280 --> 00:45:56,320
for you against issues that are logged on your repot.

928
00:45:56,760 --> 00:46:00,199
Speaker 2: Right, that's insane, well at least writing my pr our

929
00:46:00,800 --> 00:46:02,079
comment good lord.

930
00:46:02,159 --> 00:46:04,000
Speaker 3: Yeah, yeah, absolute ability.

931
00:46:03,599 --> 00:46:07,000
Speaker 2: To actually remember, well not remember, but I analyze everything

932
00:46:07,039 --> 00:46:08,559
I've changed and give me a summer.

933
00:46:08,599 --> 00:46:10,880
Speaker 3: It give me a summer, it's not in my head, right,

934
00:46:11,639 --> 00:46:14,480
write all the unit tests for me, right, Like, Ultimately

935
00:46:14,559 --> 00:46:16,760
you want you want to get to a point on

936
00:46:16,760 --> 00:46:19,280
that AI assistance where the AI is doing all the

937
00:46:19,320 --> 00:46:21,039
toil of code so that you could do the fun

938
00:46:21,119 --> 00:46:24,880
parts right, But that's.

939
00:46:24,840 --> 00:46:27,480
Speaker 2: Uh, yeah, they're just their augmentation tools and they're a

940
00:46:27,480 --> 00:46:31,719
good one. It doesn't It writes unit tests that are okay,

941
00:46:32,039 --> 00:46:34,440
but you know, it's still easier to edit a test

942
00:46:34,480 --> 00:46:36,679
than it is to write them from scratch, right, and

943
00:46:36,760 --> 00:46:39,039
sometimes it spits out stuff you just haven't thought of.

944
00:46:39,400 --> 00:46:42,960
Speaker 3: Absolutely. What's interesting for me, Like, I guess I want

945
00:46:42,960 --> 00:46:45,800
to talk about challenges that are maybe are unique to

946
00:46:45,800 --> 00:46:48,440
me on this front and maybe not, but hopefully it's

947
00:46:48,440 --> 00:46:51,400
interesting to people. Is like you can't put that stuff

948
00:46:51,400 --> 00:46:54,199
in a box of ships annually yet, yeah, because it's

949
00:46:54,880 --> 00:46:58,199
some sort like there's there's this challenge within the AI space.

950
00:46:58,199 --> 00:47:01,280
It's within Aspire as well. Different so I guess it's

951
00:47:01,320 --> 00:47:03,480
common for both of those things but for different reasons.

952
00:47:03,960 --> 00:47:07,320
But both of those areas are resistant to we're going

953
00:47:07,400 --> 00:47:10,639
to ship it once every year and call it good

954
00:47:10,679 --> 00:47:13,079
and put it and install it on everybody's machine, either

955
00:47:13,119 --> 00:47:17,000
because the pace is really fast or because you're depending

956
00:47:17,079 --> 00:47:19,719
on lots of stuff that you don't control. In the

957
00:47:19,760 --> 00:47:23,320
case you Aspire, right, if we need to update the

958
00:47:23,320 --> 00:47:25,159
redest client that we depend upon we'll need to do

959
00:47:25,519 --> 00:47:29,480
an update, right, and in the AIS case this there

960
00:47:29,519 --> 00:47:31,239
might be some new way of doing something that is

961
00:47:31,360 --> 00:47:34,199
very important. Therefore, both of them are kind of not

962
00:47:35,199 --> 00:47:37,960
we're shipping them along with everything else in don At nine,

963
00:47:38,320 --> 00:47:42,039
but we're making sure that mechanically they're not tied to shipping,

964
00:47:42,079 --> 00:47:43,880
only being able to ship when we ship a major

965
00:47:43,960 --> 00:47:44,639
version of the thing.

966
00:47:44,840 --> 00:47:47,480
Speaker 2: Sure, and you need to be able to swap out

967
00:47:47,800 --> 00:47:50,800
what Opening Eye Library are using. Absolutely, I would hope

968
00:47:50,800 --> 00:47:53,400
you can switch to a local instance of Cloud if

969
00:47:53,440 --> 00:47:57,199
you want, or a LAMA, right, like, yeah, that's.

970
00:47:57,119 --> 00:47:59,159
Speaker 3: All that sort of stuff. Yeah, but then also like

971
00:47:59,639 --> 00:48:03,440
what's into thing about that is Aspire nine works on

972
00:48:03,519 --> 00:48:07,000
DONNA eight But like normally we've we've we we have

973
00:48:07,159 --> 00:48:11,039
for some time tried to keep nine is nine eighties

974
00:48:11,039 --> 00:48:13,840
eight seven is seven because it's just easier, it's far

975
00:48:14,000 --> 00:48:15,079
easier to reason about.

976
00:48:15,159 --> 00:48:15,320
Speaker 1: Right.

977
00:48:15,639 --> 00:48:18,400
Speaker 3: Everybody's brain breaks when you start saying, but technically you

978
00:48:18,400 --> 00:48:20,599
could be using seven, version seven of this on version

979
00:48:20,679 --> 00:48:22,880
six of that with version four of this thing over here,

980
00:48:23,079 --> 00:48:25,000
and then your brain explodes.

981
00:48:25,400 --> 00:48:28,679
Speaker 2: Where I feel like one version of Aspire is good.

982
00:48:28,840 --> 00:48:31,360
Speaker 3: And that's and so yeah, so but if it's two versions.

983
00:48:31,360 --> 00:48:34,159
If it's Aspire eight as a world and Aspire nine

984
00:48:34,159 --> 00:48:35,920
as a world, and they're working on a dot net

985
00:48:36,000 --> 00:48:39,000
version which is either donat eight or nine, that's probably understandable.

986
00:48:40,320 --> 00:48:42,559
But that's part of this, like the things I don't

987
00:48:42,599 --> 00:48:44,840
necessarily always ship in the box now, the same as

988
00:48:44,880 --> 00:48:49,159
with kind of extensions AI, and that's we can't go

989
00:48:49,199 --> 00:48:52,079
to the world where everything individually ships, because we tried

990
00:48:52,119 --> 00:48:54,159
that in the early days of Core. If any of

991
00:48:54,199 --> 00:48:55,079
you remember.

992
00:48:55,119 --> 00:49:00,880
Speaker 2: We do, and that ad is lts like, it makes

993
00:49:00,880 --> 00:49:02,800
sense to me you'd support two versions of dot.

994
00:49:02,719 --> 00:49:04,920
Speaker 3: Now indeed, which is another discussion that you then kind

995
00:49:04,920 --> 00:49:07,199
of have internally about, oh, maybe this makes a lot

996
00:49:07,199 --> 00:49:09,079
of sense, maybe we should do this more. We haven't

997
00:49:09,079 --> 00:49:12,039
made decisions on those front, but we've certainly talked about it. Yeah.

998
00:49:12,119 --> 00:49:15,159
Speaker 2: No, but you're definitely feeling around for it's some things

999
00:49:15,239 --> 00:49:17,239
you just want to keep sync. Like, I'm okay with

1000
00:49:17,320 --> 00:49:20,119
you calling it Aspire nine. Yeah, even though there's no

1001
00:49:20,159 --> 00:49:21,880
way you've made nine versions or anything.

1002
00:49:21,960 --> 00:49:25,599
Speaker 3: Yeah, absolutely, even though there's no version exactly. Yeah, because

1003
00:49:25,599 --> 00:49:27,440
it's just you've got to try and you have to

1004
00:49:27,519 --> 00:49:32,639
balance the well, technically, these things can all be independent versus. Yeah,

1005
00:49:32,679 --> 00:49:34,599
but how should people think about it? Because you need

1006
00:49:34,599 --> 00:49:37,079
to make it easy for everybody at the keyboard trying

1007
00:49:37,079 --> 00:49:38,840
to figure out what they've got to do. You need

1008
00:49:38,840 --> 00:49:41,199
to balance all of that. You've got to balance that thing.

1009
00:49:41,519 --> 00:49:45,280
And then it's easy to invent scenarios of like, but

1010
00:49:45,320 --> 00:49:47,920
what if we add a thing here feeds bug fixed

1011
00:49:47,920 --> 00:49:50,360
to this package only and somebody really wants that, And

1012
00:49:50,360 --> 00:49:52,480
I'm like, yeah, but really.

1013
00:49:52,880 --> 00:49:55,599
Speaker 2: Well, and especially in fast generating stuff, there should only

1014
00:49:55,679 --> 00:49:59,320
be one current version of Aspire that I don't care

1015
00:49:59,320 --> 00:50:01,920
what you're working on on the back end, it works, yeah, ideally,

1016
00:50:02,360 --> 00:50:05,760
and same for all of this gen AI stuff because

1017
00:50:05,760 --> 00:50:08,159
it is so iterating so rapidly. Yeah. Yeah.

1018
00:50:08,159 --> 00:50:10,679
Speaker 3: And then and then then in the AI stuff, the

1019
00:50:10,760 --> 00:50:12,880
challenge is figuring out the things that are going to

1020
00:50:12,920 --> 00:50:16,719
be enduring. Yeah, because you don't want to push everything down, right,

1021
00:50:16,840 --> 00:50:19,920
So we have chat completions in and some people will

1022
00:50:19,920 --> 00:50:22,000
look at that and say that's cute, like, but what

1023
00:50:22,039 --> 00:50:24,519
about this other like mountain and stuff that exists in

1024
00:50:24,519 --> 00:50:27,920
that ecosystem, Like what about audio? What about streaming audio

1025
00:50:28,480 --> 00:50:31,119
backwards and forwards or like some some other thing. Right,

1026
00:50:31,400 --> 00:50:34,079
We'll be like yeah, yeah, but we can't. We can't

1027
00:50:34,199 --> 00:50:37,199
move different layers of dot and need to can move

1028
00:50:37,239 --> 00:50:41,599
at different speeds, and we don't help anybody if we

1029
00:50:41,400 --> 00:50:45,280
if we evolve too fast in the library, in the

1030
00:50:45,480 --> 00:50:46,960
in the well.

1031
00:50:47,119 --> 00:50:49,320
Speaker 2: Some folks are arguing that a version of dot net

1032
00:50:49,360 --> 00:50:50,639
every year is too fast.

1033
00:50:50,719 --> 00:50:53,840
Speaker 3: Yeah, exactly, Yeah, yeah, but that's already too fast for

1034
00:50:53,920 --> 00:50:58,280
some people, right, And I think with that is actually

1035
00:50:58,360 --> 00:51:01,440
often more about people when people don't want to feel

1036
00:51:01,519 --> 00:51:04,719
forced to move more than they care about the fact

1037
00:51:04,719 --> 00:51:07,400
that there's another version. And also people feel bad if

1038
00:51:07,440 --> 00:51:09,079
the versions get too far ahead of them.

1039
00:51:09,280 --> 00:51:14,159
Speaker 2: When you're at six, you're missing out.

1040
00:51:14,400 --> 00:51:16,440
Speaker 3: Yeah, lots of people are on six. By the way,

1041
00:51:16,519 --> 00:51:19,440
it's the most popular, not new, it's the most popular.

1042
00:51:19,239 --> 00:51:21,760
Speaker 2: Version that the LTS. Exactly.

1043
00:51:22,320 --> 00:51:24,880
Speaker 3: So the data tells us that roughly half of the

1044
00:51:24,880 --> 00:51:27,440
dot netir base only moved from LTS to LTS.

1045
00:51:27,559 --> 00:51:30,079
Speaker 2: That's fine, that's good. That's a good thing to know.

1046
00:51:30,599 --> 00:51:32,960
It just speaks to people care about that. Like there's

1047
00:51:32,960 --> 00:51:35,599
another debate that is why why I have an LTS

1048
00:51:35,639 --> 00:51:37,559
and a non LTS, like just make them all the same,

1049
00:51:38,159 --> 00:51:40,440
But clearly it matters to a certain group of folks,

1050
00:51:40,480 --> 00:51:43,559
it does. Yeah, yeah. Yeah, And I mean I'll included

1051
00:51:43,599 --> 00:51:48,400
a link of Stephen Tabbs every year amazing, ridiculously complicated.

1052
00:51:49,639 --> 00:51:53,480
You need to spend an afternoon reading blog post on performance. Absolutely,

1053
00:51:53,519 --> 00:51:55,519
But I firmly in the camp of when you swip

1054
00:51:55,559 --> 00:51:58,880
to a newer version of dot net, stuff's faster. Yeah,

1055
00:51:58,920 --> 00:52:00,039
you just get two ways about it.

1056
00:52:00,159 --> 00:52:03,320
Speaker 3: Yeah, for all of for everybody listening, every version is faster.

1057
00:52:03,960 --> 00:52:06,639
That's that's a that's a true is full step. We

1058
00:52:06,719 --> 00:52:08,320
tried to we make it. We try to make every

1059
00:52:08,360 --> 00:52:12,199
version of fast. And there's some amazing experiments happening, Like

1060
00:52:12,679 --> 00:52:15,800
the runtime team has been experimenting with acinc and like

1061
00:52:15,880 --> 00:52:20,360
a different version of acinc, Like like, not a different version,

1062
00:52:20,480 --> 00:52:24,000
We're not going to change, different approach, different approach. What

1063
00:52:24,039 --> 00:52:25,599
if the what if acinc was more of a run

1064
00:52:25,639 --> 00:52:27,280
time feature and less of a compiler feature.

1065
00:52:27,559 --> 00:52:27,960
Speaker 2: Interesting?

1066
00:52:28,559 --> 00:52:29,519
Speaker 3: What does it do to perth?

1067
00:52:29,960 --> 00:52:30,239
Speaker 2: Yeah?

1068
00:52:30,360 --> 00:52:32,719
Speaker 3: What scenarios are better? What scenarios worst?

1069
00:52:32,800 --> 00:52:33,000
Speaker 1: Right?

1070
00:52:33,079 --> 00:52:34,119
Speaker 3: Like, what does that look like.

1071
00:52:34,440 --> 00:52:37,599
Speaker 2: Rather than just spitting out acinc i L with all

1072
00:52:37,639 --> 00:52:40,239
of its overhead, what if you actually had underpinnings in

1073
00:52:40,280 --> 00:52:42,880
the OS that under in the language that did this

1074
00:52:43,280 --> 00:52:44,320
exactly right?

1075
00:52:44,360 --> 00:52:46,840
Speaker 3: So, like experiments for that like it grew growing out

1076
00:52:46,840 --> 00:52:48,679
of you know you maybe you saw some of our

1077
00:52:48,679 --> 00:52:50,920
experimentation with green threads and doesn't make sense to have

1078
00:52:50,960 --> 00:52:54,159
a green thread model in dot net. The outcome of

1079
00:52:54,199 --> 00:52:56,280
that was, yes, we could do this, but it would

1080
00:52:56,360 --> 00:52:58,639
like be yet another way of doing ac Really what

1081
00:52:58,719 --> 00:53:01,920
you need another one that I don't know what significant benefit.

1082
00:53:02,079 --> 00:53:03,679
Speaker 1: What are green threads that?

1083
00:53:04,360 --> 00:53:07,159
Speaker 3: It's they're kind of like the way that go routines

1084
00:53:07,360 --> 00:53:10,239
in go work. It's just a it's a it's a

1085
00:53:10,239 --> 00:53:13,679
different way of doing a sinc I'm not it's a

1086
00:53:13,719 --> 00:53:15,519
bit far from the point to worry about it. Sure,

1087
00:53:15,599 --> 00:53:17,320
we can grab a link, but what we'll do is

1088
00:53:17,320 --> 00:53:18,079
grab a link to.

1089
00:53:18,599 --> 00:53:21,599
Speaker 2: Wed To the to the original issue called the Green

1090
00:53:21,599 --> 00:53:23,400
thread Experiments. Good.

1091
00:53:23,960 --> 00:53:25,639
Speaker 3: It's a good it's a good interesting read if you

1092
00:53:25,679 --> 00:53:27,880
care about learning what is green threads or about just

1093
00:53:27,920 --> 00:53:30,079
this topic in general. But to be honest, something the

1094
00:53:30,079 --> 00:53:31,679
most of you all probably don't have to care about.

1095
00:53:31,719 --> 00:53:35,400
Speaker 1: So, you know, so I want to just go back

1096
00:53:35,400 --> 00:53:39,199
before we sign off here, you were talking about AOT

1097
00:53:39,599 --> 00:53:44,199
and how AOT is progressing. Our friend Dylan Beattie, we

1098
00:53:44,519 --> 00:53:47,480
just talked to think last week. Before this comes out

1099
00:53:47,559 --> 00:53:48,440
right Richard.

1100
00:53:48,400 --> 00:53:48,880
Speaker 2: Something like that.

1101
00:53:49,280 --> 00:53:52,800
Speaker 1: He's great, yeah, all right, so he has a language

1102
00:53:52,800 --> 00:53:55,360
called rock Star, and you know, of course it's fun.

1103
00:53:56,199 --> 00:54:00,320
But he was waiting for AOT to really come into

1104
00:54:00,320 --> 00:54:03,480
its own and he was like, dot Net eight finally delivered.

1105
00:54:03,559 --> 00:54:07,480
So he can, you know, with a GitHub action, produce

1106
00:54:07,760 --> 00:54:13,840
a fully you know, native version of his interactions the

1107
00:54:14,000 --> 00:54:17,280
compiler or whatever you want to call it for all platforms.

1108
00:54:17,679 --> 00:54:22,280
And so that's there in eight and dot net nin

1109
00:54:22,400 --> 00:54:25,199
Does it just make faster and smaller executables or what?

1110
00:54:25,320 --> 00:54:27,599
Speaker 3: No? No, So it's more of the IoT at this

1111
00:54:27,639 --> 00:54:31,480
point is the more of the ecosystem just works. So

1112
00:54:31,599 --> 00:54:34,840
like in AF doesn't really work right, EF does a

1113
00:54:34,840 --> 00:54:37,039
lot of things that don't work super great in AOT.

1114
00:54:37,199 --> 00:54:38,880
So if you're trying to do a compiler, it's one

1115
00:54:38,920 --> 00:54:43,039
hundred percent fine, but some parts of the stack don't

1116
00:54:43,079 --> 00:54:46,079
necessarily work super well with it. And so it's it's

1117
00:54:46,079 --> 00:54:48,599
more about broadening the ecosystem so that more and more

1118
00:54:48,639 --> 00:54:50,920
of the things just work without you thinking about it.

1119
00:54:50,960 --> 00:54:54,599
Is what the progression for AOT is for at least

1120
00:54:54,880 --> 00:54:57,519
the next year or two or three, okay yo.

1121
00:54:58,239 --> 00:55:01,000
Speaker 2: In the context of AOT, just another subject before a

1122
00:55:01,039 --> 00:55:04,440
run out of time Windows on ARM. Yeah, So, I

1123
00:55:04,480 --> 00:55:07,199
mean my presumption has always been you guys are going

1124
00:55:07,239 --> 00:55:09,000
to take care of this for us. It's dot net developers.

1125
00:55:09,039 --> 00:55:10,760
If you want to run on ARM, you run on Arm,

1126
00:55:10,800 --> 00:55:12,199
and Git will simply do.

1127
00:55:12,119 --> 00:55:13,440
Speaker 3: It the magic of Git.

1128
00:55:13,599 --> 00:55:16,239
Speaker 2: Yeah. Yeah. But if you're aoting do you have to

1129
00:55:16,239 --> 00:55:21,119
pick a platform? Yes, yeah, so you're and the obvious

1130
00:55:21,119 --> 00:55:23,960
one is x sixty four and because that's what everybody's running,

1131
00:55:24,000 --> 00:55:26,280
so that makes it pretty easy. And then flip an

1132
00:55:26,400 --> 00:55:27,559
ARM shows up and you're.

1133
00:55:27,440 --> 00:55:29,719
Speaker 3: Like, and then now you've got to do a new build.

1134
00:55:29,800 --> 00:55:31,599
You need a new compile. You need a new compilation

1135
00:55:31,639 --> 00:55:34,199
for the new platform that is targeting. That's the price

1136
00:55:34,239 --> 00:55:36,320
of AOTRUS one of the process.

1137
00:55:36,440 --> 00:55:36,719
Speaker 2: Yeah.

1138
00:55:36,760 --> 00:55:39,480
Speaker 3: Absolutely, But if you are a compiler you probably want that.

1139
00:55:39,880 --> 00:55:43,440
Speaker 2: Yeah. And well, and if you are deploying a backhand

1140
00:55:43,519 --> 00:55:45,440
chunk of code that needs to be absolutely as fast

1141
00:55:45,480 --> 00:55:48,719
as possible and only runs in exactly one place as

1142
00:55:48,760 --> 00:55:52,800
specific you know, instance in the measure, you can aot

1143
00:55:52,960 --> 00:55:53,280
that thing.

1144
00:55:53,280 --> 00:55:55,920
Speaker 3: Also, if you're running into container and where you have

1145
00:55:56,000 --> 00:55:58,719
a lot of control over this thing, ye might specify

1146
00:55:58,320 --> 00:56:00,679
the way specify a lot of that plat form information

1147
00:56:00,800 --> 00:56:03,079
so you know it's never going to change, right, But

1148
00:56:03,239 --> 00:56:05,000
to your point, to some extent, you're still running on

1149
00:56:05,000 --> 00:56:06,000
a CPU, like what do you?

1150
00:56:06,119 --> 00:56:08,840
Speaker 2: Yeah, you are, and that's just the job of the

1151
00:56:08,920 --> 00:56:11,440
run time was to the CLR was to take care

1152
00:56:11,480 --> 00:56:11,880
of this for me.

1153
00:56:12,000 --> 00:56:12,199
Speaker 3: Yeah.

1154
00:56:12,840 --> 00:56:14,800
Speaker 2: It is interesting to think because they are starting to

1155
00:56:14,880 --> 00:56:19,760
roll out those big my ARM processors into Azure. Now

1156
00:56:20,159 --> 00:56:22,840
that it's one thing for me to build in dot

1157
00:56:22,920 --> 00:56:25,280
net and run it in a regular app service or

1158
00:56:25,320 --> 00:56:27,480
then run it on a Linux instance, but now i'd

1159
00:56:27,519 --> 00:56:29,159
have the option to run it as an ARM instance

1160
00:56:29,199 --> 00:56:32,280
and say, you know that it's like twenty percent twenty

1161
00:56:32,280 --> 00:56:34,199
five percent cheaper to running on a Linux instance. I

1162
00:56:34,239 --> 00:56:35,880
wonder what it's going to be on an ARM instance

1163
00:56:36,079 --> 00:56:37,239
that's less performance?

1164
00:56:37,400 --> 00:56:40,400
Speaker 3: Indeed, I don't know. Ye, yes, if you're using normal

1165
00:56:40,480 --> 00:56:42,719
dot net then yeah, that we do. We've got we

1166
00:56:42,800 --> 00:56:43,039
got you.

1167
00:56:44,280 --> 00:56:45,920
Speaker 2: Yeah, you know it's going to work. It's just like

1168
00:56:46,320 --> 00:56:49,679
the simpler architecture of ARM, the way that it processes instructions.

1169
00:56:49,679 --> 00:56:53,159
And I am clearly a hardware geek. I wonder if

1170
00:56:53,199 --> 00:56:57,440
it'll actually outperform and be cheaper from a resource consumption perspective.

1171
00:56:58,079 --> 00:56:59,920
But you guys also haven't had as much time to

1172
00:57:00,239 --> 00:57:03,280
optimize for ARM. Yet like maybe another version or two

1173
00:57:03,360 --> 00:57:05,840
from now, your ARM optimizations will be stunning.

1174
00:57:06,760 --> 00:57:08,519
Speaker 3: And it might well be that that's the thing that makes

1175
00:57:08,519 --> 00:57:10,880
the perfect changes from a version in the future.

1176
00:57:10,880 --> 00:57:13,719
Speaker 2: Who knows, right, yeah, and jumps out again. Right, it's like, hey,

1177
00:57:13,760 --> 00:57:16,760
you want this thing to rock running on an ARM instance, Andrew.

1178
00:57:16,400 --> 00:57:18,760
Speaker 1: I always I still can't get out of the mindset

1179
00:57:18,800 --> 00:57:22,320
that well I will, but that ARM means lower power,

1180
00:57:22,679 --> 00:57:25,840
right that is. But it isn't that that is totally changed.

1181
00:57:25,920 --> 00:57:29,280
Isn't the MacBook M two kind of stuff? Isn't that

1182
00:57:29,280 --> 00:57:29,679
an ARM.

1183
00:57:29,599 --> 00:57:32,000
Speaker 2: Chip whethery're up to N four now? And yes, I

1184
00:57:32,039 --> 00:57:34,880
would say highest performance set up that exists right now. Yeah,

1185
00:57:34,880 --> 00:57:37,440
that's because it's just super asic, right, Like it's the

1186
00:57:37,480 --> 00:57:40,880
processor and the GPU and the CP and and the

1187
00:57:41,000 --> 00:57:44,159
NPU and like everything integrated on this chip of doom.

1188
00:57:44,400 --> 00:57:45,239
Speaker 1: Right yeah.

1189
00:57:45,280 --> 00:57:47,519
Speaker 2: So, and that's where they're getting a lot of their wins.

1190
00:57:47,559 --> 00:57:50,719
And that's to be a Dragon did with their Ultra AX, right,

1191
00:57:50,760 --> 00:57:54,119
that's just new Windows on ARM platform. It's that process.

1192
00:57:54,480 --> 00:57:56,280
Speaker 3: Yeah, this is and this is part of the world

1193
00:57:56,320 --> 00:57:59,239
that I don't spend as much time in. But the

1194
00:57:59,239 --> 00:58:02,039
the when you start looking at the assembly that is

1195
00:58:02,079 --> 00:58:05,280
getting generated when against x eighty six or A versus

1196
00:58:05,440 --> 00:58:07,960
ARM versus Zombie two and such, it's like the ARM

1197
00:58:08,000 --> 00:58:11,880
instruction set is getting fairly large. But like there's some

1198
00:58:11,920 --> 00:58:14,760
cool stuff I've watched some people recently where you decompile it.

1199
00:58:14,840 --> 00:58:17,239
If you use like one of the tools to do

1200
00:58:17,320 --> 00:58:20,840
decompletion and you put like x eighty six versus ARM,

1201
00:58:21,400 --> 00:58:23,079
and then you take the same code and you look

1202
00:58:23,119 --> 00:58:25,800
at what the assembly looks at, it's vastly different and

1203
00:58:25,960 --> 00:58:28,760
frequently looks Wastimply.

1204
00:58:30,239 --> 00:58:33,199
Speaker 2: You know, X sixty four x eighty six has this

1205
00:58:33,360 --> 00:58:38,000
baggage of decades. You know that it's bridged from eight

1206
00:58:38,039 --> 00:58:40,239
bit to sixty bit, to thirty two bit to sixty

1207
00:58:40,280 --> 00:58:42,599
four bit, and ARM has only been thirty three or

1208
00:58:42,599 --> 00:58:46,039
sixty four. Like, they're just fundamentally simpler. And you know,

1209
00:58:46,079 --> 00:58:49,400
to the point where that snap Dragon machine is emulating

1210
00:58:49,840 --> 00:58:53,320
X sixty four fast enough that you you barely notice it.

1211
00:58:53,320 --> 00:58:55,920
It's more power consumptive, but it's fast.

1212
00:58:56,000 --> 00:58:57,639
Speaker 3: Yeah, for some of the for some of the people

1213
00:58:57,679 --> 00:58:59,760
out there who are interested in this, you should absolutely well.

1214
00:58:59,760 --> 00:59:02,960
First of all, Tobe and handsmen do some deep dot

1215
00:59:03,039 --> 00:59:04,960
net where they drop to assembly. I believe you should

1216
00:59:04,960 --> 00:59:07,960
probably watch some of that, but also just jump into

1217
00:59:08,000 --> 00:59:10,400
some of the decompiler apps that are out there. It's

1218
00:59:10,519 --> 00:59:11,519
write something basic.

1219
00:59:11,760 --> 00:59:12,079
Speaker 1: Just do it.

1220
00:59:12,440 --> 00:59:14,519
Speaker 3: Just do it, Yeah, do a console that right line

1221
00:59:14,880 --> 00:59:18,119
and then look at the IL but then start and

1222
00:59:18,199 --> 00:59:20,079
then start clicking around and look at some of the assembly,

1223
00:59:20,079 --> 00:59:21,960
not to try and understand it, just to like have

1224
00:59:22,079 --> 00:59:24,000
a look and see how it goes. If you and

1225
00:59:24,039 --> 00:59:25,960
if you do want to learn that layer of the stack,

1226
00:59:26,039 --> 00:59:28,440
like go nuts. It's so easy. It's not not easy.

1227
00:59:28,880 --> 00:59:32,159
It is so available now for you if you want

1228
00:59:32,280 --> 00:59:34,480
to choose to go into that part of the stack

1229
00:59:34,559 --> 00:59:36,400
to go do it like you can do that now.

1230
00:59:36,960 --> 00:59:39,559
It was kind of impossible for a long time for

1231
00:59:39,599 --> 00:59:41,519
you to really figure that stuff out. And now there's

1232
00:59:41,599 --> 00:59:44,400
lots more resources available. There's lots of very easy tool

1233
00:59:44,519 --> 00:59:46,480
to just write some code. See what the output will

1234
00:59:46,559 --> 00:59:53,519
be looked. Like last last weekend, I spent two hours

1235
00:59:53,800 --> 00:59:58,000
and I had a basic app. I had a basic

1236
00:59:58,440 --> 01:00:01,400
OS writing to the console right like I had created

1237
01:00:01,440 --> 01:00:05,119
a grub bootloader that like booted an emulator in QMU

1238
01:00:05,239 --> 01:00:08,679
and like was writing Hello World to the screen right.

1239
01:00:09,039 --> 01:00:11,119
That was like I could follow a tutorial on the

1240
01:00:11,159 --> 01:00:13,519
internet to get to the point where I was booting hardware.

1241
01:00:14,039 --> 01:00:17,960
That's insane and it's amazing crazy, Like doesn't matter which

1242
01:00:18,039 --> 01:00:20,079
part of the computing world that you want to be

1243
01:00:20,159 --> 01:00:25,639
involved in right now, the availability of materials, it's ridiculous.

1244
01:00:26,119 --> 01:00:28,599
So even though we said earlier that it would be

1245
01:00:28,639 --> 01:00:30,440
scary in horror and maybe I wouldn't want to be

1246
01:00:30,480 --> 01:00:33,800
a developed new developer these days, on the other hand, man,

1247
01:00:34,519 --> 01:00:36,480
how much more stuff is available for me to learn

1248
01:00:36,480 --> 01:00:37,920
if I'm a new developer these days.

1249
01:00:37,880 --> 01:00:40,119
Speaker 2: It's so much more to do. But this is where

1250
01:00:40,159 --> 01:00:43,239
the tooling comes into play. Yeah, he you know, two

1251
01:00:43,320 --> 01:00:47,000
years ago building cloud native and dot Net hard right,

1252
01:00:47,079 --> 01:00:50,880
aspier maybe young, But it's easier now yep, and it'll

1253
01:00:50,880 --> 01:00:52,079
only get easier from here.

1254
01:00:52,480 --> 01:00:54,519
Speaker 3: Yeah. This is the advantage of kind of Dotnet as

1255
01:00:54,519 --> 01:00:57,559
a platform, right is because you have us my team

1256
01:00:57,599 --> 01:01:01,199
constantly looking at what sort of does everybody have to build?

1257
01:01:01,280 --> 01:01:02,880
How do we make that as easy as possible? And

1258
01:01:02,920 --> 01:01:05,599
then as so as Donet evolves type of apps you

1259
01:01:05,639 --> 01:01:07,920
need to build, chances are we've been making that easier

1260
01:01:07,960 --> 01:01:09,599
for a bit for you, or at least we will

1261
01:01:09,599 --> 01:01:11,320
be in a year from now. It's one of the

1262
01:01:11,400 --> 01:01:13,320
challenges I try to set for myself and for my

1263
01:01:13,320 --> 01:01:17,199
team is that constant progression of what what does modern mean?

1264
01:01:17,679 --> 01:01:18,000
Speaker 2: Yeah?

1265
01:01:18,079 --> 01:01:20,360
Speaker 3: Right, we're like, what is what is the if I

1266
01:01:20,480 --> 01:01:22,239
was to go do if I if I am got

1267
01:01:22,239 --> 01:01:25,360
a green fields project today and I'm like, yes, this time,

1268
01:01:25,719 --> 01:01:29,039
this time, we're going to do it, right, then what

1269
01:01:29,079 --> 01:01:32,519
would actually what would I think I would build and like?

1270
01:01:32,719 --> 01:01:34,800
And how do I make that thing that you're trying

1271
01:01:34,840 --> 01:01:38,679
to build be amazing without letting the people who aren't

1272
01:01:38,679 --> 01:01:40,360
don't get the chance to do that green fields fall

1273
01:01:40,440 --> 01:01:43,360
by the wayside, right, because you also need the It's

1274
01:01:43,360 --> 01:01:45,920
often far more impactful for me to help the person

1275
01:01:45,960 --> 01:01:48,760
who needs to get to that new, that different architecture.

1276
01:01:48,760 --> 01:01:50,519
Speaker 2: I think you have to do this in two steps. First,

1277
01:01:50,679 --> 01:01:53,599
is what's the perfect greenfield athlmitation? And then how do

1278
01:01:53,760 --> 01:01:56,239
you have these tools to bridge my brownfield after that

1279
01:01:56,320 --> 01:01:57,360
space exactly.

1280
01:01:57,079 --> 01:01:59,280
Speaker 3: When you see I aspire trying to bridge that. Well, now, yeah,

1281
01:01:59,280 --> 01:02:00,840
but you're doing a couple of years ago, we didn't

1282
01:02:00,840 --> 01:02:03,000
know what the ideal of greenwill field space is. Right,

1283
01:02:04,239 --> 01:02:06,719
you can and there's still like areas of there's still

1284
01:02:07,239 --> 01:02:09,639
lots of areas to go look at, in that, in that,

1285
01:02:09,880 --> 01:02:10,719
in this whole space.

1286
01:02:11,440 --> 01:02:13,719
Speaker 1: Well, Glenn, what's next for you after dart Net nine?

1287
01:02:13,760 --> 01:02:14,679
What's in your inbox?

1288
01:02:14,880 --> 01:02:17,519
Speaker 3: I suspect I think ten is the next number after nine.

1289
01:02:17,840 --> 01:02:20,159
Speaker 1: You know, I had a feeling it's it's weird.

1290
01:02:20,400 --> 01:02:22,880
Speaker 3: Yeah, it's funny that thing thinking about.

1291
01:02:22,639 --> 01:02:25,280
Speaker 1: Like take a vacation or something before you jump back in.

1292
01:02:25,320 --> 01:02:30,320
Speaker 3: And typically December gets pretty quiet on the team, like

1293
01:02:30,519 --> 01:02:32,760
towards the end of November and December.

1294
01:02:32,320 --> 01:02:34,039
Speaker 2: And I gotta bet there's a bunch of stuff that's

1295
01:02:34,039 --> 01:02:36,599
sitting in like a v next topper that didn't make

1296
01:02:36,679 --> 01:02:37,360
it there is.

1297
01:02:37,440 --> 01:02:39,159
Speaker 3: So there's a lot of teams, there's a lot of

1298
01:02:39,159 --> 01:02:41,400
people who are now going through their backlogs. So there's

1299
01:02:41,400 --> 01:02:43,400
a lot of backlog grooming happening at the moment, like

1300
01:02:43,440 --> 01:02:45,239
what are the things we want to pop? We want

1301
01:02:45,239 --> 01:02:47,119
to pop that we want to bring up in the

1302
01:02:47,159 --> 01:02:51,039
next version. Aspire needs to do like some miners before ten,

1303
01:02:51,719 --> 01:02:54,840
so it'll do some like backwards compatibile, like let's throw

1304
01:02:54,880 --> 01:02:57,079
a few brand new features in here, like we just

1305
01:02:57,119 --> 01:02:59,599
ship support for big areas like functions and friends, So

1306
01:02:59,639 --> 01:03:01,599
they'll have to ship and they'll have to ship before

1307
01:03:01,800 --> 01:03:04,320
the next version. There's a lot of that. There's a

1308
01:03:04,320 --> 01:03:07,119
lot of which of these experiments do we now want

1309
01:03:07,119 --> 01:03:08,559
to bring forward, which of them do we won't? A

1310
01:03:08,559 --> 01:03:10,519
lot of those kinds of decisions have to be made, And.

1311
01:03:10,480 --> 01:03:13,559
Speaker 1: Then there's some Gotchas and Blazer that needed dressing.

1312
01:03:14,559 --> 01:03:17,880
Speaker 3: There is a lot of work on all of the platforms, right,

1313
01:03:18,000 --> 01:03:20,679
they just all need constant evolution and constant love to

1314
01:03:20,679 --> 01:03:23,440
make better. Maui has gotten way better, Blazer is significantly

1315
01:03:23,519 --> 01:03:27,320
betting better, but Blazer in practice only very recently will

1316
01:03:27,400 --> 01:03:29,639
kind of switch into this full stack kind of almost

1317
01:03:29,719 --> 01:03:32,320
better framework mode of being a web stack. So like

1318
01:03:32,840 --> 01:03:35,000
there's a lot of work there there. We've been talking

1319
01:03:35,039 --> 01:03:37,719
a lot about reliability of connections within Blazer and trying

1320
01:03:37,719 --> 01:03:39,920
to make sure circuits and connections and stuff and much

1321
01:03:39,960 --> 01:03:42,559
more reliable and resilient. And what work can do there

1322
01:03:42,599 --> 01:03:44,760
for example, like as well as a whole backlog of

1323
01:03:44,760 --> 01:03:47,760
stuff that team has. Who knows what's going to happen

1324
01:03:47,840 --> 01:03:50,320
in AI six months from now that people are going

1325
01:03:50,360 --> 01:03:52,920
to need to use, like I need people like I

1326
01:03:52,960 --> 01:03:56,079
need big companies who are today knocking on my door

1327
01:03:56,199 --> 01:03:59,119
saying We've got a fleet of donet applications and we

1328
01:03:59,159 --> 01:04:02,400
want them to using this new generative by staff today.

1329
01:04:02,800 --> 01:04:03,760
Speaker 2: Right, what do you got?

1330
01:04:04,320 --> 01:04:05,880
Speaker 3: So I need to figure out how to answer those

1331
01:04:05,880 --> 01:04:09,719
people and then uh, and then and then all of

1332
01:04:09,719 --> 01:04:11,880
that sort of stuff, Like every every week is different.

1333
01:04:11,920 --> 01:04:15,079
Speaker 2: It's a pretty cool problems, Glenn. Cool. I mean, there's

1334
01:04:15,079 --> 01:04:16,559
still problems, but they're cool.

1335
01:04:16,840 --> 01:04:18,800
Speaker 3: I have a cool job, don't don't get me wrong.

1336
01:04:22,920 --> 01:04:24,679
Not many other jobs where I get to listen to

1337
01:04:24,719 --> 01:04:27,639
somebody talk to me about like a GC and like

1338
01:04:27,679 --> 01:04:31,800
a runtime like acinc stuff as well as AI and

1339
01:04:31,960 --> 01:04:34,119
like how we're going to do cloud native stuff and

1340
01:04:34,320 --> 01:04:36,719
all in one week, right is all?

1341
01:04:36,760 --> 01:04:40,639
Speaker 1: That's good. It's all good stuff, Glenn Conder And thank

1342
01:04:40,639 --> 01:04:43,400
you for spending this time with us. And wow, what

1343
01:04:43,480 --> 01:04:45,039
a great what a great conversation.

1344
01:04:45,199 --> 01:04:45,840
Speaker 2: Thank you, Thank you.

1345
01:04:45,920 --> 01:04:48,480
Speaker 3: Hopefully it was enjoyable to everybody out there. And I'll

1346
01:04:48,559 --> 01:04:49,400
see you all next.

1347
01:04:49,199 --> 01:04:51,239
Speaker 1: Time, all right, And we'll talk to you, dear listener

1348
01:04:51,559 --> 01:05:15,079
next time. I'm dot net Products. Dot net Rocks is

1349
01:05:15,119 --> 01:05:18,800
brought to you by Franklin's Net and produced by Pop Studios,

1350
01:05:19,199 --> 01:05:23,239
a full service audio, video and post production facility located

1351
01:05:23,239 --> 01:05:26,159
physically in New London, Connecticut, and of course in the

1352
01:05:26,239 --> 01:05:31,320
cloud online at pwop dot com. Visit our website at

1353
01:05:31,360 --> 01:05:33,199
d O T N E t R O c k

1354
01:05:33,440 --> 01:05:38,239
S dot com for RSS feeds, downloads, mobile apps, comments,

1355
01:05:38,559 --> 01:05:41,119
and access to the full archives going back to show

1356
01:05:41,199 --> 01:05:44,920
number one, recorded in September two thousand and two. And

1357
01:05:45,000 --> 01:05:47,400
make sure you check out our sponsors. They keep us

1358
01:05:47,440 --> 01:05:50,920
in business. Now go write some code, see you next time.

1359
01:05:51,840 --> 01:05:53,559
Speaker 3: You got jam vans

1360
01:05:55,719 --> 01:06:03,079
Speaker 1: And the taxes are predial

