WEBVTT

1
00:00:01.080 --> 00:00:03.000
<v Speaker 1>How'd you like to listen to dot net Rocks with

2
00:00:03.040 --> 00:00:07.879
<v Speaker 1>no ads? Easy? Become a patron for just five dollars

3
00:00:07.919 --> 00:00:10.800
<v Speaker 1>a month. You get access to a private RSS feed

4
00:00:10.839 --> 00:00:14.279
<v Speaker 1>where all the shows have no ads. Twenty dollars a month.

5
00:00:14.279 --> 00:00:16.879
<v Speaker 1>We'll get you that and a special dot net Rocks

6
00:00:16.960 --> 00:00:21.000
<v Speaker 1>patron mug. Sign up now at Patreon dot dot NetRocks

7
00:00:21.120 --> 00:00:36.719
<v Speaker 1>dot com. Hey, welcome back to dot net Rocks. I'm

8
00:00:36.799 --> 00:00:42.200
<v Speaker 1>Carl Franklin at A'mergard Gamble, and happy autumn season to y'all. Yeah,

9
00:00:42.359 --> 00:00:45.000
<v Speaker 1>it was Halloween last night after we recorded this.

10
00:00:45.039 --> 00:00:47.960
<v Speaker 2>When we're recording, Yeah, but yeah, this is later than

11
00:00:48.000 --> 00:00:50.439
<v Speaker 2>that because time shifting.

12
00:00:50.560 --> 00:00:54.399
<v Speaker 1>Right, and we were hoping to get some more stuff.

13
00:00:54.439 --> 00:00:56.840
<v Speaker 1>We had Dan Roth on last week and we were

14
00:00:56.840 --> 00:01:00.840
<v Speaker 1>hoping to get some more not last okay, time shifting

15
00:01:00.960 --> 00:01:03.399
<v Speaker 1>a few shows ago. But we were hoping to get

16
00:01:03.399 --> 00:01:07.319
<v Speaker 1>this closer to dot net conf. But you know, you Glenn,

17
00:01:07.359 --> 00:01:11.840
<v Speaker 1>being you know, experienced in all things dot net nine

18
00:01:12.120 --> 00:01:15.920
<v Speaker 1>just not not just Blazer, we thought we would do

19
00:01:15.959 --> 00:01:19.359
<v Speaker 1>a little recap of what they talked about acts dot

20
00:01:19.400 --> 00:01:24.959
<v Speaker 1>net conv So, hey, Richard, hey man, let's I think

21
00:01:24.959 --> 00:01:27.400
<v Speaker 1>we should just jump into a better no framework don't

22
00:01:27.439 --> 00:01:37.719
<v Speaker 1>you do the thing? All right? Roll the music? All right? Well,

23
00:01:37.719 --> 00:01:41.599
<v Speaker 1>I kind of have gotten into the habit of looking

24
00:01:41.719 --> 00:01:47.760
<v Speaker 1>at trending GitHub repositories and this one came up. It's

25
00:01:47.799 --> 00:01:52.519
<v Speaker 1>called Little Big Mouse. It's an open sourced app designed

26
00:01:52.519 --> 00:01:55.799
<v Speaker 1>to enhance the multi monitor experience on Windows ten and

27
00:01:55.840 --> 00:02:02.560
<v Speaker 1>eleven by providing accurate mouse screen crossover locations within MULTIDPI

28
00:02:02.840 --> 00:02:07.120
<v Speaker 1>monitor environments. Nice particularly useful for setups involving a four

29
00:02:07.239 --> 00:02:11.199
<v Speaker 1>K monitor alongside of you know ten EIGHTP monitor.

30
00:02:10.840 --> 00:02:14.520
<v Speaker 2>The tedap so the scaling thing, the DPI thing happens,

31
00:02:14.520 --> 00:02:15.719
<v Speaker 2>and your mouth goes a little nutty.

32
00:02:15.840 --> 00:02:19.120
<v Speaker 1>Yeah, not just a mouse, but there's a video right

33
00:02:19.159 --> 00:02:23.319
<v Speaker 1>there on the repo and he takes like notepad and

34
00:02:23.360 --> 00:02:27.319
<v Speaker 1>tries to drag it between the two screens. Yeah, and

35
00:02:27.319 --> 00:02:31.199
<v Speaker 1>that's always a not fun experience. But it's pretty good. Yeah,

36
00:02:31.240 --> 00:02:33.479
<v Speaker 1>pretty good stuff. I'm going to use it.

37
00:02:33.520 --> 00:02:36.439
<v Speaker 2>Well, I in this this recording rig, I have a

38
00:02:36.479 --> 00:02:41.120
<v Speaker 2>portrait oriented like fourteen forty screen and then a landscape

39
00:02:41.199 --> 00:02:45.199
<v Speaker 2>oriented curved like thirty eight and dragon between those can

40
00:02:45.240 --> 00:02:48.319
<v Speaker 2>get whacky whacky.

41
00:02:48.560 --> 00:02:50.680
<v Speaker 1>Yeah, So I'm going to download this too because I've

42
00:02:50.719 --> 00:02:52.599
<v Speaker 1>got a few screens and I got a forty nine

43
00:02:53.159 --> 00:02:57.199
<v Speaker 1>insure like you yeah, and a couple other screens. All right,

44
00:02:57.280 --> 00:02:59.439
<v Speaker 1>So that's what I got. Richard, who's talking to us today.

45
00:02:59.439 --> 00:03:02.240
<v Speaker 2>Gray Call Show nineteen o three, the one we did

46
00:03:02.280 --> 00:03:04.080
<v Speaker 2>with our friend Beth Massey when we talked a bit

47
00:03:04.120 --> 00:03:07.159
<v Speaker 2>about Maui and Blazer. Yeah, and got a bunch of

48
00:03:07.159 --> 00:03:09.280
<v Speaker 2>good comments on this show because we had a lot

49
00:03:09.280 --> 00:03:11.960
<v Speaker 2>of fun there. And this comment is from ilfeb who said,

50
00:03:12.280 --> 00:03:15.000
<v Speaker 2>I love your shows. My feeling when hearing all these

51
00:03:15.080 --> 00:03:20.280
<v Speaker 2>UI names like WPF, win UI three, Maui, WebView two

52
00:03:20.599 --> 00:03:24.039
<v Speaker 2>css SX that we devs would love to have not

53
00:03:24.120 --> 00:03:27.159
<v Speaker 2>so many different UI text acts. The fact that still

54
00:03:27.400 --> 00:03:29.719
<v Speaker 2>WPF seems to be the most used dot net UI

55
00:03:29.759 --> 00:03:34.120
<v Speaker 2>framework tells quite a story at Microsoft's dot net UI strategy.

56
00:03:34.120 --> 00:03:39.479
<v Speaker 2>In the past, we're using Avalonia for our cross platform development,

57
00:03:39.639 --> 00:03:43.159
<v Speaker 2>which we've done a show on avalone. We would love

58
00:03:43.199 --> 00:03:44.840
<v Speaker 2>to get such a thing from Microsoft. But now that

59
00:03:44.840 --> 00:03:47.879
<v Speaker 2>Avalonia UI is there, I hope that the current wild

60
00:03:47.960 --> 00:03:50.240
<v Speaker 2>pace of adoption keeps going. So there's two things that

61
00:03:50.319 --> 00:03:55.479
<v Speaker 2>worry me, the current and future quote mess sorry with

62
00:03:55.560 --> 00:03:57.919
<v Speaker 2>dot net UI frameworks, where we could have just one

63
00:03:58.039 --> 00:04:03.039
<v Speaker 2>for desktop, mobile potentially in a cross platform form for Windows, Linux,

64
00:04:03.080 --> 00:04:06.960
<v Speaker 2>Mac os, iOS, Android and the browser and an unclear

65
00:04:07.560 --> 00:04:10.560
<v Speaker 2>platform IDE strategy. I'm very much into vidual Studio, not

66
00:04:10.599 --> 00:04:13.120
<v Speaker 2>at all into VS code. I guess most devs would

67
00:04:13.319 --> 00:04:16.240
<v Speaker 2>want VS twenty twenty eight to be a cross platform IDE.

68
00:04:16.920 --> 00:04:18.360
<v Speaker 2>What are your thoughts on this?

69
00:04:19.040 --> 00:04:20.519
<v Speaker 1>Did you say twenty twenty eight?

70
00:04:21.000 --> 00:04:24.879
<v Speaker 2>Yeah, like the next next version of visual Studio is okay,

71
00:04:25.519 --> 00:04:27.639
<v Speaker 2>I mean to be clear, it skipped over a couple

72
00:04:27.639 --> 00:04:31.560
<v Speaker 2>of years there. Yeah, visual Studio runs exactly on one

73
00:04:31.600 --> 00:04:35.639
<v Speaker 2>platform Windows. There was a Visual Studio for the Mac

74
00:04:35.720 --> 00:04:40.439
<v Speaker 2>which was actually Mono develop. When they got acquired Zamorin

75
00:04:40.639 --> 00:04:43.279
<v Speaker 2>they renamed it, which I thought was an unwise thing

76
00:04:43.279 --> 00:04:46.439
<v Speaker 2>to do, But now they've stopped working on it, so

77
00:04:46.560 --> 00:04:51.319
<v Speaker 2>that's really not a thing. I think your wish is

78
00:04:51.360 --> 00:04:54.720
<v Speaker 2>a good wish. It's also never been achieved by anything.

79
00:04:54.839 --> 00:04:58.800
<v Speaker 2>Right to have desktop mobile, you know, and plus all

80
00:04:58.839 --> 00:05:01.319
<v Speaker 2>of the operating system is that it just works. That

81
00:05:01.360 --> 00:05:07.480
<v Speaker 2>would be awesome. Plazer well and MAUI is obviously, you know,

82
00:05:07.560 --> 00:05:12.079
<v Speaker 2>origins are in zamorin forms, the phones being the sort

83
00:05:12.120 --> 00:05:14.759
<v Speaker 2>of subset that you need to start with and work

84
00:05:14.839 --> 00:05:17.040
<v Speaker 2>out from. But it's really hard to start with that

85
00:05:17.160 --> 00:05:19.319
<v Speaker 2>set and then do a good job on Windows in

86
00:05:19.399 --> 00:05:22.160
<v Speaker 2>mac Os and the and the larger stream platforms. So

87
00:05:22.600 --> 00:05:25.879
<v Speaker 2>I think it's still a story arc here. Maui's intent

88
00:05:26.079 --> 00:05:28.959
<v Speaker 2>was to try and unify all of these things, right,

89
00:05:30.480 --> 00:05:34.480
<v Speaker 2>And yeah, I think what you're feeling, your concerns are reasonable,

90
00:05:34.519 --> 00:05:36.879
<v Speaker 2>because what you're really feeling is that somewhat of a

91
00:05:36.920 --> 00:05:41.120
<v Speaker 2>political struggle going on inside of Microsoft about what folks

92
00:05:41.160 --> 00:05:44.839
<v Speaker 2>want to work on, who's one what where, Like, there's

93
00:05:44.879 --> 00:05:46.319
<v Speaker 2>a lot going on on all of this.

94
00:05:47.360 --> 00:05:50.439
<v Speaker 1>I gotta tell you, I just wrote an app in

95
00:05:50.480 --> 00:05:54.279
<v Speaker 1>Maui for myself because you know, I'm a solo artist

96
00:05:54.360 --> 00:05:58.360
<v Speaker 1>and i play out with my guitar and I've got

97
00:05:58.399 --> 00:06:02.000
<v Speaker 1>sheets of paper, usually with big song lists and some lyrics,

98
00:06:02.040 --> 00:06:03.959
<v Speaker 1>and usually they're like on the floor by the end

99
00:06:03.959 --> 00:06:05.360
<v Speaker 1>of the night. And I was like, you know, I

100
00:06:05.399 --> 00:06:06.600
<v Speaker 1>got an iPad.

101
00:06:06.480 --> 00:06:09.560
<v Speaker 2>Totally normal playlist thing to happen. Yeah, I'm like, I

102
00:06:09.600 --> 00:06:11.879
<v Speaker 2>got an iPad, let's do this. So I went looking

103
00:06:11.920 --> 00:06:13.639
<v Speaker 2>to see if there were apps out there, and there are,

104
00:06:14.000 --> 00:06:16.160
<v Speaker 2>but they want thirty forty bucks a month for a

105
00:06:16.199 --> 00:06:19.240
<v Speaker 2>freaking list a month, yeah or something.

106
00:06:19.360 --> 00:06:21.920
<v Speaker 1>I don't know. They were just expensive, Like I'm not

107
00:06:21.959 --> 00:06:26.959
<v Speaker 1>giving you my money for that stupid thingpad. So anyway,

108
00:06:27.000 --> 00:06:30.839
<v Speaker 1>I wrote an app and it's beautiful. And here's the thing, Like,

109
00:06:31.519 --> 00:06:35.720
<v Speaker 1>my machine is really fast, faster than my iPads, so

110
00:06:36.199 --> 00:06:39.160
<v Speaker 1>I could I put like a dev express HTML editor

111
00:06:39.240 --> 00:06:42.360
<v Speaker 1>in there, and on my machine, I can add songs

112
00:06:42.399 --> 00:06:44.240
<v Speaker 1>and then it add lyrics and stuff, and then I

113
00:06:44.279 --> 00:06:47.199
<v Speaker 1>buzz it over to the iPad and it just reads

114
00:06:47.240 --> 00:06:49.839
<v Speaker 1>the data, you know. And I used it on the

115
00:06:49.839 --> 00:06:53.480
<v Speaker 1>gig last night, nice and it it ran like a shamp.

116
00:06:54.160 --> 00:06:57.800
<v Speaker 1>So I love that whole Blazer hybrid thing because I

117
00:06:57.800 --> 00:07:00.120
<v Speaker 1>could I could take that and run it into browser too.

118
00:07:00.120 --> 00:07:03.000
<v Speaker 2>But I'd also say you were putting it on one

119
00:07:03.079 --> 00:07:04.720
<v Speaker 2>platform an iPad two.

120
00:07:04.639 --> 00:07:07.600
<v Speaker 1>Two, run it out in Windows right on my desktop

121
00:07:07.959 --> 00:07:09.600
<v Speaker 1>and then iPad Yeah.

122
00:07:09.439 --> 00:07:10.319
<v Speaker 2>Okay, legit.

123
00:07:10.519 --> 00:07:13.839
<v Speaker 1>Yeah yeah. I think the Struggle browser's pretty cross platform.

124
00:07:13.920 --> 00:07:16.920
<v Speaker 2>Yeah. The struggle for a unified crossplat story is hard,

125
00:07:17.319 --> 00:07:19.839
<v Speaker 2>and there's always going to be an origin platform that's

126
00:07:19.839 --> 00:07:21.480
<v Speaker 2>going to be strongest, and they're going to battle to

127
00:07:21.480 --> 00:07:24.519
<v Speaker 2>make the other ones good. And you know, folks come

128
00:07:24.560 --> 00:07:26.360
<v Speaker 2>from a lot of different directions, so there's a reason

129
00:07:26.560 --> 00:07:29.439
<v Speaker 2>you're feeling a little concerned I'm glad you're happy with Avalonia.

130
00:07:29.519 --> 00:07:33.040
<v Speaker 2>We thought it was an impressive product. Yep. And maybe

131
00:07:33.040 --> 00:07:34.800
<v Speaker 2>we have to do another show and that's very fair

132
00:07:34.839 --> 00:07:36.920
<v Speaker 2>maybe so ill fab Thank you so much for your comment,

133
00:07:36.959 --> 00:07:38.480
<v Speaker 2>and a copy of music Coba is on its way

134
00:07:38.519 --> 00:07:40.040
<v Speaker 2>to you. And if you'd like a copy of music Cobe,

135
00:07:40.040 --> 00:07:41.720
<v Speaker 2>I write a comment on the website at dot net

136
00:07:41.800 --> 00:07:43.439
<v Speaker 2>rocks dot com or on the Facebook, so we publish

137
00:07:43.439 --> 00:07:45.360
<v Speaker 2>every show there. Maybe you comment there when ever reading

138
00:07:45.399 --> 00:07:47.040
<v Speaker 2>the show, we'll send you a copy of music Goby.

139
00:07:47.160 --> 00:07:48.839
<v Speaker 1>Or if you want to just buy music to code by,

140
00:07:48.959 --> 00:07:51.480
<v Speaker 1>go to music to code by dot net crazy. All right, well,

141
00:07:51.639 --> 00:07:54.439
<v Speaker 1>before we start here, this is episode nineteen twenty five,

142
00:07:54.480 --> 00:07:57.120
<v Speaker 1>and as always I kind of like to run down

143
00:07:57.160 --> 00:08:00.959
<v Speaker 1>a little history. You know, what's your favorite piece of

144
00:08:00.959 --> 00:08:05.079
<v Speaker 1>history from twenty some events? Well, of you know, Mussolini

145
00:08:05.319 --> 00:08:09.360
<v Speaker 1>in January makes a pivotal speech in the Italian Chamber

146
00:08:09.360 --> 00:08:12.160
<v Speaker 1>of Deputies which will be regarded by historians as the

147
00:08:12.199 --> 00:08:17.199
<v Speaker 1>beginning of his dictatorship. Awesome, Yeah, here's a happy note.

148
00:08:17.519 --> 00:08:20.680
<v Speaker 1>January twenty seventh to February first, the nineteen twenty five

149
00:08:20.800 --> 00:08:25.079
<v Speaker 1>serum Run to Nome the Great Race of Mercy relays

150
00:08:25.160 --> 00:08:30.279
<v Speaker 1>diphtheria antitoxin by dog sled across the US territory of

151
00:08:30.279 --> 00:08:32.799
<v Speaker 1>Alaska to combat and epidemic.

152
00:08:33.039 --> 00:08:35.519
<v Speaker 2>How about that they ran the drugs by dogs like

153
00:08:35.639 --> 00:08:38.759
<v Speaker 2>the get by doctors, no other way. Yeah.

154
00:08:38.799 --> 00:08:41.879
<v Speaker 1>March eighteenth, tri State Tornado, the deadliest and US history,

155
00:08:41.960 --> 00:08:45.080
<v Speaker 1>rampages through Missouri, Illinois, and Indiana, killing six hundred and

156
00:08:45.159 --> 00:08:49.039
<v Speaker 1>ninety five people and injuring two thy twenty seven.

157
00:08:49.360 --> 00:08:52.440
<v Speaker 2>That's crazy, but that's before there was ways to warn

158
00:08:52.519 --> 00:08:55.200
<v Speaker 2>folks really, right, Yeah, there's just the sirens.

159
00:08:55.440 --> 00:08:59.200
<v Speaker 1>Yep. So there's more to that. But April tenth, f

160
00:08:59.240 --> 00:09:02.840
<v Speaker 1>Scott fitzg Old publishes The Great Gatsby in New York,

161
00:09:03.519 --> 00:09:07.159
<v Speaker 1>famous famous book. April sixteenth a communists assault on Saint

162
00:09:07.240 --> 00:09:10.840
<v Speaker 1>Nadelia Church claims roughly one hundred and fifty lives in Sofia,

163
00:09:11.120 --> 00:09:13.759
<v Speaker 1>Bulgaria place we have been several times.

164
00:09:13.840 --> 00:09:16.240
<v Speaker 2>Yeah, and at that time was part of the the

165
00:09:16.440 --> 00:09:17.120
<v Speaker 2>Soviet Union.

166
00:09:17.399 --> 00:09:22.120
<v Speaker 1>Yeah. June thirteenth, American engineer Charles Francis Jenkins achieves the

167
00:09:22.159 --> 00:09:27.080
<v Speaker 1>first synchronized transmissions of pictures and sound using forty eight

168
00:09:27.159 --> 00:09:31.000
<v Speaker 1>lines and a mechanical system in the quote first public

169
00:09:31.159 --> 00:09:35.519
<v Speaker 1>demonstration of radio Vision Nice Radio forty eight P.

170
00:09:37.120 --> 00:09:41.720
<v Speaker 2>Yeah for eighty P. Forty eight P.

171
00:09:43.320 --> 00:09:47.759
<v Speaker 1>July the Scopes trial right. In this stage test case

172
00:09:47.799 --> 00:09:51.399
<v Speaker 1>the Monkey trial in Dayton, Tennessee. John T. Scopes, a

173
00:09:51.440 --> 00:09:54.960
<v Speaker 1>young high school science teacher technically arrested on May fifth

174
00:09:54.960 --> 00:09:57.919
<v Speaker 1>and indicted on May twenty fifth, is accused it was

175
00:09:58.000 --> 00:10:02.519
<v Speaker 1>signing a reading from a date mandated textbook on Darwinian

176
00:10:02.559 --> 00:10:08.159
<v Speaker 1>evolution in violation of a Tennessee state law, the Butler Act.

177
00:10:08.399 --> 00:10:11.480
<v Speaker 1>He has found guilty and fined one hundred dollars through

178
00:10:11.519 --> 00:10:15.679
<v Speaker 1>the verdict, though the verdict is later overturned on a technicality.

179
00:10:16.200 --> 00:10:21.840
<v Speaker 1>The trial makes explicit the fundamentalist slash modernist controversy within

180
00:10:21.919 --> 00:10:24.559
<v Speaker 1>the Presbyterian Church in the United States of America, with

181
00:10:24.639 --> 00:10:27.440
<v Speaker 1>William Jennings Bryan, who dies on July twenty sixth, being

182
00:10:27.519 --> 00:10:31.559
<v Speaker 1>challenged by the liberal Clarence Darrow. All right, I swear

183
00:10:31.559 --> 00:10:32.919
<v Speaker 1>to God, I'm not going to go through all these

184
00:10:32.960 --> 00:10:38.600
<v Speaker 1>but July eighteenth, Adolf Hitler publishes minekompf. August eighth, the

185
00:10:38.720 --> 00:10:42.639
<v Speaker 1>Ku Klux Klan demonstrates its popularity by holding a parade

186
00:10:42.679 --> 00:10:45.879
<v Speaker 1>with an estimated thirty five thousand marchers in Washington, d c.

187
00:10:47.399 --> 00:10:51.480
<v Speaker 1>August thirty first, Margaret Mee, anthropologist, lands in American Samoa

188
00:10:51.519 --> 00:10:54.240
<v Speaker 1>to begin nine months of field work that'll accumulate in

189
00:10:54.279 --> 00:10:57.399
<v Speaker 1>her nineteen twenty eight book, Coming of Age and Samoa.

190
00:10:57.840 --> 00:11:01.559
<v Speaker 1>This best selling book will become the first popular anthropological

191
00:11:01.720 --> 00:11:06.759
<v Speaker 1>study and will change many attitudes toward tribal peoples. The

192
00:11:06.840 --> 00:11:12.879
<v Speaker 1>Locano Treaties negotiated October fifth through sixteenth, and signed in

193
00:11:12.919 --> 00:11:17.919
<v Speaker 1>London December first. Very you know, getting ready for World

194
00:11:18.000 --> 00:11:22.399
<v Speaker 1>War Two? Here the Grand Old Operay November twenty eighth,

195
00:11:22.840 --> 00:11:26.919
<v Speaker 1>first broadcast on WSM Radio and Nashville, Tennessee as the

196
00:11:27.080 --> 00:11:31.519
<v Speaker 1>WSM Barn Dance. Oh yeah, so it was an interesting year.

197
00:11:31.559 --> 00:11:32.399
<v Speaker 1>Do you have anything to add?

198
00:11:32.519 --> 00:11:35.919
<v Speaker 2>Yeah, Hitler's out of prison, publishes Mind Camp, reforms the

199
00:11:36.000 --> 00:11:39.919
<v Speaker 2>Nazi Party, and creates the SS all in the same year. Yeah,

200
00:11:40.200 --> 00:11:41.840
<v Speaker 2>guess which way we're going? Friends?

201
00:11:42.639 --> 00:11:43.039
<v Speaker 1>Mmm?

202
00:11:43.360 --> 00:11:45.919
<v Speaker 2>Right? Like, just like that, He's he's right back on

203
00:11:45.960 --> 00:11:48.759
<v Speaker 2>the mission. Nine months in prison didn't seem to dissuade

204
00:11:48.840 --> 00:11:52.240
<v Speaker 2>him much after the Beer Hall push.

205
00:11:52.320 --> 00:11:54.279
<v Speaker 1>So you're saying he was a convicted felon.

206
00:11:54.600 --> 00:11:58.320
<v Speaker 2>He was, actually, but it apparently let out. I mean,

207
00:11:58.360 --> 00:12:01.559
<v Speaker 2>it was a five year sentence. The only served nine months. Yeah,

208
00:12:01.600 --> 00:12:03.879
<v Speaker 2>I know how you pull that off. It's a friends

209
00:12:03.879 --> 00:12:05.879
<v Speaker 2>and good behavior because he's busy writing a.

210
00:12:05.799 --> 00:12:07.279
<v Speaker 1>Book friends in high places.

211
00:12:07.320 --> 00:12:09.480
<v Speaker 2>I guess something. I don't think he had any.

212
00:12:09.360 --> 00:12:12.639
<v Speaker 1>Actually, Okay, now for that, let's bring on our guest.

213
00:12:12.879 --> 00:12:16.159
<v Speaker 1>Glenn Condren as a program manager on the Application Platform

214
00:12:16.159 --> 00:12:18.720
<v Speaker 1>Team at Microsoft, where he spends most of his time

215
00:12:18.759 --> 00:12:22.279
<v Speaker 1>working on the asp net core runtime. Before becoming a PM,

216
00:12:22.360 --> 00:12:25.600
<v Speaker 1>he was software developer and consultant for eight years. His

217
00:12:25.720 --> 00:12:30.799
<v Speaker 1>work before Microsoft was primarily for Australian government clients. Welcome, Glenn, Hi,

218
00:12:31.440 --> 00:12:34.519
<v Speaker 1>how are you doing. We're good, doing great, excellent, glad

219
00:12:34.519 --> 00:12:37.080
<v Speaker 1>to have you. You guys have been busy.

220
00:12:37.200 --> 00:12:43.399
<v Speaker 3>Yeah, indeed, I guess my updating of my bio I

221
00:12:43.440 --> 00:12:46.440
<v Speaker 3>suppose because I probably haven't done it for a while.

222
00:12:47.919 --> 00:12:51.879
<v Speaker 3>I am now the lead of the Platform Team pmteam,

223
00:12:52.279 --> 00:12:59.080
<v Speaker 3>which means that almost everything that's not tooling and MAUI right,

224
00:12:59.200 --> 00:13:03.000
<v Speaker 3>all those pms. Okay, so yeah, that's that's.

225
00:13:02.759 --> 00:13:06.360
<v Speaker 2>So all the heart of dart net, not not the language,

226
00:13:06.399 --> 00:13:07.759
<v Speaker 2>the framework.

227
00:13:07.799 --> 00:13:11.840
<v Speaker 3>And I have very recently including the language. Well, Mad's

228
00:13:11.840 --> 00:13:14.480
<v Speaker 3>Tubison also wants to be but like he's bad, so

229
00:13:14.480 --> 00:13:16.960
<v Speaker 3>I don't. Actually, I don't have actually influence bads at all.

230
00:13:17.000 --> 00:13:21.080
<v Speaker 3>He's bad, and the Language Design committed and the Language

231
00:13:21.080 --> 00:13:22.879
<v Speaker 3>Design Meeting does its thing, and all those people that

232
00:13:22.919 --> 00:13:26.200
<v Speaker 3>don't pretend to influence it anyway, but technically reports you.

233
00:13:26.240 --> 00:13:30.399
<v Speaker 2>And Mads have a conversation periodically. We do. Yeah, Yeah,

234
00:13:30.480 --> 00:13:30.960
<v Speaker 2>it's great.

235
00:13:31.879 --> 00:13:34.480
<v Speaker 3>Yeah, So yeah, that's my that's my part of the world,

236
00:13:35.639 --> 00:13:38.120
<v Speaker 3>which means this kind of release we're here to talk

237
00:13:38.159 --> 00:13:40.360
<v Speaker 3>about don N nine. It's been a lot of for me.

238
00:13:40.440 --> 00:13:42.879
<v Speaker 3>It's been a lot of aspire, especially because it grows out,

239
00:13:42.919 --> 00:13:45.159
<v Speaker 3>that grows out of what I was doing before I

240
00:13:45.159 --> 00:13:49.879
<v Speaker 3>started moving into I am now lots of aspire, lots

241
00:13:49.919 --> 00:13:54.919
<v Speaker 3>of lots of kind of AI. That's just kind of

242
00:13:54.919 --> 00:13:58.720
<v Speaker 3>two halves of AI for us. It is AI for

243
00:13:59.159 --> 00:14:04.279
<v Speaker 3>you and and US as devs like co pilots and friends.

244
00:14:04.279 --> 00:14:07.039
<v Speaker 3>AI for code, and then there's AI for how am

245
00:14:07.080 --> 00:14:09.559
<v Speaker 3>I going to How am I? You know, my boss

246
00:14:09.559 --> 00:14:11.519
<v Speaker 3>has said he wants a chatbod. How do I make

247
00:14:11.559 --> 00:14:15.360
<v Speaker 3>it real? Or how do I integrate AI into my apps?

248
00:14:15.399 --> 00:14:18.360
<v Speaker 3>And that's that bit is more where where I play?

249
00:14:18.360 --> 00:14:22.240
<v Speaker 3>Because now you need libraries, you need SDKs, you need experiences.

250
00:14:22.279 --> 00:14:25.039
<v Speaker 3>How are you going to talk to the l l M.

251
00:14:25.120 --> 00:14:27.320
<v Speaker 3>How are you going to do generatly? BAYI right, how

252
00:14:27.360 --> 00:14:28.919
<v Speaker 3>are you going to make it work? We got lots

253
00:14:28.919 --> 00:14:31.080
<v Speaker 3>of samples to do, lots of partners, lots of lots

254
00:14:31.120 --> 00:14:36.000
<v Speaker 3>of work, and then our forever goals right security, quality performance.

255
00:14:35.840 --> 00:14:40.679
<v Speaker 1>Right, Yeah, security a big one. I know. We talked

256
00:14:40.679 --> 00:14:43.240
<v Speaker 1>to Dan Roth a few weeks ago and he was

257
00:14:43.240 --> 00:14:46.519
<v Speaker 1>mostly focused on Blazer in the changes to Blazer, but

258
00:14:46.559 --> 00:14:49.120
<v Speaker 1>we thought we would get some more breadth about dot

259
00:14:49.159 --> 00:14:55.000
<v Speaker 1>net nine with you. So we know about Blazer. What

260
00:14:55.080 --> 00:14:58.080
<v Speaker 1>are some of the other big wins in dot net

261
00:14:58.159 --> 00:14:59.159
<v Speaker 1>nine over dot net eight?

262
00:15:00.279 --> 00:15:04.879
<v Speaker 3>Let's see, so lots. We've continued our PERF journey. I

263
00:15:04.919 --> 00:15:07.720
<v Speaker 3>don't know, I'm sorry, not PERF. I mean, yes, we've

264
00:15:07.720 --> 00:15:09.840
<v Speaker 3>continued our PERF journey. But the thing that I was

265
00:15:09.879 --> 00:15:12.919
<v Speaker 3>going to say was in don at eight we talked

266
00:15:12.919 --> 00:15:15.039
<v Speaker 3>about I believe it was in eight, maybe even have

267
00:15:15.080 --> 00:15:17.240
<v Speaker 3>been as early as seven. But for many years now

268
00:15:17.279 --> 00:15:21.039
<v Speaker 3>we've been on this steady march with Native aot. As

269
00:15:21.120 --> 00:15:24.120
<v Speaker 3>we kind of keep giving you this, more and more

270
00:15:24.200 --> 00:15:27.039
<v Speaker 3>of the stack becomes kind of aoteable. We made another

271
00:15:27.559 --> 00:15:30.759
<v Speaker 3>good ahead of time step ahead. Yeah, that's ahead of time. Compilation.

272
00:15:30.919 --> 00:15:34.320
<v Speaker 3>That's kind of compiling hardest for lack of a pretteric description,

273
00:15:35.120 --> 00:15:38.039
<v Speaker 3>get pilot to native and what that gives you is,

274
00:15:38.120 --> 00:15:41.440
<v Speaker 3>you know, better cold start times maybe and things like

275
00:15:41.480 --> 00:15:43.799
<v Speaker 3>that because there's no JGIT, right, and what what it

276
00:15:43.840 --> 00:15:45.399
<v Speaker 3>takes away is dynamicism.

277
00:15:45.480 --> 00:15:45.639
<v Speaker 1>Right.

278
00:15:46.000 --> 00:15:48.519
<v Speaker 3>So if you're in that world, especially if you're in

279
00:15:48.600 --> 00:15:51.799
<v Speaker 3>like I have a small service and I don't need

280
00:15:51.840 --> 00:15:55.120
<v Speaker 3>any of the kind of runtime, kind of dynamic runtime

281
00:15:55.159 --> 00:15:57.799
<v Speaker 3>features that that are difficult in a full in an

282
00:15:57.840 --> 00:16:01.120
<v Speaker 3>AOT world, then you might want that extra cod start time,

283
00:16:01.480 --> 00:16:04.039
<v Speaker 3>container container on a cluster, right, So we made more

284
00:16:04.120 --> 00:16:08.000
<v Speaker 3>roads towards that we've made. There's some stuff in the GC.

285
00:16:08.240 --> 00:16:12.919
<v Speaker 3>There's the new like dynamic adaptive GC mode for server GC.

286
00:16:13.639 --> 00:16:17.960
<v Speaker 3>There is garbage and garbage collection, all all in support

287
00:16:18.000 --> 00:16:20.639
<v Speaker 3>of cloud and building these new workloads in these new

288
00:16:20.639 --> 00:16:21.799
<v Speaker 3>ways people are using.

289
00:16:22.879 --> 00:16:23.039
<v Speaker 1>Right.

290
00:16:24.360 --> 00:16:27.600
<v Speaker 3>Aspire was a kind of big lift that we kind

291
00:16:27.639 --> 00:16:29.360
<v Speaker 3>of talked about at the end of don at eight

292
00:16:30.559 --> 00:16:32.679
<v Speaker 3>at dot net Confin do at eight, I did the talk.

293
00:16:32.759 --> 00:16:34.519
<v Speaker 3>I did a talk there with Feler and then I

294
00:16:34.519 --> 00:16:36.279
<v Speaker 3>think you've had Fouler on to talk about it and

295
00:16:36.320 --> 00:16:40.159
<v Speaker 3>some people, right, yeah.

296
00:16:39.440 --> 00:16:45.559
<v Speaker 2>Sure, and Hunter and yeah, yeah, so they even talked

297
00:16:45.600 --> 00:16:46.639
<v Speaker 2>about Aspire, right.

298
00:16:46.759 --> 00:16:49.480
<v Speaker 3>So that shows you the kind of broad thing about

299
00:16:49.480 --> 00:16:51.720
<v Speaker 3>Aspire is how many things needed to change.

300
00:16:51.960 --> 00:16:54.200
<v Speaker 2>Yeah, I mean, but I think of it as tooling.

301
00:16:54.399 --> 00:16:56.159
<v Speaker 2>You're saying it's in the framework too.

302
00:16:56.519 --> 00:17:01.200
<v Speaker 3>Yes, because Aspire is kind of it. It actually crosses

303
00:17:01.320 --> 00:17:03.679
<v Speaker 3>almost the entire intersection of the team, Like it doesn't

304
00:17:03.679 --> 00:17:07.200
<v Speaker 3>impact the language, but it impacts almost everything else. Right.

305
00:17:07.279 --> 00:17:10.480
<v Speaker 3>So you have tooling, yes, because you have the dashboard

306
00:17:10.640 --> 00:17:12.680
<v Speaker 3>to give you all your metrics, to give you a hotel,

307
00:17:12.759 --> 00:17:15.400
<v Speaker 3>to give you that dev focused what's going on in

308
00:17:15.400 --> 00:17:20.160
<v Speaker 3>my app right now? Right? Then you have integrations. So

309
00:17:20.240 --> 00:17:23.640
<v Speaker 3>integrations were Newgate packages. Their library is the same as

310
00:17:23.640 --> 00:17:25.279
<v Speaker 3>all the other things that I build on my team

311
00:17:25.279 --> 00:17:29.000
<v Speaker 3>are libraries, right, but they are configured by the out

312
00:17:29.039 --> 00:17:31.920
<v Speaker 3>of the box to assume that you're in this world.

313
00:17:32.000 --> 00:17:34.599
<v Speaker 3>You're using cloud stuff. Stuff might be unreliable.

314
00:17:34.839 --> 00:17:35.000
<v Speaker 1>Right.

315
00:17:35.880 --> 00:17:38.440
<v Speaker 3>We did work in Polly, for example, at the beginning

316
00:17:38.480 --> 00:17:41.160
<v Speaker 3>of doing a spire to make to improve to help

317
00:17:41.200 --> 00:17:43.599
<v Speaker 3>improve its perth. Right, Like, we've contributed a lot into

318
00:17:43.640 --> 00:17:46.400
<v Speaker 3>the poly project that was kind of under this umbrella

319
00:17:46.519 --> 00:17:50.559
<v Speaker 3>of building this Aspire project. It's gone from elements and

320
00:17:50.759 --> 00:17:54.319
<v Speaker 3>ingredients of a stack poly is faster. We've got a

321
00:17:54.359 --> 00:17:57.759
<v Speaker 3>reduction thing. We've got this ability to you know, we

322
00:17:57.839 --> 00:18:01.480
<v Speaker 3>have baked re tries and such in fast better all

323
00:18:01.519 --> 00:18:05.000
<v Speaker 3>these ingredients. Then you start stacking them together and stacking

324
00:18:05.039 --> 00:18:06.839
<v Speaker 3>them together and stacking them together until you've got a

325
00:18:06.880 --> 00:18:10.519
<v Speaker 3>stack right right, and so now you've got Now you've

326
00:18:10.519 --> 00:18:12.759
<v Speaker 3>got libraries that make it easier to get you know,

327
00:18:12.799 --> 00:18:14.599
<v Speaker 3>I want to talk to reddis but I need retry.

328
00:18:14.640 --> 00:18:16.599
<v Speaker 3>I need a good default retry policy. I need to

329
00:18:16.599 --> 00:18:18.680
<v Speaker 3>make sure it's configured with in di I properly, with

330
00:18:18.720 --> 00:18:21.880
<v Speaker 3>the right lifetime. Is the Reddest client thread safe?

331
00:18:21.920 --> 00:18:22.279
<v Speaker 1>I don't know.

332
00:18:22.440 --> 00:18:24.039
<v Speaker 3>Is it supposed to be a singleton or not? I

333
00:18:24.079 --> 00:18:25.559
<v Speaker 3>got no idea. I'm I could do it.

334
00:18:25.559 --> 00:18:28.960
<v Speaker 1>You know, DDI, can you define that.

335
00:18:29.599 --> 00:18:33.920
<v Speaker 3>DI I so dependency d SO. If I describe this out,

336
00:18:34.000 --> 00:18:35.839
<v Speaker 3>if I pull this out into a list for you,

337
00:18:35.880 --> 00:18:37.559
<v Speaker 3>if let's say you're going to use raddis, this is

338
00:18:37.759 --> 00:18:39.559
<v Speaker 3>This is our kind of favorite example, and this was

339
00:18:39.599 --> 00:18:44.200
<v Speaker 3>part of our genesis when we were creating what is

340
00:18:44.240 --> 00:18:45.160
<v Speaker 3>a spy going to be?

341
00:18:45.359 --> 00:18:45.920
<v Speaker 2>When we were.

342
00:18:45.839 --> 00:18:49.000
<v Speaker 3>Giving this pitch, we had this slide, and on that

343
00:18:49.079 --> 00:18:51.240
<v Speaker 3>slide it said, if you're going to use Reddus today

344
00:18:51.359 --> 00:18:53.920
<v Speaker 3>in the modern cloud. This is what you have to do,

345
00:18:54.519 --> 00:18:56.119
<v Speaker 3>and it was fifteen steps long.

346
00:18:56.559 --> 00:19:01.960
<v Speaker 2>Right configuration, setting all of the settings, right, security parameters exactly,

347
00:19:02.039 --> 00:19:02.400
<v Speaker 2>you need.

348
00:19:02.319 --> 00:19:04.359
<v Speaker 3>To add the right to add you need to add

349
00:19:04.359 --> 00:19:06.039
<v Speaker 3>the new get package. Right, you got to find the

350
00:19:06.079 --> 00:19:08.720
<v Speaker 3>right one. You have to add it to dependency injection

351
00:19:08.839 --> 00:19:12.039
<v Speaker 3>in your like server app. What is the lifetime? Don't know?

352
00:19:12.279 --> 00:19:13.880
<v Speaker 3>You have to go read the docs make sure you've

353
00:19:13.880 --> 00:19:15.759
<v Speaker 3>got the right one because if the thing, you know,

354
00:19:15.839 --> 00:19:17.359
<v Speaker 3>can it be a singleton or not? Is the main

355
00:19:17.440 --> 00:19:19.160
<v Speaker 3>decision point? Right, I'm going to have it to di

356
00:19:20.240 --> 00:19:22.200
<v Speaker 3>is it logging properly? Is it going to go into

357
00:19:22.200 --> 00:19:24.079
<v Speaker 3>my logstream? How do I do that? When we started

358
00:19:24.119 --> 00:19:26.039
<v Speaker 3>this effort, that was a shim that you had to

359
00:19:26.079 --> 00:19:29.160
<v Speaker 3>do that you had to go learn that significantly like

360
00:19:29.279 --> 00:19:32.000
<v Speaker 3>improved now, right, then how do I consume it in

361
00:19:32.039 --> 00:19:34.799
<v Speaker 3>my in my controller or in my function? And then

362
00:19:34.920 --> 00:19:37.640
<v Speaker 3>like is the what is the resiliency policy? Is that

363
00:19:37.720 --> 00:19:39.839
<v Speaker 3>turned on? If reddis is a little bit flaky one

364
00:19:39.920 --> 00:19:41.960
<v Speaker 3>day or if something happens, is it going to recover?

365
00:19:42.519 --> 00:19:43.839
<v Speaker 3>Like it just kept.

366
00:19:43.559 --> 00:19:45.799
<v Speaker 1>Going right, it goes everywhere and.

367
00:19:45.720 --> 00:19:48.839
<v Speaker 3>What we want, Yeah, understand it almost becomes viral, and

368
00:19:48.880 --> 00:19:52.440
<v Speaker 3>so the intent was, how do you collapse that into

369
00:19:52.559 --> 00:19:54.519
<v Speaker 3>just add reddis and for the love of God, give

370
00:19:54.559 --> 00:19:56.559
<v Speaker 3>me some give me a really make it work with

371
00:19:56.640 --> 00:19:58.200
<v Speaker 3>all those things that we just described, so.

372
00:19:58.200 --> 00:19:59.680
<v Speaker 2>Well, just give me the settings that would make me

373
00:19:59.720 --> 00:20:02.640
<v Speaker 2>happy be in the cloud, absolutely right, because the bigger

374
00:20:02.680 --> 00:20:04.759
<v Speaker 2>thing here is going, hey, what if we did elastic

375
00:20:04.839 --> 00:20:07.160
<v Speaker 2>instead and just being able to switch it, like if

376
00:20:07.200 --> 00:20:09.720
<v Speaker 2>you actually got Redus running right, you'd literally go okay,

377
00:20:09.759 --> 00:20:12.119
<v Speaker 2>don't touch it. Yeah it's working right now?

378
00:20:12.240 --> 00:20:13.400
<v Speaker 3>Yeah, exactly right.

379
00:20:13.559 --> 00:20:16.440
<v Speaker 1>Well, that brings up another point, which is if you

380
00:20:17.319 --> 00:20:20.519
<v Speaker 1>start with Aspire, right, and you do all the things

381
00:20:20.599 --> 00:20:22.960
<v Speaker 1>and you pull all the switches and everything, you add reddis,

382
00:20:25.000 --> 00:20:28.440
<v Speaker 1>do you give up the whole idea of adding things

383
00:20:28.440 --> 00:20:32.559
<v Speaker 1>manually after Aspire? Like do you always have to go

384
00:20:32.640 --> 00:20:37.119
<v Speaker 1>through the Aspire thing to add things so that you

385
00:20:37.160 --> 00:20:39.599
<v Speaker 1>don't disturb? Right? I mean, if you're going to add

386
00:20:39.640 --> 00:20:43.079
<v Speaker 1>another service, can you just add a service and we'll

387
00:20:43.079 --> 00:20:45.200
<v Speaker 1>add all the Aspire stuff follow.

388
00:20:45.039 --> 00:20:47.759
<v Speaker 3>Yeah, absolutely so I think what you're talking about is

389
00:20:47.960 --> 00:20:50.799
<v Speaker 3>like add Aspire integration, like gesture in tooling.

390
00:20:50.960 --> 00:20:53.680
<v Speaker 1>Well, even if you start with Aspire, but you know,

391
00:20:53.960 --> 00:20:59.319
<v Speaker 1>we have many years of manual configuration experience. And that's

392
00:20:59.359 --> 00:21:02.400
<v Speaker 1>where we go. Oh, right, as developers, I see, do

393
00:21:02.480 --> 00:21:06.119
<v Speaker 1>we now have to put that aside and before we

394
00:21:06.160 --> 00:21:10.240
<v Speaker 1>add to it or expand our application or applications, do

395
00:21:10.319 --> 00:21:13.599
<v Speaker 1>we now look for the Aspire way to do things?

396
00:21:13.839 --> 00:21:17.200
<v Speaker 3>I mean, I hope, I hope that the Aspire way

397
00:21:17.400 --> 00:21:20.880
<v Speaker 3>means that you can delete some code. And therefore I'm

398
00:21:20.880 --> 00:21:23.200
<v Speaker 3>always supportive of you being out of delete code if

399
00:21:23.200 --> 00:21:24.880
<v Speaker 3>you if that you don't care about, or that you

400
00:21:24.880 --> 00:21:28.759
<v Speaker 3>don't need to worry about, right, so that maybe, but no,

401
00:21:28.839 --> 00:21:31.640
<v Speaker 3>it's not not required for you to go and change

402
00:21:31.640 --> 00:21:32.640
<v Speaker 3>the way that you do things.

403
00:21:32.759 --> 00:21:37.839
<v Speaker 1>Right, So there isn't any risk of doing something that

404
00:21:37.920 --> 00:21:41.079
<v Speaker 1>conflicts with what I've set up and aspired that maybe

405
00:21:41.119 --> 00:21:42.920
<v Speaker 1>I don't even understand, like all that stuff that you

406
00:21:42.960 --> 00:21:44.000
<v Speaker 1>said about reddits.

407
00:21:44.279 --> 00:21:48.599
<v Speaker 3>No, So the largest risk is probably that you add

408
00:21:48.599 --> 00:21:51.039
<v Speaker 3>a redes say and we built in and like say,

409
00:21:51.119 --> 00:21:56.559
<v Speaker 3>reach a particular set of policies with poly YEP poly policies,

410
00:21:57.039 --> 00:21:59.319
<v Speaker 3>and then you've wrapped them in your own and now

411
00:21:59.319 --> 00:22:02.279
<v Speaker 3>you've got a double layer of retries or something like that.

412
00:22:02.400 --> 00:22:06.079
<v Speaker 1>Actually that happened to a customer of mine that we

413
00:22:06.599 --> 00:22:09.400
<v Speaker 1>went out and tried to add Aspire to we already

414
00:22:09.400 --> 00:22:10.519
<v Speaker 1>had partly, right.

415
00:22:10.440 --> 00:22:12.559
<v Speaker 3>Yeah, And so that's probably the biggest risk is you

416
00:22:12.599 --> 00:22:15.000
<v Speaker 3>didn't realize that the client you're getting now is already

417
00:22:15.039 --> 00:22:17.240
<v Speaker 3>retrying and doing all that for you, and therefore you're

418
00:22:17.240 --> 00:22:19.759
<v Speaker 3>doing your own logic for it. That's probably the biggest risk.

419
00:22:20.640 --> 00:22:21.759
<v Speaker 1>Yeah, yeah, But.

420
00:22:21.799 --> 00:22:25.880
<v Speaker 3>Ultimately, like you know, I heard this thing as part

421
00:22:25.920 --> 00:22:27.759
<v Speaker 3>of me like being oh, yeah, let me make sure

422
00:22:27.759 --> 00:22:29.319
<v Speaker 3>I remember what dot net rox is all about. And

423
00:22:29.359 --> 00:22:34.559
<v Speaker 3>I listened to Chris Bluke, my befriend Chris. He was

424
00:22:34.640 --> 00:22:36.759
<v Speaker 3>talking about he talked to you about how he like,

425
00:22:36.759 --> 00:22:39.119
<v Speaker 3>you wouldn't want to be a developer today because of

426
00:22:39.160 --> 00:22:40.079
<v Speaker 3>all these things to learn.

427
00:22:40.119 --> 00:22:40.920
<v Speaker 1>You would want to start.

428
00:22:41.000 --> 00:22:42.559
<v Speaker 3>You wouldn't want to start, You wouldn't want to be

429
00:22:42.599 --> 00:22:45.440
<v Speaker 3>getting You wouldn't like you couldn't imagine how overwhelming it

430
00:22:45.519 --> 00:22:48.119
<v Speaker 3>must be day one showing up and then them saying cool,

431
00:22:48.160 --> 00:22:51.960
<v Speaker 3>you're building this kind of app. Right, So what I

432
00:22:51.960 --> 00:22:56.359
<v Speaker 3>would ultimately, what I'm trying to achieve within Aspire is

433
00:22:56.880 --> 00:22:59.519
<v Speaker 3>today I would say that the learning curve for how

434
00:22:59.559 --> 00:23:01.920
<v Speaker 3>to build a current app is like logarrhythmic. It goes

435
00:23:01.960 --> 00:23:05.200
<v Speaker 3>like straight up and then it starts to even out right,

436
00:23:06.160 --> 00:23:08.200
<v Speaker 3>and you want want to make a linear like you

437
00:23:08.240 --> 00:23:10.519
<v Speaker 3>slowly learn more and more bits and you can make

438
00:23:10.559 --> 00:23:14.000
<v Speaker 3>it in you again, can we flatten this curve of

439
00:23:14.079 --> 00:23:17.480
<v Speaker 3>what how much you need to learn to be productive

440
00:23:17.480 --> 00:23:19.920
<v Speaker 3>and to get something that works and can work for

441
00:23:20.000 --> 00:23:23.599
<v Speaker 3>real with real internet traffic hitting it and not like fall.

442
00:23:23.359 --> 00:23:25.359
<v Speaker 1>Over and can be maintained and can.

443
00:23:25.279 --> 00:23:29.079
<v Speaker 3>Be maintained right, because today it's just this mass. It's

444
00:23:29.319 --> 00:23:31.759
<v Speaker 3>very very hard, right, and so there's a bunch of

445
00:23:31.799 --> 00:23:33.119
<v Speaker 3>interesting challenges.

446
00:23:32.720 --> 00:23:35.160
<v Speaker 2>Because it's not that tough to toss an app service

447
00:23:35.240 --> 00:23:37.440
<v Speaker 2>up and get it to run. Yeah, that's right, But

448
00:23:37.519 --> 00:23:40.119
<v Speaker 2>you haven't done a lot of things at that point.

449
00:23:40.319 --> 00:23:42.519
<v Speaker 3>No, that's right. Yeah, And if you were, and if

450
00:23:42.519 --> 00:23:44.599
<v Speaker 3>you're good with building that kind of app where it's

451
00:23:44.599 --> 00:23:47.400
<v Speaker 3>a kind of app service talking to a database, Spire

452
00:23:47.480 --> 00:23:49.319
<v Speaker 3>is still useful in that world in that it makes

453
00:23:49.359 --> 00:23:51.039
<v Speaker 3>it easy to spin up the database every time you

454
00:23:51.079 --> 00:23:53.759
<v Speaker 3>press F five and stuff like that. But then it's

455
00:23:53.839 --> 00:23:56.200
<v Speaker 3>mostly useful when now when you've got to have you've

456
00:23:56.240 --> 00:23:58.400
<v Speaker 3>got three or four backing APIs or a couple of

457
00:23:58.400 --> 00:24:01.119
<v Speaker 3>functions and an API and a data and then you

458
00:24:01.240 --> 00:24:03.359
<v Speaker 3>start to stretch the realms of what app service is

459
00:24:03.440 --> 00:24:05.759
<v Speaker 3>kind of really built for that in that world, right

460
00:24:07.359 --> 00:24:10.640
<v Speaker 3>the that's so that's that's what that gets. So yeah,

461
00:24:10.680 --> 00:24:13.480
<v Speaker 3>flattening that curve is super super important to us. Like

462
00:24:14.799 --> 00:24:18.000
<v Speaker 3>one of the customer calls that I did leading into

463
00:24:18.079 --> 00:24:21.200
<v Speaker 3>with Spire, I was talking to this engineering lead and

464
00:24:21.240 --> 00:24:24.000
<v Speaker 3>he said, we said one of the questions we would

465
00:24:24.039 --> 00:24:26.039
<v Speaker 3>ask in our standard script, because we're trying to ask

466
00:24:26.079 --> 00:24:29.480
<v Speaker 3>a consistent set of questions, was what's keeping you up

467
00:24:29.519 --> 00:24:31.759
<v Speaker 3>at night? Because I'm looking for the I'm looking for

468
00:24:31.799 --> 00:24:33.759
<v Speaker 3>the answer to that question because if there's something keeping

469
00:24:33.759 --> 00:24:36.240
<v Speaker 3>you up at night, I can try and solve it right.

470
00:24:37.039 --> 00:24:40.440
<v Speaker 3>And his answer was, I don't know if I'm putting

471
00:24:40.480 --> 00:24:41.680
<v Speaker 3>the lego together properly.

472
00:24:42.000 --> 00:24:43.559
<v Speaker 2>Mm hmmm, it's a good one.

473
00:24:43.880 --> 00:24:47.519
<v Speaker 3>I'm my app is built on like a pyramid of

474
00:24:47.559 --> 00:24:51.920
<v Speaker 3>newgat packages, and I know that it works, it runs,

475
00:24:52.319 --> 00:24:54.799
<v Speaker 3>But are these two supposed to go together? Have I

476
00:24:54.799 --> 00:24:58.960
<v Speaker 3>configured this word properly? Like there's so much exercise left

477
00:24:59.000 --> 00:25:01.680
<v Speaker 3>to me that I am terror that tomorrow my thing

478
00:25:01.720 --> 00:25:04.839
<v Speaker 3>will come crashing down, And I don't really know if

479
00:25:05.119 --> 00:25:07.279
<v Speaker 3>it's quite possible I put two things together that aren't

480
00:25:07.279 --> 00:25:09.759
<v Speaker 3>supposed to go to get to your question, about Aspire

481
00:25:09.799 --> 00:25:12.160
<v Speaker 3>working with other things that I've done, and that's going

482
00:25:12.200 --> 00:25:14.400
<v Speaker 3>to cause me something that causes the world to fall apart.

483
00:25:15.200 --> 00:25:17.960
<v Speaker 3>And so ultimately you're trying to make it so that

484
00:25:17.960 --> 00:25:20.160
<v Speaker 3>that person can go to sleep at night and be like,

485
00:25:20.200 --> 00:25:22.240
<v Speaker 3>I'm pretty confident, I'm good. I used all the things

486
00:25:22.240 --> 00:25:24.079
<v Speaker 3>that they said would work that are kind of proven

487
00:25:24.119 --> 00:25:28.160
<v Speaker 3>based upon this community and ecosystem of Aspire people building

488
00:25:28.200 --> 00:25:30.119
<v Speaker 3>stuff to make it so that I can be more

489
00:25:30.160 --> 00:25:33.079
<v Speaker 3>confident that I haven't made that mistake, right, And that's

490
00:25:33.079 --> 00:25:39.960
<v Speaker 3>why in the nine keynote, I assume this comes hopefully

491
00:25:40.000 --> 00:25:44.640
<v Speaker 3>this comes out after the keynote. Like, what we've seen

492
00:25:44.960 --> 00:25:47.680
<v Speaker 3>is this community toolkit idea with Aspire, which is just

493
00:25:48.160 --> 00:25:50.000
<v Speaker 3>the idea of trying to make it so that more

494
00:25:50.039 --> 00:25:52.720
<v Speaker 3>and more people can build things that are Aspire components

495
00:25:52.720 --> 00:25:56.240
<v Speaker 3>that you can guarantee adhere to the same kind of

496
00:25:56.279 --> 00:25:59.079
<v Speaker 3>requirements and guidelines that an Aspire. I call on them

497
00:25:59.079 --> 00:26:01.319
<v Speaker 3>components still even though we change the name to integrations,

498
00:26:02.640 --> 00:26:05.000
<v Speaker 3>so like, because like what is an integration it is

499
00:26:05.200 --> 00:26:07.960
<v Speaker 3>effectively we have this idea of a spec it means

500
00:26:08.000 --> 00:26:10.920
<v Speaker 3>you know, you know it can wire into dependency injection.

501
00:26:11.000 --> 00:26:13.000
<v Speaker 3>You know, there's a set of you know, ten fifteen

502
00:26:13.079 --> 00:26:15.799
<v Speaker 3>things that in order to be an integration you have

503
00:26:15.880 --> 00:26:20.200
<v Speaker 3>to tick. And so this idea of Inspire Community Toolkit

504
00:26:20.319 --> 00:26:23.240
<v Speaker 3>is you or anybody who has a library that they

505
00:26:23.279 --> 00:26:26.359
<v Speaker 3>want to be able to be an Aspire integration can

506
00:26:26.480 --> 00:26:28.680
<v Speaker 3>also go and be in the list when you say

507
00:26:28.680 --> 00:26:30.759
<v Speaker 3>out Aspire Integration and we can. Then we'll have a

508
00:26:30.759 --> 00:26:33.960
<v Speaker 3>whole community toolkit kind of effort around making sure that

509
00:26:33.960 --> 00:26:36.440
<v Speaker 3>that we can continue to build up this community of

510
00:26:36.720 --> 00:26:38.880
<v Speaker 3>when you're building this type app and you really want

511
00:26:38.920 --> 00:26:41.599
<v Speaker 3>this kind of guarantees, what do you do and how

512
00:26:41.640 --> 00:26:42.160
<v Speaker 3>does it work?

513
00:26:42.279 --> 00:26:42.440
<v Speaker 1>Right?

514
00:26:42.680 --> 00:26:46.359
<v Speaker 3>It's also still very early in Aspire. There's crazy crazy

515
00:26:46.359 --> 00:26:50.480
<v Speaker 3>stuff we could do, right, Like, Aspire has the model

516
00:26:50.480 --> 00:26:53.519
<v Speaker 3>of your entire application, we could map it. We can

517
00:26:53.559 --> 00:26:55.400
<v Speaker 3>give you the full description of all the pieces of

518
00:26:55.440 --> 00:26:58.319
<v Speaker 3>your app. What's more, you could do things that are

519
00:26:58.359 --> 00:27:00.640
<v Speaker 3>crazy like some of the people there's a some people

520
00:27:00.680 --> 00:27:03.119
<v Speaker 3>on the team I was talking to yesterday who were like, yeah,

521
00:27:03.599 --> 00:27:07.279
<v Speaker 3>what if we put a proxy in between every communications section,

522
00:27:07.440 --> 00:27:09.920
<v Speaker 3>So on your dev machine you could turn on packet

523
00:27:09.960 --> 00:27:14.480
<v Speaker 3>loss between any in particular individual connection and you could

524
00:27:14.519 --> 00:27:16.359
<v Speaker 3>just make that a feature of the tooling, so you

525
00:27:16.440 --> 00:27:18.400
<v Speaker 3>run it app and you turn on packet loss right

526
00:27:18.559 --> 00:27:21.160
<v Speaker 3>or things like that. Right, that's possible to do today,

527
00:27:21.519 --> 00:27:23.759
<v Speaker 3>but to developers go to the effort of figuring out

528
00:27:23.759 --> 00:27:25.759
<v Speaker 3>how to do it and turn it on Like probably not,

529
00:27:25.839 --> 00:27:27.680
<v Speaker 3>but if it was just there and you just had

530
00:27:27.680 --> 00:27:31.359
<v Speaker 3>to click a thing, we'll try it. Right. So there's

531
00:27:31.359 --> 00:27:33.039
<v Speaker 3>a lot of that kind of work that you can

532
00:27:33.079 --> 00:27:35.279
<v Speaker 3>do in the Aspire space just to try and help

533
00:27:35.319 --> 00:27:38.160
<v Speaker 3>people build make their apps more reliable from the beginning

534
00:27:38.200 --> 00:27:39.599
<v Speaker 3>so they don't like called up in the middle of

535
00:27:39.599 --> 00:27:41.119
<v Speaker 3>the night or anything crazy like that.

536
00:27:41.160 --> 00:27:44.160
<v Speaker 2>Well, not finding out the hard way that it isn't reliable, not.

537
00:27:44.200 --> 00:27:46.119
<v Speaker 3>Finding out the hard way. We had a lot of

538
00:27:46.119 --> 00:27:48.359
<v Speaker 3>horror stories of people finding out the hard way, and

539
00:27:48.400 --> 00:27:51.680
<v Speaker 3>we're trying to We tried to fix all of those

540
00:27:51.880 --> 00:27:54.599
<v Speaker 3>things for those people when we were building up.

541
00:27:54.640 --> 00:27:57.319
<v Speaker 2>You don't find out you're logging wrong until you're eating

542
00:27:57.359 --> 00:27:59.319
<v Speaker 2>it and then you go looking for the logs and

543
00:27:59.400 --> 00:28:01.480
<v Speaker 2>can find them. Yeah. Absolutely, that's when you find out.

544
00:28:01.480 --> 00:28:02.400
<v Speaker 2>You've been looking about.

545
00:28:02.240 --> 00:28:03.039
<v Speaker 3>How do we fix that?

546
00:28:03.119 --> 00:28:05.920
<v Speaker 2>Right? It's been a year, yeah, right, I mean you

547
00:28:05.960 --> 00:28:08.279
<v Speaker 2>talked about Aspire the first time at dot net com

548
00:28:08.359 --> 00:28:10.759
<v Speaker 2>for dot net eight indeed, and we did our first

549
00:28:10.759 --> 00:28:15.160
<v Speaker 2>show with foul Er, I think January twenty four. So

550
00:28:15.640 --> 00:28:17.759
<v Speaker 2>are we on is this V two or is this

551
00:28:17.839 --> 00:28:20.440
<v Speaker 2>really V one? Like it felt like you were just

552
00:28:20.599 --> 00:28:22.640
<v Speaker 2>experimenting a year ago.

553
00:28:22.759 --> 00:28:25.599
<v Speaker 3>Isn't the isn't the common Microsoft saying that the V

554
00:28:25.640 --> 00:28:27.559
<v Speaker 3>two is when you start trying it. Isn't that? What

555
00:28:27.559 --> 00:28:29.319
<v Speaker 3>the isn't that what? We always just know? What people

556
00:28:29.400 --> 00:28:30.319
<v Speaker 3>used to say is.

557
00:28:30.319 --> 00:28:32.880
<v Speaker 2>That V three now and V three is when it's great? Yeah.

558
00:28:33.039 --> 00:28:34.599
<v Speaker 1>V three is the golden version.

559
00:28:34.680 --> 00:28:36.559
<v Speaker 3>Yeah, the golden version.

560
00:28:36.759 --> 00:28:39.119
<v Speaker 2>Yeah yeah, but I mean you had a year of

561
00:28:39.480 --> 00:28:42.440
<v Speaker 2>feedback and pressing against this. I mean it's a club

562
00:28:42.480 --> 00:28:45.039
<v Speaker 2>world now, right, Yeah, watch the issues it's crazy.

563
00:28:45.160 --> 00:28:48.200
<v Speaker 3>Yeah, absolutely, yeah. So yeah, that was the goal was

564
00:28:48.240 --> 00:28:53.000
<v Speaker 3>to get that, get the the was addressing. So one

565
00:28:53.000 --> 00:28:55.480
<v Speaker 3>of the themes I think is part of this discussion now,

566
00:28:55.480 --> 00:28:57.839
<v Speaker 3>which is like, what are you done? What? What are

567
00:28:57.880 --> 00:29:00.240
<v Speaker 3>the what is the what if? Customers hit real badly?

568
00:29:00.319 --> 00:29:03.680
<v Speaker 3>So so one of the biggest things that we that

569
00:29:03.880 --> 00:29:06.440
<v Speaker 3>people hit a lot that we've started to try to

570
00:29:06.480 --> 00:29:11.720
<v Speaker 3>address is just so we had this concept of developer first,

571
00:29:11.720 --> 00:29:13.440
<v Speaker 3>OPS friendly that we used that I used to talk

572
00:29:13.440 --> 00:29:17.039
<v Speaker 3>about with the team because like, you can't like this

573
00:29:17.079 --> 00:29:19.640
<v Speaker 3>thing has to fit into that world right right, like,

574
00:29:20.000 --> 00:29:23.599
<v Speaker 3>and if you super prioritize towards only the developer, you're like,

575
00:29:23.680 --> 00:29:27.400
<v Speaker 3>sis admin guys, give what is this like? No, we can't,

576
00:29:27.440 --> 00:29:31.319
<v Speaker 3>you can't do this right, And so you needed to

577
00:29:31.440 --> 00:29:35.920
<v Speaker 3>build a solution that you lets you that is attractive

578
00:29:36.000 --> 00:29:38.559
<v Speaker 3>and productive and good for developers, but then lets you

579
00:29:38.880 --> 00:29:42.000
<v Speaker 3>easily fit into the flow that those sis admin folks want.

580
00:29:42.279 --> 00:29:45.640
<v Speaker 3>So it was very obvious to us almost immediately once

581
00:29:45.680 --> 00:29:49.559
<v Speaker 3>people started to use this thing that they people desperately

582
00:29:49.599 --> 00:29:53.079
<v Speaker 3>wanted more ability to customize what the thing that they

583
00:29:53.079 --> 00:29:55.039
<v Speaker 3>were deploying to. When they were using the kind of

584
00:29:55.119 --> 00:29:58.759
<v Speaker 3>default deployments we should probably talk about deployments more generically,

585
00:29:58.799 --> 00:30:03.200
<v Speaker 3>but when using the like AZD experience specifically, they wanted

586
00:30:03.240 --> 00:30:05.440
<v Speaker 3>something more. So this is where this is the interesting

587
00:30:05.440 --> 00:30:10.079
<v Speaker 3>thing about Aspire is Azd's not mine. But another principle

588
00:30:10.119 --> 00:30:12.559
<v Speaker 3>that we had was kind of extreme ownership. This idea

589
00:30:12.640 --> 00:30:14.920
<v Speaker 3>that within Aspire, at least we were not going to

590
00:30:15.039 --> 00:30:17.759
<v Speaker 3>let the gaps between the different parts of the things

591
00:30:17.799 --> 00:30:19.440
<v Speaker 3>that you needed we needed to work for you to

592
00:30:19.480 --> 00:30:22.680
<v Speaker 3>be successful stop us from making changes. So if the

593
00:30:22.680 --> 00:30:24.720
<v Speaker 3>AZD team needed to do something to make the Azure

594
00:30:24.720 --> 00:30:27.279
<v Speaker 3>thing good, or even the AWS team needed to do

595
00:30:27.319 --> 00:30:29.440
<v Speaker 3>something to make the AWS experience good. We would go

596
00:30:29.440 --> 00:30:30.759
<v Speaker 3>talk to them and we were trying and figure it

597
00:30:30.799 --> 00:30:33.519
<v Speaker 3>out right in terms of deployment. And so one of

598
00:30:33.519 --> 00:30:35.599
<v Speaker 3>the big things with as Container apps and Aspire and

599
00:30:35.640 --> 00:30:37.880
<v Speaker 3>doing AZD up was well, how do I change the

600
00:30:38.000 --> 00:30:40.279
<v Speaker 3>name of the thing or like tweak this one setting

601
00:30:40.400 --> 00:30:42.519
<v Speaker 3>or the sequel thing is real good except this bit.

602
00:30:43.000 --> 00:30:45.440
<v Speaker 3>And I don't want to have to completely eject from

603
00:30:45.480 --> 00:30:48.759
<v Speaker 3>the system. So you could always generate all the bicep

604
00:30:48.799 --> 00:30:50.519
<v Speaker 3>and then you hand that off and then involve it

605
00:30:50.559 --> 00:30:52.960
<v Speaker 3>from there check it in. But I don't want to

606
00:30:52.960 --> 00:30:54.640
<v Speaker 3>do that. If I could avoid it, can you give

607
00:30:54.680 --> 00:30:56.880
<v Speaker 3>me something else? And so now there's a lot more

608
00:30:56.920 --> 00:30:59.759
<v Speaker 3>flexibility in you being able to drop into effectively a

609
00:30:59.799 --> 00:31:02.680
<v Speaker 3>C sharp wrapper around what the BICEP generated would be

610
00:31:02.720 --> 00:31:05.319
<v Speaker 3>within ACD, So you can tweet names, you can change

611
00:31:05.319 --> 00:31:07.839
<v Speaker 3>settings that you previously you would have had to fully

612
00:31:07.839 --> 00:31:11.000
<v Speaker 3>eject into, generate the bicep, check it in, and then

613
00:31:11.079 --> 00:31:13.079
<v Speaker 3>use bicep from then on. And so there's a lot

614
00:31:13.160 --> 00:31:15.319
<v Speaker 3>more of Now you can kind of pick the right

615
00:31:15.400 --> 00:31:17.559
<v Speaker 3>spectrum to be able to fit that. Then there's a

616
00:31:17.559 --> 00:31:19.359
<v Speaker 3>lot of There was a lot of people who desperately

617
00:31:19.400 --> 00:31:21.599
<v Speaker 3>wanted to like wait for so I can say I

618
00:31:21.640 --> 00:31:24.319
<v Speaker 3>want this to start after this thing, so you know

619
00:31:24.400 --> 00:31:27.400
<v Speaker 3>you've got support for that. You have support for persistent

620
00:31:27.440 --> 00:31:30.440
<v Speaker 3>containers to keep the sequel, keep the sequel server running

621
00:31:31.039 --> 00:31:33.359
<v Speaker 3>in between the executions of my app. So we now

622
00:31:33.359 --> 00:31:35.559
<v Speaker 3>have support for that. All of these things were all

623
00:31:35.599 --> 00:31:38.359
<v Speaker 3>really driven from people who really who were using the

624
00:31:38.400 --> 00:31:41.720
<v Speaker 3>thing and saying, yeah, we need this, we need this support, right,

625
00:31:42.200 --> 00:31:44.440
<v Speaker 3>as well as a few like big internal people who

626
00:31:44.519 --> 00:31:47.640
<v Speaker 3>were using it. You would have seen a video from

627
00:31:47.799 --> 00:31:50.200
<v Speaker 3>a video in the keynote if you watched it from

628
00:31:50.559 --> 00:31:54.480
<v Speaker 3>one of the architects who works on copilot. The unified

629
00:31:54.559 --> 00:31:56.960
<v Speaker 3>like back end for copilots is built using a spire.

630
00:31:57.079 --> 00:31:59.680
<v Speaker 3>And so whenever you're using one of the Microsoft Copilots

631
00:31:59.680 --> 00:32:03.160
<v Speaker 3>at all through the same kind of Copola backhand, that's

632
00:32:03.160 --> 00:32:07.160
<v Speaker 3>an Aspire like backhand API set that is the orchestrated

633
00:32:07.200 --> 00:32:09.200
<v Speaker 3>and their devo loop uses a spire, right, it doesn't

634
00:32:09.240 --> 00:32:10.079
<v Speaker 3>impact their production.

635
00:32:11.400 --> 00:32:13.599
<v Speaker 2>And Glenn, I'm gonna interrupt you for one moment for

636
00:32:13.799 --> 00:32:15.240
<v Speaker 2>these very important messages.

637
00:32:17.640 --> 00:32:21.319
<v Speaker 1>Is your on prem dot net framework application A prisoner

638
00:32:21.799 --> 00:32:25.920
<v Speaker 1>find freedom? On AWS with elastic scale and pay as

639
00:32:25.960 --> 00:32:29.720
<v Speaker 1>you go pricing. Port to cross platform dot net and

640
00:32:29.839 --> 00:32:33.960
<v Speaker 1>run on Linux without license fees. Find out more at

641
00:32:34.000 --> 00:32:39.240
<v Speaker 1>aws dot Amazon dot com, slash dot net, slash Modernize.

642
00:32:40.640 --> 00:32:43.839
<v Speaker 1>Hey Carl, here today we're spotlighting a tool that's turning

643
00:32:43.880 --> 00:32:48.440
<v Speaker 1>heads in the tech community. Raygun's AI error resolution brings

644
00:32:48.440 --> 00:32:52.799
<v Speaker 1>you smart AI powered insights directly into your development workflow.

645
00:32:53.599 --> 00:32:57.640
<v Speaker 1>This feature doesn't just identify errors, it suggests how to

646
00:32:57.680 --> 00:33:01.720
<v Speaker 1>fix them quickly and efficiently in seconds. If you're ready

647
00:33:01.759 --> 00:33:05.640
<v Speaker 1>for a deeper dive into smarter debugging, you won't want

648
00:33:05.680 --> 00:33:09.519
<v Speaker 1>to miss what raygun has to offer. Visit raygun dot com,

649
00:33:09.559 --> 00:33:12.839
<v Speaker 1>slash dot net rocks. That's raygun, r A Y g

650
00:33:13.000 --> 00:33:16.160
<v Speaker 1>U N dot com, slash d O t n E

651
00:33:16.240 --> 00:33:19.000
<v Speaker 1>t r O c k S for your free fourteen

652
00:33:19.119 --> 00:33:23.640
<v Speaker 1>day trial to explore the way reygun is revolutionizing debugging.

653
00:33:26.599 --> 00:33:28.839
<v Speaker 2>And we're back. It's dot net rocks. Amateur Campbell. That's

654
00:33:28.839 --> 00:33:31.599
<v Speaker 2>Carl Franklin. Hey, Hey, hey, talking to our friend Glenn

655
00:33:31.640 --> 00:33:35.759
<v Speaker 2>Chondron about all the dot net nine goodness. Indeed, welcome

656
00:33:35.759 --> 00:33:37.000
<v Speaker 2>back of that.

657
00:33:37.640 --> 00:33:40.799
<v Speaker 1>Yeah yeah, And just a reminder that you can get

658
00:33:40.799 --> 00:33:44.559
<v Speaker 1>an ad free feed of dot net rocks by becoming

659
00:33:44.599 --> 00:33:47.160
<v Speaker 1>a five dollars a month patron at Patreon dot dot

660
00:33:47.200 --> 00:33:50.599
<v Speaker 1>NetRocks dot com. Okay, you were saying, Glenn.

661
00:33:51.559 --> 00:33:56.079
<v Speaker 3>I don't remember that was out somethink about. We had

662
00:33:56.160 --> 00:33:58.039
<v Speaker 3>long we took. I think my pain point was there

663
00:33:58.079 --> 00:33:59.839
<v Speaker 3>was lots of feedback. We did a lot of features,

664
00:34:00.039 --> 00:34:02.480
<v Speaker 3>highlighted some of them, but it was all trying to

665
00:34:02.680 --> 00:34:06.680
<v Speaker 3>just our goal was between when we kind of shipped

666
00:34:06.720 --> 00:34:10.000
<v Speaker 3>halfway through dot net, halfway through dot at nine to

667
00:34:10.079 --> 00:34:13.400
<v Speaker 3>now was all about top pain point fixed, top pain point,

668
00:34:13.400 --> 00:34:16.559
<v Speaker 3>top pain point down donat I man, yeah, we ship

669
00:34:16.559 --> 00:34:18.800
<v Speaker 3>when we ship. Yeah, So that's what it's been and

670
00:34:18.840 --> 00:34:21.079
<v Speaker 3>now we're in this what I think is a really

671
00:34:21.159 --> 00:34:22.960
<v Speaker 3>nice state. We have a lot of people who are

672
00:34:23.039 --> 00:34:27.039
<v Speaker 3>using it for real, and that's the thing that prioritization.

673
00:34:26.480 --> 00:34:28.599
<v Speaker 1>The thing that piqued my interest when you were talking

674
00:34:28.639 --> 00:34:33.239
<v Speaker 1>about drop into a C sharp wrapper around stuff that

675
00:34:33.360 --> 00:34:38.559
<v Speaker 1>you don't really understand or need to learn. Now yeh yeah,

676
00:34:38.599 --> 00:34:40.800
<v Speaker 1>this ability is all part of a spire. That's not

677
00:34:41.079 --> 00:34:44.920
<v Speaker 1>something that's to dot net developers without aspire or no.

678
00:34:45.000 --> 00:34:46.719
<v Speaker 3>It will be available to it should be available to

679
00:34:46.719 --> 00:34:49.159
<v Speaker 3>don't developers elsewhere because it's not technically part of a spire,

680
00:34:49.239 --> 00:34:52.440
<v Speaker 3>it's just a it's a feature of the Azure developer,

681
00:34:52.960 --> 00:34:56.719
<v Speaker 3>the az d C and the AD experience. We give

682
00:34:56.760 --> 00:34:58.880
<v Speaker 3>you a method and we make it intuitive when you're

683
00:34:58.880 --> 00:35:01.360
<v Speaker 3>within Aspire, but it's not we layer. We layer the

684
00:35:01.360 --> 00:35:04.000
<v Speaker 3>software better layer and kind of segment the software better

685
00:35:04.000 --> 00:35:05.519
<v Speaker 3>than that. Right, So you should also be able to

686
00:35:05.519 --> 00:35:09.360
<v Speaker 3>get that outside of the Aspire experience. Love that Aspire

687
00:35:09.480 --> 00:35:13.400
<v Speaker 3>is very much a collection of pieces that all work

688
00:35:13.519 --> 00:35:16.119
<v Speaker 3>fine on their own, but get better when you put

689
00:35:16.119 --> 00:35:16.719
<v Speaker 3>them all together.

690
00:35:16.960 --> 00:35:17.199
<v Speaker 2>Right.

691
00:35:17.360 --> 00:35:20.280
<v Speaker 3>So the dashboard that shows you all your hotel data,

692
00:35:20.320 --> 00:35:23.199
<v Speaker 3>it's just an hotel dashboard. You can make anything that

693
00:35:23.280 --> 00:35:25.400
<v Speaker 3>talk to hotel appear in that thing. It doesn't need

694
00:35:25.400 --> 00:35:30.280
<v Speaker 3>to open telemetry in this case. Yeah, absolutely, I appreciate it.

695
00:35:31.440 --> 00:35:33.320
<v Speaker 3>And if you'll notice, if you go to as your

696
00:35:33.320 --> 00:35:37.400
<v Speaker 3>Container apps now they have the dashboard, the Aspire dashboard

697
00:35:38.079 --> 00:35:40.320
<v Speaker 3>because it's just code. They just took it and hosted

698
00:35:40.480 --> 00:35:42.320
<v Speaker 3>at ACA. It said here, this is a cool hotel

699
00:35:42.400 --> 00:35:43.519
<v Speaker 3>ed point, let's put it in there.

700
00:35:43.679 --> 00:35:43.840
<v Speaker 2>Right.

701
00:35:44.360 --> 00:35:48.280
<v Speaker 3>Integrations are just new get packages. The AD the AD

702
00:35:48.320 --> 00:35:51.840
<v Speaker 3>integration for Gesture in Visual Studio is literally a search

703
00:35:51.960 --> 00:35:53.440
<v Speaker 3>or new Get for things that are owned by the

704
00:35:53.480 --> 00:35:56.800
<v Speaker 3>Aspire account. Like, there's no, there's nothing special about them.

705
00:35:57.000 --> 00:35:59.199
<v Speaker 3>They are a new get package with some wire up code.

706
00:35:59.480 --> 00:35:59.719
<v Speaker 2>Right.

707
00:36:00.719 --> 00:36:04.039
<v Speaker 3>The just the kind of way the service discovery ish

708
00:36:04.079 --> 00:36:07.159
<v Speaker 3>stuff is environment variables, right Like, it is very much

709
00:36:07.320 --> 00:36:09.559
<v Speaker 3>a you could do all of this stuff to that

710
00:36:09.760 --> 00:36:11.480
<v Speaker 3>you could have done all of the things that Aspire

711
00:36:11.599 --> 00:36:14.480
<v Speaker 3>does for you, but it makes it puts it all

712
00:36:14.480 --> 00:36:16.119
<v Speaker 3>together for you, so you don't have to think about

713
00:36:16.159 --> 00:36:16.719
<v Speaker 3>it as much.

714
00:36:16.960 --> 00:36:20.280
<v Speaker 1>And yeah, it's it's the classic thing of you know,

715
00:36:20.320 --> 00:36:22.920
<v Speaker 1>you want to use this library or whatever, this component

716
00:36:23.039 --> 00:36:25.119
<v Speaker 1>that might be an open source component or whatever. First

717
00:36:25.159 --> 00:36:27.760
<v Speaker 1>you download, then you get package, then you wire it

718
00:36:27.840 --> 00:36:30.159
<v Speaker 1>up and program cs and then you might have to

719
00:36:30.199 --> 00:36:34.599
<v Speaker 1>add a CSS file or exact JavaScript link or all

720
00:36:34.639 --> 00:36:35.360
<v Speaker 1>of that stuff.

721
00:36:35.559 --> 00:36:37.440
<v Speaker 3>Yeah, and so how do we help you get there?

722
00:36:37.480 --> 00:36:40.280
<v Speaker 3>That's kind of a lot of what it does. And

723
00:36:40.320 --> 00:36:42.679
<v Speaker 3>then yeah, it's and then but when you put it

724
00:36:42.679 --> 00:36:45.079
<v Speaker 3>all together, the overall the experience of all those things

725
00:36:45.079 --> 00:36:47.159
<v Speaker 3>together is kind of mind blowing. People looking at them

726
00:36:47.159 --> 00:36:49.119
<v Speaker 3>and say, I'm where there was this being all my life.

727
00:36:49.000 --> 00:36:52.800
<v Speaker 2>And right yeah, yeah, real powerful effect, right like that

728
00:36:52.800 --> 00:36:53.599
<v Speaker 2>that's the whole thing is.

729
00:36:53.719 --> 00:36:56.039
<v Speaker 3>Indeed a very powerful cumulative effect when you put all

730
00:36:56.079 --> 00:36:58.519
<v Speaker 3>these pieces together, but they're all individually adoptable and they're

731
00:36:58.559 --> 00:37:00.840
<v Speaker 3>not super tightly coupled, which is it's just very nice.

732
00:37:00.880 --> 00:37:03.360
<v Speaker 2>And more importantly, if you know, if you've got strong

733
00:37:03.400 --> 00:37:05.719
<v Speaker 2>opinions about how you want your cloud native apps to

734
00:37:05.760 --> 00:37:08.000
<v Speaker 2>be built, you can take the pieces out that don't

735
00:37:08.039 --> 00:37:12.400
<v Speaker 2>work for your plan or changing. Yeah, but I appreciate that.

736
00:37:12.480 --> 00:37:14.800
<v Speaker 2>And so you still still early days, but clearly you

737
00:37:14.800 --> 00:37:16.599
<v Speaker 2>guys have been taking a lot of feedback, Like just

738
00:37:16.599 --> 00:37:20.039
<v Speaker 2>look at the issues list. Oh yeah, absolutely, I haven't

739
00:37:20.039 --> 00:37:22.119
<v Speaker 2>had time to triage this yet, but imagine you do this.

740
00:37:22.199 --> 00:37:24.480
<v Speaker 2>How much of these issues are people don't understand how

741
00:37:24.519 --> 00:37:26.760
<v Speaker 2>to use this versus people want to take it further?

742
00:37:27.519 --> 00:37:31.679
<v Speaker 3>Yeah, yeah, yeah, so there is a lot of there's

743
00:37:31.679 --> 00:37:34.039
<v Speaker 3>not as many issues for I don't understand how to

744
00:37:34.079 --> 00:37:37.920
<v Speaker 3>do this, but there's lots of discussion. Right, So the

745
00:37:37.960 --> 00:37:40.280
<v Speaker 3>feedback channels are filled with yeah, but what is it?

746
00:37:40.559 --> 00:37:40.960
<v Speaker 2>Yeah?

747
00:37:41.079 --> 00:37:44.719
<v Speaker 3>Right, filled with ye but what is it? Yeah?

748
00:37:45.039 --> 00:37:48.079
<v Speaker 1>I think building an app with a spire would be

749
00:37:48.079 --> 00:37:51.880
<v Speaker 1>a great learning opportunity for somebody who doesn't has never

750
00:37:51.960 --> 00:37:54.960
<v Speaker 1>done reddis right And instead of you know, going to

751
00:37:54.960 --> 00:37:57.599
<v Speaker 1>the documentation, spending a whole day or two reading it

752
00:37:57.679 --> 00:37:59.599
<v Speaker 1>and trying to figure out how to cram it into

753
00:37:59.719 --> 00:38:02.679
<v Speaker 1>your app. You use a spire and then go and

754
00:38:02.719 --> 00:38:05.480
<v Speaker 1>look and see what it what it did. Yep, absolutely,

755
00:38:05.519 --> 00:38:08.280
<v Speaker 1>you know that that makes total sense to me.

756
00:38:08.400 --> 00:38:11.000
<v Speaker 3>Yeah, Yeah, there's a it's a it is good on

757
00:38:11.000 --> 00:38:13.199
<v Speaker 3>that gun. And that's that's partly because of that effort

758
00:38:13.239 --> 00:38:16.800
<v Speaker 3>to try to kind of make learning linear again, right, Yeah.

759
00:38:16.599 --> 00:38:19.000
<v Speaker 2>And to smooth these things out. Give us the pit

760
00:38:19.119 --> 00:38:22.440
<v Speaker 2>of success here. Yeah, that if you just follow the defaults,

761
00:38:22.480 --> 00:38:23.719
<v Speaker 2>you're going to be in a good place. And if

762
00:38:23.719 --> 00:38:25.599
<v Speaker 2>you want to go further you can, right, And.

763
00:38:25.519 --> 00:38:28.320
<v Speaker 3>Then it helps your bigger enterprises because the bigger enterprise

764
00:38:28.400 --> 00:38:30.599
<v Speaker 3>wants to try and get some level of consistency across

765
00:38:30.599 --> 00:38:33.000
<v Speaker 3>twenty teams. So now you've got you've got that lever

766
00:38:33.079 --> 00:38:33.519
<v Speaker 3>as well.

767
00:38:33.440 --> 00:38:36.000
<v Speaker 2>You can really press against those templates and making where

768
00:38:36.039 --> 00:38:38.639
<v Speaker 2>you want it to be. I don't want to do

769
00:38:38.679 --> 00:38:40.719
<v Speaker 2>a whole show on Inspire because there's more stuff going

770
00:38:40.719 --> 00:38:46.079
<v Speaker 2>on Dot nine. Let's do the AI conversation. Yeah, it's

771
00:38:46.159 --> 00:38:48.039
<v Speaker 2>kind of on the radar for a lot of folks

772
00:38:48.079 --> 00:38:48.840
<v Speaker 2>these days, for.

773
00:38:48.800 --> 00:38:51.159
<v Speaker 3>A lot of people. Yeah. So one of the big things,

774
00:38:51.360 --> 00:38:52.840
<v Speaker 3>the first call out. I think I would say on

775
00:38:52.880 --> 00:38:55.599
<v Speaker 3>that front is if you haven't looked at Sanderson's kind

776
00:38:55.639 --> 00:39:00.400
<v Speaker 3>of sample apps. We talked about Shop. We did this

777
00:39:00.480 --> 00:39:02.840
<v Speaker 3>kind of rework of the e Shop sample app, make

778
00:39:02.880 --> 00:39:05.360
<v Speaker 3>it all cloudified. It's running with a spire and stuff

779
00:39:05.400 --> 00:39:08.960
<v Speaker 3>like that. Right, So, as one of the engineers on

780
00:39:09.000 --> 00:39:12.679
<v Speaker 3>our team said, we're now expanding the Shop cinematic universe

781
00:39:13.159 --> 00:39:17.880
<v Speaker 3>to create this E Shop back of house application, which is,

782
00:39:18.400 --> 00:39:22.719
<v Speaker 3>imagine that you were the support person having to deal

783
00:39:22.760 --> 00:39:26.320
<v Speaker 3>with customer support for that E shop kind of app.

784
00:39:27.159 --> 00:39:29.920
<v Speaker 3>We build that app, and so it uses a lot

785
00:39:29.960 --> 00:39:33.840
<v Speaker 3>of AI in ways. It's sometimes a convincing sometimes not

786
00:39:33.920 --> 00:39:36.679
<v Speaker 3>as obvious to people because the every AIDEMO you've ever

787
00:39:36.679 --> 00:39:38.000
<v Speaker 3>seen is how do I chat?

788
00:39:38.199 --> 00:39:39.519
<v Speaker 2>Yeah? Yeah?

789
00:39:39.639 --> 00:39:41.599
<v Speaker 3>And so it uses it for filtering, it uses it

790
00:39:41.639 --> 00:39:44.440
<v Speaker 3>for summarization, It uses it to like, help me make

791
00:39:44.480 --> 00:39:46.920
<v Speaker 3>sure I'm worth looking at the most important issue, help

792
00:39:46.960 --> 00:39:50.039
<v Speaker 3>me find the right when I get the feedback ticket

793
00:39:50.320 --> 00:39:53.239
<v Speaker 3>where I want to respond with r TFM read the

794
00:39:53.280 --> 00:39:57.199
<v Speaker 3>manual with an F in the middle. How do I

795
00:39:57.239 --> 00:39:59.519
<v Speaker 3>ask the AI to find the bit in the manual

796
00:39:59.519 --> 00:40:01.199
<v Speaker 3>that I should them to so that I don't have

797
00:40:01.239 --> 00:40:03.320
<v Speaker 3>to go search through the manual like if things all

798
00:40:03.400 --> 00:40:07.119
<v Speaker 3>those sort of functionality exists in that sample app and

799
00:40:07.159 --> 00:40:09.239
<v Speaker 3>it's all put together and it's working well, and Santus

800
00:40:09.280 --> 00:40:10.840
<v Speaker 3>has done some talks on it, and Sanus is a

801
00:40:10.840 --> 00:40:11.440
<v Speaker 3>great presenter.

802
00:40:11.599 --> 00:40:13.719
<v Speaker 2>So like, I'm sure you're I'm going to grab a

803
00:40:13.800 --> 00:40:15.400
<v Speaker 2>link to his video from from.

804
00:40:16.159 --> 00:40:20.639
<v Speaker 3>So absolutely so watch all that, especially if you're like, yeah,

805
00:40:20.639 --> 00:40:22.440
<v Speaker 3>but why do I care about AI If I don't,

806
00:40:22.440 --> 00:40:23.840
<v Speaker 3>if I don't have I don't work in an app

807
00:40:23.880 --> 00:40:25.719
<v Speaker 3>where I need a chatbot, So what would I do?

808
00:40:26.079 --> 00:40:28.719
<v Speaker 3>Go look at some of his stuff. It is very good.

809
00:40:29.400 --> 00:40:32.760
<v Speaker 2>It's inspirational for thinking more broadly about what these tools

810
00:40:32.800 --> 00:40:33.400
<v Speaker 2>can do for you.

811
00:40:33.480 --> 00:40:36.159
<v Speaker 3>Absolutely right, So then in support of that, so what

812
00:40:36.199 --> 00:40:37.880
<v Speaker 3>does the Donat team do? What does my team do?

813
00:40:38.480 --> 00:40:41.719
<v Speaker 3>So we have this way. We we have started with

814
00:40:41.800 --> 00:40:46.320
<v Speaker 3>effectively primitives. We're looking at, Okay, you need to tokenize

815
00:40:46.320 --> 00:40:49.559
<v Speaker 3>strings in this world. What's the fastest, best, most pop

816
00:40:49.639 --> 00:40:52.280
<v Speaker 3>what's the best tokenizer that everybody in the world should use.

817
00:40:52.320 --> 00:40:55.079
<v Speaker 3>Let's make sure an implementation of that exists. Like these

818
00:40:55.199 --> 00:40:59.599
<v Speaker 3>very bare like numerics, like these very very low level

819
00:40:59.679 --> 00:41:02.480
<v Speaker 3>underline primitives that build a bunch of this stuff and

820
00:41:02.519 --> 00:41:05.079
<v Speaker 3>then effectively we just start building up as we build

821
00:41:05.119 --> 00:41:07.519
<v Speaker 3>building blocks and building blocks and building blocks that allow

822
00:41:07.679 --> 00:41:11.760
<v Speaker 3>you to do the to communicate with the to do

823
00:41:11.800 --> 00:41:13.960
<v Speaker 3>this generative AI task, and I want to say communicate

824
00:41:14.000 --> 00:41:17.119
<v Speaker 3>with right. So in the dot an ecosystem, you have

825
00:41:17.159 --> 00:41:20.760
<v Speaker 3>semantic kernel, and you have Azure SDKs, you have all

826
00:41:20.760 --> 00:41:22.960
<v Speaker 3>of the like these libraries to be able to do

827
00:41:23.119 --> 00:41:26.559
<v Speaker 3>kind of generative AI stuff. We help and support all

828
00:41:26.599 --> 00:41:29.119
<v Speaker 3>of those things, and then we look at, okay, well,

829
00:41:29.119 --> 00:41:31.159
<v Speaker 3>what is the underpinning that we should be building that

830
00:41:31.239 --> 00:41:35.039
<v Speaker 3>all of these people need? And the is the forever question.

831
00:41:35.119 --> 00:41:36.639
<v Speaker 3>What is the thing we should build so that they

832
00:41:36.639 --> 00:41:38.559
<v Speaker 3>don't have to then then everybody will adopt it, and

833
00:41:38.599 --> 00:41:40.239
<v Speaker 3>then will be everybody will be in a better place.

834
00:41:40.519 --> 00:41:42.239
<v Speaker 3>So that's where we've been going. So one of the

835
00:41:42.280 --> 00:41:44.719
<v Speaker 3>things you're seeing in don N nine is this extensions AI.

836
00:41:45.440 --> 00:41:48.000
<v Speaker 3>We talked about it a bit beforehand. It's semantic kernel

837
00:41:48.079 --> 00:41:50.360
<v Speaker 3>already exists, and then extensions AI is this kind of

838
00:41:50.360 --> 00:41:54.280
<v Speaker 3>building block layer for I want to talk to an LM,

839
00:41:54.320 --> 00:41:57.639
<v Speaker 3>how I want to talk to an LM, And what

840
00:41:57.840 --> 00:42:00.800
<v Speaker 3>that library set allows you to do is is do

841
00:42:01.119 --> 00:42:03.079
<v Speaker 3>kind of a chat completion, which is what a lot

842
00:42:03.119 --> 00:42:05.280
<v Speaker 3>of the stuff, even the stuff that isn't chat kind

843
00:42:05.280 --> 00:42:06.920
<v Speaker 3>of boils down to I'm going to send a string

844
00:42:07.000 --> 00:42:08.440
<v Speaker 3>to a server and I'm going to get a string back,

845
00:42:08.480 --> 00:42:12.119
<v Speaker 3>and I'm going to figure out what it means. And

846
00:42:12.159 --> 00:42:14.199
<v Speaker 3>I want to do the stuff where I teach that

847
00:42:14.360 --> 00:42:17.280
<v Speaker 3>about my own data, and I want to have telemetry

848
00:42:17.320 --> 00:42:19.440
<v Speaker 3>plugged in and such. And it gives you a consistent

849
00:42:19.480 --> 00:42:22.480
<v Speaker 3>abstraction over many different types of lms. So if you're

850
00:42:22.480 --> 00:42:24.159
<v Speaker 3>going to use open Ai, or you're going to use

851
00:42:24.199 --> 00:42:26.320
<v Speaker 3>some local thing, or you're going to use like Olama,

852
00:42:26.480 --> 00:42:28.639
<v Speaker 3>or you're going to use you can have the same

853
00:42:28.719 --> 00:42:31.760
<v Speaker 3>programming experience against a bunch of different models that can

854
00:42:31.840 --> 00:42:34.360
<v Speaker 3>all plug into this system. What's interesting about it is

855
00:42:34.360 --> 00:42:38.119
<v Speaker 3>it effectively uses a middleware pipeline, so the same as

856
00:42:38.119 --> 00:42:40.039
<v Speaker 3>I's been a core middleware for those of you playing

857
00:42:40.039 --> 00:42:43.920
<v Speaker 3>along at home. So you made a request effectively in

858
00:42:43.960 --> 00:42:46.320
<v Speaker 3>this world, which is a chat completion, and it goes

859
00:42:46.360 --> 00:42:51.000
<v Speaker 3>through this middleware pipeline, and so that moves implementation of

860
00:42:51.079 --> 00:42:54.800
<v Speaker 3>things like logging out of the provider that is specific

861
00:42:54.840 --> 00:42:58.320
<v Speaker 3>to the LM and into the generic library, such that

862
00:42:58.440 --> 00:43:00.599
<v Speaker 3>every provider doesn't have to do all the logging stuff

863
00:43:01.000 --> 00:43:03.599
<v Speaker 3>so you as a consumer get consistent logging, you get

864
00:43:03.599 --> 00:43:06.559
<v Speaker 3>consistent tool calling where it will where one of the

865
00:43:06.559 --> 00:43:09.400
<v Speaker 3>things LM's will do is call your methods if they can't,

866
00:43:09.800 --> 00:43:11.480
<v Speaker 3>if they can't, if they need to. Right. It has

867
00:43:11.519 --> 00:43:14.400
<v Speaker 3>all that sort of stuff built into this middlewhere layer

868
00:43:14.400 --> 00:43:16.679
<v Speaker 3>as opposed to being each provider. That makes it easier

869
00:43:16.719 --> 00:43:19.559
<v Speaker 3>to write providers. That hopefully means we get more providers.

870
00:43:19.960 --> 00:43:23.039
<v Speaker 3>It also allows other things like semantic kernel to like

871
00:43:23.119 --> 00:43:26.119
<v Speaker 3>layer on top and get those same benefits.

872
00:43:26.639 --> 00:43:31.320
<v Speaker 1>Right, do you do you foresee people using AI for

873
00:43:32.039 --> 00:43:36.159
<v Speaker 1>things we typically code forms over data for like I'll

874
00:43:36.199 --> 00:43:40.800
<v Speaker 1>give you an example, selecting a report right with a

875
00:43:40.800 --> 00:43:45.320
<v Speaker 1>whole bunch of filters. Do you instead of having drop

876
00:43:45.400 --> 00:43:48.840
<v Speaker 1>down combo boxes and things that fill and refill and

877
00:43:49.039 --> 00:43:53.639
<v Speaker 1>check boxes and whatever. Would you foresee somebody just opening

878
00:43:53.639 --> 00:43:56.760
<v Speaker 1>a text box and say give me all this data

879
00:43:56.760 --> 00:43:59.239
<v Speaker 1>between this date and that date with this you know,

880
00:43:59.320 --> 00:44:02.199
<v Speaker 1>particular film and blah blah blah and replace all of

881
00:44:02.239 --> 00:44:03.320
<v Speaker 1>that UI code.

882
00:44:03.599 --> 00:44:06.239
<v Speaker 3>Yeah, it seems entirely likely that would happen. I think

883
00:44:06.280 --> 00:44:08.480
<v Speaker 3>what will happen first is that you'll use AI to

884
00:44:08.480 --> 00:44:12.519
<v Speaker 3>build that that form that you just described. First step, Right,

885
00:44:12.599 --> 00:44:14.480
<v Speaker 3>co pilots and friends and all of the tooling in

886
00:44:14.559 --> 00:44:17.559
<v Speaker 3>visual studio visual studio code like you even see like

887
00:44:18.000 --> 00:44:21.119
<v Speaker 3>you see the explosion of AI assisted coding. Right, So

888
00:44:21.159 --> 00:44:23.199
<v Speaker 3>the first step one would be I want to build

889
00:44:23.239 --> 00:44:25.239
<v Speaker 3>that form, and then the AI says, sure, here's all

890
00:44:25.239 --> 00:44:25.760
<v Speaker 3>the UI.

891
00:44:26.280 --> 00:44:26.519
<v Speaker 1>Right.

892
00:44:27.880 --> 00:44:30.840
<v Speaker 3>The second part would be would be, yeah, I think

893
00:44:30.840 --> 00:44:33.519
<v Speaker 3>you could get to that point. Would it be faster,

894
00:44:34.719 --> 00:44:38.519
<v Speaker 3>would it be better for the end consumer? I'm not

895
00:44:38.559 --> 00:44:40.280
<v Speaker 3>one hundred percent sure, right.

896
00:44:40.880 --> 00:44:43.199
<v Speaker 1>Well, at least giving them the option, right, you could.

897
00:44:43.000 --> 00:44:45.280
<v Speaker 3>Give them the option I think will absolutely happen, will

898
00:44:45.320 --> 00:44:48.679
<v Speaker 3>it be? But I still suspect you'll have your kind

899
00:44:48.679 --> 00:44:50.840
<v Speaker 3>of You'll still want your your thing. That is the

900
00:44:50.880 --> 00:44:52.840
<v Speaker 3>thing everybody looks at. We already know what it is,

901
00:44:52.920 --> 00:44:55.199
<v Speaker 3>so let's make it real as so I don't have

902
00:44:55.239 --> 00:44:57.880
<v Speaker 3>to chat because I think that process will involve some

903
00:44:57.960 --> 00:45:00.320
<v Speaker 3>iteration to get exactly what you want every time, So

904
00:45:00.360 --> 00:45:01.960
<v Speaker 3>you won't want to do that for the report you

905
00:45:01.960 --> 00:45:03.280
<v Speaker 3>have to look at every second day.

906
00:45:03.639 --> 00:45:05.280
<v Speaker 1>Right, And then on top of that, you could add

907
00:45:05.280 --> 00:45:08.159
<v Speaker 1>speech recognition so that you could just literally talk to

908
00:45:08.519 --> 00:45:11.239
<v Speaker 1>the app and get absolutely what you want out of it.

909
00:45:11.400 --> 00:45:14.800
<v Speaker 3>Yeah, but more important, but more also interesting that is

910
00:45:14.840 --> 00:45:17.400
<v Speaker 3>just mining for insights, right, Like, if you're going to

911
00:45:17.440 --> 00:45:20.239
<v Speaker 3>have that conversation away where the thing can understand all

912
00:45:20.320 --> 00:45:23.760
<v Speaker 3>the data, can you ask you questions just like you know,

913
00:45:24.000 --> 00:45:26.039
<v Speaker 3>what has my growth been? What is my year over

914
00:45:26.119 --> 00:45:26.559
<v Speaker 3>year growth?

915
00:45:26.599 --> 00:45:26.840
<v Speaker 2>Now?

916
00:45:27.039 --> 00:45:29.119
<v Speaker 3>Absolutely, and it would just tell you and then you

917
00:45:29.119 --> 00:45:30.920
<v Speaker 3>don't need to go look at the chart to interpret

918
00:45:31.000 --> 00:45:33.039
<v Speaker 3>what the year of year growth is. Right, So to

919
00:45:33.039 --> 00:45:33.880
<v Speaker 3>give you so.

920
00:45:33.760 --> 00:45:37.000
<v Speaker 1>Much, you might have an app which is your main app,

921
00:45:37.039 --> 00:45:40.199
<v Speaker 1>and then you might have this AI bot for lack

922
00:45:40.199 --> 00:45:43.559
<v Speaker 1>of a better thing that you just converse with to

923
00:45:43.639 --> 00:45:45.480
<v Speaker 1>get data out of your back end.

924
00:45:45.800 --> 00:45:48.039
<v Speaker 3>Yeah, and then you see the other experiments people have

925
00:45:48.039 --> 00:45:50.760
<v Speaker 3>gotten where you're effectively getting a free junior dev of like,

926
00:45:50.800 --> 00:45:54.280
<v Speaker 3>which is just AI agents writing like fixing, doing prs

927
00:45:54.280 --> 00:45:56.320
<v Speaker 3>for you against issues that are logged on your repot.

928
00:45:56.760 --> 00:46:00.199
<v Speaker 2>Right, that's insane, well at least writing my pr our

929
00:46:00.800 --> 00:46:02.079
<v Speaker 2>comment good lord.

930
00:46:02.159 --> 00:46:04.000
<v Speaker 3>Yeah, yeah, absolute ability.

931
00:46:03.599 --> 00:46:07.000
<v Speaker 2>To actually remember, well not remember, but I analyze everything

932
00:46:07.039 --> 00:46:08.559
<v Speaker 2>I've changed and give me a summer.

933
00:46:08.599 --> 00:46:10.880
<v Speaker 3>It give me a summer, it's not in my head, right,

934
00:46:11.639 --> 00:46:14.480
<v Speaker 3>write all the unit tests for me, right, Like, Ultimately

935
00:46:14.559 --> 00:46:16.760
<v Speaker 3>you want you want to get to a point on

936
00:46:16.760 --> 00:46:19.280
<v Speaker 3>that AI assistance where the AI is doing all the

937
00:46:19.320 --> 00:46:21.039
<v Speaker 3>toil of code so that you could do the fun

938
00:46:21.119 --> 00:46:24.880
<v Speaker 3>parts right, But that's.

939
00:46:24.840 --> 00:46:27.480
<v Speaker 2>Uh, yeah, they're just their augmentation tools and they're a

940
00:46:27.480 --> 00:46:31.719
<v Speaker 2>good one. It doesn't It writes unit tests that are okay,

941
00:46:32.039 --> 00:46:34.440
<v Speaker 2>but you know, it's still easier to edit a test

942
00:46:34.480 --> 00:46:36.679
<v Speaker 2>than it is to write them from scratch, right, and

943
00:46:36.760 --> 00:46:39.039
<v Speaker 2>sometimes it spits out stuff you just haven't thought of.

944
00:46:39.400 --> 00:46:42.960
<v Speaker 3>Absolutely. What's interesting for me, Like, I guess I want

945
00:46:42.960 --> 00:46:45.800
<v Speaker 3>to talk about challenges that are maybe are unique to

946
00:46:45.800 --> 00:46:48.440
<v Speaker 3>me on this front and maybe not, but hopefully it's

947
00:46:48.440 --> 00:46:51.400
<v Speaker 3>interesting to people. Is like you can't put that stuff

948
00:46:51.400 --> 00:46:54.199
<v Speaker 3>in a box of ships annually yet, yeah, because it's

949
00:46:54.880 --> 00:46:58.199
<v Speaker 3>some sort like there's there's this challenge within the AI space.

950
00:46:58.199 --> 00:47:01.280
<v Speaker 3>It's within Aspire as well. Different so I guess it's

951
00:47:01.320 --> 00:47:03.480
<v Speaker 3>common for both of those things but for different reasons.

952
00:47:03.960 --> 00:47:07.320
<v Speaker 3>But both of those areas are resistant to we're going

953
00:47:07.400 --> 00:47:10.639
<v Speaker 3>to ship it once every year and call it good

954
00:47:10.679 --> 00:47:13.079
<v Speaker 3>and put it and install it on everybody's machine, either

955
00:47:13.119 --> 00:47:17.000
<v Speaker 3>because the pace is really fast or because you're depending

956
00:47:17.079 --> 00:47:19.719
<v Speaker 3>on lots of stuff that you don't control. In the

957
00:47:19.760 --> 00:47:23.320
<v Speaker 3>case you Aspire, right, if we need to update the

958
00:47:23.320 --> 00:47:25.159
<v Speaker 3>redest client that we depend upon we'll need to do

959
00:47:25.519 --> 00:47:29.480
<v Speaker 3>an update, right, and in the AIS case this there

960
00:47:29.519 --> 00:47:31.239
<v Speaker 3>might be some new way of doing something that is

961
00:47:31.360 --> 00:47:34.199
<v Speaker 3>very important. Therefore, both of them are kind of not

962
00:47:35.199 --> 00:47:37.960
<v Speaker 3>we're shipping them along with everything else in don At nine,

963
00:47:38.320 --> 00:47:42.039
<v Speaker 3>but we're making sure that mechanically they're not tied to shipping,

964
00:47:42.079 --> 00:47:43.880
<v Speaker 3>only being able to ship when we ship a major

965
00:47:43.960 --> 00:47:44.639
<v Speaker 3>version of the thing.

966
00:47:44.840 --> 00:47:47.480
<v Speaker 2>Sure, and you need to be able to swap out

967
00:47:47.800 --> 00:47:50.800
<v Speaker 2>what Opening Eye Library are using. Absolutely, I would hope

968
00:47:50.800 --> 00:47:53.400
<v Speaker 2>you can switch to a local instance of Cloud if

969
00:47:53.440 --> 00:47:57.199
<v Speaker 2>you want, or a LAMA, right, like, yeah, that's.

970
00:47:57.119 --> 00:47:59.159
<v Speaker 3>All that sort of stuff. Yeah, but then also like

971
00:47:59.639 --> 00:48:03.440
<v Speaker 3>what's into thing about that is Aspire nine works on

972
00:48:03.519 --> 00:48:07.000
<v Speaker 3>DONNA eight But like normally we've we've we we have

973
00:48:07.159 --> 00:48:11.039
<v Speaker 3>for some time tried to keep nine is nine eighties

974
00:48:11.039 --> 00:48:13.840
<v Speaker 3>eight seven is seven because it's just easier, it's far

975
00:48:14.000 --> 00:48:15.079
<v Speaker 3>easier to reason about.

976
00:48:15.159 --> 00:48:15.320
<v Speaker 1>Right.

977
00:48:15.639 --> 00:48:18.400
<v Speaker 3>Everybody's brain breaks when you start saying, but technically you

978
00:48:18.400 --> 00:48:20.599
<v Speaker 3>could be using seven, version seven of this on version

979
00:48:20.679 --> 00:48:22.880
<v Speaker 3>six of that with version four of this thing over here,

980
00:48:23.079 --> 00:48:25.000
<v Speaker 3>and then your brain explodes.

981
00:48:25.400 --> 00:48:28.679
<v Speaker 2>Where I feel like one version of Aspire is good.

982
00:48:28.840 --> 00:48:31.360
<v Speaker 3>And that's and so yeah, so but if it's two versions.

983
00:48:31.360 --> 00:48:34.159
<v Speaker 3>If it's Aspire eight as a world and Aspire nine

984
00:48:34.159 --> 00:48:35.920
<v Speaker 3>as a world, and they're working on a dot net

985
00:48:36.000 --> 00:48:39.000
<v Speaker 3>version which is either donat eight or nine, that's probably understandable.

986
00:48:40.320 --> 00:48:42.559
<v Speaker 3>But that's part of this, like the things I don't

987
00:48:42.599 --> 00:48:44.840
<v Speaker 3>necessarily always ship in the box now, the same as

988
00:48:44.880 --> 00:48:49.159
<v Speaker 3>with kind of extensions AI, and that's we can't go

989
00:48:49.199 --> 00:48:52.079
<v Speaker 3>to the world where everything individually ships, because we tried

990
00:48:52.119 --> 00:48:54.159
<v Speaker 3>that in the early days of Core. If any of

991
00:48:54.199 --> 00:48:55.079
<v Speaker 3>you remember.

992
00:48:55.119 --> 00:49:00.880
<v Speaker 2>We do, and that ad is lts like, it makes

993
00:49:00.880 --> 00:49:02.800
<v Speaker 2>sense to me you'd support two versions of dot.

994
00:49:02.719 --> 00:49:04.920
<v Speaker 3>Now indeed, which is another discussion that you then kind

995
00:49:04.920 --> 00:49:07.199
<v Speaker 3>of have internally about, oh, maybe this makes a lot

996
00:49:07.199 --> 00:49:09.079
<v Speaker 3>of sense, maybe we should do this more. We haven't

997
00:49:09.079 --> 00:49:12.039
<v Speaker 3>made decisions on those front, but we've certainly talked about it. Yeah.

998
00:49:12.119 --> 00:49:15.159
<v Speaker 2>No, but you're definitely feeling around for it's some things

999
00:49:15.239 --> 00:49:17.239
<v Speaker 2>you just want to keep sync. Like, I'm okay with

1000
00:49:17.320 --> 00:49:20.119
<v Speaker 2>you calling it Aspire nine. Yeah, even though there's no

1001
00:49:20.159 --> 00:49:21.880
<v Speaker 2>way you've made nine versions or anything.

1002
00:49:21.960 --> 00:49:25.599
<v Speaker 3>Yeah, absolutely, even though there's no version exactly. Yeah, because

1003
00:49:25.599 --> 00:49:27.440
<v Speaker 3>it's just you've got to try and you have to

1004
00:49:27.519 --> 00:49:32.639
<v Speaker 3>balance the well, technically, these things can all be independent versus. Yeah,

1005
00:49:32.679 --> 00:49:34.599
<v Speaker 3>but how should people think about it? Because you need

1006
00:49:34.599 --> 00:49:37.079
<v Speaker 3>to make it easy for everybody at the keyboard trying

1007
00:49:37.079 --> 00:49:38.840
<v Speaker 3>to figure out what they've got to do. You need

1008
00:49:38.840 --> 00:49:41.199
<v Speaker 3>to balance all of that. You've got to balance that thing.

1009
00:49:41.519 --> 00:49:45.280
<v Speaker 3>And then it's easy to invent scenarios of like, but

1010
00:49:45.320 --> 00:49:47.920
<v Speaker 3>what if we add a thing here feeds bug fixed

1011
00:49:47.920 --> 00:49:50.360
<v Speaker 3>to this package only and somebody really wants that, And

1012
00:49:50.360 --> 00:49:52.480
<v Speaker 3>I'm like, yeah, but really.

1013
00:49:52.880 --> 00:49:55.599
<v Speaker 2>Well, and especially in fast generating stuff, there should only

1014
00:49:55.679 --> 00:49:59.320
<v Speaker 2>be one current version of Aspire that I don't care

1015
00:49:59.320 --> 00:50:01.920
<v Speaker 2>what you're working on on the back end, it works, yeah, ideally,

1016
00:50:02.360 --> 00:50:05.760
<v Speaker 2>and same for all of this gen AI stuff because

1017
00:50:05.760 --> 00:50:08.159
<v Speaker 2>it is so iterating so rapidly. Yeah. Yeah.

1018
00:50:08.159 --> 00:50:10.679
<v Speaker 3>And then and then then in the AI stuff, the

1019
00:50:10.760 --> 00:50:12.880
<v Speaker 3>challenge is figuring out the things that are going to

1020
00:50:12.920 --> 00:50:16.719
<v Speaker 3>be enduring. Yeah, because you don't want to push everything down, right,

1021
00:50:16.840 --> 00:50:19.920
<v Speaker 3>So we have chat completions in and some people will

1022
00:50:19.920 --> 00:50:22.000
<v Speaker 3>look at that and say that's cute, like, but what

1023
00:50:22.039 --> 00:50:24.519
<v Speaker 3>about this other like mountain and stuff that exists in

1024
00:50:24.519 --> 00:50:27.920
<v Speaker 3>that ecosystem, Like what about audio? What about streaming audio

1025
00:50:28.480 --> 00:50:31.119
<v Speaker 3>backwards and forwards or like some some other thing. Right,

1026
00:50:31.400 --> 00:50:34.079
<v Speaker 3>We'll be like yeah, yeah, but we can't. We can't

1027
00:50:34.199 --> 00:50:37.199
<v Speaker 3>move different layers of dot and need to can move

1028
00:50:37.239 --> 00:50:41.599
<v Speaker 3>at different speeds, and we don't help anybody if we

1029
00:50:41.400 --> 00:50:45.280
<v Speaker 3>if we evolve too fast in the library, in the

1030
00:50:45.480 --> 00:50:46.960
<v Speaker 3>in the well.

1031
00:50:47.119 --> 00:50:49.320
<v Speaker 2>Some folks are arguing that a version of dot net

1032
00:50:49.360 --> 00:50:50.639
<v Speaker 2>every year is too fast.

1033
00:50:50.719 --> 00:50:53.840
<v Speaker 3>Yeah, exactly, Yeah, yeah, but that's already too fast for

1034
00:50:53.920 --> 00:50:58.280
<v Speaker 3>some people, right, And I think with that is actually

1035
00:50:58.360 --> 00:51:01.440
<v Speaker 3>often more about people when people don't want to feel

1036
00:51:01.519 --> 00:51:04.719
<v Speaker 3>forced to move more than they care about the fact

1037
00:51:04.719 --> 00:51:07.400
<v Speaker 3>that there's another version. And also people feel bad if

1038
00:51:07.440 --> 00:51:09.079
<v Speaker 3>the versions get too far ahead of them.

1039
00:51:09.280 --> 00:51:14.159
<v Speaker 2>When you're at six, you're missing out.

1040
00:51:14.400 --> 00:51:16.440
<v Speaker 3>Yeah, lots of people are on six. By the way,

1041
00:51:16.519 --> 00:51:19.440
<v Speaker 3>it's the most popular, not new, it's the most popular.

1042
00:51:19.239 --> 00:51:21.760
<v Speaker 2>Version that the LTS. Exactly.

1043
00:51:22.320 --> 00:51:24.880
<v Speaker 3>So the data tells us that roughly half of the

1044
00:51:24.880 --> 00:51:27.440
<v Speaker 3>dot netir base only moved from LTS to LTS.

1045
00:51:27.559 --> 00:51:30.079
<v Speaker 2>That's fine, that's good. That's a good thing to know.

1046
00:51:30.599 --> 00:51:32.960
<v Speaker 2>It just speaks to people care about that. Like there's

1047
00:51:32.960 --> 00:51:35.599
<v Speaker 2>another debate that is why why I have an LTS

1048
00:51:35.639 --> 00:51:37.559
<v Speaker 2>and a non LTS, like just make them all the same,

1049
00:51:38.159 --> 00:51:40.440
<v Speaker 2>But clearly it matters to a certain group of folks,

1050
00:51:40.480 --> 00:51:43.559
<v Speaker 2>it does. Yeah, yeah. Yeah, And I mean I'll included

1051
00:51:43.599 --> 00:51:48.400
<v Speaker 2>a link of Stephen Tabbs every year amazing, ridiculously complicated.

1052
00:51:49.639 --> 00:51:53.480
<v Speaker 2>You need to spend an afternoon reading blog post on performance. Absolutely,

1053
00:51:53.519 --> 00:51:55.519
<v Speaker 2>But I firmly in the camp of when you swip

1054
00:51:55.559 --> 00:51:58.880
<v Speaker 2>to a newer version of dot net, stuff's faster. Yeah,

1055
00:51:58.920 --> 00:52:00.039
<v Speaker 2>you just get two ways about it.

1056
00:52:00.159 --> 00:52:03.320
<v Speaker 3>Yeah, for all of for everybody listening, every version is faster.

1057
00:52:03.960 --> 00:52:06.639
<v Speaker 3>That's that's a that's a true is full step. We

1058
00:52:06.719 --> 00:52:08.320
<v Speaker 3>tried to we make it. We try to make every

1059
00:52:08.360 --> 00:52:12.199
<v Speaker 3>version of fast. And there's some amazing experiments happening, Like

1060
00:52:12.679 --> 00:52:15.800
<v Speaker 3>the runtime team has been experimenting with acinc and like

1061
00:52:15.880 --> 00:52:20.360
<v Speaker 3>a different version of acinc, Like like, not a different version,

1062
00:52:20.480 --> 00:52:24.000
<v Speaker 3>We're not going to change, different approach, different approach. What

1063
00:52:24.039 --> 00:52:25.599
<v Speaker 3>if the what if acinc was more of a run

1064
00:52:25.639 --> 00:52:27.280
<v Speaker 3>time feature and less of a compiler feature.

1065
00:52:27.559 --> 00:52:27.960
<v Speaker 2>Interesting?

1066
00:52:28.559 --> 00:52:29.519
<v Speaker 3>What does it do to perth?

1067
00:52:29.960 --> 00:52:30.239
<v Speaker 2>Yeah?

1068
00:52:30.360 --> 00:52:32.719
<v Speaker 3>What scenarios are better? What scenarios worst?

1069
00:52:32.800 --> 00:52:33.000
<v Speaker 1>Right?

1070
00:52:33.079 --> 00:52:34.119
<v Speaker 3>Like, what does that look like.

1071
00:52:34.440 --> 00:52:37.599
<v Speaker 2>Rather than just spitting out acinc i L with all

1072
00:52:37.639 --> 00:52:40.239
<v Speaker 2>of its overhead, what if you actually had underpinnings in

1073
00:52:40.280 --> 00:52:42.880
<v Speaker 2>the OS that under in the language that did this

1074
00:52:43.280 --> 00:52:44.320
<v Speaker 2>exactly right?

1075
00:52:44.360 --> 00:52:46.840
<v Speaker 3>So, like experiments for that like it grew growing out

1076
00:52:46.840 --> 00:52:48.679
<v Speaker 3>of you know you maybe you saw some of our

1077
00:52:48.679 --> 00:52:50.920
<v Speaker 3>experimentation with green threads and doesn't make sense to have

1078
00:52:50.960 --> 00:52:54.159
<v Speaker 3>a green thread model in dot net. The outcome of

1079
00:52:54.199 --> 00:52:56.280
<v Speaker 3>that was, yes, we could do this, but it would

1080
00:52:56.360 --> 00:52:58.639
<v Speaker 3>like be yet another way of doing ac Really what

1081
00:52:58.719 --> 00:53:01.920
<v Speaker 3>you need another one that I don't know what significant benefit.

1082
00:53:02.079 --> 00:53:03.679
<v Speaker 1>What are green threads that?

1083
00:53:04.360 --> 00:53:07.159
<v Speaker 3>It's they're kind of like the way that go routines

1084
00:53:07.360 --> 00:53:10.239
<v Speaker 3>in go work. It's just a it's a it's a

1085
00:53:10.239 --> 00:53:13.679
<v Speaker 3>different way of doing a sinc I'm not it's a

1086
00:53:13.719 --> 00:53:15.519
<v Speaker 3>bit far from the point to worry about it. Sure,

1087
00:53:15.599 --> 00:53:17.320
<v Speaker 3>we can grab a link, but what we'll do is

1088
00:53:17.320 --> 00:53:18.079
<v Speaker 3>grab a link to.

1089
00:53:18.599 --> 00:53:21.599
<v Speaker 2>Wed To the to the original issue called the Green

1090
00:53:21.599 --> 00:53:23.400
<v Speaker 2>thread Experiments. Good.

1091
00:53:23.960 --> 00:53:25.639
<v Speaker 3>It's a good it's a good interesting read if you

1092
00:53:25.679 --> 00:53:27.880
<v Speaker 3>care about learning what is green threads or about just

1093
00:53:27.920 --> 00:53:30.079
<v Speaker 3>this topic in general. But to be honest, something the

1094
00:53:30.079 --> 00:53:31.679
<v Speaker 3>most of you all probably don't have to care about.

1095
00:53:31.719 --> 00:53:35.400
<v Speaker 1>So, you know, so I want to just go back

1096
00:53:35.400 --> 00:53:39.199
<v Speaker 1>before we sign off here, you were talking about AOT

1097
00:53:39.599 --> 00:53:44.199
<v Speaker 1>and how AOT is progressing. Our friend Dylan Beattie, we

1098
00:53:44.519 --> 00:53:47.480
<v Speaker 1>just talked to think last week. Before this comes out

1099
00:53:47.559 --> 00:53:48.440
<v Speaker 1>right Richard.

1100
00:53:48.400 --> 00:53:48.880
<v Speaker 2>Something like that.

1101
00:53:49.280 --> 00:53:52.800
<v Speaker 1>He's great, yeah, all right, so he has a language

1102
00:53:52.800 --> 00:53:55.360
<v Speaker 1>called rock Star, and you know, of course it's fun.

1103
00:53:56.199 --> 00:54:00.320
<v Speaker 1>But he was waiting for AOT to really come into

1104
00:54:00.320 --> 00:54:03.480
<v Speaker 1>its own and he was like, dot Net eight finally delivered.

1105
00:54:03.559 --> 00:54:07.480
<v Speaker 1>So he can, you know, with a GitHub action, produce

1106
00:54:07.760 --> 00:54:13.840
<v Speaker 1>a fully you know, native version of his interactions the

1107
00:54:14.000 --> 00:54:17.280
<v Speaker 1>compiler or whatever you want to call it for all platforms.

1108
00:54:17.679 --> 00:54:22.280
<v Speaker 1>And so that's there in eight and dot net nin

1109
00:54:22.400 --> 00:54:25.199
<v Speaker 1>Does it just make faster and smaller executables or what?

1110
00:54:25.320 --> 00:54:27.599
<v Speaker 3>No? No, So it's more of the IoT at this

1111
00:54:27.639 --> 00:54:31.480
<v Speaker 3>point is the more of the ecosystem just works. So

1112
00:54:31.599 --> 00:54:34.840
<v Speaker 3>like in AF doesn't really work right, EF does a

1113
00:54:34.840 --> 00:54:37.039
<v Speaker 3>lot of things that don't work super great in AOT.

1114
00:54:37.199 --> 00:54:38.880
<v Speaker 3>So if you're trying to do a compiler, it's one

1115
00:54:38.920 --> 00:54:43.039
<v Speaker 3>hundred percent fine, but some parts of the stack don't

1116
00:54:43.079 --> 00:54:46.079
<v Speaker 3>necessarily work super well with it. And so it's it's

1117
00:54:46.079 --> 00:54:48.599
<v Speaker 3>more about broadening the ecosystem so that more and more

1118
00:54:48.639 --> 00:54:50.920
<v Speaker 3>of the things just work without you thinking about it.

1119
00:54:50.960 --> 00:54:54.599
<v Speaker 3>Is what the progression for AOT is for at least

1120
00:54:54.880 --> 00:54:57.519
<v Speaker 3>the next year or two or three, okay yo.

1121
00:54:58.239 --> 00:55:01.000
<v Speaker 2>In the context of AOT, just another subject before a

1122
00:55:01.039 --> 00:55:04.440
<v Speaker 2>run out of time Windows on ARM. Yeah, So, I

1123
00:55:04.480 --> 00:55:07.199
<v Speaker 2>mean my presumption has always been you guys are going

1124
00:55:07.239 --> 00:55:09.000
<v Speaker 2>to take care of this for us. It's dot net developers.

1125
00:55:09.039 --> 00:55:10.760
<v Speaker 2>If you want to run on ARM, you run on Arm,

1126
00:55:10.800 --> 00:55:12.199
<v Speaker 2>and Git will simply do.

1127
00:55:12.119 --> 00:55:13.440
<v Speaker 3>It the magic of Git.

1128
00:55:13.599 --> 00:55:16.239
<v Speaker 2>Yeah. Yeah. But if you're aoting do you have to

1129
00:55:16.239 --> 00:55:21.119
<v Speaker 2>pick a platform? Yes, yeah, so you're and the obvious

1130
00:55:21.119 --> 00:55:23.960
<v Speaker 2>one is x sixty four and because that's what everybody's running,

1131
00:55:24.000 --> 00:55:26.280
<v Speaker 2>so that makes it pretty easy. And then flip an

1132
00:55:26.400 --> 00:55:27.559
<v Speaker 2>ARM shows up and you're.

1133
00:55:27.440 --> 00:55:29.719
<v Speaker 3>Like, and then now you've got to do a new build.

1134
00:55:29.800 --> 00:55:31.599
<v Speaker 3>You need a new compile. You need a new compilation

1135
00:55:31.639 --> 00:55:34.199
<v Speaker 3>for the new platform that is targeting. That's the price

1136
00:55:34.239 --> 00:55:36.320
<v Speaker 3>of AOTRUS one of the process.

1137
00:55:36.440 --> 00:55:36.719
<v Speaker 2>Yeah.

1138
00:55:36.760 --> 00:55:39.480
<v Speaker 3>Absolutely, But if you are a compiler you probably want that.

1139
00:55:39.880 --> 00:55:43.440
<v Speaker 2>Yeah. And well, and if you are deploying a backhand

1140
00:55:43.519 --> 00:55:45.440
<v Speaker 2>chunk of code that needs to be absolutely as fast

1141
00:55:45.480 --> 00:55:48.719
<v Speaker 2>as possible and only runs in exactly one place as

1142
00:55:48.760 --> 00:55:52.800
<v Speaker 2>specific you know, instance in the measure, you can aot

1143
00:55:52.960 --> 00:55:53.280
<v Speaker 2>that thing.

1144
00:55:53.280 --> 00:55:55.920
<v Speaker 3>Also, if you're running into container and where you have

1145
00:55:56.000 --> 00:55:58.719
<v Speaker 3>a lot of control over this thing, ye might specify

1146
00:55:58.320 --> 00:56:00.679
<v Speaker 3>the way specify a lot of that plat form information

1147
00:56:00.800 --> 00:56:03.079
<v Speaker 3>so you know it's never going to change, right, But

1148
00:56:03.239 --> 00:56:05.000
<v Speaker 3>to your point, to some extent, you're still running on

1149
00:56:05.000 --> 00:56:06.000
<v Speaker 3>a CPU, like what do you?

1150
00:56:06.119 --> 00:56:08.840
<v Speaker 2>Yeah, you are, and that's just the job of the

1151
00:56:08.920 --> 00:56:11.440
<v Speaker 2>run time was to the CLR was to take care

1152
00:56:11.480 --> 00:56:11.880
<v Speaker 2>of this for me.

1153
00:56:12.000 --> 00:56:12.199
<v Speaker 3>Yeah.

1154
00:56:12.840 --> 00:56:14.800
<v Speaker 2>It is interesting to think because they are starting to

1155
00:56:14.880 --> 00:56:19.760
<v Speaker 2>roll out those big my ARM processors into Azure. Now

1156
00:56:20.159 --> 00:56:22.840
<v Speaker 2>that it's one thing for me to build in dot

1157
00:56:22.920 --> 00:56:25.280
<v Speaker 2>net and run it in a regular app service or

1158
00:56:25.320 --> 00:56:27.480
<v Speaker 2>then run it on a Linux instance, but now i'd

1159
00:56:27.519 --> 00:56:29.159
<v Speaker 2>have the option to run it as an ARM instance

1160
00:56:29.199 --> 00:56:32.280
<v Speaker 2>and say, you know that it's like twenty percent twenty

1161
00:56:32.280 --> 00:56:34.199
<v Speaker 2>five percent cheaper to running on a Linux instance. I

1162
00:56:34.239 --> 00:56:35.880
<v Speaker 2>wonder what it's going to be on an ARM instance

1163
00:56:36.079 --> 00:56:37.239
<v Speaker 2>that's less performance?

1164
00:56:37.400 --> 00:56:40.400
<v Speaker 3>Indeed, I don't know. Ye, yes, if you're using normal

1165
00:56:40.480 --> 00:56:42.719
<v Speaker 3>dot net then yeah, that we do. We've got we

1166
00:56:42.800 --> 00:56:43.039
<v Speaker 3>got you.

1167
00:56:44.280 --> 00:56:45.920
<v Speaker 2>Yeah, you know it's going to work. It's just like

1168
00:56:46.320 --> 00:56:49.679
<v Speaker 2>the simpler architecture of ARM, the way that it processes instructions.

1169
00:56:49.679 --> 00:56:53.159
<v Speaker 2>And I am clearly a hardware geek. I wonder if

1170
00:56:53.199 --> 00:56:57.440
<v Speaker 2>it'll actually outperform and be cheaper from a resource consumption perspective.

1171
00:56:58.079 --> 00:56:59.920
<v Speaker 2>But you guys also haven't had as much time to

1172
00:57:00.239 --> 00:57:03.280
<v Speaker 2>optimize for ARM. Yet like maybe another version or two

1173
00:57:03.360 --> 00:57:05.840
<v Speaker 2>from now, your ARM optimizations will be stunning.

1174
00:57:06.760 --> 00:57:08.519
<v Speaker 3>And it might well be that that's the thing that makes

1175
00:57:08.519 --> 00:57:10.880
<v Speaker 3>the perfect changes from a version in the future.

1176
00:57:10.880 --> 00:57:13.719
<v Speaker 2>Who knows, right, yeah, and jumps out again. Right, it's like, hey,

1177
00:57:13.760 --> 00:57:16.760
<v Speaker 2>you want this thing to rock running on an ARM instance, Andrew.

1178
00:57:16.400 --> 00:57:18.760
<v Speaker 1>I always I still can't get out of the mindset

1179
00:57:18.800 --> 00:57:22.320
<v Speaker 1>that well I will, but that ARM means lower power,

1180
00:57:22.679 --> 00:57:25.840
<v Speaker 1>right that is. But it isn't that that is totally changed.

1181
00:57:25.920 --> 00:57:29.280
<v Speaker 1>Isn't the MacBook M two kind of stuff? Isn't that

1182
00:57:29.280 --> 00:57:29.679
<v Speaker 1>an ARM.

1183
00:57:29.599 --> 00:57:32.000
<v Speaker 2>Chip whethery're up to N four now? And yes, I

1184
00:57:32.039 --> 00:57:34.880
<v Speaker 2>would say highest performance set up that exists right now. Yeah,

1185
00:57:34.880 --> 00:57:37.440
<v Speaker 2>that's because it's just super asic, right, Like it's the

1186
00:57:37.480 --> 00:57:40.880
<v Speaker 2>processor and the GPU and the CP and and the

1187
00:57:41.000 --> 00:57:44.159
<v Speaker 2>NPU and like everything integrated on this chip of doom.

1188
00:57:44.400 --> 00:57:45.239
<v Speaker 1>Right yeah.

1189
00:57:45.280 --> 00:57:47.519
<v Speaker 2>So, and that's where they're getting a lot of their wins.

1190
00:57:47.559 --> 00:57:50.719
<v Speaker 2>And that's to be a Dragon did with their Ultra AX, right,

1191
00:57:50.760 --> 00:57:54.119
<v Speaker 2>that's just new Windows on ARM platform. It's that process.

1192
00:57:54.480 --> 00:57:56.280
<v Speaker 3>Yeah, this is and this is part of the world

1193
00:57:56.320 --> 00:57:59.239
<v Speaker 3>that I don't spend as much time in. But the

1194
00:57:59.239 --> 00:58:02.039
<v Speaker 3>the when you start looking at the assembly that is

1195
00:58:02.079 --> 00:58:05.280
<v Speaker 3>getting generated when against x eighty six or A versus

1196
00:58:05.440 --> 00:58:07.960
<v Speaker 3>ARM versus Zombie two and such, it's like the ARM

1197
00:58:08.000 --> 00:58:11.880
<v Speaker 3>instruction set is getting fairly large. But like there's some

1198
00:58:11.920 --> 00:58:14.760
<v Speaker 3>cool stuff I've watched some people recently where you decompile it.

1199
00:58:14.840 --> 00:58:17.239
<v Speaker 3>If you use like one of the tools to do

1200
00:58:17.320 --> 00:58:20.840
<v Speaker 3>decompletion and you put like x eighty six versus ARM,

1201
00:58:21.400 --> 00:58:23.079
<v Speaker 3>and then you take the same code and you look

1202
00:58:23.119 --> 00:58:25.800
<v Speaker 3>at what the assembly looks at, it's vastly different and

1203
00:58:25.960 --> 00:58:28.760
<v Speaker 3>frequently looks Wastimply.

1204
00:58:30.239 --> 00:58:33.199
<v Speaker 2>You know, X sixty four x eighty six has this

1205
00:58:33.360 --> 00:58:38.000
<v Speaker 2>baggage of decades. You know that it's bridged from eight

1206
00:58:38.039 --> 00:58:40.239
<v Speaker 2>bit to sixty bit, to thirty two bit to sixty

1207
00:58:40.280 --> 00:58:42.599
<v Speaker 2>four bit, and ARM has only been thirty three or

1208
00:58:42.599 --> 00:58:46.039
<v Speaker 2>sixty four. Like, they're just fundamentally simpler. And you know,

1209
00:58:46.079 --> 00:58:49.400
<v Speaker 2>to the point where that snap Dragon machine is emulating

1210
00:58:49.840 --> 00:58:53.320
<v Speaker 2>X sixty four fast enough that you you barely notice it.

1211
00:58:53.320 --> 00:58:55.920
<v Speaker 2>It's more power consumptive, but it's fast.

1212
00:58:56.000 --> 00:58:57.639
<v Speaker 3>Yeah, for some of the for some of the people

1213
00:58:57.679 --> 00:58:59.760
<v Speaker 3>out there who are interested in this, you should absolutely well.

1214
00:58:59.760 --> 00:59:02.960
<v Speaker 3>First of all, Tobe and handsmen do some deep dot

1215
00:59:03.039 --> 00:59:04.960
<v Speaker 3>net where they drop to assembly. I believe you should

1216
00:59:04.960 --> 00:59:07.960
<v Speaker 3>probably watch some of that, but also just jump into

1217
00:59:08.000 --> 00:59:10.400
<v Speaker 3>some of the decompiler apps that are out there. It's

1218
00:59:10.519 --> 00:59:11.519
<v Speaker 3>write something basic.

1219
00:59:11.760 --> 00:59:12.079
<v Speaker 1>Just do it.

1220
00:59:12.440 --> 00:59:14.519
<v Speaker 3>Just do it, Yeah, do a console that right line

1221
00:59:14.880 --> 00:59:18.119
<v Speaker 3>and then look at the IL but then start and

1222
00:59:18.199 --> 00:59:20.079
<v Speaker 3>then start clicking around and look at some of the assembly,

1223
00:59:20.079 --> 00:59:21.960
<v Speaker 3>not to try and understand it, just to like have

1224
00:59:22.079 --> 00:59:24.000
<v Speaker 3>a look and see how it goes. If you and

1225
00:59:24.039 --> 00:59:25.960
<v Speaker 3>if you do want to learn that layer of the stack,

1226
00:59:26.039 --> 00:59:28.440
<v Speaker 3>like go nuts. It's so easy. It's not not easy.

1227
00:59:28.880 --> 00:59:32.159
<v Speaker 3>It is so available now for you if you want

1228
00:59:32.280 --> 00:59:34.480
<v Speaker 3>to choose to go into that part of the stack

1229
00:59:34.559 --> 00:59:36.400
<v Speaker 3>to go do it like you can do that now.

1230
00:59:36.960 --> 00:59:39.559
<v Speaker 3>It was kind of impossible for a long time for

1231
00:59:39.599 --> 00:59:41.519
<v Speaker 3>you to really figure that stuff out. And now there's

1232
00:59:41.599 --> 00:59:44.400
<v Speaker 3>lots more resources available. There's lots of very easy tool

1233
00:59:44.519 --> 00:59:46.480
<v Speaker 3>to just write some code. See what the output will

1234
00:59:46.559 --> 00:59:53.519
<v Speaker 3>be looked. Like last last weekend, I spent two hours

1235
00:59:53.800 --> 00:59:58.000
<v Speaker 3>and I had a basic app. I had a basic

1236
00:59:58.440 --> 01:00:01.400
<v Speaker 3>OS writing to the console right like I had created

1237
01:00:01.440 --> 01:00:05.119
<v Speaker 3>a grub bootloader that like booted an emulator in QMU

1238
01:00:05.239 --> 01:00:08.679
<v Speaker 3>and like was writing Hello World to the screen right.

1239
01:00:09.039 --> 01:00:11.119
<v Speaker 3>That was like I could follow a tutorial on the

1240
01:00:11.159 --> 01:00:13.519
<v Speaker 3>internet to get to the point where I was booting hardware.

1241
01:00:14.039 --> 01:00:17.960
<v Speaker 3>That's insane and it's amazing crazy, Like doesn't matter which

1242
01:00:18.039 --> 01:00:20.079
<v Speaker 3>part of the computing world that you want to be

1243
01:00:20.159 --> 01:00:25.639
<v Speaker 3>involved in right now, the availability of materials, it's ridiculous.

1244
01:00:26.119 --> 01:00:28.599
<v Speaker 3>So even though we said earlier that it would be

1245
01:00:28.639 --> 01:00:30.440
<v Speaker 3>scary in horror and maybe I wouldn't want to be

1246
01:00:30.480 --> 01:00:33.800
<v Speaker 3>a developed new developer these days, on the other hand, man,

1247
01:00:34.519 --> 01:00:36.480
<v Speaker 3>how much more stuff is available for me to learn

1248
01:00:36.480 --> 01:00:37.920
<v Speaker 3>if I'm a new developer these days.

1249
01:00:37.880 --> 01:00:40.119
<v Speaker 2>It's so much more to do. But this is where

1250
01:00:40.159 --> 01:00:43.239
<v Speaker 2>the tooling comes into play. Yeah, he you know, two

1251
01:00:43.320 --> 01:00:47.000
<v Speaker 2>years ago building cloud native and dot Net hard right,

1252
01:00:47.079 --> 01:00:50.880
<v Speaker 2>aspier maybe young, But it's easier now yep, and it'll

1253
01:00:50.880 --> 01:00:52.079
<v Speaker 2>only get easier from here.

1254
01:00:52.480 --> 01:00:54.519
<v Speaker 3>Yeah. This is the advantage of kind of Dotnet as

1255
01:00:54.519 --> 01:00:57.559
<v Speaker 3>a platform, right is because you have us my team

1256
01:00:57.599 --> 01:01:01.199
<v Speaker 3>constantly looking at what sort of does everybody have to build?

1257
01:01:01.280 --> 01:01:02.880
<v Speaker 3>How do we make that as easy as possible? And

1258
01:01:02.920 --> 01:01:05.599
<v Speaker 3>then as so as Donet evolves type of apps you

1259
01:01:05.639 --> 01:01:07.920
<v Speaker 3>need to build, chances are we've been making that easier

1260
01:01:07.960 --> 01:01:09.599
<v Speaker 3>for a bit for you, or at least we will

1261
01:01:09.599 --> 01:01:11.320
<v Speaker 3>be in a year from now. It's one of the

1262
01:01:11.400 --> 01:01:13.320
<v Speaker 3>challenges I try to set for myself and for my

1263
01:01:13.320 --> 01:01:17.199
<v Speaker 3>team is that constant progression of what what does modern mean?

1264
01:01:17.679 --> 01:01:18.000
<v Speaker 2>Yeah?

1265
01:01:18.079 --> 01:01:20.360
<v Speaker 3>Right, we're like, what is what is the if I

1266
01:01:20.480 --> 01:01:22.239
<v Speaker 3>was to go do if I if I am got

1267
01:01:22.239 --> 01:01:25.360
<v Speaker 3>a green fields project today and I'm like, yes, this time,

1268
01:01:25.719 --> 01:01:29.039
<v Speaker 3>this time, we're going to do it, right, then what

1269
01:01:29.079 --> 01:01:32.519
<v Speaker 3>would actually what would I think I would build and like?

1270
01:01:32.719 --> 01:01:34.800
<v Speaker 3>And how do I make that thing that you're trying

1271
01:01:34.840 --> 01:01:38.679
<v Speaker 3>to build be amazing without letting the people who aren't

1272
01:01:38.679 --> 01:01:40.360
<v Speaker 3>don't get the chance to do that green fields fall

1273
01:01:40.440 --> 01:01:43.360
<v Speaker 3>by the wayside, right, because you also need the It's

1274
01:01:43.360 --> 01:01:45.920
<v Speaker 3>often far more impactful for me to help the person

1275
01:01:45.960 --> 01:01:48.760
<v Speaker 3>who needs to get to that new, that different architecture.

1276
01:01:48.760 --> 01:01:50.519
<v Speaker 2>I think you have to do this in two steps. First,

1277
01:01:50.679 --> 01:01:53.599
<v Speaker 2>is what's the perfect greenfield athlmitation? And then how do

1278
01:01:53.760 --> 01:01:56.239
<v Speaker 2>you have these tools to bridge my brownfield after that

1279
01:01:56.320 --> 01:01:57.360
<v Speaker 2>space exactly.

1280
01:01:57.079 --> 01:01:59.280
<v Speaker 3>When you see I aspire trying to bridge that. Well, now, yeah,

1281
01:01:59.280 --> 01:02:00.840
<v Speaker 3>but you're doing a couple of years ago, we didn't

1282
01:02:00.840 --> 01:02:03.000
<v Speaker 3>know what the ideal of greenwill field space is. Right,

1283
01:02:04.239 --> 01:02:06.719
<v Speaker 3>you can and there's still like areas of there's still

1284
01:02:07.239 --> 01:02:09.639
<v Speaker 3>lots of areas to go look at, in that, in that,

1285
01:02:09.880 --> 01:02:10.719
<v Speaker 3>in this whole space.

1286
01:02:11.440 --> 01:02:13.719
<v Speaker 1>Well, Glenn, what's next for you after dart Net nine?

1287
01:02:13.760 --> 01:02:14.679
<v Speaker 1>What's in your inbox?

1288
01:02:14.880 --> 01:02:17.519
<v Speaker 3>I suspect I think ten is the next number after nine.

1289
01:02:17.840 --> 01:02:20.159
<v Speaker 1>You know, I had a feeling it's it's weird.

1290
01:02:20.400 --> 01:02:22.880
<v Speaker 3>Yeah, it's funny that thing thinking about.

1291
01:02:22.639 --> 01:02:25.280
<v Speaker 1>Like take a vacation or something before you jump back in.

1292
01:02:25.320 --> 01:02:30.320
<v Speaker 3>And typically December gets pretty quiet on the team, like

1293
01:02:30.519 --> 01:02:32.760
<v Speaker 3>towards the end of November and December.

1294
01:02:32.320 --> 01:02:34.039
<v Speaker 2>And I gotta bet there's a bunch of stuff that's

1295
01:02:34.039 --> 01:02:36.599
<v Speaker 2>sitting in like a v next topper that didn't make

1296
01:02:36.679 --> 01:02:37.360
<v Speaker 2>it there is.

1297
01:02:37.440 --> 01:02:39.159
<v Speaker 3>So there's a lot of teams, there's a lot of

1298
01:02:39.159 --> 01:02:41.400
<v Speaker 3>people who are now going through their backlogs. So there's

1299
01:02:41.400 --> 01:02:43.400
<v Speaker 3>a lot of backlog grooming happening at the moment, like

1300
01:02:43.440 --> 01:02:45.239
<v Speaker 3>what are the things we want to pop? We want

1301
01:02:45.239 --> 01:02:47.119
<v Speaker 3>to pop that we want to bring up in the

1302
01:02:47.159 --> 01:02:51.039
<v Speaker 3>next version. Aspire needs to do like some miners before ten,

1303
01:02:51.719 --> 01:02:54.840
<v Speaker 3>so it'll do some like backwards compatibile, like let's throw

1304
01:02:54.880 --> 01:02:57.079
<v Speaker 3>a few brand new features in here, like we just

1305
01:02:57.119 --> 01:02:59.599
<v Speaker 3>ship support for big areas like functions and friends, So

1306
01:02:59.639 --> 01:03:01.599
<v Speaker 3>they'll have to ship and they'll have to ship before

1307
01:03:01.800 --> 01:03:04.320
<v Speaker 3>the next version. There's a lot of that. There's a

1308
01:03:04.320 --> 01:03:07.119
<v Speaker 3>lot of which of these experiments do we now want

1309
01:03:07.119 --> 01:03:08.559
<v Speaker 3>to bring forward, which of them do we won't? A

1310
01:03:08.559 --> 01:03:10.519
<v Speaker 3>lot of those kinds of decisions have to be made, And.

1311
01:03:10.480 --> 01:03:13.559
<v Speaker 1>Then there's some Gotchas and Blazer that needed dressing.

1312
01:03:14.559 --> 01:03:17.880
<v Speaker 3>There is a lot of work on all of the platforms, right,

1313
01:03:18.000 --> 01:03:20.679
<v Speaker 3>they just all need constant evolution and constant love to

1314
01:03:20.679 --> 01:03:23.440
<v Speaker 3>make better. Maui has gotten way better, Blazer is significantly

1315
01:03:23.519 --> 01:03:27.320
<v Speaker 3>betting better, but Blazer in practice only very recently will

1316
01:03:27.400 --> 01:03:29.639
<v Speaker 3>kind of switch into this full stack kind of almost

1317
01:03:29.719 --> 01:03:32.320
<v Speaker 3>better framework mode of being a web stack. So like

1318
01:03:32.840 --> 01:03:35.000
<v Speaker 3>there's a lot of work there there. We've been talking

1319
01:03:35.039 --> 01:03:37.719
<v Speaker 3>a lot about reliability of connections within Blazer and trying

1320
01:03:37.719 --> 01:03:39.920
<v Speaker 3>to make sure circuits and connections and stuff and much

1321
01:03:39.960 --> 01:03:42.559
<v Speaker 3>more reliable and resilient. And what work can do there

1322
01:03:42.599 --> 01:03:44.760
<v Speaker 3>for example, like as well as a whole backlog of

1323
01:03:44.760 --> 01:03:47.760
<v Speaker 3>stuff that team has. Who knows what's going to happen

1324
01:03:47.840 --> 01:03:50.320
<v Speaker 3>in AI six months from now that people are going

1325
01:03:50.360 --> 01:03:52.920
<v Speaker 3>to need to use, like I need people like I

1326
01:03:52.960 --> 01:03:56.079
<v Speaker 3>need big companies who are today knocking on my door

1327
01:03:56.199 --> 01:03:59.119
<v Speaker 3>saying We've got a fleet of donet applications and we

1328
01:03:59.159 --> 01:04:02.400
<v Speaker 3>want them to using this new generative by staff today.

1329
01:04:02.800 --> 01:04:03.760
<v Speaker 2>Right, what do you got?

1330
01:04:04.320 --> 01:04:05.880
<v Speaker 3>So I need to figure out how to answer those

1331
01:04:05.880 --> 01:04:09.719
<v Speaker 3>people and then uh, and then and then all of

1332
01:04:09.719 --> 01:04:11.880
<v Speaker 3>that sort of stuff, Like every every week is different.

1333
01:04:11.920 --> 01:04:15.079
<v Speaker 2>It's a pretty cool problems, Glenn. Cool. I mean, there's

1334
01:04:15.079 --> 01:04:16.559
<v Speaker 2>still problems, but they're cool.

1335
01:04:16.840 --> 01:04:18.800
<v Speaker 3>I have a cool job, don't don't get me wrong.

1336
01:04:22.920 --> 01:04:24.679
<v Speaker 3>Not many other jobs where I get to listen to

1337
01:04:24.719 --> 01:04:27.639
<v Speaker 3>somebody talk to me about like a GC and like

1338
01:04:27.679 --> 01:04:31.800
<v Speaker 3>a runtime like acinc stuff as well as AI and

1339
01:04:31.960 --> 01:04:34.119
<v Speaker 3>like how we're going to do cloud native stuff and

1340
01:04:34.320 --> 01:04:36.719
<v Speaker 3>all in one week, right is all?

1341
01:04:36.760 --> 01:04:40.639
<v Speaker 1>That's good. It's all good stuff, Glenn Conder And thank

1342
01:04:40.639 --> 01:04:43.400
<v Speaker 1>you for spending this time with us. And wow, what

1343
01:04:43.480 --> 01:04:45.039
<v Speaker 1>a great what a great conversation.

1344
01:04:45.199 --> 01:04:45.840
<v Speaker 2>Thank you, Thank you.

1345
01:04:45.920 --> 01:04:48.480
<v Speaker 3>Hopefully it was enjoyable to everybody out there. And I'll

1346
01:04:48.559 --> 01:04:49.400
<v Speaker 3>see you all next.

1347
01:04:49.199 --> 01:04:51.239
<v Speaker 1>Time, all right, And we'll talk to you, dear listener

1348
01:04:51.559 --> 01:05:15.079
<v Speaker 1>next time. I'm dot net Products. Dot net Rocks is

1349
01:05:15.119 --> 01:05:18.800
<v Speaker 1>brought to you by Franklin's Net and produced by Pop Studios,

1350
01:05:19.199 --> 01:05:23.239
<v Speaker 1>a full service audio, video and post production facility located

1351
01:05:23.239 --> 01:05:26.159
<v Speaker 1>physically in New London, Connecticut, and of course in the

1352
01:05:26.239 --> 01:05:31.320
<v Speaker 1>cloud online at pwop dot com. Visit our website at

1353
01:05:31.360 --> 01:05:33.199
<v Speaker 1>d O T N E t R O c k

1354
01:05:33.440 --> 01:05:38.239
<v Speaker 1>S dot com for RSS feeds, downloads, mobile apps, comments,

1355
01:05:38.559 --> 01:05:41.119
<v Speaker 1>and access to the full archives going back to show

1356
01:05:41.199 --> 01:05:44.920
<v Speaker 1>number one, recorded in September two thousand and two. And

1357
01:05:45.000 --> 01:05:47.400
<v Speaker 1>make sure you check out our sponsors. They keep us

1358
01:05:47.440 --> 01:05:50.920
<v Speaker 1>in business. Now go write some code, see you next time.

1359
01:05:51.840 --> 01:05:53.559
<v Speaker 3>You got jam vans

1360
01:05:55.719 --> 01:06:03.079
<v Speaker 1>And the taxes are predial
