WEBVTT

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

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

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

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

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

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

7
00:00:21.120 --> 00:00:36.759
<v Speaker 1>dot com. Hey, welcome back to dot need rocks. I'm

8
00:00:36.840 --> 00:00:41.079
<v Speaker 1>Carl Franklin, an amateur count And although dev Intersection has

9
00:00:41.359 --> 00:00:44.399
<v Speaker 1>hopefully come and gone, if the world hasn't ended, uh,

10
00:00:44.679 --> 00:00:48.719
<v Speaker 1>we haven't been there yet. We're recording this on September thirty.

11
00:00:48.920 --> 00:00:51.920
<v Speaker 2>Time shifting is a wonder, but yeah, we're we're headed

12
00:00:51.920 --> 00:00:53.719
<v Speaker 2>there in a few days and then yeah, by the

13
00:00:53.759 --> 00:00:56.399
<v Speaker 2>time this is published, it'll have happened. Actually, I think

14
00:00:56.399 --> 00:00:58.759
<v Speaker 2>I'll be in Lizbeon on the week this is published

15
00:00:59.240 --> 00:01:00.039
<v Speaker 2>for the Azure dev.

16
00:01:00.159 --> 00:01:04.400
<v Speaker 1>So that's also appropriate because we're talking about Aspire and

17
00:01:04.480 --> 00:01:07.159
<v Speaker 1>by this time, hopefully you'll have done the crazy gotten

18
00:01:07.200 --> 00:01:10.439
<v Speaker 1>at rocks dot com should have been a spirified.

19
00:01:09.920 --> 00:01:13.200
<v Speaker 2>A spirified because that's a word.

20
00:01:13.560 --> 00:01:15.280
<v Speaker 1>But we don't know as.

21
00:01:17.640 --> 00:01:19.680
<v Speaker 2>We can't just because you're going to build it on

22
00:01:19.719 --> 00:01:22.280
<v Speaker 2>stage doesn't mean you're going to deploy it. That's right,

23
00:01:22.680 --> 00:01:23.239
<v Speaker 2>that's right.

24
00:01:25.079 --> 00:01:27.000
<v Speaker 1>Anyway, Chris Klug is here, we're going to talk to

25
00:01:27.079 --> 00:01:32.599
<v Speaker 1>him about Aspire, and let's start with nineteen seventy two,

26
00:01:32.680 --> 00:01:34.000
<v Speaker 1>which is our show number.

27
00:01:34.599 --> 00:01:35.519
<v Speaker 2>Yeah, there's a.

28
00:01:35.519 --> 00:01:37.719
<v Speaker 1>Bunch of stuff happened. The Watergate scandal.

29
00:01:38.040 --> 00:01:41.599
<v Speaker 2>Yes, I think that's the single biggest piece of news,

30
00:01:41.599 --> 00:01:44.760
<v Speaker 2>although you can always look at everything. Vietnam during seventy two.

31
00:01:44.680 --> 00:01:49.879
<v Speaker 1>Oh yeah, yeah, significant stuff, the Easter offensive by North Vietnam,

32
00:01:49.959 --> 00:01:54.920
<v Speaker 1>the US response with Operation Linebacker. Nixon went to China.

33
00:01:55.280 --> 00:01:56.159
<v Speaker 2>Yeah, that's big news.

34
00:01:56.239 --> 00:02:00.599
<v Speaker 1>Probably probably to take his mind off of water Well,

35
00:02:00.680 --> 00:02:02.280
<v Speaker 1>it was a big breakthrough and it had been worked

36
00:02:02.319 --> 00:02:04.000
<v Speaker 1>on for really a few years. Your Kissinger had been

37
00:02:04.040 --> 00:02:06.079
<v Speaker 1>involved and so forth, like that's the beginning of the

38
00:02:06.120 --> 00:02:08.560
<v Speaker 1>opening of China. That kind of helped lead us to

39
00:02:08.599 --> 00:02:10.560
<v Speaker 1>where we are right now. And we got some beautiful

40
00:02:10.599 --> 00:02:13.439
<v Speaker 1>cherry trees out of it, and they're still there.

41
00:02:13.639 --> 00:02:15.439
<v Speaker 2>It's pandace. Don't forget the pandits.

42
00:02:15.199 --> 00:02:19.120
<v Speaker 1>And the pandas, right, the Munich massacre during the Summer

43
00:02:19.159 --> 00:02:26.159
<v Speaker 1>Olympics terrorist attack not good, and the troubles in Northern Ireland.

44
00:02:26.400 --> 00:02:27.400
<v Speaker 2>Yeah, bloody Sunday.

45
00:02:27.439 --> 00:02:35.680
<v Speaker 1>The troubles such a whitewashed version. Yeah, description of that troubles.

46
00:02:35.719 --> 00:02:38.039
<v Speaker 1>A bunch of stuff. Like I said before the nineteen

47
00:02:38.080 --> 00:02:43.879
<v Speaker 1>seventy two Winter Olympics, a lot of entertainment things happening.

48
00:02:43.919 --> 00:02:46.199
<v Speaker 1>But I'm gonna let you take it from here with

49
00:02:46.759 --> 00:02:47.680
<v Speaker 1>science and tech.

50
00:02:47.840 --> 00:02:52.199
<v Speaker 2>Let's do space first, Okay, Big Year. Of course, Mariner

51
00:02:52.360 --> 00:02:56.039
<v Speaker 2>nine arrives at Mars. We always think the Mariners are

52
00:02:56.080 --> 00:02:59.439
<v Speaker 2>all the same, and they weren't. They were a class

53
00:02:59.560 --> 00:03:03.800
<v Speaker 2>of planetary explorer. Some failed, some succeed and so forth.

54
00:03:03.840 --> 00:03:07.639
<v Speaker 2>But Marina nine was a very large mariner was twice

55
00:03:07.759 --> 00:03:11.479
<v Speaker 2>the size of the predecessors. Mariner eight didn't launch especially,

56
00:03:11.560 --> 00:03:14.240
<v Speaker 2>but six and seven did. And this one's literally a

57
00:03:14.319 --> 00:03:16.879
<v Speaker 2>thousand kilos where six and seven were about five hundred.

58
00:03:16.960 --> 00:03:20.159
<v Speaker 2>Why because it carried enough fuel and power plant to

59
00:03:20.240 --> 00:03:23.960
<v Speaker 2>go into orbit around Mars, the first time humans ever

60
00:03:23.960 --> 00:03:27.439
<v Speaker 2>put something in orbit around another planet. Wow, And then

61
00:03:27.479 --> 00:03:29.479
<v Speaker 2>spent about It's spent three hundred and forty nine days

62
00:03:29.479 --> 00:03:33.000
<v Speaker 2>in orbit around Mars operational, taking pictures of the majority

63
00:03:33.080 --> 00:03:37.120
<v Speaker 2>of Mars. Those photos used to plan the Viking landings,

64
00:03:37.120 --> 00:03:40.400
<v Speaker 2>as well as giving us our first detailed photographs it.

65
00:03:40.360 --> 00:03:46.879
<v Speaker 1>Looks like Gene Roddenberry's you know, Scape of External Planets

66
00:03:47.000 --> 00:03:50.120
<v Speaker 1>was pretty spot on in terms of what of what

67
00:03:50.159 --> 00:03:51.400
<v Speaker 1>Mars actually looks like.

68
00:03:51.919 --> 00:03:54.319
<v Speaker 2>Yeah, Mars had you know, the problem we had with

69
00:03:54.319 --> 00:03:57.280
<v Speaker 2>Mars was there was a year long dust storm in

70
00:03:57.319 --> 00:03:59.240
<v Speaker 2>the earlier marindim missiones of the good and getting good

71
00:03:59.240 --> 00:04:01.439
<v Speaker 2>pictures and like, what's going on? I just have no

72
00:04:01.479 --> 00:04:03.759
<v Speaker 2>idea that it was this crazy dust him. But Mariner

73
00:04:03.840 --> 00:04:06.319
<v Speaker 2>nine stuck around, was able to orbit rather than just

74
00:04:06.319 --> 00:04:09.319
<v Speaker 2>to a flyby. It's difficult to get into orbit of

75
00:04:09.360 --> 00:04:11.039
<v Speaker 2>on the planet. You think about the threading of the

76
00:04:11.039 --> 00:04:15.680
<v Speaker 2>needle to pull that up. Exceptional achievement, good stuff. How

77
00:04:15.719 --> 00:04:19.560
<v Speaker 2>about in computers? The last two Apollo missions, Okay, Paulo

78
00:04:19.639 --> 00:04:23.199
<v Speaker 2>sixteen Young Duke Mattalie, which is the second rover mission

79
00:04:23.319 --> 00:04:25.839
<v Speaker 2>secually called the J class missions the real science missions,

80
00:04:25.839 --> 00:04:28.399
<v Speaker 2>and the final one of Paulo seventeen with Sernaan, Evans

81
00:04:28.480 --> 00:04:33.199
<v Speaker 2>and Schmidt Harrison Schmidt being the only scientist to set

82
00:04:33.199 --> 00:04:36.360
<v Speaker 2>foot on the Moon. He was a geologist. He had

83
00:04:36.399 --> 00:04:40.680
<v Speaker 2>helped train the other test pilots. There are eleven test

84
00:04:40.680 --> 00:04:42.360
<v Speaker 2>pilots that had walked on the Moon to try and

85
00:04:42.399 --> 00:04:44.199
<v Speaker 2>find good rocks, and needless to say, he was better

86
00:04:44.199 --> 00:04:48.040
<v Speaker 2>at than everybody else. He's the only human face ever

87
00:04:48.079 --> 00:04:50.319
<v Speaker 2>photographed on the moon because he broke all the rules.

88
00:04:50.800 --> 00:04:52.680
<v Speaker 2>He kept flipping up the visor to see the rocks

89
00:04:52.680 --> 00:04:56.399
<v Speaker 2>better because he's a geologist. And it is actually a

90
00:04:56.439 --> 00:04:59.040
<v Speaker 2>photograph of him with the visor flipped because that goldvisor

91
00:04:59.079 --> 00:05:00.920
<v Speaker 2>stopped their eyes from burned out of their heads. But

92
00:05:00.920 --> 00:05:03.199
<v Speaker 2>that didn't matter to rish Schmid. He really wanted to

93
00:05:03.199 --> 00:05:05.560
<v Speaker 2>look at rocks, and he found easily the most important rock.

94
00:05:05.600 --> 00:05:10.360
<v Speaker 2>He found this unshocked chocolatedite, which is a synthesis of

95
00:05:10.680 --> 00:05:15.639
<v Speaker 2>olivine that showed that they rock formations were partially volcanic,

96
00:05:15.680 --> 00:05:17.720
<v Speaker 2>and it spoke to the actual formation of the moon.

97
00:05:17.839 --> 00:05:21.759
<v Speaker 2>Wow Incerning ended that mission with the we leave as

98
00:05:21.759 --> 00:05:24.079
<v Speaker 2>we came, and God willing we shall return with peace

99
00:05:24.079 --> 00:05:24.759
<v Speaker 2>and hope for all men.

100
00:05:27.040 --> 00:05:30.600
<v Speaker 1>There is one thing we haven't talked about that happened

101
00:05:30.600 --> 00:05:34.959
<v Speaker 1>in nineteen seventy two, and that's Richard Campbell and Carl

102
00:05:34.959 --> 00:05:41.160
<v Speaker 1>Franklin started kindergarten because we were five. We were five

103
00:05:42.040 --> 00:05:46.439
<v Speaker 1>thru and isn't that the year that you went from

104
00:05:46.439 --> 00:05:48.279
<v Speaker 1>New Zealand to Canada?

105
00:05:48.560 --> 00:05:49.800
<v Speaker 2>No, I just a couple of years before.

106
00:05:49.839 --> 00:05:51.839
<v Speaker 1>And then oh okay, I thought you said, Oh no,

107
00:05:52.079 --> 00:05:54.160
<v Speaker 1>you were five when you went to your uncle's house

108
00:05:54.720 --> 00:05:57.279
<v Speaker 1>and had prairie dog target.

109
00:05:57.040 --> 00:06:00.199
<v Speaker 2>Practice five, five or six. Yeah, it's you know, that's

110
00:06:00.199 --> 00:06:05.040
<v Speaker 2>hard to when you're young, The Great Prairie Dog story.

111
00:06:05.160 --> 00:06:08.199
<v Speaker 2>The microcomputer has been invented, or the CPU has been

112
00:06:08.240 --> 00:06:12.199
<v Speaker 2>invented a couple years before, but the first scientific calculator,

113
00:06:12.240 --> 00:06:14.240
<v Speaker 2>the HP thirty five, comes out in nineteen seventy two,

114
00:06:14.240 --> 00:06:16.959
<v Speaker 2>although it does not use a four thousand and four. Now,

115
00:06:16.959 --> 00:06:19.759
<v Speaker 2>this is the time when trigonometry and exponents were done

116
00:06:19.759 --> 00:06:21.720
<v Speaker 2>with slide rulers, so the idea we had an electronic

117
00:06:21.759 --> 00:06:23.879
<v Speaker 2>device that could do Trigg and exponents was a big deal.

118
00:06:25.240 --> 00:06:27.600
<v Speaker 2>It also use the first implementation of a thing called

119
00:06:27.560 --> 00:06:31.240
<v Speaker 2>a reverse polish notation or called postfix notation, where you're

120
00:06:31.319 --> 00:06:34.199
<v Speaker 2>loading registers, so you go one enter to enter and

121
00:06:34.240 --> 00:06:38.040
<v Speaker 2>then plus to add them together. And so if you

122
00:06:38.079 --> 00:06:41.000
<v Speaker 2>were into those old calculators, that's where it began. Nineteen

123
00:06:41.040 --> 00:06:44.959
<v Speaker 2>seventy two. Wow, as another from the previous show or

124
00:06:44.959 --> 00:06:47.279
<v Speaker 2>another reference to Alan Shoeguard, he has now left IBM,

125
00:06:47.360 --> 00:06:50.079
<v Speaker 2>gone to MEMORYX where he makes the shoe guard floppy

126
00:06:50.160 --> 00:06:52.680
<v Speaker 2>drive or read write drive for MEMORYX called the six fifty,

127
00:06:52.720 --> 00:06:55.079
<v Speaker 2>with one hundred and seventy five kilobits a storage on

128
00:06:55.120 --> 00:06:57.759
<v Speaker 2>an eight inch piece of plastic.

129
00:06:57.959 --> 00:07:01.720
<v Speaker 1>They weren't asking the question about is it live yet?

130
00:07:02.480 --> 00:07:04.639
<v Speaker 2>No, I think that's an ad A little later on

131
00:07:04.800 --> 00:07:06.680
<v Speaker 2>for cassette daves, well, that's.

132
00:07:06.600 --> 00:07:08.759
<v Speaker 1>When they got into audio. It's probably later, but we'll

133
00:07:08.759 --> 00:07:10.720
<v Speaker 1>probably get there in a couple of weeks.

134
00:07:10.800 --> 00:07:13.439
<v Speaker 2>And I'd be remiss not to mention the C programming

135
00:07:13.560 --> 00:07:15.639
<v Speaker 2>language Dennis Richie being released in nineteen.

136
00:07:15.360 --> 00:07:16.839
<v Speaker 1>Seventy two currently get in Richie.

137
00:07:16.879 --> 00:07:21.000
<v Speaker 2>And finally in video game history, the Magnavox Odyssey is

138
00:07:21.000 --> 00:07:22.920
<v Speaker 2>released in nineteen seventy two in the US for one

139
00:07:23.040 --> 00:07:26.240
<v Speaker 2>hundred US dollars that'd be about seven hundred bucks to day.

140
00:07:27.160 --> 00:07:30.439
<v Speaker 2>And it was you know, basic screen Pong and you

141
00:07:30.519 --> 00:07:33.720
<v Speaker 2>had two little knobs. It was Pong. Yeah, they had

142
00:07:33.720 --> 00:07:35.639
<v Speaker 2>a few variations on the game, but essentially it was

143
00:07:35.800 --> 00:07:38.040
<v Speaker 2>just Pong. They sold three hundred and fifty thousand units

144
00:07:38.040 --> 00:07:40.639
<v Speaker 2>by nineteen seventy five. This is also the same year

145
00:07:40.720 --> 00:07:45.160
<v Speaker 2>that one Nolan Bushnell makes a video game console called

146
00:07:45.319 --> 00:07:49.519
<v Speaker 2>Pong and forms the company Atari, and is promptly sued

147
00:07:49.519 --> 00:07:51.199
<v Speaker 2>by Magnavox and Settles.

148
00:07:51.959 --> 00:07:55.439
<v Speaker 1>We would encourage our listeners to search the archives, the

149
00:07:55.480 --> 00:07:58.399
<v Speaker 1>dot Rocks archives for Nolan Bushnell because we talked to him,

150
00:07:58.959 --> 00:07:59.959
<v Speaker 1>yeah a few years ago.

151
00:08:00.360 --> 00:08:03.279
<v Speaker 2>Yeah, one of one of Yeah, one of my heroes

152
00:08:03.279 --> 00:08:05.240
<v Speaker 2>from back in the day. And it was interesting to

153
00:08:05.279 --> 00:08:07.879
<v Speaker 2>actually meet the man, yeah, in his seventies and drink

154
00:08:07.879 --> 00:08:08.480
<v Speaker 2>whiskey with him.

155
00:08:09.000 --> 00:08:12.360
<v Speaker 1>Yep. And I just remember him saying at the end

156
00:08:12.439 --> 00:08:15.560
<v Speaker 1>of it was an NBC, No, it was at dev

157
00:08:16.639 --> 00:08:20.839
<v Speaker 1>it was it was or DEEV. Yeah, he was addressing

158
00:08:20.920 --> 00:08:22.800
<v Speaker 1>the group and he said, you know, there's some very

159
00:08:22.959 --> 00:08:28.240
<v Speaker 1>very smart people in this audience, arguably the biggest collection

160
00:08:28.319 --> 00:08:31.879
<v Speaker 1>of smart people in Sweden right now in one room.

161
00:08:32.320 --> 00:08:35.519
<v Speaker 1>And I have some advice. Go have babies.

162
00:08:36.039 --> 00:08:41.279
<v Speaker 3>Because the stupid people are over popularly and you need

163
00:08:41.279 --> 00:08:44.360
<v Speaker 3>to go home, talk to you significant other and say, honey,

164
00:08:44.440 --> 00:08:46.159
<v Speaker 3>we're going to take one for the team.

165
00:08:47.960 --> 00:08:51.039
<v Speaker 2>Yeah. He was a grandpa. No two ways about that.

166
00:08:51.080 --> 00:08:55.320
<v Speaker 2>Absolutely funny. That's what I got seventy two crazy year.

167
00:08:55.399 --> 00:08:57.679
<v Speaker 1>All right, so I guess we should get going with

168
00:08:57.720 --> 00:08:59.120
<v Speaker 1>better no framework.

169
00:08:58.759 --> 00:09:07.519
<v Speaker 2>Awesome, all right, what do you got?

170
00:09:07.559 --> 00:09:11.480
<v Speaker 1>Our good old friend Simon Crop is working on this

171
00:09:11.759 --> 00:09:18.120
<v Speaker 1>tool called Excelsior and it's an Excel spreadsheet generation library

172
00:09:18.200 --> 00:09:20.480
<v Speaker 1>with a distinctive data driven approach.

173
00:09:20.679 --> 00:09:23.759
<v Speaker 2>Oh okay, so is he using l MS.

174
00:09:24.279 --> 00:09:27.200
<v Speaker 1>I don't think so. And it's pretty pretty much just

175
00:09:28.120 --> 00:09:34.039
<v Speaker 1>you know, driven by Jason data and classes and you

176
00:09:34.080 --> 00:09:36.120
<v Speaker 1>can save it to a stream and you can do

177
00:09:36.200 --> 00:09:43.519
<v Speaker 1>custom headers and ordering and do some styling with with code.

178
00:09:43.840 --> 00:09:47.200
<v Speaker 1>You know, it's all it's all code and Jason data.

179
00:09:48.399 --> 00:09:52.000
<v Speaker 2>So just a tooling library to dump data into Excel

180
00:09:52.080 --> 00:09:54.399
<v Speaker 2>with some formatting and exactabilities.

181
00:09:54.639 --> 00:09:57.120
<v Speaker 1>Cool exactly. And there's lots of third party libraries that

182
00:09:57.159 --> 00:09:59.480
<v Speaker 1>do this, you know, the big ones do.

183
00:10:00.080 --> 00:10:02.279
<v Speaker 2>You can cut your paste, your Brain's out or CSV

184
00:10:02.360 --> 00:10:04.000
<v Speaker 2>all the way, but it's nice to have a code

185
00:10:04.039 --> 00:10:04.480
<v Speaker 2>driven way.

186
00:10:04.559 --> 00:10:08.360
<v Speaker 1>Well, like I'm saying, there are third party libraries, you know,

187
00:10:08.399 --> 00:10:11.480
<v Speaker 1>from dev Express and Telerating, those guys that have you

188
00:10:11.480 --> 00:10:17.440
<v Speaker 1>know in Grape City, the original spread they have libraries

189
00:10:17.480 --> 00:10:20.279
<v Speaker 1>that you can do this too as well. But this

190
00:10:20.320 --> 00:10:24.000
<v Speaker 1>is an open source, free library from Simon Beautiful. Yeah,

191
00:10:24.120 --> 00:10:26.799
<v Speaker 1>thanks Simon, Yeah, thanks Simon. No I learned it.

192
00:10:26.840 --> 00:10:27.080
<v Speaker 4>LOVI it.

193
00:10:27.120 --> 00:10:29.759
<v Speaker 2>Who's talking to us today? Richard grabbed Commentaler Show eighteen

194
00:10:29.799 --> 00:10:31.759
<v Speaker 2>eighty one. The moment we did with when David Fowler

195
00:10:31.799 --> 00:10:34.080
<v Speaker 2>talking a little bit about dot Net Aspire back in

196
00:10:34.120 --> 00:10:36.600
<v Speaker 2>those very early days where I think they were just

197
00:10:36.600 --> 00:10:38.240
<v Speaker 2>trying to figure out what the heck they were making,

198
00:10:38.960 --> 00:10:41.799
<v Speaker 2>and Noel Anderton had this comment. He says, I would

199
00:10:41.799 --> 00:10:45.200
<v Speaker 2>really like to hear them talk about Dapper. That's DAPR

200
00:10:45.919 --> 00:10:48.120
<v Speaker 2>and Aspire. There seems to be a major overlap between

201
00:10:48.159 --> 00:10:51.279
<v Speaker 2>these two projects that look to be mutually exclusive. Aspire

202
00:10:51.320 --> 00:10:53.559
<v Speaker 2>seems to be a dot net centric view, where Dapper

203
00:10:53.679 --> 00:10:58.240
<v Speaker 2>is more technologically agnostic. Less importantly, I'd also like to

204
00:10:58.279 --> 00:11:00.200
<v Speaker 2>know where you see this in relation to intern Ol

205
00:11:00.320 --> 00:11:03.919
<v Speaker 2>Developer Portal's IDP. You have to start an IDP dashboard

206
00:11:03.960 --> 00:11:06.200
<v Speaker 2>and you have the creation of a new component. Scaffolding

207
00:11:06.320 --> 00:11:08.440
<v Speaker 2>uses tooling being used by I DPS. Do you see

208
00:11:08.440 --> 00:11:12.360
<v Speaker 2>Microsoft building and IDP and considering we've really not heard

209
00:11:12.399 --> 00:11:16.440
<v Speaker 2>about IDPs again, so I don't know that it really

210
00:11:16.480 --> 00:11:19.799
<v Speaker 2>took off right. Everybody's got their own approach to doing

211
00:11:19.840 --> 00:11:24.480
<v Speaker 2>these things. But I do appreciate the term scaffolding, which

212
00:11:24.519 --> 00:11:27.840
<v Speaker 2>is certainly the way I've looked at Aspire as code

213
00:11:27.879 --> 00:11:31.320
<v Speaker 2>you use to generate other code that doesn't actually continue.

214
00:11:31.559 --> 00:11:35.000
<v Speaker 2>Can you on from there of certainly will Luke Crisen

215
00:11:35.039 --> 00:11:37.279
<v Speaker 2>on the whole Dapper versus Spire side, I do think

216
00:11:37.320 --> 00:11:39.120
<v Speaker 2>they overlap to some degree, because in the end, it's

217
00:11:39.120 --> 00:11:43.000
<v Speaker 2>trying to make cloud native code in whatever language you want.

218
00:11:43.200 --> 00:11:46.320
<v Speaker 2>In this case we're talking specifically dot Net. I do

219
00:11:46.360 --> 00:11:49.559
<v Speaker 2>think that Thespire goes deeper into the dot Net stack

220
00:11:51.039 --> 00:11:53.480
<v Speaker 2>the Dapper's capable doing it. But I've been interested to

221
00:11:53.519 --> 00:11:54.960
<v Speaker 2>do a Dapper show at some point in the future.

222
00:11:54.960 --> 00:11:58.039
<v Speaker 2>Show we'll pay attention to that. So Noel, thank you

223
00:11:58.039 --> 00:11:59.480
<v Speaker 2>so much for your comment, and a copy of music

224
00:11:59.480 --> 00:12:01.639
<v Speaker 2>Coba is on it even if you'd like copyes to code.

225
00:12:01.639 --> 00:12:03.039
<v Speaker 2>But I read a comment on the website at dot

226
00:12:03.080 --> 00:12:05.879
<v Speaker 2>netroocks dot com or on the facebooks we publish every show.

227
00:12:05.879 --> 00:12:07.360
<v Speaker 2>There a new comment there, and I read in the show.

228
00:12:07.399 --> 00:12:08.720
<v Speaker 2>We'll send you copymies to go by.

229
00:12:08.879 --> 00:12:11.679
<v Speaker 1>I was just using music to code by yesterday while

230
00:12:11.720 --> 00:12:16.519
<v Speaker 1>I was working on a difficult problem. And uh yeah,

231
00:12:16.639 --> 00:12:21.039
<v Speaker 1>it's still going strong. Twenty two tracks, MP three, flak

232
00:12:21.159 --> 00:12:24.840
<v Speaker 1>and wave formats at musicdocode by dot net. All right,

233
00:12:24.960 --> 00:12:28.679
<v Speaker 1>Chris Klug, let's bring you in here. I'm reading a bio.

234
00:12:29.759 --> 00:12:32.720
<v Speaker 1>I'm reading a bio from the last show and stop

235
00:12:32.759 --> 00:12:35.000
<v Speaker 1>me if I get anything wrong. Chris Klug works as

236
00:12:35.039 --> 00:12:38.639
<v Speaker 1>a developer architect at Active Solution in Stockholm. That's right,

237
00:12:38.759 --> 00:12:41.840
<v Speaker 1>working mostly with cloud based solutions for clients in a

238
00:12:41.840 --> 00:12:45.080
<v Speaker 1>wide range of domains. Lately, his contracts have pulled him

239
00:12:45.080 --> 00:12:49.120
<v Speaker 1>towards the DevOps area, working almost entirely with build and

240
00:12:49.120 --> 00:12:52.879
<v Speaker 1>release automation as well as infrastructure as code. Both were

241
00:12:52.919 --> 00:12:55.600
<v Speaker 1>somewhat uncharted areas to him, which suited him fine, as

242
00:12:55.600 --> 00:12:58.120
<v Speaker 1>he loves learning new things and figuring out how to

243
00:12:58.120 --> 00:13:00.600
<v Speaker 1>make them do what he wants them to do. Obviously,

244
00:13:00.759 --> 00:13:04.039
<v Speaker 1>these days he's working with that that aspire. So welcome back, Chris,

245
00:13:04.240 --> 00:13:06.480
<v Speaker 1>thank you, thanks for having me, thanks for being here.

246
00:13:06.720 --> 00:13:09.879
<v Speaker 4>I can say that the intro is not really correct anymore.

247
00:13:09.919 --> 00:13:12.039
<v Speaker 4>I haven't done devils for quite a while now, but

248
00:13:12.679 --> 00:13:15.639
<v Speaker 4>I'm not actually touching cloud at this point either, because

249
00:13:15.679 --> 00:13:18.840
<v Speaker 4>I'm at a bank that has everything in house. But yeah,

250
00:13:18.879 --> 00:13:21.559
<v Speaker 4>it's I'm still a developer at least, so that part

251
00:13:21.600 --> 00:13:22.080
<v Speaker 4>was correct.

252
00:13:22.320 --> 00:13:25.799
<v Speaker 1>You were a full stack guy, right, I mean touch everything.

253
00:13:26.240 --> 00:13:28.960
<v Speaker 4>I don't defront them anymore, so I don't call myself

254
00:13:29.200 --> 00:13:34.240
<v Speaker 4>a full stack developer anymore. I I personally dislike the

255
00:13:34.320 --> 00:13:37.759
<v Speaker 4>idea of full stack developer because I think there's too

256
00:13:37.919 --> 00:13:40.840
<v Speaker 4>much in front end and back into note to actually

257
00:13:40.840 --> 00:13:43.399
<v Speaker 4>know both of them really well. But that's me at least.

258
00:13:43.480 --> 00:13:46.840
<v Speaker 4>I've decided to focus more on the back end side

259
00:13:46.879 --> 00:13:48.840
<v Speaker 4>of things in the last few years.

260
00:13:49.000 --> 00:13:51.360
<v Speaker 2>Right, Do you have any thoughts on on no One's

261
00:13:51.360 --> 00:13:53.679
<v Speaker 2>comment about the relationship between Dapper and Aspire.

262
00:13:54.039 --> 00:13:56.960
<v Speaker 4>I see them as very different things. So Dapper work

263
00:13:57.039 --> 00:14:00.200
<v Speaker 4>as far as I understand, Dapper works pretty well with Aspire.

264
00:14:01.080 --> 00:14:03.759
<v Speaker 4>I'm just I'm not a Dapper person. I've only used

265
00:14:03.799 --> 00:14:08.000
<v Speaker 4>that on one project, and personally in that scenario it

266
00:14:08.840 --> 00:14:12.279
<v Speaker 4>didn't give us very much. But I think Dapper is

267
00:14:12.399 --> 00:14:16.399
<v Speaker 4>more of a way of abstracting away your environment, right,

268
00:14:16.440 --> 00:14:20.840
<v Speaker 4>being able to plug and play different parts and replacing

269
00:14:21.240 --> 00:14:26.440
<v Speaker 4>things in your environment by giving you pre defined interfaces

270
00:14:26.559 --> 00:14:29.960
<v Speaker 4>that people can implement and then provide, whereas I think

271
00:14:30.120 --> 00:14:33.720
<v Speaker 4>Aspire is more of a we will host your services

272
00:14:33.720 --> 00:14:36.000
<v Speaker 4>for you. We're not going to give you any abstractions,

273
00:14:36.440 --> 00:14:38.759
<v Speaker 4>but we will give you a bunch of hosting stuff

274
00:14:38.759 --> 00:14:40.799
<v Speaker 4>for you instead. So they actually work pretty well together

275
00:14:40.879 --> 00:14:44.200
<v Speaker 4>because you can use Aspire to spin up the different

276
00:14:44.200 --> 00:14:47.039
<v Speaker 4>services you need, like reddish and seql and all the

277
00:14:47.080 --> 00:14:49.360
<v Speaker 4>things that you would do and service buses and stuff

278
00:14:49.399 --> 00:14:52.840
<v Speaker 4>like that, and then you use Dapper in your application

279
00:14:53.080 --> 00:14:56.559
<v Speaker 4>to configure how they fit together. So yes, there's a

280
00:14:56.600 --> 00:14:59.919
<v Speaker 4>bit of an overlap with the how it fits together

281
00:15:00.120 --> 00:15:02.679
<v Speaker 4>kind of thing, but they are very.

282
00:15:02.279 --> 00:15:03.399
<v Speaker 2>I don't know if this is true yet, but I

283
00:15:03.440 --> 00:15:07.159
<v Speaker 2>could see Aspire being able to deploy Dapper as APIs

284
00:15:07.200 --> 00:15:09.519
<v Speaker 2>in front of the services it just configured.

285
00:15:09.159 --> 00:15:12.240
<v Speaker 4>For in theory. Yes, yeah, I think that would work.

286
00:15:12.519 --> 00:15:15.200
<v Speaker 2>Yeah, I buy that. And of course there is the

287
00:15:15.200 --> 00:15:17.600
<v Speaker 2>overlap on like the workflow side and things, and they

288
00:15:17.679 --> 00:15:21.360
<v Speaker 2>both generately a dashboard, but yeah, I see there's difference.

289
00:15:21.679 --> 00:15:23.840
<v Speaker 2>The main thing I see with Dapper is it's a

290
00:15:23.919 --> 00:15:27.960
<v Speaker 2>set of building block APIs that Aspire seems to avoid.

291
00:15:27.600 --> 00:15:30.919
<v Speaker 4>Doing, which I personally kind of like. But that's made

292
00:15:30.919 --> 00:15:33.519
<v Speaker 4>because unless you have a very specific reason where you

293
00:15:33.559 --> 00:15:39.120
<v Speaker 4>actually do switch out your services, then I personally am

294
00:15:39.120 --> 00:15:43.360
<v Speaker 4>not a big fan of the least common denominator thing

295
00:15:43.519 --> 00:15:45.879
<v Speaker 4>for all of the services you want to use. I

296
00:15:46.279 --> 00:15:49.200
<v Speaker 4>don't mind pulling in an SDK for a specific service

297
00:15:49.200 --> 00:15:51.960
<v Speaker 4>that I use, And I also feel like in ninety

298
00:15:52.080 --> 00:15:54.960
<v Speaker 4>nine percent of my cases, the services I use are

299
00:15:54.960 --> 00:15:58.840
<v Speaker 4>the same during development and during production. Because we use

300
00:15:58.840 --> 00:16:01.879
<v Speaker 4>Sequel server, we use Cosmos, we use a bunch of

301
00:16:01.960 --> 00:16:05.360
<v Speaker 4>services that you can run locally using emulators and things instead.

302
00:16:05.480 --> 00:16:08.759
<v Speaker 4>So I haven't run into that porb currently for anything

303
00:16:08.840 --> 00:16:12.600
<v Speaker 4>that we need, but maybe sometime in the future.

304
00:16:13.039 --> 00:16:16.879
<v Speaker 1>So, in your opinion, what is the most essential service

305
00:16:17.039 --> 00:16:20.600
<v Speaker 1>that dot net Aspire gives you. I mean, there's a

306
00:16:20.600 --> 00:16:23.399
<v Speaker 1>whole bunch of things in there, but what's the most

307
00:16:23.480 --> 00:16:24.159
<v Speaker 1>essential one.

308
00:16:24.240 --> 00:16:26.440
<v Speaker 4>Oh, the most essential one for me is the ability

309
00:16:26.440 --> 00:16:28.480
<v Speaker 4>to actually it's not a service as such, but it's

310
00:16:28.559 --> 00:16:31.879
<v Speaker 4>running your own projects because you don't necessarily need any

311
00:16:31.919 --> 00:16:36.480
<v Speaker 4>external services to make Aspire really useful. For me, the

312
00:16:36.799 --> 00:16:40.519
<v Speaker 4>biggest thing that makes Aspire something that I really love

313
00:16:40.600 --> 00:16:42.879
<v Speaker 4>having is the fact that I can take multiple of

314
00:16:42.919 --> 00:16:45.519
<v Speaker 4>my services locally and just spin them up and debug

315
00:16:45.559 --> 00:16:48.759
<v Speaker 4>them all at the same time in an easy to

316
00:16:48.840 --> 00:16:52.000
<v Speaker 4>do way. And then on top of that, yes, you

317
00:16:52.039 --> 00:16:54.000
<v Speaker 4>have all of the other services that they can help you

318
00:16:54.039 --> 00:16:57.039
<v Speaker 4>out with, and those are just getting so many it's

319
00:16:57.120 --> 00:16:58.240
<v Speaker 4>ridiculous by now.

320
00:16:58.240 --> 00:17:02.919
<v Speaker 1>Right Well, in that family of services, when you say

321
00:17:03.000 --> 00:17:05.359
<v Speaker 1>start a project and Aspire, what's the first thing that

322
00:17:05.400 --> 00:17:05.960
<v Speaker 1>you turn on?

323
00:17:09.119 --> 00:17:12.200
<v Speaker 4>The first thing I probably put put into everything I've

324
00:17:12.200 --> 00:17:14.519
<v Speaker 4>built so far as a sequel, So for instance, yeah,

325
00:17:14.559 --> 00:17:16.480
<v Speaker 4>because I use sequel server.

326
00:17:16.680 --> 00:17:18.640
<v Speaker 2>How old school of you, right.

327
00:17:18.920 --> 00:17:22.880
<v Speaker 4>Yeah, I know everybody's moving to postgrists and document databases

328
00:17:22.920 --> 00:17:26.480
<v Speaker 4>and things, but the sequel has always been the foundation

329
00:17:26.759 --> 00:17:30.640
<v Speaker 4>and background of what I've been building. It's very natural

330
00:17:30.680 --> 00:17:32.720
<v Speaker 4>for me to go there. And the fact that is

331
00:17:32.720 --> 00:17:36.079
<v Speaker 4>that easy just spin up, that's what I'm putting in

332
00:17:36.160 --> 00:17:37.720
<v Speaker 4>there is my first thing in most cases.

333
00:17:37.880 --> 00:17:41.880
<v Speaker 1>Yeah, about the red as cash, I know that that's

334
00:17:41.920 --> 00:17:45.359
<v Speaker 1>something that a lot of maybe a lot of developers

335
00:17:45.400 --> 00:17:48.319
<v Speaker 1>do know about it, but I think there's a huge

336
00:17:48.559 --> 00:17:51.799
<v Speaker 1>sloth of the development community of dot net development community

337
00:17:51.839 --> 00:17:55.200
<v Speaker 1>that is neither either never needed it or didn't know

338
00:17:55.279 --> 00:17:59.759
<v Speaker 1>they needed it. But that can make a huge difference

339
00:17:59.839 --> 00:18:01.960
<v Speaker 1>in performance and scalability.

340
00:18:02.119 --> 00:18:04.319
<v Speaker 4>It can, and I think it's useful for a lot

341
00:18:04.359 --> 00:18:09.839
<v Speaker 4>of scenarios. We're currently looking at it for my current project,

342
00:18:10.480 --> 00:18:13.319
<v Speaker 4>but we're for we're doing a hybrid cash solution at

343
00:18:13.319 --> 00:18:16.920
<v Speaker 4>the moment with in memory while actually using the met

344
00:18:16.960 --> 00:18:20.440
<v Speaker 4>core hybrid cash with in memory and a sort of

345
00:18:20.440 --> 00:18:24.279
<v Speaker 4>a semi permanent store as well. And we looked at readies,

346
00:18:24.359 --> 00:18:27.319
<v Speaker 4>but we ended up going old school sequel again. Mostly

347
00:18:27.359 --> 00:18:33.079
<v Speaker 4>because we're hosting on prem at a bank that's using Kubernetes, right,

348
00:18:33.119 --> 00:18:35.319
<v Speaker 4>and we can't touch too much of the stuff there,

349
00:18:35.400 --> 00:18:38.000
<v Speaker 4>and trying to get them convinced that hey, we want

350
00:18:38.000 --> 00:18:40.319
<v Speaker 4>to run read this as well was not really an option.

351
00:18:40.480 --> 00:18:42.640
<v Speaker 2>But you got to talk to it about standing up

352
00:18:42.640 --> 00:18:46.119
<v Speaker 2>a new service. That's an interesting battle to have at

353
00:18:46.119 --> 00:18:46.559
<v Speaker 2>a bank.

354
00:18:46.680 --> 00:18:49.160
<v Speaker 4>That is a very interesting conversation to be had.

355
00:18:49.400 --> 00:18:54.200
<v Speaker 2>I promise you, dude, I've done the mineral right. It's okay.

356
00:18:54.599 --> 00:18:56.160
<v Speaker 2>It's one thing to stand it up. It's another thing

357
00:18:56.200 --> 00:18:58.599
<v Speaker 2>to back it up, monitor it and like I know

358
00:18:58.799 --> 00:18:59.559
<v Speaker 2>all of that stuff.

359
00:19:00.119 --> 00:19:02.559
<v Speaker 4>He's equal they had so that was aacy, But yeah,

360
00:19:02.680 --> 00:19:05.920
<v Speaker 4>I do. I agree with your carlab. I think reddis

361
00:19:06.000 --> 00:19:10.240
<v Speaker 4>is the simplest and by far fastest way to gain

362
00:19:10.319 --> 00:19:13.240
<v Speaker 4>performance out of your APIs and your services if you

363
00:19:13.279 --> 00:19:13.920
<v Speaker 4>know not how to use it.

364
00:19:13.960 --> 00:19:17.640
<v Speaker 1>I'm doing a manual cash of the dot net rocks data.

365
00:19:17.880 --> 00:19:20.640
<v Speaker 1>So basically, we have a database to keep all this

366
00:19:20.720 --> 00:19:23.920
<v Speaker 1>stuff in, and then we generate JSON files and put

367
00:19:23.960 --> 00:19:29.799
<v Speaker 1>them in a storage account, and then we pull them out,

368
00:19:29.839 --> 00:19:32.799
<v Speaker 1>but only on a timer, you know, like a couple

369
00:19:32.880 --> 00:19:35.680
<v Speaker 1>of times a day or on an hour time or whatever.

370
00:19:35.799 --> 00:19:38.920
<v Speaker 1>So everything's cashed in memory pretty much all the time,

371
00:19:38.960 --> 00:19:41.200
<v Speaker 1>but it is a roll your own cash kind of thing.

372
00:19:41.279 --> 00:19:44.000
<v Speaker 1>And I think that's probably the first thing that Maddie's

373
00:19:44.039 --> 00:19:46.359
<v Speaker 1>going to want to tear out of there, and the

374
00:19:46.480 --> 00:19:49.440
<v Speaker 1>place with redd is when I get on stage with her.

375
00:19:49.319 --> 00:19:52.160
<v Speaker 2>And again with time shifting, Maddy has already torn out

376
00:19:52.160 --> 00:19:55.480
<v Speaker 2>of there. Well she may or she may not have,

377
00:19:55.519 --> 00:19:57.640
<v Speaker 2>but it will. See it's I got to feel in

378
00:19:57.720 --> 00:19:59.720
<v Speaker 2>that's the first thing to go. I'm kind of excited

379
00:19:59.759 --> 00:20:03.759
<v Speaker 2>to see Chris talking about cloud related stuff on an

380
00:20:03.799 --> 00:20:07.079
<v Speaker 2>on prem implementation, like this is cloud as architecture versus

381
00:20:07.079 --> 00:20:09.200
<v Speaker 2>cloud as a deployment location.

382
00:20:09.759 --> 00:20:13.440
<v Speaker 4>Yep, yeah, so it's yeah, I don't know why. Well,

383
00:20:13.480 --> 00:20:18.640
<v Speaker 4>it's funny because cloud native or cloud based development always

384
00:20:18.720 --> 00:20:21.519
<v Speaker 4>indicates Kubernatist. For most people, that's fine, there's a and

385
00:20:21.559 --> 00:20:23.720
<v Speaker 4>in this case it happens to be that we are

386
00:20:23.759 --> 00:20:26.279
<v Speaker 4>actually running Kubernatis, but we're doing it on prem. But

387
00:20:27.160 --> 00:20:30.759
<v Speaker 4>for me, the cloud native stuff is slightly different and

388
00:20:31.319 --> 00:20:34.079
<v Speaker 4>it doesn't need to be Kubernetes. But that's where we're

389
00:20:34.119 --> 00:20:39.000
<v Speaker 4>at the moment. But Aspire then has this interesting concept

390
00:20:39.000 --> 00:20:42.359
<v Speaker 4>of deployment where it doesn't need to go to Kubernates

391
00:20:42.400 --> 00:20:46.720
<v Speaker 4>even though you're doing a cloud ish solution.

392
00:20:46.480 --> 00:20:49.000
<v Speaker 2>Although it certainly can. We did a whole show just

393
00:20:49.119 --> 00:20:52.599
<v Speaker 2>talking about Aspire being a way to get to containers.

394
00:20:52.599 --> 00:20:53.960
<v Speaker 2>If you're not already comfortable with it.

395
00:20:54.079 --> 00:20:59.119
<v Speaker 1>Ye, is there Docker without Kubernetes in your opinion, not.

396
00:20:59.000 --> 00:21:00.880
<v Speaker 4>Really too perfect? Honest. If I was going to run

397
00:21:00.920 --> 00:21:05.480
<v Speaker 4>something for local, yes, but for production, no, I wouldn't

398
00:21:05.559 --> 00:21:10.880
<v Speaker 4>run docer, Well, no, I wouldn't depending on how it well, okay,

399
00:21:10.960 --> 00:21:13.759
<v Speaker 4>that's now you got it depends on how you look

400
00:21:13.759 --> 00:21:16.720
<v Speaker 4>at it, right. If I was going to use Ashure,

401
00:21:16.799 --> 00:21:18.920
<v Speaker 4>which is my native home for most of them stuff

402
00:21:18.920 --> 00:21:21.960
<v Speaker 4>I do normally do. I believe in the idea of

403
00:21:21.960 --> 00:21:24.599
<v Speaker 4>having container images in my web apps, for example, to

404
00:21:24.640 --> 00:21:27.960
<v Speaker 4>do web aps for containers and hosting containers instead of

405
00:21:28.960 --> 00:21:33.559
<v Speaker 4>running my applications natively on web apps for example, That

406
00:21:33.680 --> 00:21:37.160
<v Speaker 4>makes sense. But using docer in a way where I

407
00:21:37.359 --> 00:21:40.680
<v Speaker 4>touch docer and do docer run and everything like that,

408
00:21:40.680 --> 00:21:41.240
<v Speaker 4>that's not.

409
00:21:41.680 --> 00:21:41.799
<v Speaker 2>No.

410
00:21:42.279 --> 00:21:43.079
<v Speaker 4>I would never do that.

411
00:21:43.200 --> 00:21:43.440
<v Speaker 1>You're not.

412
00:21:44.319 --> 00:21:45.960
<v Speaker 4>I'm not going to say it never because there will

413
00:21:45.960 --> 00:21:48.720
<v Speaker 4>be a scenario, right, but right now I haven't seen

414
00:21:48.759 --> 00:21:50.680
<v Speaker 4>that need as such. And if if I was going

415
00:21:50.759 --> 00:21:53.319
<v Speaker 4>to go in that direction. Yeah, kubernet Is an akas

416
00:21:53.359 --> 00:21:54.599
<v Speaker 4>would probably be better at choice.

417
00:21:54.640 --> 00:21:57.160
<v Speaker 1>So imagine I'm a psychiatrist and you're on my couch,

418
00:21:58.200 --> 00:22:00.720
<v Speaker 1>tell me about Yamo.

419
00:22:02.680 --> 00:22:03.519
<v Speaker 4>About Yamo.

420
00:22:04.279 --> 00:22:06.559
<v Speaker 1>What is your relationship to Yamo.

421
00:22:07.359 --> 00:22:11.880
<v Speaker 4>It's the it's the shitty replacement for Jason because it's, oh,

422
00:22:11.960 --> 00:22:16.519
<v Speaker 4>it doesn't have curly braces, but instead we make it white, white, white,

423
00:22:16.559 --> 00:22:20.559
<v Speaker 4>space sensitive. So a minor little change causes everything to

424
00:22:20.559 --> 00:22:23.240
<v Speaker 4>break down and it's really hard to debug. I don't

425
00:22:23.359 --> 00:22:24.799
<v Speaker 4>like Yamo whatsoever.

426
00:22:25.039 --> 00:22:28.880
<v Speaker 1>God, I feel so vindicated, Richard Nice. You know here

427
00:22:28.920 --> 00:22:31.599
<v Speaker 1>I was thinking, I was like the you know, the

428
00:22:32.160 --> 00:22:34.880
<v Speaker 1>odd man out saying I don't like Yamo, but apparently

429
00:22:35.039 --> 00:22:36.920
<v Speaker 1>really smart people like Chris don't like it either.

430
00:22:36.920 --> 00:22:38.880
<v Speaker 4>I wouldn't call myself very sad.

431
00:22:38.920 --> 00:22:41.759
<v Speaker 2>Listen, anybody who says it like Yamo has Stockholm syndrome.

432
00:22:41.880 --> 00:22:46.039
<v Speaker 2>Let's be clear, right, Like, I get.

433
00:22:45.839 --> 00:22:48.680
<v Speaker 4>The point, I really do. And if you pull up

434
00:22:48.720 --> 00:22:51.400
<v Speaker 4>a Yamo file that somebody has written that's already there,

435
00:22:51.519 --> 00:22:54.519
<v Speaker 4>it's definitely a lot easier to read than than Jason

436
00:22:54.599 --> 00:22:56.759
<v Speaker 4>because you don't have all of the curly bras and everything.

437
00:22:56.799 --> 00:23:00.559
<v Speaker 4>But authoring them is a different story because offering them,

438
00:23:00.599 --> 00:23:02.319
<v Speaker 4>all of a sudden you do a tab in the

439
00:23:02.319 --> 00:23:04.319
<v Speaker 4>wrong place or a space in the wrong place, and

440
00:23:04.319 --> 00:23:07.160
<v Speaker 4>all of a sudden, oh, you have now modified the

441
00:23:07.279 --> 00:23:09.519
<v Speaker 4>entire thing. I'm not a huge fan.

442
00:23:09.680 --> 00:23:11.880
<v Speaker 2>Well, ps code helps you by letting you know everything

443
00:23:11.920 --> 00:23:13.119
<v Speaker 2>is read now and it's your fault.

444
00:23:13.200 --> 00:23:13.359
<v Speaker 4>Yeah.

445
00:23:13.559 --> 00:23:20.440
<v Speaker 2>True, Yeah, but I appreciate your thinking. YAML should be generated,

446
00:23:20.160 --> 00:23:23.440
<v Speaker 2>should and then should be read only when you look

447
00:23:23.480 --> 00:23:23.680
<v Speaker 2>at it.

448
00:23:23.799 --> 00:23:26.599
<v Speaker 1>Yeah, it's kind of like assembly language, do not edit,

449
00:23:26.680 --> 00:23:29.880
<v Speaker 1>you are not quality, should be treated as such. When

450
00:23:29.880 --> 00:23:33.640
<v Speaker 1>you said Stockholm syndrome, it's funny because Chris is from Stockholm.

451
00:23:34.160 --> 00:23:34.359
<v Speaker 2>Yep.

452
00:23:36.359 --> 00:23:41.200
<v Speaker 1>The jokes just keep coming, just keep coming. Oh man,

453
00:23:41.319 --> 00:23:44.759
<v Speaker 1>all right, So we talked about Reddish. Where are some

454
00:23:44.799 --> 00:23:47.640
<v Speaker 1>of the other hidden gems in Aspire?

455
00:23:47.880 --> 00:23:50.519
<v Speaker 4>Well, actually, I think there's there are hidden gems in

456
00:23:50.599 --> 00:23:54.319
<v Speaker 4>Aspire that's not really about services like that. There are

457
00:23:54.440 --> 00:23:57.599
<v Speaker 4>features I think that people are missing out on potentially

458
00:23:57.599 --> 00:24:01.240
<v Speaker 4>an Aspire that I find to be really little gems.

459
00:24:01.279 --> 00:24:04.119
<v Speaker 4>It's like being able to add customer commands to the

460
00:24:04.200 --> 00:24:07.079
<v Speaker 4>dashboard is one of those things that just on the

461
00:24:07.160 --> 00:24:09.319
<v Speaker 4>surface is like why would you need that? And then

462
00:24:10.599 --> 00:24:12.920
<v Speaker 4>we're doing it in the current project where we have

463
00:24:13.000 --> 00:24:16.839
<v Speaker 4>a little receive the database. So if somebody pulls it

464
00:24:16.920 --> 00:24:19.119
<v Speaker 4>up and they need to restore the database back to

465
00:24:19.160 --> 00:24:21.799
<v Speaker 4>a database that we can work with. It's not a

466
00:24:21.920 --> 00:24:24.119
<v Speaker 4>manual task. It's not a script that needs to be run.

467
00:24:24.200 --> 00:24:26.799
<v Speaker 4>You go into dashboard, you click the button and you say, hey,

468
00:24:27.000 --> 00:24:30.000
<v Speaker 4>reseve the database, and it sets the database for us.

469
00:24:29.799 --> 00:24:32.400
<v Speaker 4>It's nice, a nice way of doing it. We also

470
00:24:32.440 --> 00:24:35.839
<v Speaker 4>have an export from SQL to Neo for j for

471
00:24:35.920 --> 00:24:38.599
<v Speaker 4>some graph stuff, and we can redo that export using

472
00:24:38.599 --> 00:24:41.079
<v Speaker 4>a command as well. It's just those little things that

473
00:24:41.160 --> 00:24:44.200
<v Speaker 4>make it easier for people to use the dashboard as well.

474
00:24:44.279 --> 00:24:47.480
<v Speaker 1>It's nice, I think, yeah, plumbing.

475
00:24:47.160 --> 00:24:50.240
<v Speaker 2>Yeah, and you speak to doing more with how important

476
00:24:50.240 --> 00:24:54.079
<v Speaker 2>a dashboard is in the dev cycle versus in the insductions.

477
00:24:53.599 --> 00:24:56.599
<v Speaker 4>Well, that's the thing in the production cycle. It's I

478
00:24:56.640 --> 00:25:01.839
<v Speaker 4>think to me currently Aspire kind of is a development

479
00:25:01.960 --> 00:25:05.279
<v Speaker 4>time kind of thing. Once it's deployed, I don't seem

480
00:25:05.319 --> 00:25:09.680
<v Speaker 4>as well deploying the Aspire dashboard or anything like that

481
00:25:09.839 --> 00:25:12.960
<v Speaker 4>into a production environment, even though you can do that now.

482
00:25:14.319 --> 00:25:16.720
<v Speaker 4>I mostly, as I said, look at it as a

483
00:25:16.759 --> 00:25:20.079
<v Speaker 4>dev tool and that's where it can with things like

484
00:25:20.119 --> 00:25:24.279
<v Speaker 4>little commands like that or maybe being able to look

485
00:25:24.279 --> 00:25:26.920
<v Speaker 4>at different durls and actually have them properly describe what

486
00:25:26.960 --> 00:25:30.799
<v Speaker 4>they do. Means that when you do a get pull

487
00:25:31.599 --> 00:25:34.640
<v Speaker 4>F five to start the thing, you actually get everything.

488
00:25:34.720 --> 00:25:36.960
<v Speaker 4>And now with the new support that they have where

489
00:25:37.160 --> 00:25:40.319
<v Speaker 4>if you don't define parameters, it will actually ask you

490
00:25:40.400 --> 00:25:42.880
<v Speaker 4>for missing parameters so you can get it down. You

491
00:25:42.920 --> 00:25:45.000
<v Speaker 4>press have five and the first thing that says is

492
00:25:45.000 --> 00:25:47.240
<v Speaker 4>the dashboard goes up and says, hey, there are missing

493
00:25:47.279 --> 00:25:50.880
<v Speaker 4>parameters here. Can you give me the database password? Can

494
00:25:50.920 --> 00:25:53.440
<v Speaker 4>you give me these other things? And then it stortes

495
00:25:53.480 --> 00:25:57.559
<v Speaker 4>it to your user secrets automatically. Means that getting a

496
00:25:57.599 --> 00:26:00.960
<v Speaker 4>new developer onto a project is so much easier, which

497
00:26:01.000 --> 00:26:02.640
<v Speaker 4>I think is a massive benefit.

498
00:26:02.880 --> 00:26:08.519
<v Speaker 1>Is yeah nice sharing. Configuration has always been an issue

499
00:26:08.559 --> 00:26:10.960
<v Speaker 1>with me on the different teams that I worked on.

500
00:26:11.480 --> 00:26:15.119
<v Speaker 1>Not not insurmountable, but you know you, like you said,

501
00:26:15.200 --> 00:26:17.240
<v Speaker 1>you do a get pull and it doesn't work because

502
00:26:17.240 --> 00:26:19.839
<v Speaker 1>of some configuration issue and oh you got to add

503
00:26:19.839 --> 00:26:25.680
<v Speaker 1>this little section to your app settings whatever. So let's

504
00:26:25.720 --> 00:26:31.440
<v Speaker 1>talk telemetry here. So open telemetry is everywhere and Aspire

505
00:26:31.519 --> 00:26:35.440
<v Speaker 1>and in Azure, and you have that dashboard but once,

506
00:26:36.160 --> 00:26:39.319
<v Speaker 1>once it's deployed, does that dashboard still work for you

507
00:26:39.400 --> 00:26:42.240
<v Speaker 1>in terms of telemetry or do you go over to

508
00:26:42.319 --> 00:26:46.759
<v Speaker 1>another kind of run time telemetry monitoring thing and Azure.

509
00:26:46.720 --> 00:26:49.920
<v Speaker 4>Unfortunately, right now, I've been on my bank project for

510
00:26:49.960 --> 00:26:52.480
<v Speaker 4>so long that it's actually been around the time that

511
00:26:52.559 --> 00:26:55.480
<v Speaker 4>Aspire came out, so I haven't been able to do

512
00:26:55.519 --> 00:26:59.279
<v Speaker 4>anything with Aspire with Azure, but I can know the

513
00:26:59.359 --> 00:27:02.039
<v Speaker 4>dashboard that comes with a Spire would not be enough

514
00:27:02.039 --> 00:27:05.359
<v Speaker 4>in my opinion, especially since it's as far as I know,

515
00:27:05.480 --> 00:27:10.880
<v Speaker 4>in memory only right, so it doesn't persistent, So I

516
00:27:10.880 --> 00:27:15.160
<v Speaker 4>would prefer having it offloaded to something else. As I said,

517
00:27:15.200 --> 00:27:17.519
<v Speaker 4>I see the Spire dashboard as a nice thing for

518
00:27:17.599 --> 00:27:22.240
<v Speaker 4>dev and then for production going to something like Honeycomb

519
00:27:22.400 --> 00:27:25.359
<v Speaker 4>for example, or a third party system that is built

520
00:27:25.400 --> 00:27:28.880
<v Speaker 4>specifically for that is probably the better solution. Or yeah,

521
00:27:28.920 --> 00:27:34.559
<v Speaker 4>you can do application insights or monitoring.

522
00:27:34.920 --> 00:27:40.359
<v Speaker 2>I mean, odds are your administrators already have a telemetry

523
00:27:40.359 --> 00:27:42.480
<v Speaker 2>solution they need you to add too, And that's why

524
00:27:42.480 --> 00:27:44.839
<v Speaker 2>they like open telemetry because they probably have an input

525
00:27:44.839 --> 00:27:47.319
<v Speaker 2>feed for that. It's a good aim your app here

526
00:27:47.519 --> 00:27:50.640
<v Speaker 2>at this endpoint. Now our telemetry adds to our existing

527
00:27:50.720 --> 00:27:52.480
<v Speaker 2>monitoring solution. Yeah, Yep.

528
00:27:52.559 --> 00:27:53.559
<v Speaker 1>It's a beautiful thing.

529
00:27:53.680 --> 00:27:56.839
<v Speaker 2>Now, you hope, and then they'll complain about the crappy

530
00:27:56.839 --> 00:27:57.759
<v Speaker 2>feed you've given them.

531
00:27:59.279 --> 00:28:01.839
<v Speaker 4>But it's also I really like that because it's it's

532
00:28:01.839 --> 00:28:04.599
<v Speaker 4>hard to get away from the fact that whatever dashboard

533
00:28:04.640 --> 00:28:10.519
<v Speaker 4>day or solution they have solutions chosen for telemetry is

534
00:28:10.759 --> 00:28:13.880
<v Speaker 4>a thing that's built purposely full for that thing. So

535
00:28:13.920 --> 00:28:16.200
<v Speaker 4>it's going to be really good for that thing's not

536
00:28:16.680 --> 00:28:19.160
<v Speaker 4>having to focus on that, not having to build your

537
00:28:19.200 --> 00:28:23.160
<v Speaker 4>own telemetry monitoring system, which I've done over and over

538
00:28:23.240 --> 00:28:25.680
<v Speaker 4>again for other clients, it's now really nice just shove

539
00:28:25.720 --> 00:28:28.680
<v Speaker 4>it off and then do some own of your own

540
00:28:28.759 --> 00:28:31.720
<v Speaker 4>custom hotel integrations instead, if you want to have your

541
00:28:31.720 --> 00:28:34.079
<v Speaker 4>own metrics and your own spans and things like that.

542
00:28:34.160 --> 00:28:36.319
<v Speaker 2>But if the new app is using Kubernetes, they already

543
00:28:36.319 --> 00:28:38.480
<v Speaker 2>have an instrumentation pack for Kubernatores. They know how they

544
00:28:38.480 --> 00:28:40.559
<v Speaker 2>want to look at the state of containers, so that's good.

545
00:28:40.599 --> 00:28:42.559
<v Speaker 2>It's another part of why I don't want you to

546
00:28:42.559 --> 00:28:45.240
<v Speaker 2>add redicity equation, because I now have to tune episode

547
00:28:45.279 --> 00:28:47.119
<v Speaker 2>of telemetry for how do I know if Redis is

548
00:28:47.119 --> 00:28:48.279
<v Speaker 2>happy or not? Yep.

549
00:28:48.519 --> 00:28:51.839
<v Speaker 4>Yeah, Which that's actually an interesting point where you're saying that, Richard,

550
00:28:52.119 --> 00:28:56.079
<v Speaker 4>that when you deployed, the ops guides will already have

551
00:28:56.119 --> 00:28:59.000
<v Speaker 4>a thing for you, right, Yeah, And I think that's

552
00:28:59.039 --> 00:29:02.240
<v Speaker 4>the way it works in and in most enterprises I've

553
00:29:02.359 --> 00:29:05.400
<v Speaker 4>been involved in, there's always an obstavision that have very

554
00:29:05.440 --> 00:29:10.119
<v Speaker 4>strict opinions, which then is interesting combining that with a

555
00:29:10.240 --> 00:29:15.400
<v Speaker 4>spire's way of thinking about deployments. I know I've been

556
00:29:15.440 --> 00:29:19.680
<v Speaker 4>on the show before and we talked about Infrastructure's code

557
00:29:19.720 --> 00:29:22.279
<v Speaker 4>and some options that were out there and pollumium things

558
00:29:22.319 --> 00:29:25.440
<v Speaker 4>like that, which I think was a cool idea, but

559
00:29:25.519 --> 00:29:29.200
<v Speaker 4>it moved infrastructure into the developers region, and I think

560
00:29:29.319 --> 00:29:32.200
<v Speaker 4>that is honestly a bit of a problem because most

561
00:29:33.079 --> 00:29:37.240
<v Speaker 4>enterprises don't want their developers to mess about with infrastructure.

562
00:29:37.519 --> 00:29:42.559
<v Speaker 2>Yeah. Now, you're right. If an organization has a deployment

563
00:29:42.599 --> 00:29:44.839
<v Speaker 2>strategy already, and I'm telling you not all of them do,

564
00:29:46.000 --> 00:29:49.839
<v Speaker 2>then they will be concerned. If they want to own

565
00:29:49.880 --> 00:29:51.720
<v Speaker 2>that piece, then they want to understand that piece. And

566
00:29:51.759 --> 00:29:53.720
<v Speaker 2>when you introduce other languages know the tuning around, they're

567
00:29:53.720 --> 00:29:56.400
<v Speaker 2>going to get jumping about it, just like they jumping

568
00:29:56.400 --> 00:30:00.359
<v Speaker 2>about ratus. But sometimes they don't have that. But they

569
00:30:00.400 --> 00:30:02.640
<v Speaker 2>also get into trouble that way. Like, one of the

570
00:30:02.680 --> 00:30:04.960
<v Speaker 2>issues you have when you have a lot of systems

571
00:30:05.039 --> 00:30:08.400
<v Speaker 2>running in VMS are on against services in a shared

572
00:30:08.440 --> 00:30:12.319
<v Speaker 2>infrastructure is badly behaved apps being introduced to the equation. Like,

573
00:30:12.519 --> 00:30:15.119
<v Speaker 2>part of wanting to control the deployment is to know

574
00:30:15.160 --> 00:30:18.359
<v Speaker 2>what it's impacting, to have better security controls on it.

575
00:30:18.680 --> 00:30:22.400
<v Speaker 2>When you leave that too loose, you get surprised. Sometimes,

576
00:30:23.000 --> 00:30:25.119
<v Speaker 2>you know, a new version of that app gets deployed,

577
00:30:25.160 --> 00:30:27.400
<v Speaker 2>breaks this other thing over there, or gets a new

578
00:30:27.400 --> 00:30:29.920
<v Speaker 2>security acount of that, or you know, lights off the

579
00:30:29.960 --> 00:30:32.799
<v Speaker 2>seam right Like I've seen this happen where we didn't

580
00:30:32.799 --> 00:30:34.599
<v Speaker 2>tell it that it's going to message this way, and

581
00:30:34.599 --> 00:30:37.839
<v Speaker 2>suddenly it looks like a Dodos attack. The app operating normally,

582
00:30:37.960 --> 00:30:40.839
<v Speaker 2>like the whole security system just goes berserk because we

583
00:30:40.880 --> 00:30:42.079
<v Speaker 2>did this deployment.

584
00:30:42.160 --> 00:30:46.319
<v Speaker 1>Like I love Poalumi, especially when you fry it, you know,

585
00:30:46.799 --> 00:30:51.119
<v Speaker 1>because it doesn't melt so fast. It's really good. Geez.

586
00:30:52.279 --> 00:30:54.279
<v Speaker 1>And on that happy note, let's take a little break.

587
00:30:54.319 --> 00:30:57.480
<v Speaker 1>We'll be right back after these very important messages stick around.

588
00:30:59.559 --> 00:31:02.279
<v Speaker 1>Did you know that you can work with AWS directly

589
00:31:02.319 --> 00:31:07.880
<v Speaker 1>from your ide AWS provides toolkits for visual Studio, Visual Studio,

590
00:31:07.960 --> 00:31:12.119
<v Speaker 1>Code and jet Brains Rider. Learn more at aws dot

591
00:31:12.160 --> 00:31:16.240
<v Speaker 1>Amazon dot com, slash net, slash tools.

592
00:31:19.400 --> 00:31:21.680
<v Speaker 2>And we're back. It's Donna Rocks. I'm Richard Campbell. That's

593
00:31:21.680 --> 00:31:25.400
<v Speaker 2>Carl Franklin. Hey, hey here with our friend Chris and

594
00:31:25.480 --> 00:31:27.799
<v Speaker 2>I seem to have fallen into the grumpy Sisaben role

595
00:31:27.880 --> 00:31:30.680
<v Speaker 2>for this show, which I'm okay with because I know

596
00:31:30.680 --> 00:31:32.359
<v Speaker 2>how to say no is good A where anyway?

597
00:31:32.640 --> 00:31:33.119
<v Speaker 1>My friend?

598
00:31:34.079 --> 00:31:36.799
<v Speaker 2>But I think, you know, we speak to this really

599
00:31:36.960 --> 00:31:40.759
<v Speaker 2>challenging dynamic of you're building this complex software at the

600
00:31:40.759 --> 00:31:43.400
<v Speaker 2>point where you have a tool like Aspire to help

601
00:31:43.440 --> 00:31:48.359
<v Speaker 2>you with its construction and deployment, and your administrators need

602
00:31:48.400 --> 00:31:50.160
<v Speaker 2>to understand it and you need to know where to

603
00:31:50.200 --> 00:31:52.480
<v Speaker 2>interface with them, and it's obviously that deployment piece of

604
00:31:52.559 --> 00:31:55.480
<v Speaker 2>telemetry piece, that services piece, Like that's a lot of

605
00:31:55.480 --> 00:31:58.559
<v Speaker 2>conversations to have, like do you try and have that

606
00:31:58.599 --> 00:32:00.920
<v Speaker 2>in advance or you just build some Aspire and see

607
00:32:00.920 --> 00:32:01.279
<v Speaker 2>how it go.

608
00:32:01.640 --> 00:32:04.480
<v Speaker 4>I would probably recommend having a conversation ahead of time

609
00:32:04.640 --> 00:32:07.480
<v Speaker 4>because it kind of sucks when you spend a year

610
00:32:07.559 --> 00:32:09.839
<v Speaker 4>building something and then you try to deploy it and

611
00:32:10.000 --> 00:32:15.519
<v Speaker 4>opskys goes Nope, no, that's where I think, I'm not

612
00:32:15.559 --> 00:32:18.640
<v Speaker 4>one hundred percent sure that I enjoy your I think

613
00:32:18.680 --> 00:32:22.839
<v Speaker 4>that Aspire is going in the right direction of pushing. Hey,

614
00:32:22.640 --> 00:32:26.480
<v Speaker 4>the configuration of the publishing goes to the developer. Once again,

615
00:32:27.359 --> 00:32:30.319
<v Speaker 4>that doesn't work in a lot of areas unless your

616
00:32:30.400 --> 00:32:33.599
<v Speaker 4>company then is big enough to build their own custom publishers.

617
00:32:33.920 --> 00:32:37.400
<v Speaker 4>Because they now with the experimental stuff in aspires, it

618
00:32:37.480 --> 00:32:40.599
<v Speaker 4>makes it possible for you for an organization to actually

619
00:32:40.640 --> 00:32:43.839
<v Speaker 4>build something that is custom for their organization, which I

620
00:32:43.839 --> 00:32:47.240
<v Speaker 4>guess would be a thing. But then the ops team

621
00:32:47.359 --> 00:32:50.759
<v Speaker 4>needs to spec spence that specify that very well, and

622
00:32:50.799 --> 00:32:52.599
<v Speaker 4>then the dev team has to build it for them

623
00:32:52.640 --> 00:32:55.440
<v Speaker 4>and everything. But then if you you can then reuse

624
00:32:55.480 --> 00:32:56.880
<v Speaker 4>that in theory at least.

625
00:32:56.759 --> 00:32:59.279
<v Speaker 2>Yeah, I mean, I can see this being a real

626
00:32:59.400 --> 00:33:03.119
<v Speaker 2>battle for the first deploy of the app. But once

627
00:33:03.160 --> 00:33:08.119
<v Speaker 2>we get to an agreement, all that on that. Like you,

628
00:33:08.119 --> 00:33:10.720
<v Speaker 2>you know, we're back to those old agile mindsets. If

629
00:33:10.720 --> 00:33:12.400
<v Speaker 2>I want to be able to iterate quickly, so if

630
00:33:12.440 --> 00:33:15.920
<v Speaker 2>I'm living within the constraints that have passed through the administrators.

631
00:33:15.920 --> 00:33:18.279
<v Speaker 2>Once that the security contest is going to remain the same.

632
00:33:18.279 --> 00:33:22.079
<v Speaker 2>Telemetry context is the same, the deployment pipeline is the same. Hey,

633
00:33:22.119 --> 00:33:26.200
<v Speaker 2>deploy away. You know, don't interrupt me constantly with your

634
00:33:26.759 --> 00:33:29.079
<v Speaker 2>next weird deploy Like I want to be highly involved

635
00:33:29.119 --> 00:33:32.079
<v Speaker 2>in the first couple and after that, I'm kind of

636
00:33:32.160 --> 00:33:34.599
<v Speaker 2>keen to let you guys iterate and get your features

637
00:33:34.640 --> 00:33:37.920
<v Speaker 2>out without having a fight with us too much, or

638
00:33:37.960 --> 00:33:42.359
<v Speaker 2>that we only talk about the delta. Hey, new telemetery here.

639
00:33:43.160 --> 00:33:45.839
<v Speaker 2>You know, you need a new plumber in here. Oh

640
00:33:45.839 --> 00:33:50.200
<v Speaker 2>my goodness, we need new service here. Yeah, I would hope.

641
00:33:50.319 --> 00:33:54.000
<v Speaker 2>I mean, I just and buy me pizza and we

642
00:33:54.000 --> 00:33:56.960
<v Speaker 2>can talk right, like honestly.

643
00:33:57.079 --> 00:34:00.480
<v Speaker 4>Yeah, if you're that Adamin guy, I'd have to buy

644
00:34:00.519 --> 00:34:05.160
<v Speaker 4>you a pizza. I my current or my current client is.

645
00:34:05.640 --> 00:34:09.199
<v Speaker 4>It's not that idea. Uh, it's it's a very strict

646
00:34:09.320 --> 00:34:15.280
<v Speaker 4>it's the every single application in the whole enterprise needs

647
00:34:15.320 --> 00:34:19.760
<v Speaker 4>to be deployed using the same pipeline in Jenkins oh boy,

648
00:34:19.840 --> 00:34:25.000
<v Speaker 4>Jenkins boy, and mostly focused on Java as well, so

649
00:34:25.159 --> 00:34:28.920
<v Speaker 4>getting in there was kind of an interesting little way

650
00:34:28.960 --> 00:34:31.719
<v Speaker 4>as well. So yeah, we've tried to fly under the

651
00:34:31.800 --> 00:34:34.039
<v Speaker 4>radar and get our stuff done without having to talk

652
00:34:34.079 --> 00:34:36.440
<v Speaker 4>too much to it and sorted it out, and like

653
00:34:36.480 --> 00:34:39.480
<v Speaker 4>I said, reusing sequel for as much as possible because

654
00:34:39.480 --> 00:34:40.880
<v Speaker 4>that's already there and needs to use.

655
00:34:42.159 --> 00:34:46.079
<v Speaker 2>Yeah, you're literally doing staying within the guardline so you

656
00:34:46.239 --> 00:34:48.800
<v Speaker 2>don't have to talk to them make it easier. Yeah,

657
00:34:48.840 --> 00:34:49.639
<v Speaker 2>I appreciate that.

658
00:34:49.760 --> 00:34:51.480
<v Speaker 1>I think I told this story before when we were

659
00:34:51.480 --> 00:34:54.639
<v Speaker 1>talking about Aspire, but one of my customers wanted to

660
00:34:54.960 --> 00:35:00.360
<v Speaker 1>aspireify their Blazer server application. So the only real issue

661
00:35:00.400 --> 00:35:07.960
<v Speaker 1>they had was we're using poly and you know, the

662
00:35:07.599 --> 00:35:15.079
<v Speaker 1>the stuff for for that is the HTTP Client Factory

663
00:35:15.800 --> 00:35:18.800
<v Speaker 1>I think, and that's what Aspire uses. So there was

664
00:35:18.880 --> 00:35:25.719
<v Speaker 1>like two you know systems going on there for for

665
00:35:25.880 --> 00:35:30.320
<v Speaker 1>dealing with network outages and things. But that was right.

666
00:35:30.480 --> 00:35:32.840
<v Speaker 4>Yeah, and that that can be fixed as well because

667
00:35:33.000 --> 00:35:36.639
<v Speaker 4>all of that retry policy stuff for the client factories

668
00:35:36.679 --> 00:35:40.480
<v Speaker 4>in the services default project, so you can you can

669
00:35:40.519 --> 00:35:43.679
<v Speaker 4>either in case, you can either move the police stuff

670
00:35:43.679 --> 00:35:45.800
<v Speaker 4>that you have built in the previous system through there,

671
00:35:46.079 --> 00:35:48.360
<v Speaker 4>or you can remove your police stuff and use the

672
00:35:48.400 --> 00:35:50.639
<v Speaker 4>services to fault and you should be good to go. Yeah,

673
00:35:51.239 --> 00:35:54.280
<v Speaker 4>and I really I must admit I love that approach

674
00:35:54.320 --> 00:35:57.519
<v Speaker 4>of having the Services default project where hey, here is

675
00:35:57.599 --> 00:36:00.360
<v Speaker 4>everything we're doing and it's in C sharp format, where

676
00:36:00.400 --> 00:36:04.119
<v Speaker 4>it's not a gazillion configuration things you need to plug into.

677
00:36:04.239 --> 00:36:06.280
<v Speaker 4>We will give you the C sharp code. It just

678
00:36:06.320 --> 00:36:13.840
<v Speaker 4>makes everything so much easier and exactly Yamo. Yeah, and

679
00:36:13.840 --> 00:36:15.039
<v Speaker 4>it's not even Jason.

680
00:36:15.000 --> 00:36:16.800
<v Speaker 2>Yeah right, it's its own thing.

681
00:36:17.079 --> 00:36:21.320
<v Speaker 4>Yeah, the configuration code is always preferable in my world.

682
00:36:22.320 --> 00:36:24.920
<v Speaker 4>It just makes it easier to have it in one

683
00:36:24.960 --> 00:36:26.880
<v Speaker 4>place when you're a developer. I guess it's it makes

684
00:36:26.880 --> 00:36:28.559
<v Speaker 4>it harder when you and admin and you need to

685
00:36:28.599 --> 00:36:31.519
<v Speaker 4>maintain it afterwards, but it's don't know, I like having

686
00:36:31.519 --> 00:36:33.599
<v Speaker 4>it as much as possible in code.

687
00:36:34.000 --> 00:36:37.559
<v Speaker 2>Yeah, me too. What about testing? Like, what's your testing

688
00:36:37.599 --> 00:36:40.360
<v Speaker 2>strategy for these apps in this style? Like? Is there

689
00:36:40.360 --> 00:36:43.639
<v Speaker 2>anything special? Once you're scaffolding like this, I have.

690
00:36:43.559 --> 00:36:47.119
<v Speaker 4>A very very specific way of testing. Actually, an Aspire

691
00:36:47.280 --> 00:36:50.559
<v Speaker 4>unfortunately doesn't help with that in any way, shape or form.

692
00:36:51.159 --> 00:36:53.880
<v Speaker 4>So there is a there is a test So there's

693
00:36:53.920 --> 00:36:57.440
<v Speaker 4>the NBC test server thingy, which has got nothing to

694
00:36:57.440 --> 00:36:59.679
<v Speaker 4>do with MBC at all. It's just a new GET

695
00:36:59.719 --> 00:37:03.360
<v Speaker 4>package just named that unfortunately. But it runs your API

696
00:37:03.480 --> 00:37:06.000
<v Speaker 4>in memory, and there's a there's a similar version for

697
00:37:06.599 --> 00:37:09.199
<v Speaker 4>Aspire that can run you to do smoke tests and

698
00:37:09.239 --> 00:37:12.760
<v Speaker 4>things like that. The problem is that you can't do

699
00:37:12.880 --> 00:37:15.960
<v Speaker 4>any mocking. You can't fake any services because of the

700
00:37:16.000 --> 00:37:19.639
<v Speaker 4>way that Aspire works, and that means that to me,

701
00:37:21.199 --> 00:37:23.880
<v Speaker 4>it doesn't really work for testing. So what we're doing,

702
00:37:23.920 --> 00:37:25.639
<v Speaker 4>and I do in most of my project is for

703
00:37:25.719 --> 00:37:29.840
<v Speaker 4>all of the API projects, I use I tested those individually,

704
00:37:30.159 --> 00:37:32.320
<v Speaker 4>and then I use the in memory test server for

705
00:37:32.440 --> 00:37:34.960
<v Speaker 4>those and I verify that all of the Jason stuff

706
00:37:34.960 --> 00:37:38.159
<v Speaker 4>comes back as I expected to. And I also like

707
00:37:38.400 --> 00:37:40.480
<v Speaker 4>doing it integration style all the way down to the

708
00:37:40.559 --> 00:37:42.480
<v Speaker 4>database and not back up again, so I know that

709
00:37:42.559 --> 00:37:44.360
<v Speaker 4>it really works with all the layers.

710
00:37:44.639 --> 00:37:47.719
<v Speaker 2>Nice. Yeah, yeah. And the main thing is you want

711
00:37:47.719 --> 00:37:49.679
<v Speaker 2>it automated as part of the pipeline as well, or

712
00:37:49.679 --> 00:37:52.159
<v Speaker 2>at least you know so you're always checking.

713
00:37:52.079 --> 00:37:56.199
<v Speaker 4>YEP, and currently we don't have that in my project.

714
00:37:56.280 --> 00:37:59.280
<v Speaker 4>But it's funny because I've been building the APIs for

715
00:37:59.360 --> 00:38:03.079
<v Speaker 4>our system and I've only done tests. So I have

716
00:38:03.280 --> 00:38:05.239
<v Speaker 4>all my integration tests and they go green, and I

717
00:38:05.280 --> 00:38:06.960
<v Speaker 4>say it works. And then I have front end people

718
00:38:07.079 --> 00:38:10.480
<v Speaker 4>building a React front end and they come and complain

719
00:38:10.519 --> 00:38:13.000
<v Speaker 4>but it doesn't work. But I haven't actually fired up

720
00:38:13.039 --> 00:38:15.159
<v Speaker 4>the front end on my machine for about a year

721
00:38:16.599 --> 00:38:19.559
<v Speaker 4>and it's actually worked. It's worked pretty well because I

722
00:38:19.599 --> 00:38:21.800
<v Speaker 4>we agree on the contract of what they want to

723
00:38:21.800 --> 00:38:25.000
<v Speaker 4>get from the end point the end point, I write

724
00:38:25.039 --> 00:38:28.679
<v Speaker 4>the test to verify that the endpoint. It does what

725
00:38:28.760 --> 00:38:30.760
<v Speaker 4>it says and comes back in the right format and

726
00:38:30.800 --> 00:38:32.280
<v Speaker 4>it looks right, and then it.

727
00:38:32.159 --> 00:38:34.039
<v Speaker 1>Doesn't show up on the browser. That's your problem.

728
00:38:34.119 --> 00:38:38.760
<v Speaker 4>Yeah, pretty much like that. Yeah, it does break once

729
00:38:38.800 --> 00:38:41.400
<v Speaker 4>in a while, but it works nice. And I like

730
00:38:41.480 --> 00:38:44.320
<v Speaker 4>the fact that you can go to and from API

731
00:38:44.440 --> 00:38:48.000
<v Speaker 4>to database and verify the jobs or the Jason that

732
00:38:48.079 --> 00:38:51.679
<v Speaker 4>comes back because you know that that really works. It's

733
00:38:51.719 --> 00:38:54.599
<v Speaker 4>not I'm not a big fan of unit tests as

734
00:38:54.639 --> 00:38:58.360
<v Speaker 4>such because they don't show you your system actually working.

735
00:38:58.360 --> 00:39:01.880
<v Speaker 2>In my opinion, Well, that's yeah, that's not what unit

736
00:39:01.920 --> 00:39:04.519
<v Speaker 2>tests are really for, right, Like you need you need

737
00:39:04.519 --> 00:39:07.360
<v Speaker 2>a more than kind of tests. Tests are for you

738
00:39:07.480 --> 00:39:10.519
<v Speaker 2>running locally as you're doing builds.

739
00:39:09.519 --> 00:39:12.840
<v Speaker 4>And it's it's mostly if you to me, unit tests

740
00:39:12.840 --> 00:39:15.559
<v Speaker 4>are great if you have really complex code like that

741
00:39:15.679 --> 00:39:20.280
<v Speaker 4>does a lot of complex stuff, but ninety percent of

742
00:39:20.360 --> 00:39:23.400
<v Speaker 4>our systems don't do very complex stuff. You can look

743
00:39:23.400 --> 00:39:25.079
<v Speaker 4>at the code and go, I know that this is

744
00:39:25.079 --> 00:39:27.960
<v Speaker 4>going to work because I can see the code, and

745
00:39:28.000 --> 00:39:30.639
<v Speaker 4>then I don't feel like writing a gazillion unit test

746
00:39:30.719 --> 00:39:32.679
<v Speaker 4>on that because it's that simple.

747
00:39:32.760 --> 00:39:33.400
<v Speaker 2>It's plumbing.

748
00:39:33.480 --> 00:39:36.360
<v Speaker 1>I think a lot of the things that were complex

749
00:39:36.440 --> 00:39:42.159
<v Speaker 1>that we used to use, uh, you know, test first

750
00:39:42.559 --> 00:39:47.280
<v Speaker 1>for a test driven development for is all the stuff

751
00:39:47.320 --> 00:39:50.320
<v Speaker 1>that the browser does now that we used to have

752
00:39:50.360 --> 00:39:52.960
<v Speaker 1>to hand code. Like you know, me as a Blazer developer,

753
00:39:53.880 --> 00:39:56.920
<v Speaker 1>I don't do any of that old crazy Ajax stuff,

754
00:39:57.000 --> 00:40:03.639
<v Speaker 1>you know anymore. And the way that architecture has evolved,

755
00:40:04.239 --> 00:40:07.039
<v Speaker 1>it's just, you know something's too complex, you just break

756
00:40:07.079 --> 00:40:09.880
<v Speaker 1>it apart, and then you have two or three pieces

757
00:40:09.880 --> 00:40:12.320
<v Speaker 1>where you had one, and you put unit tests around them,

758
00:40:12.320 --> 00:40:16.119
<v Speaker 1>and Bob's your uncle. So yeah, I think the whole

759
00:40:16.280 --> 00:40:22.039
<v Speaker 1>idea of complex code in general is, you know, things

760
00:40:22.039 --> 00:40:22.920
<v Speaker 1>have gotten simpler.

761
00:40:23.079 --> 00:40:24.719
<v Speaker 4>I think, yeah, I think in most cases you can

762
00:40:24.800 --> 00:40:27.039
<v Speaker 4>break it down. And like I said, I don't do

763
00:40:27.079 --> 00:40:28.880
<v Speaker 4>a lot of unit test, but I spent the entire

764
00:40:28.920 --> 00:40:33.719
<v Speaker 4>day to day writing actually unit tests on a serialization

765
00:40:33.840 --> 00:40:37.719
<v Speaker 4>stuff that we're building. But I don't care about the

766
00:40:37.840 --> 00:40:40.519
<v Speaker 4>unit test ask tests. To be perfectly honest, I don't

767
00:40:40.559 --> 00:40:43.599
<v Speaker 4>care about them verifying my code. I care about being

768
00:40:43.639 --> 00:40:46.159
<v Speaker 4>able to write click and say run tests so that

769
00:40:46.199 --> 00:40:47.840
<v Speaker 4>I can run it without having to spin it up,

770
00:40:47.840 --> 00:40:49.599
<v Speaker 4>so I can make a change, I can run the

771
00:40:49.599 --> 00:40:51.559
<v Speaker 4>test and also going, hey, I want to debug this

772
00:40:51.639 --> 00:40:54.280
<v Speaker 4>to see what this value is. Right now, debug test

773
00:40:54.440 --> 00:40:57.599
<v Speaker 4>is just so much simpler than having to run an application.

774
00:40:57.719 --> 00:41:00.599
<v Speaker 4>So I believe that there are definitely cases unit tests

775
00:41:00.599 --> 00:41:04.360
<v Speaker 4>are nice, but they're not for finding bugs or checking

776
00:41:04.360 --> 00:41:06.480
<v Speaker 4>my code in most cases because that gets checked by

777
00:41:06.519 --> 00:41:07.599
<v Speaker 4>the integration tests.

778
00:41:08.639 --> 00:41:11.280
<v Speaker 2>There's a whole there's a whole conversation yet to be

779
00:41:11.360 --> 00:41:15.519
<v Speaker 2>had here about the structure of testing in these cloud

780
00:41:15.559 --> 00:41:19.079
<v Speaker 2>apps now, like even how you break down testing a

781
00:41:19.079 --> 00:41:21.920
<v Speaker 2>given service or testing your end against a mock of

782
00:41:21.960 --> 00:41:25.920
<v Speaker 2>a service like this has all gotten really complicated, it has,

783
00:41:27.239 --> 00:41:30.000
<v Speaker 2>and I'm just impressed with just how much people just

784
00:41:30.159 --> 00:41:32.960
<v Speaker 2>test in production now because you can always roll back,

785
00:41:33.119 --> 00:41:34.760
<v Speaker 2>you know. It's like you can fight for a long

786
00:41:34.800 --> 00:41:37.119
<v Speaker 2>time to find a way to test is independentally or

787
00:41:37.159 --> 00:41:41.639
<v Speaker 2>you could ship and see you and roll back if

788
00:41:41.679 --> 00:41:42.400
<v Speaker 2>you must, And.

789
00:41:42.440 --> 00:41:46.199
<v Speaker 4>I think some were some were in I prefer not

790
00:41:46.280 --> 00:41:48.159
<v Speaker 4>to test it in production if I can get a

791
00:41:48.400 --> 00:41:51.960
<v Speaker 4>get away from it. But yeah, the closer you can

792
00:41:52.039 --> 00:41:55.880
<v Speaker 4>get to production tests, the better it is, obviously, because

793
00:41:55.920 --> 00:41:57.719
<v Speaker 4>it's it's going to be what the users are going

794
00:41:57.800 --> 00:41:58.159
<v Speaker 4>to use.

795
00:41:58.400 --> 00:41:58.599
<v Speaker 1>Right.

796
00:41:59.360 --> 00:42:04.400
<v Speaker 4>Yeah, we've I've done several different iterations. I think all

797
00:42:04.480 --> 00:42:06.760
<v Speaker 4>developers have done that over the years, trying to figure

798
00:42:06.760 --> 00:42:09.440
<v Speaker 4>out what works for you and how do we make

799
00:42:09.480 --> 00:42:13.400
<v Speaker 4>this work. And especially in a service oriented architecture where

800
00:42:13.840 --> 00:42:18.239
<v Speaker 4>we've got HTV services, if you can just define the

801
00:42:18.440 --> 00:42:22.320
<v Speaker 4>interfaces and basically document how they work, then I think

802
00:42:22.360 --> 00:42:25.159
<v Speaker 4>it works pretty well even if you're distributed, because you

803
00:42:25.159 --> 00:42:29.880
<v Speaker 4>can verify one service individually from another one. And even better,

804
00:42:30.039 --> 00:42:33.400
<v Speaker 4>to be perfectly honest, is don't let other teams use

805
00:42:33.440 --> 00:42:38.199
<v Speaker 4>your service. Give them an SDK style project. Instead, give

806
00:42:38.239 --> 00:42:40.400
<v Speaker 4>them a new gift package that has methods on it

807
00:42:40.440 --> 00:42:43.880
<v Speaker 4>that you control that calls your API, which means that

808
00:42:43.920 --> 00:42:47.360
<v Speaker 4>they can just add your SDK client to their system

809
00:42:47.440 --> 00:42:50.159
<v Speaker 4>and call it like a c sharp thing. And you're

810
00:42:50.199 --> 00:42:53.000
<v Speaker 4>in control of the API, but you're also in control

811
00:42:53.039 --> 00:42:55.280
<v Speaker 4>of the thing calling the API, which means that it's

812
00:42:55.360 --> 00:42:57.199
<v Speaker 4>easier for you to verify that it works and it's

813
00:42:57.199 --> 00:42:58.960
<v Speaker 4>easier for you to make changes.

814
00:42:59.360 --> 00:43:05.280
<v Speaker 2>Yeah, for sure. And plus you know the incremental updating

815
00:43:05.360 --> 00:43:08.519
<v Speaker 2>instead of change model and a B testing. All these

816
00:43:08.559 --> 00:43:12.639
<v Speaker 2>strategies about not needing a huge testing framework that the

817
00:43:12.639 --> 00:43:15.199
<v Speaker 2>little things that you could trial, and even dark featuring

818
00:43:15.800 --> 00:43:19.239
<v Speaker 2>in the field is ways to test stuff without having

819
00:43:19.280 --> 00:43:22.880
<v Speaker 2>to build a huge test infrastructure and limiting your impact

820
00:43:22.880 --> 00:43:25.199
<v Speaker 2>if you do make mistakes, so that often you can

821
00:43:25.280 --> 00:43:28.440
<v Speaker 2>just feature switch something back off again and then the

822
00:43:28.480 --> 00:43:30.719
<v Speaker 2>next bill will try and make another iteration.

823
00:43:30.360 --> 00:43:33.480
<v Speaker 1>On it or feature switch it on for just the

824
00:43:33.519 --> 00:43:38.400
<v Speaker 1>admin users you know, or or you the tester, so

825
00:43:38.480 --> 00:43:40.760
<v Speaker 1>you can test it without giving the feature everybody.

826
00:43:41.280 --> 00:43:43.760
<v Speaker 2>Mm hmm. Yeah, I think it's.

827
00:43:43.360 --> 00:43:44.159
<v Speaker 1>Just using the old nag.

828
00:43:44.280 --> 00:43:47.239
<v Speaker 4>And there's an interesting thing as well with if we

829
00:43:47.320 --> 00:43:50.199
<v Speaker 4>go back to the Aspire stuff and testing is as

830
00:43:50.199 --> 00:43:51.840
<v Speaker 4>I said, I don't do a lot of testing like

831
00:43:52.119 --> 00:43:55.599
<v Speaker 4>with Aspire, but I kind of like with the service

832
00:43:55.639 --> 00:43:58.880
<v Speaker 4>discovery built into Aspire, it actually allows you to mock

833
00:43:59.039 --> 00:44:05.079
<v Speaker 4>external resources as well, very very easily. So in tests

834
00:44:05.119 --> 00:44:07.679
<v Speaker 4>you can go and say, hey, I have this external resource,

835
00:44:07.719 --> 00:44:10.800
<v Speaker 4>but it's your own mocked service, and then for production

836
00:44:10.920 --> 00:44:12.679
<v Speaker 4>you go and say, I have this service over here

837
00:44:12.719 --> 00:44:15.840
<v Speaker 4>that we want to use. That's actually a very nice

838
00:44:15.920 --> 00:44:18.519
<v Speaker 4>feature to do as well, because it means that you

839
00:44:17.880 --> 00:44:20.599
<v Speaker 4>don't have to mock everything in your code. You can

840
00:44:20.599 --> 00:44:23.199
<v Speaker 4>actually mock the API that you're using instead, which is

841
00:44:23.239 --> 00:44:26.119
<v Speaker 4>a nice little benefit of having Aspire in place.

842
00:44:26.360 --> 00:44:29.280
<v Speaker 2>Nice, So what's missing from Aspire at this point, Like,

843
00:44:29.320 --> 00:44:31.960
<v Speaker 2>we haven't really dug into the latest version nine point

844
00:44:32.000 --> 00:44:34.880
<v Speaker 2>five at all. I'm going to do a separate show

845
00:44:34.920 --> 00:44:36.800
<v Speaker 2>on that, but you know.

846
00:44:37.440 --> 00:44:39.480
<v Speaker 4>Yeah, I haven't looked at it either.

847
00:44:39.519 --> 00:44:42.320
<v Speaker 2>To be honest, it's moving for relatively rapidly. We think

848
00:44:42.519 --> 00:44:45.719
<v Speaker 2>we did that original nine to oh show with David

849
00:44:46.400 --> 00:44:49.719
<v Speaker 2>in January of twenty four, so you know, here we're

850
00:44:49.760 --> 00:44:52.400
<v Speaker 2>not We're just over a year and a half on

851
00:44:52.639 --> 00:44:55.239
<v Speaker 2>and we've had incremental updates. I don't think they're going

852
00:44:55.280 --> 00:44:58.599
<v Speaker 2>to increment from nine until dot net ten ships obviously

853
00:45:00.039 --> 00:45:03.639
<v Speaker 2>would be my guess, but they have pushed out a

854
00:45:03.679 --> 00:45:07.360
<v Speaker 2>dot change every few months. But do you stuff see

855
00:45:07.440 --> 00:45:09.320
<v Speaker 2>things that are missing from it? Still?

856
00:45:11.000 --> 00:45:13.280
<v Speaker 4>The thing is, it's really hard because I know I

857
00:45:13.679 --> 00:45:15.079
<v Speaker 4>use the things that are in there, and I have

858
00:45:15.119 --> 00:45:17.519
<v Speaker 4>a really hard time saying like, well, this is really missing. Yes,

859
00:45:17.599 --> 00:45:20.719
<v Speaker 4>I think the testing part is missing, and I've talked

860
00:45:20.760 --> 00:45:26.760
<v Speaker 4>to the David and Damien about that and they know

861
00:45:26.920 --> 00:45:31.079
<v Speaker 4>it's missing. But there's also not a very easy fix

862
00:45:31.159 --> 00:45:36.320
<v Speaker 4>for it as such. Unfortunately, the thing about them shipping

863
00:45:36.400 --> 00:45:39.360
<v Speaker 4>very rapidly on the other hand is also that some

864
00:45:39.400 --> 00:45:41.639
<v Speaker 4>of the things are under experimental as well, so you

865
00:45:41.679 --> 00:45:44.840
<v Speaker 4>actually or the mark experimental, so you actually have to

866
00:45:44.880 --> 00:45:46.480
<v Speaker 4>go and say, if I want to use this feature,

867
00:45:46.519 --> 00:45:48.480
<v Speaker 4>I need to turn off a bunch of warnings and things.

868
00:45:49.280 --> 00:45:52.920
<v Speaker 4>I don't know. I get that they want to get

869
00:45:52.960 --> 00:45:56.440
<v Speaker 4>it out there, but I'd rather have experimental things in

870
00:45:56.519 --> 00:45:59.719
<v Speaker 4>a non released version. So basically you had a release

871
00:45:59.880 --> 00:46:02.880
<v Speaker 4>vers non release version of it before and then not

872
00:46:03.000 --> 00:46:06.280
<v Speaker 4>put it into the release version until it's not experimental anymore,

873
00:46:06.719 --> 00:46:09.239
<v Speaker 4>because you can't really take a dependency on everything that

874
00:46:09.440 --> 00:46:12.519
<v Speaker 4>is in there, even if it's not a release candidate

875
00:46:12.719 --> 00:46:15.159
<v Speaker 4>or sorry, even if it's a if it's a release version.

876
00:46:16.199 --> 00:46:19.440
<v Speaker 4>But that's just them iterating quickly, I guess. So we're

877
00:46:19.480 --> 00:46:20.880
<v Speaker 4>going to have to live with that for a while,

878
00:46:23.360 --> 00:46:26.519
<v Speaker 4>and that's that's good. They are iterating that quick rappily,

879
00:46:26.599 --> 00:46:28.840
<v Speaker 4>and it's really hard to actually follow along with everything

880
00:46:28.840 --> 00:46:32.239
<v Speaker 4>that's going going out because there's new stuff, but they're

881
00:46:32.280 --> 00:46:35.440
<v Speaker 4>also there's most of this stuff that comes out is

882
00:46:35.960 --> 00:46:39.559
<v Speaker 4>in my opinion, a lot of little edge cases, a

883
00:46:39.599 --> 00:46:42.079
<v Speaker 4>little scenarios that they're trying to figure out that's missing

884
00:46:42.079 --> 00:46:44.599
<v Speaker 4>that I haven't run into in other cases. I think

885
00:46:44.880 --> 00:46:47.840
<v Speaker 4>the last thing they did was the publisher's stuff, which

886
00:46:47.880 --> 00:46:52.000
<v Speaker 4>is undocumented and experimental at the moment. That is going

887
00:46:52.039 --> 00:46:54.719
<v Speaker 4>to be interesting if they can get it into a

888
00:46:54.760 --> 00:46:57.320
<v Speaker 4>non experimental state and maybe make it a bit easier

889
00:46:57.320 --> 00:47:02.320
<v Speaker 4>for you to build a publisher, and also maybe document

890
00:47:02.400 --> 00:47:05.480
<v Speaker 4>how to build a publisher because it's undocumented at the moment,

891
00:47:06.440 --> 00:47:11.239
<v Speaker 4>So I had to build one for a demo I'm

892
00:47:11.239 --> 00:47:13.599
<v Speaker 4>doing for one of my talks, and the only way

893
00:47:13.639 --> 00:47:15.519
<v Speaker 4>to figure out how it works is to look at

894
00:47:15.519 --> 00:47:17.679
<v Speaker 4>the open source versions one of the other open source

895
00:47:17.800 --> 00:47:19.840
<v Speaker 4>versions and copy the code from there and then start

896
00:47:20.039 --> 00:47:24.880
<v Speaker 4>messing with it. And that's Yes, they're releasing quickly, but

897
00:47:25.440 --> 00:47:28.320
<v Speaker 4>it's not documented either, so it can be a bit

898
00:47:28.320 --> 00:47:29.880
<v Speaker 4>hard to pick up the new stuff as well.

899
00:47:30.199 --> 00:47:32.639
<v Speaker 2>Yeah, yeah, I don't extend. All these things are moving

900
00:47:32.679 --> 00:47:35.039
<v Speaker 2>so quickly, so they think it's challenging to try and

901
00:47:35.039 --> 00:47:39.719
<v Speaker 2>step in there and aspire. To me, has always been

902
00:47:39.719 --> 00:47:42.960
<v Speaker 2>a brown fieldy kind of thing, like you're not really

903
00:47:43.039 --> 00:47:46.000
<v Speaker 2>starting apps from scratch in this class. It's pretty rare,

904
00:47:46.039 --> 00:47:49.239
<v Speaker 2>So you're trying to get more cloud centric on an

905
00:47:49.280 --> 00:47:52.480
<v Speaker 2>existing application and you can interspend it aspire into it,

906
00:47:52.920 --> 00:47:54.400
<v Speaker 2>or are you getting a chance to start from the

907
00:47:54.480 --> 00:47:55.880
<v Speaker 2>beginning with Aspire.

908
00:47:56.360 --> 00:47:59.239
<v Speaker 4>I start everything from scratch with Aspire to perfect honest,

909
00:47:59.280 --> 00:48:03.559
<v Speaker 4>But I I work in a world where I only

910
00:48:03.599 --> 00:48:05.599
<v Speaker 4>do I normally only do three to six months of

911
00:48:05.679 --> 00:48:09.519
<v Speaker 4>the project because of well, I guess ADHD or something

912
00:48:09.599 --> 00:48:15.880
<v Speaker 4>like that. I can't. It's I'm happy that I have

913
00:48:16.000 --> 00:48:19.480
<v Speaker 4>my employer active solution that supports that, because I actually,

914
00:48:20.199 --> 00:48:23.440
<v Speaker 4>if I get into a project that isn't fun, I

915
00:48:23.480 --> 00:48:29.320
<v Speaker 4>actually get depressed and it goes bad sometimes. So being

916
00:48:29.360 --> 00:48:32.280
<v Speaker 4>that I only go onto projects very very rapidly like that,

917
00:48:32.800 --> 00:48:34.679
<v Speaker 4>it also means I often go on new stuff. So

918
00:48:34.719 --> 00:48:37.320
<v Speaker 4>I will come in, I will build the foundational stuff,

919
00:48:37.320 --> 00:48:39.320
<v Speaker 4>and then once the foundational stuff is up, I will

920
00:48:39.360 --> 00:48:41.679
<v Speaker 4>move on to something else. So I'm one of those

921
00:48:41.760 --> 00:48:44.440
<v Speaker 4>lucky people that actually do get to do Aspire new

922
00:48:44.559 --> 00:48:46.000
<v Speaker 4>and then start from scratch.

923
00:48:46.760 --> 00:48:47.159
<v Speaker 2>Very nice.

924
00:48:47.760 --> 00:48:50.840
<v Speaker 4>We didn't do it quite in this project. We actually

925
00:48:50.880 --> 00:48:54.280
<v Speaker 4>worked and had two services up and running before we

926
00:48:54.400 --> 00:48:57.000
<v Speaker 4>put Aspire in place, but it was still very very

927
00:48:57.039 --> 00:48:58.840
<v Speaker 4>early days as such.

928
00:48:59.320 --> 00:48:59.480
<v Speaker 2>Right.

929
00:49:00.840 --> 00:49:02.840
<v Speaker 4>But I'm also saying, like you say, brown Field stuff,

930
00:49:02.840 --> 00:49:05.719
<v Speaker 4>I say that to everybody. It's if you've got a

931
00:49:05.760 --> 00:49:09.920
<v Speaker 4>solution that has more than one project in it. See

932
00:49:09.920 --> 00:49:11.559
<v Speaker 4>if you can get aspired to work, because it's going

933
00:49:11.639 --> 00:49:14.079
<v Speaker 4>to make everything easier to work with. And honestly, if

934
00:49:14.119 --> 00:49:18.719
<v Speaker 4>you only have one project but it's slightly complex, put

935
00:49:18.760 --> 00:49:21.519
<v Speaker 4>a spire onto and anyway, so you get the dashboard,

936
00:49:21.599 --> 00:49:24.440
<v Speaker 4>you get the open telemetry. No, you don't need the

937
00:49:24.519 --> 00:49:27.199
<v Speaker 4>retripolsies and all the stuff that you get for free,

938
00:49:27.239 --> 00:49:31.679
<v Speaker 4>but just the open telemetry dashboard and the ability to

939
00:49:31.679 --> 00:49:33.960
<v Speaker 4>plug into that and being able to see your logs

940
00:49:33.960 --> 00:49:37.320
<v Speaker 4>in a nicer way, that's worth it for a single,

941
00:49:37.440 --> 00:49:39.400
<v Speaker 4>single project solution in my opinion, right.

942
00:49:39.480 --> 00:49:40.559
<v Speaker 2>Right, Yeah, I bet that.

943
00:49:40.559 --> 00:49:42.199
<v Speaker 1>Well, I'm going to keep that in mind as I

944
00:49:42.239 --> 00:49:46.440
<v Speaker 1>go into this. We're doing this live, you know, aspire

945
00:49:46.440 --> 00:49:48.079
<v Speaker 1>ify dot net rocks dot com.

946
00:49:48.159 --> 00:49:51.599
<v Speaker 2>Yeah, and you're living the dream and the adventure man

947
00:49:51.719 --> 00:49:55.079
<v Speaker 2>like I hope that's as well. Well, and again time

948
00:49:55.079 --> 00:49:56.559
<v Speaker 2>shifting it'll have already happened.

949
00:49:57.679 --> 00:49:59.000
<v Speaker 1>We hope, we hope.

950
00:50:01.079 --> 00:50:04.239
<v Speaker 2>But I mean, I was appreciate Chris. You haven't done

951
00:50:04.320 --> 00:50:07.280
<v Speaker 2>one project, Inspire, You've done a bunch. You wouldn't keep

952
00:50:07.360 --> 00:50:08.920
<v Speaker 2>using this if it wasn't actually helping you.

953
00:50:09.000 --> 00:50:14.079
<v Speaker 4>No, no, no, no, it's it's awesome. It's also I'm

954
00:50:14.199 --> 00:50:17.639
<v Speaker 4>not an AI person at least Richard, you know that

955
00:50:17.679 --> 00:50:20.000
<v Speaker 4>we've had conversations about that, and I have opinion it's

956
00:50:20.000 --> 00:50:23.320
<v Speaker 4>about AI and everything. If you're sort of wanting to

957
00:50:23.360 --> 00:50:27.280
<v Speaker 4>be a bit bleeding edge in the Microsoft sphere, it's

958
00:50:27.320 --> 00:50:30.000
<v Speaker 4>either AI or Aspire. There's nothing else to actually look

959
00:50:30.000 --> 00:50:33.079
<v Speaker 4>at at the moment the thing that comes out. But

960
00:50:33.519 --> 00:50:36.920
<v Speaker 4>having that stat I actually love Aspire. I've loved the

961
00:50:36.960 --> 00:50:40.320
<v Speaker 4>idea of it since I saw the first like release

962
00:50:41.280 --> 00:50:43.400
<v Speaker 4>version that they've showed to the m v P s,

963
00:50:43.599 --> 00:50:46.800
<v Speaker 4>and there's I don't know, it just solves so many

964
00:50:47.039 --> 00:50:52.440
<v Speaker 4>little little things. It's not overwhelmingly wow, this is awesome,

965
00:50:52.599 --> 00:50:56.679
<v Speaker 4>it will change revolutionize my world, but it solves a

966
00:50:56.719 --> 00:51:00.280
<v Speaker 4>bunch of little things that annoy you every day and

967
00:51:00.360 --> 00:51:02.880
<v Speaker 4>every time you press F five to start your application.

968
00:51:04.480 --> 00:51:06.559
<v Speaker 4>It's I don't know, it's it's hard to say about

969
00:51:06.599 --> 00:51:10.480
<v Speaker 4>those little things make it a little more more enjoyable.

970
00:51:10.519 --> 00:51:12.079
<v Speaker 4>It's actually right code, and I think.

971
00:51:11.920 --> 00:51:14.679
<v Speaker 2>It does strike me as a strategy to get gradually pregnant.

972
00:51:14.679 --> 00:51:17.519
<v Speaker 2>All in this case, we're talking a gradually cloud native

973
00:51:17.719 --> 00:51:21.079
<v Speaker 2>that yes, you you know, as you learn more about

974
00:51:21.079 --> 00:51:23.679
<v Speaker 2>what it is to live in the cloud. ASPIRER was

975
00:51:23.719 --> 00:51:27.119
<v Speaker 2>already there and ready to help you with the next problem. Yeah,

976
00:51:27.239 --> 00:51:31.559
<v Speaker 2>that's it. I appreciate that he had. Davids did a

977
00:51:31.599 --> 00:51:34.480
<v Speaker 2>good job of letting us gradually get involved and think

978
00:51:34.559 --> 00:51:36.840
<v Speaker 2>more cloud dative. You don't have to jump out climb

979
00:51:36.920 --> 00:51:39.320
<v Speaker 2>up this huge cliff before anything works, right.

980
00:51:39.280 --> 00:51:40.880
<v Speaker 4>No, because that's kind of like you said, like it

981
00:51:41.119 --> 00:51:44.360
<v Speaker 4>started off talking about a bit about Kubernetes, because I've

982
00:51:44.639 --> 00:51:46.719
<v Speaker 4>been into the Kubernetes area as well for a while,

983
00:51:46.719 --> 00:51:49.880
<v Speaker 4>and it's that's a that's a steep hill to climb

984
00:51:49.960 --> 00:51:52.880
<v Speaker 4>before you get anything done. And then once you understand

985
00:51:52.920 --> 00:51:55.760
<v Speaker 4>Kuberneties and you have to start doing helm charts and

986
00:51:55.800 --> 00:51:59.679
<v Speaker 4>deployment pipelines for that, it's it's a pain, and it

987
00:51:59.719 --> 00:52:02.679
<v Speaker 4>does and solve your local development in any way either.

988
00:52:02.800 --> 00:52:04.840
<v Speaker 4>So it's I don't know. I think this is a

989
00:52:04.960 --> 00:52:08.800
<v Speaker 4>nice way to make your day to day job easier.

990
00:52:08.960 --> 00:52:12.079
<v Speaker 4>If you don't want to use it for deployment or whatever,

991
00:52:12.199 --> 00:52:14.960
<v Speaker 4>that's going to have to completely fine, But your daily

992
00:52:15.119 --> 00:52:16.920
<v Speaker 4>work is more enjoyable.

993
00:52:18.440 --> 00:52:19.239
<v Speaker 2>I appreciate that.

994
00:52:19.480 --> 00:52:21.960
<v Speaker 1>What's in your inbox, Chris, what's on your to do list?

995
00:52:23.760 --> 00:52:24.079
<v Speaker 2>Sleep?

996
00:52:26.440 --> 00:52:29.000
<v Speaker 4>I'm currently actually spending a lot of time working on

997
00:52:30.480 --> 00:52:33.960
<v Speaker 4>I've done two new presentations that I'm working on or

998
00:52:34.239 --> 00:52:36.119
<v Speaker 4>have have worked on, and we'll have to refinal a

999
00:52:36.159 --> 00:52:41.199
<v Speaker 4>little bit after NBC Copenhagen working on a two day

1000
00:52:42.760 --> 00:52:49.800
<v Speaker 4>really wonky workshop on Microsoft Web Development where they attendees

1001
00:52:49.840 --> 00:52:53.880
<v Speaker 4>get to play with a spinnet Core minimal APIs, NBC

1002
00:52:54.039 --> 00:53:01.679
<v Speaker 4>g RPC, your project or lanes as identity server and

1003
00:53:01.760 --> 00:53:04.559
<v Speaker 4>some other stuff, so they basically get a little tour

1004
00:53:04.639 --> 00:53:06.920
<v Speaker 4>of everything. A lot of things you can find in

1005
00:53:06.960 --> 00:53:08.480
<v Speaker 4>acenet core. So that's kind of cool.

1006
00:53:08.639 --> 00:53:09.440
<v Speaker 1>That's very cool.

1007
00:53:10.360 --> 00:53:14.000
<v Speaker 4>Yeah, it's interesting going into so many different things and

1008
00:53:14.480 --> 00:53:17.280
<v Speaker 4>sniff around like what can we do here, what can

1009
00:53:17.280 --> 00:53:20.199
<v Speaker 4>we do there, and show people that acenet core is

1010
00:53:20.239 --> 00:53:22.000
<v Speaker 4>more than mbassy.

1011
00:53:22.400 --> 00:53:25.880
<v Speaker 2>Yeah, yeah, it certainly is and always have been. But

1012
00:53:26.119 --> 00:53:28.480
<v Speaker 2>you know, yes, it's basically the same thing you just

1013
00:53:28.519 --> 00:53:30.719
<v Speaker 2>did in this past hour. Chris is like, there's more

1014
00:53:30.760 --> 00:53:32.920
<v Speaker 2>to aspire than you know, and you can there's a

1015
00:53:32.920 --> 00:53:34.639
<v Speaker 2>bunch of different points to grab at it. So I

1016
00:53:34.679 --> 00:53:37.280
<v Speaker 2>appreciate that that you break down the pieces and say

1017
00:53:37.280 --> 00:53:38.880
<v Speaker 2>you could use this, and you could use this, and

1018
00:53:39.039 --> 00:53:41.159
<v Speaker 2>did you know about this? And there's lots of ways

1019
00:53:41.199 --> 00:53:41.440
<v Speaker 2>to help.

1020
00:53:41.480 --> 00:53:43.960
<v Speaker 4>And it's also I think like most people are stuck

1021
00:53:44.039 --> 00:53:46.960
<v Speaker 4>in not stuck, but most A lot of people work

1022
00:53:47.000 --> 00:53:49.599
<v Speaker 4>in enterprise environments where there's you're working on the same

1023
00:53:49.679 --> 00:53:53.880
<v Speaker 4>thing all the time and you get kind of shoved

1024
00:53:53.920 --> 00:53:55.960
<v Speaker 4>into this corner of this is the way that it works,

1025
00:53:56.000 --> 00:53:57.840
<v Speaker 4>and you don't have time to look at everything else.

1026
00:53:57.880 --> 00:53:59.920
<v Speaker 4>So that was kind of the idea behind my workshop

1027
00:54:00.199 --> 00:54:03.480
<v Speaker 4>was let's take people that work on maybe not so

1028
00:54:03.679 --> 00:54:06.599
<v Speaker 4>cool enterprise projects and show them what else is out there,

1029
00:54:06.639 --> 00:54:08.719
<v Speaker 4>so that if they come up with something new that

1030
00:54:08.800 --> 00:54:12.039
<v Speaker 4>needs to be built, maybe Project or Leans can help them,

1031
00:54:12.119 --> 00:54:14.920
<v Speaker 4>or building a new service using DRPC, you might be

1032
00:54:14.960 --> 00:54:17.440
<v Speaker 4>easier for some things and things like that. So that's

1033
00:54:17.639 --> 00:54:18.599
<v Speaker 4>the idea behind it.

1034
00:54:18.800 --> 00:54:20.400
<v Speaker 2>Nice, very good, I appreciate it.

1035
00:54:20.480 --> 00:54:22.960
<v Speaker 1>Chris. Thanks for spending an hour with us. It's been great.

1036
00:54:23.119 --> 00:54:25.079
<v Speaker 4>Well, thank you for having me again. It's it's always

1037
00:54:25.119 --> 00:54:26.079
<v Speaker 4>awesome to be on the show.

1038
00:54:26.239 --> 00:54:31.280
<v Speaker 1>Ye all right, go get some sleep. We'll talk to

1039
00:54:31.320 --> 00:54:33.559
<v Speaker 1>you next time on dot net rocks.

1040
00:54:54.159 --> 00:54:56.719
<v Speaker 5>Dot net Rocks is brought to you by Franklin's Net

1041
00:54:56.960 --> 00:55:00.920
<v Speaker 5>and produced by Pop Studios, a full service audio, video

1042
00:55:01.000 --> 00:55:05.079
<v Speaker 5>and post production facility located physically in New London, Connecticut,

1043
00:55:05.320 --> 00:55:10.119
<v Speaker 5>and of course in the cloud. Online at PWOP dot com.

1044
00:55:10.320 --> 00:55:12.480
<v Speaker 5>Visit our website at d O T N E t

1045
00:55:12.679 --> 00:55:16.719
<v Speaker 5>R O c k S dot com for RSS feeds, downloads,

1046
00:55:16.880 --> 00:55:20.559
<v Speaker 5>mobile apps, comments, and access to the full archives going

1047
00:55:20.599 --> 00:55:23.960
<v Speaker 5>back to show number one, recorded in September two thousand

1048
00:55:24.000 --> 00:55:26.679
<v Speaker 5>and two. And make sure you check out our sponsors.

1049
00:55:26.800 --> 00:55:29.800
<v Speaker 5>They keep us in business. Now, go write some code.

1050
00:55:30.159 --> 00:55:30.920
<v Speaker 5>See you next time.

1051
00:55:31.840 --> 00:55:33.679
<v Speaker 4>You got jam Vans

1052
00:55:35.719 --> 00:55:35.760
<v Speaker 1>And
