Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
SPEAKER_01 (00:00):
Hello everyone,
welcome to another episode of
Code and the Coding Coders WhoCode It.
I'm your host, Drew Bragg, andI'm joined today by Travis
Doctor.
Travis, anyone who is notfamiliar with you, would you
please do a quick introductionof yourself and how people might
know you?
SPEAKER_00 (00:14):
Yeah, so probably
the only way that people would
know me thus far is I'morganizing a conference called
Blast Off Rails.
And kind of started organizingthat last year and posting stuff
online about it.
And other than that, I go to afew conferences now.
(00:34):
So you might have seen me there.
But I'm a Ruby on Railsdeveloper for the last maybe six
years.
So excited to be here on CodingCoders and uh see what trouble
we can get into.
SPEAKER_01 (00:48):
Yeah, welcome to the
show.
So for anyone new to the show,the way this is going to work is
I'm going to ask Travis threequestions.
I'm going to ask him what he'sworking on, what kind of
blockers he has, and then askhim to share something cool,
new, or interesting that he'srecently learned, discovered,
built.
Doesn't have to be codingrelated, but it absolutely can
be.
The name of the show is prettyheavy on the coding aspect.
(01:10):
So what are you working on?
What do you got going on?
SPEAKER_00 (01:14):
Yeah.
So this one is going to beinteresting because it is kind
of enabled by AI, becausethere's this sort of branch of
software that some people arecalling personal software, which
is kind of all the stuff thatyou build just for yourself
(01:38):
because you can.
My version of this was apersonal finance app that I
actually built originally in theboot camp that I learned to code
in.
So I built this personal financeapp because I had used other
personal finance trackers andstuff like that.
(01:58):
And none of them really workedquite exactly how I wanted them
to.
So I was using Excel sheets forthe longest time.
And then when I learned how tocode, I was like, oh, that's the
first thing I'm gonna make.
I'm gonna turn this Excel sheetinto an actual app, make it
easier to use.
And that was my pre-AI thing.
But the only thing that I couldreally do because I didn't have
(02:22):
all the time in the world, wasthat app.
That was the thing I focused on.
But now AI has opened up thisportal where you can create a
lot of stuff.
And if you only need somethingsimple, like personal finance
tracker or a personal like to-door calendar project management,
(02:45):
I recently made what I'm callinga house health app, and it kind
of gamifies cleaning my housebecause nice otherwise, yeah,
otherwise it's like one of thosethings that I'm like, I have to
do that thing.
And this like gives you a score,it gives you house a score, and
(03:06):
I have like rooms for the houseand different tasks for each
room, and you have to keep thosescores up by doing the tasks, by
sweeping and mopping thekitchen, by wiping down the sink
and the mirror in the bathroom.
And this is stuff that I'vealways thought about, and I'd be
like, ah, that would be cool tomake, but never did because I
(03:28):
just didn't have the time.
But now I can sit down and bangout something like this in an
hour, and then you have it.
And something also that I kindof want to get your take on,
because I haven't heard anybodyelse talk about this.
I'm not a security person.
I don't take everything I'msaying with a grain of salt.
(03:50):
But my approach toauthentication for this suite of
personal software that I'm nowwriting is no auth on the
applications, just put it on aserver with a tail scale, tail
net on it.
And I'm the only one that canaccess it from my devices.
(04:13):
I didn't build this for anybodyelse.
Nobody else is ever going to usethis.
So why go through the pain ofyou know maintaining
authentication and stuff if Ican just put it on a private
network that only I can accessfrom all my devices and call it
good.
SPEAKER_01 (04:30):
I think the tail
scale approach is probably a
really good one because there'sso many approaches you could
take, right?
You could pop it on a server andjust have the auth sit on the
server.
You hit the endpoint and likeyou have to give the password.
There's attack vectors foranything, right?
Even tail scale, like you'rerelying on tail scale to be
secure.
Security, in a lot of ways, youhave to do what's right for the
(04:55):
situation.
You might have two differentlocks on your house, right?
A deadbolt and a door handle.
But a properly motivatedindividual is getting into the
door.
But if you don't have to worryabout a properly motivated
individual getting into yourhouse, there's no point in like
putting a steel door withmultiple reinforced hint, like
that doesn't make sense for thelevel of security you need.
(05:18):
You do need a lock on your door.
Like it'd be foolish to have adoor with no lock.
But for most of us, unless youlive in like maybe the bad part
of town and you need a littlesomething extra, bars on the
window, whatever, security is alot of like risk assessment and
stuff.
And like it's really easy to belike, oh, I need all of this
(05:40):
layers of security.
And it's like, but if I'm theonly person accessing it, do I
really need that?
What is the chances of someonegiving a shit enough about my
personal data to go in there?
Like, it's not an account thatstores a credit card, it's a
game to keep my house clean.
(06:00):
You're not even like storingblueprints to your house in it.
And even then, like, who wantsthat?
Does it matter?
Like, yes, AI is like this superinsecure thing because it
doesn't know how to do that riskassessment for you.
It's a pattern matching tool, soit's pulling patterns off the
internet that anybody else canpull off.
(06:21):
There is all of this, oh, hey,AI software is insecure.
And it's like, well, sure.
So is the very first app I everbuilt in boot camp?
It was only even remotely securebecause I use device and it did
it for me, and I'm trusting thatdevice is doing it right.
You know what I mean?
But that's app level.
Then there's the server itself.
(06:44):
Do you have a root password?
Is it all SSH?
Can only one device get into it?
What happens if that device isleft at a coffee shop and
someone picks it up?
It's risk assessment.
You have to assess, like, ifsomeone actually got into the
server, how fast would I knowthat they're mining Bitcoin with
it and turn it off in whereverthe host is or whatever?
Or is it a Raspberry Pi thatruns in my basement and I can
(07:07):
just go unplug the damn thing?
That's technically more securethan starting up a Hetner box or
a DigitalOcean droplet because Iliterally can unplug the damn
thing.
I don't know.
But to your point, I am also nota security expert.
I've been doing this long enoughto have bitten myself in the ass
a few times withsecurity-related things, but not
(07:28):
a security expert.
And AI is a very new level ofattack vector.
SPEAKER_00 (07:35):
Yeah, there is no
perfect solution for security.
And in my mind, trusting anetwork-level solution like
Tailscale with personal, we'llcall it vibe-coded software,
makes slightly more sense to mein that what you're saying, like
(08:00):
the right tool for the job kindof thing, and the right level of
effort and level of security foryour situation.
Yeah.
I had never used it before,actually.
I had only heard about TailScale, and people, I don't even
know what people were using itfor when I heard about it.
(08:20):
I think it was just people thathad like home labs and were
doing interesting things withtheir own Raspberry Pi servers
and whatnot.
But I only vaguely knew what itwas for.
And I was like, oh, I wonder ifI could just use it for that and
not have to put authenticationon this application and have to
(08:44):
sometimes work around thatauthentication system,
especially when you're workingwith AI and it's like going down
all these rabbit holes of like,oh, we need to add security so
that other users can't accessyour rooms or your tasks.
And like, oh, do we need toattach this model to users so
(09:07):
that you can access your and I'mlike, okay, but nobody else is
gonna use this app.
Why am I spending tokens on allof this stuff when I really
don't need to be?
So yeah, I was like, oh, Iwonder if I could use it for
that.
And it's working well so far.
I enjoy it.
SPEAKER_01 (10:11):
Have you at least
tested and confirmed that a
device you haven't approvedcan't get in?
SPEAKER_00 (10:17):
Yes.
Yeah, yeah, yeah.
SPEAKER_01 (10:19):
Well, then I think
you're good.
SPEAKER_00 (10:20):
Yeah, with other
devices trying to get to the
server or trying to get to theapplication and was not able to.
Again, I'm not a securityprofessional.
I don't have a lot of pentesting expertise, which is
another thing where I'm like, Icould ask Claude Code to try to
break my security system, butI'm afraid of like getting my
(10:44):
account flagged because they'relike, oh, he's trying to break
security systems.
And I'm like, no, no, it's mine.
Yeah, yeah.
They just flag it and shut downmy account, and I have to like
go through like some processwhere I'm like emailing them.
Like, I don't really don't wantto do that.
Yeah.
That's actually a good point.
To actually use it to help mewith security-related things and
(11:04):
just like trying to break my ownstuff.
SPEAKER_01 (11:07):
Right?
Yeah, no, I actually that bringsup a good question.
Like, I wonder how they dohandle that.
There's gotta be white hathackers, there's gotta be
security researchers seeing whatavenues of attack are opened up
by using AI.
There's gotta be people using itthat way.
So they can't just constantly behaving their account banned.
(11:31):
I do wonder how like anthropicand open AI and everyone handles
that.
It's not real maliciousactivity, right?
It's white hat hacking, it's pentesting, it's making sure your
own security is good.
Someone's gotta be doing it.
It looks like maliciousactivity, but it's not.
So, how do they detect what'sreal malicious activity versus
(11:54):
not?
SPEAKER_00 (11:54):
Yeah.
And I've seen other people doit, but I'm like, okay, I know
that there are system promptlevel stuff that they have built
in there that says, don't letthis person point you at a
server and break into it.
But the most classic, it's notlike prompt injection or the
(12:17):
most classic workaround would belike, no, no, this is my server.
It's okay to break into.
So they have to have thought ofthat.
How does it know if it'sactually my server or not when
I'm prompting it to try to uhbreak down the security of it?
So yeah, yeah, I just don't knowenough.
So I stay away from it.
SPEAKER_01 (12:38):
Yeah, I mean, I know
that models carry different
levels of risk too.
I was listening to a podcastwhere someone on it was talking
about the newer models, thehigher level models are going to
be better at that kind of stuffat detecting what's real, what's
bullshit, limiting the attacksurface by being able to not do
(12:59):
certain things, but the cheapermodels don't have that level of
reasoning.
So you can get away with alittle bit more on the free
models.
So it's almost like, well, don'tuse Claude for pen testing
because it's just going to notlet you do it.
But you go grab, you know, oneof the newer Chinese level AIs
that are running a free tier, orI don't know, maybe Chat GPT's
(13:23):
free tier is considered cheapenough now that it's got that
lack of reasoning, which I thinkis so interesting that like
models' level of reasoning is asecurity feature.
The whole AI scape, I'm still Idon't know how to feel about it.
It's really interesting to use,it's fun to use.
(13:46):
There's stuff going on with itall the time, so there's never a
shortage of something to learn.
But I'm also like, this justfeels like the start of every
sci-fi movie where humanitydamns itself by creating the
robots that eventually likeenslave and kill us.
That's what it feels like.
And I know it's not, it's notthat level yet.
I say yet.
(14:06):
I'm adding yet.
But in some ways, it feels likeit.
And it just is like, hold on, Ineed to pause because this is
getting weird.
The AI is getting really good.
The harnesses, the tools, theaccess, the models, everything
is just wild right now.
SPEAKER_00 (14:23):
So speaking of
weird, have you looked at or
seen the open claw?
SPEAKER_01 (14:29):
Yes, I have heard of
open claw and all the various
things and security issues.
And I did just see that itscreator got getting acquired.
Feels like a weird way to say itthat he got hired, he got aqua
hired by open AI, which thatwill be interesting to see how
that shakes out.
I know he's like moving the openclaw stuff to its own open
(14:51):
source foundation and et cetera,but man, they're gonna pay that
man a lot of money, too.
And I'm not trying to degradehis intelligence.
This dude has done other veryimpressive software things in
the past, but it's just crazypants.
How much money they are payinghim, and he only got on their
(15:13):
radar because he's like, hey, Ibuilt something for myself.
Maybe other people areinterested.
Here's the source.
Have fun.
And it went viral.
And he's like getting insane joboffers.
It's wild.
SPEAKER_00 (15:23):
His was the one that
went viral and got the most
attention.
I think because he is good atwhat he does and intelligent and
built a good implementation ofsomething that you know other
people had built.
But I watched his interview withLex Friedman.
SPEAKER_01 (15:44):
Yeah, that was a
beast of a podcast.
What was that, like three and ahalf hour long episode?
SPEAKER_00 (15:48):
I'm like, Yeah, it
took me like a week and a half
to watch it.
In the episode, he like alludesthat he's like talking with some
big company about getting Aquahired.
And the announcement had alreadycome out that OpenAI had hired
him like before I was finishedwith the podcast.
So I honestly think part of whatmade his so successful was that
(16:11):
the personality piece of it andlike the soul MD and everything
that like made it kind of likeclose to that AGI kind of thing
that people are looking for.
And his was most interactingwith a digital human, and people
find that really interesting.
So they kind of all glommed ontohis project.
(16:35):
And it was a you know, it was avery well done uh project, had a
lot of interesting pieces to it,and I haven't installed it or
anything, but again, that wholepersonal software thing.
I want to build my own verysimple implementation of that
and hook it up to all these appsthat I'm making because that's
(16:59):
like the next step is like,okay, I have all these uh
personal apps that I've created.
Let me hook them all togetherwith this personal agent that
can then send me an email thislike every morning.
Like, why haven't you cleanedthe kitchen in three weeks?
Kind of give me a little kick inthe pants to get going, or you
(17:21):
know, just remind me aboutcalendar stuff.
That's just like a cool, funthing that is on the edge.
Have you seen that?
I think it's an XKCD comic whereit's like how much time you
spend building a tool versus howmuch time it saves you and like
whether it's worth it or not.
(17:42):
None of the stuff that I buildmakes it on that scale.
No.
SPEAKER_01 (17:46):
No, no, but but I
mean, for anyone who hasn't
listened to this podcast, if youhave an extra three hours and
you're interested in like maybewhat the future landscape of AI
looks like, it's worth a listento, or maybe finding a condensed
version or something.
Like, despite how you may feelabout Lex, it is interesting to
hear from the guy.
(18:07):
I think the biggest takeaway, atleast for me, the biggest
takeaway from that whole thingwas his like quote of like, it's
hard to compete with someonehaving fun, right?
Like, he wasn't building aproduct.
He wasn't building even like atool that will become a SaaS
product because I built it tosolve my own problems, and now
you can pay me to solve yours.
(18:28):
Like, he just built a thingbecause he wanted to, saw it was
cool, open sourced it, let otherpeople, and was just like, hey
man, I'm having fun.
You can't compete with mebecause I'm not competing with
you.
I'm just sitting here havingfun.
I don't give a shit if this is abillion-dollar product or a zero
negative on my bank account, youknow?
(18:49):
Like he doesn't care.
He's like, I don't care.
Like, I'll use it however I useit.
And if you want to use it, gohave fun.
And I'm like, man, that's thedream, right?
Like that you just get to sithere and have fun.
High school, the first time Ifound programming, that was it,
man.
Like I was having so much fun inthe computer lab every day.
So much fun learning how toprogram calculators so I could
(19:10):
cheat on math tests, or like,oh, okay, I can add games to my
calculator now because Iunderstand this and that.
And then I lost it.
And when I rediscovered it, whenboot camps became a thing, I was
just like, oh, right.
I forgot how much fun it is tojust be like, I can do anything
with a computer.
Given enough time, I can buildit.
(19:30):
The knowledge is out there andexists, and I can figure it out
over a long enough period oftime.
And that time with AI has beenshortened so much, which is why
it's fun.
I think there's a lot of roomfor improvement with it.
It's great at spinning up agreenfield app, but the reason
why we get paid the money we dois not to spin out greenfield
apps, it's to maintain 10, 12,20, 30-year-old applications
(19:56):
that are still somehow runningand are behemoths and like
database tables with thousandsupon thousands of tables.
Like AI will get thereeventually, but like we will
have a place in that for a verylong time because we have built
monsters of software that AIwould struggle to keep in its
(20:17):
context window.
It'll get there, but yeah, it'syeah, it is fun.
It is a lot of fun.
It's nice to have that level oflike, oh shit, I wish I had a
gem to do X.
Why am I wishing this?
Why not just, okay, open code,pull it up, put it in plan mode.
Let's have a 30-minuteconversation about it.
(20:37):
Cool.
Now go build it.
I gotta go make dinner.
I come back, I spend an hourtweaking its code because it
writes shitty code.
And I like the way I write codebetter because I'm a pompous
asshole.
You know, and now my gem thatwould have never happened
because I'm ADHD and I wouldhave had this brilliant idea and
never actually executed on it,now exists.
(20:57):
And I had a ton of fun planningit and a ton of fun editing the
code, and now I have the gemthat I wanted to have.
And yeah, personal software istotally going to be a bigger
thing.
Right now, I think it's stillrelegated to us.
You kind of sort of need to haveat least a software engineer's
mindset to really be able toempower AI.
(21:19):
Like the people who are like, Idon't know how to code.
I'm like, well, you know, younever learned how to code.
You know how to break downproblems, you know how to do
software engineering, you justdon't know how to write code.
There's a difference.
Your brain does do the thing,and now you're using AI to
prompt it into building thething.
You just took a differentapproach than learning how to
write code.
(21:39):
Not everybody can do that.
Not everybody's going to be ableto grab Chat GPT and be like,
build me an application, and itworks.
They're not good at that levelof thinking or that type of
thinking.
SPEAKER_00 (21:49):
Yeah.
There's more friction, much morefriction.
SPEAKER_01 (21:53):
For now, though.
Yeah.
In the future, I'm sure it'llget to the point where you can
say, I need an application to doX, and it'll just be able to
pattern match its way throughwithout you needing to iterate
very much on it.
SPEAKER_00 (22:07):
Well, that's the
thing that I've people are
starting to talk about.
Well, no, I think they've beentalking about it for a while.
I'm just not that plugged in,but I'm just noticing it now.
Is like half the personalsoftware that I've written
doesn't really need to be anapp.
Project management to docalendar could just be handled
(22:30):
by AI in some simple likemarkdown files or even just a
database.
It could just write SQLitequeries on a SQLite database, no
wrapper around it.
Except for the CLI.
And I could just talk with it toknow what's on my calendar and
(22:52):
what's coming up or to add newthings or whatever.
You don't even need anapplication to wrap a database
now.
That's going to be superinteresting in the next couple
years.
People just writing AI wrappersto databases that you can do
anything with.
(23:14):
You don't even need programmingknowledge then, really, because
all you're doing is talking witha database.
SPEAKER_01 (23:20):
That's almost the
more interesting.
I can't wait.
I can't wait because I like myjob.
But like I'm very interested tosee how you're just talking with
the thing.
So why are we even bothertyping?
Why not just the phone say, hey,I need to know, blah, blah,
blah.
And it just, I don't need toclick a button.
I don't need to do a thing.
(23:41):
I'm just talking now.
It's going to change a lot aboutUI and UX, right?
Like the old ways of doing UIand UX are going to go out the
window because we're notinteracting with apps the same
way anymore.
It's interesting.
I almost don't want to beinterested because I know it's
coming at the cost of like thisjob that I love, right?
(24:01):
It takes a piece of it takes apiece of something that I love
and was borderline therapeuticfor me.
Like just being able toheadphones on, code because I've
figured it out, I've understoodthe problem, and now I can just
vibe code through myself.
I can get into the zone and codewas great.
And someone was paying me forit.
(24:22):
And that was awesome.
And they still are, right?
This isn't a tomorrow or a nextyear.
But in 10 years, my plan used tobe retire as a software
engineer.
Now I'm like, I don't thinksoftware engineer is going to be
a thing in 10 years.
What is like maybe I'm hopingthat these are Yeah, yeah.
We're all going to be projectmanagers now.
(24:42):
No more ICs.
They all go away.
They become project managers.
On the one hand, I'm like, Ihate this thing because it's
taking something I love awayfrom me.
But on the other hand, it's sointeresting.
And I've got that, like, I'm socurious about it, and I want to
know more things about it.
And it feels like learning toprogram all over again.
You're just like, wait, I can dothat.
Wait, how does this work?
(25:03):
That felt friction-y.
Why can't, like, let's do itthis way or that way?
Teaching its skills, likegrowing its ability to do
things.
It's a tough, weird spot to bein because I want to be like,
this is so cool, but fuck thisthing.
SPEAKER_00 (25:18):
Yeah, you're
addicted to the drug that's
killing you.
Right.
And the interesting thing islike, I didn't make all of these
apps before because I felt likeI didn't have the time.
But now that AI is a thing,before, outside of work, I would
spend probably on average lessthan an hour, but maybe on
(25:42):
weekends a little bit more.
Outside of work on a workday,maybe less than an hour on
average of coding my own stuff,right?
Just because you have life andit's hard.
And when I have less than anhour, I'm already tired, like my
brain is already tired fromwork.
I'll think of something that Iwant to do and I'll say, that's
(26:03):
gonna take more time than Ihave.
I'll do it later.
I just don't have the time orthe bandwidth right now.
So I wouldn't.
And I would average less than anhour per day outside of work,
right?
With AI, I probably average liketwo, sometimes three hours a day
outside of work just because Idon't think about, oh, I don't
(26:29):
have enough time to do that.
I just start and I'm like, okay,I'm just gonna spend half an
hour and doing this thing, and Ijust start and then it
stretches.
And if I'd done this before, ifI spent as much time coding
before as I do now, I would besuch a great coder.
Yeah.
SPEAKER_01 (26:50):
Yeah.
But does that matter?
How much does code qualitymatter anymore?
This is something I've beentalking about with other people
at work, even my boss, my CTO,like, because sometimes I'm
like, man, AI really sucks atwriting code.
It's overly verbose, or like,this is so dumb, or like it
doesn't use good idioms orwhatever.
(27:11):
It like crappy code.
And then I stop and I think andI'm like, but I'm also not going
to be interacting with this codemuch anymore.
AI is, and if this is what'seasier for AI to read, does that
(28:17):
matter?
It's a weird spot because I dothink it matters, because I do
think that there's a at least inthe near future, like a limit of
how much context AI can keep inits window that exists now, but
I think that there's a limit oflike, all right, we can't get
much more without it being likeon-prem level of like only
(28:40):
enterprise level can have an AIthat can understand enterprise
big enough app where we're goingto have to say, like, you should
write good readable code becauseyou will need to interact with
it to prompt the AI to interactwith it correctly.
SPEAKER_00 (28:59):
Okay.
This brings me to the nextquestion of the podcast.
SPEAKER_01 (29:03):
The blockers.
Okay.
Yeah, okay.
So, what kind of blockers do youhave?
And if you don't have a currentblocker, what's one that you
recently had and how did you goabout solving it?
SPEAKER_00 (29:11):
Great.
Okay, my blocker, docs,documentation, and project
history as part ofdocumentation.
We have this constant problem atwork where we have a lot of
different projects, and we'lllike make some decision and
(29:34):
we'll say, Oh no, we're gonna gowith this tool, or we're gonna
go with this implementation orthis strategy, and we'll say,
Okay, where do we document this?
Because maybe it applies tomultiple projects, so it's not
just one, but it doesn't applyto all projects, and then we'll
have the conversation about likewhere to document it, and then
maybe we don't end updocumenting it, or we put it in
(29:55):
some place that we don't thinkto look later, and then a couple
months later, you come to thissame kind of decision and you
have the discussion again, andyou're like, I know we made this
decision in the past, now Idon't remember why.
And that's been a problem forthe entirety of the history of
software, right?
(30:16):
And now with AI, the friction towriting docs and to documenting
things like decisions is verylow.
You can just ask it, hey, canyou look at this code base and
write me a README?
And it will go and do that.
(30:37):
You can have like a codingsession with Claude, and after
you're done and you've likeworked through some problem, you
say, Hey, can you take thissession and write some like
lessons learned from it and putit somewhere in the code base?
And it'll do it, right?
But now, because the friction isso low, my problem becomes how
do you organize thisinformation?
(31:00):
And I think a lot of people areworking on that right now, but
it's still where do I put this?
And how do I make it useful inthe future to like help yourself
and to like give the like wholememory problem with coding
agents, make it available tocoding agents so that they can
(31:21):
say, Oh, remember this decision?
We made it for this reason.
That's why I'm going toimplement this tool in this way,
or not use this tool, orwhatever it is.
Have you guys like had thatdiscussion at your work?
Like, are you doing anything forthis?
Or I'm looking for ideas.
SPEAKER_01 (31:40):
Yeah, yeah, a little
bit.
We have an agents MD file inbasically all of our core Rails
directories.
So, like in models, we have anagents file in app models, and
it only concerns itself withmodels, right?
So the expectation at the highlevel, the project level agents
(32:01):
file, is if you're working withmodels, load up this file,
right?
And it only has certaindecisions made, like, hey, we
have this model, we refer to itas this.
Like we have users, we call themcreators.
We have students, and those arestudents, but in this next
version, we call them members,just so that like when we're
(32:23):
talking to the agent, it knowswe don't have a great way of AI
documentation for certain otherdecisions yet.
We've talked about it a lot.
There's been some back andforth.
I have a personal strategy forlike my personal projects and
(32:44):
for my personal work at work isI use obsidian.
I used obsidian prior to AI.
But what I really think has beencool with AI is I kind of went
off, wrote a skill with AI'shelp on how to use Obsidian's
flavored markdown.
Obsidian's got a new CLI, whichhas made things even less
friction-y.
(33:05):
It can do a lot of like internallinking.
So instead of needing to be likereference this file, like it
just talks about a decision wemade and it names it and it
wraps it in these double squarebrackets, and that tells it to
go look for this file, and youcan use regular markdown, but it
makes these coding sessionsummaries really simple, like
(33:30):
one or two paragraphs.
Don't need to bog it down withlike key lessons learned.
It can just say in the session,like we discussed using this
pattern or this thing.
And when it says we discussedusing this pattern, there's a
document in my patternsdirectory that describes the
pattern, whether it's hotwire,see hotwire documentation.
(33:51):
Or if it's like actually more ofan internal pattern, like here's
the breakdown.
So it works well for me becauseI was using obsidian before.
I'm still getting used to someof the new aspects of it, but
it's a bit helpful for AIbecause it doesn't need to load
that up into context all thetime.
In my personal global agents, Iexplain how my obsidian
(34:15):
directory works so it knowswhere to look for stuff, but
it's not great yet at alwayssaying, Oh, I need to pull up
this, or I need to go take alook at that.
I do still have to say, like,this project relates to another
project where we worked on, pullup that session summary and go.
And then it can pull up, like,oh, okay, we're going to use
(34:37):
this pattern and this is why wemade this decision, or oh, here
are the gotchas because of thetable naming or whatever issues
we ran into last time.
That is good, but I still needto kind of prompt it to remember
that this has been a thingalready.
And that's been the biggestchallenge for me, at least.
Remembering that every time westart an agent session, it knows
(35:01):
nothing.
It's got access to all theinformation in the world, but it
knows jack shit about you andyour project.
And that's why like creatingskills and commands that are
very structured help it so muchbecause you can't assume it
remembers the last session,because it doesn't, unless you
had it write stuff down.
But the memory problem is a realbig problem at a certain scale.
(35:25):
And I'm sure someone's going tofigure out something fancy at
some point.
But yeah, for individual contextwindows, I've made huge strides
in my personal workflow by usingObsidian and teaching it how to
structure docs and usingtemplates and linking stuff
together and allowing it to usemy second brain as its second
(35:49):
brain.
But just like me, I have toremember that a note exists
about it.
It can't remember that.
So I need to tell it because Idon't need it to remember
whatever pattern we're using forX every session.
So can't load that up everysession.
But when it is appropriate, Ineed it to pull it up.
(36:10):
I'm looking forward to the timewhere I don't need to say,
remember about this pattern.
I can tell it, remember, we'regoing to use this pattern.
And it knows, okay, that patternis stored in Obsidian here.
But it's still, there's a lot ofmanual intervention there.
And we don't have a good way ofdoing it at a company level just
(36:31):
yet.
I think when I get a little bitmore comfortable with my current
workflow, I'll pitch somethingsimilar to the team of like,
hey, we usually hold ourarchitectural decision documents
here.
What if we expand it a littlebit and instead of AI, we have a
whole bunch of local stuff?
What if we just started dumpingstuff there and teaching the AI
(36:53):
how to search stuff up?
Like if we did it in astructured way, it shouldn't be
that hard.
And then see where it goes andhow it evolves.
I think AI is so fresh and sonew that we're all gonna have to
figure these things out, right?
Like Rails wasn't built when webapplications was built.
It came from the frustrations ofbuilding enterprise software and
(37:17):
all the fucking boilerplate andconfiguration that went in every
single time.
And someone finally was like,I've had enough of this.
Here's a better way of doing it.
And now a ton of people, and notjust Rails, you know, Django and
sales and all these otherRails-inspired frameworks for
other languages exist because itwas like, yeah, this is better.
(37:38):
I think those patterns willemerge organically as people
play around with it.
I'm not waiting.
I'm just tinkering with my own.
I don't have a good answer foryou yet, but that's what I've
been doing.
SPEAKER_00 (37:49):
That's kind of the
fun part about being a
programmer right now is alsopart of maybe the bad part too.
SPEAKER_01 (37:58):
But we're helping it
get better at our jobs so we can
take our jobs.
SPEAKER_00 (38:02):
It's kind of fun.
Teaching it how to make usobsolete is kind of fun.
Yeah.
I haven't looked at how OpenClawdoes this, but apparently
they've done it well with beingable to recall stuff.
There's also the QMD, I think,is the like CLI search for
Markdown.
(38:23):
I think Shopify is from Shopifyor but anyway, yeah, that's
cool.
I hadn't thought about usingObsidian CLI.
I heard that they had come outwith CLI, but I hadn't thought
about using obsidian features inyour markdown files, like the
linking and stuff, so that it'snot having to draw these
(38:46):
connections.
The AI isn't having to do that.
SPEAKER_01 (38:49):
You don't
necessarily need to have
obsidian.
You can just tag files, right?
Like it is nice that obsidianoffers you a structured way of
searching and buildingdashboards and whatnot, where
like I can build a dashboard andit knows to go and look at that
dashboard when I give it thegood morning command because it
looks at all my to-dos from theday prior and whatever.
(39:12):
You know, when I tell it to wrapup a session, it knows exactly
where to put the session, how itshould look, because there's a
template.
That stuff could also be just inthe command itself, like here's
how to structure it.
But it is nice to have theobsidian way of doing it that's
already been iterated on, right?
Like obsidian's already solvedsome of these problems, so it's
nice to use it that way and havesome structure for the AI.
(39:36):
Whether or not it's the bestway, I don't know.
It just works for me right now,and I'm still tinkering with it.
And every, almost every day Itweak something about the setup,
or every week, you know, when Irun the command, my weekly
wrap-up command, I go, oh, youknow what'd be better, or you
know what I wish it had done?
Or, you know, there's still alot of manual, and it's still
like coding, right?
(39:57):
Like we still we build thesimplest thing and then we
iterate on it, we add more toit, and it'll evolve over time.
And I'm sure someone will solveit in a way that either gets
absorbed into how Claude handlesits internal memory at the model
level, or and maybe it is moreof like the open claw way of
(40:17):
doing things, but yeah, we'llsee.
It's interesting, it's aninteresting problem to solve
because it yeah, the models haveamnesia.
They don't know nothing aboutwhat's going on other than what
we load into it, but they have asmall context window.
You can't load everything, youcan't just be like, here's my
app.
So a little bit of job securityis nice right now because like I
(40:41):
know our app better than the AIdoes, but I don't know for how
much longer.
We'll see.
Maybe it's worth you lookinginto too, is like, how can
Obsidian solve some of theseissues that I'm having?
And the cool thing is you canjust ask the AI, hey, I'm having
this problem with your memory,considering a tool like
(41:02):
Obsidian.
What do you think?
And it might give you someinteresting suggestions.
There's some resources online.
Help unblog you a little bit?
Or yeah, no, that gives me somethings to think about.
As much as the memory problem isinteresting, and I'm sure
someone's gonna solve it.
I'm wondering how long it'sgonna take to get to the point
where token efficiency is sovalued that that's what we put
(41:29):
on our resume.
How token efficient we are, howgood we are at getting good
results by using less tokens andlike what tools we have built to
say, oh, I built an agentharness that does X, Y, or Z
under the hood before it promptsthe LLM and it saves 20% of your
tokens or whatever and reducescosts.
(41:49):
Like, I know we have a prettybig budget for it at work
because we're still in theexploration mode and we know we
need to, but there's gotta be atipping point where people go,
okay, I'm not willing to spendthis much money on this thing
anymore.
Right.
Let's get efficient.
SPEAKER_00 (42:05):
You put on your
resume, you know, migrated this
many users to this new systemand like shut down the legacy
system or something like that.
But in the new age, you havethat line on your resume, but it
says using only 150,000 tokensor something like that.
SPEAKER_01 (42:22):
Yeah, you go to join
a new uh new org and they're
like, let's see your clawed codestats.
Yeah, how much do you how muchmoney are you gonna cost us in
addition to your salary?
I don't know.
Maybe that won't happen.
Maybe the models will continueto get more efficient and
cheaper and it won't be aproblem, but maybe because we're
having a huge shortage in RAMand GPUs and all the stuff that
(42:43):
it uses.
So that stuff's gonna startcosting a premium.
Maybe it is gonna happen.
I've already started playingwith the idea of like, okay,
which model's better atplanning, which model's better
at building?
Let's try this mode where I uselike clawed opus in plan mode,
and then I use open AI codecs inbuild mode and start looking at
(43:05):
the differences and stuff.
And then I I use open code,where most of my team is using
clawed code.
There's a few of us using opencode, and open code's really
cool because it's really easy toswitch models.
So I've gotten to play with, youknow what, this task is like not
a big ask.
I'll give it to a dumber model,like a not as expensive model.
(43:27):
Because I just don't feel likedoing this boilerplate BS, but I
don't think it needs the deepreasoning of Opus or Codec.
So that doesn't matter right nowbecause we don't have any
restrictions, but I'm trying toget the muscle memory so that
when we do have restrictions,and if we do have restrictions,
that the muscle memory isalready there to like certain
(43:47):
tasks, certain models.
Don't sort of like you don'tgive a senior engineer a junior
level task because it's not costeffective.
I don't know if that's going tobe a thing in the future, but I
have a sneaking suspicion itwill, so I'm already trying to
plan around that.
SPEAKER_00 (44:03):
Yeah, or just using
the right tool for the job,
like, or the right programminglanguage for the right
application.
Like it's gonna be important, Ithink.
There's another tool calledCounselors that Aaron Francis
made, and it basically is likegiving the same prompt or
(44:25):
problem to multiple models atonce, and then one model will
kind of summarize what they allsaid and kind of bring it all
together and see if there is oneimplementation that is best fit
from all of these different uhperspectives.
Interesting.
I thought that was kind of cool.
Probably can get expensive todo.
(44:46):
Oh yeah.
Yeah.
But yeah, interesting to likeget the different perspectives
and then maybe you just have oneimplement it based off of the
best kind of case that was builtfrom all of them.
But I think efficiency will bewill be important right now.
People are kind of throwing itto the wind because you just
(45:09):
have to experiment.
There's just so much happening.
SPEAKER_01 (45:12):
How do you know if
you don't experiment?
Yep.
You have to be free.
So the last question, myfavorite, is what is something
cool, new, or interesting thatyou've recently learned,
discovered, built, whatever,vibe coded, doesn't matter, that
you want to share.
Doesn't have to be codingrelated, it absolutely can be.
SPEAKER_00 (45:30):
I will plug Blast
Off Rails here.
It is new, so this will be thefirst time this conference has
happened, and I hope that.
It will be cool and interesting.
I'm trying my very hardest tomake it that.
But yeah, it's happening thissummer, June 11th and 12th.
And it is a place for people togather and kind of get energy.
(45:58):
That's the reason that I havegone to and continue to go to
conferences is there is for me,there isn't really a substitute
for the energy that you get frombeing in a room with a bunch of
people that are interested inthe same things as you and being
(46:19):
kind of forced to sit throughthese talks.
And I don't mean that in anegative way, like, but for me,
I'll see these interestingtalks, like YouTube videos.
There's recordings of talks,there's people that put stuff on
YouTube, there's interestingblog posts that I always like
bookmark.
I'm like, oh, that sounds reallycool.
I'm gonna listen to that later.
(46:40):
I'm gonna watch that later.
I'm gonna read that later.
And I don't get around to it.
But at a conference, you paidmoney to be in this room, and
people are going to give you theblog posts, give you the YouTube
video live, and you set thistime aside to do that.
And that's really special to me.
(47:02):
So there's also a ton of otherconferences happening that I'm
going to them and I'll just plugthem as well.
There's RBQ in Austin in March,I believe into March, and then
there's uh Blue Ridge Rubyhappening in North Carolina.
SPEAKER_01 (47:21):
Yeah, Asheville,
North Carolina.
That's Jeremy Smith's baby.
That's I've been to that one afew times.
That's a great commentary.
SPEAKER_00 (47:27):
So that one's kind
of still newish.
Yeah.
They did it and then took a yearoff, and then they're doing it
again.
So that one's returning.
But then there's Blast Off Railsin June, June 11th and 12th.
And then there's RubyConf inJuly.
(47:47):
So I'm planning right now ongoing to all of those.
So it's going to be a busy year,but I'm super excited.
SPEAKER_01 (47:54):
Don't forget there's
Rocky Mountain Ruby in October.
Yeah, yeah, yeah.
I don't think they've announcedthe dates yet, but that's been
going strong.
And that's a I love thatconference.
I love the conference.
Spike and Becky do such a greatjob putting it together.
And I love Boulder, the citythat it's in.
I have pitched to my wife movingthere on more than one occasion
because I just love it outthere.
(48:16):
I love seeing the regionals comeback, but also I'm like, damn,
there's so many conferences Iwant to go to.
I don't have the time to go toall of these.
It's like trying to structure mycalendar.
My we get some time to go toconferences, but not a ton.
So I'm like, oh, I'm going tohave to use PTO for some of
this.
And which places does my wifewant to go to?
Because then I can roll it intoa vacation where she won't want
(48:38):
to murder me for using all myvacation time going to
conferences.
So yeah.
Actually, the one interestingthing that stands out about
Blast off over some of theothers is like, it's Blue Ridge
Ruby, it's Rocky Mountain Ruby.
Yours is Blast Off Rails, notBlast Off Ruby.
So you're focusing more on theRails aspect than just the
general Ruby.
(48:59):
Was that an intentional decisionbecause everyone else was Ruby
and you wanted to be different?
Or was it just, well, I useRails, or you wanted to keep the
topic on Rails and be less aboutthe Ruby language?
Like, what was the motivator tomaking it blast off Rails?
SPEAKER_00 (49:16):
It was partly to
sort of differentiate it from
the more general Rubyconferences.
Like one of the I think it waslike a random piece of
information from some book Iread that was like actually
making the thing more nichemakes it more interesting to
(49:37):
people.
And you're more likely to getpeople to whatever it is, buy
your product or come to yourconference or use your tool or
whatever.
If it's more niche, because youcan actually focus on satisfying
people more because you aredoing a more specific thing.
SPEAKER_01 (49:59):
Yeah, yeah, it makes
sense.
SPEAKER_00 (50:00):
For me, I am more
interested in the Rails stuff.
I haven't written a lot of othersoftware, to be honest.
So I am mostly Rails apps.
So that's like always been whatI've kind of gravitated towards
at conferences.
So I was like, you know what?
(50:21):
Let's make this conference morespecific.
And hopefully that will make itmore interesting because you can
expect, like, oh, I'm a Railsdeveloper, I make Rails apps,
I'm gonna go to this conferenceand it's single track.
So if you're not interested in atalk, then you're out of luck.
But yeah, if you're interestedin Rails and you come to this
(50:42):
conference, you're gonna getRails content and stuff that's
applicable to you.
So yeah, ended up going withblast off Rails instead of blast
off Ruby.
SPEAKER_01 (50:53):
Okay, cool.
And Albuquerque, New Mexico isdefinitely somewhere I haven't
been for a conference before.
Is there a big tech scene inAlbuquerque?
Is it just that's my backyard?
So screw it.
Everyone come here.
It's a pretty cool place, andyou're about to find out, or
what's Albuquerque?
SPEAKER_00 (51:09):
I think there's a
couple advantages to having a
conference in Albuquerque.
One is it's kind of centrallylocated.
It's still in this likesouthwest of uh the US, but for
most people, there's at leastonly one layover.
A lot of times there's a lot ofdirect flights here from from
(51:32):
most major airports.
And our airport is also reallysmall, so it's enjoyable.
So you have the best of uh bothworlds.
Like you have a lot of directflights, but there's only like
one or two a day from all thesecities, and so the airport's
still pretty small, and it's nota nightmare to find your way
around and stuff like that.
There's one terminal, likeyou're not like taking a train
(51:54):
around.
SPEAKER_01 (51:55):
You just described
my least favorite part of some
of these conferences.
SPEAKER_00 (51:59):
Yes.
But Albuquerque is a cheap interms of like cost of living,
and it's cheaper to put on aconference here, and it's also
your hotel is not gonna be$300,$400 a night to be near the
conference.
There's like$175 a night hotelsthat are within walking distance
(52:24):
of this venue, so which is thethe Albuquerque Museum, which I
think is gonna be reallyawesome.
Everybody that comes to theconference also just has free
access to the museum, so you canlearn about the place that
you're coming to.
So, yeah, there's a lot of uhcool stuff here.
We don't have like uh big techcompanies here, but I mean there
(52:45):
are like there's Facebook datacenters and stuff around, but I
think it's just a nice place tovisit and nice weather in June.
It's just a nice place to have aconference and have it be an
overall, generally goodexperience for every kind of
(53:06):
person.
So I'm really excited for peoplethat haven't been here to come
here and experience it.
SPEAKER_01 (53:11):
Yeah, very cool,
very cool.
I like how accessible it'll befrom a cost standpoint, too,
especially with not everysoftware company out there is
sending people to conferencesright now.
So a junior might have to paytheir own way.
And if this is going to be themost cost-effective conference
they can make in the year,that's a pretty big selling
point.
It can get expensive going to alot of conferences.
SPEAKER_00 (53:32):
So we have like a
budget for conferences at work,
and it's really easy to blowthrough that really quickly
because you're a couple hundreddollars at least for the flight.
If you're gonna stay threenights for a two-day conference,
at the very least, you'retalking about over a thousand
(53:52):
dollars for a hotel or closearound there, even if you're
staying at like a$300,$250 anight hotel that nowadays is the
cheap ones, especially in majorcities.
You're over a thousand dollarsfor every conference that you go
to if you're on a shoestring.
And I think you could do thisconference, depending on your
(54:15):
flight, you could do thisconference for less than a
thousand dollars.
Because early bird tickets,which there's 30 of them, there
will just be that until they'regone, but they're only under$75,
$175, and you get two or threenights, or three nights, let's
say, at$175 at the best westerndown the street, which is a nice
(54:40):
best western.
I actually worked there before Ibecame a programmer.
You have one forty dollar Uberfrom the airport, another$40 to
get back.
Everything else around theconference is walkable.
I think it could be a very uhcost-effective conference.
SPEAKER_01 (54:57):
And your CFP is
closed, so you're gonna have the
announcement for who's speakingsoon.
Do you have a date?
SPEAKER_00 (55:03):
That'll be coming
soon.
I don't have a date.
Trying to confirm people rightnow.
It'll be probably early Marchwhen I make that announcement,
just so I can get everybodyconfirmed and get that all up on
the website and everything.
So very excited about that,though.
SPEAKER_01 (55:21):
Sounds like it's
gonna be a great one.
Good excuse to go toAlbuquerque, New Mexico for the
first time andblastoffrouse.com.
Sounds like early bird ticketsare very affordable, so don't
sleep on those.
Where can people find you on theweb other than blastoffruby.com?
SPEAKER_00 (55:41):
Because of the
conference, trying to get the
word out there, I'm oneverything.
I'm on uh blue sky, I'm on X,I'm on LinkedIn.
I think if you just search myname, you can find me most of
those places.
And uh you might have to look atthe picture to try to match my
(56:01):
face because there aren't manyTravis doctors in the world, but
there's at least like twoothers.
SPEAKER_01 (56:08):
Yeah, and your
doctor with it's a
D-O-C-K-T-E-R.
SPEAKER_00 (56:13):
Yeah, which probably
the best way to find me is to
look at the Blast Off Railssocial account.
And I think usually I'm likereposting it or something, you
can find me pretty easily.
SPEAKER_01 (56:23):
Yeah, cool.
We can also put links in theshow notes to make it a little
easier for people to find you.
So awesome.
Well, thanks for coming on theshow, man.
I really appreciate it.
Appreciate your time and lookingforward to seeing how uh a Blast
Off Ruby comes together.
SPEAKER_00 (56:37):
Yeah, thank you for
the time and all the good
conversation.
SPEAKER_01 (56:40):
All right,
listeners, we'll see you in the
next one.