WEBVTT

1
00:00:06.559 --> 00:00:08.960
<v Speaker 1>Hello, and welcome to another episode of the Gingers in

2
00:00:09.039 --> 00:00:12.000
<v Speaker 1>dot Net. I'm John Klebby. Your host with me today

3
00:00:12.279 --> 00:00:13.160
<v Speaker 1>is Caleb Wells.

4
00:00:13.400 --> 00:00:14.800
<v Speaker 2>Hey y'all. How's it going?

5
00:00:15.080 --> 00:00:15.640
<v Speaker 1>Hey y'all?

6
00:00:15.759 --> 00:00:20.120
<v Speaker 2>So you and I Yeah, Hey, that right, the original

7
00:00:20.120 --> 00:00:24.199
<v Speaker 2>two amigos. It's been a fun ride so.

8
00:00:24.199 --> 00:00:26.800
<v Speaker 1>Far, I think so. I mean we're a little past

9
00:00:26.800 --> 00:00:29.280
<v Speaker 1>a year when we first started. Yeah, I think you

10
00:00:29.320 --> 00:00:31.519
<v Speaker 1>know that we're getting more listeners. So thanks to all

11
00:00:31.519 --> 00:00:33.359
<v Speaker 1>the people that are out there, it's doing great. We

12
00:00:33.439 --> 00:00:35.799
<v Speaker 1>hope that you're enjoying the show and you know, keep

13
00:00:35.880 --> 00:00:38.600
<v Speaker 1>up the listening, spread the word and give us feedback.

14
00:00:38.759 --> 00:00:40.880
<v Speaker 2>Yeah. Absolutely, So what do you.

15
00:00:40.799 --> 00:00:42.560
<v Speaker 1>Want to cover today? It's just you and me. We

16
00:00:42.600 --> 00:00:44.399
<v Speaker 1>don't have a guest to talk about.

17
00:00:44.479 --> 00:00:47.039
<v Speaker 2>So figured we could talk a little bit about my

18
00:00:47.079 --> 00:00:50.719
<v Speaker 2>new job. Not the company or the clients, but the

19
00:00:50.799 --> 00:00:55.119
<v Speaker 2>code right. I have come into a fairly well developed application.

20
00:00:55.359 --> 00:00:57.759
<v Speaker 2>They've been working on it for maybe nine months or

21
00:00:57.759 --> 00:01:01.000
<v Speaker 2>something like that. But everything is in net right, which

22
00:01:01.039 --> 00:01:04.519
<v Speaker 2>is our wheelhouse, and it's all in VC. You know,

23
00:01:04.599 --> 00:01:07.159
<v Speaker 2>it's all Azure and some of the stuff is you know,

24
00:01:07.200 --> 00:01:09.640
<v Speaker 2>stuff that I haven't worked with in a while, or

25
00:01:09.840 --> 00:01:12.519
<v Speaker 2>we're with at all. So it's been it's been interesting

26
00:01:12.680 --> 00:01:15.959
<v Speaker 2>to kind of come back into this realm where front

27
00:01:16.040 --> 00:01:21.519
<v Speaker 2>end middleware back in the whole deal is all Microsoft products.

28
00:01:21.640 --> 00:01:25.519
<v Speaker 1>So the entire stack. No, no front end frameworkscript framework

29
00:01:25.560 --> 00:01:26.040
<v Speaker 1>R in it.

30
00:01:26.280 --> 00:01:31.719
<v Speaker 2>No Angular, No, well not not in this project. Well

31
00:01:31.760 --> 00:01:33.799
<v Speaker 2>we'll see going down the road there the company work

32
00:01:33.840 --> 00:01:37.599
<v Speaker 2>forward there there honestly the pretty technology agnostic and so

33
00:01:37.920 --> 00:01:40.120
<v Speaker 2>you know, I've been told that, you know, if another

34
00:01:40.120 --> 00:01:42.840
<v Speaker 2>project comes along and I move to that, I can choose.

35
00:01:43.120 --> 00:01:45.799
<v Speaker 2>But that's when they just choose to stick with I

36
00:01:45.799 --> 00:01:49.519
<v Speaker 2>guess Microsoft, because they're using a lot of the Azure

37
00:01:49.879 --> 00:01:52.760
<v Speaker 2>data analytics and data storage stuff. So they're using data

38
00:01:52.799 --> 00:01:57.280
<v Speaker 2>Lake and power Bi and some Synaptics stuff, a bunch

39
00:01:57.280 --> 00:01:59.439
<v Speaker 2>of stuff that I'm still digging into and learning. But

40
00:01:59.480 --> 00:02:03.159
<v Speaker 2>the application, you know, is your typical class libraries, an

41
00:02:03.239 --> 00:02:07.040
<v Speaker 2>NVC web app, and then a Blazer admin app, which

42
00:02:07.079 --> 00:02:09.520
<v Speaker 2>I figured you would you get kick out of. Yeah,

43
00:02:11.199 --> 00:02:13.840
<v Speaker 2>laser service side, okay, but yeah, you know, like like

44
00:02:13.879 --> 00:02:15.680
<v Speaker 2>I said, they're they're pretty like you know, hey, if

45
00:02:15.680 --> 00:02:18.000
<v Speaker 2>you can get to work and or any problems, you

46
00:02:18.000 --> 00:02:19.240
<v Speaker 2>can use whatever tech you want.

47
00:02:19.520 --> 00:02:22.439
<v Speaker 1>How they helding state on the admin I guess that

48
00:02:22.439 --> 00:02:24.159
<v Speaker 1>it's it's admin. It's not such a big deal if

49
00:02:24.159 --> 00:02:28.919
<v Speaker 1>that it's not it's change reset does have any issues.

50
00:02:28.919 --> 00:02:32.599
<v Speaker 2>Okay, Right up until this last sprint, admin was only

51
00:02:32.639 --> 00:02:35.800
<v Speaker 2>accessible by people at my company, not any of the

52
00:02:35.879 --> 00:02:39.719
<v Speaker 2>client users. I actually spent this sprint changing that to

53
00:02:39.759 --> 00:02:42.680
<v Speaker 2>set up permissions and access because they want to start

54
00:02:42.759 --> 00:02:46.080
<v Speaker 2>letting some of their users into the admin site. But again,

55
00:02:46.159 --> 00:02:48.280
<v Speaker 2>like you said, it's not it's not public facing, so

56
00:02:48.360 --> 00:02:51.000
<v Speaker 2>that that's not not such a big concern. But I

57
00:02:51.000 --> 00:02:52.919
<v Speaker 2>thought we could talk a little bit about m VC,

58
00:02:53.560 --> 00:02:56.000
<v Speaker 2>and I don't you know, I don't know how significant

59
00:02:56.039 --> 00:02:57.960
<v Speaker 2>these changes are in the past year, and for people

60
00:02:58.000 --> 00:02:59.840
<v Speaker 2>who have been using it all along, they may not

61
00:02:59.879 --> 00:03:02.599
<v Speaker 2>be it changes at all. But one of the things

62
00:03:02.680 --> 00:03:06.560
<v Speaker 2>that I found really interesting is the Razor pages right,

63
00:03:06.919 --> 00:03:11.080
<v Speaker 2>which is not it's not the original way in NVC right,

64
00:03:11.159 --> 00:03:14.759
<v Speaker 2>which you've got separate classes and then separate HTML views

65
00:03:15.159 --> 00:03:18.360
<v Speaker 2>right with Razor in them. It's not Blazer right, which

66
00:03:18.360 --> 00:03:20.719
<v Speaker 2>has got all of kind of a MISSI mash inside

67
00:03:20.759 --> 00:03:24.680
<v Speaker 2>of their own files. This is very similar to the

68
00:03:24.719 --> 00:03:27.800
<v Speaker 2>old school code behind right, where you have a c

69
00:03:27.960 --> 00:03:30.520
<v Speaker 2>S HTML and then you have a little arrow and

70
00:03:30.560 --> 00:03:32.919
<v Speaker 2>you click the arrow and you get the code behind right,

71
00:03:33.199 --> 00:03:35.159
<v Speaker 2>which at first it seems like maybe you're taking a

72
00:03:35.199 --> 00:03:37.759
<v Speaker 2>step back, but once you start using it, it's really

73
00:03:38.039 --> 00:03:40.879
<v Speaker 2>not the case. And one of the nice things is right,

74
00:03:40.919 --> 00:03:44.599
<v Speaker 2>they're both there in the same place, easy, easily accessible.

75
00:03:44.840 --> 00:03:46.800
<v Speaker 2>So but you know, dig in into that and that's

76
00:03:46.840 --> 00:03:49.360
<v Speaker 2>been it's it's been interesting, but it's been good, you know,

77
00:03:49.439 --> 00:03:51.360
<v Speaker 2>it's It definitely brings back memories.

78
00:03:52.719 --> 00:03:54.280
<v Speaker 1>So it's all done. It's all done.

79
00:03:54.439 --> 00:03:58.680
<v Speaker 2>Core yep, yep, all door, okap three point one, yes,

80
00:03:58.759 --> 00:04:00.560
<v Speaker 2>three point one, okay, all right.

81
00:04:00.759 --> 00:04:04.000
<v Speaker 1>Are they look going forward to dot net five coming

82
00:04:04.000 --> 00:04:04.680
<v Speaker 1>out next month?

83
00:04:04.919 --> 00:04:08.120
<v Speaker 2>I don't know that they're they're all that concerned about it, really.

84
00:04:08.240 --> 00:04:10.199
<v Speaker 2>I'm looking forward to it. I think it'll be it'll

85
00:04:10.199 --> 00:04:12.479
<v Speaker 2>be good. I don't know if this project will be

86
00:04:12.520 --> 00:04:15.960
<v Speaker 2>transitioned and if it is when it's definitely kind of

87
00:04:16.000 --> 00:04:19.040
<v Speaker 2>in a state of flux where we're having to add

88
00:04:19.040 --> 00:04:20.720
<v Speaker 2>a lot of features and build on it and then

89
00:04:20.720 --> 00:04:23.639
<v Speaker 2>go back and refactor the stuff we do wrong in

90
00:04:23.680 --> 00:04:26.000
<v Speaker 2>the quirks and whatnot. But we'll see. I think dot

91
00:04:26.079 --> 00:04:27.879
<v Speaker 2>net five is going to be great personally.

92
00:04:28.000 --> 00:04:29.800
<v Speaker 1>I see I've seen the betas coming out for dot

93
00:04:29.839 --> 00:04:32.160
<v Speaker 1>net five and been meaning this to fire something up

94
00:04:32.199 --> 00:04:34.560
<v Speaker 1>and just kind of poke around a little bit and see,

95
00:04:34.639 --> 00:04:36.879
<v Speaker 1>you know, how much does it feel different or is

96
00:04:36.879 --> 00:04:39.920
<v Speaker 1>it just kind of just a normal evolution of dot net?

97
00:04:40.160 --> 00:04:45.319
<v Speaker 2>Got you right? Right? Well, hopefully it won't fill that different. Yeah, yeah,

98
00:04:45.439 --> 00:04:48.879
<v Speaker 2>because it feels different, then maybe they did something.

99
00:04:48.519 --> 00:04:51.920
<v Speaker 1>Well yeah, I mean C sharp nine things like that.

100
00:04:52.199 --> 00:04:55.240
<v Speaker 2>So yeah, yeah, yeah, but you know, so I've been

101
00:04:55.759 --> 00:04:59.480
<v Speaker 2>been digging into the razor pages and you know, having

102
00:04:59.519 --> 00:05:03.079
<v Speaker 2>to tweak startup files and environment variables and all that

103
00:05:03.160 --> 00:05:06.439
<v Speaker 2>kind of stuff that's you know, anciilaria, but takes up,

104
00:05:06.480 --> 00:05:08.920
<v Speaker 2>you know, a day or two, right when you run

105
00:05:08.959 --> 00:05:10.959
<v Speaker 2>into an issue. One of the other things that they're

106
00:05:11.079 --> 00:05:14.920
<v Speaker 2>using fairly heavily is areas in NBC. And I know

107
00:05:15.040 --> 00:05:18.199
<v Speaker 2>areas have been around for a while now, years, maybe

108
00:05:18.199 --> 00:05:20.720
<v Speaker 2>even before that Core I'm not not positive on that.

109
00:05:20.800 --> 00:05:24.240
<v Speaker 2>But with this application, it's multi tenant, right, so our

110
00:05:24.279 --> 00:05:27.319
<v Speaker 2>client is basically reselling this. When they get a client

111
00:05:27.319 --> 00:05:31.720
<v Speaker 2>of theirs come in, we basically add in appropriate areas

112
00:05:31.839 --> 00:05:34.480
<v Speaker 2>and update the canfig files and spare everything up for

113
00:05:34.519 --> 00:05:37.399
<v Speaker 2>this new tenant, right and that, and that's really a

114
00:05:37.439 --> 00:05:40.199
<v Speaker 2>perfect use case for areas, right.

115
00:05:40.199 --> 00:05:43.120
<v Speaker 1>So I've never used areas and I heard of them,

116
00:05:43.160 --> 00:05:45.040
<v Speaker 1>but I don't really don't know how they're used. So

117
00:05:45.600 --> 00:05:47.519
<v Speaker 1>for our listeners, you know, tell us what what an

118
00:05:47.560 --> 00:05:49.480
<v Speaker 1>area is and you know what us for.

119
00:05:49.879 --> 00:05:53.800
<v Speaker 2>Yeah. So so right in NBC, you have your your

120
00:05:53.839 --> 00:05:58.480
<v Speaker 2>index and your underscore layout page and your view imports,

121
00:05:58.519 --> 00:06:01.040
<v Speaker 2>and if you start all the all that stuff that

122
00:06:01.120 --> 00:06:05.759
<v Speaker 2>combines to make paging in VC right, areas is basically

123
00:06:05.839 --> 00:06:09.560
<v Speaker 2>an extension of that, and it sits on top of

124
00:06:09.240 --> 00:06:12.240
<v Speaker 2>your base set up and your base layout and your

125
00:06:12.240 --> 00:06:14.839
<v Speaker 2>base index right. And so the way that we have

126
00:06:14.959 --> 00:06:17.639
<v Speaker 2>it set up is you come into the website, you know,

127
00:06:17.720 --> 00:06:20.279
<v Speaker 2>at the base r L, and you're shown you know,

128
00:06:20.439 --> 00:06:24.000
<v Speaker 2>kind of the marketing selling stuff, right. But if you

129
00:06:24.519 --> 00:06:27.759
<v Speaker 2>update the sub domain on the RL for one of

130
00:06:27.800 --> 00:06:30.560
<v Speaker 2>our tenants, then we've got it set up to where

131
00:06:30.600 --> 00:06:34.439
<v Speaker 2>it will actually go look in the areas for the

132
00:06:34.879 --> 00:06:38.360
<v Speaker 2>tenant folder in the areas for that tenant, and inside

133
00:06:38.360 --> 00:06:40.839
<v Speaker 2>of there you have your own version of log and

134
00:06:40.920 --> 00:06:45.240
<v Speaker 2>partial underscore layout, index view imports. You don't have to,

135
00:06:45.639 --> 00:06:48.279
<v Speaker 2>but in our case the way that we've developed it,

136
00:06:48.399 --> 00:06:51.439
<v Speaker 2>each tenant has their own. Once they're on look and

137
00:06:51.439 --> 00:06:53.920
<v Speaker 2>feel right and they want to have their own splash

138
00:06:53.920 --> 00:06:57.319
<v Speaker 2>images and their own branding and all that. And this

139
00:06:57.399 --> 00:07:00.199
<v Speaker 2>is a good use case for areas. Right. You can

140
00:07:00.279 --> 00:07:03.040
<v Speaker 2>have one hundred and you still have a base layout

141
00:07:03.160 --> 00:07:05.920
<v Speaker 2>and base CSS that everything derives from, but you can

142
00:07:05.959 --> 00:07:08.040
<v Speaker 2>then tweak it on a case by case basis.

143
00:07:08.399 --> 00:07:11.759
<v Speaker 1>So areas are kind of a way to organize everything

144
00:07:12.040 --> 00:07:15.439
<v Speaker 1>and make everything that's grouped together, kind of way for

145
00:07:15.480 --> 00:07:19.600
<v Speaker 1>a encapsulation or separation of concerns, that kind of thing.

146
00:07:19.560 --> 00:07:22.480
<v Speaker 2>Yeah, right, right, because we don't want you to go

147
00:07:22.519 --> 00:07:24.959
<v Speaker 2>to the website and get the look and feel and

148
00:07:25.040 --> 00:07:28.240
<v Speaker 2>the info for one tenant on top of another. Right,

149
00:07:28.839 --> 00:07:31.879
<v Speaker 2>And I'm sure there are obviously other ways areas can

150
00:07:31.920 --> 00:07:33.959
<v Speaker 2>be used, but I just found this to be an

151
00:07:34.000 --> 00:07:38.399
<v Speaker 2>interesting way that they've approached the multi tenant aspect of

152
00:07:38.439 --> 00:07:42.120
<v Speaker 2>this application. So that was another thing that you know,

153
00:07:42.279 --> 00:07:44.759
<v Speaker 2>I've dug into and picked up. One of the other

154
00:07:44.879 --> 00:07:47.720
<v Speaker 2>interesting things that I'm having to do more of a

155
00:07:47.720 --> 00:07:51.360
<v Speaker 2>deep dive into is power bi and power bi it's

156
00:07:51.439 --> 00:07:56.120
<v Speaker 2>another Microsoft product. It's kind of like data analytics right

157
00:07:56.240 --> 00:07:57.240
<v Speaker 2>on steroids.

158
00:07:57.439 --> 00:07:57.639
<v Speaker 1>Right.

159
00:07:57.800 --> 00:08:00.720
<v Speaker 2>You have users that go in and they can pull

160
00:08:00.759 --> 00:08:05.079
<v Speaker 2>information from database stores and they can build charts and

161
00:08:05.160 --> 00:08:09.480
<v Speaker 2>graphs and filters and all this aggregation of data, which

162
00:08:09.519 --> 00:08:13.120
<v Speaker 2>is really the big selling point of our application. This

163
00:08:13.279 --> 00:08:17.720
<v Speaker 2>application in particular actually started out tracking and managing COVID

164
00:08:17.879 --> 00:08:21.759
<v Speaker 2>data for different hospitals or publicly accessible data that we

165
00:08:21.959 --> 00:08:25.319
<v Speaker 2>pulled in, you know, and aggregated into one place and

166
00:08:25.879 --> 00:08:28.720
<v Speaker 2>were able to see some trends, you know, and long

167
00:08:28.800 --> 00:08:33.279
<v Speaker 2>term data modeling right and powerbon works in a number

168
00:08:33.279 --> 00:08:37.200
<v Speaker 2>of ways, but in order to provide it to end

169
00:08:37.320 --> 00:08:40.720
<v Speaker 2>users or customers who don't necessarily have access to it

170
00:08:40.919 --> 00:08:44.679
<v Speaker 2>without paying extra licenses, you have to jump through some

171
00:08:44.759 --> 00:08:48.080
<v Speaker 2>hoops to embed it into a web page for the

172
00:08:48.159 --> 00:08:51.039
<v Speaker 2>end user. And they've got you know, this long wiki

173
00:08:51.120 --> 00:08:53.440
<v Speaker 2>and a lot of documentation all they've got a playground.

174
00:08:53.759 --> 00:08:55.759
<v Speaker 2>But power Beyon, I think, really is one of their

175
00:08:55.799 --> 00:08:58.799
<v Speaker 2>newer offerings, right like in just the last couple of years,

176
00:08:59.000 --> 00:09:01.519
<v Speaker 2>and so it's continued to and their added functionality and

177
00:09:01.559 --> 00:09:03.639
<v Speaker 2>things are changing and you know, you kind of have

178
00:09:03.679 --> 00:09:05.799
<v Speaker 2>to work around some of the limitations. So one of

179
00:09:05.840 --> 00:09:09.799
<v Speaker 2>the interesting things that they've done is they're actually so

180
00:09:09.919 --> 00:09:13.600
<v Speaker 2>they've created a partial that's used by all these areas,

181
00:09:13.759 --> 00:09:17.000
<v Speaker 2>and inside that partial, it has an embed tag in

182
00:09:17.080 --> 00:09:21.120
<v Speaker 2>it which basically becomes an iframe, right. But in order

183
00:09:21.200 --> 00:09:26.879
<v Speaker 2>to populate that IMPEG tag with the appropriate data based

184
00:09:26.919 --> 00:09:30.840
<v Speaker 2>on tenant, right and keep that segregation, they've actually created

185
00:09:30.879 --> 00:09:34.000
<v Speaker 2>a tag helper, which is a built in functionality in

186
00:09:34.000 --> 00:09:38.200
<v Speaker 2>the VC, but it allows you to basically target certain

187
00:09:38.240 --> 00:09:41.840
<v Speaker 2>elements and tell it what attributes to look for and

188
00:09:41.879 --> 00:09:44.399
<v Speaker 2>how you're going to be providing those attributes. And so

189
00:09:44.879 --> 00:09:46.759
<v Speaker 2>what they've got set up is when you go to

190
00:09:47.360 --> 00:09:50.039
<v Speaker 2>a tenant and you then log in and you're presented

191
00:09:50.120 --> 00:09:52.639
<v Speaker 2>with a list of all the reports they have access to.

192
00:09:52.799 --> 00:09:54.879
<v Speaker 2>When they click on one of them, it then starts

193
00:09:54.960 --> 00:09:58.320
<v Speaker 2>this task process acing and it starts to build the

194
00:09:58.440 --> 00:10:02.879
<v Speaker 2>view context for that page, and in our case, it's

195
00:10:02.960 --> 00:10:06.360
<v Speaker 2>building it and then it's getting values out of the

196
00:10:06.399 --> 00:10:10.480
<v Speaker 2>tag helper context and then pushing them into the viewbag

197
00:10:10.639 --> 00:10:13.399
<v Speaker 2>for that page, which is interesting. And then it's pulling

198
00:10:13.440 --> 00:10:16.720
<v Speaker 2>those attributes out of the view bag and pushing them

199
00:10:16.759 --> 00:10:20.759
<v Speaker 2>into the embed, which then caused power beyond it says okay, yeah,

200
00:10:20.799 --> 00:10:23.960
<v Speaker 2>you're legit, and it loads up the associated report. So

201
00:10:24.039 --> 00:10:27.360
<v Speaker 2>I thought that this is something I haven't dug into

202
00:10:27.639 --> 00:10:30.519
<v Speaker 2>much and hadn't really seen used in this way, but

203
00:10:30.720 --> 00:10:34.080
<v Speaker 2>it's it works really well, it's it's honestly very it's

204
00:10:34.120 --> 00:10:37.000
<v Speaker 2>an elegant way of doing it because, right, you have

205
00:10:37.279 --> 00:10:41.720
<v Speaker 2>one tag helper class that is extending the Microsoft tag helper.

206
00:10:41.799 --> 00:10:44.720
<v Speaker 2>You have one partial that's being reused among all of

207
00:10:44.799 --> 00:10:47.240
<v Speaker 2>the areas, and then you just have to you know,

208
00:10:47.399 --> 00:10:49.799
<v Speaker 2>embed that partial in the appropect page in the areas

209
00:10:49.799 --> 00:10:52.639
<v Speaker 2>and you're off and running some cool stuff there. So

210
00:10:52.720 --> 00:10:55.360
<v Speaker 2>this is all Azure, right, Yeah, all the power beised

211
00:10:55.360 --> 00:10:56.879
<v Speaker 2>stuff exists in Azure.

212
00:10:57.000 --> 00:10:59.840
<v Speaker 1>Yeah, everything for this application is it Azure or is

213
00:10:59.879 --> 00:11:00.879
<v Speaker 1>it a hybrid model?

214
00:11:01.639 --> 00:11:04.440
<v Speaker 2>Yeah, everything's Nasu're sorry. Yeah, we have the admin app

215
00:11:04.480 --> 00:11:08.399
<v Speaker 2>and the web app, their apps running in Azure as services. Yeah,

216
00:11:08.440 --> 00:11:11.320
<v Speaker 2>it's yeah. Locally though, of course, I'm I'm you know,

217
00:11:11.440 --> 00:11:14.399
<v Speaker 2>testing on my machine. One interesting thing that they've set

218
00:11:14.480 --> 00:11:16.159
<v Speaker 2>up though, and you just made me think of this,

219
00:11:16.399 --> 00:11:19.960
<v Speaker 2>is this app also uses Cosmos dB a good bit, right,

220
00:11:20.000 --> 00:11:23.159
<v Speaker 2>which is no SQL. You know, that's the simplified it's

221
00:11:23.200 --> 00:11:28.200
<v Speaker 2>no SQL. But we don't have a local developer Cosmos

222
00:11:28.360 --> 00:11:30.960
<v Speaker 2>or SQL server or anything like that. They actually have

223
00:11:31.080 --> 00:11:35.360
<v Speaker 2>it set up inside of Azure to use your local

224
00:11:35.480 --> 00:11:37.879
<v Speaker 2>one two seven zero dot zero dot one, but then

225
00:11:38.039 --> 00:11:41.440
<v Speaker 2>use our staging keys and data and Azure ties that

226
00:11:41.519 --> 00:11:44.720
<v Speaker 2>all in so locally, I can do an F five

227
00:11:44.960 --> 00:11:47.159
<v Speaker 2>spin up my DEV and have access to all the

228
00:11:47.279 --> 00:11:49.720
<v Speaker 2>data in staging locally because they're not.

229
00:11:49.720 --> 00:11:52.919
<v Speaker 1>Using any of the emulators using no.

230
00:11:52.759 --> 00:11:55.279
<v Speaker 2>No. I don't know if it's something that's common in Azure,

231
00:11:55.360 --> 00:11:57.960
<v Speaker 2>but it's something that my coworkers got up and running,

232
00:11:58.039 --> 00:12:01.720
<v Speaker 2>and it makes developments so much simpler, right, because it's

233
00:12:01.720 --> 00:12:03.639
<v Speaker 2>one less thing you have to worry about. It's all

234
00:12:03.840 --> 00:12:04.919
<v Speaker 2>managed somewhere.

235
00:12:04.639 --> 00:12:07.440
<v Speaker 1>Else, right. And the project that I'm using, we started

236
00:12:07.480 --> 00:12:10.000
<v Speaker 1>out using Cosmos TV and we switched over to using

237
00:12:10.279 --> 00:12:13.399
<v Speaker 1>blob storage really as the storage mechanism because it's blob

238
00:12:13.399 --> 00:12:16.159
<v Speaker 1>starts is a lot cheaper than Cosmos. Yeah, but then

239
00:12:16.279 --> 00:12:19.639
<v Speaker 1>we're we're using their emulators for doing local development work.

240
00:12:19.759 --> 00:12:22.120
<v Speaker 2>Okay, yeah, if you want, you and I can talk

241
00:12:22.240 --> 00:12:24.399
<v Speaker 2>more about this offline. But I thought that was interesting.

242
00:12:24.440 --> 00:12:26.879
<v Speaker 2>I was like, Oh, that actually works. He's like yeah, yeah.

243
00:12:27.120 --> 00:12:29.879
<v Speaker 2>The only downside is we don't actually have and maybe

244
00:12:29.919 --> 00:12:32.840
<v Speaker 2>it's not a downside. We don't have a dev environment

245
00:12:33.120 --> 00:12:36.759
<v Speaker 2>for Cosmos or for power for any of that stuff.

246
00:12:36.759 --> 00:12:39.039
<v Speaker 2>We just have a staging and a production and devn

247
00:12:39.159 --> 00:12:42.559
<v Speaker 2>staging use the staging and in our case that actually

248
00:12:42.600 --> 00:12:45.240
<v Speaker 2>works out well because, like you said, this stuff is expensive,

249
00:12:45.399 --> 00:12:47.720
<v Speaker 2>you know, tens of thousands of dollars a month depending

250
00:12:47.720 --> 00:12:48.600
<v Speaker 2>on how you're using it.

251
00:12:49.360 --> 00:12:51.559
<v Speaker 1>Yeah, yeah, it's yeah, it's my project.

252
00:12:51.720 --> 00:12:51.919
<v Speaker 2>You know.

253
00:12:52.159 --> 00:12:55.519
<v Speaker 1>They've they've got week four different environments, you know, devs,

254
00:12:55.639 --> 00:12:59.120
<v Speaker 1>a test stage, and a production type of type thing.

255
00:12:59.600 --> 00:13:02.200
<v Speaker 1>And we're really looking at, you know, what is the

256
00:13:02.200 --> 00:13:05.320
<v Speaker 1>most efficient use and that's why we went to you know,

257
00:13:05.320 --> 00:13:09.559
<v Speaker 1>and we don't need that instant transaction ability that cosmosdb

258
00:13:09.759 --> 00:13:13.279
<v Speaker 1>has that kind of load for the most part. If

259
00:13:13.320 --> 00:13:15.799
<v Speaker 1>something comes to that point, we'll switch and use part

260
00:13:15.879 --> 00:13:19.120
<v Speaker 1>Cosmo dB, but just using blob storage ends up working

261
00:13:19.120 --> 00:13:19.799
<v Speaker 1>out well for us.

262
00:13:19.919 --> 00:13:22.039
<v Speaker 2>Good, right, I guess a lot of it depends on

263
00:13:22.039 --> 00:13:27.559
<v Speaker 2>the client too. Our client is not really concerned about money. Well,

264
00:13:27.600 --> 00:13:29.320
<v Speaker 2>you know, as long as it's not one hundred thousand

265
00:13:29.320 --> 00:13:30.600
<v Speaker 2>dollars a month, they're not contented.

266
00:13:30.639 --> 00:13:32.720
<v Speaker 1>It's good to have clients like that, right, right.

267
00:13:32.840 --> 00:13:34.879
<v Speaker 2>You know, that's actually one of the things my coworker

268
00:13:34.919 --> 00:13:36.600
<v Speaker 2>said when I when I came on there, like, just

269
00:13:36.600 --> 00:13:40.320
<v Speaker 2>so you know, this application is on the bleeding edge, right.

270
00:13:40.360 --> 00:13:43.720
<v Speaker 2>Everything we're doing was either in preview or is still

271
00:13:43.759 --> 00:13:47.559
<v Speaker 2>in preview, and so we're figuring it out as we

272
00:13:47.639 --> 00:13:50.159
<v Speaker 2>go along. But I've been in it now for a month,

273
00:13:50.200 --> 00:13:52.919
<v Speaker 2>and man, it works out well. The guys that I'm

274
00:13:52.919 --> 00:13:55.679
<v Speaker 2>working with are smart, you know, they know what they're doing.

275
00:13:55.759 --> 00:13:57.679
<v Speaker 2>They've you know, you have some red blocks and there's

276
00:13:57.679 --> 00:13:59.960
<v Speaker 2>some things where you cut corners with the client. You come,

277
00:14:00.080 --> 00:14:02.399
<v Speaker 2>I can clean it up, but oh no, it's it's

278
00:14:02.559 --> 00:14:05.000
<v Speaker 2>well built and they've got a lot of the figured out,

279
00:14:05.000 --> 00:14:09.279
<v Speaker 2>a lot of neat ways of utilizing the Microsoft Stack

280
00:14:09.480 --> 00:14:12.320
<v Speaker 2>to benefit us in the client, you know, and have

281
00:14:12.519 --> 00:14:14.360
<v Speaker 2>minimal time on, aren't you And you get a tenant

282
00:14:14.399 --> 00:14:16.759
<v Speaker 2>spin up and it's not it's not a lot of

283
00:14:16.919 --> 00:14:20.440
<v Speaker 2>rigmarole or a whole new application, right, So it's good.

284
00:14:20.600 --> 00:14:22.240
<v Speaker 1>So you like the Bleeding Edge? Is that one of

285
00:14:22.279 --> 00:14:23.879
<v Speaker 1>the things that kind of made you you don't want

286
00:14:23.879 --> 00:14:24.279
<v Speaker 1>to switch?

287
00:14:24.600 --> 00:14:27.039
<v Speaker 2>No, you know I switched because well it was it

288
00:14:27.080 --> 00:14:29.679
<v Speaker 2>was time. You know. I like a challenge, right, Yes,

289
00:14:30.000 --> 00:14:32.360
<v Speaker 2>I do like to push myself and I like figuring

290
00:14:32.399 --> 00:14:34.200
<v Speaker 2>new things out. And I felt like I had kind

291
00:14:34.200 --> 00:14:36.159
<v Speaker 2>of gotten in a bit of a runt, you know,

292
00:14:36.679 --> 00:14:39.840
<v Speaker 2>I've gotten too comfortable in the last job. Bleeding Edge

293
00:14:39.919 --> 00:14:43.440
<v Speaker 2>is nice as long as this not like cut your arteries,

294
00:14:43.440 --> 00:14:46.399
<v Speaker 2>bleeding edge, you know what I mean?

295
00:14:46.960 --> 00:14:48.200
<v Speaker 1>Yeah, I definitely know what you mean.

296
00:14:48.320 --> 00:14:51.399
<v Speaker 2>Yeah, I like bleeding edge as long as it works,

297
00:14:51.559 --> 00:14:54.440
<v Speaker 2>it's production ready and there's enough documentation for me to

298
00:14:54.440 --> 00:14:55.080
<v Speaker 2>figure it out.

299
00:14:55.240 --> 00:14:55.440
<v Speaker 1>Right.

300
00:14:55.559 --> 00:14:58.200
<v Speaker 2>You don't have to be fully baked. It doesn't have

301
00:14:58.320 --> 00:15:01.120
<v Speaker 2>to have you know, one hundreds of pages documentation. I

302
00:15:01.279 --> 00:15:03.879
<v Speaker 2>just you know, you want a minimum, you have a

303
00:15:03.919 --> 00:15:06.360
<v Speaker 2>minimum expectation of what it's going to do in a

304
00:15:06.360 --> 00:15:08.279
<v Speaker 2>production environment, and then you know I can figure it

305
00:15:08.279 --> 00:15:09.159
<v Speaker 2>out from there, right.

306
00:15:09.080 --> 00:15:11.559
<v Speaker 1>Yeah, I gotta prefer to be on the cutting edge,

307
00:15:11.639 --> 00:15:16.559
<v Speaker 1>not the not the bleeding edge, maybe the dull cutting edge.

308
00:15:17.759 --> 00:15:21.919
<v Speaker 2>There you go, right, right, You're beyond web forms right

309
00:15:21.960 --> 00:15:23.480
<v Speaker 2>at least for yep, yep.

310
00:15:23.559 --> 00:15:25.879
<v Speaker 1>I am not working on web forms in my main

311
00:15:25.919 --> 00:15:28.919
<v Speaker 1>position anymore right now. So I still do some side

312
00:15:28.960 --> 00:15:31.039
<v Speaker 1>stuff that I've got to deal with the web forms,

313
00:15:31.080 --> 00:15:33.039
<v Speaker 1>but I'm still trying to get out of those as

314
00:15:33.080 --> 00:15:34.000
<v Speaker 1>quickly as possible.

315
00:15:34.159 --> 00:15:37.399
<v Speaker 2>Yeah. Yeah, but no, it's amazing what you can do

316
00:15:37.759 --> 00:15:39.720
<v Speaker 2>with just the net stack. And I guess you could

317
00:15:39.759 --> 00:15:42.159
<v Speaker 2>really say that about anything, right if someone was a

318
00:15:42.200 --> 00:15:44.879
<v Speaker 2>PHP wizard. It's like, it's amazing what you can do

319
00:15:44.919 --> 00:15:48.480
<v Speaker 2>with PHP, right, But I don't do PHP. But you know,

320
00:15:48.679 --> 00:15:51.440
<v Speaker 2>I think we've talked about this in previous episodes, where

321
00:15:51.519 --> 00:15:54.440
<v Speaker 2>dot net is everywhere, right, and it just keeps, for

322
00:15:54.519 --> 00:15:57.519
<v Speaker 2>lack of a better term, expanding and getting its tendrils

323
00:15:57.600 --> 00:16:01.039
<v Speaker 2>and all these places you wouldn't necessarily expect Blazer, right,

324
00:16:01.480 --> 00:16:05.440
<v Speaker 2>which to me makes the dot net framework that much

325
00:16:05.480 --> 00:16:08.960
<v Speaker 2>more valuable for me, right because it is it is

326
00:16:09.039 --> 00:16:12.240
<v Speaker 2>my primary stack, right, It's it's what I'm the most

327
00:16:12.240 --> 00:16:14.559
<v Speaker 2>familiar with. It's where I have the most experience. And

328
00:16:14.639 --> 00:16:16.440
<v Speaker 2>if I can just continue to bend on that, man,

329
00:16:16.679 --> 00:16:18.440
<v Speaker 2>I'm roman are you doing testing?

330
00:16:18.600 --> 00:16:22.159
<v Speaker 1>Are you doing tests, different development or anything along those lines.

331
00:16:22.279 --> 00:16:24.519
<v Speaker 2>Not yet. Like I said, I think this project has

332
00:16:24.559 --> 00:16:28.399
<v Speaker 2>been too little to bleeding edge. Right. The iterations are

333
00:16:28.440 --> 00:16:31.600
<v Speaker 2>pretty quick, which is good, but right, TDD is something

334
00:16:31.639 --> 00:16:33.960
<v Speaker 2>you need to practice at you you need time to do.

335
00:16:34.679 --> 00:16:37.639
<v Speaker 1>Yeah, I could really speak to that right now my

336
00:16:37.720 --> 00:16:40.080
<v Speaker 1>current project. You know, I haven't done a lot of

337
00:16:40.120 --> 00:16:42.440
<v Speaker 1>testing before, but they really want to do a lot

338
00:16:42.440 --> 00:16:45.120
<v Speaker 1>for this and it's just I'm just finding that, you know,

339
00:16:45.320 --> 00:16:48.639
<v Speaker 1>it takes me three four times as much time writing

340
00:16:48.679 --> 00:16:52.039
<v Speaker 1>all the tests to get the code coverage and all

341
00:16:52.039 --> 00:16:56.559
<v Speaker 1>the different things written, unit tests, integration tests, functional tests.

342
00:16:56.639 --> 00:16:58.799
<v Speaker 1>You know, three or four times I'll spend a day

343
00:16:58.840 --> 00:17:01.480
<v Speaker 1>working on the code and then three or four days

344
00:17:01.559 --> 00:17:03.600
<v Speaker 1>working on the test for that code. It's like, man,

345
00:17:03.639 --> 00:17:06.400
<v Speaker 1>that's a lot overhead, you know, so if you well

346
00:17:07.319 --> 00:17:07.839
<v Speaker 1>make sure.

347
00:17:07.720 --> 00:17:10.279
<v Speaker 2>Over time, it's worth it. Right, as long as they're

348
00:17:10.319 --> 00:17:13.279
<v Speaker 2>good tests, they're not brittle, right, and you're actually you know,

349
00:17:13.480 --> 00:17:17.039
<v Speaker 2>running them and using some kind of right continuous integration,

350
00:17:17.480 --> 00:17:20.640
<v Speaker 2>they're absolutely viable, especially the larger application gets.

351
00:17:20.920 --> 00:17:24.440
<v Speaker 1>Yeah, I'm learning. I'm learning brand new patterns, you know,

352
00:17:24.519 --> 00:17:28.160
<v Speaker 1>for writing code to make things that are testable, because

353
00:17:28.279 --> 00:17:29.960
<v Speaker 1>you know, before in my code, I guess a lot

354
00:17:29.960 --> 00:17:32.240
<v Speaker 1>of thing was probably a little too tightly coupled and

355
00:17:32.279 --> 00:17:34.759
<v Speaker 1>I couldn't break it out and separate it to be tested.

356
00:17:35.000 --> 00:17:36.799
<v Speaker 1>And you can't do that if you want to have

357
00:17:36.880 --> 00:17:37.480
<v Speaker 1>good tests.

358
00:17:37.720 --> 00:17:38.799
<v Speaker 2>Nope, Nope, you cannot.

359
00:17:39.319 --> 00:17:43.640
<v Speaker 1>We're using the mock you framework and we're also using

360
00:17:43.920 --> 00:17:46.759
<v Speaker 1>auto fixture with x units. So these are all new

361
00:17:46.759 --> 00:17:49.799
<v Speaker 1>technologies that I haven't used it before. So it's it's interesting,

362
00:17:50.000 --> 00:17:52.559
<v Speaker 1>but it's just it's right now. It's slow, you know,

363
00:17:52.640 --> 00:17:55.079
<v Speaker 1>trying to figure out how that's done well.

364
00:17:55.119 --> 00:17:57.400
<v Speaker 2>From the sound of you picked all good ones. I've

365
00:17:57.480 --> 00:17:59.519
<v Speaker 2>used all those before as well. For instance, you know,

366
00:17:59.640 --> 00:18:01.599
<v Speaker 2>and you it over ex Unit and in you it

367
00:18:01.680 --> 00:18:03.759
<v Speaker 2>is great. But for for my needs and for the

368
00:18:03.759 --> 00:18:06.119
<v Speaker 2>way I was testing and building things out, ex Unit

369
00:18:06.240 --> 00:18:08.839
<v Speaker 2>was a better fit. So well, I think if you're good,

370
00:18:08.839 --> 00:18:10.960
<v Speaker 2>we'll wrap up for day. We'll make this a short one,

371
00:18:10.960 --> 00:18:13.279
<v Speaker 2>but we'll be back. Guys. Right, we're not going anywhere.

372
00:18:13.359 --> 00:18:15.960
<v Speaker 1>Yeah, we're not going anywhere. It's almost the holiday season.

373
00:18:16.079 --> 00:18:19.240
<v Speaker 1>But we got some guests lined up, so stays tuned. Yep.

374
00:18:19.559 --> 00:18:21.480
<v Speaker 1>Do you want to do picks? I can do it

375
00:18:21.559 --> 00:18:24.319
<v Speaker 1>a quick pick. Okay, I think I'm going to pick

376
00:18:24.480 --> 00:18:28.200
<v Speaker 1>drive in movie theaters. I remember they were. They were

377
00:18:28.319 --> 00:18:30.680
<v Speaker 1>very common when I was a kid. My mom used

378
00:18:30.680 --> 00:18:33.160
<v Speaker 1>to take me and my brother's out to them, things

379
00:18:33.200 --> 00:18:35.759
<v Speaker 1>like that. You know. I also remember being a real

380
00:18:35.799 --> 00:18:38.240
<v Speaker 1>little kid and some friends wanted to go to movies,

381
00:18:38.279 --> 00:18:40.039
<v Speaker 1>and you know, they'd throw me down on the floor

382
00:18:40.079 --> 00:18:42.119
<v Speaker 1>of the car and put a blanket over me so

383
00:18:42.519 --> 00:18:43.519
<v Speaker 1>they don't have to pay for.

384
00:18:43.440 --> 00:18:46.559
<v Speaker 2>Me to get in. Oh yeah, so.

385
00:18:46.680 --> 00:18:48.680
<v Speaker 1>That kind of thing. But you know, it's it's a

386
00:18:48.720 --> 00:18:51.400
<v Speaker 1>way to be social existence in these times and get

387
00:18:51.400 --> 00:18:54.119
<v Speaker 1>out of the house. And watch something entertaining and still

388
00:18:54.119 --> 00:18:55.920
<v Speaker 1>be safe, so good in movie theaters.

389
00:18:56.240 --> 00:18:58.519
<v Speaker 2>Or my pick perfect, Well, my pick is run in

390
00:18:58.599 --> 00:19:01.200
<v Speaker 2>line with what I've been talking about related for work.

391
00:19:01.240 --> 00:19:03.319
<v Speaker 2>Then let me pick out my own PC as long

392
00:19:03.359 --> 00:19:05.720
<v Speaker 2>as it was under two thousand dollars, and I ended

393
00:19:05.839 --> 00:19:09.200
<v Speaker 2>up getting the HP Specter X three sixty and man,

394
00:19:09.279 --> 00:19:13.559
<v Speaker 2>this thing is sweet and the display is ridiculous, so nice. Nice.

395
00:19:13.680 --> 00:19:17.119
<v Speaker 1>I've got two Lenovos and one Dell laptop. Actually have

396
00:19:17.160 --> 00:19:20.240
<v Speaker 1>three Lenovo's, one personal ones for my company that I

397
00:19:20.279 --> 00:19:22.640
<v Speaker 1>work for, the other ones for a company that I'm

398
00:19:22.680 --> 00:19:24.759
<v Speaker 1>working on a project that they got to have you know,

399
00:19:24.880 --> 00:19:26.920
<v Speaker 1>security and things like that, so it's its own laptop.

400
00:19:27.400 --> 00:19:30.240
<v Speaker 1>And then I have a a Dell for another project

401
00:19:30.279 --> 00:19:34.400
<v Speaker 1>they're working on. So I've got two desktops and four

402
00:19:34.480 --> 00:19:37.960
<v Speaker 1>laptops and they're all kind of they're all good. I've

403
00:19:37.960 --> 00:19:40.079
<v Speaker 1>always had good luck with Lenovos, so those are good.

404
00:19:40.119 --> 00:19:42.000
<v Speaker 1>But the Dell that I'm working on has been working

405
00:19:42.160 --> 00:19:44.519
<v Speaker 1>just fine well as well. My desktop. I got an

406
00:19:44.559 --> 00:19:48.039
<v Speaker 1>Alien War PC, so it's really souped up and ready,

407
00:19:48.079 --> 00:19:50.799
<v Speaker 1>and I've got a VR headset on order, so now

408
00:19:51.039 --> 00:19:52.200
<v Speaker 1>trying out some of that stuff.

409
00:19:52.240 --> 00:19:55.559
<v Speaker 2>So well, you can never have too many PCs. That's right.

410
00:19:56.359 --> 00:19:57.079
<v Speaker 1>Don't tell my WF.

411
00:19:57.440 --> 00:20:01.960
<v Speaker 2>Okay, I'll keep it between us, all right, all right, Sean,

412
00:20:02.000 --> 00:20:05.400
<v Speaker 2>thanks Cab, Yeah, thank you, and we'll see y'all later.

413
00:20:05.599 --> 00:20:07.119
<v Speaker 1>Yep. If you want to reach out to show you

414
00:20:07.160 --> 00:20:08.519
<v Speaker 1>want to get in touch with me, get me on

415
00:20:08.559 --> 00:20:12.559
<v Speaker 1>Twitter at dot net superhero. All right, thanks guys, we'll

416
00:20:12.559 --> 00:20:15.920
<v Speaker 1>catch everybody on the next episode of Adventures in dot Net.
