1
00:00:00,960 --> 00:00:02,879
Speaker 1: Hey Richard, Hey Carl, what do you know?

2
00:00:03,120 --> 00:00:06,679
Speaker 2: Well, I know that our friend Michelle Rubusta Monte is

3
00:00:06,719 --> 00:00:08,880
with us to tell us about something that's going on

4
00:00:09,519 --> 00:00:11,199
adjacent to DEV Intersection.

5
00:00:11,240 --> 00:00:15,560
Speaker 1: What is it? It's cybersecurity Intersection. Let's let Michelle tell

6
00:00:15,599 --> 00:00:16,199
that story.

7
00:00:16,679 --> 00:00:21,320
Speaker 3: Hey Michelle, Hey Carl, Hey Richard, how are you.

8
00:00:21,000 --> 00:00:22,839
Speaker 2: Tell us about cybersecurity Intersection?

9
00:00:23,480 --> 00:00:26,920
Speaker 3: Well, so, Richard and I are partnering with the group

10
00:00:27,000 --> 00:00:30,359
that does DEV Intersection and next Gen AI, and we

11
00:00:30,600 --> 00:00:34,200
are putting on a new conference dedicated to one hundred

12
00:00:34,240 --> 00:00:40,000
percent security focused topics. And I mean, honestly, the lineup

13
00:00:40,039 --> 00:00:43,679
of speakers is incredible. We have Paula A. Jenis, who's

14
00:00:43,719 --> 00:00:47,600
here from Poland and does keynotes all over the world

15
00:00:47,719 --> 00:00:50,600
and is one of the top rated RSA speakers and

16
00:00:50,640 --> 00:00:53,159
black hat speaker. We're so lucky to have her. But

17
00:00:53,240 --> 00:00:56,000
she's not only keynoting, she's got a workshop teaches you

18
00:00:56,039 --> 00:01:01,039
about protecting your environments against hackers and shows you about

19
00:01:01,280 --> 00:01:03,719
how to you know, do attacks so that you can

20
00:01:03,759 --> 00:01:07,840
prevent them. It's pretty cool and sessions like that as well.

21
00:01:07,840 --> 00:01:10,799
But we also have speakers from Microsoft. We have we

22
00:01:10,840 --> 00:01:15,120
have speakers that specialize in you know secure coding practices,

23
00:01:15,640 --> 00:01:20,439
Azure security, Zuero, trust architectures on Azure UH and people

24
00:01:20,439 --> 00:01:23,519
who do decision maker tracks, so things around governance policy

25
00:01:23,560 --> 00:01:26,200
and you know how to how to manage and your

26
00:01:26,200 --> 00:01:29,480
production operations keep them secure. So it's an amazing group

27
00:01:29,519 --> 00:01:31,040
of speakers, really excited about it.

28
00:01:31,120 --> 00:01:33,560
Speaker 2: And I think I can count myself among the group

29
00:01:33,599 --> 00:01:34,599
of speakers there.

30
00:01:35,040 --> 00:01:37,079
Speaker 3: Well, yes you can, that is right.

31
00:01:37,480 --> 00:01:42,159
Speaker 2: Yeah, I'm doing a securing Blazer Server applications talk and

32
00:01:42,239 --> 00:01:45,959
also I think we're doing a Security this Week live

33
00:01:46,040 --> 00:01:48,480
show there somewhere that is correct.

34
00:01:48,719 --> 00:01:51,200
Speaker 3: Yeah, we'll be recording Security this Week live. We're going

35
00:01:51,239 --> 00:01:54,719
to have a great panel with some folks. The interesting

36
00:01:54,719 --> 00:01:57,920
thing here is we don't really have a Microsoft and

37
00:01:58,000 --> 00:02:02,120
dot net and Azure focused toecurity conference yet, so that's

38
00:02:02,159 --> 00:02:05,159
the reason we're putting this on as well. You know

39
00:02:05,200 --> 00:02:08,280
there are other security conferences, but they have a spread

40
00:02:08,280 --> 00:02:10,439
of topics that maybe don't focus on the things you

41
00:02:10,520 --> 00:02:13,080
do day to day. And you know this overlaps with

42
00:02:13,199 --> 00:02:17,560
again our community of folks that specialize in again dot net,

43
00:02:17,680 --> 00:02:21,039
Azure and yeah, they need to keep it secure too,

44
00:02:21,280 --> 00:02:22,840
So with tons of talks.

45
00:02:23,719 --> 00:02:27,240
Speaker 1: Cyber Intersection is part of a trio of conferences we're doing.

46
00:02:27,280 --> 00:02:30,360
They have Intersection alongside the next Gen AI Conference all

47
00:02:30,439 --> 00:02:34,680
in Orlando the week of October fifth through tenth. That's

48
00:02:34,759 --> 00:02:38,080
workshops and the main conference. And you can get a

49
00:02:38,120 --> 00:02:41,400
special registration code if you sign up through Cybersecurity Intersection

50
00:02:41,639 --> 00:02:42,360
dot com.

51
00:02:42,680 --> 00:02:47,400
Speaker 3: Yeah, so if you sign up at Cybersecurity Intersection dot com,

52
00:02:47,599 --> 00:02:52,520
then you put in this code, so Alliance cyber three

53
00:02:52,599 --> 00:02:56,319
hundred and you'll get three hundred off the entry price.

54
00:02:56,560 --> 00:02:59,680
So that's a special code that only works at cybersecurity

55
00:03:00,599 --> 00:03:04,439
dot com. And then you have access to all the conferences.

56
00:03:04,479 --> 00:03:09,400
Speaker 2: Like Richard said, Wow, that's cool. Thanks Michelle. I'm looking

57
00:03:09,439 --> 00:03:24,199
forward to it and I'll see you there. Hey, watch

58
00:03:24,199 --> 00:03:27,479
out for falling rocks. Nice, it's dot NetRocks. Watch out

59
00:03:27,520 --> 00:03:31,960
for falling dot NetRocks. I'm Carl Franklin.

60
00:03:31,520 --> 00:03:32,520
Speaker 1: And I'm Richard Campbell.

61
00:03:32,639 --> 00:03:36,240
Speaker 2: We're here for your listening pleasure again. On episode nineteen

62
00:03:36,479 --> 00:03:41,280
sixty seven, this is the year we were born. Yeah,

63
00:03:41,520 --> 00:03:47,080
and my wife then ye yeah, and a lot of

64
00:03:47,240 --> 00:03:49,479
cool things happen. Should we do better know framework first

65
00:03:49,479 --> 00:03:52,159
and then do what happened in nineteen sixty seven? Or

66
00:03:52,319 --> 00:03:55,400
should we Yeah, let's do that all right, don't mess

67
00:03:55,439 --> 00:03:56,879
with the pattern, roll the music.

68
00:04:05,080 --> 00:04:05,560
Speaker 1: What do you got?

69
00:04:05,599 --> 00:04:08,439
Speaker 2: I have something intriguing that I have not used, but

70
00:04:08,719 --> 00:04:10,479
you know, I like to look and see what's trending

71
00:04:10,479 --> 00:04:14,280
on GitHub and this one is a tool that lets

72
00:04:14,280 --> 00:04:17,279
you run Windows in a Docker container.

73
00:04:17,480 --> 00:04:18,879
Speaker 1: Oh far Oh.

74
00:04:18,480 --> 00:04:23,800
Speaker 2: It's docer doc k u r slash Windows on GitHub.

75
00:04:24,000 --> 00:04:26,199
Speaker 1: And let me pull the classic And why would you

76
00:04:26,279 --> 00:04:26,560
do that?

77
00:04:26,639 --> 00:04:28,759
Speaker 2: Why would you ever want to do that? Yeah? Why

78
00:04:28,759 --> 00:04:30,199
would you want to do that? I'll tell you what.

79
00:04:30,279 --> 00:04:32,240
The only reason I could see doing that is the

80
00:04:32,240 --> 00:04:36,839
same reason i'd want to VM, which is complete and encapsulation.

81
00:04:36,920 --> 00:04:40,120
But I would probably want to do it for security reasons,

82
00:04:40,680 --> 00:04:44,079
you know, like I want to move all my email

83
00:04:44,160 --> 00:04:47,240
reading stuff over there. But in order to do that,

84
00:04:47,319 --> 00:04:51,079
you really have to turn off network access, well local

85
00:04:51,240 --> 00:04:53,160
network access, you have to limit it.

86
00:04:53,399 --> 00:04:55,399
Speaker 1: You can do that sort of stuff with virtual desktop too,

87
00:04:55,399 --> 00:04:57,439
if you would, if it's just for that interaction. Yeah,

88
00:04:57,560 --> 00:05:00,360
you know. I funny do you bring this up. Timing's

89
00:05:00,360 --> 00:05:02,720
impeccable as usual, mister Franklin, because I was just having

90
00:05:02,720 --> 00:05:06,120
to chat about the origins of virtualization, realizing you know,

91
00:05:06,160 --> 00:05:11,800
back in the day I was using virtualization for testing installs. Right,

92
00:05:11,879 --> 00:05:14,920
we'd have a baseline. This is the current configuration of

93
00:05:14,920 --> 00:05:16,879
the machine at the company. We're gonna put the new

94
00:05:16,920 --> 00:05:19,279
version on. Let's install it. Make sure it doesn't break anything.

95
00:05:19,319 --> 00:05:21,920
This is back in DLL hell days, right, And when

96
00:05:21,920 --> 00:05:24,800
it did you could use because you were in virtual machine.

97
00:05:24,800 --> 00:05:28,079
You just rolled back to the state before tweaked the install,

98
00:05:28,160 --> 00:05:30,079
figure out what you did, made mistake you and try

99
00:05:30,120 --> 00:05:32,480
it again. Like it was a great testing platform. And

100
00:05:32,519 --> 00:05:35,000
this is like a cool way to approach that problem.

101
00:05:35,040 --> 00:05:37,319
Not that we have those kinds of DLL hells anymore.

102
00:05:37,360 --> 00:05:40,199
Now we have new and extra special DLL health. Is

103
00:05:40,240 --> 00:05:42,040
there such a thing as doctor Hell. I don't know,

104
00:05:43,000 --> 00:05:44,639
Maybe it's I don't know there was doctor help, but

105
00:05:44,639 --> 00:05:47,240
it's definitely new get help and yamel hell. I think

106
00:05:47,399 --> 00:05:49,839
everybody on those of this show knows about new get hell. Yeah.

107
00:05:49,920 --> 00:05:54,319
Speaker 2: Yeah, yeah, so it's interesting. I would want to, like,

108
00:05:54,360 --> 00:05:57,040
I say, use it for security reasons. Vms are great,

109
00:05:57,079 --> 00:05:58,879
but you know they can be slow, and if they're

110
00:05:58,920 --> 00:06:00,360
not slow, they're expensive and.

111
00:06:00,800 --> 00:06:03,519
Speaker 1: They're big, big, big bulky, Like this is just a

112
00:06:03,839 --> 00:06:04,759
lean way to do this.

113
00:06:05,360 --> 00:06:07,879
Speaker 2: Yeah, And you use RDP to connect to it, and

114
00:06:07,959 --> 00:06:10,240
so it's pretty cool. But I'd just like to see

115
00:06:10,240 --> 00:06:12,879
if I could lock it down and you know, use

116
00:06:12,920 --> 00:06:15,839
it for Internet browsing and email and all those things.

117
00:06:15,879 --> 00:06:16,759
Speaker 1: So interesting.

118
00:06:16,879 --> 00:06:20,399
Speaker 2: If I do get phished, you know, I'm not going

119
00:06:20,439 --> 00:06:23,399
to get ransomwared. That's that's why I would want to use.

120
00:06:23,360 --> 00:06:24,839
Speaker 1: It, right, or you are, but it's just going to

121
00:06:24,879 --> 00:06:26,360
be on a machine that you don't have anything important on,

122
00:06:26,480 --> 00:06:28,279
so you don't care. Just pave it and go again.

123
00:06:28,759 --> 00:06:29,720
Speaker 2: Yeah yeah, or you.

124
00:06:29,720 --> 00:06:32,000
Speaker 1: Don't even have to pave it. You just rebuild the

125
00:06:32,000 --> 00:06:34,199
container and to help you go.

126
00:06:34,439 --> 00:06:38,480
Speaker 2: Right, yeah, yeah, so long as it doesn't touch your

127
00:06:38,839 --> 00:06:40,639
discs and your you know, well.

128
00:06:40,439 --> 00:06:41,959
Speaker 1: You give it a yeah, he got no rights to

129
00:06:42,000 --> 00:06:42,439
anything else.

130
00:06:42,480 --> 00:06:45,240
Speaker 2: Give it an area of the disk, and give it

131
00:06:45,560 --> 00:06:46,399
limited network.

132
00:06:46,439 --> 00:06:48,439
Speaker 1: No, it's living in that little space. You put it

133
00:06:48,480 --> 00:06:50,879
on its own virtual network, so it only can communicate

134
00:06:50,920 --> 00:06:53,199
the Internet, nothing else in your network. Like, yeah, we've

135
00:06:53,199 --> 00:06:56,120
done all this. This is good honeypot testing and black

136
00:06:56,160 --> 00:06:58,000
app testing, like this is where you do this stuff.

137
00:06:58,040 --> 00:06:58,639
It's cool idea.

138
00:06:58,680 --> 00:07:00,240
Speaker 2: So it's cool. I'm going to talk to Doane and

139
00:07:00,279 --> 00:07:02,959
Patrick about that on the next security this week. But yeah,

140
00:07:03,040 --> 00:07:05,480
that's what I got. So who's talking to us.

141
00:07:05,560 --> 00:07:08,360
Speaker 1: Richard grabbed a comment off a show from fifteen sixty

142
00:07:08,480 --> 00:07:10,480
going back a few years. It's from July of twenty

143
00:07:10,519 --> 00:07:12,720
eighteen with one Mads Christensen. Maybe you've heard him and

144
00:07:12,720 --> 00:07:15,839
can't wear his glasses very well when we're talking about

145
00:07:15,839 --> 00:07:19,199
writing visual studio extensions, I'm talking about his headshot because

146
00:07:19,199 --> 00:07:21,399
he's got this headshot with his glasses all askew, which

147
00:07:21,439 --> 00:07:24,600
is hilarious inside joke. And admittedly this is a few

148
00:07:24,639 --> 00:07:26,879
years ago, so this is a comment from Scott Hirstell

149
00:07:27,480 --> 00:07:29,920
who said, holy smokes. After listening to this episode, I

150
00:07:30,000 --> 00:07:32,879
took a dive into the visual studio marketplace to see

151
00:07:32,920 --> 00:07:35,480
what kinds of extensions were available, and after hearing about

152
00:07:35,480 --> 00:07:38,680
the image optimizer on the show, Thank you Mads, I

153
00:07:38,680 --> 00:07:40,439
figured i'd give web Essentials a shot. One of the

154
00:07:40,439 --> 00:07:42,399
most satisfying things about this tool was the ability to

155
00:07:42,399 --> 00:07:45,279
save my files and have the browser automatically reload so

156
00:07:45,319 --> 00:07:47,720
I can check out my changes. There are so many

157
00:07:47,720 --> 00:07:50,920
goodies and web Essentials, thank you for your excellent work.

158
00:07:51,279 --> 00:07:54,000
Oh and Fartacus is pretty good too. Everybody at the

159
00:07:54,000 --> 00:07:55,920
officer you get a kick out of that one was

160
00:07:55,959 --> 00:07:58,399
this from the era of the fart app was that

161
00:07:58,439 --> 00:07:59,480
what Fardacus was.

162
00:07:59,720 --> 00:08:04,199
Speaker 4: Yeah, the part is the original fart app for visual studio.

163
00:08:04,920 --> 00:08:06,920
Speaker 2: So like you press a control key and it goes

164
00:08:07,480 --> 00:08:08,319
or something or.

165
00:08:08,360 --> 00:08:10,240
Speaker 4: Well, of course there's a hot key, but you can

166
00:08:10,279 --> 00:08:13,319
also you set it up so that when the build fails.

167
00:08:13,319 --> 00:08:16,480
Speaker 1: Ah, it's that or sad trombone, right.

168
00:08:18,480 --> 00:08:20,519
Speaker 4: There are some forks of it that does like you know,

169
00:08:20,959 --> 00:08:22,360
Homer Simpson kind of.

170
00:08:22,319 --> 00:08:26,279
Speaker 1: Oh yeah and stuff. I remember setting up a rig

171
00:08:26,759 --> 00:08:29,360
where when the build failed, it turned on a red

172
00:08:29,399 --> 00:08:33,000
flashing light and everybody on the team had nerf guns

173
00:08:33,039 --> 00:08:34,480
and you all shot the guy who wrote the bell.

174
00:08:35,759 --> 00:08:38,840
It's nice, yeah, Scott, thank you so much. Here comment

175
00:08:38,879 --> 00:08:40,399
and a copy of music Goby is on its way

176
00:08:40,440 --> 00:08:41,879
to you. And if you'd like a copy of music Cobe,

177
00:08:41,919 --> 00:08:43,799
I write a comment on the website at dot NetRocks

178
00:08:43,799 --> 00:08:45,639
dot com or on Facebook, so you publish every show

179
00:08:45,679 --> 00:08:47,200
there and if you comment there and I read it

180
00:08:47,200 --> 00:08:48,200
on the show, we'll send you a copy.

181
00:08:48,279 --> 00:08:50,519
Speaker 2: Music go by and we're talking about music to Code by,

182
00:08:50,559 --> 00:08:52,559
which you can get at music to Code by dot net.

183
00:08:52,600 --> 00:08:57,200
We have twenty two tracks all in MP three flack

184
00:08:57,480 --> 00:09:04,039
or wave format, helping people write code since twenty sixteen.

185
00:09:04,120 --> 00:09:07,399
I can't remember when I started it, but anyway, that's it.

186
00:09:08,360 --> 00:09:10,360
So let's talk about nineteen sixty seven. Brother.

187
00:09:10,440 --> 00:09:11,600
Speaker 1: All right, dude, where do you want to go?

188
00:09:11,679 --> 00:09:13,279
Speaker 2: Well, first of all, we were born that year.

189
00:09:13,360 --> 00:09:16,399
Speaker 1: My wife is born that year. That's ye happened.

190
00:09:16,440 --> 00:09:20,120
Speaker 2: But one thing that's really important to me is this

191
00:09:20,200 --> 00:09:22,720
is when Sergeant Peppers was released.

192
00:09:22,960 --> 00:09:24,480
Speaker 1: Yeah, right, that's true.

193
00:09:24,639 --> 00:09:28,120
Speaker 2: One of the most iconic rock albums of all time.

194
00:09:28,279 --> 00:09:30,759
Speaker 1: It was also a transformative album for the Beatles too,

195
00:09:30,919 --> 00:09:32,559
like it was a very different style.

196
00:09:32,720 --> 00:09:34,440
Speaker 2: Well, they were sort of in a rut. I remember

197
00:09:34,480 --> 00:09:36,840
Paul McCartney talking about this. They were in a rut

198
00:09:37,399 --> 00:09:40,480
in Beatlemania, you know, and they wanted to break out

199
00:09:40,519 --> 00:09:44,200
of the mop top kind of image and they were

200
00:09:44,240 --> 00:09:46,799
just beside themselves. They're like, well, this is who we are.

201
00:09:47,360 --> 00:09:49,960
And Paul came up with the idea and he said,

202
00:09:50,519 --> 00:09:53,759
what if we just put on these personas and we

203
00:09:53,879 --> 00:09:57,960
wrote music from the perspective of these guys rather than

204
00:09:58,000 --> 00:10:02,240
the Beatles, Right, So looks end and it was really

205
00:10:02,320 --> 00:10:05,440
good and it broke them through. That broke them through

206
00:10:05,480 --> 00:10:09,440
their issues. So other things that happen. Of course, it

207
00:10:09,519 --> 00:10:12,720
was the summer of Love Right the Human Being in

208
00:10:12,759 --> 00:10:16,360
San Francisco on January fourteenth marked the beginning of the

209
00:10:16,399 --> 00:10:20,000
Summer of Love, attracting over two twenty thousand people celebrating

210
00:10:20,000 --> 00:10:24,879
piece of music. Vietnam War, Lynn and Johnson requested more

211
00:10:24,879 --> 00:10:26,960
funding for the Vietnam War during his State of the

212
00:10:27,039 --> 00:10:31,279
Union of Dress on January tenth. Civil Rights Thirdgod Marshall

213
00:10:31,399 --> 00:10:33,799
was confirmed as the first Black Supreme Court justice on

214
00:10:33,799 --> 00:10:38,559
August thirty, big significant milestone. I'll let you talk about

215
00:10:38,559 --> 00:10:42,279
science and space, but sure, yeah. I think Jack Ruby

216
00:10:42,360 --> 00:10:46,519
was shot on January third. I think you're a year

217
00:10:46,600 --> 00:10:50,039
too far ahead. Oh really yeah, Oh Jack Ruby's death.

218
00:10:51,240 --> 00:10:55,240
Jack Ruby, who killed Lee Harvey Oswald, died on January third. Yeah,

219
00:10:55,279 --> 00:10:57,759
so he died that year. It wasn't he didn't get shot.

220
00:10:58,600 --> 00:11:01,399
I had that backwards. What happened in space and tech?

221
00:11:01,759 --> 00:11:03,840
Speaker 1: There's all the time. There's a lot of stuff coming

222
00:11:03,879 --> 00:11:06,879
in tech at this point, like the you know, we're

223
00:11:06,919 --> 00:11:09,240
only a year or two away from arpinnet becoming real,

224
00:11:09,399 --> 00:11:12,320
so we're just we're just getting going there. But the

225
00:11:12,440 --> 00:11:17,360
language logo is first published in nineteen sixty seven. While

226
00:11:17,360 --> 00:11:20,399
if You're say gets say more, Pact and Cynthia Solomon.

227
00:11:20,440 --> 00:11:22,360
They were working for a company called BBN, who was

228
00:11:22,440 --> 00:11:26,279
also a central part of Arpanet. Sorry, the dog, after

229
00:11:26,559 --> 00:11:28,559
being silent for hours, has decided to bark.

230
00:11:28,600 --> 00:11:30,720
Speaker 2: Now, Oh that's all right. We have to be real

231
00:11:30,759 --> 00:11:33,240
once in a while, don't we. Yeah, little dog bark

232
00:11:33,320 --> 00:11:37,120
never heard anybody. It was logo and a particular type

233
00:11:37,120 --> 00:11:40,720
of language like function, functional or procedural or.

234
00:11:40,720 --> 00:11:45,840
Speaker 1: It was a it was a It was an interpreted language.

235
00:11:45,879 --> 00:11:48,879
And this is where turtle graphics came from, like sort

236
00:11:48,919 --> 00:11:53,759
of vector draw on the screen. Right, Yeah, it's turtle basic. Yeah, well,

237
00:11:53,799 --> 00:11:56,879
turtle basics another thing. But this was a turtle logo.

238
00:11:56,960 --> 00:12:00,200
You used turtle graphics as much graphics. We suppose to

239
00:12:00,240 --> 00:12:02,759
be the term they called it logo from the Greek

240
00:12:02,919 --> 00:12:06,039
logos for word or thought.

241
00:12:06,799 --> 00:12:10,320
Speaker 2: Interesting. So anything in space yeah.

242
00:12:09,960 --> 00:12:13,840
Speaker 1: Well yeah. This is the year of the most launches

243
00:12:14,000 --> 00:12:18,799
in history until twenty twenty one until SpaceX blows the

244
00:12:18,840 --> 00:12:21,440
record out one hundred and seventy two launches during the

245
00:12:21,519 --> 00:12:23,759
Soviet Union and the United States.

246
00:12:24,000 --> 00:12:24,279
Speaker 2: Wow.

247
00:12:24,799 --> 00:12:28,279
Speaker 1: It's also the year of the Apollo one fire. In January,

248
00:12:28,519 --> 00:12:32,240
chrisdom and White and Chaffee lose their lives in a

249
00:12:32,279 --> 00:12:36,080
plugs out test on the stand and stops the Apollo program.

250
00:12:36,200 --> 00:12:36,399
Speaker 4: Wow.

251
00:12:36,519 --> 00:12:38,720
Speaker 1: For some time as they figure out the mistakes that

252
00:12:38,759 --> 00:12:40,960
they were making. There was wiring problems. They were using

253
00:12:40,960 --> 00:12:44,559
a pure auction environment, which created more risk. But it's

254
00:12:44,600 --> 00:12:47,519
also the year that they fly for surveyors, which were

255
00:12:47,600 --> 00:12:50,840
the robotic landers for the Moon, three of which will

256
00:12:50,879 --> 00:12:53,000
landsafe on the Moon. The fourth will make a what

257
00:12:53,039 --> 00:13:00,120
they call vigorous land. Also, so use one flies if

258
00:13:00,360 --> 00:13:05,120
the first Soyuz flies with a single cosmonaut, Vladimir Komarov,

259
00:13:05,120 --> 00:13:07,559
who will also lose his life after a day in

260
00:13:07,639 --> 00:13:09,960
space on the way down, the parachute on his re

261
00:13:10,080 --> 00:13:14,879
entry module failed. Any bomb did not survive, and the

262
00:13:14,960 --> 00:13:18,919
Soviets successfully get the Venera four mission after several tries

263
00:13:18,960 --> 00:13:22,799
to Venus and it lasts about ninety minutes before it melts.

264
00:13:22,879 --> 00:13:25,720
Speaker 2: Yeah, what were they thinking, Hey, let's go to Venus.

265
00:13:26,159 --> 00:13:28,519
Speaker 1: Well, now they were trying to You know, they taught

266
00:13:28,600 --> 00:13:32,200
us a lot. The Soviets are the only nation to

267
00:13:32,200 --> 00:13:34,879
ever land anything successfully on Venus. Oh, they did land,

268
00:13:35,159 --> 00:13:37,519
but you know, it lasted a while. It's very tough.

269
00:13:37,519 --> 00:13:39,679
Conditions are very very hot, high pressure there.

270
00:13:39,799 --> 00:13:40,000
Speaker 2: Wow.

271
00:13:40,440 --> 00:13:42,960
Speaker 1: And finally by the end of the year they ratify

272
00:13:43,120 --> 00:13:47,159
the Outer Space Treaty, which is especially contrapuntal today now

273
00:13:47,240 --> 00:13:49,720
because this is the treaty that says you can't own

274
00:13:49,799 --> 00:13:53,759
the Moon and no weapons in space and don't go

275
00:13:54,000 --> 00:13:56,639
setting off nukes on the moon, which is one of

276
00:13:56,639 --> 00:14:00,519
the American things. Americans considered doing was to test a

277
00:14:00,559 --> 00:14:03,320
nuclear upon on the Moon. So that doesn't happen, and

278
00:14:03,360 --> 00:14:04,879
the out of space were you're supposed to stop all that.

279
00:14:04,960 --> 00:14:06,960
Now there's a conversation about does this treaty still make

280
00:14:07,000 --> 00:14:08,960
sense because it's from nineteen sixty seven. It's a long

281
00:14:09,000 --> 00:14:11,679
time ago, and now that we're actually talking about utilizing

282
00:14:11,720 --> 00:14:14,120
resources on the moon, how do we make this work?

283
00:14:14,639 --> 00:14:17,919
Speaker 2: Very cool? Yeah, good stuff. I think this year's geekout

284
00:14:17,960 --> 00:14:20,039
is going to be really good. Are the geek outs?

285
00:14:21,120 --> 00:14:23,639
Speaker 1: Yeah, there's going to be a few geekouts, including when

286
00:14:23,799 --> 00:14:26,440
after this, when this show is published, I'll have already

287
00:14:26,440 --> 00:14:30,320
taken a tour of Copenhagen Atomics thorium reactors, so oh wow,

288
00:14:30,399 --> 00:14:33,200
Either I'll be dead or I'll have a phenomenal interview

289
00:14:33,200 --> 00:14:35,919
with their team talking about building thorium right, or both.

290
00:14:36,559 --> 00:14:42,200
As it turns out, you'll publish it posthumously, right, I'll

291
00:14:42,679 --> 00:14:45,679
actually there's no They're in Denmark and Denmark does not

292
00:14:45,759 --> 00:14:49,039
allow nuclear reactors, so what a great place to build one. Yeah,

293
00:14:49,360 --> 00:14:51,000
and so what I don't have a whole lot of

294
00:14:51,080 --> 00:14:53,639
risk there. They're actually making it portable enough that they're

295
00:14:53,639 --> 00:14:57,279
going to take it to Switzerland to operate it as

296
00:14:57,279 --> 00:14:59,240
a test run. Then they're allowed to bring it back

297
00:14:59,279 --> 00:15:02,279
as long as it's not operating and do some tests

298
00:15:02,720 --> 00:15:05,320
evaluations of it. So that's what's going to be good

299
00:15:05,519 --> 00:15:07,960
with that. But yeah, no exciting times. Don't worry the fall.

300
00:15:08,240 --> 00:15:10,159
This winter's geek outs will be big, yeah, and there

301
00:15:10,159 --> 00:15:11,120
may be a few extra ones.

302
00:15:11,200 --> 00:15:13,279
Speaker 2: Yeah, all right, and with that, let's bring on Mads.

303
00:15:13,480 --> 00:15:16,279
Mads Christiansen is a program manager on the Visual Studio

304
00:15:16,320 --> 00:15:19,399
team at Microsoft, with the privilege to work with the

305
00:15:19,559 --> 00:15:24,320
extension community and ecosystem. He's an avid extension writer himself,

306
00:15:24,360 --> 00:15:27,919
with over one hundred published extensions to Visual Studio Marketplace.

307
00:15:28,279 --> 00:15:31,440
Before joining Microsoft, he spent a decade as a web developer,

308
00:15:31,519 --> 00:15:35,039
working at both startups and enterprise companies. His wife and

309
00:15:35,120 --> 00:15:38,200
two young sons all enjoy and support his adventures in

310
00:15:38,279 --> 00:15:40,879
the world of home automation. Welcome back mads.

311
00:15:41,039 --> 00:15:42,799
Speaker 4: Hey, guys, glad to be here.

312
00:15:42,879 --> 00:15:44,679
Speaker 2: You mad extension writer. You.

313
00:15:45,200 --> 00:15:48,000
Speaker 1: I think we're over two hundred now, wow, crazy, got

314
00:15:48,000 --> 00:15:50,360
to update your bios. You are the marketplace, sir.

315
00:15:51,960 --> 00:15:52,480
Speaker 2: That's right.

316
00:15:53,480 --> 00:15:56,519
Speaker 4: Yeah, I don't know. There's a lot of extensions out there.

317
00:15:56,480 --> 00:15:58,879
Speaker 2: So far be it from me to use dot net

318
00:15:59,000 --> 00:16:01,360
rocks as a place where I can get a personal

319
00:16:01,399 --> 00:16:04,240
answer about some feature that I want in visual studio.

320
00:16:04,480 --> 00:16:05,639
But I'm going to do it anyway.

321
00:16:05,720 --> 00:16:06,399
Speaker 4: Yeah, go ahead.

322
00:16:06,639 --> 00:16:09,879
Speaker 2: So I've noticed, you know, I'm a Blazer developer mostly,

323
00:16:10,559 --> 00:16:13,879
and when I'm building a web application, I noticed that

324
00:16:14,399 --> 00:16:19,120
every time I hit play, the position and size of

325
00:16:19,200 --> 00:16:24,039
the browser that comes up is automatically set something to

326
00:16:24,120 --> 00:16:28,200
where the last browser window that had focus is. And

327
00:16:28,240 --> 00:16:31,360
it drives me absolutely nuts. And because you know, I've

328
00:16:31,399 --> 00:16:33,919
got windows all over the place, and if I click

329
00:16:33,960 --> 00:16:36,519
on the one to mute the TV that I'm watching,

330
00:16:36,919 --> 00:16:39,039
and then I go back and press play, now it's

331
00:16:39,159 --> 00:16:42,879
over the TV window, right. So I wanted to know

332
00:16:42,919 --> 00:16:46,879
if there's an extension that you've created to automatically set

333
00:16:46,879 --> 00:16:49,039
the position and location of a browser every time you

334
00:16:49,120 --> 00:16:49,440
run it.

335
00:16:49,679 --> 00:16:53,320
Speaker 4: Well, no, I have not written anything for it, but

336
00:16:53,759 --> 00:16:56,919
this is I don't know how this is, like it

337
00:16:56,960 --> 00:16:58,600
happens to me too when it has nothing to do

338
00:16:58,600 --> 00:17:01,879
with Mitchell Studio. Right, but if you have multiple you know,

339
00:17:02,000 --> 00:17:04,200
edge browsers open, you have one for your work account

340
00:17:04,240 --> 00:17:06,200
and one for your private or whatever, right, and you

341
00:17:06,279 --> 00:17:08,480
then click a link and outlook, Yeah, it will open

342
00:17:08,559 --> 00:17:10,279
it in the last browser you had active.

343
00:17:10,440 --> 00:17:13,359
Speaker 2: Yeah, so it's a browser thing. But surely there must

344
00:17:13,400 --> 00:17:16,039
be a way to tell the browser. Yeah, open it here,

345
00:17:16,240 --> 00:17:17,559
like in JavaScript or something.

346
00:17:17,680 --> 00:17:19,599
Speaker 4: Yeah, and really you don't want to even doc that,

347
00:17:20,000 --> 00:17:23,200
you know, the tap It should just be its own thing, right, Yeah? Yeah,

348
00:17:23,920 --> 00:17:25,640
did you? I don't. I don't know if we I've

349
00:17:25,680 --> 00:17:28,319
never seen this request before, but that doesn't mean it

350
00:17:28,319 --> 00:17:30,960
doesn't exist. If it does exist, you should vote for

351
00:17:31,000 --> 00:17:31,759
it or create it.

352
00:17:31,799 --> 00:17:34,160
Speaker 2: I entered it as a suggestion in the Visual Studio.

353
00:17:34,319 --> 00:17:37,000
There's a link too. Yeah I did that. I haven't

354
00:17:37,000 --> 00:17:39,200
heard back yet. I just didn't know. I went looking

355
00:17:39,279 --> 00:17:41,039
and I didn't see anything. But I figured, you know,

356
00:17:41,079 --> 00:17:43,519
if anybody knows Mad's nos, Yeah, so.

357
00:17:43,599 --> 00:17:45,400
Speaker 4: Make sure you put a link in so that everyone,

358
00:17:45,440 --> 00:17:46,799
any listener can go and vote.

359
00:17:46,599 --> 00:17:50,240
Speaker 1: For There you go, Yeah, leverage leverage the podcast friend

360
00:17:50,759 --> 00:17:52,519
if you get it voted up to the top, you know,

361
00:17:52,559 --> 00:17:54,480
then they're they're going to talk about it. Oh yeah,

362
00:17:54,519 --> 00:17:56,599
that's cool, that is their priority list.

363
00:17:56,680 --> 00:17:59,759
Speaker 4: Yeah, well, we don't know. Sometimes you see something like

364
00:17:59,799 --> 00:18:02,119
this and you think, oh, yeah, this is not going

365
00:18:02,200 --> 00:18:03,880
to be that hard to do, right, Yeah, and then

366
00:18:03,920 --> 00:18:06,400
it turns out it's really really hard to do. Right.

367
00:18:06,400 --> 00:18:08,519
So even though you are able to vote something up

368
00:18:08,519 --> 00:18:11,119
to the top, that doesn't guarantee that we can do

369
00:18:11,160 --> 00:18:13,079
it if it's like really expensive.

370
00:18:13,000 --> 00:18:15,559
Speaker 1: Right, or or we don't know how well, and you

371
00:18:15,599 --> 00:18:18,240
always have the niche problem, right, like a certain group

372
00:18:18,279 --> 00:18:20,599
of people really want this, but it represents a tiny

373
00:18:20,640 --> 00:18:23,720
amount of the customer base, Like there's always got to

374
00:18:23,759 --> 00:18:26,000
be a waiting on those kinds of Well, it depends.

375
00:18:26,000 --> 00:18:27,880
Speaker 2: I think it's one of those features that people don't

376
00:18:27,920 --> 00:18:30,880
know they need it until they get frustrated enough and

377
00:18:30,920 --> 00:18:32,880
say what the heck right exactly?

378
00:18:33,400 --> 00:18:35,440
Speaker 4: And we usually say that, you know, one vote or

379
00:18:35,480 --> 00:18:38,599
one bug represent a thousand people.

380
00:18:39,119 --> 00:18:40,680
Speaker 1: Yeah, so yeah, it won't.

381
00:18:40,720 --> 00:18:43,039
Speaker 4: It doesn't have that many people like or it's a

382
00:18:43,039 --> 00:18:46,000
small niche. Let's say it's only five percent of you know,

383
00:18:46,079 --> 00:18:48,519
Visual Studios user base or whatever, but that's still like

384
00:18:48,640 --> 00:18:53,359
hundreds of thousands of people, right right, So it's important

385
00:18:53,359 --> 00:18:55,359
that you know even the small things are big just

386
00:18:55,359 --> 00:18:58,599
because we're dealing with like millions of monthly active users,

387
00:18:58,680 --> 00:18:59,480
right right right.

388
00:18:59,880 --> 00:19:02,440
Speaker 2: I heard that you guys are I don't know who

389
00:19:02,480 --> 00:19:06,160
you guys is, but Microsoft engineers are required to look

390
00:19:06,160 --> 00:19:09,240
at that list twice a week and actually look at

391
00:19:09,240 --> 00:19:11,119
all the new suggestions.

392
00:19:11,640 --> 00:19:14,680
Speaker 4: Yeah we so we don't really have a requirement for that,

393
00:19:15,000 --> 00:19:19,759
but we are required to fix any high important bugs

394
00:19:19,799 --> 00:19:22,279
like P one' or P two priority one or zero

395
00:19:22,400 --> 00:19:25,559
bugs okay, and they have we have an whole SLA,

396
00:19:26,599 --> 00:19:29,200
like a service license agreement there with like that we

397
00:19:29,319 --> 00:19:32,039
have to fix them for the next service release that

398
00:19:32,079 --> 00:19:36,839
we that we publish like on a weekly basis. So yeah,

399
00:19:36,839 --> 00:19:40,400
we take that stuff really seriously. So you probably can't

400
00:19:40,400 --> 00:19:42,759
do that without looking at your list of bugs twice

401
00:19:42,759 --> 00:19:46,359
a week. But there's no requirement for looking at the list.

402
00:19:46,480 --> 00:19:51,680
The requirement is to fix them. Yeah, but that's for bugs,

403
00:19:51,720 --> 00:19:52,920
that's not for feature requests.

404
00:19:53,079 --> 00:19:55,720
Speaker 2: Oh right, yeah, yeah, this is this is just the

405
00:19:55,759 --> 00:19:58,519
suggestion list, I guess future requests list.

406
00:19:58,640 --> 00:20:04,240
Speaker 4: Yeah, yeah, well we have actually do we do implement

407
00:20:04,480 --> 00:20:07,079
one point two feature requests per workday.

408
00:20:07,480 --> 00:20:07,759
Speaker 1: Wow.

409
00:20:07,799 --> 00:20:10,000
Speaker 4: If you look at the average of the last twelve months, wow,

410
00:20:10,039 --> 00:20:11,480
and that that trend is going up.

411
00:20:11,920 --> 00:20:14,680
Speaker 1: Wow. Are you guys going faster or are they get

412
00:20:14,720 --> 00:20:17,759
requests getting easier? Like, how do you get that quest? No?

413
00:20:18,319 --> 00:20:19,680
Speaker 4: I think it's a little bit of a mind shift.

414
00:20:19,680 --> 00:20:21,160
I don't know if you've noticed it over the last

415
00:20:21,200 --> 00:20:25,680
two or three years. But things that before wasn't prioritized

416
00:20:25,720 --> 00:20:29,039
because it was maybe had low impact, Like some bugs

417
00:20:29,039 --> 00:20:30,720
come in or some feature requests come in and they

418
00:20:30,799 --> 00:20:34,519
kind of have low impact. They don't you know, some

419
00:20:34,599 --> 00:20:37,079
of these suggestions were not like something that would open

420
00:20:37,119 --> 00:20:41,000
new scenarios. They might just be like little delighters or hey,

421
00:20:41,000 --> 00:20:43,200
it would be nice if but they weren't like blocking

422
00:20:43,279 --> 00:20:45,000
you for doing what you needed to do. And we

423
00:20:45,400 --> 00:20:48,920
had a hard time prioritizing that type of feature request

424
00:20:48,960 --> 00:20:51,440
in the past, whereas now it's a little different because

425
00:20:51,759 --> 00:20:54,160
you know, when you're using visual studio eight ten hours

426
00:20:54,200 --> 00:20:57,319
a day, you're using half your waken live in visual studio, right,

427
00:20:57,359 --> 00:21:02,799
it's kind of crazy. So all these little things, because

428
00:21:02,799 --> 00:21:05,279
you're using it so much, they become big and they're

429
00:21:05,279 --> 00:21:09,839
big things. And so by kind of making that change,

430
00:21:10,079 --> 00:21:13,039
of mindset a little bit to look at things differently.

431
00:21:14,519 --> 00:21:17,279
We've been able to double down on a bunch of

432
00:21:17,279 --> 00:21:20,640
the small issues and a bunch of the small like

433
00:21:20,680 --> 00:21:25,519
paper cuts, industry standard things, muscle memory issues that didn't

434
00:21:25,559 --> 00:21:29,240
before carry over from other apps into Visual Studio for shortcuts,

435
00:21:29,240 --> 00:21:32,359
for instance, like just taking them one out of time,

436
00:21:32,480 --> 00:21:34,759
Like let's just double down on that type of stuff,

437
00:21:34,799 --> 00:21:39,480
and you know it. I think the shift is if

438
00:21:39,599 --> 00:21:42,359
you know, this sounds super cliche, but the shift I

439
00:21:42,359 --> 00:21:45,519
think has gone a little bit from focusing, you know,

440
00:21:45,640 --> 00:21:50,599
primarily on productivity and instead of focusing more on happiness,

441
00:21:50,759 --> 00:21:54,079
like developer happiness. You can't be happy developer if you're

442
00:21:54,079 --> 00:21:56,960
not productive. So it includes the productivity thing, but it's more.

443
00:21:57,079 --> 00:22:00,000
It's also about like are you looking forward to working

444
00:22:00,000 --> 00:22:01,000
studio every morning?

445
00:22:01,079 --> 00:22:01,240
Speaker 5: Right?

446
00:22:01,559 --> 00:22:05,559
Speaker 4: Is there a smile on your face? Do you feel empowered? Inspired, creative?

447
00:22:06,759 --> 00:22:08,680
This vis studio kind of get out of the way

448
00:22:09,359 --> 00:22:12,200
when it needs to and help you when that's a requirement,

449
00:22:12,640 --> 00:22:14,200
like all that type of stuff.

450
00:22:14,400 --> 00:22:15,279
Speaker 2: I've got issues.

451
00:22:16,720 --> 00:22:18,319
Speaker 4: We all have issues, probably.

452
00:22:18,559 --> 00:22:21,519
Speaker 2: Probably nothing to do with what you work on, but

453
00:22:21,799 --> 00:22:24,960
isn't me or has GitHub co pilot just completely taken

454
00:22:25,000 --> 00:22:29,319
over like now I start typing a variable and it

455
00:22:29,319 --> 00:22:34,079
gives me this long thing and there are gray letters

456
00:22:34,119 --> 00:22:37,000
in there that are like and as I'm typing, like,

457
00:22:37,079 --> 00:22:39,440
it's I don't even know when I'm typed, I have

458
00:22:39,519 --> 00:22:43,079
no idea what's going on. It's gotten so crazy. Yeah,

459
00:22:43,240 --> 00:22:45,400
and I know you can control that, but.

460
00:22:45,720 --> 00:22:48,079
Speaker 4: So you can control it now. So what we're adding

461
00:22:48,960 --> 00:22:52,640
is a way for that not to happen automatically, but

462
00:22:52,759 --> 00:22:54,799
only at a keyboard short cut. So instead of having

463
00:22:54,880 --> 00:22:57,920
it automatically show up, it can be only when you

464
00:22:58,000 --> 00:22:59,279
request ith.

465
00:22:59,319 --> 00:23:00,640
Speaker 2: Okay, I like, so.

466
00:23:00,640 --> 00:23:02,880
Speaker 4: You you you can control more of that because some

467
00:23:02,880 --> 00:23:06,319
people they really like kind of that feeling of just

468
00:23:06,400 --> 00:23:09,240
tapping their way through and and other people they really

469
00:23:09,319 --> 00:23:11,880
want not to have that. And so now you can

470
00:23:11,920 --> 00:23:14,160
figure it. You can. You can now customize it.

471
00:23:14,160 --> 00:23:15,079
Speaker 2: How about a foot switch?

472
00:23:16,319 --> 00:23:17,920
Speaker 4: Yeah you can do on off. Yeah you can do that.

473
00:23:18,000 --> 00:23:20,559
Speaker 2: I love I love foot switches. I'm a musician, right,

474
00:23:20,599 --> 00:23:23,240
so I have guitar pedals and stuff, but you know,

475
00:23:23,440 --> 00:23:26,440
if I had a little pedal board under my you know,

476
00:23:27,000 --> 00:23:30,319
to to Oh, I want that feature. I want that feature,

477
00:23:30,400 --> 00:23:35,960
these momentary on off toggles, that'd be so cool. Somebody

478
00:23:36,000 --> 00:23:36,359
should do.

479
00:23:36,359 --> 00:23:39,079
Speaker 4: That, that'd be the equivalent of a distortion distortion pedal.

480
00:23:39,119 --> 00:23:41,160
Speaker 2: There you go, yeah, exactly. You know I'd add some

481
00:23:41,240 --> 00:23:44,759
distortion to my to my API controllers.

482
00:23:44,960 --> 00:23:48,599
Speaker 4: Yes, yeah, you know a lot of a lot of

483
00:23:48,680 --> 00:23:50,559
effort goes into it. And the new version of visual

484
00:23:50,599 --> 00:23:53,400
Studio here is like it's a big foundational upgrade when

485
00:23:53,440 --> 00:23:57,119
it comes to to AI. So with with visual Studio,

486
00:23:57,160 --> 00:23:59,839
we are in a unique position where we know a

487
00:23:59,839 --> 00:24:04,079
lot about all the different aspects off your workflow. We

488
00:24:04,160 --> 00:24:06,759
know about your GET issues, it's your tracker. We know

489
00:24:06,839 --> 00:24:10,839
about profiling and debugging and unit testing, and maybe we

490
00:24:10,880 --> 00:24:13,519
know about your CICD, and we know about your let's say,

491
00:24:13,559 --> 00:24:18,079
ASTRA deployment environments and whatnot. And so the more we

492
00:24:18,119 --> 00:24:21,720
know and the more Copiled is able to understand, the

493
00:24:21,759 --> 00:24:25,599
more useful it can become. And so this is really

494
00:24:25,680 --> 00:24:28,359
kind of one of those foundational updates that kind of

495
00:24:28,960 --> 00:24:32,279
infrastructure wise sets us up for the future and for

496
00:24:32,359 --> 00:24:36,559
adding features on top that's like way more that goes

497
00:24:36,599 --> 00:24:39,160
way deeper and just more helpful.

498
00:24:39,240 --> 00:24:43,599
Speaker 2: And are you guys, guidance seems to be like an issue,

499
00:24:43,599 --> 00:24:46,160
But then again, I don't go looking for it. I'm

500
00:24:46,200 --> 00:24:49,079
so spoiled by chatch ept searching the web for me

501
00:24:49,160 --> 00:24:51,880
that I'm really disappointed when I go to Google and

502
00:24:51,920 --> 00:24:55,680
I type something and I don't get like good results,

503
00:24:55,880 --> 00:24:59,119
you know. So like a video that explains how to

504
00:24:59,240 --> 00:25:04,039
control co pilot, I'm sure is out there. I'm just

505
00:25:04,359 --> 00:25:06,640
conditioned to not go look for it.

506
00:25:06,759 --> 00:25:09,480
Speaker 4: Yeah, it's out there, and a lot more will come.

507
00:25:10,519 --> 00:25:12,359
But yeah, there's a bunch of great videos out there

508
00:25:12,400 --> 00:25:15,240
already and articles and tutorials and whatnot.

509
00:25:15,279 --> 00:25:16,960
Speaker 1: Oh I know, yeah that's good stuff.

510
00:25:17,000 --> 00:25:19,200
Speaker 4: But I think but it's an interesting thing, right because

511
00:25:19,279 --> 00:25:23,599
the question is always like why do you need why

512
00:25:23,640 --> 00:25:26,640
do you need a description of how to do something right?

513
00:25:26,680 --> 00:25:29,680
It should be autodiscoverable just by the way you design

514
00:25:29,720 --> 00:25:30,200
the software.

515
00:25:30,240 --> 00:25:32,400
Speaker 1: Well yeah, more importantly, if you know how to do it,

516
00:25:32,599 --> 00:25:33,480
just do it right.

517
00:25:34,279 --> 00:25:35,519
Speaker 4: Yeah that's another thing.

518
00:25:36,000 --> 00:25:37,799
Speaker 1: Can we skip over? They don't explain this to me,

519
00:25:37,920 --> 00:25:40,400
just do it? Phase Like, yeah, I'm tired, I got

520
00:25:40,400 --> 00:25:42,039
stuff to do, Like, let's move on. Yeah.

521
00:25:42,079 --> 00:25:45,119
Speaker 2: I mean I suppose you could use the copilot agent,

522
00:25:45,960 --> 00:25:48,680
you know, or chat in visual studio to help you

523
00:25:49,039 --> 00:25:51,519
figure those things out. I find that to be a

524
00:25:51,680 --> 00:25:52,680
very valuable tool.

525
00:25:52,960 --> 00:25:55,960
Speaker 4: Yeah, And you know, but sometimes the best prompt is

526
00:25:56,039 --> 00:25:59,119
no prompt. So that's that's when you have a let's

527
00:25:59,119 --> 00:26:00,720
say you have a button that us or it comes

528
00:26:00,799 --> 00:26:02,839
up automatically, and so we have we have that in

529
00:26:02,960 --> 00:26:05,200
Ryan Vischoustudo. You're going to see more of that, whereas

530
00:26:05,240 --> 00:26:08,440
not the burden on prompting and knowing how to use

531
00:26:08,480 --> 00:26:11,839
it is no no longer on you. Yeah, it's like

532
00:26:12,039 --> 00:26:13,839
if you if you want to write a commit message,

533
00:26:13,839 --> 00:26:16,359
there's a button there. There's a generate commit message, right,

534
00:26:16,440 --> 00:26:18,480
and so you don't have to prompt, you just click

535
00:26:18,519 --> 00:26:20,880
a button. That makes it easy, right. Or we just

536
00:26:20,920 --> 00:26:23,599
released a new way of optimizing your code, so you

537
00:26:23,640 --> 00:26:25,720
can you can just make a selection of your c

538
00:26:25,839 --> 00:26:28,599
sharp or whatever or VB and then you can say, hey,

539
00:26:28,680 --> 00:26:31,559
rite click and say optimize this code, and you don't

540
00:26:31,599 --> 00:26:33,720
have to prompt because what are you optimizing for? Like

541
00:26:34,240 --> 00:26:37,000
is it PERF? Is it readability? Is it quality? What

542
00:26:37,119 --> 00:26:39,720
is it? You know, exception handling like or something like

543
00:26:39,759 --> 00:26:43,039
what is it? And so that burden of prompting and

544
00:26:44,039 --> 00:26:45,720
kind of if we can take that away and make

545
00:26:45,759 --> 00:26:48,839
it so that there's no prompt at all, then you're

546
00:26:48,839 --> 00:26:51,359
probably in many in many cases, you're going to be faster,

547
00:26:51,440 --> 00:26:53,759
and you're going to but faster and more accurate, but

548
00:26:53,799 --> 00:26:56,799
you're also going to be it's also going to be

549
00:26:56,799 --> 00:26:58,039
discoverable that you can do this.

550
00:26:58,720 --> 00:27:01,160
Speaker 1: Yeah, that's the challenge is how do you tell me

551
00:27:01,240 --> 00:27:03,920
you could optimize that code within it out interrupting me

552
00:27:04,039 --> 00:27:05,440
or annoying me in the process.

553
00:27:06,160 --> 00:27:09,480
Speaker 4: That is the challenge. Yeah, exactly, and it becomes clippy

554
00:27:09,599 --> 00:27:10,720
right otherwise.

555
00:27:11,799 --> 00:27:14,480
Speaker 1: Yeah, that's right, that's always the dance for us. Right,

556
00:27:14,519 --> 00:27:19,440
It's like I all the studio does is better than anybody.

557
00:27:19,480 --> 00:27:22,400
But all those little icons and floaties and squiggles, but

558
00:27:22,480 --> 00:27:27,160
all these little clues that hey I know something about

559
00:27:27,200 --> 00:27:28,920
your code you may not know.

560
00:27:29,519 --> 00:27:33,039
Speaker 2: And if you install code Rush, now you're at another

561
00:27:33,160 --> 00:27:36,839
level of icon crazy, right, Yeah, talking about.

562
00:27:36,960 --> 00:27:39,160
Speaker 4: Well, you know what they say, clippy walk so Copela

563
00:27:39,160 --> 00:27:39,559
can run.

564
00:27:39,720 --> 00:27:44,960
Speaker 1: There you go, and took a lot of flak in

565
00:27:45,000 --> 00:27:45,680
the process.

566
00:27:46,440 --> 00:27:51,400
Speaker 2: I still remember this on this quiz show wait wait,

567
00:27:51,440 --> 00:27:54,440
don't tell me on NPR. You know, Adam Felber is

568
00:27:54,480 --> 00:27:58,960
a comedian and he's on there, and when Microsoft announced

569
00:27:58,960 --> 00:28:02,480
that they were getting rid of Clippy, right, that Clippy

570
00:28:02,640 --> 00:28:07,640
was was dead Adam Felbery because hey, I see you're

571
00:28:07,680 --> 00:28:09,880
digging a grave? Is that a business grave or a

572
00:28:09,880 --> 00:28:11,839
personal grave? Can I help you dig that?

573
00:28:15,440 --> 00:28:16,079
Speaker 1: Can I help you?

574
00:28:16,960 --> 00:28:20,680
Speaker 4: It's funny, Richard. Maybe you remember there was a conference

575
00:28:20,680 --> 00:28:23,000
where there was we had someone in the Clippy costume

576
00:28:23,039 --> 00:28:23,599
walk around.

577
00:28:23,680 --> 00:28:26,359
Speaker 1: Oh yeah, I remember that, and it was immensely popular.

578
00:28:26,400 --> 00:28:28,000
Speaker 4: Everybody walked up in high five.

579
00:28:27,880 --> 00:28:30,680
Speaker 1: Hugely powered. Everybody loves Clippy. But it's like, yeah, because

580
00:28:30,680 --> 00:28:31,279
it's a meme.

581
00:28:31,480 --> 00:28:33,680
Speaker 4: Yeah totally. It's like comic sense.

582
00:28:33,799 --> 00:28:36,559
Speaker 1: Yeah, yes, except that it feels good when you punch.

583
00:28:36,599 --> 00:28:38,400
It wasn't meant to be serious. I don't know why

584
00:28:38,400 --> 00:28:39,880
you're using it, Like, what are you thinking?

585
00:28:40,640 --> 00:28:43,000
Speaker 4: I use it in a PowerPoint presentation sometimes and it

586
00:28:43,079 --> 00:28:43,759
throws people off.

587
00:28:43,799 --> 00:28:45,640
Speaker 1: Well, and if we wanted to do even more O

588
00:28:45,799 --> 00:28:49,480
pick Rob references. We talk about Windows Bob because at

589
00:28:49,599 --> 00:28:52,880
least one of the Clippy characters was that dog from Bob,

590
00:28:53,200 --> 00:28:56,359
designed by the same person, Glenda Gates. I think you

591
00:28:56,400 --> 00:28:59,680
know when you can use those characters, Yeah it was yeah, Melinda, Yeah,

592
00:28:59,720 --> 00:29:01,359
I don't know that she did clipp.

593
00:29:01,079 --> 00:29:03,640
Speaker 4: You it was a wizard as well. It was one

594
00:29:03,640 --> 00:29:06,359
of the characters that you could use those characters from

595
00:29:06,400 --> 00:29:09,240
from back then, there was a remember for Internet Explore.

596
00:29:09,240 --> 00:29:14,319
Speaker 2: That was the Yeah, there was a called the Microsoft Agent.

597
00:29:14,440 --> 00:29:17,160
Speaker 4: Yeah, the Agent, Yes, and you could with JavaScript or

598
00:29:17,200 --> 00:29:19,400
VBScript probably be you could, like.

599
00:29:20,559 --> 00:29:24,240
Speaker 2: I actually used that in an early online training tool

600
00:29:24,279 --> 00:29:26,839
that I wrote, which characters the Wizard. But you could

601
00:29:27,039 --> 00:29:29,680
use whatever you wanted to. But the idea is you

602
00:29:29,720 --> 00:29:31,839
could program him to fly around on the screen and

603
00:29:31,880 --> 00:29:36,039
point to things and explain stuff. So yeah, that didn't

604
00:29:36,119 --> 00:29:38,519
last time. It was fun while it lasted, but it

605
00:29:38,559 --> 00:29:39,279
didn't last.

606
00:29:39,440 --> 00:29:42,039
Speaker 1: Yeah, but you know, these all feel like attempts now

607
00:29:42,079 --> 00:29:46,039
to what these ll ms can do for us.

608
00:29:46,319 --> 00:29:49,519
Speaker 4: Yeah, it's really impressive. So we have I think there's

609
00:29:49,559 --> 00:29:53,079
like a couple of categories of where this is, where

610
00:29:53,119 --> 00:29:57,079
this is useful. So one is where we can learn

611
00:29:57,119 --> 00:29:59,720
and we become better developers. So let me take you

612
00:29:59,799 --> 00:30:02,440
a example. Is the new Profiler Agent, which is the

613
00:30:02,440 --> 00:30:06,200
one feature we're building on top of this foundational infrastructure

614
00:30:06,279 --> 00:30:10,160
change in Visual Studio twenty twenty six, and it's the

615
00:30:10,200 --> 00:30:13,839
Profiler Agent is able to run the profiler in Visual Studio,

616
00:30:13,880 --> 00:30:15,720
which we've had for a long time, but very few

617
00:30:15,720 --> 00:30:18,799
people use it. It's kind of hard to it's an

618
00:30:18,839 --> 00:30:21,599
advanced concept. It's not easy to kind of understand. But

619
00:30:21,720 --> 00:30:23,960
this new agent can do it for you. And it

620
00:30:24,039 --> 00:30:27,160
can write benchmarks like using benchmark dot net. Wow, it

621
00:30:27,200 --> 00:30:30,319
will add benchmark or run if there's existing ones, and

622
00:30:30,359 --> 00:30:32,880
it can then find the hot paths. Then it can

623
00:30:32,920 --> 00:30:34,559
give you a laundrylease stuff. Here's what I want to

624
00:30:34,599 --> 00:30:38,000
do to optimize performance. It can then simulate that with

625
00:30:38,079 --> 00:30:40,880
the and then run the new and run the benchmarks

626
00:30:40,880 --> 00:30:43,759
again to see what the performance benefit will be. And

627
00:30:43,799 --> 00:30:47,119
then you can just tell okay, go ahead, or if

628
00:30:47,119 --> 00:30:49,559
there's something that you don't understand because that's the problem.

629
00:30:49,599 --> 00:30:52,279
Even if you run the profiler and it says, hey,

630
00:30:52,480 --> 00:30:54,880
this line is very expensive or this method call is

631
00:30:54,960 --> 00:30:58,839
very expensive, how do you know how to optimize it? Right?

632
00:30:58,880 --> 00:31:01,440
Speaker 1: All right? Yeah, it's like okay, the software has criticized me.

633
00:31:02,000 --> 00:31:06,200
Speaker 4: Now what yeah, now what yeah, exactly, it found my problems.

634
00:31:06,279 --> 00:31:08,359
Now what are the solutions? Right? It didn't help me there,

635
00:31:09,000 --> 00:31:11,240
but now you get that help and so you know,

636
00:31:11,240 --> 00:31:13,440
it could be you know, maybe I have a dictionary

637
00:31:13,480 --> 00:31:15,319
that I use a linquery on and it says, hey,

638
00:31:15,400 --> 00:31:17,160
if you use a hasset, we're going to be eighty

639
00:31:17,200 --> 00:31:22,640
percent faster in this particular case, and you'll be like, oh,

640
00:31:23,200 --> 00:31:26,039
that's neat next time I run into a similar scenario,

641
00:31:26,119 --> 00:31:28,839
I'm going to remember this hasset thing. And so you

642
00:31:28,960 --> 00:31:31,519
learn along the way. And so I really like that

643
00:31:31,680 --> 00:31:35,160
idea where the copole comes in sits beside you kind

644
00:31:35,160 --> 00:31:39,079
of and and you kind of get to that destination.

645
00:31:38,640 --> 00:31:40,720
Speaker 2: Together makes you a better developer, You become better.

646
00:31:40,839 --> 00:31:43,240
Speaker 1: Yeah, you know this reminds me of the old optimizing

647
00:31:43,279 --> 00:31:46,000
website stags. We're using the profiling tools to see that

648
00:31:46,079 --> 00:31:51,400
locus of concentration, Like, hey, this is a big expensive process,

649
00:31:51,440 --> 00:31:53,200
but it only gets run once an hour, so we're

650
00:31:53,200 --> 00:31:55,599
not going to optimize that. But this little thing, this

651
00:31:55,640 --> 00:31:58,759
settle thing, is being running four hundred times a second,

652
00:31:58,880 --> 00:32:01,720
and if we can shave one hundred milliseconds out of it,

653
00:32:01,720 --> 00:32:02,599
it's worth it.

654
00:32:02,359 --> 00:32:02,480
Speaker 4: Now.

655
00:32:02,640 --> 00:32:05,759
Speaker 2: Is there such a thing as an agent that understands

656
00:32:06,920 --> 00:32:09,799
SEQL and SQL profiling, because I would love to turn

657
00:32:09,839 --> 00:32:12,279
that loose on you know, hey, why is this query

658
00:32:12,359 --> 00:32:13,799
taking so long? And what?

659
00:32:14,079 --> 00:32:14,279
Speaker 4: Yeah?

660
00:32:14,279 --> 00:32:15,680
Speaker 1: I think you know what index do?

661
00:32:15,839 --> 00:32:17,920
Speaker 2: Is? What indexes do I need to add to make

662
00:32:17,960 --> 00:32:18,559
it work better?

663
00:32:18,880 --> 00:32:20,839
Speaker 4: That kind of thing that might be in for as

664
00:32:20,880 --> 00:32:22,920
as a mess. Yeah, if you looked at the Latest

665
00:32:22,960 --> 00:32:24,720
Days is a mess I have.

666
00:32:24,759 --> 00:32:27,599
Speaker 2: Yeah, and I know it's based on the whole visual studio,

667
00:32:28,200 --> 00:32:33,119
you know, fundamental environment, So did also have those.

668
00:32:33,240 --> 00:32:35,680
Speaker 4: I haven't played with it for a mess twenty one

669
00:32:36,319 --> 00:32:41,000
twenty two preview. You might see something more updated there

670
00:32:41,000 --> 00:32:43,079
in that regard. I'm not sure. I haven't followed along

671
00:32:43,079 --> 00:32:43,359
that course.

672
00:32:43,480 --> 00:32:46,960
Speaker 1: Yeah, there's a twenty five coming that's likely out in November,

673
00:32:47,119 --> 00:32:50,319
not that I know anything, but I'm speculating because that's

674
00:32:50,359 --> 00:32:51,920
when they would normally ship it.

675
00:32:51,920 --> 00:32:54,440
Speaker 4: It should be in preview by the time the airs.

676
00:32:54,279 --> 00:32:57,480
Speaker 1: Somewhere in the quote unquote ignite time frame. And I

677
00:32:57,480 --> 00:32:58,839
imagine there's going to be all kinds of.

678
00:32:58,799 --> 00:33:01,799
Speaker 2: Imagine there's going to be more a tooling seems like,

679
00:33:01,920 --> 00:33:04,839
you know that's where development is heading is in you know,

680
00:33:04,920 --> 00:33:06,599
the innovation is happening in AI.

681
00:33:06,759 --> 00:33:09,440
Speaker 1: Well, there's all the new helpers, right like we saw

682
00:33:09,480 --> 00:33:11,920
this extensively with Microsoft Fabric. Not to go too far

683
00:33:12,000 --> 00:33:16,000
off track here, but because Fabric touches so many different tools.

684
00:33:16,039 --> 00:33:19,440
When you're doing data analytics and you've got POWERBI and

685
00:33:19,480 --> 00:33:22,799
the data warehousing clients and these different storage mechanisms in

686
00:33:22,839 --> 00:33:25,240
the lake and so forth, each one you don't use

687
00:33:25,319 --> 00:33:27,000
enough to be really proficient with so the fact that

688
00:33:27,079 --> 00:33:28,960
it was a copilot at each layer, it's like, what'd

689
00:33:29,000 --> 00:33:31,039
you want to do? Let me help you there, Like

690
00:33:31,480 --> 00:33:32,400
it's really powerful.

691
00:33:32,440 --> 00:33:34,559
Speaker 2: It seems like a good time to take a break. Yeah,

692
00:33:34,640 --> 00:33:37,400
So we'll be right back after these very important messages.

693
00:33:37,559 --> 00:33:42,480
Stay tuned. Did you know you can easily migrate asp

694
00:33:42,640 --> 00:33:46,799
net web apps to Windows containers on AWS? Use the

695
00:33:46,920 --> 00:33:51,319
app to Container tool to containerize your iis websites and

696
00:33:51,359 --> 00:33:56,759
deploy to AWS managed container services with or without Kubernetes.

697
00:33:57,119 --> 00:34:01,039
Find out more about app to Container and aw dot Amazon,

698
00:34:01,119 --> 00:34:08,760
dot Com, Slash, dot Net, slash Modernize, and we're back.

699
00:34:08,800 --> 00:34:12,360
It's dot net Rocks. I'm Carl Franklin's my friend Richard Campbell. Hey,

700
00:34:12,400 --> 00:34:16,960
and that's our friend Mads Christensen, the Mad indentist of

701
00:34:18,480 --> 00:34:19,960
Visual Studio Extensions.

702
00:34:20,480 --> 00:34:23,280
Speaker 1: And Mad's you said, Studio twenty twenty six. So is

703
00:34:23,320 --> 00:34:25,880
this official? What are we expecting in the version of

704
00:34:25,920 --> 00:34:26,840
Studio next year?

705
00:34:27,039 --> 00:34:28,079
Speaker 4: No, it's out in preview.

706
00:34:28,440 --> 00:34:30,239
Speaker 1: It is okay, so it's not next year, it's like

707
00:34:30,440 --> 00:34:34,280
imminently right now. One would speculate because there's certain events

708
00:34:34,280 --> 00:34:35,639
coming up towards the end of the year.

709
00:34:35,880 --> 00:34:39,440
Speaker 4: Hey, but you know, I'm not in the business of speculation, no, so,

710
00:34:40,159 --> 00:34:42,400
but you know we when did we ship visuals do

711
00:34:42,519 --> 00:34:43,360
to twenty twenty.

712
00:34:43,119 --> 00:34:46,719
Speaker 1: Two in fall of twenty one? As I recall, maybe, yeah,

713
00:34:46,760 --> 00:34:49,320
so I'm just doing math. How much did the whole

714
00:34:49,360 --> 00:34:51,760
AI wave derail? You guys, Like, I don't envy your

715
00:34:51,800 --> 00:34:54,519
situation because you push that out in the fall of

716
00:34:54,599 --> 00:35:00,079
twenty twenty one. Chat GBT is the next year, and

717
00:35:00,480 --> 00:35:02,920
you know, get Hub Copilot's already out, So that's a

718
00:35:02,960 --> 00:35:06,360
thing like this, It's been a it's been a while,

719
00:35:06,440 --> 00:35:09,880
Like you're not talking four years between versions of the studio,

720
00:35:10,280 --> 00:35:13,679
but they've been some nutty years, a little pandemic, a

721
00:35:13,719 --> 00:35:16,800
little revolutionary computing, like wooh.

722
00:35:17,519 --> 00:35:20,480
Speaker 4: It's been it's like a train that hits you, right,

723
00:35:20,719 --> 00:35:23,519
It's yeah, it was it was like that. Yeah. We

724
00:35:23,519 --> 00:35:26,679
we changed the whole ORC structure, change, all of that

725
00:35:26,760 --> 00:35:28,960
changed in the past couple of years to accommodate this.

726
00:35:29,280 --> 00:35:35,000
So there's no question where that this is like such

727
00:35:35,119 --> 00:35:40,920
a groundbreaking change for everybody, and I think we're probably

728
00:35:40,920 --> 00:35:43,199
on the forefront of it because we are we are

729
00:35:43,320 --> 00:35:45,760
kind of the lower layers of that that enables others

730
00:35:45,800 --> 00:35:46,480
to kind of use.

731
00:35:46,599 --> 00:35:49,440
Speaker 1: A name, and you're expected to dog food the new

732
00:35:49,480 --> 00:35:52,000
bits so you're seeing it before we see it.

733
00:35:52,079 --> 00:35:54,519
Speaker 4: So all that was like really heavy. But I think

734
00:35:54,559 --> 00:35:56,599
like this year when we look at like get ub

735
00:35:56,639 --> 00:36:00,159
copilot adoption, like this year is where it's really exploded. Yeah,

736
00:36:00,199 --> 00:36:02,119
so I think the l ms now are so good

737
00:36:02,199 --> 00:36:04,360
with the you know, clots on at for another like

738
00:36:04,480 --> 00:36:07,679
they're just GPT five, like they're finally at a place

739
00:36:08,400 --> 00:36:10,000
Jim and I are two point five is you know?

740
00:36:10,119 --> 00:36:12,199
Was also another one that was like, Okay, this is.

741
00:36:12,159 --> 00:36:13,760
Speaker 1: Good, real good.

742
00:36:13,760 --> 00:36:16,159
Speaker 2: So I got a story for you. I was trying

743
00:36:16,159 --> 00:36:18,320
to solve a CSS problem and I knew it was

744
00:36:18,320 --> 00:36:20,320
a CSS problem, but I wasn't quite sure how to

745
00:36:20,320 --> 00:36:22,639
solve it because you know, I'm a C sharp programmer,

746
00:36:22,719 --> 00:36:27,280
not a CSS guy. And I asked Chatchept. I spent

747
00:36:27,360 --> 00:36:29,840
an hour with chatchyp Yeah, I like that he's holding

748
00:36:29,920 --> 00:36:35,119
up the mugs. CSS is awesome outside of the box.

749
00:36:36,920 --> 00:36:40,880
I set the challenge to chat Ept. I spent an

750
00:36:40,960 --> 00:36:44,719
hour with chatchept, and it could not figure out, for

751
00:36:44,800 --> 00:36:47,559
the life of itself, how to fix this problem. So

752
00:36:47,639 --> 00:36:52,519
then I went to get hub Copilot. I just created

753
00:36:52,559 --> 00:36:56,960
a new private repo in gethub with a scaled down example.

754
00:36:57,559 --> 00:37:00,679
Get ub co Pilot scratched its head for like forty

755
00:37:00,760 --> 00:37:03,719
minutes and then came back with the wrong answer. Then

756
00:37:03,760 --> 00:37:06,639
I went to Gemini and I, because Gemini is like

757
00:37:06,679 --> 00:37:10,079
built into Chrome, right, you can ask Gemini how do

758
00:37:10,119 --> 00:37:15,599
I fix this? And it completely baffled itself. It did

759
00:37:15,599 --> 00:37:17,320
not have the answer. Then I went back in the

760
00:37:17,400 --> 00:37:20,239
visual studio and I went to agent mode and I

761
00:37:20,320 --> 00:37:23,760
picked Claude Son at three point five and I said

762
00:37:23,880 --> 00:37:27,480
do this, And it was literally less than three minutes

763
00:37:27,679 --> 00:37:30,360
and it had figured it out. Claude's Son. It is

764
00:37:30,400 --> 00:37:32,400
the bomb for CSS anyway.

765
00:37:32,639 --> 00:37:33,360
Speaker 4: It's really good.

766
00:37:33,760 --> 00:37:35,960
Speaker 1: Yeah, and you're sort of speaking to that sort of

767
00:37:36,119 --> 00:37:39,519
new reality that just harnished the agents you got. You

768
00:37:39,559 --> 00:37:41,719
want a client that has access to all of them,

769
00:37:41,719 --> 00:37:43,719
and you can try your different problems on different right

770
00:37:43,920 --> 00:37:45,440
on different models.

771
00:37:46,079 --> 00:37:47,719
Speaker 4: So that's that's really nice. You can now you can

772
00:37:47,719 --> 00:37:49,599
bring your own keys what we call it, right, You

773
00:37:49,599 --> 00:37:52,119
can bring your own API key and plug in you know,

774
00:37:52,159 --> 00:37:57,639
any other clod model or whatever. So but it's it,

775
00:37:58,039 --> 00:38:00,360
you know, it really depends a lot of a things.

776
00:38:00,400 --> 00:38:02,199
One is the context you give it like what does

777
00:38:02,239 --> 00:38:05,719
it understand about your project? And the other thing is

778
00:38:05,760 --> 00:38:08,800
the prompt, like how are you prompting it? And so

779
00:38:08,920 --> 00:38:11,280
that's the challenge because you know at what point I'll

780
00:38:11,320 --> 00:38:13,880
be becoming prompting engineers. I always think that sounds a

781
00:38:13,880 --> 00:38:16,880
little bit too big for what it is, Like it's

782
00:38:16,920 --> 00:38:18,920
a different way of asking a question. You know, does

783
00:38:18,960 --> 00:38:22,119
that make you a prompt engineer? But but you know

784
00:38:22,159 --> 00:38:23,119
there's some truth to that.

785
00:38:23,159 --> 00:38:25,000
Speaker 1: I guess, you know, yeah, because I'm all, you know,

786
00:38:25,039 --> 00:38:26,480
I do a favorite of writing, so it must be

787
00:38:26,519 --> 00:38:27,480
a sentence engineer.

788
00:38:27,639 --> 00:38:31,280
Speaker 2: Also, yeah, exactly paragraph engineer.

789
00:38:32,599 --> 00:38:34,760
Speaker 1: Don't get crazy now trying to get there.

790
00:38:34,920 --> 00:38:37,280
Speaker 4: So but what I what I do like is you know,

791
00:38:37,360 --> 00:38:39,199
I mentioned the thing where it kind of makes you better,

792
00:38:39,480 --> 00:38:42,519
you become a better developer. But the other aspect is

793
00:38:42,559 --> 00:38:44,800
that it will it will allow you to do things

794
00:38:44,840 --> 00:38:48,239
that you couldn't do before. So when I mentioned this

795
00:38:48,239 --> 00:38:52,159
stuff about the profiler right before, like I'm not a

796
00:38:52,239 --> 00:38:55,280
very low level developer, like I don't I don't go

797
00:38:55,320 --> 00:38:57,920
into unsafety sharp for instance, right, Like I've never used

798
00:38:57,920 --> 00:39:00,119
a volatile keyword. I don't know what it does, and

799
00:39:00,159 --> 00:39:01,159
I'm kind of afraid to know.

800
00:39:01,880 --> 00:39:03,840
Speaker 1: But the name tells you everything you want to know.

801
00:39:03,960 --> 00:39:09,920
Speaker 2: That's right, stay away, Yeah, danger here across.

802
00:39:11,519 --> 00:39:14,960
Speaker 4: So that door was closed to me, right, And but

803
00:39:15,079 --> 00:39:17,679
with this this new profile agent, for instance, it can

804
00:39:17,719 --> 00:39:19,440
come in and it can teach me stuff. I can

805
00:39:19,480 --> 00:39:21,280
see how to do this, it can it can kick

806
00:39:21,320 --> 00:39:23,760
in the door that was otherwise closed to Yeah, and

807
00:39:24,199 --> 00:39:28,079
so it makes the impossible possible. And I really like

808
00:39:28,199 --> 00:39:31,119
that because it's like that. And then it doesn't go there,

809
00:39:31,159 --> 00:39:32,840
It doesn't open the door and walk in on its own.

810
00:39:33,559 --> 00:39:35,559
It takes me with it, right, we walk in together,

811
00:39:36,719 --> 00:39:38,920
and that I think that's the magic part. I think

812
00:39:38,960 --> 00:39:41,280
a lot of people miss that. They think, oh, you know, Copila,

813
00:39:41,320 --> 00:39:43,039
that's going to take over my job or whatever, but

814
00:39:43,119 --> 00:39:46,039
it is. It is really a cold pilot. I think

815
00:39:46,039 --> 00:39:46,639
that's important.

816
00:39:46,760 --> 00:39:48,519
Speaker 2: Yeah, I'm looking forward to the day and I don't

817
00:39:48,519 --> 00:39:51,159
think it we're here yet. But it doesn't do really

818
00:39:51,320 --> 00:39:55,239
well with graphics and you know, animation and all that

819
00:39:55,239 --> 00:39:58,360
stuff yet that's not really in the in the models

820
00:39:58,800 --> 00:40:01,199
that I know anyway. But I'm looking forward to the

821
00:40:01,280 --> 00:40:04,920
day where I can think about something that I never

822
00:40:05,360 --> 00:40:09,000
thought of before doing because I know it's completely outside

823
00:40:09,039 --> 00:40:13,480
my wheelhouse. And then and then engaging some AI to

824
00:40:13,519 --> 00:40:17,119
help me figure that stuff out. But otherwise I would

825
00:40:17,199 --> 00:40:19,360
I would never have attempted it. But and I'm not

826
00:40:19,440 --> 00:40:22,360
talking about for professional reasons, like I would never say

827
00:40:22,920 --> 00:40:25,400
yes if a customer asked me to do something like that,

828
00:40:25,559 --> 00:40:28,360
but you know, for for messing around and you know,

829
00:40:28,480 --> 00:40:30,960
writing some fun games or something, I would totally be

830
00:40:31,000 --> 00:40:31,360
into it.

831
00:40:31,400 --> 00:40:34,599
Speaker 4: Did you see the Scott Hanselman and Mark Prosenovitch they

832
00:40:34,599 --> 00:40:37,199
did this shader using copony. They had no idea how

833
00:40:37,199 --> 00:40:40,119
to write a shrader, and they did it. And they

834
00:40:40,119 --> 00:40:42,480
could use it as a background kind of animation movie

835
00:40:42,480 --> 00:40:45,440
thing that just ran in the background up the windows terminal. Yeah,

836
00:40:45,480 --> 00:40:48,360
and they've never written the shad before. And so again

837
00:40:48,400 --> 00:40:50,400
that was a door that was to go. They could

838
00:40:50,400 --> 00:40:52,519
have learned they had spent their time doing that.

839
00:40:52,639 --> 00:40:53,400
Speaker 2: But good stuff.

840
00:40:53,679 --> 00:40:54,599
Speaker 4: Here we are well.

841
00:40:54,639 --> 00:40:56,960
Speaker 1: And that's always the thing, Like you have skills, you

842
00:40:57,039 --> 00:41:00,480
know you could do this, but your list of needs,

843
00:41:00,519 --> 00:41:02,679
the things, you know, priority list is so long.

844
00:41:03,039 --> 00:41:06,280
Speaker 4: That's exactly it. You know, I got kids and family

845
00:41:06,320 --> 00:41:08,280
and stuff. I gotta leave work, and then I gotta

846
00:41:08,320 --> 00:41:10,559
leave work. I can't just you know, keep going. And

847
00:41:11,400 --> 00:41:13,519
that's the most most people are in a situation like that,

848
00:41:13,599 --> 00:41:15,880
your time is limited, and so having that kind of

849
00:41:16,159 --> 00:41:18,679
AI sitting there and being helpful to I think it's

850
00:41:18,760 --> 00:41:22,079
really good. Another one that's really helpful is it can

851
00:41:22,079 --> 00:41:25,599
increase your velocity. So I have a three hundred and

852
00:41:25,599 --> 00:41:28,079
something repos on GIDDA right, a lot of extensions and

853
00:41:28,440 --> 00:41:31,280
NU could package libraries and whatnot, and I get a

854
00:41:31,280 --> 00:41:34,159
bunch of feature requests and bug reporting, and I can't

855
00:41:34,199 --> 00:41:36,239
really as a single person, I can't do all of

856
00:41:36,239 --> 00:41:38,719
these things. But I can have the coding D and

857
00:41:38,760 --> 00:41:41,000
I can assign a task, say hey, can you take

858
00:41:41,000 --> 00:41:42,719
a look at this bug? Can you fix that? Or

859
00:41:42,800 --> 00:41:45,000
take a look at this feature request? And the more

860
00:41:45,039 --> 00:41:46,840
you use it, the more you kind of understand what

861
00:41:46,960 --> 00:41:49,159
it can do. And then you know, oh, this is

862
00:41:49,199 --> 00:41:51,760
a great candidate for the copilot.

863
00:41:51,920 --> 00:41:54,360
Speaker 1: Sure to do for me. If you want one hundred

864
00:41:54,360 --> 00:41:57,159
percent unit test coverage, you know, you could beat your

865
00:41:57,159 --> 00:41:59,000
interns as much as you want to try and get there,

866
00:41:59,000 --> 00:42:01,039
but boy, the soft or knocks it out.

867
00:42:01,199 --> 00:42:02,199
Speaker 2: Yeah that's right.

868
00:42:02,679 --> 00:42:04,960
Speaker 4: Yeah, yeah, So I feel like you can your A.

869
00:42:05,000 --> 00:42:07,159
Your velocity can go up if you if you know

870
00:42:07,199 --> 00:42:09,559
how to use it in the right way. But that

871
00:42:09,800 --> 00:42:12,119
now you have, but then you learn that too write.

872
00:42:12,239 --> 00:42:15,280
So there's some new stuff to learn. And I think

873
00:42:15,280 --> 00:42:18,320
that's important that we do it and whatever time we've got,

874
00:42:18,679 --> 00:42:20,559
but don't dismiss it up front.

875
00:42:20,599 --> 00:42:23,159
Speaker 2: One hundred percent coverage. I would set that on to

876
00:42:23,239 --> 00:42:25,480
go on a Friday night and then go away for

877
00:42:25,519 --> 00:42:28,559
the weekend. For some of these projects that I have,

878
00:42:28,679 --> 00:42:30,159
there's so big. Well.

879
00:42:30,960 --> 00:42:33,559
Speaker 1: One of the patterns I've gotten into now when I'm

880
00:42:33,639 --> 00:42:35,800
asking the tools to write code is that they sort

881
00:42:35,800 --> 00:42:37,400
of do a tdd thing. I want you to write

882
00:42:37,440 --> 00:42:39,960
the test as well. And one of the effects I

883
00:42:40,039 --> 00:42:44,159
found with that was that often if you made too

884
00:42:44,159 --> 00:42:47,079
big of a request, it wouldn't finish it. Yes, and

885
00:42:47,159 --> 00:42:50,559
so including the tests and keep iterating this until all

886
00:42:50,599 --> 00:42:55,039
the tests passed. Actually create a pattern to finish the

887
00:42:55,119 --> 00:42:56,199
code request. Right.

888
00:42:56,400 --> 00:42:59,719
Speaker 2: I don't like, you know, dot dot dot, you know,

889
00:43:00,000 --> 00:43:03,280
finish the implementation here. No, you finish it. That's what

890
00:43:03,440 --> 00:43:04,679
I'm asking you.

891
00:43:06,440 --> 00:43:08,679
Speaker 1: That's what you do, you piece of software.

892
00:43:08,719 --> 00:43:10,239
Speaker 2: You what I do?

893
00:43:10,480 --> 00:43:11,880
Speaker 1: Is that what you do?

894
00:43:12,639 --> 00:43:12,960
Speaker 2: Yeah?

895
00:43:13,079 --> 00:43:16,119
Speaker 1: Nice? But I feel like more and more we're the

896
00:43:16,639 --> 00:43:20,760
project managers, right Like you're managing you only write certain

897
00:43:20,800 --> 00:43:22,559
bits of code that you're like, well, the tool's going

898
00:43:22,599 --> 00:43:25,679
to have at the time with this, but most of

899
00:43:25,719 --> 00:43:27,639
the other code you're you're just doling it out and

900
00:43:27,760 --> 00:43:30,320
checking it in. I feel like software developers are uniquely

901
00:43:30,360 --> 00:43:33,079
qualified in the scenario because the tools like GitHub and

902
00:43:33,119 --> 00:43:37,159
things like, we're used to taking contributions from unknown sources

903
00:43:37,159 --> 00:43:40,880
in some respects, and what's more unknown than an LLM, right, Like,

904
00:43:41,039 --> 00:43:44,880
just makes sense that okay, and it comes evaluated, you know,

905
00:43:44,960 --> 00:43:47,159
run it through the process integrated.

906
00:43:46,719 --> 00:43:50,000
Speaker 2: And let's get meta here, Like you ask the copilot

907
00:43:50,079 --> 00:43:52,679
to write you something and it does a pull request

908
00:43:52,800 --> 00:43:55,440
and you check out that pull request. Now you should

909
00:43:55,519 --> 00:43:58,360
have an agent test that pull request. Sure, why not

910
00:43:58,599 --> 00:44:02,760
have another third part? Right? And so thinking about this

911
00:44:02,920 --> 00:44:05,360
in terms of, oh, it's not just this one agent

912
00:44:05,440 --> 00:44:08,679
that I'm interacting with, but multiple agents that do different

913
00:44:08,719 --> 00:44:12,159
things better than the other kind. That's this is the future,

914
00:44:12,199 --> 00:44:12,440
I think.

915
00:44:12,559 --> 00:44:15,800
Speaker 4: Yeah, we're already seeing with the mcps, for instance, where

916
00:44:15,800 --> 00:44:19,360
they know now you have the playwright and it can

917
00:44:19,400 --> 00:44:23,079
go ahead and unbelievable too, launch your new pro request

918
00:44:23,159 --> 00:44:25,679
and the browser and test that it works. And I

919
00:44:25,679 --> 00:44:26,920
mean it's pretty phenomenal.

920
00:44:27,039 --> 00:44:29,719
Speaker 1: The thing that got me with the playwright MCP was

921
00:44:30,760 --> 00:44:33,039
the ownership of the test problem on my part. Now

922
00:44:33,119 --> 00:44:35,039
is a set of prompts about what I need to

923
00:44:35,119 --> 00:44:38,679
valuate it on this website, And so as playwright changes

924
00:44:38,719 --> 00:44:40,719
on you and the site changes on you, you don't

925
00:44:40,719 --> 00:44:44,360
have to rewrite the test. They're regenerated by the prompt. Yeah.

926
00:44:44,440 --> 00:44:45,599
Speaker 4: Yeah, yeah, that's nice.

927
00:44:45,679 --> 00:44:48,480
Speaker 1: Yeah yeah, it's powerful, and it's just a funny way

928
00:44:49,079 --> 00:44:53,440
to think about software. And I don't know if necessarily

929
00:44:53,519 --> 00:44:55,000
like it's fun in the sense that I'm getting a

930
00:44:55,000 --> 00:44:57,320
lot done, but it's not fun in the sense of

931
00:44:57,400 --> 00:45:01,079
like that old school flowing with code thing that I

932
00:45:01,159 --> 00:45:03,239
used to do once in a while. It's not the

933
00:45:03,280 --> 00:45:06,320
same when you're shepherding all these tools, like you're you're

934
00:45:06,360 --> 00:45:10,400
kind of running an interrupt driven method of coding where

935
00:45:10,800 --> 00:45:13,360
various bits are coming back from different agents and you're

936
00:45:13,360 --> 00:45:15,239
trying to pull them together. It's like, where are we

937
00:45:15,320 --> 00:45:17,039
in the overall problem space here?

938
00:45:17,400 --> 00:45:21,199
Speaker 4: You're definitely more of a conductor of an orchestra now

939
00:45:21,440 --> 00:45:23,920
when you take really take full advantage of all this stuff.

940
00:45:24,400 --> 00:45:26,480
But I don't I don't see that as Hey, the

941
00:45:26,880 --> 00:45:29,960
role of the software engineer is changing. It's just that

942
00:45:30,039 --> 00:45:32,599
we do we work in a slightly different way. And

943
00:45:32,639 --> 00:45:36,880
so we also now orchestrate stuff, but hopefully we orchestrate

944
00:45:36,880 --> 00:45:40,079
the stuff that's kind of boring or the stuff that tedious,

945
00:45:40,199 --> 00:45:43,159
or stuff that doesn't add unique where we you know

946
00:45:43,199 --> 00:45:47,079
that that we want to add unique value that only

947
00:45:47,119 --> 00:45:50,000
we can do, right, stuff that's like you know, makes

948
00:45:50,079 --> 00:45:52,119
us feel great and love our work, and where we

949
00:45:52,159 --> 00:45:55,320
have unique insights and we can be creative and come

950
00:45:55,400 --> 00:45:57,880
up with these fantastic things and then have kind of

951
00:45:58,119 --> 00:46:00,800
maybe the boring parts and stuff that would be great

952
00:46:00,800 --> 00:46:02,920
if someone else would take care of that, but we

953
00:46:03,000 --> 00:46:04,800
do the conducting of that.

954
00:46:04,800 --> 00:46:06,880
Speaker 1: That was back to the old adage, right, Like your

955
00:46:07,079 --> 00:46:10,840
job as the software engineer wasn't to write code, it

956
00:46:10,880 --> 00:46:14,039
was to produce solutions. Yep, right, I remember. I mean

957
00:46:14,039 --> 00:46:16,239
I'm old enough down to remember switching to Visual Basic.

958
00:46:16,360 --> 00:46:19,960
His guy brought real tired of battling MFC, like you

959
00:46:20,039 --> 00:46:24,159
were mostly fighting with Windows, not providing solutions, and VB

960
00:46:24,320 --> 00:46:26,519
took that off the shelf, and people like we're not

961
00:46:26,519 --> 00:46:29,639
really programming anymore. It's like pretty sure, I am pretty sure.

962
00:46:29,679 --> 00:46:31,079
I'm going to be crying all the way to the

963
00:46:31,119 --> 00:46:31,719
bank here.

964
00:46:32,159 --> 00:46:34,199
Speaker 4: Yeah, I forget who said it? But it was was

965
00:46:34,239 --> 00:46:37,800
it Repert Scoble or like Joe's bowlski or something that. Hey,

966
00:46:37,880 --> 00:46:40,920
you know, as a software engineer, your goal is to

967
00:46:41,000 --> 00:46:43,960
solve problems. Yeah, the side effect is that you write

968
00:46:44,000 --> 00:46:46,920
code or something like that. The by product is code.

969
00:46:47,559 --> 00:46:49,480
But we're here to solve problems. And so I think

970
00:46:49,519 --> 00:46:51,199
that's true in this new world as well. And I

971
00:46:51,239 --> 00:46:53,159
think we're still going to write as much code. We

972
00:46:53,239 --> 00:46:55,519
might even write more because some of this other stuff

973
00:46:55,559 --> 00:46:58,960
can be sort of automated away a little bit. And

974
00:46:59,039 --> 00:47:01,960
so I think we're looking at a very very bright

975
00:47:02,000 --> 00:47:04,480
future for software engineering. I think it's going to be

976
00:47:04,480 --> 00:47:06,559
more fun now than they has been in the past.

977
00:47:06,559 --> 00:47:09,679
Speaker 1: The productivity explosion is astonishing. Folks have seen who figure

978
00:47:09,679 --> 00:47:12,679
this stuff out. I mean, I for a while there,

979
00:47:12,800 --> 00:47:15,519
the good Hub Copilot days, I was seeing folks saying, hey,

980
00:47:15,880 --> 00:47:19,119
my coders are pushing in more code. It's twenty thirty

981
00:47:19,199 --> 00:47:23,400
forty percent more productive. There's more reworks, like they're backing

982
00:47:23,440 --> 00:47:26,519
out stuff more often. But generally if it gets pushed

983
00:47:26,519 --> 00:47:28,760
and it sticks, it's pretty good in its days, Like

984
00:47:28,840 --> 00:47:31,960
code quality up overall. Yeah, Yeah, Now I watch guys

985
00:47:32,039 --> 00:47:34,519
that are knocking out two three weeks worth of work

986
00:47:34,960 --> 00:47:37,480
in a typical pattern in a day. Sure, Like it's

987
00:47:37,519 --> 00:47:39,119
just astonishing when they get it right.

988
00:47:39,199 --> 00:47:42,320
Speaker 4: Yeah, yeah, right, And so I think like, as, but

989
00:47:42,519 --> 00:47:45,760
that's a craft too. How do you work with the

990
00:47:45,800 --> 00:47:47,239
prompting and with the yelms.

991
00:47:47,360 --> 00:47:50,880
Speaker 2: Yeah, So also staying current on what the different lllms

992
00:47:50,880 --> 00:47:53,159
are and what their strengths and weaknesses are. I think

993
00:47:53,199 --> 00:47:56,800
that's a big challenge too, because you know that experiment

994
00:47:56,840 --> 00:47:59,360
that I did with the first chatchpt for an hour,

995
00:47:59,440 --> 00:48:02,320
and then you know that the GitHub copilot and all

996
00:48:02,360 --> 00:48:04,800
that stuff that took like a whole day just to

997
00:48:04,840 --> 00:48:07,559
figure out that claudees on at three point five was

998
00:48:07,559 --> 00:48:10,559
was the was the model that I wanted. And now

999
00:48:10,599 --> 00:48:13,039
when I go back that, I'm going to try to

1000
00:48:13,159 --> 00:48:16,079
use that for a similar problem. But something else might

1001
00:48:16,119 --> 00:48:18,800
have come around that makes it even easier. Right, So

1002
00:48:19,840 --> 00:48:22,440
keeping up with these things is going to be a

1003
00:48:22,440 --> 00:48:24,000
full time endeavor.

1004
00:48:24,159 --> 00:48:26,880
Speaker 1: I remember the arguments over is garbage collecting actually a

1005
00:48:26,880 --> 00:48:30,119
good idea? We've been to these sort of changes in

1006
00:48:30,159 --> 00:48:32,719
the way we think about code things before. Yeah, and

1007
00:48:33,440 --> 00:48:35,119
it's just this is an issue one.

1008
00:48:35,199 --> 00:48:36,760
Speaker 4: And I also feel like, yeah, you have to keep

1009
00:48:36,840 --> 00:48:39,599
up today with like which models are great for your scenario.

1010
00:48:39,719 --> 00:48:42,840
Let's say, I don't think that's different than keeping up

1011
00:48:42,840 --> 00:48:44,400
with other industry kind of.

1012
00:48:44,480 --> 00:48:48,599
Speaker 2: Yeah, it just most faster, most faster than language evolution

1013
00:48:48,960 --> 00:48:50,239
or tool evolution.

1014
00:48:51,400 --> 00:48:52,880
Speaker 1: That may only be true right now.

1015
00:48:53,119 --> 00:48:55,119
Speaker 4: Yeah, it's a moment in time. I think it feels

1016
00:48:55,159 --> 00:48:58,719
like we're on our way somewhere. Yeah, and we're trying

1017
00:48:58,719 --> 00:49:00,760
to figure out where where does this go? Is this

1018
00:49:00,960 --> 00:49:03,320
is the chat the right interface going forward? Is it

1019
00:49:03,360 --> 00:49:06,320
a what is it? It might be, but it might

1020
00:49:06,360 --> 00:49:09,039
not be. And so we're on our way there wherever

1021
00:49:09,079 --> 00:49:09,440
there is.

1022
00:49:09,599 --> 00:49:12,199
Speaker 2: I have a suggestion to people who are hearing this podcast,

1023
00:49:12,239 --> 00:49:14,880
and that is listen to more dot ne Rocks episodes

1024
00:49:14,920 --> 00:49:16,800
because we'll keep you up to date on these things.

1025
00:49:16,840 --> 00:49:18,679
Because we're doing the hard work out here.

1026
00:49:22,360 --> 00:49:25,480
Speaker 1: We're definitely asking some questions anyway and trying to get

1027
00:49:25,480 --> 00:49:28,199
an overview. Yeah, that's true of you know, who's succeeding,

1028
00:49:28,239 --> 00:49:31,239
who's struggling? Where are these things helping? Word? Don't they help?

1029
00:49:31,400 --> 00:49:33,800
Speaker 4: But we're thinking about this. You know, you might have

1030
00:49:33,880 --> 00:49:37,519
heard this concept of ambient AI. Yeah, so the concept

1031
00:49:37,519 --> 00:49:40,519
real briefly is that it's kind of sitting there in

1032
00:49:40,519 --> 00:49:44,280
the background only showing its phase when it's needed, and

1033
00:49:44,360 --> 00:49:49,079
it seamlessly offer you, you know, the help contextually where

1034
00:49:49,119 --> 00:49:51,199
you want it. And so it's so think of it

1035
00:49:51,239 --> 00:49:54,280
as something that's always there, but it's not in your way,

1036
00:49:54,320 --> 00:49:56,760
and it's not something that you need to learn. And

1037
00:49:56,800 --> 00:50:00,000
so we like that idea because it kind of fits

1038
00:50:00,159 --> 00:50:03,039
naturally into things that already exist. So if we were

1039
00:50:03,079 --> 00:50:05,239
to put it into Visual Studio, for instance, you know

1040
00:50:05,320 --> 00:50:08,320
I mentioned the you know, the generated commit message, Well,

1041
00:50:08,320 --> 00:50:10,840
we already have a commit message box. So adding a

1042
00:50:10,880 --> 00:50:14,320
button that automatically does that would be it's a place

1043
00:50:14,360 --> 00:50:16,800
where you expected, it's not in your way, you don't

1044
00:50:16,840 --> 00:50:19,559
have to prompt anything, right. That's a that's kind of

1045
00:50:19,599 --> 00:50:23,119
ambient AI thinking. Another one is renamed variable. We made

1046
00:50:23,119 --> 00:50:24,880
a big splash about this because you know it's the

1047
00:50:25,280 --> 00:50:28,119
one of the hardest problems in computer science is naming things.

1048
00:50:29,079 --> 00:50:31,119
And so if you want to rename a variable, there's

1049
00:50:31,159 --> 00:50:32,880
like a little UI and Visual studio for that. If

1050
00:50:32,920 --> 00:50:36,599
you could click control r R on an identifier, the

1051
00:50:36,760 --> 00:50:39,280
rename thing come up. We show you automatically the top

1052
00:50:39,320 --> 00:50:41,880
three things that we think based on how that variable

1053
00:50:41,920 --> 00:50:44,320
is being used in your code. What will be good

1054
00:50:44,440 --> 00:50:47,679
names for that based on cipical naming strategies, and so

1055
00:50:47,760 --> 00:50:48,639
that's ambient AI.

1056
00:50:48,920 --> 00:50:51,559
Speaker 1: Although we are talking about Microsoft here and you guys

1057
00:50:51,599 --> 00:50:56,960
have a record about names.

1058
00:50:57,360 --> 00:50:58,880
Speaker 2: All right, well let's just put.

1059
00:50:58,679 --> 00:51:00,239
Speaker 1: That right out there.

1060
00:50:59,599 --> 00:51:02,880
Speaker 2: No size, that's the perfect name for what it does.

1061
00:51:03,079 --> 00:51:04,440
Speaker 1: You know exactly what it does.

1062
00:51:04,639 --> 00:51:07,639
Speaker 4: I'm the worst of naming things. They just the name

1063
00:51:07,719 --> 00:51:08,320
is what they do.

1064
00:51:08,519 --> 00:51:11,480
Speaker 1: Yeah, yeah, which is actually the perfect name. Like, because

1065
00:51:11,599 --> 00:51:12,840
nobody's confused in.

1066
00:51:12,880 --> 00:51:15,960
Speaker 2: The in the UK, they say, it's what's on the tin, right,

1067
00:51:16,440 --> 00:51:19,079
what's printed on the can is what you get. Yeah,

1068
00:51:19,199 --> 00:51:20,000
what's on the tin.

1069
00:51:20,000 --> 00:51:21,800
Speaker 1: It's what is in the can. Like, that's as much

1070
00:51:21,840 --> 00:51:25,400
as we could hope for. I appreciate that.

1071
00:51:26,079 --> 00:51:27,079
Speaker 4: Uh.

1072
00:51:27,480 --> 00:51:28,840
Speaker 1: Can we talk a little bit about the sort of

1073
00:51:28,920 --> 00:51:32,239
project side that is also visual studio because I think,

1074
00:51:32,599 --> 00:51:33,960
you know, people will tell me, you, well, why would

1075
00:51:33,960 --> 00:51:36,239
I use visual studio code of visual studio? And it's like,

1076
00:51:36,920 --> 00:51:39,760
to me, studio is as much a project management tool

1077
00:51:40,119 --> 00:51:41,800
as it is a development environment.

1078
00:51:42,000 --> 00:51:46,000
Speaker 4: It is. Now, that's funny, that's exactly how I look

1079
00:51:46,000 --> 00:51:48,320
at it too, and that relationship you have between projects

1080
00:51:48,360 --> 00:51:52,519
and solutions. But if you're new to visual studio, you know,

1081
00:51:52,800 --> 00:51:56,199
a lot of people don't understand that concept, yeah, because

1082
00:51:56,239 --> 00:51:58,960
it's just new to them, foreign to them, and it

1083
00:51:59,000 --> 00:52:02,119
really allows us to do some interesting things when it

1084
00:52:02,159 --> 00:52:05,519
comes to building and to building context, I mean compiling

1085
00:52:05,840 --> 00:52:08,960
and building context for intellisents and so on when it's

1086
00:52:08,960 --> 00:52:10,920
not based on a file system, but it's based on

1087
00:52:11,239 --> 00:52:15,039
an intentional project structure. So I guess you could replicate

1088
00:52:15,039 --> 00:52:16,920
that in the filesystem too, but that's typically not what

1089
00:52:17,039 --> 00:52:21,880
you see, and so that's you know, we've it's always

1090
00:52:21,920 --> 00:52:24,920
been a little bit problematic too, because loading from a

1091
00:52:24,960 --> 00:52:28,800
file system is fast, but loading from a project hierarchy

1092
00:52:28,880 --> 00:52:31,679
that you have to read the entire hierarchy first before

1093
00:52:31,719 --> 00:52:34,480
you can figure out the dependencies between them and how

1094
00:52:34,519 --> 00:52:37,079
to then render them in the solution explore right in

1095
00:52:37,119 --> 00:52:39,519
the tree view. And so there's always it's always been

1096
00:52:39,519 --> 00:52:43,239
more expensive from that perspective working with the projects and solutions.

1097
00:52:43,800 --> 00:52:47,400
So this time around we've we've finally i'd say, been

1098
00:52:47,440 --> 00:52:50,840
able to go really really deep on some performance stuff

1099
00:52:51,679 --> 00:52:54,280
to make that, you know, faster than ever. So you'll

1100
00:52:54,280 --> 00:52:56,480
notice the first thing you'll notice in the new version

1101
00:52:56,599 --> 00:53:01,599
is how fast things show up, how fast project solutions

1102
00:53:01,639 --> 00:53:03,480
load all that, it's just it's visible immediately.

1103
00:53:03,599 --> 00:53:07,960
Speaker 2: I was under the impression that the reason why visual

1104
00:53:08,000 --> 00:53:13,199
studio proper is slower than say visual studio code is

1105
00:53:13,239 --> 00:53:18,000
because there's a lot of calm involved in stuff, and

1106
00:53:18,079 --> 00:53:21,360
so that naturally kind of slows down the whole process

1107
00:53:21,400 --> 00:53:23,960
and kind of bloats the memory. But I don't know

1108
00:53:24,039 --> 00:53:25,760
if that's really true. What do you think about that?

1109
00:53:26,960 --> 00:53:28,840
Speaker 4: No, that that had that has some truth to it,

1110
00:53:28,880 --> 00:53:32,800
for sure. And but also like visual studios over twenty

1111
00:53:32,840 --> 00:53:35,119
eight years old, and so there's there's some things that

1112
00:53:35,119 --> 00:53:38,239
have just evolved over time, like some debt that has

1113
00:53:38,280 --> 00:53:40,679
been building up, right, and we've finally been able to

1114
00:53:40,719 --> 00:53:43,920
look at that, but some very key aspects of it.

1115
00:53:43,960 --> 00:53:47,000
But one thing that was was a thing was blocking

1116
00:53:47,000 --> 00:53:49,599
the UI threat. So when you would click a button

1117
00:53:49,920 --> 00:53:53,639
to do it something, sometimes whatever would happen when you

1118
00:53:53,639 --> 00:53:55,800
click that button would do that on the UI threat.

1119
00:53:55,880 --> 00:53:59,159
And what that means is that visual studio freezese. Nothing

1120
00:53:59,199 --> 00:54:01,920
could update on the score, right, and so we would

1121
00:54:02,280 --> 00:54:03,920
and so we get what we call it's called a hang,

1122
00:54:04,320 --> 00:54:07,440
but you might call it a freeze, and Zoo would

1123
00:54:07,440 --> 00:54:09,440
be unresponsive for like a half a second.

1124
00:54:09,519 --> 00:54:12,159
Speaker 2: Once the programmers know all about that though. I mean,

1125
00:54:12,199 --> 00:54:14,679
if you've done any kind of multi threaded or a programming,

1126
00:54:14,719 --> 00:54:15,440
you know what that is.

1127
00:54:16,239 --> 00:54:17,280
Speaker 4: That's top programmers.

1128
00:54:17,800 --> 00:54:22,199
Speaker 2: Richard had this comment about outlook sixty five threads and

1129
00:54:22,320 --> 00:54:28,719
not one of them for me, that's my thread.

1130
00:54:29,119 --> 00:54:31,239
Speaker 4: But when you start but when you start doing that,

1131
00:54:31,320 --> 00:54:33,159
and that's part of that profile the thing too, right

1132
00:54:33,320 --> 00:54:35,679
or or debugger where like something like an AI can

1133
00:54:35,719 --> 00:54:38,880
help you. Is it's really hard to d book like

1134
00:54:39,239 --> 00:54:44,119
acinc call stacks and you know, multi threaded applications or whatnot.

1135
00:54:44,639 --> 00:54:48,960
But this time around, we've really really done more than

1136
00:54:49,000 --> 00:54:51,519
ever in terms of moving things out of the UI

1137
00:54:51,519 --> 00:54:55,679
threat and that we run dot net you know core

1138
00:54:56,559 --> 00:54:59,960
processes under visual Studio that you know runs very qui

1139
00:55:00,199 --> 00:55:02,159
and very fast, and it does a lot of that

1140
00:55:02,239 --> 00:55:04,559
work in the background now. So you'll see visual Studio

1141
00:55:04,639 --> 00:55:09,679
becoming a lot snappier. So opening startup, opening a solution,

1142
00:55:10,159 --> 00:55:13,480
time you hit five, like compilation and time for you

1143
00:55:13,559 --> 00:55:14,800
to hit When you hit a five too, you hit

1144
00:55:14,840 --> 00:55:16,800
your break point. Is that was so much faster than

1145
00:55:16,880 --> 00:55:19,360
ever was and it does all that while the UI

1146
00:55:19,400 --> 00:55:20,320
is still respond here.

1147
00:55:20,480 --> 00:55:23,280
Speaker 2: If you guys at Microsoft, the people that are working

1148
00:55:23,280 --> 00:55:27,320
on Visual Studio in general are using AI to help

1149
00:55:27,440 --> 00:55:32,159
them find bottlenecks and find places that need to be

1150
00:55:32,719 --> 00:55:33,559
fixed or updated.

1151
00:55:33,920 --> 00:55:36,119
Speaker 4: Yeah, we're using it internally. You have to you have

1152
00:55:36,159 --> 00:55:39,119
to think about the So the Profiler Agent is really new,

1153
00:55:39,440 --> 00:55:41,800
So we haven't used it like extensively, like for a

1154
00:55:41,840 --> 00:55:46,000
long period of time. It's very new, and I tell

1155
00:55:46,000 --> 00:55:47,159
you it was. Some of the first things we did

1156
00:55:47,320 --> 00:55:49,400
was we told all the teams, hey use it on

1157
00:55:49,440 --> 00:55:52,840
your own code base inside Visual Studio, and so we

1158
00:55:52,880 --> 00:55:56,239
see optimizations come in all the time. But what Nick did,

1159
00:55:56,440 --> 00:55:58,760
he's on the profiler team, he did something really interesting.

1160
00:55:58,840 --> 00:56:01,639
He started with the top hundred Nugat packages and he

1161
00:56:01,679 --> 00:56:04,880
would profile them to figure out where are the hotspots

1162
00:56:04,920 --> 00:56:06,480
or whatever and can he fixed them? So he sent

1163
00:56:06,599 --> 00:56:09,760
starts sending pull requests to the top Nugat packages because

1164
00:56:09,760 --> 00:56:12,880
they're used in thousands and if not millions of apps, right,

1165
00:56:13,719 --> 00:56:16,280
and that means if he can like do seventeen percent

1166
00:56:16,360 --> 00:56:19,360
better performance for some of these packages, like that's a

1167
00:56:19,519 --> 00:56:21,280
huge win for everybody.

1168
00:56:21,800 --> 00:56:22,400
Speaker 1: Yeah wow.

1169
00:56:22,719 --> 00:56:25,960
Speaker 4: So he's been very busy doing that and that's really

1170
00:56:25,960 --> 00:56:28,599
great because that trains him in using the product and

1171
00:56:28,679 --> 00:56:31,199
figuring out where there could be further improvements and so on.

1172
00:56:31,960 --> 00:56:35,559
Plus all the internal dog footing stuff off that profiler

1173
00:56:36,719 --> 00:56:39,639
ends up making everything better and we can fine tune

1174
00:56:39,679 --> 00:56:41,920
all these things and it's it's really impressive.

1175
00:56:41,920 --> 00:56:45,079
Speaker 2: Well, I guarantee Polly isn't one of those newcat packages

1176
00:56:45,119 --> 00:56:46,800
that needed improvement.

1177
00:56:47,440 --> 00:56:49,719
Speaker 4: It's really should I tell nick to go look at that.

1178
00:56:50,280 --> 00:56:52,719
Speaker 2: No, it's really fast, it's really good.

1179
00:56:53,039 --> 00:56:55,239
Speaker 4: Oh, it's fast enough, it doesn't need Yeah, it's.

1180
00:56:55,119 --> 00:56:58,639
Speaker 1: Like all native the as your team got involved because

1181
00:56:58,679 --> 00:57:00,800
they were leaning on it. Pretty Yeah.

1182
00:57:00,920 --> 00:57:04,559
Speaker 4: I think actually Nicky found that when he ran some profiling,

1183
00:57:04,599 --> 00:57:07,400
he figured out all the way down in dot Net

1184
00:57:07,440 --> 00:57:10,800
framework itself that there was something that could be optimize.

1185
00:57:11,039 --> 00:57:13,679
So I think he's gonna send up a code update.

1186
00:57:13,920 --> 00:57:16,360
I'm not sure they take pull requests in the traditional sense,

1187
00:57:16,920 --> 00:57:19,079
but like he's gonna see if we can get some.

1188
00:57:19,400 --> 00:57:20,039
Speaker 2: That's so cool.

1189
00:57:20,199 --> 00:57:22,639
Speaker 4: That framework, because that has to do with visual studio startup.

1190
00:57:22,920 --> 00:57:26,000
Visual Studio actually is a native process that boots up

1191
00:57:26,119 --> 00:57:29,599
the dot Net framework in its own. It's like it's

1192
00:57:29,639 --> 00:57:30,280
really kind of.

1193
00:57:30,719 --> 00:57:33,559
Speaker 2: And you're talking about you're talking about the Donet framework,

1194
00:57:33,599 --> 00:57:35,360
the Windows version of dot Net framework.

1195
00:57:35,719 --> 00:57:37,559
Speaker 4: Yeah, framework for it Yep.

1196
00:57:37,480 --> 00:57:39,639
Speaker 2: That's so cool that you guys are doing that, and

1197
00:57:40,360 --> 00:57:42,199
it's it's inspirational.

1198
00:57:42,360 --> 00:57:45,280
Speaker 1: Really well, it's just a reminder that Microsoft employees use

1199
00:57:45,360 --> 00:57:48,840
Visual Studio like the products you build the products with

1200
00:57:48,880 --> 00:57:50,239
the products Uber Dog Souper.

1201
00:57:51,199 --> 00:57:53,000
Speaker 4: That's my joke always like, hey, did you know that

1202
00:57:53,079 --> 00:57:56,719
Visual Studio twenty twenty six was build using Visual Studio six.

1203
00:57:57,360 --> 00:57:59,960
Speaker 1: That's great, it's true. So where can folks take out

1204
00:58:00,159 --> 00:58:01,079
preview out firs spin.

1205
00:58:01,440 --> 00:58:03,599
Speaker 4: Yeah, go to visual studio dot com, click the download

1206
00:58:03,639 --> 00:58:07,280
button and select the preview of twenty twenty six. That's

1207
00:58:07,280 --> 00:58:07,679
how you do it.

1208
00:58:07,679 --> 00:58:10,000
Speaker 2: But if you already have the Visual Studio installer, you

1209
00:58:10,000 --> 00:58:13,519
can just load run that and it'll tell you if

1210
00:58:13,519 --> 00:58:15,000
there are preview versions, right.

1211
00:58:15,440 --> 00:58:18,480
Speaker 4: You need to maybe if you have the preview already,

1212
00:58:18,519 --> 00:58:22,199
you've got the latest on the preview that includes the installer. Otherwise,

1213
00:58:22,239 --> 00:58:24,119
just go to visual studiot com click it there. If

1214
00:58:24,119 --> 00:58:26,760
it doesn't show up for you, and you can install

1215
00:58:26,760 --> 00:58:29,559
a side by side. It won't interfere with any other installs.

1216
00:58:29,599 --> 00:58:32,039
You got a Visual Studio twenty twenty two or whatever,

1217
00:58:32,679 --> 00:58:34,840
and it will it will look at twenty twenty two

1218
00:58:34,920 --> 00:58:36,840
if you have that installed. So when you're installed twenty

1219
00:58:36,840 --> 00:58:38,840
twenty six, it looks at twenty twenty two, and it

1220
00:58:38,880 --> 00:58:44,000
looks at your settings, your extensions, and the components the

1221
00:58:44,039 --> 00:58:47,000
workloads like if you're if you've taken like let's say

1222
00:58:47,159 --> 00:58:50,840
dot net, ASP, dot net and desktop, those are your

1223
00:58:50,880 --> 00:58:54,800
two workloads. It will copy that information. It will take

1224
00:58:54,800 --> 00:58:57,880
that information from twenty twenty two and pre select all that.

1225
00:58:57,920 --> 00:59:00,239
So your installation is super smooth. You get all the

1226
00:59:00,239 --> 00:59:03,920
components you need, settings and extensions because the extensions are

1227
00:59:04,840 --> 00:59:07,199
you're twenty twenty two. Extensions work in twenty twenty three.

1228
00:59:07,239 --> 00:59:14,639
Speaker 2: You go, let's hear for extensions. Yeah, going into the future.

1229
00:59:14,960 --> 00:59:17,400
Speaker 4: Very exciting stuff and that. Yeah, so it's super fast

1230
00:59:17,440 --> 00:59:19,800
to get from you click the install butt until you're

1231
00:59:19,800 --> 00:59:22,679
able to open till you're able to open your solution

1232
00:59:22,760 --> 00:59:25,440
and start writing code. Is probably the fastest ever.

1233
00:59:25,559 --> 00:59:29,079
Speaker 2: Fantastic nice All right, Well, geez, I think I ran

1234
00:59:29,119 --> 00:59:31,559
out of questions. You got any more, Richard.

1235
00:59:31,360 --> 00:59:33,920
Speaker 1: No good. I think it looks like it's gonna be

1236
00:59:33,960 --> 00:59:35,599
an awesome version of the studio, and it's been a

1237
00:59:35,599 --> 00:59:37,239
while coming, but I understand why.

1238
00:59:37,480 --> 00:59:40,599
Speaker 2: Matt, thank you so much. It's been awesome as always.

1239
00:59:40,639 --> 00:59:43,559
Speaker 4: Thanks for having me. It's my pleasure as always.

1240
00:59:43,159 --> 00:59:45,400
Speaker 5: All right, and we'll talk to you next time on

1241
00:59:45,519 --> 01:00:02,960
dot net brocks.

1242
01:00:07,199 --> 01:00:09,880
Speaker 2: Dot net Rocks is brought to you by Franklin's Net

1243
01:00:10,000 --> 01:00:13,960
and produced by Pop Studios, a full service audio, video

1244
01:00:14,039 --> 01:00:18,119
and post production facility located physically in New London, Connecticut,

1245
01:00:18,360 --> 01:00:23,159
and of course in the cloud online at pwop dot com.

1246
01:00:23,360 --> 01:00:25,480
Visit our website at d O T N E t

1247
01:00:25,719 --> 01:00:29,760
R O c k S dot com for RSS feeds, downloads,

1248
01:00:29,880 --> 01:00:33,559
mobile apps, comments, and access to the full archives going

1249
01:00:33,599 --> 01:00:37,000
back to show number one, recorded in September.

1250
01:00:36,440 --> 01:00:37,239
Speaker 1: Two thousand and two.

1251
01:00:37,920 --> 01:00:40,239
Speaker 2: And make sure you check out our sponsors. They keep

1252
01:00:40,320 --> 01:00:43,480
us in business. Now go write some code, See you

1253
01:00:43,519 --> 01:00:43,960
next time.

1254
01:00:44,880 --> 01:00:46,679
Speaker 4: You got Javans

1255
01:00:48,760 --> 01:01:00,559
Speaker 1: And s

