WEBVTT
1
00:00:01.080 --> 00:00:04.799
How'd you like to listen to dot NetRocks with no ads? Easy?
2
00:00:05.360 --> 00:00:08.560
Become a patron for just five dollars a month. You
3
00:00:08.599 --> 00:00:11.320
get access to a private RSS feed where all the
4
00:00:11.359 --> 00:00:14.599
shows have no ads. Twenty dollars a month, we'll get
5
00:00:14.599 --> 00:00:18.440
you that and a special dot NetRocks patron mug. Sign
6
00:00:18.519 --> 00:00:22.920
up now at Patreon dot dot NetRocks dot com. Hi,
7
00:00:23.000 --> 00:00:24.679
this is Carl Franklin.
8
00:00:24.239 --> 00:00:25.480
And this is Richard Campbell.
9
00:00:25.839 --> 00:00:30.000
We've got two special shows coming up soon, episode nineteen
10
00:00:30.120 --> 00:00:32.039
ninety nine and two thousand.
11
00:00:32.399 --> 00:00:35.079
For episode nineteen ninety nine, we're collecting people's y two
12
00:00:35.159 --> 00:00:37.560
k stories what did you do to help the Y
13
00:00:37.600 --> 00:00:39.719
two k event not actually happen?
14
00:00:40.240 --> 00:00:42.960
And for episode two thousand, we're going to be sharing
15
00:00:43.000 --> 00:00:45.479
stories about how dot net shaped your career.
16
00:00:46.000 --> 00:00:48.719
We have a special page at dot netroocks dot com
17
00:00:48.719 --> 00:00:52.159
slash voxpop where you can record messages for us that
18
00:00:52.200 --> 00:00:54.000
we can play on these special episodes.
19
00:00:54.439 --> 00:00:56.640
So tell us what you did for Y two k.
20
00:00:56.759 --> 00:00:58.880
And what dot net means to you, and of.
21
00:00:58.799 --> 00:01:00.960
Course how long you've been listening to dot net rocks.
22
00:01:01.640 --> 00:01:04.439
So go to dot netroocks dot com slash vox pop
23
00:01:04.560 --> 00:01:06.480
now and leave us a message before the thought of
24
00:01:06.560 --> 00:01:09.200
operates like whiskey left in a glass overnight.
25
00:01:09.159 --> 00:01:24.760
Do it? Hey, welcome back to dot net Rocks. I'm
26
00:01:24.799 --> 00:01:28.519
Carl Franklin, an amateur Campbell. Brady Gaster is with us again.
27
00:01:29.120 --> 00:01:31.959
He's been here, well, he was here last year in November.
28
00:01:32.439 --> 00:01:34.920
But we got some really cool stuff to talk about.
29
00:01:34.959 --> 00:01:39.560
But first, Richard, Yeah, buddy, this being episode nineteen hundred
30
00:01:39.560 --> 00:01:41.879
and ninety four, let's talk about what happened that year.
31
00:01:42.040 --> 00:01:44.599
M H and Brady feel free to jump in during
32
00:01:44.640 --> 00:01:46.280
this whole debacle here.
33
00:01:46.319 --> 00:01:48.120
If you remember ninety four, I bet you do.
34
00:01:48.359 --> 00:01:51.239
I do remember ninety four. Yeah, I was living in
35
00:01:51.280 --> 00:01:54.439
New York with my then girlfriend who I was to.
36
00:01:54.959 --> 00:01:58.280
Oh no, I guess we were married by then. Oh
37
00:01:58.319 --> 00:02:02.159
but anyway, I do remember Nelson Mandela being sworn in
38
00:02:02.239 --> 00:02:06.079
as South Africa's first black president. I remember the NAFTA
39
00:02:06.519 --> 00:02:10.439
North American Free Trade Agreement took effect, kicking in in
40
00:02:10.520 --> 00:02:14.159
the chunnel winking, the UK and France officially opened the
41
00:02:14.240 --> 00:02:14.840
Channel Tunnel.
42
00:02:14.919 --> 00:02:17.840
Yeah, amazing piece of work, wildly over budget and over time,
43
00:02:17.879 --> 00:02:20.400
but you know it's nice that it's still functional this day.
44
00:02:20.599 --> 00:02:23.759
Yeah, that's true. Some really bad things happened, of course,
45
00:02:23.840 --> 00:02:29.319
the genocide in Rwanda, bad, bad, bad, Yeah, the Northridge
46
00:02:29.319 --> 00:02:34.800
earthquake in California, but some other stuff. Ol O J.
47
00:02:35.000 --> 00:02:38.800
Simpson was arrested after a televised.
48
00:02:38.439 --> 00:02:40.560
Yeah the White Bronco.
49
00:02:41.199 --> 00:02:47.719
Yeah. Fore Tanya Harding was banned for life following the
50
00:02:47.759 --> 00:02:51.879
attack on Nancy Kerrigan Baseball Strike, things like that.
51
00:02:53.800 --> 00:02:53.919
Uh.
52
00:02:54.719 --> 00:02:59.479
Some TV shows, The sitcom Friends premiered a couple of
53
00:03:00.080 --> 00:03:03.800
Conic films, Forrest Gump, The Shawshank Redemption one of my.
54
00:03:03.840 --> 00:03:06.759
Favorite stories ever, great film.
55
00:03:06.719 --> 00:03:10.400
And The Lion King. And of course, Nirvana frontman Kurt
56
00:03:10.479 --> 00:03:14.520
Cobain died by suicide that year. Yeah twenty seven, Yeah, Hey,
57
00:03:14.520 --> 00:03:16.639
I might as well get the top ten albums of
58
00:03:16.759 --> 00:03:19.280
nineteen ninety four out of the way. Sure, Sound Garden,
59
00:03:19.439 --> 00:03:25.199
super Unknown, Black Hole, Sun, great song, Launch You Come.
60
00:03:25.520 --> 00:03:29.000
It's a great song. Celine Dion The Color of My
61
00:03:29.080 --> 00:03:32.639
Love had Her Hits, The Power of Love and Think Twice,
62
00:03:33.520 --> 00:03:39.680
Pearl Jam, Vitology, Better Man, Camp, Find Better Man, Spin,
63
00:03:39.759 --> 00:03:44.000
The Black Circle and Not for You, bon Jovi, Cross
64
00:03:44.159 --> 00:03:48.240
Road Always and Someday I'll Be Saturday Night where the
65
00:03:48.360 --> 00:03:55.840
hits TLC, Crazy Sexy, Cool, Creep, Red Light Special and Waterfalls,
66
00:03:55.960 --> 00:04:01.560
great songs, Boys to Men Too, singles I'll Make Love
67
00:04:01.599 --> 00:04:07.960
to You on Bended Knee and Water Runs, Dry Green Day, Dookie,
68
00:04:08.879 --> 00:04:14.479
basket Case, When I Come Around, Longview, Lion King, various artists,
69
00:04:14.879 --> 00:04:18.480
Circle of Life, Elton John, of course, Hakuna Matata, Can
70
00:04:18.519 --> 00:04:21.199
You Feel the Love Tonight? With the hits there Music
71
00:04:21.240 --> 00:04:23.879
Box by Mariah Carey, which was number one last year,
72
00:04:24.720 --> 00:04:27.560
is number two, Dream Lover, Hero and Without You were
73
00:04:27.600 --> 00:04:32.040
the hits, and number one Pink Floyd the Division Bell
74
00:04:33.480 --> 00:04:39.040
Take It Back, High Hopes, Keep Talking other hits as well,
75
00:04:39.240 --> 00:04:44.240
another stunner. Yeah, absolutely great, great album. Okay, what do
76
00:04:44.279 --> 00:04:47.120
you got for nineteen ninety four, Richard In.
77
00:04:47.519 --> 00:04:51.120
On the space side, there are three flights to Mirror
78
00:04:51.399 --> 00:04:53.319
this year, which is a lot. This is now the
79
00:04:53.399 --> 00:04:56.959
Russian Federation, so they're sort of gearing things up. The
80
00:04:56.959 --> 00:05:01.759
first one, eighteen, has Valerie y Akov on it, who
81
00:05:01.839 --> 00:05:05.160
will then hold the record for the longest single trip
82
00:05:05.160 --> 00:05:07.399
into space at four hundred and thirty seven days, but
83
00:05:07.439 --> 00:05:10.399
of course that won't be until nineteen ninety six. Yeah.
84
00:05:10.680 --> 00:05:17.040
On the shuttle side there is seven missions total, two
85
00:05:17.079 --> 00:05:21.439
for Discovery, two for Columbia, two for Endeavor, and one
86
00:05:21.480 --> 00:05:23.920
for Atlantis the most interesting one. Most of them are
87
00:05:23.920 --> 00:05:26.879
just straight science missions, but this is the in February,
88
00:05:26.920 --> 00:05:31.360
the mission with Discovery has Sergei Krikalev on board. It's
89
00:05:31.360 --> 00:05:33.199
the first time a Russian will ever fly on the Shuttle.
90
00:05:33.240 --> 00:05:36.560
It's the beginning of the Shuttle Mirror program. One of
91
00:05:36.560 --> 00:05:39.720
the things they tested on this mission was direct communications
92
00:05:39.720 --> 00:05:43.560
with mir so getting the right radios, figuring out connections
93
00:05:43.560 --> 00:05:45.800
and so forth, which will be beginning over the next
94
00:05:45.839 --> 00:05:49.839
few years to culminate in actually docking a Shuttle to
95
00:05:49.959 --> 00:05:53.000
Mirror and that whole initiative. So it begins in nineteen
96
00:05:53.199 --> 00:05:53.839
ninety four.
97
00:05:54.079 --> 00:05:56.839
I was back when Russia liked us. Remember that, there's
98
00:05:56.839 --> 00:05:59.240
this brief interval where, you know, so they liked us
99
00:05:59.240 --> 00:06:00.879
because we were giving them a lot of money.
100
00:06:01.040 --> 00:06:03.800
We certainly were support helping support them to try and
101
00:06:03.839 --> 00:06:06.720
go into a commercial economy and you know, open things up.
102
00:06:07.600 --> 00:06:10.199
This is also when it's actually ninety three that they
103
00:06:10.279 --> 00:06:12.680
made the agreement to do the International Space Station. The
104
00:06:12.759 --> 00:06:14.240
US have been trying to come up with space station
105
00:06:14.319 --> 00:06:18.120
plan for a while, and so in nineteen ninety four
106
00:06:18.759 --> 00:06:23.240
NASA actually opens the Space Station Processing Facility to start
107
00:06:23.319 --> 00:06:26.600
building their components. While the Russians have actually got existing
108
00:06:26.639 --> 00:06:29.279
components that were going to be for Mere two that
109
00:06:29.360 --> 00:06:32.519
will be turned into the first of the International Space
110
00:06:32.519 --> 00:06:35.720
Station components. One more space mission actually is in January.
111
00:06:35.800 --> 00:06:38.639
It's one of my very favorites. Launched out of Vandenberg
112
00:06:40.040 --> 00:06:43.160
Space Space on a Titan two, the same rocket that
113
00:06:43.160 --> 00:06:45.120
they flew the Gemini missions on back in the day,
114
00:06:45.600 --> 00:06:51.399
was the Klementine mission. So what was Clementine. Clementine was
115
00:06:51.480 --> 00:06:56.240
actually a test article built by the Ballistic Missile Defense Group,
116
00:06:56.319 --> 00:06:58.480
So jump all the way back to the eighties and
117
00:06:58.519 --> 00:07:02.199
the full on Cold War and Ronald Reagan and he
118
00:07:02.360 --> 00:07:06.639
had his Strategic Defense Initiative, which diominally called star Wars,
119
00:07:07.800 --> 00:07:09.319
and in that was this idea that it would be
120
00:07:09.399 --> 00:07:13.000
this array of satellites that would monitor for any launches
121
00:07:13.040 --> 00:07:16.319
of ICBMs and then other satellites that could actually shoot
122
00:07:16.360 --> 00:07:21.879
them down. And they had great names like Brilliant Pebble. Well,
123
00:07:21.959 --> 00:07:27.399
Clementine was actually a prototype Brilliant Pebble, a small satellite
124
00:07:27.720 --> 00:07:30.879
with maneuvering systems and great sensors and so forth. And
125
00:07:30.920 --> 00:07:32.839
after they finished the test article, but the program had
126
00:07:32.839 --> 00:07:37.120
been shut down, the Blistic Defense the Initiative group basically
127
00:07:37.120 --> 00:07:40.279
said an Astley, you want this thing, and they're like sure,
128
00:07:40.360 --> 00:07:44.360
and they repurposed it into an explorer satellite and its
129
00:07:44.399 --> 00:07:48.079
mission was to hear that fly to the Moon and
130
00:07:48.120 --> 00:07:50.639
then it was going to fly on from there to
131
00:07:51.839 --> 00:07:55.040
intercept a near Earth asteroid, at which point it would
132
00:07:55.079 --> 00:07:56.600
be lost and gone forever.
133
00:07:56.959 --> 00:08:00.120
I see, I see. I thought it was because of
134
00:07:59.720 --> 00:08:00.800
smell like oranges.
135
00:08:00.920 --> 00:08:03.800
No, they literally backed into the acronym based on the
136
00:08:03.800 --> 00:08:05.639
fact that they were going to losing them forever. Now.
137
00:08:05.639 --> 00:08:08.240
The Clementine mission, they never made it to the asteroid.
138
00:08:08.279 --> 00:08:11.319
They did get to the Moon, and one of the
139
00:08:11.399 --> 00:08:15.639
experiments they did was bouncing radar off of the poles
140
00:08:15.720 --> 00:08:19.360
of the Moon. Even going back to the Apollo Ara,
141
00:08:19.399 --> 00:08:21.519
there's this idea that there might be ice on the Moon,
142
00:08:21.560 --> 00:08:24.560
but there was absolutely no proof, and so there was
143
00:08:24.600 --> 00:08:28.000
an attempt by Clementine doing these radar experiments actually bounced them,
144
00:08:28.800 --> 00:08:31.680
transmitting them from Clementine off the surface of the Moon
145
00:08:31.879 --> 00:08:36.480
to Aricibo. The old gigantic dish it's now gone in
146
00:08:36.639 --> 00:08:40.120
Puerto Rico, and the reflectivity that got from it was
147
00:08:40.200 --> 00:08:44.879
an indicator of hydrogen and austri There was some proof
148
00:08:44.919 --> 00:08:48.000
that there might be ice and lots of it in
149
00:08:48.480 --> 00:08:52.799
shaded craters on the poles of the moon. So that
150
00:08:52.840 --> 00:08:54.759
was sort of the first indications that came from the
151
00:08:54.799 --> 00:08:59.559
Clementine mission, and very much your swords into plowshares kind
152
00:08:59.600 --> 00:09:03.879
of took old Cold War tool and turn it into
153
00:09:04.000 --> 00:09:06.879
a science project. Now, okay, cool, that's all I got
154
00:09:06.879 --> 00:09:08.919
for space. Let's talk a little bit about computing at
155
00:09:08.919 --> 00:09:12.639
a time. Of course, the Internet is emerging rapidly. In
156
00:09:12.759 --> 00:09:14.559
nineteen nighty four is a year that the World Wide
157
00:09:14.600 --> 00:09:18.639
Web Consortium is formed, with offices in CERN and at MT,
158
00:09:19.000 --> 00:09:22.600
with Tim berners Lee heavily involved. A guy named hack
159
00:09:22.679 --> 00:09:26.519
On wim Lee proposes a thing called cascading style sheets,
160
00:09:26.840 --> 00:09:28.639
and none of us are afraid enough at the time
161
00:09:28.679 --> 00:09:32.320
to know we should stop that. Man. Oh wait, did
162
00:09:32.320 --> 00:09:34.879
I say that? I thought that's too bad. And Rasmus
163
00:09:34.919 --> 00:09:42.000
Laerdorf publishes the first specifications for PHP PHP, the acronym
164
00:09:42.080 --> 00:09:45.559
being PHP Hypertext Processor because recursive.
165
00:09:45.720 --> 00:09:49.360
I thought Rory Blis's definition was good. Pretty hot programmer.
166
00:09:49.440 --> 00:09:53.200
There you go a group called the Enterprise Integration Technologies
167
00:09:53.240 --> 00:09:56.559
which founds a group called commerce Net, and they do
168
00:09:56.679 --> 00:09:59.600
the first credit card transactions.
169
00:09:58.799 --> 00:10:01.799
On the Internet. Yep, I remember those days.
170
00:10:01.840 --> 00:10:04.799
Which causes by the middle of the year, pizza Hut
171
00:10:04.799 --> 00:10:08.639
to stand up, the first online pizza ordering service, which
172
00:10:08.639 --> 00:10:11.000
is actually the first online purchasing service of any kind.
173
00:10:11.159 --> 00:10:12.480
Really. Yeah.
174
00:10:12.519 --> 00:10:15.840
Also the year that the Snopes website stands up to
175
00:10:16.159 --> 00:10:21.639
debunk everything everything, yes, elsewhere. In computing, MS DOS six
176
00:10:21.679 --> 00:10:23.320
point two to two is released. That will be the
177
00:10:23.320 --> 00:10:26.919
final version of m STOs NT three five we had
178
00:10:26.919 --> 00:10:28.720
three one last year and Hour up to three five
179
00:10:29.159 --> 00:10:32.080
and Windows three one one Windows for work groups. Oh,
180
00:10:32.440 --> 00:10:36.519
integration with networking, all that good stuff. IBM releases OS
181
00:10:36.559 --> 00:10:38.840
two WARP, which will be the last version of OS two.
182
00:10:39.279 --> 00:10:43.679
Intel announces a sixty four bit processor called Itanium. Yeah,
183
00:10:43.840 --> 00:10:49.240
we'll eventually known it as Titanium. And over on the
184
00:10:49.320 --> 00:10:52.440
risk side, Acorn out of the UK releases a risk
185
00:10:52.679 --> 00:10:56.080
PC using arm v three and both people who bought
186
00:10:56.080 --> 00:10:59.600
it loved it. And on the storage side, sand disk
187
00:10:59.639 --> 00:11:03.600
release is the format come back flash, which generally is
188
00:11:03.799 --> 00:11:06.639
flash memory, although there are miniature heart drives made in
189
00:11:06.639 --> 00:11:10.960
that form factor as well. And Iomega releases the zip disc.
190
00:11:11.279 --> 00:11:15.799
Oh god, yes, bringing me back here. I had several of.
191
00:11:15.679 --> 00:11:20.600
Them ninety megs Man ninety megs and a little camera
192
00:11:20.679 --> 00:11:25.240
company called Sony releases a video game console called PlayStation. Yeah,
193
00:11:25.480 --> 00:11:26.440
that's nineteen ninety four.
194
00:11:27.039 --> 00:11:29.120
I got one, well you forgot I got one Netscape
195
00:11:29.200 --> 00:11:30.480
Navigator Escape.
196
00:11:30.360 --> 00:11:33.519
Wow than Escape Navigator is not out yet. There's still
197
00:11:33.559 --> 00:11:35.679
mosaic at this point. It'll be next year.
198
00:11:35.720 --> 00:11:37.759
Okay, So I was oh it says it says one.
199
00:11:37.840 --> 00:11:39.279
Oh was released in ninety four.
200
00:11:40.240 --> 00:11:41.559
I think it was point oh nine.
201
00:11:41.840 --> 00:11:45.960
And then Yahoo was founded, and you forgot a good album,
202
00:11:46.000 --> 00:11:50.559
the Downward Spiral, Oh boy, okay, and also music for
203
00:11:50.600 --> 00:11:55.519
the Jilted generation Prodigy fantastic one. You forgot a fantastic film,
204
00:11:55.639 --> 00:11:58.639
pulp fiction. Okay, I forget that. Oh boy, Oh he's
205
00:11:58.639 --> 00:12:04.120
forgot a great show. The one called Friends appeared that Oh.
206
00:12:04.120 --> 00:12:07.039
Yeah, I said friends blood friends. Oh you did, okay,
207
00:12:07.399 --> 00:12:09.440
I didn't hear friends, Yeah, I called that out. Let
208
00:12:09.440 --> 00:12:12.200
me think anything else, anything else. I want to make
209
00:12:12.200 --> 00:12:18.159
sure we got yacht one Station Doomed two, Warcraft Orcs
210
00:12:18.159 --> 00:12:20.600
and Humans is released in Final Fantasy.
211
00:12:21.120 --> 00:12:24.559
There was a website that came online in nineteen ninety four.
212
00:12:24.639 --> 00:12:27.879
Maybe you've heard of it. It was called Carling Gary's VB homepage.
213
00:12:29.639 --> 00:12:32.039
I visited that page, yeah.
214
00:12:31.919 --> 00:12:35.360
Nineteen ninety four. It was one of the first websites
215
00:12:35.720 --> 00:12:38.440
that was, you know, for that kind of thing, and
216
00:12:38.519 --> 00:12:41.639
it was definitely the first website for Visual Basic. The
217
00:12:41.679 --> 00:12:46.360
only other things were Microsoft's MSDN website, which had, you know,
218
00:12:47.159 --> 00:12:48.960
the stuff that you would expect them to have, but
219
00:12:49.679 --> 00:12:53.120
this was the first Visual Basic website and it just
220
00:12:53.279 --> 00:12:57.759
took off like crazy. Yeah, I guess that's it. Yeah,
221
00:12:57.799 --> 00:13:01.919
all right, so let's do Better know framework roll it awesome?
222
00:13:09.600 --> 00:13:09.879
All right?
223
00:13:10.000 --> 00:13:10.440
What we got?
224
00:13:10.639 --> 00:13:14.039
So we're talking about squad with Brady today for sure,
225
00:13:14.120 --> 00:13:17.879
and Jeff Fritz and I did an episode on Coded
226
00:13:17.919 --> 00:13:21.440
with AI episode eighteen where he went through and did
227
00:13:21.480 --> 00:13:24.159
a demo of squad. Nice. So if you want to
228
00:13:24.200 --> 00:13:28.279
see that, that's the better know framework for this for
229
00:13:28.360 --> 00:13:30.159
the show, and it'll be on the website.
230
00:13:30.279 --> 00:13:30.519
Cool.
231
00:13:30.679 --> 00:13:32.919
Yeah, it's this is how I fell in love with
232
00:13:32.919 --> 00:13:34.840
it and since I've been using it. We'll talk about
233
00:13:34.840 --> 00:13:38.000
that with Brady in a minute. So who's talking to us?
234
00:13:38.080 --> 00:13:40.480
Richard Harby comment off the show nineteen eighty nine. The
235
00:13:40.480 --> 00:13:43.039
one we did with Ben de Tree talking about the
236
00:13:43.120 --> 00:13:45.720
roll of AI and secure software got a lot of
237
00:13:45.720 --> 00:13:48.840
comments on the show and our friend Codepeuter himself, Richard
238
00:13:48.879 --> 00:13:51.879
Rukima said. Richard said it building with AI is not
239
00:13:52.159 --> 00:13:55.879
about writing code. The skill is context management. My approach
240
00:13:55.919 --> 00:13:58.159
is to give AI the context of the application, but
241
00:13:58.200 --> 00:14:01.440
then focus its coding effort in the architecture of the design. Yeah,
242
00:14:01.440 --> 00:14:05.120
the architecture does not minimized change blast within the layers
243
00:14:05.159 --> 00:14:08.120
of the architecture, and it's also a container that the
244
00:14:08.159 --> 00:14:11.440
AI can be limited to. This happens the I agents
245
00:14:11.440 --> 00:14:13.240
need to work together to get multiple changes done at
246
00:14:13.279 --> 00:14:17.639
the same time or within dependencies that normal work already has.
247
00:14:18.200 --> 00:14:21.039
But that's a workflow. Context sounds like managing a team,
248
00:14:21.120 --> 00:14:23.960
doesn't it. Where is that product managing a squad?
249
00:14:24.080 --> 00:14:28.559
Anyway, as funny as.
250
00:14:27.840 --> 00:14:32.600
I thought, it was particularly relevant Continuing today's subject, Yeah,
251
00:14:32.919 --> 00:14:35.600
Richard Courts regular on the show. I'm pretty sure he
252
00:14:35.600 --> 00:14:37.240
has a copy of music Code By. But if you'd
253
00:14:37.240 --> 00:14:38.679
like a copy of music Code Buy, I write a
254
00:14:38.679 --> 00:14:41.240
comment on the website at don Arocks dot com or
255
00:14:41.279 --> 00:14:42.919
on the facebooks. We publish every show there and even
256
00:14:42.960 --> 00:14:44.360
comment there in a read in the show, we'll send
257
00:14:44.399 --> 00:14:45.559
you copy music Go buy, and.
258
00:14:45.639 --> 00:14:47.879
Music to code By is still very popular. You can
259
00:14:47.879 --> 00:14:50.600
get it at music too Coode by dot Net. It's
260
00:14:50.759 --> 00:14:54.919
twenty two tracks, twenty five minutes long, designed to keep
261
00:14:54.960 --> 00:14:57.000
you in a state of flow while you're writing code
262
00:14:58.399 --> 00:15:03.120
and uh Yeah, let's introduced Brady Gaster based near Seattle.
263
00:15:03.240 --> 00:15:06.039
Brady aspires to make it easy for dot net developers
264
00:15:06.080 --> 00:15:09.320
to party in the cloud as the product manager behind
265
00:15:09.399 --> 00:15:14.519
Visual Studios, Azure, Write, Click, Publish, and Connected services features.
266
00:15:15.159 --> 00:15:19.440
He also helps with Aspire tooling support in Visual Studio
267
00:15:19.480 --> 00:15:22.360
and Visual Studio Code. And we're not designing new tooling
268
00:15:22.399 --> 00:15:26.639
features or writing things like you know, squad or building
269
00:15:26.679 --> 00:15:31.840
demos with teammates, He's trail running five k's, parenting two teens,
270
00:15:32.240 --> 00:15:35.960
mixing new one seventy four bpm drum and bass sets,
271
00:15:36.320 --> 00:15:38.120
or producing his own electronic music.
272
00:15:38.240 --> 00:15:41.559
Welcome back, Brady, Thanks Ally, how's going? I should probably
273
00:15:41.600 --> 00:15:44.799
send you my new job description. I've moved on from
274
00:15:44.840 --> 00:15:47.919
the VS and dot net crew, who I love Dearly,
275
00:15:48.480 --> 00:15:52.559
my favorite framework of all time, and I'm over in
276
00:15:53.240 --> 00:15:57.879
Ryan Fraser's organization and the app modernization team, specifically the
277
00:15:58.000 --> 00:16:03.080
GitHub co pilot modernization product Great working on things like
278
00:16:03.200 --> 00:16:06.320
the uh working closely with the dottnet team on their
279
00:16:06.679 --> 00:16:10.440
update tool, as well as some stuff on the Java
280
00:16:10.480 --> 00:16:12.240
side and vs code, and then we have this cool
281
00:16:12.360 --> 00:16:16.799
modernized CLI that Timothy J and Hunter shot off at
282
00:16:16.799 --> 00:16:19.039
Ignite that we've been bringing.
283
00:16:18.759 --> 00:16:20.840
Forward and we'll be doing more stuff with over the
284
00:16:20.879 --> 00:16:22.320
next few months. That's exciting.
285
00:16:22.480 --> 00:16:25.559
So yeah, I've been using gi hub Copilot Cli to
286
00:16:25.639 --> 00:16:31.679
do stuff non code related, you know, diagnosing problems with
287
00:16:31.759 --> 00:16:35.919
drivers that won't load, cleaning up Azure resources that I
288
00:16:35.960 --> 00:16:41.960
haven't used in a while, things like that. It's it's
289
00:16:41.960 --> 00:16:46.559
like AI for PowerShell. Really, it's really Yeah, it's amazing.
290
00:16:48.600 --> 00:16:49.600
So let's talk squad.
291
00:16:50.159 --> 00:16:50.519
Sure.
292
00:16:50.799 --> 00:16:53.279
Yeah, first of all, I thought you might have been
293
00:16:53.320 --> 00:16:55.559
working on this for years, but it was just like
294
00:16:55.639 --> 00:16:58.200
a couple of months or something, right.
295
00:16:58.679 --> 00:16:59.679
Not even that, dude.
296
00:17:00.720 --> 00:17:05.720
Uh So, I have been tinkering with like various agentic
297
00:17:06.000 --> 00:17:09.920
tools and frameworks all last year, specifically around the spire,
298
00:17:10.039 --> 00:17:11.599
you know, because that was where I was coming from the.
299
00:17:11.720 --> 00:17:14.200
Description you just read in theory it is your job.
300
00:17:14.920 --> 00:17:16.039
Yeah, yeah, in theories job.
301
00:17:16.359 --> 00:17:18.160
Uh So what I was trying to do last year
302
00:17:18.240 --> 00:17:19.960
was to figure out uh yeah, because I work on
303
00:17:20.000 --> 00:17:22.920
the apps an agents team in Korea, so uh yeah,
304
00:17:23.000 --> 00:17:25.119
you agents are kind of important to us. So all
305
00:17:25.200 --> 00:17:28.559
last year I was trying to spin up essentially your
306
00:17:29.000 --> 00:17:32.960
like file new project with a prompt for Aspire devs,
307
00:17:34.039 --> 00:17:35.279
you know, to kind of say like I want to
308
00:17:35.279 --> 00:17:38.119
build a Kintoso University or whatever, and like it boof
309
00:17:38.319 --> 00:17:40.400
like build your thing. And we tried a bunch of
310
00:17:40.440 --> 00:17:42.759
experiments with it, and you know, the tech was evolving
311
00:17:42.880 --> 00:17:45.480
a bit. There was a lot of different agentic frameworks
312
00:17:45.519 --> 00:17:47.400
out there, and you know, there were a different states
313
00:17:47.400 --> 00:17:50.200
of maturity. I think we tried five six different ways,
314
00:17:51.079 --> 00:17:53.599
and at the end of the year, like the Microsoft
315
00:17:54.319 --> 00:17:57.039
Agent framework took off and started using that and got
316
00:17:57.119 --> 00:17:59.200
got a lot further. But earlier in the year, when
317
00:17:59.240 --> 00:18:01.039
I moved over to the App Organization team where we're
318
00:18:01.039 --> 00:18:03.359
looking at, you know, some of the systems and whatever,
319
00:18:04.559 --> 00:18:08.039
actually was talking to some younger pms inside of core
320
00:18:08.079 --> 00:18:12.599
A I who were you know, like, you know, three
321
00:18:12.640 --> 00:18:14.519
of us were consultants for a while. We've worked with
322
00:18:14.720 --> 00:18:17.799
you know, the tech in the industry, and you know,
323
00:18:17.839 --> 00:18:19.799
then we went on and did other things. But a
324
00:18:19.839 --> 00:18:22.319
lot of folks are new in career and they walk
325
00:18:22.400 --> 00:18:24.440
up and they're like in the App service team, it's like, hey,
326
00:18:24.480 --> 00:18:25.960
what what do we do here. You know, I have
327
00:18:26.039 --> 00:18:28.279
a product idea. Who should I talk to? You know,
328
00:18:29.000 --> 00:18:30.839
I thought it would be cool to spin up a
329
00:18:30.880 --> 00:18:33.519
couple of agents, you know, each representing you know, an
330
00:18:33.559 --> 00:18:37.400
area of the of the of the product line, and say, like,
331
00:18:37.480 --> 00:18:40.640
you represent app servers, you represent container apps, you represent this,
332
00:18:40.759 --> 00:18:43.960
you represent that. Go search the internet, go look at
333
00:18:44.000 --> 00:18:46.759
these products, get hubs and go look at their Reddit
334
00:18:46.839 --> 00:18:49.200
posts and look at their blogs and kind of assess
335
00:18:49.240 --> 00:18:51.200
what their products do. And build an agent, you know,
336
00:18:51.279 --> 00:18:53.759
based on what you think. You know, somebody in that
337
00:18:54.000 --> 00:18:56.359
you know, a PM and that product would would say
338
00:18:56.359 --> 00:18:59.960
their products, you know, issues and opportunities are and when ill.
339
00:19:00.039 --> 00:19:02.319
And it wrote pretty good instructions on its own. You know,
340
00:19:02.400 --> 00:19:04.079
well that was pretty cool. So we'll do that for
341
00:19:04.160 --> 00:19:07.440
every product in core AI. So about twenty about twenty
342
00:19:07.480 --> 00:19:09.799
minutes later, I had two hundred markdown files, you know,
343
00:19:09.960 --> 00:19:12.319
and I was like, this is neat, you know, this
344
00:19:12.359 --> 00:19:14.880
is kind of cool, right, So I asked a few
345
00:19:14.880 --> 00:19:18.359
people I'm trying to do some stuff with with get
346
00:19:18.480 --> 00:19:21.039
ub co pilot cli that we can to make it
347
00:19:21.079 --> 00:19:23.319
spin up multiple agents. I think it was just pret
348
00:19:23.519 --> 00:19:26.039
fleet pre squad for all of it, you know, and
349
00:19:26.279 --> 00:19:29.160
this it was like middle of January, and you know,
350
00:19:29.279 --> 00:19:31.920
it just wasn't It didn't feel right like something. It
351
00:19:31.960 --> 00:19:33.599
didn't look the way I'd seen it look on other
352
00:19:33.599 --> 00:19:35.480
people's screens. And I was like, this is this is?
353
00:19:35.599 --> 00:19:37.559
It looks like it's just Copilot talking to me. It
354
00:19:37.559 --> 00:19:40.599
doesn't seem like it's multiple agents. So I'm paying the
355
00:19:40.599 --> 00:19:43.880
copilot cli kind of teams thread that we have, and
356
00:19:43.920 --> 00:19:46.720
I said, could somebody's shown me a video like how
357
00:19:46.720 --> 00:19:49.599
to do this multi agency thing? And of course some
358
00:19:49.839 --> 00:19:52.319
person way smarter than me dropped in a prompt and
359
00:19:52.359 --> 00:19:54.440
the prompt said, you know, fan out and do blah
360
00:19:54.480 --> 00:19:56.720
blah blah, and I ran the prompt and all of
361
00:19:56.720 --> 00:20:00.440
a sudden, I saw those agents appearing. So then I said, oh, okay.
362
00:20:00.160 --> 00:20:01.960
Like, is that the magic word? Fan out?
363
00:20:02.039 --> 00:20:03.799
That was the magic I think it kind of is
364
00:20:03.839 --> 00:20:06.200
one of those magic words in Squad. It's definitely a
365
00:20:06.240 --> 00:20:08.880
magic word. I think Carl's probably figured that out, especially
366
00:20:08.960 --> 00:20:10.759
have that in our docks pretty pretty thoroughly.
367
00:20:11.119 --> 00:20:13.279
And here I thought the magic word was please.
368
00:20:14.440 --> 00:20:17.559
Please, so we uh, you know, I did some experimentation
369
00:20:17.640 --> 00:20:19.960
with it, and I remember it kind of got working
370
00:20:20.079 --> 00:20:22.079
on my desktop and I asked it a question, like,
371
00:20:22.119 --> 00:20:24.799
you're this product, you're that product, whatever, what should we
372
00:20:24.839 --> 00:20:25.839
do in twenty twenty six?
373
00:20:26.200 --> 00:20:27.559
And it wrote a pretty good report.
374
00:20:27.640 --> 00:20:27.799
You know.
375
00:20:27.920 --> 00:20:31.000
The report wasn't groundbreaking. You know, if you were to
376
00:20:31.039 --> 00:20:33.319
scour a GitHub for a couple of days on all
377
00:20:33.319 --> 00:20:35.319
these products, you would figure out what it.
378
00:20:35.400 --> 00:20:35.960
Said, you know.
379
00:20:36.079 --> 00:20:38.319
But I got pretty enamored with it. I think this
380
00:20:38.359 --> 00:20:41.799
is kind of cool. And timing's weird. Timing is a
381
00:20:41.799 --> 00:20:44.160
strange thing. So I was sitting here at my desk
382
00:20:44.720 --> 00:20:47.119
in the Purple Room and I got up from that
383
00:20:47.160 --> 00:20:51.519
experiment when did my daily run and was raining that day,
384
00:20:51.519 --> 00:20:53.240
so I didn't go outside. I did it on the treadmill,
385
00:20:53.759 --> 00:20:57.119
and I watched a show on molt book and I
386
00:20:57.160 --> 00:21:00.680
started thinking, what if I put these two ideas is together?
387
00:21:00.960 --> 00:21:01.400
Right, you know?
388
00:21:01.599 --> 00:21:04.960
And you know, I'm paying an executive friend of ours,
389
00:21:05.279 --> 00:21:07.559
and I said, hey, I had this thought, you know,
390
00:21:07.680 --> 00:21:11.119
and I put these agents together, and I asked them
391
00:21:11.160 --> 00:21:12.759
a question, and they kind of went off and talked
392
00:21:12.759 --> 00:21:14.839
about it, and they came back with a paper, and
393
00:21:14.880 --> 00:21:16.759
that executive said, do it for these products.
394
00:21:16.759 --> 00:21:16.960
Now.
395
00:21:17.480 --> 00:21:19.599
I was like, maybe I have something, you know, So
396
00:21:19.640 --> 00:21:22.279
I did it for those products. Send it over feedback
397
00:21:22.400 --> 00:21:22.880
was keep going.
398
00:21:24.039 --> 00:21:27.240
And if they're just writing exploring and writing documentation, right,
399
00:21:27.279 --> 00:21:28.839
they're not writing code or anything.
400
00:21:28.960 --> 00:21:31.279
Really, what they were doing is they were these agents
401
00:21:31.279 --> 00:21:34.680
at that time were scouring GitHub. So so like they
402
00:21:34.680 --> 00:21:37.440
would go into like all of the products gethub repositories.
403
00:21:37.759 --> 00:21:40.480
I kind of said, only do this for products for
404
00:21:40.599 --> 00:21:43.480
which you can find their GitHub, their blog and some
405
00:21:43.519 --> 00:21:45.920
Reddit commentary. You know, if you if you can't find
406
00:21:45.920 --> 00:21:47.839
a lot of information, just kind of don't don't do
407
00:21:47.920 --> 00:21:51.680
that one. Right if if they've got an active GitHub repository,
408
00:21:51.680 --> 00:21:54.000
prioritize their issues, you know, so you know, it's get
409
00:21:54.079 --> 00:21:57.119
ub co policy Uli surprise, it can talk to get up.
410
00:21:57.559 --> 00:21:59.720
So it goes through and it finds all these products
411
00:21:59.720 --> 00:22:03.440
in all these issues and writes essentially instruction files. Who
412
00:22:03.440 --> 00:22:07.720
better writes instruction files than a human ill alone. So
413
00:22:07.960 --> 00:22:10.359
essentially I just said, write a bunch of instruction files
414
00:22:10.359 --> 00:22:12.839
for a bunch of agents. Now spin all those agents
415
00:22:12.920 --> 00:22:14.599
up whenever I ask you a question. The thing that
416
00:22:14.640 --> 00:22:17.000
blew my mind at that part, this was like pre squad,
417
00:22:17.160 --> 00:22:19.720
like a couple of hours before squad. The thing that
418
00:22:19.720 --> 00:22:22.200
blew my mind at that point was if you ask
419
00:22:22.359 --> 00:22:26.400
the coordinator copilot a question. It can go and it
420
00:22:26.400 --> 00:22:28.559
can go. Oh, you asked me a question that touches
421
00:22:28.640 --> 00:22:30.519
these products. I'm going to give you an answer back
422
00:22:30.599 --> 00:22:34.200
based on those products. It was really neat And I said, okay,
423
00:22:34.200 --> 00:22:35.279
I got to turn that inside out.
424
00:22:35.319 --> 00:22:38.200
Wow, so it's got some sense of coordination right, Yeah,
425
00:22:38.319 --> 00:22:39.440
knowing where resources are.
426
00:22:39.559 --> 00:22:40.119
Yeah, it was neat.
427
00:22:40.480 --> 00:22:45.319
These agents also have discussions with each other, sometimes disagree,
428
00:22:45.759 --> 00:22:49.400
and then may give you options or recommendation based on
429
00:22:49.440 --> 00:22:50.400
the consensus.
430
00:22:50.559 --> 00:22:54.400
Yeah, it's amazing they do reach consensus. And the way
431
00:22:54.440 --> 00:22:58.599
the instructions for the system, the squad instructions are written.
432
00:23:00.039 --> 00:23:03.599
An agent tries a thing and you know, fails at
433
00:23:03.599 --> 00:23:06.599
that thing. I think, I think they can try twice,
434
00:23:07.000 --> 00:23:08.519
and then they are not allowed.
435
00:23:08.200 --> 00:23:10.200
To try again. They're locked out.
436
00:23:10.680 --> 00:23:13.799
So they are locked out from trying again. Another agent
437
00:23:13.880 --> 00:23:17.799
has to try, and when that agent tries, they both
438
00:23:17.880 --> 00:23:22.319
write in one another's history what they learned. So your
439
00:23:22.400 --> 00:23:26.240
agents in your repo grow in terms of how efficient
440
00:23:26.279 --> 00:23:28.079
they are with your repo over time.
441
00:23:28.480 --> 00:23:29.839
Now, I have to be honest with you.
442
00:23:30.160 --> 00:23:34.319
You mentioned context windows that will bite you later. So
443
00:23:34.440 --> 00:23:36.960
the agents will kind of clean up as they go. First,
444
00:23:37.000 --> 00:23:40.160
each agent only had like one file like charter and
445
00:23:40.200 --> 00:23:43.079
everything it learned it would write in there, and then
446
00:23:43.480 --> 00:23:45.039
a lot of the other agents had other files that
447
00:23:45.039 --> 00:23:48.599
they would write like decisions DOTD That one gets pretty long.
448
00:23:49.920 --> 00:23:52.319
All those files would get long over time, all the
449
00:23:52.359 --> 00:23:54.799
decisions that the agents make and whatever. So over time
450
00:23:54.880 --> 00:23:58.119
we've implemented things where it gets split into multiple files.
451
00:23:58.599 --> 00:24:00.400
You know, if you think about short term memory and
452
00:24:00.440 --> 00:24:02.599
long term memory, you know, like like you know, the
453
00:24:02.599 --> 00:24:05.119
agents only need the short term memory to operate. All
454
00:24:05.160 --> 00:24:06.599
of a sudden that they have a problem, they can
455
00:24:06.640 --> 00:24:08.279
go back to their history and be like, oh, oh,
456
00:24:08.440 --> 00:24:11.200
I remember that, and then they can bring that back.
457
00:24:11.240 --> 00:24:14.920
They'll also manage where their memory needs to live. They've
458
00:24:14.960 --> 00:24:17.400
got kind of hot cold memory, so they'll put things
459
00:24:17.440 --> 00:24:20.640
that they're not using kind of off to the side.
460
00:24:20.799 --> 00:24:24.559
And this is kind of Neat one of the evenings
461
00:24:24.599 --> 00:24:26.359
that I was working on it pretty late, I was
462
00:24:26.400 --> 00:24:28.440
looking at some of the stuff Shane was doing with
463
00:24:28.559 --> 00:24:31.359
WASA and sense some of the products he's doing around
464
00:24:31.519 --> 00:24:36.279
using agentic skills. H and I started thinking skills are
465
00:24:36.440 --> 00:24:39.279
really useful in this context. It's really just a set
466
00:24:39.319 --> 00:24:42.160
of markdown that tells the agent like what's the allies
467
00:24:42.200 --> 00:24:44.759
to call or what tools to call or whatever you know,
468
00:24:44.880 --> 00:24:47.480
and and the markdown for that skill kind of boxes
469
00:24:47.519 --> 00:24:50.559
the agent in to do that one thing. Hey, here's
470
00:24:50.559 --> 00:24:54.599
a new rule, squad members. Don't guess it stuff. If
471
00:24:54.640 --> 00:24:56.759
you find that you've done something twice, the next time,
472
00:24:56.799 --> 00:24:59.039
you do it right, just skill right. So what they'll
473
00:24:59.039 --> 00:25:02.200
do is they'll actually I claude or copilot compliance skilled
474
00:25:02.200 --> 00:25:04.960
a disc and they'll put it as low confidence, and
475
00:25:04.960 --> 00:25:06.680
then the next time an agent does it, they leave
476
00:25:06.680 --> 00:25:09.279
it at low confidence. The fourth time an agent uses
477
00:25:09.319 --> 00:25:11.720
that skill and does not change that skill, they'll raise
478
00:25:11.720 --> 00:25:14.119
the confidence training and then three more times later they'll
479
00:25:14.160 --> 00:25:17.440
raise it again. So essentially they make those skills better
480
00:25:17.480 --> 00:25:19.519
over time. I have a skill. I'll be very frank
481
00:25:19.559 --> 00:25:21.559
with you. I have a skill that I will clone
482
00:25:21.559 --> 00:25:25.759
the squad repo once in the evening the cut the
483
00:25:25.799 --> 00:25:27.920
origin off. So I'll cut the remote off because it
484
00:25:27.960 --> 00:25:31.519
does commit very quickly back and I'll run a report
485
00:25:31.559 --> 00:25:33.400
to kind of see how many issues, pull request and
486
00:25:33.440 --> 00:25:35.920
whatever else are being done by public guid up depositories
487
00:25:35.960 --> 00:25:38.440
that use squad every night. A number gets pretty big
488
00:25:38.440 --> 00:25:41.799
every night. It's kind of cool, but I'll I'll cut
489
00:25:41.799 --> 00:25:45.640
the origin because squad will rapidly commit back because it's
490
00:25:45.680 --> 00:25:48.559
committing its memory back. You can control that behavior, you know,
491
00:25:48.599 --> 00:25:51.160
whenever you fire up your squad, you can go, please
492
00:25:51.200 --> 00:25:52.720
don't commit unless I tell you too.
493
00:25:52.799 --> 00:25:55.000
Please don't push unless I tell you too, that kind
494
00:25:55.000 --> 00:25:55.319
of thing.
495
00:25:55.559 --> 00:26:00.359
So I'll still like that. Squad is project specific, so
496
00:26:00.759 --> 00:26:04.119
it's not like system wide, you know, like co pilot is.
497
00:26:04.880 --> 00:26:09.880
You have to install it at the project root and
498
00:26:09.920 --> 00:26:13.240
then it builds the squad files and you can tell it,
499
00:26:13.680 --> 00:26:18.960
you know, to name your squad based on popular culture things.
500
00:26:19.559 --> 00:26:23.839
Jeff Fritz used the d C Comics Universe to name
501
00:26:23.880 --> 00:26:29.200
his squads. I used musicians that have played in or
502
00:26:29.240 --> 00:26:30.440
for Steely Dan.
503
00:26:30.960 --> 00:26:32.960
Nice, very specific.
504
00:26:33.160 --> 00:26:36.519
So my job is script expert was named Fagan Nice.
505
00:26:37.400 --> 00:26:38.519
That's good. That's good.
506
00:26:40.039 --> 00:26:42.960
That's one thing that I find it find interesting about it.
507
00:26:43.079 --> 00:26:45.359
You know, I don't know if I think Richard knows this.
508
00:26:45.519 --> 00:26:48.799
My background is actually in psychology, a counselor, and I've
509
00:26:48.839 --> 00:26:52.720
always really loved studying the way organisms communicate and learn
510
00:26:52.759 --> 00:26:54.519
from one another and whatever. So this has always been
511
00:26:54.599 --> 00:26:56.799
fun for me. What's really fun is watching the way
512
00:26:56.880 --> 00:27:00.279
people talk about squad, you know the way like all
513
00:27:00.519 --> 00:27:02.319
just said, you know, well, actually, you know, we have
514
00:27:02.400 --> 00:27:04.839
a squad team where a lot of the folks that
515
00:27:04.920 --> 00:27:06.839
work on squad kind of all over the world are
516
00:27:07.000 --> 00:27:09.839
they're twenty four hours day. You know, we just do
517
00:27:09.960 --> 00:27:11.759
this or just did this, And then all of a
518
00:27:11.799 --> 00:27:15.599
sudden the language changes, Oh, Kawayashi just did this, Finster
519
00:27:15.880 --> 00:27:19.359
just did this, right, you know they're talking about their
520
00:27:19.359 --> 00:27:20.039
squad members.
521
00:27:20.039 --> 00:27:22.400
Are you giving software agency at that point? Is that
522
00:27:22.440 --> 00:27:23.039
what's happening?
523
00:27:23.160 --> 00:27:25.519
That was the idea, man, That was absolutely the idea.
524
00:27:25.960 --> 00:27:28.720
So I started, you know, there's a there's I've got
525
00:27:28.759 --> 00:27:33.240
one repo that I posted about chat SHPT was looking
526
00:27:33.240 --> 00:27:36.359
at what I was doing in squad and it started
527
00:27:36.440 --> 00:27:38.319
kind of commenting that it looked like it was an
528
00:27:38.319 --> 00:27:41.559
implementation of Conway's law. It was like, that's not exactly
529
00:27:41.720 --> 00:27:44.240
Conway's law, you know, But the more I ran these
530
00:27:44.279 --> 00:27:46.200
tests more it was like, no, no, no, it's Conway's law.
531
00:27:46.559 --> 00:27:49.039
And it was like, I thought this was kind of weird, like.
532
00:27:49.279 --> 00:27:53.519
Like Conway's law being everything you make reflects the organization
533
00:27:53.599 --> 00:27:56.240
that makes it. If you have three teams working on compiler,
534
00:27:56.279 --> 00:27:58.839
you get a three pass compiler right right, So.
535
00:27:58.880 --> 00:28:01.640
Yeah, so I found that be interesting. So I, you know,
536
00:28:01.640 --> 00:28:03.720
I said, I don't know if this is really any good,
537
00:28:03.880 --> 00:28:06.759
like like, let's let's run some tests. So I ran
538
00:28:06.799 --> 00:28:09.240
some tests. And essentially the test where take a small
539
00:28:09.799 --> 00:28:13.200
a small task like build build project, food snak game
540
00:28:13.279 --> 00:28:16.839
or whatever. You know, build build build task using squad
541
00:28:17.519 --> 00:28:19.680
you know, a team of specialized agents once the assess
542
00:28:20.160 --> 00:28:23.279
agent almost said person again, uh one job script agent,
543
00:28:23.279 --> 00:28:25.119
et cetera, et cetera. You know, so so one of
544
00:28:25.160 --> 00:28:28.160
each of these skills. You know, I'm waiting for somebody
545
00:28:28.200 --> 00:28:32.319
to do the uh special set of skills thing. But
546
00:28:32.480 --> 00:28:34.920
you know, when you when you throw a task at
547
00:28:34.920 --> 00:28:38.319
a team of specialists, what is the comparison to if
548
00:28:38.359 --> 00:28:41.440
you throw with that same task at a team of
549
00:28:41.519 --> 00:28:45.480
generic agents. And in this case, it was a small,
550
00:28:46.279 --> 00:28:49.359
you know, small thing like build build small app, but
551
00:28:49.440 --> 00:28:53.559
it was roughly twenty percent and basically what you if
552
00:28:54.119 --> 00:28:56.440
I could run through the metrics. You can't really look
553
00:28:56.480 --> 00:28:58.960
on screen, but you look at the metrics, uh, you know,
554
00:28:59.119 --> 00:29:02.279
like the specialist there were one hundred and two tests,
555
00:29:02.359 --> 00:29:04.640
the generics there were one hundred and eight. Not always
556
00:29:04.640 --> 00:29:07.400
a bad thing. All the tests passed in both areas.
557
00:29:08.599 --> 00:29:12.039
All source files changed on the specialist seven whereas on
558
00:29:12.160 --> 00:29:14.839
the generic it was nine. Lines of code for the
559
00:29:14.839 --> 00:29:18.759
Specialist was thirteen forty five whereas the Generic was sixteen hundred.
560
00:29:20.000 --> 00:29:23.160
Model file is in task JS lines two forty versus
561
00:29:23.240 --> 00:29:28.480
two ninety eight, route file lines versus one forty four,
562
00:29:29.000 --> 00:29:31.640
migration file lines. I thought it was interesting thirty one
563
00:29:31.759 --> 00:29:35.839
versus fifty nine, test file organization three versus five, and
564
00:29:35.839 --> 00:29:38.519
then separate audit model and no versus Yes, so it
565
00:29:38.559 --> 00:29:40.200
kind of went through some of the different things, like
566
00:29:40.240 --> 00:29:42.200
it was a little bit faster with the Specialist, the
567
00:29:42.240 --> 00:29:45.519
code was a little cleaner, and it definitely felt like
568
00:29:45.559 --> 00:29:48.240
it was more organized. The argument there was, this is
569
00:29:48.240 --> 00:29:50.319
a small initiative that you ran for like ten to
570
00:29:50.359 --> 00:29:53.680
fifteen minutes. What if it was a modernization exercise, sure,
571
00:29:53.720 --> 00:29:56.559
but if it was, like, you know, a large scale
572
00:29:56.599 --> 00:29:59.240
project like I don't know, community server or something like that, you.
573
00:29:59.200 --> 00:30:04.279
Know, forty eight hours, look like right, yeah, yeah, wow.
574
00:30:04.079 --> 00:30:08.400
So that got pretty interesting. That's pretty cool.
575
00:30:09.359 --> 00:30:11.720
But it also speaks to a pattern I think we're
576
00:30:11.759 --> 00:30:14.799
going to see where over time, you're going to have
577
00:30:14.839 --> 00:30:17.119
a set of agents specific to an application, like as
578
00:30:17.119 --> 00:30:21.599
a product goes into maintenance, the tooling set's going to
579
00:30:21.680 --> 00:30:26.279
know more about the software than a person anymore. And
580
00:30:26.279 --> 00:30:28.279
and the fact that it's what you've worked through multiple
581
00:30:28.319 --> 00:30:30.480
versions with these tools means it's going to give you
582
00:30:30.480 --> 00:30:32.559
a pretty strict guidance on how to add a feature
583
00:30:32.680 --> 00:30:35.880
or evolve the code at all to the betterment of
584
00:30:35.920 --> 00:30:39.599
everything like that. In some ways, one would argue, unlike
585
00:30:39.720 --> 00:30:43.920
most software, this your product under this environment will get
586
00:30:44.000 --> 00:30:47.319
better version to version because the tooling will get stronger.
587
00:30:47.559 --> 00:30:50.039
Yeah, that's the that's that's the idea, that's the aim.
588
00:30:50.240 --> 00:30:53.119
You know that contact window will bite you every time, dude,
589
00:30:53.200 --> 00:30:55.599
Like it really really will. And you know one thing
590
00:30:55.640 --> 00:30:57.920
that people talk about with the context window. Let's take
591
00:30:57.960 --> 00:31:00.839
Opus or Sonic as a for instance. You know you
592
00:31:00.839 --> 00:31:03.799
have a two hundred thousand token limit on all a message.
593
00:31:03.880 --> 00:31:06.119
So you send a message, if that message is going
594
00:31:06.160 --> 00:31:08.599
to write a novel, you're gonna blow your window. So
595
00:31:08.640 --> 00:31:09.960
you're not gonna be to get all back because you
596
00:31:10.000 --> 00:31:13.119
get that limit. So let's say you have a squad,
597
00:31:13.440 --> 00:31:15.960
say you've got a squad five, Well, guess what your
598
00:31:16.160 --> 00:31:20.519
your window per message is a million. Now, because each
599
00:31:20.599 --> 00:31:22.920
one of the agents has two hundred thousand, so they
600
00:31:22.920 --> 00:31:25.039
can go back and there the other little thing and
601
00:31:25.119 --> 00:31:27.880
have their conversation and come back. Now do you use
602
00:31:27.880 --> 00:31:33.039
more tokens? Yes, yes, you will use more tokens. You know,
603
00:31:33.119 --> 00:31:37.240
Jeremy just posted an interesting Twitter where he's got like
604
00:31:37.279 --> 00:31:39.119
a it looks like a hockey stick, you know, Like
605
00:31:39.319 --> 00:31:41.680
he started using squad and it was a vertical line.
606
00:31:42.119 --> 00:31:43.960
And I've talked to some folks who start using it.
607
00:31:44.000 --> 00:31:46.279
They see that experience and then it drops because the
608
00:31:46.279 --> 00:31:48.519
agents get better so they have to work less.
609
00:31:49.599 --> 00:31:53.000
Well, you also pay. We get up co pilot cli
610
00:31:53.119 --> 00:31:57.720
by the request, not by the token, so that's that's good.
611
00:31:58.119 --> 00:32:01.279
I mean it's more a fit shouldn't request wise, but
612
00:32:01.519 --> 00:32:04.480
token wise. You can see that in the demo that
613
00:32:04.519 --> 00:32:09.400
Fritz and I did. It was quickly over a million tokens.
614
00:32:10.240 --> 00:32:12.680
But I think the benefit the thing that I would
615
00:32:12.680 --> 00:32:14.759
wonder I'd love to do research on this. If you're
616
00:32:14.799 --> 00:32:18.359
having a single threaded conversation with Copilot, which is you know,
617
00:32:18.519 --> 00:32:22.440
fantastic models are fantastic. If you're having that single threaded
618
00:32:22.480 --> 00:32:25.240
conversation and you're not a prompt engineer, are you going
619
00:32:25.319 --> 00:32:26.799
to be as efficient as if you were to ask
620
00:32:26.839 --> 00:32:30.119
a bunch of experts, experts, go solve this problem for me.
621
00:32:30.240 --> 00:32:33.359
You know, I right, so far, I'm so far. I'm
622
00:32:33.359 --> 00:32:36.640
compelled me too, you know it feels Yeah.
623
00:32:36.440 --> 00:32:39.039
Process of communicating with experts is not simple either.
624
00:32:39.200 --> 00:32:39.559
Well it's not.
625
00:32:39.599 --> 00:32:40.640
Maybe we should take a break.
626
00:32:40.759 --> 00:32:42.640
Yeah, let's take a break. We'll be right back after
627
00:32:42.680 --> 00:32:49.160
these very important messages, and we're back. It's dot net Rocks.
628
00:32:49.200 --> 00:32:52.400
I'm Carl Franklin, That's Richard Campbell, and that's Brady Gaster.
629
00:32:52.519 --> 00:32:58.119
We're talking Squad multi agent team that you can deploy
630
00:32:58.319 --> 00:33:02.000
and employ for or your projects that will help everything
631
00:33:02.039 --> 00:33:05.240
go real smooth. I wanted to tell you that I
632
00:33:05.240 --> 00:33:09.119
immediately got to work with Squad and quickly found out
633
00:33:09.119 --> 00:33:11.680
that I had an old version of GitHub Cli that
634
00:33:11.759 --> 00:33:16.599
it didn't like gethub copilot cli. So I updated that
635
00:33:16.839 --> 00:33:19.839
and got in the pre release, which means that it'll
636
00:33:19.839 --> 00:33:23.680
automatically install new releases when they come out, and boom,
637
00:33:23.759 --> 00:33:28.000
everything worked. The app that I'm writing with it, and
638
00:33:28.039 --> 00:33:30.079
I can't believe it, but I've only been working on
639
00:33:30.119 --> 00:33:32.839
it for a few days in my spare time and
640
00:33:32.880 --> 00:33:36.200
it's almost done. Is a you're gonna like this, Brady
641
00:33:36.319 --> 00:33:41.759
it's a remote daw digital audio workstation, so it doesn't
642
00:33:41.759 --> 00:33:44.440
have all the features of a digital audio workstation, but
643
00:33:44.480 --> 00:33:48.119
it looks the same. Like it's got tracks, and you
644
00:33:48.240 --> 00:33:53.039
have a remote artist at a home studio whatever, and
645
00:33:53.079 --> 00:33:56.960
they connect and you connect them with an authorization, and
646
00:33:57.200 --> 00:34:00.759
you play. You load up a backing track, which is
647
00:34:01.000 --> 00:34:02.880
you know, a stereo track of what they're going to
648
00:34:03.200 --> 00:34:06.440
perform to, whether it's singing or playing keyboards or guitar
649
00:34:06.559 --> 00:34:10.519
or whatever. And then you basically, you know, you can
650
00:34:10.559 --> 00:34:13.599
control their devices and your devices and which devices are
651
00:34:13.639 --> 00:34:15.960
going to be used. There's automatic talk back which you
652
00:34:16.000 --> 00:34:20.119
can mute, and then you basically push the record button
653
00:34:20.440 --> 00:34:23.599
and streams to the artists and they hear, you know,
654
00:34:23.719 --> 00:34:27.320
the backing track, and then they record and you see
655
00:34:27.360 --> 00:34:32.280
the waveform just like when you're recording locally, and it
656
00:34:32.400 --> 00:34:34.800
syncs up. And that's the that's the hardest thing that
657
00:34:34.840 --> 00:34:38.440
I had to do was making the synk happen because
658
00:34:39.159 --> 00:34:44.559
and this caused many discussions between the agents about you know,
659
00:34:44.639 --> 00:34:46.280
how are we going to do this with the math,
660
00:34:46.320 --> 00:34:49.800
and maybe we have to do some tests and figure
661
00:34:49.800 --> 00:34:53.079
out because all of these little things. Then in the
662
00:34:53.159 --> 00:34:57.840
jobscript audio basically take time. Yeah, and so how do
663
00:34:57.880 --> 00:35:01.880
you estimate that if you don't do a test and
664
00:35:02.039 --> 00:35:04.599
you know see what that timing is, because it's going
665
00:35:04.679 --> 00:35:07.760
to be different on every machine. So but that's where
666
00:35:07.760 --> 00:35:08.480
we're working.
667
00:35:08.239 --> 00:35:10.480
On you and not talked about it. You and I
668
00:35:10.519 --> 00:35:12.280
talked about a system a long time ago like that.
669
00:35:12.400 --> 00:35:14.199
It was an idea that I brought you when I
670
00:35:14.320 --> 00:35:17.360
was the signal or you know fanboy. I think I
671
00:35:17.400 --> 00:35:19.000
came up to you in Orlando and I was like, so,
672
00:35:19.119 --> 00:35:20.760
I want to talk to you about this this thing.
673
00:35:20.840 --> 00:35:23.039
I was thinking about building a signal R thing where
674
00:35:23.079 --> 00:35:26.199
we would basically transmit MIDI over Signal R so we
675
00:35:26.239 --> 00:35:28.840
could have like remote sessions. And you were like, do
676
00:35:28.920 --> 00:35:30.960
you know the do you know the latency tolerance? And
677
00:35:30.960 --> 00:35:33.719
I was like what you were like point six milliseconds
678
00:35:33.719 --> 00:35:35.280
and I was like it's not going to work and
679
00:35:35.320 --> 00:35:36.800
you were like, no, it's not going to work, and
680
00:35:36.880 --> 00:35:38.400
you were like and you're a drummer, so it's like
681
00:35:38.480 --> 00:35:39.000
point three.
682
00:35:39.760 --> 00:35:43.280
Yeah, I'm excited you're doing that. I want to see that, mate.
683
00:35:43.280 --> 00:35:44.960
It's going to MIDI.
684
00:35:45.119 --> 00:35:47.239
If you have a long MIDI cable, you're going to
685
00:35:47.320 --> 00:35:52.719
get some latency. Let alone the Internet. Yeah, I've done
686
00:35:52.760 --> 00:35:58.840
some many things over the Internet with UDP and it's fun,
687
00:35:59.000 --> 00:36:01.960
but it's not real time. There's no way.
688
00:36:02.119 --> 00:36:04.079
Yeah, yeah, yeah, Pete told me to. He's like, no, dude,
689
00:36:04.119 --> 00:36:05.039
don't you're gonna don't.
690
00:36:05.119 --> 00:36:05.599
Don't do it.
691
00:36:05.639 --> 00:36:09.079
People have tried to clear the Internet is not real time.
692
00:36:09.599 --> 00:36:12.480
I told you about that conversation I had with Should
693
00:36:12.480 --> 00:36:13.360
I say his name?
694
00:36:13.599 --> 00:36:16.360
All right, well your call man. It's a famous story
695
00:36:16.440 --> 00:36:17.280
for me anyway.
696
00:36:17.519 --> 00:36:20.440
Yeah, it's a famous I won't say his name, but
697
00:36:20.719 --> 00:36:24.199
it was back in early days of dot net rocks
698
00:36:24.199 --> 00:36:26.960
and one of the listeners we had a we had
699
00:36:26.960 --> 00:36:31.239
an IRC channel open, and he says, hey, this, I'm
700
00:36:31.239 --> 00:36:35.079
the web guy for this artist right who everybody would
701
00:36:35.119 --> 00:36:37.320
know who he is. And he wants to give you
702
00:36:37.320 --> 00:36:42.199
a call like what Yeah, he wants to do remote
703
00:36:42.239 --> 00:36:47.480
recording and jamming over the internet. And so he calls me.
704
00:36:48.639 --> 00:36:51.280
I'm amazed, you know, and he says, I want to
705
00:36:51.320 --> 00:36:57.639
do real time jamming between California and Europe. And I said,
706
00:36:57.679 --> 00:37:00.960
when you say real time jamming, do you mean one, two,
707
00:37:01.079 --> 00:37:04.320
three go and we play together? And he said yeah,
708
00:37:04.519 --> 00:37:09.039
and he said that's not going to happen. You're constrained
709
00:37:09.039 --> 00:37:12.480
by the speed of light. Yea, even if you had
710
00:37:12.519 --> 00:37:16.679
a fiber optic cable stretched between California and Europe and
711
00:37:17.039 --> 00:37:19.320
you you know, light a bit at one end, it's
712
00:37:19.360 --> 00:37:21.480
going to take time to get to the other end,
713
00:37:21.599 --> 00:37:25.320
and then that person has to hear it, respond and
714
00:37:25.440 --> 00:37:27.400
send it back and by the time it gets back
715
00:37:27.400 --> 00:37:33.440
to you, it's completely useless. So he abandoned that project.
716
00:37:33.480 --> 00:37:36.400
But it was a fun conversation to have. You have
717
00:37:36.440 --> 00:37:41.159
to persuade him. I did, and he was He started
718
00:37:41.159 --> 00:37:44.719
talking about Apple coming out with some software and yeah,
719
00:37:44.800 --> 00:37:48.079
I'm sorry, but Steve Jobs can't change the laws of physics.
720
00:37:48.119 --> 00:37:51.239
No, it's not gonna work. It's like that commercial. It's
721
00:37:51.280 --> 00:37:52.440
not gonna fit be late.
722
00:37:52.480 --> 00:37:53.360
It's not just a law.
723
00:37:54.000 --> 00:37:58.239
So I started this by saying, I used I'm using
724
00:37:58.440 --> 00:38:02.039
squad to develop this Apple cation and it's just amazing,
725
00:38:02.599 --> 00:38:05.840
like how fast things are coming together and how I
726
00:38:05.880 --> 00:38:09.280
can give it real feedback, Like, you know, why are
727
00:38:09.519 --> 00:38:11.679
why are you taking so much vertical space? We need
728
00:38:11.679 --> 00:38:14.000
this space for track, So let's consolidate and put some
729
00:38:14.039 --> 00:38:16.880
of these buttons on the same place so they're not
730
00:38:16.960 --> 00:38:19.360
taking up all this room. Oh yeah, yeah, good idea.
731
00:38:19.519 --> 00:38:20.559
Boom done.
732
00:38:21.000 --> 00:38:24.639
Just great, that's cool, that's cool. My my favorite one is, uh,
733
00:38:24.719 --> 00:38:27.119
I've done this a bunch too. I'm gonna give you
734
00:38:27.159 --> 00:38:31.519
some bad news here in a second. So my favorite
735
00:38:31.559 --> 00:38:37.400
one is the hiring. You know talked about hiring. Yeah,
736
00:38:37.760 --> 00:38:40.440
so I don't you might not even know this. So
737
00:38:40.519 --> 00:38:44.360
let's say you either do you know file new squad
738
00:38:44.519 --> 00:38:47.559
if you will, or you injected squad into an existing
739
00:38:47.559 --> 00:38:50.880
repote and they look around and they go, this is
740
00:38:50.880 --> 00:38:53.360
what or the coordinator looks around and says, this is
741
00:38:53.400 --> 00:38:55.679
who you need and you go cool, cool, cool, and
742
00:38:55.719 --> 00:38:57.920
you you add those squad members to your team and
743
00:38:58.119 --> 00:38:58.800
you're partying.
744
00:38:58.920 --> 00:38:59.079
You know.
745
00:38:59.679 --> 00:39:01.960
I'm like, you're you're off and running and everything's good
746
00:39:02.039 --> 00:39:04.199
and and and uh, you know, all of a sudden,
747
00:39:04.199 --> 00:39:08.760
you're like, shoot, like, every single time you make a diagram,
748
00:39:09.159 --> 00:39:10.039
you'll you'll see this.
749
00:39:10.199 --> 00:39:10.599
They do this.
750
00:39:10.719 --> 00:39:11.400
It draws me.
751
00:39:12.400 --> 00:39:14.119
Every time you make a diagram, you do it in
752
00:39:14.199 --> 00:39:17.440
Askei art in the Marktown. Why would you do that, dude?
753
00:39:17.480 --> 00:39:19.880
Like do it in Mermaid, you know, speaking of which.
754
00:39:20.719 --> 00:39:22.559
None of you were good at this. So would you
755
00:39:22.599 --> 00:39:26.119
please hire a Mermaid author and do your best to
756
00:39:26.159 --> 00:39:28.480
go and learn? Like all the color codes, all the
757
00:39:28.519 --> 00:39:31.079
tricks like how to organize the squares, like go look
758
00:39:31.079 --> 00:39:34.159
at like Mermaid standards and practices and like the best
759
00:39:34.159 --> 00:39:36.679
way to do Mermaid diagrams. Hire a Mermaid you know,
760
00:39:36.920 --> 00:39:39.599
you know, designer to my team. Naming it's weird depending
761
00:39:39.639 --> 00:39:42.639
on you know, your your age, you think of like
762
00:39:42.679 --> 00:39:45.840
the Little Mermaid as your universe or ten or whatever.
763
00:39:45.880 --> 00:39:47.000
I had no idea, you know what I mean, I
764
00:39:47.199 --> 00:39:48.639
have no idea how you would name that one. But
765
00:39:49.079 --> 00:39:53.119
you know, I bring that Mermaid author to everything because
766
00:39:53.159 --> 00:39:55.039
like they always do ASKI art, and I'm like, don't
767
00:39:55.039 --> 00:39:57.159
ever do that again. Make it right in your charter.
768
00:39:57.599 --> 00:40:00.440
Don't ever do ask you art anything diagrams. Hand it
769
00:40:00.480 --> 00:40:03.719
to you know, Ariel or whoever, and and let the
770
00:40:03.760 --> 00:40:05.079
Mermaid author do it.
771
00:40:05.079 --> 00:40:06.079
All, okay.
772
00:40:06.320 --> 00:40:08.559
So I found that that was something that I had
773
00:40:08.599 --> 00:40:11.079
to do in every squad, and I was like, gosh,
774
00:40:11.159 --> 00:40:13.880
it's sort of irksome, you know that, Like I have
775
00:40:13.920 --> 00:40:15.920
to do this in every one of my squads, the
776
00:40:16.000 --> 00:40:18.639
same thing a git operator, you know, like I'll knock
777
00:40:18.719 --> 00:40:20.480
the cat in every squad because like I don't like
778
00:40:20.519 --> 00:40:22.559
doing all the good stuff, So I'll have somebody who's
779
00:40:22.559 --> 00:40:25.639
a GIT expert in each squad. You can hire a
780
00:40:25.639 --> 00:40:29.159
squad member later. You can also send them on vacation.
781
00:40:29.880 --> 00:40:33.239
They go, they get archived that you can bring them
782
00:40:33.280 --> 00:40:34.960
back with all their knowledge later if you want to.
783
00:40:36.800 --> 00:40:39.320
But you know, some people started saying, like I do
784
00:40:39.440 --> 00:40:41.280
the same thing, Like I have this one that I'll
785
00:40:41.280 --> 00:40:44.639
bring to every project. And then people started saying the
786
00:40:44.639 --> 00:40:48.239
obvious things. Could I just have them on my machine?
787
00:40:48.280 --> 00:40:50.639
Can I can I instat CLA locally?
788
00:40:50.800 --> 00:40:51.920
I'm like, kind of not what.
789
00:40:51.840 --> 00:40:54.320
It's for, and like it's project specific.
790
00:40:54.480 --> 00:40:57.199
I started, yes, project specific, guys, like what you know,
791
00:40:57.760 --> 00:41:00.320
everybody that used it. You know, It's like they're sort
792
00:41:00.320 --> 00:41:03.599
of this like like the phases they go through. The
793
00:41:03.599 --> 00:41:05.920
first phase is all this is cool. The second phase
794
00:41:06.000 --> 00:41:08.039
is oh, I love the cast members and the naming.
795
00:41:08.719 --> 00:41:11.320
The third phase is wow, this is really powerful. The
796
00:41:11.360 --> 00:41:13.159
fourth phase is I want this to do more than
797
00:41:13.199 --> 00:41:16.840
just inside my repo, right, And that always goes through
798
00:41:16.880 --> 00:41:20.280
that And that fourth one is where we came up
799
00:41:20.320 --> 00:41:23.639
with the idea of extending the entire capability outside of
800
00:41:23.679 --> 00:41:25.800
it just being one JavaScript file and a whole bunch
801
00:41:25.840 --> 00:41:28.199
of markdown that copilot knows what to do with inside
802
00:41:28.199 --> 00:41:32.119
of your repo. We've replatted it using typescript on top
803
00:41:32.199 --> 00:41:35.519
of the co Pilot SDK, and we've split it into
804
00:41:35.559 --> 00:41:39.039
two packages. So now you have a CLI that's built
805
00:41:39.039 --> 00:41:41.480
on top of the co Pilot SDK, and that CLI
806
00:41:41.599 --> 00:41:44.280
just has different commands like higher. It's got a special
807
00:41:44.320 --> 00:41:46.239
command called higher. You can like give it and give
808
00:41:46.280 --> 00:41:49.239
it the thing you want, and you can there is
809
00:41:49.280 --> 00:41:52.000
that there is a rebel experience. It's quite poor at
810
00:41:52.000 --> 00:41:54.800
the moment. That's why I've been really slowly to release it.
811
00:41:54.840 --> 00:41:56.039
Maybe by the time the show was out of it
812
00:41:56.079 --> 00:41:57.840
to be out, I just wanted to experiment with the
813
00:41:57.840 --> 00:42:02.800
idea of using the copilot s and some cars probably seen.
814
00:42:02.800 --> 00:42:04.280
I think you emailed me a couple of days ago.
815
00:42:04.679 --> 00:42:07.199
The squad doesn't always fire. I have to say team,
816
00:42:07.440 --> 00:42:09.880
I have to say fan out, I have to say Kobayashi,
817
00:42:10.000 --> 00:42:12.320
I have to say whoever, and then it will do
818
00:42:12.400 --> 00:42:15.400
the thing. But Copilot really likes to help me, and
819
00:42:15.440 --> 00:42:17.639
sometimes I want Copilot to not help me. I want
820
00:42:17.639 --> 00:42:19.360
my squad to help me. So I thought, well, let
821
00:42:19.400 --> 00:42:20.960
me just build a repel where we just sell on
822
00:42:21.000 --> 00:42:23.800
top of the SDK. Copilot does all the work in
823
00:42:23.840 --> 00:42:28.360
the background. But the squad does their coordination themselves. Surprising
824
00:42:28.400 --> 00:42:31.559
how many other issues that relies on me. So I've
825
00:42:31.559 --> 00:42:34.440
been working through that. But you know, I said two packages,
826
00:42:34.480 --> 00:42:36.239
so you should probably guess what the second is. Squad's
827
00:42:36.239 --> 00:42:38.400
going to have its own SDK, so you'll be able
828
00:42:38.440 --> 00:42:40.880
to build things using the Squad SDK. You'll be able
829
00:42:40.920 --> 00:42:44.559
to inject squads into things. So wow, it's going to
830
00:42:44.599 --> 00:42:44.920
be fun.
831
00:42:44.960 --> 00:42:48.239
So I see some sort of configuration as code for
832
00:42:48.320 --> 00:42:50.880
setting up squads for new projects coming then.
833
00:42:51.159 --> 00:42:53.800
Yeah, well you also be able to do You'll be
834
00:42:53.840 --> 00:42:56.480
able to install it globally, so you can actually install
835
00:42:56.480 --> 00:42:59.599
the squad Cli globally, which means that you can do
836
00:43:00.079 --> 00:43:03.280
squad in it dash dash Global. You can have your
837
00:43:03.320 --> 00:43:05.960
own personal squad and they go from project to project
838
00:43:06.039 --> 00:43:08.519
with you, so I can take my Mermaid Diagram author
839
00:43:08.559 --> 00:43:11.159
with me to every project as a consultant, and you could.
840
00:43:11.039 --> 00:43:14.000
Still customize project on a project basis, like if one
841
00:43:14.039 --> 00:43:16.519
project is in Blazer and another one is in View,
842
00:43:17.239 --> 00:43:19.360
obviously you want different agents.
843
00:43:19.440 --> 00:43:20.719
So I could have my own team and just bring
844
00:43:20.760 --> 00:43:23.400
them from project project as I want to. Within two
845
00:43:23.440 --> 00:43:25.840
three days of us starting to use this internally, one
846
00:43:25.880 --> 00:43:27.159
of the guys on the Akas team.
847
00:43:27.440 --> 00:43:29.079
James Startivant had built a tool.
848
00:43:28.880 --> 00:43:33.119
Called Rally Rally or Squad, and the idea behind it
849
00:43:33.159 --> 00:43:34.639
is he's doing a lot of work on a lot
850
00:43:34.639 --> 00:43:38.920
of repositories, so he doesn't want the process of putting
851
00:43:38.920 --> 00:43:40.599
the squad in and he didn't want to get store
852
00:43:40.679 --> 00:43:43.559
at all, and oh it's terrible, So he would simblink
853
00:43:43.880 --> 00:43:45.599
like it was almost like Squad is a service. He
854
00:43:45.639 --> 00:43:49.360
would simplink Squad into each repo, run his thing, file
855
00:43:49.440 --> 00:43:52.559
the issue, and then back out again. So it was
856
00:43:52.599 --> 00:43:54.760
like the only thing he would do would get into
857
00:43:54.800 --> 00:43:57.800
the repo, file the issue in that GETUB repository on
858
00:43:57.840 --> 00:44:00.400
whatever team it was, and then pull back out again.
859
00:44:00.639 --> 00:44:02.239
So if you think about what that implies, you could
860
00:44:02.280 --> 00:44:05.039
use it for securityology, you can use it for you
861
00:44:05.079 --> 00:44:06.800
could use it for like filing issues.
862
00:44:07.119 --> 00:44:08.800
I pained Mike len in one of our mvbs.
863
00:44:08.800 --> 00:44:11.199
So would you end up leaving like some decision files
864
00:44:11.280 --> 00:44:14.079
or skills and things behind in each project that were
865
00:44:14.159 --> 00:44:16.880
specific to the project for the next you do set
866
00:44:16.960 --> 00:44:19.559
to come in and and sort of have a head start.
867
00:44:19.679 --> 00:44:23.280
You do you can you can do At first, When
868
00:44:23.280 --> 00:44:26.079
I first did Squad, I had this weird guard setup
869
00:44:26.119 --> 00:44:30.719
where it would block you, uh, putting your putting your
870
00:44:30.719 --> 00:44:33.719
squad into main, like whatever your main branch is, it
871
00:44:33.760 --> 00:44:36.400
will block you from putting it in there. Carl, you
872
00:44:36.480 --> 00:44:39.480
might want to do an update I just shipped over three.
873
00:44:39.559 --> 00:44:42.079
It'll be the last one that removes that block, okay,
874
00:44:42.440 --> 00:44:44.920
because that block is actually in the source code as well.
875
00:44:45.039 --> 00:44:47.119
So if so, if the squad looks and sees that
876
00:44:47.159 --> 00:44:49.440
block is not on disc, it'll recreate it for you.
877
00:44:49.719 --> 00:44:51.960
So you get into this horrible loop of like deleting
878
00:44:52.000 --> 00:44:53.199
it and gets recreated every time.
879
00:44:53.280 --> 00:44:57.400
I like having the option of putting the squad files
880
00:44:57.440 --> 00:45:01.079
and a squad folder in the repo or not. You know,
881
00:45:01.159 --> 00:45:03.239
I like to have that option. And you know, what
882
00:45:03.280 --> 00:45:07.960
I'm thinking of is some sort of tool at the
883
00:45:08.239 --> 00:45:12.639
at the command line where I could list my squads
884
00:45:12.639 --> 00:45:15.880
and I could name them right, And so if I
885
00:45:15.960 --> 00:45:20.039
have a Blazer app squad, or if I have a
886
00:45:20.760 --> 00:45:25.400
you know, Windows and a WPF squad, for example, I'd
887
00:45:25.480 --> 00:45:27.719
like to be able to select which one that I'm using.
888
00:45:27.800 --> 00:45:29.559
That's good, I get to the project.
889
00:45:29.199 --> 00:45:31.760
That's good, I will get you to file an issue
890
00:45:31.760 --> 00:45:33.719
on the repo for that shortly cool.
891
00:45:33.760 --> 00:45:36.000
So yeah, you can also imagine when you're doing a
892
00:45:36.119 --> 00:45:38.159
rally like that. You just look at the project. You
893
00:45:38.159 --> 00:45:40.599
know what libraries are in there with packages you're pulling in,
894
00:45:40.719 --> 00:45:42.039
you know what squad members you need.
895
00:45:42.400 --> 00:45:44.760
That's exactly right. I mean the other day I'll pulled
896
00:45:44.800 --> 00:45:47.840
one of our and you can also do it in reverse.
897
00:45:47.880 --> 00:45:49.079
So you know, I build a lot of demos.
898
00:45:49.159 --> 00:45:49.320
Right.
899
00:45:49.599 --> 00:45:51.920
The other day we had this We have this event
900
00:45:52.679 --> 00:45:55.360
and the event has a pre recorded demo. That pre
901
00:45:55.360 --> 00:45:58.480
recorded demo had some Java stuff and some Dott stuff
902
00:45:59.280 --> 00:46:03.079
and you know, I'm so great at Java not so
903
00:46:03.360 --> 00:46:05.360
what I You know, we kind of have like a
904
00:46:05.440 --> 00:46:07.360
rushy situation. It was like, oh, we got to have
905
00:46:07.360 --> 00:46:11.079
the video done and whatever days. What's our sample app?
906
00:46:11.280 --> 00:46:13.119
So people were like, well, we could use this sample app.
907
00:46:13.119 --> 00:46:15.280
We could use that sample apps like give me an hour.
908
00:46:16.039 --> 00:46:20.199
So you know, I basically fed it. You talk about architecture,
909
00:46:20.280 --> 00:46:23.599
pardon me, marketing friends, You feed it all of the
910
00:46:23.599 --> 00:46:28.639
features you want to show, and you say, build me
911
00:46:28.719 --> 00:46:33.480
a demo app, and it builds the demo app based
912
00:46:33.519 --> 00:46:36.079
on the features you want to show. And then we
913
00:46:36.159 --> 00:46:38.239
walked through and we just did the thing, and I
914
00:46:38.280 --> 00:46:40.599
was like I cannot believe that that worked so well.
915
00:46:40.920 --> 00:46:42.679
And at one point one of the folks on the
916
00:46:42.679 --> 00:46:45.000
team they said, hey, the way this app is built,
917
00:46:45.320 --> 00:46:47.159
we can't show this one feature. You would need to
918
00:46:47.159 --> 00:46:51.679
split it into two projects. Give me five minutes, squad,
919
00:46:51.840 --> 00:46:56.000
no problem. It was great and it saved us. I mean,
920
00:46:56.079 --> 00:46:58.360
you know how that fire drove can be. You know,
921
00:46:58.559 --> 00:47:02.480
like before the demo, you know, so you know.
922
00:47:02.440 --> 00:47:06.280
The worst thing is tearing apart stuff from projects and
923
00:47:06.320 --> 00:47:09.519
moving them to other projects the worst because.
924
00:47:09.400 --> 00:47:11.760
Yeah, so so that was fun. I mean it can just.
925
00:47:11.760 --> 00:47:14.119
Look at your dependencies and go and you're done.
926
00:47:15.400 --> 00:47:17.639
I mean you're taking advantage of the fact that these
927
00:47:17.639 --> 00:47:21.920
tools are so naturally detail orient you know that they
928
00:47:21.960 --> 00:47:25.639
do read through the lines, they don't fade off sixty
929
00:47:25.679 --> 00:47:27.119
lines in the way humans do.
930
00:47:27.440 --> 00:47:34.119
Yeah, like another one that's fun. Grab a repo that
931
00:47:34.199 --> 00:47:36.199
you don't know anything about. You can have the squad
932
00:47:36.280 --> 00:47:39.519
tell you about it. Or you could say, hire a
933
00:47:39.639 --> 00:47:43.760
revealed JS designer and build me a presentation that tells.
934
00:47:43.599 --> 00:47:44.760
Me what's in there.
935
00:47:44.800 --> 00:47:47.280
You go a few minutes later, you're hitting the writer okay,
936
00:47:47.320 --> 00:47:49.840
going oh oh that's cool, that's cool, that's cool.
937
00:47:49.920 --> 00:47:53.000
I gotta I gotta tell you how I started this project.
938
00:47:53.639 --> 00:47:57.000
I started by, you know, getting my squad together, telling
939
00:47:57.039 --> 00:47:59.559
it what, you know, the skills that I needed. You
940
00:47:59.599 --> 00:48:02.320
know that Fagan was the JavaScript guy and all this
941
00:48:02.360 --> 00:48:06.840
stuff and his blazer, and I gave it just a
942
00:48:06.920 --> 00:48:10.119
one paragraph and I said, here, based on what you
943
00:48:10.239 --> 00:48:14.480
know about this, can you write me a document where
944
00:48:14.679 --> 00:48:19.320
I can fill out all the specifics of this app
945
00:48:19.920 --> 00:48:22.920
in a detailed spec so that we can move on
946
00:48:23.039 --> 00:48:26.480
from there, because it's not enough just to you know,
947
00:48:26.559 --> 00:48:31.280
here's a couple of paragraphs and boom go. And it said, yeah, sure.
948
00:48:31.360 --> 00:48:33.559
So it built me this mdfile with you know, this
949
00:48:33.639 --> 00:48:37.280
goes here, this goes there, what are the decisions that
950
00:48:37.320 --> 00:48:41.400
are made? What do these views look like? And it
951
00:48:41.440 --> 00:48:44.679
took me, you know, an hour maybe two hours to
952
00:48:44.719 --> 00:48:47.960
fill out. And I went back to squad and I said, okay,
953
00:48:48.519 --> 00:48:52.400
here's the detailed spec. Let's come up with a plan
954
00:48:53.719 --> 00:48:58.280
and come up with phases that we can build, you know,
955
00:48:58.360 --> 00:49:02.400
one at a time, and take it from there. And
956
00:49:02.440 --> 00:49:04.679
it did. And we started with phase one and we
957
00:49:04.719 --> 00:49:07.119
moved through things. We had to adjust things, and I
958
00:49:07.159 --> 00:49:12.159
told it to adjust the adjust the plan and also
959
00:49:12.320 --> 00:49:17.599
create an implementation document with everything that it did nice,
960
00:49:17.679 --> 00:49:21.079
you know, and so we kept that going throughout the
961
00:49:21.079 --> 00:49:25.119
whole process. And from that, when I'm done, I'm going
962
00:49:25.159 --> 00:49:28.599
to say, okay, take this implementation plan and create a
963
00:49:28.679 --> 00:49:29.320
user manual.
964
00:49:29.480 --> 00:49:30.920
Yeah, boom hop you're done.
965
00:49:31.039 --> 00:49:32.000
You create a help file.
966
00:49:32.239 --> 00:49:34.639
Yeah, and you can even tell it. So this is
967
00:49:34.679 --> 00:49:36.280
something you should try next time. So how about what
968
00:49:36.320 --> 00:49:37.800
you were doing there as you were writing everything to
969
00:49:37.800 --> 00:49:40.280
the docs folder on your disc. So the next time
970
00:49:40.320 --> 00:49:42.719
you do that when you start the repo, go ahead
971
00:49:42.760 --> 00:49:46.880
and say, you know, go ahead, go into copilot and say,
972
00:49:47.559 --> 00:49:50.000
so you're in a get repository because you've started a
973
00:49:50.000 --> 00:49:54.239
squad and you're you're in pre personal squad, so you
974
00:49:54.239 --> 00:49:57.719
know you've got to get repo, Say go ahead and
975
00:49:57.760 --> 00:50:01.960
create a ge hub repository before this get repo. Go
976
00:50:01.960 --> 00:50:03.960
ahead and commit everything you can even say, like in
977
00:50:04.079 --> 00:50:06.880
what organization you want it in, and we'll do it.
978
00:50:07.679 --> 00:50:10.559
And instead of you saying, create me a pr D,
979
00:50:11.320 --> 00:50:13.480
you can say, create me a pr D as a
980
00:50:13.519 --> 00:50:18.559
single gethub issue. Then split that GitHub issue into the
981
00:50:18.679 --> 00:50:21.719
individual work items and make sure you label it so
982
00:50:21.920 --> 00:50:24.400
that each team member knows what they're supposed to do
983
00:50:25.239 --> 00:50:27.280
and it will go off and break all those into issues,
984
00:50:27.320 --> 00:50:30.679
and then you can say, Ralph, please start working and
985
00:50:30.760 --> 00:50:33.320
work every issue until it's done. And Ralph is the
986
00:50:33.360 --> 00:50:36.440
permanent team member who works like the Ralph flup, he
987
00:50:36.519 --> 00:50:38.239
will spin up and he will begin to work those
988
00:50:38.239 --> 00:50:40.960
issues and like wake up team members and assign the
989
00:50:41.360 --> 00:50:43.000
issues to the team members, and you will see the
990
00:50:43.000 --> 00:50:45.199
work getting done. And you could even say, do not
991
00:50:45.239 --> 00:50:47.679
commit to Maine directly, always do full request.
992
00:50:47.840 --> 00:50:48.280
I do that.
993
00:50:48.519 --> 00:50:50.920
Yeah, so you'll see the issues get filed. So that's cool.
994
00:50:51.000 --> 00:50:53.320
I didn't want to just let it loose and say, okay,
995
00:50:53.400 --> 00:50:55.360
do all these things. I wanted to go in phases
996
00:50:55.360 --> 00:50:57.800
and test them out, you know. Yeah, of course, because
997
00:50:57.800 --> 00:50:59.679
that's the way I work. I love to work that way.
998
00:51:00.079 --> 00:51:02.599
Yeah, that's great. Yeah, yeah, it's like spec driven development.
999
00:51:02.639 --> 00:51:05.559
Phase two can happen until I've signed off on phase
1000
00:51:05.599 --> 00:51:06.599
one exactly. Yeah.
1001
00:51:06.639 --> 00:51:08.719
I keep thinking about get Hub spec Kit, but I
1002
00:51:08.719 --> 00:51:12.719
think it's got its own it LM approach too, So
1003
00:51:13.280 --> 00:51:15.519
you know that the two aren't going to meet.
1004
00:51:15.519 --> 00:51:20.639
Well, it's definitely, it's definitely a different approach. It's a
1005
00:51:20.679 --> 00:51:24.079
great tool, it's a fantastic tool, but in our case,
1006
00:51:24.599 --> 00:51:26.480
you wouldn't sit there and write this spec. You would
1007
00:51:26.519 --> 00:51:28.320
have a conversation with your team and have your team
1008
00:51:28.360 --> 00:51:30.119
write this back, and then you would manually tweak the
1009
00:51:30.119 --> 00:51:31.840
spec or talk to the team and have them tweak
1010
00:51:31.880 --> 00:51:33.599
the spec, and then have them break it up into
1011
00:51:33.639 --> 00:51:36.360
work items and have them come up with the success
1012
00:51:36.360 --> 00:51:39.039
criteria for each one of those issues and then say go,
1013
00:51:39.480 --> 00:51:41.000
you know, and you're going to have it work issue
1014
00:51:41.000 --> 00:51:43.360
by issue, or you can have it work as Carl
1015
00:51:43.440 --> 00:51:45.840
is saying, you know in like milestone by milestone kind
1016
00:51:45.880 --> 00:51:46.519
of right.
1017
00:51:46.559 --> 00:51:48.639
And it occurs to me because keep thinking like why
1018
00:51:48.639 --> 00:51:51.559
do I have a JavaScript agent when I could just
1019
00:51:51.599 --> 00:51:54.880
have the do everything agent. It's the token problem, right,
1020
00:51:55.039 --> 00:51:57.360
you want to decompose this down so you stay away
1021
00:51:57.360 --> 00:51:58.039
from token limit.
1022
00:51:58.119 --> 00:52:02.519
Yeah, because each of these agents live in their own world, right,
1023
00:52:02.599 --> 00:52:04.599
and they don't need to know the big picture. You
1024
00:52:04.639 --> 00:52:08.320
don't need to provide all that system prompt right, you know,
1025
00:52:08.679 --> 00:52:11.280
for they just need to know how to fix a problem.
1026
00:52:11.440 --> 00:52:13.760
Yeah, they know how to do that future And the
1027
00:52:13.800 --> 00:52:16.599
other reason you never want to have that superagent is
1028
00:52:17.280 --> 00:52:19.079
that's very hallucinatory.
1029
00:52:19.159 --> 00:52:19.960
Yeah, you know what I mean.
1030
00:52:20.039 --> 00:52:22.159
If you have if you have an agent with no
1031
00:52:22.239 --> 00:52:25.599
training or no specific constructions or no specific role. They're
1032
00:52:25.599 --> 00:52:28.719
going to hungry, hungry hippo all the work, right, you know,
1033
00:52:29.239 --> 00:52:31.239
so like they're going to fight over work.
1034
00:52:31.119 --> 00:52:33.400
And they're going to blow their context in their tokens
1035
00:52:33.440 --> 00:52:35.199
quickly and not give you results.
1036
00:52:35.360 --> 00:52:36.920
Yeah, the specificity wins.
1037
00:52:37.199 --> 00:52:38.719
I had a call the other day with a gentleman
1038
00:52:38.800 --> 00:52:40.800
way smarter than me when it comes to all this stuff,
1039
00:52:41.920 --> 00:52:44.599
and he was like, everybody in an industry knows that,
1040
00:52:44.760 --> 00:52:46.960
Like that's you know, everybody knows that, like.
1041
00:52:46.920 --> 00:52:49.239
That is the core piece of knowledge. You may have
1042
00:52:49.280 --> 00:52:52.119
to learn the hard way is you know, you do
1043
00:52:52.199 --> 00:52:53.920
not want the mother of all prompts.
1044
00:52:54.159 --> 00:52:56.119
Yeah, right, yeah, I mean all this stuff is just
1045
00:52:56.199 --> 00:52:58.760
object orientation. You know, it's just the same a lot
1046
00:52:58.760 --> 00:52:59.119
of ways.
1047
00:52:59.159 --> 00:52:59.639
It's the same.
1048
00:52:59.679 --> 00:53:04.079
It's the same composition decomposition. Right, we don't have to
1049
00:53:04.119 --> 00:53:08.760
get each strategy had a form of decomposition. It's all
1050
00:53:09.039 --> 00:53:11.760
take smaller bites, right, that's the whole thing. You can
1051
00:53:11.760 --> 00:53:13.559
eat the whole elephant, but you gotta eat it one
1052
00:53:13.599 --> 00:53:14.840
bite at the time, exactly.
1053
00:53:16.800 --> 00:53:18.519
That suspice to meat the ball.
1054
00:53:19.760 --> 00:53:21.960
That's a lot of that's what that is.
1055
00:53:24.639 --> 00:53:27.199
So it sounds like you're you're just going to keep
1056
00:53:27.199 --> 00:53:29.920
going and going and going, and pretty soon, who knows,
1057
00:53:30.000 --> 00:53:33.519
maybe we'll be running our operating systems with squads or our.
1058
00:53:33.440 --> 00:53:37.199
Whole I don't know, man, I'm I'm whole businesses.
1059
00:53:37.559 --> 00:53:41.519
I'm frankly, uh, it's been a little bit overwhelming, you know.
1060
00:53:41.679 --> 00:53:45.760
I started the project. I remember I was outside. It
1061
00:53:45.840 --> 00:53:48.880
was the Super Bowl Sunday and uh gowks and I
1062
00:53:48.920 --> 00:53:52.000
was cooking something, you know, for people coming over that day,
1063
00:53:52.559 --> 00:53:55.559
and I had squad working. I've been telling Shane about it,
1064
00:53:55.719 --> 00:53:57.320
and I texted Shane and I was like, I want
1065
00:53:57.320 --> 00:53:58.840
to aim squad at your project.
1066
00:53:58.840 --> 00:54:01.119
And he was like, don't do that. I don't no, no,
1067
00:54:01.800 --> 00:54:02.920
he was like, don't do that. I don't do that.
1068
00:54:03.159 --> 00:54:04.599
I was like, I'm just gonna write a report because
1069
00:54:04.599 --> 00:54:06.000
I don't want you to write a report. He goes,
1070
00:54:06.000 --> 00:54:08.199
I have people working on that problems Like it's fine.
1071
00:54:08.400 --> 00:54:11.280
So I pulled this thing. I aimed a squad at it.
1072
00:54:11.360 --> 00:54:13.320
I was like, write a proposal for what Shane should
1073
00:54:13.360 --> 00:54:15.480
do with this project. I sent a proposal like ten
1074
00:54:15.480 --> 00:54:18.800
minutes later. He was like working, He's in squad. He's
1075
00:54:18.840 --> 00:54:24.039
suppol request. A couple of hours later, so he's like
1076
00:54:24.079 --> 00:54:25.960
starting to use it, like during the super Bowl or
1077
00:54:25.960 --> 00:54:27.840
something to text each other. And you know, my friends
1078
00:54:27.840 --> 00:54:30.280
are sitting on the cop so like seem really amped up.
1079
00:54:30.320 --> 00:54:32.679
I'm like, I think I just released a successful open
1080
00:54:32.719 --> 00:54:33.559
source project.
1081
00:54:34.000 --> 00:54:38.559
So yeah, well, and you know, did the thing people need,
1082
00:54:38.599 --> 00:54:42.199
which is tooling, right. I don't need to hear about
1083
00:54:42.239 --> 00:54:45.960
another model I need. I need a set of scaffolds
1084
00:54:46.000 --> 00:54:47.760
around how I actually get work done.
1085
00:54:47.960 --> 00:54:53.679
I need a special set of skills. Yes, but I'm
1086
00:54:53.719 --> 00:54:56.960
happy people are enjoying it. You know, keep the issues coming,
1087
00:54:57.039 --> 00:54:59.519
keep the great commentary coming, you know, keep the stars
1088
00:54:59.519 --> 00:55:03.000
coming place. You bet, it's been really fun. I think
1089
00:55:03.159 --> 00:55:08.320
get hub blog Mike features soon. We're having conversation. But
1090
00:55:09.079 --> 00:55:11.800
it's been fun. You tell your friends, tell your nerver bets.
1091
00:55:11.840 --> 00:55:14.519
Awesome. Awesome, Brady, Thanks, thanks so much for writing this
1092
00:55:14.559 --> 00:55:17.480
great tool and sharing it with us. Have fun with
1093
00:55:17.519 --> 00:55:19.360
it all right, and we'll talk to you next time
1094
00:55:19.719 --> 00:55:42.960
on dot net rocks. Dot net rocks is brought to
1095
00:55:43.000 --> 00:55:46.760
you by Franklin's Net and produced by Pop Studios, a
1096
00:55:46.920 --> 00:55:51.320
full service audio, video and post production facility located physically
1097
00:55:51.360 --> 00:55:54.119
in New London, Connecticut, and of course in the cloud
1098
00:55:54.760 --> 00:55:59.000
online at pwop dot com. Visit our website at d
1099
00:55:59.079 --> 00:56:01.079
O T N E t R O c k S
1100
00:56:01.159 --> 00:56:06.199
dot com for RSS feeds, downloads, mobile apps, comments, and
1101
00:56:06.280 --> 00:56:09.239
access to the full archives going back to show number one,
1102
00:56:09.760 --> 00:56:12.920
recorded in September two thousand and two. And make sure
1103
00:56:12.960 --> 00:56:16.199
you check out our sponsors. They keep us in business. Now,
1104
00:56:16.239 --> 00:56:18.480
go write some code. See you next time.
1105
00:56:19.360 --> 00:56:21.159
You got JAD middle vans
1106
00:56:23.280 --> 00:56:23.320
And
1
00:00:01.080 --> 00:00:04.799
How'd you like to listen to dot NetRocks with no ads? Easy?
2
00:00:05.360 --> 00:00:08.560
Become a patron for just five dollars a month. You
3
00:00:08.599 --> 00:00:11.320
get access to a private RSS feed where all the
4
00:00:11.359 --> 00:00:14.599
shows have no ads. Twenty dollars a month, we'll get
5
00:00:14.599 --> 00:00:18.440
you that and a special dot NetRocks patron mug. Sign
6
00:00:18.519 --> 00:00:22.920
up now at Patreon dot dot NetRocks dot com. Hi,
7
00:00:23.000 --> 00:00:24.679
this is Carl Franklin.
8
00:00:24.239 --> 00:00:25.480
And this is Richard Campbell.
9
00:00:25.839 --> 00:00:30.000
We've got two special shows coming up soon, episode nineteen
10
00:00:30.120 --> 00:00:32.039
ninety nine and two thousand.
11
00:00:32.399 --> 00:00:35.079
For episode nineteen ninety nine, we're collecting people's y two
12
00:00:35.159 --> 00:00:37.560
k stories what did you do to help the Y
13
00:00:37.600 --> 00:00:39.719
two k event not actually happen?
14
00:00:40.240 --> 00:00:42.960
And for episode two thousand, we're going to be sharing
15
00:00:43.000 --> 00:00:45.479
stories about how dot net shaped your career.
16
00:00:46.000 --> 00:00:48.719
We have a special page at dot netroocks dot com
17
00:00:48.719 --> 00:00:52.159
slash voxpop where you can record messages for us that
18
00:00:52.200 --> 00:00:54.000
we can play on these special episodes.
19
00:00:54.439 --> 00:00:56.640
So tell us what you did for Y two k.
20
00:00:56.759 --> 00:00:58.880
And what dot net means to you, and of.
21
00:00:58.799 --> 00:01:00.960
Course how long you've been listening to dot net rocks.
22
00:01:01.640 --> 00:01:04.439
So go to dot netroocks dot com slash vox pop
23
00:01:04.560 --> 00:01:06.480
now and leave us a message before the thought of
24
00:01:06.560 --> 00:01:09.200
operates like whiskey left in a glass overnight.
25
00:01:09.159 --> 00:01:24.760
Do it? Hey, welcome back to dot net Rocks. I'm
26
00:01:24.799 --> 00:01:28.519
Carl Franklin, an amateur Campbell. Brady Gaster is with us again.
27
00:01:29.120 --> 00:01:31.959
He's been here, well, he was here last year in November.
28
00:01:32.439 --> 00:01:34.920
But we got some really cool stuff to talk about.
29
00:01:34.959 --> 00:01:39.560
But first, Richard, Yeah, buddy, this being episode nineteen hundred
30
00:01:39.560 --> 00:01:41.879
and ninety four, let's talk about what happened that year.
31
00:01:42.040 --> 00:01:44.599
M H and Brady feel free to jump in during
32
00:01:44.640 --> 00:01:46.280
this whole debacle here.
33
00:01:46.319 --> 00:01:48.120
If you remember ninety four, I bet you do.
34
00:01:48.359 --> 00:01:51.239
I do remember ninety four. Yeah, I was living in
35
00:01:51.280 --> 00:01:54.439
New York with my then girlfriend who I was to.
36
00:01:54.959 --> 00:01:58.280
Oh no, I guess we were married by then. Oh
37
00:01:58.319 --> 00:02:02.159
but anyway, I do remember Nelson Mandela being sworn in
38
00:02:02.239 --> 00:02:06.079
as South Africa's first black president. I remember the NAFTA
39
00:02:06.519 --> 00:02:10.439
North American Free Trade Agreement took effect, kicking in in
40
00:02:10.520 --> 00:02:14.159
the chunnel winking, the UK and France officially opened the
41
00:02:14.240 --> 00:02:14.840
Channel Tunnel.
42
00:02:14.919 --> 00:02:17.840
Yeah, amazing piece of work, wildly over budget and over time,
43
00:02:17.879 --> 00:02:20.400
but you know it's nice that it's still functional this day.
44
00:02:20.599 --> 00:02:23.759
Yeah, that's true. Some really bad things happened, of course,
45
00:02:23.840 --> 00:02:29.319
the genocide in Rwanda, bad, bad, bad, Yeah, the Northridge
46
00:02:29.319 --> 00:02:34.800
earthquake in California, but some other stuff. Ol O J.
47
00:02:35.000 --> 00:02:38.800
Simpson was arrested after a televised.
48
00:02:38.439 --> 00:02:40.560
Yeah the White Bronco.
49
00:02:41.199 --> 00:02:47.719
Yeah. Fore Tanya Harding was banned for life following the
50
00:02:47.759 --> 00:02:51.879
attack on Nancy Kerrigan Baseball Strike, things like that.
51
00:02:53.800 --> 00:02:53.919
Uh.
52
00:02:54.719 --> 00:02:59.479
Some TV shows, The sitcom Friends premiered a couple of
53
00:03:00.080 --> 00:03:03.800
Conic films, Forrest Gump, The Shawshank Redemption one of my.
54
00:03:03.840 --> 00:03:06.759
Favorite stories ever, great film.
55
00:03:06.719 --> 00:03:10.400
And The Lion King. And of course, Nirvana frontman Kurt
56
00:03:10.479 --> 00:03:14.520
Cobain died by suicide that year. Yeah twenty seven, Yeah, Hey,
57
00:03:14.520 --> 00:03:16.639
I might as well get the top ten albums of
58
00:03:16.759 --> 00:03:19.280
nineteen ninety four out of the way. Sure, Sound Garden,
59
00:03:19.439 --> 00:03:25.199
super Unknown, Black Hole, Sun, great song, Launch You Come.
60
00:03:25.520 --> 00:03:29.000
It's a great song. Celine Dion The Color of My
61
00:03:29.080 --> 00:03:32.639
Love had Her Hits, The Power of Love and Think Twice,
62
00:03:33.520 --> 00:03:39.680
Pearl Jam, Vitology, Better Man, Camp, Find Better Man, Spin,
63
00:03:39.759 --> 00:03:44.000
The Black Circle and Not for You, bon Jovi, Cross
64
00:03:44.159 --> 00:03:48.240
Road Always and Someday I'll Be Saturday Night where the
65
00:03:48.360 --> 00:03:55.840
hits TLC, Crazy Sexy, Cool, Creep, Red Light Special and Waterfalls,
66
00:03:55.960 --> 00:04:01.560
great songs, Boys to Men Too, singles I'll Make Love
67
00:04:01.599 --> 00:04:07.960
to You on Bended Knee and Water Runs, Dry Green Day, Dookie,
68
00:04:08.879 --> 00:04:14.479
basket Case, When I Come Around, Longview, Lion King, various artists,
69
00:04:14.879 --> 00:04:18.480
Circle of Life, Elton John, of course, Hakuna Matata, Can
70
00:04:18.519 --> 00:04:21.199
You Feel the Love Tonight? With the hits there Music
71
00:04:21.240 --> 00:04:23.879
Box by Mariah Carey, which was number one last year,
72
00:04:24.720 --> 00:04:27.560
is number two, Dream Lover, Hero and Without You were
73
00:04:27.600 --> 00:04:32.040
the hits, and number one Pink Floyd the Division Bell
74
00:04:33.480 --> 00:04:39.040
Take It Back, High Hopes, Keep Talking other hits as well,
75
00:04:39.240 --> 00:04:44.240
another stunner. Yeah, absolutely great, great album. Okay, what do
76
00:04:44.279 --> 00:04:47.120
you got for nineteen ninety four, Richard In.
77
00:04:47.519 --> 00:04:51.120
On the space side, there are three flights to Mirror
78
00:04:51.399 --> 00:04:53.319
this year, which is a lot. This is now the
79
00:04:53.399 --> 00:04:56.959
Russian Federation, so they're sort of gearing things up. The
80
00:04:56.959 --> 00:05:01.759
first one, eighteen, has Valerie y Akov on it, who
81
00:05:01.839 --> 00:05:05.160
will then hold the record for the longest single trip
82
00:05:05.160 --> 00:05:07.399
into space at four hundred and thirty seven days, but
83
00:05:07.439 --> 00:05:10.399
of course that won't be until nineteen ninety six. Yeah.
84
00:05:10.680 --> 00:05:17.040
On the shuttle side there is seven missions total, two
85
00:05:17.079 --> 00:05:21.439
for Discovery, two for Columbia, two for Endeavor, and one
86
00:05:21.480 --> 00:05:23.920
for Atlantis the most interesting one. Most of them are
87
00:05:23.920 --> 00:05:26.879
just straight science missions, but this is the in February,
88
00:05:26.920 --> 00:05:31.360
the mission with Discovery has Sergei Krikalev on board. It's
89
00:05:31.360 --> 00:05:33.199
the first time a Russian will ever fly on the Shuttle.
90
00:05:33.240 --> 00:05:36.560
It's the beginning of the Shuttle Mirror program. One of
91
00:05:36.560 --> 00:05:39.720
the things they tested on this mission was direct communications
92
00:05:39.720 --> 00:05:43.560
with mir so getting the right radios, figuring out connections
93
00:05:43.560 --> 00:05:45.800
and so forth, which will be beginning over the next
94
00:05:45.839 --> 00:05:49.839
few years to culminate in actually docking a Shuttle to
95
00:05:49.959 --> 00:05:53.000
Mirror and that whole initiative. So it begins in nineteen
96
00:05:53.199 --> 00:05:53.839
ninety four.
97
00:05:54.079 --> 00:05:56.839
I was back when Russia liked us. Remember that, there's
98
00:05:56.839 --> 00:05:59.240
this brief interval where, you know, so they liked us
99
00:05:59.240 --> 00:06:00.879
because we were giving them a lot of money.
100
00:06:01.040 --> 00:06:03.800
We certainly were support helping support them to try and
101
00:06:03.839 --> 00:06:06.720
go into a commercial economy and you know, open things up.
102
00:06:07.600 --> 00:06:10.199
This is also when it's actually ninety three that they
103
00:06:10.279 --> 00:06:12.680
made the agreement to do the International Space Station. The
104
00:06:12.759 --> 00:06:14.240
US have been trying to come up with space station
105
00:06:14.319 --> 00:06:18.120
plan for a while, and so in nineteen ninety four
106
00:06:18.759 --> 00:06:23.240
NASA actually opens the Space Station Processing Facility to start
107
00:06:23.319 --> 00:06:26.600
building their components. While the Russians have actually got existing
108
00:06:26.639 --> 00:06:29.279
components that were going to be for Mere two that
109
00:06:29.360 --> 00:06:32.519
will be turned into the first of the International Space
110
00:06:32.519 --> 00:06:35.720
Station components. One more space mission actually is in January.
111
00:06:35.800 --> 00:06:38.639
It's one of my very favorites. Launched out of Vandenberg
112
00:06:40.040 --> 00:06:43.160
Space Space on a Titan two, the same rocket that
113
00:06:43.160 --> 00:06:45.120
they flew the Gemini missions on back in the day,
114
00:06:45.600 --> 00:06:51.399
was the Klementine mission. So what was Clementine. Clementine was
115
00:06:51.480 --> 00:06:56.240
actually a test article built by the Ballistic Missile Defense Group,
116
00:06:56.319 --> 00:06:58.480
So jump all the way back to the eighties and
117
00:06:58.519 --> 00:07:02.199
the full on Cold War and Ronald Reagan and he
118
00:07:02.360 --> 00:07:06.639
had his Strategic Defense Initiative, which diominally called star Wars,
119
00:07:07.800 --> 00:07:09.319
and in that was this idea that it would be
120
00:07:09.399 --> 00:07:13.000
this array of satellites that would monitor for any launches
121
00:07:13.040 --> 00:07:16.319
of ICBMs and then other satellites that could actually shoot
122
00:07:16.360 --> 00:07:21.879
them down. And they had great names like Brilliant Pebble. Well,
123
00:07:21.959 --> 00:07:27.399
Clementine was actually a prototype Brilliant Pebble, a small satellite
124
00:07:27.720 --> 00:07:30.879
with maneuvering systems and great sensors and so forth. And
125
00:07:30.920 --> 00:07:32.839
after they finished the test article, but the program had
126
00:07:32.839 --> 00:07:37.120
been shut down, the Blistic Defense the Initiative group basically
127
00:07:37.120 --> 00:07:40.279
said an Astley, you want this thing, and they're like sure,
128
00:07:40.360 --> 00:07:44.360
and they repurposed it into an explorer satellite and its
129
00:07:44.399 --> 00:07:48.079
mission was to hear that fly to the Moon and
130
00:07:48.120 --> 00:07:50.639
then it was going to fly on from there to
131
00:07:51.839 --> 00:07:55.040
intercept a near Earth asteroid, at which point it would
132
00:07:55.079 --> 00:07:56.600
be lost and gone forever.
133
00:07:56.959 --> 00:08:00.120
I see, I see. I thought it was because of
134
00:07:59.720 --> 00:08:00.800
smell like oranges.
135
00:08:00.920 --> 00:08:03.800
No, they literally backed into the acronym based on the
136
00:08:03.800 --> 00:08:05.639
fact that they were going to losing them forever. Now.
137
00:08:05.639 --> 00:08:08.240
The Clementine mission, they never made it to the asteroid.
138
00:08:08.279 --> 00:08:11.319
They did get to the Moon, and one of the
139
00:08:11.399 --> 00:08:15.639
experiments they did was bouncing radar off of the poles
140
00:08:15.720 --> 00:08:19.360
of the Moon. Even going back to the Apollo Ara,
141
00:08:19.399 --> 00:08:21.519
there's this idea that there might be ice on the Moon,
142
00:08:21.560 --> 00:08:24.560
but there was absolutely no proof, and so there was
143
00:08:24.600 --> 00:08:28.000
an attempt by Clementine doing these radar experiments actually bounced them,
144
00:08:28.800 --> 00:08:31.680
transmitting them from Clementine off the surface of the Moon
145
00:08:31.879 --> 00:08:36.480
to Aricibo. The old gigantic dish it's now gone in
146
00:08:36.639 --> 00:08:40.120
Puerto Rico, and the reflectivity that got from it was
147
00:08:40.200 --> 00:08:44.879
an indicator of hydrogen and austri There was some proof
148
00:08:44.919 --> 00:08:48.000
that there might be ice and lots of it in
149
00:08:48.480 --> 00:08:52.799
shaded craters on the poles of the moon. So that
150
00:08:52.840 --> 00:08:54.759
was sort of the first indications that came from the
151
00:08:54.799 --> 00:08:59.559
Clementine mission, and very much your swords into plowshares kind
152
00:08:59.600 --> 00:09:03.879
of took old Cold War tool and turn it into
153
00:09:04.000 --> 00:09:06.879
a science project. Now, okay, cool, that's all I got
154
00:09:06.879 --> 00:09:08.919
for space. Let's talk a little bit about computing at
155
00:09:08.919 --> 00:09:12.639
a time. Of course, the Internet is emerging rapidly. In
156
00:09:12.759 --> 00:09:14.559
nineteen nighty four is a year that the World Wide
157
00:09:14.600 --> 00:09:18.639
Web Consortium is formed, with offices in CERN and at MT,
158
00:09:19.000 --> 00:09:22.600
with Tim berners Lee heavily involved. A guy named hack
159
00:09:22.679 --> 00:09:26.519
On wim Lee proposes a thing called cascading style sheets,
160
00:09:26.840 --> 00:09:28.639
and none of us are afraid enough at the time
161
00:09:28.679 --> 00:09:32.320
to know we should stop that. Man. Oh wait, did
162
00:09:32.320 --> 00:09:34.879
I say that? I thought that's too bad. And Rasmus
163
00:09:34.919 --> 00:09:42.000
Laerdorf publishes the first specifications for PHP PHP, the acronym
164
00:09:42.080 --> 00:09:45.559
being PHP Hypertext Processor because recursive.
165
00:09:45.720 --> 00:09:49.360
I thought Rory Blis's definition was good. Pretty hot programmer.
166
00:09:49.440 --> 00:09:53.200
There you go a group called the Enterprise Integration Technologies
167
00:09:53.240 --> 00:09:56.559
which founds a group called commerce Net, and they do
168
00:09:56.679 --> 00:09:59.600
the first credit card transactions.
169
00:09:58.799 --> 00:10:01.799
On the Internet. Yep, I remember those days.
170
00:10:01.840 --> 00:10:04.799
Which causes by the middle of the year, pizza Hut
171
00:10:04.799 --> 00:10:08.639
to stand up, the first online pizza ordering service, which
172
00:10:08.639 --> 00:10:11.000
is actually the first online purchasing service of any kind.
173
00:10:11.159 --> 00:10:12.480
Really. Yeah.
174
00:10:12.519 --> 00:10:15.840
Also the year that the Snopes website stands up to
175
00:10:16.159 --> 00:10:21.639
debunk everything everything, yes, elsewhere. In computing, MS DOS six
176
00:10:21.679 --> 00:10:23.320
point two to two is released. That will be the
177
00:10:23.320 --> 00:10:26.919
final version of m STOs NT three five we had
178
00:10:26.919 --> 00:10:28.720
three one last year and Hour up to three five
179
00:10:29.159 --> 00:10:32.080
and Windows three one one Windows for work groups. Oh,
180
00:10:32.440 --> 00:10:36.519
integration with networking, all that good stuff. IBM releases OS
181
00:10:36.559 --> 00:10:38.840
two WARP, which will be the last version of OS two.
182
00:10:39.279 --> 00:10:43.679
Intel announces a sixty four bit processor called Itanium. Yeah,
183
00:10:43.840 --> 00:10:49.240
we'll eventually known it as Titanium. And over on the
184
00:10:49.320 --> 00:10:52.440
risk side, Acorn out of the UK releases a risk
185
00:10:52.679 --> 00:10:56.080
PC using arm v three and both people who bought
186
00:10:56.080 --> 00:10:59.600
it loved it. And on the storage side, sand disk
187
00:10:59.639 --> 00:11:03.600
release is the format come back flash, which generally is
188
00:11:03.799 --> 00:11:06.639
flash memory, although there are miniature heart drives made in
189
00:11:06.639 --> 00:11:10.960
that form factor as well. And Iomega releases the zip disc.
190
00:11:11.279 --> 00:11:15.799
Oh god, yes, bringing me back here. I had several of.
191
00:11:15.679 --> 00:11:20.600
Them ninety megs Man ninety megs and a little camera
192
00:11:20.679 --> 00:11:25.240
company called Sony releases a video game console called PlayStation. Yeah,
193
00:11:25.480 --> 00:11:26.440
that's nineteen ninety four.
194
00:11:27.039 --> 00:11:29.120
I got one, well you forgot I got one Netscape
195
00:11:29.200 --> 00:11:30.480
Navigator Escape.
196
00:11:30.360 --> 00:11:33.519
Wow than Escape Navigator is not out yet. There's still
197
00:11:33.559 --> 00:11:35.679
mosaic at this point. It'll be next year.
198
00:11:35.720 --> 00:11:37.759
Okay, So I was oh it says it says one.
199
00:11:37.840 --> 00:11:39.279
Oh was released in ninety four.
200
00:11:40.240 --> 00:11:41.559
I think it was point oh nine.
201
00:11:41.840 --> 00:11:45.960
And then Yahoo was founded, and you forgot a good album,
202
00:11:46.000 --> 00:11:50.559
the Downward Spiral, Oh boy, okay, and also music for
203
00:11:50.600 --> 00:11:55.519
the Jilted generation Prodigy fantastic one. You forgot a fantastic film,
204
00:11:55.639 --> 00:11:58.639
pulp fiction. Okay, I forget that. Oh boy, Oh he's
205
00:11:58.639 --> 00:12:04.120
forgot a great show. The one called Friends appeared that Oh.
206
00:12:04.120 --> 00:12:07.039
Yeah, I said friends blood friends. Oh you did, okay,
207
00:12:07.399 --> 00:12:09.440
I didn't hear friends, Yeah, I called that out. Let
208
00:12:09.440 --> 00:12:12.200
me think anything else, anything else. I want to make
209
00:12:12.200 --> 00:12:18.159
sure we got yacht one Station Doomed two, Warcraft Orcs
210
00:12:18.159 --> 00:12:20.600
and Humans is released in Final Fantasy.
211
00:12:21.120 --> 00:12:24.559
There was a website that came online in nineteen ninety four.
212
00:12:24.639 --> 00:12:27.879
Maybe you've heard of it. It was called Carling Gary's VB homepage.
213
00:12:29.639 --> 00:12:32.039
I visited that page, yeah.
214
00:12:31.919 --> 00:12:35.360
Nineteen ninety four. It was one of the first websites
215
00:12:35.720 --> 00:12:38.440
that was, you know, for that kind of thing, and
216
00:12:38.519 --> 00:12:41.639
it was definitely the first website for Visual Basic. The
217
00:12:41.679 --> 00:12:46.360
only other things were Microsoft's MSDN website, which had, you know,
218
00:12:47.159 --> 00:12:48.960
the stuff that you would expect them to have, but
219
00:12:49.679 --> 00:12:53.120
this was the first Visual Basic website and it just
220
00:12:53.279 --> 00:12:57.759
took off like crazy. Yeah, I guess that's it. Yeah,
221
00:12:57.799 --> 00:13:01.919
all right, so let's do Better know framework roll it awesome?
222
00:13:09.600 --> 00:13:09.879
All right?
223
00:13:10.000 --> 00:13:10.440
What we got?
224
00:13:10.639 --> 00:13:14.039
So we're talking about squad with Brady today for sure,
225
00:13:14.120 --> 00:13:17.879
and Jeff Fritz and I did an episode on Coded
226
00:13:17.919 --> 00:13:21.440
with AI episode eighteen where he went through and did
227
00:13:21.480 --> 00:13:24.159
a demo of squad. Nice. So if you want to
228
00:13:24.200 --> 00:13:28.279
see that, that's the better know framework for this for
229
00:13:28.360 --> 00:13:30.159
the show, and it'll be on the website.
230
00:13:30.279 --> 00:13:30.519
Cool.
231
00:13:30.679 --> 00:13:32.919
Yeah, it's this is how I fell in love with
232
00:13:32.919 --> 00:13:34.840
it and since I've been using it. We'll talk about
233
00:13:34.840 --> 00:13:38.000
that with Brady in a minute. So who's talking to us?
234
00:13:38.080 --> 00:13:40.480
Richard Harby comment off the show nineteen eighty nine. The
235
00:13:40.480 --> 00:13:43.039
one we did with Ben de Tree talking about the
236
00:13:43.120 --> 00:13:45.720
roll of AI and secure software got a lot of
237
00:13:45.720 --> 00:13:48.840
comments on the show and our friend Codepeuter himself, Richard
238
00:13:48.879 --> 00:13:51.879
Rukima said. Richard said it building with AI is not
239
00:13:52.159 --> 00:13:55.879
about writing code. The skill is context management. My approach
240
00:13:55.919 --> 00:13:58.159
is to give AI the context of the application, but
241
00:13:58.200 --> 00:14:01.440
then focus its coding effort in the architecture of the design. Yeah,
242
00:14:01.440 --> 00:14:05.120
the architecture does not minimized change blast within the layers
243
00:14:05.159 --> 00:14:08.120
of the architecture, and it's also a container that the
244
00:14:08.159 --> 00:14:11.440
AI can be limited to. This happens the I agents
245
00:14:11.440 --> 00:14:13.240
need to work together to get multiple changes done at
246
00:14:13.279 --> 00:14:17.639
the same time or within dependencies that normal work already has.
247
00:14:18.200 --> 00:14:21.039
But that's a workflow. Context sounds like managing a team,
248
00:14:21.120 --> 00:14:23.960
doesn't it. Where is that product managing a squad?
249
00:14:24.080 --> 00:14:28.559
Anyway, as funny as.
250
00:14:27.840 --> 00:14:32.600
I thought, it was particularly relevant Continuing today's subject, Yeah,
251
00:14:32.919 --> 00:14:35.600
Richard Courts regular on the show. I'm pretty sure he
252
00:14:35.600 --> 00:14:37.240
has a copy of music Code By. But if you'd
253
00:14:37.240 --> 00:14:38.679
like a copy of music Code Buy, I write a
254
00:14:38.679 --> 00:14:41.240
comment on the website at don Arocks dot com or
255
00:14:41.279 --> 00:14:42.919
on the facebooks. We publish every show there and even
256
00:14:42.960 --> 00:14:44.360
comment there in a read in the show, we'll send
257
00:14:44.399 --> 00:14:45.559
you copy music Go buy, and.
258
00:14:45.639 --> 00:14:47.879
Music to code By is still very popular. You can
259
00:14:47.879 --> 00:14:50.600
get it at music too Coode by dot Net. It's
260
00:14:50.759 --> 00:14:54.919
twenty two tracks, twenty five minutes long, designed to keep
261
00:14:54.960 --> 00:14:57.000
you in a state of flow while you're writing code
262
00:14:58.399 --> 00:15:03.120
and uh Yeah, let's introduced Brady Gaster based near Seattle.
263
00:15:03.240 --> 00:15:06.039
Brady aspires to make it easy for dot net developers
264
00:15:06.080 --> 00:15:09.320
to party in the cloud as the product manager behind
265
00:15:09.399 --> 00:15:14.519
Visual Studios, Azure, Write, Click, Publish, and Connected services features.
266
00:15:15.159 --> 00:15:19.440
He also helps with Aspire tooling support in Visual Studio
267
00:15:19.480 --> 00:15:22.360
and Visual Studio Code. And we're not designing new tooling
268
00:15:22.399 --> 00:15:26.639
features or writing things like you know, squad or building
269
00:15:26.679 --> 00:15:31.840
demos with teammates, He's trail running five k's, parenting two teens,
270
00:15:32.240 --> 00:15:35.960
mixing new one seventy four bpm drum and bass sets,
271
00:15:36.320 --> 00:15:38.120
or producing his own electronic music.
272
00:15:38.240 --> 00:15:41.559
Welcome back, Brady, Thanks Ally, how's going? I should probably
273
00:15:41.600 --> 00:15:44.799
send you my new job description. I've moved on from
274
00:15:44.840 --> 00:15:47.919
the VS and dot net crew, who I love Dearly,
275
00:15:48.480 --> 00:15:52.559
my favorite framework of all time, and I'm over in
276
00:15:53.240 --> 00:15:57.879
Ryan Fraser's organization and the app modernization team, specifically the
277
00:15:58.000 --> 00:16:03.080
GitHub co pilot modernization product Great working on things like
278
00:16:03.200 --> 00:16:06.320
the uh working closely with the dottnet team on their
279
00:16:06.679 --> 00:16:10.440
update tool, as well as some stuff on the Java
280
00:16:10.480 --> 00:16:12.240
side and vs code, and then we have this cool
281
00:16:12.360 --> 00:16:16.799
modernized CLI that Timothy J and Hunter shot off at
282
00:16:16.799 --> 00:16:19.039
Ignite that we've been bringing.
283
00:16:18.759 --> 00:16:20.840
Forward and we'll be doing more stuff with over the
284
00:16:20.879 --> 00:16:22.320
next few months. That's exciting.
285
00:16:22.480 --> 00:16:25.559
So yeah, I've been using gi hub Copilot Cli to
286
00:16:25.639 --> 00:16:31.679
do stuff non code related, you know, diagnosing problems with
287
00:16:31.759 --> 00:16:35.919
drivers that won't load, cleaning up Azure resources that I
288
00:16:35.960 --> 00:16:41.960
haven't used in a while, things like that. It's it's
289
00:16:41.960 --> 00:16:46.559
like AI for PowerShell. Really, it's really Yeah, it's amazing.
290
00:16:48.600 --> 00:16:49.600
So let's talk squad.
291
00:16:50.159 --> 00:16:50.519
Sure.
292
00:16:50.799 --> 00:16:53.279
Yeah, first of all, I thought you might have been
293
00:16:53.320 --> 00:16:55.559
working on this for years, but it was just like
294
00:16:55.639 --> 00:16:58.200
a couple of months or something, right.
295
00:16:58.679 --> 00:16:59.679
Not even that, dude.
296
00:17:00.720 --> 00:17:05.720
Uh So, I have been tinkering with like various agentic
297
00:17:06.000 --> 00:17:09.920
tools and frameworks all last year, specifically around the spire,
298
00:17:10.039 --> 00:17:11.599
you know, because that was where I was coming from the.
299
00:17:11.720 --> 00:17:14.200
Description you just read in theory it is your job.
300
00:17:14.920 --> 00:17:16.039
Yeah, yeah, in theories job.
301
00:17:16.359 --> 00:17:18.160
Uh So what I was trying to do last year
302
00:17:18.240 --> 00:17:19.960
was to figure out uh yeah, because I work on
303
00:17:20.000 --> 00:17:22.920
the apps an agents team in Korea, so uh yeah,
304
00:17:23.000 --> 00:17:25.119
you agents are kind of important to us. So all
305
00:17:25.200 --> 00:17:28.559
last year I was trying to spin up essentially your
306
00:17:29.000 --> 00:17:32.960
like file new project with a prompt for Aspire devs,
307
00:17:34.039 --> 00:17:35.279
you know, to kind of say like I want to
308
00:17:35.279 --> 00:17:38.119
build a Kintoso University or whatever, and like it boof
309
00:17:38.319 --> 00:17:40.400
like build your thing. And we tried a bunch of
310
00:17:40.440 --> 00:17:42.759
experiments with it, and you know, the tech was evolving
311
00:17:42.880 --> 00:17:45.480
a bit. There was a lot of different agentic frameworks
312
00:17:45.519 --> 00:17:47.400
out there, and you know, there were a different states
313
00:17:47.400 --> 00:17:50.200
of maturity. I think we tried five six different ways,
314
00:17:51.079 --> 00:17:53.599
and at the end of the year, like the Microsoft
315
00:17:54.319 --> 00:17:57.039
Agent framework took off and started using that and got
316
00:17:57.119 --> 00:17:59.200
got a lot further. But earlier in the year, when
317
00:17:59.240 --> 00:18:01.039
I moved over to the App Organization team where we're
318
00:18:01.039 --> 00:18:03.359
looking at, you know, some of the systems and whatever,
319
00:18:04.559 --> 00:18:08.039
actually was talking to some younger pms inside of core
320
00:18:08.079 --> 00:18:12.599
A I who were you know, like, you know, three
321
00:18:12.640 --> 00:18:14.519
of us were consultants for a while. We've worked with
322
00:18:14.720 --> 00:18:17.799
you know, the tech in the industry, and you know,
323
00:18:17.839 --> 00:18:19.799
then we went on and did other things. But a
324
00:18:19.839 --> 00:18:22.319
lot of folks are new in career and they walk
325
00:18:22.400 --> 00:18:24.440
up and they're like in the App service team, it's like, hey,
326
00:18:24.480 --> 00:18:25.960
what what do we do here. You know, I have
327
00:18:26.039 --> 00:18:28.279
a product idea. Who should I talk to? You know,
328
00:18:29.000 --> 00:18:30.839
I thought it would be cool to spin up a
329
00:18:30.880 --> 00:18:33.519
couple of agents, you know, each representing you know, an
330
00:18:33.559 --> 00:18:37.400
area of the of the of the product line, and say, like,
331
00:18:37.480 --> 00:18:40.640
you represent app servers, you represent container apps, you represent this,
332
00:18:40.759 --> 00:18:43.960
you represent that. Go search the internet, go look at
333
00:18:44.000 --> 00:18:46.759
these products, get hubs and go look at their Reddit
334
00:18:46.839 --> 00:18:49.200
posts and look at their blogs and kind of assess
335
00:18:49.240 --> 00:18:51.200
what their products do. And build an agent, you know,
336
00:18:51.279 --> 00:18:53.759
based on what you think. You know, somebody in that
337
00:18:54.000 --> 00:18:56.359
you know, a PM and that product would would say
338
00:18:56.359 --> 00:18:59.960
their products, you know, issues and opportunities are and when ill.
339
00:19:00.039 --> 00:19:02.319
And it wrote pretty good instructions on its own. You know,
340
00:19:02.400 --> 00:19:04.079
well that was pretty cool. So we'll do that for
341
00:19:04.160 --> 00:19:07.440
every product in core AI. So about twenty about twenty
342
00:19:07.480 --> 00:19:09.799
minutes later, I had two hundred markdown files, you know,
343
00:19:09.960 --> 00:19:12.319
and I was like, this is neat, you know, this
344
00:19:12.359 --> 00:19:14.880
is kind of cool, right, So I asked a few
345
00:19:14.880 --> 00:19:18.359
people I'm trying to do some stuff with with get
346
00:19:18.480 --> 00:19:21.039
ub co pilot cli that we can to make it
347
00:19:21.079 --> 00:19:23.319
spin up multiple agents. I think it was just pret
348
00:19:23.519 --> 00:19:26.039
fleet pre squad for all of it, you know, and
349
00:19:26.279 --> 00:19:29.160
this it was like middle of January, and you know,
350
00:19:29.279 --> 00:19:31.920
it just wasn't It didn't feel right like something. It
351
00:19:31.960 --> 00:19:33.599
didn't look the way I'd seen it look on other
352
00:19:33.599 --> 00:19:35.480
people's screens. And I was like, this is this is?
353
00:19:35.599 --> 00:19:37.559
It looks like it's just Copilot talking to me. It
354
00:19:37.559 --> 00:19:40.599
doesn't seem like it's multiple agents. So I'm paying the
355
00:19:40.599 --> 00:19:43.880
copilot cli kind of teams thread that we have, and
356
00:19:43.920 --> 00:19:46.720
I said, could somebody's shown me a video like how
357
00:19:46.720 --> 00:19:49.599
to do this multi agency thing? And of course some
358
00:19:49.839 --> 00:19:52.319
person way smarter than me dropped in a prompt and
359
00:19:52.359 --> 00:19:54.440
the prompt said, you know, fan out and do blah
360
00:19:54.480 --> 00:19:56.720
blah blah, and I ran the prompt and all of
361
00:19:56.720 --> 00:20:00.440
a sudden, I saw those agents appearing. So then I said, oh, okay.
362
00:20:00.160 --> 00:20:01.960
Like, is that the magic word? Fan out?
363
00:20:02.039 --> 00:20:03.799
That was the magic I think it kind of is
364
00:20:03.839 --> 00:20:06.200
one of those magic words in Squad. It's definitely a
365
00:20:06.240 --> 00:20:08.880
magic word. I think Carl's probably figured that out, especially
366
00:20:08.960 --> 00:20:10.759
have that in our docks pretty pretty thoroughly.
367
00:20:11.119 --> 00:20:13.279
And here I thought the magic word was please.
368
00:20:14.440 --> 00:20:17.559
Please, so we uh, you know, I did some experimentation
369
00:20:17.640 --> 00:20:19.960
with it, and I remember it kind of got working
370
00:20:20.079 --> 00:20:22.079
on my desktop and I asked it a question, like,
371
00:20:22.119 --> 00:20:24.799
you're this product, you're that product, whatever, what should we
372
00:20:24.839 --> 00:20:25.839
do in twenty twenty six?
373
00:20:26.200 --> 00:20:27.559
And it wrote a pretty good report.
374
00:20:27.640 --> 00:20:27.799
You know.
375
00:20:27.920 --> 00:20:31.000
The report wasn't groundbreaking. You know, if you were to
376
00:20:31.039 --> 00:20:33.319
scour a GitHub for a couple of days on all
377
00:20:33.319 --> 00:20:35.319
these products, you would figure out what it.
378
00:20:35.400 --> 00:20:35.960
Said, you know.
379
00:20:36.079 --> 00:20:38.319
But I got pretty enamored with it. I think this
380
00:20:38.359 --> 00:20:41.799
is kind of cool. And timing's weird. Timing is a
381
00:20:41.799 --> 00:20:44.160
strange thing. So I was sitting here at my desk
382
00:20:44.720 --> 00:20:47.119
in the Purple Room and I got up from that
383
00:20:47.160 --> 00:20:51.519
experiment when did my daily run and was raining that day,
384
00:20:51.519 --> 00:20:53.240
so I didn't go outside. I did it on the treadmill,
385
00:20:53.759 --> 00:20:57.119
and I watched a show on molt book and I
386
00:20:57.160 --> 00:21:00.680
started thinking, what if I put these two ideas is together?
387
00:21:00.960 --> 00:21:01.400
Right, you know?
388
00:21:01.599 --> 00:21:04.960
And you know, I'm paying an executive friend of ours,
389
00:21:05.279 --> 00:21:07.559
and I said, hey, I had this thought, you know,
390
00:21:07.680 --> 00:21:11.119
and I put these agents together, and I asked them
391
00:21:11.160 --> 00:21:12.759
a question, and they kind of went off and talked
392
00:21:12.759 --> 00:21:14.839
about it, and they came back with a paper, and
393
00:21:14.880 --> 00:21:16.759
that executive said, do it for these products.
394
00:21:16.759 --> 00:21:16.960
Now.
395
00:21:17.480 --> 00:21:19.599
I was like, maybe I have something, you know, So
396
00:21:19.640 --> 00:21:22.279
I did it for those products. Send it over feedback
397
00:21:22.400 --> 00:21:22.880
was keep going.
398
00:21:24.039 --> 00:21:27.240
And if they're just writing exploring and writing documentation, right,
399
00:21:27.279 --> 00:21:28.839
they're not writing code or anything.
400
00:21:28.960 --> 00:21:31.279
Really, what they were doing is they were these agents
401
00:21:31.279 --> 00:21:34.680
at that time were scouring GitHub. So so like they
402
00:21:34.680 --> 00:21:37.440
would go into like all of the products gethub repositories.
403
00:21:37.759 --> 00:21:40.480
I kind of said, only do this for products for
404
00:21:40.599 --> 00:21:43.480
which you can find their GitHub, their blog and some
405
00:21:43.519 --> 00:21:45.920
Reddit commentary. You know, if you if you can't find
406
00:21:45.920 --> 00:21:47.839
a lot of information, just kind of don't don't do
407
00:21:47.920 --> 00:21:51.680
that one. Right if if they've got an active GitHub repository,
408
00:21:51.680 --> 00:21:54.000
prioritize their issues, you know, so you know, it's get
409
00:21:54.079 --> 00:21:57.119
ub co policy Uli surprise, it can talk to get up.
410
00:21:57.559 --> 00:21:59.720
So it goes through and it finds all these products
411
00:21:59.720 --> 00:22:03.440
in all these issues and writes essentially instruction files. Who
412
00:22:03.440 --> 00:22:07.720
better writes instruction files than a human ill alone. So
413
00:22:07.960 --> 00:22:10.359
essentially I just said, write a bunch of instruction files
414
00:22:10.359 --> 00:22:12.839
for a bunch of agents. Now spin all those agents
415
00:22:12.920 --> 00:22:14.599
up whenever I ask you a question. The thing that
416
00:22:14.640 --> 00:22:17.000
blew my mind at that part, this was like pre squad,
417
00:22:17.160 --> 00:22:19.720
like a couple of hours before squad. The thing that
418
00:22:19.720 --> 00:22:22.200
blew my mind at that point was if you ask
419
00:22:22.359 --> 00:22:26.400
the coordinator copilot a question. It can go and it
420
00:22:26.400 --> 00:22:28.559
can go. Oh, you asked me a question that touches
421
00:22:28.640 --> 00:22:30.519
these products. I'm going to give you an answer back
422
00:22:30.599 --> 00:22:34.200
based on those products. It was really neat And I said, okay,
423
00:22:34.200 --> 00:22:35.279
I got to turn that inside out.
424
00:22:35.319 --> 00:22:38.200
Wow, so it's got some sense of coordination right, Yeah,
425
00:22:38.319 --> 00:22:39.440
knowing where resources are.
426
00:22:39.559 --> 00:22:40.119
Yeah, it was neat.
427
00:22:40.480 --> 00:22:45.319
These agents also have discussions with each other, sometimes disagree,
428
00:22:45.759 --> 00:22:49.400
and then may give you options or recommendation based on
429
00:22:49.440 --> 00:22:50.400
the consensus.
430
00:22:50.559 --> 00:22:54.400
Yeah, it's amazing they do reach consensus. And the way
431
00:22:54.440 --> 00:22:58.599
the instructions for the system, the squad instructions are written.
432
00:23:00.039 --> 00:23:03.599
An agent tries a thing and you know, fails at
433
00:23:03.599 --> 00:23:06.599
that thing. I think, I think they can try twice,
434
00:23:07.000 --> 00:23:08.519
and then they are not allowed.
435
00:23:08.200 --> 00:23:10.200
To try again. They're locked out.
436
00:23:10.680 --> 00:23:13.799
So they are locked out from trying again. Another agent
437
00:23:13.880 --> 00:23:17.799
has to try, and when that agent tries, they both
438
00:23:17.880 --> 00:23:22.319
write in one another's history what they learned. So your
439
00:23:22.400 --> 00:23:26.240
agents in your repo grow in terms of how efficient
440
00:23:26.279 --> 00:23:28.079
they are with your repo over time.
441
00:23:28.480 --> 00:23:29.839
Now, I have to be honest with you.
442
00:23:30.160 --> 00:23:34.319
You mentioned context windows that will bite you later. So
443
00:23:34.440 --> 00:23:36.960
the agents will kind of clean up as they go. First,
444
00:23:37.000 --> 00:23:40.160
each agent only had like one file like charter and
445
00:23:40.200 --> 00:23:43.079
everything it learned it would write in there, and then
446
00:23:43.480 --> 00:23:45.039
a lot of the other agents had other files that
447
00:23:45.039 --> 00:23:48.599
they would write like decisions DOTD That one gets pretty long.
448
00:23:49.920 --> 00:23:52.319
All those files would get long over time, all the
449
00:23:52.359 --> 00:23:54.799
decisions that the agents make and whatever. So over time
450
00:23:54.880 --> 00:23:58.119
we've implemented things where it gets split into multiple files.
451
00:23:58.599 --> 00:24:00.400
You know, if you think about short term memory and
452
00:24:00.440 --> 00:24:02.599
long term memory, you know, like like you know, the
453
00:24:02.599 --> 00:24:05.119
agents only need the short term memory to operate. All
454
00:24:05.160 --> 00:24:06.599
of a sudden that they have a problem, they can
455
00:24:06.640 --> 00:24:08.279
go back to their history and be like, oh, oh,
456
00:24:08.440 --> 00:24:11.200
I remember that, and then they can bring that back.
457
00:24:11.240 --> 00:24:14.920
They'll also manage where their memory needs to live. They've
458
00:24:14.960 --> 00:24:17.400
got kind of hot cold memory, so they'll put things
459
00:24:17.440 --> 00:24:20.640
that they're not using kind of off to the side.
460
00:24:20.799 --> 00:24:24.559
And this is kind of Neat one of the evenings
461
00:24:24.599 --> 00:24:26.359
that I was working on it pretty late, I was
462
00:24:26.400 --> 00:24:28.440
looking at some of the stuff Shane was doing with
463
00:24:28.559 --> 00:24:31.359
WASA and sense some of the products he's doing around
464
00:24:31.519 --> 00:24:36.279
using agentic skills. H and I started thinking skills are
465
00:24:36.440 --> 00:24:39.279
really useful in this context. It's really just a set
466
00:24:39.319 --> 00:24:42.160
of markdown that tells the agent like what's the allies
467
00:24:42.200 --> 00:24:44.759
to call or what tools to call or whatever you know,
468
00:24:44.880 --> 00:24:47.480
and and the markdown for that skill kind of boxes
469
00:24:47.519 --> 00:24:50.559
the agent in to do that one thing. Hey, here's
470
00:24:50.559 --> 00:24:54.599
a new rule, squad members. Don't guess it stuff. If
471
00:24:54.640 --> 00:24:56.759
you find that you've done something twice, the next time,
472
00:24:56.799 --> 00:24:59.039
you do it right, just skill right. So what they'll
473
00:24:59.039 --> 00:25:02.200
do is they'll actually I claude or copilot compliance skilled
474
00:25:02.200 --> 00:25:04.960
a disc and they'll put it as low confidence, and
475
00:25:04.960 --> 00:25:06.680
then the next time an agent does it, they leave
476
00:25:06.680 --> 00:25:09.279
it at low confidence. The fourth time an agent uses
477
00:25:09.319 --> 00:25:11.720
that skill and does not change that skill, they'll raise
478
00:25:11.720 --> 00:25:14.119
the confidence training and then three more times later they'll
479
00:25:14.160 --> 00:25:17.440
raise it again. So essentially they make those skills better
480
00:25:17.480 --> 00:25:19.519
over time. I have a skill. I'll be very frank
481
00:25:19.559 --> 00:25:21.559
with you. I have a skill that I will clone
482
00:25:21.559 --> 00:25:25.759
the squad repo once in the evening the cut the
483
00:25:25.799 --> 00:25:27.920
origin off. So I'll cut the remote off because it
484
00:25:27.960 --> 00:25:31.519
does commit very quickly back and I'll run a report
485
00:25:31.559 --> 00:25:33.400
to kind of see how many issues, pull request and
486
00:25:33.440 --> 00:25:35.920
whatever else are being done by public guid up depositories
487
00:25:35.960 --> 00:25:38.440
that use squad every night. A number gets pretty big
488
00:25:38.440 --> 00:25:41.799
every night. It's kind of cool, but I'll I'll cut
489
00:25:41.799 --> 00:25:45.640
the origin because squad will rapidly commit back because it's
490
00:25:45.680 --> 00:25:48.559
committing its memory back. You can control that behavior, you know,
491
00:25:48.599 --> 00:25:51.160
whenever you fire up your squad, you can go, please
492
00:25:51.200 --> 00:25:52.720
don't commit unless I tell you too.
493
00:25:52.799 --> 00:25:55.000
Please don't push unless I tell you too, that kind
494
00:25:55.000 --> 00:25:55.319
of thing.
495
00:25:55.559 --> 00:26:00.359
So I'll still like that. Squad is project specific, so
496
00:26:00.759 --> 00:26:04.119
it's not like system wide, you know, like co pilot is.
497
00:26:04.880 --> 00:26:09.880
You have to install it at the project root and
498
00:26:09.920 --> 00:26:13.240
then it builds the squad files and you can tell it,
499
00:26:13.680 --> 00:26:18.960
you know, to name your squad based on popular culture things.
500
00:26:19.559 --> 00:26:23.839
Jeff Fritz used the d C Comics Universe to name
501
00:26:23.880 --> 00:26:29.200
his squads. I used musicians that have played in or
502
00:26:29.240 --> 00:26:30.440
for Steely Dan.
503
00:26:30.960 --> 00:26:32.960
Nice, very specific.
504
00:26:33.160 --> 00:26:36.519
So my job is script expert was named Fagan Nice.
505
00:26:37.400 --> 00:26:38.519
That's good. That's good.
506
00:26:40.039 --> 00:26:42.960
That's one thing that I find it find interesting about it.
507
00:26:43.079 --> 00:26:45.359
You know, I don't know if I think Richard knows this.
508
00:26:45.519 --> 00:26:48.799
My background is actually in psychology, a counselor, and I've
509
00:26:48.839 --> 00:26:52.720
always really loved studying the way organisms communicate and learn
510
00:26:52.759 --> 00:26:54.519
from one another and whatever. So this has always been
511
00:26:54.599 --> 00:26:56.799
fun for me. What's really fun is watching the way
512
00:26:56.880 --> 00:27:00.279
people talk about squad, you know the way like all
513
00:27:00.519 --> 00:27:02.319
just said, you know, well, actually, you know, we have
514
00:27:02.400 --> 00:27:04.839
a squad team where a lot of the folks that
515
00:27:04.920 --> 00:27:06.839
work on squad kind of all over the world are
516
00:27:07.000 --> 00:27:09.839
they're twenty four hours day. You know, we just do
517
00:27:09.960 --> 00:27:11.759
this or just did this, And then all of a
518
00:27:11.799 --> 00:27:15.599
sudden the language changes, Oh, Kawayashi just did this, Finster
519
00:27:15.880 --> 00:27:19.359
just did this, right, you know they're talking about their
520
00:27:19.359 --> 00:27:20.039
squad members.
521
00:27:20.039 --> 00:27:22.400
Are you giving software agency at that point? Is that
522
00:27:22.440 --> 00:27:23.039
what's happening?
523
00:27:23.160 --> 00:27:25.519
That was the idea, man, That was absolutely the idea.
524
00:27:25.960 --> 00:27:28.720
So I started, you know, there's a there's I've got
525
00:27:28.759 --> 00:27:33.240
one repo that I posted about chat SHPT was looking
526
00:27:33.240 --> 00:27:36.359
at what I was doing in squad and it started
527
00:27:36.440 --> 00:27:38.319
kind of commenting that it looked like it was an
528
00:27:38.319 --> 00:27:41.559
implementation of Conway's law. It was like, that's not exactly
529
00:27:41.720 --> 00:27:44.240
Conway's law, you know, But the more I ran these
530
00:27:44.279 --> 00:27:46.200
tests more it was like, no, no, no, it's Conway's law.
531
00:27:46.559 --> 00:27:49.039
And it was like, I thought this was kind of weird, like.
532
00:27:49.279 --> 00:27:53.519
Like Conway's law being everything you make reflects the organization
533
00:27:53.599 --> 00:27:56.240
that makes it. If you have three teams working on compiler,
534
00:27:56.279 --> 00:27:58.839
you get a three pass compiler right right, So.
535
00:27:58.880 --> 00:28:01.640
Yeah, so I found that be interesting. So I, you know,
536
00:28:01.640 --> 00:28:03.720
I said, I don't know if this is really any good,
537
00:28:03.880 --> 00:28:06.759
like like, let's let's run some tests. So I ran
538
00:28:06.799 --> 00:28:09.240
some tests. And essentially the test where take a small
539
00:28:09.799 --> 00:28:13.200
a small task like build build project, food snak game
540
00:28:13.279 --> 00:28:16.839
or whatever. You know, build build build task using squad
541
00:28:17.519 --> 00:28:19.680
you know, a team of specialized agents once the assess
542
00:28:20.160 --> 00:28:23.279
agent almost said person again, uh one job script agent,
543
00:28:23.279 --> 00:28:25.119
et cetera, et cetera. You know, so so one of
544
00:28:25.160 --> 00:28:28.160
each of these skills. You know, I'm waiting for somebody
545
00:28:28.200 --> 00:28:32.319
to do the uh special set of skills thing. But
546
00:28:32.480 --> 00:28:34.920
you know, when you when you throw a task at
547
00:28:34.920 --> 00:28:38.319
a team of specialists, what is the comparison to if
548
00:28:38.359 --> 00:28:41.440
you throw with that same task at a team of
549
00:28:41.519 --> 00:28:45.480
generic agents. And in this case, it was a small,
550
00:28:46.279 --> 00:28:49.359
you know, small thing like build build small app, but
551
00:28:49.440 --> 00:28:53.559
it was roughly twenty percent and basically what you if
552
00:28:54.119 --> 00:28:56.440
I could run through the metrics. You can't really look
553
00:28:56.480 --> 00:28:58.960
on screen, but you look at the metrics, uh, you know,
554
00:28:59.119 --> 00:29:02.279
like the specialist there were one hundred and two tests,
555
00:29:02.359 --> 00:29:04.640
the generics there were one hundred and eight. Not always
556
00:29:04.640 --> 00:29:07.400
a bad thing. All the tests passed in both areas.
557
00:29:08.599 --> 00:29:12.039
All source files changed on the specialist seven whereas on
558
00:29:12.160 --> 00:29:14.839
the generic it was nine. Lines of code for the
559
00:29:14.839 --> 00:29:18.759
Specialist was thirteen forty five whereas the Generic was sixteen hundred.
560
00:29:20.000 --> 00:29:23.160
Model file is in task JS lines two forty versus
561
00:29:23.240 --> 00:29:28.480
two ninety eight, route file lines versus one forty four,
562
00:29:29.000 --> 00:29:31.640
migration file lines. I thought it was interesting thirty one
563
00:29:31.759 --> 00:29:35.839
versus fifty nine, test file organization three versus five, and
564
00:29:35.839 --> 00:29:38.519
then separate audit model and no versus Yes, so it
565
00:29:38.559 --> 00:29:40.200
kind of went through some of the different things, like
566
00:29:40.240 --> 00:29:42.200
it was a little bit faster with the Specialist, the
567
00:29:42.240 --> 00:29:45.519
code was a little cleaner, and it definitely felt like
568
00:29:45.559 --> 00:29:48.240
it was more organized. The argument there was, this is
569
00:29:48.240 --> 00:29:50.319
a small initiative that you ran for like ten to
570
00:29:50.359 --> 00:29:53.680
fifteen minutes. What if it was a modernization exercise, sure,
571
00:29:53.720 --> 00:29:56.559
but if it was, like, you know, a large scale
572
00:29:56.599 --> 00:29:59.240
project like I don't know, community server or something like that, you.
573
00:29:59.200 --> 00:30:04.279
Know, forty eight hours, look like right, yeah, yeah, wow.
574
00:30:04.079 --> 00:30:08.400
So that got pretty interesting. That's pretty cool.
575
00:30:09.359 --> 00:30:11.720
But it also speaks to a pattern I think we're
576
00:30:11.759 --> 00:30:14.799
going to see where over time, you're going to have
577
00:30:14.839 --> 00:30:17.119
a set of agents specific to an application, like as
578
00:30:17.119 --> 00:30:21.599
a product goes into maintenance, the tooling set's going to
579
00:30:21.680 --> 00:30:26.279
know more about the software than a person anymore. And
580
00:30:26.279 --> 00:30:28.279
and the fact that it's what you've worked through multiple
581
00:30:28.319 --> 00:30:30.480
versions with these tools means it's going to give you
582
00:30:30.480 --> 00:30:32.559
a pretty strict guidance on how to add a feature
583
00:30:32.680 --> 00:30:35.880
or evolve the code at all to the betterment of
584
00:30:35.920 --> 00:30:39.599
everything like that. In some ways, one would argue, unlike
585
00:30:39.720 --> 00:30:43.920
most software, this your product under this environment will get
586
00:30:44.000 --> 00:30:47.319
better version to version because the tooling will get stronger.
587
00:30:47.559 --> 00:30:50.039
Yeah, that's the that's that's the idea, that's the aim.
588
00:30:50.240 --> 00:30:53.119
You know that contact window will bite you every time, dude,
589
00:30:53.200 --> 00:30:55.599
Like it really really will. And you know one thing
590
00:30:55.640 --> 00:30:57.920
that people talk about with the context window. Let's take
591
00:30:57.960 --> 00:31:00.839
Opus or Sonic as a for instance. You know you
592
00:31:00.839 --> 00:31:03.799
have a two hundred thousand token limit on all a message.
593
00:31:03.880 --> 00:31:06.119
So you send a message, if that message is going
594
00:31:06.160 --> 00:31:08.599
to write a novel, you're gonna blow your window. So
595
00:31:08.640 --> 00:31:09.960
you're not gonna be to get all back because you
596
00:31:10.000 --> 00:31:13.119
get that limit. So let's say you have a squad,
597
00:31:13.440 --> 00:31:15.960
say you've got a squad five, Well, guess what your
598
00:31:16.160 --> 00:31:20.519
your window per message is a million. Now, because each
599
00:31:20.599 --> 00:31:22.920
one of the agents has two hundred thousand, so they
600
00:31:22.920 --> 00:31:25.039
can go back and there the other little thing and
601
00:31:25.119 --> 00:31:27.880
have their conversation and come back. Now do you use
602
00:31:27.880 --> 00:31:33.039
more tokens? Yes, yes, you will use more tokens. You know,
603
00:31:33.119 --> 00:31:37.240
Jeremy just posted an interesting Twitter where he's got like
604
00:31:37.279 --> 00:31:39.119
a it looks like a hockey stick, you know, Like
605
00:31:39.319 --> 00:31:41.680
he started using squad and it was a vertical line.
606
00:31:42.119 --> 00:31:43.960
And I've talked to some folks who start using it.
607
00:31:44.000 --> 00:31:46.279
They see that experience and then it drops because the
608
00:31:46.279 --> 00:31:48.519
agents get better so they have to work less.
609
00:31:49.599 --> 00:31:53.000
Well, you also pay. We get up co pilot cli
610
00:31:53.119 --> 00:31:57.720
by the request, not by the token, so that's that's good.
611
00:31:58.119 --> 00:32:01.279
I mean it's more a fit shouldn't request wise, but
612
00:32:01.519 --> 00:32:04.480
token wise. You can see that in the demo that
613
00:32:04.519 --> 00:32:09.400
Fritz and I did. It was quickly over a million tokens.
614
00:32:10.240 --> 00:32:12.680
But I think the benefit the thing that I would
615
00:32:12.680 --> 00:32:14.759
wonder I'd love to do research on this. If you're
616
00:32:14.799 --> 00:32:18.359
having a single threaded conversation with Copilot, which is you know,
617
00:32:18.519 --> 00:32:22.440
fantastic models are fantastic. If you're having that single threaded
618
00:32:22.480 --> 00:32:25.240
conversation and you're not a prompt engineer, are you going
619
00:32:25.319 --> 00:32:26.799
to be as efficient as if you were to ask
620
00:32:26.839 --> 00:32:30.119
a bunch of experts, experts, go solve this problem for me.
621
00:32:30.240 --> 00:32:33.359
You know, I right, so far, I'm so far. I'm
622
00:32:33.359 --> 00:32:36.640
compelled me too, you know it feels Yeah.
623
00:32:36.440 --> 00:32:39.039
Process of communicating with experts is not simple either.
624
00:32:39.200 --> 00:32:39.559
Well it's not.
625
00:32:39.599 --> 00:32:40.640
Maybe we should take a break.
626
00:32:40.759 --> 00:32:42.640
Yeah, let's take a break. We'll be right back after
627
00:32:42.680 --> 00:32:49.160
these very important messages, and we're back. It's dot net Rocks.
628
00:32:49.200 --> 00:32:52.400
I'm Carl Franklin, That's Richard Campbell, and that's Brady Gaster.
629
00:32:52.519 --> 00:32:58.119
We're talking Squad multi agent team that you can deploy
630
00:32:58.319 --> 00:33:02.000
and employ for or your projects that will help everything
631
00:33:02.039 --> 00:33:05.240
go real smooth. I wanted to tell you that I
632
00:33:05.240 --> 00:33:09.119
immediately got to work with Squad and quickly found out
633
00:33:09.119 --> 00:33:11.680
that I had an old version of GitHub Cli that
634
00:33:11.759 --> 00:33:16.599
it didn't like gethub copilot cli. So I updated that
635
00:33:16.839 --> 00:33:19.839
and got in the pre release, which means that it'll
636
00:33:19.839 --> 00:33:23.680
automatically install new releases when they come out, and boom,
637
00:33:23.759 --> 00:33:28.000
everything worked. The app that I'm writing with it, and
638
00:33:28.039 --> 00:33:30.079
I can't believe it, but I've only been working on
639
00:33:30.119 --> 00:33:32.839
it for a few days in my spare time and
640
00:33:32.880 --> 00:33:36.200
it's almost done. Is a you're gonna like this, Brady
641
00:33:36.319 --> 00:33:41.759
it's a remote daw digital audio workstation, so it doesn't
642
00:33:41.759 --> 00:33:44.440
have all the features of a digital audio workstation, but
643
00:33:44.480 --> 00:33:48.119
it looks the same. Like it's got tracks, and you
644
00:33:48.240 --> 00:33:53.039
have a remote artist at a home studio whatever, and
645
00:33:53.079 --> 00:33:56.960
they connect and you connect them with an authorization, and
646
00:33:57.200 --> 00:34:00.759
you play. You load up a backing track, which is
647
00:34:01.000 --> 00:34:02.880
you know, a stereo track of what they're going to
648
00:34:03.200 --> 00:34:06.440
perform to, whether it's singing or playing keyboards or guitar
649
00:34:06.559 --> 00:34:10.519
or whatever. And then you basically, you know, you can
650
00:34:10.559 --> 00:34:13.599
control their devices and your devices and which devices are
651
00:34:13.639 --> 00:34:15.960
going to be used. There's automatic talk back which you
652
00:34:16.000 --> 00:34:20.119
can mute, and then you basically push the record button
653
00:34:20.440 --> 00:34:23.599
and streams to the artists and they hear, you know,
654
00:34:23.719 --> 00:34:27.320
the backing track, and then they record and you see
655
00:34:27.360 --> 00:34:32.280
the waveform just like when you're recording locally, and it
656
00:34:32.400 --> 00:34:34.800
syncs up. And that's the that's the hardest thing that
657
00:34:34.840 --> 00:34:38.440
I had to do was making the synk happen because
658
00:34:39.159 --> 00:34:44.559
and this caused many discussions between the agents about you know,
659
00:34:44.639 --> 00:34:46.280
how are we going to do this with the math,
660
00:34:46.320 --> 00:34:49.800
and maybe we have to do some tests and figure
661
00:34:49.800 --> 00:34:53.079
out because all of these little things. Then in the
662
00:34:53.159 --> 00:34:57.840
jobscript audio basically take time. Yeah, and so how do
663
00:34:57.880 --> 00:35:01.880
you estimate that if you don't do a test and
664
00:35:02.039 --> 00:35:04.599
you know see what that timing is, because it's going
665
00:35:04.679 --> 00:35:07.760
to be different on every machine. So but that's where
666
00:35:07.760 --> 00:35:08.480
we're working.
667
00:35:08.239 --> 00:35:10.480
On you and not talked about it. You and I
668
00:35:10.519 --> 00:35:12.280
talked about a system a long time ago like that.
669
00:35:12.400 --> 00:35:14.199
It was an idea that I brought you when I
670
00:35:14.320 --> 00:35:17.360
was the signal or you know fanboy. I think I
671
00:35:17.400 --> 00:35:19.000
came up to you in Orlando and I was like, so,
672
00:35:19.119 --> 00:35:20.760
I want to talk to you about this this thing.
673
00:35:20.840 --> 00:35:23.039
I was thinking about building a signal R thing where
674
00:35:23.079 --> 00:35:26.199
we would basically transmit MIDI over Signal R so we
675
00:35:26.239 --> 00:35:28.840
could have like remote sessions. And you were like, do
676
00:35:28.920 --> 00:35:30.960
you know the do you know the latency tolerance? And
677
00:35:30.960 --> 00:35:33.719
I was like what you were like point six milliseconds
678
00:35:33.719 --> 00:35:35.280
and I was like it's not going to work and
679
00:35:35.320 --> 00:35:36.800
you were like, no, it's not going to work, and
680
00:35:36.880 --> 00:35:38.400
you were like and you're a drummer, so it's like
681
00:35:38.480 --> 00:35:39.000
point three.
682
00:35:39.760 --> 00:35:43.280
Yeah, I'm excited you're doing that. I want to see that, mate.
683
00:35:43.280 --> 00:35:44.960
It's going to MIDI.
684
00:35:45.119 --> 00:35:47.239
If you have a long MIDI cable, you're going to
685
00:35:47.320 --> 00:35:52.719
get some latency. Let alone the Internet. Yeah, I've done
686
00:35:52.760 --> 00:35:58.840
some many things over the Internet with UDP and it's fun,
687
00:35:59.000 --> 00:36:01.960
but it's not real time. There's no way.
688
00:36:02.119 --> 00:36:04.079
Yeah, yeah, yeah, Pete told me to. He's like, no, dude,
689
00:36:04.119 --> 00:36:05.039
don't you're gonna don't.
690
00:36:05.119 --> 00:36:05.599
Don't do it.
691
00:36:05.639 --> 00:36:09.079
People have tried to clear the Internet is not real time.
692
00:36:09.599 --> 00:36:12.480
I told you about that conversation I had with Should
693
00:36:12.480 --> 00:36:13.360
I say his name?
694
00:36:13.599 --> 00:36:16.360
All right, well your call man. It's a famous story
695
00:36:16.440 --> 00:36:17.280
for me anyway.
696
00:36:17.519 --> 00:36:20.440
Yeah, it's a famous I won't say his name, but
697
00:36:20.719 --> 00:36:24.199
it was back in early days of dot net rocks
698
00:36:24.199 --> 00:36:26.960
and one of the listeners we had a we had
699
00:36:26.960 --> 00:36:31.239
an IRC channel open, and he says, hey, this, I'm
700
00:36:31.239 --> 00:36:35.079
the web guy for this artist right who everybody would
701
00:36:35.119 --> 00:36:37.320
know who he is. And he wants to give you
702
00:36:37.320 --> 00:36:42.199
a call like what Yeah, he wants to do remote
703
00:36:42.239 --> 00:36:47.480
recording and jamming over the internet. And so he calls me.
704
00:36:48.639 --> 00:36:51.280
I'm amazed, you know, and he says, I want to
705
00:36:51.320 --> 00:36:57.639
do real time jamming between California and Europe. And I said,
706
00:36:57.679 --> 00:37:00.960
when you say real time jamming, do you mean one, two,
707
00:37:01.079 --> 00:37:04.320
three go and we play together? And he said yeah,
708
00:37:04.519 --> 00:37:09.039
and he said that's not going to happen. You're constrained
709
00:37:09.039 --> 00:37:12.480
by the speed of light. Yea, even if you had
710
00:37:12.519 --> 00:37:16.679
a fiber optic cable stretched between California and Europe and
711
00:37:17.039 --> 00:37:19.320
you you know, light a bit at one end, it's
712
00:37:19.360 --> 00:37:21.480
going to take time to get to the other end,
713
00:37:21.599 --> 00:37:25.320
and then that person has to hear it, respond and
714
00:37:25.440 --> 00:37:27.400
send it back and by the time it gets back
715
00:37:27.400 --> 00:37:33.440
to you, it's completely useless. So he abandoned that project.
716
00:37:33.480 --> 00:37:36.400
But it was a fun conversation to have. You have
717
00:37:36.440 --> 00:37:41.159
to persuade him. I did, and he was He started
718
00:37:41.159 --> 00:37:44.719
talking about Apple coming out with some software and yeah,
719
00:37:44.800 --> 00:37:48.079
I'm sorry, but Steve Jobs can't change the laws of physics.
720
00:37:48.119 --> 00:37:51.239
No, it's not gonna work. It's like that commercial. It's
721
00:37:51.280 --> 00:37:52.440
not gonna fit be late.
722
00:37:52.480 --> 00:37:53.360
It's not just a law.
723
00:37:54.000 --> 00:37:58.239
So I started this by saying, I used I'm using
724
00:37:58.440 --> 00:38:02.039
squad to develop this Apple cation and it's just amazing,
725
00:38:02.599 --> 00:38:05.840
like how fast things are coming together and how I
726
00:38:05.880 --> 00:38:09.280
can give it real feedback, Like, you know, why are
727
00:38:09.519 --> 00:38:11.679
why are you taking so much vertical space? We need
728
00:38:11.679 --> 00:38:14.000
this space for track, So let's consolidate and put some
729
00:38:14.039 --> 00:38:16.880
of these buttons on the same place so they're not
730
00:38:16.960 --> 00:38:19.360
taking up all this room. Oh yeah, yeah, good idea.
731
00:38:19.519 --> 00:38:20.559
Boom done.
732
00:38:21.000 --> 00:38:24.639
Just great, that's cool, that's cool. My my favorite one is, uh,
733
00:38:24.719 --> 00:38:27.119
I've done this a bunch too. I'm gonna give you
734
00:38:27.159 --> 00:38:31.519
some bad news here in a second. So my favorite
735
00:38:31.559 --> 00:38:37.400
one is the hiring. You know talked about hiring. Yeah,
736
00:38:37.760 --> 00:38:40.440
so I don't you might not even know this. So
737
00:38:40.519 --> 00:38:44.360
let's say you either do you know file new squad
738
00:38:44.519 --> 00:38:47.559
if you will, or you injected squad into an existing
739
00:38:47.559 --> 00:38:50.880
repote and they look around and they go, this is
740
00:38:50.880 --> 00:38:53.360
what or the coordinator looks around and says, this is
741
00:38:53.400 --> 00:38:55.679
who you need and you go cool, cool, cool, and
742
00:38:55.719 --> 00:38:57.920
you you add those squad members to your team and
743
00:38:58.119 --> 00:38:58.800
you're partying.
744
00:38:58.920 --> 00:38:59.079
You know.
745
00:38:59.679 --> 00:39:01.960
I'm like, you're you're off and running and everything's good
746
00:39:02.039 --> 00:39:04.199
and and and uh, you know, all of a sudden,
747
00:39:04.199 --> 00:39:08.760
you're like, shoot, like, every single time you make a diagram,
748
00:39:09.159 --> 00:39:10.039
you'll you'll see this.
749
00:39:10.199 --> 00:39:10.599
They do this.
750
00:39:10.719 --> 00:39:11.400
It draws me.
751
00:39:12.400 --> 00:39:14.119
Every time you make a diagram, you do it in
752
00:39:14.199 --> 00:39:17.440
Askei art in the Marktown. Why would you do that, dude?
753
00:39:17.480 --> 00:39:19.880
Like do it in Mermaid, you know, speaking of which.
754
00:39:20.719 --> 00:39:22.559
None of you were good at this. So would you
755
00:39:22.599 --> 00:39:26.119
please hire a Mermaid author and do your best to
756
00:39:26.159 --> 00:39:28.480
go and learn? Like all the color codes, all the
757
00:39:28.519 --> 00:39:31.079
tricks like how to organize the squares, like go look
758
00:39:31.079 --> 00:39:34.159
at like Mermaid standards and practices and like the best
759
00:39:34.159 --> 00:39:36.679
way to do Mermaid diagrams. Hire a Mermaid you know,
760
00:39:36.920 --> 00:39:39.599
you know, designer to my team. Naming it's weird depending
761
00:39:39.639 --> 00:39:42.639
on you know, your your age, you think of like
762
00:39:42.679 --> 00:39:45.840
the Little Mermaid as your universe or ten or whatever.
763
00:39:45.880 --> 00:39:47.000
I had no idea, you know what I mean, I
764
00:39:47.199 --> 00:39:48.639
have no idea how you would name that one. But
765
00:39:49.079 --> 00:39:53.119
you know, I bring that Mermaid author to everything because
766
00:39:53.159 --> 00:39:55.039
like they always do ASKI art, and I'm like, don't
767
00:39:55.039 --> 00:39:57.159
ever do that again. Make it right in your charter.
768
00:39:57.599 --> 00:40:00.440
Don't ever do ask you art anything diagrams. Hand it
769
00:40:00.480 --> 00:40:03.719
to you know, Ariel or whoever, and and let the
770
00:40:03.760 --> 00:40:05.079
Mermaid author do it.
771
00:40:05.079 --> 00:40:06.079
All, okay.
772
00:40:06.320 --> 00:40:08.559
So I found that that was something that I had
773
00:40:08.599 --> 00:40:11.079
to do in every squad, and I was like, gosh,
774
00:40:11.159 --> 00:40:13.880
it's sort of irksome, you know that, Like I have
775
00:40:13.920 --> 00:40:15.920
to do this in every one of my squads, the
776
00:40:16.000 --> 00:40:18.639
same thing a git operator, you know, like I'll knock
777
00:40:18.719 --> 00:40:20.480
the cat in every squad because like I don't like
778
00:40:20.519 --> 00:40:22.559
doing all the good stuff, So I'll have somebody who's
779
00:40:22.559 --> 00:40:25.639
a GIT expert in each squad. You can hire a
780
00:40:25.639 --> 00:40:29.159
squad member later. You can also send them on vacation.
781
00:40:29.880 --> 00:40:33.239
They go, they get archived that you can bring them
782
00:40:33.280 --> 00:40:34.960
back with all their knowledge later if you want to.
783
00:40:36.800 --> 00:40:39.320
But you know, some people started saying, like I do
784
00:40:39.440 --> 00:40:41.280
the same thing, Like I have this one that I'll
785
00:40:41.280 --> 00:40:44.639
bring to every project. And then people started saying the
786
00:40:44.639 --> 00:40:48.239
obvious things. Could I just have them on my machine?
787
00:40:48.280 --> 00:40:50.639
Can I can I instat CLA locally?
788
00:40:50.800 --> 00:40:51.920
I'm like, kind of not what.
789
00:40:51.840 --> 00:40:54.320
It's for, and like it's project specific.
790
00:40:54.480 --> 00:40:57.199
I started, yes, project specific, guys, like what you know,
791
00:40:57.760 --> 00:41:00.320
everybody that used it. You know, It's like they're sort
792
00:41:00.320 --> 00:41:03.599
of this like like the phases they go through. The
793
00:41:03.599 --> 00:41:05.920
first phase is all this is cool. The second phase
794
00:41:06.000 --> 00:41:08.039
is oh, I love the cast members and the naming.
795
00:41:08.719 --> 00:41:11.320
The third phase is wow, this is really powerful. The
796
00:41:11.360 --> 00:41:13.159
fourth phase is I want this to do more than
797
00:41:13.199 --> 00:41:16.840
just inside my repo, right, And that always goes through
798
00:41:16.880 --> 00:41:20.280
that And that fourth one is where we came up
799
00:41:20.320 --> 00:41:23.639
with the idea of extending the entire capability outside of
800
00:41:23.679 --> 00:41:25.800
it just being one JavaScript file and a whole bunch
801
00:41:25.840 --> 00:41:28.199
of markdown that copilot knows what to do with inside
802
00:41:28.199 --> 00:41:32.119
of your repo. We've replatted it using typescript on top
803
00:41:32.199 --> 00:41:35.519
of the co Pilot SDK, and we've split it into
804
00:41:35.559 --> 00:41:39.039
two packages. So now you have a CLI that's built
805
00:41:39.039 --> 00:41:41.480
on top of the co Pilot SDK, and that CLI
806
00:41:41.599 --> 00:41:44.280
just has different commands like higher. It's got a special
807
00:41:44.320 --> 00:41:46.239
command called higher. You can like give it and give
808
00:41:46.280 --> 00:41:49.239
it the thing you want, and you can there is
809
00:41:49.280 --> 00:41:52.000
that there is a rebel experience. It's quite poor at
810
00:41:52.000 --> 00:41:54.800
the moment. That's why I've been really slowly to release it.
811
00:41:54.840 --> 00:41:56.039
Maybe by the time the show was out of it
812
00:41:56.079 --> 00:41:57.840
to be out, I just wanted to experiment with the
813
00:41:57.840 --> 00:42:02.800
idea of using the copilot s and some cars probably seen.
814
00:42:02.800 --> 00:42:04.280
I think you emailed me a couple of days ago.
815
00:42:04.679 --> 00:42:07.199
The squad doesn't always fire. I have to say team,
816
00:42:07.440 --> 00:42:09.880
I have to say fan out, I have to say Kobayashi,
817
00:42:10.000 --> 00:42:12.320
I have to say whoever, and then it will do
818
00:42:12.400 --> 00:42:15.400
the thing. But Copilot really likes to help me, and
819
00:42:15.440 --> 00:42:17.639
sometimes I want Copilot to not help me. I want
820
00:42:17.639 --> 00:42:19.360
my squad to help me. So I thought, well, let
821
00:42:19.400 --> 00:42:20.960
me just build a repel where we just sell on
822
00:42:21.000 --> 00:42:23.800
top of the SDK. Copilot does all the work in
823
00:42:23.840 --> 00:42:28.360
the background. But the squad does their coordination themselves. Surprising
824
00:42:28.400 --> 00:42:31.559
how many other issues that relies on me. So I've
825
00:42:31.559 --> 00:42:34.440
been working through that. But you know, I said two packages,
826
00:42:34.480 --> 00:42:36.239
so you should probably guess what the second is. Squad's
827
00:42:36.239 --> 00:42:38.400
going to have its own SDK, so you'll be able
828
00:42:38.440 --> 00:42:40.880
to build things using the Squad SDK. You'll be able
829
00:42:40.920 --> 00:42:44.559
to inject squads into things. So wow, it's going to
830
00:42:44.599 --> 00:42:44.920
be fun.
831
00:42:44.960 --> 00:42:48.239
So I see some sort of configuration as code for
832
00:42:48.320 --> 00:42:50.880
setting up squads for new projects coming then.
833
00:42:51.159 --> 00:42:53.800
Yeah, well you also be able to do You'll be
834
00:42:53.840 --> 00:42:56.480
able to install it globally, so you can actually install
835
00:42:56.480 --> 00:42:59.599
the squad Cli globally, which means that you can do
836
00:43:00.079 --> 00:43:03.280
squad in it dash dash Global. You can have your
837
00:43:03.320 --> 00:43:05.960
own personal squad and they go from project to project
838
00:43:06.039 --> 00:43:08.519
with you, so I can take my Mermaid Diagram author
839
00:43:08.559 --> 00:43:11.159
with me to every project as a consultant, and you could.
840
00:43:11.039 --> 00:43:14.000
Still customize project on a project basis, like if one
841
00:43:14.039 --> 00:43:16.519
project is in Blazer and another one is in View,
842
00:43:17.239 --> 00:43:19.360
obviously you want different agents.
843
00:43:19.440 --> 00:43:20.719
So I could have my own team and just bring
844
00:43:20.760 --> 00:43:23.400
them from project project as I want to. Within two
845
00:43:23.440 --> 00:43:25.840
three days of us starting to use this internally, one
846
00:43:25.880 --> 00:43:27.159
of the guys on the Akas team.
847
00:43:27.440 --> 00:43:29.079
James Startivant had built a tool.
848
00:43:28.880 --> 00:43:33.119
Called Rally Rally or Squad, and the idea behind it
849
00:43:33.159 --> 00:43:34.639
is he's doing a lot of work on a lot
850
00:43:34.639 --> 00:43:38.920
of repositories, so he doesn't want the process of putting
851
00:43:38.920 --> 00:43:40.599
the squad in and he didn't want to get store
852
00:43:40.679 --> 00:43:43.559
at all, and oh it's terrible, So he would simblink
853
00:43:43.880 --> 00:43:45.599
like it was almost like Squad is a service. He
854
00:43:45.639 --> 00:43:49.360
would simplink Squad into each repo, run his thing, file
855
00:43:49.440 --> 00:43:52.559
the issue, and then back out again. So it was
856
00:43:52.599 --> 00:43:54.760
like the only thing he would do would get into
857
00:43:54.800 --> 00:43:57.800
the repo, file the issue in that GETUB repository on
858
00:43:57.840 --> 00:44:00.400
whatever team it was, and then pull back out again.
859
00:44:00.639 --> 00:44:02.239
So if you think about what that implies, you could
860
00:44:02.280 --> 00:44:05.039
use it for securityology, you can use it for you
861
00:44:05.079 --> 00:44:06.800
could use it for like filing issues.
862
00:44:07.119 --> 00:44:08.800
I pained Mike len in one of our mvbs.
863
00:44:08.800 --> 00:44:11.199
So would you end up leaving like some decision files
864
00:44:11.280 --> 00:44:14.079
or skills and things behind in each project that were
865
00:44:14.159 --> 00:44:16.880
specific to the project for the next you do set
866
00:44:16.960 --> 00:44:19.559
to come in and and sort of have a head start.
867
00:44:19.679 --> 00:44:23.280
You do you can you can do At first, When
868
00:44:23.280 --> 00:44:26.079
I first did Squad, I had this weird guard setup
869
00:44:26.119 --> 00:44:30.719
where it would block you, uh, putting your putting your
870
00:44:30.719 --> 00:44:33.719
squad into main, like whatever your main branch is, it
871
00:44:33.760 --> 00:44:36.400
will block you from putting it in there. Carl, you
872
00:44:36.480 --> 00:44:39.480
might want to do an update I just shipped over three.
873
00:44:39.559 --> 00:44:42.079
It'll be the last one that removes that block, okay,
874
00:44:42.440 --> 00:44:44.920
because that block is actually in the source code as well.
875
00:44:45.039 --> 00:44:47.119
So if so, if the squad looks and sees that
876
00:44:47.159 --> 00:44:49.440
block is not on disc, it'll recreate it for you.
877
00:44:49.719 --> 00:44:51.960
So you get into this horrible loop of like deleting
878
00:44:52.000 --> 00:44:53.199
it and gets recreated every time.
879
00:44:53.280 --> 00:44:57.400
I like having the option of putting the squad files
880
00:44:57.440 --> 00:45:01.079
and a squad folder in the repo or not. You know,
881
00:45:01.159 --> 00:45:03.239
I like to have that option. And you know, what
882
00:45:03.280 --> 00:45:07.960
I'm thinking of is some sort of tool at the
883
00:45:08.239 --> 00:45:12.639
at the command line where I could list my squads
884
00:45:12.639 --> 00:45:15.880
and I could name them right, And so if I
885
00:45:15.960 --> 00:45:20.039
have a Blazer app squad, or if I have a
886
00:45:20.760 --> 00:45:25.400
you know, Windows and a WPF squad, for example, I'd
887
00:45:25.480 --> 00:45:27.719
like to be able to select which one that I'm using.
888
00:45:27.800 --> 00:45:29.559
That's good, I get to the project.
889
00:45:29.199 --> 00:45:31.760
That's good, I will get you to file an issue
890
00:45:31.760 --> 00:45:33.719
on the repo for that shortly cool.
891
00:45:33.760 --> 00:45:36.000
So yeah, you can also imagine when you're doing a
892
00:45:36.119 --> 00:45:38.159
rally like that. You just look at the project. You
893
00:45:38.159 --> 00:45:40.599
know what libraries are in there with packages you're pulling in,
894
00:45:40.719 --> 00:45:42.039
you know what squad members you need.
895
00:45:42.400 --> 00:45:44.760
That's exactly right. I mean the other day I'll pulled
896
00:45:44.800 --> 00:45:47.840
one of our and you can also do it in reverse.
897
00:45:47.880 --> 00:45:49.079
So you know, I build a lot of demos.
898
00:45:49.159 --> 00:45:49.320
Right.
899
00:45:49.599 --> 00:45:51.920
The other day we had this We have this event
900
00:45:52.679 --> 00:45:55.360
and the event has a pre recorded demo. That pre
901
00:45:55.360 --> 00:45:58.480
recorded demo had some Java stuff and some Dott stuff
902
00:45:59.280 --> 00:46:03.079
and you know, I'm so great at Java not so
903
00:46:03.360 --> 00:46:05.360
what I You know, we kind of have like a
904
00:46:05.440 --> 00:46:07.360
rushy situation. It was like, oh, we got to have
905
00:46:07.360 --> 00:46:11.079
the video done and whatever days. What's our sample app?
906
00:46:11.280 --> 00:46:13.119
So people were like, well, we could use this sample app.
907
00:46:13.119 --> 00:46:15.280
We could use that sample apps like give me an hour.
908
00:46:16.039 --> 00:46:20.199
So you know, I basically fed it. You talk about architecture,
909
00:46:20.280 --> 00:46:23.599
pardon me, marketing friends, You feed it all of the
910
00:46:23.599 --> 00:46:28.639
features you want to show, and you say, build me
911
00:46:28.719 --> 00:46:33.480
a demo app, and it builds the demo app based
912
00:46:33.519 --> 00:46:36.079
on the features you want to show. And then we
913
00:46:36.159 --> 00:46:38.239
walked through and we just did the thing, and I
914
00:46:38.280 --> 00:46:40.599
was like I cannot believe that that worked so well.
915
00:46:40.920 --> 00:46:42.679
And at one point one of the folks on the
916
00:46:42.679 --> 00:46:45.000
team they said, hey, the way this app is built,
917
00:46:45.320 --> 00:46:47.159
we can't show this one feature. You would need to
918
00:46:47.159 --> 00:46:51.679
split it into two projects. Give me five minutes, squad,
919
00:46:51.840 --> 00:46:56.000
no problem. It was great and it saved us. I mean,
920
00:46:56.079 --> 00:46:58.360
you know how that fire drove can be. You know,
921
00:46:58.559 --> 00:47:02.480
like before the demo, you know, so you know.
922
00:47:02.440 --> 00:47:06.280
The worst thing is tearing apart stuff from projects and
923
00:47:06.320 --> 00:47:09.519
moving them to other projects the worst because.
924
00:47:09.400 --> 00:47:11.760
Yeah, so so that was fun. I mean it can just.
925
00:47:11.760 --> 00:47:14.119
Look at your dependencies and go and you're done.
926
00:47:15.400 --> 00:47:17.639
I mean you're taking advantage of the fact that these
927
00:47:17.639 --> 00:47:21.920
tools are so naturally detail orient you know that they
928
00:47:21.960 --> 00:47:25.639
do read through the lines, they don't fade off sixty
929
00:47:25.679 --> 00:47:27.119
lines in the way humans do.
930
00:47:27.440 --> 00:47:34.119
Yeah, like another one that's fun. Grab a repo that
931
00:47:34.199 --> 00:47:36.199
you don't know anything about. You can have the squad
932
00:47:36.280 --> 00:47:39.519
tell you about it. Or you could say, hire a
933
00:47:39.639 --> 00:47:43.760
revealed JS designer and build me a presentation that tells.
934
00:47:43.599 --> 00:47:44.760
Me what's in there.
935
00:47:44.800 --> 00:47:47.280
You go a few minutes later, you're hitting the writer okay,
936
00:47:47.320 --> 00:47:49.840
going oh oh that's cool, that's cool, that's cool.
937
00:47:49.920 --> 00:47:53.000
I gotta I gotta tell you how I started this project.
938
00:47:53.639 --> 00:47:57.000
I started by, you know, getting my squad together, telling
939
00:47:57.039 --> 00:47:59.559
it what, you know, the skills that I needed. You
940
00:47:59.599 --> 00:48:02.320
know that Fagan was the JavaScript guy and all this
941
00:48:02.360 --> 00:48:06.840
stuff and his blazer, and I gave it just a
942
00:48:06.920 --> 00:48:10.119
one paragraph and I said, here, based on what you
943
00:48:10.239 --> 00:48:14.480
know about this, can you write me a document where
944
00:48:14.679 --> 00:48:19.320
I can fill out all the specifics of this app
945
00:48:19.920 --> 00:48:22.920
in a detailed spec so that we can move on
946
00:48:23.039 --> 00:48:26.480
from there, because it's not enough just to you know,
947
00:48:26.559 --> 00:48:31.280
here's a couple of paragraphs and boom go. And it said, yeah, sure.
948
00:48:31.360 --> 00:48:33.559
So it built me this mdfile with you know, this
949
00:48:33.639 --> 00:48:37.280
goes here, this goes there, what are the decisions that
950
00:48:37.320 --> 00:48:41.400
are made? What do these views look like? And it
951
00:48:41.440 --> 00:48:44.679
took me, you know, an hour maybe two hours to
952
00:48:44.719 --> 00:48:47.960
fill out. And I went back to squad and I said, okay,
953
00:48:48.519 --> 00:48:52.400
here's the detailed spec. Let's come up with a plan
954
00:48:53.719 --> 00:48:58.280
and come up with phases that we can build, you know,
955
00:48:58.360 --> 00:49:02.400
one at a time, and take it from there. And
956
00:49:02.440 --> 00:49:04.679
it did. And we started with phase one and we
957
00:49:04.719 --> 00:49:07.119
moved through things. We had to adjust things, and I
958
00:49:07.159 --> 00:49:12.159
told it to adjust the adjust the plan and also
959
00:49:12.320 --> 00:49:17.599
create an implementation document with everything that it did nice,
960
00:49:17.679 --> 00:49:21.079
you know, and so we kept that going throughout the
961
00:49:21.079 --> 00:49:25.119
whole process. And from that, when I'm done, I'm going
962
00:49:25.159 --> 00:49:28.599
to say, okay, take this implementation plan and create a
963
00:49:28.679 --> 00:49:29.320
user manual.
964
00:49:29.480 --> 00:49:30.920
Yeah, boom hop you're done.
965
00:49:31.039 --> 00:49:32.000
You create a help file.
966
00:49:32.239 --> 00:49:34.639
Yeah, and you can even tell it. So this is
967
00:49:34.679 --> 00:49:36.280
something you should try next time. So how about what
968
00:49:36.320 --> 00:49:37.800
you were doing there as you were writing everything to
969
00:49:37.800 --> 00:49:40.280
the docs folder on your disc. So the next time
970
00:49:40.320 --> 00:49:42.719
you do that when you start the repo, go ahead
971
00:49:42.760 --> 00:49:46.880
and say, you know, go ahead, go into copilot and say,
972
00:49:47.559 --> 00:49:50.000
so you're in a get repository because you've started a
973
00:49:50.000 --> 00:49:54.239
squad and you're you're in pre personal squad, so you
974
00:49:54.239 --> 00:49:57.719
know you've got to get repo, Say go ahead and
975
00:49:57.760 --> 00:50:01.960
create a ge hub repository before this get repo. Go
976
00:50:01.960 --> 00:50:03.960
ahead and commit everything you can even say, like in
977
00:50:04.079 --> 00:50:06.880
what organization you want it in, and we'll do it.
978
00:50:07.679 --> 00:50:10.559
And instead of you saying, create me a pr D,
979
00:50:11.320 --> 00:50:13.480
you can say, create me a pr D as a
980
00:50:13.519 --> 00:50:18.559
single gethub issue. Then split that GitHub issue into the
981
00:50:18.679 --> 00:50:21.719
individual work items and make sure you label it so
982
00:50:21.920 --> 00:50:24.400
that each team member knows what they're supposed to do
983
00:50:25.239 --> 00:50:27.280
and it will go off and break all those into issues,
984
00:50:27.320 --> 00:50:30.679
and then you can say, Ralph, please start working and
985
00:50:30.760 --> 00:50:33.320
work every issue until it's done. And Ralph is the
986
00:50:33.360 --> 00:50:36.440
permanent team member who works like the Ralph flup, he
987
00:50:36.519 --> 00:50:38.239
will spin up and he will begin to work those
988
00:50:38.239 --> 00:50:40.960
issues and like wake up team members and assign the
989
00:50:41.360 --> 00:50:43.000
issues to the team members, and you will see the
990
00:50:43.000 --> 00:50:45.199
work getting done. And you could even say, do not
991
00:50:45.239 --> 00:50:47.679
commit to Maine directly, always do full request.
992
00:50:47.840 --> 00:50:48.280
I do that.
993
00:50:48.519 --> 00:50:50.920
Yeah, so you'll see the issues get filed. So that's cool.
994
00:50:51.000 --> 00:50:53.320
I didn't want to just let it loose and say, okay,
995
00:50:53.400 --> 00:50:55.360
do all these things. I wanted to go in phases
996
00:50:55.360 --> 00:50:57.800
and test them out, you know. Yeah, of course, because
997
00:50:57.800 --> 00:50:59.679
that's the way I work. I love to work that way.
998
00:51:00.079 --> 00:51:02.599
Yeah, that's great. Yeah, yeah, it's like spec driven development.
999
00:51:02.639 --> 00:51:05.559
Phase two can happen until I've signed off on phase
1000
00:51:05.599 --> 00:51:06.599
one exactly. Yeah.
1001
00:51:06.639 --> 00:51:08.719
I keep thinking about get Hub spec Kit, but I
1002
00:51:08.719 --> 00:51:12.719
think it's got its own it LM approach too, So
1003
00:51:13.280 --> 00:51:15.519
you know that the two aren't going to meet.
1004
00:51:15.519 --> 00:51:20.639
Well, it's definitely, it's definitely a different approach. It's a
1005
00:51:20.679 --> 00:51:24.079
great tool, it's a fantastic tool, but in our case,
1006
00:51:24.599 --> 00:51:26.480
you wouldn't sit there and write this spec. You would
1007
00:51:26.519 --> 00:51:28.320
have a conversation with your team and have your team
1008
00:51:28.360 --> 00:51:30.119
write this back, and then you would manually tweak the
1009
00:51:30.119 --> 00:51:31.840
spec or talk to the team and have them tweak
1010
00:51:31.880 --> 00:51:33.599
the spec, and then have them break it up into
1011
00:51:33.639 --> 00:51:36.360
work items and have them come up with the success
1012
00:51:36.360 --> 00:51:39.039
criteria for each one of those issues and then say go,
1013
00:51:39.480 --> 00:51:41.000
you know, and you're going to have it work issue
1014
00:51:41.000 --> 00:51:43.360
by issue, or you can have it work as Carl
1015
00:51:43.440 --> 00:51:45.840
is saying, you know in like milestone by milestone kind
1016
00:51:45.880 --> 00:51:46.519
of right.
1017
00:51:46.559 --> 00:51:48.639
And it occurs to me because keep thinking like why
1018
00:51:48.639 --> 00:51:51.559
do I have a JavaScript agent when I could just
1019
00:51:51.599 --> 00:51:54.880
have the do everything agent. It's the token problem, right,
1020
00:51:55.039 --> 00:51:57.360
you want to decompose this down so you stay away
1021
00:51:57.360 --> 00:51:58.039
from token limit.
1022
00:51:58.119 --> 00:52:02.519
Yeah, because each of these agents live in their own world, right,
1023
00:52:02.599 --> 00:52:04.599
and they don't need to know the big picture. You
1024
00:52:04.639 --> 00:52:08.320
don't need to provide all that system prompt right, you know,
1025
00:52:08.679 --> 00:52:11.280
for they just need to know how to fix a problem.
1026
00:52:11.440 --> 00:52:13.760
Yeah, they know how to do that future And the
1027
00:52:13.800 --> 00:52:16.599
other reason you never want to have that superagent is
1028
00:52:17.280 --> 00:52:19.079
that's very hallucinatory.
1029
00:52:19.159 --> 00:52:19.960
Yeah, you know what I mean.
1030
00:52:20.039 --> 00:52:22.159
If you have if you have an agent with no
1031
00:52:22.239 --> 00:52:25.599
training or no specific constructions or no specific role. They're
1032
00:52:25.599 --> 00:52:28.719
going to hungry, hungry hippo all the work, right, you know,
1033
00:52:29.239 --> 00:52:31.239
so like they're going to fight over work.
1034
00:52:31.119 --> 00:52:33.400
And they're going to blow their context in their tokens
1035
00:52:33.440 --> 00:52:35.199
quickly and not give you results.
1036
00:52:35.360 --> 00:52:36.920
Yeah, the specificity wins.
1037
00:52:37.199 --> 00:52:38.719
I had a call the other day with a gentleman
1038
00:52:38.800 --> 00:52:40.800
way smarter than me when it comes to all this stuff,
1039
00:52:41.920 --> 00:52:44.599
and he was like, everybody in an industry knows that,
1040
00:52:44.760 --> 00:52:46.960
Like that's you know, everybody knows that, like.
1041
00:52:46.920 --> 00:52:49.239
That is the core piece of knowledge. You may have
1042
00:52:49.280 --> 00:52:52.119
to learn the hard way is you know, you do
1043
00:52:52.199 --> 00:52:53.920
not want the mother of all prompts.
1044
00:52:54.159 --> 00:52:56.119
Yeah, right, yeah, I mean all this stuff is just
1045
00:52:56.199 --> 00:52:58.760
object orientation. You know, it's just the same a lot
1046
00:52:58.760 --> 00:52:59.119
of ways.
1047
00:52:59.159 --> 00:52:59.639
It's the same.
1048
00:52:59.679 --> 00:53:04.079
It's the same composition decomposition. Right, we don't have to
1049
00:53:04.119 --> 00:53:08.760
get each strategy had a form of decomposition. It's all
1050
00:53:09.039 --> 00:53:11.760
take smaller bites, right, that's the whole thing. You can
1051
00:53:11.760 --> 00:53:13.559
eat the whole elephant, but you gotta eat it one
1052
00:53:13.599 --> 00:53:14.840
bite at the time, exactly.
1053
00:53:16.800 --> 00:53:18.519
That suspice to meat the ball.
1054
00:53:19.760 --> 00:53:21.960
That's a lot of that's what that is.
1055
00:53:24.639 --> 00:53:27.199
So it sounds like you're you're just going to keep
1056
00:53:27.199 --> 00:53:29.920
going and going and going, and pretty soon, who knows,
1057
00:53:30.000 --> 00:53:33.519
maybe we'll be running our operating systems with squads or our.
1058
00:53:33.440 --> 00:53:37.199
Whole I don't know, man, I'm I'm whole businesses.
1059
00:53:37.559 --> 00:53:41.519
I'm frankly, uh, it's been a little bit overwhelming, you know.
1060
00:53:41.679 --> 00:53:45.760
I started the project. I remember I was outside. It
1061
00:53:45.840 --> 00:53:48.880
was the Super Bowl Sunday and uh gowks and I
1062
00:53:48.920 --> 00:53:52.000
was cooking something, you know, for people coming over that day,
1063
00:53:52.559 --> 00:53:55.559
and I had squad working. I've been telling Shane about it,
1064
00:53:55.719 --> 00:53:57.320
and I texted Shane and I was like, I want
1065
00:53:57.320 --> 00:53:58.840
to aim squad at your project.
1066
00:53:58.840 --> 00:54:01.119
And he was like, don't do that. I don't no, no,
1067
00:54:01.800 --> 00:54:02.920
he was like, don't do that. I don't do that.
1068
00:54:03.159 --> 00:54:04.599
I was like, I'm just gonna write a report because
1069
00:54:04.599 --> 00:54:06.000
I don't want you to write a report. He goes,
1070
00:54:06.000 --> 00:54:08.199
I have people working on that problems Like it's fine.
1071
00:54:08.400 --> 00:54:11.280
So I pulled this thing. I aimed a squad at it.
1072
00:54:11.360 --> 00:54:13.320
I was like, write a proposal for what Shane should
1073
00:54:13.360 --> 00:54:15.480
do with this project. I sent a proposal like ten
1074
00:54:15.480 --> 00:54:18.800
minutes later. He was like working, He's in squad. He's
1075
00:54:18.840 --> 00:54:24.039
suppol request. A couple of hours later, so he's like
1076
00:54:24.079 --> 00:54:25.960
starting to use it, like during the super Bowl or
1077
00:54:25.960 --> 00:54:27.840
something to text each other. And you know, my friends
1078
00:54:27.840 --> 00:54:30.280
are sitting on the cop so like seem really amped up.
1079
00:54:30.320 --> 00:54:32.679
I'm like, I think I just released a successful open
1080
00:54:32.719 --> 00:54:33.559
source project.
1081
00:54:34.000 --> 00:54:38.559
So yeah, well, and you know, did the thing people need,
1082
00:54:38.599 --> 00:54:42.199
which is tooling, right. I don't need to hear about
1083
00:54:42.239 --> 00:54:45.960
another model I need. I need a set of scaffolds
1084
00:54:46.000 --> 00:54:47.760
around how I actually get work done.
1085
00:54:47.960 --> 00:54:53.679
I need a special set of skills. Yes, but I'm
1086
00:54:53.719 --> 00:54:56.960
happy people are enjoying it. You know, keep the issues coming,
1087
00:54:57.039 --> 00:54:59.519
keep the great commentary coming, you know, keep the stars
1088
00:54:59.519 --> 00:55:03.000
coming place. You bet, it's been really fun. I think
1089
00:55:03.159 --> 00:55:08.320
get hub blog Mike features soon. We're having conversation. But
1090
00:55:09.079 --> 00:55:11.800
it's been fun. You tell your friends, tell your nerver bets.
1091
00:55:11.840 --> 00:55:14.519
Awesome. Awesome, Brady, Thanks, thanks so much for writing this
1092
00:55:14.559 --> 00:55:17.480
great tool and sharing it with us. Have fun with
1093
00:55:17.519 --> 00:55:19.360
it all right, and we'll talk to you next time
1094
00:55:19.719 --> 00:55:42.960
on dot net rocks. Dot net rocks is brought to
1095
00:55:43.000 --> 00:55:46.760
you by Franklin's Net and produced by Pop Studios, a
1096
00:55:46.920 --> 00:55:51.320
full service audio, video and post production facility located physically
1097
00:55:51.360 --> 00:55:54.119
in New London, Connecticut, and of course in the cloud
1098
00:55:54.760 --> 00:55:59.000
online at pwop dot com. Visit our website at d
1099
00:55:59.079 --> 00:56:01.079
O T N E t R O c k S
1100
00:56:01.159 --> 00:56:06.199
dot com for RSS feeds, downloads, mobile apps, comments, and
1101
00:56:06.280 --> 00:56:09.239
access to the full archives going back to show number one,
1102
00:56:09.760 --> 00:56:12.920
recorded in September two thousand and two. And make sure
1103
00:56:12.960 --> 00:56:16.199
you check out our sponsors. They keep us in business. Now,
1104
00:56:16.239 --> 00:56:18.480
go write some code. See you next time.
1105
00:56:19.360 --> 00:56:21.159
You got JAD middle vans
1106
00:56:23.280 --> 00:56:23.320
And