WEBVTT

1
00:00:01.080 --> 00:00:03.799
<v Speaker 1>How'd you like to listen to dot NetRocks with no ads?

2
00:00:04.440 --> 00:00:04.799
<v Speaker 2>Easy?

3
00:00:05.360 --> 00:00:08.560
<v Speaker 1>Become a patron for just five dollars a month. You

4
00:00:08.599 --> 00:00:11.320
<v Speaker 1>get access to a private RSS feed where all the

5
00:00:11.359 --> 00:00:14.560
<v Speaker 1>shows have no ads. Twenty dollars a month, we'll get

6
00:00:14.599 --> 00:00:18.440
<v Speaker 1>you that and a special dot NetRocks patron mug. Sign

7
00:00:18.519 --> 00:00:34.399
<v Speaker 1>up now at Patreon dot dot NetRocks dot com. Hey,

8
00:00:34.479 --> 00:00:37.039
<v Speaker 1>welcome back to dot net rocks. I'm Carl Franklin and

9
00:00:37.119 --> 00:00:40.399
<v Speaker 1>Averchard Campbell. We're here again for your listening pleasure and

10
00:00:40.479 --> 00:00:43.159
<v Speaker 1>you're geeking out pleasure and all of the things that

11
00:00:43.200 --> 00:00:45.759
<v Speaker 1>come with dot NetRocks. It's not just about dot net

12
00:00:45.799 --> 00:00:48.679
<v Speaker 1>as you know. Geez, We've been doing this since two

13
00:00:48.759 --> 00:00:50.399
<v Speaker 1>thousand and two, Richard, can you believe it?

14
00:00:50.640 --> 00:00:51.000
<v Speaker 2>Yeah?

15
00:00:51.039 --> 00:00:53.840
<v Speaker 3>Well, wow, be clear. I was a guest in two

16
00:00:53.840 --> 00:00:56.280
<v Speaker 3>thousand and four. I only came on routinely two thousand

17
00:00:56.280 --> 00:00:58.079
<v Speaker 3>and vivees, Oh, come on, man, you know I'm the

18
00:00:58.119 --> 00:01:02.759
<v Speaker 3>new guy, the new guy. Yeah.

19
00:01:02.880 --> 00:01:06.719
<v Speaker 1>It is kind of funny when people ask us, you know, hey,

20
00:01:06.760 --> 00:01:08.879
<v Speaker 1>do you have ever heard of podcasts? I'm like, no,

21
00:01:09.239 --> 00:01:11.959
<v Speaker 1>never heard of never heard of them. And then when

22
00:01:12.000 --> 00:01:17.319
<v Speaker 1>I actually tell them, you know, like what what? Okay,

23
00:01:18.439 --> 00:01:20.120
<v Speaker 1>let's get into better no framework.

24
00:01:28.079 --> 00:01:29.680
<v Speaker 2>All right, man, what do you go? You know what,

25
00:01:30.040 --> 00:01:30.359
<v Speaker 2>this is.

26
00:01:30.319 --> 00:01:34.000
<v Speaker 1>The first time I've actually looked at Microsoft power toys.

27
00:01:34.000 --> 00:01:37.359
<v Speaker 3>Oh really, yeah, I just I've done shows over on

28
00:01:37.439 --> 00:01:39.680
<v Speaker 3>run as on them. Well yeah, I think we've even

29
00:01:39.680 --> 00:01:42.239
<v Speaker 3>done them on Rock. Yeah, but I mean, I'm just

30
00:01:42.400 --> 00:01:45.319
<v Speaker 3>I'm not one to do that, right but right. However,

31
00:01:45.519 --> 00:01:48.959
<v Speaker 3>I did notice that a lot of Mark Rosenovic's tools

32
00:01:49.079 --> 00:01:54.239
<v Speaker 3>have made their way into power tools, such as zoom It,

33
00:01:54.799 --> 00:01:58.040
<v Speaker 3>you know, And so I took a look and there's

34
00:01:58.079 --> 00:02:00.920
<v Speaker 3>one thing in there that just lows me away. Then

35
00:02:00.959 --> 00:02:04.480
<v Speaker 3>I'm going to start using right away. It's advanced paced.

36
00:02:04.799 --> 00:02:06.079
<v Speaker 3>Oh so, there's a tool that.

37
00:02:06.159 --> 00:02:08.719
<v Speaker 1>Enables you to paste the content from your clipboard into

38
00:02:08.759 --> 00:02:13.039
<v Speaker 1>any format needed. It can paste as plain text, mark

39
00:02:13.120 --> 00:02:17.280
<v Speaker 1>down Jason, a text file, an HTML file, or a

40
00:02:17.319 --> 00:02:21.599
<v Speaker 1>PNG file directly within the user experience, or with a

41
00:02:21.639 --> 00:02:25.879
<v Speaker 1>direct keystroke invoke and get this. It can also extract

42
00:02:25.919 --> 00:02:29.159
<v Speaker 1>and paste the text directly from an image in your clipboard,

43
00:02:29.360 --> 00:02:33.479
<v Speaker 1>or transcode audio or video from your clipboard into an

44
00:02:33.560 --> 00:02:35.280
<v Speaker 1>MP three or MP four file.

45
00:02:36.560 --> 00:02:40.039
<v Speaker 2>What. Yeah, that's impressive. When did this happen? That's crazy?

46
00:02:40.360 --> 00:02:41.719
<v Speaker 2>This is some good stuff.

47
00:02:42.039 --> 00:02:43.960
<v Speaker 3>Yeah, there's a lot. I mean, there's so many zoom

48
00:02:44.000 --> 00:02:47.159
<v Speaker 3>it's an obvious win. Yeah. The mouse utilities, you know,

49
00:02:47.199 --> 00:02:48.879
<v Speaker 3>I have a lot of screens. Yeah, and they're not

50
00:02:48.960 --> 00:02:51.719
<v Speaker 3>all symmetrical, so being able to turn on where the

51
00:02:51.719 --> 00:02:52.360
<v Speaker 3>hell's the mouse?

52
00:02:53.240 --> 00:02:54.199
<v Speaker 2>You have it light up?

53
00:02:54.319 --> 00:02:56.879
<v Speaker 1>It's I know, I have three screens, and every time

54
00:02:56.960 --> 00:02:59.120
<v Speaker 1>Kelly and I play like a game or something, she's

55
00:02:59.240 --> 00:03:01.759
<v Speaker 1>like she's ticking the mouse and then she's like rolling

56
00:03:01.800 --> 00:03:04.319
<v Speaker 1>it around on the desktop to find out where it is.

57
00:03:04.800 --> 00:03:07.800
<v Speaker 2>Where is the mouse? Where's the mouse? Look out?

58
00:03:07.840 --> 00:03:10.840
<v Speaker 3>The mouse finders great, The imageer sizer is amazing, Like

59
00:03:10.960 --> 00:03:13.199
<v Speaker 3>just a great tool. There's so many good tools in this.

60
00:03:13.280 --> 00:03:15.080
<v Speaker 3>If you're not using power toys, you're missing out.

61
00:03:15.159 --> 00:03:18.280
<v Speaker 1>Oh I totally have been. So I am definitely installed.

62
00:03:18.319 --> 00:03:20.599
<v Speaker 1>I've already downloaded. I didn't install it before the show,

63
00:03:20.639 --> 00:03:24.120
<v Speaker 1>but definitely installing it. This is good, good, good, good.

64
00:03:24.240 --> 00:03:24.560
<v Speaker 2>Yes.

65
00:03:24.800 --> 00:03:27.400
<v Speaker 1>Yeah, So Richard, before we do the comment, let's talk

66
00:03:27.400 --> 00:03:28.439
<v Speaker 1>about nineteen forty two.

67
00:03:28.639 --> 00:03:30.280
<v Speaker 2>Okay, what do you want to talk about.

68
00:03:30.319 --> 00:03:34.960
<v Speaker 1>Well, many significant events took place in nineteen forty two,

69
00:03:34.960 --> 00:03:38.560
<v Speaker 1>many many, including the Battle of Los Angeles, the Second

70
00:03:38.639 --> 00:03:42.919
<v Speaker 1>Battle of l La Main, and the Battle of midway

71
00:03:43.039 --> 00:03:46.039
<v Speaker 1>right where the US Navy defeated the Japanese Navy, which

72
00:03:46.080 --> 00:03:47.199
<v Speaker 1>was a turning point.

73
00:03:46.919 --> 00:03:49.319
<v Speaker 2>Of the war. Yeah, they never recovered.

74
00:03:49.039 --> 00:03:52.280
<v Speaker 1>Right, And while in Germany, Nazi officials met to plan

75
00:03:52.360 --> 00:03:56.919
<v Speaker 1>the quote unquote Final Solution of God and Ann Frank's

76
00:03:56.919 --> 00:04:00.800
<v Speaker 1>family went into hiding. Also teen forty two, and this

77
00:04:00.840 --> 00:04:02.199
<v Speaker 1>is probably what you were going to talk about. The

78
00:04:02.199 --> 00:04:05.800
<v Speaker 1>Manhattan Project needed to create a chain reaction, a crucial

79
00:04:05.840 --> 00:04:08.680
<v Speaker 1>step toward proving that it would be possible to make

80
00:04:08.719 --> 00:04:13.159
<v Speaker 1>an atomic bomb. And these scientists achieved this sustained nuclear reaction,

81
00:04:13.280 --> 00:04:16.800
<v Speaker 1>the first created by humans, on December two, nineteen forty two,

82
00:04:16.920 --> 00:04:20.160
<v Speaker 1>in a squash court under the stands of the.

83
00:04:20.160 --> 00:04:21.480
<v Speaker 2>Stag under the squash court.

84
00:04:21.560 --> 00:04:24.639
<v Speaker 1>Yeah, yeah, under the stands the stag field at the

85
00:04:24.720 --> 00:04:25.879
<v Speaker 1>University of Chicago.

86
00:04:26.319 --> 00:04:27.959
<v Speaker 2>Now that's America. Now listen.

87
00:04:28.399 --> 00:04:31.240
<v Speaker 3>Pile one was not a lot of power, right, It

88
00:04:31.279 --> 00:04:33.040
<v Speaker 3>was just a little bit, but it was Remember this

89
00:04:33.199 --> 00:04:36.120
<v Speaker 3>was all theoretical. Is it actually possible to have a

90
00:04:36.240 --> 00:04:37.959
<v Speaker 3>chain reaction to heat up?

91
00:04:38.279 --> 00:04:38.560
<v Speaker 2>Right?

92
00:04:38.639 --> 00:04:42.279
<v Speaker 3>And so literally there's they learned that they had to

93
00:04:42.360 --> 00:04:44.439
<v Speaker 3>use graphite, and it had to be very pure graph

94
00:04:44.519 --> 00:04:48.079
<v Speaker 3>light or it would burn blocks of graphite, blocks of

95
00:04:48.279 --> 00:04:54.360
<v Speaker 3>aluminum of uranium oxide blocks of metallic uranium, and they

96
00:04:54.360 --> 00:04:58.720
<v Speaker 3>would literally slide them in these tubes closer together, further apart,

97
00:04:58.759 --> 00:05:01.040
<v Speaker 3>and so forth. So they got to they were pursuing

98
00:05:01.079 --> 00:05:04.199
<v Speaker 3>this thing called K, the rate of reaction. They were

99
00:05:04.199 --> 00:05:06.560
<v Speaker 3>trying to get a K above one. So there was

100
00:05:06.600 --> 00:05:08.279
<v Speaker 3>an increasing chain reaction.

101
00:05:08.079 --> 00:05:08.920
<v Speaker 2>But not a lot above one.

102
00:05:09.920 --> 00:05:12.399
<v Speaker 3>But it just sort of proved the point that criticality

103
00:05:12.560 --> 00:05:15.199
<v Speaker 3>was a real thing. You know, they the physicists had

104
00:05:15.240 --> 00:05:17.439
<v Speaker 3>figured this out. And this is weird, right, And most

105
00:05:17.439 --> 00:05:20.759
<v Speaker 3>of the time we have empirical data, like we know,

106
00:05:20.959 --> 00:05:23.199
<v Speaker 3>this natural thing does this thing, and then we use

107
00:05:23.240 --> 00:05:25.399
<v Speaker 3>science to figure out why it does it. Right, here

108
00:05:25.480 --> 00:05:28.360
<v Speaker 3>was science saying this should happen, and now that we're

109
00:05:28.399 --> 00:05:30.639
<v Speaker 3>physically doing it to prove that it did app.

110
00:05:30.480 --> 00:05:35.160
<v Speaker 1>Yeah, wow, big big invention innovation there. But I just

111
00:05:35.319 --> 00:05:37.839
<v Speaker 1>like how you know it was like a squash court

112
00:05:37.839 --> 00:05:39.040
<v Speaker 1>at the University of Chicago.

113
00:05:39.240 --> 00:05:41.399
<v Speaker 3>Yeah yeah, And not only that, but they left it

114
00:05:41.439 --> 00:05:44.360
<v Speaker 3>down there for years before they finally we should take

115
00:05:44.399 --> 00:05:44.879
<v Speaker 3>that away.

116
00:05:45.160 --> 00:05:50.519
<v Speaker 1>Yeah, anything else you want to say about nineteen forty two.

117
00:05:51.079 --> 00:05:55.040
<v Speaker 3>This was the year of the creation of cyanoacrolytes, or

118
00:05:55.079 --> 00:05:59.639
<v Speaker 3>what you would know as super Glue. Oh Eastman Kodak.

119
00:05:59.399 --> 00:06:05.199
<v Speaker 1>Superglue is currently holding one of the arms onto my

120
00:06:05.639 --> 00:06:07.199
<v Speaker 1>metaquest two.

121
00:06:07.480 --> 00:06:11.480
<v Speaker 2>There you go, because this is funny.

122
00:06:11.920 --> 00:06:14.399
<v Speaker 1>When I went to, you know, figure out how to

123
00:06:15.040 --> 00:06:18.600
<v Speaker 1>take it apart and put things on, I misread the

124
00:06:18.639 --> 00:06:21.240
<v Speaker 1>instructions and ended up pulling one of the straps off.

125
00:06:21.279 --> 00:06:23.319
<v Speaker 1>So oops, Yeah, that wasn't good.

126
00:06:23.360 --> 00:06:24.560
<v Speaker 2>But super Glues to the rescue.

127
00:06:24.600 --> 00:06:27.360
<v Speaker 3>This is also the forty two is also the first

128
00:06:27.439 --> 00:06:30.879
<v Speaker 3>year that they sort of began the idea of radio astronomy.

129
00:06:30.879 --> 00:06:33.519
<v Speaker 3>There was so much advancements in radar during the war

130
00:06:34.360 --> 00:06:37.040
<v Speaker 3>that the idea that we could actually detect radio ways

131
00:06:37.040 --> 00:06:39.279
<v Speaker 3>from other sources. So they're trying to read their own

132
00:06:39.360 --> 00:06:41.920
<v Speaker 3>radio waves to find aircraft coming towards them, but they

133
00:06:42.040 --> 00:06:44.160
<v Speaker 3>realized there's other ones going on and these were actually

134
00:06:44.160 --> 00:06:47.360
<v Speaker 3>emissions coming from the Sun, and so the research that

135
00:06:47.439 --> 00:06:51.160
<v Speaker 3>guys like James Stanley Hay did in the early days

136
00:06:51.560 --> 00:06:55.319
<v Speaker 3>became radio astronomy. But the first sort of written down

137
00:06:55.439 --> 00:06:57.519
<v Speaker 3>version of there are radio waves coming from the summays

138
00:06:57.519 --> 00:06:58.399
<v Speaker 3>in nineteen forty two.

139
00:06:59.639 --> 00:07:01.759
<v Speaker 1>Well, I guess that's enough geeking out for now. Who's

140
00:07:01.800 --> 00:07:02.560
<v Speaker 1>talking to us today?

141
00:07:02.639 --> 00:07:05.399
<v Speaker 3>Richard grabbed a comment off show nineteen oh nine, the

142
00:07:05.399 --> 00:07:08.079
<v Speaker 3>one we did back in augusta twenty four with jah

143
00:07:08.120 --> 00:07:13.000
<v Speaker 3>Shen Shang, which was talking about Aspire, specifically an approach

144
00:07:13.079 --> 00:07:15.399
<v Speaker 3>to using containers because the spier gives you a framework

145
00:07:15.439 --> 00:07:18.079
<v Speaker 3>to kind of go about that. We got this great

146
00:07:18.079 --> 00:07:21.959
<v Speaker 3>comment from Michael Warrence who said, a great episode. Although

147
00:07:22.160 --> 00:07:24.120
<v Speaker 3>I noticed a slight weariness in Carl at the start

148
00:07:24.120 --> 00:07:25.959
<v Speaker 3>of this episode. I know it's been a long strange

149
00:07:26.000 --> 00:07:27.759
<v Speaker 3>journey for you guys, but you do a great job

150
00:07:27.800 --> 00:07:31.839
<v Speaker 3>that is widely appreciated developer community. Still thanks, But in

151
00:07:31.879 --> 00:07:34.759
<v Speaker 3>this episode, hearing Jian Shen's down to earth approach, which

152
00:07:34.800 --> 00:07:37.199
<v Speaker 3>is what we really liked about talking here, which she

153
00:07:37.360 --> 00:07:40.959
<v Speaker 3>immediately practical, super easy to engage with. All my knowledge

154
00:07:40.959 --> 00:07:46.639
<v Speaker 3>has come from screwon around and getting burned. The great

155
00:07:46.680 --> 00:07:49.399
<v Speaker 3>thing about Donna Rodgs is the way a given topic

156
00:07:49.439 --> 00:07:52.120
<v Speaker 3>off and triggers super interesting chats about deeper subjects. During

157
00:07:52.120 --> 00:07:56.439
<v Speaker 3>your conversation, a couple of topics emerged. Opinionatedness, this is

158
00:07:56.480 --> 00:08:00.000
<v Speaker 3>such a word, and also the definition of micro services,

159
00:08:00.120 --> 00:08:04.199
<v Speaker 3>which we pressed on both right and Michael goes out

160
00:08:04.199 --> 00:08:06.319
<v Speaker 3>to say, it seems that the fellow developers have been

161
00:08:06.360 --> 00:08:11.519
<v Speaker 3>most opposed to opinionated software are the most opinionated developers. Yeah,

162
00:08:11.560 --> 00:08:12.959
<v Speaker 3>it's usually the person who wants to be able to

163
00:08:13.000 --> 00:08:14.720
<v Speaker 3>do whatever they want, however they want.

164
00:08:15.000 --> 00:08:15.120
<v Speaker 4>Right.

165
00:08:15.199 --> 00:08:18.000
<v Speaker 3>It gets annoyed when tools are built to be opinioned.

166
00:08:18.040 --> 00:08:20.800
<v Speaker 3>They want ultimate flexibility, which creates more problems I think

167
00:08:20.800 --> 00:08:21.279
<v Speaker 3>than it solved.

168
00:08:21.319 --> 00:08:23.079
<v Speaker 2>Yeah, my opinion, not yours. Right.

169
00:08:23.800 --> 00:08:25.480
<v Speaker 3>As for micro services, all I can say is that

170
00:08:25.519 --> 00:08:27.240
<v Speaker 3>all the software I've worked on the past ten years

171
00:08:27.240 --> 00:08:29.639
<v Speaker 3>has distributed components in it which all need to be

172
00:08:29.639 --> 00:08:30.800
<v Speaker 3>coordinated correctly.

173
00:08:30.439 --> 00:08:31.600
<v Speaker 2>For the application to run.

174
00:08:32.039 --> 00:08:33.840
<v Speaker 3>And as they used to say, the sum is greater

175
00:08:33.879 --> 00:08:38.960
<v Speaker 3>than the whole, right, So having an opinionated orchestration approach

176
00:08:39.080 --> 00:08:44.360
<v Speaker 3>like a spire is great. Dashboard telemetry, service discovery all

177
00:08:44.399 --> 00:08:46.960
<v Speaker 3>out of the box. And I very much agree on

178
00:08:47.600 --> 00:08:50.360
<v Speaker 3>XML XAMAL YAML versus Jason. I thought Jason was a

179
00:08:50.399 --> 00:08:52.679
<v Speaker 3>great improvement to XML, but I can see the place

180
00:08:52.679 --> 00:08:55.519
<v Speaker 3>for XML and MAUI to continue the concept of markup.

181
00:08:55.919 --> 00:08:58.120
<v Speaker 3>It was a great guest and a great show. Keep

182
00:08:58.159 --> 00:08:58.840
<v Speaker 3>on rocking.

183
00:08:59.039 --> 00:08:59.200
<v Speaker 2>You know.

184
00:08:59.320 --> 00:09:01.360
<v Speaker 1>I had a meeting with the customer today and they

185
00:09:01.399 --> 00:09:04.879
<v Speaker 1>asked me if I'd ever done EXSLT transformed. Oh my goodness,

186
00:09:04.919 --> 00:09:07.039
<v Speaker 1>and I said, Yeah, back in the early two thousands,

187
00:09:07.039 --> 00:09:12.120
<v Speaker 1>I tried it once and I had to have therapy afterwards.

188
00:09:13.200 --> 00:09:16.200
<v Speaker 2>Yeah, we all did it. May rest in peace. Yeah,

189
00:09:16.440 --> 00:09:17.759
<v Speaker 2>so it's okay, we can let it go.

190
00:09:18.039 --> 00:09:20.879
<v Speaker 1>Yeah. Well, and what I got to say about that

191
00:09:20.919 --> 00:09:24.840
<v Speaker 1>comment is that, yeah, I love dot net Aspire because

192
00:09:25.559 --> 00:09:28.080
<v Speaker 1>you know, it's opinion, ain't but it's flexible. You know. Yeah,

193
00:09:28.320 --> 00:09:30.840
<v Speaker 1>we're going with my opinion first, but if you've got

194
00:09:30.879 --> 00:09:32.360
<v Speaker 1>another opinion, it's okay.

195
00:09:32.279 --> 00:09:33.559
<v Speaker 2>You swap it in and it's all right.

196
00:09:33.639 --> 00:09:35.559
<v Speaker 3>I just like, Yeah, I like that ability to experiment,

197
00:09:35.600 --> 00:09:38.440
<v Speaker 3>to try different services and so forth, to not be

198
00:09:38.679 --> 00:09:40.200
<v Speaker 3>locked into something right up front.

199
00:09:40.279 --> 00:09:40.480
<v Speaker 2>Right.

200
00:09:40.600 --> 00:09:42.200
<v Speaker 3>Yeah, so, Michael, thank you so much for your comment.

201
00:09:42.279 --> 00:09:44.120
<v Speaker 3>Any copy of music Cobey is on its way to you.

202
00:09:44.159 --> 00:09:45.600
<v Speaker 3>And if you'd like a copy of music Code, I

203
00:09:45.639 --> 00:09:47.399
<v Speaker 3>write a comment on the website at dot net rocks

204
00:09:47.440 --> 00:09:49.360
<v Speaker 3>dot com or all the facebooks you publish every show there,

205
00:09:49.360 --> 00:09:50.679
<v Speaker 3>and you comment there and I read on the show.

206
00:09:50.720 --> 00:09:52.960
<v Speaker 2>We'll send your copy. Music go buy a music.

207
00:09:52.639 --> 00:09:54.960
<v Speaker 1>Code by has a new track track twenty two, and

208
00:09:55.320 --> 00:09:57.679
<v Speaker 1>the orders are coming in, and not only just for

209
00:09:57.759 --> 00:10:00.840
<v Speaker 1>twenty two, but for the collections. We have MP three,

210
00:10:00.960 --> 00:10:04.320
<v Speaker 1>Wave and Flak collections now all twenty two track. If

211
00:10:04.320 --> 00:10:05.960
<v Speaker 1>you're a flacker, yeah, if you're a flacker.

212
00:10:06.759 --> 00:10:06.879
<v Speaker 2>Uh.

213
00:10:07.440 --> 00:10:11.120
<v Speaker 1>Maybe people don't know what flak is. Flak is lossless

214
00:10:11.200 --> 00:10:12.840
<v Speaker 1>like wave, but it's half the size.

215
00:10:13.039 --> 00:10:13.360
<v Speaker 2>Yeah.

216
00:10:13.399 --> 00:10:16.480
<v Speaker 1>So you can download the flack zip file which is

217
00:10:16.519 --> 00:10:19.399
<v Speaker 1>half the size. Unzip it, convert him back to waves

218
00:10:19.440 --> 00:10:20.960
<v Speaker 1>and you've got perfect audio again.

219
00:10:21.080 --> 00:10:21.360
<v Speaker 2>Nice.

220
00:10:21.480 --> 00:10:23.879
<v Speaker 1>Yeah, so it's good. All right, let's bring in our

221
00:10:23.919 --> 00:10:27.000
<v Speaker 1>friend Rob Richardson. We haven't talked to in a long time.

222
00:10:27.200 --> 00:10:28.039
<v Speaker 2>Too long. Yeah.

223
00:10:28.080 --> 00:10:31.440
<v Speaker 1>So Rob is a software craftsman building web properties in ASP,

224
00:10:31.559 --> 00:10:36.080
<v Speaker 1>neut and Node, React and View. He is a Microsoft MVP,

225
00:10:36.720 --> 00:10:40.159
<v Speaker 1>a published author, frequent speaker at conferences, user groups, and

226
00:10:40.200 --> 00:10:43.840
<v Speaker 1>community events, and a diligent teacher and student of high

227
00:10:43.919 --> 00:10:47.840
<v Speaker 1>quality software development. You can find his talks on robrich

228
00:10:47.919 --> 00:10:52.279
<v Speaker 1>dot org, slash presentations and follow him on masthodon at,

229
00:10:52.399 --> 00:10:56.840
<v Speaker 1>Rob rich at Hackeyderm dot io. Welcome back, old friend.

230
00:10:56.919 --> 00:10:58.039
<v Speaker 1>How are you, dude?

231
00:10:58.080 --> 00:11:00.200
<v Speaker 4>Well, it's great to be here. It's fun to be

232
00:11:00.200 --> 00:11:02.600
<v Speaker 4>able to dig into all things code.

233
00:11:02.840 --> 00:11:03.919
<v Speaker 2>Yeah, sure is.

234
00:11:04.159 --> 00:11:07.120
<v Speaker 1>I was hanging out with you and a bunch of

235
00:11:07.159 --> 00:11:14.480
<v Speaker 1>people after Tulsa Users Group, and that's when I almost

236
00:11:14.480 --> 00:11:16.240
<v Speaker 1>did a double take because the last time I saw

237
00:11:16.279 --> 00:11:20.320
<v Speaker 1>you in person, you looked like a yogi. I did

238
00:11:21.039 --> 00:11:24.600
<v Speaker 1>you know long hair, long beard? I mean you're and

239
00:11:24.639 --> 00:11:28.440
<v Speaker 1>you're tall. So yeah, it was quite a striking presence.

240
00:11:28.440 --> 00:11:31.120
<v Speaker 1>And now short hair, no facial hair. You like cleaning

241
00:11:31.159 --> 00:11:31.799
<v Speaker 1>up real good?

242
00:11:32.279 --> 00:11:32.600
<v Speaker 4>Thanks?

243
00:11:33.000 --> 00:11:33.360
<v Speaker 2>Yeah.

244
00:11:33.440 --> 00:11:35.559
<v Speaker 4>Yeah, my niece has started calling me sasquatch.

245
00:11:36.200 --> 00:11:42.360
<v Speaker 2>Yeah, there's a line. Do you just grunt er?

246
00:11:44.279 --> 00:11:46.480
<v Speaker 4>Yeah? After a while I was Uncle Harry dude, and

247
00:11:46.480 --> 00:11:49.720
<v Speaker 4>now I'm uncle Unhirry dude.

248
00:11:49.960 --> 00:11:50.039
<v Speaker 1>Ye.

249
00:11:50.159 --> 00:11:52.799
<v Speaker 2>Anyway, what you've been doing lately.

250
00:11:52.919 --> 00:11:55.200
<v Speaker 4>I've been doing a bunch of conference speaking and a

251
00:11:55.200 --> 00:11:58.840
<v Speaker 4>bunch of coding. It's fun to dig into all things

252
00:11:59.080 --> 00:12:02.080
<v Speaker 4>dot net and dot net Aspire came about, which is

253
00:12:02.120 --> 00:12:05.360
<v Speaker 4>really cool. It kind of brings open telemetry into view,

254
00:12:05.399 --> 00:12:07.919
<v Speaker 4>and so it's been fun to dig into the DevOps

255
00:12:08.000 --> 00:12:11.240
<v Speaker 4>parts of all the things doctor and kupernettes, but also

256
00:12:11.279 --> 00:12:13.679
<v Speaker 4>fun to kind of dig into the code too. With

257
00:12:13.960 --> 00:12:16.320
<v Speaker 4>open telemetry and dot net Aspire, it's been a lot

258
00:12:16.320 --> 00:12:16.639
<v Speaker 4>of fun.

259
00:12:16.799 --> 00:12:20.240
<v Speaker 1>Do you think more people are using open telemetry as

260
00:12:20.480 --> 00:12:24.679
<v Speaker 1>a result of embracing dot net Aspire that otherwise would

261
00:12:24.679 --> 00:12:25.360
<v Speaker 1>not have I.

262
00:12:25.279 --> 00:12:28.639
<v Speaker 4>Think so open telemetry has kind of become the de

263
00:12:28.720 --> 00:12:32.559
<v Speaker 4>facto standard for how we do logging, tracing and metrics,

264
00:12:32.720 --> 00:12:37.639
<v Speaker 4>and so it's getting built into appliances and software frameworks.

265
00:12:37.679 --> 00:12:39.759
<v Speaker 4>And so the really cool part is now we get

266
00:12:39.799 --> 00:12:42.120
<v Speaker 4>to play with that in dot net as well. You know,

267
00:12:42.120 --> 00:12:45.320
<v Speaker 4>we've already always had activities and interesting things there, but

268
00:12:45.919 --> 00:12:48.600
<v Speaker 4>now because it's a very well paved paths it works

269
00:12:48.600 --> 00:12:49.159
<v Speaker 4>out really well.

270
00:12:49.240 --> 00:12:51.960
<v Speaker 1>Yeah, isn't Azure app insights using open telemetry in the

271
00:12:51.960 --> 00:12:52.679
<v Speaker 1>background now?

272
00:12:52.799 --> 00:12:53.080
<v Speaker 2>I think?

273
00:12:53.120 --> 00:12:56.240
<v Speaker 4>So it becomes an open telemetry sink in a really

274
00:12:56.279 --> 00:12:59.080
<v Speaker 4>elegant way. Yeah, it did speak its own protocol for

275
00:12:59.120 --> 00:13:01.240
<v Speaker 4>a time, but yeah, we're all kind of moving towards

276
00:13:01.240 --> 00:13:04.240
<v Speaker 4>open telemetry as the protocol for how to do these things.

277
00:13:04.519 --> 00:13:06.799
<v Speaker 1>I think the first time that we heard about open

278
00:13:06.799 --> 00:13:11.639
<v Speaker 1>telemetry was with Leila in Porto, and yeah, kind of

279
00:13:11.799 --> 00:13:14.559
<v Speaker 1>kind of blew our mind. But I also thought about

280
00:13:14.600 --> 00:13:20.600
<v Speaker 1>all of the third party telemetry packages that you could

281
00:13:20.639 --> 00:13:24.200
<v Speaker 1>buy or subscribe to, you know, and what was their

282
00:13:24.200 --> 00:13:27.399
<v Speaker 1>reaction to to it. And you don't really hear too

283
00:13:27.480 --> 00:13:30.159
<v Speaker 1>much about these guys anymore, although I don't. I don't,

284
00:13:30.200 --> 00:13:30.919
<v Speaker 1>but maybe you do.

285
00:13:31.200 --> 00:13:33.919
<v Speaker 4>Yeah, the cool part is now that we kind of

286
00:13:34.000 --> 00:13:37.519
<v Speaker 4>have reached a standard. Maybe we don't mind. You know,

287
00:13:37.559 --> 00:13:39.480
<v Speaker 4>I can still pipe it off to Splunk or new

288
00:13:39.519 --> 00:13:42.120
<v Speaker 4>Relic or wherever I want to send it, but now

289
00:13:42.120 --> 00:13:43.600
<v Speaker 4>we're all speaking the same protocol.

290
00:13:44.080 --> 00:13:44.320
<v Speaker 2>Yeah.

291
00:13:44.360 --> 00:13:47.080
<v Speaker 4>So for example, I was futzing with engine X and

292
00:13:47.120 --> 00:13:49.039
<v Speaker 4>I'm like, hey, I wonder if engine X can do

293
00:13:49.120 --> 00:13:49.960
<v Speaker 4>open telemetry.

294
00:13:50.879 --> 00:13:51.120
<v Speaker 2>YEP.

295
00:13:51.519 --> 00:13:53.639
<v Speaker 4>I just pull in the engine X protocol and the

296
00:13:53.679 --> 00:13:56.759
<v Speaker 4>way it goes and now I get tracing through Engine

297
00:13:56.960 --> 00:13:58.879
<v Speaker 4>X on the way past. It's really cool.

298
00:13:59.399 --> 00:14:01.000
<v Speaker 2>Just comes by default. Yeah.

299
00:14:01.080 --> 00:14:04.840
<v Speaker 3>Yeah, And that's the whole thing is like it's part

300
00:14:04.879 --> 00:14:07.200
<v Speaker 3>of the plumbing. It kind of it's there automatically, like

301
00:14:07.200 --> 00:14:09.519
<v Speaker 3>you've got to fight to turn it off. It's just

302
00:14:09.879 --> 00:14:11.879
<v Speaker 3>normally there and it complies all these standards, so it

303
00:14:11.919 --> 00:14:16.360
<v Speaker 3>appears everywhere like that's the advantage. It's just because they

304
00:14:16.440 --> 00:14:18.399
<v Speaker 3>open tell them stuff really comes out of the Linux world.

305
00:14:18.559 --> 00:14:20.519
<v Speaker 2>It's just we had to adopt it. We're kind of

306
00:14:20.559 --> 00:14:21.480
<v Speaker 2>late comers to this.

307
00:14:21.440 --> 00:14:23.440
<v Speaker 4>Thing, right, And it's not so much that I have

308
00:14:23.480 --> 00:14:26.159
<v Speaker 4>to fight to turn it off, but rather the moment

309
00:14:26.200 --> 00:14:29.159
<v Speaker 4>that I handed a place to go, it'll just light up.

310
00:14:29.879 --> 00:14:31.919
<v Speaker 4>And so until I tell it where to go, then

311
00:14:31.919 --> 00:14:33.720
<v Speaker 4>it really doesn't impact my app at all.

312
00:14:34.000 --> 00:14:36.000
<v Speaker 2>Yeah, and it's just it's yeah, it's just lost bits.

313
00:14:36.080 --> 00:14:38.399
<v Speaker 2>They don't go nowhere, right, Yeah, that's a good point.

314
00:14:38.600 --> 00:14:41.320
<v Speaker 1>And people may think that, you know, I don't want

315
00:14:41.320 --> 00:14:43.879
<v Speaker 1>to turn something on that's going to take my cycles

316
00:14:43.919 --> 00:14:47.120
<v Speaker 1>in the background, and you know, steel performance and blah

317
00:14:47.120 --> 00:14:47.559
<v Speaker 1>blah blah.

318
00:14:47.600 --> 00:14:49.519
<v Speaker 2>But you're right, unless.

319
00:14:49.440 --> 00:14:51.639
<v Speaker 1>Unless you can figure it, it's just sitting there.

320
00:14:51.720 --> 00:14:51.960
<v Speaker 2>Yeah.

321
00:14:52.240 --> 00:14:53.720
<v Speaker 4>And there is a little bit of a sharp edge

322
00:14:53.799 --> 00:14:58.000
<v Speaker 4>right there, because well, as I'm working with these activities

323
00:14:58.039 --> 00:15:00.679
<v Speaker 4>inside of dot net, I may go reach for the

324
00:15:00.720 --> 00:15:04.039
<v Speaker 4>current activity and if nothing's listening, it could be NOLL.

325
00:15:04.639 --> 00:15:06.279
<v Speaker 4>So I do need to check to see if it's

326
00:15:06.360 --> 00:15:07.559
<v Speaker 4>NOLL on the way past.

327
00:15:07.440 --> 00:15:10.679
<v Speaker 2>Right, Yeah, we dot net programmers have gotten used to that. Yeah,

328
00:15:10.960 --> 00:15:13.679
<v Speaker 2>nols will never hurt you. Well, maybe a little. Well.

329
00:15:13.679 --> 00:15:16.679
<v Speaker 1>The language, though, sea sharp really evolved to handle knowles,

330
00:15:16.720 --> 00:15:17.080
<v Speaker 1>didn't it.

331
00:15:17.159 --> 00:15:19.200
<v Speaker 4>Yeah, now that we have noble reference types, this is

332
00:15:19.240 --> 00:15:20.080
<v Speaker 4>really not a big deal.

333
00:15:20.200 --> 00:15:21.080
<v Speaker 2>It's not a big deal.

334
00:15:21.240 --> 00:15:24.679
<v Speaker 1>And the c sharp expressions to if noel do this,

335
00:15:24.879 --> 00:15:28.240
<v Speaker 1>if not do that, I think you can't read them, but.

336
00:15:30.200 --> 00:15:31.399
<v Speaker 2>Certainly is expressive.

337
00:15:32.759 --> 00:15:34.919
<v Speaker 4>Well, the Coole syntax is that we just put a

338
00:15:35.000 --> 00:15:37.519
<v Speaker 4>question mark before the dot and you know, coding and

339
00:15:37.600 --> 00:15:40.559
<v Speaker 4>audio is always weird. Yeah, but like that same syntax

340
00:15:40.600 --> 00:15:43.440
<v Speaker 4>works in JavaScript and in other languages as well. So

341
00:15:44.080 --> 00:15:46.679
<v Speaker 4>I think as a programming community we've kind of figured

342
00:15:46.720 --> 00:15:49.799
<v Speaker 4>out that NOLL handling is easy. You just question mark

343
00:15:49.840 --> 00:15:51.120
<v Speaker 4>first and it just works.

344
00:15:51.440 --> 00:15:54.559
<v Speaker 1>It's great, right, And if you're using visual Studio, Copilot's

345
00:15:54.559 --> 00:15:56.080
<v Speaker 1>going to tell you the rest of it anyway. Just

346
00:15:56.159 --> 00:15:58.080
<v Speaker 1>hit tab, Yeah, question mark dot tab.

347
00:15:59.200 --> 00:15:59.759
<v Speaker 4>There you go.

348
00:16:00.840 --> 00:16:01.600
<v Speaker 2>What could happen?

349
00:16:01.799 --> 00:16:04.799
<v Speaker 3>Yeah, it's funny how much we're copilots now, reflect like

350
00:16:04.840 --> 00:16:06.879
<v Speaker 3>already it's only been a couple of years and we're

351
00:16:06.919 --> 00:16:09.360
<v Speaker 3>already like, yeah, you just do it this way.

352
00:16:09.840 --> 00:16:12.159
<v Speaker 2>Yeah. I like Copilot finish that for me. I love that.

353
00:16:12.240 --> 00:16:16.600
<v Speaker 4>In the latest VS Code there's an experiment where Copilot

354
00:16:16.639 --> 00:16:17.720
<v Speaker 4>has a Clippy icon.

355
00:16:17.960 --> 00:16:22.759
<v Speaker 2>Ah. Oh no, we kept threatening to bring that back.

356
00:16:23.080 --> 00:16:23.480
<v Speaker 2>Why not?

357
00:16:24.480 --> 00:16:28.279
<v Speaker 3>Why what's wrong with a paper clip? Animated paper clips

358
00:16:28.279 --> 00:16:29.799
<v Speaker 3>are your friend? No?

359
00:16:29.799 --> 00:16:30.320
<v Speaker 2>No, they're not.

360
00:16:32.879 --> 00:16:36.200
<v Speaker 3>Can't have a little fun, They're evil? Yeah, they the

361
00:16:36.240 --> 00:16:37.960
<v Speaker 3>whole trick there. You know what went wrong with Clippy

362
00:16:38.000 --> 00:16:40.840
<v Speaker 3>back in the day is the interruption. You think about

363
00:16:40.879 --> 00:16:43.039
<v Speaker 3>how much smarter we are with you access today, Well,

364
00:16:43.120 --> 00:16:47.559
<v Speaker 3>how carefully studio tries not to interrupt you, tries to

365
00:16:47.600 --> 00:16:50.399
<v Speaker 3>still provide the hint, the swiggle or the little light

366
00:16:50.519 --> 00:16:53.240
<v Speaker 3>up tool or all of those things, that there's something

367
00:16:53.279 --> 00:16:56.440
<v Speaker 3>I could help you with here without actually interrupting your food.

368
00:16:56.480 --> 00:16:58.440
<v Speaker 1>Well, is it that, Richard, or is it that we've

369
00:16:58.480 --> 00:17:01.399
<v Speaker 1>all become much more eighty eight so we don't notice

370
00:17:01.440 --> 00:17:04.599
<v Speaker 1>it because everything interrupts us all the time. I tend

371
00:17:04.599 --> 00:17:06.960
<v Speaker 1>to think it's somewhere in the middle degrees of interruption.

372
00:17:07.160 --> 00:17:10.000
<v Speaker 1>I thought Clippy died a long time ago. You know, hey,

373
00:17:10.079 --> 00:17:12.160
<v Speaker 1>it did. Is that Is that a business graver or

374
00:17:12.200 --> 00:17:13.400
<v Speaker 1>a personal grave you're digging?

375
00:17:15.279 --> 00:17:16.079
<v Speaker 2>Can I help you with that?

376
00:17:16.119 --> 00:17:18.640
<v Speaker 4>And what was hilarious about Clippy was how irrelevant the

377
00:17:18.680 --> 00:17:21.440
<v Speaker 4>suggestions were, Right, I think, you know, co Pilot is

378
00:17:21.480 --> 00:17:24.640
<v Speaker 4>so much more relevant now and that can be really

379
00:17:24.720 --> 00:17:25.319
<v Speaker 4>really helpful.

380
00:17:25.480 --> 00:17:27.160
<v Speaker 3>And Aaron lies the point, right, It's like, I don't

381
00:17:27.160 --> 00:17:30.839
<v Speaker 3>mind you interrupting me if you're actually providing me help,

382
00:17:31.440 --> 00:17:34.920
<v Speaker 3>like you're going to shorten my effort. I just you know,

383
00:17:35.000 --> 00:17:37.319
<v Speaker 3>we're all pretty skeptical of that because we've had pretty

384
00:17:37.319 --> 00:17:39.480
<v Speaker 3>bad experiences with right, well had options.

385
00:17:39.640 --> 00:17:42.559
<v Speaker 1>Yeah, I mean AI for coding help in general is

386
00:17:42.599 --> 00:17:43.079
<v Speaker 1>really good.

387
00:17:43.279 --> 00:17:43.559
<v Speaker 2>Yeah.

388
00:17:43.640 --> 00:17:47.200
<v Speaker 1>I was just today I'm working on an old project

389
00:17:47.200 --> 00:17:50.480
<v Speaker 1>that needs to be brought into the you know, twenty

390
00:17:50.480 --> 00:17:54.960
<v Speaker 1>first century. Starting there with, there was no models. You know,

391
00:17:55.039 --> 00:17:58.359
<v Speaker 1>the models were part of a SPX pages that were

392
00:17:58.440 --> 00:18:02.519
<v Speaker 1>all combined with Java script, and so there was no

393
00:18:02.799 --> 00:18:04.319
<v Speaker 1>fresh model. So the first thing I had to do

394
00:18:04.440 --> 00:18:06.359
<v Speaker 1>is go to the database. And I know that there's

395
00:18:06.400 --> 00:18:10.759
<v Speaker 1>ways to scaffold that, but I just did a create

396
00:18:10.920 --> 00:18:16.279
<v Speaker 1>two clipboard for a table, pasted into chat GPT and said, hey,

397
00:18:16.319 --> 00:18:18.000
<v Speaker 1>make me a class from this. I was like, yeah,

398
00:18:18.079 --> 00:18:18.559
<v Speaker 1>no problem.

399
00:18:18.599 --> 00:18:23.920
<v Speaker 3>It's great because conversational mindset with your software is just interesting, right, Yeah,

400
00:18:24.079 --> 00:18:26.240
<v Speaker 3>And I think the interesting part of that is you

401
00:18:26.240 --> 00:18:28.279
<v Speaker 3>would do this with a person anyway, and you tend

402
00:18:28.279 --> 00:18:30.200
<v Speaker 3>to make better software when you explain yourself.

403
00:18:30.359 --> 00:18:30.599
<v Speaker 2>Yeah.

404
00:18:31.039 --> 00:18:32.839
<v Speaker 3>How many times have I gone to write something in

405
00:18:32.880 --> 00:18:36.240
<v Speaker 3>stack overflow and the process of writing it answered it? Yeah,

406
00:18:36.240 --> 00:18:39.279
<v Speaker 3>and then I've never posted it absolutely, And so this

407
00:18:40.160 --> 00:18:43.480
<v Speaker 3>tool stimulates that behavior really well. Rubber ducking.

408
00:18:43.720 --> 00:18:45.039
<v Speaker 2>You're ducking all the time.

409
00:18:45.160 --> 00:18:48.599
<v Speaker 4>Interesting thing about that process though, Yeah, I spent the

410
00:18:48.960 --> 00:18:53.640
<v Speaker 4>time kind of interviewing myself to figure out the proper question.

411
00:18:54.519 --> 00:18:56.759
<v Speaker 4>And now that I'm on stack overflow and I have

412
00:18:57.240 --> 00:19:00.000
<v Speaker 4>figured it out part of me wants to just ask

413
00:19:00.119 --> 00:19:04.000
<v Speaker 4>the question and then answer it because good for tomorrow

414
00:19:04.119 --> 00:19:07.960
<v Speaker 4>or next week, some ignorant developer me is going to

415
00:19:08.000 --> 00:19:11.160
<v Speaker 4>ask that question again, and so can I pave the

416
00:19:11.200 --> 00:19:13.599
<v Speaker 4>path a little bit better for the next generation m.

417
00:19:13.799 --> 00:19:16.240
<v Speaker 2>M, yeah, the next generation of you.

418
00:19:16.640 --> 00:19:16.839
<v Speaker 1>Yeah.

419
00:19:17.400 --> 00:19:20.039
<v Speaker 4>What's really annoying is when I'm really struggling with something

420
00:19:20.119 --> 00:19:22.119
<v Speaker 4>and I go to Google it and I find this

421
00:19:22.200 --> 00:19:26.599
<v Speaker 4>really cool post on my blog explaining it, and I'm like,

422
00:19:26.599 --> 00:19:27.240
<v Speaker 4>oh wait.

423
00:19:28.720 --> 00:19:31.079
<v Speaker 3>I figured this out a while Well that was Handsoman's line, right,

424
00:19:31.160 --> 00:19:32.920
<v Speaker 3>I'm just writing this down so I don't have to

425
00:19:33.000 --> 00:19:34.680
<v Speaker 3>remember it because I'm.

426
00:19:34.559 --> 00:19:37.839
<v Speaker 1>Not gonna yea And then anytime anybody asks him a question,

427
00:19:37.960 --> 00:19:39.440
<v Speaker 1>he just answers it with a ur l.

428
00:19:39.680 --> 00:19:43.839
<v Speaker 3>Yeah it's not real sociable, but okay, now sufficient.

429
00:19:47.920 --> 00:19:48.519
<v Speaker 2>True enough?

430
00:19:49.119 --> 00:19:52.839
<v Speaker 3>So you you've already Carl's already said scaffold, but I

431
00:19:52.880 --> 00:19:55.240
<v Speaker 3>heard it's a dirty word with dot net aspire. What

432
00:19:55.359 --> 00:19:58.559
<v Speaker 3>is is dot aspire scaffolding or is it a framework?

433
00:19:58.720 --> 00:20:01.079
<v Speaker 2>Like? Because what is it?

434
00:20:01.160 --> 00:20:03.279
<v Speaker 4>And that's one of the weird things is as we

435
00:20:03.319 --> 00:20:06.079
<v Speaker 4>look at dot net Aspire, we kind of go, what

436
00:20:06.200 --> 00:20:07.960
<v Speaker 4>is it? You know, what are we trying to solve

437
00:20:08.000 --> 00:20:12.119
<v Speaker 4>here what is and we say words like open telemetry

438
00:20:12.200 --> 00:20:16.240
<v Speaker 4>and service discovery and all those kind of get around

439
00:20:16.359 --> 00:20:20.559
<v Speaker 4>the topic. But yeah, it is kind of difficult to quantify.

440
00:20:21.079 --> 00:20:24.400
<v Speaker 4>The biggest purpose of dot Net Aspire is to help

441
00:20:24.519 --> 00:20:27.279
<v Speaker 4>us fall into the pit of success, right, to help

442
00:20:27.359 --> 00:20:30.720
<v Speaker 4>us build distributed software. And so there's a whole bunch

443
00:20:30.720 --> 00:20:33.720
<v Speaker 4>of stuff in there to facilitate this, all of the

444
00:20:33.720 --> 00:20:37.279
<v Speaker 4>web's best practices like open telemetry and service discovery and

445
00:20:37.680 --> 00:20:42.200
<v Speaker 4>injecting environment variables to do cool things. But as we

446
00:20:42.240 --> 00:20:44.400
<v Speaker 4>start peeling the onion there, then we end up with

447
00:20:44.960 --> 00:20:48.400
<v Speaker 4>just really cool experiences that allow us to do really

448
00:20:48.440 --> 00:20:53.359
<v Speaker 4>fun things. And so in there is launching projects all together.

449
00:20:53.799 --> 00:20:56.480
<v Speaker 4>Project tie did this for us back in the day,

450
00:20:56.839 --> 00:20:58.880
<v Speaker 4>where we could say, hey, I want to get this

451
00:20:58.960 --> 00:21:01.039
<v Speaker 4>project to call that project, and I don't want to

452
00:21:01.039 --> 00:21:03.839
<v Speaker 4>have to figure out open ports, just like kind of

453
00:21:03.960 --> 00:21:06.799
<v Speaker 4>do that. And so then we also get really cool

454
00:21:07.960 --> 00:21:11.880
<v Speaker 4>container orchestration where we can say and start this container

455
00:21:11.880 --> 00:21:15.119
<v Speaker 4>as part of it, and if it's a database container,

456
00:21:15.200 --> 00:21:17.839
<v Speaker 4>let me inject in the data that I need to

457
00:21:17.880 --> 00:21:20.240
<v Speaker 4>be able to spin it up. And so now we

458
00:21:20.359 --> 00:21:24.920
<v Speaker 4>can orchestrate containers and dot net projects and command line

459
00:21:24.960 --> 00:21:28.319
<v Speaker 4>executables and inject environment variable so that they can all

460
00:21:28.359 --> 00:21:30.400
<v Speaker 4>get to talk to each other. And that's a big

461
00:21:30.400 --> 00:21:32.880
<v Speaker 4>piece of it. But then we also have kind of

462
00:21:32.920 --> 00:21:35.480
<v Speaker 4>the piece coming back where we can say, well, let's

463
00:21:35.559 --> 00:21:39.839
<v Speaker 4>collect all the logs and traces and metrics and surface

464
00:21:39.920 --> 00:21:43.440
<v Speaker 4>them in a really cool discoverable dashboard so that no

465
00:21:43.559 --> 00:21:45.559
<v Speaker 4>longer do you have to figure out how does this

466
00:21:45.640 --> 00:21:49.559
<v Speaker 4>call that, what was the error there, which console window

467
00:21:49.839 --> 00:21:52.319
<v Speaker 4>was it? And so there's that part of it, But

468
00:21:52.440 --> 00:21:55.680
<v Speaker 4>then there's also another part of it of simplifying dot

469
00:21:55.799 --> 00:22:00.799
<v Speaker 4>net experiences. So we have a bunch of two projects

470
00:22:00.799 --> 00:22:03.000
<v Speaker 4>that it creates, the app host project, but also the

471
00:22:03.039 --> 00:22:06.759
<v Speaker 4>service defaults project. And in that service defaults project, it

472
00:22:06.799 --> 00:22:09.319
<v Speaker 4>will rig up health checks, and it will rig up

473
00:22:09.359 --> 00:22:11.880
<v Speaker 4>open telemetry, and it will rig up all kinds of

474
00:22:11.920 --> 00:22:15.039
<v Speaker 4>interesting things. But unlike some of the other places where

475
00:22:15.039 --> 00:22:17.839
<v Speaker 4>they kind of hide that away, they're actually giving us

476
00:22:17.839 --> 00:22:20.400
<v Speaker 4>the code, so if we have different opinions, we can

477
00:22:20.440 --> 00:22:23.400
<v Speaker 4>express those opinions in there too. And then as part

478
00:22:23.480 --> 00:22:26.759
<v Speaker 4>of that, there are dot net Aspire components that just

479
00:22:26.920 --> 00:22:30.319
<v Speaker 4>make connection strings kind of melt away, so no longer

480
00:22:30.359 --> 00:22:32.559
<v Speaker 4>do I need to rig up the details of how

481
00:22:32.640 --> 00:22:36.319
<v Speaker 4>this connects to that or even how this connects to

482
00:22:36.359 --> 00:22:38.720
<v Speaker 4>that database. I just kind of say, hey, I would

483
00:22:38.720 --> 00:22:42.039
<v Speaker 4>like this Aspire component that hooks me to, for example,

484
00:22:42.119 --> 00:22:46.839
<v Speaker 4>Postcress or redd Us, and then with an app host,

485
00:22:46.880 --> 00:22:49.160
<v Speaker 4>I say, oh, and by the way, spin up postgrass

486
00:22:49.240 --> 00:22:51.559
<v Speaker 4>or redd Us. And now there aren't connection strings in

487
00:22:51.559 --> 00:22:52.559
<v Speaker 4>my application at all.

488
00:22:52.799 --> 00:22:52.920
<v Speaker 2>Right.

489
00:22:53.200 --> 00:22:55.960
<v Speaker 4>Dot net Aspire just kind of handles that with environment

490
00:22:56.039 --> 00:22:59.279
<v Speaker 4>variables poked into it. And so it's all of these pieces.

491
00:22:59.400 --> 00:23:04.119
<v Speaker 4>It's the dot net best practices at the service discovery,

492
00:23:04.279 --> 00:23:07.119
<v Speaker 4>it's the launching multiple things at the same time. It's

493
00:23:07.160 --> 00:23:11.279
<v Speaker 4>the simplifying configuration pieces. And because it's all of those

494
00:23:11.319 --> 00:23:14.119
<v Speaker 4>things kind of wrapped into one, then we kind of go,

495
00:23:14.160 --> 00:23:17.480
<v Speaker 4>well what is this? And it's really easy then to say, well,

496
00:23:17.559 --> 00:23:20.000
<v Speaker 4>this is huge and overwhelming, and I have opinions on

497
00:23:20.039 --> 00:23:21.680
<v Speaker 4>that and I don't want to do that. But what's

498
00:23:21.720 --> 00:23:25.400
<v Speaker 4>beautiful about dot net Aspire is that I can use

499
00:23:25.440 --> 00:23:27.960
<v Speaker 4>as much or as little of it as I want.

500
00:23:28.480 --> 00:23:30.880
<v Speaker 4>And so if I like this opinion, I can do that,

501
00:23:31.359 --> 00:23:33.079
<v Speaker 4>and if I don't like this opinion, I can do

502
00:23:33.119 --> 00:23:33.640
<v Speaker 4>something else.

503
00:23:33.880 --> 00:23:36.960
<v Speaker 1>Yeah, and the thing that the red flag goes off

504
00:23:36.960 --> 00:23:38.799
<v Speaker 1>in my head probably a lot of listeners who aren't

505
00:23:38.839 --> 00:23:42.160
<v Speaker 1>using this and who don't have experience with it, is, well,

506
00:23:42.359 --> 00:23:44.480
<v Speaker 1>how am I going to know how to do that?

507
00:23:44.720 --> 00:23:44.799
<v Speaker 2>Like?

508
00:23:44.880 --> 00:23:46.880
<v Speaker 1>How am I going to say? Am I going to

509
00:23:46.920 --> 00:23:50.720
<v Speaker 1>be ab test you know, my way versus Aspire's way?

510
00:23:50.720 --> 00:23:52.359
<v Speaker 1>And am I going to screw anything up if I

511
00:23:52.440 --> 00:23:53.599
<v Speaker 1>change any configuration?

512
00:23:54.519 --> 00:23:54.720
<v Speaker 2>Yeah?

513
00:23:54.759 --> 00:23:56.759
<v Speaker 1>You kind of have to understand the whole thing. It's

514
00:23:56.839 --> 00:24:01.240
<v Speaker 1>kind of like co generators. You know, stuff that generates code.

515
00:24:01.279 --> 00:24:03.319
<v Speaker 1>You use it and it's great, but if you don't

516
00:24:03.359 --> 00:24:05.079
<v Speaker 1>really know what it's generating.

517
00:24:05.599 --> 00:24:06.039
<v Speaker 2>Should you?

518
00:24:06.240 --> 00:24:08.640
<v Speaker 1>How do you trust it? How do you know when

519
00:24:08.680 --> 00:24:11.039
<v Speaker 1>things go wrong what to do, how to fix it?

520
00:24:11.599 --> 00:24:15.000
<v Speaker 1>So there's some trepidation I think among some people to

521
00:24:15.119 --> 00:24:17.839
<v Speaker 1>jump in because they think, oh, this is going to

522
00:24:17.880 --> 00:24:20.920
<v Speaker 1>do all this work for me. Where am I going

523
00:24:21.000 --> 00:24:24.519
<v Speaker 1>to look when something doesn't do what I wanted to do?

524
00:24:24.640 --> 00:24:26.880
<v Speaker 4>And the cool part there is, for the most part,

525
00:24:27.400 --> 00:24:30.240
<v Speaker 4>the majority of open telemetry can be a development tool.

526
00:24:30.920 --> 00:24:35.640
<v Speaker 4>So it's not like I'm expressing opinions into production that

527
00:24:35.680 --> 00:24:37.599
<v Speaker 4>I may not agree with or may do ut understand.

528
00:24:38.119 --> 00:24:40.880
<v Speaker 4>But instead I can say, well, let me see if

529
00:24:40.920 --> 00:24:43.680
<v Speaker 4>this makes my developers more productive, and I'll deploy the

530
00:24:43.720 --> 00:24:46.079
<v Speaker 4>way I deploy today, or maybe I'll even rig up

531
00:24:46.079 --> 00:24:49.000
<v Speaker 4>connection strings the way I do it today. But let

532
00:24:49.039 --> 00:24:52.319
<v Speaker 4>me in development start up all the micro services that

533
00:24:52.400 --> 00:24:56.119
<v Speaker 4>I need to be able to accomplish this, startup containerized

534
00:24:56.960 --> 00:25:01.920
<v Speaker 4>data stores or other dependencies. And if that's helpful, then

535
00:25:01.920 --> 00:25:04.359
<v Speaker 4>that's great. Maybe I can retire the doctor composed file

536
00:25:04.400 --> 00:25:07.680
<v Speaker 4>that I was using before, But if it isn't, then yeah,

537
00:25:07.799 --> 00:25:09.759
<v Speaker 4>it's just a new get package. I don't need to.

538
00:25:10.319 --> 00:25:13.200
<v Speaker 4>You know, I had a friend that talked about, well,

539
00:25:13.640 --> 00:25:15.640
<v Speaker 4>it's kind of nice, but you have to make it

540
00:25:15.640 --> 00:25:18.519
<v Speaker 4>look like Chicago. Well what if I wanted to make

541
00:25:18.559 --> 00:25:22.799
<v Speaker 4>it look like Chicago? And d net Aspire has some opinions,

542
00:25:22.839 --> 00:25:25.599
<v Speaker 4>but doesn't really force those opinions on you. If you

543
00:25:25.599 --> 00:25:28.319
<v Speaker 4>don't want it to look like Chicago, then don't.

544
00:25:28.680 --> 00:25:32.240
<v Speaker 2>Okay Chicago meaning the version of Windows.

545
00:25:32.440 --> 00:25:34.480
<v Speaker 4>Well, it was like, well, I can configure this one

546
00:25:34.519 --> 00:25:37.000
<v Speaker 4>little thing and I can adjust my car in a

547
00:25:37.000 --> 00:25:39.400
<v Speaker 4>certain way, But now I have to make the skyline

548
00:25:39.440 --> 00:25:41.559
<v Speaker 4>look like Chicago. I see, And what if I don't

549
00:25:41.599 --> 00:25:43.480
<v Speaker 4>like Chicago? What if I like New York or what

550
00:25:43.519 --> 00:25:44.400
<v Speaker 4>if I like the country?

551
00:25:44.519 --> 00:25:47.400
<v Speaker 1>Right, But it's not really a visual style, it's a yeah,

552
00:25:47.599 --> 00:25:49.279
<v Speaker 1>it's stuff that helps you on the back.

553
00:25:49.160 --> 00:25:50.119
<v Speaker 2>End with your plumbing code.

554
00:25:50.200 --> 00:25:54.119
<v Speaker 4>Really yeah, yeah, exactly. It's configuration details, not so much

555
00:25:54.640 --> 00:25:55.880
<v Speaker 4>user experience details.

556
00:25:56.200 --> 00:26:01.039
<v Speaker 1>I like to think of Aspire as a sort of

557
00:26:01.079 --> 00:26:06.480
<v Speaker 1>a gigantic visual studio template, you know, if you think

558
00:26:06.559 --> 00:26:08.519
<v Speaker 1>of it that way, like when you when you go

559
00:26:08.599 --> 00:26:11.240
<v Speaker 1>to create a new project, you create a Blazer project,

560
00:26:11.279 --> 00:26:14.960
<v Speaker 1>you can create a you know, Docker whatever you're going

561
00:26:15.039 --> 00:26:19.839
<v Speaker 1>to do, asp Net, empty core, and there's some stuff

562
00:26:19.880 --> 00:26:21.720
<v Speaker 1>that's set up for you there to make it easy

563
00:26:21.759 --> 00:26:24.599
<v Speaker 1>for you to get started. Yeah, if it's a Blazer project,

564
00:26:24.640 --> 00:26:26.440
<v Speaker 1>you're going to delete the counterpage, and you're going to

565
00:26:26.519 --> 00:26:29.599
<v Speaker 1>delete the weather page, or you might not even include

566
00:26:29.599 --> 00:26:35.599
<v Speaker 1>those at all, but at least you know where you're starting, right,

567
00:26:35.640 --> 00:26:38.559
<v Speaker 1>And I think of Aspires like that. When you create

568
00:26:38.599 --> 00:26:42.200
<v Speaker 1>an Aspire project, Yeah, you got some checks and some

569
00:26:42.319 --> 00:26:45.880
<v Speaker 1>options and things, and then you've started and it's already

570
00:26:45.920 --> 00:26:48.240
<v Speaker 1>done so many things for you that you probably are

571
00:26:48.279 --> 00:26:52.480
<v Speaker 1>going to do yourself at some point, but they're already done.

572
00:26:53.240 --> 00:26:57.799
<v Speaker 1>So that makes it easy to discover how Aspire works,

573
00:26:57.839 --> 00:26:59.880
<v Speaker 1>just by creating a project and seeing what you get.

574
00:27:00.119 --> 00:27:04.119
<v Speaker 4>Yeah, the new project template for Aspire is amazing. One

575
00:27:04.160 --> 00:27:05.839
<v Speaker 4>of the things that I do. And the talk that

576
00:27:05.880 --> 00:27:09.480
<v Speaker 4>you actually saw in Tulsa was highlight how you might

577
00:27:09.480 --> 00:27:12.480
<v Speaker 4>get started with an existing project as well. It's not

578
00:27:12.680 --> 00:27:15.759
<v Speaker 4>like you can't do dot net Aspire inside of an

579
00:27:15.799 --> 00:27:18.920
<v Speaker 4>existing thing. And inside an existing project, you already have

580
00:27:19.039 --> 00:27:23.359
<v Speaker 4>configuration details, you already have logging, you already have connection strings,

581
00:27:23.359 --> 00:27:27.079
<v Speaker 4>and so you can just not use those opinions from

582
00:27:27.119 --> 00:27:29.160
<v Speaker 4>dot net Aspire and instead just use it as an

583
00:27:29.160 --> 00:27:30.839
<v Speaker 4>open telemetry sink a dashboard.

584
00:27:30.920 --> 00:27:33.119
<v Speaker 1>I think I said this before on a different show,

585
00:27:33.200 --> 00:27:36.000
<v Speaker 1>but one of my customers we did that for them.

586
00:27:36.039 --> 00:27:40.920
<v Speaker 1>We added Aspire to their existing application. The only problem

587
00:27:40.960 --> 00:27:44.279
<v Speaker 1>we really had, ironically was with Polly HM, you know,

588
00:27:44.519 --> 00:27:48.200
<v Speaker 1>because of the difference between using polydirectly and then using

589
00:27:48.880 --> 00:27:54.240
<v Speaker 1>the HTDP request factory. I think it was the HDP

590
00:27:54.359 --> 00:27:57.519
<v Speaker 1>client factory. Yeah, yeah, those Poly guys, which is I know,

591
00:27:57.799 --> 00:27:59.319
<v Speaker 1>good thing. We're not like them, I know.

592
00:28:00.119 --> 00:28:01.119
<v Speaker 2>Screw those guys.

593
00:28:01.880 --> 00:28:04.240
<v Speaker 3>But he's in poll part of a spire like it's

594
00:28:04.279 --> 00:28:07.119
<v Speaker 3>deployed a lot as part of the scaffolding.

595
00:28:07.240 --> 00:28:09.400
<v Speaker 4>It's one of the best practices that it pulls in

596
00:28:09.599 --> 00:28:12.480
<v Speaker 4>part of the service defaults. And if we like that opinion,

597
00:28:12.519 --> 00:28:14.880
<v Speaker 4>we definitely can and if we don't, we can rip

598
00:28:14.880 --> 00:28:15.160
<v Speaker 4>it up.

599
00:28:15.279 --> 00:28:15.440
<v Speaker 2>Right.

600
00:28:15.480 --> 00:28:18.160
<v Speaker 1>But here's the thing, though, Polly has a project. If

601
00:28:18.160 --> 00:28:20.559
<v Speaker 1>you have it in your project, right, and then you

602
00:28:20.640 --> 00:28:26.319
<v Speaker 1>go to using HTDP client factory that uses the stuff

603
00:28:26.319 --> 00:28:28.880
<v Speaker 1>from Polly that's in dot net core. So it's already

604
00:28:28.960 --> 00:28:33.359
<v Speaker 1>doing or doing a resilient strategy. Now you've got to

605
00:28:33.400 --> 00:28:35.200
<v Speaker 1>pick one or the other. That's the thing.

606
00:28:35.319 --> 00:28:37.200
<v Speaker 2>Too many resilient strategies at once.

607
00:28:37.400 --> 00:28:39.880
<v Speaker 4>Yeah, yeah, yeah, it's like too many cashes.

608
00:28:40.079 --> 00:28:42.640
<v Speaker 2>Yeah, you already have a cash? Would you like to

609
00:28:42.640 --> 00:28:45.160
<v Speaker 2>cash the cash? No, you really shouldn't do that. That's

610
00:28:45.160 --> 00:28:47.039
<v Speaker 2>not a good idea. Oh, not a good idea.

611
00:28:47.319 --> 00:28:49.839
<v Speaker 3>Yeah, we should take a break for a minute, friends, Yeah,

612
00:28:49.920 --> 00:28:51.759
<v Speaker 3>let's take a break. We'll be right back after these

613
00:28:51.839 --> 00:28:53.960
<v Speaker 3>very important messages. And as a reminder, if you don't

614
00:28:53.960 --> 00:28:56.400
<v Speaker 3>want to hear these messages, you can become a patron

615
00:28:56.440 --> 00:28:58.759
<v Speaker 3>at Patreon at dot netroocks dot com for five bucks

616
00:28:58.759 --> 00:29:00.000
<v Speaker 3>a month and you get an ad free fee.

617
00:29:00.680 --> 00:29:01.640
<v Speaker 2>All right, here we go.

618
00:29:02.519 --> 00:29:05.200
<v Speaker 1>Did you know that you can work with AWS directly

619
00:29:05.279 --> 00:29:10.440
<v Speaker 1>from your ID. AWS provides toolkits for visual studio, visual

620
00:29:10.440 --> 00:29:14.799
<v Speaker 1>studio code, and jet Brains rider. Learn more at Aws

621
00:29:14.880 --> 00:29:22.839
<v Speaker 1>dot Amazon dot com. Slash Net, slash Tools, and we're back.

622
00:29:22.880 --> 00:29:25.440
<v Speaker 1>It's dot in a Rocks and Carl Franklin, that's Richard Campbell,

623
00:29:25.519 --> 00:29:29.799
<v Speaker 1>hey in the fine country of Canada, indeed, and our

624
00:29:29.839 --> 00:29:34.519
<v Speaker 1>friend Rob Richardson, who we're talking about dot net Aspire

625
00:29:35.759 --> 00:29:39.000
<v Speaker 1>in detail now, but I got a feeling that we're

626
00:29:39.079 --> 00:29:41.599
<v Speaker 1>you know, we've been talking about more things than just Aspire.

627
00:29:41.640 --> 00:29:46.519
<v Speaker 1>But the latest template is what you were just talking about,

628
00:29:46.680 --> 00:29:48.200
<v Speaker 1>the latest visual studio template.

629
00:29:48.400 --> 00:29:51.160
<v Speaker 4>Yeah, it's really cool because getting started with dot net

630
00:29:51.200 --> 00:29:55.000
<v Speaker 4>Aspire is super easy. I used to have to install

631
00:29:55.160 --> 00:29:57.759
<v Speaker 4>a visual studio workload. That's no longer a thing in

632
00:29:58.680 --> 00:30:02.519
<v Speaker 4>using dot net Aspire in net nine and so now

633
00:30:02.559 --> 00:30:05.240
<v Speaker 4>I just file new project and I there's a dot

634
00:30:05.279 --> 00:30:09.000
<v Speaker 4>net Aspire starter template. I can check whether I want

635
00:30:09.039 --> 00:30:12.039
<v Speaker 4>to include Reddus or not. If I include Rettus, then

636
00:30:12.079 --> 00:30:15.200
<v Speaker 4>I need to have a container orchestrator like Podman or

637
00:30:15.319 --> 00:30:20.799
<v Speaker 4>Docker desktop. And if I unchecked that, then it just

638
00:30:20.839 --> 00:30:23.319
<v Speaker 4>won't include those bits. I can fire it up and

639
00:30:23.359 --> 00:30:25.480
<v Speaker 4>I can get a feel for how dot net Aspire

640
00:30:25.559 --> 00:30:28.240
<v Speaker 4>might integrate into an application. It's a great way to

641
00:30:28.240 --> 00:30:29.640
<v Speaker 4>get started, really really easily.

642
00:30:30.480 --> 00:30:32.160
<v Speaker 3>And we just got to We just had a version

643
00:30:32.240 --> 00:30:34.480
<v Speaker 3>number update Right, it's nine point one. Now, I mean

644
00:30:34.480 --> 00:30:36.680
<v Speaker 3>they started with nine cheating.

645
00:30:37.039 --> 00:30:39.440
<v Speaker 4>Well they started with eight. But yeah, now that we

646
00:30:39.480 --> 00:30:40.880
<v Speaker 4>have nine point one, it's pretty cool.

647
00:30:41.319 --> 00:30:43.039
<v Speaker 2>Okay, what's the point one?

648
00:30:43.880 --> 00:30:44.960
<v Speaker 4>The number after nine?

649
00:30:45.200 --> 00:30:46.240
<v Speaker 2>Nice?

650
00:30:46.799 --> 00:30:49.440
<v Speaker 4>What I found really cool is even the upgrade from

651
00:30:49.480 --> 00:30:51.759
<v Speaker 4>dot net eight to dot net nine or dot net

652
00:30:51.799 --> 00:30:54.960
<v Speaker 4>Aspire eight to nine wasn't all that significant. It wasn't

653
00:30:55.000 --> 00:30:57.519
<v Speaker 4>all that changing. We now had the ability to wait

654
00:30:57.559 --> 00:31:00.119
<v Speaker 4>for services to start up, which is really cool. But

655
00:31:00.920 --> 00:31:05.359
<v Speaker 4>what's new in nine dot one? The command that you

656
00:31:05.400 --> 00:31:06.519
<v Speaker 4>need to run update.

657
00:31:06.200 --> 00:31:11.200
<v Speaker 3>It I see in the notes here it's like Polish,

658
00:31:11.240 --> 00:31:13.559
<v Speaker 3>Polish Polish, Like they're just making a little easier for

659
00:31:13.640 --> 00:31:15.079
<v Speaker 3>things to have to happen.

660
00:31:15.119 --> 00:31:17.160
<v Speaker 4>There's a bunch of new features in nine point one.

661
00:31:17.519 --> 00:31:19.839
<v Speaker 4>The one I'm most excited about is that you can

662
00:31:20.240 --> 00:31:23.759
<v Speaker 4>start services on demand, rather than having them start at

663
00:31:23.799 --> 00:31:27.599
<v Speaker 4>the beginning as the app post starts. But you can

664
00:31:27.640 --> 00:31:31.400
<v Speaker 4>now do nested resources. For example, you create a database server,

665
00:31:31.599 --> 00:31:34.200
<v Speaker 4>and then you create a database on that server. The

666
00:31:34.279 --> 00:31:37.599
<v Speaker 4>database is now nested under the server. You can now

667
00:31:37.640 --> 00:31:41.359
<v Speaker 4>clear and download the logs and traces, which is really cool.

668
00:31:41.640 --> 00:31:44.400
<v Speaker 4>They're still not durable, they're not still not saved to memory,

669
00:31:44.640 --> 00:31:47.680
<v Speaker 4>but you can clear them and download them, and so

670
00:31:48.119 --> 00:31:49.960
<v Speaker 4>if you download them now you can compare them to

671
00:31:49.960 --> 00:31:52.839
<v Speaker 4>what you did yesterday. The resource can fig screens on

672
00:31:52.880 --> 00:31:57.319
<v Speaker 4>the dashboard now show not only the configuration details, but

673
00:31:57.440 --> 00:32:00.920
<v Speaker 4>which resources depend on them, which resources it depends on,

674
00:32:01.319 --> 00:32:03.799
<v Speaker 4>and so that can kind of help you discover dependencies.

675
00:32:04.440 --> 00:32:08.799
<v Speaker 4>Previously you could emulate Azure storage, which with an Azurite container,

676
00:32:09.319 --> 00:32:13.039
<v Speaker 4>but now there's emulators for Azure Service, Bus, Cosmos dB,

677
00:32:13.240 --> 00:32:16.680
<v Speaker 4>and Signal R. There's some testing improvements, like you can

678
00:32:16.720 --> 00:32:20.559
<v Speaker 4>add disabled randomized ports and enable the dashboard during tests.

679
00:32:20.799 --> 00:32:24.119
<v Speaker 4>That can be really helpful, and the release notes doesn't

680
00:32:24.119 --> 00:32:27.440
<v Speaker 4>call it out. I'm sure everything is more, better, faster.

681
00:32:28.559 --> 00:32:32.319
<v Speaker 4>They're always doing performance improvements in everything. It was so

682
00:32:32.480 --> 00:32:35.519
<v Speaker 4>amazing to me in dot net six how span of

683
00:32:35.599 --> 00:32:38.640
<v Speaker 4>t just made everything faster just by upgrading. So I

684
00:32:38.640 --> 00:32:41.720
<v Speaker 4>wouldn't doubt that there are some performance enhancements here too.

685
00:32:42.319 --> 00:32:44.720
<v Speaker 4>But the one I'm the most excited about is starting

686
00:32:44.759 --> 00:32:48.640
<v Speaker 4>services on demand. For example, I don't want my Azure

687
00:32:48.680 --> 00:32:51.200
<v Speaker 4>functions to start every time. I mostly want to work

688
00:32:51.240 --> 00:32:53.880
<v Speaker 4>on the website, so now I can figure the function

689
00:32:53.920 --> 00:32:57.160
<v Speaker 4>apps to not start automatically. And instead when I started

690
00:32:57.200 --> 00:33:00.279
<v Speaker 4>the app post, the website starts up and the other

691
00:33:00.319 --> 00:33:02.480
<v Speaker 4>ones are stopped, and so I can just go push

692
00:33:02.559 --> 00:33:04.920
<v Speaker 4>play if I need them. But in most cases I

693
00:33:05.039 --> 00:33:07.240
<v Speaker 4>just I don't need those resources, and so it can

694
00:33:07.359 --> 00:33:10.359
<v Speaker 4>work out really great. These are a lot of new

695
00:33:10.359 --> 00:33:14.480
<v Speaker 4>things in dot net Aspire nine point one. But the

696
00:33:14.480 --> 00:33:16.799
<v Speaker 4>cool part is, Yeah, the upgrade is just you know,

697
00:33:17.119 --> 00:33:21.920
<v Speaker 4>upgrade and everything that you've used before. There's no breaking changes,

698
00:33:21.960 --> 00:33:25.400
<v Speaker 4>I believe, and so the upgrade is just super simple,

699
00:33:25.839 --> 00:33:28.839
<v Speaker 4>and if you happen on features that are really interesting

700
00:33:28.880 --> 00:33:31.200
<v Speaker 4>to you, it can be really great.

701
00:33:31.759 --> 00:33:32.079
<v Speaker 2>Yeah.

702
00:33:32.160 --> 00:33:34.759
<v Speaker 3>I think the dashboard is a thing that hooks people. Yeah,

703
00:33:34.799 --> 00:33:36.799
<v Speaker 3>because you're going to need to build one. So the

704
00:33:36.799 --> 00:33:39.400
<v Speaker 3>fact that it just generated for you and then you

705
00:33:39.400 --> 00:33:43.000
<v Speaker 3>can tweak it is a great hook besides all the

706
00:33:43.039 --> 00:33:43.960
<v Speaker 3>other stuff.

707
00:33:44.480 --> 00:33:47.440
<v Speaker 4>And here's where my opinions probably differ from others opinions.

708
00:33:47.480 --> 00:33:49.680
<v Speaker 4>But I would say that that dashboard is great for

709
00:33:50.839 --> 00:33:53.880
<v Speaker 4>local development, but you probably want to use a different

710
00:33:53.960 --> 00:33:57.880
<v Speaker 4>dashboard in production. That dashboard doesn't have any durable storage.

711
00:33:58.000 --> 00:34:00.000
<v Speaker 4>There are plugins that allow you to get durable stores,

712
00:34:00.519 --> 00:34:04.200
<v Speaker 4>but it's like I found an error that happened yesterday.

713
00:34:04.720 --> 00:34:06.559
<v Speaker 4>It stores it in memory and that's already gone.

714
00:34:06.720 --> 00:34:07.200
<v Speaker 2>Oh.

715
00:34:07.240 --> 00:34:11.519
<v Speaker 4>It also collects all of the configuration details for all

716
00:34:11.559 --> 00:34:15.119
<v Speaker 4>of your applications. And so if we deployed this and

717
00:34:15.199 --> 00:34:19.239
<v Speaker 4>put it in production and accidentally exposed it publicly, then

718
00:34:19.360 --> 00:34:22.079
<v Speaker 4>we've just exposed the entirety of the configuration of all

719
00:34:22.119 --> 00:34:23.400
<v Speaker 4>of our application.

720
00:34:23.199 --> 00:34:25.760
<v Speaker 2>Right the black hats, thank you for your service.

721
00:34:26.400 --> 00:34:31.719
<v Speaker 4>Yes, But the cool part is you can use this

722
00:34:31.840 --> 00:34:34.519
<v Speaker 4>dashboard as a standalone container. And so if you have

723
00:34:34.559 --> 00:34:38.480
<v Speaker 4>a Python app, or I actually have a JavaScript front

724
00:34:38.519 --> 00:34:41.400
<v Speaker 4>end to React app in my demo, I'm doing view,

725
00:34:41.719 --> 00:34:44.719
<v Speaker 4>which then pipes all the data into open telemetry. And

726
00:34:44.760 --> 00:34:47.639
<v Speaker 4>so a View front end and a Python back end

727
00:34:47.760 --> 00:34:51.800
<v Speaker 4>using dot net Aspyrus dashboard without dot net running? Are

728
00:34:51.840 --> 00:34:55.800
<v Speaker 4>you really cool? Hey?

729
00:34:55.880 --> 00:34:57.840
<v Speaker 1>Say where are you from anyway?

730
00:34:59.280 --> 00:35:02.000
<v Speaker 3>You know it's called dot net is fire. Yeah, yeah,

731
00:35:02.000 --> 00:35:03.559
<v Speaker 3>I don't know what you think you're up to.

732
00:35:05.159 --> 00:35:07.679
<v Speaker 4>Right, Well, the cool part is it just becomes an

733
00:35:07.679 --> 00:35:08.719
<v Speaker 4>open telemetry think.

734
00:35:08.920 --> 00:35:12.400
<v Speaker 1>So there's no Windows servers here anywhere, It's not, it's

735
00:35:12.519 --> 00:35:14.320
<v Speaker 1>just dot net is all about it.

736
00:35:16.079 --> 00:35:18.760
<v Speaker 3>Like you can't if you're deploying any the cloud, you're

737
00:35:18.800 --> 00:35:21.760
<v Speaker 3>still deploying on a Windows instance. It's you're literally throwing

738
00:35:21.800 --> 00:35:24.440
<v Speaker 3>money away, right, Like if you're running modern dot net,

739
00:35:24.800 --> 00:35:27.760
<v Speaker 3>it runs on a Linux instance and it's literally like

740
00:35:27.800 --> 00:35:29.079
<v Speaker 3>a twenty five percent price cut.

741
00:35:29.159 --> 00:35:31.679
<v Speaker 1>Yeah. The point there was that there's still a large

742
00:35:31.719 --> 00:35:35.039
<v Speaker 1>group of people who haven't looked in dot net in

743
00:35:35.119 --> 00:35:38.320
<v Speaker 1>fifteen years because they think it's all about Windows. Yeah,

744
00:35:38.360 --> 00:35:41.360
<v Speaker 1>and it's kind of stinks that that branding has stuck.

745
00:35:41.159 --> 00:35:42.960
<v Speaker 3>Well and it's a non trivial mom folks that are

746
00:35:43.000 --> 00:35:45.199
<v Speaker 3>still on you know, four or five two, Like they're

747
00:35:45.360 --> 00:35:47.920
<v Speaker 3>for a reason, They've got dependencies, They're not going to

748
00:35:47.960 --> 00:35:50.159
<v Speaker 3>give up their web forms, Like it's just not that simple.

749
00:35:50.360 --> 00:35:51.400
<v Speaker 2>There's a lot of work done.

750
00:35:51.519 --> 00:35:54.639
<v Speaker 4>Yep, I agree. I have a dot net for it's

751
00:35:54.679 --> 00:35:57.960
<v Speaker 4>now dot Net four seven app runs with Crystal Reports

752
00:35:57.960 --> 00:36:00.480
<v Speaker 4>and Windows forms and it's like, yeah, that's not going anywhere.

753
00:36:00.679 --> 00:36:03.559
<v Speaker 2>Oh man, oh that hurts.

754
00:36:03.840 --> 00:36:06.800
<v Speaker 3>Yeah, no kidding, Like Crystal Reports. You said that with

755
00:36:06.840 --> 00:36:09.559
<v Speaker 3>words out loud, like what the what the what?

756
00:36:09.719 --> 00:36:12.800
<v Speaker 1>I remember I remember being at a v bits and

757
00:36:12.840 --> 00:36:15.599
<v Speaker 1>it was in the early days of Internet Information server

758
00:36:16.320 --> 00:36:18.639
<v Speaker 1>and a guy from Crystal Reports came up to me

759
00:36:18.639 --> 00:36:21.840
<v Speaker 1>and he said, Hey, we've got Crystal Reports running on

760
00:36:21.880 --> 00:36:25.039
<v Speaker 1>the back end in iis isn't that awesome? And I'm like,

761
00:36:25.480 --> 00:36:27.480
<v Speaker 1>oh my god, how much memory do you have to

762
00:36:27.559 --> 00:36:31.000
<v Speaker 1>have to have that behemoth of an application running in

763
00:36:31.039 --> 00:36:34.199
<v Speaker 1>the background, which, by the way, was apartment threaded, so

764
00:36:34.239 --> 00:36:35.880
<v Speaker 1>you could only use it one at a time.

765
00:36:36.559 --> 00:36:39.639
<v Speaker 2>Oh my god, what a nightmare. Yeah.

766
00:36:39.679 --> 00:36:42.320
<v Speaker 4>I found a similar app where they were launching Excel

767
00:36:42.480 --> 00:36:47.159
<v Speaker 4>from the web server and I'm like, yeah, I'm not

768
00:36:47.199 --> 00:36:47.960
<v Speaker 4>sure if you get this.

769
00:36:48.119 --> 00:36:51.199
<v Speaker 2>It's just because you could, doesn't mean you should.

770
00:36:51.360 --> 00:36:53.639
<v Speaker 3>And then and then it would crash or fail to close,

771
00:36:53.679 --> 00:36:55.639
<v Speaker 3>and so you'd end up with multiple instances of Excel

772
00:36:55.719 --> 00:36:57.760
<v Speaker 3>on the machine. Yeah, and then you eventually write an

773
00:36:57.760 --> 00:37:01.000
<v Speaker 3>Excel watcher that pokes in yeah to task manager and

774
00:37:01.079 --> 00:37:03.639
<v Speaker 3>kills orphan a instance of Excel. Why do I know

775
00:37:03.719 --> 00:37:05.719
<v Speaker 3>this stuff? Why is this stuff? Fill in my head?

776
00:37:05.800 --> 00:37:07.079
<v Speaker 3>I remember I did that.

777
00:37:07.199 --> 00:37:10.440
<v Speaker 1>You know, I tried it, and you know it was possible,

778
00:37:10.440 --> 00:37:13.039
<v Speaker 1>but nobody really understood the whole apartment threading thing.

779
00:37:13.239 --> 00:37:14.960
<v Speaker 2>Yeah, I'm sorry, I want to bring us back to

780
00:37:15.000 --> 00:37:15.599
<v Speaker 2>the nineties.

781
00:37:15.639 --> 00:37:18.360
<v Speaker 4>But geez, And that's really cool. Is you set all

782
00:37:18.360 --> 00:37:20.599
<v Speaker 4>that aside and you can run dot net inside of

783
00:37:20.639 --> 00:37:24.519
<v Speaker 4>Linux containers in community hosting and it is just amazing.

784
00:37:24.840 --> 00:37:26.880
<v Speaker 4>Dot Net has come a long way.

785
00:37:26.800 --> 00:37:27.679
<v Speaker 2>Certainly has well.

786
00:37:27.760 --> 00:37:30.119
<v Speaker 3>This sort of explains the spire, right, It's like, this

787
00:37:30.159 --> 00:37:32.679
<v Speaker 3>is the language that once upon a time was for

788
00:37:32.719 --> 00:37:36.119
<v Speaker 3>building client server apps, and then you know, evolved into

789
00:37:36.199 --> 00:37:39.599
<v Speaker 3>web as well, and now it's cloudland, and so give

790
00:37:39.639 --> 00:37:41.480
<v Speaker 3>us a set of defaults that are for cloud Land.

791
00:37:41.800 --> 00:37:44.760
<v Speaker 1>Should we take a moment to just praise Microsoft for

792
00:37:44.880 --> 00:37:48.800
<v Speaker 1>making dot Net nine so much more performance crazy and

793
00:37:48.880 --> 00:37:53.719
<v Speaker 1>memory less memory use. It's just ridiculous.

794
00:37:54.159 --> 00:37:56.000
<v Speaker 4>Dot Net six was that way as well. It was

795
00:37:56.079 --> 00:37:58.719
<v Speaker 4>a major sure was a breakthrough performance boost. And it's

796
00:37:58.719 --> 00:38:01.480
<v Speaker 4>really cool because upgrading from dot net three to one

797
00:38:01.559 --> 00:38:04.360
<v Speaker 4>all the way up to dot Net nine is just

798
00:38:04.440 --> 00:38:08.360
<v Speaker 4>really easy. You know, change the version number in the

799
00:38:08.360 --> 00:38:11.320
<v Speaker 4>cs prog files, update new get packages, and you're there.

800
00:38:11.400 --> 00:38:13.719
<v Speaker 1>Yeah, it's that whole update new get packages thing that

801
00:38:13.840 --> 00:38:16.960
<v Speaker 1>usually people have a problem with, only because some of

802
00:38:16.960 --> 00:38:19.960
<v Speaker 1>those new get packages don't exist anymore. They don't work

803
00:38:20.000 --> 00:38:25.039
<v Speaker 1>in dot net core or whatever. Yeah, do it nine rather, Yeah, Yeah.

804
00:38:25.159 --> 00:38:29.199
<v Speaker 4>Dot standard was an interesting dilemma. And yeah, now that

805
00:38:29.239 --> 00:38:31.599
<v Speaker 4>we've set that aside too, yeah, it's just smooth.

806
00:38:31.320 --> 00:38:33.760
<v Speaker 3>In Well, it's a good reminder that dot Net standard

807
00:38:33.800 --> 00:38:34.400
<v Speaker 3>wasn't for US.

808
00:38:34.440 --> 00:38:35.800
<v Speaker 2>It was actually for Microsoft.

809
00:38:35.920 --> 00:38:38.480
<v Speaker 3>Yeah right, it was Microsoft trying to get all of

810
00:38:38.519 --> 00:38:42.480
<v Speaker 3>their internal versions of dot net aligned, and we may

811
00:38:42.480 --> 00:38:44.599
<v Speaker 3>have been the beneficiaries of it, but once that alignment

812
00:38:44.639 --> 00:38:46.480
<v Speaker 3>was done, they really didn't care about anymore.

813
00:38:46.480 --> 00:38:47.519
<v Speaker 4>It was no longer necessary.

814
00:38:47.599 --> 00:38:49.800
<v Speaker 2>Yeah, just wasn't the thing. And you know that.

815
00:38:49.840 --> 00:38:53.800
<v Speaker 3>It's also why xammal standard failed because they couldn't get

816
00:38:53.840 --> 00:38:56.239
<v Speaker 3>all of those internal versions of Exammal aligned.

817
00:38:56.559 --> 00:39:00.360
<v Speaker 1>Wishful thinking, like running Excel in iis.

818
00:39:02.960 --> 00:39:03.480
<v Speaker 2>That's going to be.

819
00:39:03.480 --> 00:39:06.039
<v Speaker 3>Burned in like a norphan Excel instance on a server

820
00:39:06.280 --> 00:39:07.519
<v Speaker 3>somewhere somewhere.

821
00:39:08.719 --> 00:39:09.119
<v Speaker 2>Wow.

822
00:39:09.800 --> 00:39:12.119
<v Speaker 3>Yeah, I'm just double checking the version numbers, and four

823
00:39:12.280 --> 00:39:17.840
<v Speaker 3>eight one last updated August of twenty two, so it's

824
00:39:17.920 --> 00:39:21.800
<v Speaker 3>two and a half years since that Windows only frame

825
00:39:22.039 --> 00:39:23.239
<v Speaker 3>version was updated.

826
00:39:24.199 --> 00:39:24.400
<v Speaker 2>Yeah.

827
00:39:24.519 --> 00:39:26.079
<v Speaker 3>I feel for folks that have to use it, because

828
00:39:26.079 --> 00:39:27.559
<v Speaker 3>there's folks who have to use it in the two

829
00:39:27.559 --> 00:39:30.039
<v Speaker 3>ways about it, right, But there are I, meantime, living

830
00:39:30.039 --> 00:39:32.880
<v Speaker 3>over here in dot net Nineland, where things are really.

831
00:39:32.639 --> 00:39:35.039
<v Speaker 2>Fast and well real.

832
00:39:34.880 --> 00:39:38.840
<v Speaker 1>Cloud friendly, I still have to write tools that work

833
00:39:38.920 --> 00:39:41.440
<v Speaker 1>with Windows that only work with Windows every once in

834
00:39:41.480 --> 00:39:44.000
<v Speaker 1>a while. And thank god the dotnat framework is there

835
00:39:44.039 --> 00:39:48.960
<v Speaker 1>because damn yeah yeah, send keys.

836
00:39:49.559 --> 00:39:52.639
<v Speaker 2>I love send keys. Yeah, that's amazing what that can do.

837
00:39:53.000 --> 00:39:55.559
<v Speaker 4>I also love how diverse it is. You know, previously,

838
00:39:55.559 --> 00:39:57.559
<v Speaker 4>when I wanted a really little thing, I would have

839
00:39:57.599 --> 00:39:59.760
<v Speaker 4>to reach for nude, and now I can use minimal

840
00:39:59.800 --> 00:40:00.559
<v Speaker 4>ap eyes for that.

841
00:40:01.199 --> 00:40:03.440
<v Speaker 3>Yeah yep, yeah, And you don't have to open studio.

842
00:40:03.480 --> 00:40:05.159
<v Speaker 3>You really can do what you need to do inside

843
00:40:05.159 --> 00:40:07.159
<v Speaker 3>of code if you want to, like or nope, pad

844
00:40:07.599 --> 00:40:12.320
<v Speaker 3>we've stripped away the battleshipness if you don't value the

845
00:40:12.320 --> 00:40:15.199
<v Speaker 3>battleship like I, studio is my happy place. But maybe

846
00:40:15.199 --> 00:40:17.599
<v Speaker 3>it's just because I'm old. I just feel like that's

847
00:40:17.639 --> 00:40:20.000
<v Speaker 3>the tool i'd want to point a beginner too, because

848
00:40:20.119 --> 00:40:22.760
<v Speaker 3>it has everything in it already. You don't have to

849
00:40:22.840 --> 00:40:24.800
<v Speaker 3>roll your own you don't have to figure that stuff out.

850
00:40:25.119 --> 00:40:28.840
<v Speaker 3>The problem is it's intimidating. It's like a cockpit of

851
00:40:28.840 --> 00:40:31.079
<v Speaker 3>a seven forty seven. Inside of there, everything's there, you're

852
00:40:31.119 --> 00:40:32.320
<v Speaker 3>just afraid to touch any of it.

853
00:40:32.760 --> 00:40:34.599
<v Speaker 4>And you don't have to collect all the plugins. With

854
00:40:34.719 --> 00:40:38.320
<v Speaker 4>vs code, it's like it's completely useful by itself.

855
00:40:38.360 --> 00:40:40.039
<v Speaker 2>You have to assemble a deb environment.

856
00:40:40.199 --> 00:40:42.280
<v Speaker 4>Yeah, but the moment that you start doing anything, really

857
00:40:42.360 --> 00:40:44.280
<v Speaker 4>you want a collection of plugins that do all kinds

858
00:40:44.280 --> 00:40:45.079
<v Speaker 4>of wonderful things.

859
00:40:45.440 --> 00:40:47.800
<v Speaker 3>It's exactly it. And for a beginner that's a challenge.

860
00:40:47.880 --> 00:40:49.280
<v Speaker 3>Not that we haven't made it easier. There are good

861
00:40:49.280 --> 00:40:50.519
<v Speaker 3>templates and things like that.

862
00:40:50.639 --> 00:40:53.280
<v Speaker 4>But and vus code's also pretty good at noticing, Hey,

863
00:40:53.280 --> 00:40:55.039
<v Speaker 4>it looks like you're doing this. Is this the plug

864
00:40:55.039 --> 00:40:56.079
<v Speaker 4>in that you want to help you with that?

865
00:40:56.400 --> 00:41:00.280
<v Speaker 1>So it's like Clippy, that's what you're saying.

866
00:41:00.360 --> 00:41:02.599
<v Speaker 3>This is clippy? Is that a code? And it wants

867
00:41:02.599 --> 00:41:04.119
<v Speaker 3>to help you get a plug in that's going to

868
00:41:04.199 --> 00:41:08.760
<v Speaker 3>make your life better. Weird, it's a weird time to

869
00:41:08.800 --> 00:41:11.400
<v Speaker 3>be a software developer man, and then probably the conversations

870
00:41:11.400 --> 00:41:12.239
<v Speaker 3>of my software.

871
00:41:12.320 --> 00:41:13.719
<v Speaker 2>But I have a digital duck.

872
00:41:14.320 --> 00:41:16.360
<v Speaker 1>It's a good time to be an old timer like

873
00:41:16.400 --> 00:41:19.679
<v Speaker 1>me though, because in you guys, because we've lived through

874
00:41:19.719 --> 00:41:22.960
<v Speaker 1>the whole progression of it and we felt the pain

875
00:41:23.039 --> 00:41:27.199
<v Speaker 1>and we saw the problem areas, and we feel elated

876
00:41:27.280 --> 00:41:30.679
<v Speaker 1>that I feel like I could do anything right now.

877
00:41:30.760 --> 00:41:33.440
<v Speaker 1>It's like there's nothing, there's no challenge. Somebody could say hey,

878
00:41:33.480 --> 00:41:35.880
<v Speaker 1>could you write? And I say, yes, hey could you possibly?

879
00:41:35.960 --> 00:41:36.760
<v Speaker 2>Yes? Yeah?

880
00:41:36.760 --> 00:41:39.760
<v Speaker 4>And I love it too because my stakeholders, my users

881
00:41:39.760 --> 00:41:42.639
<v Speaker 4>are starting to get really creative here they are chatting

882
00:41:42.679 --> 00:41:45.440
<v Speaker 4>with chat GPT and it's generating all kinds of stuff

883
00:41:45.440 --> 00:41:49.280
<v Speaker 4>and they're like and now they're just thinking really big, Yeah, hey,

884
00:41:49.320 --> 00:41:52.840
<v Speaker 4>can you create this thing that automatically does it? And yeah,

885
00:41:52.960 --> 00:41:55.199
<v Speaker 4>I love getting to build really cool experiences like that.

886
00:41:55.440 --> 00:41:56.199
<v Speaker 4>It's a lot of fun.

887
00:41:56.360 --> 00:41:59.559
<v Speaker 1>It's a lot of fun. It's like, yeah, it's a

888
00:41:59.599 --> 00:42:00.079
<v Speaker 1>good time.

889
00:42:00.159 --> 00:42:00.840
<v Speaker 2>Yeah, really good time.

890
00:42:00.840 --> 00:42:02.360
<v Speaker 4>It's kind of open their creativity.

891
00:42:02.679 --> 00:42:05.840
<v Speaker 1>So what haven't we talked about that's lighting your fire

892
00:42:05.880 --> 00:42:06.440
<v Speaker 1>with Aspire?

893
00:42:06.519 --> 00:42:09.360
<v Speaker 3>What are the rough bits of Aspire? Like what do

894
00:42:09.440 --> 00:42:11.119
<v Speaker 3>you still have to sit down and fight with to

895
00:42:11.320 --> 00:42:12.000
<v Speaker 3>be successful?

896
00:42:12.000 --> 00:42:15.000
<v Speaker 4>So that Aspire has some conventions that allow you to

897
00:42:15.239 --> 00:42:19.559
<v Speaker 4>automatically rig up dependencies, and sometimes those conventions can be

898
00:42:19.679 --> 00:42:22.239
<v Speaker 4>a little bit weird, especially as I'm starting to talk

899
00:42:22.239 --> 00:42:26.000
<v Speaker 4>about deployment. Deployment to Azure container apps is really really

900
00:42:26.039 --> 00:42:29.760
<v Speaker 4>well baked. Deployment to Kubernetes is a little bit less baked,

901
00:42:29.760 --> 00:42:34.079
<v Speaker 4>but still doing pretty good. But when I start getting

902
00:42:34.119 --> 00:42:40.480
<v Speaker 4>outside of just those standard to Azure deployment mechanisms, then

903
00:42:40.559 --> 00:42:43.639
<v Speaker 4>it's like, well, so how do I want to deploy it?

904
00:42:44.280 --> 00:42:48.320
<v Speaker 4>And as I'm deploying, how do I match the conventions

905
00:42:48.360 --> 00:42:52.480
<v Speaker 4>that dot not Aspire Local dashboard was doing for me automatically.

906
00:42:52.880 --> 00:42:56.079
<v Speaker 4>It's like, well, now I need to form this environment

907
00:42:56.199 --> 00:42:59.840
<v Speaker 4>variable using exactly the syntax to be able to get

908
00:42:59.840 --> 00:43:03.559
<v Speaker 4>it to inject the dependencies just so. And so it

909
00:43:03.559 --> 00:43:06.599
<v Speaker 4>feels like deployment is that sharp edge still sure?

910
00:43:07.000 --> 00:43:09.719
<v Speaker 3>And what's the strongest deployment path right now? Is it's

911
00:43:10.199 --> 00:43:13.920
<v Speaker 3>containers more than Kubernetes. Is like az your container service, or.

912
00:43:14.039 --> 00:43:17.880
<v Speaker 4>It's Azure Container apps, which is Azure's abstraction over the

913
00:43:17.880 --> 00:43:18.840
<v Speaker 4>top of Kupernetes.

914
00:43:18.960 --> 00:43:19.079
<v Speaker 2>Right.

915
00:43:19.119 --> 00:43:22.000
<v Speaker 4>You know, apparently Kupernetes yembo files are too complicated, so

916
00:43:22.119 --> 00:43:23.199
<v Speaker 4>let's all invent our own.

917
00:43:23.360 --> 00:43:26.920
<v Speaker 3>Lots of people struggle with them, rob like, let's be fair.

918
00:43:27.519 --> 00:43:30.480
<v Speaker 4>Yeah, And fargate is interesting in this way as well

919
00:43:30.599 --> 00:43:33.480
<v Speaker 4>on AWS, where it's kind of an abstraction over top

920
00:43:33.519 --> 00:43:36.960
<v Speaker 4>of Kupernetes. Right, but as your container apps is Microsoft

921
00:43:37.000 --> 00:43:40.360
<v Speaker 4>substraction over Kupernetes. And so that's their very very well

922
00:43:40.400 --> 00:43:40.920
<v Speaker 4>paved path.

923
00:43:41.039 --> 00:43:43.400
<v Speaker 3>Well, and I do appreciate the idea of, hey, you

924
00:43:43.480 --> 00:43:46.039
<v Speaker 3>probably don't need anything exotic in containers, so let me

925
00:43:46.079 --> 00:43:49.199
<v Speaker 3>just give you a default set of configuration, which if

926
00:43:49.199 --> 00:43:51.360
<v Speaker 3>you end up needing something exotic, you can haul all

927
00:43:51.440 --> 00:43:55.280
<v Speaker 3>this back out known it yourself, but since you probably don't,

928
00:43:55.360 --> 00:43:58.639
<v Speaker 3>you're in the eighty ninety percent case that defaults are

929
00:43:58.639 --> 00:43:59.480
<v Speaker 3>going to be fine for you.

930
00:43:59.679 --> 00:44:03.920
<v Speaker 4>Yeah, And the cool part is it will automatically package

931
00:44:04.000 --> 00:44:08.119
<v Speaker 4>up my dot net projects into containers and automatically push

932
00:44:08.199 --> 00:44:12.719
<v Speaker 4>them to Azure container registry and rig up other best practices,

933
00:44:12.800 --> 00:44:16.880
<v Speaker 4>like it'll put connection strings into key vault and day.

934
00:44:17.280 --> 00:44:19.679
<v Speaker 4>It does all the best practices, which is great, right

935
00:44:19.760 --> 00:44:22.920
<v Speaker 4>for you if you subscribe to that as your deployment mechanism.

936
00:44:23.199 --> 00:44:25.039
<v Speaker 3>I love key vault, Yeah, and it's a good thing

937
00:44:25.079 --> 00:44:27.440
<v Speaker 3>to use, but it's also not trivial steps and it's repetitive.

938
00:44:27.480 --> 00:44:29.239
<v Speaker 3>So the fact that the tool will just do it,

939
00:44:29.639 --> 00:44:32.079
<v Speaker 3>presume you're using qu vault, give me the credentials off

940
00:44:32.079 --> 00:44:33.480
<v Speaker 3>we go is good.

941
00:44:33.639 --> 00:44:33.880
<v Speaker 2>Yeah.

942
00:44:34.039 --> 00:44:36.800
<v Speaker 3>Just again, it's that pitt success thing that Rob mentioned

943
00:44:36.880 --> 00:44:38.840
<v Speaker 3>up front that we've never used that term before, but

944
00:44:38.920 --> 00:44:41.119
<v Speaker 3>you know, I'm going to let you own it today, Rob.

945
00:44:41.239 --> 00:44:44.159
<v Speaker 3>There you Yeah, just doing all the right things. That

946
00:44:44.320 --> 00:44:46.159
<v Speaker 3>to me is what really gets me excited about a

947
00:44:46.199 --> 00:44:49.000
<v Speaker 3>spire is like, the right way to deal with telemetry

948
00:44:49.079 --> 00:44:50.400
<v Speaker 3>is this way, and the right way to deal with

949
00:44:50.440 --> 00:44:52.840
<v Speaker 3>secrets is this way and the right we'll do cashing,

950
00:44:52.840 --> 00:44:54.639
<v Speaker 3>and you still have choices like which cash do you

951
00:44:54.719 --> 00:44:57.360
<v Speaker 3>want to use? You like reddits final, let's use reddis

952
00:44:57.360 --> 00:44:59.159
<v Speaker 3>you want to last a gal to use elastic like

953
00:44:59.280 --> 00:45:00.679
<v Speaker 3>it's just youuration setting.

954
00:45:00.719 --> 00:45:05.960
<v Speaker 1>Are there architectures where aspired doesn't make that much sense.

955
00:45:05.800 --> 00:45:08.440
<v Speaker 4>If you already have a whole lot of opinions about

956
00:45:08.440 --> 00:45:11.360
<v Speaker 4>how you want to do logging, metrics and tracing, you

957
00:45:11.400 --> 00:45:14.159
<v Speaker 4>already have a whole lot of opinions about how you

958
00:45:14.199 --> 00:45:17.440
<v Speaker 4>want to do deployment. If you have a large monolith

959
00:45:17.679 --> 00:45:20.400
<v Speaker 4>that you know really doesn't have a whole lot of

960
00:45:20.599 --> 00:45:23.840
<v Speaker 4>web request dependencies, yeah, like a single server, then it

961
00:45:23.880 --> 00:45:26.760
<v Speaker 4>may not make sense because well, you don't need the

962
00:45:26.800 --> 00:45:29.519
<v Speaker 4>service discovery, you don't have services. You don't need the

963
00:45:29.559 --> 00:45:32.480
<v Speaker 4>configuration or deployment piece because you already have those solved.

964
00:45:32.800 --> 00:45:35.039
<v Speaker 4>So you really don't need a dashboard that helps you

965
00:45:35.079 --> 00:45:37.199
<v Speaker 4>aggregate things because you don't have pieces.

966
00:45:37.360 --> 00:45:39.760
<v Speaker 1>I'm thinking of a Blazer server web app where you

967
00:45:39.800 --> 00:45:43.000
<v Speaker 1>can scale out just by adding more servers and it's

968
00:45:43.039 --> 00:45:48.239
<v Speaker 1>completely invisible to you, and you know the servers, the

969
00:45:48.599 --> 00:45:51.039
<v Speaker 1>users have affinity for one server or another. There really

970
00:45:51.079 --> 00:45:55.440
<v Speaker 1>isn't much that you need to do. And like you said,

971
00:45:55.440 --> 00:45:59.079
<v Speaker 1>there's no service layer, so yeah, you know, everything's sort

972
00:45:59.079 --> 00:46:01.280
<v Speaker 1>of baked into this one thing. I guess that's the

973
00:46:01.360 --> 00:46:02.760
<v Speaker 1>thing I'm thinking about.

974
00:46:03.000 --> 00:46:04.719
<v Speaker 4>Yeah, if you already have a whole lot of opinions,

975
00:46:04.760 --> 00:46:08.440
<v Speaker 4>you've already climbed these hills, then maybe it isn't necessary.

976
00:46:08.079 --> 00:46:10.280
<v Speaker 3>Right, Yeah, And by that token is just more of

977
00:46:10.280 --> 00:46:13.039
<v Speaker 3>a greenfield tool than a brownfield.

978
00:46:12.559 --> 00:46:14.840
<v Speaker 4>To I would argue that it's not. It's more of

979
00:46:14.880 --> 00:46:19.239
<v Speaker 4>a web tool than a greenfield or brownfield. I've added

980
00:46:19.280 --> 00:46:21.719
<v Speaker 4>it to a bunch of brownfield projects. I've also used

981
00:46:21.760 --> 00:46:24.599
<v Speaker 4>it in a bunch of greenfield projects, and it's just

982
00:46:24.639 --> 00:46:27.360
<v Speaker 4>really nice to be able to discover all the things

983
00:46:27.400 --> 00:46:30.440
<v Speaker 4>you know. In visual studio, you write click on the

984
00:46:30.480 --> 00:46:33.719
<v Speaker 4>solution manager and you say configure startup projects, and that

985
00:46:33.840 --> 00:46:37.800
<v Speaker 4>dialogue is nasty. Just having just being able to say

986
00:46:37.800 --> 00:46:40.360
<v Speaker 4>goodbye to that dialogue is worth the weight in gold.

987
00:46:40.480 --> 00:46:41.840
<v Speaker 2>Yeah right, yep, I agree.

988
00:46:41.920 --> 00:46:44.039
<v Speaker 4>If you use dot net Aspire for nothing else than

989
00:46:44.079 --> 00:46:47.039
<v Speaker 4>being able to launch all your projects simultaneously, it is

990
00:46:47.079 --> 00:46:47.440
<v Speaker 4>worth it.

991
00:46:47.760 --> 00:46:49.599
<v Speaker 2>Yeah, yep, that's interesting, it's good.

992
00:46:49.599 --> 00:46:53.000
<v Speaker 3>It's funny. The plumbing pain. We still have building building

993
00:46:53.079 --> 00:46:54.519
<v Speaker 3>software in studios.

994
00:46:54.079 --> 00:47:00.360
<v Speaker 1>So multiple projects, multiple machines, clients, servers, services. That's where

995
00:47:01.159 --> 00:47:02.760
<v Speaker 1>Aspire is really going to help you.

996
00:47:03.280 --> 00:47:07.199
<v Speaker 4>Yeah, and container orchestration like as part of launching this solution,

997
00:47:07.320 --> 00:47:09.880
<v Speaker 4>I also want to launch all of those containers for

998
00:47:10.000 --> 00:47:12.199
<v Speaker 4>data stores or external services or whatever.

999
00:47:12.280 --> 00:47:13.599
<v Speaker 2>What does it do to Kubernetes.

1000
00:47:13.679 --> 00:47:17.599
<v Speaker 4>The cool part is there's a project called Aspirate Aspirate

1001
00:47:17.800 --> 00:47:20.079
<v Speaker 4>I'm not quite sure how to pronounce it that allows

1002
00:47:20.119 --> 00:47:24.679
<v Speaker 4>you to connect dot Net Aspire deployment into Kubernetes. And

1003
00:47:24.760 --> 00:47:27.639
<v Speaker 4>it has two different modes. The one is it will

1004
00:47:27.679 --> 00:47:30.880
<v Speaker 4>do the same deployment like you do to Azure container apps,

1005
00:47:30.920 --> 00:47:33.920
<v Speaker 4>where it will automatically do all the things. And the

1006
00:47:34.000 --> 00:47:37.519
<v Speaker 4>other mode is where it scaffolds out the Kubernetes bits

1007
00:47:37.559 --> 00:47:40.800
<v Speaker 4>that you need, and it doesn't scaffold out all the dependencies.

1008
00:47:40.880 --> 00:47:43.519
<v Speaker 4>You know, it won't spin up your Rettis cluster or

1009
00:47:43.880 --> 00:47:47.159
<v Speaker 4>your postcrests or sql server database, but it will get

1010
00:47:47.199 --> 00:47:49.159
<v Speaker 4>all of your dot Net projects into place in a

1011
00:47:49.199 --> 00:47:52.480
<v Speaker 4>really elegant way. So I really like to use Aspirate

1012
00:47:52.559 --> 00:47:57.159
<v Speaker 4>to scaffold out my deployments and services, and then I

1013
00:47:57.199 --> 00:48:01.199
<v Speaker 4>already have ingress and secrets and can fig maps associated

1014
00:48:01.239 --> 00:48:03.760
<v Speaker 4>with other places then when I get to Kupernetes, I

1015
00:48:03.800 --> 00:48:06.960
<v Speaker 4>just keep ctl to apply and I've got my all

1016
00:48:06.960 --> 00:48:10.320
<v Speaker 4>of my services that dot net Aspire was orchestrating locally

1017
00:48:10.920 --> 00:48:13.159
<v Speaker 4>orchestrated by Kupernetes in production.

1018
00:48:12.960 --> 00:48:15.480
<v Speaker 1>So it snugges up to Kubernetes nicely when you already

1019
00:48:15.519 --> 00:48:18.679
<v Speaker 1>have that infrastructure. But if you don't have a Kubernantes infrastructure,

1020
00:48:19.000 --> 00:48:22.320
<v Speaker 1>does it make sense to you know, Okay, we're going

1021
00:48:22.400 --> 00:48:25.519
<v Speaker 1>to use Aspire, but we're also going to use Kubernetest.

1022
00:48:25.559 --> 00:48:26.400
<v Speaker 2>Does that make sense?

1023
00:48:26.559 --> 00:48:30.400
<v Speaker 4>They are super correlated. But the cool part is typically

1024
00:48:30.400 --> 00:48:33.079
<v Speaker 4>when you're reaching for a whole lot of micro services,

1025
00:48:33.159 --> 00:48:36.320
<v Speaker 4>you know, if you embrace that micro service architecture, then

1026
00:48:36.400 --> 00:48:39.760
<v Speaker 4>you need the ability to host all of those pieces. Sure,

1027
00:48:39.760 --> 00:48:43.079
<v Speaker 4>and if you're starting to look at I'll use Azure

1028
00:48:43.199 --> 00:48:46.719
<v Speaker 4>as my cloud of choice. If you're looking at your cloud, okay,

1029
00:48:46.719 --> 00:48:49.360
<v Speaker 4>and Azure, I could run each of those micro services

1030
00:48:49.400 --> 00:48:52.760
<v Speaker 4>as an Azure web app. But now I have a

1031
00:48:52.800 --> 00:48:55.840
<v Speaker 4>whole lot of web apps, right, it would be easier

1032
00:48:55.880 --> 00:48:57.960
<v Speaker 4>for me to put these in a spot where it

1033
00:48:58.000 --> 00:49:00.440
<v Speaker 4>can handle a lot of micro services, right. And so

1034
00:49:00.519 --> 00:49:03.760
<v Speaker 4>that's where Kupernetes was really built to host micro services.

1035
00:49:03.840 --> 00:49:05.480
<v Speaker 4>So dot net aspire.

1036
00:49:05.280 --> 00:49:07.360
<v Speaker 2>But if you have a container service.

1037
00:49:07.199 --> 00:49:10.880
<v Speaker 4>Yeah, Azu container service is a simpler paradigm there. Yeah,

1038
00:49:10.920 --> 00:49:15.280
<v Speaker 4>but dot net Aspire and Kupernetes then kind of solve

1039
00:49:15.679 --> 00:49:18.159
<v Speaker 4>two sides of the same coin, where dot net Aspire

1040
00:49:18.239 --> 00:49:21.800
<v Speaker 4>solves it really nicely in local development and Kupernetes solves

1041
00:49:21.840 --> 00:49:23.039
<v Speaker 4>it really nicely in production.

1042
00:49:23.280 --> 00:49:24.599
<v Speaker 2>Okay, that's well.

1043
00:49:24.880 --> 00:49:28.599
<v Speaker 3>If you have the amens who want to administer Kubernetes,

1044
00:49:28.920 --> 00:49:31.679
<v Speaker 3>yes you are not that automated. Folks need to needs

1045
00:49:31.719 --> 00:49:33.719
<v Speaker 3>care and feeding. Like if you're going down that path,

1046
00:49:33.760 --> 00:49:35.920
<v Speaker 3>other way, I stay in the Azure Container apps land.

1047
00:49:36.760 --> 00:49:39.960
<v Speaker 3>But if they need more dynamic control I want They've

1048
00:49:39.960 --> 00:49:42.079
<v Speaker 3>got other ways they want to do things. You got

1049
00:49:42.079 --> 00:49:45.800
<v Speaker 3>somebody who knows their way around Kubernetes in ops bhind Yeah.

1050
00:49:46.000 --> 00:49:46.280
<v Speaker 2>Yeah.

1051
00:49:46.360 --> 00:49:48.880
<v Speaker 4>The people who administer Kupernetes and the people who use

1052
00:49:48.960 --> 00:49:51.079
<v Speaker 4>Kupernetes are usually different people.

1053
00:49:51.000 --> 00:49:53.840
<v Speaker 3>And you need both, right, Like that's that you get it.

1054
00:49:53.880 --> 00:49:56.199
<v Speaker 3>I get a dev team all jacked up to use Kubernetes,

1055
00:49:56.239 --> 00:49:57.880
<v Speaker 3>and it's like, so you guys going to stay here

1056
00:49:59.519 --> 00:50:01.840
<v Speaker 3>and offer rate this because it doesn't just offerate on

1057
00:50:01.880 --> 00:50:03.719
<v Speaker 3>its own, like it needs some care and feeding.

1058
00:50:04.199 --> 00:50:07.360
<v Speaker 4>Azri Kupernetti service does a pretty good job of keeping

1059
00:50:07.400 --> 00:50:11.199
<v Speaker 4>track of it. For example, upgrading Kupernettes versions in Azure

1060
00:50:11.320 --> 00:50:14.199
<v Speaker 4>is just super simple. I just picked the new version

1061
00:50:14.239 --> 00:50:17.039
<v Speaker 4>from the drop down right. Doing that by hand is

1062
00:50:17.199 --> 00:50:20.800
<v Speaker 4>way hard. So you don't need a dedicated ops team

1063
00:50:20.840 --> 00:50:23.480
<v Speaker 4>to manage Kupernettes in Azure, but it helps.

1064
00:50:24.079 --> 00:50:26.480
<v Speaker 3>If you're using Azure Cubineti service, you're not running your

1065
00:50:26.519 --> 00:50:30.480
<v Speaker 3>own Kubernetess instance switch and you know, folks go down

1066
00:50:30.519 --> 00:50:32.599
<v Speaker 3>that path. I don't know why, but they do.

1067
00:50:32.760 --> 00:50:34.679
<v Speaker 4>And there are definitely reasons for that. But if you're

1068
00:50:34.679 --> 00:50:38.840
<v Speaker 4>getting started with Kupernettes, then my first instruction is don't

1069
00:50:38.880 --> 00:50:41.639
<v Speaker 4>install Kupernettes. Go to your cloud and click that create

1070
00:50:41.679 --> 00:50:42.679
<v Speaker 4>a Kupernettes button.

1071
00:50:42.800 --> 00:50:46.199
<v Speaker 2>Yes, the first rule of Kubernetes. Don't install Kubernetes.

1072
00:50:47.400 --> 00:50:49.880
<v Speaker 3>Now, have you done the path of like from Azure

1073
00:50:49.920 --> 00:50:52.719
<v Speaker 3>Container Apps to Azure Community Kuberneti Service.

1074
00:50:53.039 --> 00:50:55.880
<v Speaker 4>I actually got into Kupernettes before Azure Container Apps was

1075
00:50:55.920 --> 00:50:58.239
<v Speaker 4>a thing, right, and so I kind of look at

1076
00:50:58.280 --> 00:51:01.039
<v Speaker 4>Azure Container Apps as like the train wheels to the

1077
00:51:01.079 --> 00:51:03.559
<v Speaker 4>gateway drug to get you to Kupernetes. Yeah, and I'm like,

1078
00:51:03.599 --> 00:51:07.480
<v Speaker 4>I'm already at Kupernettes. I don't really need to step backwards.

1079
00:51:07.599 --> 00:51:09.119
<v Speaker 2>Yeah, I've just heard.

1080
00:51:09.199 --> 00:51:11.519
<v Speaker 3>It's not that easy to move between these things, Like,

1081
00:51:11.559 --> 00:51:14.159
<v Speaker 3>it's not a trivial thing to pick up and shift over.

1082
00:51:14.159 --> 00:51:15.679
<v Speaker 3>There's no butt that says, hey, I want to run

1083
00:51:15.679 --> 00:51:17.199
<v Speaker 3>this in AKS now, please.

1084
00:51:17.119 --> 00:51:20.239
<v Speaker 4>Right, the config files are significantly different. Yeah, if you

1085
00:51:20.320 --> 00:51:23.039
<v Speaker 4>understand Kupernetes, you can look at the Azure Container Apps

1086
00:51:23.079 --> 00:51:26.400
<v Speaker 4>Gammo files and kind of see the Kupernetes bits kind

1087
00:51:26.400 --> 00:51:29.480
<v Speaker 4>of starting to come through. But yeah, there's a whole

1088
00:51:29.480 --> 00:51:31.880
<v Speaker 4>lot more concepts in kupernettes that you don't see in

1089
00:51:31.920 --> 00:51:36.079
<v Speaker 4>Azure container apps. For example, Kupernettes has a difference between

1090
00:51:36.079 --> 00:51:39.280
<v Speaker 4>services and pods, and Azure Container apps kind of paves

1091
00:51:39.280 --> 00:51:40.599
<v Speaker 4>over that to make them one thing.

1092
00:51:40.760 --> 00:51:41.400
<v Speaker 2>Oh yambo.

1093
00:51:42.599 --> 00:51:45.159
<v Speaker 1>Yeah, yeah, so much hammal, so much ammal.

1094
00:51:45.440 --> 00:51:49.280
<v Speaker 2>All right, there is asure Migrate apparently for doing this.

1095
00:51:49.480 --> 00:51:51.920
<v Speaker 4>But yeah, yeah, it's not impossible. And the cool part

1096
00:51:52.000 --> 00:51:54.880
<v Speaker 4>is that your dot net projects probably don't change at

1097
00:51:54.920 --> 00:51:57.719
<v Speaker 4>all when you move from Azure Container apps to Azrikruperneti service.

1098
00:51:58.039 --> 00:52:01.800
<v Speaker 4>It's just all of the DEVA and ops things under

1099
00:52:01.840 --> 00:52:02.159
<v Speaker 4>the hood.

1100
00:52:02.239 --> 00:52:04.679
<v Speaker 3>Yeah, that's what I figured. It's just you know, we

1101
00:52:05.000 --> 00:52:07.280
<v Speaker 3>also keep offering this whole. You can start here and

1102
00:52:07.320 --> 00:52:10.199
<v Speaker 3>move there. But it's question is how hard is the move.

1103
00:52:10.239 --> 00:52:12.320
<v Speaker 4>And if you're building all these things with Polumi or

1104
00:52:12.400 --> 00:52:16.760
<v Speaker 4>Terraform or even Bicep, then you're rebuilding a.

1105
00:52:16.719 --> 00:52:18.199
<v Speaker 2>Bunch yeah right now.

1106
00:52:18.519 --> 00:52:22.039
<v Speaker 3>And we've done shows before on Bicep and Polumine and

1107
00:52:22.920 --> 00:52:23.679
<v Speaker 3>even Terrorform.

1108
00:52:24.119 --> 00:52:25.079
<v Speaker 2>Do you have a preference?

1109
00:52:25.320 --> 00:52:28.800
<v Speaker 4>I really like Terraform, a project that I'm working on,

1110
00:52:28.880 --> 00:52:33.119
<v Speaker 4>has a whole lot of platform engineering things built up

1111
00:52:33.119 --> 00:52:35.199
<v Speaker 4>in Terraform, and so that was the one that they

1112
00:52:35.199 --> 00:52:38.559
<v Speaker 4>handed us. I like that Terraform now is starting to

1113
00:52:38.599 --> 00:52:42.440
<v Speaker 4>embrace other programming languages. CDK is the project that allows

1114
00:52:42.480 --> 00:52:45.960
<v Speaker 4>you to start writing Terraform in other programming languages like

1115
00:52:46.280 --> 00:52:49.440
<v Speaker 4>c Sharp or JavaScript or other things. And that was

1116
00:52:49.480 --> 00:52:51.400
<v Speaker 4>kind of the big draw of Polumi is to be

1117
00:52:51.440 --> 00:52:55.199
<v Speaker 4>able to get this outside of Terraform into real languages.

1118
00:52:55.440 --> 00:52:55.599
<v Speaker 2>Right.

1119
00:52:55.760 --> 00:52:57.960
<v Speaker 4>Bicep is interesting, but it's Azure only and.

1120
00:52:58.000 --> 00:53:00.199
<v Speaker 2>In the end, it's just generating arm files under the hood.

1121
00:53:00.280 --> 00:53:04.000
<v Speaker 4>And your Terraform or Pulumi files won't go between clouds automatically.

1122
00:53:04.039 --> 00:53:08.679
<v Speaker 4>You know, Amazon's content is different than Azure's content, but

1123
00:53:08.760 --> 00:53:11.360
<v Speaker 4>having a single language across all of the clouds is

1124
00:53:11.440 --> 00:53:14.800
<v Speaker 4>really nice. So yeah, I've really embraced Terrorform.

1125
00:53:14.519 --> 00:53:18.000
<v Speaker 3>Okay, Yeah, and it feels like Polumi pressed Terraform to

1126
00:53:18.000 --> 00:53:19.800
<v Speaker 3>do a better job because Tariform was there first, oh

1127
00:53:19.800 --> 00:53:21.519
<v Speaker 3>of course. And it's never been window centric. I mean,

1128
00:53:21.519 --> 00:53:23.400
<v Speaker 3>the biggest complaint I've ever heard from Terraform from an

1129
00:53:23.440 --> 00:53:27.480
<v Speaker 3>Azure perspective is that they're behind on new Azure features

1130
00:53:27.480 --> 00:53:29.280
<v Speaker 3>that if you're in Terraform, you don't get access those

1131
00:53:29.280 --> 00:53:29.920
<v Speaker 3>feature right away.

1132
00:53:29.960 --> 00:53:32.599
<v Speaker 2>Takes time for their interface to catch up.

1133
00:53:32.760 --> 00:53:35.039
<v Speaker 4>Right, And that's unfortunate. But if you're not on the

1134
00:53:35.039 --> 00:53:38.000
<v Speaker 4>bleeding edge of Azure, then you're not really bothered by that.

1135
00:53:38.400 --> 00:53:40.800
<v Speaker 1>Yeah, And there are two different things, right, isn't Polumi

1136
00:53:40.960 --> 00:53:44.320
<v Speaker 1>like a c Sharp based and Terraform is PowerShell based

1137
00:53:44.400 --> 00:53:45.199
<v Speaker 1>or something like that.

1138
00:53:45.360 --> 00:53:49.159
<v Speaker 4>Terraform has HCl files, which if you squint real hard

1139
00:53:49.199 --> 00:53:52.679
<v Speaker 4>you can see JSON or graph ql, and by comparison,

1140
00:53:52.760 --> 00:53:55.320
<v Speaker 4>Polumi is in Typescript or c sharp or you know

1141
00:53:55.360 --> 00:53:57.440
<v Speaker 4>any language right, right, And so at the end of

1142
00:53:57.480 --> 00:54:00.559
<v Speaker 4>the day, you build these files defining all the configuration

1143
00:54:00.679 --> 00:54:02.119
<v Speaker 4>that you want, and so you know, do you have

1144
00:54:02.159 --> 00:54:05.320
<v Speaker 4>semi colons and curly braces. That's kind of the big

1145
00:54:05.320 --> 00:54:07.840
<v Speaker 4>difference here and then you run on firm command line.

1146
00:54:07.960 --> 00:54:10.119
<v Speaker 1>Eight yamil in ein' yamil. That's good enough for me.

1147
00:54:10.559 --> 00:54:12.000
<v Speaker 2>Uh, Robs, the.

1148
00:54:12.400 --> 00:54:15.880
<v Speaker 3>I see more BICEP folks from the men side of

1149
00:54:16.079 --> 00:54:19.679
<v Speaker 3>DevOps more than the dev side of DevOps, where I

1150
00:54:19.679 --> 00:54:22.559
<v Speaker 3>think Pulumi was very much a dev centric DevOps tool,

1151
00:54:22.719 --> 00:54:26.840
<v Speaker 3>And yeah, Terrorform certainly was, but was embraced by Mode. Again,

1152
00:54:26.920 --> 00:54:29.920
<v Speaker 3>Terraform has the avengage of being the oldest and the

1153
00:54:30.000 --> 00:54:32.920
<v Speaker 3>large largest diversity, and it just felt like they fell

1154
00:54:32.960 --> 00:54:36.559
<v Speaker 3>behind and it was innovation spots. But with CDK, Terraform

1155
00:54:36.559 --> 00:54:39.599
<v Speaker 3>seems to be there, like you get your biggest pool.

1156
00:54:39.920 --> 00:54:44.920
<v Speaker 3>You're definitely platform agnostic, like it's it's a really strong choice, and.

1157
00:54:44.920 --> 00:54:47.639
<v Speaker 4>You have access to all the Terraform providers and modules

1158
00:54:47.639 --> 00:54:50.760
<v Speaker 4>that you always had with Polumi. Yeah, you kind of

1159
00:54:50.800 --> 00:54:53.199
<v Speaker 4>had to make sure that they got them too.

1160
00:54:53.400 --> 00:54:55.920
<v Speaker 1>Yeah, you're starting over, rob, Is there anything we missed,

1161
00:54:56.280 --> 00:54:58.519
<v Speaker 1>anything that you want to mention before we go?

1162
00:54:58.760 --> 00:55:00.920
<v Speaker 4>What's really cool at dot net as is that it

1163
00:55:00.960 --> 00:55:03.320
<v Speaker 4>gives you the chance to do as much or as

1164
00:55:03.320 --> 00:55:05.719
<v Speaker 4>little with it as you want. And so whether you're

1165
00:55:05.719 --> 00:55:08.239
<v Speaker 4>coming at it from a greenfield or a brown field, perspective.

1166
00:55:08.559 --> 00:55:11.639
<v Speaker 4>I think dot net Aspire has really intriguing options for you.

1167
00:55:11.960 --> 00:55:14.079
<v Speaker 4>It's definitely worth kicking the tires there.

1168
00:55:14.079 --> 00:55:17.320
<v Speaker 1>Definitely, Rob Richison, thank you very much. It's a pleasure

1169
00:55:17.400 --> 00:55:19.239
<v Speaker 1>catching up with you again on this show. It's been

1170
00:55:19.239 --> 00:55:22.039
<v Speaker 1>far too long and I hope it's not too long

1171
00:55:22.119 --> 00:55:22.960
<v Speaker 1>before the next time.

1172
00:55:23.079 --> 00:55:24.880
<v Speaker 4>Yeah, I can't wait to do it again. It's great

1173
00:55:24.880 --> 00:55:25.480
<v Speaker 4>catching up with.

1174
00:55:25.480 --> 00:55:26.800
<v Speaker 2>Kill you too. Thanks Matt.

1175
00:55:26.840 --> 00:55:28.880
<v Speaker 1>All right, and we'll talk to you later on dot

1176
00:55:28.920 --> 00:55:52.079
<v Speaker 1>net Rocks. Dot net Rocks is brought to you by

1177
00:55:52.159 --> 00:55:56.840
<v Speaker 1>Franklin's Net and produced by Pop Studios, a full service audio,

1178
00:55:56.960 --> 00:56:01.400
<v Speaker 1>video and post production facility located physically in New London, Connecticut,

1179
00:56:01.639 --> 00:56:06.440
<v Speaker 1>and of course in the cloud online at pwop dot com.

1180
00:56:06.639 --> 00:56:08.800
<v Speaker 1>Visit our website at d O T N E t

1181
00:56:09.000 --> 00:56:13.039
<v Speaker 1>R O c k S dot com for RSS feeds, downloads,

1182
00:56:13.199 --> 00:56:16.880
<v Speaker 1>mobile apps, comments, and access to the full archives going

1183
00:56:16.920 --> 00:56:20.280
<v Speaker 1>back to show number one, recorded in September two thousand

1184
00:56:20.320 --> 00:56:22.960
<v Speaker 1>and two. And make sure you check out our sponsors.

1185
00:56:23.119 --> 00:56:26.159
<v Speaker 1>They keep us in business. Now go write some code.

1186
00:56:26.480 --> 00:56:30.000
<v Speaker 2>See you next time. You got jam Vans

1187
00:56:32.039 --> 00:56:32.079
<v Speaker 4>And
