1
00:00:01,080 --> 00:00:04,839
Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05,360 --> 00:00:08,560
Become a patron for just five dollars a month. You

3
00:00:08,599 --> 00:00:11,320
get access to a private RSS feed where all the

4
00:00:11,359 --> 00:00:14,560
shows have no ads. Twenty dollars a month. We'll get

5
00:00:14,599 --> 00:00:18,440
you that and a special dot NetRocks patron mug. Sign

6
00:00:18,519 --> 00:00:35,200
up now at Patreon dot dot NetRocks dot com. All right,

7
00:00:35,280 --> 00:00:38,439
all right, all right, it's dot net Rocks episode nineteen

8
00:00:38,560 --> 00:00:39,079
ninety seven.

9
00:00:39,159 --> 00:00:42,759
Speaker 2: I'm Carl Franklin Richard Campbell. I think it's nineteen seventy seven.

10
00:00:42,880 --> 00:00:44,359
Speaker 1: Did I say nineteen ninety seven?

11
00:00:44,479 --> 00:00:46,320
Speaker 2: Yeah, you're jumping ahead, dude. It's like we got too

12
00:00:46,359 --> 00:00:50,479
many shows. I get it, but come on, go hurry.

13
00:00:50,560 --> 00:00:54,359
Speaker 1: Yes, nineteen seventy seven, Yes, yes, thank you, Richard. Uh,

14
00:00:54,679 --> 00:00:55,520
it was a good year.

15
00:00:55,679 --> 00:00:56,439
Speaker 2: It was a big year.

16
00:00:56,520 --> 00:00:58,439
Speaker 1: Oh my god, it was a great year. Let's talk

17
00:00:58,479 --> 00:01:00,960
about the year nineteen seventy seven. I'm going to start, Okay,

18
00:01:01,000 --> 00:01:04,200
hit me with my favorite album came out in nineteen

19
00:01:04,319 --> 00:01:07,040
seventy seven. That would be Asia by Steely Dan.

20
00:01:07,319 --> 00:01:10,439
Speaker 2: That's not surprising at all, though, of course it is. Yeah,

21
00:01:10,920 --> 00:01:12,799
I've heard more Steely Dan hanging around with you than

22
00:01:12,799 --> 00:01:14,159
the rest of my life combined.

23
00:01:14,319 --> 00:01:16,480
Speaker 1: I think most people in my life have heard more

24
00:01:16,480 --> 00:01:21,400
Steely Dan from me. Also, Star Wars. Got to talk

25
00:01:21,400 --> 00:01:23,959
about Star Wars. Yeah, yeah, what can you say? What

26
00:01:24,000 --> 00:01:25,760
can you say? Yeah? Star Wars.

27
00:01:25,799 --> 00:01:27,799
Speaker 2: None of us can see the original because he just

28
00:01:27,879 --> 00:01:28,840
kept tinkering with it.

29
00:01:28,920 --> 00:01:32,599
Speaker 1: But yeah. The first episode of Saturday Night Live aired

30
00:01:32,840 --> 00:01:38,640
wow in December. December fifteenth July, New York City experienced

31
00:01:38,640 --> 00:01:43,400
a massive blackout, leading to widespread looting, right, and.

32
00:01:43,439 --> 00:01:44,400
Speaker 2: A lot of pregnancies.

33
00:01:45,359 --> 00:01:49,200
Speaker 1: Yeah, let's see. In January, Jimmy Carter was inaugurated as

34
00:01:49,239 --> 00:01:53,439
the thirty ninth President of the United States. February, Fleetwood

35
00:01:53,560 --> 00:01:56,439
Mac released their iconic album Rumors. This is one of

36
00:01:56,480 --> 00:01:58,200
my This has got to be my favorite year. The

37
00:01:58,280 --> 00:02:02,640
amazing music year, amazing music and cultural year. Here sure,

38
00:02:04,000 --> 00:02:07,519
Indira Gandhi withdrew the State of Emergency and Indie. Uh,

39
00:02:07,799 --> 00:02:11,960
let's see what else we got here. The first personal computer,

40
00:02:12,039 --> 00:02:15,560
the Commodore PET, was demonstrated. Was it really the first

41
00:02:15,560 --> 00:02:16,360
personal computer?

42
00:02:16,479 --> 00:02:16,639
Speaker 3: Yeah?

43
00:02:16,680 --> 00:02:19,520
Speaker 2: I think that's that's not true. Yeah, okay. The ninety

44
00:02:19,599 --> 00:02:22,199
seventy seven is an amazing year for for early personal computers.

45
00:02:22,360 --> 00:02:25,479
Speaker 1: Yeah. The Atari twenty six hundred was released in August.

46
00:02:25,560 --> 00:02:28,240
Speaker 2: Yeah, then was the VCS one of the first. They

47
00:02:28,280 --> 00:02:30,759
didn't the twenty six hundreds a retro name.

48
00:02:30,680 --> 00:02:33,039
Speaker 1: And the big bummer of nineteen seventy seven.

49
00:02:32,879 --> 00:02:33,840
Speaker 2: Elvis dud.

50
00:02:35,479 --> 00:02:37,560
Speaker 1: I could think of a couple others, Yeah, there were,

51
00:02:37,639 --> 00:02:40,280
there were a couple other bummers. But man, what a

52
00:02:40,280 --> 00:02:43,439
good year for music and movies for sure and stuff.

53
00:02:43,560 --> 00:02:45,240
So anything else that we.

54
00:02:46,080 --> 00:02:49,520
Speaker 2: Ninety seventy seven computer wise is yes, the Commodore Pat

55
00:02:49,800 --> 00:02:53,439
but also the Tierras eighty Model one and the Apple two,

56
00:02:54,039 --> 00:02:56,719
the trifecta. So I'm sorry, you can't pick a you

57
00:02:56,719 --> 00:02:59,000
can't pick a winner there by the way each of

58
00:02:59,039 --> 00:03:02,719
them ship they original versions for with four K of

59
00:03:02,840 --> 00:03:06,319
ram awesome, although all subsequent but the pricing is hilarious.

60
00:03:06,360 --> 00:03:09,240
The Tirsa Model one, which was four K cassette player

61
00:03:09,719 --> 00:03:11,759
a version of Basic not BA by Microsoft. It was

62
00:03:11,759 --> 00:03:15,439
a tiny Basic. Six hundred dollars is the original price. Wow.

63
00:03:15,479 --> 00:03:20,520
The Commodore PET four K integrated cassette player for eight

64
00:03:20,599 --> 00:03:23,199
hundred dollars, although the way they rigged the machine there

65
00:03:23,240 --> 00:03:25,240
was so little memory left with four K that by

66
00:03:25,240 --> 00:03:27,000
the next year they ship at the minimum of eight K.

67
00:03:27,520 --> 00:03:30,159
That and also the Japanese are now making Rama RAM

68
00:03:30,199 --> 00:03:34,439
prices drop quickly. The Apple two's initial release also four

69
00:03:34,520 --> 00:03:38,599
KNA cassette player for twelve hundred US. You know, Apple

70
00:03:38,680 --> 00:03:42,080
being the expensive machine. Turns out it was always true. Yeah,

71
00:03:42,159 --> 00:03:45,840
so they all three of them. The Atari VCS, which

72
00:03:46,280 --> 00:03:48,080
we'd later know as the twenty six hundred, was only

73
00:03:48,080 --> 00:03:50,439
one hundred ninety dollars. Yeah, but it's because it only

74
00:03:50,479 --> 00:03:53,560
had one hundred and twenty eight bytes a RAM in it.

75
00:03:53,639 --> 00:03:56,199
Speaker 1: But it also played games, which was really they played

76
00:03:56,240 --> 00:03:59,000
games and you know the gamer generation kind of core

77
00:03:59,120 --> 00:03:59,680
up there, and they.

78
00:03:59,680 --> 00:04:01,879
Speaker 2: Used this simplified version of the sixty five O two

79
00:04:01,919 --> 00:04:03,879
called the sixty five oh seven. Yeah. By the way,

80
00:04:03,879 --> 00:04:05,639
all those machines were sixty five O two except the

81
00:04:05,639 --> 00:04:10,960
TIERRS eight, which was the eighty eighty last technology one

82
00:04:11,000 --> 00:04:14,680
would be the original test of TCAPFP, which was between

83
00:04:14,719 --> 00:04:17,399
Stanford and call A University College in London, was in

84
00:04:17,480 --> 00:04:20,399
nineteen seventy five. In seventy seven they do the first

85
00:04:20,560 --> 00:04:25,399
three way network test between UK US and Norway. Wow,

86
00:04:25,480 --> 00:04:27,920
so just experimenting with can we do the pack of transfers?

87
00:04:27,959 --> 00:04:33,319
Those things work reliable space related Yeah, so seventy six

88
00:04:33,439 --> 00:04:35,759
was when the shuttle Enterprise was first rolled out. It

89
00:04:35,800 --> 00:04:38,160
was originally called Constitution, but they relazed in Enterprise because

90
00:04:38,160 --> 00:04:41,600
a bunch of Trekees rolled in. So seventy seven is

91
00:04:41,600 --> 00:04:44,720
the first three flights of Enterprise, so the first two

92
00:04:45,000 --> 00:04:47,279
theres are captive, so they're on the back of a

93
00:04:47,319 --> 00:04:50,360
seven forty seven. Enterprise's job was to prove that you

94
00:04:50,399 --> 00:04:52,720
could land a spaceship because nobody had never done that before,

95
00:04:53,240 --> 00:04:55,879
and so on the back of seven forty seven they

96
00:04:55,879 --> 00:04:57,279
go up unman just to make sure that the flight

97
00:04:57,360 --> 00:05:00,759
dynamics are safe. Second flight, they have a crew in

98
00:05:00,759 --> 00:05:02,959
it because there's no way out if something goes wrong,

99
00:05:03,040 --> 00:05:06,360
so they're being very careful. And then in August they

100
00:05:06,360 --> 00:05:08,839
do the first three flights, so releasing Enterprise from the

101
00:05:08,839 --> 00:05:11,079
back of seven forty seven and it comes to lands

102
00:05:11,160 --> 00:05:14,519
on the Long Strip at Edwards Air Force Base, and

103
00:05:14,560 --> 00:05:16,480
again they're trying to figure out if they can actually

104
00:05:16,600 --> 00:05:21,480
land a spacecraft on the ground with wheels. Enterprise had

105
00:05:21,519 --> 00:05:25,199
intend they intended to make it into an actual spacecraft.

106
00:05:25,199 --> 00:05:29,360
It never did. The main reason was it was wildly overweight,

107
00:05:30,000 --> 00:05:32,920
and as was Columbia, the one that would ultimately fly

108
00:05:33,040 --> 00:05:35,480
and they would get lighter from there. I could go

109
00:05:35,519 --> 00:05:37,439
on for a long time about space shuttles, and you

110
00:05:37,560 --> 00:05:37,879
know this.

111
00:05:38,000 --> 00:05:40,040
Speaker 1: I know you can. I think you read the manual

112
00:05:40,079 --> 00:05:43,680
in the front to back, didn't you? The operations manual well, And.

113
00:05:43,639 --> 00:05:47,360
Speaker 2: The original, arguably the original geekout is me granting about

114
00:05:47,399 --> 00:05:49,439
the end of the space Shuttle program in twenty eleven,

115
00:05:49,560 --> 00:05:51,759
which was entirely your idea that I thought was a

116
00:05:51,759 --> 00:05:55,120
bad idea, and I was wrong. But if you want

117
00:05:55,160 --> 00:05:56,480
to go back and listen to all of my thoughts

118
00:05:56,480 --> 00:05:59,879
of the space Shuttle, go back to the twenty eleven geekouts.

119
00:06:00,160 --> 00:06:02,959
Speaker 1: It's worth it. You can even get an RSS feed

120
00:06:03,000 --> 00:06:06,160
with the tag that you can get only the gas.

121
00:06:07,079 --> 00:06:10,360
Speaker 2: The two more things on the space side. This is

122
00:06:10,360 --> 00:06:13,839
the year that Voyager one and two launch. Now we

123
00:06:13,879 --> 00:06:16,480
call them the Voyagers because they were the long range missions,

124
00:06:16,480 --> 00:06:18,759
but these are still what they call Mariner class missions.

125
00:06:18,759 --> 00:06:21,439
So the spacecraft that went to Venus and Mars and

126
00:06:21,480 --> 00:06:26,040
Mercury there in seventy seven. There was a particular conjunction.

127
00:06:26,199 --> 00:06:29,000
The motion of the planets allowed for a flight that

128
00:06:29,040 --> 00:06:32,360
would hit multiple outer planet bodies, So Voyager one made

129
00:06:32,360 --> 00:06:36,360
it to both Jupiter and Saturn. The most famous thing

130
00:06:36,399 --> 00:06:39,240
I would say Voyager one did this was Carl Sagan's

131
00:06:39,279 --> 00:06:42,759
idea is about ten years after the fly Biosaturn in

132
00:06:42,879 --> 00:06:47,240
nineteen ninety, he had the spacecraft turn around and take

133
00:06:47,319 --> 00:06:48,959
a picture of the Earth.

134
00:06:49,279 --> 00:06:52,879
Speaker 1: It was the first Earth selfie. Yeah, flow got.

135
00:06:52,839 --> 00:06:56,439
Speaker 2: Billion kilometers away, but yeah, the great famous pale blue

136
00:06:56,480 --> 00:06:59,240
dot photo. Voyager two arguably had the more interesting flight

137
00:06:59,279 --> 00:07:01,399
because of it and timing. It was not only able

138
00:07:01,399 --> 00:07:03,079
to do a fly by of Jupiter and Saturn, but

139
00:07:03,160 --> 00:07:06,839
also Uranus and Neptune. Both these vehicles.

140
00:07:06,319 --> 00:07:09,079
Speaker 1: And now it's beyond this. Now it's beyond the Solar

141
00:07:09,120 --> 00:07:10,879
System billions of miles away.

142
00:07:11,160 --> 00:07:15,480
Speaker 2: Yet beyond the heliopause is the teedical term. So the

143
00:07:15,600 --> 00:07:18,800
energy of the Sun pushing outward gets pushed back by

144
00:07:18,800 --> 00:07:23,600
the interstellar energies past the heliopause, and both Barger one

145
00:07:23,639 --> 00:07:27,600
and two are through those still operational, although on very

146
00:07:27,839 --> 00:07:31,199
limited power. Many of their instruments are turned off. One

147
00:07:31,279 --> 00:07:33,720
last point, and this is the thing we call the

148
00:07:33,800 --> 00:07:39,519
Wow signal. So also in seventy seven, Ohio State University

149
00:07:39,560 --> 00:07:42,480
had a radio telescope called the Big Ear, and they

150
00:07:42,519 --> 00:07:46,279
occasionally got time to do SETI work or search for

151
00:07:46,360 --> 00:07:50,720
extraterrestrial life. And in seventy seven there was a signal

152
00:07:50,879 --> 00:07:55,240
that ran for seventy two seconds. Why seventy two seconds

153
00:07:55,240 --> 00:07:58,199
because that was as long as the bigger could be

154
00:07:58,199 --> 00:08:02,439
pointed in the direction of Sagittarius because the planet was moving,

155
00:08:02,879 --> 00:08:05,319
so it could have been longer than that. It was

156
00:08:05,360 --> 00:08:10,319
a very powerful signal, thirty times past the mean background

157
00:08:10,360 --> 00:08:14,319
noise on the fourteen twenty megahertz spectrum, which is we

158
00:08:14,399 --> 00:08:16,120
sort of agreed on, like if I was going to

159
00:08:16,120 --> 00:08:21,199
communicate across a galaxy, I would use this hydrogen resonance frequency.

160
00:08:21,639 --> 00:08:24,079
And so there it was, this massive signal from the

161
00:08:24,160 --> 00:08:27,720
region of space around the constation Sagittarius. Never to be repeated.

162
00:08:27,839 --> 00:08:29,360
Is that the one that turned out to be a pulsar?

163
00:08:29,519 --> 00:08:31,680
They just don't know. They still don't know. Yeah, that

164
00:08:31,720 --> 00:08:34,240
one's never been repeated. It's just a sort of unknown,

165
00:08:34,360 --> 00:08:39,279
bizarrely powerful signal. Nothing interpretable from it. Don't know if

166
00:08:39,279 --> 00:08:41,840
we even actually got the whole signal pretty sure we didn't.

167
00:08:42,279 --> 00:08:45,080
Just one of those crazy, crazy things that happened, and

168
00:08:45,120 --> 00:08:47,039
the only one of it's got Wow there you go.

169
00:08:47,039 --> 00:08:50,080
Speaker 1: Oh all right, well, I guess we should roll the

170
00:08:50,159 --> 00:08:54,279
music for the inimitable better Note of frameworks segments.

171
00:08:54,399 --> 00:09:03,720
Speaker 2: Awesome, sard man, what do you got? So?

172
00:09:03,960 --> 00:09:08,240
Speaker 1: Our friend Thomas Betts send me this email and he

173
00:09:08,320 --> 00:09:10,679
said this is one for better No framework. If you

174
00:09:10,720 --> 00:09:13,120
go to VS code and Leslie you can chime in

175
00:09:13,159 --> 00:09:19,879
on this too. Let's just say stop, don't tell anybody,

176
00:09:19,960 --> 00:09:27,159
but search vs code settings for yolo yolo as in

177
00:09:27,360 --> 00:09:31,799
you only live once, that's right, Yolo mode. Basically, here's

178
00:09:31,840 --> 00:09:40,480
what it says. It's a global auto approve experimental And

179
00:09:40,879 --> 00:09:45,559
it says Yolo mode disables manual approval completely for all

180
00:09:45,600 --> 00:09:50,679
tools in all workspaces, allowing the agent to act fully autonomously.

181
00:09:51,320 --> 00:09:56,559
This is extremely dangerous and is never recommended. Even containerized

182
00:09:56,720 --> 00:10:00,399
environments like code space and dev containers have user keys

183
00:10:00,399 --> 00:10:04,200
forwarded into the container that could be compromised. This feature

184
00:10:04,279 --> 00:10:08,840
disables critical security protections and makes it much easier for

185
00:10:08,879 --> 00:10:12,519
an attacker to compromise the machine. But guess what, you

186
00:10:12,600 --> 00:10:13,399
can turn it on.

187
00:10:16,639 --> 00:10:17,279
Speaker 3: A little scary.

188
00:10:18,159 --> 00:10:21,279
Speaker 1: It's a little scary, oh man?

189
00:10:21,840 --> 00:10:28,120
Speaker 3: But hey, yeah that I I suppose.

190
00:10:28,399 --> 00:10:29,919
Speaker 2: Yeah, yeah, all right.

191
00:10:29,960 --> 00:10:32,399
Speaker 1: And I found that it was turned on in my

192
00:10:32,639 --> 00:10:36,480
uh in my visual studio code and I don't know why.

193
00:10:36,559 --> 00:10:37,039
Speaker 2: That's great.

194
00:10:37,080 --> 00:10:41,080
Speaker 1: So it's turned off. Now that's my God. Isn't that crazy?

195
00:10:41,559 --> 00:10:42,000
Speaker 2: I love it?

196
00:10:42,080 --> 00:10:45,240
Speaker 3: Yeah? Yeah, oh yeah, they definitely don't. They hide that

197
00:10:46,000 --> 00:10:48,600
in the documentation Somewhere, I like googled it as you

198
00:10:48,600 --> 00:10:51,200
were chatting about it. I'm like, oh, they're.

199
00:10:51,000 --> 00:10:55,200
Speaker 2: Really I found a GitHub repository with the list of

200
00:10:55,279 --> 00:10:58,679
settings that you can apply to your configuration if you

201
00:10:58,720 --> 00:11:01,519
want to. It's I'll include that in the show notes.

202
00:11:01,519 --> 00:11:04,320
You want to live careful, do not run with scissors.

203
00:11:04,519 --> 00:11:07,519
Speaker 1: Do not run with scissors. I would not recommend using

204
00:11:07,600 --> 00:11:09,519
yellow mode for anything.

205
00:11:10,120 --> 00:11:10,919
Speaker 2: I just want it.

206
00:11:11,039 --> 00:11:13,080
Speaker 1: Don't shoot the messenger on.

207
00:11:13,159 --> 00:11:16,279
Speaker 3: A disclaimer like, we're not responsible for any bad decisions

208
00:11:16,279 --> 00:11:17,879
that are made you mad.

209
00:11:18,879 --> 00:11:23,559
Speaker 1: Yeah, there is Thomas Betts. We hold him completely innocent. Okay,

210
00:11:23,600 --> 00:11:26,080
well that's what I got, Richard, who's talking to us today.

211
00:11:26,759 --> 00:11:28,759
Speaker 2: I grabbed a comment off a show eighteen seventy, the

212
00:11:28,759 --> 00:11:30,679
one we did with Jeffert's talking about dot net comp

213
00:11:30,720 --> 00:11:33,200
which should be you know, around the time the show

214
00:11:33,279 --> 00:11:37,399
comes out, because Jeff coopf is imminent, and this comment

215
00:11:37,480 --> 00:11:40,200
comes from our friend Mark Semen because one of the

216
00:11:40,200 --> 00:11:43,440
conversations we have with Jeff was about the Visual Studio Debugger,

217
00:11:43,480 --> 00:11:47,519
and since we have the Visual Studio Debugger Goddess on

218
00:11:47,720 --> 00:11:50,639
the show today, I thought i'd bring it up because

219
00:11:50,639 --> 00:11:52,720
it also leads to a broader conversation I think is

220
00:11:52,759 --> 00:11:55,879
an interesting one. And Mark Semen has been a guest

221
00:11:55,919 --> 00:11:59,120
on the show many times, one of our friends. He's right, transpirational,

222
00:11:59,360 --> 00:12:01,919
very thoughtful guy, and so, of course, oddly enough two

223
00:12:02,000 --> 00:12:05,080
years ago, what a very thoughtful message he said. The

224
00:12:05,159 --> 00:12:07,720
visual studio a bugger is great, indeed, but I usually

225
00:12:07,720 --> 00:12:10,600
try to teach my clients to use it less rather

226
00:12:10,639 --> 00:12:13,919
than more. There are other good ways of troublesoit problems

227
00:12:13,919 --> 00:12:18,759
with code notice and react to compiler warnings. Gez, didn't

228
00:12:18,759 --> 00:12:21,440
you'd say exactly that to me when before we were recording.

229
00:12:21,480 --> 00:12:23,200
It's like, you know, if you just look at what

230
00:12:23,240 --> 00:12:26,759
the compiler says, you know a lot, use static code analysis.

231
00:12:26,799 --> 00:12:30,720
It will often prevent errors. Actually read and try to

232
00:12:30,960 --> 00:12:34,559
understand the error messages you're getting. Yeah, try to understand

233
00:12:34,559 --> 00:12:38,639
because sometimes they're pretty opick. Sometimes have good test coverage

234
00:12:38,679 --> 00:12:42,840
and run those tests. Write and test code in short

235
00:12:42,879 --> 00:12:45,440
iterations instead of, as I've believed on the show, write

236
00:12:45,480 --> 00:12:48,200
code for an hour only a learn it doesn't work,

237
00:12:48,960 --> 00:12:53,360
write small isolated blocks of code, and favor pure functions

238
00:12:53,399 --> 00:12:57,360
over state mutation. It's a perimeter in past the perimeter out.

239
00:12:58,279 --> 00:12:59,919
That being said, I also use it a bugger, but

240
00:13:00,080 --> 00:13:03,080
not that often and mostly when all those other techniques fail.

241
00:13:03,159 --> 00:13:05,679
Me as impressive a piece of engineering as a debugger,

242
00:13:05,679 --> 00:13:08,039
as one could argue that it's a great solution to

243
00:13:08,120 --> 00:13:12,759
the wrong problem. You know, I think it's a great

244
00:13:12,799 --> 00:13:15,120
solution all up, not the least of which because I'm

245
00:13:15,159 --> 00:13:16,960
hanging with Leslie at the moment and I think her

246
00:13:16,960 --> 00:13:20,600
work is amazing. But it also releases this broader conversation

247
00:13:20,799 --> 00:13:26,080
of craftsmanship styles like I think Gil Gates was quoted about,

248
00:13:26,120 --> 00:13:28,440
you know, the correct answer this just don't write any bugs.

249
00:13:29,600 --> 00:13:32,720
It reminded me of a conversation we had maybe ten

250
00:13:32,840 --> 00:13:39,120
years earlier with Scott Nimrod talking about not being a

251
00:13:39,120 --> 00:13:44,039
professional debugger but being more a professional coder, and it

252
00:13:44,080 --> 00:13:46,600
lit up a lot of controversy because I hate that

253
00:13:46,759 --> 00:13:50,360
this idea there might be a schism between focusing purely

254
00:13:50,440 --> 00:13:52,840
on never met writing a bug versus being able to

255
00:13:52,840 --> 00:13:55,200
debug effectively, because I don't think either one of them

256
00:13:55,200 --> 00:13:55,600
is achieved.

257
00:13:55,600 --> 00:13:58,080
Speaker 1: It there could be some humorists there, like debuggering is

258
00:13:58,080 --> 00:13:59,679
for FRENGI you know.

259
00:14:01,240 --> 00:14:04,759
Speaker 3: I feel like they're part of the same job description, honestly.

260
00:14:04,799 --> 00:14:07,440
I mean no matter like I think all of the

261
00:14:07,480 --> 00:14:10,600
bullet points that were listed, you know, like avoiding state

262
00:14:10,679 --> 00:14:13,080
mutations and stuff like that, making sure you're testing your

263
00:14:13,120 --> 00:14:16,600
code isolated code, that's all still important, if not just

264
00:14:16,679 --> 00:14:18,559
as important as debugging. But at the end of the day,

265
00:14:18,639 --> 00:14:22,759
we're human. We're gonna run into problems regardless of how

266
00:14:22,799 --> 00:14:25,600
well we understand the compile error that we're getting. And

267
00:14:26,399 --> 00:14:28,639
that's and there's just gonna be times where we don't

268
00:14:28,679 --> 00:14:30,799
catch it until we run the code, see that it

269
00:14:30,799 --> 00:14:32,600
doesn't work and then have to debug.

270
00:14:32,799 --> 00:14:34,919
Speaker 1: So I find most of the errors that the debugger

271
00:14:34,960 --> 00:14:38,159
catches for me have to do with bad configuration, not

272
00:14:38,200 --> 00:14:40,320
necessarily bad code. Do you know what I mean?

273
00:14:40,440 --> 00:14:42,840
Speaker 3: Oh, yeah, no, that's totally fair. And I know for

274
00:14:42,960 --> 00:14:46,879
me sometimes it's like catching logic errors as a visual person.

275
00:14:47,320 --> 00:14:49,840
Sometimes it's like I don't fully catch it until I

276
00:14:49,919 --> 00:14:52,240
see it out in the wild doing what it's supposed

277
00:14:52,240 --> 00:14:54,639
to do contextually, and it's like, oh, that's not what

278
00:14:54,720 --> 00:14:58,879
I expected it to do, so let's go re examine

279
00:14:58,919 --> 00:14:59,240
the code.

280
00:14:59,279 --> 00:15:01,559
Speaker 2: But the debug is also great at dealing with stuff

281
00:15:01,600 --> 00:15:03,799
that isn't just the code immediately in front of you,

282
00:15:04,000 --> 00:15:07,879
the crazy interactions between tiers, the race conditions that occur

283
00:15:08,120 --> 00:15:12,840
into it, calling into multiple APIs simultaneously blocks on data stores.

284
00:15:12,960 --> 00:15:15,720
You know, the internet was grumpy that day and my

285
00:15:15,799 --> 00:15:18,600
software behaved weirdly, and the debugger often can save my

286
00:15:18,679 --> 00:15:21,360
bacon for understanding where those interactions actually happen.

287
00:15:21,440 --> 00:15:28,320
Speaker 1: Our congratulations you got the million to one odd race condition. Yeah,

288
00:15:28,679 --> 00:15:30,120
so you win today.

289
00:15:30,679 --> 00:15:34,120
Speaker 2: Yeah so it's but I appreciate like these things and

290
00:15:34,440 --> 00:15:37,360
all go together. And also I wonder now with the

291
00:15:37,480 --> 00:15:41,600
role of llms and coding, you know, suddenly getting tests

292
00:15:41,600 --> 00:15:45,120
written got a whole bunch easier. You know, I could

293
00:15:45,120 --> 00:15:46,960
never convince a junior to give me one hundred percent

294
00:15:47,000 --> 00:15:52,240
code coverage, but you can batter an LLM into that. Well,

295
00:15:52,279 --> 00:15:54,720
save that for the show for sure. And A Mark

296
00:15:54,919 --> 00:15:57,240
thanks so much for your comment, and that copy of

297
00:15:57,320 --> 00:15:58,559
music code by is on his way to you. And

298
00:15:58,559 --> 00:16:00,399
if you'd like copy music code by right comment on

299
00:16:00,440 --> 00:16:02,480
the website at dot net rocks dot com or on

300
00:16:02,480 --> 00:16:04,200
the Facebook to Helpless every show there and if you

301
00:16:04,240 --> 00:16:06,159
comment there and to read on the show, we'll send

302
00:16:06,200 --> 00:16:07,200
you coffee music o YM.

303
00:16:07,159 --> 00:16:11,480
Speaker 1: Music Code by. I'm working on episode episode track number

304
00:16:11,519 --> 00:16:15,039
twenty three right now for music to Code by Mark Seman.

305
00:16:15,399 --> 00:16:19,639
Obviously he's responsible for me taking that project on because

306
00:16:19,679 --> 00:16:22,840
of what we were talking about with the flow. Yeah.

307
00:16:22,519 --> 00:16:27,639
Uh okay, So let me introduce Leslie properly. Leslie Richardson

308
00:16:27,720 --> 00:16:29,759
is a product manager on the dot net c Sharp

309
00:16:29,799 --> 00:16:33,120
Developer Experience Team and the hosts of the VS Toolbox

310
00:16:33,159 --> 00:16:37,039
show on YouTube and Twitch. She's focused on improving productivity

311
00:16:37,080 --> 00:16:40,000
for writing MCP servers in the dot net C Sharp

312
00:16:40,039 --> 00:16:44,840
space across VS and VS code. Leslie also worked on

313
00:16:44,879 --> 00:16:49,159
the Visual Studio team, developing and enhancing extensibility and debugging features.

314
00:16:50,120 --> 00:16:54,840
And yeah, that last sentence is loaded, isn't it. Leslie?

315
00:16:55,360 --> 00:16:57,840
Speaker 2: I met you just.

316
00:16:57,840 --> 00:17:00,639
Speaker 1: Recently in Orlando at devins Action. You were in the

317
00:17:00,679 --> 00:17:02,919
audience when Maddie and I were doing the.

318
00:17:03,000 --> 00:17:06,000
Speaker 2: Uh spiify spify.

319
00:17:05,480 --> 00:17:09,400
Speaker 1: Spiifying dot net rocks. Yeah, and you came up to

320
00:17:09,519 --> 00:17:12,200
the to us afterwards, and you were you and Maddie

321
00:17:12,200 --> 00:17:15,240
obviously worked together, and you're having a conversation and in

322
00:17:15,480 --> 00:17:18,799
about two minutes in I thought Oh my god, this

323
00:17:18,880 --> 00:17:24,000
person is amazingly smart. We must have her on dot

324
00:17:24,039 --> 00:17:26,119
net rocks. And of course you and Richard were already

325
00:17:26,160 --> 00:17:28,119
talking about it. So so welcome.

326
00:17:28,359 --> 00:17:30,519
Speaker 3: Thank you. I'm flattered to be here.

327
00:17:31,599 --> 00:17:34,960
Speaker 2: Yeah. Yeah, And of course for a while there, your

328
00:17:35,039 --> 00:17:37,880
job was a debugger. It isn't anymore, yes, yeah.

329
00:17:37,720 --> 00:17:40,640
Speaker 3: Yeah, that was my very first job at Microsoft, working on.

330
00:17:40,559 --> 00:17:42,079
Speaker 2: The way to Start.

331
00:17:42,599 --> 00:17:45,960
Speaker 3: Yeah. I was like so scared about it initially because

332
00:17:46,640 --> 00:17:49,000
I was fresh out of college at the time, and

333
00:17:49,119 --> 00:17:51,640
I was like, oh my god, I barely used the

334
00:17:51,640 --> 00:17:54,880
debugger beyond like print statements, and then one or two

335
00:17:54,920 --> 00:17:56,680
great points he in there. What do I know about

336
00:17:57,079 --> 00:18:00,759
improving in the bugger space? My goodness? And turns out

337
00:18:01,640 --> 00:18:05,799
I think there's a lot of opportunities still to reveal

338
00:18:05,880 --> 00:18:08,599
to people the beauty of the debugger in general, and

339
00:18:08,640 --> 00:18:11,680
also for the visual studio a debugger, because so many people,

340
00:18:11,759 --> 00:18:13,960
people who've been working in the industry way longer than

341
00:18:14,000 --> 00:18:17,160
I ever have like don't know about this cool stuff. Yeah,

342
00:18:17,200 --> 00:18:19,079
and it's worth sharing.

343
00:18:19,200 --> 00:18:22,039
Speaker 1: What version were we on when you started working on debugger?

344
00:18:22,359 --> 00:18:26,359
Speaker 3: Oh? We were on was it twenty Okay? Twenty eighteen

345
00:18:26,480 --> 00:18:29,400
was about to come out at the time that I joined,

346
00:18:29,799 --> 00:18:32,240
So it was the version before that, which one was that.

347
00:18:32,240 --> 00:18:34,000
Speaker 2: It was twenty twenty fifteen.

348
00:18:33,839 --> 00:18:36,000
Speaker 3: Fifteen, Yeah, we were in twenty fifteen.

349
00:18:35,799 --> 00:18:37,920
Speaker 1: But we were That was Dottin at Court right.

350
00:18:37,880 --> 00:18:39,920
Speaker 3: Right, And I want to say, I think like Dotna

351
00:18:39,960 --> 00:18:43,400
Tour just came in to Fruition and Roslin.

352
00:18:43,920 --> 00:18:44,720
Speaker 1: Do we have Roslin?

353
00:18:44,839 --> 00:18:46,200
Speaker 2: Ross was announced at that point.

354
00:18:46,319 --> 00:18:50,680
Speaker 3: Yeah, I think Roslin was. Yeah, it was at least announced.

355
00:18:50,200 --> 00:18:52,200
Speaker 1: All right, so at least it was fun, right then.

356
00:18:52,279 --> 00:18:55,359
I mean before Roslin in, before Core, it probably would

357
00:18:55,400 --> 00:18:56,319
have been as much fun.

358
00:18:56,400 --> 00:19:01,000
Speaker 3: I don't think, yeah, think about that. I think, yeah,

359
00:19:01,240 --> 00:19:04,880
Roslin and Core a pretty fun. I do remember the

360
00:19:04,920 --> 00:19:13,960
backlash from poor framework folks out there though. Yeah, transition, there's.

361
00:19:11,920 --> 00:19:13,960
Speaker 2: Always discussion about what's going to make it across and

362
00:19:14,079 --> 00:19:17,759
what isn't right. I think a Hunter said to me

363
00:19:17,839 --> 00:19:19,440
ages ago, it's like, you only get to rewrite a

364
00:19:19,440 --> 00:19:22,400
framework once, and and here we were, we're going to

365
00:19:22,440 --> 00:19:26,079
commit to it, so and you've got it in the end.

366
00:19:26,319 --> 00:19:29,400
The reason for the rewrite was that framework was just

367
00:19:29,480 --> 00:19:32,240
too bound to Windows and if you really wanted to

368
00:19:32,279 --> 00:19:35,039
be cross platform cloud friendly, you know, all of those

369
00:19:35,079 --> 00:19:37,519
things they had to rethink a bounch of this stuff,

370
00:19:37,559 --> 00:19:40,119
and they eventually get into certain libraries. And I'm looking

371
00:19:40,160 --> 00:19:44,240
at you asb dot Net web forms just so bound

372
00:19:44,319 --> 00:19:47,559
to iis so bound to Windows. There was no way

373
00:19:47,559 --> 00:19:49,559
to lift it out that made it still the same thing.

374
00:19:50,680 --> 00:19:52,519
You know, it would have it would not have been

375
00:19:52,559 --> 00:19:54,200
the same same thing happened to wind forms, you know,

376
00:19:54,240 --> 00:19:56,160
the wind forms version that went over across the three

377
00:19:56,200 --> 00:20:00,279
one SDK is not the wind Forms of old. It

378
00:20:00,319 --> 00:20:00,839
couldn't be.

379
00:20:01,200 --> 00:20:04,440
Speaker 1: Yeah, and if Mono hadn't come around and all that

380
00:20:04,559 --> 00:20:08,119
zammer and stuff, who knows how long it would have taken, right.

381
00:20:07,960 --> 00:20:09,200
Speaker 2: I don't know if they would have done it, but

382
00:20:10,079 --> 00:20:11,960
they would have. It's really a part of the Microsoft

383
00:20:12,039 --> 00:20:15,720
becoming a cloud company instead of yeah, yeah that mindset

384
00:20:15,759 --> 00:20:17,599
you said, Okay, well, then you needed to make tools

385
00:20:17,599 --> 00:20:20,200
that support what your customers look like in the cloud.

386
00:20:20,240 --> 00:20:22,720
And weirdly enough, your customers run a lot of Linux.

387
00:20:23,079 --> 00:20:26,640
Speaker 1: So Leslie, you want to talk more about debugging, or

388
00:20:26,640 --> 00:20:29,440
you want to talk about visual studio or productivity. It's

389
00:20:29,440 --> 00:20:30,400
your show where you want to go?

390
00:20:30,559 --> 00:20:32,920
Speaker 3: Yeah, I mean we can start with debugging since that's

391
00:20:32,920 --> 00:20:35,839
been the topic that we're on, and kind of branch

392
00:20:35,880 --> 00:20:38,440
from there because that is part of productivity, it's part

393
00:20:38,519 --> 00:20:42,599
of VS in general. Yeah, So I mean it's more

394
00:20:42,599 --> 00:20:44,480
really a question of where in the debugging world do

395
00:20:44,559 --> 00:20:47,839
we want to even start, right, There's so much going on,

396
00:20:48,000 --> 00:20:51,680
and I think with twenty twenty six especially, it's been

397
00:20:51,799 --> 00:20:57,039
interesting to see how the debugger is evolving, especially now

398
00:20:57,039 --> 00:21:01,359
that like AI and LMS are yeah, are being introduced

399
00:21:01,400 --> 00:21:05,240
with it. Like I think of, I mean, obviously you

400
00:21:05,279 --> 00:21:08,559
can just explain things with copilot or ask copilots to

401
00:21:08,720 --> 00:21:11,799
analyze things for you. There's a whole debugger agent that

402
00:21:11,920 --> 00:21:14,759
is coming out alongside twenty twenty six now that can

403
00:21:14,839 --> 00:21:17,240
do a lot of that analyzing on your behalf, which

404
00:21:17,279 --> 00:21:22,160
is really cool. And I really like the existing debugger

405
00:21:22,200 --> 00:21:26,759
features that now have Copilot just built into it and

406
00:21:27,160 --> 00:21:31,039
therefore help extend the productivity. Like I think of, one

407
00:21:31,079 --> 00:21:35,160
of my favorite tools in VS and the debugger is

408
00:21:35,279 --> 00:21:39,519
the I numerable visualizer. That's a yeah, and that's a

409
00:21:39,559 --> 00:21:41,599
window if you don't know, it's a window that lets

410
00:21:41,640 --> 00:21:44,960
you see a tabular representation of your list or anything

411
00:21:45,039 --> 00:21:49,640
that's coming from an I numerable and really great already

412
00:21:49,720 --> 00:21:53,079
because you can see that table based visualization. You know,

413
00:21:53,279 --> 00:21:54,960
Excel as your friend, to the point where you can

414
00:21:55,000 --> 00:21:58,160
even export that data to Excel if you wanted to

415
00:21:58,160 --> 00:21:58,359
do that.

416
00:21:58,759 --> 00:22:01,119
Speaker 1: But yeah, digging down into an I numerable and the

417
00:22:01,119 --> 00:22:03,279
immediate window is not a no.

418
00:22:03,440 --> 00:22:06,559
Speaker 3: Yeah, it's not fun, right, So nice people to have

419
00:22:06,599 --> 00:22:10,200
this more visual, natural way of looking at it. And

420
00:22:10,480 --> 00:22:13,160
now a co pilot added on top. I also like

421
00:22:13,200 --> 00:22:15,960
to call my nickname for the Iumerable visualizer now is

422
00:22:16,039 --> 00:22:21,559
the link sandbox, because it gives you already before Copilot

423
00:22:21,640 --> 00:22:24,079
is even introduced. There's a space up top that lets

424
00:22:24,119 --> 00:22:28,000
you enter link queries and see how that filters out

425
00:22:28,440 --> 00:22:31,400
your list. That's fine, and the data in it, which

426
00:22:31,440 --> 00:22:33,920
is really cool already, but then you put copilot on

427
00:22:33,960 --> 00:22:35,839
top of it, and then you can ask Copilot to

428
00:22:36,039 --> 00:22:38,880
create those link queries for you instead of having to

429
00:22:39,039 --> 00:22:42,400
think of all those complex things put together yourself. So

430
00:22:42,559 --> 00:22:43,759
a natural language.

431
00:22:43,440 --> 00:22:47,200
Speaker 1: Just be got me curious about the copilot for the debugger.

432
00:22:47,279 --> 00:22:50,960
Can you can you basically just say, you know, hey,

433
00:22:51,039 --> 00:22:53,839
set up a watch variable for this and you know,

434
00:22:54,039 --> 00:22:55,559
let me know. I mean, you can do that in

435
00:22:55,559 --> 00:22:58,519
the debugger with a click, but can you do that

436
00:22:58,599 --> 00:22:59,680
with the agent?

437
00:23:00,000 --> 00:23:02,839
Speaker 3: I think that is not we're not quite there with

438
00:23:02,920 --> 00:23:05,920
that yet, or if we are, I personally haven't gotten

439
00:23:05,960 --> 00:23:08,440
it to work. But I think the beauty about that,

440
00:23:08,480 --> 00:23:09,039
and it's.

441
00:23:08,920 --> 00:23:10,640
Speaker 1: Not really a productivity booster, is it.

442
00:23:10,680 --> 00:23:16,000
Speaker 3: I mean right, But that said, I think there could

443
00:23:16,039 --> 00:23:19,160
be some merit to having the agent people to handle

444
00:23:19,160 --> 00:23:21,279
some of that too, because especially if you're new to

445
00:23:21,400 --> 00:23:23,480
the debugger, if you're new to visual Studio, you may

446
00:23:23,480 --> 00:23:26,359
not know just yet that you can do well all

447
00:23:26,400 --> 00:23:27,640
of that with the watch window.

448
00:23:27,799 --> 00:23:30,759
Speaker 2: I mean, we open this conversation with the we barely

449
00:23:30,839 --> 00:23:32,839
understand all the things that are in the debugger. Like

450
00:23:33,079 --> 00:23:37,200
excited me about this is here's a tool that nominally

451
00:23:38,119 --> 00:23:41,279
has access to every feature in the debugger, so presented

452
00:23:41,279 --> 00:23:44,759
a debugging problem, maybe to activate features I never would

453
00:23:44,759 --> 00:23:47,680
have naturally gone to with my knowledge of the debugger.

454
00:23:48,039 --> 00:23:51,079
Speaker 1: Or maybe you know, when there's a scale issue, like

455
00:23:51,119 --> 00:23:53,119
you know, you want to watch one variable, that's fine,

456
00:23:53,119 --> 00:23:55,799
but what if there's a bunch of them that could

457
00:23:56,000 --> 00:23:59,119
be implicated in a problem that you could just say, hey,

458
00:23:59,119 --> 00:24:02,839
watch all the variables that that are created from here

459
00:24:02,880 --> 00:24:04,240
on down something like that.

460
00:24:04,480 --> 00:24:08,480
Speaker 3: Absolutely, yeah, and then there's a case of like watch

461
00:24:08,559 --> 00:24:12,839
them only if this condition happens, which normally if you're

462
00:24:12,839 --> 00:24:15,400
not using co pilots like you can use conditional breakpoints

463
00:24:15,400 --> 00:24:17,720
for that, you can use dependent breakpoints for that, which

464
00:24:17,759 --> 00:24:20,519
is one of those lesser known going to dig around

465
00:24:20,559 --> 00:24:23,119
in the in the space to discover that one.

466
00:24:23,119 --> 00:24:25,079
Speaker 1: Kind of have a propeller being to use that one.

467
00:24:25,279 --> 00:24:28,880
Speaker 2: Yeah, now you're writing code in the debugger, right, You're

468
00:24:28,880 --> 00:24:34,000
writing an expression in the debugger to debugger code. No.

469
00:24:34,160 --> 00:24:37,920
I think that this this tool, this code generation tool

470
00:24:37,960 --> 00:24:40,440
for the debugger like this, it could be incredible to

471
00:24:40,640 --> 00:24:42,640
just get. You'll start using more of the debugger than

472
00:24:42,640 --> 00:24:43,400
you ever have before.

473
00:24:44,519 --> 00:24:47,920
Speaker 3: Yeah, I totally agree, And I feel like a lot

474
00:24:47,960 --> 00:24:51,839
of my not vendettas, But I guess a lot of

475
00:24:51,839 --> 00:24:53,599
my goals back when I was still on the team

476
00:24:53,640 --> 00:24:56,039
even was just like, how can we take these tools

477
00:24:56,039 --> 00:24:57,839
that are so cool that nobody knows about and how

478
00:24:57,839 --> 00:24:59,400
can we just make them more discoverable.

479
00:25:00,039 --> 00:25:01,720
Speaker 2: Yeah, this is a conversation you and I had in

480
00:25:01,759 --> 00:25:04,119
a video series for Visual Studio. I think we spent

481
00:25:04,559 --> 00:25:08,519
twenty minutes on exactly that problem is nobody knows what

482
00:25:08,519 --> 00:25:09,480
they are, who knows about them?

483
00:25:09,480 --> 00:25:11,519
Speaker 3: And it fricks my heart. Yeah, the punchline every time

484
00:25:11,559 --> 00:25:14,240
I gave a debugging tips and tricks talk was always like,

485
00:25:14,440 --> 00:25:17,920
is this new and twenty eighteen or whatever was the

486
00:25:17,920 --> 00:25:21,599
newest version at the time, Like, no, it's been there since.

487
00:25:21,680 --> 00:25:22,799
Speaker 2: Been there for years whatever.

488
00:25:23,119 --> 00:25:27,480
Speaker 3: Yeah, that's actually how features like pinnable properties came about

489
00:25:27,599 --> 00:25:31,920
because basically I was frustrated that there's this debugger attribute

490
00:25:32,400 --> 00:25:34,920
that exists that you can or debugger display is the

491
00:25:34,960 --> 00:25:39,279
name of the attribute where you can view like properties

492
00:25:39,279 --> 00:25:41,599
of your objects and your classes and stuff directly within

493
00:25:41,640 --> 00:25:44,640
the Watch autos and locals windows. But that's not very discoverable.

494
00:25:44,640 --> 00:25:47,000
You have to modify your code to use it, that

495
00:25:47,079 --> 00:25:49,240
sort of thing. So I was like, can we make

496
00:25:49,240 --> 00:25:51,880
this more discoverable. Okay, let's have a little pin pop

497
00:25:51,960 --> 00:25:55,240
up when you hover over your your properties. And adoption

498
00:25:55,319 --> 00:25:58,640
for that has been way higher than the debugger display

499
00:25:58,680 --> 00:26:03,039
attribute probably was. So it's just exposing the same functionality

500
00:26:03,079 --> 00:26:05,680
in a more debugging friendly space.

501
00:26:06,839 --> 00:26:09,519
Speaker 2: Well, and you always have to battle over popping anything

502
00:26:09,640 --> 00:26:13,200
up that would an interrupted developer, Oh totally, even if

503
00:26:13,240 --> 00:26:14,039
it's super helpful.

504
00:26:14,599 --> 00:26:19,119
Speaker 3: Yeah, it's always that's always a debate that we have.

505
00:26:19,240 --> 00:26:23,000
I'm actually dabbling a little bit on a project that

506
00:26:23,039 --> 00:26:26,279
I can't talk about too much, but basically it's that

507
00:26:26,319 --> 00:26:29,519
scenario of how do we improve this experience that everybody

508
00:26:29,680 --> 00:26:34,400
is familiar with, but without making it seem too noisy

509
00:26:34,640 --> 00:26:38,200
or impeding upon productivity that people already have.

510
00:26:38,319 --> 00:26:43,000
Speaker 2: So interrupting is always the challenge, right yep? Are you

511
00:26:43,160 --> 00:26:46,079
interrupting me? Is he going to make me grumpy if

512
00:26:46,079 --> 00:26:49,079
you interrupt me? And yet you are interrupting me, but

513
00:26:49,240 --> 00:26:51,599
arguably to a path of happiness.

514
00:26:51,200 --> 00:26:54,839
Speaker 3: Yeah, hopefully to a path of productivity and goodness, less

515
00:26:54,839 --> 00:26:58,160
frustration at two am when you're trying to fix some one.

516
00:26:58,359 --> 00:27:00,359
Speaker 2: Just wrying to take come at this from a different way,

517
00:27:02,319 --> 00:27:04,519
I mean again, because you're all in on twenty twenty

518
00:27:04,599 --> 00:27:07,519
six right now, which is in an insider's preview. Yeah,

519
00:27:07,599 --> 00:27:09,920
at the moment, so you can have access to it.

520
00:27:09,960 --> 00:27:12,440
But do you see it as a rethink of visual studio.

521
00:27:12,480 --> 00:27:15,319
It's just like the lllms have come to stay, and

522
00:27:15,440 --> 00:27:18,400
how do we change our development experience in the idea,

523
00:27:18,880 --> 00:27:19,440
I think.

524
00:27:20,039 --> 00:27:22,799
Speaker 3: Reading is a big word, but I would see it

525
00:27:22,960 --> 00:27:26,279
more as an extension of what our goals already have

526
00:27:26,440 --> 00:27:31,000
been for visual Studio with the introduction of co pilot. Obviously,

527
00:27:31,240 --> 00:27:37,319
the goal there is definitely to interweave that tool into

528
00:27:37,440 --> 00:27:42,519
existing workflows so that it isn't interrupting you in a

529
00:27:42,559 --> 00:27:46,400
bad way, as you mentioned, So that's definitely the goal there,

530
00:27:46,440 --> 00:27:48,720
But a lot of the other goals that we've always

531
00:27:48,759 --> 00:27:52,640
had have stayed the same, such as still improving performance

532
00:27:52,799 --> 00:27:56,720
and still making sure that it looks modern and sleek,

533
00:27:56,799 --> 00:27:59,640
and you're not focused about how bad the UI is

534
00:27:59,680 --> 00:28:02,839
as you're trying to spend hours fixing your code or

535
00:28:02,920 --> 00:28:06,319
something like that, and then just making sure that people

536
00:28:06,359 --> 00:28:09,160
are still productive. So I don't think it's a complete

537
00:28:09,200 --> 00:28:13,759
overhaul twenty twenty six, but just trying to streamline some

538
00:28:13,839 --> 00:28:17,880
of that experience even further so that everything feels natural.

539
00:28:17,920 --> 00:28:22,240
Speaker 2: Because you also work on visual studio code. I do, so,

540
00:28:22,519 --> 00:28:25,160
I mean it says I just feel like the ID

541
00:28:25,559 --> 00:28:27,960
is old school, Like there's a cold group of developers

542
00:28:28,000 --> 00:28:30,519
coming out that's never been in an ID, which I

543
00:28:30,519 --> 00:28:33,960
find frustrating because that was a happy place for novices,

544
00:28:34,240 --> 00:28:36,000
like if you're new in the fact that you had

545
00:28:36,039 --> 00:28:38,119
all your tools in front of you and it was

546
00:28:38,160 --> 00:28:40,440
just there to help you do all the things. Yeah,

547
00:28:40,519 --> 00:28:43,359
that doesn't seem to be the way that that new

548
00:28:43,440 --> 00:28:45,200
people come into development these.

549
00:28:45,440 --> 00:28:49,400
Speaker 3: Yeah, it's interesting because personally, I also when I was

550
00:28:49,440 --> 00:28:54,160
at school studying computer engineering computer engineering, I was using

551
00:28:54,160 --> 00:28:57,720
a full ide. I was using mostly Intelligent at the

552
00:28:57,759 --> 00:29:00,279
time and a lot of x code because I a

553
00:29:00,359 --> 00:29:04,599
Mac at the time. But yeah, full ID so for me,

554
00:29:05,279 --> 00:29:07,559
and maybe I'm biased as a result. Like when I

555
00:29:07,680 --> 00:29:11,599
started using vs code, it's I found a little harder

556
00:29:11,640 --> 00:29:14,599
just because it's like all those tools that I'm used

557
00:29:14,599 --> 00:29:17,279
to playing around with and using are not there by

558
00:29:17,279 --> 00:29:18,920
default and having to.

559
00:29:19,160 --> 00:29:20,480
Speaker 2: Yeah you have to assemble them.

560
00:29:20,640 --> 00:29:21,480
Speaker 1: Yeah, you have.

561
00:29:21,480 --> 00:29:23,599
Speaker 3: To figure it out kind of which, on the one hand,

562
00:29:23,599 --> 00:29:26,640
can be nice because it gives you customers ability and

563
00:29:26,680 --> 00:29:30,279
it's more, you know, the lightweight keyword is everyone's favorite

564
00:29:30,559 --> 00:29:33,880
to use with thes code. But I definitely do think

565
00:29:33,880 --> 00:29:36,920
the downside is like it kind of has the opposite

566
00:29:36,960 --> 00:29:39,160
problem in a way with Visual Studio. Visual Studio, for

567
00:29:39,279 --> 00:29:42,759
many people getting started, it can be really overwhelming, and

568
00:29:42,799 --> 00:29:45,480
then yeah, it's because it's too much. And then I

569
00:29:45,480 --> 00:29:48,039
think vs code, at least for me, can also feel

570
00:29:48,079 --> 00:29:51,519
overwhelming because they're so little initially, so it's like, oh man,

571
00:29:51,720 --> 00:29:53,880
where do I pull all this extra stuff?

572
00:29:53,920 --> 00:29:56,920
Speaker 2: Well, and I always worry about forcing novices to make

573
00:29:57,039 --> 00:30:00,759
decisions in their tooling that there don't you know, don't

574
00:30:00,759 --> 00:30:03,519
have enough info on. It's like which of these baden

575
00:30:03,720 --> 00:30:06,480
should I put in? Like what is the correct set?

576
00:30:06,720 --> 00:30:10,119
Speaker 3: Right? Which extensions should I hear? And yeah, what?

577
00:30:10,880 --> 00:30:13,599
Speaker 1: Yeah, I'm probably a little guilty of that in assuming

578
00:30:13,599 --> 00:30:15,519
that everybody uses Visual Studio because I have an I

579
00:30:15,680 --> 00:30:18,559
nine with sixty four gigs of RAM, Like it's very

580
00:30:18,599 --> 00:30:21,960
fast and zippy for me, but probably not for your

581
00:30:22,000 --> 00:30:23,400
average Windows laptop.

582
00:30:23,559 --> 00:30:26,920
Speaker 3: Yeah, you know, yeah, I definitely actually use a dead

583
00:30:26,960 --> 00:30:29,960
box most of the time when I'm using d S

584
00:30:30,079 --> 00:30:30,839
or vs.

585
00:30:30,559 --> 00:30:32,720
Speaker 2: Code because, right, because you want to a lot more.

586
00:30:32,599 --> 00:30:35,440
Speaker 3: Consistent versus my laptop that I'm currently hanging out on.

587
00:30:35,519 --> 00:30:40,240
Speaker 2: So yeah, you're sort of unloading the workload onto something

588
00:30:40,240 --> 00:30:40,799
in the cloud.

589
00:30:40,920 --> 00:30:41,079
Speaker 3: Right.

590
00:30:41,599 --> 00:30:43,359
Speaker 1: But I've been I've been getting into vs code a

591
00:30:43,400 --> 00:30:48,279
lot more lately, probably no thanks to Jeff Fretz, probably

592
00:30:48,319 --> 00:30:51,240
more so than anything else, because he's, you know, we're

593
00:30:51,279 --> 00:30:53,400
doing these shows together and he's always showing me stuff

594
00:30:53,440 --> 00:30:57,160
in Visual Studio Code that I hadn't seen before. So yeah,

595
00:30:57,240 --> 00:31:00,480
it's it's cool and you know, if it's see if

596
00:31:00,480 --> 00:31:03,039
you have if you can look up things that you

597
00:31:03,440 --> 00:31:05,960
are missing and you find them and you just work

598
00:31:06,039 --> 00:31:07,680
around it. It's not a big deal.

599
00:31:08,000 --> 00:31:10,759
Speaker 3: Yeah, I think once you get into a groove with either,

600
00:31:10,839 --> 00:31:14,119
really you do get into a group. So as of

601
00:31:14,119 --> 00:31:16,920
where I stand on vs CO now, like years after

602
00:31:17,279 --> 00:31:21,200
starting with it, it's like, yeah, it's old hat, but

603
00:31:21,680 --> 00:31:25,039
I sometimes worry about those getting started sometimes, like oh gosh,

604
00:31:25,079 --> 00:31:27,759
it's like so minimal that it's hard to know where

605
00:31:27,759 --> 00:31:28,039
to start.

606
00:31:28,279 --> 00:31:29,720
Speaker 1: But you know, if you don't know where to start

607
00:31:29,720 --> 00:31:31,720
and you don't know what you're doing, just call up

608
00:31:31,759 --> 00:31:35,400
your good buddy mchaay calls them my bff, chat GPT.

609
00:31:35,799 --> 00:31:37,079
You know, don't I do this?

610
00:31:37,960 --> 00:31:40,279
Speaker 3: How I do download?

611
00:31:40,640 --> 00:31:44,079
Speaker 1: Or just use the agent? You know, where's where's this button?

612
00:31:44,400 --> 00:31:47,319
Speaker 2: You know? Totally please don't anthwer.

613
00:31:48,960 --> 00:31:53,319
Speaker 1: Yeah, I really bugs Richard and you say worry.

614
00:31:53,680 --> 00:31:56,079
Speaker 2: I'm t trying to keep people thinking coherently about these

615
00:31:56,119 --> 00:32:00,640
software tools and very we can. It's very disturbing when

616
00:32:00,640 --> 00:32:01,400
they get names.

617
00:32:02,039 --> 00:32:04,400
Speaker 3: I mean, you know, yeah, I get scared to name

618
00:32:04,440 --> 00:32:04,720
them too.

619
00:32:05,079 --> 00:32:09,039
Speaker 1: Yeah, Kelly called chat GPT my bff from the very start.

620
00:32:09,480 --> 00:32:14,000
Speaker 2: Nice, not a good thing. Hey we should take a break. Yeah,

621
00:32:14,079 --> 00:32:16,400
let's do that, all right, we'll be right back after

622
00:32:16,440 --> 00:32:17,640
these very important messages.

623
00:32:19,640 --> 00:32:22,079
Speaker 1: Did you know you can lift and shift your dot

624
00:32:22,119 --> 00:32:26,240
Net framework apps to virtual machines in the cloud. Use

625
00:32:26,279 --> 00:32:30,720
the elastic beanstalk service to easily migrate to Amazon EC

626
00:32:30,799 --> 00:32:34,680
two with little or no changes. Find out more at

627
00:32:34,720 --> 00:32:39,559
aws dot Amazon dot com slash Elastic beanstalk.

628
00:32:43,319 --> 00:32:45,359
Speaker 2: And we're back. It's Don at Rocks Amateur Camble. Let's

629
00:32:45,359 --> 00:32:51,440
call Franklin Yolo hanging with Leslie Richardson. So recently have

630
00:32:51,559 --> 00:32:54,480
both Orlando and Lisbon when we were doing our little

631
00:32:54,480 --> 00:32:57,359
show too together. You're back home. I'm now fun. I'm

632
00:32:57,400 --> 00:32:58,880
in New Zealand with the grand baby.

633
00:32:59,359 --> 00:33:01,319
Speaker 3: Oh yeah, but I think you mentioned that.

634
00:33:01,799 --> 00:33:04,680
Speaker 2: Yeah yeah, so have you had a good time, having

635
00:33:04,680 --> 00:33:06,720
a great time? And if you hear dogs barking in

636
00:33:06,720 --> 00:33:10,359
the background, it's the farm dogs because you know, farm

637
00:33:10,400 --> 00:33:15,200
dogs do that sweet So outside of the debugger. Same

638
00:33:15,200 --> 00:33:16,920
thing I have to see with visual studio all the time,

639
00:33:16,960 --> 00:33:18,480
like the number of times I've been doing something a

640
00:33:18,519 --> 00:33:20,680
visual studio and using a set of shortcut keys that

641
00:33:20,720 --> 00:33:25,240
I've known for twenty years, like just pain switches and

642
00:33:25,279 --> 00:33:27,000
things like that, and people go, wait, how did you

643
00:33:27,039 --> 00:33:33,960
do that? Right? This discoverability problem is not a small.

644
00:33:33,680 --> 00:33:35,400
Speaker 3: Issue, absolutely not. Yeah.

645
00:33:35,559 --> 00:33:38,519
Speaker 2: Yeah, so it's so huge, it's so many features. But

646
00:33:38,599 --> 00:33:40,640
again I think I wonder how much the LMS has

647
00:33:40,720 --> 00:33:43,720
changed the way we're going to interact with code going forward. Yeah.

648
00:33:43,799 --> 00:33:49,680
Speaker 3: Yeah, like my dream sort of either agent or extension

649
00:33:49,759 --> 00:33:51,559
or maybe a mix of both that I do want

650
00:33:51,599 --> 00:33:53,559
to write at some point I just don't have the

651
00:33:53,559 --> 00:33:56,920
full hookups and needed to do it. Is I would

652
00:33:56,960 --> 00:34:00,480
love for co Pilot to be able to be that

653
00:34:00,559 --> 00:34:05,400
like Visual Studio or vs code feature suggestor like if

654
00:34:05,400 --> 00:34:08,239
the user is talking to co Pilot like I want

655
00:34:08,280 --> 00:34:11,519
to accomplish X y Z, why writing my code? Or

656
00:34:11,559 --> 00:34:14,559
I find or let's use sticky scroll as an example,

657
00:34:14,679 --> 00:34:21,559
like I get lost when I'm scrolling through my code.

658
00:34:18,760 --> 00:34:24,679
Speaker 1: Is you're doing sticky codes? You know that you can

659
00:34:24,760 --> 00:34:26,480
use this shart cut? Do you want me to just

660
00:34:26,559 --> 00:34:27,840
do that for you?

661
00:34:27,960 --> 00:34:30,480
Speaker 3: Yeah, except in this case you're prompting it so like

662
00:34:30,840 --> 00:34:33,719
it's your choice. But at the very least co Pilot

663
00:34:33,719 --> 00:34:35,800
would know about its existence and then be like, would

664
00:34:35,840 --> 00:34:37,719
you like me to turn it on for you? Like yeah,

665
00:34:38,440 --> 00:34:42,199
instead of having to search through the pavilion tools options.

666
00:34:42,280 --> 00:34:45,119
Speaker 2: That is cool, that is or another kind of little

667
00:34:45,159 --> 00:34:47,519
pop up, little icon thingy, like there's a lot of

668
00:34:47,519 --> 00:34:50,079
those visual studios again, it's right. I know. I've had

669
00:34:50,119 --> 00:34:53,000
conversations with folks where it's like, when is it you know,

670
00:34:53,039 --> 00:34:56,480
the squiggles under code, you know, the TELISID stuff. We

671
00:34:56,920 --> 00:34:59,679
are happy they're there, right, it tells us something. It's

672
00:34:59,760 --> 00:35:03,639
not interrupt Sometimes the other ones, you know, can be

673
00:35:03,679 --> 00:35:07,159
more problematic that you know, when is it a distraction?

674
00:35:07,199 --> 00:35:09,119
And when is that help? But I just wonder if

675
00:35:09,119 --> 00:35:12,599
the switch over to the LM approach of you know,

676
00:35:12,679 --> 00:35:15,159
you could be or you know here, you could say,

677
00:35:15,800 --> 00:35:18,280
watch how I do this, make suggestions on how I

678
00:35:18,280 --> 00:35:21,559
could do it more efficiently. That's really interesting to me

679
00:35:21,599 --> 00:35:22,920
because it's far more intentional.

680
00:35:23,559 --> 00:35:26,760
Speaker 1: I hope Visual Studio twenty twenty six gets better at

681
00:35:27,039 --> 00:35:31,199
things that in Visual Studio now, whatever I'm using twenty

682
00:35:31,199 --> 00:35:36,039
twenty two can't remember. Yeah, it kind of loses track

683
00:35:36,079 --> 00:35:38,559
of file handles and things once in a while and

684
00:35:38,639 --> 00:35:42,639
says I can't build this because the file is in

685
00:35:42,760 --> 00:35:46,000
use by another process. Well it's your process, right, it

686
00:35:46,079 --> 00:35:46,719
certainly isn't.

687
00:35:46,719 --> 00:35:47,639
Speaker 3: In mind.

688
00:35:48,239 --> 00:35:51,280
Speaker 1: I didn't fire up notepad here, you know, and I

689
00:35:51,360 --> 00:35:53,920
have to shut it down and reload it right and

690
00:35:53,960 --> 00:35:56,280
then it's fine, right clean the solution. But if I

691
00:35:56,360 --> 00:35:58,880
myself doing that a lot, and the other thing is like,

692
00:35:58,920 --> 00:36:02,280
and I know Dustin worked on this in the Razor Editor,

693
00:36:02,920 --> 00:36:07,480
just like squiggles when there shouldn't be squiggles, discoloration.

694
00:36:07,239 --> 00:36:08,719
Speaker 3: Should canst be better.

695
00:36:09,159 --> 00:36:12,320
Speaker 1: Yeah, so I'm really really I haven't checked it out yet,

696
00:36:12,360 --> 00:36:14,000
but I'm really looking forward to the new version of

697
00:36:14,039 --> 00:36:16,199
Visual Studio for because I know that it's better about

698
00:36:16,199 --> 00:36:16,760
things like that.

699
00:36:17,360 --> 00:36:20,440
Speaker 3: Yeah. I know, personally, I've had less hiccups with co

700
00:36:20,559 --> 00:36:24,599
Pilot when I swapped over to twenty twenty six. I

701
00:36:24,599 --> 00:36:28,119
think one of my biggest pet peaves that I had

702
00:36:28,360 --> 00:36:31,760
with co Pilot in twenty twenty two. But to be fair,

703
00:36:31,800 --> 00:36:34,320
I think this issue has since been resolved. I get

704
00:36:34,360 --> 00:36:37,760
like the longer I chat with it, or specifically about

705
00:36:38,119 --> 00:36:40,199
trying to get it to help me fix something wronger

706
00:36:40,239 --> 00:36:43,400
to bug with me. Eventually it reached a point where

707
00:36:43,440 --> 00:36:46,000
it'd be like it called this tool called get file,

708
00:36:46,199 --> 00:36:48,239
I have no idea where that's coming from or whatever,

709
00:36:48,719 --> 00:36:51,360
and then it would just freeze and do nothing, and

710
00:36:51,400 --> 00:36:52,079
then I have to restart.

711
00:36:52,239 --> 00:36:55,599
Speaker 1: I had the same exact problem and Visual studio code.

712
00:36:55,599 --> 00:36:57,320
We don't really have that issue as well.

713
00:36:57,280 --> 00:37:00,320
Speaker 3: Yeah, which is when I would swap forward to do

714
00:37:00,480 --> 00:37:05,800
the thing. So yeah, I filed a bug on it

715
00:37:06,960 --> 00:37:10,280
after much frustration, constantly seen it and I think it's

716
00:37:10,280 --> 00:37:13,599
since been resolved. But that was definitely one one big

717
00:37:13,679 --> 00:37:15,559
ripe I had with co Pilot on the twenty twenty

718
00:37:15,559 --> 00:37:20,840
two side. I haven't experienced a gripe of that nature

719
00:37:21,199 --> 00:37:23,639
since being on twenty twenty six, which I think is

720
00:37:23,719 --> 00:37:24,239
pretty good.

721
00:37:25,159 --> 00:37:29,320
Speaker 1: My favorite model for interacting with studio and studio code

722
00:37:29,400 --> 00:37:31,719
and code and that stuff is clouds on it. I

723
00:37:31,719 --> 00:37:32,840
don't know what yours is.

724
00:37:32,960 --> 00:37:36,360
Speaker 3: Really, Yeah, yeah, I use clouds on it. Four point

725
00:37:36,440 --> 00:37:37,159
five right now?

726
00:37:37,280 --> 00:37:37,920
Speaker 1: Yeah, me too.

727
00:37:38,159 --> 00:37:38,920
Speaker 2: Is that the latest?

728
00:37:39,159 --> 00:37:42,400
Speaker 3: No, it's haiku. It's the latest one that just dropped.

729
00:37:43,400 --> 00:37:45,000
It's got a number. I don't remember the number.

730
00:37:44,840 --> 00:37:47,679
Speaker 2: Yet because I yeah, I've seen probably five folks working

731
00:37:47,760 --> 00:37:50,199
in three five, seen him working at four four one.

732
00:37:50,320 --> 00:37:51,360
Now it's four five.

733
00:37:52,440 --> 00:37:54,760
Speaker 1: Haiku would be five to seven five, right.

734
00:37:54,760 --> 00:37:58,639
Speaker 3: Yeah, No, I was waiting for that.

735
00:37:58,760 --> 00:38:00,639
Speaker 2: God, I hope that's true. That would be the best

736
00:38:00,679 --> 00:38:01,039
thing ever.

737
00:38:02,519 --> 00:38:07,079
Speaker 3: Can we make a haiku about Claude Hahiku? Claude Hiku

738
00:38:07,400 --> 00:38:17,519
is cool. Many models aren't as good. Use Claude Hiku.

739
00:38:18,280 --> 00:38:21,519
Speaker 2: Now, lots of compile blinky lights.

740
00:38:25,960 --> 00:38:31,199
Speaker 3: But yeah, I mean so that I enjoy clouds on

741
00:38:31,239 --> 00:38:33,880
it the most, and then I buffer it up usually

742
00:38:33,920 --> 00:38:38,079
with I'm on that awesome dash co pilot. Yes, repository

743
00:38:38,400 --> 00:38:42,480
all the time, Like this mode is, I love to

744
00:38:42,599 --> 00:38:42,840
use it.

745
00:38:43,159 --> 00:38:46,599
Speaker 1: So this is like a repository of prompts and things, right, yeah,

746
00:38:46,719 --> 00:38:49,280
so this is system prompts and yeah great, Yeah.

747
00:38:49,159 --> 00:38:53,400
Speaker 3: Just a bunch of community created prompts, co pilot instructions,

748
00:38:54,920 --> 00:38:58,639
chat modes, just a lot of different already made for you,

749
00:38:58,800 --> 00:39:02,760
copy paste it and your ID choice things that enables

750
00:39:02,840 --> 00:39:05,800
you to do certain tasks better with so cool pilot

751
00:39:05,880 --> 00:39:06,760
and agents.

752
00:39:06,679 --> 00:39:09,559
Speaker 1: Like plug ins and text mode. You know, is really

753
00:39:09,719 --> 00:39:11,559
really simple, so good.

754
00:39:11,679 --> 00:39:13,840
Speaker 3: I love it. Yeah, go clues gaved you the trouble

755
00:39:13,840 --> 00:39:18,039
of having to write paragraphs of prompts as well, because

756
00:39:18,039 --> 00:39:19,679
somebody else has already figured it out.

757
00:39:19,840 --> 00:39:22,239
Speaker 2: So yeah, but it do feel like you, I think

758
00:39:22,239 --> 00:39:23,880
we've talked about this on a previous show, like you

759
00:39:23,920 --> 00:39:27,639
want to build up a repertoire of prompts, even a

760
00:39:27,679 --> 00:39:30,599
record of them, for a given project, because it is

761
00:39:30,679 --> 00:39:33,760
sort of it isn't a way it's your code now, Yeah,

762
00:39:33,800 --> 00:39:36,760
the way you're describing, you know, features. And we talked

763
00:39:36,760 --> 00:39:38,960
about githubspec kit for the same and in the same

764
00:39:39,000 --> 00:39:41,400
sort of area. Yeah, how do we actually mature that

765
00:39:41,559 --> 00:39:43,480
the prompts that are creating our projects?

766
00:39:43,519 --> 00:39:47,599
Speaker 3: Absolutely, and yeah, that's becoming increasingly more and more important

767
00:39:47,639 --> 00:39:50,320
to be able to hold on to those Unicorn prompts

768
00:39:50,320 --> 00:39:53,719
that have been shown to work most of the time.

769
00:39:54,559 --> 00:39:57,480
And I'm really glad it took v S a minute

770
00:39:57,480 --> 00:40:00,280
to do it, but they finally introduce reusable prompts. I

771
00:40:00,320 --> 00:40:03,320
still think that experience could be streamlined because right now

772
00:40:03,360 --> 00:40:05,679
you still have to like go out and no pad,

773
00:40:05,760 --> 00:40:08,760
copy and paste whatever prompt you want to write, and

774
00:40:08,760 --> 00:40:10,760
then save it as a particular markdown and make sure

775
00:40:10,800 --> 00:40:12,320
it goes in the right folder. All this stuff that

776
00:40:12,400 --> 00:40:15,840
I think would be streamlined to just like one or

777
00:40:15,840 --> 00:40:17,920
two steps instead of like the five you currently have

778
00:40:17,960 --> 00:40:20,360
to do for that. But I do appreciate that it's

779
00:40:20,400 --> 00:40:21,800
at least there so you can.

780
00:40:21,719 --> 00:40:23,840
Speaker 2: You're you're on that path, just go through.

781
00:40:24,159 --> 00:40:27,039
Speaker 3: Yeah, the prompts that are already listed in your project.

782
00:40:27,079 --> 00:40:30,480
Speaker 2: I can imagine an enterprise organization that the architects have

783
00:40:30,559 --> 00:40:33,880
a bunch of uh, you know, prefixes initial statements to

784
00:40:33,920 --> 00:40:37,280
any prompt that in our organization, these are the rules

785
00:40:37,360 --> 00:40:41,119
for co generation, and so whatever additional prompt you're putting

786
00:40:41,119 --> 00:40:44,400
in there is shaped by the enterprise requirements exactly.

787
00:40:44,440 --> 00:40:46,519
Speaker 3: It's so nice, Yeah, somebody, I'm sure teams have already

788
00:40:46,559 --> 00:40:49,199
started to do that, Like, here's our set of rules

789
00:40:49,239 --> 00:40:53,920
and standards for what we have, pass that into co

790
00:40:54,039 --> 00:40:56,400
pilot and then just build on top of that. Right,

791
00:40:56,559 --> 00:40:59,719
I think bonus points if co Pilot was more aware

792
00:40:59,719 --> 00:41:03,039
of the editor can fig file, which I desperately want.

793
00:41:03,519 --> 00:41:05,440
I feel like it's very hit or miss on whether

794
00:41:05,480 --> 00:41:07,639
it acknowledges the contents of that.

795
00:41:08,079 --> 00:41:12,559
Speaker 2: But getting there, how does that impact things?

796
00:41:13,199 --> 00:41:16,880
Speaker 3: Yeah? So the editor can fig file, for those unaware,

797
00:41:16,960 --> 00:41:18,719
is a really cool file you can add to your

798
00:41:18,800 --> 00:41:23,840
project that basically keeps you and your team consistent with

799
00:41:23,960 --> 00:41:27,360
how you're formatting, the kinds of analyzers you're choosing to use,

800
00:41:27,639 --> 00:41:31,199
the severity levels of certain errors and things. So, for example,

801
00:41:31,760 --> 00:41:34,280
if you want to make sure that everybody is placing

802
00:41:34,519 --> 00:41:37,159
the standard eye in front of an interface when you're

803
00:41:37,320 --> 00:41:41,440
defining an interface, you can change the severity level that

804
00:41:41,559 --> 00:41:44,440
Visual Studio throws at you from being just like a

805
00:41:44,480 --> 00:41:49,159
suggestion to a full on compilation error because you want

806
00:41:49,159 --> 00:41:51,400
to make sure that everyone's staying consistent. So it's keeping

807
00:41:51,400 --> 00:41:55,280
yourself accountable. It's a great file to have, and whatever

808
00:41:55,320 --> 00:41:58,480
you put in there from a formatting standpoint overrides whatever

809
00:41:58,480 --> 00:42:02,199
you've got in the tool options as it relates to formatting.

810
00:42:02,320 --> 00:42:04,960
Speaker 1: So it reminds me of fx cop back in the day.

811
00:42:05,320 --> 00:42:07,880
Speaker 3: I'm not familiar with that. Is it kind of similar?

812
00:42:08,039 --> 00:42:11,960
Speaker 1: I was a dot net framework thing that you know,

813
00:42:12,239 --> 00:42:16,119
basically helped enforce the standards of cotyle.

814
00:42:16,280 --> 00:42:20,280
Speaker 3: Yeah, okay, I gotcha, Yeah, same deal. But yeah, I

815
00:42:20,280 --> 00:42:24,079
bring it up because I would love for co pilot

816
00:42:24,159 --> 00:42:27,199
to basically take the editor and can figure the editor

817
00:42:27,199 --> 00:42:29,280
can fig file into account the same way it takes

818
00:42:29,320 --> 00:42:32,239
into account the copilot dash instructions, not md file, and

819
00:42:32,320 --> 00:42:35,400
it's like always using it as a reference no matter

820
00:42:35,440 --> 00:42:38,920
what prompt I'm giving it, so that copilot also has

821
00:42:38,960 --> 00:42:41,400
to follow the same rules that I have to follow

822
00:42:41,880 --> 00:42:43,000
and the team has to follow.

823
00:42:43,199 --> 00:42:46,920
Speaker 1: Have you found the LM's ignoring things in the system

824
00:42:46,960 --> 00:42:51,119
prompt and and you know, sometimes following them and sometimes not,

825
00:42:51,360 --> 00:42:53,159
Like if you tell them, never do this and they

826
00:42:53,199 --> 00:42:53,800
do it anyway.

827
00:42:54,119 --> 00:42:58,039
Speaker 3: Yeah, I've had some weird quirky moments with that every

828
00:42:58,119 --> 00:43:02,679
every once in a while. I know, I think maybe

829
00:43:02,679 --> 00:43:06,400
some of it is partially my human error. The last

830
00:43:06,440 --> 00:43:08,599
time I could think of where I encountered that issue

831
00:43:08,639 --> 00:43:12,199
is because I wrote a copilot dash instructions file and

832
00:43:12,280 --> 00:43:15,039
it I forgot to put it in the dot GitHub

833
00:43:15,079 --> 00:43:17,599
folder it's supposed to go in. But if anything, I

834
00:43:17,599 --> 00:43:19,559
think that needs to be more clear in the documentation

835
00:43:19,639 --> 00:43:20,880
because it's not off up front.

836
00:43:20,920 --> 00:43:24,079
Speaker 1: But I've had this situation where you know, you're either

837
00:43:24,159 --> 00:43:27,079
using that file, which is essentially a system prompt, yeah,

838
00:43:27,559 --> 00:43:30,760
or a system prompt itself, and you know it's picking

839
00:43:30,880 --> 00:43:32,840
up most of the things in the system prompt, but

840
00:43:33,000 --> 00:43:36,320
some things that just completely ignored And I don't know why,

841
00:43:36,719 --> 00:43:39,559
And I don't know. I couldn't tell you what it

842
00:43:39,760 --> 00:43:43,280
was about that particular prompt that I gave it that

843
00:43:43,639 --> 00:43:46,840
made it ignore the system prompt. But maybe, you know,

844
00:43:46,920 --> 00:43:50,119
if it finds inconsistencies between the user prompt and the

845
00:43:50,159 --> 00:43:53,119
system prompt, maybe a'll just ignore stuff. Yeah, I don't know.

846
00:43:53,199 --> 00:43:55,559
Speaker 3: I guess maybe it start things start to get tricky

847
00:43:56,239 --> 00:44:00,840
once you are involving multiple prompts that potentially contradict each

848
00:44:00,840 --> 00:44:01,880
other in some ways.

849
00:44:01,880 --> 00:44:04,920
Speaker 2: Maybe that isn't this a plot of two thousand and one?

850
00:44:04,960 --> 00:44:05,639
A space out?

851
00:44:09,000 --> 00:44:10,280
Speaker 3: I'm afraid I cannot do that.

852
00:44:13,840 --> 00:44:16,480
Speaker 2: Sorry. What happens when you have to make keep the

853
00:44:16,519 --> 00:44:19,199
mission safe at all conditions and you've now deducted that

854
00:44:19,440 --> 00:44:22,079
having the other people alive is it is a risk

855
00:44:22,079 --> 00:44:22,639
of the mission?

856
00:44:25,159 --> 00:44:28,760
Speaker 3: Yeah, I know. One of my current frustrations I have

857
00:44:29,039 --> 00:44:33,239
with co pilot ignoring or not ignoring things has to

858
00:44:33,239 --> 00:44:35,519
do with MCP servers, because that's currently where I'm spending

859
00:44:35,519 --> 00:44:39,000
a lot of my time these days. And sometimes, like

860
00:44:39,000 --> 00:44:42,599
with the GitHub one, especially as an example, I'll be like,

861
00:44:43,440 --> 00:44:47,079
write me a PR or just commit these changes with X,

862
00:44:47,159 --> 00:44:50,000
y Z things, and then it's like sure, but then

863
00:44:50,039 --> 00:44:53,159
it completely ignores the server that's just chilling waiting to go.

864
00:44:53,320 --> 00:44:55,679
And then we'll just open the command line and start

865
00:44:56,079 --> 00:44:58,119
running get commands there, and I'm like, that's not what

866
00:44:58,159 --> 00:45:02,079
I wanted. So sometimes I have to be like super specific,

867
00:45:02,119 --> 00:45:06,000
like use the MCB server, but is chilling out there?

868
00:45:06,159 --> 00:45:10,159
Speaker 2: Mm hm, and you talget specifically the ge hub MCP server.

869
00:45:10,400 --> 00:45:14,840
Speaker 3: Yes, yeah, So in this example, that's the one.

870
00:45:15,079 --> 00:45:18,119
Speaker 2: But I mean, yeah, there's a there's a philosophical debate

871
00:45:18,199 --> 00:45:20,599
here about if I have a tool that can generate code,

872
00:45:20,639 --> 00:45:23,199
like why not just to generate assembly code, right like

873
00:45:23,280 --> 00:45:25,159
go all the way to the bare bones right away.

874
00:45:25,239 --> 00:45:26,519
You don't have to live with that code, it's just

875
00:45:26,559 --> 00:45:28,960
going to generate it for you. And if that same

876
00:45:29,000 --> 00:45:32,239
toke is like it can write the get hub messages itself,

877
00:45:33,000 --> 00:45:37,039
why go through the MCP server, Like, you know, the

878
00:45:37,119 --> 00:45:39,280
fact that we have to direct it that way is interesting,

879
00:45:39,400 --> 00:45:41,599
Like it ought to default to the MCP server because

880
00:45:41,599 --> 00:45:44,079
it's safer, Like what's the advantage there, right?

881
00:45:44,199 --> 00:45:47,159
Speaker 3: Yeah, I mean it depends on what the given scenario

882
00:45:47,239 --> 00:45:49,920
you're trying to accomplish is. But I know, for me personally,

883
00:45:50,079 --> 00:45:52,840
I like to use the get hub MCP server over

884
00:45:54,480 --> 00:45:57,320
like even just the built in visual studio get changes

885
00:45:57,400 --> 00:46:00,440
page because get changes has evolved a lot, Like it

886
00:46:00,480 --> 00:46:02,599
wasn't even there at the time that I joined Microsoft,

887
00:46:02,599 --> 00:46:05,320
and now it's since blossomed into a fully and to

888
00:46:05,519 --> 00:46:11,119
end like you can create prs in it straight up experience. Now. However,

889
00:46:11,280 --> 00:46:15,519
I still like to use the MCP server one because

890
00:46:15,519 --> 00:46:18,280
I like to use natural language, especially when it comes

891
00:46:18,320 --> 00:46:22,159
to get. I'm kind of allergic to the terminal window sometimes,

892
00:46:22,199 --> 00:46:25,559
so I don't always like to use CLI commands.

893
00:46:25,639 --> 00:46:28,960
Speaker 1: Yeah, and it's just more stuff that you have to remember.

894
00:46:29,119 --> 00:46:32,719
Speaker 3: Yeah, I agree, and trying to remember some more of

895
00:46:32,760 --> 00:46:37,320
the niche commands like get blame or get rebase and

896
00:46:37,360 --> 00:46:39,280
stuff like that I don't have to do because I

897
00:46:39,280 --> 00:46:42,000
can just tell the MCP server that is what I

898
00:46:42,039 --> 00:46:44,519
want to do, so please figure it out for me.

899
00:46:45,159 --> 00:46:48,000
And also I do find that it writes better prs

900
00:46:48,039 --> 00:46:52,159
for me than just doing it either myself or with

901
00:46:52,559 --> 00:46:56,400
even the Visual Studio Integration Tool. Integrated tool does like

902
00:46:56,440 --> 00:46:59,800
it gets really detailed about it, which I love because

903
00:46:59,840 --> 00:47:03,280
I have experienced either because I'm guilty of it or

904
00:47:03,320 --> 00:47:07,159
because I'm reading someone else's prs where there's nothing to

905
00:47:07,199 --> 00:47:09,760
be found in the description. Sometimes it's just a header

906
00:47:09,800 --> 00:47:10,400
and that's all.

907
00:47:10,280 --> 00:47:12,199
Speaker 2: You get in my fixed stuff.

908
00:47:14,000 --> 00:47:16,440
Speaker 3: Cool, we know what you're talking about.

909
00:47:17,360 --> 00:47:19,360
Speaker 1: All right, here's something from out of left field. Just

910
00:47:19,400 --> 00:47:22,360
from my experience in VS code and Individual Studio with

911
00:47:22,440 --> 00:47:27,039
the agent, the asynchronous nature of it leaves me baffled sometimes,

912
00:47:27,159 --> 00:47:30,599
like it will work on a problem right, and you'll

913
00:47:30,639 --> 00:47:34,400
have one file that it changes and there will be

914
00:47:34,440 --> 00:47:37,960
a keep button there, but it's still working. Yeah, Should

915
00:47:38,039 --> 00:47:40,719
I press the keep button? Or shouldn't I press the

916
00:47:40,800 --> 00:47:43,000
keep button? And should I wait until it's all done?

917
00:47:43,199 --> 00:47:45,360
And there is there a keep all? I don't see it.

918
00:47:45,480 --> 00:47:47,440
Keep all? Do I have to go find all the

919
00:47:47,480 --> 00:47:48,360
things that change?

920
00:47:48,840 --> 00:47:49,000
Speaker 2: Right?

921
00:47:49,039 --> 00:47:51,559
Speaker 3: And that's the same to be strange time, it is

922
00:47:51,639 --> 00:47:54,920
kind of scary, like I'm one where I get nervous

923
00:47:54,920 --> 00:47:56,639
about doing it while it's in the middle of something,

924
00:47:56,679 --> 00:48:00,440
So I don't keep until like the end of TEI.

925
00:48:01,119 --> 00:48:05,440
But I feel like how it's maybe working behind the scenes,

926
00:48:05,480 --> 00:48:06,800
and maybe if you talk to someone on the co

927
00:48:06,840 --> 00:48:10,280
pilot team, they can give more detail. Here it feels

928
00:48:10,280 --> 00:48:13,679
like it's making a change, and then it's basing all

929
00:48:13,719 --> 00:48:16,960
future actions that are all future actions that copilot's doing

930
00:48:17,000 --> 00:48:19,480
after the fact based off of those changes, whether you've

931
00:48:19,559 --> 00:48:20,920
chosen to keep it or not.

932
00:48:21,400 --> 00:48:22,320
Speaker 2: But how about that?

933
00:48:23,360 --> 00:48:26,320
Speaker 1: How about this one? It makes changes in five different

934
00:48:26,360 --> 00:48:30,320
files and it doesn't build and it says it's done

935
00:48:30,960 --> 00:48:35,480
right right, Okay, you're not done? Should I keep it?

936
00:48:35,559 --> 00:48:38,280
Should I keep this one or that one? Or undo everything?

937
00:48:38,679 --> 00:48:40,400
Can I just tell you to undo everything?

938
00:48:40,519 --> 00:48:44,960
Speaker 3: But I know I kind of hate the confidence about.

939
00:48:46,679 --> 00:48:48,400
Speaker 2: Done when we're not able to build.

940
00:48:49,480 --> 00:48:51,920
Speaker 3: This looks great. It works great, even though I didn't

941
00:48:51,920 --> 00:48:54,159
build it at all. It does.

942
00:48:54,880 --> 00:48:58,159
Speaker 1: It goes on. You're exactly right, Yes, let me.

943
00:48:58,159 --> 00:49:01,519
Speaker 3: See that for you right the whole time. But yeah,

944
00:49:02,840 --> 00:49:04,920
this was just a test. I was just testing you.

945
00:49:06,079 --> 00:49:08,840
Speaker 2: Yeah, we've blown the wings off the airplaning. We're plumbing

946
00:49:08,880 --> 00:49:11,000
towards the ground. But you were right that test would

947
00:49:11,000 --> 00:49:13,199
blow the wings off. Yeah, thank you.

948
00:49:14,519 --> 00:49:18,000
Speaker 3: That's why I like the beast mode prompt because, like,

949
00:49:18,119 --> 00:49:20,519
if you use nothing else on Awesome dash Copilot, yeah,

950
00:49:20,599 --> 00:49:23,519
I highly recommend beast mode. Yeah. So it's a really

951
00:49:23,559 --> 00:49:25,760
great prompt. It's really long if you look it up

952
00:49:25,760 --> 00:49:28,800
on Awesome dash Copilot. It's actually under the chat modes holder.

953
00:49:29,320 --> 00:49:33,320
But it is a prompt that's basically at its core

954
00:49:33,400 --> 00:49:37,000
telling co pilot you know nothing, Like you don't know

955
00:49:37,079 --> 00:49:39,639
as much as you think you do. So as a result,

956
00:49:39,920 --> 00:49:43,920
go look on the internet for additional documentation and other

957
00:49:44,000 --> 00:49:48,480
resources before you give me a response. So I do that. Yeah,

958
00:49:48,519 --> 00:49:50,559
it will make an itemized list. It's going to make

959
00:49:50,599 --> 00:49:52,599
sure to at least try to build, try to build

960
00:49:52,639 --> 00:49:55,239
the thing before it gives you the response of it

961
00:49:55,280 --> 00:49:58,239
works great and go from there. So it just addresses

962
00:49:58,280 --> 00:49:59,760
a lot of the nippicks that I think a lot

963
00:49:59,800 --> 00:50:03,679
of people have with Alowans in general. And Wow, it

964
00:50:04,000 --> 00:50:08,440
makes copilot. It puts co pilot down a peg, I

965
00:50:08,480 --> 00:50:11,079
guess in terms of its confidence level. So it tries

966
00:50:11,119 --> 00:50:14,000
to be right and that's double checking its answers more.

967
00:50:14,119 --> 00:50:17,400
Speaker 1: That is one thing we've noticed about about sign it

968
00:50:17,480 --> 00:50:23,440
in particular is that it tries to overperform, over deliver right. Hey,

969
00:50:23,480 --> 00:50:28,039
while I was at it, I read your entire application.

970
00:50:29,639 --> 00:50:35,639
Speaker 2: Like whoa Hey, whoa whoa whoa whoa Yeah.

971
00:50:34,800 --> 00:50:37,079
Speaker 3: And best most nice because it also breaks down what

972
00:50:37,119 --> 00:50:39,039
it's going to do in steps, like you get a

973
00:50:39,079 --> 00:50:41,320
little to do list from it, and so for me

974
00:50:41,519 --> 00:50:43,880
usually if I'm doing like vibe coding with it, I'll

975
00:50:43,880 --> 00:50:47,239
be like, do this, but do not continue to the

976
00:50:47,239 --> 00:50:49,159
next step that you're referring to until I say so,

977
00:50:49,159 --> 00:50:51,760
so I can like review everything before it.

978
00:50:51,760 --> 00:50:54,199
Speaker 2: This decreases the risk of the universe being turned into

979
00:50:54,239 --> 00:50:55,000
paper clips.

980
00:50:55,400 --> 00:50:59,639
Speaker 1: Yeah, find me the best price on a flight to Miami,

981
00:50:59,719 --> 00:51:00,800
but don't buy it.

982
00:51:01,119 --> 00:51:05,360
Speaker 3: Yeah, do not the goodness don't buy that. Spirit air

983
00:51:05,440 --> 00:51:06,920
ones to tick up for one thousand dollars. What are

984
00:51:06,960 --> 00:51:07,360
you doing?

985
00:51:09,119 --> 00:51:11,760
Speaker 2: And I have to ride in an overhead bin? Oh

986
00:51:11,800 --> 00:51:14,519
my god, buddy.

987
00:51:17,440 --> 00:51:19,880
Speaker 3: Yeah, check out beast Mode. It's also a great It's

988
00:51:19,880 --> 00:51:21,920
a pretty funny read too, because a lot of it's

989
00:51:21,960 --> 00:51:24,840
like in all caps. It kind of reads like a

990
00:51:24,880 --> 00:51:29,199
really tough coach in a sports movie being like Mercies

991
00:51:29,239 --> 00:51:30,800
for the week, blah blah bla blah blah, don't do

992
00:51:30,840 --> 00:51:31,880
this x y Z.

993
00:51:33,480 --> 00:51:35,320
Speaker 2: Is this Burke Holland wrote this?

994
00:51:35,880 --> 00:51:39,679
Speaker 3: Yeah, the awesome, wow, awesomeness. Who was Burt Holland.

995
00:51:39,679 --> 00:51:42,000
Speaker 2: He's great, it's so funny.

996
00:51:42,239 --> 00:51:44,360
Speaker 3: Yeah, he's wonderful.

997
00:51:44,920 --> 00:51:47,960
Speaker 2: Yeah, a clue to linked to beast mode for in

998
00:51:48,000 --> 00:51:53,119
the show notes for sure. For that, it's it's very

999
00:51:53,159 --> 00:51:56,840
interesting when you push these tools into very specific behaviors,

1000
00:51:56,840 --> 00:52:03,199
they will follow. You know that. You know, we were

1001
00:52:03,280 --> 00:52:05,960
playing this game with the tool where we were stripping

1002
00:52:06,000 --> 00:52:10,199
away all of the obsequiousness, all of the decorative language,

1003
00:52:10,639 --> 00:52:15,280
and then and then so it respond very tersely. And

1004
00:52:15,320 --> 00:52:19,239
then when we press against certain subject areas that where

1005
00:52:19,440 --> 00:52:23,159
you know, some perhaps political in nature, suddenly the language

1006
00:52:23,159 --> 00:52:26,360
will get very big again. Like ah, okay, so this

1007
00:52:26,440 --> 00:52:29,519
is hard coded stuff like this is not the LM

1008
00:52:29,559 --> 00:52:31,880
generating it. Somebody's written in if you go, if you're

1009
00:52:32,000 --> 00:52:34,800
in this direction, this is what you must say. So

1010
00:52:35,079 --> 00:52:37,719
you know, there's lots of fixes inside these systems for

1011
00:52:37,840 --> 00:52:40,880
dealing with the reality of the world. I wonder if

1012
00:52:41,000 --> 00:52:45,280
beast mode turns the sycophancy off, you would hope, you know,

1013
00:52:46,039 --> 00:52:49,280
just just don't don't be such an ass kisser. I

1014
00:52:49,280 --> 00:52:51,039
wonder if I could just put that in the system

1015
00:52:51,079 --> 00:52:54,280
prompt it's like absequious mode, low.

1016
00:52:59,519 --> 00:53:00,719
Speaker 1: Purple, a clairvoyant.

1017
00:53:02,480 --> 00:53:05,280
Speaker 3: I do like having that ability. Like I I Vibe

1018
00:53:05,320 --> 00:53:08,719
coded an MCP server the other day that's basically like,

1019
00:53:09,280 --> 00:53:12,239
let's play Wordle. So it's a server that will boot

1020
00:53:12,320 --> 00:53:15,360
up a game of Wordle and copilot chat when I

1021
00:53:15,400 --> 00:53:19,360
tell it to. But by default it's maybe just because

1022
00:53:19,360 --> 00:53:21,960
of the clouds on it. It's super verbose about it,

1023
00:53:22,000 --> 00:53:24,440
and it's just like, hey, let me spoil the game

1024
00:53:24,480 --> 00:53:26,840
for you, okay, let me give you some suggestion words

1025
00:53:26,880 --> 00:53:29,039
to type in like no, So at one point I

1026
00:53:29,079 --> 00:53:31,559
was just like, just give me the map and how

1027
00:53:31,559 --> 00:53:34,039
many guesses I have left, and I will do the rest.

1028
00:53:34,079 --> 00:53:36,559
And it's like sure, and like MCP server still works,

1029
00:53:36,559 --> 00:53:39,400
but it's just a lot more blunt about it.

1030
00:53:40,679 --> 00:53:43,559
Speaker 2: Are there other mcps coming inside a Visual Studio then,

1031
00:53:43,639 --> 00:53:45,639
Like we talked about the GitHub one, but I can't

1032
00:53:45,679 --> 00:53:47,440
imagine there's a bunch of others in development, like.

1033
00:53:47,480 --> 00:53:50,559
Speaker 3: The registry, oh, the server in general. Yeah, so there's

1034
00:53:50,599 --> 00:53:54,039
a ton of MCP servers to take advantage of, and recently,

1035
00:53:54,559 --> 00:53:58,159
like I think, if you download the latest build of Insiders,

1036
00:53:58,679 --> 00:54:02,199
you should be able to act us a built in

1037
00:54:02,280 --> 00:54:06,719
way to browse MCP servers directly in Visual Studio. This

1038
00:54:06,840 --> 00:54:09,920
also applies to VS code, but VS just introduced there.

1039
00:54:10,039 --> 00:54:13,119
So similar to the Extension Manager where you can browse

1040
00:54:13,199 --> 00:54:17,920
for extensions, there's now an experience for MCP servers. I

1041
00:54:17,920 --> 00:54:20,840
think you can access it via the extensions tab in

1042
00:54:21,199 --> 00:54:24,199
Visual Studio, which if they place to put it, but

1043
00:54:24,239 --> 00:54:26,800
for now that's where it's located. Click that tab and

1044
00:54:26,800 --> 00:54:30,559
then there's an MCP like browsing option right that you

1045
00:54:30,599 --> 00:54:33,320
can click on to see all the different servers.

1046
00:54:33,400 --> 00:54:37,519
Speaker 1: We hear or I hear that there's a version of

1047
00:54:37,639 --> 00:54:42,920
the Microsoft Seql Server MCP coming that doesn't require node

1048
00:54:43,159 --> 00:54:47,280
and all of the other crazy things that it currently requires.

1049
00:54:47,519 --> 00:54:48,159
Speaker 3: That'd be cool.

1050
00:54:48,760 --> 00:54:51,599
Speaker 1: Uh yeah, yeah, waiting for that one.

1051
00:54:51,679 --> 00:54:55,320
Speaker 3: Yep, that would be nice. Actually, I enjoy that a lot. Yeah,

1052
00:54:55,400 --> 00:54:57,760
I think of some of my O our favorites I

1053
00:54:57,840 --> 00:55:02,400
really like, and the under the Azure MCP server, which

1054
00:55:02,480 --> 00:55:05,280
is huge, so I try to like filter the tools

1055
00:55:05,320 --> 00:55:08,360
I actually care about. I like the tools on Azure

1056
00:55:08,440 --> 00:55:11,800
Cousto because as a PM, we spend a lot of

1057
00:55:11,800 --> 00:55:15,000
time in Cousto looking at telemetry and trying to build

1058
00:55:15,360 --> 00:55:19,079
Cousto queries to get the telemetary that telemetry that we want.

1059
00:55:19,360 --> 00:55:21,360
Speaker 2: Nobody wants to write Cousto queries.

1060
00:55:21,719 --> 00:55:26,559
Speaker 3: No, exactly, nobody wants to write Nobody wants to do that.

1061
00:55:26,639 --> 00:55:27,800
It takes like half the day.

1062
00:55:27,960 --> 00:55:31,719
Speaker 2: It's horrible to write a Cousto queries. There's only two outcomes,

1063
00:55:32,440 --> 00:55:35,920
no data or all of the data nothing else.

1064
00:55:36,079 --> 00:55:41,920
Speaker 3: It's like that's too much. It's like, god, it sucks.

1065
00:55:41,920 --> 00:55:45,199
So yeah, the COUSTA one is nice because it does

1066
00:55:45,280 --> 00:55:48,039
a lot of that coustal query generation for you, and

1067
00:55:48,199 --> 00:55:50,960
it's starting to acknowledge some of the internal tables that

1068
00:55:51,000 --> 00:55:54,559
we have, which is so exciting because uh, nobody likes

1069
00:55:54,559 --> 00:55:58,480
to document what happens in each internal table that we

1070
00:55:58,519 --> 00:56:00,400
need to access, so you just have to get are

1071
00:56:00,559 --> 00:56:04,719
pretty God that somebody is around who knows what's up

1072
00:56:04,719 --> 00:56:08,119
with that table in its contents. Otherwise you're making educated

1073
00:56:08,119 --> 00:56:09,079
guesses a lot of time.

1074
00:56:09,159 --> 00:56:15,239
Speaker 2: So it's well, I interviewed Mark Morowski on run As Radio,

1075
00:56:15,360 --> 00:56:18,440
who's written the book on Cousto querying. Wow, but I

1076
00:56:18,800 --> 00:56:21,159
still feel like and it's a cookbook too, So it's

1077
00:56:21,159 --> 00:56:23,239
got a whole bunch of great queries that already in it, and

1078
00:56:23,280 --> 00:56:26,920
I absolutely courage people to have it. But you know what, boy,

1079
00:56:27,000 --> 00:56:28,440
this is a great use for LMS.

1080
00:56:28,719 --> 00:56:32,400
Speaker 3: I just you know, it's like you have the vision

1081
00:56:32,440 --> 00:56:34,119
in your head and you just do not know how

1082
00:56:34,159 --> 00:56:34,599
to put it on.

1083
00:56:34,639 --> 00:56:36,760
Speaker 2: To describe it in a prompt and let the tool

1084
00:56:36,840 --> 00:56:39,800
iterate on it till you get results. And you can

1085
00:56:39,960 --> 00:56:43,239
tell that prompt this is too much data. Narrow the

1086
00:56:43,320 --> 00:56:46,920
scope and right and have it try to solve the

1087
00:56:46,920 --> 00:56:49,360
problem for you. It might not succeed, but at least

1088
00:56:49,440 --> 00:56:51,840
you're not the one just monking with parameters trying to

1089
00:56:51,840 --> 00:56:54,800
figure out how do I narrow this. I wonder, I

1090
00:56:54,840 --> 00:56:56,960
wonder if your average dot and I Rock's listener knows

1091
00:56:56,960 --> 00:56:59,679
what KQL is, maybe we should just tell.

1092
00:56:59,599 --> 00:57:01,679
Speaker 3: Them Custo query language.

1093
00:57:02,039 --> 00:57:06,760
Speaker 1: Yeah, it's for querying. Azure. It's what you were just talking.

1094
00:57:06,480 --> 00:57:09,119
Speaker 2: About, right, Everything you possibly want an Azure, which by

1095
00:57:09,119 --> 00:57:11,320
the way, is too much stuff is in there.

1096
00:57:13,039 --> 00:57:17,239
Speaker 3: Yep. A little very similar to SQL, I think, but yeah,

1097
00:57:17,440 --> 00:57:22,599
just still still annoying to craft those queries just as.

1098
00:57:21,440 --> 00:57:24,119
Speaker 2: But yeah, but it queries across all kinds of different

1099
00:57:24,159 --> 00:57:27,320
stores inside of Azure. Like I said, it's very easy

1100
00:57:27,360 --> 00:57:27,679
to get.

1101
00:57:27,719 --> 00:57:32,159
Speaker 1: So you're saying there's an MCP for for KQL. That's

1102
00:57:32,199 --> 00:57:34,480
what you're saying, right, and it makes it so much easier.

1103
00:57:34,559 --> 00:57:37,000
Speaker 3: Yeah, good good, thank goodness.

1104
00:57:37,280 --> 00:57:37,480
Speaker 2: Yep.

1105
00:57:37,639 --> 00:57:40,400
Speaker 1: And this is going to come out when a couple

1106
00:57:40,400 --> 00:57:41,400
of weeks something like that.

1107
00:57:41,480 --> 00:57:41,920
Speaker 2: Yeah.

1108
00:57:42,880 --> 00:57:46,719
Speaker 1: Yeah, so on the twentieth I think. So this past

1109
00:57:46,760 --> 00:57:51,320
week Fritz and I did a code with AI that

1110
00:57:51,480 --> 00:57:55,920
where we tried to use the SQL MCP to query

1111
00:57:55,960 --> 00:57:59,840
a Netflix database Netflix publishes or somebody got held of

1112
00:58:00,320 --> 00:58:04,440
Netflix data for twenty twenty four and it's all historical data,

1113
00:58:04,519 --> 00:58:07,119
so it's no big deal and about all the movies

1114
00:58:07,159 --> 00:58:10,639
and titles in the visibility and all the you know,

1115
00:58:11,199 --> 00:58:15,480
how many people accessed it and all that, and yeah,

1116
00:58:15,519 --> 00:58:19,079
we tried to use the sequel MCP and we did.

1117
00:58:19,199 --> 00:58:22,039
We got it working. But just to try to explain

1118
00:58:22,079 --> 00:58:24,960
to people how to set it up. It turned out

1119
00:58:24,960 --> 00:58:27,519
we would spend most of the episode doing that and

1120
00:58:27,599 --> 00:58:29,360
actually using it. So what we did was I thought

1121
00:58:29,360 --> 00:58:36,079
pretty ingenious. We used the internal MCP in Aspire, set

1122
00:58:36,159 --> 00:58:39,639
up the sequel server with a script in Aspire, and

1123
00:58:39,679 --> 00:58:41,679
then we use the internal MCP to tell it, hey,

1124
00:58:41,840 --> 00:58:45,599
give us the schema for the tables. So it did that.

1125
00:58:46,119 --> 00:58:48,239
We put that in the system prompt. We said, here's

1126
00:58:48,280 --> 00:58:52,480
the schema, here's some mappings from English words to the

1127
00:58:52,519 --> 00:58:56,800
field names in these tables. And then just take the

1128
00:58:56,840 --> 00:58:58,960
text that we put in there the user puts in

1129
00:58:59,000 --> 00:59:02,639
and translate that to a t SQL statement And that

1130
00:59:02,719 --> 00:59:04,920
worked really well. And so there's two steps to it.

1131
00:59:04,960 --> 00:59:06,679
You see the t squl statement and then you hit

1132
00:59:06,719 --> 00:59:08,400
a button and it executes it and puts it in

1133
00:59:08,440 --> 00:59:08,800
a grid.

1134
00:59:08,960 --> 00:59:09,719
Speaker 3: It's pretty sweet.

1135
00:59:10,000 --> 00:59:12,079
Speaker 1: So I thought that was a pretty cool thing. But

1136
00:59:12,079 --> 00:59:14,519
I wouldn't want to do that if I had one

1137
00:59:14,599 --> 00:59:21,000
hundred tables a thousand tables. So yeah, looking forward to

1138
00:59:21,039 --> 00:59:24,239
the to an upcoming version of that makes it easier.

1139
00:59:24,280 --> 00:59:27,280
But the whole goal, right is, you know, hey, you

1140
00:59:27,320 --> 00:59:30,280
want to SEQL server MCP or this MCP or that one,

1141
00:59:30,360 --> 00:59:33,440
just push a button, poof install it. Now you've got it.

1142
00:59:33,840 --> 00:59:36,119
Speaker 3: Mm hmm yeah that is the general idea.

1143
00:59:36,599 --> 00:59:37,719
Speaker 2: Yep, I love it.

1144
00:59:38,800 --> 00:59:42,800
Speaker 1: Well, we are unfortunately out of time, but Leslie Richardson's

1145
00:59:43,920 --> 00:59:44,920
amazing talking to you.

1146
00:59:45,320 --> 00:59:47,800
Speaker 3: Thank you, thanks for having me. Was pun to chat

1147
00:59:47,840 --> 00:59:48,599
on this lovely prid.

1148
00:59:48,719 --> 00:59:50,880
Speaker 1: Let's do this on a more regular basis.

1149
00:59:50,960 --> 00:59:53,480
Speaker 3: I agree, Yeah, okay, and we'll.

1150
00:59:53,320 --> 01:00:17,159
Speaker 1: Talk to you next time on dot net rocks. Dot

1151
01:00:17,239 --> 01:00:19,880
net Rocks is brought to you by Franklin's Net and

1152
01:00:19,960 --> 01:00:23,880
produced by Pop Studios, a full service audio, video and

1153
01:00:23,960 --> 01:00:28,199
post production facility located physically in New London, Connecticut, and

1154
01:00:28,320 --> 01:00:32,920
of course in the cloud online at pwop dot com.

1155
01:00:33,119 --> 01:00:34,239
Speaker 2: Visit our website at.

1156
01:00:34,159 --> 01:00:36,000
Speaker 1: D O T N E t R O c k

1157
01:00:36,280 --> 01:00:41,159
S dot com for RSS feeds, downloads, mobile apps, comments,

1158
01:00:41,400 --> 01:00:43,920
and access to the full archives going back to show

1159
01:00:44,000 --> 01:00:46,639
number one, recorded in September two.

1160
01:00:46,440 --> 01:00:47,039
Speaker 2: Thousand and two.

1161
01:00:47,679 --> 01:00:50,000
Speaker 1: And make sure you check out our sponsors. They keep

1162
01:00:50,079 --> 01:00:53,199
us in business. Now go write some code, see you

1163
01:00:53,280 --> 01:00:53,719
next time.

1164
01:00:54,639 --> 01:01:02,719
Speaker 3: You got Jack Middle Vans O god that means home,

1165
01:01:03,199 --> 01:01:05,719
then my Texas in a line. Credit b

