WEBVTT

1
00:00:00.960 --> 00:00:02.879
<v Speaker 1>Hey Richard, Hey Carl, what do you know?

2
00:00:03.120 --> 00:00:06.679
<v Speaker 2>Well, I know that our friend Michelle Rubusta Monte is

3
00:00:06.719 --> 00:00:08.880
<v Speaker 2>with us to tell us about something that's going on

4
00:00:09.519 --> 00:00:11.199
<v Speaker 2>adjacent to DEV Intersection.

5
00:00:11.240 --> 00:00:15.560
<v Speaker 1>What is it? It's cybersecurity Intersection. Let's let Michelle tell

6
00:00:15.599 --> 00:00:16.199
<v Speaker 1>that story.

7
00:00:16.679 --> 00:00:21.320
<v Speaker 3>Hey Michelle, Hey Carl, Hey Richard, how are you.

8
00:00:21.000 --> 00:00:22.839
<v Speaker 2>Tell us about cybersecurity Intersection?

9
00:00:23.480 --> 00:00:26.920
<v Speaker 3>Well, so, Richard and I are partnering with the group

10
00:00:27.000 --> 00:00:30.359
<v Speaker 3>that does DEV Intersection and next Gen AI, and we

11
00:00:30.600 --> 00:00:34.200
<v Speaker 3>are putting on a new conference dedicated to one hundred

12
00:00:34.240 --> 00:00:40.000
<v Speaker 3>percent security focused topics. And I mean, honestly, the lineup

13
00:00:40.039 --> 00:00:43.679
<v Speaker 3>of speakers is incredible. We have Paula A. Jenis, who's

14
00:00:43.719 --> 00:00:47.600
<v Speaker 3>here from Poland and does keynotes all over the world

15
00:00:47.719 --> 00:00:50.600
<v Speaker 3>and is one of the top rated RSA speakers and

16
00:00:50.640 --> 00:00:53.159
<v Speaker 3>black hat speaker. We're so lucky to have her. But

17
00:00:53.240 --> 00:00:56.000
<v Speaker 3>she's not only keynoting, she's got a workshop teaches you

18
00:00:56.039 --> 00:01:01.039
<v Speaker 3>about protecting your environments against hackers and shows you about

19
00:01:01.280 --> 00:01:03.719
<v Speaker 3>how to you know, do attacks so that you can

20
00:01:03.759 --> 00:01:07.840
<v Speaker 3>prevent them. It's pretty cool and sessions like that as well.

21
00:01:07.840 --> 00:01:10.799
<v Speaker 3>But we also have speakers from Microsoft. We have we

22
00:01:10.840 --> 00:01:15.120
<v Speaker 3>have speakers that specialize in you know secure coding practices,

23
00:01:15.640 --> 00:01:20.439
<v Speaker 3>Azure security, Zuero, trust architectures on Azure UH and people

24
00:01:20.439 --> 00:01:23.519
<v Speaker 3>who do decision maker tracks, so things around governance policy

25
00:01:23.560 --> 00:01:26.200
<v Speaker 3>and you know how to how to manage and your

26
00:01:26.200 --> 00:01:29.480
<v Speaker 3>production operations keep them secure. So it's an amazing group

27
00:01:29.519 --> 00:01:31.040
<v Speaker 3>of speakers, really excited about it.

28
00:01:31.120 --> 00:01:33.560
<v Speaker 2>And I think I can count myself among the group

29
00:01:33.599 --> 00:01:34.599
<v Speaker 2>of speakers there.

30
00:01:35.040 --> 00:01:37.079
<v Speaker 3>Well, yes you can, that is right.

31
00:01:37.480 --> 00:01:42.159
<v Speaker 2>Yeah, I'm doing a securing Blazer Server applications talk and

32
00:01:42.239 --> 00:01:45.959
<v Speaker 2>also I think we're doing a Security this Week live

33
00:01:46.040 --> 00:01:48.480
<v Speaker 2>show there somewhere that is correct.

34
00:01:48.719 --> 00:01:51.200
<v Speaker 3>Yeah, we'll be recording Security this Week live. We're going

35
00:01:51.239 --> 00:01:54.719
<v Speaker 3>to have a great panel with some folks. The interesting

36
00:01:54.719 --> 00:01:57.920
<v Speaker 3>thing here is we don't really have a Microsoft and

37
00:01:58.000 --> 00:02:02.120
<v Speaker 3>dot net and Azure focused toecurity conference yet, so that's

38
00:02:02.159 --> 00:02:05.159
<v Speaker 3>the reason we're putting this on as well. You know

39
00:02:05.200 --> 00:02:08.280
<v Speaker 3>there are other security conferences, but they have a spread

40
00:02:08.280 --> 00:02:10.439
<v Speaker 3>of topics that maybe don't focus on the things you

41
00:02:10.520 --> 00:02:13.080
<v Speaker 3>do day to day. And you know this overlaps with

42
00:02:13.199 --> 00:02:17.560
<v Speaker 3>again our community of folks that specialize in again dot net,

43
00:02:17.680 --> 00:02:21.039
<v Speaker 3>Azure and yeah, they need to keep it secure too,

44
00:02:21.280 --> 00:02:22.840
<v Speaker 3>So with tons of talks.

45
00:02:23.719 --> 00:02:27.240
<v Speaker 1>Cyber Intersection is part of a trio of conferences we're doing.

46
00:02:27.280 --> 00:02:30.360
<v Speaker 1>They have Intersection alongside the next Gen AI Conference all

47
00:02:30.439 --> 00:02:34.680
<v Speaker 1>in Orlando the week of October fifth through tenth. That's

48
00:02:34.759 --> 00:02:38.080
<v Speaker 1>workshops and the main conference. And you can get a

49
00:02:38.120 --> 00:02:41.400
<v Speaker 1>special registration code if you sign up through Cybersecurity Intersection

50
00:02:41.639 --> 00:02:42.360
<v Speaker 1>dot com.

51
00:02:42.680 --> 00:02:47.400
<v Speaker 3>Yeah, so if you sign up at Cybersecurity Intersection dot com,

52
00:02:47.599 --> 00:02:52.520
<v Speaker 3>then you put in this code, so Alliance cyber three

53
00:02:52.599 --> 00:02:56.319
<v Speaker 3>hundred and you'll get three hundred off the entry price.

54
00:02:56.560 --> 00:02:59.680
<v Speaker 3>So that's a special code that only works at cybersecurity

55
00:03:00.599 --> 00:03:04.439
<v Speaker 3>dot com. And then you have access to all the conferences.

56
00:03:04.479 --> 00:03:09.400
<v Speaker 2>Like Richard said, Wow, that's cool. Thanks Michelle. I'm looking

57
00:03:09.439 --> 00:03:24.199
<v Speaker 2>forward to it and I'll see you there. Hey, watch

58
00:03:24.199 --> 00:03:27.479
<v Speaker 2>out for falling rocks. Nice, it's dot NetRocks. Watch out

59
00:03:27.520 --> 00:03:31.960
<v Speaker 2>for falling dot NetRocks. I'm Carl Franklin.

60
00:03:31.520 --> 00:03:32.520
<v Speaker 1>And I'm Richard Campbell.

61
00:03:32.639 --> 00:03:36.240
<v Speaker 2>We're here for your listening pleasure again. On episode nineteen

62
00:03:36.479 --> 00:03:41.280
<v Speaker 2>sixty seven, this is the year we were born. Yeah,

63
00:03:41.520 --> 00:03:47.080
<v Speaker 2>and my wife then ye yeah, and a lot of

64
00:03:47.240 --> 00:03:49.479
<v Speaker 2>cool things happen. Should we do better know framework first

65
00:03:49.479 --> 00:03:52.159
<v Speaker 2>and then do what happened in nineteen sixty seven? Or

66
00:03:52.319 --> 00:03:55.400
<v Speaker 2>should we Yeah, let's do that all right, don't mess

67
00:03:55.439 --> 00:03:56.879
<v Speaker 2>with the pattern, roll the music.

68
00:04:05.080 --> 00:04:05.560
<v Speaker 1>What do you got?

69
00:04:05.599 --> 00:04:08.439
<v Speaker 2>I have something intriguing that I have not used, but

70
00:04:08.719 --> 00:04:10.479
<v Speaker 2>you know, I like to look and see what's trending

71
00:04:10.479 --> 00:04:14.280
<v Speaker 2>on GitHub and this one is a tool that lets

72
00:04:14.280 --> 00:04:17.279
<v Speaker 2>you run Windows in a Docker container.

73
00:04:17.480 --> 00:04:18.879
<v Speaker 1>Oh far Oh.

74
00:04:18.480 --> 00:04:23.800
<v Speaker 2>It's docer doc k u r slash Windows on GitHub.

75
00:04:24.000 --> 00:04:26.199
<v Speaker 1>And let me pull the classic And why would you

76
00:04:26.279 --> 00:04:26.560
<v Speaker 1>do that?

77
00:04:26.639 --> 00:04:28.759
<v Speaker 2>Why would you ever want to do that? Yeah? Why

78
00:04:28.759 --> 00:04:30.199
<v Speaker 2>would you want to do that? I'll tell you what.

79
00:04:30.279 --> 00:04:32.240
<v Speaker 2>The only reason I could see doing that is the

80
00:04:32.240 --> 00:04:36.839
<v Speaker 2>same reason i'd want to VM, which is complete and encapsulation.

81
00:04:36.920 --> 00:04:40.120
<v Speaker 2>But I would probably want to do it for security reasons,

82
00:04:40.680 --> 00:04:44.079
<v Speaker 2>you know, like I want to move all my email

83
00:04:44.160 --> 00:04:47.240
<v Speaker 2>reading stuff over there. But in order to do that,

84
00:04:47.319 --> 00:04:51.079
<v Speaker 2>you really have to turn off network access, well local

85
00:04:51.240 --> 00:04:53.160
<v Speaker 2>network access, you have to limit it.

86
00:04:53.399 --> 00:04:55.399
<v Speaker 1>You can do that sort of stuff with virtual desktop too,

87
00:04:55.399 --> 00:04:57.439
<v Speaker 1>if you would, if it's just for that interaction. Yeah,

88
00:04:57.560 --> 00:05:00.360
<v Speaker 1>you know. I funny do you bring this up. Timing's

89
00:05:00.360 --> 00:05:02.720
<v Speaker 1>impeccable as usual, mister Franklin, because I was just having

90
00:05:02.720 --> 00:05:06.120
<v Speaker 1>to chat about the origins of virtualization, realizing you know,

91
00:05:06.160 --> 00:05:11.800
<v Speaker 1>back in the day I was using virtualization for testing installs. Right,

92
00:05:11.879 --> 00:05:14.920
<v Speaker 1>we'd have a baseline. This is the current configuration of

93
00:05:14.920 --> 00:05:16.879
<v Speaker 1>the machine at the company. We're gonna put the new

94
00:05:16.920 --> 00:05:19.279
<v Speaker 1>version on. Let's install it. Make sure it doesn't break anything.

95
00:05:19.319 --> 00:05:21.920
<v Speaker 1>This is back in DLL hell days, right, And when

96
00:05:21.920 --> 00:05:24.800
<v Speaker 1>it did you could use because you were in virtual machine.

97
00:05:24.800 --> 00:05:28.079
<v Speaker 1>You just rolled back to the state before tweaked the install,

98
00:05:28.160 --> 00:05:30.079
<v Speaker 1>figure out what you did, made mistake you and try

99
00:05:30.120 --> 00:05:32.480
<v Speaker 1>it again. Like it was a great testing platform. And

100
00:05:32.519 --> 00:05:35.000
<v Speaker 1>this is like a cool way to approach that problem.

101
00:05:35.040 --> 00:05:37.319
<v Speaker 1>Not that we have those kinds of DLL hells anymore.

102
00:05:37.360 --> 00:05:40.199
<v Speaker 1>Now we have new and extra special DLL health. Is

103
00:05:40.240 --> 00:05:42.040
<v Speaker 1>there such a thing as doctor Hell. I don't know,

104
00:05:43.000 --> 00:05:44.639
<v Speaker 1>Maybe it's I don't know there was doctor help, but

105
00:05:44.639 --> 00:05:47.240
<v Speaker 1>it's definitely new get help and yamel hell. I think

106
00:05:47.399 --> 00:05:49.839
<v Speaker 1>everybody on those of this show knows about new get hell. Yeah.

107
00:05:49.920 --> 00:05:54.319
<v Speaker 2>Yeah, yeah, so it's interesting. I would want to, like,

108
00:05:54.360 --> 00:05:57.040
<v Speaker 2>I say, use it for security reasons. Vms are great,

109
00:05:57.079 --> 00:05:58.879
<v Speaker 2>but you know they can be slow, and if they're

110
00:05:58.920 --> 00:06:00.360
<v Speaker 2>not slow, they're expensive and.

111
00:06:00.800 --> 00:06:03.519
<v Speaker 1>They're big, big, big bulky, Like this is just a

112
00:06:03.839 --> 00:06:04.759
<v Speaker 1>lean way to do this.

113
00:06:05.360 --> 00:06:07.879
<v Speaker 2>Yeah, And you use RDP to connect to it, and

114
00:06:07.959 --> 00:06:10.240
<v Speaker 2>so it's pretty cool. But I'd just like to see

115
00:06:10.240 --> 00:06:12.879
<v Speaker 2>if I could lock it down and you know, use

116
00:06:12.920 --> 00:06:15.839
<v Speaker 2>it for Internet browsing and email and all those things.

117
00:06:15.879 --> 00:06:16.759
<v Speaker 1>So interesting.

118
00:06:16.879 --> 00:06:20.399
<v Speaker 2>If I do get phished, you know, I'm not going

119
00:06:20.439 --> 00:06:23.399
<v Speaker 2>to get ransomwared. That's that's why I would want to use.

120
00:06:23.360 --> 00:06:24.839
<v Speaker 1>It, right, or you are, but it's just going to

121
00:06:24.879 --> 00:06:26.360
<v Speaker 1>be on a machine that you don't have anything important on,

122
00:06:26.480 --> 00:06:28.279
<v Speaker 1>so you don't care. Just pave it and go again.

123
00:06:28.759 --> 00:06:29.720
<v Speaker 2>Yeah yeah, or you.

124
00:06:29.720 --> 00:06:32.000
<v Speaker 1>Don't even have to pave it. You just rebuild the

125
00:06:32.000 --> 00:06:34.199
<v Speaker 1>container and to help you go.

126
00:06:34.439 --> 00:06:38.480
<v Speaker 2>Right, yeah, yeah, so long as it doesn't touch your

127
00:06:38.839 --> 00:06:40.639
<v Speaker 2>discs and your you know, well.

128
00:06:40.439 --> 00:06:41.959
<v Speaker 1>You give it a yeah, he got no rights to

129
00:06:42.000 --> 00:06:42.439
<v Speaker 1>anything else.

130
00:06:42.480 --> 00:06:45.240
<v Speaker 2>Give it an area of the disk, and give it

131
00:06:45.560 --> 00:06:46.399
<v Speaker 2>limited network.

132
00:06:46.439 --> 00:06:48.439
<v Speaker 1>No, it's living in that little space. You put it

133
00:06:48.480 --> 00:06:50.879
<v Speaker 1>on its own virtual network, so it only can communicate

134
00:06:50.920 --> 00:06:53.199
<v Speaker 1>the Internet, nothing else in your network. Like, yeah, we've

135
00:06:53.199 --> 00:06:56.120
<v Speaker 1>done all this. This is good honeypot testing and black

136
00:06:56.160 --> 00:06:58.000
<v Speaker 1>app testing, like this is where you do this stuff.

137
00:06:58.040 --> 00:06:58.639
<v Speaker 1>It's cool idea.

138
00:06:58.680 --> 00:07:00.240
<v Speaker 2>So it's cool. I'm going to talk to Doane and

139
00:07:00.279 --> 00:07:02.959
<v Speaker 2>Patrick about that on the next security this week. But yeah,

140
00:07:03.040 --> 00:07:05.480
<v Speaker 2>that's what I got. So who's talking to us.

141
00:07:05.560 --> 00:07:08.360
<v Speaker 1>Richard grabbed a comment off a show from fifteen sixty

142
00:07:08.480 --> 00:07:10.480
<v Speaker 1>going back a few years. It's from July of twenty

143
00:07:10.519 --> 00:07:12.720
<v Speaker 1>eighteen with one Mads Christensen. Maybe you've heard him and

144
00:07:12.720 --> 00:07:15.839
<v Speaker 1>can't wear his glasses very well when we're talking about

145
00:07:15.839 --> 00:07:19.199
<v Speaker 1>writing visual studio extensions, I'm talking about his headshot because

146
00:07:19.199 --> 00:07:21.399
<v Speaker 1>he's got this headshot with his glasses all askew, which

147
00:07:21.439 --> 00:07:24.600
<v Speaker 1>is hilarious inside joke. And admittedly this is a few

148
00:07:24.639 --> 00:07:26.879
<v Speaker 1>years ago, so this is a comment from Scott Hirstell

149
00:07:27.480 --> 00:07:29.920
<v Speaker 1>who said, holy smokes. After listening to this episode, I

150
00:07:30.000 --> 00:07:32.879
<v Speaker 1>took a dive into the visual studio marketplace to see

151
00:07:32.920 --> 00:07:35.480
<v Speaker 1>what kinds of extensions were available, and after hearing about

152
00:07:35.480 --> 00:07:38.680
<v Speaker 1>the image optimizer on the show, Thank you Mads, I

153
00:07:38.680 --> 00:07:40.439
<v Speaker 1>figured i'd give web Essentials a shot. One of the

154
00:07:40.439 --> 00:07:42.399
<v Speaker 1>most satisfying things about this tool was the ability to

155
00:07:42.399 --> 00:07:45.279
<v Speaker 1>save my files and have the browser automatically reload so

156
00:07:45.319 --> 00:07:47.720
<v Speaker 1>I can check out my changes. There are so many

157
00:07:47.720 --> 00:07:50.920
<v Speaker 1>goodies and web Essentials, thank you for your excellent work.

158
00:07:51.279 --> 00:07:54.000
<v Speaker 1>Oh and Fartacus is pretty good too. Everybody at the

159
00:07:54.000 --> 00:07:55.920
<v Speaker 1>officer you get a kick out of that one was

160
00:07:55.959 --> 00:07:58.399
<v Speaker 1>this from the era of the fart app was that

161
00:07:58.439 --> 00:07:59.480
<v Speaker 1>what Fardacus was.

162
00:07:59.720 --> 00:08:04.199
<v Speaker 4>Yeah, the part is the original fart app for visual studio.

163
00:08:04.920 --> 00:08:06.920
<v Speaker 2>So like you press a control key and it goes

164
00:08:07.480 --> 00:08:08.319
<v Speaker 2>or something or.

165
00:08:08.360 --> 00:08:10.240
<v Speaker 4>Well, of course there's a hot key, but you can

166
00:08:10.279 --> 00:08:13.319
<v Speaker 4>also you set it up so that when the build fails.

167
00:08:13.319 --> 00:08:16.480
<v Speaker 1>Ah, it's that or sad trombone, right.

168
00:08:18.480 --> 00:08:20.519
<v Speaker 4>There are some forks of it that does like you know,

169
00:08:20.959 --> 00:08:22.360
<v Speaker 4>Homer Simpson kind of.

170
00:08:22.319 --> 00:08:26.279
<v Speaker 1>Oh yeah and stuff. I remember setting up a rig

171
00:08:26.759 --> 00:08:29.360
<v Speaker 1>where when the build failed, it turned on a red

172
00:08:29.399 --> 00:08:33.000
<v Speaker 1>flashing light and everybody on the team had nerf guns

173
00:08:33.039 --> 00:08:34.480
<v Speaker 1>and you all shot the guy who wrote the bell.

174
00:08:35.759 --> 00:08:38.840
<v Speaker 1>It's nice, yeah, Scott, thank you so much. Here comment

175
00:08:38.879 --> 00:08:40.399
<v Speaker 1>and a copy of music Goby is on its way

176
00:08:40.440 --> 00:08:41.879
<v Speaker 1>to you. And if you'd like a copy of music Cobe,

177
00:08:41.919 --> 00:08:43.799
<v Speaker 1>I write a comment on the website at dot NetRocks

178
00:08:43.799 --> 00:08:45.639
<v Speaker 1>dot com or on Facebook, so you publish every show

179
00:08:45.679 --> 00:08:47.200
<v Speaker 1>there and if you comment there and I read it

180
00:08:47.200 --> 00:08:48.200
<v Speaker 1>on the show, we'll send you a copy.

181
00:08:48.279 --> 00:08:50.519
<v Speaker 2>Music go by and we're talking about music to Code by,

182
00:08:50.559 --> 00:08:52.559
<v Speaker 2>which you can get at music to Code by dot net.

183
00:08:52.600 --> 00:08:57.200
<v Speaker 2>We have twenty two tracks all in MP three flack

184
00:08:57.480 --> 00:09:04.039
<v Speaker 2>or wave format, helping people write code since twenty sixteen.

185
00:09:04.120 --> 00:09:07.399
<v Speaker 2>I can't remember when I started it, but anyway, that's it.

186
00:09:08.360 --> 00:09:10.360
<v Speaker 2>So let's talk about nineteen sixty seven. Brother.

187
00:09:10.440 --> 00:09:11.600
<v Speaker 1>All right, dude, where do you want to go?

188
00:09:11.679 --> 00:09:13.279
<v Speaker 2>Well, first of all, we were born that year.

189
00:09:13.360 --> 00:09:16.399
<v Speaker 1>My wife is born that year. That's ye happened.

190
00:09:16.440 --> 00:09:20.120
<v Speaker 2>But one thing that's really important to me is this

191
00:09:20.200 --> 00:09:22.720
<v Speaker 2>is when Sergeant Peppers was released.

192
00:09:22.960 --> 00:09:24.480
<v Speaker 1>Yeah, right, that's true.

193
00:09:24.639 --> 00:09:28.120
<v Speaker 2>One of the most iconic rock albums of all time.

194
00:09:28.279 --> 00:09:30.759
<v Speaker 1>It was also a transformative album for the Beatles too,

195
00:09:30.919 --> 00:09:32.559
<v Speaker 1>like it was a very different style.

196
00:09:32.720 --> 00:09:34.440
<v Speaker 2>Well, they were sort of in a rut. I remember

197
00:09:34.480 --> 00:09:36.840
<v Speaker 2>Paul McCartney talking about this. They were in a rut

198
00:09:37.399 --> 00:09:40.480
<v Speaker 2>in Beatlemania, you know, and they wanted to break out

199
00:09:40.519 --> 00:09:44.200
<v Speaker 2>of the mop top kind of image and they were

200
00:09:44.240 --> 00:09:46.799
<v Speaker 2>just beside themselves. They're like, well, this is who we are.

201
00:09:47.360 --> 00:09:49.960
<v Speaker 2>And Paul came up with the idea and he said,

202
00:09:50.519 --> 00:09:53.759
<v Speaker 2>what if we just put on these personas and we

203
00:09:53.879 --> 00:09:57.960
<v Speaker 2>wrote music from the perspective of these guys rather than

204
00:09:58.000 --> 00:10:02.240
<v Speaker 2>the Beatles, Right, So looks end and it was really

205
00:10:02.320 --> 00:10:05.440
<v Speaker 2>good and it broke them through. That broke them through

206
00:10:05.480 --> 00:10:09.440
<v Speaker 2>their issues. So other things that happen. Of course, it

207
00:10:09.519 --> 00:10:12.720
<v Speaker 2>was the summer of Love Right the Human Being in

208
00:10:12.759 --> 00:10:16.360
<v Speaker 2>San Francisco on January fourteenth marked the beginning of the

209
00:10:16.399 --> 00:10:20.000
<v Speaker 2>Summer of Love, attracting over two twenty thousand people celebrating

210
00:10:20.000 --> 00:10:24.879
<v Speaker 2>piece of music. Vietnam War, Lynn and Johnson requested more

211
00:10:24.879 --> 00:10:26.960
<v Speaker 2>funding for the Vietnam War during his State of the

212
00:10:27.039 --> 00:10:31.279
<v Speaker 2>Union of Dress on January tenth. Civil Rights Thirdgod Marshall

213
00:10:31.399 --> 00:10:33.799
<v Speaker 2>was confirmed as the first Black Supreme Court justice on

214
00:10:33.799 --> 00:10:38.559
<v Speaker 2>August thirty, big significant milestone. I'll let you talk about

215
00:10:38.559 --> 00:10:42.279
<v Speaker 2>science and space, but sure, yeah. I think Jack Ruby

216
00:10:42.360 --> 00:10:46.519
<v Speaker 2>was shot on January third. I think you're a year

217
00:10:46.600 --> 00:10:50.039
<v Speaker 2>too far ahead. Oh really yeah, Oh Jack Ruby's death.

218
00:10:51.240 --> 00:10:55.240
<v Speaker 2>Jack Ruby, who killed Lee Harvey Oswald, died on January third. Yeah,

219
00:10:55.279 --> 00:10:57.759
<v Speaker 2>so he died that year. It wasn't he didn't get shot.

220
00:10:58.600 --> 00:11:01.399
<v Speaker 2>I had that backwards. What happened in space and tech?

221
00:11:01.759 --> 00:11:03.840
<v Speaker 1>There's all the time. There's a lot of stuff coming

222
00:11:03.879 --> 00:11:06.879
<v Speaker 1>in tech at this point, like the you know, we're

223
00:11:06.919 --> 00:11:09.240
<v Speaker 1>only a year or two away from arpinnet becoming real,

224
00:11:09.399 --> 00:11:12.320
<v Speaker 1>so we're just we're just getting going there. But the

225
00:11:12.440 --> 00:11:17.360
<v Speaker 1>language logo is first published in nineteen sixty seven. While

226
00:11:17.360 --> 00:11:20.399
<v Speaker 1>if You're say gets say more, Pact and Cynthia Solomon.

227
00:11:20.440 --> 00:11:22.360
<v Speaker 1>They were working for a company called BBN, who was

228
00:11:22.440 --> 00:11:26.279
<v Speaker 1>also a central part of Arpanet. Sorry, the dog, after

229
00:11:26.559 --> 00:11:28.559
<v Speaker 1>being silent for hours, has decided to bark.

230
00:11:28.600 --> 00:11:30.720
<v Speaker 2>Now, Oh that's all right. We have to be real

231
00:11:30.759 --> 00:11:33.240
<v Speaker 2>once in a while, don't we. Yeah, little dog bark

232
00:11:33.320 --> 00:11:37.120
<v Speaker 2>never heard anybody. It was logo and a particular type

233
00:11:37.120 --> 00:11:40.720
<v Speaker 2>of language like function, functional or procedural or.

234
00:11:40.720 --> 00:11:45.840
<v Speaker 1>It was a it was a It was an interpreted language.

235
00:11:45.879 --> 00:11:48.879
<v Speaker 1>And this is where turtle graphics came from, like sort

236
00:11:48.919 --> 00:11:53.759
<v Speaker 1>of vector draw on the screen. Right, Yeah, it's turtle basic. Yeah, well,

237
00:11:53.799 --> 00:11:56.879
<v Speaker 1>turtle basics another thing. But this was a turtle logo.

238
00:11:56.960 --> 00:12:00.200
<v Speaker 1>You used turtle graphics as much graphics. We suppose to

239
00:12:00.240 --> 00:12:02.759
<v Speaker 1>be the term they called it logo from the Greek

240
00:12:02.919 --> 00:12:06.039
<v Speaker 1>logos for word or thought.

241
00:12:06.799 --> 00:12:10.320
<v Speaker 2>Interesting. So anything in space yeah.

242
00:12:09.960 --> 00:12:13.840
<v Speaker 1>Well yeah. This is the year of the most launches

243
00:12:14.000 --> 00:12:18.799
<v Speaker 1>in history until twenty twenty one until SpaceX blows the

244
00:12:18.840 --> 00:12:21.440
<v Speaker 1>record out one hundred and seventy two launches during the

245
00:12:21.519 --> 00:12:23.759
<v Speaker 1>Soviet Union and the United States.

246
00:12:24.000 --> 00:12:24.279
<v Speaker 2>Wow.

247
00:12:24.799 --> 00:12:28.279
<v Speaker 1>It's also the year of the Apollo one fire. In January,

248
00:12:28.519 --> 00:12:32.240
<v Speaker 1>chrisdom and White and Chaffee lose their lives in a

249
00:12:32.279 --> 00:12:36.080
<v Speaker 1>plugs out test on the stand and stops the Apollo program.

250
00:12:36.200 --> 00:12:36.399
<v Speaker 4>Wow.

251
00:12:36.519 --> 00:12:38.720
<v Speaker 1>For some time as they figure out the mistakes that

252
00:12:38.759 --> 00:12:40.960
<v Speaker 1>they were making. There was wiring problems. They were using

253
00:12:40.960 --> 00:12:44.559
<v Speaker 1>a pure auction environment, which created more risk. But it's

254
00:12:44.600 --> 00:12:47.519
<v Speaker 1>also the year that they fly for surveyors, which were

255
00:12:47.600 --> 00:12:50.840
<v Speaker 1>the robotic landers for the Moon, three of which will

256
00:12:50.879 --> 00:12:53.000
<v Speaker 1>landsafe on the Moon. The fourth will make a what

257
00:12:53.039 --> 00:13:00.120
<v Speaker 1>they call vigorous land. Also, so use one flies if

258
00:13:00.360 --> 00:13:05.120
<v Speaker 1>the first Soyuz flies with a single cosmonaut, Vladimir Komarov,

259
00:13:05.120 --> 00:13:07.559
<v Speaker 1>who will also lose his life after a day in

260
00:13:07.639 --> 00:13:09.960
<v Speaker 1>space on the way down, the parachute on his re

261
00:13:10.080 --> 00:13:14.879
<v Speaker 1>entry module failed. Any bomb did not survive, and the

262
00:13:14.960 --> 00:13:18.919
<v Speaker 1>Soviets successfully get the Venera four mission after several tries

263
00:13:18.960 --> 00:13:22.799
<v Speaker 1>to Venus and it lasts about ninety minutes before it melts.

264
00:13:22.879 --> 00:13:25.720
<v Speaker 2>Yeah, what were they thinking, Hey, let's go to Venus.

265
00:13:26.159 --> 00:13:28.519
<v Speaker 1>Well, now they were trying to You know, they taught

266
00:13:28.600 --> 00:13:32.200
<v Speaker 1>us a lot. The Soviets are the only nation to

267
00:13:32.200 --> 00:13:34.879
<v Speaker 1>ever land anything successfully on Venus. Oh, they did land,

268
00:13:35.159 --> 00:13:37.519
<v Speaker 1>but you know, it lasted a while. It's very tough.

269
00:13:37.519 --> 00:13:39.679
<v Speaker 1>Conditions are very very hot, high pressure there.

270
00:13:39.799 --> 00:13:40.000
<v Speaker 2>Wow.

271
00:13:40.440 --> 00:13:42.960
<v Speaker 1>And finally by the end of the year they ratify

272
00:13:43.120 --> 00:13:47.159
<v Speaker 1>the Outer Space Treaty, which is especially contrapuntal today now

273
00:13:47.240 --> 00:13:49.720
<v Speaker 1>because this is the treaty that says you can't own

274
00:13:49.799 --> 00:13:53.759
<v Speaker 1>the Moon and no weapons in space and don't go

275
00:13:54.000 --> 00:13:56.639
<v Speaker 1>setting off nukes on the moon, which is one of

276
00:13:56.639 --> 00:14:00.519
<v Speaker 1>the American things. Americans considered doing was to test a

277
00:14:00.559 --> 00:14:03.320
<v Speaker 1>nuclear upon on the Moon. So that doesn't happen, and

278
00:14:03.360 --> 00:14:04.879
<v Speaker 1>the out of space were you're supposed to stop all that.

279
00:14:04.960 --> 00:14:06.960
<v Speaker 1>Now there's a conversation about does this treaty still make

280
00:14:07.000 --> 00:14:08.960
<v Speaker 1>sense because it's from nineteen sixty seven. It's a long

281
00:14:09.000 --> 00:14:11.679
<v Speaker 1>time ago, and now that we're actually talking about utilizing

282
00:14:11.720 --> 00:14:14.120
<v Speaker 1>resources on the moon, how do we make this work?

283
00:14:14.639 --> 00:14:17.919
<v Speaker 2>Very cool? Yeah, good stuff. I think this year's geekout

284
00:14:17.960 --> 00:14:20.039
<v Speaker 2>is going to be really good. Are the geek outs?

285
00:14:21.120 --> 00:14:23.639
<v Speaker 1>Yeah, there's going to be a few geekouts, including when

286
00:14:23.799 --> 00:14:26.440
<v Speaker 1>after this, when this show is published, I'll have already

287
00:14:26.440 --> 00:14:30.320
<v Speaker 1>taken a tour of Copenhagen Atomics thorium reactors, so oh wow,

288
00:14:30.399 --> 00:14:33.200
<v Speaker 1>Either I'll be dead or I'll have a phenomenal interview

289
00:14:33.200 --> 00:14:35.919
<v Speaker 1>with their team talking about building thorium right, or both.

290
00:14:36.559 --> 00:14:42.200
<v Speaker 1>As it turns out, you'll publish it posthumously, right, I'll

291
00:14:42.679 --> 00:14:45.679
<v Speaker 1>actually there's no They're in Denmark and Denmark does not

292
00:14:45.759 --> 00:14:49.039
<v Speaker 1>allow nuclear reactors, so what a great place to build one. Yeah,

293
00:14:49.360 --> 00:14:51.000
<v Speaker 1>and so what I don't have a whole lot of

294
00:14:51.080 --> 00:14:53.639
<v Speaker 1>risk there. They're actually making it portable enough that they're

295
00:14:53.639 --> 00:14:57.279
<v Speaker 1>going to take it to Switzerland to operate it as

296
00:14:57.279 --> 00:14:59.240
<v Speaker 1>a test run. Then they're allowed to bring it back

297
00:14:59.279 --> 00:15:02.279
<v Speaker 1>as long as it's not operating and do some tests

298
00:15:02.720 --> 00:15:05.320
<v Speaker 1>evaluations of it. So that's what's going to be good

299
00:15:05.519 --> 00:15:07.960
<v Speaker 1>with that. But yeah, no exciting times. Don't worry the fall.

300
00:15:08.240 --> 00:15:10.159
<v Speaker 1>This winter's geek outs will be big, yeah, and there

301
00:15:10.159 --> 00:15:11.120
<v Speaker 1>may be a few extra ones.

302
00:15:11.200 --> 00:15:13.279
<v Speaker 2>Yeah, all right, and with that, let's bring on Mads.

303
00:15:13.480 --> 00:15:16.279
<v Speaker 2>Mads Christiansen is a program manager on the Visual Studio

304
00:15:16.320 --> 00:15:19.399
<v Speaker 2>team at Microsoft, with the privilege to work with the

305
00:15:19.559 --> 00:15:24.320
<v Speaker 2>extension community and ecosystem. He's an avid extension writer himself,

306
00:15:24.360 --> 00:15:27.919
<v Speaker 2>with over one hundred published extensions to Visual Studio Marketplace.

307
00:15:28.279 --> 00:15:31.440
<v Speaker 2>Before joining Microsoft, he spent a decade as a web developer,

308
00:15:31.519 --> 00:15:35.039
<v Speaker 2>working at both startups and enterprise companies. His wife and

309
00:15:35.120 --> 00:15:38.200
<v Speaker 2>two young sons all enjoy and support his adventures in

310
00:15:38.279 --> 00:15:40.879
<v Speaker 2>the world of home automation. Welcome back mads.

311
00:15:41.039 --> 00:15:42.799
<v Speaker 4>Hey, guys, glad to be here.

312
00:15:42.879 --> 00:15:44.679
<v Speaker 2>You mad extension writer. You.

313
00:15:45.200 --> 00:15:48.000
<v Speaker 1>I think we're over two hundred now, wow, crazy, got

314
00:15:48.000 --> 00:15:50.360
<v Speaker 1>to update your bios. You are the marketplace, sir.

315
00:15:51.960 --> 00:15:52.480
<v Speaker 2>That's right.

316
00:15:53.480 --> 00:15:56.519
<v Speaker 4>Yeah, I don't know. There's a lot of extensions out there.

317
00:15:56.480 --> 00:15:58.879
<v Speaker 2>So far be it from me to use dot net

318
00:15:59.000 --> 00:16:01.360
<v Speaker 2>rocks as a place where I can get a personal

319
00:16:01.399 --> 00:16:04.240
<v Speaker 2>answer about some feature that I want in visual studio.

320
00:16:04.480 --> 00:16:05.639
<v Speaker 2>But I'm going to do it anyway.

321
00:16:05.720 --> 00:16:06.399
<v Speaker 4>Yeah, go ahead.

322
00:16:06.639 --> 00:16:09.879
<v Speaker 2>So I've noticed, you know, I'm a Blazer developer mostly,

323
00:16:10.559 --> 00:16:13.879
<v Speaker 2>and when I'm building a web application, I noticed that

324
00:16:14.399 --> 00:16:19.120
<v Speaker 2>every time I hit play, the position and size of

325
00:16:19.200 --> 00:16:24.039
<v Speaker 2>the browser that comes up is automatically set something to

326
00:16:24.120 --> 00:16:28.200
<v Speaker 2>where the last browser window that had focus is. And

327
00:16:28.240 --> 00:16:31.360
<v Speaker 2>it drives me absolutely nuts. And because you know, I've

328
00:16:31.399 --> 00:16:33.919
<v Speaker 2>got windows all over the place, and if I click

329
00:16:33.960 --> 00:16:36.519
<v Speaker 2>on the one to mute the TV that I'm watching,

330
00:16:36.919 --> 00:16:39.039
<v Speaker 2>and then I go back and press play, now it's

331
00:16:39.159 --> 00:16:42.879
<v Speaker 2>over the TV window, right. So I wanted to know

332
00:16:42.919 --> 00:16:46.879
<v Speaker 2>if there's an extension that you've created to automatically set

333
00:16:46.879 --> 00:16:49.039
<v Speaker 2>the position and location of a browser every time you

334
00:16:49.120 --> 00:16:49.440
<v Speaker 2>run it.

335
00:16:49.679 --> 00:16:53.320
<v Speaker 4>Well, no, I have not written anything for it, but

336
00:16:53.759 --> 00:16:56.919
<v Speaker 4>this is I don't know how this is, like it

337
00:16:56.960 --> 00:16:58.600
<v Speaker 4>happens to me too when it has nothing to do

338
00:16:58.600 --> 00:17:01.879
<v Speaker 4>with Mitchell Studio. Right, but if you have multiple you know,

339
00:17:02.000 --> 00:17:04.200
<v Speaker 4>edge browsers open, you have one for your work account

340
00:17:04.240 --> 00:17:06.200
<v Speaker 4>and one for your private or whatever, right, and you

341
00:17:06.279 --> 00:17:08.480
<v Speaker 4>then click a link and outlook, Yeah, it will open

342
00:17:08.559 --> 00:17:10.279
<v Speaker 4>it in the last browser you had active.

343
00:17:10.440 --> 00:17:13.359
<v Speaker 2>Yeah, so it's a browser thing. But surely there must

344
00:17:13.400 --> 00:17:16.039
<v Speaker 2>be a way to tell the browser. Yeah, open it here,

345
00:17:16.240 --> 00:17:17.559
<v Speaker 2>like in JavaScript or something.

346
00:17:17.680 --> 00:17:19.599
<v Speaker 4>Yeah, and really you don't want to even doc that,

347
00:17:20.000 --> 00:17:23.200
<v Speaker 4>you know, the tap It should just be its own thing, right, Yeah? Yeah,

348
00:17:23.920 --> 00:17:25.640
<v Speaker 4>did you? I don't. I don't know if we I've

349
00:17:25.680 --> 00:17:28.319
<v Speaker 4>never seen this request before, but that doesn't mean it

350
00:17:28.319 --> 00:17:30.960
<v Speaker 4>doesn't exist. If it does exist, you should vote for

351
00:17:31.000 --> 00:17:31.759
<v Speaker 4>it or create it.

352
00:17:31.799 --> 00:17:34.160
<v Speaker 2>I entered it as a suggestion in the Visual Studio.

353
00:17:34.319 --> 00:17:37.000
<v Speaker 2>There's a link too. Yeah I did that. I haven't

354
00:17:37.000 --> 00:17:39.200
<v Speaker 2>heard back yet. I just didn't know. I went looking

355
00:17:39.279 --> 00:17:41.039
<v Speaker 2>and I didn't see anything. But I figured, you know,

356
00:17:41.079 --> 00:17:43.519
<v Speaker 2>if anybody knows Mad's nos, Yeah, so.

357
00:17:43.599 --> 00:17:45.400
<v Speaker 4>Make sure you put a link in so that everyone,

358
00:17:45.440 --> 00:17:46.799
<v Speaker 4>any listener can go and vote.

359
00:17:46.599 --> 00:17:50.240
<v Speaker 1>For There you go, Yeah, leverage leverage the podcast friend

360
00:17:50.759 --> 00:17:52.519
<v Speaker 1>if you get it voted up to the top, you know,

361
00:17:52.559 --> 00:17:54.480
<v Speaker 1>then they're they're going to talk about it. Oh yeah,

362
00:17:54.519 --> 00:17:56.599
<v Speaker 1>that's cool, that is their priority list.

363
00:17:56.680 --> 00:17:59.759
<v Speaker 4>Yeah, well, we don't know. Sometimes you see something like

364
00:17:59.799 --> 00:18:02.119
<v Speaker 4>this and you think, oh, yeah, this is not going

365
00:18:02.200 --> 00:18:03.880
<v Speaker 4>to be that hard to do, right, Yeah, and then

366
00:18:03.920 --> 00:18:06.400
<v Speaker 4>it turns out it's really really hard to do. Right.

367
00:18:06.400 --> 00:18:08.519
<v Speaker 4>So even though you are able to vote something up

368
00:18:08.519 --> 00:18:11.119
<v Speaker 4>to the top, that doesn't guarantee that we can do

369
00:18:11.160 --> 00:18:13.079
<v Speaker 4>it if it's like really expensive.

370
00:18:13.000 --> 00:18:15.559
<v Speaker 1>Right, or or we don't know how well, and you

371
00:18:15.599 --> 00:18:18.240
<v Speaker 1>always have the niche problem, right, like a certain group

372
00:18:18.279 --> 00:18:20.599
<v Speaker 1>of people really want this, but it represents a tiny

373
00:18:20.640 --> 00:18:23.720
<v Speaker 1>amount of the customer base, Like there's always got to

374
00:18:23.759 --> 00:18:26.000
<v Speaker 1>be a waiting on those kinds of Well, it depends.

375
00:18:26.000 --> 00:18:27.880
<v Speaker 2>I think it's one of those features that people don't

376
00:18:27.920 --> 00:18:30.880
<v Speaker 2>know they need it until they get frustrated enough and

377
00:18:30.920 --> 00:18:32.880
<v Speaker 2>say what the heck right exactly?

378
00:18:33.400 --> 00:18:35.440
<v Speaker 4>And we usually say that, you know, one vote or

379
00:18:35.480 --> 00:18:38.599
<v Speaker 4>one bug represent a thousand people.

380
00:18:39.119 --> 00:18:40.680
<v Speaker 1>Yeah, so yeah, it won't.

381
00:18:40.720 --> 00:18:43.039
<v Speaker 4>It doesn't have that many people like or it's a

382
00:18:43.039 --> 00:18:46.000
<v Speaker 4>small niche. Let's say it's only five percent of you know,

383
00:18:46.079 --> 00:18:48.519
<v Speaker 4>Visual Studios user base or whatever, but that's still like

384
00:18:48.640 --> 00:18:53.359
<v Speaker 4>hundreds of thousands of people, right right, So it's important

385
00:18:53.359 --> 00:18:55.359
<v Speaker 4>that you know even the small things are big just

386
00:18:55.359 --> 00:18:58.599
<v Speaker 4>because we're dealing with like millions of monthly active users,

387
00:18:58.680 --> 00:18:59.480
<v Speaker 4>right right right.

388
00:18:59.880 --> 00:19:02.440
<v Speaker 2>I heard that you guys are I don't know who

389
00:19:02.480 --> 00:19:06.160
<v Speaker 2>you guys is, but Microsoft engineers are required to look

390
00:19:06.160 --> 00:19:09.240
<v Speaker 2>at that list twice a week and actually look at

391
00:19:09.240 --> 00:19:11.119
<v Speaker 2>all the new suggestions.

392
00:19:11.640 --> 00:19:14.680
<v Speaker 4>Yeah we so we don't really have a requirement for that,

393
00:19:15.000 --> 00:19:19.759
<v Speaker 4>but we are required to fix any high important bugs

394
00:19:19.799 --> 00:19:22.279
<v Speaker 4>like P one' or P two priority one or zero

395
00:19:22.400 --> 00:19:25.559
<v Speaker 4>bugs okay, and they have we have an whole SLA,

396
00:19:26.599 --> 00:19:29.200
<v Speaker 4>like a service license agreement there with like that we

397
00:19:29.319 --> 00:19:32.039
<v Speaker 4>have to fix them for the next service release that

398
00:19:32.079 --> 00:19:36.839
<v Speaker 4>we that we publish like on a weekly basis. So yeah,

399
00:19:36.839 --> 00:19:40.400
<v Speaker 4>we take that stuff really seriously. So you probably can't

400
00:19:40.400 --> 00:19:42.759
<v Speaker 4>do that without looking at your list of bugs twice

401
00:19:42.759 --> 00:19:46.359
<v Speaker 4>a week. But there's no requirement for looking at the list.

402
00:19:46.480 --> 00:19:51.680
<v Speaker 4>The requirement is to fix them. Yeah, but that's for bugs,

403
00:19:51.720 --> 00:19:52.920
<v Speaker 4>that's not for feature requests.

404
00:19:53.079 --> 00:19:55.720
<v Speaker 2>Oh right, yeah, yeah, this is this is just the

405
00:19:55.759 --> 00:19:58.519
<v Speaker 2>suggestion list, I guess future requests list.

406
00:19:58.640 --> 00:20:04.240
<v Speaker 4>Yeah, yeah, well we have actually do we do implement

407
00:20:04.480 --> 00:20:07.079
<v Speaker 4>one point two feature requests per workday.

408
00:20:07.480 --> 00:20:07.759
<v Speaker 1>Wow.

409
00:20:07.799 --> 00:20:10.000
<v Speaker 4>If you look at the average of the last twelve months, wow,

410
00:20:10.039 --> 00:20:11.480
<v Speaker 4>and that that trend is going up.

411
00:20:11.920 --> 00:20:14.680
<v Speaker 1>Wow. Are you guys going faster or are they get

412
00:20:14.720 --> 00:20:17.759
<v Speaker 1>requests getting easier? Like, how do you get that quest? No?

413
00:20:18.319 --> 00:20:19.680
<v Speaker 4>I think it's a little bit of a mind shift.

414
00:20:19.680 --> 00:20:21.160
<v Speaker 4>I don't know if you've noticed it over the last

415
00:20:21.200 --> 00:20:25.680
<v Speaker 4>two or three years. But things that before wasn't prioritized

416
00:20:25.720 --> 00:20:29.039
<v Speaker 4>because it was maybe had low impact, Like some bugs

417
00:20:29.039 --> 00:20:30.720
<v Speaker 4>come in or some feature requests come in and they

418
00:20:30.799 --> 00:20:34.519
<v Speaker 4>kind of have low impact. They don't you know, some

419
00:20:34.599 --> 00:20:37.079
<v Speaker 4>of these suggestions were not like something that would open

420
00:20:37.119 --> 00:20:41.000
<v Speaker 4>new scenarios. They might just be like little delighters or hey,

421
00:20:41.000 --> 00:20:43.200
<v Speaker 4>it would be nice if but they weren't like blocking

422
00:20:43.279 --> 00:20:45.000
<v Speaker 4>you for doing what you needed to do. And we

423
00:20:45.400 --> 00:20:48.920
<v Speaker 4>had a hard time prioritizing that type of feature request

424
00:20:48.960 --> 00:20:51.440
<v Speaker 4>in the past, whereas now it's a little different because

425
00:20:51.759 --> 00:20:54.160
<v Speaker 4>you know, when you're using visual studio eight ten hours

426
00:20:54.200 --> 00:20:57.319
<v Speaker 4>a day, you're using half your waken live in visual studio, right,

427
00:20:57.359 --> 00:21:02.799
<v Speaker 4>it's kind of crazy. So all these little things, because

428
00:21:02.799 --> 00:21:05.279
<v Speaker 4>you're using it so much, they become big and they're

429
00:21:05.279 --> 00:21:09.839
<v Speaker 4>big things. And so by kind of making that change,

430
00:21:10.079 --> 00:21:13.039
<v Speaker 4>of mindset a little bit to look at things differently.

431
00:21:14.519 --> 00:21:17.279
<v Speaker 4>We've been able to double down on a bunch of

432
00:21:17.279 --> 00:21:20.640
<v Speaker 4>the small issues and a bunch of the small like

433
00:21:20.680 --> 00:21:25.519
<v Speaker 4>paper cuts, industry standard things, muscle memory issues that didn't

434
00:21:25.559 --> 00:21:29.240
<v Speaker 4>before carry over from other apps into Visual Studio for shortcuts,

435
00:21:29.240 --> 00:21:32.359
<v Speaker 4>for instance, like just taking them one out of time,

436
00:21:32.480 --> 00:21:34.759
<v Speaker 4>Like let's just double down on that type of stuff,

437
00:21:34.799 --> 00:21:39.480
<v Speaker 4>and you know it. I think the shift is if

438
00:21:39.599 --> 00:21:42.359
<v Speaker 4>you know, this sounds super cliche, but the shift I

439
00:21:42.359 --> 00:21:45.519
<v Speaker 4>think has gone a little bit from focusing, you know,

440
00:21:45.640 --> 00:21:50.599
<v Speaker 4>primarily on productivity and instead of focusing more on happiness,

441
00:21:50.759 --> 00:21:54.079
<v Speaker 4>like developer happiness. You can't be happy developer if you're

442
00:21:54.079 --> 00:21:56.960
<v Speaker 4>not productive. So it includes the productivity thing, but it's more.

443
00:21:57.079 --> 00:22:00.000
<v Speaker 4>It's also about like are you looking forward to working

444
00:22:00.000 --> 00:22:01.000
<v Speaker 4>studio every morning?

445
00:22:01.079 --> 00:22:01.240
<v Speaker 5>Right?

446
00:22:01.559 --> 00:22:05.559
<v Speaker 4>Is there a smile on your face? Do you feel empowered? Inspired, creative?

447
00:22:06.759 --> 00:22:08.680
<v Speaker 4>This vis studio kind of get out of the way

448
00:22:09.359 --> 00:22:12.200
<v Speaker 4>when it needs to and help you when that's a requirement,

449
00:22:12.640 --> 00:22:14.200
<v Speaker 4>like all that type of stuff.

450
00:22:14.400 --> 00:22:15.279
<v Speaker 2>I've got issues.

451
00:22:16.720 --> 00:22:18.319
<v Speaker 4>We all have issues, probably.

452
00:22:18.559 --> 00:22:21.519
<v Speaker 2>Probably nothing to do with what you work on, but

453
00:22:21.799 --> 00:22:24.960
<v Speaker 2>isn't me or has GitHub co pilot just completely taken

454
00:22:25.000 --> 00:22:29.319
<v Speaker 2>over like now I start typing a variable and it

455
00:22:29.319 --> 00:22:34.079
<v Speaker 2>gives me this long thing and there are gray letters

456
00:22:34.119 --> 00:22:37.000
<v Speaker 2>in there that are like and as I'm typing, like,

457
00:22:37.079 --> 00:22:39.440
<v Speaker 2>it's I don't even know when I'm typed, I have

458
00:22:39.519 --> 00:22:43.079
<v Speaker 2>no idea what's going on. It's gotten so crazy. Yeah,

459
00:22:43.240 --> 00:22:45.400
<v Speaker 2>and I know you can control that, but.

460
00:22:45.720 --> 00:22:48.079
<v Speaker 4>So you can control it now. So what we're adding

461
00:22:48.960 --> 00:22:52.640
<v Speaker 4>is a way for that not to happen automatically, but

462
00:22:52.759 --> 00:22:54.799
<v Speaker 4>only at a keyboard short cut. So instead of having

463
00:22:54.880 --> 00:22:57.920
<v Speaker 4>it automatically show up, it can be only when you

464
00:22:58.000 --> 00:22:59.279
<v Speaker 4>request ith.

465
00:22:59.319 --> 00:23:00.640
<v Speaker 2>Okay, I like, so.

466
00:23:00.640 --> 00:23:02.880
<v Speaker 4>You you you can control more of that because some

467
00:23:02.880 --> 00:23:06.319
<v Speaker 4>people they really like kind of that feeling of just

468
00:23:06.400 --> 00:23:09.240
<v Speaker 4>tapping their way through and and other people they really

469
00:23:09.319 --> 00:23:11.880
<v Speaker 4>want not to have that. And so now you can

470
00:23:11.920 --> 00:23:14.160
<v Speaker 4>figure it. You can. You can now customize it.

471
00:23:14.160 --> 00:23:15.079
<v Speaker 2>How about a foot switch?

472
00:23:16.319 --> 00:23:17.920
<v Speaker 4>Yeah you can do on off. Yeah you can do that.

473
00:23:18.000 --> 00:23:20.559
<v Speaker 2>I love I love foot switches. I'm a musician, right,

474
00:23:20.599 --> 00:23:23.240
<v Speaker 2>so I have guitar pedals and stuff, but you know,

475
00:23:23.440 --> 00:23:26.440
<v Speaker 2>if I had a little pedal board under my you know,

476
00:23:27.000 --> 00:23:30.319
<v Speaker 2>to to Oh, I want that feature. I want that feature,

477
00:23:30.400 --> 00:23:35.960
<v Speaker 2>these momentary on off toggles, that'd be so cool. Somebody

478
00:23:36.000 --> 00:23:36.359
<v Speaker 2>should do.

479
00:23:36.359 --> 00:23:39.079
<v Speaker 4>That, that'd be the equivalent of a distortion distortion pedal.

480
00:23:39.119 --> 00:23:41.160
<v Speaker 2>There you go, yeah, exactly. You know I'd add some

481
00:23:41.240 --> 00:23:44.759
<v Speaker 2>distortion to my to my API controllers.

482
00:23:44.960 --> 00:23:48.599
<v Speaker 4>Yes, yeah, you know a lot of a lot of

483
00:23:48.680 --> 00:23:50.559
<v Speaker 4>effort goes into it. And the new version of visual

484
00:23:50.599 --> 00:23:53.400
<v Speaker 4>Studio here is like it's a big foundational upgrade when

485
00:23:53.440 --> 00:23:57.119
<v Speaker 4>it comes to to AI. So with with visual Studio,

486
00:23:57.160 --> 00:23:59.839
<v Speaker 4>we are in a unique position where we know a

487
00:23:59.839 --> 00:24:04.079
<v Speaker 4>lot about all the different aspects off your workflow. We

488
00:24:04.160 --> 00:24:06.759
<v Speaker 4>know about your GET issues, it's your tracker. We know

489
00:24:06.839 --> 00:24:10.839
<v Speaker 4>about profiling and debugging and unit testing, and maybe we

490
00:24:10.880 --> 00:24:13.519
<v Speaker 4>know about your CICD, and we know about your let's say,

491
00:24:13.559 --> 00:24:18.079
<v Speaker 4>ASTRA deployment environments and whatnot. And so the more we

492
00:24:18.119 --> 00:24:21.720
<v Speaker 4>know and the more Copiled is able to understand, the

493
00:24:21.759 --> 00:24:25.599
<v Speaker 4>more useful it can become. And so this is really

494
00:24:25.680 --> 00:24:28.359
<v Speaker 4>kind of one of those foundational updates that kind of

495
00:24:28.960 --> 00:24:32.279
<v Speaker 4>infrastructure wise sets us up for the future and for

496
00:24:32.359 --> 00:24:36.559
<v Speaker 4>adding features on top that's like way more that goes

497
00:24:36.599 --> 00:24:39.160
<v Speaker 4>way deeper and just more helpful.

498
00:24:39.240 --> 00:24:43.599
<v Speaker 2>And are you guys, guidance seems to be like an issue,

499
00:24:43.599 --> 00:24:46.160
<v Speaker 2>But then again, I don't go looking for it. I'm

500
00:24:46.200 --> 00:24:49.079
<v Speaker 2>so spoiled by chatch ept searching the web for me

501
00:24:49.160 --> 00:24:51.880
<v Speaker 2>that I'm really disappointed when I go to Google and

502
00:24:51.920 --> 00:24:55.680
<v Speaker 2>I type something and I don't get like good results,

503
00:24:55.880 --> 00:24:59.119
<v Speaker 2>you know. So like a video that explains how to

504
00:24:59.240 --> 00:25:04.039
<v Speaker 2>control co pilot, I'm sure is out there. I'm just

505
00:25:04.359 --> 00:25:06.640
<v Speaker 2>conditioned to not go look for it.

506
00:25:06.759 --> 00:25:09.480
<v Speaker 4>Yeah, it's out there, and a lot more will come.

507
00:25:10.519 --> 00:25:12.359
<v Speaker 4>But yeah, there's a bunch of great videos out there

508
00:25:12.400 --> 00:25:15.240
<v Speaker 4>already and articles and tutorials and whatnot.

509
00:25:15.279 --> 00:25:16.960
<v Speaker 1>Oh I know, yeah that's good stuff.

510
00:25:17.000 --> 00:25:19.200
<v Speaker 4>But I think but it's an interesting thing, right because

511
00:25:19.279 --> 00:25:23.599
<v Speaker 4>the question is always like why do you need why

512
00:25:23.640 --> 00:25:26.640
<v Speaker 4>do you need a description of how to do something right?

513
00:25:26.680 --> 00:25:29.680
<v Speaker 4>It should be autodiscoverable just by the way you design

514
00:25:29.720 --> 00:25:30.200
<v Speaker 4>the software.

515
00:25:30.240 --> 00:25:32.400
<v Speaker 1>Well yeah, more importantly, if you know how to do it,

516
00:25:32.599 --> 00:25:33.480
<v Speaker 1>just do it right.

517
00:25:34.279 --> 00:25:35.519
<v Speaker 4>Yeah that's another thing.

518
00:25:36.000 --> 00:25:37.799
<v Speaker 1>Can we skip over? They don't explain this to me,

519
00:25:37.920 --> 00:25:40.400
<v Speaker 1>just do it? Phase Like, yeah, I'm tired, I got

520
00:25:40.400 --> 00:25:42.039
<v Speaker 1>stuff to do, Like, let's move on. Yeah.

521
00:25:42.079 --> 00:25:45.119
<v Speaker 2>I mean I suppose you could use the copilot agent,

522
00:25:45.960 --> 00:25:48.680
<v Speaker 2>you know, or chat in visual studio to help you

523
00:25:49.039 --> 00:25:51.519
<v Speaker 2>figure those things out. I find that to be a

524
00:25:51.680 --> 00:25:52.680
<v Speaker 2>very valuable tool.

525
00:25:52.960 --> 00:25:55.960
<v Speaker 4>Yeah, And you know, but sometimes the best prompt is

526
00:25:56.039 --> 00:25:59.119
<v Speaker 4>no prompt. So that's that's when you have a let's

527
00:25:59.119 --> 00:26:00.720
<v Speaker 4>say you have a button that us or it comes

528
00:26:00.799 --> 00:26:02.839
<v Speaker 4>up automatically, and so we have we have that in

529
00:26:02.960 --> 00:26:05.200
<v Speaker 4>Ryan Vischoustudo. You're going to see more of that, whereas

530
00:26:05.240 --> 00:26:08.440
<v Speaker 4>not the burden on prompting and knowing how to use

531
00:26:08.480 --> 00:26:11.839
<v Speaker 4>it is no no longer on you. Yeah, it's like

532
00:26:12.039 --> 00:26:13.839
<v Speaker 4>if you if you want to write a commit message,

533
00:26:13.839 --> 00:26:16.359
<v Speaker 4>there's a button there. There's a generate commit message, right,

534
00:26:16.440 --> 00:26:18.480
<v Speaker 4>and so you don't have to prompt, you just click

535
00:26:18.519 --> 00:26:20.880
<v Speaker 4>a button. That makes it easy, right. Or we just

536
00:26:20.920 --> 00:26:23.599
<v Speaker 4>released a new way of optimizing your code, so you

537
00:26:23.640 --> 00:26:25.720
<v Speaker 4>can you can just make a selection of your c

538
00:26:25.839 --> 00:26:28.599
<v Speaker 4>sharp or whatever or VB and then you can say, hey,

539
00:26:28.680 --> 00:26:31.559
<v Speaker 4>rite click and say optimize this code, and you don't

540
00:26:31.599 --> 00:26:33.720
<v Speaker 4>have to prompt because what are you optimizing for? Like

541
00:26:34.240 --> 00:26:37.000
<v Speaker 4>is it PERF? Is it readability? Is it quality? What

542
00:26:37.119 --> 00:26:39.720
<v Speaker 4>is it? You know, exception handling like or something like

543
00:26:39.759 --> 00:26:43.039
<v Speaker 4>what is it? And so that burden of prompting and

544
00:26:44.039 --> 00:26:45.720
<v Speaker 4>kind of if we can take that away and make

545
00:26:45.759 --> 00:26:48.839
<v Speaker 4>it so that there's no prompt at all, then you're

546
00:26:48.839 --> 00:26:51.359
<v Speaker 4>probably in many in many cases, you're going to be faster,

547
00:26:51.440 --> 00:26:53.759
<v Speaker 4>and you're going to but faster and more accurate, but

548
00:26:53.799 --> 00:26:56.799
<v Speaker 4>you're also going to be it's also going to be

549
00:26:56.799 --> 00:26:58.039
<v Speaker 4>discoverable that you can do this.

550
00:26:58.720 --> 00:27:01.160
<v Speaker 1>Yeah, that's the challenge is how do you tell me

551
00:27:01.240 --> 00:27:03.920
<v Speaker 1>you could optimize that code within it out interrupting me

552
00:27:04.039 --> 00:27:05.440
<v Speaker 1>or annoying me in the process.

553
00:27:06.160 --> 00:27:09.480
<v Speaker 4>That is the challenge. Yeah, exactly, and it becomes clippy

554
00:27:09.599 --> 00:27:10.720
<v Speaker 4>right otherwise.

555
00:27:11.799 --> 00:27:14.480
<v Speaker 1>Yeah, that's right, that's always the dance for us. Right,

556
00:27:14.519 --> 00:27:19.440
<v Speaker 1>It's like I all the studio does is better than anybody.

557
00:27:19.480 --> 00:27:22.400
<v Speaker 1>But all those little icons and floaties and squiggles, but

558
00:27:22.480 --> 00:27:27.160
<v Speaker 1>all these little clues that hey I know something about

559
00:27:27.200 --> 00:27:28.920
<v Speaker 1>your code you may not know.

560
00:27:29.519 --> 00:27:33.039
<v Speaker 2>And if you install code Rush, now you're at another

561
00:27:33.160 --> 00:27:36.839
<v Speaker 2>level of icon crazy, right, Yeah, talking about.

562
00:27:36.960 --> 00:27:39.160
<v Speaker 4>Well, you know what they say, clippy walk so Copela

563
00:27:39.160 --> 00:27:39.559
<v Speaker 4>can run.

564
00:27:39.720 --> 00:27:44.960
<v Speaker 1>There you go, and took a lot of flak in

565
00:27:45.000 --> 00:27:45.680
<v Speaker 1>the process.

566
00:27:46.440 --> 00:27:51.400
<v Speaker 2>I still remember this on this quiz show wait wait,

567
00:27:51.440 --> 00:27:54.440
<v Speaker 2>don't tell me on NPR. You know, Adam Felber is

568
00:27:54.480 --> 00:27:58.960
<v Speaker 2>a comedian and he's on there, and when Microsoft announced

569
00:27:58.960 --> 00:28:02.480
<v Speaker 2>that they were getting rid of Clippy, right, that Clippy

570
00:28:02.640 --> 00:28:07.640
<v Speaker 2>was was dead Adam Felbery because hey, I see you're

571
00:28:07.680 --> 00:28:09.880
<v Speaker 2>digging a grave? Is that a business grave or a

572
00:28:09.880 --> 00:28:11.839
<v Speaker 2>personal grave? Can I help you dig that?

573
00:28:15.440 --> 00:28:16.079
<v Speaker 1>Can I help you?

574
00:28:16.960 --> 00:28:20.680
<v Speaker 4>It's funny, Richard. Maybe you remember there was a conference

575
00:28:20.680 --> 00:28:23.000
<v Speaker 4>where there was we had someone in the Clippy costume

576
00:28:23.039 --> 00:28:23.599
<v Speaker 4>walk around.

577
00:28:23.680 --> 00:28:26.359
<v Speaker 1>Oh yeah, I remember that, and it was immensely popular.

578
00:28:26.400 --> 00:28:28.000
<v Speaker 4>Everybody walked up in high five.

579
00:28:27.880 --> 00:28:30.680
<v Speaker 1>Hugely powered. Everybody loves Clippy. But it's like, yeah, because

580
00:28:30.680 --> 00:28:31.279
<v Speaker 1>it's a meme.

581
00:28:31.480 --> 00:28:33.680
<v Speaker 4>Yeah totally. It's like comic sense.

582
00:28:33.799 --> 00:28:36.559
<v Speaker 1>Yeah, yes, except that it feels good when you punch.

583
00:28:36.599 --> 00:28:38.400
<v Speaker 1>It wasn't meant to be serious. I don't know why

584
00:28:38.400 --> 00:28:39.880
<v Speaker 1>you're using it, Like, what are you thinking?

585
00:28:40.640 --> 00:28:43.000
<v Speaker 4>I use it in a PowerPoint presentation sometimes and it

586
00:28:43.079 --> 00:28:43.759
<v Speaker 4>throws people off.

587
00:28:43.799 --> 00:28:45.640
<v Speaker 1>Well, and if we wanted to do even more O

588
00:28:45.799 --> 00:28:49.480
<v Speaker 1>pick Rob references. We talk about Windows Bob because at

589
00:28:49.599 --> 00:28:52.880
<v Speaker 1>least one of the Clippy characters was that dog from Bob,

590
00:28:53.200 --> 00:28:56.359
<v Speaker 1>designed by the same person, Glenda Gates. I think you

591
00:28:56.400 --> 00:28:59.680
<v Speaker 1>know when you can use those characters, Yeah it was yeah, Melinda, Yeah,

592
00:28:59.720 --> 00:29:01.359
<v Speaker 1>I don't know that she did clipp.

593
00:29:01.079 --> 00:29:03.640
<v Speaker 4>You it was a wizard as well. It was one

594
00:29:03.640 --> 00:29:06.359
<v Speaker 4>of the characters that you could use those characters from

595
00:29:06.400 --> 00:29:09.240
<v Speaker 4>from back then, there was a remember for Internet Explore.

596
00:29:09.240 --> 00:29:14.319
<v Speaker 2>That was the Yeah, there was a called the Microsoft Agent.

597
00:29:14.440 --> 00:29:17.160
<v Speaker 4>Yeah, the Agent, Yes, and you could with JavaScript or

598
00:29:17.200 --> 00:29:19.400
<v Speaker 4>VBScript probably be you could, like.

599
00:29:20.559 --> 00:29:24.240
<v Speaker 2>I actually used that in an early online training tool

600
00:29:24.279 --> 00:29:26.839
<v Speaker 2>that I wrote, which characters the Wizard. But you could

601
00:29:27.039 --> 00:29:29.680
<v Speaker 2>use whatever you wanted to. But the idea is you

602
00:29:29.720 --> 00:29:31.839
<v Speaker 2>could program him to fly around on the screen and

603
00:29:31.880 --> 00:29:36.039
<v Speaker 2>point to things and explain stuff. So yeah, that didn't

604
00:29:36.119 --> 00:29:38.519
<v Speaker 2>last time. It was fun while it lasted, but it

605
00:29:38.559 --> 00:29:39.279
<v Speaker 2>didn't last.

606
00:29:39.440 --> 00:29:42.039
<v Speaker 1>Yeah, but you know, these all feel like attempts now

607
00:29:42.079 --> 00:29:46.039
<v Speaker 1>to what these ll ms can do for us.

608
00:29:46.319 --> 00:29:49.519
<v Speaker 4>Yeah, it's really impressive. So we have I think there's

609
00:29:49.559 --> 00:29:53.079
<v Speaker 4>like a couple of categories of where this is, where

610
00:29:53.119 --> 00:29:57.079
<v Speaker 4>this is useful. So one is where we can learn

611
00:29:57.119 --> 00:29:59.720
<v Speaker 4>and we become better developers. So let me take you

612
00:29:59.799 --> 00:30:02.440
<v Speaker 4>a example. Is the new Profiler Agent, which is the

613
00:30:02.440 --> 00:30:06.200
<v Speaker 4>one feature we're building on top of this foundational infrastructure

614
00:30:06.279 --> 00:30:10.160
<v Speaker 4>change in Visual Studio twenty twenty six, and it's the

615
00:30:10.200 --> 00:30:13.839
<v Speaker 4>Profiler Agent is able to run the profiler in Visual Studio,

616
00:30:13.880 --> 00:30:15.720
<v Speaker 4>which we've had for a long time, but very few

617
00:30:15.720 --> 00:30:18.799
<v Speaker 4>people use it. It's kind of hard to it's an

618
00:30:18.839 --> 00:30:21.599
<v Speaker 4>advanced concept. It's not easy to kind of understand. But

619
00:30:21.720 --> 00:30:23.960
<v Speaker 4>this new agent can do it for you. And it

620
00:30:24.039 --> 00:30:27.160
<v Speaker 4>can write benchmarks like using benchmark dot net. Wow, it

621
00:30:27.200 --> 00:30:30.319
<v Speaker 4>will add benchmark or run if there's existing ones, and

622
00:30:30.359 --> 00:30:32.880
<v Speaker 4>it can then find the hot paths. Then it can

623
00:30:32.920 --> 00:30:34.559
<v Speaker 4>give you a laundrylease stuff. Here's what I want to

624
00:30:34.599 --> 00:30:38.000
<v Speaker 4>do to optimize performance. It can then simulate that with

625
00:30:38.079 --> 00:30:40.880
<v Speaker 4>the and then run the new and run the benchmarks

626
00:30:40.880 --> 00:30:43.759
<v Speaker 4>again to see what the performance benefit will be. And

627
00:30:43.799 --> 00:30:47.119
<v Speaker 4>then you can just tell okay, go ahead, or if

628
00:30:47.119 --> 00:30:49.559
<v Speaker 4>there's something that you don't understand because that's the problem.

629
00:30:49.599 --> 00:30:52.279
<v Speaker 4>Even if you run the profiler and it says, hey,

630
00:30:52.480 --> 00:30:54.880
<v Speaker 4>this line is very expensive or this method call is

631
00:30:54.960 --> 00:30:58.839
<v Speaker 4>very expensive, how do you know how to optimize it? Right?

632
00:30:58.880 --> 00:31:01.440
<v Speaker 1>All right? Yeah, it's like okay, the software has criticized me.

633
00:31:02.000 --> 00:31:06.200
<v Speaker 4>Now what yeah, now what yeah, exactly, it found my problems.

634
00:31:06.279 --> 00:31:08.359
<v Speaker 4>Now what are the solutions? Right? It didn't help me there,

635
00:31:09.000 --> 00:31:11.240
<v Speaker 4>but now you get that help and so you know,

636
00:31:11.240 --> 00:31:13.440
<v Speaker 4>it could be you know, maybe I have a dictionary

637
00:31:13.480 --> 00:31:15.319
<v Speaker 4>that I use a linquery on and it says, hey,

638
00:31:15.400 --> 00:31:17.160
<v Speaker 4>if you use a hasset, we're going to be eighty

639
00:31:17.200 --> 00:31:22.640
<v Speaker 4>percent faster in this particular case, and you'll be like, oh,

640
00:31:23.200 --> 00:31:26.039
<v Speaker 4>that's neat next time I run into a similar scenario,

641
00:31:26.119 --> 00:31:28.839
<v Speaker 4>I'm going to remember this hasset thing. And so you

642
00:31:28.960 --> 00:31:31.519
<v Speaker 4>learn along the way. And so I really like that

643
00:31:31.680 --> 00:31:35.160
<v Speaker 4>idea where the copole comes in sits beside you kind

644
00:31:35.160 --> 00:31:39.079
<v Speaker 4>of and and you kind of get to that destination.

645
00:31:38.640 --> 00:31:40.720
<v Speaker 2>Together makes you a better developer, You become better.

646
00:31:40.839 --> 00:31:43.240
<v Speaker 1>Yeah, you know this reminds me of the old optimizing

647
00:31:43.279 --> 00:31:46.000
<v Speaker 1>website stags. We're using the profiling tools to see that

648
00:31:46.079 --> 00:31:51.400
<v Speaker 1>locus of concentration, Like, hey, this is a big expensive process,

649
00:31:51.440 --> 00:31:53.200
<v Speaker 1>but it only gets run once an hour, so we're

650
00:31:53.200 --> 00:31:55.599
<v Speaker 1>not going to optimize that. But this little thing, this

651
00:31:55.640 --> 00:31:58.759
<v Speaker 1>settle thing, is being running four hundred times a second,

652
00:31:58.880 --> 00:32:01.720
<v Speaker 1>and if we can shave one hundred milliseconds out of it,

653
00:32:01.720 --> 00:32:02.599
<v Speaker 1>it's worth it.

654
00:32:02.359 --> 00:32:02.480
<v Speaker 4>Now.

655
00:32:02.640 --> 00:32:05.759
<v Speaker 2>Is there such a thing as an agent that understands

656
00:32:06.920 --> 00:32:09.799
<v Speaker 2>SEQL and SQL profiling, because I would love to turn

657
00:32:09.839 --> 00:32:12.279
<v Speaker 2>that loose on you know, hey, why is this query

658
00:32:12.359 --> 00:32:13.799
<v Speaker 2>taking so long? And what?

659
00:32:14.079 --> 00:32:14.279
<v Speaker 4>Yeah?

660
00:32:14.279 --> 00:32:15.680
<v Speaker 1>I think you know what index do?

661
00:32:15.839 --> 00:32:17.920
<v Speaker 2>Is? What indexes do I need to add to make

662
00:32:17.960 --> 00:32:18.559
<v Speaker 2>it work better?

663
00:32:18.880 --> 00:32:20.839
<v Speaker 4>That kind of thing that might be in for as

664
00:32:20.880 --> 00:32:22.920
<v Speaker 4>as a mess. Yeah, if you looked at the Latest

665
00:32:22.960 --> 00:32:24.720
<v Speaker 4>Days is a mess I have.

666
00:32:24.759 --> 00:32:27.599
<v Speaker 2>Yeah, and I know it's based on the whole visual studio,

667
00:32:28.200 --> 00:32:33.119
<v Speaker 2>you know, fundamental environment, So did also have those.

668
00:32:33.240 --> 00:32:35.680
<v Speaker 4>I haven't played with it for a mess twenty one

669
00:32:36.319 --> 00:32:41.000
<v Speaker 4>twenty two preview. You might see something more updated there

670
00:32:41.000 --> 00:32:43.079
<v Speaker 4>in that regard. I'm not sure. I haven't followed along

671
00:32:43.079 --> 00:32:43.359
<v Speaker 4>that course.

672
00:32:43.480 --> 00:32:46.960
<v Speaker 1>Yeah, there's a twenty five coming that's likely out in November,

673
00:32:47.119 --> 00:32:50.319
<v Speaker 1>not that I know anything, but I'm speculating because that's

674
00:32:50.359 --> 00:32:51.920
<v Speaker 1>when they would normally ship it.

675
00:32:51.920 --> 00:32:54.440
<v Speaker 4>It should be in preview by the time the airs.

676
00:32:54.279 --> 00:32:57.480
<v Speaker 1>Somewhere in the quote unquote ignite time frame. And I

677
00:32:57.480 --> 00:32:58.839
<v Speaker 1>imagine there's going to be all kinds of.

678
00:32:58.799 --> 00:33:01.799
<v Speaker 2>Imagine there's going to be more a tooling seems like,

679
00:33:01.920 --> 00:33:04.839
<v Speaker 2>you know that's where development is heading is in you know,

680
00:33:04.920 --> 00:33:06.599
<v Speaker 2>the innovation is happening in AI.

681
00:33:06.759 --> 00:33:09.440
<v Speaker 1>Well, there's all the new helpers, right like we saw

682
00:33:09.480 --> 00:33:11.920
<v Speaker 1>this extensively with Microsoft Fabric. Not to go too far

683
00:33:12.000 --> 00:33:16.000
<v Speaker 1>off track here, but because Fabric touches so many different tools.

684
00:33:16.039 --> 00:33:19.440
<v Speaker 1>When you're doing data analytics and you've got POWERBI and

685
00:33:19.480 --> 00:33:22.799
<v Speaker 1>the data warehousing clients and these different storage mechanisms in

686
00:33:22.839 --> 00:33:25.240
<v Speaker 1>the lake and so forth, each one you don't use

687
00:33:25.319 --> 00:33:27.000
<v Speaker 1>enough to be really proficient with so the fact that

688
00:33:27.079 --> 00:33:28.960
<v Speaker 1>it was a copilot at each layer, it's like, what'd

689
00:33:29.000 --> 00:33:31.039
<v Speaker 1>you want to do? Let me help you there, Like

690
00:33:31.480 --> 00:33:32.400
<v Speaker 1>it's really powerful.

691
00:33:32.440 --> 00:33:34.559
<v Speaker 2>It seems like a good time to take a break. Yeah,

692
00:33:34.640 --> 00:33:37.400
<v Speaker 2>So we'll be right back after these very important messages.

693
00:33:37.559 --> 00:33:42.480
<v Speaker 2>Stay tuned. Did you know you can easily migrate asp

694
00:33:42.640 --> 00:33:46.799
<v Speaker 2>net web apps to Windows containers on AWS? Use the

695
00:33:46.920 --> 00:33:51.319
<v Speaker 2>app to Container tool to containerize your iis websites and

696
00:33:51.359 --> 00:33:56.759
<v Speaker 2>deploy to AWS managed container services with or without Kubernetes.

697
00:33:57.119 --> 00:34:01.039
<v Speaker 2>Find out more about app to Container and aw dot Amazon,

698
00:34:01.119 --> 00:34:08.760
<v Speaker 2>dot Com, Slash, dot Net, slash Modernize, and we're back.

699
00:34:08.800 --> 00:34:12.360
<v Speaker 2>It's dot net Rocks. I'm Carl Franklin's my friend Richard Campbell. Hey,

700
00:34:12.400 --> 00:34:16.960
<v Speaker 2>and that's our friend Mads Christensen, the Mad indentist of

701
00:34:18.480 --> 00:34:19.960
<v Speaker 2>Visual Studio Extensions.

702
00:34:20.480 --> 00:34:23.280
<v Speaker 1>And Mad's you said, Studio twenty twenty six. So is

703
00:34:23.320 --> 00:34:25.880
<v Speaker 1>this official? What are we expecting in the version of

704
00:34:25.920 --> 00:34:26.840
<v Speaker 1>Studio next year?

705
00:34:27.039 --> 00:34:28.079
<v Speaker 4>No, it's out in preview.

706
00:34:28.440 --> 00:34:30.239
<v Speaker 1>It is okay, so it's not next year, it's like

707
00:34:30.440 --> 00:34:34.280
<v Speaker 1>imminently right now. One would speculate because there's certain events

708
00:34:34.280 --> 00:34:35.639
<v Speaker 1>coming up towards the end of the year.

709
00:34:35.880 --> 00:34:39.440
<v Speaker 4>Hey, but you know, I'm not in the business of speculation, no, so,

710
00:34:40.159 --> 00:34:42.400
<v Speaker 4>but you know we when did we ship visuals do

711
00:34:42.519 --> 00:34:43.360
<v Speaker 4>to twenty twenty.

712
00:34:43.119 --> 00:34:46.719
<v Speaker 1>Two in fall of twenty one? As I recall, maybe, yeah,

713
00:34:46.760 --> 00:34:49.320
<v Speaker 1>so I'm just doing math. How much did the whole

714
00:34:49.360 --> 00:34:51.760
<v Speaker 1>AI wave derail? You guys, Like, I don't envy your

715
00:34:51.800 --> 00:34:54.519
<v Speaker 1>situation because you push that out in the fall of

716
00:34:54.599 --> 00:35:00.079
<v Speaker 1>twenty twenty one. Chat GBT is the next year, and

717
00:35:00.480 --> 00:35:02.920
<v Speaker 1>you know, get Hub Copilot's already out, So that's a

718
00:35:02.960 --> 00:35:06.360
<v Speaker 1>thing like this, It's been a it's been a while,

719
00:35:06.440 --> 00:35:09.880
<v Speaker 1>Like you're not talking four years between versions of the studio,

720
00:35:10.280 --> 00:35:13.679
<v Speaker 1>but they've been some nutty years, a little pandemic, a

721
00:35:13.719 --> 00:35:16.800
<v Speaker 1>little revolutionary computing, like wooh.

722
00:35:17.519 --> 00:35:20.480
<v Speaker 4>It's been it's like a train that hits you, right,

723
00:35:20.719 --> 00:35:23.519
<v Speaker 4>It's yeah, it was it was like that. Yeah. We

724
00:35:23.519 --> 00:35:26.679
<v Speaker 4>we changed the whole ORC structure, change, all of that

725
00:35:26.760 --> 00:35:28.960
<v Speaker 4>changed in the past couple of years to accommodate this.

726
00:35:29.280 --> 00:35:35.000
<v Speaker 4>So there's no question where that this is like such

727
00:35:35.119 --> 00:35:40.920
<v Speaker 4>a groundbreaking change for everybody, and I think we're probably

728
00:35:40.920 --> 00:35:43.199
<v Speaker 4>on the forefront of it because we are we are

729
00:35:43.320 --> 00:35:45.760
<v Speaker 4>kind of the lower layers of that that enables others

730
00:35:45.800 --> 00:35:46.480
<v Speaker 4>to kind of use.

731
00:35:46.599 --> 00:35:49.440
<v Speaker 1>A name, and you're expected to dog food the new

732
00:35:49.480 --> 00:35:52.000
<v Speaker 1>bits so you're seeing it before we see it.

733
00:35:52.079 --> 00:35:54.519
<v Speaker 4>So all that was like really heavy. But I think

734
00:35:54.559 --> 00:35:56.599
<v Speaker 4>like this year when we look at like get ub

735
00:35:56.639 --> 00:36:00.159
<v Speaker 4>copilot adoption, like this year is where it's really exploded. Yeah,

736
00:36:00.199 --> 00:36:02.119
<v Speaker 4>so I think the l ms now are so good

737
00:36:02.199 --> 00:36:04.360
<v Speaker 4>with the you know, clots on at for another like

738
00:36:04.480 --> 00:36:07.679
<v Speaker 4>they're just GPT five, like they're finally at a place

739
00:36:08.400 --> 00:36:10.000
<v Speaker 4>Jim and I are two point five is you know?

740
00:36:10.119 --> 00:36:12.199
<v Speaker 4>Was also another one that was like, Okay, this is.

741
00:36:12.159 --> 00:36:13.760
<v Speaker 1>Good, real good.

742
00:36:13.760 --> 00:36:16.159
<v Speaker 2>So I got a story for you. I was trying

743
00:36:16.159 --> 00:36:18.320
<v Speaker 2>to solve a CSS problem and I knew it was

744
00:36:18.320 --> 00:36:20.320
<v Speaker 2>a CSS problem, but I wasn't quite sure how to

745
00:36:20.320 --> 00:36:22.639
<v Speaker 2>solve it because you know, I'm a C sharp programmer,

746
00:36:22.719 --> 00:36:27.280
<v Speaker 2>not a CSS guy. And I asked Chatchept. I spent

747
00:36:27.360 --> 00:36:29.840
<v Speaker 2>an hour with chatchyp Yeah, I like that he's holding

748
00:36:29.920 --> 00:36:35.119
<v Speaker 2>up the mugs. CSS is awesome outside of the box.

749
00:36:36.920 --> 00:36:40.880
<v Speaker 2>I set the challenge to chat Ept. I spent an

750
00:36:40.960 --> 00:36:44.719
<v Speaker 2>hour with chatchept, and it could not figure out, for

751
00:36:44.800 --> 00:36:47.559
<v Speaker 2>the life of itself, how to fix this problem. So

752
00:36:47.639 --> 00:36:52.519
<v Speaker 2>then I went to get hub Copilot. I just created

753
00:36:52.559 --> 00:36:56.960
<v Speaker 2>a new private repo in gethub with a scaled down example.

754
00:36:57.559 --> 00:37:00.679
<v Speaker 2>Get ub co Pilot scratched its head for like forty

755
00:37:00.760 --> 00:37:03.719
<v Speaker 2>minutes and then came back with the wrong answer. Then

756
00:37:03.760 --> 00:37:06.639
<v Speaker 2>I went to Gemini and I, because Gemini is like

757
00:37:06.679 --> 00:37:10.079
<v Speaker 2>built into Chrome, right, you can ask Gemini how do

758
00:37:10.119 --> 00:37:15.599
<v Speaker 2>I fix this? And it completely baffled itself. It did

759
00:37:15.599 --> 00:37:17.320
<v Speaker 2>not have the answer. Then I went back in the

760
00:37:17.400 --> 00:37:20.239
<v Speaker 2>visual studio and I went to agent mode and I

761
00:37:20.320 --> 00:37:23.760
<v Speaker 2>picked Claude Son at three point five and I said

762
00:37:23.880 --> 00:37:27.480
<v Speaker 2>do this, And it was literally less than three minutes

763
00:37:27.679 --> 00:37:30.360
<v Speaker 2>and it had figured it out. Claude's Son. It is

764
00:37:30.400 --> 00:37:32.400
<v Speaker 2>the bomb for CSS anyway.

765
00:37:32.639 --> 00:37:33.360
<v Speaker 4>It's really good.

766
00:37:33.760 --> 00:37:35.960
<v Speaker 1>Yeah, and you're sort of speaking to that sort of

767
00:37:36.119 --> 00:37:39.519
<v Speaker 1>new reality that just harnished the agents you got. You

768
00:37:39.559 --> 00:37:41.719
<v Speaker 1>want a client that has access to all of them,

769
00:37:41.719 --> 00:37:43.719
<v Speaker 1>and you can try your different problems on different right

770
00:37:43.920 --> 00:37:45.440
<v Speaker 1>on different models.

771
00:37:46.079 --> 00:37:47.719
<v Speaker 4>So that's that's really nice. You can now you can

772
00:37:47.719 --> 00:37:49.599
<v Speaker 4>bring your own keys what we call it, right, You

773
00:37:49.599 --> 00:37:52.119
<v Speaker 4>can bring your own API key and plug in you know,

774
00:37:52.159 --> 00:37:57.639
<v Speaker 4>any other clod model or whatever. So but it's it,

775
00:37:58.039 --> 00:38:00.360
<v Speaker 4>you know, it really depends a lot of a things.

776
00:38:00.400 --> 00:38:02.199
<v Speaker 4>One is the context you give it like what does

777
00:38:02.239 --> 00:38:05.719
<v Speaker 4>it understand about your project? And the other thing is

778
00:38:05.760 --> 00:38:08.800
<v Speaker 4>the prompt, like how are you prompting it? And so

779
00:38:08.920 --> 00:38:11.280
<v Speaker 4>that's the challenge because you know at what point I'll

780
00:38:11.320 --> 00:38:13.880
<v Speaker 4>be becoming prompting engineers. I always think that sounds a

781
00:38:13.880 --> 00:38:16.880
<v Speaker 4>little bit too big for what it is, Like it's

782
00:38:16.920 --> 00:38:18.920
<v Speaker 4>a different way of asking a question. You know, does

783
00:38:18.960 --> 00:38:22.119
<v Speaker 4>that make you a prompt engineer? But but you know

784
00:38:22.159 --> 00:38:23.119
<v Speaker 4>there's some truth to that.

785
00:38:23.159 --> 00:38:25.000
<v Speaker 1>I guess, you know, yeah, because I'm all, you know,

786
00:38:25.039 --> 00:38:26.480
<v Speaker 1>I do a favorite of writing, so it must be

787
00:38:26.519 --> 00:38:27.480
<v Speaker 1>a sentence engineer.

788
00:38:27.639 --> 00:38:31.280
<v Speaker 2>Also, yeah, exactly paragraph engineer.

789
00:38:32.599 --> 00:38:34.760
<v Speaker 1>Don't get crazy now trying to get there.

790
00:38:34.920 --> 00:38:37.280
<v Speaker 4>So but what I what I do like is you know,

791
00:38:37.360 --> 00:38:39.199
<v Speaker 4>I mentioned the thing where it kind of makes you better,

792
00:38:39.480 --> 00:38:42.519
<v Speaker 4>you become a better developer. But the other aspect is

793
00:38:42.559 --> 00:38:44.800
<v Speaker 4>that it will it will allow you to do things

794
00:38:44.840 --> 00:38:48.239
<v Speaker 4>that you couldn't do before. So when I mentioned this

795
00:38:48.239 --> 00:38:52.159
<v Speaker 4>stuff about the profiler right before, like I'm not a

796
00:38:52.239 --> 00:38:55.280
<v Speaker 4>very low level developer, like I don't I don't go

797
00:38:55.320 --> 00:38:57.920
<v Speaker 4>into unsafety sharp for instance, right, Like I've never used

798
00:38:57.920 --> 00:39:00.119
<v Speaker 4>a volatile keyword. I don't know what it does, and

799
00:39:00.159 --> 00:39:01.159
<v Speaker 4>I'm kind of afraid to know.

800
00:39:01.880 --> 00:39:03.840
<v Speaker 1>But the name tells you everything you want to know.

801
00:39:03.960 --> 00:39:09.920
<v Speaker 2>That's right, stay away, Yeah, danger here across.

802
00:39:11.519 --> 00:39:14.960
<v Speaker 4>So that door was closed to me, right, And but

803
00:39:15.079 --> 00:39:17.679
<v Speaker 4>with this this new profile agent, for instance, it can

804
00:39:17.719 --> 00:39:19.440
<v Speaker 4>come in and it can teach me stuff. I can

805
00:39:19.480 --> 00:39:21.280
<v Speaker 4>see how to do this, it can it can kick

806
00:39:21.320 --> 00:39:23.760
<v Speaker 4>in the door that was otherwise closed to Yeah, and

807
00:39:24.199 --> 00:39:28.079
<v Speaker 4>so it makes the impossible possible. And I really like

808
00:39:28.199 --> 00:39:31.119
<v Speaker 4>that because it's like that. And then it doesn't go there,

809
00:39:31.159 --> 00:39:32.840
<v Speaker 4>It doesn't open the door and walk in on its own.

810
00:39:33.559 --> 00:39:35.559
<v Speaker 4>It takes me with it, right, we walk in together,

811
00:39:36.719 --> 00:39:38.920
<v Speaker 4>and that I think that's the magic part. I think

812
00:39:38.960 --> 00:39:41.280
<v Speaker 4>a lot of people miss that. They think, oh, you know, Copila,

813
00:39:41.320 --> 00:39:43.039
<v Speaker 4>that's going to take over my job or whatever, but

814
00:39:43.119 --> 00:39:46.039
<v Speaker 4>it is. It is really a cold pilot. I think

815
00:39:46.039 --> 00:39:46.639
<v Speaker 4>that's important.

816
00:39:46.760 --> 00:39:48.519
<v Speaker 2>Yeah, I'm looking forward to the day and I don't

817
00:39:48.519 --> 00:39:51.159
<v Speaker 2>think it we're here yet. But it doesn't do really

818
00:39:51.320 --> 00:39:55.239
<v Speaker 2>well with graphics and you know, animation and all that

819
00:39:55.239 --> 00:39:58.360
<v Speaker 2>stuff yet that's not really in the in the models

820
00:39:58.800 --> 00:40:01.199
<v Speaker 2>that I know anyway. But I'm looking forward to the

821
00:40:01.280 --> 00:40:04.920
<v Speaker 2>day where I can think about something that I never

822
00:40:05.360 --> 00:40:09.000
<v Speaker 2>thought of before doing because I know it's completely outside

823
00:40:09.039 --> 00:40:13.480
<v Speaker 2>my wheelhouse. And then and then engaging some AI to

824
00:40:13.519 --> 00:40:17.119
<v Speaker 2>help me figure that stuff out. But otherwise I would

825
00:40:17.199 --> 00:40:19.360
<v Speaker 2>I would never have attempted it. But and I'm not

826
00:40:19.440 --> 00:40:22.360
<v Speaker 2>talking about for professional reasons, like I would never say

827
00:40:22.920 --> 00:40:25.400
<v Speaker 2>yes if a customer asked me to do something like that,

828
00:40:25.559 --> 00:40:28.360
<v Speaker 2>but you know, for for messing around and you know,

829
00:40:28.480 --> 00:40:30.960
<v Speaker 2>writing some fun games or something, I would totally be

830
00:40:31.000 --> 00:40:31.360
<v Speaker 2>into it.

831
00:40:31.400 --> 00:40:34.599
<v Speaker 4>Did you see the Scott Hanselman and Mark Prosenovitch they

832
00:40:34.599 --> 00:40:37.199
<v Speaker 4>did this shader using copony. They had no idea how

833
00:40:37.199 --> 00:40:40.119
<v Speaker 4>to write a shrader, and they did it. And they

834
00:40:40.119 --> 00:40:42.480
<v Speaker 4>could use it as a background kind of animation movie

835
00:40:42.480 --> 00:40:45.440
<v Speaker 4>thing that just ran in the background up the windows terminal. Yeah,

836
00:40:45.480 --> 00:40:48.360
<v Speaker 4>and they've never written the shad before. And so again

837
00:40:48.400 --> 00:40:50.400
<v Speaker 4>that was a door that was to go. They could

838
00:40:50.400 --> 00:40:52.519
<v Speaker 4>have learned they had spent their time doing that.

839
00:40:52.639 --> 00:40:53.400
<v Speaker 2>But good stuff.

840
00:40:53.679 --> 00:40:54.599
<v Speaker 4>Here we are well.

841
00:40:54.639 --> 00:40:56.960
<v Speaker 1>And that's always the thing, Like you have skills, you

842
00:40:57.039 --> 00:41:00.480
<v Speaker 1>know you could do this, but your list of needs,

843
00:41:00.519 --> 00:41:02.679
<v Speaker 1>the things, you know, priority list is so long.

844
00:41:03.039 --> 00:41:06.280
<v Speaker 4>That's exactly it. You know, I got kids and family

845
00:41:06.320 --> 00:41:08.280
<v Speaker 4>and stuff. I gotta leave work, and then I gotta

846
00:41:08.320 --> 00:41:10.559
<v Speaker 4>leave work. I can't just you know, keep going. And

847
00:41:11.400 --> 00:41:13.519
<v Speaker 4>that's the most most people are in a situation like that,

848
00:41:13.599 --> 00:41:15.880
<v Speaker 4>your time is limited, and so having that kind of

849
00:41:16.159 --> 00:41:18.679
<v Speaker 4>AI sitting there and being helpful to I think it's

850
00:41:18.760 --> 00:41:22.079
<v Speaker 4>really good. Another one that's really helpful is it can

851
00:41:22.079 --> 00:41:25.599
<v Speaker 4>increase your velocity. So I have a three hundred and

852
00:41:25.599 --> 00:41:28.079
<v Speaker 4>something repos on GIDDA right, a lot of extensions and

853
00:41:28.440 --> 00:41:31.280
<v Speaker 4>NU could package libraries and whatnot, and I get a

854
00:41:31.280 --> 00:41:34.159
<v Speaker 4>bunch of feature requests and bug reporting, and I can't

855
00:41:34.199 --> 00:41:36.239
<v Speaker 4>really as a single person, I can't do all of

856
00:41:36.239 --> 00:41:38.719
<v Speaker 4>these things. But I can have the coding D and

857
00:41:38.760 --> 00:41:41.000
<v Speaker 4>I can assign a task, say hey, can you take

858
00:41:41.000 --> 00:41:42.719
<v Speaker 4>a look at this bug? Can you fix that? Or

859
00:41:42.800 --> 00:41:45.000
<v Speaker 4>take a look at this feature request? And the more

860
00:41:45.039 --> 00:41:46.840
<v Speaker 4>you use it, the more you kind of understand what

861
00:41:46.960 --> 00:41:49.159
<v Speaker 4>it can do. And then you know, oh, this is

862
00:41:49.199 --> 00:41:51.760
<v Speaker 4>a great candidate for the copilot.

863
00:41:51.920 --> 00:41:54.360
<v Speaker 1>Sure to do for me. If you want one hundred

864
00:41:54.360 --> 00:41:57.159
<v Speaker 1>percent unit test coverage, you know, you could beat your

865
00:41:57.159 --> 00:41:59.000
<v Speaker 1>interns as much as you want to try and get there,

866
00:41:59.000 --> 00:42:01.039
<v Speaker 1>but boy, the soft or knocks it out.

867
00:42:01.199 --> 00:42:02.199
<v Speaker 2>Yeah that's right.

868
00:42:02.679 --> 00:42:04.960
<v Speaker 4>Yeah, yeah, So I feel like you can your A.

869
00:42:05.000 --> 00:42:07.159
<v Speaker 4>Your velocity can go up if you if you know

870
00:42:07.199 --> 00:42:09.559
<v Speaker 4>how to use it in the right way. But that

871
00:42:09.800 --> 00:42:12.119
<v Speaker 4>now you have, but then you learn that too write.

872
00:42:12.239 --> 00:42:15.280
<v Speaker 4>So there's some new stuff to learn. And I think

873
00:42:15.280 --> 00:42:18.320
<v Speaker 4>that's important that we do it and whatever time we've got,

874
00:42:18.679 --> 00:42:20.559
<v Speaker 4>but don't dismiss it up front.

875
00:42:20.599 --> 00:42:23.159
<v Speaker 2>One hundred percent coverage. I would set that on to

876
00:42:23.239 --> 00:42:25.480
<v Speaker 2>go on a Friday night and then go away for

877
00:42:25.519 --> 00:42:28.559
<v Speaker 2>the weekend. For some of these projects that I have,

878
00:42:28.679 --> 00:42:30.159
<v Speaker 2>there's so big. Well.

879
00:42:30.960 --> 00:42:33.559
<v Speaker 1>One of the patterns I've gotten into now when I'm

880
00:42:33.639 --> 00:42:35.800
<v Speaker 1>asking the tools to write code is that they sort

881
00:42:35.800 --> 00:42:37.400
<v Speaker 1>of do a tdd thing. I want you to write

882
00:42:37.440 --> 00:42:39.960
<v Speaker 1>the test as well. And one of the effects I

883
00:42:40.039 --> 00:42:44.159
<v Speaker 1>found with that was that often if you made too

884
00:42:44.159 --> 00:42:47.079
<v Speaker 1>big of a request, it wouldn't finish it. Yes, and

885
00:42:47.159 --> 00:42:50.559
<v Speaker 1>so including the tests and keep iterating this until all

886
00:42:50.599 --> 00:42:55.039
<v Speaker 1>the tests passed. Actually create a pattern to finish the

887
00:42:55.119 --> 00:42:56.199
<v Speaker 1>code request. Right.

888
00:42:56.400 --> 00:42:59.719
<v Speaker 2>I don't like, you know, dot dot dot, you know,

889
00:43:00.000 --> 00:43:03.280
<v Speaker 2>finish the implementation here. No, you finish it. That's what

890
00:43:03.440 --> 00:43:04.679
<v Speaker 2>I'm asking you.

891
00:43:06.440 --> 00:43:08.679
<v Speaker 1>That's what you do, you piece of software.

892
00:43:08.719 --> 00:43:10.239
<v Speaker 2>You what I do?

893
00:43:10.480 --> 00:43:11.880
<v Speaker 1>Is that what you do?

894
00:43:12.639 --> 00:43:12.960
<v Speaker 2>Yeah?

895
00:43:13.079 --> 00:43:16.119
<v Speaker 1>Nice? But I feel like more and more we're the

896
00:43:16.639 --> 00:43:20.760
<v Speaker 1>project managers, right Like you're managing you only write certain

897
00:43:20.800 --> 00:43:22.559
<v Speaker 1>bits of code that you're like, well, the tool's going

898
00:43:22.599 --> 00:43:25.679
<v Speaker 1>to have at the time with this, but most of

899
00:43:25.719 --> 00:43:27.639
<v Speaker 1>the other code you're you're just doling it out and

900
00:43:27.760 --> 00:43:30.320
<v Speaker 1>checking it in. I feel like software developers are uniquely

901
00:43:30.360 --> 00:43:33.079
<v Speaker 1>qualified in the scenario because the tools like GitHub and

902
00:43:33.119 --> 00:43:37.159
<v Speaker 1>things like, we're used to taking contributions from unknown sources

903
00:43:37.159 --> 00:43:40.880
<v Speaker 1>in some respects, and what's more unknown than an LLM, right, Like,

904
00:43:41.039 --> 00:43:44.880
<v Speaker 1>just makes sense that okay, and it comes evaluated, you know,

905
00:43:44.960 --> 00:43:47.159
<v Speaker 1>run it through the process integrated.

906
00:43:46.719 --> 00:43:50.000
<v Speaker 2>And let's get meta here, Like you ask the copilot

907
00:43:50.079 --> 00:43:52.679
<v Speaker 2>to write you something and it does a pull request

908
00:43:52.800 --> 00:43:55.440
<v Speaker 2>and you check out that pull request. Now you should

909
00:43:55.519 --> 00:43:58.360
<v Speaker 2>have an agent test that pull request. Sure, why not

910
00:43:58.599 --> 00:44:02.760
<v Speaker 2>have another third part? Right? And so thinking about this

911
00:44:02.920 --> 00:44:05.360
<v Speaker 2>in terms of, oh, it's not just this one agent

912
00:44:05.440 --> 00:44:08.679
<v Speaker 2>that I'm interacting with, but multiple agents that do different

913
00:44:08.719 --> 00:44:12.159
<v Speaker 2>things better than the other kind. That's this is the future,

914
00:44:12.199 --> 00:44:12.440
<v Speaker 2>I think.

915
00:44:12.559 --> 00:44:15.800
<v Speaker 4>Yeah, we're already seeing with the mcps, for instance, where

916
00:44:15.800 --> 00:44:19.360
<v Speaker 4>they know now you have the playwright and it can

917
00:44:19.400 --> 00:44:23.079
<v Speaker 4>go ahead and unbelievable too, launch your new pro request

918
00:44:23.159 --> 00:44:25.679
<v Speaker 4>and the browser and test that it works. And I

919
00:44:25.679 --> 00:44:26.920
<v Speaker 4>mean it's pretty phenomenal.

920
00:44:27.039 --> 00:44:29.719
<v Speaker 1>The thing that got me with the playwright MCP was

921
00:44:30.760 --> 00:44:33.039
<v Speaker 1>the ownership of the test problem on my part. Now

922
00:44:33.119 --> 00:44:35.039
<v Speaker 1>is a set of prompts about what I need to

923
00:44:35.119 --> 00:44:38.679
<v Speaker 1>valuate it on this website, And so as playwright changes

924
00:44:38.719 --> 00:44:40.719
<v Speaker 1>on you and the site changes on you, you don't

925
00:44:40.719 --> 00:44:44.360
<v Speaker 1>have to rewrite the test. They're regenerated by the prompt. Yeah.

926
00:44:44.440 --> 00:44:45.599
<v Speaker 4>Yeah, yeah, that's nice.

927
00:44:45.679 --> 00:44:48.480
<v Speaker 1>Yeah yeah, it's powerful, and it's just a funny way

928
00:44:49.079 --> 00:44:53.440
<v Speaker 1>to think about software. And I don't know if necessarily

929
00:44:53.519 --> 00:44:55.000
<v Speaker 1>like it's fun in the sense that I'm getting a

930
00:44:55.000 --> 00:44:57.320
<v Speaker 1>lot done, but it's not fun in the sense of

931
00:44:57.400 --> 00:45:01.079
<v Speaker 1>like that old school flowing with code thing that I

932
00:45:01.159 --> 00:45:03.239
<v Speaker 1>used to do once in a while. It's not the

933
00:45:03.280 --> 00:45:06.320
<v Speaker 1>same when you're shepherding all these tools, like you're you're

934
00:45:06.360 --> 00:45:10.400
<v Speaker 1>kind of running an interrupt driven method of coding where

935
00:45:10.800 --> 00:45:13.360
<v Speaker 1>various bits are coming back from different agents and you're

936
00:45:13.360 --> 00:45:15.239
<v Speaker 1>trying to pull them together. It's like, where are we

937
00:45:15.320 --> 00:45:17.039
<v Speaker 1>in the overall problem space here?

938
00:45:17.400 --> 00:45:21.199
<v Speaker 4>You're definitely more of a conductor of an orchestra now

939
00:45:21.440 --> 00:45:23.920
<v Speaker 4>when you take really take full advantage of all this stuff.

940
00:45:24.400 --> 00:45:26.480
<v Speaker 4>But I don't I don't see that as Hey, the

941
00:45:26.880 --> 00:45:29.960
<v Speaker 4>role of the software engineer is changing. It's just that

942
00:45:30.039 --> 00:45:32.599
<v Speaker 4>we do we work in a slightly different way. And

943
00:45:32.639 --> 00:45:36.880
<v Speaker 4>so we also now orchestrate stuff, but hopefully we orchestrate

944
00:45:36.880 --> 00:45:40.079
<v Speaker 4>the stuff that's kind of boring or the stuff that tedious,

945
00:45:40.199 --> 00:45:43.159
<v Speaker 4>or stuff that doesn't add unique where we you know

946
00:45:43.199 --> 00:45:47.079
<v Speaker 4>that that we want to add unique value that only

947
00:45:47.119 --> 00:45:50.000
<v Speaker 4>we can do, right, stuff that's like you know, makes

948
00:45:50.079 --> 00:45:52.119
<v Speaker 4>us feel great and love our work, and where we

949
00:45:52.159 --> 00:45:55.320
<v Speaker 4>have unique insights and we can be creative and come

950
00:45:55.400 --> 00:45:57.880
<v Speaker 4>up with these fantastic things and then have kind of

951
00:45:58.119 --> 00:46:00.800
<v Speaker 4>maybe the boring parts and stuff that would be great

952
00:46:00.800 --> 00:46:02.920
<v Speaker 4>if someone else would take care of that, but we

953
00:46:03.000 --> 00:46:04.800
<v Speaker 4>do the conducting of that.

954
00:46:04.800 --> 00:46:06.880
<v Speaker 1>That was back to the old adage, right, Like your

955
00:46:07.079 --> 00:46:10.840
<v Speaker 1>job as the software engineer wasn't to write code, it

956
00:46:10.880 --> 00:46:14.039
<v Speaker 1>was to produce solutions. Yep, right, I remember. I mean

957
00:46:14.039 --> 00:46:16.239
<v Speaker 1>I'm old enough down to remember switching to Visual Basic.

958
00:46:16.360 --> 00:46:19.960
<v Speaker 1>His guy brought real tired of battling MFC, like you

959
00:46:20.039 --> 00:46:24.159
<v Speaker 1>were mostly fighting with Windows, not providing solutions, and VB

960
00:46:24.320 --> 00:46:26.519
<v Speaker 1>took that off the shelf, and people like we're not

961
00:46:26.519 --> 00:46:29.639
<v Speaker 1>really programming anymore. It's like pretty sure, I am pretty sure.

962
00:46:29.679 --> 00:46:31.079
<v Speaker 1>I'm going to be crying all the way to the

963
00:46:31.119 --> 00:46:31.719
<v Speaker 1>bank here.

964
00:46:32.159 --> 00:46:34.199
<v Speaker 4>Yeah, I forget who said it? But it was was

965
00:46:34.239 --> 00:46:37.800
<v Speaker 4>it Repert Scoble or like Joe's bowlski or something that. Hey,

966
00:46:37.880 --> 00:46:40.920
<v Speaker 4>you know, as a software engineer, your goal is to

967
00:46:41.000 --> 00:46:43.960
<v Speaker 4>solve problems. Yeah, the side effect is that you write

968
00:46:44.000 --> 00:46:46.920
<v Speaker 4>code or something like that. The by product is code.

969
00:46:47.559 --> 00:46:49.480
<v Speaker 4>But we're here to solve problems. And so I think

970
00:46:49.519 --> 00:46:51.199
<v Speaker 4>that's true in this new world as well. And I

971
00:46:51.239 --> 00:46:53.159
<v Speaker 4>think we're still going to write as much code. We

972
00:46:53.239 --> 00:46:55.519
<v Speaker 4>might even write more because some of this other stuff

973
00:46:55.559 --> 00:46:58.960
<v Speaker 4>can be sort of automated away a little bit. And

974
00:46:59.039 --> 00:47:01.960
<v Speaker 4>so I think we're looking at a very very bright

975
00:47:02.000 --> 00:47:04.480
<v Speaker 4>future for software engineering. I think it's going to be

976
00:47:04.480 --> 00:47:06.559
<v Speaker 4>more fun now than they has been in the past.

977
00:47:06.559 --> 00:47:09.679
<v Speaker 1>The productivity explosion is astonishing. Folks have seen who figure

978
00:47:09.679 --> 00:47:12.679
<v Speaker 1>this stuff out. I mean, I for a while there,

979
00:47:12.800 --> 00:47:15.519
<v Speaker 1>the good Hub Copilot days, I was seeing folks saying, hey,

980
00:47:15.880 --> 00:47:19.119
<v Speaker 1>my coders are pushing in more code. It's twenty thirty

981
00:47:19.199 --> 00:47:23.400
<v Speaker 1>forty percent more productive. There's more reworks, like they're backing

982
00:47:23.440 --> 00:47:26.519
<v Speaker 1>out stuff more often. But generally if it gets pushed

983
00:47:26.519 --> 00:47:28.760
<v Speaker 1>and it sticks, it's pretty good in its days, Like

984
00:47:28.840 --> 00:47:31.960
<v Speaker 1>code quality up overall. Yeah, Yeah, Now I watch guys

985
00:47:32.039 --> 00:47:34.519
<v Speaker 1>that are knocking out two three weeks worth of work

986
00:47:34.960 --> 00:47:37.480
<v Speaker 1>in a typical pattern in a day. Sure, Like it's

987
00:47:37.519 --> 00:47:39.119
<v Speaker 1>just astonishing when they get it right.

988
00:47:39.199 --> 00:47:42.320
<v Speaker 4>Yeah, yeah, right, And so I think like, as, but

989
00:47:42.519 --> 00:47:45.760
<v Speaker 4>that's a craft too. How do you work with the

990
00:47:45.800 --> 00:47:47.239
<v Speaker 4>prompting and with the yelms.

991
00:47:47.360 --> 00:47:50.880
<v Speaker 2>Yeah, So also staying current on what the different lllms

992
00:47:50.880 --> 00:47:53.159
<v Speaker 2>are and what their strengths and weaknesses are. I think

993
00:47:53.199 --> 00:47:56.800
<v Speaker 2>that's a big challenge too, because you know that experiment

994
00:47:56.840 --> 00:47:59.360
<v Speaker 2>that I did with the first chatchpt for an hour,

995
00:47:59.440 --> 00:48:02.320
<v Speaker 2>and then you know that the GitHub copilot and all

996
00:48:02.360 --> 00:48:04.800
<v Speaker 2>that stuff that took like a whole day just to

997
00:48:04.840 --> 00:48:07.559
<v Speaker 2>figure out that claudees on at three point five was

998
00:48:07.559 --> 00:48:10.559
<v Speaker 2>was the was the model that I wanted. And now

999
00:48:10.599 --> 00:48:13.039
<v Speaker 2>when I go back that, I'm going to try to

1000
00:48:13.159 --> 00:48:16.079
<v Speaker 2>use that for a similar problem. But something else might

1001
00:48:16.119 --> 00:48:18.800
<v Speaker 2>have come around that makes it even easier. Right, So

1002
00:48:19.840 --> 00:48:22.440
<v Speaker 2>keeping up with these things is going to be a

1003
00:48:22.440 --> 00:48:24.000
<v Speaker 2>full time endeavor.

1004
00:48:24.159 --> 00:48:26.880
<v Speaker 1>I remember the arguments over is garbage collecting actually a

1005
00:48:26.880 --> 00:48:30.119
<v Speaker 1>good idea? We've been to these sort of changes in

1006
00:48:30.159 --> 00:48:32.719
<v Speaker 1>the way we think about code things before. Yeah, and

1007
00:48:33.440 --> 00:48:35.119
<v Speaker 1>it's just this is an issue one.

1008
00:48:35.199 --> 00:48:36.760
<v Speaker 4>And I also feel like, yeah, you have to keep

1009
00:48:36.840 --> 00:48:39.599
<v Speaker 4>up today with like which models are great for your scenario.

1010
00:48:39.719 --> 00:48:42.840
<v Speaker 4>Let's say, I don't think that's different than keeping up

1011
00:48:42.840 --> 00:48:44.400
<v Speaker 4>with other industry kind of.

1012
00:48:44.480 --> 00:48:48.599
<v Speaker 2>Yeah, it just most faster, most faster than language evolution

1013
00:48:48.960 --> 00:48:50.239
<v Speaker 2>or tool evolution.

1014
00:48:51.400 --> 00:48:52.880
<v Speaker 1>That may only be true right now.

1015
00:48:53.119 --> 00:48:55.119
<v Speaker 4>Yeah, it's a moment in time. I think it feels

1016
00:48:55.159 --> 00:48:58.719
<v Speaker 4>like we're on our way somewhere. Yeah, and we're trying

1017
00:48:58.719 --> 00:49:00.760
<v Speaker 4>to figure out where where does this go? Is this

1018
00:49:00.960 --> 00:49:03.320
<v Speaker 4>is the chat the right interface going forward? Is it

1019
00:49:03.360 --> 00:49:06.320
<v Speaker 4>a what is it? It might be, but it might

1020
00:49:06.360 --> 00:49:09.039
<v Speaker 4>not be. And so we're on our way there wherever

1021
00:49:09.079 --> 00:49:09.440
<v Speaker 4>there is.

1022
00:49:09.599 --> 00:49:12.199
<v Speaker 2>I have a suggestion to people who are hearing this podcast,

1023
00:49:12.239 --> 00:49:14.880
<v Speaker 2>and that is listen to more dot ne Rocks episodes

1024
00:49:14.920 --> 00:49:16.800
<v Speaker 2>because we'll keep you up to date on these things.

1025
00:49:16.840 --> 00:49:18.679
<v Speaker 2>Because we're doing the hard work out here.

1026
00:49:22.360 --> 00:49:25.480
<v Speaker 1>We're definitely asking some questions anyway and trying to get

1027
00:49:25.480 --> 00:49:28.199
<v Speaker 1>an overview. Yeah, that's true of you know, who's succeeding,

1028
00:49:28.239 --> 00:49:31.239
<v Speaker 1>who's struggling? Where are these things helping? Word? Don't they help?

1029
00:49:31.400 --> 00:49:33.800
<v Speaker 4>But we're thinking about this. You know, you might have

1030
00:49:33.880 --> 00:49:37.519
<v Speaker 4>heard this concept of ambient AI. Yeah, so the concept

1031
00:49:37.519 --> 00:49:40.519
<v Speaker 4>real briefly is that it's kind of sitting there in

1032
00:49:40.519 --> 00:49:44.280
<v Speaker 4>the background only showing its phase when it's needed, and

1033
00:49:44.360 --> 00:49:49.079
<v Speaker 4>it seamlessly offer you, you know, the help contextually where

1034
00:49:49.119 --> 00:49:51.199
<v Speaker 4>you want it. And so it's so think of it

1035
00:49:51.239 --> 00:49:54.280
<v Speaker 4>as something that's always there, but it's not in your way,

1036
00:49:54.320 --> 00:49:56.760
<v Speaker 4>and it's not something that you need to learn. And

1037
00:49:56.800 --> 00:50:00.000
<v Speaker 4>so we like that idea because it kind of fits

1038
00:50:00.159 --> 00:50:03.039
<v Speaker 4>naturally into things that already exist. So if we were

1039
00:50:03.079 --> 00:50:05.239
<v Speaker 4>to put it into Visual Studio, for instance, you know

1040
00:50:05.320 --> 00:50:08.320
<v Speaker 4>I mentioned the you know, the generated commit message, Well,

1041
00:50:08.320 --> 00:50:10.840
<v Speaker 4>we already have a commit message box. So adding a

1042
00:50:10.880 --> 00:50:14.320
<v Speaker 4>button that automatically does that would be it's a place

1043
00:50:14.360 --> 00:50:16.800
<v Speaker 4>where you expected, it's not in your way, you don't

1044
00:50:16.840 --> 00:50:19.559
<v Speaker 4>have to prompt anything, right. That's a that's kind of

1045
00:50:19.599 --> 00:50:23.119
<v Speaker 4>ambient AI thinking. Another one is renamed variable. We made

1046
00:50:23.119 --> 00:50:24.880
<v Speaker 4>a big splash about this because you know it's the

1047
00:50:25.280 --> 00:50:28.119
<v Speaker 4>one of the hardest problems in computer science is naming things.

1048
00:50:29.079 --> 00:50:31.119
<v Speaker 4>And so if you want to rename a variable, there's

1049
00:50:31.159 --> 00:50:32.880
<v Speaker 4>like a little UI and Visual studio for that. If

1050
00:50:32.920 --> 00:50:36.599
<v Speaker 4>you could click control r R on an identifier, the

1051
00:50:36.760 --> 00:50:39.280
<v Speaker 4>rename thing come up. We show you automatically the top

1052
00:50:39.320 --> 00:50:41.880
<v Speaker 4>three things that we think based on how that variable

1053
00:50:41.920 --> 00:50:44.320
<v Speaker 4>is being used in your code. What will be good

1054
00:50:44.440 --> 00:50:47.679
<v Speaker 4>names for that based on cipical naming strategies, and so

1055
00:50:47.760 --> 00:50:48.639
<v Speaker 4>that's ambient AI.

1056
00:50:48.920 --> 00:50:51.559
<v Speaker 1>Although we are talking about Microsoft here and you guys

1057
00:50:51.599 --> 00:50:56.960
<v Speaker 1>have a record about names.

1058
00:50:57.360 --> 00:50:58.880
<v Speaker 2>All right, well let's just put.

1059
00:50:58.679 --> 00:51:00.239
<v Speaker 1>That right out there.

1060
00:50:59.599 --> 00:51:02.880
<v Speaker 2>No size, that's the perfect name for what it does.

1061
00:51:03.079 --> 00:51:04.440
<v Speaker 1>You know exactly what it does.

1062
00:51:04.639 --> 00:51:07.639
<v Speaker 4>I'm the worst of naming things. They just the name

1063
00:51:07.719 --> 00:51:08.320
<v Speaker 4>is what they do.

1064
00:51:08.519 --> 00:51:11.480
<v Speaker 1>Yeah, yeah, which is actually the perfect name. Like, because

1065
00:51:11.599 --> 00:51:12.840
<v Speaker 1>nobody's confused in.

1066
00:51:12.880 --> 00:51:15.960
<v Speaker 2>The in the UK, they say, it's what's on the tin, right,

1067
00:51:16.440 --> 00:51:19.079
<v Speaker 2>what's printed on the can is what you get. Yeah,

1068
00:51:19.199 --> 00:51:20.000
<v Speaker 2>what's on the tin.

1069
00:51:20.000 --> 00:51:21.800
<v Speaker 1>It's what is in the can. Like, that's as much

1070
00:51:21.840 --> 00:51:25.400
<v Speaker 1>as we could hope for. I appreciate that.

1071
00:51:26.079 --> 00:51:27.079
<v Speaker 4>Uh.

1072
00:51:27.480 --> 00:51:28.840
<v Speaker 1>Can we talk a little bit about the sort of

1073
00:51:28.920 --> 00:51:32.239
<v Speaker 1>project side that is also visual studio because I think,

1074
00:51:32.599 --> 00:51:33.960
<v Speaker 1>you know, people will tell me, you, well, why would

1075
00:51:33.960 --> 00:51:36.239
<v Speaker 1>I use visual studio code of visual studio? And it's like,

1076
00:51:36.920 --> 00:51:39.760
<v Speaker 1>to me, studio is as much a project management tool

1077
00:51:40.119 --> 00:51:41.800
<v Speaker 1>as it is a development environment.

1078
00:51:42.000 --> 00:51:46.000
<v Speaker 4>It is. Now, that's funny, that's exactly how I look

1079
00:51:46.000 --> 00:51:48.320
<v Speaker 4>at it too, and that relationship you have between projects

1080
00:51:48.360 --> 00:51:52.519
<v Speaker 4>and solutions. But if you're new to visual studio, you know,

1081
00:51:52.800 --> 00:51:56.199
<v Speaker 4>a lot of people don't understand that concept, yeah, because

1082
00:51:56.239 --> 00:51:58.960
<v Speaker 4>it's just new to them, foreign to them, and it

1083
00:51:59.000 --> 00:52:02.119
<v Speaker 4>really allows us to do some interesting things when it

1084
00:52:02.159 --> 00:52:05.519
<v Speaker 4>comes to building and to building context, I mean compiling

1085
00:52:05.840 --> 00:52:08.960
<v Speaker 4>and building context for intellisents and so on when it's

1086
00:52:08.960 --> 00:52:10.920
<v Speaker 4>not based on a file system, but it's based on

1087
00:52:11.239 --> 00:52:15.039
<v Speaker 4>an intentional project structure. So I guess you could replicate

1088
00:52:15.039 --> 00:52:16.920
<v Speaker 4>that in the filesystem too, but that's typically not what

1089
00:52:17.039 --> 00:52:21.880
<v Speaker 4>you see, and so that's you know, we've it's always

1090
00:52:21.920 --> 00:52:24.920
<v Speaker 4>been a little bit problematic too, because loading from a

1091
00:52:24.960 --> 00:52:28.800
<v Speaker 4>file system is fast, but loading from a project hierarchy

1092
00:52:28.880 --> 00:52:31.679
<v Speaker 4>that you have to read the entire hierarchy first before

1093
00:52:31.719 --> 00:52:34.480
<v Speaker 4>you can figure out the dependencies between them and how

1094
00:52:34.519 --> 00:52:37.079
<v Speaker 4>to then render them in the solution explore right in

1095
00:52:37.119 --> 00:52:39.519
<v Speaker 4>the tree view. And so there's always it's always been

1096
00:52:39.519 --> 00:52:43.239
<v Speaker 4>more expensive from that perspective working with the projects and solutions.

1097
00:52:43.800 --> 00:52:47.400
<v Speaker 4>So this time around we've we've finally i'd say, been

1098
00:52:47.440 --> 00:52:50.840
<v Speaker 4>able to go really really deep on some performance stuff

1099
00:52:51.679 --> 00:52:54.280
<v Speaker 4>to make that, you know, faster than ever. So you'll

1100
00:52:54.280 --> 00:52:56.480
<v Speaker 4>notice the first thing you'll notice in the new version

1101
00:52:56.599 --> 00:53:01.599
<v Speaker 4>is how fast things show up, how fast project solutions

1102
00:53:01.639 --> 00:53:03.480
<v Speaker 4>load all that, it's just it's visible immediately.

1103
00:53:03.599 --> 00:53:07.960
<v Speaker 2>I was under the impression that the reason why visual

1104
00:53:08.000 --> 00:53:13.199
<v Speaker 2>studio proper is slower than say visual studio code is

1105
00:53:13.239 --> 00:53:18.000
<v Speaker 2>because there's a lot of calm involved in stuff, and

1106
00:53:18.079 --> 00:53:21.360
<v Speaker 2>so that naturally kind of slows down the whole process

1107
00:53:21.400 --> 00:53:23.960
<v Speaker 2>and kind of bloats the memory. But I don't know

1108
00:53:24.039 --> 00:53:25.760
<v Speaker 2>if that's really true. What do you think about that?

1109
00:53:26.960 --> 00:53:28.840
<v Speaker 4>No, that that had that has some truth to it,

1110
00:53:28.880 --> 00:53:32.800
<v Speaker 4>for sure. And but also like visual studios over twenty

1111
00:53:32.840 --> 00:53:35.119
<v Speaker 4>eight years old, and so there's there's some things that

1112
00:53:35.119 --> 00:53:38.239
<v Speaker 4>have just evolved over time, like some debt that has

1113
00:53:38.280 --> 00:53:40.679
<v Speaker 4>been building up, right, and we've finally been able to

1114
00:53:40.719 --> 00:53:43.920
<v Speaker 4>look at that, but some very key aspects of it.

1115
00:53:43.960 --> 00:53:47.000
<v Speaker 4>But one thing that was was a thing was blocking

1116
00:53:47.000 --> 00:53:49.599
<v Speaker 4>the UI threat. So when you would click a button

1117
00:53:49.920 --> 00:53:53.639
<v Speaker 4>to do it something, sometimes whatever would happen when you

1118
00:53:53.639 --> 00:53:55.800
<v Speaker 4>click that button would do that on the UI threat.

1119
00:53:55.880 --> 00:53:59.159
<v Speaker 4>And what that means is that visual studio freezese. Nothing

1120
00:53:59.199 --> 00:54:01.920
<v Speaker 4>could update on the score, right, and so we would

1121
00:54:02.280 --> 00:54:03.920
<v Speaker 4>and so we get what we call it's called a hang,

1122
00:54:04.320 --> 00:54:07.440
<v Speaker 4>but you might call it a freeze, and Zoo would

1123
00:54:07.440 --> 00:54:09.440
<v Speaker 4>be unresponsive for like a half a second.

1124
00:54:09.519 --> 00:54:12.159
<v Speaker 2>Once the programmers know all about that though. I mean,

1125
00:54:12.199 --> 00:54:14.679
<v Speaker 2>if you've done any kind of multi threaded or a programming,

1126
00:54:14.719 --> 00:54:15.440
<v Speaker 2>you know what that is.

1127
00:54:16.239 --> 00:54:17.280
<v Speaker 4>That's top programmers.

1128
00:54:17.800 --> 00:54:22.199
<v Speaker 2>Richard had this comment about outlook sixty five threads and

1129
00:54:22.320 --> 00:54:28.719
<v Speaker 2>not one of them for me, that's my thread.

1130
00:54:29.119 --> 00:54:31.239
<v Speaker 4>But when you start but when you start doing that,

1131
00:54:31.320 --> 00:54:33.159
<v Speaker 4>and that's part of that profile the thing too, right

1132
00:54:33.320 --> 00:54:35.679
<v Speaker 4>or or debugger where like something like an AI can

1133
00:54:35.719 --> 00:54:38.880
<v Speaker 4>help you. Is it's really hard to d book like

1134
00:54:39.239 --> 00:54:44.119
<v Speaker 4>acinc call stacks and you know, multi threaded applications or whatnot.

1135
00:54:44.639 --> 00:54:48.960
<v Speaker 4>But this time around, we've really really done more than

1136
00:54:49.000 --> 00:54:51.519
<v Speaker 4>ever in terms of moving things out of the UI

1137
00:54:51.519 --> 00:54:55.679
<v Speaker 4>threat and that we run dot net you know core

1138
00:54:56.559 --> 00:54:59.960
<v Speaker 4>processes under visual Studio that you know runs very qui

1139
00:55:00.199 --> 00:55:02.159
<v Speaker 4>and very fast, and it does a lot of that

1140
00:55:02.239 --> 00:55:04.559
<v Speaker 4>work in the background now. So you'll see visual Studio

1141
00:55:04.639 --> 00:55:09.679
<v Speaker 4>becoming a lot snappier. So opening startup, opening a solution,

1142
00:55:10.159 --> 00:55:13.480
<v Speaker 4>time you hit five, like compilation and time for you

1143
00:55:13.559 --> 00:55:14.800
<v Speaker 4>to hit When you hit a five too, you hit

1144
00:55:14.840 --> 00:55:16.800
<v Speaker 4>your break point. Is that was so much faster than

1145
00:55:16.880 --> 00:55:19.360
<v Speaker 4>ever was and it does all that while the UI

1146
00:55:19.400 --> 00:55:20.320
<v Speaker 4>is still respond here.

1147
00:55:20.480 --> 00:55:23.280
<v Speaker 2>If you guys at Microsoft, the people that are working

1148
00:55:23.280 --> 00:55:27.320
<v Speaker 2>on Visual Studio in general are using AI to help

1149
00:55:27.440 --> 00:55:32.159
<v Speaker 2>them find bottlenecks and find places that need to be

1150
00:55:32.719 --> 00:55:33.559
<v Speaker 2>fixed or updated.

1151
00:55:33.920 --> 00:55:36.119
<v Speaker 4>Yeah, we're using it internally. You have to you have

1152
00:55:36.159 --> 00:55:39.119
<v Speaker 4>to think about the So the Profiler Agent is really new,

1153
00:55:39.440 --> 00:55:41.800
<v Speaker 4>So we haven't used it like extensively, like for a

1154
00:55:41.840 --> 00:55:46.000
<v Speaker 4>long period of time. It's very new, and I tell

1155
00:55:46.000 --> 00:55:47.159
<v Speaker 4>you it was. Some of the first things we did

1156
00:55:47.320 --> 00:55:49.400
<v Speaker 4>was we told all the teams, hey use it on

1157
00:55:49.440 --> 00:55:52.840
<v Speaker 4>your own code base inside Visual Studio, and so we

1158
00:55:52.880 --> 00:55:56.239
<v Speaker 4>see optimizations come in all the time. But what Nick did,

1159
00:55:56.440 --> 00:55:58.760
<v Speaker 4>he's on the profiler team, he did something really interesting.

1160
00:55:58.840 --> 00:56:01.639
<v Speaker 4>He started with the top hundred Nugat packages and he

1161
00:56:01.679 --> 00:56:04.880
<v Speaker 4>would profile them to figure out where are the hotspots

1162
00:56:04.920 --> 00:56:06.480
<v Speaker 4>or whatever and can he fixed them? So he sent

1163
00:56:06.599 --> 00:56:09.760
<v Speaker 4>starts sending pull requests to the top Nugat packages because

1164
00:56:09.760 --> 00:56:12.880
<v Speaker 4>they're used in thousands and if not millions of apps, right,

1165
00:56:13.719 --> 00:56:16.280
<v Speaker 4>and that means if he can like do seventeen percent

1166
00:56:16.360 --> 00:56:19.360
<v Speaker 4>better performance for some of these packages, like that's a

1167
00:56:19.519 --> 00:56:21.280
<v Speaker 4>huge win for everybody.

1168
00:56:21.800 --> 00:56:22.400
<v Speaker 1>Yeah wow.

1169
00:56:22.719 --> 00:56:25.960
<v Speaker 4>So he's been very busy doing that and that's really

1170
00:56:25.960 --> 00:56:28.599
<v Speaker 4>great because that trains him in using the product and

1171
00:56:28.679 --> 00:56:31.199
<v Speaker 4>figuring out where there could be further improvements and so on.

1172
00:56:31.960 --> 00:56:35.559
<v Speaker 4>Plus all the internal dog footing stuff off that profiler

1173
00:56:36.719 --> 00:56:39.639
<v Speaker 4>ends up making everything better and we can fine tune

1174
00:56:39.679 --> 00:56:41.920
<v Speaker 4>all these things and it's it's really impressive.

1175
00:56:41.920 --> 00:56:45.079
<v Speaker 2>Well, I guarantee Polly isn't one of those newcat packages

1176
00:56:45.119 --> 00:56:46.800
<v Speaker 2>that needed improvement.

1177
00:56:47.440 --> 00:56:49.719
<v Speaker 4>It's really should I tell nick to go look at that.

1178
00:56:50.280 --> 00:56:52.719
<v Speaker 2>No, it's really fast, it's really good.

1179
00:56:53.039 --> 00:56:55.239
<v Speaker 4>Oh, it's fast enough, it doesn't need Yeah, it's.

1180
00:56:55.119 --> 00:56:58.639
<v Speaker 1>Like all native the as your team got involved because

1181
00:56:58.679 --> 00:57:00.800
<v Speaker 1>they were leaning on it. Pretty Yeah.

1182
00:57:00.920 --> 00:57:04.559
<v Speaker 4>I think actually Nicky found that when he ran some profiling,

1183
00:57:04.599 --> 00:57:07.400
<v Speaker 4>he figured out all the way down in dot Net

1184
00:57:07.440 --> 00:57:10.800
<v Speaker 4>framework itself that there was something that could be optimize.

1185
00:57:11.039 --> 00:57:13.679
<v Speaker 4>So I think he's gonna send up a code update.

1186
00:57:13.920 --> 00:57:16.360
<v Speaker 4>I'm not sure they take pull requests in the traditional sense,

1187
00:57:16.920 --> 00:57:19.079
<v Speaker 4>but like he's gonna see if we can get some.

1188
00:57:19.400 --> 00:57:20.039
<v Speaker 2>That's so cool.

1189
00:57:20.199 --> 00:57:22.639
<v Speaker 4>That framework, because that has to do with visual studio startup.

1190
00:57:22.920 --> 00:57:26.000
<v Speaker 4>Visual Studio actually is a native process that boots up

1191
00:57:26.119 --> 00:57:29.599
<v Speaker 4>the dot Net framework in its own. It's like it's

1192
00:57:29.639 --> 00:57:30.280
<v Speaker 4>really kind of.

1193
00:57:30.719 --> 00:57:33.559
<v Speaker 2>And you're talking about you're talking about the Donet framework,

1194
00:57:33.599 --> 00:57:35.360
<v Speaker 2>the Windows version of dot Net framework.

1195
00:57:35.719 --> 00:57:37.559
<v Speaker 4>Yeah, framework for it Yep.

1196
00:57:37.480 --> 00:57:39.639
<v Speaker 2>That's so cool that you guys are doing that, and

1197
00:57:40.360 --> 00:57:42.199
<v Speaker 2>it's it's inspirational.

1198
00:57:42.360 --> 00:57:45.280
<v Speaker 1>Really well, it's just a reminder that Microsoft employees use

1199
00:57:45.360 --> 00:57:48.840
<v Speaker 1>Visual Studio like the products you build the products with

1200
00:57:48.880 --> 00:57:50.239
<v Speaker 1>the products Uber Dog Souper.

1201
00:57:51.199 --> 00:57:53.000
<v Speaker 4>That's my joke always like, hey, did you know that

1202
00:57:53.079 --> 00:57:56.719
<v Speaker 4>Visual Studio twenty twenty six was build using Visual Studio six.

1203
00:57:57.360 --> 00:57:59.960
<v Speaker 1>That's great, it's true. So where can folks take out

1204
00:58:00.159 --> 00:58:01.079
<v Speaker 1>preview out firs spin.

1205
00:58:01.440 --> 00:58:03.599
<v Speaker 4>Yeah, go to visual studio dot com, click the download

1206
00:58:03.639 --> 00:58:07.280
<v Speaker 4>button and select the preview of twenty twenty six. That's

1207
00:58:07.280 --> 00:58:07.679
<v Speaker 4>how you do it.

1208
00:58:07.679 --> 00:58:10.000
<v Speaker 2>But if you already have the Visual Studio installer, you

1209
00:58:10.000 --> 00:58:13.519
<v Speaker 2>can just load run that and it'll tell you if

1210
00:58:13.519 --> 00:58:15.000
<v Speaker 2>there are preview versions, right.

1211
00:58:15.440 --> 00:58:18.480
<v Speaker 4>You need to maybe if you have the preview already,

1212
00:58:18.519 --> 00:58:22.199
<v Speaker 4>you've got the latest on the preview that includes the installer. Otherwise,

1213
00:58:22.239 --> 00:58:24.119
<v Speaker 4>just go to visual studiot com click it there. If

1214
00:58:24.119 --> 00:58:26.760
<v Speaker 4>it doesn't show up for you, and you can install

1215
00:58:26.760 --> 00:58:29.559
<v Speaker 4>a side by side. It won't interfere with any other installs.

1216
00:58:29.599 --> 00:58:32.039
<v Speaker 4>You got a Visual Studio twenty twenty two or whatever,

1217
00:58:32.679 --> 00:58:34.840
<v Speaker 4>and it will it will look at twenty twenty two

1218
00:58:34.920 --> 00:58:36.840
<v Speaker 4>if you have that installed. So when you're installed twenty

1219
00:58:36.840 --> 00:58:38.840
<v Speaker 4>twenty six, it looks at twenty twenty two, and it

1220
00:58:38.880 --> 00:58:44.000
<v Speaker 4>looks at your settings, your extensions, and the components the

1221
00:58:44.039 --> 00:58:47.000
<v Speaker 4>workloads like if you're if you've taken like let's say

1222
00:58:47.159 --> 00:58:50.840
<v Speaker 4>dot net, ASP, dot net and desktop, those are your

1223
00:58:50.880 --> 00:58:54.800
<v Speaker 4>two workloads. It will copy that information. It will take

1224
00:58:54.800 --> 00:58:57.880
<v Speaker 4>that information from twenty twenty two and pre select all that.

1225
00:58:57.920 --> 00:59:00.239
<v Speaker 4>So your installation is super smooth. You get all the

1226
00:59:00.239 --> 00:59:03.920
<v Speaker 4>components you need, settings and extensions because the extensions are

1227
00:59:04.840 --> 00:59:07.199
<v Speaker 4>you're twenty twenty two. Extensions work in twenty twenty three.

1228
00:59:07.239 --> 00:59:14.639
<v Speaker 2>You go, let's hear for extensions. Yeah, going into the future.

1229
00:59:14.960 --> 00:59:17.400
<v Speaker 4>Very exciting stuff and that. Yeah, so it's super fast

1230
00:59:17.440 --> 00:59:19.800
<v Speaker 4>to get from you click the install butt until you're

1231
00:59:19.800 --> 00:59:22.679
<v Speaker 4>able to open till you're able to open your solution

1232
00:59:22.760 --> 00:59:25.440
<v Speaker 4>and start writing code. Is probably the fastest ever.

1233
00:59:25.559 --> 00:59:29.079
<v Speaker 2>Fantastic nice All right, Well, geez, I think I ran

1234
00:59:29.119 --> 00:59:31.559
<v Speaker 2>out of questions. You got any more, Richard.

1235
00:59:31.360 --> 00:59:33.920
<v Speaker 1>No good. I think it looks like it's gonna be

1236
00:59:33.960 --> 00:59:35.599
<v Speaker 1>an awesome version of the studio, and it's been a

1237
00:59:35.599 --> 00:59:37.239
<v Speaker 1>while coming, but I understand why.

1238
00:59:37.480 --> 00:59:40.599
<v Speaker 2>Matt, thank you so much. It's been awesome as always.

1239
00:59:40.639 --> 00:59:43.559
<v Speaker 4>Thanks for having me. It's my pleasure as always.

1240
00:59:43.159 --> 00:59:45.400
<v Speaker 5>All right, and we'll talk to you next time on

1241
00:59:45.519 --> 01:00:02.960
<v Speaker 5>dot net brocks.

1242
01:00:07.199 --> 01:00:09.880
<v Speaker 2>Dot net Rocks is brought to you by Franklin's Net

1243
01:00:10.000 --> 01:00:13.960
<v Speaker 2>and produced by Pop Studios, a full service audio, video

1244
01:00:14.039 --> 01:00:18.119
<v Speaker 2>and post production facility located physically in New London, Connecticut,

1245
01:00:18.360 --> 01:00:23.159
<v Speaker 2>and of course in the cloud online at pwop dot com.

1246
01:00:23.360 --> 01:00:25.480
<v Speaker 2>Visit our website at d O T N E t

1247
01:00:25.719 --> 01:00:29.760
<v Speaker 2>R O c k S dot com for RSS feeds, downloads,

1248
01:00:29.880 --> 01:00:33.559
<v Speaker 2>mobile apps, comments, and access to the full archives going

1249
01:00:33.599 --> 01:00:37.000
<v Speaker 2>back to show number one, recorded in September.

1250
01:00:36.440 --> 01:00:37.239
<v Speaker 1>Two thousand and two.

1251
01:00:37.920 --> 01:00:40.239
<v Speaker 2>And make sure you check out our sponsors. They keep

1252
01:00:40.320 --> 01:00:43.480
<v Speaker 2>us in business. Now go write some code, See you

1253
01:00:43.519 --> 01:00:43.960
<v Speaker 2>next time.

1254
01:00:44.880 --> 01:00:46.679
<v Speaker 4>You got Javans

1255
01:00:48.760 --> 01:01:00.559
<v Speaker 1>And s
