1
00:00:01,120 --> 00:00:03,000
Speaker 1: How'd you like to listen to dot net rocks with

2
00:00:03,080 --> 00:00:07,879
no ads? Easy? Become a patron for just five dollars

3
00:00:07,960 --> 00:00:10,839
a month you get access to a private RSS feed

4
00:00:10,839 --> 00:00:14,080
where all the shows have no ads. Twenty dollars a

5
00:00:14,080 --> 00:00:16,600
month will get you that and a special dot net

6
00:00:16,679 --> 00:00:20,440
Rocks patron mug. Sign up now at Patreon dot dot

7
00:00:20,480 --> 00:00:36,759
NetRocks dot com. Hey guess what it's dot net Rocks

8
00:00:37,000 --> 00:00:41,039
episode nineteen hundred and seventy eight. I'm Carl Franklin and

9
00:00:41,119 --> 00:00:43,479
am Richard Camp and Richard, you're a down under?

10
00:00:44,000 --> 00:00:44,240
Speaker 2: I am?

11
00:00:44,359 --> 00:00:44,640
Speaker 1: I am.

12
00:00:44,719 --> 00:00:47,600
Speaker 2: This is the last week of the month long tour

13
00:00:47,679 --> 00:00:50,640
with the grand baby. And you know, the whole idea was,

14
00:00:50,679 --> 00:00:53,159
while she's not moving around too much, just a little package,

15
00:00:53,200 --> 00:00:54,520
it'll be a good time to take her and show

16
00:00:54,560 --> 00:00:56,880
her off to the extended family. Of course, in this

17
00:00:57,000 --> 00:00:59,320
time she's learned to crawl, so now she's a toddler

18
00:00:59,359 --> 00:01:01,640
and starting to get bumps and bruises. Just you know,

19
00:01:02,280 --> 00:01:04,159
remember that time your kids get all.

20
00:01:04,359 --> 00:01:07,280
Speaker 1: Your baby get gets all banged up. That's happening. How

21
00:01:07,319 --> 00:01:09,519
cool is that? It's been really fun. The only thing

22
00:01:09,599 --> 00:01:11,760
she might regret is not being able to remember any

23
00:01:11,799 --> 00:01:13,280
of it's the best part.

24
00:01:13,359 --> 00:01:15,879
Speaker 2: Right when she's twelve years old, like you've already been

25
00:01:15,879 --> 00:01:18,599
to Australia.

26
00:01:19,480 --> 00:01:22,079
Speaker 1: Yeah, she won't remember the trauma of being dropped on

27
00:01:22,120 --> 00:01:26,319
her head on the plane, you know, nothing like that.

28
00:01:26,560 --> 00:01:29,560
Speaker 2: Well, we've got a few more days left. I'm actually

29
00:01:29,719 --> 00:01:30,959
up near Brisbane.

30
00:01:31,040 --> 00:01:31,719
Speaker 1: We're in the.

31
00:01:31,680 --> 00:01:34,560
Speaker 2: Gold Coast, an area called kulan Gata, right by the beach.

32
00:01:34,599 --> 00:01:37,079
It's beautiful here. I love the Gold Coast boys.

33
00:01:37,159 --> 00:01:41,159
Speaker 1: It hot holy man. Yeah, all right, So let's start

34
00:01:41,280 --> 00:01:44,680
right off with the year nineteen seventy eight, right, dude,

35
00:01:44,719 --> 00:01:47,640
what do you got? Well, some of the major events.

36
00:01:48,400 --> 00:01:52,480
Harvey Milk was elected the first openly gay person elected

37
00:01:52,480 --> 00:01:56,400
the public office in California, so you know, things are

38
00:01:56,439 --> 00:02:00,200
becoming a little more socially liberal. The Jonestown massacre on

39
00:02:00,239 --> 00:02:04,480
November eighteenth was terrible, crazy. We're nine hundred members of

40
00:02:04,480 --> 00:02:08,080
the People's Temple died in a mass suicide murder in Jonestown, Guyana,

41
00:02:08,240 --> 00:02:12,879
orchestrated by Jimmy Jones in the good News Camp David Accords.

42
00:02:13,719 --> 00:02:17,199
In September, President Jimmy Carter facilitated a peace agreement between

43
00:02:17,240 --> 00:02:22,240
Israel and Egypt. There were some air flight crashes Air

44
00:02:22,360 --> 00:02:27,360
India Flight eight fifty five Boeing seven forty seven coasts

45
00:02:27,719 --> 00:02:30,400
crashed off the coast of Bombay. Two hundred and thirteen

46
00:02:30,439 --> 00:02:36,159
people perished. The northeastern US blizzard of nineteen seventy eight.

47
00:02:37,479 --> 00:02:39,719
You weren't around for this, Richard, because I was on

48
00:02:39,759 --> 00:02:43,560
the West coast territory. Do you remember it? I do

49
00:02:43,840 --> 00:02:49,360
I remember it? So I would have been ten eleven, Yeah,

50
00:02:50,280 --> 00:02:52,800
And we had the day off from school and there

51
00:02:52,879 --> 00:02:55,319
was literally four and a half five feet of snow

52
00:02:56,039 --> 00:02:59,520
right packed up against the door, wow, and all over.

53
00:02:59,759 --> 00:03:04,360
And so my brother and our friend Todd, and I

54
00:03:04,400 --> 00:03:08,960
and Chris Conrandy from down the street, we set up

55
00:03:09,159 --> 00:03:12,120
out to make Skylab, which is what they called it.

56
00:03:12,319 --> 00:03:18,840
Just this huge edifice of snow with snowballs could roll

57
00:03:18,879 --> 00:03:21,240
down and around and everything. We just had a great time,

58
00:03:21,639 --> 00:03:21,960
all right.

59
00:03:22,120 --> 00:03:24,599
Speaker 2: Yeah, sure, And this is right right when Skylab was

60
00:03:25,240 --> 00:03:27,520
going to about to re enter, right, they'd love it

61
00:03:27,560 --> 00:03:28,520
the next year, yep.

62
00:03:28,800 --> 00:03:32,360
Speaker 1: So we were hip little kids even then. The FIFA

63
00:03:32,479 --> 00:03:35,560
World Cup nineteen seventy eight FIFA World Cup was held

64
00:03:35,599 --> 00:03:39,360
in Argentina, with the host nation winning the tournament. Garfield

65
00:03:39,400 --> 00:03:43,319
debuted in the comic strip World Jim Davis made its

66
00:03:43,319 --> 00:03:50,159
first appearance in nineteen seventy eight films Grease, National Lampoon's

67
00:03:50,199 --> 00:03:55,800
Animal House. Of course, those were great. In science, you

68
00:03:55,800 --> 00:03:58,599
can talk about these things. You'll probably talk about the

69
00:03:58,639 --> 00:04:00,520
first human cloning claims.

70
00:04:00,639 --> 00:04:03,080
Speaker 2: Right, yeah, well I'm not going to talk a lot

71
00:04:03,080 --> 00:04:05,800
about it, but yes, that's when those experiments going on.

72
00:04:06,000 --> 00:04:09,639
Speaker 1: Nobel Peace Prize was awarded to Anwar Sadat and monocom

73
00:04:09,639 --> 00:04:11,719
Big and for their efforts in the Camp David Accords.

74
00:04:11,759 --> 00:04:14,879
So what was happening in computing in space.

75
00:04:15,159 --> 00:04:19,519
Speaker 2: Let's do the space stuff first. Last year and seventy seven,

76
00:04:19,639 --> 00:04:22,120
the Shuttle Enterprise was deployed and they were doing their

77
00:04:22,120 --> 00:04:26,519
first captive tests and landing tests. In seventy eight, they

78
00:04:26,600 --> 00:04:30,040
fly the Enterprise by seven forty seven to Alabama going

79
00:04:30,079 --> 00:04:33,360
to do vibration testing for launching. There was the intent

80
00:04:33,480 --> 00:04:36,800
to actually fly Enterprise into space at that time, although,

81
00:04:36,920 --> 00:04:39,399
as we'll find out a couple of years later further on,

82
00:04:39,519 --> 00:04:42,439
there's so many changes that happened from all these tests

83
00:04:42,519 --> 00:04:46,240
that it's too expensive to retrofit Enterprise to be a

84
00:04:46,240 --> 00:04:49,759
flable vehicle. And they'll take an earlier test Article STA

85
00:04:50,079 --> 00:04:53,040
zero nine to nine and that'll and refit in and

86
00:04:53,079 --> 00:04:57,480
it'll become challenger. Otherwise, in space, there was Venus missions

87
00:04:57,480 --> 00:05:01,079
in nineteen seventy eight, both American and so the Pioneer

88
00:05:01,199 --> 00:05:04,839
Venus project launched in May, arise in December. This is

89
00:05:04,879 --> 00:05:08,120
the orbiter, so it actually goes into orbit around Venus

90
00:05:08,680 --> 00:05:12,040
and actually operated until nineteen ninety two doing measurements and

91
00:05:12,079 --> 00:05:14,480
so forth. But there was a second part to it

92
00:05:14,519 --> 00:05:18,279
called the multi Probe, which actually launched later in August,

93
00:05:18,360 --> 00:05:21,480
but arrived earlier because it didn't need to go into orbit,

94
00:05:21,519 --> 00:05:25,000
so it used a higher energy trajectory to get there.

95
00:05:25,160 --> 00:05:27,959
Speaker 1: What did we not know about Venus that we felt

96
00:05:28,000 --> 00:05:30,879
we needed to know by sending those probes.

97
00:05:30,680 --> 00:05:32,439
Speaker 2: We I mean, we didn't have We didn't know the

98
00:05:32,439 --> 00:05:35,040
composition of the atmosphere. We didn't know it all the

99
00:05:35,040 --> 00:05:37,439
way down. That's why putting the landers down to measure

100
00:05:37,560 --> 00:05:40,279
as you went down, we were just trying to figure

101
00:05:40,319 --> 00:05:42,720
out what was going on there, Like even understanding how

102
00:05:42,759 --> 00:05:47,439
hot it was took time. You know, the the blanket

103
00:05:47,439 --> 00:05:51,199
effects of CO two weren't well known yet, so this

104
00:05:51,480 --> 00:05:54,199
was part of you know, the CO two absorbs in

105
00:05:54,279 --> 00:05:57,600
for red light and so that's why it'll concentrate heat.

106
00:05:58,879 --> 00:06:01,319
But also this is like it's down on the surface there,

107
00:06:01,360 --> 00:06:03,879
like what can we see? And so there was a

108
00:06:03,920 --> 00:06:06,000
whole series of missions. They kept going like this is

109
00:06:06,079 --> 00:06:09,000
even the end of it. So on the American side

110
00:06:09,040 --> 00:06:11,879
they put down this multiprobe actually had four probes on it,

111
00:06:11,959 --> 00:06:14,839
a big one that was about seven hundred pounds, called

112
00:06:14,839 --> 00:06:18,319
the Large Probe, cleverly named, and then three small probes

113
00:06:18,360 --> 00:06:20,560
that were all about two hundred pounds. The big one

114
00:06:20,600 --> 00:06:23,439
had a parachute, so it was more like the Venera landers.

115
00:06:23,800 --> 00:06:26,519
It transmitted information for an hour as it was descending

116
00:06:26,639 --> 00:06:29,800
through the atmosphere, but as soon as it impacted the

117
00:06:30,160 --> 00:06:34,519
surface it stopped transmitting. The three small probes were just

118
00:06:34,800 --> 00:06:37,360
arrow shells. They had no parachutes or anything, so they

119
00:06:37,399 --> 00:06:40,759
were free falling granted through a very thick atmosphere. And

120
00:06:40,800 --> 00:06:42,720
one of them, the one they called Day because it

121
00:06:42,800 --> 00:06:46,240
landed on the Day side, Venus continued to function. It

122
00:06:46,439 --> 00:06:50,000
survived the landing and transmitted for over an hour from

123
00:06:50,040 --> 00:06:50,920
the surface.

124
00:06:50,560 --> 00:06:54,160
Speaker 1: So that means there was some kind of solid surface and.

125
00:06:54,360 --> 00:06:58,959
Speaker 2: Without it there is right, it's mostly old volcanic flows.

126
00:07:00,120 --> 00:07:03,600
The Venia missions this were eleven and twelve. So the

127
00:07:03,639 --> 00:07:07,519
Soviets flew to Venus many, many times, and they will continue.

128
00:07:07,600 --> 00:07:10,560
They'll be a thirteen oh fourteen. And so both of

129
00:07:10,600 --> 00:07:13,240
an air missions went off flawlessly. They both landed on

130
00:07:13,360 --> 00:07:18,680
Venus cleanly. Eleven transmitted for ninety five minutes, twelve transmitted

131
00:07:18,680 --> 00:07:20,079
for one hundred and ten. And I'd like to point

132
00:07:20,079 --> 00:07:23,319
out it's not that they only lasted that long. It's

133
00:07:23,360 --> 00:07:26,600
that their transmitters are only so strong, and so the

134
00:07:26,920 --> 00:07:30,199
orbiter has to relay the data back to Earth.

135
00:07:30,319 --> 00:07:32,480
Speaker 1: Oh wow, and it goes.

136
00:07:32,199 --> 00:07:35,199
Speaker 2: Out of range after about an hour and a half,

137
00:07:35,319 --> 00:07:37,920
I see, and then nothing can pick it up anyway,

138
00:07:38,279 --> 00:07:41,759
although generally speaking within it within twenty four hours or

139
00:07:41,759 --> 00:07:43,879
so forth, things are broken from the pressure of the

140
00:07:43,879 --> 00:07:47,439
heat and the amount of sulfuric acid in the atmosphere.

141
00:07:47,600 --> 00:07:50,360
Speaker 1: Yeah, there is that little detail, little detail.

142
00:07:50,959 --> 00:07:54,160
Speaker 2: This is also the year that Sharon, the moon of Pluto,

143
00:07:54,399 --> 00:08:01,279
is identified by some astronomers just looking at it with telescopes.

144
00:08:01,319 --> 00:08:05,079
It's the moon is massive, of course, it's about almost

145
00:08:05,240 --> 00:08:08,240
an eighth the size of Pluto itself, so really really big,

146
00:08:08,759 --> 00:08:11,480
and of course not great resolutions. We wouldn't get a

147
00:08:11,519 --> 00:08:14,199
good picture of Sharon until the new Horizon spacecraft gets

148
00:08:14,199 --> 00:08:20,120
there in twenty fifteen. Science wise, the RSA algorithms that's RIVS,

149
00:08:20,120 --> 00:08:24,720
Shamir and Aldeman is publicly described in nineteen seventy eight.

150
00:08:24,839 --> 00:08:26,920
So that's craz I think we still depend on.

151
00:08:26,839 --> 00:08:28,920
Speaker 1: To this day. Still is it to this day? Yeah?

152
00:08:29,000 --> 00:08:32,440
Speaker 2: And speaking of computing, this is a crazy year for computing.

153
00:08:32,480 --> 00:08:35,960
So this is the introduction of Microsoft's Altair Basic.

154
00:08:36,200 --> 00:08:36,440
Speaker 1: Yeah.

155
00:08:36,519 --> 00:08:38,879
Speaker 2: Right, nineteen seventy seven was when the Altar came out,

156
00:08:38,879 --> 00:08:40,039
but it's now it's fully released.

157
00:08:40,080 --> 00:08:42,080
Speaker 1: Bill Gates through OUTE that right, Yeah, that's right.

158
00:08:42,799 --> 00:08:44,720
Speaker 2: The Apple two distrive, the five and a quarter drive

159
00:08:44,759 --> 00:08:47,240
gets released for the Apple two and they start making

160
00:08:47,279 --> 00:08:50,000
the twoe. The Intel eighty eighty.

161
00:08:49,799 --> 00:08:53,200
Speaker 3: Six processor kind of an important one, yeah, kind of important.

162
00:08:53,639 --> 00:08:57,480
The sixteenth and sixteenth definitive sixteen bit processor. Yeah, here's

163
00:08:57,480 --> 00:08:59,679
when you don't know the Intel twenty eight to sixteen.

164
00:09:00,080 --> 00:09:06,639
Twenty eight sixteen the first electronically reirasable and reprogrammable ROM.

165
00:09:06,759 --> 00:09:07,320
Speaker 1: Wow.

166
00:09:07,600 --> 00:09:10,559
Speaker 2: So up until then when you when we finally made ROM,

167
00:09:10,600 --> 00:09:12,720
they had to be erased by UV light, so you

168
00:09:12,759 --> 00:09:15,240
would take the chip out of the computer, you would

169
00:09:15,279 --> 00:09:17,120
shine a bright UV light on it to erase it,

170
00:09:17,200 --> 00:09:19,039
and then you'd reprogram it and put it back in

171
00:09:19,080 --> 00:09:23,240
the machine. This was an electronically reprogrammable one E PROM Yeah.

172
00:09:23,399 --> 00:09:26,559
The first e proms. Carter also brought the first computer

173
00:09:26,600 --> 00:09:30,200
into the White House, was in HB three thousand, the

174
00:09:30,200 --> 00:09:34,159
introduction of laser disc Oh yeah, I remember those, remember the.

175
00:09:34,080 --> 00:09:37,039
Speaker 1: Big laser discs. Yeah, and you know what its original

176
00:09:37,080 --> 00:09:37,360
name was.

177
00:09:37,399 --> 00:09:39,320
Speaker 2: You're gonna love this because it is nineteen seventy eight

178
00:09:39,720 --> 00:09:40,639
disco vision.

179
00:09:41,159 --> 00:09:47,080
Speaker 1: Oh no, no, And the first and the first disc

180
00:09:47,159 --> 00:09:49,879
released is Jaws. Yeah, that makes sense.

181
00:09:50,120 --> 00:09:54,679
Speaker 2: Yeah, I want to talk the word Star for CPM. Okay,

182
00:09:54,720 --> 00:09:58,039
that's what it comes out, and it doesn't become super popular,

183
00:09:58,080 --> 00:10:01,240
then it'll become super popular in nineteen eighty one because

184
00:10:01,320 --> 00:10:04,360
word Star cuts a deal with the Osbourne people to

185
00:10:04,440 --> 00:10:07,679
bundle it with the Osbourne one bundling even back then,

186
00:10:07,840 --> 00:10:11,200
Wow and the deck vacks eleven seven eighty And I

187
00:10:11,240 --> 00:10:13,440
wouldn't normally talk who a lot about an individual computer,

188
00:10:13,720 --> 00:10:15,679
but there's so much of the architecture of this machine,

189
00:10:15,679 --> 00:10:17,480
even though it was a mini computer, that sort of

190
00:10:17,519 --> 00:10:22,639
describes how PCs will be built going forward, because it

191
00:10:23,759 --> 00:10:26,519
was really they really worked hard on the instruction set

192
00:10:26,559 --> 00:10:30,279
to maintain backward compatibility so that newer models could build

193
00:10:30,279 --> 00:10:33,039
on the same instruction set pretty much indefinitely. And much

194
00:10:33,039 --> 00:10:35,159
as that machine didn't survive long term, although it was

195
00:10:35,200 --> 00:10:37,919
a phenomenal machine in its era, it really sort of

196
00:10:37,960 --> 00:10:42,519
outlined the ideas of maintaining backward compatibility for better or worse. Yeah,

197
00:10:42,600 --> 00:10:46,080
one last item. This is when Vince Surf and his

198
00:10:46,240 --> 00:10:49,120
team define and test TCPIP.

199
00:10:49,519 --> 00:10:49,799
Speaker 1: Yeah.

200
00:10:50,000 --> 00:10:52,360
Speaker 2: Wow, the stuff we're using right now as we make

201
00:10:52,360 --> 00:10:53,840
this show nineteen seventy eight.

202
00:10:53,759 --> 00:10:58,919
Speaker 1: The TCPIP stack. That's it's the holy grail of computing

203
00:10:59,120 --> 00:11:00,440
communication back then.

204
00:11:00,600 --> 00:11:02,639
Speaker 2: Yeah, and UDP as well. It was all part of

205
00:11:02,639 --> 00:11:05,559
the definition. UNIP is part of the stack. Yeah, and

206
00:11:05,600 --> 00:11:09,120
that's we're using UDP now obviously. Yeah, we do what

207
00:11:09,120 --> 00:11:10,559
we're doing wicked fast.

208
00:11:10,639 --> 00:11:15,240
Speaker 1: All right, Well, uh, what's next? I think we do better?

209
00:11:15,240 --> 00:11:17,679
No framework, right, let's do it. Let's do it. Roll

210
00:11:17,679 --> 00:11:26,759
the music all right, man, what do you go? You're

211
00:11:26,759 --> 00:11:29,919
in Australia right now. I am Our friend Simon Crop

212
00:11:30,120 --> 00:11:33,440
is from Australia and he's up to something else. Now

213
00:11:33,759 --> 00:11:38,639
it's often is yeah, this is uh, he just posts

214
00:11:38,639 --> 00:11:41,879
in our Slack channel. Hey, I wrote a source generator.

215
00:11:42,399 --> 00:11:46,840
Oh cool, of course you did, said, that was my reply. Yeah.

216
00:11:46,919 --> 00:11:49,639
So this is called project files source generator. It's a

217
00:11:49,679 --> 00:11:54,200
C sharp source generator that provides strongly typed compile time

218
00:11:54,320 --> 00:11:59,120
access to project files marked with copied output directory in

219
00:11:59,159 --> 00:12:04,000
the CS projectile. Wow. So a type safe API for

220
00:12:04,120 --> 00:12:07,480
accessing files that are copied to the project's output directory,

221
00:12:07,840 --> 00:12:13,279
eliminating magic strings, and providing intelligence and support for filepaths. Cool.

222
00:12:13,279 --> 00:12:15,639
Now you might think that this is oh yeah, that's

223
00:12:15,720 --> 00:12:18,440
kind of a neat feature. But you know, the more

224
00:12:18,480 --> 00:12:22,120
I dug into the documentation here, the more you know

225
00:12:22,320 --> 00:12:25,200
he highlights these features, and you're like, oh, how could

226
00:12:25,240 --> 00:12:28,600
I have you know, lived without these strongly typed access

227
00:12:28,600 --> 00:12:32,200
to project files. Right? That means you know this dot

228
00:12:32,240 --> 00:12:36,279
dot dot file name compile time safety, so typos and

229
00:12:36,279 --> 00:12:40,279
filepass become compilation errors. I love it. Intel Sense support

230
00:12:40,759 --> 00:12:45,679
so you can discover available files through ID autocomplete. Automatic

231
00:12:45,720 --> 00:12:50,360
synchronization regenerates when project files change, which is a great

232
00:12:50,399 --> 00:12:55,039
feature of a cogenerator. Hierarchical structure that mirrors the project's

233
00:12:55,039 --> 00:13:01,000
directory structure. Support for the glob pattern including star star,

234
00:13:01,080 --> 00:13:05,480
recursive patterns. Smart naming converts file directory names to valid

235
00:13:05,480 --> 00:13:09,720
see sharp identifiers, so you know, file names with a

236
00:13:09,759 --> 00:13:12,320
space in the middle, that kind of stuff get converted

237
00:13:12,399 --> 00:13:16,759
to a dash or whatever you say. Just really smart

238
00:13:16,799 --> 00:13:21,480
thinking about source generation. Yeah, so there you go. Hats

239
00:13:21,480 --> 00:13:23,039
off to Simon as usual.

240
00:13:23,080 --> 00:13:26,840
Speaker 2: And you know, I've been calling LM's lately source generators too,

241
00:13:27,000 --> 00:13:28,080
just re entrant.

242
00:13:27,759 --> 00:13:29,840
Speaker 1: Ones, yeah, and nondeterminist there.

243
00:13:29,919 --> 00:13:32,840
Speaker 2: Yeah, but it's interesting to see a proper source generator,

244
00:13:33,120 --> 00:13:34,559
you know, in this day and age as well.

245
00:13:34,639 --> 00:13:36,720
Speaker 1: Yeah, it's good on ya, Simon. Yeah, cool stuff.

246
00:13:36,720 --> 00:13:38,399
Speaker 2: Who's talking to us today? Richard and I grab a

247
00:13:38,399 --> 00:13:40,679
comment top of show nineteen seventy four. That's one we

248
00:13:40,679 --> 00:13:43,279
did with Den Delamarski or we talked about kid hubspec

249
00:13:43,360 --> 00:13:46,480
Kid because you know, all the AI.

250
00:13:46,519 --> 00:13:49,399
Speaker 1: I realized there's so much we didn't talk to Dan

251
00:13:49,480 --> 00:13:51,720
about that we could have. We could have gone on

252
00:13:51,799 --> 00:13:53,200
for another hour at least.

253
00:13:53,039 --> 00:13:56,120
Speaker 2: Easily, and it probably you know, and we're likely going

254
00:13:56,120 --> 00:13:58,919
to maybe not with Den, but you know, one of

255
00:13:58,919 --> 00:14:00,519
the things I've been doing on this tour talking to

256
00:14:00,519 --> 00:14:03,240
a lot of different developers about how their development workflows

257
00:14:03,240 --> 00:14:06,759
are changing using these new tools and just thinking large scale.

258
00:14:07,919 --> 00:14:09,759
This comment comes from Brad who said during the episode

259
00:14:09,759 --> 00:14:12,399
of the State of the developers will become shepherds of AI.

260
00:14:12,759 --> 00:14:15,320
Speaker 1: Love the term. My question is that these.

261
00:14:15,200 --> 00:14:17,519
Speaker 2: Companies don't hire younger developers to learn who will shepherd

262
00:14:17,559 --> 00:14:20,279
the AI when the current developers retire or leave. And

263
00:14:20,320 --> 00:14:23,200
I think Rad's referring to this idea that we don't

264
00:14:23,240 --> 00:14:26,200
need junior developers anymore because the llms are going to

265
00:14:26,240 --> 00:14:28,279
do it, which I think is passed for how long.

266
00:14:28,320 --> 00:14:31,200
I think it's patently false. Yeah, right, Like it's just

267
00:14:31,360 --> 00:14:34,399
not the case. I think what junior developers need to

268
00:14:34,480 --> 00:14:37,120
know and what every developer needs to know is starting

269
00:14:37,159 --> 00:14:41,080
to change with these tools, and arguably the junior developers

270
00:14:41,120 --> 00:14:43,799
will be more responsive to this because you know, in

271
00:14:43,840 --> 00:14:46,240
the end, our job wasn't the right code. It was

272
00:14:46,279 --> 00:14:52,279
to provide solutions to customers. And we've been teaching junior developers, well,

273
00:14:52,279 --> 00:14:54,960
that's you do that by writing code, and I think

274
00:14:55,000 --> 00:14:57,039
we're just gonna be teaching them something different, you know,

275
00:14:57,399 --> 00:14:59,399
as these new tools start to merge. It's it's pretty

276
00:14:59,480 --> 00:15:02,480
raw stuff, but it's a great shocking point about what

277
00:15:02,679 --> 00:15:06,240
the life cycle a developer looks like with these tools. Yeah,

278
00:15:06,399 --> 00:15:09,440
involved as well, right, and and who you know what

279
00:15:09,519 --> 00:15:13,679
it really means to shepherd AI going forward and just

280
00:15:13,679 --> 00:15:15,559
want to talk about here. I'll leave it for the show.

281
00:15:15,600 --> 00:15:15,840
Speaker 1: Brad.

282
00:15:15,840 --> 00:15:17,399
Speaker 2: Thank you so much for your comment, and a copy

283
00:15:17,399 --> 00:15:18,759
of Music go By is on its way to you.

284
00:15:18,799 --> 00:15:20,639
If you'd like a copy of Music go Buy, write

285
00:15:20,639 --> 00:15:23,000
a comment on the website at dot NetRocks dot com

286
00:15:23,480 --> 00:15:25,360
or on the facebooks. We publish every show there and

287
00:15:25,399 --> 00:15:26,600
if you comment there and a read on the show,

288
00:15:26,639 --> 00:15:27,919
we'll send you copy Music go By.

289
00:15:28,039 --> 00:15:30,159
Speaker 1: I told you that I've been working on the next

290
00:15:30,279 --> 00:15:32,399
version of Music to code By, the next track, right,

291
00:15:32,600 --> 00:15:35,120
mm hmm. Yeah, so it's pretty good. I think I

292
00:15:35,159 --> 00:15:36,960
sent you a little sample. I think you have and

293
00:15:37,000 --> 00:15:38,799
I don't know that I've had a chance to open it.

294
00:15:38,879 --> 00:15:42,080
Traveling hither and you're on right now? Yeah, yeah, okay, Yeah,

295
00:15:42,120 --> 00:15:44,279
it's pretty cool. It's different, you know, And that's the

296
00:15:44,600 --> 00:15:46,159
that's the thing. I try to make every track a

297
00:15:46,200 --> 00:15:48,879
little bit different because well, you know, you're a bit older,

298
00:15:48,879 --> 00:15:52,080
you want to switch it up. I think you're you know,

299
00:15:52,159 --> 00:15:53,799
you've been doing this for a while, Fred, so I

300
00:15:53,919 --> 00:15:56,279
mentioned things have changed, you know, yeah, and waiting your

301
00:15:56,279 --> 00:15:58,639
approach sure, I'll give it a listen music to co

302
00:15:58,799 --> 00:16:00,639
by dot net if you want to get those tracks,

303
00:16:00,679 --> 00:16:04,200
twenty three of them to be exact in waveflak or

304
00:16:04,240 --> 00:16:08,399
in MP three format. Okay, so let's bring back Tom Karkov.

305
00:16:09,080 --> 00:16:12,679
He's been on the show several times. Tom's a senior

306
00:16:12,720 --> 00:16:16,159
software engineer at Microsoft working on the data plane for

307
00:16:16,279 --> 00:16:21,759
Azure API Management, helping customers successfully scale their API landscapes.

308
00:16:22,399 --> 00:16:25,360
He has been working in the cloud native space for

309
00:16:25,399 --> 00:16:28,559
more than seven years. As of now, auto scaling is

310
00:16:28,600 --> 00:16:33,360
in his DNA and is an alumni maintainer of Kubernet's

311
00:16:33,480 --> 00:16:39,559
Event Driven Auto Scaling or KEDA kDa. Then that's a

312
00:16:39,559 --> 00:16:45,039
CNCF graduation project that makes application auto scaling on Kubernetes

313
00:16:45,519 --> 00:16:49,759
dead simple. Prior to joining Microsoft, Tom was recognized as

314
00:16:49,759 --> 00:16:53,600
a Microsoft Azure MVP an advisor from twenty fourteen to

315
00:16:53,639 --> 00:16:57,279
twenty twenty one, a CNCF Ambassador from twenty twenty to

316
00:16:57,279 --> 00:16:59,840
twenty twenty three, and was one of the first gid

317
00:17:00,080 --> 00:17:04,200
up stars. He is famous for turning coffee into scalable

318
00:17:04,279 --> 00:17:08,160
and secure cloud systems and writes about his adventures on

319
00:17:08,240 --> 00:17:13,000
blog dot Tom Karkov be and That's k e r

320
00:17:13,359 --> 00:17:16,559
K h O V E. Welcome back, Tom, Thank you

321
00:17:16,640 --> 00:17:18,759
very much for having me. You bet good to have

322
00:17:18,799 --> 00:17:19,039
you back.

323
00:17:19,079 --> 00:17:20,359
Speaker 4: Friend, always fun.

324
00:17:20,480 --> 00:17:22,279
Speaker 1: Any comments on anything you've heard so far.

325
00:17:23,519 --> 00:17:28,000
Speaker 4: Yeah, AI definitely is changing things. It's also making it

326
00:17:28,119 --> 00:17:34,319
easier to learn and to explore. And also I had

327
00:17:34,359 --> 00:17:36,799
a small accident a half a year ago, so it

328
00:17:36,920 --> 00:17:40,640
was not really able to type with one hand.

329
00:17:40,759 --> 00:17:41,839
Speaker 1: Oh no, But it was.

330
00:17:42,039 --> 00:17:46,960
Speaker 4: Interesting to see how you can use AI or good

331
00:17:47,000 --> 00:17:51,240
old speech to text and how powerful it is nowadays

332
00:17:51,279 --> 00:17:52,480
to help you mind blowing.

333
00:17:52,559 --> 00:17:53,400
Speaker 1: Are you all recovered?

334
00:17:53,799 --> 00:17:54,160
Speaker 4: Semi?

335
00:17:54,400 --> 00:17:54,480
Speaker 1: So?

336
00:17:54,640 --> 00:17:58,160
Speaker 4: I can move almost my finger a bit, but not

337
00:17:58,319 --> 00:18:02,319
fully so pressing control is a bit hard, but there's

338
00:18:02,319 --> 00:18:03,319
more things in life.

339
00:18:03,440 --> 00:18:04,480
Speaker 1: Do you play an instrument?

340
00:18:05,119 --> 00:18:05,599
Speaker 4: Thankfully?

341
00:18:05,680 --> 00:18:10,839
Speaker 1: Not thankfully, but you could always play the kazoo.

342
00:18:13,759 --> 00:18:17,519
Speaker 4: My wife does not approve, but.

343
00:18:17,599 --> 00:18:19,359
Speaker 1: I appreciate that you started.

344
00:18:19,720 --> 00:18:22,640
Speaker 2: You'd use this as an opportunity experiment with the voice interfaces,

345
00:18:22,640 --> 00:18:24,279
so you're writing code by voice.

346
00:18:24,440 --> 00:18:27,279
Speaker 4: So I used to use a speech to text to

347
00:18:27,319 --> 00:18:30,839
write my emails and it didn't make any mistakes, so

348
00:18:30,880 --> 00:18:33,720
that was very interesting. I tried to use Copilot and

349
00:18:33,839 --> 00:18:37,039
Visual Studio back then, but there was no voice option,

350
00:18:37,279 --> 00:18:39,599
but VIAS code had it back in the day, so

351
00:18:39,640 --> 00:18:42,839
I just gave it prompts to a voice. And it

352
00:18:42,880 --> 00:18:46,880
also made me realize how important it is to think

353
00:18:46,920 --> 00:18:49,799
about these kind of features so that everybody can use

354
00:18:49,799 --> 00:18:50,440
these tools.

355
00:18:50,599 --> 00:18:53,319
Speaker 2: Yeah, you're going to be an accessibility advocate now I

356
00:18:53,319 --> 00:18:55,319
think you've had You've now had the pain.

357
00:18:55,519 --> 00:18:58,680
Speaker 1: Yes, yes, that's really interesting.

358
00:18:58,920 --> 00:19:00,720
Speaker 4: Now I know how it is to be able to

359
00:19:00,759 --> 00:19:02,720
do it. So that was interesting.

360
00:19:02,960 --> 00:19:07,759
Speaker 2: Yeah, we we. I think we three value our hands

361
00:19:07,799 --> 00:19:10,400
just about more than anything. Yes, like you think about

362
00:19:10,480 --> 00:19:12,799
what we do all day. My god, I need my

363
00:19:12,880 --> 00:19:14,799
hands exactly totally.

364
00:19:14,920 --> 00:19:15,799
Speaker 1: Yeah.

365
00:19:15,839 --> 00:19:19,440
Speaker 2: But even been the API guy for forever, right, and

366
00:19:19,880 --> 00:19:22,079
I only see that as getting more Importantase. I can't

367
00:19:22,079 --> 00:19:24,240
tell you how many times we have this conversation about

368
00:19:24,359 --> 00:19:26,599
if you're not using as your API management, you're making

369
00:19:26,599 --> 00:19:29,759
a mistake, like you expose that API to the world.

370
00:19:30,039 --> 00:19:32,240
There's all kinds of punishing things that are going to

371
00:19:32,279 --> 00:19:34,680
happen to you unless you have a tool you know

372
00:19:34,799 --> 00:19:35,920
meant for that problem.

373
00:19:36,119 --> 00:19:40,039
Speaker 4: Yes, clearly I'm biased, but before I joined Microsoft, I

374
00:19:40,200 --> 00:19:42,440
was a consultant and it was kind of one of

375
00:19:42,440 --> 00:19:47,079
the default tools in my tool chain because sometimes people think, oh,

376
00:19:47,160 --> 00:19:50,359
I don't need this, but later on they would notice that,

377
00:19:50,400 --> 00:19:52,559
oh I could have used it, but now it's not

378
00:19:52,680 --> 00:19:55,119
in place, so now it's a problem to shove it in.

379
00:19:55,440 --> 00:19:59,200
Is it challenging to retrofit and theory? No, but like

380
00:19:59,319 --> 00:20:01,559
you need to talk to different endpoints. If you don't

381
00:20:01,559 --> 00:20:04,559
have DNS properly set up, that's kind of breaking change

382
00:20:04,559 --> 00:20:07,640
for your customers, et cetera, et cetera. So if you

383
00:20:07,680 --> 00:20:10,920
don't think about those things upfront, that can be problematic.

384
00:20:11,640 --> 00:20:14,400
But yeah, I agree. It helps you govern all your

385
00:20:14,480 --> 00:20:18,880
APIs and to secure them and keep things under control,

386
00:20:19,480 --> 00:20:23,400
which is usually a problem if you're growing like fast

387
00:20:23,400 --> 00:20:24,119
as a company.

388
00:20:24,200 --> 00:20:26,480
Speaker 1: Yeah, for sure. Some things people don't think of when

389
00:20:26,480 --> 00:20:29,759
they expose an API layer is denial of service attacks

390
00:20:29,839 --> 00:20:33,359
against your API. Yes, you know, because if you have

391
00:20:33,400 --> 00:20:35,759
an endpoint out there that's answering the door no matter

392
00:20:35,799 --> 00:20:38,160
who comes to the door, and an army shows up,

393
00:20:38,359 --> 00:20:39,400
you've got a problem.

394
00:20:39,480 --> 00:20:42,519
Speaker 4: Yeaheah, it's fine until it isn't. Yeah, then go figure

395
00:20:42,519 --> 00:20:44,519
out how to solve it. If you don't have a

396
00:20:44,559 --> 00:20:45,359
solution like this.

397
00:20:45,599 --> 00:20:48,640
Speaker 1: Even when that DDoS attack is an over diligent developer

398
00:20:48,680 --> 00:20:50,720
who's written some bad software.

399
00:20:51,960 --> 00:20:55,440
Speaker 4: Oh well, I've seen things before I joined, Like people

400
00:20:56,319 --> 00:20:58,799
get to know what a health endpoint is, so they

401
00:20:59,519 --> 00:21:02,519
eagerly start adopting it and then they create their own

402
00:21:02,640 --> 00:21:06,839
videos attack and they cannot turn it off, so they

403
00:21:06,839 --> 00:21:09,799
need to figure out which machinef to shut down to

404
00:21:09,839 --> 00:21:11,480
avoid bringing their customers down.

405
00:21:12,640 --> 00:21:14,599
Speaker 2: That's an interesting one and that's one of the things

406
00:21:14,599 --> 00:21:16,279
that as your API is really good for is that

407
00:21:16,319 --> 00:21:19,839
you can hey, take that one out. You know, in fact,

408
00:21:19,880 --> 00:21:22,400
you can set you set a policy places it's over there,

409
00:21:22,519 --> 00:21:23,839
just shut that one off and let me know.

410
00:21:24,359 --> 00:21:24,559
Speaker 1: Yeah.

411
00:21:24,680 --> 00:21:28,519
Speaker 4: Ballacies are a great way to rate limit at a

412
00:21:28,640 --> 00:21:34,640
validation of the payloads at security logging, KPI tracking, et cetera.

413
00:21:35,480 --> 00:21:38,880
And the second thing we have is like API analytics.

414
00:21:38,920 --> 00:21:41,519
So if you were to have one customer that's very

415
00:21:41,519 --> 00:21:44,279
aggressive and you need to figure out like who is it,

416
00:21:44,720 --> 00:21:48,680
that report would basically tell you, oh, it's Richard or Carl,

417
00:21:49,119 --> 00:21:51,799
we need to reach out or probably make access.

418
00:21:54,920 --> 00:21:55,119
Speaker 1: Yeah.

419
00:21:55,160 --> 00:21:58,599
Speaker 4: So and now we have as of built I think

420
00:21:58,680 --> 00:22:01,680
last year, we have an AI gateway and that one

421
00:22:01,720 --> 00:22:04,240
is getting a lot of traction. So you can also

422
00:22:04,279 --> 00:22:08,839
put it in front of your AI models and workloads.

423
00:22:09,000 --> 00:22:13,400
Speaker 1: You mean, if you have exposed an ll M via

424
00:22:13,440 --> 00:22:16,440
an endpoint. Why would you do that?

425
00:22:16,599 --> 00:22:20,519
Speaker 4: Yeah? For example, if you have asure open AI, but

426
00:22:21,200 --> 00:22:23,960
you need to kind of rate limit the tokens for

427
00:22:24,079 --> 00:22:28,440
that service or balance across accounts, you can now do

428
00:22:28,519 --> 00:22:30,319
that through our gateway as well.

429
00:22:30,400 --> 00:22:32,240
Speaker 1: So there's still security there.

430
00:22:32,640 --> 00:22:38,440
Speaker 4: Yes, there's security. There's rate limiting, monitoring, et cetera. So

431
00:22:38,559 --> 00:22:41,680
that's growing a lot as well. So, like I can imagine,

432
00:22:41,960 --> 00:22:45,000
we keep joking we used to be an API gateway,

433
00:22:45,400 --> 00:22:48,400
but now the piece between brackets because we're also in

434
00:22:48,519 --> 00:22:49,680
AI gateway Now.

435
00:22:50,000 --> 00:22:52,599
Speaker 2: Yeah, I mean it's just a subsection in the documentation

436
00:22:52,920 --> 00:22:56,359
for the Azure API management but it's I bet it's

437
00:22:56,400 --> 00:22:58,359
got a lot of demand on it right now. Lots

438
00:22:58,359 --> 00:23:01,000
of people are trying to figure out what the product

439
00:23:01,039 --> 00:23:01,359
is here.

440
00:23:01,599 --> 00:23:05,119
Speaker 4: Yeah, it's it's been fun lately. I wouldn't say quiet,

441
00:23:05,160 --> 00:23:06,000
but interesting.

442
00:23:06,400 --> 00:23:07,960
Speaker 1: Interesting, we've been busy.

443
00:23:08,119 --> 00:23:12,079
Speaker 2: What I mean, what makes the is the the tricky

444
00:23:12,119 --> 00:23:15,440
part of the AI gateway. Now you're measuring tokens like that,

445
00:23:15,440 --> 00:23:17,480
that's the issue. I want to rate limit on tokens?

446
00:23:17,920 --> 00:23:23,440
Speaker 4: Yes, correct, Yeah, so measuring tokens uh to rate limit

447
00:23:23,519 --> 00:23:26,359
but also kind of have metrics. Who's using how many

448
00:23:26,440 --> 00:23:30,000
tokens were to have those insights, Yeah.

449
00:23:29,839 --> 00:23:31,640
Speaker 2: All the same things I want when with my a

450
00:23:31,759 --> 00:23:34,680
PI utilization it's like, you know, this person is making

451
00:23:35,119 --> 00:23:38,319
x many calls per second, or yes, they're doing the

452
00:23:38,319 --> 00:23:40,960
most expensive calls like that, that kind of thing, just

453
00:23:41,000 --> 00:23:44,319
sort of having that shape of what the utilization looks

454
00:23:44,359 --> 00:23:49,079
like per customer exactly. Yea, yeah, all right, because yeah,

455
00:23:49,119 --> 00:23:51,839
if you're if you're if those tokens roll uphill and

456
00:23:51,880 --> 00:23:54,400
you're paying for them and then you know, flat rating

457
00:23:54,400 --> 00:23:56,079
to the customer, this is a good way to bankrupt

458
00:23:56,079 --> 00:23:58,160
your company a big old hurry exactly.

459
00:23:58,559 --> 00:24:01,319
Speaker 4: So that's that's why we try to help protect yourself

460
00:24:01,359 --> 00:24:03,319
from running out of money.

461
00:24:03,400 --> 00:24:05,480
Speaker 2: Yeah, finding out all of a sudden you yeah, I

462
00:24:05,480 --> 00:24:07,240
don't think. I think, yeah, I suddenly get a big

463
00:24:07,279 --> 00:24:08,880
bill at the end of the month. It's like, guess

464
00:24:09,039 --> 00:24:10,599
what your customers did.

465
00:24:13,240 --> 00:24:17,240
Speaker 1: Exactly. That's what probably also a good place to log

466
00:24:17,359 --> 00:24:19,799
the prompts, right, Yes, so you can do that. You

467
00:24:19,799 --> 00:24:22,000
could say, hey, we ran out of token, so let

468
00:24:22,039 --> 00:24:25,319
me see what everybody's sending, and then they're like, you know,

469
00:24:25,359 --> 00:24:30,200
what's the nearest burger king or whatever, Hey, you don't

470
00:24:30,319 --> 00:24:31,240
use it for that.

471
00:24:31,279 --> 00:24:33,799
Speaker 4: Or how often do people say thank you?

472
00:24:34,640 --> 00:24:37,200
Speaker 1: Yeah? Right. There was a whole article about how much

473
00:24:37,240 --> 00:24:39,039
thank you was costing in tokens.

474
00:24:39,319 --> 00:24:42,119
Speaker 4: Yes, it's burning a lot of compute just to process

475
00:24:42,200 --> 00:24:45,680
thank you, which is being polite in case the robots

476
00:24:46,880 --> 00:24:47,759
start to wake up.

477
00:24:47,880 --> 00:24:51,559
Speaker 1: But I don't know money. I think it helps us

478
00:24:51,680 --> 00:24:53,640
when we're polite to the models.

479
00:24:53,759 --> 00:24:55,640
Speaker 2: Yes, I got it. I got to tell you. I've

480
00:24:55,720 --> 00:25:00,519
read some prompt chains for coding where it's like, dude,

481
00:25:00,519 --> 00:25:03,759
if this wasn't software, this is an HR violation. Why

482
00:25:03,799 --> 00:25:08,000
are you communicating to this tool so obnoxiously?

483
00:25:08,480 --> 00:25:13,839
Speaker 1: Yeah? Right, I told you that. My My wife's favorite

484
00:25:13,880 --> 00:25:16,400
thing to tell she who starts with a you know,

485
00:25:16,480 --> 00:25:22,559
the echo, but is shut up, not stop. She just

486
00:25:22,599 --> 00:25:26,559
says shut up and it and it works makes her

487
00:25:26,559 --> 00:25:27,680
feel good. I guess.

488
00:25:27,839 --> 00:25:28,160
Speaker 4: I don't know.

489
00:25:29,400 --> 00:25:29,759
Speaker 1: Google.

490
00:25:30,000 --> 00:25:33,720
Speaker 4: Google responds interesting. So once was an in traffic jam

491
00:25:33,759 --> 00:25:36,279
and then Google asked me how can I help you?

492
00:25:36,359 --> 00:25:40,519
And I said, oh, go away, like not so politely,

493
00:25:40,559 --> 00:25:42,640
and it said, oh, I know I'm not a human,

494
00:25:42,720 --> 00:25:43,599
but you still need.

495
00:25:43,480 --> 00:25:45,319
Speaker 1: To be polite, but be nice.

496
00:25:45,799 --> 00:25:48,279
Speaker 4: It's like there was like, okay, interesting, good point.

497
00:25:48,480 --> 00:25:52,519
Speaker 1: Yeah do I do? I? Well, like I said, I

498
00:25:52,519 --> 00:25:56,200
think it makes us humans feel better about ourselves when

499
00:25:56,200 --> 00:25:58,599
we're just polite as a habit. I agree. Yeah, No,

500
00:25:58,720 --> 00:26:03,519
I think that, you know, negativity is contagious, Yes, you know, ye,

501
00:26:03,720 --> 00:26:05,599
and so I think think it's a thing.

502
00:26:06,640 --> 00:26:09,400
Speaker 4: I guess it comes. It will also improve you, Like,

503
00:26:10,160 --> 00:26:13,519
these agents work better the more context you give it,

504
00:26:13,599 --> 00:26:16,680
and if you're more polite, you will naturally give more

505
00:26:16,759 --> 00:26:20,359
context and explain more rather than being rude. That's not

506
00:26:20,519 --> 00:26:21,759
going to be useful anyway.

507
00:26:21,920 --> 00:26:25,759
Speaker 2: Yeah, route tends to be terse where politeness tends to

508
00:26:25,759 --> 00:26:28,880
be more or moose, and that additional information should get

509
00:26:28,880 --> 00:26:32,839
better results exactly. Yeah, that's an interesting point on that

510
00:26:32,920 --> 00:26:35,640
as well. It's just like, hey, it makes the room nicer. Sure,

511
00:26:35,759 --> 00:26:37,960
I'm just thinking about a bullpen of developers, you know,

512
00:26:38,079 --> 00:26:41,240
a dozen people working together and they're all cursing at

513
00:26:41,279 --> 00:26:42,920
software at the same time.

514
00:26:44,400 --> 00:26:45,839
Speaker 1: What kind of room is that. I don't know if

515
00:26:45,880 --> 00:26:48,319
I want that room, I want a better room than that.

516
00:26:48,319 --> 00:26:50,440
Speaker 4: That's why they invented the term war room.

517
00:26:50,599 --> 00:26:56,359
Speaker 5: Yeah, yeah, well there is, there are real war rooms,

518
00:26:57,400 --> 00:26:59,920
you know, and I think I think we just borrow

519
00:27:00,079 --> 00:27:01,720
that in software from the military.

520
00:27:02,279 --> 00:27:04,559
Speaker 1: We had a warm room at a place that I

521
00:27:04,599 --> 00:27:09,960
worked in California in the nineties. It was before Carl

522
00:27:10,000 --> 00:27:14,240
and Gary's went up. So, but it was my idea.

523
00:27:14,559 --> 00:27:17,440
It was this is a really weird experience. I basically said, hey,

524
00:27:18,000 --> 00:27:21,359
let's make this extra office that nobody's using the warm room,

525
00:27:21,640 --> 00:27:24,640
and if somebody has a problem, you go in there

526
00:27:25,000 --> 00:27:27,680
and try to solve it with them, and you know,

527
00:27:27,880 --> 00:27:29,680
shut the door, and then when you come out, you

528
00:27:29,680 --> 00:27:32,160
don't come out until you have a solution. So one

529
00:27:32,279 --> 00:27:36,640
developer said, Okay, Carl, let's go into the warm room.

530
00:27:36,799 --> 00:27:39,200
I have a problem. I said, what, And he goes,

531
00:27:39,599 --> 00:27:50,359
do you have an agenda? Like what? Oh? Man, that's weird.

532
00:27:51,519 --> 00:27:53,319
Be careful what you ask for. Yeah, I know.

533
00:27:53,519 --> 00:27:57,119
Speaker 2: And nothing's free, man, it comes to consequences the case.

534
00:27:57,480 --> 00:28:00,599
Speaker 1: Yeah, why don't we take a break? Yeah, that's good idea.

535
00:28:01,279 --> 00:28:03,920
So we'll be right back after these very important messages.

536
00:28:06,119 --> 00:28:08,799
Did you know that you can work with AWS directly

537
00:28:08,880 --> 00:28:14,000
from your ide AWS provides toolkits for Visual Studio, Visual

538
00:28:14,039 --> 00:28:18,680
Studio code, and jet brainswrider. Learn more at AWS dot

539
00:28:18,720 --> 00:28:25,000
Amazon dot com, slash net slash tools. Hey Carl, here,

540
00:28:25,440 --> 00:28:28,680
you probably know. Text Control is a powerful library for

541
00:28:28,799 --> 00:28:32,599
document editing and PDF generation. But did you know they're

542
00:28:32,640 --> 00:28:36,160
also a strong supporter of the developer community. It's part

543
00:28:36,160 --> 00:28:39,119
of their mission to build and support a strong developer

544
00:28:39,160 --> 00:28:43,519
community by being present, listening to users, and sharing knowledge

545
00:28:43,519 --> 00:28:47,279
at conferences across Europe and the United States. So if

546
00:28:47,319 --> 00:28:50,640
you're heading to a conference soon, check if text Control

547
00:28:50,720 --> 00:28:53,400
will be there and stop buy to say hi. You

548
00:28:53,440 --> 00:28:58,400
can find their full conference calendar at dubdbdb dot textcontrol

549
00:28:58,480 --> 00:29:00,799
dot com and make sure you we thank them for

550
00:29:00,839 --> 00:29:05,400
supporting dot net Rocks. Now we're back. It's on at

551
00:29:05,480 --> 00:29:07,480
Rocks Amateur Campbell. It's called Franklin.

552
00:29:07,599 --> 00:29:10,640
Speaker 2: Hey, talking to our friend Tom, who spends part of

553
00:29:10,640 --> 00:29:13,559
his life in API management. But now you're more focused

554
00:29:13,559 --> 00:29:17,720
on sustainability. But I guess API managements about sustainability as well, right.

555
00:29:17,559 --> 00:29:22,119
Speaker 4: Yeah, So we've been spending some time on this because,

556
00:29:22,240 --> 00:29:25,720
like we just mentioned, like we front all these APIs

557
00:29:25,759 --> 00:29:28,960
and now these AI models as well, and we kind

558
00:29:28,960 --> 00:29:33,640
of have a good position to help customers who want

559
00:29:33,720 --> 00:29:39,839
to reduce their emissions. Interesting, like, we're at the heart

560
00:29:39,880 --> 00:29:43,720
of these platforms and we know where the traffic is

561
00:29:43,759 --> 00:29:47,119
going to route, so we have a very good opportunity

562
00:29:47,200 --> 00:29:50,240
to make sure that the traffic that gets routed to

563
00:29:50,319 --> 00:29:55,079
the back end can for example, be routing to a

564
00:29:55,160 --> 00:29:59,319
region where it is daytime versus night, which means right,

565
00:29:59,480 --> 00:30:01,599
if they're more solar. If we map them to the

566
00:30:01,720 --> 00:30:04,680
Azure data centers, for example, we know what the regular

567
00:30:04,720 --> 00:30:07,680
emission is in those regions, so we can say, oh,

568
00:30:07,720 --> 00:30:11,359
this one now runs dirty energy. Let's shift the traffic

569
00:30:11,440 --> 00:30:15,200
to another region where we know it's screen energy. And

570
00:30:15,240 --> 00:30:18,079
that gives you the benefit of if they use auto

571
00:30:18,079 --> 00:30:21,079
scaling on these back ends, they can really shift their

572
00:30:21,200 --> 00:30:25,759
whole traffic there so they can scale in and reduce

573
00:30:25,799 --> 00:30:26,640
their emissions.

574
00:30:26,880 --> 00:30:29,000
Speaker 2: And it's an interesting truth that data centers have more

575
00:30:29,119 --> 00:30:32,480
energy available during the day, presumably largely due to solar

576
00:30:33,039 --> 00:30:35,880
so arguably could even be cheaper. You know, we could

577
00:30:35,960 --> 00:30:40,039
be chasing the lowest cost workloads around as well. I've

578
00:30:40,079 --> 00:30:42,680
always thought that API management was a great point for

579
00:30:42,799 --> 00:30:45,680
measuring like cost of transaction, but you're also talking about

580
00:30:45,680 --> 00:30:50,519
emissions per transaction as well. Is Microsoft, We've seen a

581
00:30:50,559 --> 00:30:52,359
lot of work being done and Carl you've been a

582
00:30:52,359 --> 00:30:54,400
part of that with the new version of Polly where

583
00:30:55,079 --> 00:31:00,319
they're re engineering software A to scale enormously, so just

584
00:31:00,359 --> 00:31:02,759
to be more aware of what that utilization looks like

585
00:31:02,839 --> 00:31:06,720
at scale, because they're looking at millions billions of utilizations

586
00:31:06,759 --> 00:31:11,279
possibly per second, and that does every cycle costs money,

587
00:31:11,279 --> 00:31:16,079
every cycle lost money. Man, So yeah, intriated, all these

588
00:31:16,079 --> 00:31:16,759
things work together.

589
00:31:17,119 --> 00:31:20,720
Speaker 1: Stein of Energy, Richard, do you want to give us

590
00:31:20,720 --> 00:31:23,960
a little what am I trying to say a little

591
00:31:24,000 --> 00:31:27,640
preview of the end of year energy geek out? Anything

592
00:31:27,640 --> 00:31:30,599
that you'd like to talk about in terms of energy

593
00:31:32,920 --> 00:31:37,039
methods or generating energy from you know, to power these

594
00:31:37,119 --> 00:31:39,839
AI data centers. That might be a good idea. Well,

595
00:31:39,880 --> 00:31:40,960
I'm there's a whole section.

596
00:31:41,880 --> 00:31:43,799
Speaker 2: You know, I work off my notes for the end

597
00:31:43,839 --> 00:31:46,240
of year geek outs for months, so I have a

598
00:31:46,240 --> 00:31:49,440
whole section about what all the tech companies are doing

599
00:31:49,599 --> 00:31:52,519
to deal with the power requirements for AID data centers.

600
00:31:52,680 --> 00:31:56,160
It's extraordinary. And you know, we've talked about this before

601
00:31:56,200 --> 00:31:58,000
and I don't want to get too far into it now,

602
00:31:58,039 --> 00:32:01,240
but power companies are all sure conservatives. They don't tend

603
00:32:01,279 --> 00:32:03,440
to build new technologies. That's not what power companies do.

604
00:32:03,480 --> 00:32:08,519
They're in the reliability business. Tech companies like building new things.

605
00:32:08,519 --> 00:32:11,519
So an interesting debate here about whether it makes sense

606
00:32:11,519 --> 00:32:16,160
for tech companies to actually mature power technologies, mostly because

607
00:32:16,319 --> 00:32:19,240
the three spending money on them that'll be available to

608
00:32:19,599 --> 00:32:23,440
the greater public in the long term. So yeah, stay tuned.

609
00:32:24,160 --> 00:32:26,720
Speaker 1: We have a nuclear power station in my town. I'm

610
00:32:26,759 --> 00:32:28,400
at the north end of the town. It's at the

611
00:32:28,440 --> 00:32:31,759
south of the southern tip, right on the water. And

612
00:32:32,519 --> 00:32:38,119
this we heard rumors floating that somebody wanted to op

613
00:32:38,160 --> 00:32:40,400
I think it might even be Microsoft might have wanted

614
00:32:40,440 --> 00:32:42,640
to open a data center or build a data center

615
00:32:43,079 --> 00:32:47,279
right next to the power nuclear power plan. Sure interesting,

616
00:32:47,440 --> 00:32:51,119
you know, and that's really thinking ahead because if you're

617
00:32:51,119 --> 00:32:53,119
going to use wads and wads of energy, you might

618
00:32:53,160 --> 00:32:55,160
as well be as close to the source as possible.

619
00:32:55,440 --> 00:32:58,559
Speaker 2: And it reminds us that data centers in many ways

620
00:32:58,599 --> 00:33:01,519
are the new heavy dust street. You know, it's super

621
00:33:01,599 --> 00:33:05,839
normal to build an aluminum smelter or a steel plant

622
00:33:05,960 --> 00:33:10,119
beside the power generation source because you use so much

623
00:33:10,160 --> 00:33:13,000
of it. So you know, this new heavy energy building

624
00:33:13,000 --> 00:33:14,640
it alongside its power makes a lot of sense. But

625
00:33:15,279 --> 00:33:16,279
that's another show, and.

626
00:33:16,279 --> 00:33:18,160
Speaker 1: Another show I don't want to do rail Us and

627
00:33:18,200 --> 00:33:22,400
another show that's coming up soon. Yes, yes, the end

628
00:33:22,440 --> 00:33:23,599
of the year is upon us.

629
00:33:24,440 --> 00:33:28,160
Speaker 4: So it's interesting though how much progress they've made on

630
00:33:28,200 --> 00:33:32,680
the data center side to be more efficient. Like, I'm

631
00:33:32,720 --> 00:33:36,400
not an expert on that, but like we now have

632
00:33:36,559 --> 00:33:40,519
AI data centers they announce that ignite it are fully

633
00:33:40,559 --> 00:33:47,079
closed water systems where they pour in like households of

634
00:33:47,279 --> 00:33:51,039
water that they consume usually in the closed system, and

635
00:33:51,119 --> 00:33:55,000
it stays in there for years. Right, because it's closed loop,

636
00:33:55,400 --> 00:33:57,720
you're not like losing any water.

637
00:33:58,200 --> 00:34:02,279
Speaker 2: Yeah, they're reusing water over over again, she was more complicated, doue.

638
00:34:02,839 --> 00:34:07,039
Speaker 4: Yeah, they're getting rid of concrete by kind of reinventing

639
00:34:07,119 --> 00:34:10,599
types of wood to make it more sustainable. It's really interesting,

640
00:34:10,679 --> 00:34:13,920
mind blowing, Yeah, if you dive into that area.

641
00:34:14,760 --> 00:34:15,000
Speaker 1: Yeah.

642
00:34:15,360 --> 00:34:17,280
Speaker 2: And the advantage here, of course, is that tech is

643
00:34:17,320 --> 00:34:20,239
not a low margin business, so you can afford to

644
00:34:20,280 --> 00:34:22,880
spend more money knowing you're going to earn out over

645
00:34:22,920 --> 00:34:26,159
time with these data centers. But I think this all

646
00:34:26,199 --> 00:34:29,320
starts with being able to measure utilization. Yes, it's crazy

647
00:34:29,320 --> 00:34:30,880
to think about this in context of an API, but

648
00:34:30,960 --> 00:34:31,920
it makes perfect sense.

649
00:34:32,000 --> 00:34:34,239
Speaker 1: It is the logical unit of measure.

650
00:34:34,559 --> 00:34:37,519
Speaker 4: Yeah, so we don't expose the kind of the carbon

651
00:34:37,519 --> 00:34:42,599
emission directly, but if you want to measure things in

652
00:34:42,679 --> 00:34:47,360
azure there's a service called Azure Carbon Optimization which shows

653
00:34:47,400 --> 00:34:51,400
you the emission by Azure compute workload and it gives

654
00:34:51,400 --> 00:34:54,559
you kind of a recommendation and it says, for example,

655
00:34:54,639 --> 00:34:57,079
it's also good for cost saving. Oh, you're using this

656
00:34:57,559 --> 00:35:01,360
vmsas instance, with this vmskew, this is your emission for

657
00:35:01,480 --> 00:35:06,320
this service, but you're utilizing only like twenty percent. We

658
00:35:06,440 --> 00:35:10,440
recommend you using this skew or that skew or all

659
00:35:10,480 --> 00:35:12,360
these kind of things. So that is good for the

660
00:35:12,440 --> 00:35:16,280
kind of reporting side. Interesting, where are we over provisioned?

661
00:35:17,280 --> 00:35:19,800
And then what we're trying to help with is to

662
00:35:19,960 --> 00:35:23,840
kind of route your requests to the regions where it's

663
00:35:23,880 --> 00:35:27,800
more efficient. But there's also a second aspect, like we

664
00:35:27,920 --> 00:35:31,039
have all these policies that you can run kind of

665
00:35:31,039 --> 00:35:34,519
this logic on your gateway before going to the back end.

666
00:35:35,480 --> 00:35:40,079
So we've introduced capability that in your policies you can check, oh,

667
00:35:40,199 --> 00:35:43,960
the emission is high. So let me not log all

668
00:35:44,000 --> 00:35:47,800
these big payloads which require more compute on the gateway

669
00:35:48,079 --> 00:35:51,039
or puts pressure on service bus or event hubs in

670
00:35:51,039 --> 00:35:54,800
that region. Let's just skip this section and reduce the

671
00:35:54,960 --> 00:35:58,199
kind of the overhead in this region. If it's not

672
00:35:58,280 --> 00:36:01,440
required so that the gateways can also scale in.

673
00:36:01,679 --> 00:36:04,519
Speaker 2: So it's just a recognizing there are optional workloads that

674
00:36:04,639 --> 00:36:08,239
could be time shifted, the location shifted, yes, to change that.

675
00:36:08,400 --> 00:36:12,039
Speaker 4: Like auditing metrics. These kind of things are not always

676
00:36:12,039 --> 00:36:15,719
mission critical. So I always compare it with what teams

677
00:36:15,760 --> 00:36:19,719
did during COVID right, they were overloaded, they did not

678
00:36:19,880 --> 00:36:22,599
have the CPUs, so we did it small things like

679
00:36:22,760 --> 00:36:28,239
remove the Thomas typing indication, which costed a lot of CPU.

680
00:36:28,440 --> 00:36:30,840
And there's a blog from I think Mark Rosinovich that

681
00:36:30,960 --> 00:36:35,400
explains the impact from disabling that feature on the compute

682
00:36:35,400 --> 00:36:40,639
that required. Wow, it's kind of our flavor of this

683
00:36:40,840 --> 00:36:42,679
for your APIs Yeah.

684
00:36:42,519 --> 00:36:45,000
Speaker 2: Yeah, No, I think it's interesting to think in terms

685
00:36:45,119 --> 00:36:49,840
of you've got a company with a green initiative like this,

686
00:36:50,199 --> 00:36:53,800
and you can start working through your software to say

687
00:36:53,880 --> 00:36:58,239
where can we make an optimization. There's a case study

688
00:36:58,280 --> 00:37:01,639
begging here to say, well, which which of these has

689
00:37:01,679 --> 00:37:02,440
the largest impact?

690
00:37:02,440 --> 00:37:04,719
Speaker 1: Where do you even start? But I think the number one,

691
00:37:04,760 --> 00:37:07,920
of course is measure is once you measure, the obvious

692
00:37:07,960 --> 00:37:09,039
ones will fall out. Yeah.

693
00:37:09,440 --> 00:37:12,559
Speaker 4: Measure and adopt auto scaling would be another one. I

694
00:37:12,599 --> 00:37:15,480
would say, like a lot of people are over provisioned

695
00:37:16,400 --> 00:37:19,800
or maybe like you don't need to be over provisioned

696
00:37:19,840 --> 00:37:24,159
all the time. Like most cases, customers can just start

697
00:37:24,239 --> 00:37:27,119
scaling out during the business week, but in the weekend

698
00:37:27,519 --> 00:37:29,280
they can scale in because nobody's in it.

699
00:37:29,599 --> 00:37:32,559
Speaker 2: Yeah, if you still got the old reflexes, which I'd

700
00:37:32,599 --> 00:37:34,840
have to admit I still do. Like we always when

701
00:37:34,880 --> 00:37:37,480
we're building out our own infrastructure, you provision for peak,

702
00:37:38,000 --> 00:37:41,440
which is to say, you over provision for everything else, Yes,

703
00:37:41,519 --> 00:37:43,639
so that you can get through you know where we're

704
00:37:43,639 --> 00:37:46,119
recording this right around the time Black Friday is coming,

705
00:37:46,159 --> 00:37:50,880
so talk about peak, right, and so they you know

706
00:37:51,079 --> 00:37:54,599
the idea that really elasticity works both ways, not just

707
00:37:54,639 --> 00:37:57,960
scaling up but scaling down. Yes, but autoscale is not

708
00:37:58,039 --> 00:38:00,159
a product per se, right, Like there's a lot are

709
00:38:00,239 --> 00:38:01,639
things that go into auto scale.

710
00:38:01,719 --> 00:38:06,800
Speaker 4: Yes, that is true. There's more things you can do though,

711
00:38:06,920 --> 00:38:12,960
Like it doesn't always have to be like this intense.

712
00:38:13,079 --> 00:38:17,679
Let's say, like architecture platforms like this, because of course,

713
00:38:17,760 --> 00:38:21,440
if you shift traffic, the kind of the new region

714
00:38:21,559 --> 00:38:23,679
where all the traffic is going needs to be able

715
00:38:23,719 --> 00:38:27,000
to handle it, because otherwise you're going to create your

716
00:38:27,000 --> 00:38:30,039
own outage. So that's why if not a single back

717
00:38:30,119 --> 00:38:33,079
end is kind of healthy, we'll just keep routing it

718
00:38:33,079 --> 00:38:36,400
there anyway. But as a developer, what's one of the

719
00:38:36,440 --> 00:38:40,519
most common thing that happens. I check in my code,

720
00:38:40,559 --> 00:38:43,920
I have a CI trigger, etc. In a lot of cases,

721
00:38:44,360 --> 00:38:47,679
people have a lot of pipelines starting out, but nobody

722
00:38:47,719 --> 00:38:50,199
looks at them. Right, that's a lot of compute as

723
00:38:50,199 --> 00:38:54,599
a company or burn So maybe revised. If you really

724
00:38:54,639 --> 00:38:57,639
need all of those CI pipelines, or make them on the.

725
00:38:57,679 --> 00:39:01,519
Speaker 1: Nd maybe you only activate the pipeline on Friday or

726
00:39:01,599 --> 00:39:02,320
something exactly.

727
00:39:02,519 --> 00:39:06,679
Speaker 4: So if it's not like that urgent, maybe don't do it.

728
00:39:06,760 --> 00:39:11,599
Speaker 2: Yeah, you guys are countering like a decade. Now I'll

729
00:39:11,719 --> 00:39:15,400
go faster, go faster, Go faster, go faster. Right, it

730
00:39:15,480 --> 00:39:18,559
depends if you're using these pipelines. Fine, but I've seen

731
00:39:18,599 --> 00:39:21,440
a lot of people that once create a pipeline, then

732
00:39:21,440 --> 00:39:22,639
never look at it anymore.

733
00:39:22,840 --> 00:39:25,000
Speaker 1: Question right, Well, I kind of think that was the

734
00:39:25,159 --> 00:39:28,280
lore of doing that. It's like, yeah, automate as much

735
00:39:28,280 --> 00:39:31,079
of that work as possible so that you don't have

736
00:39:31,119 --> 00:39:33,800
to worry about it. But now we're worrying about it

737
00:39:33,840 --> 00:39:37,679
because it's costing a lot of cycles and money that

738
00:39:38,079 --> 00:39:40,119
you know comes down to money.

739
00:39:40,800 --> 00:39:43,519
Speaker 4: It is a trade of like is it useful or

740
00:39:43,679 --> 00:39:47,800
is it something that we actually don't really need anymore

741
00:39:48,199 --> 00:39:49,559
or run less often?

742
00:39:49,679 --> 00:39:52,400
Speaker 1: Maybe remember we used to have build Friday's Richard, yep,

743
00:39:52,559 --> 00:39:54,760
you know, back when we thought a build master was

744
00:39:54,760 --> 00:39:58,400
a good idea. Oh yeah, build server. We had to

745
00:39:58,440 --> 00:40:04,639
build server. Yeah, but you know we're happy with just

746
00:40:04,800 --> 00:40:08,360
checking in code and everybody's synced up and all that stuff.

747
00:40:08,400 --> 00:40:11,320
And when we want to have a release, you just

748
00:40:11,639 --> 00:40:14,639
publish it and it's yeah, we can get that down

749
00:40:14,679 --> 00:40:16,760
to just one command now right.

750
00:40:16,880 --> 00:40:20,199
Speaker 2: Yes, well so, but to Tom's point, you also get

751
00:40:20,199 --> 00:40:23,599
to the situation where everybody's pushing builds constantly and then

752
00:40:23,639 --> 00:40:27,800
somebody's deciding to actually put it out, and so in between,

753
00:40:27,800 --> 00:40:30,199
all those in between builds were kind of unnecessary. So

754
00:40:30,440 --> 00:40:33,559
you know, the advantage of automation is that it's also

755
00:40:33,599 --> 00:40:37,440
then tunable. So it would be that hard to go

756
00:40:37,599 --> 00:40:40,039
back in there from a macro perspective and say, how

757
00:40:40,039 --> 00:40:41,679
many of these builds actually get used?

758
00:40:42,360 --> 00:40:44,760
Speaker 1: Can we delay? You know, when does it make sense

759
00:40:44,800 --> 00:40:47,159
actually push? And then with the consequence of that, I.

760
00:40:47,079 --> 00:40:51,280
Speaker 4: Think CI is one aspect. There's also the situation where

761
00:40:51,320 --> 00:40:57,000
you have scheduled pipelines where the tests every hour or

762
00:40:57,039 --> 00:40:59,639
every two hours, but how often do you really look

763
00:40:59,639 --> 00:41:01,800
at these tests? Like maybe daily is enough?

764
00:41:02,039 --> 00:41:07,719
Speaker 1: Right? How important do you see agency in DevOps be

765
00:41:07,719 --> 00:41:11,159
becoming a partner so that you could give it a

766
00:41:11,199 --> 00:41:14,159
set of rules that it could monitor and make its

767
00:41:14,199 --> 00:41:17,440
own decisions as to when to build based on those rules.

768
00:41:18,239 --> 00:41:21,159
Because that's really what you're doing when you when you're

769
00:41:21,239 --> 00:41:25,679
figuring out strategies and and doing it yourself. So I

770
00:41:25,679 --> 00:41:26,719
mean when you see that.

771
00:41:27,079 --> 00:41:31,800
Speaker 4: I think that that's something that will come as a

772
00:41:31,880 --> 00:41:35,159
next step. Maybe not as the next step, but eventually

773
00:41:35,239 --> 00:41:38,880
one Like we push all these cis how many devs

774
00:41:39,239 --> 00:41:44,320
actually check if it regresses the tests, then everything accumulates

775
00:41:44,760 --> 00:41:47,719
and then you have x failing tests. Now go figure

776
00:41:47,719 --> 00:41:50,960
out what what what's the problem or who to figure out?

777
00:41:51,119 --> 00:41:54,920
Who to solve this problem? I think that's where agents

778
00:41:55,360 --> 00:41:57,960
will become a theme where they kind of auto three

779
00:41:58,039 --> 00:42:02,679
IG identified the issue. Yeah, picking the people alto rovert

780
00:42:02,800 --> 00:42:05,480
or whatever. That's going to help a lot.

781
00:42:05,400 --> 00:42:08,079
Speaker 2: On run as I just put out a show on

782
00:42:08,159 --> 00:42:13,199
the Azure software Reliability Engineering agents, which that's literally what

783
00:42:13,320 --> 00:42:16,559
their job is is to pick up events in it

784
00:42:16,639 --> 00:42:20,320
that occur and a deployed piece of software and analyze

785
00:42:20,360 --> 00:42:23,360
them even to the point of making co change recommendations.

786
00:42:23,960 --> 00:42:25,719
Speaker 1: This is all in the back end in Azure. It's

787
00:42:25,719 --> 00:42:26,840
all in Azure. Yeah.

788
00:42:26,639 --> 00:42:29,920
Speaker 2: Yeah, these agents, I mean, it's the still miles to go.

789
00:42:30,079 --> 00:42:32,920
These are early versions, but it does speak to I

790
00:42:32,960 --> 00:42:35,639
think exactly what you're describing to them that you will

791
00:42:35,679 --> 00:42:38,360
have from you know, you know, as a guy who

792
00:42:38,400 --> 00:42:40,280
spent time on a Saturday trying to keep an e

793
00:42:40,320 --> 00:42:44,559
commerce side alive. The fact that you can have an

794
00:42:44,679 --> 00:42:47,800
error and these tools will at least do the initial

795
00:42:47,800 --> 00:42:50,119
homework right that by the time you're looking at it,

796
00:42:50,119 --> 00:42:52,239
it's already done. The pull of this was the state

797
00:42:52,280 --> 00:42:54,239
of the machine, This was the current load levels. Like

798
00:42:54,320 --> 00:42:56,199
all of the infos, we at least have a shape

799
00:42:56,239 --> 00:42:57,519
of what was this problem.

800
00:42:57,920 --> 00:42:59,800
Speaker 1: Yeah, and at least they could recommend a few courses

801
00:42:59,840 --> 00:43:01,679
of it and you didn't even have it to it.

802
00:43:01,719 --> 00:43:04,320
But you're making decision and that's yeah, that's where we

803
00:43:04,360 --> 00:43:07,559
are today. I like that. I like being the decider.

804
00:43:08,800 --> 00:43:09,679
I'm the decider.

805
00:43:09,760 --> 00:43:12,960
Speaker 4: So you're talking about it as youre s a reagent.

806
00:43:13,039 --> 00:43:16,400
I presume that's right. Yes, that is a very that's

807
00:43:16,639 --> 00:43:20,440
something we're onboarding as well. Like a lot of times

808
00:43:20,519 --> 00:43:25,400
it just reboot a machine and monitor its progress or whatever.

809
00:43:26,039 --> 00:43:28,000
It's perfect for all these kind of things.

810
00:43:28,039 --> 00:43:28,599
Speaker 1: Yeah, for sure.

811
00:43:28,679 --> 00:43:30,960
Speaker 4: Reducing all that toil, it's really great.

812
00:43:31,199 --> 00:43:33,599
Speaker 2: Yeah, if the answer was just reboot the machine and

813
00:43:33,599 --> 00:43:35,400
the problem will go away. The fact that you can

814
00:43:35,599 --> 00:43:37,280
have a tool that can get to that chain and

815
00:43:37,320 --> 00:43:39,840
do it for you, yes, and so by the time

816
00:43:39,920 --> 00:43:42,719
you know about it, it's already happened and recovered itself.

817
00:43:43,599 --> 00:43:46,800
Speaker 4: Yeah, and then it will start aggregating all these symptoms

818
00:43:46,840 --> 00:43:49,880
and kind of unfold the bigger problem. It's like, why

819
00:43:49,920 --> 00:43:51,920
do we need to reboot all these machines. Then it

820
00:43:51,960 --> 00:43:54,760
will kind of summarize all the symptoms and say, probably

821
00:43:54,800 --> 00:43:56,760
your problem lies there, now go fix it.

822
00:43:56,840 --> 00:44:00,559
Speaker 2: Yeah, memorily here, or do dispaced there, that kind of thing.

823
00:44:02,119 --> 00:44:04,880
Speaker 1: You know, It's always funny when the software acts and

824
00:44:04,920 --> 00:44:05,760
then notifies you.

825
00:44:05,920 --> 00:44:09,360
Speaker 2: Like back in the old SQL server hot failover days,

826
00:44:09,400 --> 00:44:11,960
like you would just get a notification databases failed over,

827
00:44:13,159 --> 00:44:17,679
and it was chilling because it's like, well, why did

828
00:44:17,719 --> 00:44:18,320
you fail over?

829
00:44:20,679 --> 00:44:24,119
Speaker 1: You know you're going to fail again. Reminds me of

830
00:44:24,119 --> 00:44:28,679
the early days of Azure Web Services when you because

831
00:44:28,840 --> 00:44:33,480
they didn't understand how to deal with the memory leaks

832
00:44:33,559 --> 00:44:36,280
or things like that, there was no stuff built in

833
00:44:36,320 --> 00:44:41,239
on the server. The recommend mended course of action was

834
00:44:41,280 --> 00:44:46,719
to automatically restart the service on a schedule, just you know,

835
00:44:46,960 --> 00:44:48,840
and that was a way that you could out of sight,

836
00:44:48,960 --> 00:44:52,000
out of mind memory leaks or other problems. Yep, you know,

837
00:44:52,400 --> 00:44:54,840
turn it off, turn it back on. The universal fix.

838
00:44:55,320 --> 00:44:59,519
All right. How much is security in the back of

839
00:44:59,559 --> 00:45:01,800
your mind or the forefront of your mind is to

840
00:45:02,079 --> 00:45:06,559
work your way through these things APIs and AI in

841
00:45:06,679 --> 00:45:08,000
all of that.

842
00:45:08,000 --> 00:45:11,840
Speaker 4: That's a good question, Carl. So in the past half

843
00:45:11,880 --> 00:45:16,280
a year we've seen the sprawl of MCP servers spinning

844
00:45:16,360 --> 00:45:19,599
up its very early days on the kind of the

845
00:45:19,679 --> 00:45:24,280
authentication specification for this. But that's actually one of the

846
00:45:24,400 --> 00:45:28,000
aspects that we can help with with Azure Api Management

847
00:45:28,159 --> 00:45:33,199
is you can expose your APIs as MCP servers, and

848
00:45:33,360 --> 00:45:37,760
we have Azure Api Center, which is basically your internal

849
00:45:38,239 --> 00:45:41,920
MCP catalog or API catalog that can help you keep

850
00:45:41,960 --> 00:45:44,559
track of all of these things. And the beauty is

851
00:45:44,599 --> 00:45:48,719
that because you expose them to Azure Api Management, you

852
00:45:48,760 --> 00:45:53,239
can reuse those policies and say I want to have authentication,

853
00:45:53,480 --> 00:45:56,119
I want to have weight limit, et cetera. So you

854
00:45:56,239 --> 00:46:01,239
still can use these MCP servers inside your organization, but

855
00:46:01,320 --> 00:46:09,880
you can still have kind of your enterprise policies on top. Yeah,

856
00:46:10,039 --> 00:46:12,760
that policies and control on top that you have as

857
00:46:12,800 --> 00:46:15,719
a standard in your company to make sure it doesn't

858
00:46:15,719 --> 00:46:16,840
become a liability.

859
00:46:17,000 --> 00:46:19,960
Speaker 1: Yeah, and that's all good stuff. What I'm thinking about

860
00:46:20,119 --> 00:46:24,679
is giving an MCP server, which is really an agent, right,

861
00:46:24,840 --> 00:46:30,119
giving it agency to act on your behalf things that

862
00:46:31,280 --> 00:46:35,880
you know, maybe some people don't want it acting that

863
00:46:35,920 --> 00:46:40,159
way on your behalf. Maybe that could pose a problem,

864
00:46:40,280 --> 00:46:47,800
especially with over hyperactive, hyperactively helpful lms like you know,

865
00:46:47,920 --> 00:46:51,000
Claudes on It for example, loves to do things that

866
00:46:51,039 --> 00:46:55,719
you didn't ask it to, and if it had if

867
00:46:55,760 --> 00:47:01,440
it had the power to send emails or to read emails,

868
00:47:01,559 --> 00:47:04,920
it could infect a system with now where like, there's

869
00:47:05,039 --> 00:47:09,599
so many problems when you give an agent agency to

870
00:47:09,679 --> 00:47:14,440
do things that might seem very convenient for you but

871
00:47:14,719 --> 00:47:17,079
could open up security holes.

872
00:47:17,199 --> 00:47:20,480
Speaker 4: I think authorization is a very important point here, Like

873
00:47:21,039 --> 00:47:24,519
even if it would still have access, is it still

874
00:47:24,639 --> 00:47:28,440
authorized to perform the action right, right, and as you

875
00:47:28,599 --> 00:47:34,280
expose those APIs, like one of the things we allow

876
00:47:34,360 --> 00:47:37,119
you to do is like maybe you have an API

877
00:47:37,400 --> 00:47:41,000
that says get an order, create an order, and cancel

878
00:47:41,079 --> 00:47:44,760
an order, and then the back office of your store.

879
00:47:45,519 --> 00:47:48,039
But when you expose the MCP server, you have the

880
00:47:48,039 --> 00:47:52,440
option to only expose get order, maybe create order, and

881
00:47:52,559 --> 00:47:55,599
the rest. It doesn't like, even if it would have

882
00:47:55,679 --> 00:47:58,519
access to it, we're not going to expose the API

883
00:47:58,719 --> 00:48:01,159
even so it's not able to haul it right. And

884
00:48:01,199 --> 00:48:04,039
I think that's the second aspect, is that we used

885
00:48:04,039 --> 00:48:07,039
to have all these open eyes spects with the operations.

886
00:48:08,000 --> 00:48:10,679
Now with this tooling, which is not a human person,

887
00:48:10,760 --> 00:48:12,880
we need to be more careful what are we even

888
00:48:12,920 --> 00:48:14,480
giving it access to.

889
00:48:14,880 --> 00:48:21,000
Speaker 1: For example, giving a SEQL server MCP the ability to

890
00:48:21,079 --> 00:48:23,639
generate queries and run queries.

891
00:48:23,880 --> 00:48:25,199
Speaker 4: That is very dangerous.

892
00:48:25,480 --> 00:48:29,280
Speaker 1: Yikes. I mean, think about that, generate t sql and

893
00:48:29,320 --> 00:48:33,079
then execute it. Unless you say, the only thing you

894
00:48:33,119 --> 00:48:37,440
can the only command you can create is select.

895
00:48:37,360 --> 00:48:39,199
Speaker 4: Is drop table.

896
00:48:39,480 --> 00:48:41,719
Speaker 1: If you say select is the only thing you can

897
00:48:41,760 --> 00:48:44,880
do and you can't do anything that's going to act

898
00:48:44,920 --> 00:48:47,760
you know, drop table or delete or anything like that.

899
00:48:48,280 --> 00:48:53,280
You know, but you're still still untrustworthy, I think.

900
00:48:53,280 --> 00:48:56,760
Speaker 4: Very dangerous, and also enough material for the LM to

901
00:48:56,800 --> 00:48:59,199
have trained on to learn what not to do, you

902
00:48:59,199 --> 00:49:02,119
would hope, So that is definitely yeah. I think that

903
00:49:02,199 --> 00:49:04,840
comes back to the point I was making, like, don't

904
00:49:04,880 --> 00:49:10,039
just expose everything. Think carefully, do reviews of what you're exposing.

905
00:49:10,760 --> 00:49:13,679
Because it's not a human anymore. It's something that you

906
00:49:13,719 --> 00:49:18,559
will ask And like you mentioned, some models are eager

907
00:49:18,599 --> 00:49:21,880
to help, but that means you, like, maybe they're going

908
00:49:21,920 --> 00:49:23,000
to do things you don't want.

909
00:49:23,400 --> 00:49:26,000
Speaker 2: Anyway, I do appreciate that, you know, getting back to

910
00:49:26,039 --> 00:49:28,239
as your API management. It's like you have to go

911
00:49:28,320 --> 00:49:31,199
down the ENTRA pipeline to even use this, right down

912
00:49:31,239 --> 00:49:32,920
to sort of the B two C model where your

913
00:49:33,000 --> 00:49:36,800
customers have to have identities and so forth. You're forcing

914
00:49:36,840 --> 00:49:39,760
us into the pit of security success. You want to

915
00:49:39,840 --> 00:49:42,320
use these tools, you've got to follow zero trust rules.

916
00:49:42,679 --> 00:49:45,679
You've got to properly authenticate everybody. It's that authorization and

917
00:49:45,719 --> 00:49:48,000
policy in place, and it's a paint in the butt.

918
00:49:48,039 --> 00:49:50,559
It's part of the challenge of getting started with these things.

919
00:49:50,960 --> 00:49:55,760
It's also way beneficial when stuff goes wrong.

920
00:49:56,079 --> 00:49:59,360
Speaker 4: Yes, and I was not part of the screw, so

921
00:49:59,440 --> 00:50:02,800
I cannot kind of get into the details. But and

922
00:50:02,880 --> 00:50:07,440
ignited last week when we're recording this, foundry was a

923
00:50:07,440 --> 00:50:11,639
big thing. And as part of Foundry or AI gateways integrated,

924
00:50:12,280 --> 00:50:19,320
which means every agent now hasn't dedicated entra id identity. Right,

925
00:50:19,880 --> 00:50:22,760
So we used to be humans who had like a

926
00:50:22,800 --> 00:50:26,119
personal email address with an identity. Now agents have the same.

927
00:50:26,559 --> 00:50:28,719
So that kind of gives you the next step of

928
00:50:28,760 --> 00:50:32,840
putting these guardrails around these agents to make sure they're not.

929
00:50:34,159 --> 00:50:37,159
Speaker 2: And I hate to can't anthropomorphize on that because we've

930
00:50:37,159 --> 00:50:39,960
also been giving applications identities as well for exactly the

931
00:50:40,000 --> 00:50:41,760
same reason, yesh, right, But.

932
00:50:42,199 --> 00:50:45,599
Speaker 4: For agents it was it was more it was harder

933
00:50:45,639 --> 00:50:48,960
to achieve this and it was not really like dedicated

934
00:50:49,000 --> 00:50:52,000
to the model model, like you had to kind of

935
00:50:52,039 --> 00:50:54,280
configure it that way. But in this case, it's like

936
00:50:54,320 --> 00:50:58,599
fully dedicated to this agent, let's say. But again I

937
00:50:58,760 --> 00:51:01,559
did not work on that, so I need to defer

938
00:51:01,639 --> 00:51:03,639
that to my colleagues. But I think that's a good

939
00:51:03,679 --> 00:51:05,480
step forward for security as well.

940
00:51:05,519 --> 00:51:07,440
Speaker 1: Tom, is there anything that we missed, anything else you

941
00:51:07,440 --> 00:51:09,000
want to talk about before we wrap it up?

942
00:51:09,800 --> 00:51:13,800
Speaker 4: No, So if somebody is interested. We have a blog

943
00:51:13,840 --> 00:51:16,400
post which we can maybe onto the show notes where

944
00:51:16,400 --> 00:51:20,800
you can sign up to use these sustainability capabilities. There's

945
00:51:20,840 --> 00:51:25,840
a ton of announcements from Mignite. We also shift some

946
00:51:25,880 --> 00:51:28,840
of the AI capabilities which you can find on the blogs.

947
00:51:28,880 --> 00:51:31,480
But if you have any questions, just reach out to

948
00:51:31,519 --> 00:51:34,159
me on LinkedIn. Happy to excellent answer.

949
00:51:33,920 --> 00:51:36,639
Speaker 1: Your question, Tom. Thanks, It's always interesting when we talk

950
00:51:36,719 --> 00:51:38,880
and this was no different. Thanks very much.

951
00:51:39,000 --> 00:51:41,320
Speaker 4: Thank you very much. Have a good day many all.

952
00:51:41,239 --> 00:52:00,320
Speaker 1: Right, we'll talk to you next time on dot net rocks.

953
00:52:04,519 --> 00:52:07,239
Dot net rocks is brought to you by Franklin's Net

954
00:52:07,320 --> 00:52:11,280
and produced by Pop Studios, a full service audio, video

955
00:52:11,360 --> 00:52:15,440
and post production facility located physically in New London, Connecticut,

956
00:52:15,679 --> 00:52:20,480
and of course in the cloud online at pwop dot com.

957
00:52:20,679 --> 00:52:22,800
Visit our website at d O T N E t

958
00:52:23,039 --> 00:52:27,079
R O c k S dot com for RSS feeds, downloads,

959
00:52:27,199 --> 00:52:30,880
mobile apps, comments, and access to the full archives going

960
00:52:30,920 --> 00:52:34,320
back to show number one, recorded in September two thousand

961
00:52:34,360 --> 00:52:37,000
and two. And make sure you check out our sponsors.

962
00:52:37,159 --> 00:52:40,119
They keep us in business. Now go write some code,

963
00:52:40,519 --> 00:52:44,039
see you next time. You got Javans

