WEBVTT
1
00:00:01.120 --> 00:00:03.000
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
I am?
11
00:00:44.359 --> 00:00:44.640
I am.
12
00:00:44.719 --> 00:00:47.600
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
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
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
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
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
We're in the.
31
00:01:31.680 --> 00:01:34.560
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
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
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
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
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
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
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
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
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
So that means there was some kind of solid surface and.
125
00:06:54.360 --> 00:06:58.959
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
Oh wow, and it goes.
136
00:07:32.199 --> 00:07:35.199
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
Yeah, there is that little detail, little detail.
142
00:07:50.959 --> 00:07:54.160
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
To this day. Still is it to this day? Yeah?
152
00:08:29.000 --> 00:08:32.440
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
Yeah.
155
00:08:36.519 --> 00:08:38.879
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
Bill Gates through OUTE that right, Yeah, that's right.
158
00:08:42.799 --> 00:08:44.720
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
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
Wow.
166
00:09:07.600 --> 00:09:10.559
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
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
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
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
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
Yeah.
200
00:10:50.000 --> 00:10:52.360
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
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
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
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
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
Ones, yeah, and nondeterminist there.
243
00:13:29.919 --> 00:13:32.840
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
Yeah, it's good on ya, Simon. Yeah, cool stuff.
246
00:13:36.720 --> 00:13:38.399
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
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
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
Love the term. My question is that these.
261
00:14:15.200 --> 00:14:17.519
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
Brad.
282
00:15:15.840 --> 00:15:17.399
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
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
Friend, always fun.
324
00:17:20.480 --> 00:17:22.279
Any comments on anything you've heard so far.
325
00:17:23.519 --> 00:17:28.000
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
Oh no, But it was.
330
00:17:42.039 --> 00:17:46.960
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
Are you all recovered?
334
00:17:53.799 --> 00:17:54.160
Semi?
335
00:17:54.400 --> 00:17:54.480
So?
336
00:17:54.640 --> 00:17:58.160
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
Do you play an instrument?
340
00:18:05.119 --> 00:18:05.599
Thankfully?
341
00:18:05.680 --> 00:18:10.839
Not thankfully, but you could always play the kazoo.
342
00:18:13.759 --> 00:18:17.519
My wife does not approve, but.
343
00:18:17.599 --> 00:18:19.359
I appreciate that you started.
344
00:18:19.720 --> 00:18:22.640
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
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
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
Yes, yes, that's really interesting.
358
00:18:58.920 --> 00:19:00.720
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
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
Yeah.
365
00:19:15.839 --> 00:19:19.440
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
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
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
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
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
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
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
Yeah.
411
00:21:24.680 --> 00:21:28.519
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
Yeah.
419
00:21:55.160 --> 00:21:58.599
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
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
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
So there's still security there.
430
00:22:32.640 --> 00:22:38.440
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
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
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
Interesting, we've been busy.
443
00:23:08.119 --> 00:23:12.079
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
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
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
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
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
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
Or how often do people say thank you?
472
00:24:34.640 --> 00:24:37.200
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
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
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
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
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
I don't know.
489
00:25:29.400 --> 00:25:29.759
Google.
490
00:25:30.000 --> 00:25:33.720
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
To be polite, but be nice.
496
00:25:45.799 --> 00:25:48.279
It's like there was like, okay, interesting, good point.
497
00:25:48.480 --> 00:25:52.519
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
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
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
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
That's why they invented the term war room.
517
00:26:50.599 --> 00:26:56.359
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
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
And nothing's free, man, it comes to consequences the case.
534
00:27:57.480 --> 00:28:00.599
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
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
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
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
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
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
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
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
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
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
Yeah, they're reusing water over over again, she was more complicated, doue.
638
00:34:02.839 --> 00:34:07.039
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
Yeah.
642
00:34:15.360 --> 00:34:17.280
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
It is the logical unit of measure.
650
00:34:34.559 --> 00:34:37.519
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
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
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
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
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
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
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
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
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
So if it's not like that urgent, maybe don't do it.
728
00:39:06.760 --> 00:39:11.599
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Yeah, for sure.
811
00:43:28.679 --> 00:43:30.960
Reducing all that toil, it's really great.
812
00:43:31.199 --> 00:43:33.599
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
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
Yeah, memorily here, or do dispaced there, that kind of thing.
823
00:44:02.119 --> 00:44:04.880
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
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
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
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
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
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
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
That is very dangerous.
892
00:48:25.480 --> 00:48:29.280
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
Is drop table.
896
00:48:39.480 --> 00:48:41.719
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
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
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
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
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
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
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
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
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
Thank you very much. Have a good day many all.
952
00:51:41.239 --> 00:52:00.320
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
1
00:00:01.120 --> 00:00:03.000
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
I am?
11
00:00:44.359 --> 00:00:44.640
I am.
12
00:00:44.719 --> 00:00:47.600
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
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
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
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
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
We're in the.
31
00:01:31.680 --> 00:01:34.560
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
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
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
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
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
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
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
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
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
So that means there was some kind of solid surface and.
125
00:06:54.360 --> 00:06:58.959
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
Oh wow, and it goes.
136
00:07:32.199 --> 00:07:35.199
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
Yeah, there is that little detail, little detail.
142
00:07:50.959 --> 00:07:54.160
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
To this day. Still is it to this day? Yeah?
152
00:08:29.000 --> 00:08:32.440
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
Yeah.
155
00:08:36.519 --> 00:08:38.879
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
Bill Gates through OUTE that right, Yeah, that's right.
158
00:08:42.799 --> 00:08:44.720
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
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
Wow.
166
00:09:07.600 --> 00:09:10.559
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
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
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
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
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
Yeah.
200
00:10:50.000 --> 00:10:52.360
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
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
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
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
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
Ones, yeah, and nondeterminist there.
243
00:13:29.919 --> 00:13:32.840
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
Yeah, it's good on ya, Simon. Yeah, cool stuff.
246
00:13:36.720 --> 00:13:38.399
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
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
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
Love the term. My question is that these.
261
00:14:15.200 --> 00:14:17.519
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
Brad.
282
00:15:15.840 --> 00:15:17.399
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
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
Friend, always fun.
324
00:17:20.480 --> 00:17:22.279
Any comments on anything you've heard so far.
325
00:17:23.519 --> 00:17:28.000
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
Oh no, But it was.
330
00:17:42.039 --> 00:17:46.960
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
Are you all recovered?
334
00:17:53.799 --> 00:17:54.160
Semi?
335
00:17:54.400 --> 00:17:54.480
So?
336
00:17:54.640 --> 00:17:58.160
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
Do you play an instrument?
340
00:18:05.119 --> 00:18:05.599
Thankfully?
341
00:18:05.680 --> 00:18:10.839
Not thankfully, but you could always play the kazoo.
342
00:18:13.759 --> 00:18:17.519
My wife does not approve, but.
343
00:18:17.599 --> 00:18:19.359
I appreciate that you started.
344
00:18:19.720 --> 00:18:22.640
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
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
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
Yes, yes, that's really interesting.
358
00:18:58.920 --> 00:19:00.720
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
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
Yeah.
365
00:19:15.839 --> 00:19:19.440
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
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
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
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
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
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
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
Yeah.
411
00:21:24.680 --> 00:21:28.519
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
Yeah.
419
00:21:55.160 --> 00:21:58.599
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
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
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
So there's still security there.
430
00:22:32.640 --> 00:22:38.440
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
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
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
Interesting, we've been busy.
443
00:23:08.119 --> 00:23:12.079
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
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
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
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
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
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
Or how often do people say thank you?
472
00:24:34.640 --> 00:24:37.200
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
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
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
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
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
I don't know.
489
00:25:29.400 --> 00:25:29.759
Google.
490
00:25:30.000 --> 00:25:33.720
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
To be polite, but be nice.
496
00:25:45.799 --> 00:25:48.279
It's like there was like, okay, interesting, good point.
497
00:25:48.480 --> 00:25:52.519
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
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
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
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
That's why they invented the term war room.
517
00:26:50.599 --> 00:26:56.359
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
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
And nothing's free, man, it comes to consequences the case.
534
00:27:57.480 --> 00:28:00.599
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
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
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
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
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
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
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
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
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
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
Yeah, they're reusing water over over again, she was more complicated, doue.
638
00:34:02.839 --> 00:34:07.039
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
Yeah.
642
00:34:15.360 --> 00:34:17.280
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
It is the logical unit of measure.
650
00:34:34.559 --> 00:34:37.519
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
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
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
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
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
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
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
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
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
So if it's not like that urgent, maybe don't do it.
728
00:39:06.760 --> 00:39:11.599
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Yeah, for sure.
811
00:43:28.679 --> 00:43:30.960
Reducing all that toil, it's really great.
812
00:43:31.199 --> 00:43:33.599
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
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
Yeah, memorily here, or do dispaced there, that kind of thing.
823
00:44:02.119 --> 00:44:04.880
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
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
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
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
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
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
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
That is very dangerous.
892
00:48:25.480 --> 00:48:29.280
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
Is drop table.
896
00:48:39.480 --> 00:48:41.719
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
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
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
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
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
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
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
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
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
Thank you very much. Have a good day many all.
952
00:51:41.239 --> 00:52:00.320
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