WEBVTT

NOTE
This file was generated by Descript 

00:00:02.996 --> 00:00:04.886
CJ: What happens in the
desert stays in the desert.

00:00:05.160 --> 00:00:06.660
How, how was it this time around?

00:00:07.230 --> 00:00:07.930
Colin: It was good.

00:00:07.950 --> 00:00:11.770
It usually, yes, what, what happens at
Burning Man stays at Burning Man, but

00:00:11.800 --> 00:00:16.080
it was not, I think what I did this
year was not be what most people think

00:00:16.080 --> 00:00:20.340
of as, as Burning Man, but I think
I mostly just needed to go camping.

00:00:20.500 --> 00:00:24.960
It didn't matter where, and
so surprisingly got some

00:00:24.960 --> 00:00:26.360
of the best sleep I've had.

00:00:26.590 --> 00:00:27.820
Wasn't out all night.

00:00:27.900 --> 00:00:33.150
Woke up early, went to yoga
and coffee and bloody Marys.

00:00:33.150 --> 00:00:36.680
And just like that, that was
like rinse and repeat every day,

00:00:36.830 --> 00:00:38.700
which you could just do at home.

00:00:38.910 --> 00:00:42.370
But you know, being able to just
wake up, not have to go to work.

00:00:42.380 --> 00:00:47.110
Cause it took, took some time off ride
your bike, you know, people joke about,

00:00:47.785 --> 00:00:53.265
Like Burning Man being this like utopia
city thing, but it is very unsustainable

00:00:53.335 --> 00:00:57.545
as, as that, but for a week being
able to not just think about going to

00:00:57.545 --> 00:01:01.255
work, get on a bike, no cars, right.

00:01:01.295 --> 00:01:07.380
And go ride to the nearest little,
this really cool live music yoga thing.

00:01:08.810 --> 00:01:11.430
And then just kind of see
where the day takes you.

00:01:11.440 --> 00:01:13.560
Like you don't really get
to do that very often.

00:01:13.630 --> 00:01:15.800
So it was a good little time.

00:01:15.870 --> 00:01:18.880
Not probably what most people
think of as Burning Man, but it

00:01:18.880 --> 00:01:20.560
was, it was just what I needed.

00:01:20.996 --> 00:01:25.296
CJ: Great way to get away from screens
and just like, let your mind reset

00:01:25.296 --> 00:01:29.846
to just like complete refresh reboot.

00:01:30.526 --> 00:01:33.916
So are you coming back feeling
like really energized and excited?

00:01:33.916 --> 00:01:35.566
Or was it long enough?

00:01:35.566 --> 00:01:38.026
Do you want it to be
like three weeks, four

00:01:38.091 --> 00:01:42.821
Colin: Yeah, I'm excited for my
next vacation to be somewhere a

00:01:42.821 --> 00:01:44.991
little bit less survival focused.

00:01:45.051 --> 00:01:48.561
Because you don't really come back
super refreshed when you're dealing

00:01:48.561 --> 00:01:49.941
with the desert and all of that.

00:01:50.061 --> 00:01:54.861
But yeah, no, it was good to be away
from screens, to not have to have

00:01:54.861 --> 00:01:59.771
deadlines and Those kinds of things
was feeling super good and strong.

00:01:59.771 --> 00:02:04.961
And then I like bruised a rib or
maybe cracked a rib on the last

00:02:04.961 --> 00:02:08.391
day doing the lead again, the
least exciting things possible.

00:02:08.411 --> 00:02:13.681
But yeah, so a little, little,
little ouchy right now, but I

00:02:13.681 --> 00:02:17.261
think, and I think it's fine and
it'll, I'll be back at it soon.

00:02:17.271 --> 00:02:19.361
CJ: Sounds like a solid year.

00:02:19.971 --> 00:02:21.911
Things are, yeah, things are busy here.

00:02:21.911 --> 00:02:24.301
We we just kicked off the school year.

00:02:24.301 --> 00:02:26.031
So the boys are back in school.

00:02:26.501 --> 00:02:30.481
They, we just had open house where we
got to meet all of the new teachers.

00:02:30.991 --> 00:02:34.781
And go through kind of like all the
processes and what's expected of them

00:02:34.781 --> 00:02:39.561
for this new year and learning about
the new grading systems and whatever,

00:02:39.561 --> 00:02:40.711
but the kids are super pumped.

00:02:40.721 --> 00:02:44.091
We asked them at the end of the
summer, like, you know, are you looking

00:02:44.111 --> 00:02:45.021
forward to going back to school?

00:02:45.021 --> 00:02:45.761
Are you dreading it?

00:02:45.871 --> 00:02:49.451
And they said of their friends,
they're the most excited.

00:02:49.501 --> 00:02:53.636
They're just like so pumped to be
back hanging out with their homies.

00:02:53.876 --> 00:02:54.866
Their words, not mine.

00:02:55.106 --> 00:02:57.446
And yeah, I think it's, it's, it's great.

00:02:57.476 --> 00:02:59.246
We love that being the reaction.

00:02:59.246 --> 00:02:59.606
So,

00:03:00.351 --> 00:03:00.611
Colin: Yeah.

00:03:00.766 --> 00:03:00.946
CJ: It's

00:03:00.976 --> 00:03:01.436
Colin: I think.

00:03:01.976 --> 00:03:05.656
You have a pretty good household
of general learning and

00:03:06.896 --> 00:03:12.106
curiosity, so I think, yeah, the
kids are going to be alright.

00:03:13.306 --> 00:03:13.816
CJ: Thank you.

00:03:13.836 --> 00:03:18.426
Yeah, we were, we're, we're trying hard
to set them up for success and, you know,

00:03:18.436 --> 00:03:20.176
get them get them into position where.

00:03:21.131 --> 00:03:24.211
It would be very, very challenging
for them to fumble the ball,

00:03:24.251 --> 00:03:25.351
but we'll see how it goes.

00:03:26.296 --> 00:03:30.656
Colin: Yeah, I mean, you model that,
right, in terms of like, you're always

00:03:30.656 --> 00:03:36.246
trying new things, and From computer
stuff to let's see if we can make

00:03:36.266 --> 00:03:38.436
maple syrup to, you know, whatever.

00:03:38.436 --> 00:03:38.706
Right.

00:03:38.706 --> 00:03:41.906
So I think that that's
that natural curiosity.

00:03:41.936 --> 00:03:43.366
It rubs off on people.

00:03:43.376 --> 00:03:43.736
It's good.

00:03:44.491 --> 00:03:45.441
CJ: Yeah, that's true.

00:03:45.631 --> 00:03:45.891
Yeah.

00:03:45.901 --> 00:03:46.841
I never thought about it that way.

00:03:47.351 --> 00:03:51.691
Speaking of natural curiosity, have
you seen, I know we actually, we talked

00:03:51.701 --> 00:03:53.701
about this a little bit, the cursor.

00:03:53.701 --> 00:03:54.871
ai editor.

00:03:56.456 --> 00:03:58.816
Are you, is that like
your daily driver or what?

00:03:58.836 --> 00:03:59.056
Yeah.

00:03:59.056 --> 00:04:02.826
Like kind of, what are you using most,
most of the time now to write code?

00:04:03.866 --> 00:04:06.406
Colin: So it is not my daily driver.

00:04:06.616 --> 00:04:09.836
I have not asked and I'm not sure
if we're allowed to use it at work.

00:04:09.936 --> 00:04:14.016
So We already, we have copilot
as part of GitHub enterprise.

00:04:14.016 --> 00:04:18.236
So I imagine the answer is probably
not, we're not allowed to use it.

00:04:18.346 --> 00:04:22.526
And just because I think like there's
a lot of protections built into GitHub

00:04:22.726 --> 00:04:26.596
enterprise and copilot with like
enterprise code and things like that.

00:04:26.596 --> 00:04:31.926
So for cursor is on my personal
machine and VS code and

00:04:31.926 --> 00:04:33.636
copilot is on my work machine.

00:04:34.871 --> 00:04:35.181
CJ: Got it.

00:04:35.221 --> 00:04:35.621
Okay.

00:04:37.031 --> 00:04:37.231
Yeah.

00:04:37.231 --> 00:04:42.081
It seems like, well, given that
cursor is a fork of VS code, it feels

00:04:42.081 --> 00:04:43.591
like a pretty safe thing to add.

00:04:43.591 --> 00:04:45.491
It's kind of just like an
extension on top of it.

00:04:45.491 --> 00:04:51.681
It seems But yeah, like that extension
I'm sure has a certain limitations in

00:04:51.681 --> 00:04:56.471
terms of, or as a, as a giant company,
you would probably want to like enforce

00:04:56.471 --> 00:05:00.491
certain restrictions around just
adding extensions sort of willy nilly.

00:05:00.591 --> 00:05:05.591
Colin: Yeah, I think Copilot has some
rules around like what can be trained

00:05:05.591 --> 00:05:07.001
and what can't and things like that.

00:05:07.001 --> 00:05:11.611
That's enforced at the enterprise level
So the org controls a little bit more.

00:05:11.631 --> 00:05:16.581
I don't think cursor is quite there
yet Then maybe they are and so you

00:05:16.581 --> 00:05:20.701
do have to have another Payment plan
with cursor right you have to do a

00:05:20.741 --> 00:05:25.711
subscription with them and all of that
So are you using it as your daily driver?

00:05:26.471 --> 00:05:29.971
CJ: so I am not yet, but I have.

00:05:30.121 --> 00:05:33.391
I, I started to get FOMO.

00:05:33.881 --> 00:05:37.751
I was like, I'm in Vim over here
and I've got co pilot working fine.

00:05:38.301 --> 00:05:42.761
But when I, I started, I started
to see like a couple of screencasts

00:05:42.761 --> 00:05:46.371
where people were building like entire
features where it's like adding and

00:05:46.371 --> 00:05:49.761
or editing like multiple files in
a repo instead of just kind of like

00:05:49.781 --> 00:05:51.161
auto completing as you're typing.

00:05:51.591 --> 00:05:54.331
And I was like, I want
that, that, that seems.

00:05:55.416 --> 00:05:58.566
Like, it seems like another
step change in productivity.

00:05:59.096 --> 00:06:06.716
And so I started like kind of re
setting and refreshing and like going

00:06:06.716 --> 00:06:11.576
out on this exploratory research
expedition to try to figure out what

00:06:11.596 --> 00:06:17.416
is going to be the daily driver for
the end of 2024 and going into 2025.

00:06:18.736 --> 00:06:22.116
And so I downloaded installed
cursor was playing around with it.

00:06:22.176 --> 00:06:25.406
Kraftwerk is not a giant
corporate organization.

00:06:25.446 --> 00:06:29.226
And so we're much more comfortable
kind of like just seeing what tools

00:06:29.266 --> 00:06:31.126
work and make us most effective.

00:06:31.126 --> 00:06:36.236
And so installed it index, the code
base, and was kind of like messing

00:06:36.256 --> 00:06:38.826
around with some basic features,
which I thought were pretty.

00:06:39.071 --> 00:06:44.201
Pretty decent, but like any of this
like chat GPT or AI stuff, like some,

00:06:44.391 --> 00:06:48.261
some, some of the output was wrong
or like just needed to be nudged like

00:06:48.261 --> 00:06:49.561
several times in the right direction.

00:06:49.561 --> 00:06:51.511
I'm like, is this
actually making us faster?

00:06:52.121 --> 00:06:57.531
So I tried cursor for like a week and
a half and then went and I found this.

00:06:58.306 --> 00:06:59.926
Plugin, it was on Hacker News, Avante.

00:06:59.926 --> 00:07:05.346
Neovim and we'll drop a, drop links
to it in the resources, but I started

00:07:05.346 --> 00:07:09.686
exploring like, what would it look
like to have the same kind of these

00:07:10.086 --> 00:07:12.056
or like similar features in Neovim.

00:07:12.456 --> 00:07:16.946
And so the things beyond like type to
complete that I was excited about was

00:07:16.956 --> 00:07:20.246
like highlight a block of code and.

00:07:21.681 --> 00:07:23.001
Have that refactored for you.

00:07:23.111 --> 00:07:27.781
So just say like, change
this block of code to do X.

00:07:28.451 --> 00:07:30.941
Another thing was like
implement this whole feature.

00:07:31.371 --> 00:07:33.371
And then the last one was
like chat with my code.

00:07:33.731 --> 00:07:39.541
And so I was finding that I was copying
and pasting like many, like entire

00:07:39.541 --> 00:07:43.341
code files and pasting them into
either chat, GPT or Claude, and then

00:07:43.391 --> 00:07:45.701
asking questions like, how would you.

00:07:45.896 --> 00:07:49.926
Like find the memory leak in
this Ruby thing, or how would you

00:07:49.926 --> 00:07:54.036
optimize this query or, you know,
things like that, that needed the

00:07:54.036 --> 00:07:55.586
context of several different files.

00:07:55.946 --> 00:08:02.791
And so one of the nice things about
cursor was that you can at mention files.

00:08:03.061 --> 00:08:06.511
And it'll like include that in
the context in order to like, give

00:08:06.511 --> 00:08:10.471
you either like chat with it or
give you edit recommendations.

00:08:10.891 --> 00:08:14.641
So I wanted that inside of Avante
and it turns out that Avante doesn't

00:08:14.651 --> 00:08:16.991
have the app mentioning thing yet.

00:08:17.631 --> 00:08:19.311
And also it was.

00:08:20.151 --> 00:08:23.481
In order to get it set up and working
as expected, I had to like change

00:08:23.481 --> 00:08:26.381
the mind, Vim plugin manager and
like a whole bunch of other stuff.

00:08:26.381 --> 00:08:30.411
So yeah, so I'm just, I'm still very
much in like the exploratory phase for

00:08:30.411 --> 00:08:33.851
what the next daily driver is going to
be including VS code, including cursor,

00:08:33.851 --> 00:08:35.001
including a whole bunch of stuff.

00:08:35.331 --> 00:08:36.671
So I don't know.

00:08:36.671 --> 00:08:39.211
Yeah.

00:08:39.221 --> 00:08:47.361
Colin: had mixed success with
it knowing like recent files.

00:08:47.411 --> 00:08:49.831
This is not, this is more co pilot.

00:08:50.341 --> 00:08:52.011
Like sometimes it's like,
oh, you want to do this?

00:08:52.021 --> 00:08:52.841
I'm like, that's awesome.

00:08:52.841 --> 00:08:56.196
But then like another minute later
and it's like, Back to being dumb.

00:08:56.506 --> 00:08:59.146
And so I don't know if there's like
literally like, Oh, it's keeping

00:08:59.146 --> 00:09:01.386
the file you're on in context.

00:09:01.416 --> 00:09:06.606
And then maybe the last file by default
cursor felt like it had a bigger

00:09:06.606 --> 00:09:11.226
context window, but also was indexed
on the actual code, like in copilot.

00:09:11.226 --> 00:09:15.586
I might try to use a symbol from another
file and it just doesn't know about it.

00:09:16.081 --> 00:09:20.081
Which is also like most IDEs should
just have that like it's not you don't

00:09:20.081 --> 00:09:24.661
need AI for that if it's especially if
it's like a static language or something

00:09:24.681 --> 00:09:28.781
but I think we mentioned it but like
what I have found is that Cursor and

00:09:28.781 --> 00:09:34.926
Rails has been fairly insane like for
me just and this is Out of the box.

00:09:34.996 --> 00:09:40.236
I'm sure that there's going to be more and
maybe cursors like just one step change

00:09:40.236 --> 00:09:44.296
towards this, like whatever the next
thing is, but be anything that has lots of

00:09:44.296 --> 00:09:47.276
conventions, it seems to do really well.

00:09:47.496 --> 00:09:50.086
When you get into JavaScript
land, I'm sure it does fine.

00:09:50.491 --> 00:09:54.481
But when you can put files anywhere and
you can do things any way, it's a little

00:09:54.481 --> 00:09:58.061
bit less, there's less patterns to follow.

00:09:58.061 --> 00:10:01.811
And like, when you think of these things
as predicting the next best thing,

00:10:02.781 --> 00:10:06.461
it makes a lot of sense that Rails
conventions, you know, all of that.

00:10:06.471 --> 00:10:12.471
And who are we kidding, most apps
are doing the same thing in different

00:10:12.471 --> 00:10:15.561
steps, different ways, different buckets
of content and different, you know,

00:10:15.561 --> 00:10:17.241
buckets of views and things like that.

00:10:17.241 --> 00:10:20.901
So Yeah, it is funny when everyone's
like, Oh, this is going to revolutionize.

00:10:20.901 --> 00:10:24.501
It's like, we, we don't really do
like the services that apps and

00:10:24.501 --> 00:10:26.681
things enable are usually really cool.

00:10:27.021 --> 00:10:29.561
But like the tech itself
is not rocket science.

00:10:29.591 --> 00:10:32.591
Like we are not doing
crazy things over here.

00:10:32.591 --> 00:10:34.011
We're putting dibs on the pages.

00:10:34.021 --> 00:10:36.401
So like, yeah, it can handle.

00:10:36.466 --> 00:10:40.086
Doing dibs on pages like does, does
that mean it's going to replace us?

00:10:40.116 --> 00:10:40.886
I don't think so.

00:10:41.416 --> 00:10:44.666
We still got to kind of figure out
what we want those dibs to do and what

00:10:44.666 --> 00:10:49.556
the, we want them to represent and
the services it's, it's app enabled

00:10:49.556 --> 00:10:51.106
services for a lot of things, right?

00:10:51.106 --> 00:10:54.646
Like what you guys are doing is literally
a service that's enabled by tech.

00:10:56.966 --> 00:10:57.456
CJ: It's funny.

00:10:57.456 --> 00:10:59.646
Cause like probably.

00:11:00.196 --> 00:11:04.006
Most apps out there are going to have
like some form of authentication, right?

00:11:04.316 --> 00:11:09.186
And like the way that you implement
authentication is going to, if you like

00:11:09.186 --> 00:11:13.376
squint your eyes a little bit, look
90 percent the same for every single

00:11:13.376 --> 00:11:14.746
rails application out there, right?

00:11:14.786 --> 00:11:16.156
Especially if it's using device.

00:11:16.536 --> 00:11:18.996
And so if you go to auto complete, like.

00:11:19.596 --> 00:11:23.326
Some method in authentication controller
that follows the same patterns and

00:11:23.746 --> 00:11:26.326
uses the same naming conventions,
like the chances that it's going to

00:11:26.326 --> 00:11:30.616
end up just spitting out what someone
else already did, you know, 9, 000

00:11:30.616 --> 00:11:32.216
other times, like is pretty high.

00:11:32.426 --> 00:11:38.666
And so yeah, I think the convention,
the convention based like the strong

00:11:38.666 --> 00:11:40.596
conventions inside of rails, definitely.

00:11:40.991 --> 00:11:46.661
Is a huge, huge reason why I think these
tools will be successful when paired with

00:11:46.661 --> 00:11:48.511
rails and yeah, fully, fully aligned.

00:11:48.521 --> 00:11:51.551
Like this is it's going to make it
so much faster just because it's

00:11:51.551 --> 00:11:54.001
so much more predictable the way
that you, you build rails apps.

00:11:54.041 --> 00:11:56.931
I do wonder the same thing about Python.

00:11:57.141 --> 00:12:01.121
I feel like because there's so
many ways to do the same thing in

00:12:01.121 --> 00:12:03.711
Ruby, you know, the innumerable.

00:12:04.581 --> 00:12:08.831
Module in Ruby has just like a bajillion
methods and all of them could be

00:12:08.831 --> 00:12:11.411
implemented with each or, you know,
it's like a while loop or something.

00:12:11.411 --> 00:12:16.131
And so like, because there's so many
ways to do it with Ruby, maybe that makes

00:12:16.131 --> 00:12:20.061
it a little tougher versus Python where
there's like, okay, you can do this in two

00:12:20.061 --> 00:12:24.561
ways, pick, pick, or you can use a four
loop or you can use a list comprehension.

00:12:24.561 --> 00:12:24.993
And that's it.

00:12:24.993 --> 00:12:26.611
Like, that's kind of like all you get for,

00:12:27.156 --> 00:12:27.486
Colin: Yeah.

00:12:27.541 --> 00:12:29.401
CJ: In, in some languages, like the the.

00:12:29.776 --> 00:12:33.596
The, just like the surface area of the
methods in the standard library is so much

00:12:33.596 --> 00:12:37.556
smaller that I wonder if like autocomplete
will work better for general things

00:12:37.556 --> 00:12:38.996
that are outside of web development.

00:12:39.046 --> 00:12:43.196
But yeah, like when working within
rails, following the rails patterns,

00:12:43.196 --> 00:12:44.616
you know, you open up a controller.

00:12:44.901 --> 00:12:46.211
There's seven actions.

00:12:46.621 --> 00:12:50.071
They're always like putting the instance
variable, the same spot, the same way,

00:12:50.081 --> 00:12:51.921
saving it, checking if it's saved.

00:12:51.931 --> 00:12:53.591
If so respond this way.

00:12:53.591 --> 00:12:57.211
If not respond this other way, set your
flash message, you know, like kind of the

00:12:57.211 --> 00:13:01.441
stuff that you would get from a scaffold,
which actually probably that's probably

00:13:01.441 --> 00:13:02.661
also another big part of it, right?

00:13:02.661 --> 00:13:06.201
Like the scaffold itself
is generating code.

00:13:06.201 --> 00:13:08.881
That is the same for everybody
with just like different names.

00:13:09.391 --> 00:13:09.821
So

00:13:10.331 --> 00:13:13.011
Colin: Well, and I'm not
familiar and I've been wondering

00:13:13.011 --> 00:13:15.871
whether or not it makes sense.

00:13:15.891 --> 00:13:20.681
Like, are these models just
trained on all data, right?

00:13:20.721 --> 00:13:21.901
Cloud and things like that.

00:13:22.351 --> 00:13:26.511
But could you have a model that
is specifically trained on Ruby?

00:13:26.986 --> 00:13:33.266
And rails and more so than
just seeing lots of copies of

00:13:33.506 --> 00:13:35.266
GitHub and projects, right?

00:13:35.266 --> 00:13:38.466
Like, like we talked about the campfire
project that was supposed to be this like

00:13:38.766 --> 00:13:41.656
ideal rails out from 37 signals, right?

00:13:41.926 --> 00:13:44.531
If it was trained specifically
on that, what would it?

00:13:44.711 --> 00:13:45.851
Nudge you towards, right?

00:13:45.851 --> 00:13:49.861
There might be 10 ways to do something
in Ruby, but because we've trained

00:13:49.861 --> 00:13:53.711
it on these, like, ideal these
ideal apps or these ideal methods,

00:13:53.721 --> 00:13:57.611
or this is more memory performant,
or this is this is the preferred

00:13:57.661 --> 00:14:01.406
pagination or preferred monetization,
authentication, whatever those things are.

00:14:01.686 --> 00:14:04.196
It'd be really interesting to
have a model that's specifically

00:14:04.206 --> 00:14:08.506
trained for web development and for
performance and things like that.

00:14:08.636 --> 00:14:11.486
I don't think that any of these
are doing that even cursor.

00:14:11.986 --> 00:14:16.076
I saw, and I'll try to find it and share
it, but some prompts examples where

00:14:16.076 --> 00:14:20.306
people have these things where it's like,
I want you to be as terse as possible.

00:14:20.546 --> 00:14:22.986
I don't want you to explain
what you're doing to me.

00:14:22.986 --> 00:14:24.426
I want you to just give me the answer.

00:14:24.776 --> 00:14:28.806
And like making it so that even
the prompting is is more custom

00:14:28.806 --> 00:14:33.086
and more and more quick in cursor,
you can define a lot of settings.

00:14:33.086 --> 00:14:36.246
And so people are starting to share
their cursor settings page, which

00:14:36.246 --> 00:14:39.076
I think is making it a little bit
viral to where people's like, this

00:14:39.076 --> 00:14:44.006
is what my cursor setup is very much
similar to how people have VS code

00:14:44.006 --> 00:14:45.396
extensions and things like that.

00:14:45.406 --> 00:14:50.666
So Yeah, it'd be very interesting
to see, like, I think my knowledge

00:14:50.666 --> 00:14:55.646
of LLMs is just outside, like, just
at the door of like, is it enough

00:14:55.686 --> 00:14:57.506
to not to be trained on everything?

00:14:57.846 --> 00:14:59.556
Or does it make it more unique?

00:14:59.866 --> 00:15:04.876
Because how I guess, has it changed
how you work with documentation at all?

00:15:06.651 --> 00:15:07.561
CJ: I think.

00:15:07.986 --> 00:15:09.366
Colin: This is a loaded question.

00:15:09.476 --> 00:15:09.766
But

00:15:09.796 --> 00:15:11.126
CJ: yeah, loaded question.

00:15:11.156 --> 00:15:22.306
I think I, hmm, when it comes to like
standard library or like core library

00:15:22.356 --> 00:15:27.626
documentation for rails, I will just
like ask the LLM questions, but if it

00:15:27.626 --> 00:15:30.906
comes to like a question about a third
party, then I will look at the docs for

00:15:30.906 --> 00:15:34.116
the third party, but I fully expect that.

00:15:34.336 --> 00:15:38.676
Docs will follow Stripe's pattern
of like ask the docs or something

00:15:38.676 --> 00:15:39.876
like that, which will come soon.

00:15:40.356 --> 00:15:48.656
But I also wonder, like, you, when
you load your your repo, it could

00:15:48.666 --> 00:15:53.596
theoretically go out and index and,
Get all the docs from like, you know,

00:15:53.596 --> 00:15:58.156
the GitHub repo for, yeah, for all your
dependencies and then just be like,

00:15:58.176 --> 00:15:59.986
okay, now you're fully in your IDE.

00:15:59.986 --> 00:16:04.216
And if you have a question you're
like, you're doing ask the docs, but

00:16:04.236 --> 00:16:07.476
like the docs are behind a rag model.

00:16:07.476 --> 00:16:10.056
That's like, I dunno, just
like right there in your IDE.

00:16:10.496 --> 00:16:11.016
I do.

00:16:11.086 --> 00:16:11.366
Yeah.

00:16:11.366 --> 00:16:13.906
I'm at the same point where I'm
like right on the edge of like,

00:16:14.456 --> 00:16:18.256
how could we train the models.

00:16:18.651 --> 00:16:21.571
A little better so that they
match the stack that we're using.

00:16:21.571 --> 00:16:24.421
So that it's like even,
even more advanced.

00:16:24.471 --> 00:16:27.231
And yeah, sometimes it'll
recommend actually very often,

00:16:27.751 --> 00:16:31.721
chat GPT will recommend stuff
for rails that is out of date.

00:16:32.101 --> 00:16:34.411
And I'll be like, no, no, no, it
doesn't work that way anymore.

00:16:34.411 --> 00:16:37.251
Remember like now we're in Ruby
three and it looks like this.

00:16:37.551 --> 00:16:38.971
And then it's like, oh yeah, you're right.

00:16:38.981 --> 00:16:40.791
Like now, now it does work like that.

00:16:40.791 --> 00:16:44.051
And so, yeah, there's, there's
like probably tons of outdated

00:16:44.251 --> 00:16:46.981
apps that are following outdated
patterns that it's trained on.

00:16:46.981 --> 00:16:47.881
So like, how do you.

00:16:48.916 --> 00:16:49.166
Yeah.

00:16:49.166 --> 00:16:50.746
How do you make it work?

00:16:50.796 --> 00:16:52.366
For yeah, modern rails development.

00:16:52.926 --> 00:16:57.356
I don't know the answer, but I did finally
go back and listen to that full podcast

00:16:57.366 --> 00:16:59.176
with Lex Friedman and Peter levels.

00:16:59.696 --> 00:17:04.246
And one of the most interesting parts
of it was Peter talking about how he

00:17:04.246 --> 00:17:10.716
how every single person who uploaded
photos to photo AI, he was training

00:17:10.716 --> 00:17:14.696
a model specific to that person with
their photos that they uploaded.

00:17:14.736 --> 00:17:18.136
And I'm like, Oh, I wonder if that's
how, you know, if you wanted to do.

00:17:18.396 --> 00:17:21.726
Something where like you're, you take a
base model, that's an open source base

00:17:21.726 --> 00:17:28.686
model about code and then train it on
some like rails app repos that you pick.

00:17:28.726 --> 00:17:32.566
Maybe you just go find like 10, you
know, these are the ideal rails repos.

00:17:32.576 --> 00:17:33.866
Maybe you buy them from

00:17:34.091 --> 00:17:35.101
Colin: And the docs,

00:17:35.436 --> 00:17:35.706
CJ: Yeah.

00:17:35.706 --> 00:17:36.416
And the docs.

00:17:36.446 --> 00:17:36.786
Yeah,

00:17:36.871 --> 00:17:40.151
Colin: docs, the, and like,
cause I don't want Python, right?

00:17:40.151 --> 00:17:42.371
I only want Ruby and Rails.

00:17:42.371 --> 00:17:46.061
So like go super specific
and hopefully it cuts down on

00:17:46.061 --> 00:17:47.821
hallucinations and things like that.

00:17:48.416 --> 00:17:48.916
CJ: totally.

00:17:49.156 --> 00:17:51.956
How are you thinking about it
with regard to writing the docs?

00:17:53.486 --> 00:17:56.596
Colin: Yeah, so we can talk about
this because I've been playing with a

00:17:56.596 --> 00:18:00.126
vendor and we're not using them right
now, and we didn't build it ourselves.

00:18:00.126 --> 00:18:01.186
So I feel like we're gonna talk about it.

00:18:01.306 --> 00:18:08.616
But we have I have trained a model on
our docs on our open API spec on our

00:18:08.616 --> 00:18:12.716
Zen desk help center articles that
are public and on our GitHub issues.

00:18:13.246 --> 00:18:15.161
And it's Shockingly good.

00:18:15.231 --> 00:18:20.721
Like it, it, it, it's not pulling
in all these other things.

00:18:20.721 --> 00:18:24.561
I think with discord specifically, we ran
into this thing where most of the code

00:18:24.561 --> 00:18:26.901
samples out there are for discord JS.

00:18:27.471 --> 00:18:33.861
And so if you don't prompt that you want
to You know, do like, I want to build a

00:18:33.861 --> 00:18:37.081
bot and I want to do it in pure like HTTP.

00:18:37.131 --> 00:18:40.561
I just want to use fetch and I
don't want to use any libraries.

00:18:40.561 --> 00:18:43.001
You have to constantly prompt
it to stop using discord.

00:18:43.001 --> 00:18:46.451
js because there's just
so much content out there.

00:18:46.461 --> 00:18:48.341
They've done really good
job of doing guides.

00:18:48.751 --> 00:18:51.571
Our docs don't have a lot of code
samples cause they're meant to be.

00:18:52.046 --> 00:18:55.596
like the more implementation docs
that other developers will use

00:18:55.596 --> 00:18:57.026
for their libraries and things.

00:18:57.456 --> 00:19:01.966
And so it was cool to see, like,
based on just the docs and the,

00:19:02.156 --> 00:19:06.436
the spec itself, like it was able
to understand and, and, and know

00:19:06.436 --> 00:19:07.916
what, what, what I was trying to do.

00:19:08.306 --> 00:19:13.316
And I like that idea of, like, it, it,
it's still, you still need content.

00:19:13.936 --> 00:19:14.786
to train it on.

00:19:15.256 --> 00:19:17.466
And I knew it was
getting it from the docs.

00:19:17.466 --> 00:19:19.716
So like writing the docs
is very important still.

00:19:20.206 --> 00:19:25.006
Otherwise there wouldn't be any food for
it to consume and then come back and say,

00:19:25.006 --> 00:19:27.276
Oh, I've learned how this thing works.

00:19:27.276 --> 00:19:27.446
Right.

00:19:27.446 --> 00:19:29.586
Cause just the open API
spec is just the end points.

00:19:29.936 --> 00:19:33.216
So it's not going to be able, like even
with descriptions and field names and

00:19:33.216 --> 00:19:37.766
stuff, it's not going to be able to
like figure out the pros around that.

00:19:38.226 --> 00:19:40.576
At least not that I'm aware of, right?

00:19:40.576 --> 00:19:45.496
It's like, if this has been trained on
all rest APIs and specifically ours, then

00:19:45.686 --> 00:19:48.986
it could be pretty interesting because
you're like, oh, this is OAuth, right?

00:19:48.996 --> 00:19:51.056
At the end of the day,
this is how OAuth works.

00:19:51.086 --> 00:19:54.286
And then you could even probably
detect if someone is doing something

00:19:54.296 --> 00:19:57.196
a little bit different, like, oh,
they have a special flavor of this

00:19:57.226 --> 00:20:01.726
OAuth that, you know, kind of breaks
tradition and this is how you use it.

00:20:03.096 --> 00:20:05.786
So I've been trying to think about
like, whether or not it makes sense

00:20:06.286 --> 00:20:11.396
To even put a search box or like an AI
prompt box on the homepage of our docs.

00:20:11.846 --> 00:20:14.106
We have an onsite this week
and I'm going to throw that out

00:20:14.106 --> 00:20:15.646
as a, just a fun brainstorm.

00:20:16.116 --> 00:20:19.286
But we also have a hack week later
this year, so maybe, maybe I'll

00:20:19.476 --> 00:20:22.106
save it for that and just build it.

00:20:22.676 --> 00:20:23.906
CJ: That sounds like a fun project.

00:20:24.426 --> 00:20:29.256
It, it sounds like, well, one of
the things that is falling out of

00:20:29.276 --> 00:20:32.376
like reading the docs too, is just
like discovery of new features.

00:20:32.966 --> 00:20:39.236
And this is, I don't know, I guess like
it's coming up for me when I'm thinking

00:20:39.236 --> 00:20:43.956
about all of these different tools and
editors, like, how do you even know?

00:20:44.366 --> 00:20:49.396
What is possible when the features
that are coming out for these

00:20:49.566 --> 00:20:51.746
editor tools are coming out so fast.

00:20:51.756 --> 00:20:58.026
And so like one problem I remember having
with building buckets is that the stripe.

00:20:58.396 --> 00:21:01.516
API and the features that they
would support would change

00:21:01.526 --> 00:21:02.656
and I wouldn't know about it.

00:21:03.076 --> 00:21:06.466
And I'm like, I don't know if there's
a way to like subscribe to changes

00:21:06.476 --> 00:21:10.886
for certain pages or subscribe to,
you know, I want to be alerted so that

00:21:10.896 --> 00:21:16.736
I know that my problem is fixed or
like the product gap is, is filled in

00:21:16.736 --> 00:21:20.306
order to like retry or like, you know,
be open to trying something again.

00:21:20.726 --> 00:21:26.261
And so what I was surprised by is like
the last time I used VS code with and

00:21:26.621 --> 00:21:30.761
then they had like chat with your code
and the paint brushes type things.

00:21:30.761 --> 00:21:33.301
But I feel like there's actually
like full patterns that have

00:21:33.711 --> 00:21:35.381
started to fall out of continue.

00:21:35.381 --> 00:21:36.031
dev.

00:21:36.061 --> 00:21:37.911
And now they're built into copilot.

00:21:37.931 --> 00:21:42.671
So you can do like command I and command
K and command L to like chat with or

00:21:42.711 --> 00:21:45.831
edit or like suggest refactorings.

00:21:46.391 --> 00:21:50.751
And, One of the problems I'm seeing is
like this, it's just coming out so fast

00:21:51.211 --> 00:21:56.241
that I don't even know like which of
these editors is the best right now, or

00:21:56.241 --> 00:22:00.131
like which features I want, because I
don't even know like what's possible.

00:22:00.441 --> 00:22:04.671
And so I think there's a, there's a
huge opportunity right now for dev rel,

00:22:05.101 --> 00:22:10.876
specifically in the like Editor and tool
space to show people how to leverage these

00:22:10.886 --> 00:22:13.916
things to get like crazy fast at building.

00:22:14.366 --> 00:22:18.076
And there was a tick tock I watched
recently where someone was talking about,

00:22:18.076 --> 00:22:21.956
like, find, find a couple of friends
who are like playing around with AI and

00:22:21.956 --> 00:22:23.936
just pair with them on random stuff.

00:22:23.936 --> 00:22:25.926
Like how are they organizing their email?

00:22:25.936 --> 00:22:30.346
How are they, you know, writing
up a doc or, you know, using Excel

00:22:30.356 --> 00:22:33.146
or doing SQL queries or whatever.

00:22:33.146 --> 00:22:37.336
Like, just try to like, Try to
pair and cross pollinate with the

00:22:37.336 --> 00:22:40.066
different tools that people are using
because they're coming out so fast.

00:22:40.066 --> 00:22:42.956
And there's so many of them that
it's impossible to stay on top of.

00:22:43.486 --> 00:22:47.896
So other than the, the like features
that I've suggested for editing,

00:22:47.906 --> 00:22:50.876
like, are there other things that
you're using or like other ways that

00:22:50.876 --> 00:22:54.166
you're using this stuff, whether
it's like writing docs or code, like,

00:22:55.556 --> 00:22:56.156
Colin: Yeah.

00:22:56.396 --> 00:23:00.316
I, so I have been looking for, and
I'll put this out there if anyone

00:23:00.316 --> 00:23:05.636
knows of one, but I might, I was going
to go build it and then I discovered

00:23:05.866 --> 00:23:07.286
the API doesn't exist anymore.

00:23:07.286 --> 00:23:10.076
So I put my docs into Grammarly.

00:23:10.766 --> 00:23:13.616
For some reason, Grammarly does
not play nice with VS code.

00:23:13.806 --> 00:23:15.646
And I even had the desktop app.

00:23:16.596 --> 00:23:20.746
Grammarly, I mean, has been doing
AI, they, before LLM, right?

00:23:20.746 --> 00:23:21.536
They've been doing.

00:23:22.101 --> 00:23:26.651
Grammar and all this stuff, but what
I really do want and I think a lot of

00:23:26.651 --> 00:23:31.391
engineers could benefit from having like
a true grammarly VS code extension and

00:23:31.621 --> 00:23:32.961
they killed their developer platform.

00:23:33.021 --> 00:23:33.921
Like it's just gone.

00:23:34.581 --> 00:23:36.841
You go to there and the
API has been shut down.

00:23:36.851 --> 00:23:38.091
They do not let anyone.

00:23:38.101 --> 00:23:42.491
And I'm assuming, I don't know if it
was similar to like when Twitter like

00:23:42.911 --> 00:23:49.121
crapped all over their developer platform
or what, but like it felt like they got

00:23:49.121 --> 00:23:51.421
rid of their developer advocates and.

00:23:51.961 --> 00:23:54.351
And maybe you're only just
doing partnerships or something.

00:23:54.821 --> 00:23:59.986
But there are not very many good
models for that and or plugins.

00:24:00.296 --> 00:24:02.986
Like there's like a latex one
that kind of it's like, Hey,

00:24:02.986 --> 00:24:05.056
this word is a double extra word.

00:24:05.406 --> 00:24:08.886
But Grammarly is really good at being
like trying to teach you around passive

00:24:08.906 --> 00:24:10.626
and active voice and things like that.

00:24:11.136 --> 00:24:13.906
So I've been using it, but I've been
literally writing my docs and then

00:24:13.906 --> 00:24:18.316
copy and pasting them into Grammarly
because even the overlay, like Mac

00:24:18.326 --> 00:24:22.636
app isn't catching my stuff like it
does when I put it into their UI.

00:24:23.136 --> 00:24:24.756
So that that's a big one.

00:24:24.756 --> 00:24:27.626
Like I'm, I'm finding that it
is making me a better writer.

00:24:27.676 --> 00:24:31.896
There's a, there's a big drama going
on right now with NaNoWriMo, which

00:24:31.896 --> 00:24:36.296
is the November national national
writing month where they were

00:24:36.336 --> 00:24:40.586
basically saying that AI generation
is okay for you to write your novel.

00:24:41.136 --> 00:24:42.796
And they're also pushing their own.

00:24:43.176 --> 00:24:44.606
LLM tool.

00:24:45.266 --> 00:24:47.696
And so a lot of the tweets were
really funny where they're like,

00:24:47.696 --> 00:24:50.876
Oh my God, I'm, it's not even
November and I'm done with my novel.

00:24:50.876 --> 00:24:51.916
I can't wait to read it.

00:24:55.156 --> 00:24:55.466
Right.

00:24:55.466 --> 00:25:00.986
So it's, I, I don't, when you think about
what we're generating with these things,

00:25:01.066 --> 00:25:04.726
I like to still think like we could
generate, Everything on the, that we could

00:25:04.726 --> 00:25:07.566
possibly think of, but like why, right?

00:25:07.566 --> 00:25:10.236
If no one's going to read it or if it's
not going to bring value or if it's not

00:25:10.236 --> 00:25:14.116
worth our time, like then it's probably
also not worth the energy and, and all

00:25:14.116 --> 00:25:17.166
of the other, you know, expense that
comes with generating these things.

00:25:17.756 --> 00:25:19.971
For me, I still want to write it.

00:25:20.231 --> 00:25:24.681
And then I want to maybe take a pass
and use it as a learning opportunity.

00:25:24.681 --> 00:25:27.461
And now I'm going to stop
writing that way if it's like,

00:25:27.491 --> 00:25:28.901
Oh, stop using passive voice.

00:25:28.911 --> 00:25:29.761
Use active here.

00:25:30.251 --> 00:25:32.911
Sometimes in technical docs,
it's not always obvious.

00:25:32.991 --> 00:25:34.891
Like, it's not like writing an essay.

00:25:34.951 --> 00:25:37.931
It's like you keep using this
word over here and you, it

00:25:37.931 --> 00:25:38.911
isn't what you think it means.

00:25:38.941 --> 00:25:42.731
Or you know, especially when you're
talking about APIs and things like that.

00:25:43.251 --> 00:25:43.316
Yeah.

00:25:44.486 --> 00:25:48.306
The one that, though, it was a funny
one, eh, it's actually not important,

00:25:48.316 --> 00:25:51.436
but Yeah, so copy is a big one.

00:25:51.766 --> 00:25:57.186
When you were talking about training it
on specific things, we mostly are focused

00:25:57.186 --> 00:26:00.816
on generating code, but I would almost
be interested to like have an IDE where

00:26:00.816 --> 00:26:02.216
you're like running your app in it.

00:26:02.756 --> 00:26:06.406
And it's watching all the
requests and all of the execution.

00:26:06.426 --> 00:26:08.216
And it's like aware of your app itself.

00:26:08.646 --> 00:26:11.776
And it's like, hey, this code
over here, like is not good.

00:26:12.376 --> 00:26:15.546
Like every time you do this thing,
we're making five trips to the database.

00:26:16.091 --> 00:26:21.151
Like, the AI can understand that so
there's almost this, like, once the code's

00:26:21.171 --> 00:26:27.921
running, this pager duty monitoring thing,
where it's like, don't just optimize

00:26:27.921 --> 00:26:31.061
the code path, but also understand
that, like, the executions are taking

00:26:31.061 --> 00:26:36.163
really long, and you're, you have no
index on a database, right, that, on

00:26:36.163 --> 00:26:38.079
a table that you really should have.

00:26:38.079 --> 00:26:38.626
Mm hmm.

00:26:38.841 --> 00:26:41.891
CJ: It's like the scout APM
performance monitoring metrics.

00:26:41.891 --> 00:26:45.701
But like, yeah, interpreted by
your, that would be amazing.

00:26:45.701 --> 00:26:48.451
Like literally that's a giant problem
we're trying to solve is like, how

00:26:48.451 --> 00:26:50.021
do we drive down memory consumption?

00:26:50.481 --> 00:26:53.461
And I am going in copying and
pasting and like, why the hell is

00:26:53.461 --> 00:26:55.011
this making so many allocations?

00:26:56.181 --> 00:26:58.921
And yeah, like it's just
looking at scout APM.

00:26:59.371 --> 00:27:02.461
And then going in the code, copying a
bunch of code that scout told me is,

00:27:02.511 --> 00:27:06.281
is like, you know, the culprit pasting
it in Claude, hoping that Claude gives

00:27:06.281 --> 00:27:10.391
me something that is like maybe a
thread of a, an idea of where to go.

00:27:10.891 --> 00:27:11.661
So interesting.

00:27:12.096 --> 00:27:14.836
Colin: but it's almost like a
little like by bug, like, like,

00:27:14.846 --> 00:27:17.066
just, just hang out and watch this.

00:27:17.146 --> 00:27:18.716
And then you tell me what you see,

00:27:19.241 --> 00:27:19.831
CJ: totally,

00:27:19.986 --> 00:27:21.506
Colin: this is the true AI assistant.

00:27:21.516 --> 00:27:25.026
Like, I don't actually don't care about
writing the code as much as that, right?

00:27:25.036 --> 00:27:28.336
Like, reaching out and doing an
integration, like send this to

00:27:28.336 --> 00:27:31.716
Stripe, send this to this, pull
this in here, talk to the database.

00:27:32.211 --> 00:27:32.741
CJ: totally.

00:27:33.021 --> 00:27:37.011
So one of the, I was just like
digging through settings today.

00:27:37.341 --> 00:27:38.831
This is a great example where it's like.

00:27:39.626 --> 00:27:42.646
They need developer advocates to go
and like talk about how this stuff like

00:27:42.896 --> 00:27:44.826
is what's coming out and what's new.

00:27:44.826 --> 00:27:46.826
But I was digging through
the cursor settings.

00:27:47.306 --> 00:27:52.756
And if you go into beta, they
have something it's, it's in

00:27:52.756 --> 00:27:56.636
the beta tab, but it's marked
alpha and it's called AI review.

00:27:57.056 --> 00:28:05.406
And it's supposed to use chat GPT to
scan your current PR diff for books.

00:28:05.886 --> 00:28:06.016
Colin: Mm

00:28:06.126 --> 00:28:07.966
CJ: So it's going to like
look and see if it can find a

00:28:07.966 --> 00:28:10.346
bug in your, in your PR like.

00:28:10.856 --> 00:28:11.446
That's great.

00:28:11.476 --> 00:28:12.676
That's a, that's a cool idea.

00:28:12.836 --> 00:28:16.376
So yeah, tell you before you commit
something that you've got a bug.

00:28:16.836 --> 00:28:18.256
But yeah, I don't know.

00:28:18.336 --> 00:28:21.956
I coming back to your point about
authoring and like wanting to have

00:28:21.956 --> 00:28:27.316
grammarly built into VS code, it
might be interesting to have like a,

00:28:27.986 --> 00:28:33.046
an LSP or something like that's based
on technical writing or based on kind

00:28:33.046 --> 00:28:34.436
of like different flavors of writing.

00:28:34.436 --> 00:28:36.776
And it goes through and
like helps you update.

00:28:37.016 --> 00:28:40.376
Are you mostly authoring and Markdown
or like, are you, you're right.

00:28:40.376 --> 00:28:40.626
Okay.

00:28:40.626 --> 00:28:40.936
Yeah.

00:28:41.181 --> 00:28:42.331
Colin: Yeah, mostly markdown.

00:28:42.711 --> 00:28:46.051
So yeah, I'll even send it with all
the markdown tags and everything

00:28:46.061 --> 00:28:48.551
because I'm not going to go clean
them out and then put them back in

00:28:48.551 --> 00:28:52.851
so I'll just say like, what is wrong
with this and it does it pretty well,

00:28:52.851 --> 00:28:54.611
but I would love to have it in place.

00:28:54.651 --> 00:28:58.091
But if you've used the grammarly UI,
I can also understand how hard that

00:28:58.091 --> 00:29:00.361
would be in VS code because they do.

00:29:00.731 --> 00:29:03.381
They like highlight everything
in different colors and show you

00:29:03.381 --> 00:29:06.381
like, This many weird grammar
things you should think about.

00:29:06.381 --> 00:29:07.101
This is passive.

00:29:07.101 --> 00:29:10.621
This is, and then they like make you
upgrade to get the, like, we recommend

00:29:10.651 --> 00:29:13.591
different words and you don't get to
know what they are unless you pay.

00:29:13.621 --> 00:29:17.401
So I can understand that they're trying
to probably create a moat in this world

00:29:17.421 --> 00:29:23.301
of all the AI things that like you
probably could pull off a DIY grammarly

00:29:23.301 --> 00:29:25.051
on your own and like an afternoon.

00:29:25.071 --> 00:29:25.471
So.

00:29:26.276 --> 00:29:26.606
CJ: Yeah.

00:29:27.046 --> 00:29:29.226
So for work, we're reading We've
been doing these book clubs.

00:29:29.226 --> 00:29:30.006
I love these book clubs.

00:29:30.016 --> 00:29:32.496
They're that's like how we read
the unreasonable hospitality.

00:29:32.906 --> 00:29:35.196
And so the one we're going through
now is called smart brevity.

00:29:35.826 --> 00:29:40.896
And it's by, I think it's, yeah, it's by
the people who made Axios and Politico

00:29:41.306 --> 00:29:45.546
but the idea is about trying to like,
be very clear with your communication.

00:29:45.996 --> 00:29:51.726
And several of the chapters are
basically sales pitches for Axios HQ,

00:29:51.986 --> 00:29:55.406
which is their like smart brevity AI.

00:29:55.581 --> 00:30:02.981
Whatever thing that tries to re word
chunks of text into their recommended

00:30:02.981 --> 00:30:08.341
framework and in order to be like more
yeah, more concise and brief, which

00:30:08.341 --> 00:30:12.811
I think is definitely relevant for
technical writing, especially when you're

00:30:12.811 --> 00:30:14.931
trying to like organize thoughts and be.

00:30:15.431 --> 00:30:18.541
Very direct and concise,
especially for working with

00:30:18.581 --> 00:30:20.881
impatient, discerning developers.

00:30:21.191 --> 00:30:22.521
I, the book is great.

00:30:22.531 --> 00:30:27.021
It's got a bunch of tips and tricks, but
yeah, I would say several of the chapters

00:30:27.021 --> 00:30:30.831
are just like pitching this smart brevity
thing, but it definitely comes to mind

00:30:30.831 --> 00:30:35.141
that in order to communicate effectively,
we're going to have this embedded.

00:30:35.711 --> 00:30:40.111
You know, like LLM tools embedded in
every single input box that we encounter.

00:30:40.111 --> 00:30:45.111
And so how do we make it the
best, smoothest experience ever?

00:30:45.111 --> 00:30:47.421
Whether you're writing a doc
or you're writing, you know, a

00:30:47.421 --> 00:30:48.751
new feature for an application.

00:30:49.231 --> 00:30:53.511
And yeah, like the, the IDEs have
all this built in to highlight

00:30:53.511 --> 00:30:58.011
stuff, different colors, or show you
warnings or show you different things.

00:30:58.351 --> 00:31:03.161
Maybe the limitation for Grammarly was
like, how do we make people pay for this?

00:31:03.171 --> 00:31:03.471
But

00:31:04.391 --> 00:31:07.361
Colin: I mean, they've been around
for a while, so it probably was.

00:31:07.471 --> 00:31:09.251
I think we knew someone at Grandmama.

00:31:09.251 --> 00:31:11.451
I might have to reach out and
find out what the deal was.

00:31:12.051 --> 00:31:14.501
I think we know a devrel that was there.

00:31:14.551 --> 00:31:18.531
The smart brevity thing reminds me
of like the opposite of what we're

00:31:18.531 --> 00:31:20.681
seeing with the generated copy.

00:31:20.681 --> 00:31:26.761
Cause like apparently kids can't, and are
only writing essays by using this now.

00:31:26.801 --> 00:31:30.791
And so I had a friend who was
applying to YC and they sent,

00:31:30.851 --> 00:31:32.221
had me read over their answers.

00:31:32.261 --> 00:31:35.011
And I was like, this just feels icky.

00:31:35.181 --> 00:31:36.571
Like, did you use AI on this?

00:31:36.571 --> 00:31:39.861
Like, this doesn't feel like
a human talking to a human.

00:31:39.871 --> 00:31:40.451
And.

00:31:40.656 --> 00:31:43.136
I think too many people are
using it as that crutch.

00:31:43.136 --> 00:31:46.706
Like, the Grammarly one is
really good at not doing that.

00:31:46.706 --> 00:31:50.076
And I actually would be curious to
take some purely generated chat GPT

00:31:50.076 --> 00:31:52.886
and just drop it into Grammarly to
see what Grammarly says about it.

00:31:53.426 --> 00:31:56.536
Because I think somewhere along the
line people thought that putting in

00:31:56.536 --> 00:31:59.236
20 to 5 words was a good thing, right?

00:31:59.246 --> 00:32:02.636
Like you're in college and you need to
pad that essay to get to your word count.

00:32:03.006 --> 00:32:07.806
That's one thing, but we just, I don't
think people want to be talked to with

00:32:07.806 --> 00:32:13.036
these like very weird, strange just like
slightly off word choice where like,

00:32:13.076 --> 00:32:16.756
yeah, maybe that was technically correct,
but like, we don't talk like that.

00:32:17.316 --> 00:32:20.986
And when I was training the
docs on it, it was pretty good.

00:32:21.486 --> 00:32:25.006
I don't know that it was necessarily
answering in the style of our, the writing

00:32:25.006 --> 00:32:29.876
of our docs, but I wouldn't be surprised
if it was because it felt like the docs,

00:32:29.966 --> 00:32:34.666
it didn't feel like this other thing came
in and was like, you must proceed this

00:32:34.666 --> 00:32:38.256
way and use caution and code passionately.

00:32:38.276 --> 00:32:40.986
Like there's always these like weird
words where they're like, like, Oh,

00:32:40.986 --> 00:32:42.176
you're gonna have so much fun doing this.

00:32:42.226 --> 00:32:46.046
I was like, no one is going to be like,
Oh, I, I sent this email passionately.

00:32:46.046 --> 00:32:47.466
It's like, that was the wrong word there.

00:32:47.826 --> 00:32:48.216
CJ: Yeah.

00:32:48.576 --> 00:32:48.886
Colin: yeah.

00:32:50.476 --> 00:32:50.726
CJ: Yeah.

00:32:50.726 --> 00:32:51.396
Just, yeah.

00:32:51.396 --> 00:32:54.433
Figuring out the training data set.

00:32:54.483 --> 00:33:00.643
That's not just like the entire opus of
the internet as your input is important.

00:33:00.683 --> 00:33:01.633
And so like, yeah.

00:33:01.633 --> 00:33:03.213
Training on other.

00:33:03.798 --> 00:33:07.528
Material that's similar to what you
want to create is like super important.

00:33:07.618 --> 00:33:12.008
I was just Googling like, what are
the open source models that you

00:33:12.008 --> 00:33:13.688
would use to rebuild Grammarly?

00:33:13.898 --> 00:33:17.898
And it looks like there are several
from like Mistral and others that you

00:33:17.898 --> 00:33:20.708
could take and yeah, mess around with.

00:33:20.818 --> 00:33:21.858
So yeah, I don't know.

00:33:21.878 --> 00:33:23.078
I definitely.

00:33:23.368 --> 00:33:26.608
That feels like the next step in, in
my learning at least is like, how do

00:33:26.608 --> 00:33:32.418
we take a model and then like, not just
fine tune it, but like adjust it to make

00:33:32.418 --> 00:33:36.738
it do a very specific job, much better.

00:33:37.168 --> 00:33:38.878
So, I, let's

00:33:39.113 --> 00:33:42.473
Colin: think that's where everyone's
trying to get general purpose AI, right?

00:33:42.483 --> 00:33:46.113
They want general intelligence,
but turns out that's hard.

00:33:46.443 --> 00:33:52.923
It's ethically fraught versus
having your own like thing, right?

00:33:52.933 --> 00:33:57.283
Like, honestly, even if you just had your
own personal AI, that was like followed

00:33:57.283 --> 00:34:01.283
you, like literally knew all the things
you've ever done in all of your companies.

00:34:01.773 --> 00:34:04.343
You know, the, the, a very
specific set of skills that you've

00:34:04.373 --> 00:34:05.793
developed over a long career.

00:34:06.343 --> 00:34:06.923
And.

00:34:07.343 --> 00:34:11.123
Then you, it, it's like just able
to pull up things and it knows

00:34:11.123 --> 00:34:14.113
like, yeah, it, what would CJ do?

00:34:14.233 --> 00:34:14.563
Right.

00:34:14.563 --> 00:34:19.663
And not necessarily anticipate and do
it for you, but help you along the way.

00:34:19.663 --> 00:34:21.663
It's, it's your, it's your exo suit.

00:34:22.213 --> 00:34:22.663
Yeah.

00:34:23.083 --> 00:34:26.833
Are you using anything else, like in, like
you mentioned email and some other things.

00:34:26.833 --> 00:34:32.703
Are you using AI in other parts of, of
your day-to-Day, or is it just code?

00:34:38.688 --> 00:34:42.808
CJ: embeddings for just like a
lot of semantic search type stuff.

00:34:42.858 --> 00:34:49.828
For features I've been using tools
like or function calling for generating

00:34:50.168 --> 00:34:51.768
content for a couple of things.

00:34:52.308 --> 00:34:56.298
But yeah, like day to day, a lot of it is
just like, the, or like the most impactful

00:34:56.308 --> 00:34:58.478
stuff is definitely editing for code.

00:34:58.908 --> 00:35:02.778
We added that feature that's just
like type to complete for our sales

00:35:02.778 --> 00:35:06.968
team to do customer engagement based
on like the full customer context.

00:35:07.473 --> 00:35:09.053
That's been running now for like a month.

00:35:09.083 --> 00:35:11.493
And I looked and it's quite expensive.

00:35:11.573 --> 00:35:14.873
Every single time we're making a
call, we're sending like a pretty

00:35:14.873 --> 00:35:20.363
giant prompt because it embeds like
the full list of frequently asked

00:35:20.373 --> 00:35:23.663
questions and previous conversation
and all the history of that customer.

00:35:23.703 --> 00:35:28.063
And so it, yeah, I think we'll
have to get more creative with

00:35:28.083 --> 00:35:32.163
that eventually, but try to think
of other, other use cases playing

00:35:32.163 --> 00:35:33.983
around, there was like that teal draw.

00:35:34.328 --> 00:35:36.368
Tool where you could
kind of like enter stuff.

00:35:36.878 --> 00:35:43.538
Yeah, I mean, I guess music just
like Descript for editing, like yeah.

00:35:43.538 --> 00:35:46.578
I tried generating some like
music tracks for backgrounds.

00:35:46.918 --> 00:35:49.968
So yeah, things, I guess, like
on the next, definitely like the

00:35:49.968 --> 00:35:54.058
next frontier is like, how do
you make it, Specialized to you.

00:35:55.028 --> 00:35:56.188
Many good examples of that.

00:35:56.198 --> 00:35:59.488
Like, how do you train stable, a stable
diffusion model that looks, that can

00:35:59.488 --> 00:36:04.548
generate photos that look like you, how
can you train an 11 labs voice model,

00:36:04.548 --> 00:36:08.068
or like, how can you train a voice
model that sounds like you, how can you

00:36:08.068 --> 00:36:10.508
train something to write a blog post?

00:36:10.508 --> 00:36:11.788
That sounds like you wrote it.

00:36:12.578 --> 00:36:14.758
How do you train something
that it's just Ruby and rails?

00:36:15.258 --> 00:36:19.758
So yeah, that, that definitely feels like
The next rabbit hole worth jumping down.

00:36:19.828 --> 00:36:20.558
So, Mm.

00:36:20.808 --> 00:36:24.278
Colin: Yeah, I've been thinking about, I
don't know how to put the words around it

00:36:24.278 --> 00:36:29.688
yet, but there's this, like, those are all
aids in creating something at the end of

00:36:29.688 --> 00:36:33.778
the day that someone wants to listen to
or wants to watch or wants to learn from.

00:36:34.338 --> 00:36:34.718
CJ: Mm.

00:36:35.398 --> 00:36:39.908
Colin: feels like a dumping ground of
just AI generated garbage right now.

00:36:39.978 --> 00:36:43.198
But, like, there's a person
specifically that I have in mind

00:36:43.228 --> 00:36:45.868
that has been doing these, like,

00:36:45.915 --> 00:36:46.736
CJ: Mm.

00:36:46.918 --> 00:36:48.908
Colin: they're definitely,
I think, prompts.

00:36:49.338 --> 00:36:51.878
that they asked for like, Hey,
give me some prompts that I

00:36:51.878 --> 00:36:53.668
can answer as LinkedIn posts.

00:36:53.668 --> 00:36:55.158
They're like thought leadership posts.

00:36:55.158 --> 00:36:55.388
Right.

00:36:55.908 --> 00:36:59.148
But they, so then they like do
this, like waxing philosophical,

00:36:59.148 --> 00:37:00.588
like fucking question.

00:37:00.648 --> 00:37:02.098
We're getting our first leap in there.

00:37:02.478 --> 00:37:06.708
And then they generate an image with
grok and it's like, okay, so you

00:37:06.708 --> 00:37:10.838
just created like this most, like
lowest common denominator milk toast,

00:37:10.838 --> 00:37:13.258
like thing for people to consume.

00:37:13.258 --> 00:37:16.258
I had to unfollow them because
I'm like, every time this pops up,

00:37:16.258 --> 00:37:17.678
it's like, It's a waste of my time.

00:37:17.728 --> 00:37:19.748
It's like literally no value.

00:37:20.168 --> 00:37:24.628
Some thought leadership in
entrepreneurship or startups or we'll

00:37:24.628 --> 00:37:28.678
save founder mode, startup mode or
whatever manager mode for another day.

00:37:28.678 --> 00:37:32.398
But like no adding to the
conversation whatsoever.

00:37:32.408 --> 00:37:36.768
And then the image that you generated was
this like, you know, guy in a field with

00:37:36.768 --> 00:37:38.908
five, you know, with five extra fingers.

00:37:39.358 --> 00:37:42.678
And it's just not, what anyone needed.

00:37:42.788 --> 00:37:46.068
Like, so, and everyone's
doing it on LinkedIn.

00:37:46.618 --> 00:37:48.138
They're probably doing it on Twitter.

00:37:48.718 --> 00:37:51.508
You have probably had people who are like,
Oh, I'll be your copywriter and they're

00:37:51.508 --> 00:37:54.828
going and generating a bunch of things
and you know, sending you a bill for it.

00:37:55.298 --> 00:37:58.768
So that stuff that I'm just
like trying to wrestle with, you

00:37:58.768 --> 00:38:00.588
know, is it just like that stuff?

00:38:01.568 --> 00:38:05.048
And people are going to ignore
it, or is it really going to, you

00:38:05.048 --> 00:38:08.588
know, be something that we have
to like, maybe it's just a fad.

00:38:08.668 --> 00:38:11.438
Cause I know people were generating
images with mid journey for a long time.

00:38:11.438 --> 00:38:13.008
And then they're like, cool.

00:38:13.048 --> 00:38:16.958
There's only so many times we can do
like pictures of your cat around space.

00:38:16.998 --> 00:38:17.338
Right.

00:38:17.378 --> 00:38:19.848
Before we start to try to
use it for other things.

00:38:20.198 --> 00:38:24.788
I don't use a lot of image generation
stuff just because it's like, I don't

00:38:24.798 --> 00:38:29.228
have It's not good usually like if I
want I need art I need to go jump into

00:38:29.228 --> 00:38:33.518
figma and make some illustrations and
stuff or work with a designer and have

00:38:33.518 --> 00:38:36.898
them make something from scratch because
so that's that's been rolling around

00:38:36.898 --> 00:38:41.548
and I'm just like now that I see it I
just unfollow or hide it or whatever

00:38:41.608 --> 00:38:43.288
but have you seen any of this stuff?

00:38:43.718 --> 00:38:44.628
CJ: Yeah, totally.

00:38:44.648 --> 00:38:47.498
And just, I think it
was yesterday or today.

00:38:48.158 --> 00:38:53.218
I got a pop up from LinkedIn that
said, you can, you know, Do do premium

00:38:53.218 --> 00:38:58.838
for 30 days or something and in the
pitch for premium, it now says AI

00:38:58.838 --> 00:39:00.478
writing assistance and whatever.

00:39:00.478 --> 00:39:03.978
And so I'm like, I wonder if that's
where it's coming from is like, maybe

00:39:04.018 --> 00:39:08.598
LinkedIn has some feature that's like
actually making it so that people can

00:39:08.868 --> 00:39:11.148
more easily create that kind of content.

00:39:11.338 --> 00:39:14.888
And it also comes to mind too, that
like, we've been trained that putting

00:39:14.888 --> 00:39:20.168
a picture in your post will make your
post more likely to like get attention.

00:39:20.398 --> 00:39:23.938
And so if people don't have a good
picture, they're just making shit

00:39:23.948 --> 00:39:26.628
up with like, you know, or they're,
yeah, they're generating it.

00:39:26.658 --> 00:39:27.088
And

00:39:27.603 --> 00:39:31.593
Colin: Yeah, but it's like shovelware,
like they're just putting stuff out to,

00:39:31.733 --> 00:39:33.803
to try to build their brand or whatever.

00:39:33.803 --> 00:39:35.613
And it's like, you're
just building this one.

00:39:35.623 --> 00:39:41.753
Like you did not do anything of talent
or skill, which I do think that there is

00:39:41.753 --> 00:39:47.753
going to be this diff of people who can
and people who have to prompt for sure.

00:39:47.763 --> 00:39:48.823
Like it's going to happen.

00:39:49.223 --> 00:39:52.443
And if you're an engineer out there,
you're relying on these tools, make

00:39:52.443 --> 00:39:56.668
sure you can still do it without it,
because I'm pretty sure Pretty sure that

00:39:56.668 --> 00:40:00.988
like when we do interviews, we do not
allow you to use AI in your interviews.

00:40:01.188 --> 00:40:06.598
So if you are coming out of a bootcamp and
you used AI to get through your bootcamp,

00:40:08.238 --> 00:40:09.948
turn it off, make sure you do it.

00:40:09.948 --> 00:40:12.938
I think you and I both are used to like
doing the same thing over and over again

00:40:12.938 --> 00:40:16.078
until it just becomes a thing we can do.

00:40:16.128 --> 00:40:16.438
Right?

00:40:16.448 --> 00:40:20.798
Like we're prompting ourselves into
like, all right, build this, build

00:40:20.798 --> 00:40:22.778
it again, delete it, build it again.

00:40:22.963 --> 00:40:24.183
until you really know it.

00:40:24.233 --> 00:40:28.143
And it's okay if you don't need to touch
that for a long time to come back to

00:40:28.143 --> 00:40:33.783
it and refresh or ask chatgbt to prompt
you on like, how do you do that again?

00:40:33.783 --> 00:40:38.063
Like, most people don't do a lot every
day and couldn't rebuild it from scratch.

00:40:39.223 --> 00:40:39.893
And that's okay.

00:40:40.043 --> 00:40:42.483
But knowing how it works is a good idea.

00:40:43.143 --> 00:40:43.353
CJ: Yeah.

00:40:43.353 --> 00:40:44.133
Definitely.

00:40:44.163 --> 00:40:47.193
From using Cursor and saying like,
generate this feature for me.

00:40:48.243 --> 00:40:52.203
And having it only work like one
in three ish, I don't know, maybe,

00:40:52.263 --> 00:40:54.063
maybe the hit rate is one in three
where it generates something.

00:40:54.063 --> 00:40:54.573
I'm like, yeah.

00:40:54.573 --> 00:40:55.563
Like, let's accept that.

00:40:55.563 --> 00:40:56.643
That seems legit.

00:40:57.203 --> 00:41:00.283
That makes me a little bit nervous for
people who are like, I don't really

00:41:00.283 --> 00:41:04.413
know how to code, but I built this thing
'cause I used Cursor and, you know,

00:41:04.413 --> 00:41:06.393
I, I just prompted my way through it.

00:41:06.393 --> 00:41:08.193
I'm like, yeah, cool.

00:41:08.193 --> 00:41:08.673
Like,

00:41:09.183 --> 00:41:10.023
Colin: one to accept?

00:41:10.318 --> 00:41:11.008
CJ: Exactly.

00:41:11.028 --> 00:41:11.298
Yeah.

00:41:11.298 --> 00:41:12.958
They're just like, that looks good.

00:41:12.988 --> 00:41:15.328
You know, maybe they try to run it
and they're like, I ran into an error.

00:41:15.358 --> 00:41:16.348
Copy paste the error.

00:41:16.998 --> 00:41:17.878
Oh yeah, you're right.

00:41:17.888 --> 00:41:18.948
Change it to this thing.

00:41:18.978 --> 00:41:22.538
And then you end up with in
the same way that it's not

00:41:22.538 --> 00:41:25.538
fun to read AI generated text.

00:41:25.948 --> 00:41:29.678
It probably will be very hard to
maintain an AI generated application.

00:41:29.748 --> 00:41:33.538
And so I dunno, there there's,
I don't want to poo it too much.

00:41:33.558 --> 00:41:38.788
Cause I guess like, if you are using
it as a way to like build a business

00:41:38.788 --> 00:41:41.378
and you don't actually care about
the underlying tech, that's cool.

00:41:41.468 --> 00:41:41.788
Right.

00:41:42.173 --> 00:41:43.043
Colin: It is, yeah.

00:41:43.683 --> 00:41:46.553
And I think that's, Josh Pickford
and some others have been having that

00:41:46.553 --> 00:41:50.663
conversation of there's definitely
some purists who are thinking of coding

00:41:50.663 --> 00:41:53.813
as craft versus coding as a result.

00:41:54.113 --> 00:41:57.693
And Josh wants what's on
the other side of the code.

00:41:57.693 --> 00:42:01.153
The code allows him to build
a business, to build a family,

00:42:01.163 --> 00:42:02.383
you know, a life for his family.

00:42:03.123 --> 00:42:05.193
Yes, he wants it to be good code.

00:42:05.193 --> 00:42:06.213
Yes, whatever.

00:42:06.553 --> 00:42:11.353
But he's not going to be over here
fighting some like language semantic

00:42:11.353 --> 00:42:16.933
wars because he wants to ship a
product and make number go up, right?

00:42:16.963 --> 00:42:18.063
That's, that's his goal.

00:42:18.213 --> 00:42:19.553
And he wants to solve problems, right?

00:42:19.553 --> 00:42:22.053
He builds lots of apps
to solve his problems.

00:42:22.733 --> 00:42:23.743
He makes those solutions.

00:42:23.743 --> 00:42:24.623
People want them.

00:42:24.643 --> 00:42:25.593
He charges for them.

00:42:25.633 --> 00:42:30.013
And at the end of the day, it doesn't
matter what the code was, right?

00:42:30.033 --> 00:42:30.893
As long as it works.

00:42:31.513 --> 00:42:31.963
So,

00:42:32.923 --> 00:42:35.843
CJ: Yeah, I think that was like the big
takeaway from the Peter levels argument

00:42:35.843 --> 00:42:38.163
too, is like, he's using PHP and jQuery.

00:42:38.163 --> 00:42:38.883
That's what he knew.

00:42:39.343 --> 00:42:40.533
And like,

00:42:40.893 --> 00:42:42.403
Colin: react people are so angry.

00:42:43.623 --> 00:42:48.353
CJ: yeah, I mean, yeah, that's, I
don't know, it's, it's funny to think

00:42:48.363 --> 00:42:55.163
about, but yeah, trying to keep a laser
focus on growing the business or yeah,

00:42:55.163 --> 00:42:59.443
growing your own sidekick or your own
sidekick, growing your own side hustle.

00:42:59.443 --> 00:43:01.683
Like all of that is really Yeah.

00:43:01.683 --> 00:43:03.653
It doesn't really matter what,
what the code looks like.

00:43:03.653 --> 00:43:05.183
If people are just looking
at the interface, so

00:43:06.968 --> 00:43:07.298
Colin: Cool.

00:43:07.358 --> 00:43:08.178
Should we leave it there?

00:43:08.883 --> 00:43:09.993
CJ: Yeah, totally.

00:43:09.993 --> 00:43:13.343
If you want to check out the links to
the resources for stuff we chatted about

00:43:13.343 --> 00:43:14.863
today, head over to build and learn.

00:43:15.093 --> 00:43:16.113
dev and yeah, we'll catch you next time.

00:43:17.138 --> 00:43:17.798
Colin: Bye friends.