All Episodes

January 29, 2026 72 mins
It’s great to be back behind the mic! In this episode of JavaScript Jabber, I’m joined by Dan Shapir and our guest Jack Harrington from Netlify and TanStack for a wide-ranging, high-energy conversation that covers everything from modern frontend architecture to AI tooling—and a few entertaining detours along the way.

We dig into what’s new and exciting in the TanStack ecosystem, including TanStack Start and TanStack AI, and explore how these tools rethink the balance between frontend-first development and server-side capabilities. Along the way, we unpack React Server Components, AI SDKs, agentic workflows, and how developers can realistically use AI today without losing their minds—or their context windows.

Links & Resources

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Listen
Watch
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:05):
Bundy.

Speaker 2 (00:05):
Welcome to another thrilling episode of job Script Jabber. It's
been a while and it's good to be back here.
I am Steve Edwards, the host with the face for
radio and the voice for being a mine.

Speaker 3 (00:14):
But i'm.

Speaker 2 (00:16):
And I'm here with one of my regular co panelists,
mister Dan Shapier, hailing from Tel Aviv. How you doing, Dan, I'm.

Speaker 1 (00:23):
Fine, I'm doing well. Not as regular as I would
like to be recently, but back to be glad to
be back on.

Speaker 2 (00:29):
So when you say not as regularly, you mean on the.

Speaker 3 (00:32):
Podcast, it's not that. That's exactly.

Speaker 1 (00:36):
Yeah. I'll tell you about I'll.

Speaker 3 (00:38):
Tell you about the.

Speaker 1 (00:41):
Title I gave my talk at the recent no TLV conference.
It just goes right to that kind of humor. It
was a talk about using heap dumps to analyze memory
and CPU issues. So the original title was taking a
dump using heap dumps to analyze blah blah blah. So yeah,

(01:03):
and then the conference actually changed the title on me.
That's the first time it happened. They removed it taking
a dumb part.

Speaker 3 (01:09):
I what, oh man, come on?

Speaker 1 (01:13):
But I did think the fun part though, I did
keep it in the slides though.

Speaker 2 (01:17):
Yeah, I don't know, stick in the mud. Just when
you got to get right.

Speaker 1 (01:24):
So I was, I was talking about being a regular
on the show. Unfortunately, you know, life happens, and for
various personal reasons, I could not be on as many
shows as I would like to be. So hopefully things
get better and I'll be able to be a more
regular panelistash host on the show.

Speaker 3 (01:44):
He's been very lucky lately.

Speaker 1 (01:46):
Yeah, exactly.

Speaker 2 (01:47):
And let's get to that other mystery voice you are
hearing talking with Dan and I. This is mister Jack
Harrington of net and Tan Stack.

Speaker 3 (01:55):
Yeah, happy to be here, and yeah, happy to be
on on the Jasjabbra podcast.

Speaker 2 (02:01):
All right. As you can tell, Jack is a very
shy and retiring kind of guy.

Speaker 3 (02:06):
First, I've never been on a podcast for the Oh
my gosh, he's a so no. Actually I'm on the
front End Fire podcast. Just a slug there.

Speaker 1 (02:16):
Yeah, and you used to be on the React podcast.

Speaker 3 (02:18):
That's right. I used to be part of this syndicated
podcast group. Okay, and React round up.

Speaker 2 (02:23):
Well, we'll get to shameless plugs at the end, So okay,
for now, why don't you just tell us what you
haven't told this yet about who you are and what
you do and all that kind of fun.

Speaker 1 (02:32):
Sure.

Speaker 3 (02:32):
Yeah, So I'm a principal DevRel Now I work with
Netlefy to talk about everything netlify has got going on,
and also to work on tanstak. So that's Tanner Lindsley's
ecosystem of libraries, including most interestingly, I think recently be
tan sak start, which would be a competitor with next

(02:53):
Jes in the SSR space, only a full stack space.

Speaker 1 (02:57):
Uh.

Speaker 3 (02:57):
And then Tansdak AI, which you can kind of, you know,
quite to like a versual Ai s d K. And
then the really cool Tansdak dB, which is actually more
of a real time sink system, which is actually another
kind of cool part of the trifecta. And then you know,
famously known for React query, so that's also part of
the Tansdak.

Speaker 1 (03:18):
I've I've actually been trying to get you know, the
relevant people from your kind of amorphous organization. I'm going
to talk about ten stack dB. I've been unsuccessful so far. Hopeful, Yeah,
let's fix that.

Speaker 3 (03:31):
Believe you fix that?

Speaker 1 (03:32):
Yeah, yeah, yeah, you fix it.

Speaker 2 (03:34):
Well, we've had the most relevant person on here, not
too long ago, mister Tanner Lindsley himself.

Speaker 3 (03:38):
So yeah, well, you know, Tanner, you know it's the
name of the stack because it's great SEO and he
came from the SEO space. But in most projects there
is a lead, and that lead is not in that case,
uh Tanner.

Speaker 2 (03:53):
Okay, Yeah. The first time I interviewed him on I
asked him where the name Tansdak come from. I'm in, like,
did you get a good really sun Tan one time or.

Speaker 3 (03:59):
Something like that?

Speaker 2 (04:01):
You know what my name is?

Speaker 1 (04:02):
Said?

Speaker 3 (04:02):
Oh, yeah, yeah, there you go.

Speaker 1 (04:07):
Right, Yeah, I guess it's indicative of success when you
become the big boss and you don't need to work
on the nitty gritty anymore.

Speaker 3 (04:15):
He's definitely in the nitty gritty.

Speaker 1 (04:18):
You can't get tenor out of the nitty gritty. No.

Speaker 3 (04:20):
In fact, actually the way that I got into tan
Snak was I built the create tan Stack app c
l I. So right when create React app was phased out,
I was like, hey, Tanner, let's go and like I'll
just go and make like a create React app variant
where all they got to do is just create a
change React to tan Stack and I'll give you basically

(04:42):
the same app with our stuff underneath, and he's like, yeah,
that's a great idea, and so I built that out
and then it became this kind of like huge thing
that you know, so we added add ons and examples
and you know, added support for solid which we can
now support, and we're we're going to add support review
and all that. And actually just recently he uh he

(05:02):
kind of basically took it, took it over because he
was going and integrating it onto tansdak dot com. So
you can now do tanstack dot com slash builder and
basically get like a checkbox list of all the stuff
that you want in your app and you just say, hey, cool,
export this and they and will give you a zip
that's got it all.

Speaker 1 (05:21):
It's pretty cool cool. So basically, instead of running it
locally via your CLA, you can also just go online
fit in a form and get exactly what you need.

Speaker 3 (05:31):
Exactly and we're going to be doing a lot of
cool stuff in that space.

Speaker 2 (05:35):
Now, what was if you support you just said you had,
I'm a view guy.

Speaker 3 (05:37):
Just well nice. Yeah. So basically tan sak start is
really just tansdac Router with some extra stuff for like
service side rendering and SERO functions and API routes and
both of those things. Router and Start are actually essentially
an agnostic core, like Router is an agno core, and

(06:00):
then there's a React variant of the router that then
uses that agnostic core. And so we've got two different
versions of well, we got much a bunch of different
versions of Router, and now we've got a bunch of
different versions of Start. So we've got a React Start,
but we also have Solid Start, so you can actually
build on Tan sac Start using Solid and View is

(06:23):
just just now kind of getting into like the alpha phase.
So we're going to have a view version of Start
and probably Angular at some point. So yeah, and we're
doing the same exact approach with AI. Basically we have
agnostic core for an AI client and then we wrap
that for view and.

Speaker 2 (06:42):
Spelt and so for the router, then would you use
that instead of view router. I guess I'm trying to
understand it.

Speaker 3 (06:47):
Yeah, yeah, you'd use that instead of view router. And yeah,
so then you get file based routing, you get code
based routing. We want to play it so you wouldn't
have to.

Speaker 2 (06:57):
Use like view versus nuxts then to get the too,
you could use either or with View.

Speaker 3 (07:03):
So I would say Tansac start for View would be
a competitor with next. How it like in terms of
like replacement and all that. I can't say that for sure,
because I do know that you can actually do some
interesting configurations, like for example, you can use Astro. You
can actually have Tanstax start for whatever React or Solid
or whatever you want routes within an Astro app. So

(07:25):
you can actually have like an Astro app that has
like your homepage and all that, and then when you
want to get into the app, like you got like
slash app, and then that's all tan sak start routes
with all its routing. So it's actually quite nice. You
get like combinations. What's that cloud Flair bought Astro. Yeah,
that was a surprise to me. I mean, not really

(07:46):
eat in.

Speaker 2 (07:47):
But we got to get Fred on. I haven't talked
to him in a while.

Speaker 1 (07:49):
Oh.

Speaker 3 (07:49):
Fred's great and I would love to hear his perspective.

Speaker 2 (07:52):
Yeah, I had a version four, version five. We have
both View and here. We've had one here.

Speaker 1 (07:59):
Yeah, we've had them on here a couple of times.
We definitely should have him back if you know.

Speaker 3 (08:04):
Yeah, yeah, oh yeah, it's his job to do the
cloud Feah. Well, I don't know. I'm I'm happy for him.
That's that's clearly easy.

Speaker 1 (08:16):
Yeah, look he was he was trying. He did transform
it into a business, so effectively selling your business or
uh is an exit. You know, it's a success story.

Speaker 3 (08:29):
Yeah. I don't don't know what that means for the ecosystem,
but I'm it's cool and Cladla is a great company,
so I'm a very happy for him on that front.
Like I know, like Sneil over cloud Flair, we have
a great time hanging out. He's fantastic. Yeah, love love
love the class flight folks.

Speaker 1 (08:44):
So going back to the topic at hand, Oh you
know what before then, so one more thing. So you
were saying that you you're introducing ten stack start as
the basis is kind of a meta framework on top
of a variety of front and frameworks you mentioned of
course React where it's a kind of an alternative to

(09:05):
next GS. I'm saying kind of because it has a
bit of a different philosophy. We've actually spoken about it
with Tanner. Next GS, you would say, is back end
first and can do front end whereas ten stack is
like front end first and then you can enrich it
with back end is the way that I was.

Speaker 3 (09:26):
Yeah, that's actually that's perfect, although the next thing certainly
gets more complicated because you've got like literally two different
types of routers there. You've got the pages router in
the app router, and they work on two entirely different models.
That being said, Tan sac Start is coming out with
RSC support sometime soon, so excited.

Speaker 1 (09:45):
About Yeah, he was talking about that as well.

Speaker 3 (09:48):
Yeah, and it's a different model than the app rider model.
Don't expect that you're going to get the same exact thing,
and you're going to get a lot of different approaches
and different benefits.

Speaker 1 (09:59):
Yeah.

Speaker 2 (09:59):
Again me who don't know what RSC support is. Can
you elaborate on that?

Speaker 3 (10:02):
Sure? This could React Server component support. So this is
it's a feature of React that we kind of really
saw canonically in next JS as their app router. And
the idea is that everything is essentially server side rendered first,
and if you don't actually say that this one that

(10:24):
you want this to run on the client, then we
don't actually send the component code over to the client
for rehydration on the client. So potentially, if you've got
a very static app, you get a big performance boost
out of rscs. But in reality, the reality on the
ground is somewhat different because the page size, the actual

(10:45):
physical bites of the page are actually like three times
the amount of size coming out they would see coming
out of the pages router. So there's a big difference there.
So so interesting actual choices there.

Speaker 1 (10:59):
We kind of digre think from the original topic. But
I want to put on that because you brought it up.
It I have an interesting oscillation with how I define
or explain r SC's. I had an original explanation which
I kind of was, which was my original explanation if

(11:19):
you've ever if you've gone back in time and listened
to my series of episodes on the Virtual Dome here
on the podcast, I think I kind of mentioned it
toward the end, and then after speaking having Dan Abram
of it and friends on the podcast, I kind of
veered away from it, and now I find myself kind
of going back to it. And that's that my explanation

(11:41):
of four reacts over components is now again v doom
over the wire.

Speaker 3 (11:46):
Yes, I agree, Yeah, I agree completely. And the nice
thing about the tan sac approach is we give you
pretty much exactly that, like if you know, so it's
up to you how you want to deploy that. So
if you if you want the raw stuff, you can
basically you can you can put it in reacquery if
you want, you can have it, you know wherever we've

(12:07):
you know, I've sent it over the wire on you know,
service side event service events, which is really cool. So yeah,
I know there's a lot of cool things that you
can do when you think about it from that perspective.

Speaker 1 (12:18):
Yeah, I kind of veered away from it because the
first essential implementation, and for a long time, the only implementation,
which was next GS, really tied it to the routing behavior. Yeah,
it wasn't exactly vedom. It was more of a way
to get the pages in a sense, kind of a
replacement for loaders in a sense. But now that I'm

(12:39):
seeing alternative implementations like the one in ten stack, I'm
kind of going back to that original definition.

Speaker 3 (12:46):
Yeah, I agree. Yeah, WAKU was very analogous to next GS,
and I think that that's I think those two things
were there because the React team was like, this is
our vision of r SC kind of thing, and I
remember talking with Diishi pretty early on about Waku stuff,
and he's like, oh, don't use it like I was

(13:08):
using it for microphone end to the stuff. I was
using it so like I would change a component property
and it would automatically just go grab another instance from
the server and rerender it. And he's like, no, no, no,
don't use it that way. That's not the way they
want to want it to be used. But it works
perfectly fine that way if you want to do that.
And that's the great thing about the ten Sac approach

(13:30):
is we give you the flexibility so you don't have
to go and render the whole route and pay all
that flight data cost for all of it. You can
go and you have that Okay, I just want to
have this component rerender off the server in place, and
then you know, bring that data back down and it works.
It's really cool.

Speaker 1 (13:50):
And again it has to do with flipping the direction
because in the next years everything is server first, and
then you explicitly need to buy into being Clyde side,
whereas with ten stack it basically says, and again I'm
saying this off of what Tenner said when he was
a guest here. He realizes that the majority of React

(14:10):
applications out there that exists, especially in larger organizations and
larger deployment, are basically client side rendered applications like sixty forty.
You can exactly and then you can enrich client side
application rendered applications with server side rendered components. You don't
have to flip your entire architecture in order to adopt it.

Speaker 3 (14:33):
Yep, yep, absolutely. I mean, how many times have you
started off with a VT app right, and it's it's
really cool, it's great, it's got all the functionality, and
then you've got to like actually call off to an
API to do something right. Well, either you've got to
run a different API server and decors, or you've got
to do some hackery inside the Vican fig to go

(14:53):
and add some API rounds or things like that. That's
essentially what React, what start is giving you is giving
you nice formalized way of creating those API routes and
having them integrated in the app, creating server functions, which
is something you don't get in the pages router, uh,
and then making it very easy to call stuff on
the back end. But yeah, and at the end as

(15:15):
the primary vehicle, and then saying Okay, we can augment
with stuff.

Speaker 1 (15:19):
And still encapsulated as reusable components.

Speaker 3 (15:21):
Yeah.

Speaker 1 (15:22):
Absolutely, Yeah, And before we end on this topic, it
was really interesting for me two aspects. For the first
is that you're also addressing view and in fact, kind of,
like you said, in a way that's kind of an
analogous to the way that you're kind of positioning ten
stacks start for React versus next GS, you're kind of

(15:44):
positioning ten stack start for view versus let's say next
in a sense, so giving a bit of an alternative
to next.

Speaker 3 (15:53):
I guess, I guess, yeah, I mean I only know
of the view stuff, you know a little bit. I
went in actually to try and see if I could
get create tan sac app to go and build out
some view apps, and I was like, oh, okay, this
is this is still a little early days, but I
think it's very promising.

Speaker 1 (16:10):
And finally, solid start is effectively wholly built on ten
stack start.

Speaker 3 (16:15):
Now, well there's you said, yeah, yes, sorry, there is
very confusing. There's the original like solid start from the
Solid team, and then there's ten stack start for a
solid ad different. Yeah, no, there is a difference. Yeah,
it's two.

Speaker 1 (16:31):
Different Okay, that's interesting.

Speaker 3 (16:33):
I want to Hey, I don't know, talk to talk
to Ryan. Yeah maybe maybe maybe two Oh, is like, hey,
we'll take the we'll take the service side stuff for you.

Speaker 1 (16:42):
Yeah, that's the thing I wanted to say. We had
them both on the show together, and there there's so
much overlap between you know, the thing that they're doing,
and and given that Ryan's primary interest is not that
whole back yeah, front and art a part, I can

(17:03):
definitely see the collaboration increasing. His is the whole thing
about you know, reactivity and uh signals stuff and signals
and and the sink signals.

Speaker 3 (17:15):
By the way, that's exciting. I'm excited about Solitude.

Speaker 1 (17:19):
I have to tell you. I literally told him that
from the way that I see it, he should probably
be in the academia. Yeah.

Speaker 3 (17:26):
Maybe, but you know, I mean having him out in
the real world is you know nice and that like
he's he's he really understands like ours, like the fully
the full totality of our space. You can ask him
pretty much about any server and any framework, and he
just keeps up with all of it. He knows all
the different approaches. It's just it's really he's a fantastic guy.

(17:47):
He actually lives pretty close to me now, so hopefully
I can't get him out for lunch again.

Speaker 1 (17:51):
But yeah, I know that they've moved.

Speaker 3 (17:52):
So yeah, they moved up to Oregon.

Speaker 1 (17:54):
Oh cool, where are you at.

Speaker 3 (17:56):
Jack, I'm in Portland, Oregon. So there you go. We
need to meet up.

Speaker 2 (18:01):
Yes we do. I'm out east.

Speaker 3 (18:03):
I mean, I mean I'm out east, I mean inn
Heavy Valley.

Speaker 2 (18:07):
But dude, you're like five miles from me.

Speaker 3 (18:10):
Dude, we need to meet up.

Speaker 2 (18:12):
I didn't he like right around the corner.

Speaker 1 (18:16):
It's a small world.

Speaker 3 (18:17):
It is a small world. I would say. Portland is
kind of up and coming, like if you're on the
West coast. Portland is a great, great city. It really is,
Like I but don't come here because we don't, you know,
we don't want more more people.

Speaker 2 (18:30):
All the construction going around right around my house.

Speaker 3 (18:34):
Oh my god, dude getting around though, Like there's always
a flag guy I've got, there's always Like.

Speaker 1 (18:40):
It might surprise you, but Tel Aviv is undergoing, like
the whole city is one. We basically say that the
whole city is on wheels, Like all the streets are
dug up, it's all filled with cranes. Uh, they're we're
building a kind of like a metro system, so everything
is like dug up high rises going up a little
of the place. So it's yeah, but the problem is

(19:02):
is trying to get from point A to point B
in the side the city is becoming literally impossible.

Speaker 3 (19:07):
Yeah. If you want to find history lesson, go check
out the history of Chicago. They actually raised up a
lot of buildings up on these jacks when they're adding
in like sewage and plumbing lines and all that kind
of stuff. And there were like there were stories of
folks waiting in an intersection as a house would come by.

Speaker 1 (19:23):
Well, from my understanding, it's kind of built like on
on the basis of a swamp or something.

Speaker 3 (19:28):
Well, I think that's DC Actually, yeah, that's maybe Also yeah,
we're like Mexico City, which is built on a lake.

Speaker 1 (19:35):
Anyway, I was just going, but I think we're kind
of digressing. That's okay, let's that's a podcast for exactly.
So let's try to get back to the original topic
that I thought would be great to discuss with you,
And that's a new ten stack component that you've mentioned,
which is ten stack AI. Yeah, so you said that

(19:58):
it's kind of like the verse V zero whatever they
call it a.

Speaker 3 (20:02):
No, it's not V zero. V zero is their application builder.
I'm talking about the AI s d K, which is
a library that gives you some an agnostic wrapper around
the AI, the l m uh chat you know, APIs
for all these back end primarily although you know they

(20:22):
can now support like you know we and we can
do this too, image generation, video generation content.

Speaker 1 (20:28):
So what would so what would I use it for?
What is it exactly? Like, let's talk about your stuff,
So what's exactly ten stack AI and what would I
use it for?

Speaker 3 (20:38):
Right, So let's say that you want to go and
add a chat functionality to your app. Right, you want
to have the user be able to you know, have
a bot and talk to the bot and get like
product information that kind of stuff. So tansac AI that
library is going to be the server side of that equation.
It gives you a vendor agnostic way of connecting to lms,

(21:01):
so anthropic open AI, you know, O LAMA, they all
have the same basic API, and then you can connect
it to our chat function which is an agentic chat,
which means that it supports service side tools with approvals
and all that kind of fun stuff, so you can

(21:23):
get an agentic workflow out of the app, and then
you can connect to that that actually gives you a
bunch of tokens that you can then send out via
any way you want. We give you out of the
box HTP streams and service and events, and then the
AI client stuff, which we also wrap as AI react
is a generic way to connect to that endpoint and

(21:45):
then get the message stream and put in the chunk
stream and then convert that into messages so you get
the like the full on chat experience. And it supports
also client side tools, so you can have things like
a good example would be I'm on a e commerce
site and I want to, you know, talk with the
chatbot about what a motorcycle I want to buy or

(22:06):
something like that, and it says, oh, you know, here's
the motorcycle for you, blah blah blah blah blah, and
you can say, cool, add to my cart, you know,
not I don't know if you do that on the motorcycle,
but you know, and then it would w use a
client some people are a lot more wealthier than me,
would then add it to your cart on client side
or on the service side. How are you going to
play it. So that's where that that kind of tools

(22:27):
integration and agentic workflow come in here.

Speaker 1 (22:29):
So your primary audience would be a website looking to
integrate AI functionality or literally building something like a cursor.

Speaker 3 (22:39):
Oh, that's an interesting you could build cursor. And in fact,
actually I believe open code uses the versaal Ai SDK,
but doesn't use it all that much. They just use
it as like a neutral layer so they can go
and have like a single code base that connects to
open ai models and anthropic models and all that and

(22:59):
more than welcome to talk to them about about moving
to tanzac ai. So yeah, you could use it in
a CLI, you can use it in web, you can
use it in Native, you can use it on you
can use it in electron if you want. You can
actually run the tokens across IBC. Right, it's really just
a question of you know, you've got one thing that's
going to go and give you an agnostic way to

(23:21):
hit your lms for various services like JAT or image
generation or whatever whatever they support. And then the client side,
which is about like getting the tokens back and formatting
them into messages. So that they're easy to display.

Speaker 1 (23:35):
So just so if on the higher level, it seems
to me, let's see if find the center correctly, that
you're offering two main services. One is an LLM agnostic
way to connect to the llms, and you're saying that

(23:55):
they have a similar but not identical API, so you
overlay like a facade on top of that that basically
irons out the wrinkles that make them makes them actually
identical in a sense.

Speaker 3 (24:09):
Yeah, basically, yeah.

Speaker 1 (24:11):
And in addition, you also get a chat client that
works with this infrastructure.

Speaker 3 (24:18):
Yeah, and we're just in the process of finalizing that
we'll be moving. We have our own internal standard for chunks, right,
that'd be, oh, this is the LM and it just
put out a chunk with you know, this particular token
in it or whatever. And we're going to be moving
to what's called AGUI, which is a standard for chunked tokens.

(24:41):
And the cool thing there is that you'll be able
to use our server AGUI exported chunks with anything on
the front end that supports that standard, So you don't
have to use our hooks and our client if you
don't want to, and vice versa. If you have if
you use our client and our hooks, you could talk
to any server doing a g u I on the

(25:01):
back end. And we actually also have currently Python and
PHP libraries for the server, which is something that is
something that the versaal AI s DK isn't currently supporting.
It's a typescript only ecosystem where we are pretty interested
in making sure that like Python fast API as an example,

(25:24):
as well positioned is able to use it as well
as PHP. You know, there are a few sites out
there that we're on PHP.

Speaker 1 (25:31):
Interesting. I'll actually speak to the AI engineers at size Sense,
the place where I work, and you know, to let
them know about it, because we have AI chats embedded
within our within our software. We also do AI based services,
so we do data analytics. You can you know, ask

(25:56):
you can actually we call it semantic enrichment. You can
actually tell the system, hey, I want AI to provide
additional meta data on top of the meta data that
I got out of the databases that I'm working with.
Sure then and you know it's it's really it's really

(26:18):
a useful functionality. It makes reasoning with your data much
easier and and definitely I don't know which models we're
currently limited to, but if we're able to easily open
it up to additional models, that that can be really
really interesting because very often our customers say, hey, we
want we prefer working with this model or that model

(26:40):
because that's the one that standardized within our organization, that's
the one that we have you know, coupons for and
stuff like that. Yeah, we we go we use Ralph,
so now we run through coupons like like, uh exactly.
I'll probably talk about that maybe later on.

Speaker 2 (27:02):
But.

Speaker 3 (27:05):
Yeah, So in terms of compatibility, just so folks know,
we originally came out with open Ei, Anthropic, Gemini, and Olama,
and then we added GROC and now we've just recently
added open Router, so quite a bit of support there,
and then we're also obviously looking at Azure and Bedrock

(27:26):
is next big primary targets in terms of the back
end support. And the reason it takes a little bit
of time is we spend a lot of time actually
going through and taking a look at all the different models,
cataloging them, getting all the typescript support in there. Because
when you select a model from a vendor, then you
get all the usual properties, but you also like a

(27:47):
temperature and this and that. But you also get proprietary
properties for each model, and they're all strongly typed. So
if you've got things like you know, some sort of
I don't know, conversation ID or something like that that's
going to go to Anthropic for storage, you know, then
you can add that in and it's all type safe.

Speaker 1 (28:06):
And how how do you align through the differences between
the various models, because you said that they're very similar
but not identical, so I assume that there might be
some interesting differences in kinks to work out.

Speaker 3 (28:18):
Yeah, I mean yeah, not so much, to be honest.
I mean they're like, yeah, there's there's like little you know,
there's proprietary flags for sure, but in most of most
of the l l ms, you know, they're pretty much
standardized on on at least in terms on the options.
It's the chunk format really that comes back like from
the actual vendor that can get a little That's actually

(28:41):
where we end up spending a bunch of time is like, yeah,
massaging the chunks coming back from the l M into
our standard and now obviously a a g u I standard,
and then from there we senator for the client.

Speaker 1 (28:55):
So given the AGUI standard. Theoretically, in an ideal world
two years from now, you won't actually be needed.

Speaker 3 (29:05):
I yeah, well, okay, I think that. I guess there's
some really cool stuff that we're working on that's way, way,
way beyond what people are used to seeing out there.
So I kind of consider where we are currently in
that published state, sort of like table stakes, and then
you know, the kind of stuff that we'll be putting
on top of that is going to be groundbreaking. So

(29:28):
I'm really really excited.

Speaker 1 (29:30):
That'll be interesting. Also, you know, again, when you're talking
about extended media types like audio, video images, you're adding
a whole new additional layer of complexity, which I'm sure
needs better alignment between the different models, the type of
stuff that they're bringing, you know, handing out back and

(29:50):
how yeah you know it to the user.

Speaker 3 (29:52):
Yeah, like video was a kind of a an entirely
different interaction models. It's like a job based model, fire
off a job to get back a job, I d
because it just takes so long. It takes so long
to generate video, so it's like an entirely different API surface.
In fact, actually that's kind of an interesting digression, is
around we actually spend a bunch of time going from

(30:17):
kind of like an initial release to the second release
that had like all the support for image and video
and structured output and that sort of stuff. And the
reason was because we kind of did an AI an
API review and we saw that we were just going
to keep on adding new functions to the export of
AI and you know, like generate image and generate video,

(30:39):
and we kind of ask ourselves, you know, is that
what we want to do, because you know, as the
field expands, we just kind of want to keep adding
functions to it. And so we initially decided, well, we'll
just kind of try to see if we can do
a polymorphage design where you have it just like basically
one export coming out of Tansac AI, one real export,
which would be the AI function, and then based on

(31:00):
the model that we send in, we would then do
all the typing and all that kind of stuff to
like say, oh, okay, cool, this is a you know,
a video model. Therefore, you know, get to get back
a job i'd or something like that. And what we
found after six days was that it just wasn't a
great model, and it was actually working with the AIS

(31:20):
themselves that allowed me to kind of go in and
and and say, hey, between these two different APIs this
kind of generic AI function versus generate image. You know,
with that, which what what would you prefer us to
do and write and what what what do you think
would be it would increase accuracy of an l M

(31:41):
and one across the board. All the frontier models are like, ah, dude,
generate image.

Speaker 1 (31:46):
Duh. Oh yeah, well that's that's not actually really surprising.

Speaker 3 (31:51):
No, no, it's not surprising at all. But it's one
of those things where you're like, oh, you know, you
should have done this earlier, so you know it.

Speaker 1 (31:57):
You know, that's it's it's kind of like actually learning.
So it's kind of like ECHA mean, having the different
tags for the very different media types rather than having
like a generic media type element that does everything right exactly.

Speaker 3 (32:11):
You know. It's it's so much more verbos And if
you have just a single function I right, you're getting
away like the primary communications vehicle for what the thing does,
which is the function name. It's like pretty obvious once
you think about it. The other thing that I thought
was interesting about that experience was that all of the

(32:32):
agents like Claw and all that were really having a
hard time actually trying to get the polymorphic stuff to work.
You know, one you get it right, it would work
for one thing, and then it would break something else.
And we had all these type tests and all that
kind of stuff, and what I really learned was that
AI is not going to complain. Man, They're going it's
gonna be like, okay, yeah, no problem, Man, I can

(32:54):
do whatever you want. And that's a problem because if it,
if it had beened me trying to manually code this
new interface, I would have been like an hour into
and been like, man, this doesn't work, Like this is
really hard, Like it shouldn't be this hard. And that's
always been like those pain points have always been like
a like an engineering smell to like see in the

(33:16):
junior dev senior devs like you run into a wall
and like C plus plus is not happy with how
you're doing your stuff. That's an indication that you probably
are doing it the wrong way or some thing. You know,
typescripts and types. If you if you're having a heck
of a time trying to type it correctly, and maybe
that's not great, maybe you want to do something else.

Speaker 1 (33:37):
Yeah, that's kind of the thing about the eyes. From
my from what I've been experiencing, is that AI. Even
when you tell it, you know, we were talking about
it before, about the rule files, before we start to the show.
Even when you tell it you're an experienced developer, whatever,
its still very much works like a junior in terms
of its attitude.

Speaker 3 (33:57):
Whenever you tell me to do boss, I'm.

Speaker 1 (33:58):
In, Yeah, you're very They're very compliant, you know they Yeah,
too compliant. They'll do it you tell them to do,
even if it's totally stupid, or they'll try to do it.

Speaker 3 (34:11):
Yeah, unless you ask it the review and it will
do a good good review. Yeah, I've actually asked it, like, hey,
does this make sense? Yeah, but I understand, Like at
least in Cursor, there's four different modes. There's agent mode,
do what I tell you to do. There's a plan mode,
the under underutilized plan modes I use the heck out

(34:32):
of Basically, it'll ask you like, okay, before we do this,
I've got some questions. And then there's ask and debug
and ask is also I would say, like an underrated
S tier mode where you can just ask the thing
like how did you do that? How?

Speaker 1 (34:49):
I've used all of it except I've used all of
them except the bug.

Speaker 3 (34:52):
Yeah, me too.

Speaker 1 (34:53):
I don't. I don't really get the bug.

Speaker 3 (34:55):
No, yeah, but you know there, but I haven't. I'm
in love with the new the browser stuff, Oh my god,
it's so great. What do you mean the browser integration
and cursor. It's like, hey, this page doesn't look right, go,
you know, go go fix it. And it's like okay,
and pops up a browser takes screenshot.

Speaker 1 (35:12):
Like, oh yeah, yeah, I've seen the automated for you
that I've been playing. You know. We we spoke personally
a lot about mcps I've been playing with. I had
a project. It's an interesting project. Again, we're digressing all
over the place. I had an interesting project that I've

(35:33):
been working on. Looking at work, we had a whole bunch,
like we are. Scienceence has been around the block the
company and for years. Their approach to testing when they
kind of automated away from manual QA is to build

(35:54):
a ton of end to end tests, so most of
the coverage is achieved by end to end tests rather
than by unit tests or integration tests. So there's like
like thousands of end to end tests out there, and
they were built because they were built years ago. They
were built using uh selenium.

Speaker 3 (36:14):
And oh dude, no.

Speaker 1 (36:18):
Actually, actually, even more accurately, they were built using if
you've know if you heard about it about it using Serenity.

Speaker 3 (36:27):
No, I don't know that.

Speaker 1 (36:28):
So it's a layer above selenium that uses cucumber or
Garca cucumber tests. I remember those exactly. So Serenity is
basically Selenium plus cucumber. Yeh. So I was looking at
the possibility of migrating these tests to play Right, because

(36:52):
we write all our new tests and Playwright and play Right,
despite all its own challenges, is much better Selenium, and
most of our coding these days is done in typescript
rather than Java, so we wanted to align on that stuff.
But nobody is going to manually migrate thousands and thousands
of tests. So I was looking at the possibility of

(37:14):
using AI to automate as much of the effort as possible,
and I kind of show that it was possible to
reach somewhere between eighty to ninety percent automatic migration, which
is not one hundred percent. It still needs a whole
bunch of manual effort, especially that sometimes it's the challenging
manual effort. But you know, getting rid of ninety percent

(37:37):
of the work is definite plus. Yeah, And so I
was talking about that because one of the things that
I was trying to do is whenever it failed, I
basically told it to try to use the playwright MCP
server to try to figure out what the problem was

(37:57):
and see if fix it automatic. Yeah. Yeah, yeah, sometimes
it could, sometimes it couldn't, but it was interesting to
watch the attempt.

Speaker 3 (38:05):
Yeah, and you're Ralphing basically Ralphing.

Speaker 1 (38:08):
Yeah, yeah, I'm Manual ralphingman. Yeah, you know what we
digressed it to that, Let's talk about Ralph. Let's talk
about I don't know, probably we would probably probably want
to bring Mitt Pocock to speak about that, but nowhere anyway,
So let's talk about Ralphing for a minute.

Speaker 3 (38:27):
Yeah.

Speaker 2 (38:27):
I was just watching a video his last night there
you go.

Speaker 3 (38:30):
Was it about Ralphing?

Speaker 2 (38:31):
Uh No, it was about uh the open the SDK
that you were talking.

Speaker 3 (38:37):
About, the yeah, the versl SK yeah versaill.

Speaker 2 (38:41):
Thank you.

Speaker 3 (38:41):
Yeah, he is he's got a full course on that,
like a big course on that.

Speaker 2 (38:45):
So yeah, yeah, because I'm using it for a demo
app so yeah, pretty cool.

Speaker 3 (38:49):
Yeah, Well, anyway, sorry, you sandseck and so by the way,
so if your viewers or listeners uh hands like AI,
all the tanzacle or is are completely independent of each other,
so you don't you don't have to be on tanstac
start to use tanac AI. You can use it on
anything you want.

Speaker 2 (39:08):
Yeah, I used tanstack table.

Speaker 3 (39:11):
Yeah, the o G the OG library.

Speaker 1 (39:15):
Yeah.

Speaker 3 (39:16):
Okay, so ralphing you.

Speaker 1 (39:20):
Since you mentioned ten stack table. One of the things,
one of the things, one of the things that I
ran into problem with in that project was I don't
remember which virtualized table library it was actually being used.
But it's a real big hassle to do e t E.

(39:42):
Effectively visual testing with with virtual table because the screen exist,
you know, Chris, you kind of dependent. So I had
tests failed. You know, my greated tests failed because it
didn't make the virtual screen big enough.

Speaker 3 (40:00):
Yeah.

Speaker 1 (40:00):
Yeah, talk about brittle uh brittle actually and fragile tests
and stuff like that. You know, your screen is too small.

Speaker 3 (40:10):
So that makes a virtual screen sixteen thousand pixels.

Speaker 1 (40:14):
Twenty exactly exactly, so that all the column headers fit in,
because otherwise it's just the element is just not there.
It's insane.

Speaker 3 (40:25):
Yeah, man, Like I I used to do mac os
programming back in like the version five days. Man, I
I've been through it all, and we did a lot
of virtual table stuff back then. I'm like, uh no, never,
never again, never, Nope, nope, I don't want to man
the scroll bar. I don't want to write virtual table code.

Speaker 1 (40:42):
It's a good business. Yeah.

Speaker 3 (40:44):
Well, so it was like, you know, maintaining cobal code.
I guess nowadays, I wonder if like LM is going
to put those.

Speaker 1 (40:50):
Guys out of Oh yeah, for sure. I well, I
don't know. I mean, they need guys are literally dying
off true.

Speaker 3 (40:57):
I guess yeah. If we all want to get paychecks,
better better make sure the lmsn't want to understand that code.

Speaker 1 (41:02):
Yeah. Well, I would think that COBYL is like the
optimal language for LMS, giving its verbosity. You know, ad
add one to the two three in order increased valuable
by four.

Speaker 3 (41:18):
Yeah, you're talking about digressions.

Speaker 1 (41:20):
Man.

Speaker 3 (41:20):
I was, I think watching some football game and I
was like, oh, man, what does COBYL look like. It's
like one of the programming language. I've never coded it,
and I just got like three minutes and I'm like, nope,
I'm good. I don't know, there's some things that I
just don't need.

Speaker 1 (41:33):
There's a story about Ellen k the guy who invented
object oriented programming, oh yeah, and small talk and whatnot,
that he was walking around Stanford and suddenly he saw
a crowd of people, so, uh, he walked over to
see what it was. And it turns out that Admiral
Grace Hopper and and you know, somebody mentioned she invented

(41:54):
cobol and he said something like, oh, my condolences, and.

Speaker 3 (42:01):
She probably got a laugh out of that too. Yeah.

Speaker 1 (42:05):
Anyway, so back back to ten stack Ai.

Speaker 3 (42:08):
Right, let's go. Yes, we're almost talking about Ralph loops.

Speaker 1 (42:15):
Yeah.

Speaker 2 (42:15):
Sorry, but Jack you'll probably get this more than Dan.
But sorry. When I started hearing about ralphing, I'm thinking
about a Christmas story and a Red Rider be again.

Speaker 3 (42:23):
But that's I was thinking about Rolfing. I remember like
there was a trend there for a while, like a
massage technique where they like really crunch your bones and stuff.
That's what it was.

Speaker 2 (42:34):
Okay, sorry, anyway, go ahead, Dan.

Speaker 1 (42:35):
So, so Ralph loop is is named after uh well,
uh Simpsons Ralph.

Speaker 3 (42:44):
Yeah, it's yeah, because William is a persistent kid, just
just grinds. He grinds. So that's what a Gralph loop does.
It grinds.

Speaker 1 (42:55):
It's basically a wild loop. It's fine, Just correct me,
correct me if I'm wrong. It's basically I forget who
it was who invented it.

Speaker 3 (43:04):
He's some dude in some rancher in.

Speaker 1 (43:07):
Australia exactly h he was. He was trying AI and
he was annoyed with the fact that he would a
I would do some tasks for him, uh, produce an
incorrect results and stop and and he just.

Speaker 3 (43:23):
Had to kick it in the button be like, no,
that's wrong. Next, you know, try eventually you would get it, you.

Speaker 1 (43:28):
Know, yeah, Like on the fifth try, the AI would
get it. So basically, if I under stand correct, the
Ralph Wigham loop is basically running AI in a loop
and every time you you run a sort of a
test suite to check if you've reached your end condition
or not, and if it didn't, you take everything that

(43:49):
you got and basically use it in as an input
to the looping all over again.

Speaker 3 (43:54):
So you everything you got, like a summary of what
you got, plus the original.

Speaker 1 (43:59):
Contact context, plus the test results you failed in this
that and the yeah and try it again.

Speaker 3 (44:07):
Yeah, yeah, yeah, And the idea is that you know,
you if you get like the context window too big.
I mean I'm starting to see like people empirically are
starting to talk about like fifty percent, you know, sixty
percent above that kind of range. The AI like the LM,
it gets in every time you make a request, it
sends an entire block back over to let's drop.

Speaker 1 (44:29):
Our context windows for a minute, because there's a critical
aspect here.

Speaker 3 (44:33):
It really is managing your context window, and that that's
what the Ralph FLU is trying to do is make
sure that like it starts basically fresh on every single
loop through.

Speaker 1 (44:43):
It takes back whatever it needs, erases everything else, and
this way keeps the context manageable.

Speaker 3 (44:50):
Yeah yeah, because we will kind of empirically found like
you know, as I say, like you know, fifty six percent,
and like they they after that, the LM starts to
quote unquote get dumb, and it starts like like only
look at the beginning and the end of the context.

Speaker 1 (45:04):
So so basically the easiest way to see it is
if you're working in an environment cloud code or cursor
or whatever, and you're you're you're trying to get the
and you basically have this chat that goes through your
entire work day. And let's say you're working on the
same problem the whole day. You would notice that towards

(45:25):
the end of the day it ends up getting smarter
and better understanding of what you're you're trying to achieve
given everything that you've researched and investigated over the day.
The other lem is actually getting dumber and producing incorrect
results rather than better results.

Speaker 2 (45:42):
It sounds like getting tired after this exactly, it needs
a coffee, right, Well, in this case, the coffee is
is I don't know what that is.

Speaker 3 (45:51):
Oh geez, I've tried those manly get hard palpitations entirely
different topics. But yeah, the idea being like they're they're
vision of Rockstar is that you basically go back to
the original context and say, like, okay, you know, starting
is if we haven't done well starting with where we are, now,
let's try and hit this, hit this again, you know.

(46:12):
And so you don't have that.

Speaker 1 (46:13):
So basically, so basically the context window is the input
that you send to the LM effectively right with that.

Speaker 3 (46:22):
Yeah, it's all the messages, all the system prompt and
that includes like all the tool calls and everything else.

Speaker 1 (46:28):
So yeah, and it has limited size. So when you're
having a really lengthy conversation with your LLLM effected, at
one point or another, you'll exceed your context window size,
which can vary between lms. I think it's like how
many cases.

Speaker 3 (46:47):
It varies wildly between elms, but it'll do most of
these clients will do like a compaction phase. We'll basically
do a summarization and try to do like a Wigham loop.
The trick is that you don't really know what the
summarization did or said, so it could have gotten it wrong.
So what I tend to do is my workflow is

(47:08):
that I'll get like pretty deep into a conversation. I'll
get to a point where it's like it's working, and
then I'll have it build a markdown file that's like
this is where we got to, and then I'll kill
that conversation by you don't don't feel any attachment to
that that version.

Speaker 1 (47:23):
So you close, if you close, if it's cursor, you
close that chat window and open a new chat.

Speaker 3 (47:29):
With new chat window and say, here's your context, buddy,
this is where we got to. Now let's start from
there and yeah, as you say, like it keeps them
smart because they like they like being in a small
context window.

Speaker 1 (47:42):
As a results, I have a similar but somewhat different approach.
I've gotten kind of enamored. We've spoken about it with
rule files. So what I do is I constantly iteratively
try to improve the rule file, and then at a
certain point in time, I'll say, Okay, the rule file
has reached a certain level, I'll close the conversation and

(48:03):
basically just kill it. Instead of telling it summarize what
we've had so far, I'll continuously look at my rule
file as an up to date summarization of the chat
and whatever preceded it to that point. And so I'll
close the chat and I'm starting fresh just with that
updated rule file. And I take a really iterative approach

(48:24):
to updating the rule file all the time. I also,
every once in a while tell it please compact the
rule file because it starts to accumulate a lot of gunk.

Speaker 3 (48:33):
Yeah, a lot off. With a big file like that,
you're going to blow the context window right off the bat,
you know, And exactly That's one of things that folks
are learning is like, Okay, so we've got our next
JS or our big tan sax start app, and it's
got some back end code, it's got some front end code.
And what you want to do is kind of break
out those rule files or architecture files such that like

(48:55):
the React stuff is in its own file, so that
the l im can basically say, hey, cool, all I'm
working on is react to right now, So I'm going
to go and use that as my my north star
of architecture, and that's going to deal with hooks and
all that sort of stuff, and I'm not going to
deal with anything on the back end, so I can
leave all of that out of the context and really

(49:16):
really really managing those contexts.

Speaker 1 (49:19):
And the only thing I got just as a as
an aside, and just I totally agree, and just to
mention that you in most of the environments that I've seen,
you can actually configure the rule file to pertain to
a specific folder and all folders. Yeah, so that's or.

Speaker 3 (49:36):
You can tell rex you know whatever.

Speaker 1 (49:38):
Oh reg x, or or you can tell it just
use it according to the context. But then it becomes
kind of risky.

Speaker 3 (49:44):
Yeah.

Speaker 1 (49:45):
Yeah, jeez, I'm sorry.

Speaker 3 (49:48):
No, No, it's fine. Oh man. Yeah, so I actually
I kind of bifurcate. I have like an architecture document,
and then I've got a status document. And the status
documents are generally transient. I can get you know, create them,
delete them as part of a branch or whatever like that.
But the target extra document is what sort of remains
over time and that it's like the structure of the feature.

Speaker 1 (50:11):
And so your your mandatory, your or the one that
is always applied is the basic architectural document, and the
rest are either used transiitly or used for specific parts
of the application.

Speaker 3 (50:25):
Yeah, yeah, I remember what I was going to talk about.
So tool calls. So if you watch your your claude
whatever you know, clod code or whatever, you know, the
cursor as it's executing things like look, I'm doing a
pm BX you know, blah blah blah blah blah all
that stuff. Every one of those is a tool call,

(50:45):
which means that it's actually, uh, the AI out in
the cloud is basically telling your client is terminating your
connection to the client with a thing that says, hey,
right now, I want you to go in to keep
this thing locally and then send back whatever the results
of it were, and then it does that, and then

(51:06):
it sends it back along with all of the contexts
in another call back to the LM. So those round
trips one are huge, and two, like every one of
those little invocations is just chewing, chewing, chewing, chewing, chewing
up more and more and more context. So even just
like oh, I'm having itery through all the files and
blah blah blah blah blah, like that's that's just non

(51:29):
nom naming your context.

Speaker 1 (51:31):
So it's not just about the fact, you know, I
kind of learned this the hard way again, going back
to that example that they gave that initially, I would
literally have the LLLM run all the tests to verify
that whatever I updated didn't break anything. But I saw
that not only was it taking a whole lot of time,

(51:51):
it was also eating up the context. So instead I
become I became much more strategic about which tests I
would actually be run.

Speaker 3 (52:01):
And in fact, actually I think you could even be
more for strategic. And I haven't done this myself, but
like you know, and we all have these like great
test runners that have all kinds of you know.

Speaker 4 (52:10):
Like beautiful output and all these oh blah blah blah
blahlah thing, you know, and look you've done great. That's
a lot of text, you know, it's coming out of
those things, and that text gets added into the context.
So maybe having your test runner basically just output these
are the tests that failed.

Speaker 3 (52:27):
Otherwise don't yeah, do not do anything for bos is
not great. And if you've got something where you've got
a bad setup, like I have a one PARTYGO shell
that's not particularly well set up, and sometimes like Claude
will have to like try three different ways to run
the command and get like a little gnarly about that.

(52:47):
Fix that, fix that, because that again, that's just round tripping,
and that's that's taking a lot of cost. And so
it's it's it's compound interest, right. So if you know,
when you think about all the tokens that you spent,
and every time you make a request, you're basically all
of the tokens you've just spent in the last request,
plus all the tokens that you're spending on this request.

(53:08):
That's what you're spending. So it's a lot, it's a lot.
That's how you get like those you know, how did
I spend a million a million tokens on this request? Oh?
Is because it's compounding interest interesting.

Speaker 1 (53:22):
Yeah, it's definitely something to think about.

Speaker 3 (53:24):
Yeah, there's no state, it's totally stayless.

Speaker 1 (53:26):
I have to say that this year has been an
amazing learning experience year.

Speaker 3 (53:33):
For me, right. Yeah, anybody who stayed in the field
is like, whoa dude, this is crazy.

Speaker 1 (53:39):
Yeah. And the great thing is everybody's talking about how
AI is eating our jobs, and to an extent it
is and doing a certain extent it is. But if
you're if you're the one who knows how to properly
use the tools, you've ten xt yourself and you were
going to be into.

Speaker 3 (54:00):
Yeah, that's what I'm saying. You know, Tanner ping me on,
like I think it was like Friday night and I'm
doubted like Blade Runner, you know, the symphony symphonic version
with my wife, and I'm getting this thing from him
saying like, hey, you know, I think I'm gonna look
into like builder making the builder on the website, and
you know, it was middle of the night and I'm like, sure,

(54:22):
why not go for it? And then like by the
next morning it was he was done, like he was
done with the initial release, like no problem, there you go.
And then he's adding features left and right, and it's
like he's just on a tear, like you know, this
is what LM's and we just were talking about. This
is like all the stuff that you thought you could do,
and then you're like, oh, maybe I'll get there eventually,

(54:42):
blah blah blah blah blah. It's I was like, it
just bang done, and it's it's really cool. So saying
the ironically funny thing is when you give it like
a really big request, like hey, let's arguitect this new
feature or whatever. I don't know what it is, but
Claude always comes back like, oh, this is going to
take it like four weeks this part in phase one
and two weeks for phase two, and it's like, no,

(55:03):
this could be like this is gonna be like two hours,
like we're really done. Yeah, crazy exciting times.

Speaker 1 (55:10):
Or alternatively, I I'm working on a certain legacy application.
I was trying to figure out what's going on. I
was asking the other developers on the team. None of
them seem to recall exactly how the functionality I was
asking about actually works. So I switched to ask mode
and I told h Cursor, tell me explain this flow

(55:31):
for me to me please, And and you know it
just worked and it saved so much time.

Speaker 3 (55:37):
Yeah, yeah, and what you really should do is have
it then build out an MD file that explained like
that documents that architecture. So the next time you so
what I actually for it to go on animal?

Speaker 1 (55:49):
So what I actually did, what I actually did. And
that's another thing that I wanted to mention is again
maybe people are talking about it, maybe they are not,
but it's the rebirth of wikis. If you've got wiki
in your organization, you can upload the stuff into your
wiki and then in future calls you can tell the

(56:12):
agent here's the u r L for the relevant document
or alternatively copy paste if if you want to, you know,
avoid the roundtrip. But so we're actually for reasons, we
are into as at Lasian. So they also have this

(56:34):
kind of the thing called Confluence, which is their wiki thing. Yeah,
but it's got an m CP server, so I can
put I can actually tell it, you know, do put
that stuff that you just mentioned. Take that empty, because
otherwise where would I put and organize all those all
those empty files? So yeah, I guess, but then search

(56:59):
searching through them comes annoying.

Speaker 3 (57:00):
Yeah, that's true. There's an interesting project you might want,
like called Vibe rules, and the idea is that you
package the markdown rules for the library with the library,
and then when you bring it into node modules, there's
a vibe rules executable that you can run that basically
pull extracts all those rules into the local environment so

(57:23):
that then claud or whatever your agent is can see
it and then you just I guess every time you
run it again.

Speaker 1 (57:31):
It's also that with Wikis, I can hyperlink across, which
is much easier to do than it is in Get.

Speaker 3 (57:37):
Okay, that's fair. I'm just used to like Wikis, where
the actual format is marked down, so it's kind of.

Speaker 1 (57:42):
Like yeah, in Yeah, it's kind of annoying. In Confluence
it's marked down ish, which which is?

Speaker 3 (57:51):
And this is why I like which is annoying Confluence. Man,
I've never had good experiences of Confluence. I'm hoping that
their search has gotten better, but man, their their search
was like you can use exact right term.

Speaker 1 (58:01):
And you they've added AI capability. Surprise, surprise. Yeah, it's improved,
but it seemed kind of useless to me. And now
all of a sudden, I'm getting this extra value from it. Okay,
because I can tell, like I said, I can basically
use their MCP server to say, use this reference architecture

(58:26):
document when you're implementing a new project or something like that,
and it makes life easier. But you're right, it would
be easier if it were if it were pure empty files,
it would be a whole lot easier.

Speaker 3 (58:40):
And the other thing is doing that with like older
projects is great because you're not going to version them
that often. But if you're doing like early days work
and you're going to be changing around the APIs and
you've got like a branch where you've changed the APIs again,
and you know you want to bring that in and
see how it works, it's like, oh, now I've got
you know, the canonical document is on the old API

(59:05):
or it's on the new API. And it's like, you
want to have the document with the code and with
that version.

Speaker 1 (59:11):
Oh, I agree, and and rule files definite for example,
definitely go with the code I've switched from.

Speaker 3 (59:18):
Cool.

Speaker 1 (59:19):
You know again people are thinking, you know, people often
don't put the dot cursor folder in. They ignore it
and get and or the dot vs code folder. And
I and I always take the opposite approach I understand
that some people like to have their own independent setups,
but I won't use a curse word, but you know, efit,

(59:42):
you know, I'm going to give you mine because I
created this project and now with the rule and now
with the rule files, it's doubly So yeah.

Speaker 3 (59:52):
Yeah, there's there's a contributor on tansak who was just
asking me just recently if she had a good idea
that around a like an id slash agent agnostic way
of specifying rules and all that, and then just having
a compiler or like a little command line thing that
basically take that agnostic version and just like, oh, I'm

(01:00:12):
mind curser, like, just run that. Now, give me the files.
And I think it's a great idea. And so I
had Claude go and do some competitive research and turns
out there's nothing like that out there, so hopefully she's
gonna get into it and try it out.

Speaker 1 (01:00:26):
It doesn't seem like a heavy lift. There are no
pretty similar they're more or less all marked down, more
or less maybe with a little bit of a header
that kind of explains when it should be used, but
other than that, they're essentially all just marked out.

Speaker 3 (01:00:38):
Yeah, and having like Claude do competitive research for you,
underrated man, underrated. Go for it like it's will save
you so much time. Like, oh, I don't know, I
can't find this. You know library that does this and that? Cool? Great,
go ask Claude. Maybe it'll find it for you, and
maybe it'll say cool, this is an area where nobody
is in and you should build it. But don't go

(01:01:00):
into the just randomly say well, I have this great
idea and then build the fifteenth version of a you know,
I don't know some library that does yeah, I don't
know table virtual tables.

Speaker 1 (01:01:11):
Actually the bigger the bigger thing is how ais are
now both the democrat is a demo democratized, democratizing the
SaaS market, but also kind of killing it.

Speaker 3 (01:01:24):
Yeah yeah, yeah. And you know, like I remember just
recently Germo said, I don't know, I don't like this app.
You know, it's not being maintained. I think I'm right,
and I'm just gonna have it. I'm gonna have Claude
run a new version. It's like, dude, you know, people
could do the same thing with Next days app. You know,

(01:01:45):
let's be honest, like, especially if you're on pages Router,
like I've actually got a markdown document that basically says,
here's here's how you go and take mark down the
pages writer version, which most people are still on because
the app writer really didn't make all that good inroads
and a lot of people have problems with it. A
lot of pages riders can yeah, just be easily, yeah, but.

Speaker 1 (01:02:04):
Just be careful with that. So recently and we'll finish
that with that and probably switch over to picks. But
I recently saw tweet by the CEO of one of
those AI building tools, Base forty four, saying.

Speaker 3 (01:02:19):
That I haven't heard that one. That's a new one.

Speaker 1 (01:02:21):
I mean, they're actually they were bought by Wix, and
Wix is pushing them to users, so they're actually like
one of the they're they compete with Lovable and stuff
like that. Really getting a lot of traction, it seems,
I don't know. But anyway, so he said that he's
seen customers replacing the Salesforce CRM with something they whip

(01:02:46):
up with an AI tool okay, and just not pay
the one hundred k dollars a year to Salesforce and
instead basically get it for free. Uh and and somebody responded, well,
you know if you can avoid paying and get eighty
percent of functionality, it might be very worthwhile for you.

(01:03:09):
And I said sometimes yes, sometimes.

Speaker 3 (01:03:12):
Like yeah, you don't you don't want.

Speaker 1 (01:03:14):
Any percent of a cure for cancer?

Speaker 3 (01:03:17):
Yeah, exactly, And you don't want to, Like if you're
that's not the intellectual property of your company, then don't.
It's going to be TechEd at, like you can't just
you know, oh, you know we're going to order lunch. Okay,
well let's write a new version of uh, you know,
door dash. No, dude, you just use rignor dash like,
you know, don't don't do that.

Speaker 1 (01:03:38):
Well door dash. It's not the app, it's it's the.

Speaker 3 (01:03:41):
Yeah, I know.

Speaker 1 (01:03:42):
I'm just saying, like, yeah, but a different example, A
different example. I think an actual legitimate example would be
you probably don't want to rewrite turbo tax because you
don't want the AI to hallucinate tax exemption laws. You
could imagine you could end up in prison like that.

Speaker 3 (01:04:02):
Yeah, little little downsides, little downside, all right.

Speaker 2 (01:04:05):
So with that hallucination or avoiding hallucination, we're going to
wrap it up. I got a hard stop here in
about nine minutes.

Speaker 3 (01:04:11):
Cool.

Speaker 2 (01:04:12):
So with that, first of all, thank you Jack for
coming on.

Speaker 3 (01:04:16):
Oh always pressure.

Speaker 2 (01:04:17):
Always nice to meet a neighbor.

Speaker 3 (01:04:18):
Yeah, let's get together, yes for sure.

Speaker 2 (01:04:21):
With that, will move to picks. Picks is the part
of the show where we get to talk about whatever
we want to, whether it's tech, non tech, books, movies,
and my dad jokes. So I will start off with
what is, in my opinion, the high point of every episode,
which is the dad jokes of the week, and then
we'll save the guests.

Speaker 1 (01:04:37):
I haven't heard of them, so I'm looking forward to it.

Speaker 2 (01:04:40):
Yeah, yeah, well hopefully you're looking forward to them.

Speaker 1 (01:04:42):
We'll see. So.

Speaker 2 (01:04:45):
First of all, so when I become a lawyer, which
eventually i'll do it, maybe I'll use AI to study
become a lawyer. I want to defend a penguin, so
that way I can say the words your honor. Clearly,
my client is not a flight risk.

Speaker 1 (01:04:57):
Right. Just for that, I'll tell you a quick lawyer joke.
So I guess this young lawyer is sitting open the
new office. He's like in the rundown part of town,
zero clients, no traction on whatsoever, is sitting alone in
his office hoping for improvement, and all of a sudden

(01:05:18):
there's this puff of smoke, and the devil appears oh
and says, I will make you the most successful, rich,
famous lawyer in the entire country. But in return, your wife,
your kids, your entire family, or all your friends will
spend eternity in hell. The lawyer looks at them and goes,
what's the catch.

Speaker 3 (01:05:38):
Anyway, man?

Speaker 2 (01:05:40):
Two more quick ones. Cars these days have way too
many gadgets. For example, I tried to reverse the other
day and I played a video of somebody getting run
over by a car, and then finally, homa in a
sentence can make a huge difference. For instance, let's eat
comment Frank has a completely different meaning from Frank is
in a coma?

Speaker 3 (01:05:58):
Right, Yes, that is true.

Speaker 2 (01:06:02):
You know the classic one is let's eat Frank versus
let's eat Frank.

Speaker 1 (01:06:07):
Yeah, but your is a good one. I liked it, Okay,
all right, Dan, what do you got? Okay? So I
thought about talking and having a tech pic, but it
was Ralph flops and we ended up talking about it.
I just mentioned that Matt Pocock did an excellent video
about it. So if you're interested, just search Ralph Wigham

(01:06:29):
uh and find uh Matt's video and watch it. Because
he gives a very thorough and interesting explanation, is very engaging.
Should probably have him on the show again. So that's
that would actually be a pick. Uh. And another pick
is I'm reading a series of books called the Dresden Files. Uh.

(01:06:52):
It's it has nothing to do with the city Dressden.
It's with a person called Dresden, and it's kind kind
of a gum shoe novel meets a fantasy. He's simultaneously
a private investigator and a wizard. It happens, it takes place,
it takes place in modern Yeah, it takes place in

(01:07:14):
modern day Chicago with wizardry, with wizardry. Yes, And it's
it's all told in first person. It's it's it's like reading.
It's very engaging. It's it's there's a lot of action.
So if you like wizards duking it out with all
sorts of with other wizards or monsters, it's full of

(01:07:35):
that stuff. And they're like a ton of books. There
are how many books in this series, I think like
seventeen books in the series, so, and each one is
kind of self contained, so you can read them independently,
but I would recommend read just reading them in order

(01:07:56):
and thereby Jim Butcher. Sure, they actually apparently tried to
make a TV series out of this, like four or five,
six years ago, and it only ran for one season,
The Dress and File. The Butcher is the name of
the author anyway, So yeah, that would be one pick.

(01:08:21):
The other pick is a really guilty pleasure. It's a
channel on YouTube by this guy, Arvin Haddad. He what
he does is he he apparently helps the ultra rich
purchase real estate.

Speaker 3 (01:08:37):
Oh that sounds great and.

Speaker 1 (01:08:40):
So but he has this really amusing channel where it
turns out that whenever, like this one hundred million dollar
villa whatever goes on the market, they create this sort
of a marketing video.

Speaker 3 (01:08:52):
For well, of course it's one hundred million dollars.

Speaker 1 (01:08:55):
Yeah. So it's like a house tour, virtual house tour
where this guy walks. So so what he does is
he takes his videos and analyzes them and makes and
just shows how ridiculous some of these houses are. So
he really jokes about it the whole the whole time. So,
like they show you, look at this amazing kitchen, and

(01:09:16):
he said, but it's an awful kitchen.

Speaker 3 (01:09:18):
Like or totally not ergonomic, you know.

Speaker 1 (01:09:22):
Yeah, no, but it's got to the point where his
channel is so popular even though he pokes fun at
all their videos, all the content creators want him to
critique their videos because it gets them more engagement exactly.
But you see like these one hundred million dollar houses,
which would say, I would not be caught dead living
in a house like that, even if I could afford it,

(01:09:45):
because it's like you're like living in an airport terminal.
It's like it's horrible.

Speaker 3 (01:09:50):
Yeah, it's too generic, doesn't have any life of vitality
to it.

Speaker 1 (01:09:54):
Yeah.

Speaker 3 (01:09:54):
Yeah, it's like we have a thirty two undred square
foot house and it's like there are parts of the
house almost rarely ever in, you know, and it's like
that I can only imagine how many square feet million
one hundred million dollar houses.

Speaker 1 (01:10:07):
Yeah, and again, So it's it's really it's really amusing.
Enjoy watching his video videos is really engaging. He has
a great sense of humor. It's it's and it's fun
to poke. It's fun to poke fun at the rich
and famous. So yeah, that would be my uh my
third pick, I guess, And those are my picks for today.

Speaker 3 (01:10:25):
All right, I think I'm only at one, so I
have gotten My family hooked on open shocks bone conducting headphones.
So these are they keep your ears like open and
they rest on the back of your ear and the
like right right before your ear, and they are phenomenal.
There's like a headset version that you can use for meetings.

(01:10:46):
There's a running and there's a kind of running version.
That's the one I use.

Speaker 1 (01:10:50):
I think there is a version for swimming.

Speaker 3 (01:10:52):
Yeah, And I was just gonna say, my wife has
gotten back into swimming in a big way. She's doing
butterfly laps and all this stuff. And when she finally
kind of felt good back in the pool again, she
tried the headphones on. And they have they store MB
three files like old school like MB three files, which
I had to go source that. That was kind of fun.
But still and also bluetooth. I guess we're gonna do that.

(01:11:15):
But apparently she's saying like underwater. They sound phenomenal like underwater,
which is crazy. So that's that's pretty pretty cool.

Speaker 1 (01:11:24):
Kind of uses your body is kind of this uh yeah, vibrate.

Speaker 3 (01:11:29):
Right phone conduction, Yeah, exactly.

Speaker 1 (01:11:31):
It's it's really interesting. They're very lightweight, but I've not
I've never actually tried to use them.

Speaker 3 (01:11:38):
I would try it out. They're not like at least
in the US, they're not super expensive, and they're very lightweight.
And also they kind of are one piece, you know,
the issue of things falling all out all over the place.
And then the other thing is after I get back
from a run, I just put one of the faucet
and it's like, don't there you go? Clean love run

(01:11:59):
there you go? Yeah, gotta do something, all right?

Speaker 2 (01:12:01):
Yeah? Those are those are cool. A buddy of mine
as a firefighter out on the west side of town
here and they had some of their masks that had
those built in and I tried them on. They're crazy crazy,
How good they sound. Yeah, it's really weird thinking it's
not coming through your ears, but yeah, yeah, yeah cool.
All right, Well I got a jump, so okay, I've
been talking for quite a while. Anyways, Thanks everybody for listening,

(01:12:22):
Thank you Jack for coming, and we'll talk at y'all
next time on JavaScript Jabber

Speaker 3 (01:12:26):
Bye, see you next time.
Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Bobby Bones Show

The Bobby Bones Show

Listen to 'The Bobby Bones Show' by downloading the daily full replay.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2026 iHeartMedia, Inc.

  • Help
  • Privacy Policy
  • Terms of Use
  • AdChoicesAd Choices