-Hello, folks! -I'm Michael Dyrynda.
And I'm Jake Bennett.
And this is episode 185 of the North Meet South web podcast.
-Chaka-chaka! -Chaka.
Hey, everybody, it's been a long time.
Glad to hear from you again, Michael. Glad to see you. Um, okay, we're gonna talk
-about AI on this episode- -Mm-hmm.
But before we do, can I tell you one thing that AI is not good at?
-Tell me. -It is not good at helping you debug
three-way switches in your house. Do you know what a three... Do you know what a
-three-way switch is? -Like a three, like where... Yeah. Yes.
Yes.
Do, do you know what this is, or you have-
Where you've got, like, multiple switches that all control the same light, whatever.
That control the same thing. Yes.
-Yeah. -Yes. Now, I do not consider myself an
expert in this, but I'm also no slouch. Like, I've done this a number of times
-before, right? -Mm-hmm.
Got all the tools, got all the stuff. I've done this. But the thing that I do not
have, and I'm not even, like, doing this for the first time, like, I, I, I put in
the switches that previously controlled this, so I know which things went where.
I, I know. However, the stupid switches that I got don't have the common
screw labeled, so it's, like, kind of a guess as to what one it is, and so it's
been extremely frustrating. I've spent probably 40 minutes on it so far tonight,
running back and forth from the switch panel to this, so I'm just-
-No good. -Ah. But let me tell you-
Electrical... So this is where, this is where you and I differ. See, electrical
-work, I- -You, you've got a sparkie over here.
I get a sparkie. Yeah, yeah. I had one in here the other day.
-Yeah. -We're, we're, we're redoing... We're, I, I
wanna say redoing our laundry. We are doing our laundry, 'cause we've never had-
Mm-hmm, mm-hmm
... any cupboards, or storage, or bench, or anything in there. It was very much
when the house was built, it was what I, what I have called a bachelor's laundry,
-in that it had- -Mm
... like, a tub. It's got a washing machine, and just, like, the cheapest,
nastiest cupboard that, that I could afford when I, when I built the house.
-Sounds like ours. Yep. -And, and that's it. So at the moment,
we're just... We've just, um... I got the text message this morning saying that we-
we'll get the, um, all of the cabinetry delivered on the 10th of February, and
then they will be installing everything on the 11th. So we're getting, like, benches
and, like, a new sink, and storage, and all kinds of stuff in there, which is,
which is wonderful. But I had a sparkie here yesterday, and I said, "I want three
power points, and you, you know, that's it." I'm not,
-not touching. That's not for me. -Yep. Yeah, so I'm gonna, I'm gonna figure
it out, and then I'll let you know. So I think, yeah, I, I think I've got it. I've
got the, the volta- like, the voltage testers out, and, like-
-Mm -... I thought I had it. I thought I had it
figured out, and
-chat was helping me, and- -Yeah
... then it just, kind of the wheels came off, and so I just, like, I'm so
-frustrated- -Start a new chat
-... with this stupid thing, so- -You've, you've done too... gone too far.
-Oh. -You have to start a new chat.
And the thing is, it, it learned from, like, something that I did the other day.
-Mm-hmm. -Like, I also had a switched set of
outlets, which is, like, where you have these outlets, where the top one is always
powered, but the bottom one is dependent on a switch on the wall.
-Right, yep. -And that was not working from the last
time I installed this, like, three years ago.
-Mm-hmm. -And so I was like: Help me out, figure out
what's going on. And it turns out I had forgotten to break off one of the tabs on
the things. Anyway, solved that problem. It worked great for that.
-Yeah. -Three-way switches, not so much.
-Yeah. -So anyway, any of you people out there, if
you like three-way switches, hit me up. But we're not here to talk about three-way
-switches. -You'll have to wait for GPT 5.3 to come
-out. -Correct. Um, so I... Here's the first
thing I wanna talk about. I wanna talk about what models we're using. So-
-Mm-hmm -... um, let me just say, also, it's sort
of like one of those, um... I, I feel like, I, I can't remember the exact
phrase, but it's sort of like a little bit and then all at once.
-Mm. -That's kind of what it feels like AI has
been for me, and sounds like for you, too. Because it was like... What the heck?
I have never heard that beep before. I've never heard that beep before.
-It's gonna drive you mad. -I, I don't know-
-That's, that's- -I don't know what that beep was.
That's the house. It's telling you, "Stop playing with the electrical and get
someone in here who knows what they're doing."
Literally, I, I, I think I've never heard that beep before in my life. I don't know
what that was. No idea. Um, anyway, okay, it was like I was sort of
dabbling. I was using the chat interfaces to talk with the-
-Mm-hmm -... the AIs, right?
-Yeah. -All great, used it for three-way switches
and stuff like that, right. But if I wanted to do actual code stuff, I was,
like, sort of copying and pasting and, like-
-Mm-hmm -... it just wasn't a great experience. It
-was okay. -Mm-hmm.
-It worked- -Mm-hmm
... but it was just not wonderful, right? And then I installed Cloud Code, and my
mind was blown. Was that your experience as well, something like that?
Yeah, so over the, over the holiday break-
And I didn't install it until version 4.5, until Opus 4.5 was out.
-Yeah, yeah. -So, like, I felt like I was just, like,
immediately, like, all in, like, "This is amazing."
-Yeah. -Go ahead. Sorry.
Yeah, over the holiday break, I finally sat down, and I bought, like, a whole
bunch of home assist... Uh, a whole, a whole bunch of, what are they called? Uh,
-Zigbee temperature sensors. -Yeah. Oh, yeah.
-So we had a new- -Absolutely
... we had a new, new air conditioner put in, um, a few months ago, and there was
the option to buy its, like, first-party temperature sensors. And not, not that it
can control the temperature per room, but it uses the temperature sensors to
-determine- -Mm-hmm
... whether it needs to increase or decrease airflow-
-Sure -... and then open-
-Yep, yep -... and close the actuators. And they
were, like, $130
-per temperature sensor- -Per temperature
-... to hook into this thing. -Yeah, you like, forget that.
And so I bought
10 of them, I think, to go into every room, where we've got a, a dedicated zone,
-and then I went to- -No, wait, did you pull, did you pull the
-trigger on the 130 a piece? -No, no, no, no, I bought, so I bought-
-Oh, okay, okay -... the Zigbee ones-
-All right -... which were, like-
-Got you, got you. All right -... $200-
-Good man. Thank you -... for 10, or something like that.
-Sure, sure, sure. -So-
-Okay -... 'cause I had Home Assistant running,
and I wasn't really using it for anything. So I was like: "Okay, GPT, can you help
me to build automation in, in Home Assistant to read the sensors, to
determine when you should open a vent or a zone, or close a zone? You don't, don't
mess with ones where the, where the zone is turned off." Um, we do some stuff. We
thought, through this process, that my mas- that our master bedroom was the
hottest room in the house, 'cause it get- it's western-facing, it gets the afternoon
sun. Turns out it is my study that is the hottest room in the house by, like, one
-and a half degrees. -Okay.
Because when this, when the house was built, we insulated this room, 'cause this
used to be my drum room.... and so once it heats up, it stays heated. And so, you
know, but I had built all of this automation in there, like, the, the, the
master bedroom's the hot one. We need to, like, determine in the afternoon whether
or not we need to pre-cool it to, you know, get the airflow going early-
-Sure, yeah -... before the sun hits, because it's
-easier to cool- -Yep, yep
... a cool room than it is
-to, like, cool down a hot room. -Of course.
Um, and so, you know, did all of this just in, in GPT, and then it was generating
YAML, and I was copy-pasting the YAML into Home Assistant, and then doing that.
-Yes. -And then eventually, we needed, you know,
uh, eventually you get to a point when you have to refactor, and even when it's just
YAML, you still have to refactor it. You know, you wanna simplify some things. I
wanted to see
why it was or wasn't doing stuff, and the way that it was initially set up, it was,
like, duplicating all of this logic. So we changed it to, to basically
give you a reason, and then whether or not it did something was based on if that
reason was, like, no blockers kind of thing. And then in this process-
And at this point, you're still copying and pasting or no?
-I'm still copying and pasting, yeah. -Okay.
And I'm, I'm trying to figure out the best way, 'cause
it, it started to get so much YAML
that it was like syntax highlighting this, and the tab with the chat just kept on
crawling. But I was too scared to start a new chat, lest it lose all of the history
-and the- -Yeah, all the context
-... context of that first thing. -Yeah, yeah, yeah.
So I'm like: Okay, just give me, like, snippets, give me patches, you know,
diffs, and I'll just copy and paste them. And then it... That became difficult, so I
thought, "Okay, this is where we're gonna, uh, bust-"
You've gotta... Now you've gotta go. Yep, you've gotta make the-
-This is- -You've gotta make the jump
... this is where we go. We're gonna put this into a, into a Git repo.
-Yep, yep. -We're gonna bust out OpenCode, and we're
gonna use their, their free whatever models-
-Okay, so now real quick- -To do this
... real quick, so I think this is important, right? So, uh, for me, there
was some confusion around some of these things, so I just wanna be, like, crystal
-clear. -Mm-hmm.
For those of you who have not made the jump yet, look, we're gonna, we're gonna
try and do our best to define some things here. Okay, so
we have models, um, let's call the providers. Let's talk about some providers
real quick. So OpenAI is the creator of the GPT models, which we all know,
ChatGPT. They, I think, were the first ones to popularise, you know, the chat
-interface- -Yeah
... that you can use with their GPT models. So ChatGPT, everybody uses Chat,
-right? -Mm-hmm.
So that is OpenAI. There's also Anthropic-
-Mm -... which is now pushing commercials for
-their models, which are Claude, right? -Mm-hmm.
And, uh, with Claude, you have a couple of different flavours of models. You have
-Sonnet, and you have Opus. -Mm.
And Sonnet is, uh, less... I- it's more, um, it, it's, it's a faster, uh, model.
It, it has less parameters, but it, so it returns values faster.
-Mm. -But Opus is more of a, like a deep thring-
a deep think model. It'll take a little bit longer, but it's also much more
-comprehensive, okay? So- -Yeah
... those are your providers and your models. Then what we're talking about is,
we've said, like, you know, we were just pasting things into an interface in chat,
whatever. Fine, fair enough. A lot of these providers have their own chat
interfaces to interact with their models. However, what Michael's talking about now,
OpenCode
-is- -Mm
-... what? Tell me about OpenCode. -So OpenCode is like a multiprovider
version of... If you've used Claude, it's a, a command line interface that you go
in, and you have access to the models, and it does things to your code on your
computer, or you can tell it, you know, do whatever. OpenCode is similar in vein,
um, there is a distinction. Claude is a command line interface, and it's like-
-Mm-hmm -... just
doing and repainting things in your terminal, whereas OpenCode is a terminal
user interface, a TUI, where it's doing much more modern things it, in, in a way
that it's, like, able to render pretty interfaces and scrolling and, um, colour
support and all this other stuff, command palettes, notifications, et cetera, et
cetera. But the, the, the main difference, Claude locks you to the Anthropic models.
-You can only use- -Mm-hmm
-... what is provided by Anthropic. -Right.
-OpenCode is multimodal, multi- -And you have to have a subscription
-... provider. -You have to have a subscription-
-Yes, you've gotta have a subscription- -to Claude stuff
-... to that, yeah. -Yes, to Claude.
-So with OpenCode- -Sorry
... they, um, they host some models themselves that, depending on what plan
you're on, there are some free ones, there are some part of their Zen plan. They
just launched, a few weeks ago, their Black plan, which is, uh, you know, more
similar to what you'd be familiar with Claude Pro, Claude Max. But they allow you
to bring your own keys and use any provider, and they support OpenAI, they
support, um, Anthropic to some degree. There was a bit of hubbub about that-
-Right -... over the break because-
Anthropic sort of shut that down a little bit, yeah.
Yep. They support GitHub Copilot. They support, um, ZAI is another one I tried.
There's Minimax. There's, there's a list of, I think, probably 30 or 40 different
providers that you can bring your own keys, and they basically just act as an
-interface, and they give you a- -So-
... a much nicer interface to your models. And the, the, the best bit about it is
that you can switch between models from the same interface. So you might find
that, um, you know, Opus is the best for reasoning and for, um, for code, but you
might find that GPT is better for, you know, general house things. You might find
that Minimax is better for one thing, that, you know, all these different models
are, are suited for different purposes, and it kinda allows you to, to wield them
-quite easily. -And you can also use it with, like, local
-LLMs, right? Well, using Ollama. -Yeah, yeah, Ollama.
Right. And so to be clear, we're gonna talk about this real quick. So Ollama,
what is Ollama, right? So most of the models that we're talking about are hosted
for you. So Claude is hosted, um, or, uh, ChatGPT or the GPT models are hosted,
right? Um, Co- Copilot is hosted, but you can run your own large language models on
your own hardware if you'd like to.
-Mm-hmm. -So Ollama gives you the ability to do
that. You download a model, and then you run it on your machine, and then you can
use something like OpenCode to point to any of these hosted models if you'd like
-to, or to your local model. So if you're- -Mm-hmm
... very concerned with or if your company is very concerned with making sure that
everything stays local and does not ever get leaked out, that might be an option
-for you as well. -Yeah.
So, uh, running your own stuff on Ollama. Also, if you need more firepower than what
your machine can give you, um,
we actually just bought, at work, a NVIDIA DGX Spark, which is pretty freaking sick.
Mm.
So it's like a $3,000, $4,000 machine, which has got, like, a 128 gigabyte
NVIDIA, uh, GPU in it,
-and just ships with, like, Ubuntu on it. -Mm-hmm.
So you just set it up, and then you plug it in, and away you go. You SSH into the
box, and then you can run Ollama-... on there. You can put any of the models that
you want on there. Uh, I think you can run all the big ones as well. And so-
-Mm-hmm -... you can use that as a way to not
necessarily run it on your hardware on the same machine, but on, like, a piece of
hardware that's sitting next to your machine, right? So that's an option as
well. So, you know, if your company is really interested in investing in the AI
thing, but they're not-- they, like, you know, they have things with your... They
-have agreements maybe that says- -Yeah
... you can't do this. So they're like, "Well, AI is off the table." It's not off
the table. You just have to be creative, right?
-Yeah. -So this NVIDIA DGX Spark is another option
that you could use to allow yourselves to use AI, and you can use something like
OpenCode to only push things to that thing.
-Mm. -So that's an option as well-
-Yeah -... um, which has been interesting. Sorry.
Yeah.
Go ahead. So you're using OpenCode. You've got all these different models and stuff.
Yeah.
So what's, what's the journey been like for you? What have you been building?
So
just be- before we move on as well, OpenCode gives you access to different
providers and different models. Different providers can also offer the same models.
So obviously, Anthropic owns,
-owns Claude- -Mm-hmm
... and the Claude models, so it's gonna want you to use Claude. But there are
other providers out there. For example, um, GitHub Copilot does give you access
to, obviously, their compute, but also to the Claude models, to, you know, different
models that way. There's Amp Code, which gives you access to, um, Opus and Sonnet
-and things like that through there, so- -Tell me about that real quick. I don't, I
-don't know what that is. Tell... Can you- -So-
-explain that to me a little bit? I don't know what-
-No -... what that means.
No, I can't, 'cause I started using it three days ago.
-Oh. -I'll tell you what I did use it for. Um,
it was Aaron Francis who said, "Get Amp Code. They give you $10 free per day or
something, and use its Oracle." And so what I did, uh, which we'll probably touch
on in a little bit, is I built this application in, in Go. I've never written
-a line of Go in my life. I- -Okay
... it's simple enough a language to read, but I used, um,
the Minimax model to build this out, and then I opened Amp and I said, "Hey, Amp,
this is what I've built.
Go and look at the code and tell me, is this idiomatic Go? And use your Oracle."
And the Oracle is Amp's whatever, it's an oracle. And it went and looked at the code
that was built, and it gave me a, a plan effectively. "These are the things that
you can change to make this more idiomatic Go, to make it leverage, um, some
things." You know, over time, you're building this, and then you build this,
and then you build this, and then even as, you know, um, chisel, chisel in stone
developers, old, old people like us, we would build, you know, feature A, feature
B, feature C, and then you would look at that and then go, and, "Okay, where are
the abstractions? Where are the things that I can hoist up?" So Amp kind of did
that, and then I took that plan and fed it back into, um, the Minimax model in
OpenCode, to then go and implement it. So,
uh, the, the, the crux of the thing, I think is fairl-- there's two main ways of
doing this now, three main ways. You can vibe it, where you just, like, whatever
the code is generated, I'm just gonna use whatever's generated. There's, um, there's
this notion of, of roughing, where you kind of just give it a plan, you give it
a, a list of tasks, and you just run it literally in a bash loop, and it will just
pick the next thing off that it thinks it should work on. It'll have its acceptance
criteria test, static analysis, whatever you want to do, and it will just keep
running that loop until it's run out of things to do. And then there's the thing
that I've settled on that I think most
proper, quote-unquote, "software engineers" would do, and that is to plan
out your feature. Get, get this document. It's literally a markdown document that
you can put into your, uh, applica- or, you know, version control, store it in a
computer, whatever, and tell Claude, OpenCode, whatever, "Go read this and
implement it exactly." And so
I would spend thirty, forty minutes coming up with a plan, looking at it, deciding
this is, you know, these are the files I want to create, this is the folder
structure I want, these are the things I do and don't want to do, et cetera, et
cetera.
So you can use this plan mode, and then you can use different models. So, you
know, we use Opus for planning at work because it's, you know, more of a thinking
model. It's able to find its way through things. Once you come up with the plan,
save it, um, start a new session, switch over to build mode, use Sonnet, 'cause it,
it's quicker. It doesn't need to think about what it's doing, it just needs to
execute the plan. So it reads the plan, and it goes, "Yep, no worries," knock
tasks off until it's done. So, um, yeah, it's been, it's been a very interesting
month or so. You know, I took some time over Christmas and the New Year-
-Double- -Three-
... Can I, can I interject one question or one thing real quick?
-Go. Go. -The reason why you might want to switch
between models is because it's more expensive to use certain models, right?
-Yeah. -So something like a deep think model,
like, like Opus-
-Mm-hmm -... requires more tokens, and so you can
exhaust those tokens much faster if you're using Opus for everything.
-Yeah. -Whereas if you're just-
-Yeah -... using it for the planning mode, and
-then use Sonnet for the execution- -Yeah
-... that's fine too. -Mm.
Um, if you're on the max plan, like $200 plan, maybe it doesn't really matter.
Maybe you just use Opus for everything, right?
-Yeah. -Um, if you're a little bit more selective,
you can save yourself some tokens that way. Um-
-Yeah. -And, and one other thing, which is that
the big difference between these things and sort of using the chat window feature,
is that these have access to do things on your behalf-
-Mm-hmm -... but also they have the entire context
of the repository at their fingertips, right?
-Yeah. -So instead of having to p- paste the
context, you can just say, "Hey, over in this class here, I'm u- I'm seeing-
-Mm-hmm -... this sort of thing. I don't really
like how we're doing this. Instead of this, instead of doing this, could we use,
-like, Laravel's upsert method?" -Yeah.
"And, you know, inspect all the other places where we're using the suspend
system, and just get rid of those. I don't need those anymore if we use this
-upsert." -Mm-hmm.
And it'll just say like: "Yep, let me take a look," and it'll go through everything.
And sometimes it'll even be like: "Uh, here's the plan." When you go to execute
it, it'll say things like, uh, "Do you mind if I execute a artisan migrate or
like a PHP artisan make command to make this migration?"
-Mm-hmm. -So it'll ask, like, "Yes. Yeah, you can do
that, and don't bother asking again for this session," whatever. So
it's, it's doing things on your behalf. That- that's...
-Yeah -... And, and the big, you know, the
context, all the context that it has, that's, that's what makes it just
-super powerful. Um- -Yeah.
... super, super powerful. And one other thing, which we can talk about-
-Mm-hmm. -Which is MCPs, right? So-
-Yeah. -This was a big one that was really helpful
for me, is on the thing that I was building, I ended up having... Previously,
I had a designer friend that I had worked with, that had built some screenshots for
-me in Figma for how this should look. -Mm-hmm.
So I described the feature and basically the whole application to Claude, wrote up
like a, like a page of, like, instructions and said, "Make a plan." Made a plan,
executed the plan, had a great MVP, but it didn't look anything like what I wanted
it to. So I said, "Um, let's install the Figma MCP." Installed it-
-Mm. -Installed it, authenticated with it,
copied the link to the particular design, and I said, "I want it to look like this."
Mm-hmm.
And it said, "Yep, sure, no problem. You, you good with me executing this?" "Yes."
And it was like, "Okay," and it started downloading screenshots. It started
-downloading logos- -Mm.
- placing in my asset files, and then started matching screenshot or s- you
know, colors, offered to do fonts, Tailwind. "Can I configure your Tailwind
-config?" "Yes." Boom! Done. -Yeah.
-Freaking amazing! -Yeah.
-Right? That is wild. That is the- -Yeah
... That is the stuff that's just, like, so insane.
One of my colleagues... So we use ClickUp at work for project management, and we use
Figma for design. So one of, one of my, uh, engineering colleagues hooked up his
Claude to talk to ClickUp and to talk to Figma, and all of our application is using
the Mui framework for
-design- -Mui?
-- and things like that. -Mui?
Yeah, Mui. Yep. And so basically, what he said was, "Go and look in ClickUp and get
all of the requirements for this ticket." We then have a link to the Figma. It will
then go into Figma, find the components it needs to build, and because-
-Mm -... we're using Mui components in, in
Figma, and we're using Mui components in our React front end, it was able to just
snap everything together from the ticket
via Figma into actual React code. And so this is, you know, where we're at now,
getting things that are basically built. And, and, um, it's an, it's an interesting
-time to be alive because- -It sure is
... most of your time now is like, the other day, I spent thirty, forty minutes
prompting out a plan to implement something. I was gonna go for a walk to go
and get some lunch. I'm like: All right, I've spent forty minutes planning this.
It'll probably take ten, fifteen to get going. This damn thing was finished
-implementing- -Right
... my plan before I had finished putting my shoes on. And you may not know this
-about me, but I- -Oh
... do not have laces on my shoes. I've got slip-ins, usually, that I wear during
-the day. -You wear Kiziks?
-Around the house. -You got Kiziks?
-Uh, Skechers. I got Skechers. -Oh, okay, okay.
Skechers slip-ins. So I didn't even get a chance to put my slip-ins on before this
damn thing, after forty minutes of refining a plan, had finished, finished
implementing. So it is a, it is a wild time, but it's just funny. Over Christmas
and, and New Year, we, we had this workshop at the end of last year at work,
where we talked about what AI meant in our business, and how we wanted to use it,
and what we did and didn't want to do, and what tools we could and couldn't use
because of compli- you know, we're finance, with there's, there's compliance
things in there. So here's a set of tools that have passed our, um, you know, vendor
onboarding and all that kind of stuff that we're allowed to use. And so
I'm on the computer all day at work. It gets to the end of the day, I don't wanna
look at the computer again until the next day. So during the break, where it was
like family stuff, kid stuff, you know, relaxing, when I had some time in the
evenings, I was more inclined to wanna touch the computer. And I was like: Well,
now is a good a time as any to do this. So I started with this, this home assistant
thing, and that just blew my mind what it could do. And I thought, "Okay, what's,
what's the next thing we can do?" So I built, like, a, a small SaaS. I did a
Laravel new with a, with a Livewire project. I... And I said, "Okay, I have a
hundred and forty open tabs on my phone for articles that I'm never going to read
later. What I want to do, what I do all the time, is I listen to podcasts," right?
-When I walk, when I run- -Mm-hmm
-... when I'm doing stuff- -Mm
... around the house,
podcasts. I say, "Okay, what we're gonna do
is we're gonna build this little micro SaaS for myself, where I will give it a
link. It will go and fetch the link. It will summarize it, just, you know, to see,
okay, what is this all about? It will then generate speech." So it's not gonna
read word for word
what was written, but it's going... Because, you know, you- people have lists,
people have code, people have parentheticals, all of this kind of stuff.
So it will generate speech, and then it will generate an audio file, and it will
put it into a podcast feed so that it lands on my phone, and then I don't even
have to think about it. I can just listen to this article.
-Hmm. -Um, so built that, like four hours one
day. Start to finish, done. Right. Never would've built that myself. Something I've
always wanted, but nothing that I'm gonna spend, you know, days to weeks building
myself. Um,
I built, uh, this thing for... We used it for Laravel News. I said to you, when we
recorded the Laravel News podcast, "I don't wanna go through the last two weeks
of articles and find the articles, and generate the markdown, and put it into
Notion." And, uh, so I built...
I initially, like, the, quote-unquote, "MVP," was just asking GPT, "Hey, go and
fetch all of the articles from the last two weeks from the Laravel News website.
Give me a list," and I just copy-pasted that into Notion. I thought, "We're onto
-something here." -Yeah, yeah.
So I built out this little thing that for Laravel News, I just say, "Go and find me
all of the articles that were published between date X, date Y.
Classify it as releases, news, tutorials, packages. Um, generate the PDF. Generate
the show notes. Okay, we've recorded the episode. We've got the, the markers in
the, in the video file for YouTube. Go and match up the markers with the original
thing.
Put, put together the show notes that we can put into Transistor, into YouTube. Go
and generate the transcription.
Generate me the, you know, the, the chapter markers," all of that kind of
stuff. That's done. So now the, the only time spent on the Laravel News podcast is
you and I recording it, and then me editing it, which is really these days,
'cause we've been doing it for-... donkey's years, um, is just putting the
chapter markers in there. We-- Very low touch editing. I put chapter markers in, I
put titles into the video, and that's it. And so another thing done. Um, I built
this, this
thing in Go. I've never written Go before. I l-- I read it-
-Right -... and I'm like, "That looks like it's
doing what I want it to do." It's just... And, like, I've been hammering it at work,
you know. Work hours, uh, work days only last five hours now, because that's,
that's what your Claude limit is, if you can stretch it for five hours.
-No, I keep- -Yeah, that's how long until your tokens
-wear out, right? -Yeah.
You get five hours until it, until it resets again.
Yeah, we're on the API plan, and, you know, there's six of us... There's still a
couple of guys on, on leave at the moment. So there's six of us just
hammering this API plan and just burning through tokens. So we finally got onto the
-team- -Yeah
... plan now, and it's like: Okay, you've got five hours, use it wisely, kind of
thing. So it is, it has definitely been productive. It has... Like, I had to do
something with Scramble yesterday, where we've got spicy enums in our
resources, but it doesn't read them properly. And we had to try and figure
out: Well, how do we get
the values from a spicy enum to render in the same way that
native enums render in those Scramble docs? And, you know, off it went. It went
digging through the vendor code. It went figuring out, okay, I need to write this.
I need to, you know, hook into Scramble over here. I need to register the
extension. I, I would've spent a day on that, probably, myself, figuring out. I
said, "I don't wanna do that." You know, all of this stuff we're just delegating,
-um, and shipping stuff. -Yeah.
-It's just- -It opens so many doors.
-It's crazy. -And so, like-
-It's crazy -... the, the, I just read this article
-called Perfect Software, right? -Mm-hmm.
It's this idea of, uh, software for an audience of one, right? And so the idea is
that you don't have to buy something off the shelf anymore that is, like, cooked up
in Silicon Valley. Instead, you can say, like this guy did, he's like: "I want to
have... Like, I enjoy reading text that is justified, like left to right justified."
Yeah.
-Like, that's what they are. -Mm-hmm. Yeah, text justification.
-And he's like- -Yeah, true.
So, so I just basically said, "Hey, build a Chrome plugin that justifies text with
-one click on a website." Done. -Mm-hmm.
Built it, of course. I mean, like, of course, it could build that.
-Yeah. -Installed the plugin, and he's done.
Doesn't have to go find it, doesn't have to worry about, like-
-Mm -... it's selling his data, whatever. It's
just, it's done, it's installed, and he can use it.
-Mm-hmm. -So cool. Like, exactly the things that
you're talking about. It's like, I want to be able to do this, X, and all I have to
-do- -Mm
-... is prompt it. -Mm-hmm.
It's so awesome. So it's like you don't have to be, like, a 10X developer anymore.
You know, it used to be so jealous of these guys who had this time to just
kinda... I wanna, you know, Nuno Maduro, like: "Oh, I don't like the link-sharing
services that are out there. I'm gonna build Pyre," right? It's like, man, it
would be so cool to just be able to have the ti-- Like, we all have the time now to
-do that. -Yeah.
-You don't have to- -True.
-Like, you can be a- -Yeah, that's right
-... 1X engineer and just an itch- -Mm
-... to solve a problem, right? -Yeah.
-And it's, and that's it. That's all you- -Yeah.
And in your LLM, and you're good to go. And it's really-
-Yeah -... it's just like, it feels like you're
tinkering again. It feels like you're playing with code again. It's like-
-Yeah -... um, you know, I was talking to Andy-
-I've had some late nights. -Yeah, yeah.
I've had some late nights for the last few weeks because-
I was up till 2:00. I was up till 2:00 the other night doing this.
-I can do this. Yeah. -Just-
Because it's like, oh, I'm gonna spend three or four hours on this, but it'll be
-done. Before it was like- -It'll be done. Something that would've
-taken forever -... I would spend three or four hours on
it. Yeah, I would spend three or four hours on it before, and I would be tired,
and I would be angry at the computer, 'cause, you know, when you get tired, it
just... it's this, you know, missing a semicolon or pro- you know, calling the
-wrong method- -Yeah
... or something, you just don't even realize it-
-Or even, like, I don't wanna look- -... when you're tired
... at the documentation. I just wanted to-
-Yeah -... like, I know what I need.
-It's done. -I know what the words are that I need to
-do. -Yeah, yeah.
I just don't have to go look at the documentation-
-Yeah -... to do it manually.
-We have this, um- -And so-
-... iPad. -Yeah.
I had this iPad in the kitchen, and we had this, like, little dashboard on it. And I
used to have it so we could see the current power price, you know, to
determine, oh, should I, should the, should I put the car on to charge? Should
I run the air conditioner? Should I do the dishwasher, or whatever else? And then
this was another thing. I was like: Oh, I wanna do this up a little bit. We've got a
new, new solar system put in. We've got a new battery put in. We need to change it
over. So I said, "Hey, you know, AI, go and, go and do that. Rebuild it, change it
up." And so typically, we'd have just the calendar on this iPad, and I'm like: "No,
I want to see this power dashboard." And Rhi would be like: "But I need to see
what, what's on for tomorrow." So she-- So I, I said, "Hey, AI, go and hook into
iCal, you know? Go and look at our iCloud calendars, put them all on there. Show us
everything that's today. When there's nothing for today, show us what's
tomorrow." Oh, Rhi no longer switches to the calendar. And she, she mocked me
initially. She's like: "I can't believe you're doing this, like, this AI thing,"
whatever. Then she comes to me, and she goes: "Hey, can you put tomorrow's weather
on there?" "Yeah, done." Thirty seconds later, weather's there. "Done. No
problem." So, uh, she mocks me, but there's, there's just utility, and, you
know, for me to figure out how to get the weather in there and, you know, not
something that I couldn't do, something that I probably couldn't do in thirty
-minutes, you know? -Right. Yeah, but now you can.
Go and find the weather service, find that API, figure out... You know, nah, doesn't
matter. The AI can just do it.
Yeah, and it's actually been a little bit scary, uh, because it's been-- there's
been a couple of things where I would talk to one of my developers, and it'd be
like: "Hey, I need to do this thing." Be like: "Okay. Well, I'm... Hey, I'm heading
out for a doctor's appointment. Can I work on it tomorrow morning?" "Yeah,
sure." He's like: "Just, just write it up for me." "Cool. Well, I'm actually just
gonna write it up for the LLM." And I did-
-Yeah, save some time writing it out -... and I had two... Literally, I'm, I
wrote it up, and exactly what I would have written for him, I wrote for the LLM,
except for a little bit sloppier, and pasted it in. And it was like I had two
different versions of, like, experiments that I had thought about the day before,
and was able to basically get feedback from the team. Which ones do we-- Which
-one do we prefer? -Mm-hmm.
Okay, throw the other one away. I spent ten minutes on it. Like-
-Yeah -... doesn't matter. It, it's so cool.
-Yeah. -Another s- another cool strategy, which
I've seen some people do, is they basically... So Jordan Brill, actually, on
our team, said: "Do not do anything on the back end." Like, he instructed the
LLM, "Do not do anything s- like, um, back-end related. I- I'm just interested
in front-end, front-end exploration here. Here are the challenges I'm, I'm having.
Build me a front-end sort of, like, mock-up, but don't, don't worry about
actually persisting any of these things in databases-"
-Yeah -... whatever." Unbelievable, what it was
able to generate for him. And again, it's just throwaway. If you don't like it,
-don't worry about it. -Mm.
-Like, chuck it. -Mm.
Doesn't matter. Like, you've spent no time on it.
-Yeah. -Like, you've spent some, some tokens, and
-that's it. Um- -Yeah
... and so it's just great for doing explorations to sort of say, like, "Do we
like this? Do we not? Oh, that gives us some good ideas. Let's kind of move that
direction. Uh, we don't really need... Like, if we do need that part, how would
we structure that in the back end? Uh, we should-
-Mm -... adjust that this way." You know, so
like, um, it just allows you to sort of-... experiment, kinda go down the road
a little bit. Before, I felt like I would've had to have much more
justification to try something out, because you know, you're develop-- you're,
you're basically committing a day to it, like, one of your developers'-
-Mm-hmm --days to it. So you kinda would waffle
back and forth and like, "Ah, which approach is gonna be the best? I don't
know." Now, you literally just try both. Try them both.
-Mm. -Let's see which one we like better.
-Mm-hmm. -Ah, I actually like that one better. Let's
-go with that. -And with-
-And so- -With the, with the-
-Really, really cool -... with, with, you know, the advent and
the robustness now and the, the power of these, these tools, coupled with the power
of Git worktrees,
-you can, you can- -Ah, let's talk about Git worktrees.
You can, you can have... You know, you said you had two different approaches, why
-not three approaches? -Yeah.
Why not the same two approaches with four different models, you know?
-Yeah. -So worktrees then allow you to create a
branch and a working environment for each of these things. So previously, you
would've just cloned down the same repository four times. Well, now you can
clone down the repository once with your worktrees, and have four worktrees all
working on, like, feature A one, feature A two, feature A three, feature A four.
-Okay, we're gonna send Opus- -Can we, can we pause for a second to talk
-about this? -Sure.
Like, what Git, what a Git worktree is. So, like, I think we all know, like, a Git
repository, you pull down, right? But the, the-
-Mm -... the limitation with a Git repository
is that y- you can only be working one branch at a time, right? If you're on a
branch, and you have something in your working directory, and you need to,
like... Oh, an emergency bug comes in, you have to, like, either commit, or you have
to Git stash, and then you have to switch back to master, pull down master-
-Mm -... and make a new branch and do all that
stuff, and it's like, you can only have one thing working at a time. That's
challenging, especially if you want to have two different things going on at the
same time on your own machine. How do you do that?
-Yeah. -So what you said is, the solution used to
be, you know, just clone down multiple things, and then kind of it-- you know,
you'd Git cd into each directory and do it that way.
-Yeah. -Worktrees are the solution to this, and
they are baked straight into Git. This is not a-
-Yeah -... like, extra feature. This is a Git
-thing. So, um, go ahead. Like, a, a Git- -Yeah
-... tree then is what? A worktree. -Yeah, a worktree is just a, basically a
directory that points to some branch in your repository, and you can have multiple
worktrees all pointing at the same branch
if you really wanted to. I probably wouldn't do it at the same time, but, you
know, four branches, four worktrees, and like I said, you could have Opus working
on one, you could have, uh, GPT working on one, you could have Sonnet working on
one, and you could Minimax, GLM, whatever, pick another of, of the models. "Here is
the same plan for all four of you. Go implement." And it-- and you've got four
agents, four models, all working on the same thing. "Look, pick which one you
like. Pick which is, which is the one you wanna have in there," and they all do it.
So, um, yeah, I, I'd been using them for years and years because I was often
reviewing other people's code, looking at other things. So if I was working on
something,
and I would have to stop because I wanted to pull down a PR to look at it locally,
'cause, you know, sometimes, most of the time, it's not great to just look at it in
the, in the GitHub UI. You want to pull the code down, feel around, click around,
see, see what it is. You'd have to, you know, do a whip commit, stash your
changes, change branches, come back to it, you know, half a day later, forgetting,
"Oh, and I forgot... forget about the stash. Where'd that code go? I don't know.
It must be lost somewhere," you know. The worktree solved that problem, because you
can just have everything and just switch directories and, um, and do all that. So
I, I built... This is the, this little Go thing that I built, um,
which
doesn't-- like, it wraps over the top of Git worktrees and just gives you, like, a
nice UI, a nice, um, interface to then create worktrees, spin up new projects,
um, work and move between all of these different things in a simpler way. With
the, with the, like, idea in my head that you could say, "Hey," um, tell your AI
model, "Go and, go and create a new worktree and go and explore this plan in,
in that directory," and off it goes and, and does its thing. So
it was, it was... I saw, I saw OpenCode has built this functionality into, I
think, their GUI. I don't know if it's in their command line version at the moment,
but I saw a video. I literally finished exporting the video that, that I published
on, on Twitter, and I saw that the OpenCode guys had, had posted a video
saying they've got workspaces in OpenCode now. So, um, it was more-
Worktrees in, in OpenCode, it'll do it in there.
-Yeah. -Yeah.
Yeah, workspaces, I think they're calling it, 'cause then they're saying-
-Okay -... you know, your workspace may not
necessarily be a Git worktree. It could be, like, a, a Docker environment or, you
-know, some third- -Sure
... um, remote service or whatever. But it was more an exploration in, um,
how, how do I use these tools to, to craft something where I'm not, I'm not the
expert in the language?
Putting myself in the shoes of, like, "I know how to develop software. How would I
apply this to build something that I would never build myself?" Um,
which, which was an interesting experience. I learnt, I learnt a lot. Um,
you know, having, having one model build it and then having another model come
through and review it and say, "You know, this is not the way to do it. I would do
it this other way." Creating a plan and then, you know, bouncing, and then you
learn, you know, which, which models are good for which things. I mean, you could,
if you wanted to burn all your tokens and all of the trees in the world, use Opus
-and just only use Opus for everything. -That's what I do.
Great! But- ... Opus, you know, and this, and this is where the, you know, the...
Yes, you can do that, but it's ex- it's more expensive in terms of, like-
-Sure -... consumption of tokens. So you use the
smart models, the reasoning, the thinking, whatever models you wanna call them, to
come up with the plans, 'cause they will think about the edge cases. You know,
you'd say: What have I missed here? What do you think I should explore? Is this a
good idea? Yada, yada, yada. Um, and then once the plan is written, you get it to
write it to a markdown file. You start a new session, and you say, "Okay, let's
switch to Sonnet or Minimax or GLM or whatever, whatever, GPT, whatever. Um,
here's the plan. Read it." It may have other questions. Ask me, you know, if you
think there's anything missing, um, and then off you go. And then, you know... So
where, let's say, an Opus token counts for one, you know, one, one token is, is, is
$1. Well, a Sonnet token, for example, is 50 cents. So you could do twice as many
-tokens with your Sonnet model- -Yeah, yeah
... than you can with the Opus model. But when it's, when it doesn't have to think
or-... determine, you know, do I want A or B? Do I wanna create this file or that
file? No, it's just executing the plan that you've already written. So there's no
thinking involved. It's got fresh context. It can just burn through it.
Takes a couple of minutes. Um, you all know this 'cause you've all been using AI
for six, 12 months, whatever, already. I'm late to the game. I'm as, as excited as
-you were. I'm sorry that I missed this. -Mm-hmm. Well, I mean, honestly, I feel
-like, for me- -I feel like it's only come along in the
last two months or so, though. Like, since Opus came out, which was Oct... I think
October, November last year, like, that's where w- where we saw this real shift. Um,
-and, you know- -Mm-hmm
... the start of this year, where we started to see a little bit of fallout
from all of the, the changes come to a head, I think so.
Yeah. I read an article the other day, and I'm trying to find it right now, but it
was essentially, you know, a year ago, you know, people were saying, like: "Oh, it's
gonna, you know, replace all these jobs of m- mid-level developers," and it was
like, not a chance. And I read an article the other day where, like, after Opus 4.5
was released, they're like: "Nope, that's actually true. That's actually true now.
-It could." -Mm-hmm. Mm.
Um, I don't think it's gonna replace jobs. I think it's just going to... People who
don't know how to use AI are gonna be outpaced by those who do, and so there'll
still be people at-- There will still be a human at the wheel a lot of times, right?
Um, if you're using it responsibly and wanna maintain a code base that actually
is gonna live for longer than a year, right?
-Yeah, yeah. -You're gonna have to sort of be
intelligent about how you're using it, but, um, yeah, I mean, I've already seen
this in our own organisation. It's like, you know, one of our guys was just like
flying. I'm like: "What is he doing?" Well, yeah, he's, he's using a lot of, uh,
tooling, and it's not that he was being lazy. He's literally just being efficient,
-just work- -Yeah
... ripping through this stuff. So shout-out, big shout-out on our team,
honestly, Andy Hinkle is, uh, the dude who's been pushing this so hard.
-Mm. -Like: "Hey, you guys gotta start using
-this stuff." Um- -Yeah
-... and so- -Yeah
-... really, really neat. -Well, I just mean, uh-
And he's actually doing some... I, we should have him on the show sometime. He,
he's building, um, some of our own models, like, to, you know, like I was talking
-about, like, on our, on code stuff- -Mm
... um, no big deal. Like, we're not actually hi-- you know, handling any
private information, but when we start dealing with actual data-
-Mm -... that's where you've gotta be careful.
-Interesting. -And that's why we have that-
-Yeah -... um, DGX. It's like we're, we're
pushing stuff to that because that's internal, not going anywhere.
-Mm-hmm. Mm. -And, uh, we're actually training-- he's
training
some of our own models on some of this data, which is really exciting. Super cool
stuff. He understands it so much better than I do, but yeah, we should have him
talk about it, uh, sometime, have him on to talk about it. And he also has been
doing this really cool... He introduced me to this thing called the circuit breaker
pattern today. Um, yeah, I'd have to have him on to talk about that sometime, too,
-but- -Interesting.
Yeah, good, good stuff. Really exciting. Okay.
-Um, yeah- -Real... Go ahead.
I think there, there's been a lot of doom and gloom about developers being r- I
think... Yes, I, I mean, I've got, I've got a friend who's built, um, he built,
like, an iOS app that he sent me a test flight link for, which is just when he
makes coffee, he will record the grind size, the brewing time, what it tasted
like, whether he liked it, whether he didn't like it. He'll take a photo of the
latte art that he did on it.
This is a UX guy, no coding experience. Just this, this is just what people can do
now. No one-- no, no market for it. It doesn't matter. I will use it, you know?
It's always been... Laravel wouldn't exist if Taylor wasn't building it for his own
needs. The good things will find a market for themselves. I think we're gonna see a
lot more stuff come out, and we have been seeing a lot more stuff come out. I think
the doom and gloom is, is an interesting prospect. Like, Salesforce fired four
thousand people, and then I think, uh, the CEO or whatever came out a couple of days
ago and was like: "Whoops, made a mistake. We actually need all those people
back. AI is not quite what we thought it was." So, um, I think there's still going
to be space for people like us because people still need to understand. Um, yes,
you can ask the LLM to just go and fix the problem, but eventually,
any, any of us that have used it, that have just, like, built without thought,
um, you'll find yourself in, in a hole. And so there's still gonna be a market for
us to, to kind of do that kind of work. But as developers, I think we
always found ways to optimise our job. You know, for years I've been given, you
know, "Do this task, do this data entry. We need to ingest this," you know,
whatever. We write scripts to do that. Like, this is the next evolution of
writing a script to do that, so that we can focus on, less on the, the
boilerplate, the boring stuff, all these conversations that have been had-
-Mm -... over and over again, you know? And
again, I know I'm late to this, and I know I've, I was a naysayer, but I've caught
up, all right? We're here. We're ready to go.
-Yep, and it's great. It's exciting. -This will not turn into the AI podcast,
-though- -I love it
... but it's just, I think, given, given that we took the plunge, both of us, kind
-of at the same time, separately- -Yeah
... but together, um, we took the plunge. We, "Oh, okay, we missed-- we, we, we were
-late," but I think we're there now, so. -Yeah. I mean, I've always, I've always
been a late adopter. Honestly, I, I don't feel-
-Mm -... like it's, it's killed me. I, I feel
like, um, I, I can't say I've always been a late adopter, but it's like specifically
with these things, it's just we've got a lot of stuff that we need to actually get
done, and so if there's something that's a flash in the pan, new thing, like, I'm
probably gonna wait for a bit to kinda jump on board with it, right?
-Mm-hmm. -Um, and
i- in this case, I don't really think I missed much. I think we got on about at
the time where it's like, it's reaching really good productivity levels.
-Exactly. -And it's like, I, I missed, I missed sort
of the experimentation phase of a lot of things and let some other folks figure
that out, and now it's like, yep, I can jump right in and be very productive. All
-the tooling is already built out. -Yeah.
All the MCP stuff for Laravel is built out, all done, and all the bugs and kinks
are worked out, like, it's, it's a really great time to jump in. So if you have not
done so yet, try it out. Um, suggestions for if you're just getting started, um, I
think that if you want to just dip your toe in, I think OpenCode is a really good
one to just get started with. Just try it. You can use some of their hosted models
or, um, you know, like you said, AMP has some free stuff. So find one that's free
and just try it out and see if you like it. If you do, I think that
you should try Opus. I think that you should get like a... It's, it's a twenty
-dollar a month plan. So twenty bucks. -Yeah.
Try it out. You're gonna get rid of-- You're gonna eat all your tokens right
away at first, 'cause you're not gonna know what you're doing, and you're just
-gonna exhaust them. -Mm-hmm.
You'll figure out how to switch between, um, between models, between Sonnet and
Opus and all that stuff, using Cloud Code on your desktop. Um-... but you're gonna
be able to create some pretty crazy stuff pretty quick, and you're gonna realize the
power of it very fast. So if it's a $20 investment, try it. It's really, really
worth it, and it's not bad. It's not bad to install it and get it going. It's, it's
-pretty simple. -Yeah.
Um, so yeah, the, the learning curve is just there isn't one anymore. It's very
simple. It's, it's like if you can install anything from Homebrew, you can install
-Claude Code and get going. -Mm-hmm.
Um, so
well worth the time, folks. Jump in. It's good stuff. All right. Um, I was going to
say one more thing about sort of what, what I've built with mine. So I had a
friend who was asking me to help with a project.
I had committed to it. This is the one I was talking about, and I was-
-Mm -... supposed to meet with him, like, the
next day to sort of show this project off. I had all the designs, I had all the
concepts, but I hadn't even started building it at all. Like, that's why I was
like, okay, started at, like, 8:00 o'clock, and I had it done by, like,
midnight. Like, completely done, front end, back end, saving to the database,
doing local storage stuff on the front end, validation, view. Um, I don't even
-write view stuff, but it was all- -Yeah
... like, single, you know, single view component.
-Yeah. -So it was really snappy. Um,
unbelievable! Unbelievable. And that was my first time using it in a three-hour
span, and I was like,
-"Sold, done, never looking back." -Yeah.
And I immediately bought... Like, I was on the $100 plan by the end of the night. I
-was like, "I'm- -Mm
-... I'm in." So crazy. -Yeah.
-So crazy. So- -The interesting thing is, it's, it's
possible, and
I, I wonder how far the pendulum will swing to, like, everyone can build
-whatever they think of. -Mm-hmm.
Um, 'cause, like, lots of people build stuff now and find no users. So yes, th-
this is gonna enable people to build anything that they dream of. That doesn't
mean that it solves all the other problems: marketing, having, finding a
customer base, you know, people to use your thing. Maybe it doesn't matter. Maybe
just building
20, 30 things for yourself to, to solve, you know, miscellaneous little problems.
But, uh, it'd be interesting to watch the pendulum swing. 2026-
-Yeah -... will be an interesting year, I think.
Absolutely. All right, folks, well, hey, let's wrap it up there. Uh, episode 185,
-is that what you said? -Hmm. Yep.
Yeah, 185. Find show notes for this episode at northmeetsouth.audio/185. Hit
us up on Twitter, on X, @jacobbennett and @michaeldrenda, @northsouthaudio?
-Mm-hmm. -Think so. Um, that's it, everybody. Rate
us up five, five stars in your podcatcher of choice.
-Loving this stuff, man. Loving it. -Right.
-It's fun again. It's fun again. -It's, seriously-
It gives me autonomy. I don't have to ask everybody to do stuff for me, like, 'cause
-I don't have time to do it. -Yeah.
I literally just ask my agent to do it, and it's done.
-Yep. -So fun.
-Here's a proof of concept. -I'll stop.
-Go, go deal with it. But yeah, it's good. -Exactly. Exactly. All right, everybody.
-Yeah. -Sounds good. We'll see you next time.
-Peace. -Bye.