TRANSKRIBEERI 🔗
WEBVTT
1
00:00:05.120 --> 00:00:05.400
Bundy.
2
00:00:05.559 --> 00:00:08.400
Welcome to another thrilling episode of job Script Jabber. It's
3
00:00:08.439 --> 00:00:10.320
been a while and it's good to be back here.
4
00:00:10.679 --> 00:00:12.560
I am Steve Edwards, the host with the face for
5
00:00:12.640 --> 00:00:14.160
radio and the voice for being a mine.
6
00:00:14.199 --> 00:00:15.000
But i'm.
7
00:00:16.800 --> 00:00:19.920
And I'm here with one of my regular co panelists,
8
00:00:19.920 --> 00:00:23.280
mister Dan Shapier, hailing from Tel Aviv. How you doing, Dan, I'm.
9
00:00:23.160 --> 00:00:25.960
Fine, I'm doing well. Not as regular as I would
10
00:00:26.000 --> 00:00:28.359
like to be recently, but back to be glad to
11
00:00:28.359 --> 00:00:28.960
be back on.
12
00:00:29.120 --> 00:00:31.519
So when you say not as regularly, you mean on the.
13
00:00:32.399 --> 00:00:36.399
Podcast, it's not that. That's exactly.
14
00:00:36.799 --> 00:00:38.799
Yeah. I'll tell you about I'll.
15
00:00:38.640 --> 00:00:39.320
Tell you about the.
16
00:00:41.479 --> 00:00:44.880
Title I gave my talk at the recent no TLV conference.
17
00:00:44.960 --> 00:00:48.159
It just goes right to that kind of humor. It
18
00:00:48.840 --> 00:00:55.000
was a talk about using heap dumps to analyze memory
19
00:00:55.000 --> 00:00:58.600
and CPU issues. So the original title was taking a
20
00:00:58.679 --> 00:01:03.000
dump using heap dumps to analyze blah blah blah. So yeah,
21
00:01:03.039 --> 00:01:06.319
and then the conference actually changed the title on me.
22
00:01:06.439 --> 00:01:08.840
That's the first time it happened. They removed it taking
23
00:01:08.879 --> 00:01:09.519
a dumb part.
24
00:01:09.760 --> 00:01:13.439
I what, oh man, come on?
25
00:01:13.599 --> 00:01:16.120
But I did think the fun part though, I did
26
00:01:16.280 --> 00:01:17.319
keep it in the slides though.
27
00:01:17.519 --> 00:01:22.120
Yeah, I don't know, stick in the mud. Just when
28
00:01:22.159 --> 00:01:23.000
you got to get right.
29
00:01:24.760 --> 00:01:29.079
So I was, I was talking about being a regular
30
00:01:29.120 --> 00:01:32.519
on the show. Unfortunately, you know, life happens, and for
31
00:01:32.599 --> 00:01:36.400
various personal reasons, I could not be on as many
32
00:01:36.400 --> 00:01:39.159
shows as I would like to be. So hopefully things
33
00:01:39.200 --> 00:01:41.480
get better and I'll be able to be a more
34
00:01:41.560 --> 00:01:44.040
regular panelistash host on the show.
35
00:01:44.519 --> 00:01:45.760
He's been very lucky lately.
36
00:01:46.159 --> 00:01:46.840
Yeah, exactly.
37
00:01:47.480 --> 00:01:50.200
And let's get to that other mystery voice you are
38
00:01:50.480 --> 00:01:53.040
hearing talking with Dan and I. This is mister Jack
39
00:01:53.120 --> 00:01:55.400
Harrington of net and Tan Stack.
40
00:01:55.799 --> 00:01:59.239
Yeah, happy to be here, and yeah, happy to be
41
00:01:59.359 --> 00:02:01.359
on on the Jasjabbra podcast.
42
00:02:01.480 --> 00:02:03.239
All right. As you can tell, Jack is a very
43
00:02:03.280 --> 00:02:06.239
shy and retiring kind of guy.
44
00:02:06.439 --> 00:02:09.599
First, I've never been on a podcast for the Oh
45
00:02:09.639 --> 00:02:13.800
my gosh, he's a so no. Actually I'm on the
46
00:02:13.840 --> 00:02:16.000
front End Fire podcast. Just a slug there.
47
00:02:16.080 --> 00:02:18.400
Yeah, and you used to be on the React podcast.
48
00:02:18.479 --> 00:02:21.039
That's right. I used to be part of this syndicated
49
00:02:21.360 --> 00:02:23.759
podcast group. Okay, and React round up.
50
00:02:23.960 --> 00:02:26.560
Well, we'll get to shameless plugs at the end, So okay,
51
00:02:26.759 --> 00:02:29.199
for now, why don't you just tell us what you
52
00:02:29.240 --> 00:02:30.919
haven't told this yet about who you are and what
53
00:02:30.960 --> 00:02:32.360
you do and all that kind of fun.
54
00:02:32.400 --> 00:02:32.599
Sure.
55
00:02:32.680 --> 00:02:36.159
Yeah, So I'm a principal DevRel Now I work with
56
00:02:36.919 --> 00:02:40.280
Netlefy to talk about everything netlify has got going on,
57
00:02:40.840 --> 00:02:44.960
and also to work on tanstak. So that's Tanner Lindsley's
58
00:02:45.000 --> 00:02:50.400
ecosystem of libraries, including most interestingly, I think recently be
59
00:02:50.520 --> 00:02:53.199
tan sak start, which would be a competitor with next
60
00:02:53.280 --> 00:02:56.919
Jes in the SSR space, only a full stack space.
61
00:02:57.639 --> 00:02:57.759
Uh.
62
00:02:57.960 --> 00:03:00.560
And then Tansdak AI, which you can kind of, you know,
63
00:03:00.639 --> 00:03:03.319
quite to like a versual Ai s d K. And
64
00:03:03.360 --> 00:03:06.879
then the really cool Tansdak dB, which is actually more
65
00:03:06.879 --> 00:03:10.879
of a real time sink system, which is actually another
66
00:03:11.039 --> 00:03:13.719
kind of cool part of the trifecta. And then you know,
67
00:03:13.759 --> 00:03:16.759
famously known for React query, so that's also part of
68
00:03:16.800 --> 00:03:18.000
the Tansdak.
69
00:03:18.360 --> 00:03:20.759
I've I've actually been trying to get you know, the
70
00:03:20.879 --> 00:03:25.960
relevant people from your kind of amorphous organization. I'm going
71
00:03:26.000 --> 00:03:30.400
to talk about ten stack dB. I've been unsuccessful so far. Hopeful, Yeah,
72
00:03:30.479 --> 00:03:31.120
let's fix that.
73
00:03:31.879 --> 00:03:32.639
Believe you fix that?
74
00:03:32.719 --> 00:03:34.000
Yeah, yeah, yeah, you fix it.
75
00:03:34.080 --> 00:03:36.360
Well, we've had the most relevant person on here, not
76
00:03:36.400 --> 00:03:38.400
too long ago, mister Tanner Lindsley himself.
77
00:03:38.479 --> 00:03:43.199
So yeah, well, you know, Tanner, you know it's the
78
00:03:43.280 --> 00:03:45.400
name of the stack because it's great SEO and he
79
00:03:45.479 --> 00:03:48.960
came from the SEO space. But in most projects there
80
Load full transcript
00:03:49.080 --> 00:03:52.159
is a lead, and that lead is not in that case,
81
00:03:52.439 --> 00:03:53.479
uh Tanner.
82
00:03:53.199 --> 00:03:55.520
Okay, Yeah. The first time I interviewed him on I
83
00:03:55.520 --> 00:03:57.639
asked him where the name Tansdak come from. I'm in, like,
84
00:03:57.719 --> 00:03:59.719
did you get a good really sun Tan one time or.
85
00:03:59.639 --> 00:04:00.280
Something like that?
86
00:04:01.159 --> 00:04:02.000
You know what my name is?
87
00:04:02.039 --> 00:04:02.240
Said?
88
00:04:02.520 --> 00:04:07.479
Oh, yeah, yeah, there you go.
89
00:04:07.719 --> 00:04:11.120
Right, Yeah, I guess it's indicative of success when you
90
00:04:11.159 --> 00:04:14.159
become the big boss and you don't need to work
91
00:04:14.199 --> 00:04:15.360
on the nitty gritty anymore.
92
00:04:15.759 --> 00:04:16.920
He's definitely in the nitty gritty.
93
00:04:18.279 --> 00:04:20.560
You can't get tenor out of the nitty gritty. No.
94
00:04:20.759 --> 00:04:24.079
In fact, actually the way that I got into tan
95
00:04:24.160 --> 00:04:27.839
Snak was I built the create tan Stack app c
96
00:04:28.079 --> 00:04:31.720
l I. So right when create React app was phased out,
97
00:04:31.839 --> 00:04:34.519
I was like, hey, Tanner, let's go and like I'll
98
00:04:34.560 --> 00:04:37.560
just go and make like a create React app variant
99
00:04:37.759 --> 00:04:39.199
where all they got to do is just create a
100
00:04:39.319 --> 00:04:41.959
change React to tan Stack and I'll give you basically
101
00:04:42.040 --> 00:04:44.600
the same app with our stuff underneath, and he's like, yeah,
102
00:04:44.600 --> 00:04:47.240
that's a great idea, and so I built that out
103
00:04:47.279 --> 00:04:49.759
and then it became this kind of like huge thing
104
00:04:49.839 --> 00:04:52.800
that you know, so we added add ons and examples
105
00:04:52.879 --> 00:04:55.759
and you know, added support for solid which we can
106
00:04:55.839 --> 00:04:58.279
now support, and we're we're going to add support review
107
00:04:58.360 --> 00:05:02.199
and all that. And actually just recently he uh he
108
00:05:02.319 --> 00:05:05.120
kind of basically took it, took it over because he
109
00:05:05.240 --> 00:05:08.000
was going and integrating it onto tansdak dot com. So
110
00:05:08.040 --> 00:05:11.040
you can now do tanstack dot com slash builder and
111
00:05:11.399 --> 00:05:14.639
basically get like a checkbox list of all the stuff
112
00:05:14.639 --> 00:05:17.399
that you want in your app and you just say, hey, cool,
113
00:05:17.519 --> 00:05:20.800
export this and they and will give you a zip
114
00:05:20.879 --> 00:05:21.560
that's got it all.
115
00:05:21.600 --> 00:05:24.639
It's pretty cool cool. So basically, instead of running it
116
00:05:24.759 --> 00:05:28.439
locally via your CLA, you can also just go online
117
00:05:28.480 --> 00:05:30.879
fit in a form and get exactly what you need.
118
00:05:31.079 --> 00:05:33.839
Exactly
and we're going to be doing a lot of
119
00:05:33.839 --> 00:05:35.000
cool stuff in that space.
120
00:05:35.240 --> 00:05:36.920
Now, what was if you support you just said you had,
121
00:05:36.959 --> 00:05:37.639
I'm a view guy.
122
00:05:37.759 --> 00:05:42.240
Just well nice. Yeah. So basically tan sak start is
123
00:05:42.399 --> 00:05:47.279
really just tansdac Router with some extra stuff for like
124
00:05:47.319 --> 00:05:51.759
service side rendering and SERO functions and API routes and
125
00:05:52.399 --> 00:05:56.879
both of those things. Router and Start are actually essentially
126
00:05:56.959 --> 00:06:00.759
an agnostic core, like Router is an agno core, and
127
00:06:00.800 --> 00:06:03.839
then there's a React variant of the router that then
128
00:06:03.959 --> 00:06:07.560
uses that agnostic core. And so we've got two different
129
00:06:07.680 --> 00:06:09.879
versions of well, we got much a bunch of different
130
00:06:09.920 --> 00:06:11.319
versions of Router, and now we've got a bunch of
131
00:06:11.319 --> 00:06:14.959
different versions of Start. So we've got a React Start,
132
00:06:15.240 --> 00:06:19.040
but we also have Solid Start, so you can actually
133
00:06:19.079 --> 00:06:23.480
build on Tan sac Start using Solid and View is
134
00:06:23.639 --> 00:06:27.120
just just now kind of getting into like the alpha phase.
135
00:06:27.519 --> 00:06:29.920
So we're going to have a view version of Start
136
00:06:30.000 --> 00:06:33.240
and probably Angular at some point. So yeah, and we're
137
00:06:33.240 --> 00:06:36.000
doing the same exact approach with AI. Basically we have
138
00:06:36.160 --> 00:06:40.360
agnostic core for an AI client and then we wrap
139
00:06:40.399 --> 00:06:42.800
that for view and.
140
00:06:42.839 --> 00:06:45.120
Spelt and so for the router, then would you use
141
00:06:45.160 --> 00:06:46.920
that instead of view router. I guess I'm trying to
142
00:06:47.000 --> 00:06:47.439
understand it.
143
00:06:47.600 --> 00:06:52.040
Yeah, yeah, you'd use that instead of view router. And yeah,
144
00:06:52.360 --> 00:06:54.480
so then you get file based routing, you get code
145
00:06:54.480 --> 00:06:57.240
based routing. We want to play it so you wouldn't
146
00:06:57.240 --> 00:06:57.399
have to.
147
00:06:57.519 --> 00:06:59.800
Use like view versus nuxts then to get the too,
148
00:06:59.839 --> 00:07:02.000
you could use either or with View.
149
00:07:03.199 --> 00:07:06.160
So I would say Tansac start for View would be
150
00:07:06.160 --> 00:07:09.160
a competitor with next. How it like in terms of
151
00:07:09.240 --> 00:07:12.360
like replacement and all that. I can't say that for sure,
152
00:07:12.360 --> 00:07:14.160
because I do know that you can actually do some
153
00:07:14.160 --> 00:07:18.319
interesting configurations, like for example, you can use Astro. You
154
00:07:18.319 --> 00:07:22.639
can actually have Tanstax start for whatever React or Solid
155
00:07:22.680 --> 00:07:25.800
or whatever you want routes within an Astro app. So
156
00:07:25.839 --> 00:07:27.800
you can actually have like an Astro app that has
157
00:07:27.879 --> 00:07:30.240
like your homepage and all that, and then when you
158
00:07:30.240 --> 00:07:32.120
want to get into the app, like you got like
159
00:07:32.199 --> 00:07:35.519
slash app, and then that's all tan sak start routes
160
00:07:35.720 --> 00:07:38.079
with all its routing. So it's actually quite nice. You
161
00:07:38.079 --> 00:07:42.839
get like combinations. What's that cloud Flair bought Astro. Yeah,
162
00:07:42.839 --> 00:07:45.480
that was a surprise to me. I mean, not really
163
00:07:46.519 --> 00:07:47.000
eat in.
164
00:07:47.000 --> 00:07:48.560
But we got to get Fred on. I haven't talked
165
00:07:48.560 --> 00:07:49.279
to him in a while.
166
00:07:49.399 --> 00:07:49.839
Oh.
167
00:07:49.879 --> 00:07:52.079
Fred's great and I would love to hear his perspective.
168
00:07:52.319 --> 00:07:57.120
Yeah, I had a version four, version five. We have
169
00:07:57.399 --> 00:07:59.519
both View and here. We've had one here.
170
00:07:59.800 --> 00:08:01.800
Yeah, we've had them on here a couple of times.
171
00:08:01.800 --> 00:08:04.199
We definitely should have him back if you know.
172
00:08:04.240 --> 00:08:08.519
Yeah, yeah, oh yeah, it's his job to do the
173
00:08:08.560 --> 00:08:15.519
cloud Feah. Well, I don't know. I'm I'm happy for him.
174
00:08:15.560 --> 00:08:16.560
That's that's clearly easy.
175
00:08:16.639 --> 00:08:21.839
Yeah, look he was he was trying. He did transform
176
00:08:22.120 --> 00:08:26.199
it into a business, so effectively selling your business or
177
00:08:26.879 --> 00:08:29.600
uh is an exit. You know, it's a success story.
178
00:08:29.720 --> 00:08:32.080
Yeah. I don't don't know what that means for the ecosystem,
179
00:08:32.159 --> 00:08:35.559
but I'm it's cool and Cladla is a great company,
180
00:08:35.600 --> 00:08:37.360
so I'm a very happy for him on that front.
181
00:08:37.759 --> 00:08:40.480
Like I know, like Sneil over cloud Flair, we have
182
00:08:40.480 --> 00:08:43.679
a great time hanging out. He's fantastic. Yeah, love love
183
00:08:43.720 --> 00:08:44.840
love the class flight folks.
184
00:08:44.919 --> 00:08:47.879
So going back to the topic at hand, Oh you
185
00:08:47.960 --> 00:08:50.000
know what before then, so one more thing. So you
186
00:08:50.000 --> 00:08:54.639
were saying that you you're introducing ten stack start as
187
00:08:54.679 --> 00:08:57.919
the basis is kind of a meta framework on top
188
00:08:57.960 --> 00:09:02.159
of a variety of front and frameworks you mentioned of
189
00:09:02.200 --> 00:09:05.120
course React where it's a kind of an alternative to
190
00:09:05.639 --> 00:09:09.759
next GS. I'm saying kind of because it has a
191
00:09:09.799 --> 00:09:13.759
bit of a different philosophy. We've actually spoken about it
192
00:09:13.799 --> 00:09:17.799
with
Tanner. Next GS, you would say, is back end
193
00:09:17.840 --> 00:09:21.600
first and can do front end whereas ten stack is
194
00:09:21.759 --> 00:09:24.480
like front end first and then you can enrich it
195
00:09:24.519 --> 00:09:26.200
with back end is the way that I was.
196
00:09:26.320 --> 00:09:30.279
Yeah, that's actually that's perfect, although the next thing certainly
197
00:09:30.279 --> 00:09:33.039
gets more complicated because you've got like literally two different
198
00:09:33.080 --> 00:09:36.120
types of routers there. You've got the pages router in
199
00:09:36.159 --> 00:09:39.720
the app router, and they work on two entirely different models.
200
00:09:39.879 --> 00:09:42.559
That being said, Tan sac Start is coming out with
201
00:09:42.720 --> 00:09:46.159
RSC support sometime soon, so excited.
202
00:09:45.840 --> 00:09:48.080
About Yeah, he was talking about that as well.
203
00:09:48.360 --> 00:09:52.039
Yeah, and it's a different model than the app rider model.
204
00:09:52.039 --> 00:09:54.240
Don't expect that you're going to get the same exact thing,
205
00:09:54.559 --> 00:09:57.320
and you're going to get a lot of different approaches
206
00:09:57.440 --> 00:09:58.799
and different benefits.
207
00:09:59.120 --> 00:09:59.279
Yeah.
208
00:09:59.320 --> 00:10:01.759
Again me who don't know what RSC support is. Can
209
00:10:01.799 --> 00:10:02.440
you elaborate on that?
210
00:10:02.679 --> 00:10:06.559
Sure? This could React Server component support. So this is
211
00:10:07.080 --> 00:10:11.600
it's a feature of React that we kind of really
212
00:10:11.639 --> 00:10:17.000
saw canonically in next JS as their app router. And
213
00:10:17.080 --> 00:10:21.120
the idea is that everything is essentially server side rendered first,
214
00:10:21.399 --> 00:10:23.960
and if you don't actually say that this one that
215
00:10:24.000 --> 00:10:25.919
you want this to run on the client, then we
216
00:10:25.919 --> 00:10:30.559
don't actually send the component code over to the client
217
00:10:30.840 --> 00:10:34.519
for rehydration on the client. So potentially, if you've got
218
00:10:34.559 --> 00:10:38.279
a very static app, you get a big performance boost
219
00:10:38.519 --> 00:10:41.960
out of rscs. But in reality, the reality on the
220
00:10:41.960 --> 00:10:45.080
ground is somewhat different because the page size, the actual
221
00:10:45.320 --> 00:10:49.720
physical bites of the page are actually like three times
222
00:10:49.759 --> 00:10:52.799
the amount of size coming out they would see coming
223
00:10:52.840 --> 00:10:54.840
out of the pages router. So there's a big difference there.
224
00:10:55.399 --> 00:10:58.679
So so interesting actual choices there.
225
00:10:59.159 --> 00:11:01.519
We kind of digre think from the original topic. But
226
00:11:01.639 --> 00:11:03.960
I want to put on that because you brought it up.
227
00:11:04.360 --> 00:11:08.320
It I have an interesting oscillation with how I
define
228
00:11:08.720 --> 00:11:14.120
or explain r SC's. I had an original explanation which
229
00:11:14.159 --> 00:11:19.159
I kind of was, which was my original explanation if
230
00:11:19.200 --> 00:11:21.799
you've ever if you've gone back in time and listened
231
00:11:21.879 --> 00:11:26.200
to my series of episodes on the Virtual Dome here
232
00:11:26.240 --> 00:11:28.519
on the podcast, I think I kind of mentioned it
233
00:11:28.559 --> 00:11:31.919
toward the end, and then after speaking having Dan Abram
234
00:11:31.960 --> 00:11:34.480
of it and friends on the podcast, I kind of
235
00:11:34.600 --> 00:11:37.559
veered away from it, and now I find myself kind
236
00:11:37.559 --> 00:11:40.919
of going back to it. And that's that my explanation
237
00:11:41.080 --> 00:11:45.919
of four reacts over components is now again v doom
238
00:11:46.039 --> 00:11:46.720
over the wire.
239
00:11:46.960 --> 00:11:51.080
Yes, I agree, Yeah, I agree completely. And the nice
240
00:11:51.120 --> 00:11:54.080
thing about the tan sac approach is we give you
241
00:11:54.120 --> 00:11:56.840
pretty much exactly that, like if you know, so it's
242
00:11:56.879 --> 00:11:59.519
up to you how you want to deploy that. So
243
00:11:59.600 --> 00:12:01.639
if you if you want the raw stuff, you can
244
00:12:01.679 --> 00:12:04.279
basically you can you can put it in reacquery if
245
00:12:04.279 --> 00:12:07.320
you want, you can have it, you know wherever we've
246
00:12:07.399 --> 00:12:09.519
you know, I've sent it over the wire on you know,
247
00:12:09.559 --> 00:12:14.240
service side event service events, which is really cool. So yeah,
248
00:12:14.240 --> 00:12:15.679
I know there's a lot of cool things that you
249
00:12:15.720 --> 00:12:17.879
can do when you think about it from that perspective.
250
00:12:18.039 --> 00:12:20.600
Yeah, I kind of veered away from it because the
251
00:12:20.639 --> 00:12:24.039
first essential implementation, and for a long time, the only implementation,
252
00:12:24.159 --> 00:12:29.240
which was next GS, really tied it to the routing behavior. Yeah,
253
00:12:29.240 --> 00:12:32.600
it wasn't exactly vedom. It was more of a way
254
00:12:32.679 --> 00:12:35.759
to get the pages in a sense, kind of a
255
00:12:35.840 --> 00:12:39.480
replacement for loaders in a sense. But now that I'm
256
00:12:39.600 --> 00:12:43.840
seeing alternative implementations like the one in ten stack, I'm
257
00:12:43.919 --> 00:12:46.559
kind of going back to that original definition.
258
00:12:46.840 --> 00:12:52.039
Yeah, I agree. Yeah, WAKU was very analogous to next GS,
259
00:12:52.320 --> 00:12:54.559
and I think that that's I think those two things
260
00:12:54.919 --> 00:12:57.919
were there because the React team was like, this is
261
00:12:57.960 --> 00:13:01.919
our vision of r SC kind of thing, and I
262
00:13:01.960 --> 00:13:05.639
remember talking with Diishi pretty early on about Waku stuff,
263
00:13:05.679 --> 00:13:08.080
and he's like, oh, don't use it like I was
264
00:13:08.159 --> 00:13:09.720
using it for microphone end to the stuff. I was
265
00:13:09.919 --> 00:13:14.159
using it so like I would change a component property
266
00:13:14.320 --> 00:13:17.279
and it would automatically just go grab another instance from
267
00:13:17.480 --> 00:13:20.000
the server and rerender it. And he's like, no, no, no,
268
00:13:20.039 --> 00:13:21.639
don't use it that way. That's not the way they
269
00:13:21.720 --> 00:13:23.720
want to want it to be used. But it works
270
00:13:23.759 --> 00:13:26.679
perfectly fine that way if you want to do that.
271
00:13:27.639 --> 00:13:30.320
And that's the great thing about the ten Sac approach
272
00:13:30.360 --> 00:13:32.919
is we give you the flexibility so you don't have
273
00:13:32.960 --> 00:13:35.000
to go and render the whole route and pay all
274
00:13:35.000 --> 00:13:38.279
that flight data cost for all of it. You can
275
00:13:38.320 --> 00:13:42.399
go and you have that Okay, I just want to
276
00:13:42.440 --> 00:13:45.679
have this component rerender off the server in place, and
277
00:13:45.720 --> 00:13:49.000
then you know, bring that data back down and it works.
278
00:13:49.159 --> 00:13:49.960
It's really cool.
279
00:13:50.159 --> 00:13:53.279
And again it has to do with flipping the direction
280
00:13:53.559 --> 00:13:56.240
because in the next years everything is server first, and
281
00:13:56.279 --> 00:14:00.240
then you explicitly need to buy into being Clyde side,
282
00:14:00.320 --> 00:14:04.159
whereas with ten stack it basically says, and again I'm
283
00:14:04.200 --> 00:14:06.840
saying this off of what Tenner said when he was
284
00:14:06.840 --> 00:14:10.799
a guest here. He realizes that the majority of React
285
00:14:10.799 --> 00:14:14.679
applications out there that exists, especially in larger organizations and
286
00:14:14.759 --> 00:14:20.639
larger deployment, are basically client side rendered applications like sixty forty.
287
00:14:20.720 --> 00:14:23.879
You can exactly and then you can enrich client side
288
00:14:23.879 --> 00:14:29.440
application rendered applications with server side rendered components. You don't
289
00:14:29.480 --> 00:14:32.799
have to flip your entire architecture in order to adopt it.
290
00:14:33.000 --> 00:14:35.519
Yep, yep, absolutely. I mean, how many times have you
291
00:14:35.759 --> 00:14:38.399
started off with a VT app right, and it's it's
292
00:14:38.440 --> 00:14:41.759
really cool, it's great, it's got all the functionality, and
293
00:14:41.799 --> 00:14:43.440
then you've got to like actually call off to an
294
00:14:43.440 --> 00:14:46.600
API to do something right. Well, either you've got to
295
00:14:46.639 --> 00:14:50.320
run a different API server and decors, or you've got
296
00:14:50.360 --> 00:14:53.039
to do some hackery inside the Vican fig to go
297
00:14:53.080 --> 00:14:55.679
and add some API rounds or
things like that. That's
298
00:14:56.080 --> 00:14:59.759
essentially what React, what start is giving you is giving
299
00:14:59.799 --> 00:15:03.240
you nice formalized way of creating those API routes and
300
00:15:03.240 --> 00:15:06.120
having them integrated in the app, creating server functions, which
301
00:15:06.120 --> 00:15:08.799
is something you don't get in the pages router, uh,
302
00:15:09.000 --> 00:15:11.200
and then making it very easy to call stuff on
303
00:15:11.240 --> 00:15:14.559
the back end. But yeah, and at the end as
304
00:15:15.159 --> 00:15:18.559
the primary vehicle, and then saying Okay, we can augment
305
00:15:18.600 --> 00:15:19.200
with stuff.
306
00:15:19.080 --> 00:15:21.759
And still encapsulated as reusable components.
307
00:15:21.879 --> 00:15:22.240
Yeah.
308
00:15:22.320 --> 00:15:27.200
Absolutely, Yeah, And before we end on this topic, it
309
00:15:27.279 --> 00:15:30.080
was really interesting for me two aspects. For the first
310
00:15:30.360 --> 00:15:34.120
is that you're also addressing view and in fact, kind of,
311
00:15:34.200 --> 00:15:37.960
like you said, in a way that's kind of an
312
00:15:38.000 --> 00:15:40.919
analogous to the way that you're kind of positioning ten
313
00:15:40.960 --> 00:15:44.600
stacks start for React versus next GS, you're kind of
314
00:15:44.600 --> 00:15:49.879
positioning ten stack start for view versus let's say next
315
00:15:50.120 --> 00:15:52.919
in a sense, so giving a bit of an alternative
316
00:15:52.960 --> 00:15:53.440
to next.
317
00:15:53.440 --> 00:15:57.240
I guess, I guess, yeah, I mean I only know
318
00:15:57.679 --> 00:16:00.559
of the view stuff, you know a little bit. I
319
00:16:00.600 --> 00:16:02.840
went in actually to try and see if I could
320
00:16:02.840 --> 00:16:05.440
get create tan sac app to go and build out
321
00:16:05.440 --> 00:16:07.039
some view apps, and I was like, oh, okay, this
322
00:16:07.120 --> 00:16:09.279
is this is still a little early days, but I
323
00:16:09.279 --> 00:16:10.279
think it's very promising.
324
00:16:10.679 --> 00:16:15.000
And finally, solid start is effectively wholly built on ten
325
00:16:15.080 --> 00:16:15.679
stack start.
326
00:16:15.759 --> 00:16:21.159
Now, well there's you said, yeah, yes, sorry, there is
327
00:16:22.080 --> 00:16:24.960
very confusing. There's the original like solid start from the
328
00:16:25.000 --> 00:16:27.759
Solid team, and then there's ten stack start for a
329
00:16:27.879 --> 00:16:31.120
solid ad different. Yeah, no, there is a difference. Yeah,
330
00:16:31.200 --> 00:16:31.679
it's two.
331
00:16:31.519 --> 00:16:33.360
Different Okay, that's interesting.
332
00:16:33.600 --> 00:16:35.759
I want to Hey, I don't know, talk to talk
333
00:16:35.799 --> 00:16:39.840
to Ryan. Yeah maybe maybe maybe two Oh, is like, hey,
334
00:16:40.039 --> 00:16:42.679
we'll take the we'll take the service side stuff for you.
335
00:16:42.759 --> 00:16:45.679
Yeah, that's the thing I wanted to say. We had
336
00:16:45.679 --> 00:16:48.759
them both on the show together, and there there's so
337
00:16:48.879 --> 00:16:51.600
much overlap between you know, the thing that they're doing,
338
00:16:51.679 --> 00:16:58.080
and and given that Ryan's primary interest is not that
339
00:16:58.240 --> 00:17:03.399
whole back yeah, front and art a part, I can
340
00:17:03.480 --> 00:17:07.920
definitely see the collaboration increasing. His is the whole thing
341
00:17:07.960 --> 00:17:13.640
about you know, reactivity and uh signals stuff and signals
342
00:17:13.720 --> 00:17:15.400
and and the sink signals.
343
00:17:15.920 --> 00:17:19.519
By the way, that's exciting. I'm excited about Solitude.
344
00:17:19.680 --> 00:17:21.960
I have to tell you. I literally told him that
345
00:17:22.160 --> 00:17:24.680
from the way that I see it, he should probably
346
00:17:24.720 --> 00:17:26.119
be in the academia. Yeah.
347
00:17:26.319 --> 00:17:28.599
Maybe, but you know, I mean having him out in
348
00:17:28.680 --> 00:17:30.839
the real world is you know nice and that like
349
00:17:30.920 --> 00:17:36.559
he's he's he really understands like ours, like the fully
350
00:17:36.720 --> 00:17:38.519
the full totality of our space. You can ask him
351
00:17:38.519 --> 00:17:41.359
pretty much about any server and any framework, and he
352
00:17:41.440 --> 00:17:43.200
just keeps up with all of it. He knows all
353
00:17:43.200 --> 00:17:47.200
the different approaches. It's just it's really he's a fantastic guy.
354
00:17:47.279 --> 00:17:49.759
He actually lives pretty close to me now, so hopefully
355
00:17:49.799 --> 00:17:50.960
I can't get him out for lunch again.
356
00:17:51.000 --> 00:17:52.559
But yeah, I know that they've moved.
357
00:17:52.680 --> 00:17:53.960
So yeah, they moved up to Oregon.
358
00:17:54.680 --> 00:17:56.119
Oh cool, where are you at.
359
00:17:56.000 --> 00:18:00.400
Jack, I'm in Portland, Oregon. So there you go. We
360
00:18:00.440 --> 00:18:01.319
need to meet up.
361
00:18:01.599 --> 00:18:03.160
Yes we do. I'm out east.
362
00:18:03.519 --> 00:18:06.799
I mean, I mean I'm out east, I mean inn
363
00:18:06.839 --> 00:18:07.400
Heavy Valley.
364
00:18:07.480 --> 00:18:09.759
But dude, you're like five miles from me.
365
00:18:10.119 --> 00:18:11.480
Dude, we need to meet up.
366
00:18:12.440 --> 00:18:14.079
I didn't he like right around the corner.
367
00:18:16.000 --> 00:18:17.000
It's a small world.
368
00:18:17.559 --> 00:18:20.559
It is a small world. I would say. Portland is
369
00:18:20.640 --> 00:18:22.319
kind of up and coming, like if you're on the
370
00:18:22.400 --> 00:18:26.680
West coast. Portland is a great, great city. It really is,
371
00:18:26.759 --> 00:18:29.279
Like I but don't come here because we don't, you know,
372
00:18:29.279 --> 00:18:30.359
we don't want more more people.
373
00:18:30.440 --> 00:18:32.319
All the construction going around right around my
house.
374
00:18:34.319 --> 00:18:37.519
Oh my god, dude getting around though, Like there's always
375
00:18:37.519 --> 00:18:40.359
a flag guy I've got, there's always Like.
376
00:18:40.359 --> 00:18:44.599
It might surprise you, but Tel Aviv is undergoing, like
377
00:18:44.960 --> 00:18:47.079
the whole city is one. We basically say that the
378
00:18:47.079 --> 00:18:49.319
whole city is on wheels, Like all the streets are
379
00:18:49.359 --> 00:18:53.880
dug up, it's all filled with cranes. Uh, they're we're
380
00:18:53.920 --> 00:18:57.480
building a kind of like a metro system, so everything
381
00:18:57.559 --> 00:19:00.000
is like dug up high rises going up a little
382
00:19:00.039 --> 00:19:02.920
of the place. So it's yeah, but the problem is
383
00:19:02.960 --> 00:19:05.000
is trying to get from point A to point B
384
00:19:05.119 --> 00:19:07.480
in the side the city is becoming literally impossible.
385
00:19:07.559 --> 00:19:09.440
Yeah. If you want to find history lesson, go check
386
00:19:09.440 --> 00:19:12.799
out the history of Chicago. They actually raised up a
387
00:19:12.839 --> 00:19:15.160
lot of buildings up on these jacks when they're adding
388
00:19:15.200 --> 00:19:17.559
in like sewage and plumbing lines and all that kind
389
00:19:17.599 --> 00:19:19.880
of stuff. And there were like there were stories of
390
00:19:20.119 --> 00:19:22.839
folks waiting in an intersection as a house would come by.
391
00:19:23.000 --> 00:19:26.160
Well, from my understanding, it's kind of built like on
392
00:19:26.160 --> 00:19:28.079
on the basis of a swamp or something.
393
00:19:28.880 --> 00:19:33.200
Well, I think that's DC Actually, yeah, that's maybe Also yeah,
394
00:19:33.359 --> 00:19:35.319
we're like Mexico City, which is built on a lake.
395
00:19:35.920 --> 00:19:38.319
Anyway, I was just going, but I think we're kind
396
00:19:38.319 --> 00:19:44.400
of digressing. That's okay, let's that's a podcast for exactly.
397
00:19:44.799 --> 00:19:47.759
So let's try to get back to the original topic
398
00:19:48.000 --> 00:19:50.160
that I thought would be great to discuss with you,
399
00:19:50.400 --> 00:19:54.319
And that's a new ten stack component that you've mentioned,
400
00:19:54.680 --> 00:19:57.960
which is ten stack AI. Yeah, so you said that
401
00:19:58.039 --> 00:20:01.519
it's kind of like the verse V zero whatever they
402
00:20:01.559 --> 00:20:01.960
call it a.
403
00:20:02.240 --> 00:20:04.880
No, it's not V zero. V zero is their application builder.
404
00:20:05.119 --> 00:20:07.680
I'm talking about the AI s d K, which is
405
00:20:07.839 --> 00:20:13.799
a library that gives you some an agnostic wrapper around
406
00:20:14.039 --> 00:20:19.839
the AI, the l m uh chat you know, APIs
407
00:20:19.839 --> 00:20:22.400
for all these back end primarily although you know they
408
00:20:22.400 --> 00:20:24.720
can now support like you know we and we can
409
00:20:24.759 --> 00:20:28.119
do this too, image generation, video generation content.
410
00:20:28.240 --> 00:20:30.559
So what would so what would I use it for?
411
00:20:30.640 --> 00:20:33.720
What is it exactly? Like, let's talk about your stuff,
412
00:20:33.759 --> 00:20:37.759
So what's exactly ten stack AI and what would I
413
00:20:38.119 --> 00:20:38.640
use it for?
414
00:20:38.880 --> 00:20:40.279
Right, So let's say that you want to go and
415
00:20:40.319 --> 00:20:44.279
add a chat functionality to your app. Right, you want
416
00:20:44.319 --> 00:20:45.920
to have the user be able to you know, have
417
00:20:46.000 --> 00:20:48.160
a bot and talk to the bot and get like
418
00:20:48.240 --> 00:20:52.319
product information that kind of stuff. So tansac AI that
419
00:20:52.400 --> 00:20:55.640
library is going to be the server side of that equation.
420
00:20:56.039 --> 00:21:01.880
It gives you a vendor agnostic way of connecting to lms,
421
00:21:01.920 --> 00:21:07.200
so anthropic open AI, you know, O LAMA, they all
422
00:21:07.240 --> 00:21:13.079
have the same basic API, and then you can connect
423
00:21:13.119 --> 00:21:17.480
it to our chat function which is an agentic chat,
424
00:21:17.480 --> 00:21:20.839
which means that it supports service side tools with approvals
425
00:21:20.960 --> 00:21:23.559
and all that kind of fun stuff, so you can
426
00:21:23.559 --> 00:21:27.039
get an agentic workflow out of the app, and then
427
00:21:27.079 --> 00:21:29.079
you can connect to that that actually gives you a
428
00:21:29.079 --> 00:21:32.240
bunch of tokens that you can then send out via
429
00:21:32.359 --> 00:21:34.359
any way you want. We give you out of the
430
00:21:34.359 --> 00:21:37.400
box HTP streams and service and events, and then the
431
00:21:37.519 --> 00:21:41.319
AI client stuff, which we also wrap as AI react
432
00:21:42.519 --> 00:21:45.839
is a generic way to connect to that endpoint and
433
00:21:45.880 --> 00:21:50.279
then get the message stream and put in the chunk
434
00:21:50.319 --> 00:21:52.880
stream and then convert that into messages so you get
435
00:21:52.880 --> 00:21:55.759
the like the full on chat experience. And it supports
436
00:21:55.759 --> 00:21:58.319
also client side tools, so you can have things like
437
00:21:58.799 --> 00:22:01.279
a good example would be I'm on a e commerce
438
00:22:01.319 --> 00:22:04.240
site and I want to, you know, talk with the
439
00:22:04.319 --> 00:22:06.519
chatbot about what a motorcycle I want to buy or
440
00:22:06.599 --> 00:22:08.440
something like that, and it says, oh, you know, here's
441
00:22:08.440 --> 00:22:10.240
the motorcycle for you, blah blah blah blah blah, and
442
00:22:10.279 --> 00:22:11.799
you can say, cool, add to my cart, you know,
443
00:22:12.119 --> 00:22:13.920
not I don't know if you do that on the motorcycle,
444
00:22:13.960 --> 00:22:16.279
but you know, and then it would w use a
445
00:22:16.279 --> 00:22:19.599
client some people are a lot more
wealthier than me,
446
00:22:20.039 --> 00:22:23.759
would then add it to your cart on client side
447
00:22:23.880 --> 00:22:25.079
or on the service side. How are you going to
448
00:22:25.119 --> 00:22:27.160
play it. So that's where that that kind of tools
449
00:22:27.200 --> 00:22:29.720
integration and agentic workflow come in here.
450
00:22:29.839 --> 00:22:34.960
So your primary audience would be a website looking to
451
00:22:35.079 --> 00:22:39.039
integrate AI functionality or literally building something like a cursor.
452
00:22:39.160 --> 00:22:42.319
Oh, that's an interesting you could build cursor. And in fact,
453
00:22:42.319 --> 00:22:45.680
actually I believe open code uses the versaal Ai SDK,
454
00:22:45.839 --> 00:22:48.960
but doesn't use it all that much. They just use
455
00:22:49.000 --> 00:22:51.039
it as like a neutral layer so they can go
456
00:22:51.079 --> 00:22:53.319
and have like a single code base that connects to
457
00:22:53.359 --> 00:22:58.440
open ai models and anthropic models and all that and
458
00:22:59.240 --> 00:23:01.960
more than welcome to talk to them about about moving
459
00:23:02.000 --> 00:23:05.240
to tanzac ai. So yeah, you could use it in
460
00:23:05.240 --> 00:23:07.480
a CLI, you can use it in web, you can
461
00:23:07.599 --> 00:23:11.240
use it in Native, you can use it on you
462
00:23:11.240 --> 00:23:13.400
can use it in electron if you want. You can
463
00:23:13.440 --> 00:23:16.400
actually run the tokens across IBC. Right, it's really just
464
00:23:16.440 --> 00:23:18.640
a question of you know, you've got one thing that's
465
00:23:18.680 --> 00:23:20.720
going to go and give you an agnostic way to
466
00:23:21.119 --> 00:23:26.400
hit your lms for various services like JAT or image
467
00:23:26.440 --> 00:23:29.880
generation or whatever whatever they support. And then the client side,
468
00:23:29.880 --> 00:23:32.559
which is about like getting the tokens back and formatting
469
00:23:32.599 --> 00:23:35.119
them into messages. So that they're easy to display.
470
00:23:35.279 --> 00:23:40.480
So just so if on the higher level, it seems
471
00:23:40.480 --> 00:23:42.599
to me, let's see if find the center correctly, that
472
00:23:42.680 --> 00:23:50.400
you're offering two main services. One is an LLM agnostic
473
00:23:50.799 --> 00:23:55.240
way to connect to the llms, and you're saying that
474
00:23:55.319 --> 00:24:00.000
they have a similar but not identical API, so you
475
00:24:00.920 --> 00:24:04.640
overlay like a facade on top of that that basically
476
00:24:05.240 --> 00:24:08.119
irons out the wrinkles that make them makes them actually
477
00:24:08.160 --> 00:24:09.279
identical in a sense.
478
00:24:09.480 --> 00:24:12.279
Yeah, basically, yeah.
479
00:24:11.319 --> 00:24:14.720
And in addition, you also get a chat client that
480
00:24:14.960 --> 00:24:17.799
works with this infrastructure.
481
00:24:18.720 --> 00:24:23.319
Yeah, and we're just in the process of finalizing that
482
00:24:23.400 --> 00:24:27.400
we'll be moving. We have our own internal standard for chunks, right,
483
00:24:27.440 --> 00:24:29.799
that'd be, oh, this is the LM and it just
484
00:24:29.799 --> 00:24:32.400
put out a chunk with you know, this particular token
485
00:24:32.440 --> 00:24:35.319
in it or whatever. And we're going to be moving
486
00:24:35.359 --> 00:24:40.279
to what's called AGUI, which is a standard for chunked tokens.
487
00:24:41.000 --> 00:24:43.799
And the cool thing there is that you'll be able
488
00:24:43.839 --> 00:24:49.720
to use our server AGUI exported chunks with anything on
489
00:24:49.799 --> 00:24:51.839
the front end that supports that standard, So you don't
490
00:24:51.880 --> 00:24:53.799
have to use our hooks and our client if you
491
00:24:53.839 --> 00:24:57.119
don't want to, and vice versa. If you have if
492
00:24:57.119 --> 00:24:59.319
you use our client and our hooks, you could talk
493
00:24:59.359 --> 00:25:01.599
to any server doing a g u I on the
494
00:25:01.640 --> 00:25:07.720
back end. And we actually also have currently Python and
495
00:25:07.839 --> 00:25:12.000
PHP libraries for the server, which is something that is
496
00:25:12.200 --> 00:25:15.640
something that the versaal AI s DK isn't currently supporting.
497
00:25:15.839 --> 00:25:20.599
It's a typescript only ecosystem where we are pretty interested
498
00:25:20.640 --> 00:25:24.400
in making sure that like Python fast API as an example,
499
00:25:24.519 --> 00:25:27.440
as well positioned is able to use it as well
500
00:25:27.480 --> 00:25:30.440
as PHP. You know, there are a few sites out
501
00:25:30.440 --> 00:25:31.640
there that we're on PHP.
502
00:25:31.880 --> 00:25:37.680
Interesting. I'll actually speak to the AI engineers at size Sense,
503
00:25:37.720 --> 00:25:40.000
the place where I work, and you know, to let
504
00:25:40.079 --> 00:25:44.359
them know about it, because we have AI chats embedded
505
00:25:44.400 --> 00:25:51.799
within our within our software. We also do AI based services,
506
00:25:51.880 --> 00:25:56.240
so we do data analytics. You can you know, ask
507
00:25:56.640 --> 00:25:59.359
you can actually we call it semantic enrichment. You can
508
00:25:59.400 --> 00:26:05.880
actually tell the system, hey, I want AI to provide
509
00:26:05.920 --> 00:26:09.519
additional meta data on top of the meta data that
510
00:26:09.599 --> 00:26:12.720
I got out of the databases that I'm working with.
511
00:26:13.039 --> 00:26:18.759
Sure then and you know it's it's really it's really
512
00:26:18.920 --> 00:26:23.000
a useful functionality. It makes reasoning with your data much
513
00:26:23.039 --> 00:26:27.160
easier and and definitely I don't know which models we're
514
00:26:27.240 --> 00:26:30.599
currently limited to, but if we're able to easily open
515
00:26:30.640 --> 00:26:33.759
it up to additional models, that that can be really
516
00:26:33.839 -->
00:26:37.400
really interesting because very often our customers say, hey, we
517
00:26:37.440 --> 00:26:40.319
want we prefer working with this model or that model
518
00:26:40.480 --> 00:26:45.000
because that's the one that standardized within our organization, that's
519
00:26:45.039 --> 00:26:49.480
the one that we have you know, coupons for and
520
00:26:49.519 --> 00:26:53.279
stuff like that. Yeah, we we go we use Ralph,
521
00:26:53.359 --> 00:26:59.680
so now we run through coupons like like, uh exactly.
522
00:27:00.000 --> 00:27:02.599
I'll probably talk about that maybe later on.
523
00:27:02.640 --> 00:27:02.880
But.
524
00:27:05.359 --> 00:27:08.720
Yeah, So in terms of compatibility, just so folks know,
525
00:27:09.720 --> 00:27:15.079
we originally came out with open Ei, Anthropic, Gemini, and Olama,
526
00:27:15.279 --> 00:27:17.960
and then we added GROC and now we've just recently
527
00:27:17.960 --> 00:27:22.319
added open Router, so quite a bit of support there,
528
00:27:22.359 --> 00:27:25.640
and then we're also obviously looking at Azure and Bedrock
529
00:27:26.119 --> 00:27:30.000
is next big primary targets in terms of the back
530
00:27:30.119 --> 00:27:32.119
end support. And the reason it takes a little bit
531
00:27:32.160 --> 00:27:33.960
of time is we spend a lot of time actually
532
00:27:34.039 --> 00:27:36.160
going through and taking a look at all the different models,
533
00:27:36.480 --> 00:27:39.359
cataloging them, getting all the typescript support in there. Because
534
00:27:39.640 --> 00:27:44.519
when you select a model from a vendor, then you
535
00:27:44.559 --> 00:27:47.759
get all the usual properties, but you also like a
536
00:27:47.880 --> 00:27:51.039
temperature and this and that. But you also get proprietary
537
00:27:51.079 --> 00:27:54.079
properties for each model, and they're all strongly typed. So
538
00:27:54.119 --> 00:27:56.400
if you've got things like you know, some sort of
539
00:27:56.640 --> 00:27:59.039
I don't know, conversation ID or something like that that's
540
00:27:59.079 --> 00:28:03.200
going to go to Anthropic for storage, you know, then
541
00:28:03.599 --> 00:28:06.519
you can add that in and it's all type safe.
542
00:28:06.559 --> 00:28:10.000
And how how do you align through the differences between
543
00:28:10.039 --> 00:28:12.759
the various models, because you said that they're very similar
544
00:28:12.799 --> 00:28:15.480
but not identical, so I assume that there might be
545
00:28:15.559 --> 00:28:18.279
some interesting differences in kinks to work out.
546
00:28:18.640 --> 00:28:21.720
Yeah, I mean yeah, not so much, to be honest.
547
00:28:21.720 --> 00:28:24.160
I mean they're like, yeah, there's there's like little you know,
548
00:28:24.240 --> 00:28:28.359
there's proprietary flags for sure, but in most of most
549
00:28:28.359 --> 00:28:30.200
of the l l ms, you know, they're pretty much
550
00:28:30.240 --> 00:28:34.839
standardized on on at least in terms on the options.
551
00:28:35.240 --> 00:28:37.920
It's the chunk format really that comes back like from
552
00:28:38.039 --> 00:28:41.119
the actual vendor that can get a little That's actually
553
00:28:41.160 --> 00:28:43.680
where we end up spending a bunch of time is like, yeah,
554
00:28:44.359 --> 00:28:48.400
massaging the chunks coming back from the l M into
555
00:28:48.440 --> 00:28:51.720
our standard and now obviously a a g u I standard,
556
00:28:51.799 --> 00:28:55.200
and then from there we senator for the client.
557
00:28:55.400 --> 00:28:59.720
So given the AGUI standard. Theoretically, in an ideal world
558
00:29:00.200 --> 00:29:02.720
two years from now, you won't actually be needed.
559
00:29:05.720 --> 00:29:10.000
I yeah, well, okay, I think that. I guess there's
560
00:29:10.039 --> 00:29:13.079
some really cool stuff that we're working on that's way, way,
561
00:29:13.119 --> 00:29:16.000
way beyond what people are used to seeing out there.
562
00:29:16.200 --> 00:29:18.759
So I kind of consider where we are currently in
563
00:29:18.759 --> 00:29:22.799
that published state, sort of like table stakes, and then
564
00:29:23.200 --> 00:29:25.079
you know, the kind of stuff that we'll be putting
565
00:29:25.119 --> 00:29:28.480
on top of that is going to be groundbreaking. So
566
00:29:28.480 --> 00:29:29.799
I'm really really excited.
567
00:29:30.039 --> 00:29:32.640
That'll be interesting. Also, you know, again, when you're talking
568
00:29:32.680 --> 00:29:39.119
about extended media types like audio, video images, you're adding
569
00:29:39.160 --> 00:29:42.240
a whole new additional layer of complexity, which I'm sure
570
00:29:42.680 --> 00:29:47.359
needs better alignment between the different models, the type of
571
00:29:47.400 --> 00:29:50.319
stuff that they're bringing, you know, handing out back and
572
00:29:50.359 --> 00:29:52.440
how yeah you know it to the user.
573
00:29:52.599 --> 00:29:56.000
Yeah, like video was a kind of a an entirely
574
00:29:56.039 --> 00:30:00.240
different interaction models. It's like a job based model, fire
575
00:30:00.240 --> 00:30:01.559
off a job to get back a job, I d
576
00:30:01.839 --> 00:30:03.519
because it just takes so long. It takes so long
577
00:30:03.519 --> 00:30:06.599
to generate video, so it's like an entirely different API surface.
578
00:30:06.680 --> 00:30:10.160
In fact, actually that's kind of an interesting digression, is
579
00:30:10.920 --> 00:30:15.279
around we actually spend a bunch of time going from
580
00:30:17.359 --> 00:30:20.039
kind of like an initial release to the second release
581
00:30:20.079 --> 00:30:23.359
that had like all the support for image and video
582
00:30:23.640 --> 00:30:26.519
and structured output and that sort of stuff. And the
583
00:30:26.559 --> 00:30:29.799
reason was because we kind of did an AI an
584
00:30:29.839 --> 00:30:32.319
API review and we saw that we were just going
585
00:30:32.400
--> 00:30:35.400
to keep on adding new functions to the export of
586
00:30:35.440 --> 00:30:39.200
AI and you know, like generate image and generate video,
587
00:30:39.240 --> 00:30:40.839
and we kind of ask ourselves, you know, is that
588
00:30:40.839 --> 00:30:42.680
what we want to do, because you know, as the
589
00:30:42.720 --> 00:30:44.839
field expands, we just kind of want to keep adding
590
00:30:44.880 --> 00:30:48.839
functions to it. And so we initially decided, well, we'll
591
00:30:48.920 --> 00:30:50.599
just kind of try to see if we can do
592
00:30:50.720 --> 00:30:53.319
a polymorphage design where you have it just like basically
593
00:30:53.359 --> 00:30:57.319
one export coming out of Tansac AI, one real export,
594
00:30:57.319 --> 00:30:59.799
which would be the AI function, and then based on
595
00:31:00.039 --> 00:31:02.920
the model that we send in, we would then do
596
00:31:02.960 --> 00:31:04.960
all the typing and all that kind of stuff to
597
00:31:05.039 --> 00:31:08.200
like say, oh, okay, cool, this is a you know,
598
00:31:08.319 --> 00:31:10.839
a video model. Therefore, you know, get to get back
599
00:31:10.839 --> 00:31:13.400
a job i'd or something like that. And what we
600
00:31:13.640 --> 00:31:17.200
found after six days was that it just wasn't a
601
00:31:17.240 --> 00:31:20.960
great model, and it was actually working with the AIS
602
00:31:20.960 --> 00:31:23.680
themselves that allowed me to kind of go in and
603
00:31:23.880 --> 00:31:27.319
and and say, hey, between these two different APIs this
604
00:31:27.480 --> 00:31:31.000
kind of generic AI function versus generate image. You know,
605
00:31:31.119 --> 00:31:34.680
with that, which what what would you prefer us to
606
00:31:34.759 --> 00:31:37.200
do and write and what what what do you think
607
00:31:37.240 --> 00:31:40.839
would be it would increase accuracy of an l M
608
00:31:41.039 --> 00:31:45.440
and one across the board. All the frontier models are like, ah, dude,
609
00:31:45.759 --> 00:31:46.519
generate image.
610
00:31:46.680 --> 00:31:50.799
Duh. Oh yeah, well that's that's not actually really surprising.
611
00:31:51.039 --> 00:31:52.720
No, no, it's not surprising at all. But it's one
612
00:31:52.720 --> 00:31:54.200
of those things where you're like, oh, you know, you
613
00:31:54.240 --> 00:31:57.039
should have done this earlier, so you know it.
614
00:31:57.160 --> 00:31:59.880
You know, that's it's it's kind of like actually learning.
615
00:32:00.079 --> 00:32:02.519
So it's kind of like ECHA mean, having the different
616
00:32:02.559 --> 00:32:06.720
tags for the very different media types rather than having
617
00:32:06.839 --> 00:32:11.440
like a generic media type element that does everything right exactly.
618
00:32:11.519 --> 00:32:14.519
You know. It's it's so much more verbos And if
619
00:32:14.559 --> 00:32:17.799
you have just a single function I right, you're getting
620
00:32:17.799 --> 00:32:23.400
away like the primary communications vehicle for what the thing does,
621
00:32:23.519 --> 00:32:27.200
which is the function name. It's like pretty obvious once
622
00:32:27.200 --> 00:32:29.119
you think about it. The other thing that I thought
623
00:32:29.160 --> 00:32:32.519
was interesting about that experience was that all of the
624
00:32:32.559 --> 00:32:35.400
agents like Claw and all that were really having a
625
00:32:35.440 --> 00:32:38.640
hard time actually trying to get the polymorphic stuff to work.
626
00:32:38.839 --> 00:32:41.440
You know, one you get it right, it would work
627
00:32:41.480 --> 00:32:44.440
for one thing, and then it would break something else.
628
00:32:44.759 --> 00:32:46.240
And we had all these type tests and all that
629
00:32:46.319 --> 00:32:49.200
kind of stuff, and what I really learned was that
630
00:32:49.559 --> 00:32:52.039
AI is not going to complain. Man, They're going it's
631
00:32:52.039 --> 00:32:54.640
gonna be like, okay, yeah, no problem, Man, I can
632
00:32:54.680 --> 00:32:57.960
do whatever you want. And that's a problem because if it,
633
00:32:58.079 --> 00:33:01.920
if it had beened me trying to manually code this
634
00:33:02.000 --> 00:33:04.200
new interface, I would have been like an hour into
635
00:33:04.279 --> 00:33:06.720
and been like, man, this doesn't work, Like this is
636
00:33:06.759 --> 00:33:10.400
really hard, Like it shouldn't be this hard. And that's
637
00:33:10.440 --> 00:33:13.480
always been like those pain points have always been like
638
00:33:13.519 --> 00:33:16.119
a like an engineering smell to like see in the
639
00:33:16.440 --> 00:33:19.599
junior dev senior devs like you run into a wall
640
00:33:19.799 --> 00:33:22.119
and like C plus plus is not happy with how
641
00:33:22.160 --> 00:33:24.960
you're doing your stuff. That's an indication that you probably
642
00:33:24.960 --> 00:33:28.519
are doing it the wrong way or some thing. You know,
643
00:33:28.960 --> 00:33:31.640
typescripts and types. If you if you're having a heck
644
00:33:31.640 --> 00:33:34.319
of a time trying to type it correctly, and maybe
645
00:33:34.359 --> 00:33:37.200
that's not great, maybe you want to do something else.
646
00:33:37.400 --> 00:33:39.839
Yeah, that's kind of the thing about the eyes. From
647
00:33:39.839 --> 00:33:44.440
my from what I've been experiencing, is that AI. Even
648
00:33:44.480 --> 00:33:47.119
when you tell it, you know, we were talking about
649
00:33:47.119 --> 00:33:49.720
it before, about the rule files, before we start to the show.
650
00:33:50.079 --> 00:33:53.079
Even when you tell it you're an experienced developer, whatever,
651
00:33:53.440 --> 00:33:55.960
its still very much works like a junior in terms
652
00:33:56.000 --> 00:33:57.160
of its attitude.
653
00:33:57.319 --> 00:33:58.920
Whenever you tell me to do boss, I'm.
654
00:33:58.799 --> 00:34:04.160
In, Yeah, you're very They're very compliant, you know they Yeah,
655
00:34:04.200 --> 00:34:06.400
too compliant. They'll do it you tell them to do,
656
00:34:06.480 --> 00:34:10.239
even if it's totally stupid, or they'll try to do it.
657
00:34:11.719 --> 00:34:13.519
Yeah, unless you ask it the review and it will
658
00:34:13.519 --> 00:34:17.880
do a good good review. Yeah, I've actually asked it, like, hey,
659
00:34:17.960 --> 00:34:22.039
does this make sense? Yeah, but I understand, Like at
660
00:34:22.119 --> 00:34:25.599
least in Cursor, there's four different modes. There's agent mode,
661
00:34:25.880 --> 00:34:29.320
do what I tell you to do. There's a plan mode,
662
00:34:29.519 --> 00:34:32.920
the under underutilized plan modes I use the heck out
663
00:34:32.960 --> 00:34:36.440
of Basically, it'll ask you like, okay, before we do this,
664
00:34:36.519 --> 00:34:40.280
I've got some questions. And then there's ask and debug
665
00:34:40.360 --> 00:34:43.679
and ask is also I would say, like an underrated
666
00:34:43.880 --> 00:34:47.039
S tier mode where you can just ask the thing
667
00:34:47.119 --> 00:34:48.840
like how did you do that? How?
668
00:34:49.000 --> 00:34:51.639
I've used all of it except I've used all of
669
00:34:51.679 --> 00:34:52.719
them except the bug.
670
00:34:52.920 --> 00:34:53.599
Yeah, me too.
671
00:34:53.679 --> 00:34:55.400
I don't. I don't really get the bug.
672
00:34:55.800 --> 00:34:59.480
No, yeah, but you know there, but I haven't. I'm
673
00:34:59.519 --> 00:35:02.280
in love with the new the browser stuff, Oh my god,
674
00:35:02.360 --> 00:35:05.239
it's so great. What do you mean the browser integration
675
00:35:05.320 --> 00:35:08.280
and cursor. It's like, hey, this page doesn't look right, go,
676
00:35:08.360 --> 00:35:10.719
you know, go go fix it. And it's like okay,
677
00:35:10.880 --> 00:35:12.679
and pops up a browser takes screenshot.
678
00:35:12.800 --> 00:35:16.239
Like, oh yeah, yeah, I've seen the automated for you
679
00:35:17.639 --> 00:35:23.199
that I've been playing. You know. We we spoke personally
680
00:35:23.239 --> 00:35:26.159
a lot about mcps I've been playing with. I had
681
00:35:26.159 --> 00:35:29.480
a project. It's an interesting project. Again, we're digressing all
682
00:35:29.480 --> 00:35:33.159
over the place. I had an interesting project that I've
683
00:35:33.159 --> 00:35:39.519
been working on. Looking at work, we had a whole bunch,
684
00:35:39.719 --> 00:35:43.800
like we are. Scienceence has been around the block the
685
00:35:43.840 --> 00:35:49.480
company and for years. Their approach to testing when they
686
00:35:49.679 --> 00:35:54.199
kind of automated away from manual QA is to build
687
00:35:54.320 --> 00:35:57.079
a ton of end to end tests, so most of
688
00:35:57.119 --> 00:35:59.960
the coverage is achieved by end to end tests rather
689
00:36:00.079 --> 00:36:05.840
than by unit tests or integration tests. So there's like
690
00:36:05.840 --> 00:36:09.119
like thousands of end to end tests out
there, and
691
00:36:09.280 --> 00:36:11.679
they were built because they were built years ago. They
692
00:36:11.719 --> 00:36:14.920
were built using uh selenium.
693
00:36:14.599 --> 00:36:18.639
And oh dude, no.
694
00:36:18.920 --> 00:36:22.360
Actually, actually, even more accurately, they were built using if
695
00:36:22.400 --> 00:36:25.920
you've know if you heard about it about it using Serenity.
696
00:36:27.480 --> 00:36:28.159
No, I don't know that.
697
00:36:28.760 --> 00:36:32.960
So it's a layer above selenium that uses cucumber or
698
00:36:33.360 --> 00:36:39.079
Garca cucumber tests. I remember those exactly. So Serenity is
699
00:36:39.199 --> 00:36:44.880
basically Selenium plus cucumber. Yeh. So I was looking at
700
00:36:44.920 --> 00:36:52.400
the possibility of migrating these tests to play Right, because
701
00:36:52.440 --> 00:36:54.880
we write all our new tests and Playwright and play Right,
702
00:36:55.320 --> 00:37:00.719
despite all its own challenges, is much better Selenium, and
703
00:37:00.760 --> 00:37:03.320
most of our coding these days is done in typescript
704
00:37:03.440 --> 00:37:07.639
rather than Java, so we wanted to align on that stuff.
705
00:37:07.880 --> 00:37:11.559
But nobody is going to manually migrate thousands and thousands
706
00:37:11.559 --> 00:37:14.360
of tests. So I was looking at the possibility of
707
00:37:14.519 --> 00:37:18.159
using AI to automate as much of the effort as possible,
708
00:37:18.239 --> 00:37:20.800
and I kind of show that it was possible to
709
00:37:20.840 --> 00:37:26.679
reach somewhere between eighty to ninety percent automatic migration, which
710
00:37:26.760 --> 00:37:29.880
is not one hundred percent. It still needs a whole
711
00:37:29.920 --> 00:37:33.360
bunch of manual effort, especially that sometimes it's the challenging
712
00:37:33.400 --> 00:37:37.519
manual effort. But you know, getting rid of ninety percent
713
00:37:37.559 --> 00:37:42.760
of the work is definite plus. Yeah, And so I
714
00:37:42.880 --> 00:37:45.599
was talking about that because one of the things that
715
00:37:45.639 --> 00:37:48.679
I was trying to do is whenever it failed, I
716
00:37:48.880 --> 00:37:53.679
basically told it to try to use the playwright MCP
717
00:37:54.280 --> 00:37:57.679
server to try to figure out what the problem was
718
00:37:57.719 --> 00:38:01.519
and see if fix it automatic. Yeah. Yeah, yeah, sometimes
719
00:38:01.519 --> 00:38:04.519
it could, sometimes it couldn't, but it was interesting to
720
00:38:04.599 --> 00:38:05.800
watch the attempt.
721
00:38:05.880 --> 00:38:08.239
Yeah, and you're Ralphing basically Ralphing.
722
00:38:08.639 --> 00:38:12.199
Yeah, yeah, I'm Manual ralphingman. Yeah, you know what we
723
00:38:12.320 --> 00:38:15.679
digressed it to that, Let's talk about Ralph. Let's talk
724
00:38:15.719 --> 00:38:21.320
about I don't know, probably we would probably probably want
725
00:38:21.360 --> 00:38:25.159
to bring Mitt Pocock to speak about that, but nowhere anyway,
726
00:38:25.280 --> 00:38:27.320
So let's talk about Ralphing for a minute.
727
00:38:27.239 --> 00:38:27.400
Yeah.
728
00:38:27.440 --> 00:38:29.599
I was just watching a video his last night there
729
00:38:29.599 --> 00:38:29.800
you go.
730
00:38:30.000 --> 00:38:30.760
Was it about Ralphing?
731
00:38:31.320 --> 00:38:37.199
Uh No, it was about uh the open the SDK
732
00:38:37.320 --> 00:38:38.039
that you were talking.
733
00:38:37.800 --> 00:38:41.559
About, the yeah, the versl SK yeah versaill.
734
00:38:41.559 --> 00:38:41.840
Thank you.
735
00:38:41.920 --> 00:38:43.679
Yeah, he is he's got a full course on that,
736
00:38:43.800 --> 00:38:45.440
like a big course on that.
737
00:38:45.559 --> 00:38:47.519
So yeah, yeah, because I'm using it for a demo
738
00:38:47.599 --> 00:38:49.400
app so yeah, pretty cool.
739
00:38:49.639 --> 00:38:53.440
Yeah, Well, anyway, sorry, you sandseck and so by the way,
740
00:38:53.519 --> 00:38:58.960
so if your viewers or listeners uh hands like AI,
741
00:38:59.239 --> 00:39:02.119
all the tanzacle or is are completely independent of each other,
742
00:39:02.199 --> 00:39:04.199
so you don't you don't have to be on tanstac
743
00:39:04.239 --> 00:39:07.239
start to use tanac AI. You can use it on
744
00:39:07.639 --> 00:39:08.559
anything you want.
745
00:39:08.639 --> 00:39:10.039
Yeah, I used tanstack table.
746
00:39:11.480 --> 00:39:15.239
Yeah, the o G the OG library.
747
00:39:15.320 --> 00:39:16.760
Yeah.
748
00:39:16.800 --> 00:39:18.320
Okay, so ralphing you.
749
00:39:20.960 --> 00:39:24.159
Since you mentioned ten stack table. One of the things,
750
00:39:24.199 --> 00:39:27.199
one of the things, one of the things that I
751
00:39:27.360 --> 00:39:30.239
ran into problem with in that project was I don't
752
00:39:30.239 --> 00:39:36.360
remember which virtualized table library it was actually being used.
753
00:39:36.639 --> 00:39:42.159
But it's a real big hassle to do e t E.
754
00:39:42.159 --> 00:39:49.679
Effectively visual testing with with virtual table because the screen exist,
755
00:39:50.199 --> 00:39:54.239
you know, Chris, you kind of dependent. So I had
756
00:39:54.280 --> 00:39:57.679
tests failed. You know, my greated tests failed because it
757
00:39:57.760 --> 00:39:59.960
didn't make the virtual screen big enough.
758
00:40:00.199 --> 00:40:00.679
Yeah.
759
00:40:00.840 --> 00:40:07.760
Yeah, talk about brittle uh brittle actually and fragile tests
760
00:40:07.760 --> 00:40:10.199
and stuff like that. You know, your screen is too small.
761
00:40:10.320 --> 00:40:14.039
So that makes a virtual screen sixteen thousand pixels.
762
00:40:14.440 --> 00:40:18.960
Twenty exactly exactly, so that all the column headers fit in,
763
00:40:19.079 --> 00:40:23.679
because otherwise it's just the element is just not there.
764
00:40:23.719 --> 00:40:24.480
It's insane.
765
00:40:25.360 --> 00:40:28.960
Yeah, man, Like I I used
to do mac os
766
00:40:29.039 --> 00:40:31.960
programming back in like the version five days. Man, I
767
00:40:31.960 --> 00:40:33.679
I've been through it all, and we did a lot
768
00:40:33.679 --> 00:40:36.519
of virtual table stuff back then. I'm like, uh no, never,
769
00:40:36.719 --> 00:40:39.480
never again, never, Nope, nope, I don't want to man
770
00:40:39.519 --> 00:40:41.800
the scroll bar. I don't want to write virtual table code.
771
00:40:42.320 --> 00:40:44.840
It's a good business. Yeah.
772
00:40:44.880 --> 00:40:47.039
Well, so it was like, you know, maintaining cobal code.
773
00:40:47.119 --> 00:40:49.840
I guess nowadays, I wonder if like LM is going
774
00:40:49.880 --> 00:40:50.360
to put those.
775
00:40:50.239 --> 00:40:53.079
Guys out of Oh yeah, for sure. I well, I
776
00:40:53.079 --> 00:40:55.599
don't know. I mean, they need guys are literally dying
777
00:40:55.639 --> 00:40:57.360
off true.
778
00:40:57.440 --> 00:40:59.719
I guess yeah. If we all want to get paychecks,
779
00:40:59.719 --> 00:41:02.679
better better make sure the lmsn't want to understand that code.
780
00:41:02.800 --> 00:41:05.920
Yeah. Well, I would think that COBYL is like the
781
00:41:06.239 --> 00:41:10.519
optimal language for LMS, giving its verbosity. You know, ad
782
00:41:11.119 --> 00:41:17.119
add one to the two three in order increased valuable
783
00:41:17.239 --> 00:41:17.880
by four.
784
00:41:18.280 --> 00:41:20.199
Yeah, you're talking about digressions.
785
00:41:20.199 --> 00:41:20.360
Man.
786
00:41:20.400 --> 00:41:22.719
I was, I think watching some football game and I
787
00:41:22.760 --> 00:41:24.960
was like, oh, man, what does COBYL look like. It's
788
00:41:25.039 --> 00:41:27.320
like one of the programming language. I've never coded it,
789
00:41:27.480 --> 00:41:29.440
and I just got like three minutes and I'm like, nope,
790
00:41:29.719 --> 00:41:32.280
I'm good. I don't know, there's some things that I
791
00:41:32.360 --> 00:41:32.800
just don't need.
792
00:41:33.000 --> 00:41:35.960
There's a story about Ellen k the guy who invented
793
00:41:36.000 --> 00:41:40.159
object oriented programming, oh yeah, and small talk and whatnot,
794
00:41:40.239 --> 00:41:43.559
that he was walking around Stanford and suddenly he saw
795
00:41:43.599 --> 00:41:46.840
a crowd of people, so, uh, he walked over to
796
00:41:46.880 --> 00:41:49.360
see what it was. And it turns out that Admiral
797
00:41:49.440 --> 00:41:54.480
Grace Hopper and and you know, somebody mentioned she invented
798
00:41:54.559 --> 00:42:01.480
cobol and he said something like, oh, my condolences, and.
799
00:42:01.480 --> 00:42:05.159
She probably got a laugh out of that too. Yeah.
800
00:42:05.639 --> 00:42:08.280
Anyway, so back back to ten stack Ai.
801
00:42:08.519 --> 00:42:15.039
Right, let's go. Yes, we're almost talking about Ralph loops.
802
00:42:15.280 --> 00:42:15.519
Yeah.
803
00:42:15.920 --> 00:42:18.679
Sorry, but Jack you'll probably get this more than Dan.
804
00:42:18.760 --> 00:42:21.039
But sorry. When I started hearing about ralphing, I'm thinking
805
00:42:21.039 --> 00:42:22.960
about a Christmas story and a Red Rider be again.
806
00:42:23.159 --> 00:42:25.400
But that's I was thinking about Rolfing. I remember like
807
00:42:25.519 --> 00:42:27.960
there was a trend there for a while, like a
808
00:42:28.039 --> 00:42:31.639
massage technique where they like really crunch your bones and stuff.
809
00:42:32.599 --> 00:42:33.199
That's what it was.
810
00:42:34.039 --> 00:42:35.719
Okay, sorry, anyway, go ahead, Dan.
811
00:42:35.880 --> 00:42:41.719
So, so Ralph loop is is named after uh well,
812
00:42:42.280 --> 00:42:43.760
uh Simpsons Ralph.
813
00:42:44.199 --> 00:42:50.760
Yeah, it's yeah, because William is a persistent kid, just
814
00:42:50.760 --> 00:42:54.199
just grinds. He grinds. So that's what a Gralph loop does.
815
00:42:54.320 --> 00:42:54.920
It grinds.
816
00:42:55.079 --> 00:42:58.239
It's basically a wild loop. It's fine, Just correct me,
817
00:42:58.360 --> 00:43:02.440
correct me if I'm wrong. It's basically I forget who
818
00:43:02.480 --> 00:43:03.800
it was who invented it.
819
00:43:04.639 --> 00:43:07.559
He's some dude in some rancher in.
820
00:43:07.400 --> 00:43:12.119
Australia exactly h he was. He was trying AI and
821
00:43:12.159 --> 00:43:14.679
he was annoyed with the fact that he would a
822
00:43:14.920 --> 00:43:19.480
I would do some tasks for him, uh, produce an
823
00:43:19.480 --> 00:43:23.320
incorrect results and stop and and he just.
824
00:43:23.239 --> 00:43:24.760
Had to kick it in the button be like, no,
825
00:43:24.880 --> 00:43:28.719
that's wrong. Next, you know, try eventually you would get it, you.
826
00:43:28.599 --> 00:43:31.840
Know, yeah, Like on the fifth try, the AI would
827
00:43:31.840 --> 00:43:34.320
get it. So basically, if I under stand correct, the
828
00:43:34.400 --> 00:43:37.800
Ralph Wigham loop is basically running AI in a loop
829
00:43:38.039 --> 00:43:41.519
and every time you you run a sort of a
830
00:43:41.559 --> 00:43:45.239
test suite to check if you've reached your end condition
831
00:43:45.440 --> 00:43:48.960
or not, and if it didn't, you take everything that
832
00:43:49.039 --> 00:43:52.159
you got and basically use it in as an input
833
00:43:52.519 --> 00:43:54.239
to the looping all over again.
834
00:43:54.320 --> 00:43:57.199
So you everything you got, like a summary of what
835
00:43:57.280 --> 00:43:59.920
you got, plus the original.
836
00:43:59.519 --> 00:44:04.039
Contact context, plus the test results you failed in this
837
00:44:04.239 --> 00:44:06.719
that and the yeah and try it again.
838
00:44:07.159 --> 00:44:09.960
Yeah, yeah, yeah, And the idea is that you know,
839
00:44:10.000 --> 00:44:14.440
you if you get like the context window too big.
840
00:44:14.599 --> 00:44:16.800
I mean I'm starting to see like people empirically are
841
00:44:16.800
--> 00:44:19.679
starting to talk about like fifty percent, you know, sixty
842
00:44:19.719 --> 00:44:23.159
percent above that kind of range. The AI like the LM,
843
00:44:23.440 --> 00:44:26.320
it gets in every time you make a request, it
844
00:44:26.320 --> 00:44:29.679
sends an entire block back over to let's drop.
845
00:44:29.440 --> 00:44:32.559
Our context windows for a minute, because there's a critical
846
00:44:32.639 --> 00:44:33.280
aspect here.
847
00:44:33.519 --> 00:44:36.480
It really is managing your context window, and that that's
848
00:44:36.519 --> 00:44:38.000
what the Ralph FLU is trying to do is make
849
00:44:38.039 --> 00:44:41.840
sure that like it starts basically fresh on every single
850
00:44:41.960 --> 00:44:43.079
loop through.
851
00:44:43.000 --> 00:44:46.920
It takes back whatever it needs, erases everything else, and
852
00:44:47.000 --> 00:44:49.960
this way keeps the context manageable.
853
00:44:50.280 --> 00:44:52.840
Yeah yeah, because we will kind of empirically found like
854
00:44:52.920 --> 00:44:55.239
you know, as I say, like you know, fifty six percent,
855
00:44:55.360 --> 00:44:57.760
and like they they after that, the LM starts to
856
00:44:57.840 --> 00:45:01.159
quote unquote get dumb, and it starts like like only
857
00:45:01.280 --> 00:45:03.800
look at the beginning and the end of the context.
858
00:45:04.360 --> 00:45:06.760
So so basically the easiest way to see it is
859
00:45:06.800 --> 00:45:10.039
if you're working in an environment cloud code or cursor
860
00:45:10.159 --> 00:45:13.519
or whatever, and you're you're you're trying to get the
861
00:45:13.960 --> 00:45:18.039
and you basically have this chat that goes through your
862
00:45:18.199 --> 00:45:21.199
entire work day. And let's say you're working on the
863
00:45:21.239 --> 00:45:24.960
same problem the whole day. You would notice that towards
864
00:45:25.039 --> 00:45:28.280
the end of the day it ends up getting smarter
865
00:45:29.039 --> 00:45:32.920
and better understanding of what you're you're trying to achieve
866
00:45:32.960 --> 00:45:36.400
given everything that you've researched and investigated over the day.
867
00:45:36.719 --> 00:45:40.840
The other lem is actually getting dumber and producing incorrect
868
00:45:40.840 --> 00:45:42.599
results rather than better results.
869
00:45:42.840 --> 00:45:45.639
It sounds like getting tired after this exactly, it needs
870
00:45:45.639 --> 00:45:49.440
a coffee, right, Well, in this case, the coffee is
871
00:45:49.440 --> 00:45:51.119
is I don't know what that is.
872
00:45:51.880 --> 00:45:55.599
Oh geez, I've tried those manly get hard palpitations entirely
873
00:45:55.639 --> 00:45:58.840
different topics. But yeah, the idea being like they're they're
874
00:45:58.960 --> 00:46:01.519
vision of Rockstar is that you basically go back to
875
00:46:01.679 --> 00:46:04.920
the original context and say, like, okay, you know, starting
876
00:46:05.079 --> 00:46:09.079
is if we haven't done well starting with where we are, now,
877
00:46:09.559 --> 00:46:12.159
let's try and hit this, hit this again, you know.
878
00:46:12.480 --> 00:46:13.519
And so you don't have that.
879
00:46:13.440 --> 00:46:17.800
So basically, so basically the context window is the input
880
00:46:17.920 --> 00:46:22.639
that you send to the LM effectively right with that.
881
00:46:22.639 --> 00:46:25.480
Yeah, it's all the messages, all the system prompt and
882
00:46:25.760 --> 00:46:28.599
that includes like all the tool calls and everything else.
883
00:46:28.679 --> 00:46:33.159
So yeah, and it has limited size. So when you're
884
00:46:33.239 --> 00:46:38.360
having a really lengthy conversation with your LLLM effected, at
885
00:46:38.400 --> 00:46:43.159
one point or another, you'll exceed your context window size,
886
00:46:43.159 --> 00:46:46.440
which can vary between lms. I think it's like how
887
00:46:46.440 --> 00:46:47.519
many cases.
888
00:46:47.800 --> 00:46:51.480
It varies wildly between elms, but it'll do most of
889
00:46:51.519 --> 00:46:54.320
these clients will do like a compaction phase. We'll basically
890
00:46:54.400 --> 00:46:57.920
do a summarization and try to do like a Wigham loop.
891
00:46:58.199 --> 00:47:01.440
The trick is that you don't really know what the
892
00:47:01.440 --> 00:47:05.800
summarization did or said, so it could have gotten it wrong.
893
00:47:06.199 --> 00:47:08.599
So what I tend to do is my workflow is
894
00:47:08.599 --> 00:47:11.039
that I'll get like pretty deep into a conversation. I'll
895
00:47:11.039 --> 00:47:13.599
get to a point where it's like it's working, and
896
00:47:13.639 --> 00:47:15.920
then I'll have it build a markdown file that's like
897
00:47:15.960 --> 00:47:18.679
this is where we got to, and then I'll kill
898
00:47:18.719 --> 00:47:21.880
that conversation by you don't don't feel any attachment to
899
00:47:21.960 --> 00:47:23.079
that that version.
900
00:47:23.000 --> 00:47:27.400
So you close, if you close, if it's cursor, you
901
00:47:27.480 --> 00:47:30.000
close that chat window and open a new chat.
902
00:47:29.840 --> 00:47:32.480
With new chat window and say, here's your context, buddy,
903
00:47:32.840 --> 00:47:35.199
this is where we got to. Now let's start from
904
00:47:35.199 --> 00:47:38.559
there and yeah, as you say, like it keeps them
905
00:47:38.559 --> 00:47:41.400
smart because they like they like being in a small
906
00:47:41.440 --> 00:47:42.159
context window.
907
00:47:42.519 --> 00:47:46.239
As a results, I have a similar but somewhat different approach.
908
00:47:46.519 --> 00:47:49.239
I've gotten kind of enamored. We've spoken about it with
909
00:47:49.400 --> 00:47:53.559
rule files. So what I do is I constantly iteratively
910
00:47:53.679 --> 00:47:56.599
try to improve the rule file, and then at a
911
00:47:56.639 --> 00:48:00.519
certain point in time, I'll say, Okay, the rule file
912
00:48:00.519
--> 00:48:03.480
has reached a certain level, I'll close the conversation and
913
00:48:03.639 --> 00:48:06.960
basically just kill it. Instead of telling it summarize what
914
00:48:07.000 --> 00:48:10.840
we've had so far, I'll continuously look at my rule
915
00:48:10.880 --> 00:48:13.800
file as an up to date summarization of the chat
916
00:48:13.840 --> 00:48:17.119
and whatever preceded it to that point. And so I'll
917
00:48:17.159 --> 00:48:20.519
close the chat and I'm starting fresh just with that
918
00:48:20.920 --> 00:48:24.800
updated rule file. And I take a really iterative approach
919
00:48:24.840 --> 00:48:27.320
to updating the rule file all the time. I also,
920
00:48:27.679 --> 00:48:30.400
every once in a while tell it please compact the
921
00:48:30.480 --> 00:48:33.280
rule file because it starts to accumulate a lot of gunk.
922
00:48:33.639 --> 00:48:36.199
Yeah, a lot off. With a big file like that,
923
00:48:36.440 --> 00:48:39.719
you're going to blow the context window right off the bat,
924
00:48:39.840 --> 00:48:41.679
you know, And exactly That's one of things that folks
925
00:48:41.719 --> 00:48:44.480
are learning is like, Okay, so we've got our next
926
00:48:44.599 --> 00:48:46.800
JS or our big tan sax start app, and it's
927
00:48:46.800 --> 00:48:49.800
got some back end code, it's got some front end code.
928
00:48:50.239 --> 00:48:52.039
And what you want to do is kind of break
929
00:48:52.119 --> 00:48:55.760
out those rule files or architecture files such that like
930
00:48:55.800 --> 00:48:59.079
the React stuff is in its own file, so that
931
00:48:59.159 --> 00:49:01.880
the l im can basically say, hey, cool, all I'm
932
00:49:01.880 --> 00:49:04.119
working on is react to right now, So I'm going
933
00:49:04.159 --> 00:49:07.519
to go and use that as my my north star
934
00:49:07.599 --> 00:49:09.760
of architecture, and that's going to deal with hooks and
935
00:49:09.760 --> 00:49:11.159
all that sort of stuff, and I'm not going to
936
00:49:11.199 --> 00:49:13.079
deal with anything on the back end, so I can
937
00:49:13.159 --> 00:49:16.599
leave all of that out of the context and really
938
00:49:16.679 --> 00:49:19.159
really really managing those contexts.
939
00:49:19.199 --> 00:49:21.599
And the only thing I got just as a as
940
00:49:21.599 --> 00:49:24.679
an aside, and just I totally agree, and just to
941
00:49:24.800 --> 00:49:28.360
mention that you in most of the environments that I've seen,
942
00:49:28.360 --> 00:49:31.360
you can actually configure the rule file to pertain to
943
00:49:31.440 --> 00:49:36.360
a specific folder and all folders. Yeah, so that's or.
944
00:49:36.639 --> 00:49:38.800
You can tell rex you know whatever.
945
00:49:38.840 --> 00:49:41.400
Oh reg x, or or you can tell it just
946
00:49:41.519 --> 00:49:43.719
use it according to the context. But then it becomes
947
00:49:43.800 --> 00:49:44.440
kind of risky.
948
00:49:44.559 --> 00:49:44.760
Yeah.
949
00:49:45.159 --> 00:49:48.159
Yeah, jeez, I'm sorry.
950
00:49:48.320 --> 00:49:51.400
No, No, it's fine. Oh man. Yeah, so I actually
951
00:49:51.639 --> 00:49:54.320
I kind of bifurcate. I have like an architecture document,
952
00:49:54.760 --> 00:49:57.960
and then I've got a status document. And the status
953
00:49:57.960 --> 00:50:01.679
documents are generally transient. I can get you know, create them,
954
00:50:01.760 --> 00:50:03.639
delete them as part of a branch or whatever like that.
955
00:50:03.679 --> 00:50:07.079
But the target extra document is what sort of remains
956
00:50:07.519 --> 00:50:11.119
over time and that it's like the structure of the feature.
957
00:50:11.159 --> 00:50:14.880
And so your your mandatory, your or the one that
958
00:50:15.239 --> 00:50:20.079
is always applied is the basic architectural document, and the
959
00:50:20.119 --> 00:50:24.400
rest are either used transiitly or used for specific parts
960
00:50:24.400 --> 00:50:25.159
of the application.
961
00:50:25.440 --> 00:50:27.840
Yeah, yeah, I remember what I was going to talk about.
962
00:50:27.920 --> 00:50:33.199
So tool calls. So if you watch your your claude
963
00:50:33.239 --> 00:50:35.840
whatever you know, clod code or whatever, you know, the
964
00:50:36.039 --> 00:50:40.400
cursor as it's executing things like look, I'm doing a
965
00:50:40.400 --> 00:50:43.000
pm BX you know, blah blah blah blah blah all
966
00:50:43.039 --> 00:50:45.760
that stuff. Every one of those is a tool call,
967
00:50:45.920 --> 00:50:51.320
which means that it's actually, uh, the AI out in
968
00:50:51.320 --> 00:50:55.679
the cloud is basically telling your client is terminating your
969
00:50:55.679 --> 00:50:58.360
connection to the client with a thing that says, hey,
970
00:50:58.559 --> 00:51:00.360
right now, I want you to go in to keep
971
00:51:00.400 --> 00:51:04.119
this thing locally and then send back whatever the results
972
00:51:04.119 --> 00:51:06.400
of it were, and then it does that, and then
973
00:51:06.440 --> 00:51:09.960
it sends it back along with all of the contexts
974
00:51:10.239 --> 00:51:13.559
in another call back to the LM. So those round
975
00:51:13.559 --> 00:51:17.000
trips one are huge, and two, like every one of
976
00:51:17.039 --> 00:51:20.840
those little invocations is just chewing, chewing, chewing, chewing, chewing
977
00:51:20.920 --> 00:51:23.119
up more and more and more context. So even just
978
00:51:23.199 --> 00:51:25.840
like oh, I'm having itery through all the files and
979
00:51:25.880 --> 00:51:29.079
blah blah blah blah blah, like that's that's just non
980
00:51:29.199 --> 00:51:30.800
nom naming your context.
981
00:51:31.039 --> 00:51:33.199
So it's not just about the fact, you know, I
982
00:51:33.280 --> 00:51:35.599
kind of learned this the hard way again, going back
983
00:51:35.639 --> 00:51:39.000
to that example that they gave that initially, I would
984
00:51:39.039 --> 00:51:43.199
literally have the LLLM run all the tests to verify
985
00:51:43.320 --> 00:51:48.519
that whatever I updated didn't break anything. But I saw
986
00:51:48.559 --> 00:51:51.440
that not only was it taking a whole lot of time,
987
00:51:51.840 --> 00:51:54.559
it was also eating up the context. So instead I
988
00:51:55.039 --> 00:51:58.880
become I became much more strategic about which tests I
989
00:51:58.920 --> 00:52:00.440
would actually be run.
990
00:52:01.360 --> 00:52:03.840
And in fact, actually I think you could even be
991
00:52:03.880 --> 00:52:06.000
more for strategic. And I haven't done this myself, but
992
00:52:06.079 --> 00:52:08.480
like you know, and we all have these like great
993
00:52:08.519 --> 00:52:10.400
test runners that have all kinds of you know.
994
00:52:10.360 --> 00:52:13.280
Like beautiful output and all these oh blah blah blah
995
00:52:13.280 --> 00:52:16.320
blahlah thing, you know, and look you've done great. That's
996
00:52:16.360 --> 00:52:19.159
a lot of text, you know, it's coming out of
997
00:52:19.199 --> 00:52:22.440
those things, and that text gets added into the context.
998
00:52:22.559 --> 00:52:26.480
So maybe having your test runner basically just output these
999
00:52:26.480 --> 00:52:27.440
are the tests that failed.
1000
00:52:27.480 --> 00:52:33.000
Otherwise don't yeah, do not do anything for bos is
1001
00:52:33.039 --> 00:52:34.920
not great. And if you've got something where you've got
1002
00:52:34.920 --> 00:52:38.280
a bad setup, like I have a one PARTYGO shell
1003
00:52:38.360 --> 00:52:41.239
that's not particularly well set up, and sometimes like Claude
1004
00:52:41.239 --> 00:52:43.880
will have to like try three different ways to run
1005
00:52:44.199 --> 00:52:47.440
the command and get like a little gnarly about that.
1006
00:52:47.719 --> 00:52:52.119
Fix that, fix that, because that again, that's just round tripping,
1007
00:52:52.400 --> 00:52:54.480
and that's that's taking a lot of cost. And so
1008
00:52:54.840 --> 00:52:57.960
it's it's it's compound interest, right. So if you know,
1009
00:52:58.000 --> 00:52:59.920
when you think about all the tokens that you spent,
1010
00:53:00.039 --> 00:53:03.679
and every time you make a request, you're basically all
1011
00:53:03.760 --> 00:53:05.960
of the tokens you've just spent in the last request,
1012
00:53:06.079 --> 00:53:08.440
plus all the tokens that you're spending on this request.
1013
00:53:08.679 --> 00:53:11.719
That's what you're spending. So it's a lot, it's a lot.
1014
00:53:11.760 --> 00:53:14.400
That's how you get like those you know, how did
1015
00:53:14.440 --> 00:53:18.280
I spend a million a million tokens on this request? Oh?
1016
00:53:18.480 --> 00:53:21.079
Is because it's compounding interest interesting.
1017
00:53:22.000 --> 00:53:23.719
Yeah, it's definitely something to think about.
1018
00:53:24.800 --> 00:53:26.760
Yeah, there's no state, it's totally stayless.
1019
00:53:26.880 -->
00:53:31.079
I have to say that this year has been an
1020
00:53:31.119 --> 00:53:33.719
amazing learning experience year.
1021
00:53:33.719 --> 00:53:37.119
For me, right. Yeah, anybody who stayed in the field
1022
00:53:37.199 --> 00:53:39.599
is like, whoa dude, this is crazy.
1023
00:53:39.800 --> 00:53:44.760
Yeah. And the great thing is everybody's talking about how
1024
00:53:44.840 --> 00:53:47.480
AI is eating our jobs, and to an extent it
1025
00:53:47.639 --> 00:53:51.559
is and doing a certain extent it is. But if
1026
00:53:51.599 --> 00:53:54.719
you're if you're the one who knows how to properly
1027
00:53:54.880 --> 00:53:58.840
use the tools, you've ten xt yourself and you were
1028
00:53:59.079 --> 00:54:00.119
going to be into.
1029
00:54:00.519 --> 00:54:04.039
Yeah, that's what I'm saying. You know, Tanner ping me on,
1030
00:54:04.159 --> 00:54:07.239
like I think it was like Friday night and I'm
1031
00:54:07.519 --> 00:54:11.440
doubted like Blade Runner, you know, the symphony symphonic version
1032
00:54:11.480 --> 00:54:13.480
with my wife, and I'm getting this thing from him
1033
00:54:13.519 --> 00:54:15.800
saying like, hey, you know, I think I'm gonna look
1034
00:54:15.840 --> 00:54:18.800
into like builder making the builder on the website, and
1035
00:54:19.360 --> 00:54:22.519
you know, it was middle of the night and I'm like, sure,
1036
00:54:22.519 --> 00:54:24.159
why not go for it? And then like by the
1037
00:54:24.199 --> 00:54:27.119
next morning it was he was done, like he was
1038
00:54:27.119 --> 00:54:30.079
done with the initial release, like no problem, there you go.
1039
00:54:30.159 --> 00:54:31.920
And then he's adding features left and right, and it's
1040
00:54:31.960 --> 00:54:34.599
like he's just on a tear, like you know, this
1041
00:54:34.679 --> 00:54:37.760
is what LM's and we just were talking about. This
1042
00:54:37.880 --> 00:54:40.239
is like all the stuff that you thought you could do,
1043
00:54:40.559 --> 00:54:42.840
and then you're like, oh, maybe I'll get there eventually,
1044
00:54:42.880 --> 00:54:44.480
blah blah blah blah blah. It's I was like, it
1045
00:54:44.679 --> 00:54:49.480
just bang done, and it's it's really cool. So saying
1046
00:54:49.679 --> 00:54:51.960
the ironically funny thing is when you give it like
1047
00:54:51.960 --> 00:54:54.880
a really big request, like hey, let's arguitect this new
1048
00:54:54.880 --> 00:54:57.440
feature or whatever. I don't know what it is, but
1049
00:54:57.480 --> 00:54:59.000
Claude always comes back like, oh, this is going to
1050
00:54:59.039 --> 00:55:01.440
take it like four weeks this part in phase one
1051
00:55:01.519 --> 00:55:03.119
and two weeks for phase two, and it's like, no,
1052
00:55:03.239 --> 00:55:05.280
this could be like this is gonna be like two hours,
1053
00:55:05.480 --> 00:55:09.199
like we're really done. Yeah, crazy exciting times.
1054
00:55:10.159 --> 00:55:14.719
Or alternatively, I I'm working on a certain legacy application.
1055
00:55:15.280 --> 00:55:17.119
I was trying to figure out what's going on. I
1056
00:55:17.199 --> 00:55:19.519
was asking the other developers on the team. None of
1057
00:55:19.519 --> 00:55:22.400
them seem to recall exactly how the functionality I was
1058
00:55:22.440 --> 00:55:26.119
asking about actually works. So I switched to ask mode
1059
00:55:26.199 --> 00:55:30.800
and I told h Cursor, tell me explain this flow
1060
00:55:31.079 --> 00:55:33.599
for me to me please, And and you know it
1061
00:55:33.719 --> 00:55:36.679
just worked and it saved so much time.
1062
00:55:37.000 --> 00:55:39.199
Yeah, yeah, and what you really should do is have
1063
00:55:39.280 --> 00:55:42.239
it then build out an MD file that explained like
1064
00:55:42.679 --> 00:55:46.760
that documents that architecture. So the next time you so
1065
00:55:46.840 --> 00:55:49.119
what I actually for it to go on animal?
1066
00:55:49.239 --> 00:55:52.000
So what I actually did, what I actually did. And
1067
00:55:52.039 --> 00:55:55.719
that's another thing that I wanted to mention is again
1068
00:55:55.920 --> 00:55:58.440
maybe people are talking about it, maybe they are not,
1069
00:55:58.960 --> 00:56:03.760
but it's the rebirth of wikis. If you've got wiki
1070
00:56:03.760 --> 00:56:07.679
in your organization, you can upload the stuff into your
1071
00:56:07.719 --> 00:56:12.239
wiki and then in future calls you can tell the
1072
00:56:12.920 --> 00:56:15.880
agent here's the u r L for the relevant document
1073
00:56:17.840 --> 00:56:21.119
or alternatively copy paste if if you want to, you know,
1074
00:56:21.280 --> 00:56:27.400
avoid the roundtrip. But so we're actually for reasons, we
1075
00:56:27.480 --> 00:56:34.159
are into as at Lasian. So they also have this
1076
00:56:34.280 --> 00:56:39.079
kind of the thing called Confluence, which is their wiki thing. Yeah,
1077
00:56:39.119 --> 00:56:43.119
but it's got an m CP server, so I can
1078
00:56:43.199 --> 00:56:46.320
put I can actually tell it, you know, do put
1079
00:56:46.679 --> 00:56:49.639
that stuff that you just mentioned. Take that empty, because
1080
00:56:49.639 --> 00:56:53.480
otherwise where would I put and organize all those all
1081
00:56:53.519 --> 00:56:58.079
those empty files? So yeah, I guess, but then search
1082
00:56:59.079 --> 00:57:00.719
searching through them comes annoying.
1083
00:57:00.920 --> 00:57:03.199
Yeah, that's true. There's an interesting project you might want,
1084
00:57:03.280 --> 00:57:06.280
like called Vibe rules, and the idea is that you
1085
00:57:06.360 --> 00:57:11.800
package the markdown rules for the library with the library,
1086
00:57:12.719 --> 00:57:15.719
and then when you bring it into node modules, there's
1087
00:57:15.719 --> 00:57:18.480
a vibe rules executable that you can run that basically
1088
00:57:18.480 --> 00:57:23.880
pull extracts all those rules into the local environment so
1089
00:57:23.920 --> 00:57:26.320
that then claud or whatever your agent is can see
1090
00:57:26.360 --> 00:57:30.519
it and then you just I guess every time you
1091
00:57:30.599 --> 00:57:31.119
run it again.
1092
00:57:31.519 --> 00:57:34.800
It's also that with Wikis, I can hyperlink across, which
1093
00:57:34.840 --> 00:57:37.440
is much easier to do than it is in Get.
1094
00:57:37.719 --> 00:57:39.920
Okay, that's fair. I'm just used to like Wikis, where
1095
00:57:39.960 --> 00:57:42.559
the actual format is marked down, so it's kind of.
1096
00:57:42.519 --> 00:57:48.119
Like yeah, in Yeah, it's kind of annoying. In Confluence
1097
00:57:48.199 --> 00:57:51.679
it's marked down ish, which which is?
1098
00:57:51.679 --> 00:57:55.519
And this is why I like which is annoying Confluence. Man,
1099
00:57:55.559 --> 00:57:57.840
I've never had good experiences of Confluence. I'm hoping that
1100
00:57:57.840 --> 00:57:59.840
their search has gotten better, but man, their their search
1101
00:57:59.920 --> 00:58:02.039
was like you can use exact right term.
1102
00:58:01.880 --> 00:58:08.400
And you they've added AI capability. Surprise, surprise. Yeah, it's improved,
1103
00:58:08.519 --> 00:58:13.760
but it seemed kind of useless to me. And now
1104
00:58:13.800 --> 00:58:17.239
all of a sudden, I'm getting this extra value from it. Okay,
1105
00:58:17.679 --> 00:58:20.840
because I can tell, like I said, I can basically
1106
00:58:21.159 --> 00:58:26.159
use their MCP server to say, use this reference architecture
1107
00:58:26.280 --> 00:58:30.440
document when you're implementing a new project or something like that,
1108
00:58:31.199 --> 00:58:34.519
and it makes life easier. But you're right, it would
1109
00:58:34.559 --> 00:58:38.199
be easier if it were if it were pure empty files,
1110
00:58:38.239 --> 00:58:40.000
it would be a whole lot easier.
1111
00:58:40.119 --> 00:58:43.239
And the other thing is doing that with like older
1112
00:58:43.280 --> 00:58:44.960
projects is great because you're not going to version them
1113
00:58:45.000 --> 00:58:48.199
that often. But if you're doing like early days work
1114
00:58:48.280 --> 00:58:50.639
and you're going to be changing around the APIs and
1115
00:58:50.679 --> 00:58:54.000
you've got like a branch where you've changed the APIs again,
1116
00:58:54.840 --> 00:58:56.679
and you know you want to bring that in and
1117
00:58:56.719 --> 00:58:58.920
see how it works, it's like, oh, now I've got
1118
00:58:59.039 --> 00:59:04.599
you know, the canonical document is on the old API
1119
00:59:05.039 --> 00:59:06.920
or it's on the new API. And it's like, you
1120
00:59:06.960 --> 00:59:10.440
want to have the document with the code and with
1121
00:59:10.480 --> 00:59:11.079
that version.
1122
00:59:11.480 --> 00:59:14.960
Oh, I agree, and and rule files definite for example,
1123
00:59:15.079 --> 00:59:18.199
definitely go with the code I've switched from.
1124
00:59:18.280 --> 00:59:18.480
Cool.
1125
00:59:19.880 --> 00:59:23.320
You know again people are thinking, you know, people often
1126
00:59:23.400 --> 00:59:28.519
don't put the dot cursor folder in. They ignore it
1127
00:59:28.599 --> 00:59:32.639
and get and or the dot vs code folder. And
1128
00:59:32.679 --> 00:59:36.199
I and I always take the opposite approach I understand
1129
00:59:36.239 --> 00:59:39.000
that some people like to have their own independent setups,
1130
00:59:39.199 --> 00:59:42.079
but I won't use a curse word, but you know, efit,
1131
00:59:42.480 --> 00:59:44.800
you know, I'm going to give you mine because I
1132
00:59:44.880 --> 00:59:48.159
created this project and now with the rule and now
1133
00:59:48.159 --> 00:59:51.400
with the rule files, it's doubly So yeah.
1134
00:59:52.199 --> 00:59:54.519
Yeah, there's there's a contributor on tansak who was just
1135
00:59:54.519 --> 00:59:57.199
asking me just recently if she had a good idea
1136
00:59:57.840 --> 01:00:04.360
that around a like an id slash agent agnostic way
1137
01:00:04.440 --> 01:00:08.519
of specifying rules and all that, and then just having
1138
01:00:08.519 --> 01:00:10.639
a compiler or like a little command line thing that
1139
01:00:10.679 --> 01:00:12.880
basically take that agnostic version and just like, oh, I'm
1140
01:00:12.920 --> 01:00:16.280
mind curser, like, just run that. Now, give me the files.
1141
01:00:16.559 --> 01:00:18.519
And I think it's a great idea. And so I
1142
01:00:18.559 --> 01:00:20.719
had Claude go and do some competitive research and turns
1143
01:00:20.760 --> 01:00:23.639
out there's nothing like that out there, so hopefully she's
1144
01:00:23.679 --> 01:00:25.920
gonna get into it and try it out.
1145
01:00:26.079 --> 01:00:28.440
It doesn't seem like a heavy lift. There are no
1146
01:00:28.559 --> 01:00:31.639
pretty similar they're more or less all marked down, more
1147
01:00:31.719 --> 01:00:34.079
or less maybe with a little bit of a header
1148
01:00:34.119 --> 01:00:36.480
that kind of explains when it should be used, but
1149
01:00:36.519 --> 01:00:38.599
other than that, they're essentially all just marked out.
1150
01:00:38.679 --> 01:00:42.519
Yeah, and having like Claude do competitive research for you,
1151
01:00:42.679 --> 01:00:46.639
underrated man, underrated. Go for it like it's will save
1152
01:00:46.679 --> 01:00:48.679
you so much time. Like, oh, I don't know, I
1153
01:00:48.679 --> 01:00:51.920
can't find this. You know library that does this and that? Cool? Great,
1154
01:00:52.159 --> 01:00:54.840
go ask Claude. Maybe it'll find it for you, and
1155
01:00:54.880 --> 01:00:57.239
maybe it'll say cool, this is an area where nobody
1156
01:00:57.599 --> 01:01:00.400
is in and you should build it. But don't go
1157
01:01:00.440 --> 01:01:03.320
into the just randomly say well, I have this great
1158
01:01:03.320 --> 01:01:06.519
idea and then build the fifteenth version of a you know,
1159
01:01:06.679 --> 01:01:08.920
I don't know some library that does yeah, I don't
1160
01:01:08.920 --> 01:01:10.880
know table virtual tables.
1161
01:01:11.239 --> 01:01:14.400
Actually the bigger the bigger thing is how ais are
1162
01:01:14.440 --> 01:01:22.360
now both the democrat is a demo democratized, democratizing the
1163
01:01:22.480 --> 01:01:24.719
SaaS market, but also kind of killing it.
1164
01:01:24.880 --> 01:01:29.199
Yeah yeah, yeah. And you know, like I remember just
1165
01:01:29.239 --> 01:01:34.559
recently Germo said, I don't know, I don't like this app.
1166
01:01:35.400 --> 01:01:37.719
You know, it's not being maintained. I think I'm right,
1167
01:01:37.760 --> 01:01:39.400
and I'm just gonna have it. I'm gonna have Claude
1168
01:01:39.440 --> 01:01:41.960
run a new version. It's like, dude, you know, people
1169
01:01:42.000 --> 01:01:44.519
could do the same thing with Next days app. You know,
1170
01:01:45.079 --> 01:01:47.800
let's be honest, like, especially if you're on pages Router,
1171
01:01:48.159 --> 01:01:50.480
like I've actually got a markdown document that basically says,
1172
01:01:50.480 --> 01:01:52.480
here's here's how you go and take mark down the
1173
01:01:52.519 --> 01:01:55.039
pages writer version, which most people are still on because
1174
01:01:55.039 --> 01:01:57.599
the app writer really didn't make all that good inroads
1175
01:01:57.639 --> 01:01:59.760
and a lot of people have problems with it. A
1176
01:01:59.760 --> 01:02:03.920
lot of pages riders can yeah, just be easily, yeah, but.
1177
01:02:04.280 --> 01:02:07.840
Just be careful with that. So recently and we'll finish
1178
01:02:07.920 --> 01:02:10.679
that with that and probably switch over to picks. But
1179
01:02:11.360 --> 01:02:15.400
I recently saw tweet by the CEO of one of
1180
01:02:15.440 --> 01:02:19.639
those AI building tools, Base forty four, saying.
1181
01:02:19.679 --> 01:02:21.599
That I haven't heard that one. That's a new one.
1182
01:02:21.599 --> 01:02:25.239
I mean, they're actually they were bought by Wix, and
1183
01:02:25.320 --> 01:02:28.440
Wix is pushing them to users, so they're actually like
1184
01:02:28.559 --> 01:02:31.119
one of the they're they compete with Lovable and stuff
1185
01:02:31.159 --> 01:02:33.840
like that. Really getting a lot of traction, it seems,
1186
01:02:33.960 --> 01:02:39.000
I don't know. But anyway, so he said that he's
1187
01:02:39.280 --> 01:02:46.800
seen customers replacing the Salesforce CRM with something they whip
1188
01:02:46.920 --> 01:02:51.599
up with an AI tool okay, and just not pay
1189
01:02:51.679 --> 01:02:55.840
the one hundred k dollars a year to Salesforce and
1190
01:02:55.880 --> 01:03:03.159
instead basically get it for free. Uh and and somebody responded, well,
1191
01:03:03.239 --> 01:03:05.760
you know if you can avoid paying and get eighty
1192
01:03:05.760 --> 01:03:08.920
percent of functionality, it might be very worthwhile for you.
1193
01:03:09.000 --> 01:03:12.159
And I said sometimes yes, sometimes.
1194
01:03:12.719 --> 01:03:14.480
Like yeah, you don't you don't want.
1195
01:03:14.280 --> 01:03:16.719
Any percent of a cure for cancer?
1196
01:03:17.000 --> 01:03:20.360
Yeah, exactly, And you don't want to, Like if you're
1197
01:03:20.800 --> 01:03:23.639
that's not the intellectual property of your company, then don't.
1198
01:03:24.159 --> 01:03:26.079
It's going to be TechEd at, like you can't just
1199
01:03:26.239 --> 01:03:29.559
you know, oh, you know we're going to order lunch. Okay,
1200
01:03:29.639 --> 01:03:32.239
well let's write a new version of uh, you know,
1201
01:03:32.400 --> 01:03:36.119
door dash. No, dude, you just use rignor dash like,
1202
01:03:36.280 --> 01:03:38.039
you know, don't don't do that.
1203
01:03:38.239 --> 01:03:41.239
Well door dash. It's not the app, it's it's the.
1204
01:03:41.719 --> 01:03:42.159
Yeah, I know.
1205
01:03:42.199 --> 01:03:45.840
I'm just saying, like, yeah, but a different example, A
1206
01:03:45.840 --> 01:03:48.920
different example. I think an actual legitimate example would be
1207
01:03:49.400 --> 01:03:52.239
you probably don't want to rewrite turbo tax because you
1208
01:03:52.280 --> 01:03:58.480
don't want the AI to hallucinate tax exemption laws. You
1209
01:03:58.519 --> 01:04:01.559
could imagine you could end up in prison like that.
1210
01:04:02.119 --> 01:04:05.760
Yeah, little little downsides, little downside, all right.
1211
01:04:05.800 --> 01:04:08.920
So with that hallucination or avoiding hallucination, we're going to
1212
01:04:08.960 --> 01:04:10.320
wrap it up. I got a hard stop here in
1213
01:04:10.320 --> 01:04:11.280
about nine minutes.
1214
01:04:11.880 --> 01:04:12.159
Cool.
1215
01:04:12.199 --> 01:04:15.239
So with that, first of all, thank you Jack for
1216
01:04:15.320 --> 01:04:15.800
coming on.
1217
01:04:16.239 --> 01:04:17.239
Oh always pressure.
1218
01:04:17.360 --> 01:04:18.599
Always nice to meet a neighbor.
1219
01:04:18.800 --> 01:04:20.840
Yeah, let's get together, yes for sure.
1220
01:04:21.599 --> 01:04:23.440
With that, will move to picks. Picks is the part
1221
01:04:23.440 --> 01:04:25.679
of the show where we get to talk about whatever
1222
01:04:25.679 --> 01:04:28.639
we want to, whether it's tech, non tech, books, movies,
1223
01:04:29.159 --> 01:04:31.119
and my dad jokes. So I will start off with
1224
01:04:31.320 --> 01:04:33.480
what is, in my opinion, the high point of every episode,
1225
01:04:33.519 --> 01:04:36.639
which is the dad jokes of the week, and then
1226
01:04:36.960 --> 01:04:37.760
we'll save the guests.
1227
01:04:37.800 --> 01:04:40.360
I haven't heard of them, so I'm looking forward to it.
1228
01:04:40.480 --> 01:04:42.360
Yeah, yeah, well hopefully you're looking forward to them.
1229
01:04:42.360 --> 01:04:43.239
We'll see. So.
1230
01:04:45.239 --> 01:04:47.199
First of all, so when I become a lawyer, which
1231
01:04:47.320
--> 01:04:49.159
eventually i'll do it, maybe I'll use AI to study
1232
01:04:49.280 --> 01:04:52.800
become a lawyer. I want to defend a penguin, so
1233
01:04:52.880 --> 01:04:55.199
that way I can say the words your honor. Clearly,
1234
01:04:55.239 --> 01:04:56.840
my client is not a flight risk.
1235
01:04:57.880 --> 01:05:04.079
Right. Just for that, I'll tell you a quick lawyer joke.
1236
01:05:04.239 --> 01:05:08.000
So I guess this young lawyer is sitting open the
1237
01:05:08.280 --> 01:05:12.079
new office. He's like in the rundown part of town,
1238
01:05:12.360 --> 01:05:15.840
zero clients, no traction on whatsoever, is sitting alone in
1239
01:05:15.840 --> 01:05:18.320
his office hoping for improvement, and all of a sudden
1240
01:05:18.400 --> 01:05:21.480
there's this puff of smoke, and the devil appears oh
1241
01:05:21.559 --> 01:05:26.119
and says, I will make you the most successful, rich,
1242
01:05:26.320 --> 01:05:30.599
famous lawyer in the entire country. But in return, your wife,
1243
01:05:30.679 --> 01:05:33.840
your kids, your entire family, or all your friends will
1244
01:05:33.880 --> 01:05:37.400
spend eternity in hell. The lawyer looks at them and goes,
1245
01:05:37.719 --> 01:05:38.760
what's the catch.
1246
01:05:38.559 --> 01:05:39.599
Anyway, man?
1247
01:05:40.960 --> 01:05:43.760
Two more quick ones. Cars these days have way too
1248
01:05:43.760 --> 01:05:46.440
many gadgets. For example, I tried to reverse the other
1249
01:05:46.519 --> 01:05:48.440
day and I played a video of somebody getting run
1250
01:05:48.480 --> 01:05:51.440
over by a car, and then finally, homa in a
1251
01:05:51.480 --> 01:05:54.320
sentence can make a huge difference. For instance, let's eat
1252
01:05:54.519 --> 01:05:58.079
comment Frank has a completely different meaning from Frank is
1253
01:05:58.119 --> 01:05:58.719
in a coma?
1254
01:05:58.800 --> 01:06:00.840
Right, Yes, that is true.
1255
01:06:02.559 --> 01:06:05.320
You know the classic one is let's eat Frank versus
1256
01:06:05.440 --> 01:06:06.440
let's eat Frank.
1257
01:06:07.679 --> 01:06:11.960
Yeah, but your is a good one. I liked it, Okay,
1258
01:06:12.000 --> 01:06:15.719
all right, Dan, what do you got? Okay? So I
1259
01:06:15.760 --> 01:06:18.639
thought about talking and having a tech pic, but it
1260
01:06:18.679 --> 01:06:20.920
was Ralph flops and we ended up talking about it.
1261
01:06:21.000 --> 01:06:25.719
I just mentioned that Matt Pocock did an excellent video
1262
01:06:25.760 --> 01:06:29.360
about it. So if you're interested, just search Ralph Wigham
1263
01:06:29.639 --> 01:06:34.159
uh and find uh Matt's video and watch it. Because
1264
01:06:34.159 --> 01:06:38.400
he gives a very thorough and interesting explanation, is very engaging.
1265
01:06:38.679 --> 01:06:41.239
Should probably have him on the show again. So that's
1266
01:06:41.280 --> 01:06:45.119
that would actually be a pick. Uh. And another pick
1267
01:06:45.280 --> 01:06:52.199
is I'm reading a series of books called the Dresden Files. Uh.
1268
01:06:52.280 --> 01:06:55.039
It's it has nothing to do with the city Dressden.
1269
01:06:55.199 --> 01:07:00.159
It's with a person called Dresden, and it's kind kind
1270
01:07:00.199 --> 01:07:06.559
of a gum shoe novel meets a fantasy. He's simultaneously
1271
01:07:06.599 --> 01:07:11.360
a private investigator and a wizard. It happens, it takes place,
1272
01:07:11.440 --> 01:07:14.079
it takes place in modern Yeah, it takes place in
1273
01:07:14.119 --> 01:07:21.519
modern day Chicago with wizardry, with wizardry. Yes, And it's
1274
01:07:21.559 --> 01:07:25.480
it's all told in first person. It's it's it's like reading.
1275
01:07:25.519 --> 01:07:28.920
It's very engaging. It's it's there's a lot of action.
1276
01:07:29.440 --> 01:07:32.719
So if you like wizards duking it out with all
1277
01:07:32.760 --> 01:07:35.480
sorts of with other wizards or monsters, it's full of
1278
01:07:35.480 --> 01:07:40.119
that stuff. And they're like a ton of books. There
1279
01:07:40.519 --> 01:07:43.519
are how many books in this series, I think like
1280
01:07:44.079 --> 01:07:48.840
seventeen books in the series, so, and each one is
1281
01:07:48.920 --> 01:07:51.960
kind of self contained, so you can read them independently,
1282
01:07:52.360 --> 01:07:55.840
but I would recommend read just reading them in order
1283
01:07:56.519 --> 01:08:01.960
and thereby Jim Butcher. Sure, they actually apparently tried to
1284
01:08:02.000 --> 01:08:04.599
make a TV series out of this, like four or five,
1285
01:08:04.719 --> 01:08:07.280
six years ago, and it only ran for one season,
1286
01:08:11.000 --> 01:08:13.159
The Dress and File. The Butcher is the name of
1287
01:08:13.159 --> 01:08:19.920
the author anyway, So yeah, that would be one pick.
1288
01:08:21.039 --> 01:08:24.479
The other pick is a really guilty pleasure. It's a
1289
01:08:24.600 --> 01:08:30.800
channel on YouTube by this guy, Arvin Haddad. He what
1290
01:08:30.880 --> 01:08:35.880
he does is he he apparently helps the ultra rich
1291
01:08:36.079 --> 01:08:37.119
purchase real estate.
1292
01:08:37.560 --> 01:08:40.479
Oh that sounds great and.
1293
01:08:40.239 --> 01:08:44.680
So but he has this really amusing channel where it
1294
01:08:44.720 --> 01:08:47.880
turns out that whenever, like this one hundred million dollar
1295
01:08:48.159 --> 01:08:51.640
villa whatever goes on the market, they create this sort
1296
01:08:51.640 --> 01:08:53.159
of a marketing video.
1297
01:08:52.920 --> 01:08:55.159
For well, of course it's one hundred million dollars.
1298
01:08:55.439 --> 01:08:58.399
Yeah. So it's like a house tour, virtual house tour
1299
01:08:58.439 --> 01:09:01.279
where this guy walks. So so what he does is
1300
01:09:01.319 --> 01:09:06.079
he takes his videos and analyzes them and makes and
1301
01:09:06.279 --> 01:09:09.479
just shows how ridiculous some of these houses are. So
1302
01:09:09.560 --> 01:09:13.319
he really jokes about it the whole the whole time. So,
1303
01:09:13.680 --> 01:09:16.319
like they show you, look at this amazing kitchen, and
1304
01:09:16.359 --> 01:09:18.279
he said, but it's an awful kitchen.
1305
01:09:18.720 --> 01:09:22.359
Like or totally not ergonomic, you know.
1306
01:09:22.680 --> 01:09:24.960
Yeah, no, but it's got to the point where his
1307
01:09:25.079 --> 01:09:27.840
channel is so popular even though he pokes fun at
1308
01:09:27.880 --> 01:09:30.960
all their videos, all the content creators want him to
1309
01:09:31.000 --> 01:09:35.000
critique their videos because it gets them more engagement exactly.
1310
01:09:35.439 --> 01:09:39.239
But you see like these one hundred million dollar houses,
1311
01:09:39.279 --> 01:09:41.600
which would say, I would not be caught dead living
1312
01:09:41.680 --> 01:09:43.880
in a house like that, even if I could afford it,
1313
01:09:45.039 --> 01:09:48.359
because it's like you're like living in an airport terminal.
1314
01:09:48.520 --> 01:09:49.880
It's like it's horrible.
1315
01:09:50.319 --> 01:09:53.920
Yeah, it's too generic, doesn't have any life of vitality
1316
01:09:53.960 --> 01:09:54.199
to it.
1317
01:09:54.520 --> 01:09:54.720
Yeah.
1318
01:09:54.920 --> 01:09:57.760
Yeah, it's like we have a thirty two undred square
1319
01:09:57.760 --> 01:09:59.720
foot house and it's like there are parts of the
1320
01:09:59.720 --> 01:10:02.720
house almost rarely ever in, you know, and it's like
1321
01:10:02.760 --> 01:10:05.199
that I can only imagine how many square feet million
1322
01:10:05.239 --> 01:10:06.600
one hundred million dollar houses.
1323
01:10:07.159 --> 01:10:10.520
Yeah, and again, So it's it's really it's really amusing.
1324
01:10:10.760 --> 01:10:13.840
Enjoy watching his video videos is really engaging. He has
1325
01:10:13.880 --> 01:10:16.439
a great sense of humor. It's it's and it's fun
1326
01:10:16.479 --> 01:10:18.720
to poke. It's fun to poke fun at the rich
1327
01:10:18.760 --> 01:10:23.159
and famous. So yeah, that would be my uh my
1328
01:10:23.239 --> 01:10:25.640
third pick, I guess, And those are my picks for today.
1329
01:10:25.680 --> 01:10:29.239
All right, I think I'm only at one, so I
1330
01:10:29.479 --> 01:10:33.399
have gotten My family hooked on open shocks bone conducting headphones.
1331
01:10:33.600 --> 01:10:36.840
So these are they keep your ears like open and
1332
01:10:36.880 --> 01:10:39.359
they rest on the back of your ear and the
1333
01:10:39.720 --> 01:10:43.760
like right right before your ear, and they are phenomenal.
1334
01:10:43.840 --> 01:10:46.600
There's like a headset version that you can use for meetings.
1335
01:10:46.680 --> 01:10:49.079
There's a running and there's a kind of running version.
1336
01:10:49.199 --> 01:10:50.119
That's the one I use.
1337
01:10:50.560 --> 01:10:52.239
I think there is a version for swimming.
1338
01:10:52.439 --> 01:10:54.359
Yeah, And I was just gonna say, my wife has
1339
01:10:54.399 --> 01:10:56.640
gotten back into swimming in a big way. She's doing
1340
01:10:56.960 --> 01:10:59.520
butterfly laps and all this stuff. And when she finally
1341
01:10:59.600 --> 01:11:02.239
kind of felt good back in the pool again, she
1342
01:11:02.479 --> 01:11:05.640
tried the headphones on. And they have they store MB
1343
01:11:05.720 --> 01:11:09.159
three files like old school like MB three files, which
1344
01:11:09.199 --> 01:11:11.760
I had to go source that. That was kind of fun.
1345
01:11:11.760 --> 01:11:14.720
But still and also bluetooth. I guess we're gonna do that.
1346
01:11:15.359 --> 01:11:21.000
But apparently she's saying like underwater. They sound phenomenal like underwater,
1347
01:11:21.239 --> 01:11:23.920
which is crazy. So that's that's pretty pretty cool.
1348
01:11:24.000 --> 01:11:29.640
Kind of uses your body is kind of this uh yeah, vibrate.
1349
01:11:29.840 --> 01:11:31.800
Right phone conduction, Yeah, exactly.
1350
01:11:31.880 --> 01:11:35.840
It's it's really interesting. They're very lightweight, but I've not
1351
01:11:35.880 --> 01:11:37.960
I've never actually tried to use them.
1352
01:11:38.439 --> 01:11:40.319
I would try it out. They're not like at least
1353
01:11:40.319 --> 01:11:43.840
in the US, they're not super expensive, and they're very lightweight.
1354
01:11:44.000 --> 01:11:46.880
And also they kind of are one piece, you know,
1355
01:11:46.960 --> 01:11:49.199
the issue of things falling all out all over the place.
1356
01:11:49.640 --> 01:11:52.199
And then the other thing is after I get back
1357
01:11:52.199 --> 01:11:54.079
from a run, I just put one of the faucet
1358
01:11:54.279 --> 01:11:58.600
and it's like, don't there you go? Clean love run
1359
01:11:59.159 --> 01:12:01.880
there you go? Yeah, gotta do something, all right?
1360
01:12:01.920 --> 01:12:03.560
Yeah? Those are those are cool. A buddy of mine
1361
01:12:03.560 --> 01:12:05.359
as a firefighter out on the west side of town
1362
01:12:05.399 --> 01:12:07.359
here and they had some of their masks that had
1363
01:12:07.399 --> 01:12:10.399
those built in and I tried them on. They're crazy crazy,
1364
01:12:10.439 --> 01:12:12.640
How good they sound. Yeah, it's really weird thinking it's
1365
01:12:12.640 --> 01:12:16.479
not coming through your ears, but yeah, yeah, yeah cool.
1366
01:12:16.560 --> 01:12:18.600
All right, Well I got a jump, so okay, I've
1367
01:12:18.640 --> 01:12:22.279
been talking for quite a while. Anyways, Thanks everybody for listening,
1368
01:12:22.279 --> 01:12:24.800
Thank you Jack for coming, and we'll talk at y'all
1369
01:12:24.840 --> 01:12:26.079
next time on JavaScript Jabber
1370
01:12:26.279 --> 01:12:27.720
Bye, see you next time.