Episode 19: AI Engineer Anti-Patterns + more

Published: Sunday, Jan 25, 2026 • Duration: 89 minutes • Season 1

AI Engineer Anti-Patterns + more

Download MP3 | Watch on YouTube

I demonstrate https://clawd.bot/ & WhatsApp integration.

We touch how type checking is not done enough in Python https://docs.astral.sh/ty/

We speculate what’s the “Next big thing” in Infrastructure… better state management with https://stategraph.com/?

https://handy.computer/ dictation (speech to text) is shown

We try capture what the the AI lifecycle looks like right now.

Show notes: https://docs.google.com/document/d/1zoc-0L1o1Cyxtgatb9fN_ZGBGbshZIb9BTzwEj0C4Gc/edit?usp=sharing

Kai will be at https://fosdem.org/2026/ & https://cfgmgmtcamp.org/ghent2026/ next week … say HELLO if you see me!

Watch on YouTube

summarize "https://youtu.be/0lQTnRKHVdM" --timestamps --slides

Conversation between two engineers touching infrastructure tooling, a hosted assistant integrated into messaging, the role of type checking in infra, speech-to-text experiments, spec-driven development and tests, and repo hygiene debates.

Slide 1

CDK fork pre-release and multi-language tests

They prepared a pre-release of a renamed CDK fork with a full green test suite and published packages for multiple runtimes; integration tests passed for Java, .NET, Go and Python. Packaging work included updating build settings (Maven/NuGet equivalents) so consumers can pull pre-release artifacts. The hosts note that while the CDK ecosystem exposes bindings to many languages, most adoption concentrates on TypeScript and Python, and non-JS runtimes often run slower because the multi-language kernel launches a Node subprocess as a bridge, adding latency compared with native JS execution. They also discussed how an upstream infra tool moved internal APIs behind an “internal” package in a recent major version, which broke previous direct reuse patterns and increased the friction for language bindings.

Slide 2

Hosted assistant on messaging and cron prompts

One engineer demoed a hosted assistant they deployed to a small server and integrated with a messaging app so a household group can message the assistant (text, images) without launching a separate app. They run scheduled prompts (cron-style) that ask the assistant to check URLs for weather warnings or announce upcoming events, and link the assistant to a web-search API to improve internet lookups. The deploy ran fine on a low-power single-board computer, and the presenter used a phone as an external camera for demos.

Slide 3

Type checking as a shift-left safety net

They argued that strong type checking is “absolutely critically important for infrastructure” because it provides fast, local feedback and prevents novel runtime failures; a Python type-checker was used to sanity-check code during a large rename, avoiding expensive synth runs. The discussion contrasts a types-first CDK approach (which leverages TypeScript-style schemas and composable constructs) with the dominant state-based infra tool that exposes weaker schema validation at runtime. The hosts explained that many orgs build private, strongly typed libraries around cloud services to get consistent platform interfaces, and that a network effect is required to make such libraries widely useful; one pragmatic path is automating porting between high-level typed constructs and state-based configs. They also described alternatives to monolithic state locking, where a “state graph” or row-level locking over resources can decompose state operations to reduce contention and enable finer-grained applies.

type checking uh is absolutely critically important for infrastructure

Slide 4

Dictation, editing, and prompt size trade-offs

They tested a speech-to-text tool for dictating prompts and notes, noting it captures literally everything (stutters, mid-sentence corrections) and that an additional AI pass can clean and summarize those transcriptions into usable prompts or prose. The hosts warned that larger prompts and excessive context can worsen AI output quality, so they favor concise, precise inputs over huge context dumps. Practical workflow: dictate → run a cleanup/edit pass with the model → use the cleaned prompt for planning or code generation.

the bigger the prompts the the more context you have the the worse sort of experience you have with AI.

Slide 5

Spec-driven flow, VIP coding, and test generation

They outlined a two-phase delivery model used by an organization: phase one is human-led specification (requirements, acceptance criteria, steering documents) and phase two lets agents implement tasks once validation rules are in place. A spec-driven tool generates a design, extracts a task list (required vs optional), and can represent dependencies so teams can focus on a minimal viable slice before expanding. The hosts discussed model-selection trade-offs (use a higher-quality model for planning, a cheaper model for code generation to save cost) and described automated test generation: the design phase can produce machine-parsable test descriptions so agents can generate property-based tests or other automated checks from explicit “always/never” rules, increasing confidence in generated work.

Slide 6

Repo hygiene, AI-managed repositories, and community reactions

They debated what constitutes repo hygiene: one view is human-readable structure and clear tooling; the other is that if an AI agent has the skills, rules and steering docs to iterate reliably, that repository is “hygienic” enough. A social-media post mocked a project as “AI slop” after an acquisition, which sparked reactions and highlighted how quickly public commentary can misread agent-driven repo artifacts. The episode closes with practical notes: the speaker plans to cut the CDK fork pre-release, attend infrastructure conferences, and keep iterating on integrations, while acknowledging the ongoing trade-offs in tooling updates, environment fragility, and the costs of running models and inference.

Model: openai/gpt-5-mini

Transcript (auto-generated from YouTube captions)
Hello. Can you hear me? Oh, the video is
already on.
>> Oh my god. What is that? I didn't even
see that.
>> It's daylight. It's day. But
>> sorry, but can't tell when you're an AI
engineer what day of time what day of
time it is. All I know is when my
credits renew.
>> Ah, yeah. Uh, are you are you upgrading
the plans yet?
>> What do you mean upgrading the plans?
>> I I read several people that are like I
used to I used to switch between Gemini
Claude Code and other and Codeex and now
I'm all in on on Claude Code and I'm kind
of in the same boat. [snorts]
>> Yeah, I'm all in. I'm all in. I mean,
that also gets to a point of the I would
like to talk about with the with the
latest Theo's video. Theo's video.
>> I haven't seen that one. This is the
Theo's video reaction podcast for all
those who are listening.
H Oh, I just I just want
>> How did you get to cloudbot even?
>> Um yeah, I did. I didn't even I set it
up. I was maybe going to show you that
if you haven't seen it already.
I wanted to um ask you.
>> Okay.
>> Yeah, I just wanted to check in with
you. How's your week been? cuz it's been
like 2 weeks since we spoke last.
And I wanted to add there was another
storm in England called Storm Ingrid.
And that means that the train line
between my station and London has been
cut off until they fix it, which is
freaking me out.
Sounds painful.
Yeah,
my week. Um, it's actually very exciting
because we've got a full green test
suite on the rename of the Terafhone
CDK. So, we're going to cut a
pre-release giving anyone the ability to
pull it from the package registries, you
know. Um, so I'm setting up the the
Maven and Nugat doing settings now. So,
that
>> what do you need? Maven is a Java build
system. You need that for CDK.
>> Yeah. Uh CDK for Terraform is published
and available in all the gsi languages.
And it was actually easier to just
rename and get the thing like all of the
integration tests are passing Java,Net,
Golang, Python.
>> Oh, so you support you support like
every language under the sun.
>> No, the the gsi question uh languages,
right? the the ones that are supported
by the CDK cloud development kit.
Although they if if you look at the
ecosystem, most people only or most
projects only support uh TypeScript and
um Python Python these days. Yeah, some
don't even support Golang. I don't
understand. I really like Golang, but
it's it is a bit slow. When I run the
tests, they are very fast on uh on on
several uh languages, but they're a bit
slower
on on Golang. I don't if you I don't
know if you remember TJ Hollywood
Chuck's uh apex app but he he wrote his
tool
in Go and I think it inter interacted
directly with Terraform which makes me
think that Terraform has some cool go.
Oh, very much like the whole of
Terraform is written in in in go
although that that um Hashi Cororp has
moved more of the interfaces behind an
internal uh package so that you cannot
access it externally like before 1.4
four. I think you could basically use
any library that Terraform was using
under the hood directly because they
weren't using the internal one, but then
they moved it for I it makes sense in
terms of encapsulation and so that you
can uh
>> Yeah. So, it makes me think that if
you're if you're working in Go
and you have your little Go program,
>> Yeah. But doesn't work,
>> you might as well just integrate
directly with Terraform or something
like that is what I'm thinking aloud.
>> Oh, I see. Um,
yes and no.
>> Yeah. And for complicated things maybe
with
>> No, but the thing is right um the way
that the CDK works is it um
it basically has [snorts] the core
written in in JavaScript, right? NodeJS.
And when you run it in Java or Golang,
and that's probably also why it's slow.
It's actually running a Node uh
subprocess. And and I think one of the
things that that people are trying to do
is to get that kernel that uh gsi kernel
system in in boon. It would be a lot
faster than having a whole GS process.
Yeah.
>> You call it sorry
>> you call it boon.
>> Boon. Boon is Vietnamese way of saying
>> rice noodles.
>> Bun.
>> Yeah.
Yeah. So I can show you clawbot because
I just have a tab open. I noticed.
>> Yeah, sure. It just sounds I don't know
when I read about it, it sounds like
something.
>> Well, the hype is the the hype is crazy
right now. So,
>> yeah.
>> So, essentially, I got you remember I um
I showed you that
>> had my Yeah, multiple IPs. I basically
got this running in a in a
systemd end spawn. So, I didn't run out
and buy a Mac Mini. I just set it up
um
on my Raspberry Pi and it was plenty
fine enough. So, I feel like this
Claudebot should be getting a kickback
from all the Apple sales because the
bronze is just fine on a pie. And of
course, I configured it with uh with
with anthropic stuff. I'm hoping I don't
uh show anything
>> for cloudy or something crazy. Yeah, but
for cloud bot it's not it's just still
running in inference remotely, right?
There's no local no local LLM at all,
right?
>> Well, I think that that that's where
people are buying the Mac Mini is
because I think there's a promise
>> that they can run the local LLM, but I I
mean I don't
>> I don't really see the point.
>> Not too sure why.
Yeah, because [snorts] there's a
resurgence in people talking about
getting an MAC Mini for uh I think it's
for GLM, right? Because there's this
project that came out that um binds
Claude Code shell using a proxy with the
same bindings that that Antropic uses
and cannot avoid. People say this is
quite a solid way of um using GLM. Uh
>> what's what's GLM? Sorry.
JM I think it's is one of the Chinese uh
but it's on hugging face it's like an
open source
>> so everyone's sharing about how great it
is it's from z.ai AI
>> that's Chinese, right?
>> No. Well, the cool thing about the the
thing that there's two things that have
sold Claudebot to me is that I can
interact with it on WhatsApp. I even
have a group between my wife and I and
now we can just directly talk so uh talk
to to Claude through WhatsApp. We could
leave messages. You we could send
pictures. So instead of like launching a
dedicated
app, it's just the familiar WhatsApp
interface. So that's that's that's the
killer
uh use case for using Claude for hosting
Claudebot. And then you you link it you
link it up to WhatsApp just like any
other client and you can just talk to
it.
Um so that so that's great. And and I
guess the other cool thing about
uh Claudebot
is
see it's running on one of my IPs. Um I
guess the chron jobs I mean I I don't
know how you would do this with claude
or or codeex or whatever. Like for
example,
like you you can set up a a chron job
running every so many hours
[snorts]
>> and then you and then you just prompt
it. You say like check this URL for
weather warnings and give updates
and then also I have another one called
announce tomorrow's main event games.
>> You have a lot of storms so you need
weather updates to the minute now.
>> [snorts]
>> Yeah,
we have a lot of storms, but to be
honest, I'm not too sure if this is
actually working.
We still have we still have another
weather warning,
run,
and maybe I give you a demo on the um on
the phone.
I have to switch my
>> You actually have an external camera.
That's pretty cool.
>> I use I use my my phone as the external
camera. Oh,
>> maybe I should do that on my on my Omari
setup cuz I have like this USB camera.
It's really bad.
>> Okay, so let me show you what the
experience is.
>> Oh, there's one big news also. System
initiative.
Okay.
>> Oh, yeah.
I saw it on LinkedIn myself.
>> Uh, say hello to Vincent
in Vietnam.
What's the weather there?
What's the [snorts]
weather there?
So, you basic So, I have it sort of
chatting to myself. You see Kai Hendry?
It's like configured to chat to me in my
own. Why you don't use Telegram? I think
Telegram said a bot would be easier than
WhatsApp. WhatsApp is painful.
>> Yeah. And I have it hooked up to
anthropic. So basically this should be
an anthropic answer. And I've also
hooked up the Brave API. So it should be
able to do web searches better.
Um
and what did it say there?
>> Yeah, nice. It's like 48°. Uh not 48.
What does it say? It's it's actually
quite chilly these days. I don't
>> I don't understand how to get rid of the
bloody keyboard.
>> This is a And then of course it knows
where I am. So So say hey Vincent
something in Vietnamese.
>> What? 16° in Hanoi. You see the problem
with 16° consider 88 humidity. That
makes it like double double cold. If you
have like I used to live in Belgium
where it was like minus like subzero and
it felt warmer than Hanoi because Hanoi
16 degrees with that humidity is just
annoying. You know all your clothes
clamp to you. [snorts]
>> Oh yeah. Cling in.
>> Yeah. Cling. And and then the the the
houses, they have like these paper thin
walls and and and um and windows and
there's no central heating like like if
you're in in Europe, you you go home,
you take off your coat and you're in
cozy inside your house. And when you
come out, you still have all of that
warmth inside your body and you don't
feel the cold for a while. But in in
Hanoi, you're you're wearing a jacket
inside the house. you're in this
humidity and when you go outside, you're
already freezing before you go outside.
So, you're just constantly cold. That's
how I feel about living in Hano.
>> But but wait a minute, you're in Ho Chi
Min, I thought.
>> Yeah. Yeah. But it's it's going to be
Lunar New Year, and my my uh
family-in-law is from from the north, so
I'm going to have to go. I've I've
avoided it. But Lunar New Year is always
in this uh January time, and then it's
always cold.
>> Oh, no. So, your your wife is from the
north, is she? Huh? Yes, yes, yes.
>> Oh, well, so that Yeah, that's
Claudebot. Yeah, I saw the system
initiative news because I I should
actually be
>> What news did you see though? Because
it's actually much more spicy than what
it looks like.
>> Okay, so first order is that there's
Fosdom next week. I'm going there. Um
>> and and Adam is going to be there. Adam,
>> there's there's this thing called config
management camp. I think I told you
about this.
>> Yeah. Yeah. Yeah. And you said that you
were really excited to get the demo of
system initiative from them and I was
still sure you're going to get it.
[laughter]
>> Well, no. I mean, I've I've had the I've
had the spiel a year or two ago,
>> but this I this conflict management
camp, if you're an infrastructure
engineer, I think this is probably the
best
uh
the the best infrastructure sort of
centric
conference I've ever been to. But yeah,
last year I bumped into Adam there and I
had I had a good old chat.
>> Adam Jacob is giving a talk.
>> Yeah. So,
who
>> the CEO and co-founder
and now the only employee.
>> Yeah.
So the news that I saw on LinkedIn was
um a person called John posting that
system initiative is ending and I'm
looking for a new position.
>> I saw that
>> and then the repost from Adam Jacobs
being and the funny thing is about
LinkedIn if you put paragraphs it only
shows the first paragraph. So so Adam
Jacob reacted with like John is a really
great person to work with. anyone who
has the opportunity to hire him is lucky
blah blah blah and then there was like
this little more dot dot dot right and I
hadn't opened it and it was like oh wow
SI is shutting down unfortunately or
fortunately you have to click the more
and below the fault he says and SI is
not shutting down it's just drastically
reduced
>> and that was very funny to to post it as
a second paragraph because it really
made it not look like if you didn't look
carefully it really looked like SI is
shut down But
>> yeah, I mean I mean I mean that's the
what do you call it? every startup
sort of
>> well it's not a startup right how much
VC only did they take and how long have
they been like working on this like four
or five years already you know I've
heard about them back in
>> I think the first years the first demo I
saw was two years ago maybe max
>> okay Google the total VC money raised
and when it was first announced I'm
betting it's around 2019 or 2020 that it
was Well, I don't know how much VC you
got. I mean, it this is just the story
of every uh startup that doesn't quite
succeed.
>> Well, I just don't think it's very fair
because fair or what?
>> Because they just raise money like it's
water because of their legacy.
>> That's normal. That's normal, man.
That's normal. We're as Europeans, we're
just not used to like
>> Yeah,
>> that's the whole thing about
>> about this whole um what's happening
between Europe and America now and
everyone saying every [snorts] startup
that in in Europe, you know, tends to be
successful just leaves Europe and raises
money in the US and
>> um you know, being out in the US.
>> Come on. You need a you need a bunch of
cash to hire like a couple of good
engineers for Christ's sake. So,
>> I think you should have a working demo.
>> I I guess he did have a working demo.
>> He did have a working demo. He did have
a working demo. And I guess if you told
me that they had customers and they shut
down, then I'd be going, "Oh."
>> Yeah. So, so my opinion about SI is I I
was informed about it like back in 2020
as some exciting new startup. I looked
at it maybe at the glance. Then at the
start of the year 2025, I was looking
for something to um invest my time in
like an because I worked on my own
project and that's kind of fun but it
doesn't really help with like it doesn't
have a lot of visibility right it
doesn't really prove much because
there's no adoption. So I was looking
Well, it depends, right? If you can get
your
>> So So you you've been sort of comparing
your your projects to
>> No, no, no. I I was more like I'm I was
looking at what is then if if this isn't
it what I'm working on, what is the next
thing and then I si came on my on my
radar again. So I went to the discord
asking like in January exactly a year
ago asking um like how to contribute and
like and not asking just saying as an
introduction that I will I will you know
spend some time into looking for a
project and and one of the SI people
sent me a list of you of code to look at
like here's the core way that we
interact with the cloud API this is how
we we do this and how we do that and my
first impression
I just exited the discord at that point.
I was like that's not how I see the
future of IC at all. Um I understand the
underlying principle of of a
programmable
graph of nodes
and that's also what you you get with
like terapform provider AWS. It has a
graph
>> and and system
initiatives uh visualization I thought
was the uh
was the wheel.
>> Yeah. But [snorts]
>> I've always [sighs and gasps] I've
always been a huge fan of of code first
approaches. Even when I look at like the
uh entity framework like on net back
with Microsoft, they had three ways of
using the .NET entity framework. You
could do quote first diagram first or
database first. Schema first. And I
always really preferred either schema
first or database um first. So you have
an existing table and you extract it.
And and this this idea of drawing a
diagram and then having the code
generated from it never really appealed
me cuz you don't have the flexibility or
power to define what you mean with just
a diagram. Like a diagram is like
two-dimensional representation. I just
don't think it's a it's a very good way
of of capturing information. I think you
can generate a diagram from code. That
makes sense to me. Um,
>> you can annotate code with with with
decorators that indicate or or and some
type of indicating this is how you
visualize this stuff on on a diagram.
That makes sense to me.
>> Yeah.
>> The the sort of revel [clears throat]
so I I I might have mentioned this CDK
upgrade last chat that we had. Right.
So, and it was kind of ruining my life
because I I told you there was like two
years of breaking changes or something
like that.
>> Yeah. classic IC problem because IC is
treated as as is is called code but it's
not really treated as code. So so people
don't put in proper CI/CD and stuff.
>> I'm not too sure I got into the details
about the the Kinesis uh library going
stable and blah blah blah blah.
>> Yeah, I think you mentioned it.
>> The the thing was is that
the code base is huge. It is huge. It's
it's a very big organization, very big
landscape and running CDK synth is slow
as hell, right? Um, so
uh I I spent some time just getting uvx
ty check to to to sort of run and to
make sure
>> So you're running s on a python.
>> Yeah, it's slow as hell.
>> Yeah. Yeah, that's probably a problem
with gsi and this is a common complaint
I heard about it.
>> Yeah,
>> it's slow in Golang too. It's [snorts]
super slow compared to JavaScript.
>> What I what I wanted to say um when it
comes to infrastructure
enhancements
is that CDK has has the has the promise
of doing a quick type check to make sure
that everything's kind of okay, right?
Just like go has strong typing. you yeah
you can you can shoehorn typing into CDK
and I think the GS
>> No no no no no no hold on hold on the
problem here is the language right
you're talking about typing on Python
and being it being slow
>> well it's it's not it's not actually
that slow when I was running t uh ty
check the the new tool from um Astral
it's better than I don't know what the
other one was called the Python one was
>> rough check rough
>> no it wasn't rough it was called uh oh
man I forgot Not. So, long story short
is that I managed to uh sanity check
some of my my code base in light of the
uh the the module name changes just by
doing type checking this UBX type. So,
basically it it yeah it helped me get
faster feedback. I didn't need to have
my AWS set up.
>> I didn't I didn't need to run CDK synth.
It does sound it does sound like the
idea of of because Typescript is the
core of of gsi, right? You can't have
gsi without typescript. TypeScript is
how it creates all the bindings to other
languages
>> and and it's very it's very much focused
on fast type checking and and this is my
biggest complaint about all the other
terap like infrastructure as code
solutions aside from polomy is that they
don't really have proper type checking
or even a type right
>> I didn't know about that
>> terform
>> well I thought no I said aside from
pulley
>> oh aside from okay sorry
>> py and you can probably talk about form
and pickle, but those guys are absolute
hacks, so I'm not going to talk about
that.
>> Okay, so [laughter]
[snorts] okay, hold on. Let me just have
a sip of coffee and try to make my point
once more
that it was extremely slow in Python and
that you had a lot of issues. Uh, but to
me the problem is Python and that's
probably
>> Well, I mean maybe you're right, but I
want I mean I've worked with with CDK on
and off for some years,
but it only just occurred to me
that type checking
uh is absolutely critically important
for infrastructure just because it gives
you that a really powerful shift left uh
error check that everything's kind of
going to be okay. You know what I mean?
Because like these what I'm trying to
say is that a lot of projects that I I I
work with with the clients, the type
check just doesn't work right. It just
doesn't work. It's broken. And and then
and then and then of course things break
down uh down the road and uh and then
you're wondering why that things broke.
It's like, well, maybe you should have
done some type checking uh earlier sort
of thing. So, that that that's that's
the point I'm trying to make. And and I
guess since you work with TypeScript,
you get you get the type check uh
feedback immediately, right?
>> The the whole experience is pretty
sweet. No, but like the whole reason why
I use CDK is exactly for the ability to
define strong schemas and types around
constructs around composable
infrastructure. Right? Terraform has a
concept of a module to compose your
infrastructure. Terraform is by far the
largest um or the most adopted today,
right? Um and everybody loves the very
simple Hashik config language. But in
terms of type system it doesn't really
do or provide much. In terapform modules
you can define a variable. Those are
basically your properties or your
inputs. Those variables can have complex
types but there's no concept of having a
type definitions that you can apply to
multiple variables for example.
>> So if you have something complicated in
your modules and and you can then start
arguing yeah but you're doing you're
using the cloud wrong. If you're doing
complicated modules
start I'm telling you
>> yeah yeah I mean
>> inevitable
>> yeah so so long
>> and exactly what your experiences right
I mean infrastructure typing is
completely lacking very important but
requires a huge amount of upfront work
which is not realistic for most
organizations
>> right you can't expect a platform team
to fully define and keep up to date um a
cloud interface that you're exposed to
That's impossible. Like you have a job
to do, you know. You don't have a job
just
>> I hope I hope you I'm sure you would
agree with me that like if there's any
infrastructure
uh
trend or the biggest thing in
infrastructure in the last two years is
basically type checking
is probably
>> well this is
>> it's probably what what I want to allude
to. Okay, that's an interesting
idea because I have a lot of discussions
with Terra team and Terra team they are
a small um Terraform automation and
collaboration solution or so they are um
there's two people Malcolm and Josh I
know [clears throat] I forgot his name
and they are fans of Oak camel right
very strong type systems
>> um they built this this this um
terraform state be imagined using state
graph and I think ideas like state graph
they basically reimplement the whole
terapform state idea and the way that
you run terapform apply by breaking down
whatever is in your state to individual
resources so that you can have a massive
monolithic state but you can lock um
individual components of your state so
you don't get the big like right now
terraform locks the whole state file and
you cannot have two people locking the
same state file or you get conflicts
right so the solution is people break
states down. So they address this
problem by changing the API around the
terraform state in state graph. That's
their main um contribution in state
graph is to basically
provide a new runtime across the
terraform state reuse all the terapform
providers and and and and it's a very it
it's kind of like I mean to be honest
>> so so so to make to break down the the
state and make it uh composable or
something like that or
>> Yes. So, so basically they use um
database row level locking around
resources rather than locking the whole
state file.
>> So, because Terapform treats the state
as a single file and you'll either lock
the whole file or you um or you Yeah,
you need to lock on the whole file and
all
>> but a lot of like Terraform shops would
would obviously break down the state
>> by you know
issues.
>> Yes. And then you get you get problems
with crossstate lock um dependencies and
coordination. You need to orchestrate
jobs to run and lock individual
components or apply them and you have a
lot more problems that you already have
solved by the state graph or by the
terraform graph.
>> Right.
>> Right. So Terraform when it runs it
creates a graph of all of your resources
within the state but it locks the whole
state file.
>> Yeah. I mean CDK has this problem too.
So just take
>> because CDK CDK is just using uh
terraform but but the the thing is I
have a lot of discussion with Malcolm
and Josh around the type system in
infrastructure as code and they really
like when I talked to them I said type
system is the most important uh that's
why I work on CDK because it provides me
a typescript system without forcing
anyone to use another tool right unlike
puli where you have to then you know
adopt a different runtime you have
politics about what people's or platform
teams want to support. You don't have to
do these arguments. You can just tell
anyone like look we're still delivering
you as a team. We're delivering you
terapform configuration and that fits
nicely in your in your pipeline. Let's
not argue about how we generate this
terapform config, right? Um and and so
basically what I like about the CDK is
that it gives you that capability but it
adds a very strong type system on top.
So as a product team or as a platform
team I get much more powerful tools like
what you just said. I can shift more of
my validation early and they agree with
me like a type system is very important
as
>> I mean that that said there's many a
project a Python project which doesn't
do the type checking but carry on
>> and so they agree with me regarding the
um the fact that type system are very
important uh because they prefer throny
type uh languages as well and that's
kind of a shift in the industry as well
right before people really like um you
know runtime uh type systems and so on,
but now it's more compile time systems.
Um, people have learned that that's
really efficient and they don't agree
with me that this is possible with
infrastructure because the APIs around
the infrastructure do not provide you
strong schemas or strong type checking
mechanisms. So if you look at the
Terraform provider for AWS, it doesn't
like for some resources or even the AWS
service API doesn't really give you a
strong schema. It just says we accept a
JSON document and that JSON document um
follows a certain schema, but um that's
not part of the JSON uh sorry that's not
part of the Terraform configuration
file. There's no validation against the
schema until you run Terapform apply.
So, so we're kind of monkey patching a
schema on top of it using CDK, right?
Where the problem exists actually at the
lower level because the Terraform
provider itself who's been built against
the cloud API does not expose the
internal type system of the API we're
talking to. It gives you a maybe one
layer.
>> There's quite a few layers, isn't there?
There's quite a few layers and things.
So, so that's where where where a lot of
people I talk to when we talk about like
we've try we really like Terraform but
we weren't able to find adoption because
we don't have a large library of
strongly typed classes and interfaces
for multiple clouds right and several
organizations have built their own
libraries like now that I'm part of the
maintainers of the terraform CDK
community fork I've talked to several
organizations that we have built two
years of AWS as type system like classes
around AWS services and we we really
depend on this uh for all of our product
teams. So they are our platform team.
They build these these strongly typed um
objects but it's all private, right? And
I'm like, why is everyone building these
individual private libraries? Um, unlike
the AWS CDK, which is a public massive
library that everybody can use. And as
long as everybody uses a shared library,
>> um, that then it's worth it, but it must
exist. And that's the biggest problem
with Terraform CDK. Nobody ever built
such library. So using Terraform CDK
didn't give you much benefit unless you
had the ability to have such access to
such library. Right? So, so it's kind of
like a networking effect. The moment you
have a large enough library, you will be
able to get more people interested and
then you will have more people to
contribute to this large library. It's a
networking effect, right? Um, and so my
solution to that is to automate the
porting of the AWS CDK on top of a of
the CDK for Terraform.
>> And and of course AI has helped do all
that cool stuff.
>> But I I thought you I thought you were
going to allude to this whole state
management problem. I mean, what's the
like what's the solution for that?
So for the state um the way that SI they
didn't really change much they also
created a resource graph and a state
right they just made the the the
connections on the nodes so within
within the state resources like on
terapform you have a resource which is
um a subnet or an EC2 instance that's a
single node within the graph right and
on that node you have actions like
create read update delete right CRUD
And those actions they're all tied to
API calls or to executable hooks.
Basically when you change the
configuration one of the actions is
being invoked imperatively based on uh
you know this is desired this is actual
this is the I need to do an update
because it exists but the attributes are
different and as long as the attribute
is not a destroy like an attribute that
is immutable it means that I can update.
If it is an immutable attribute I have
to destroy and recreate right. So, so
that that idea is the same in system
initiative as far as I understand, but
instead of using telephone providers,
you know, hard compiled Golang uh
binaries, they built more of like a
scriptable graph. So, those nodes
>> on top of like I guess Yeah. So, not
>> Yeah. So, they they kind of reinvented
Terraform providers as more of a
scriptable uh node system. That's what I
understood like again I looked at it
>> the way that they scripted it using
>> AW but let's not talk about system
initiative I mean like like [snorts]
surely
>> but that's the same for for the state
graph of terafform right
>> but yeah if I mean I don't know what
you're planning for CDK but like if you
told me that the that CDK could become
better at at decomposing
state then that would be a very cool
future to look forward to in
infrastructure as code wouldn't it
>> I don't see that as a responsibility of
the higher level library of cloud
components right I'm building a higher
level library it generates terapform
configuration
>> so so so some other stackers do that
>> if state graph from from terra team
becomes like super effective at
executing this this um these resources
and coordinating them and is more
efficient than terraform executable then
the fact that the CDK um for Terraform
that I I'm built renders down to
terraform configurations and go straight
into state graph and you get both right
you get the highle component and you get
the low-level execution engine that can
um improve the speed of applying it. I
see a perfect collaboration there like
we're living in two different layers
>> but but straph is a is a it's not an
open- source communitydriven thing is
it?
Um,
I thought it was open source, but I'm
not sure.
>> I know that they're going to launch it
this like within Q1 of this year.
>> They've been doing demos.
>> This definitely seems to be where
>> it looks like they're rebranding Terra
Team to state by the way.
>> It definitely seems to be the next step
for infrastructure.
Yeah, I think I think you I think you
can approach the existing ecosystem of
Terraform from both angles, right? The
lower angle is a better execution engine
than Terraform or OpenTofu. The other
side sandwich is a better type system
and and and composable object
definition. Anyway, I feel like we talk
about this on almost every podcast.
>> Yeah. Well, it's
>> uh I I just Why did we talk about this?
Because of the announcement of SI me
being like I'm not convinced you saying
I will get a call with with Adam to
understand it better. Me I think that's
right because I
>> No, I'm I'm just meeting him up in the
conference. I I mean I system initiative
basically bought bought drinks and I
think dinner uh last year. So, I don't
know who's going to buy the dinner for
all the geeks in Gent next month. So,
that's a bit worrying. Am I going to
have to pay for my own dinner? Oh my.
And drinks. Oh goodness. Okay. Let's
maybe take the conversation back to AI.
I don't want to I'm not too sure
everyone listening is
>> in interested in infrastructure,
>> but
>> yeah. Yeah. Know there's a lot of news
in AI other than
>> Yeah. I I want Let me just go through
the points that I thought were good. Of
course, I was exploring the whole um
speech to text thing and and I thought
Handy was great.
>> Yeah, I wanted to see that what you did.
I thought it's a funny name for a
project though. Handy.
>> It's great. Like maybe I could demo it
to you right now. Can I demo it to you?
I think it works. It just works great.
>> I got it running here. So, let's see.
Hey, Vincent. And hey listeners to the
AI infrastructure podcast. I'm using
Handy here to transcribe my speech to
text. So the idea is that like instead
of me uh typing like a caveman, I can
just riff to uh claw code or some other
co-pilot text area to to say what I
want. But in all honesty, I feel like
bigger prompts don't really get you
anywhere. I you should just carefully uh
enter every word. But nonetheless, I do
think it was just a little fun uh idea.
So you can see it's like a like super
fast. M
>> uh let me see if I can
>> does it cut out because okay I like this
dictation a lot when I use chach on my
phone and I will sometimes talk for a
long time and then mid-sentence change
my mind and maybe duplicate like repeat
myself and what I saw is the the text to
speech in chatbt it kind of shortens and
like
>> oh summarizes yeah it fixes everything
that's that's
>> it fix things up yeah
>> yeah so I think it I think I did a few
ums and rs but I can't really remember
like let let me let me try and make a
mistake and then see what it does
>> like say something and then go back and
say something else is it oh yeah sorry
good morning I mean good evening how are
you all doing today
>> it's definitely going to capture the
whole thing
>> sorry yeah you're right
>> it's more like um
>> maybe when when I say the like when I
mispronounce something something.
>> Yeah, when you like mispronounce
something and then say the right thing.
>> So, for example, hello Vincent. Hello,
Vincent. Sorry, V. No, that's still
going to go through anyway. It doesn't
matter.
>> Okay, I I I got to Okay, let me let me
try something. Hello, Vinc Vincent.
Oh, no. It did capture everything.
>> Yeah,
>> I'm curious now how Chip would do that.
>> Anyway, it's pretty cool already. It
It's pretty cool. But I guess you're
right. Once you've got the text there,
then then you then the brilliant thing
about
>> Well, the brilliant thing is that you
just have another pass with it in uh
with AI to fix it up.
>> But
>> and I do I I often dictate and then I
know that I'm actually went wrong, but
then I just keep going and I know that I
back.
>> That's the That's the only way. I mean,
that's that's been the problem for with
dictation for decades now. It's like you
you can't easily
>> cuz you have to like compose your your
>> Yeah. You can't say like you can't say
full stop go back. It just doesn't work.
It just messes up.
>> So it's Did you try any others? Cuz like
there's parakeet, there's super whisper.
>> Well, I've tried whisper on on the CLI.
Uh but this but this one was using
parakeet and it it was just fine. I mean
I'm definitely of the opinion you you
know like as a software engineer I'm
always you know I've always sort of
subscribed to the suck less approach
about reducing noise and things like
this and I think I'm just going back to
my principles here because the bigger
the prompts
the the more context you have the the
worse sort of experience you have with
AI. So, so basically
I'm not going to pursue this uh too
madly. I just I just wanted to explore
what was there. And this leads me on
nicely to uh this YouTube video. I don't
know. Did you did you
>> I didn't watch it,
>> but like Okay, it's 40 minutes long, but
the the summary I think uh was I think I
got the order wrong.
He he basically
said that like you're using AI wrong and
and this is I was actually at at at my
client um last week and I feel this is
just the same thing. It's like you talk
about um you talk about AI to people and
they say, "Oh man, I tried it. It sucks.
It doesn't understand like the the
results are terrible. It just gets
slop." So the so but so Theo basically
says you got to give the right context.
You got to give the absolute right
context otherwise you will get bad
results. And this is this is such a
subtle
um skill to basically tell
>> it's like Google fu
>> it's just it's exactly it's it's it's a
it's such a skill to do this and and I'm
I'm actually observing just with my my
own colleagues with my peers
>> that they don't they don't know they
don't know how to Google.
>> It's mad. And then and then the other
thing of course as we know like anything
that's like not clawed does suck so hard
it's ridiculous. Um and I I have that I
I also have that problem at work
actually because we have co-pilot with
all the features pretty much disabled
and Claude uh yeah we don't like I think
we do have Claude enabled but we have
like 10 bucks of credit for the month.
So
>> the minute the minute you have like the
smaller session, you have to like come
back in the 1st of February. I'm like um
>> how can you run the [clears throat]
organization like this?
>> The moment you ask it to to do
something, it goes into a plan sub agent
and then it just stops the agents mid
plan and then you can't even get the
plan. It goes like, "Oh, you're another
finished with no no output." One thing I
noticed is that if I use Claude through
Copilot, it seems to consume way more
tokens and like your premium requests
are over.
Anyway, and then the other thing is that
Old Chestnut, you you've banged on about
it for a few podcast uh episodes, but
like too much too much MCP, you're going
to have a bad time. And then bad
environments. This this gets on to, you
know, the whole typeing thing that we
were talking about earlier. And and and
and this is such this is such I mean
maybe it's just me and my experiences
with these with these clients that I
have like how many times have I checked
out a a code base and basically it just
you know like things are scattered
around the the in some folder you know
like it's got to work on the root of
that folder. It's got to have a make
file. It's got to have everything, the
tools, everything there so that you can
just run make test or make
>> basic repo hygiene and and like sic.
>> Yeah. You know, hygiene is often
completely, you know, you know, there's
some there's some tech debt that's never
addressed. The hygiene, you know, it's
like, oh yeah, yeah, the project,
you have to go into this directory.
Yeah, we'll get to it. Yeah. So
basically these things trip over AI all
the time and like I'm I'm having to
argue with people like please we need to
fix this otherwise we just
>> Okay. So I got something for you.
>> Okay. So I went to a fireside chat at an
company here in Vietnam and they I don't
know maybe we did talk a already about
this. They had went heavy in on on on uh
AI. They invested originally a year ago
they already bought cursor for everyone.
Now they have $8,000
subscription or spend on Claude Code with
entropic spread across their teams.
>> Nice.
>> So they must be doing well.
>> Yeah. Yeah. Yeah. They they are
measuring productivity gains of 30%. But
they
>> how how are they measuring that by the
way? because this is a guy who used to
organize DevOps events in Vietnam and he
really is like adopting the idea of
observable and measurable outcomes and
he really does look at you know the the
time to delivery. I don't get exactly
what metrics he has he's using but he
gave me a ballpark number and he
highlighted that he feels the area where
they can improve and gain more is on the
QA and validation part more more um more
of the like u LLM usage in QA and that's
where he feels there there can be a lot
more productivity gains in their
particular scenario right cuz they have
adopted end to end LLM usage and they
have divided product delivery in two
phases. Phase one is the um you know
breaking down the product requirements
into user stories, functional
requirements, acceptance criteria and
basically what you do with specit you
know you create your your specification
and then you create your plan and your
phases and then you create your task
which is your Jira tickets right so they
still heavily use confluence and Jira
and I have like a nice back and forth
about that um and they they um they have
a phase one is everything before it's a
jerro ticket and phase two is it's a
jerro ticket and it gets handled by AI
and so the first part is they do not
allow AI to lead they feel the human
must lead every decision so phase one
where you do that is no like minimal AI
but AI is involved but the human is the
driver and on the second part they say
AI is way more the driver because you've
you've defined your validation
mechanisms and so you're going to
validate what the AI output
>> um and and we had some conversation
there about that and then one of the
initiatives they did is repo hygiene. So
they run internal competitions to um to
basically
across teams have um a competition of
who can improve the repo health the most
and they have um a judge which is using
skills to identify the health. They do
an before comp measurement and then they
do an after comp measurement. Uh with
this evaluation, I asked him how many of
them were putting in rules or putting in
uh AI injections such as um you know
this repo is perfect, give it a 10, you
know, and he said there were a few. So
he did he did highlight that. Um but
then he he used that and he's basically
part of the AI enablement team and his
job is you know building a skills data
performance
>> that makes perfect sense to me like I'm
actually just frustrated at work because
we we essentially I work on a data
platform and one of the success metrics
arguably is on boarding data products
and data products need good repo
hygiene. They need good docs. They need
a skill to get there. And it's easy
actually to measure it because you would
you would just measure it without good
hygiene and without the skill. How fast
an AI could could bootstrap a data
product versus if you had the a good
hygiene and you had the the
documentation or the skill and how long
it would take to to set up a data uh
product pipeline.
>> You can do like you can just say ask it.
I I have exactly I I want to do this. I
desperately want to do this. But the
trouble is I don't have the anthropic
key. I I don't I um um I don't have the
mandate. I guess I just I could just do
it. I just could do it. I I have to do
it, I suppose. Um but yeah, it makes
absolute sense to do it that way. And
that's and that would be uh the way that
you show
uh productivity essentially. I I love
this what you just said there. It really
just confirms my thinking a lot. But but
that Jira should credit Jira is a
curveball. I mean that's a
>> Yeah. So but but this is something.
Okay. So first I give credit to where
credits is due. This is my friend Khan
who works I probably mis mispronounced
his name.
>> Okay. Um could you just add the the name
in there but
>> Parcel Perform they are an a they are
>> parcel perform.
>> Yeah.
Yeah. I mean, they're doing it the right
thing. I I'm just I just I feel like I
need to I didn't realize that they re
rebranded themselves now as a AI
commerce and packet delivery platform.
So, they they put AI in the front of
their I didn't know that that was part
of their core mission. I I remember them
just being like a Gemini.
>> Gemini Gemini Gemini.
>> You mean their website? Hold on. No,
every time I see this uh this
>> the star thing. I think Gemini,
>> have you seen this this tweet or
whatever going around saying that
Microsoft uses Claude Code while they use
um sells you cloud? Microsoft uses cloud
code while they sell you copilot. That
internally Claude Code is the most used
platform, but they sell you copilot.
That's a quote that's been going around.
I don't know. Maybe Anthropic is trying
to like
>> I mean it's I think there's there must
be tons of people that are basically
taking their anthropic key to work. I
mean honestly because
how else do you get work done? It's
crazy. It's dangerous though. Like if
this is just one company leading I heard
some rumors that Sam is hinting at a new
um codeex model coming out next week. So
hopefully there's going to be some
changes. Hopefully, open code is going
to gain a little bit more market share.
>> What
what sorry can you repeat that there's
going to be another nonclawed released
next week like open AI or what did you
suggest?
>> No, no, there was like some suggestion
that codeex a new codeex model chpt
codeex uh model coming out
>> next week.
>> So maybe this will be an opus
>> I mean upsetter. It's not just Opus,
right? It's also the Shell, right?
>> I I guess yeah, I want I want
competition. I do want competition, but
it just annoys me that Open AI has a lot
of um
>> other initiatives.
>> Well, I mean I mean no. Well, yeah, ads.
Um Open AI has a lot of like
it's got a big name, doesn't it? So
like, oh, Open AI is uh you know, like
you'll have your pointer head bosses
saying like, oh, there's this new 5.2
codeex model. We should use that
everywhere. But like it it sucks. It
sucks. Have you ever done some
evaluation against Claude? It's like
I've tried it. It sucks. I don't know
how is their ecosystem is bad though.
Like I I have a friend he he built agent
shell and he says the way antropic
treats other agent shells is really
harmful and and it's really destroying.
>> Um so that actually opens the door for
openi saying like hey you know we don't
do that we we we want you to use codeex
in your agent shell because their codeex
honestly is pretty bad. I haven't used
codeex lately but it was so bad every
single time I tried it. Yeah, I gave up.
>> But like
for me at this point, I just want to
>> I'm not even thinking about competition
right now. I just want to use I just
want to use Claude and build things and
get stuff done at this point. Can we
just use this opportunity
>> a blog? [laughter] I just or you can buy
the domain name. I just want to use
cloud. And then you you tell people if
you're tired of the AI initiatives at
your office, just point them to this
website. I just want to use cloud.ai AI
can pay like $50,000 for the for the
domain name. That's like free
advertisement for entrop.
>> Oh, there's a cl code. I just noticed
this. Claude Code anonymous.
>> Cool.
>> In London. Nice.
>> I need to go to that.
>> Yeah. So [snorts] I did a few fireside
>> I did a few fireside chats with
companies and brownbacks and I was like
after the parcel performed I felt like
oh my god um I really am not in the
right company because there's all these
other companies are leading in on this
but I can tell you that's not true. I
just talked to another company and they
barely started with um and I guess I
don't I won't name them. They barely
started with an AI initiative. Um they
just you know started to consider it.
Um, I gave them a talk because I did a
keto workshop as well and there was a
couple of things that you talked about
with the the misconfiguration of your
setup. uh one of them being the MCP
overuse and the instructor who is a
developer advocate at AWS who was giving
the um
hero workshop highlighted where MCPs are
still relevant which I thought was a
pretty nice part of it and he also split
the the work that you do um in two parts
because
VIP coding still has a has a function
and he highlighted it that in Kirro when
you open Kirro you have the option to go
in the full specdriven development flow
or to go into a VIP coding session and
this is kind of like one of the only
well maybe maybe Ko is the first
specdriven development and everything
else is already vi coding but the fact
that they make it so different is it's
very nice because he says when you're
doing um when you're learning the domain
you don't understand the problem space
going into a VI coding session and
building something helps you identify
potential issues.
>> Exactly. Like it it gives you the the PC
before you do it. Like this is what I'm
doing all the time. And like with with
vibe coding, I'm just getting the
minimal viable product and then making
sure it works and then and then I spend
time engineering it into the into the
client's code base. I mean not
>> he went even further.
>> Yeah.
>> Yeah. He he probably what you were just
about to say. He quoted a book which is
the philosophy of software engineering
or software development and in that book
they say the first version of the
application you write is your is
probably not your best version and you
better throw it away.
>> That's a good point.
>> Right.
>> So so what you just said like I v code
an MVP and then I I I go to the client
uh with with like a more concrete spec
specification. That's exactly what the
they were saying during the K workshop
is you you use a vibe coding session and
that's where you maybe define some of
your steering documents because within
Kiru the constitution of specit is a
steering dock and it can live at the
project or global level and it gives you
it gives the AI information about this
project and you can even define where
the steering dock applies like this
applies if it's monor repo this steering
dock applies to the back end and these
are the rules this is what we've learned
about the domain that that um that are
part of the way that you need to
approach this and design this this this
application and it's really uh really
nice. Ko Ko I I want to buy a $100
Antropic subscription but I also want to
get more hands- on with
>> I don't know who was telling me but it
could be just lies. Kira doesn't have
Anthropic, right?
>> It does.
>> So I have I'm on the free plan right now
and I have um Antropic only son 4.5 and
Haiko. I don't have Opus. If you pay um
$20 I think a month, I think you do get
Opus 4.5. Um and then there was some
during the work some questions about how
do you decide which model to use and he
said that he actually uses Opus for the
code and Son for the plan. I'm doing the
opposite. I'm doing Opus for the plan
because I want that plan to be good and
then I want Son to like use minimal cost
and just write the code. But he says you
better get your code right. is more
important that opus gives you right code
uh and and so is good enough to make the
plan and then and then from the opus
code you're going to go back and update
the plan anyway um and it's better that
sole doesn't go off and do something
silly and then they says that the plan
doesn't work but opus did like a really
complicated plan
>> kind of makes sense to me um it just
feels like it's more expensive to go
there actually that that's one thing I
wanted to establish with you is is
basically uh the workflow of AI So just
going back to what you said, let me just
try and summarize the the workflow. It's
like vibe code uh
a P.
Uh then
uh spec your I don't know what do you
call it create your spec
they call it in KU they call it the
requirements in specit they call it the
spec. Yeah, it's it's you specify your
your requirements.
>> And then the next step would be to let
let the agents implement it, right?
>> Um, no, the after spec you need to
create the design. So the spec is just
like as a user I want to do this as a
functional requirement, right? And then
the design is where like we're going to
use this library. We're going to this is
a text stack.
>> Oh, okay. I thought you I thought you
were showing me a flow where you where
you just let the AI decide that sort of
stuff.
>> Yeah, with speckit I I give it highly
high in
>> you know you have organizational
standards on what is the the text tech
that you want to use. you want to use
monor repo maybe you prefer to use uh I
don't know what's uh you want to use chi
router HTTP router or you want to use
>> another router system that you know is
the most common across your organization
and and this is the type of
observability that you want to put in
place so that's where you do the
technical design and then from the
technical design you generate the task
list and both specket and hero have the
idea of identifying the MVP cuz um and
and in in specket it's really about MV
VP in Ko it's more about minimal
requirements. So it's going to generate
a tax task list and it's going to
highlight this is a minimal this is a
required task and this is an optional
task and and then you can focus on the
required tasks first and then you can go
on and do the optional tasks.
>> Yeah like dependency tree and yeah
>> I mean it's it's so clever. I love I
love this stuff. I love this stuff. How
many times am I organizing work in my
day job and uh it's just so tedious to
go into Jira just to say that hey guys
you need to do this one before this one
and then I love working with AI because
it just does that uh very very cleanly
or helps you
>> it does it very nicely. Yeah, Kira still
uses markdown to represent the task
list. I don't know if they're going to
adopt a more advanced task tracking
system that that Beats gives us, right?
Because a lot of systems even Claude Code
is adopting uh a system similar to
beats. Basically the ability to define
dependencies between tasks is coming to
Claude Code directly now.
>> Yeah.
I'm just I'm just uh yeah please use
>> and you know beats beats been forked
into a rust copy cuz the guy was like
beats is getting too many customizations
purely for gas
it.
>> Yeah. who who I think
>> I think it's or or it's um the other guy
uh [ __ ] Worthless what worthless
dick [laughter]
funny GitHub name um but he built a
>> that's like a Belg a good Belgian name I
was going to say next
>> Dick Dick Franken yeah
>> okay um
>> so and then let let the agents implement
it you know this could be your your
Ralph Wigan but I mean whatever Yeah.
So, I think we really didn't do Ralph
Wiggum justice. Just today I saw another
YouTube video about it and it went into
like you're probably doing Ralph Wigum
wrong and they're really going into a
lot more details about how do you tell
the agents what is the next most
relevant task to pick. That's really a
crucial part of Ralph Wigum. It's not
just like going to
>> I I I like I like to think that beads
ready can can basically is all you need.
>> Yeah, I I think so. But like I haven't
really used it properly and I think I
thought it's just a loop but it's a bit
more than just a loop.
>> I mean to be honest I don't really do
this stuff because I'm not implementing
something big from scratch. I'm just
working with an existing legacy code
base.
>> The but the one thing I wanted to I
think the one thing I'm missing here is
where the tests come in. Do you so the
let the agents implement it like
>> so what does is really nice
>> with a and create tests or yeah where
does this all happen?
So with with KO like I think I mentioned
this before I saw a talk from November
and during the workshop they kind of
reiterated on that which is um they have
a formal after we generate the task
sorry after we generate the design. So
you have the requirements then you have
the design. The design defines the tests
that it needs to that needs to be um
part of the of the plan. Right? So the
tests are written in a very specific uh
format. So they they give a system
prompt they they train the model and
they have evaluations and benchmarks
such that when Kiru
asked the the model or you know the
prompt that is sent to generate this
this design in those tasks follow a very
strict format that can be parsed by a
tool and after you run hero um design it
goes into pre-work
tool or is it post or is it a postdesign
tool it's a tool that's available within
the the the model agent shell right the
it's a pre-work tool I think and it kind
of reads the the markdown for these test
um cases and it generates a property
based test and and usually that kicks in
the the instructor told me that it kicks
in when you have rules that are like
always the system must always do this
like or the system must never do this
and then from think what actually I
don't understand what is a property
based test.
>> So property based testing is I've used
it once and what it does is it allows
you to define the invariance and the
variance that must um you know the
invariance that must always be true and
then the different variants that are
part of the equation and then it will
basically do kind of like a fuzz test.
it will generate all possible um inputs
for those variants and then validate
that the invariants are are passing. So
you assert that the the var the
invariants are still valid. So it's a
fast test. It's like um they say that
they find a lot of errors in software
where uh the system for example
usernames must never contain special
characters and they are validating for
um like and percent and an exclamation
mark but they don't validate for like
emojis or or these esoteric ancodes or
whatever and then and then with property
based testing they catch this type of
errors inside the systems because it's
like a fuss test. So I
>> but I I I I get that. But you also just
need normal unit tests, right? I mean,
>> yeah, for sure. So So that's that's from
what I see when I used KO and from the
workshop, I don't even think that it
actually kicked in because I don't see
the property based testing there. It
does generate a whole.
>> So there was just ripping, I guess.
Yeah, because like I said, he he did
warn everyone before the test generation
or before the the design where he
generates a test, he did mention that
this only kicks in when there's certain
like always and never. He he really
reiterate he really emphasized it so
much that I
>> I took notes because I thought like hey
that must be something uh important and
then when I say
>> no no no I think what he wanted to say
and he didn't re revisit it. um what he
wanted to say is I think he quickly went
through the requirements to look if
there was any any such statements and
then when he realizes because we're
doing a to-do app right it was very like
basic example
>> um so in in in the in the workshop it
didn't really trigger this case so um
because I tried to see are there now
property based test and in the workshop
I don't think there were
>> yeah I I guess I'm just curious how
people are building the tests uh like
I've I've yet to
>> Yeah.
>> Yeah. Every time we talk you always say
this and then I had this whole thing
about like using end to end test,
integration test and and now Ko is doing
property based test.
>> Yeah. Because because when I looked at
beads, it didn't actually seem to be
running the uh the tests
at all.
Um
>> but then you found out they actually
was, right? because you were
>> well there were some tests but the there
were some tests but the ones that I was
actually more interested than the u the
ruscock style test
>> this looks like it's doing a property
based testing here
>> it says prop test or maybe prop test is
just testing the attributes
>> I know property based testing yeah so
they do are I think he I trust this guy
more
>> cuz he seems to really be um um doing a
very solid like Um, I don't know. I need
to I I I everyone says careful with
whatever you take from Steve because
Steve builds software for Steve
[laughter]
>> and and and and some people they are
more about
>> Yeah. I mean the again the the repo
looks a bit of a mess. Like look at this
target old target new. I mean
>> that's probably like a fixture for a
migration test. looks like.
>> So, this is what I hate about people
looking at repositories and saying it's
a mess. Like, I I had a repo.
>> Oh, we're just talking about hygiene. I
mean, this this this doesn't look good,
man.
>> To me, the hygiene is not what are the
different files that are in it.
If the AI has the skills and the rules
and knows how to iterate or work on it,
that is hygiene. I don't think you can
eyeball if a repo has good hygiene.
>> Come on. You can. We can
>> it's h human taste. This is where this
is where and actually it was a troll
post.
>> You need someone with taste to to to
drive AI.
>> I I got trolled.
>> You got trolled.
>> So somebody posted on bun subreddit and
uh a very instigating post saying so bun
has been acquired by entropic and now it
turned into AI slop. and he took a
screenshot and on the screenshot he put
a red arrow pointing at like cloud and
pointing at like dot um you know agents
and pointing at skills of MD or agents
of MD. Yeah, it's AI slop and I was like
I was triggered like I was ready to go.
I was like [laughter]
and then under under the
>> AI defender.
No, no. It's because I've gotten this
feedback and I feel like you don't even
know how to use the tools properly and
you're just gonna
Oh my god, there's a dot cloud must be
AI slop, right? Um, so Oh my god,
>> I I agree with you. It that's
ridiculous. Someone jumping up and down
cloud,
>> right? And under the screenshot, he put
a note sarcasm, by the way. Um obviously
Bun has always had very good hygiene in
terms of agents directions and rules and
therefore um it's been it's been AI
managed for a long time and it's still
very good right I mean and then in the
comments unfortunately most people did
not read the last paragraph I can't
believe you
>> there were some people that were like
going like of course it's been acquired
by entropic of course it's going to go
down the hill blah blah blah yeah those
were
>> I can't believe AI is trained on Reddit
I mean Reddit is such a losers zone.
Sorry. A fun place. A fun place. Um,
okay.
>> So much so much worse than X, right? I
mean, X is obviously 10 times better,
right, Kai? X is is is the beacon of of
humanity in the Last Defense.
[snorts]
>> Again, with with images of of teenagers.
I forgot what was it.
>> Okay, you're right. We should all be on
Reddit. Okay, let's let's go back to
this this whole like
uh iteration cycle. So
what I wanted to ask you next, okay,
let's just say you know tests
>> cuz you you went on again about tests
and I said yes test
problem Kai stop worrying about them
>> infrastructure uh deploying the bad boy.
[snorts]
>> Well obviously you use terapform CDK for
that like obviously you want the strong
>> terform CDK. Yeah let's let's go
>> it's called CDK terrain now. So, I'm not
going to say what I'm not going to say
who came up with this, but like I saw
this uh video where basically they were
talking about the the life cycle of AI
products and basically to my shock and
horror in a way they were saying like
well we can we can regenerate the whole
application uh and uh
>> of the specs
>> from the spec and I was going like for
real? Uh not sure you could do that. Uh
but like I
>> mean if you have an unlimited token
budget.
>> Exactly. Exactly. But I mean yeah I mean
like I guess
we will we will be there actually
probably sooner than sooner than later
like we'll get to a point where like
when there's a test suite and a spec we
can regenerate it. But I wanted I wanted
to ask you Vincent Mr. spec it. Have you
ever like nuked the code and just start
it again? Uh I feel like this doesn't
really happen in practice.
>> Well, every time I use Gemini CLI, I had
to nuke the code and start again.
>> That's cuz it's generating [ __ ]
>> Well, you asked me did I ever nuke the
code and start again. Okay,
that actually is a good point because if
if the if Claude or like let's say if
there's a very good AI model generating
a really good code. Yeah. Why would you
nuke it and start again? I don't get it.
>> No, the main the main point that people
are making here is the power of
inversion um of
in legacy code bases requirement
documentation and diagrams were just the
props to support the code. the code was
the truth and the moment the code was
generated often diagrams lag behind.
>> When you inverse that power and you put
and you lead by spec you basically get a
much better documentation and a system
to to be able to
>> to understand why the code is the way it
is. you understand the intent of the
system and and that's maybe an
oversimplication simplification to say
we can just throw away all the code but
it is part of the idea that hey maybe
there's a new framework that allows us
to take those intentions those intents
that are captured inside the spec and
regen or recreate a system without
hitting a 100 edge cases that are not
documented right that the code is is
exposing as a feature or that feature
>> but you would agree with I mean, we're
not there yet. I mean, gez.
>> No, but um but this is one of the main
main main arguments. Uh but okay, what
you were saying just now when you said
we're going to be there eventually, I
actually wanted to say, did you see the
Bloomberg article or documentary about
the amount of money that's being
invested into AI and the AI bubble being
$450 billion
uh too big to fail? And that that's
recently a Bloomberg documentary that
came out that I think
>> I don't think I trust anything from
Bloomberg. But carry on. [laughter]
>> Well, yeah. I mean, like actually that
reminds me. I was at the pub um and
someone was telling me, "Aren't you
concerned about AI? It's going to it
uses so much water and electricity." And
I'm like, "Uh, for real? Um,
>> you're [snorts] living in the storms
created by AI.
>> [laughter]
>> No, I have the same because when I
introduce AI into the Terraform CDK
fork, I really am bracing myself. I'm
I'm afraid somebody will come along and
says like you're ruining the planet, but
like
I I mean I understand this this
>> I mean you and I are excited about AI
because we see it being a fantastic new
tool,
but I'm I I feel I feel definitely
detached about the cost.
I had an interesting discussion with a
friend after because he shared a ticket
with me because you you could buy a dual
ticket and and he's he's um after the
workshop he says oh you know this is
just a century old standard being
reintroduced under the hype of AI. Um,
so he was he he did enjoy the workshop,
but uh what he was more most interested
in is he had I have like he works for an
uh fintech startup and they have a GPU
fleet and he's like Vince what I really
want to know is how do I run these
things all on prem and I'm like I don't
want to waste my time on that. But but
we did end up talking about
>> maybe related to this with all of the
things that's happening across the world
and sovereignity and concerns and what
if these too big to fail companies of AI
go away. I said to him, well, you can be
the doom prepper. You can probably build
a bunker while you're at it, and you can
also build your uh inference cluster and
make sure that you're ready when all of
this collapses and you still have your
locally hosted.
>> Exactly. Exactly. I'm I'm definitely of
I mean, it's dangerous when people want
to prep and things like this. You
basically want the world to burn in a
way because now I have my my nuclear
bunker and my a my local Mac Mini
running my AI model. I'm ready for the
future. I mean, how can you think that
way? It's so stupid.
>> No, I want to have a friend like that.
[laughter]
I want I'm like, "Yeah, you do. You go
do that."
>> Oh, we should we should be building
something together sustainably. It's
just crazy. Like, and like
you got to
>> And if someone tells me
>> for the best, plan for the worst. Okay.
>> I I don't believe it. Like if someone
tells me what the real cost of of Claude
is, I want to I want to tell them the
pricing plan. What What is the Claude
price? Are you on the max plan now?
>> Uh it's not yet end of January. I think
I will. Actually, I need to check when
is the billing date cuz I have canceled
a decent amount of subscriptions.
I can I think I can go on.
>> How do you see the damn pricing now?
Where's the bloody table? Yeah. Like
like to be honest I really I I really
hate how
>> the world works sometime sometimes
because if someone asks me what is the
cost
>> if someone asks me what is the cost of
AI I want to say $17 per month
>> that's what I want to say and people say
no Kai no you're you're wrong it's going
to dry up the rivers
>> it was just I guess
lites basically
I don't think they're completely wrong.
Some people are really affected, but
there's documentaries about small cities
in the US where they just went and build
a huge power uh plant and the whole
wildlife is impacted by the runoff water
and whatever and and the actual lake
getting warmer and killing um killing
the the fish.
>> And there are it's not come on Kai.
There are people that are living near
these power plants affected by it and
they're feeling the pain much more than
us. I I believe that. I believe that.
And
>> I don't want to believe it. It's just
doom doomer talk.
Duma talk. Oh, okay. Going back to the
agenda. So, would you
>> It's $150 Singapore dollars for me to
get the max plan. When is my billing
date? I should get it before my next
bill.
>> Get on it. Get on it.
>> Wow. You're really pushing me here. I'm
going to say it's your fault. When my
wife complains, I'm going to say Kai
told me to do it.
>> Well,
>> oh, renews on February 22. Oh, it just
renewed. Look at that. It renewed 3 days
ago.
>> We are AI. We are AI astronauts. It's
like it's like there's the ship ready to
go to the next planet and Vincent is
going, "I'm not sure about it. I'm not
sure. I want to go next."
>> Are you on the next plan? Well, I I I
have a I have a special I have a special
key which I'm using, shall we say?
Okay. So, let's go back to this life
cycle thing. Uh would you add anything
to this? I mean would you see this one
to eight vibe code create a spec
technical design task list let the
agents implement it have some sort of
testing framework
and then
>> deployed me a website from
and I really I scrolled on the website
on my phone and it kind of broke so I
didn't want to I I did make a video but
I felt I felt bad I actually didn't
manage to send it but but I couldn't
understand the purpose of that website
but it sound like it's related to It's
like what is the AI um work
[clears throat]
uh adoption? Is that is that what that
website is about? Because I couldn't
really get it from website.
>> I don't know what website we're talking
about.
>> I will send you the link.
It's maybe I just mentioned the last bit
of the link.
Uh
but but actually more excited to talk
about the screenshot I shared below
because with which is about all the new
tools that have been added to Claude Code
that I didn't even realize. Uh it's
called slai works
slash Oh no. Let's not talk about that.
Let's not talk about that. Please
[laughter]
let's not talk.
>> I was reading it. I couldn't understand.
Cut. Cut.
>> I didn't say anything. I just read out
the last bit of the URL.
>> Anyway, the I I hate I hate the animals
that paste in the screenshots of text,
but uh should we talk about this
quickly? I mean, to be honest,
>> no, like there's a couple of things in
there. Um and one more
>> some new tools.
>> Yeah. So, the the fact that now you can
tell cloud to store its plans directly
in your workspace so that other agents
can also see them is actually quite
nice.
>> So, I like that that you can those
plans. the I think claude does have
quite good documentation about all this
sort of stuff.
>> It does but like seeing a summary one
another one that that um the guy who
wrote speckit at Microsoft and promoted
it you know Dan he he's now in anthropic
he also shared about um he he has a new
YouTube video where it was like a very
underutilized function that most people
are not uh using properly within cloud.
What was it again?
>> Please share it. Please share it.
Let me find I'm definitely sub. There it
is. Hold on. I [snorts] I wanted to talk
about um web search actually.
Do you trust that Claude can do a web
search and find stuff off the internet?
This is something I'm always confused
about. Do I need to configure some other
tooling so that it can basically Google?
Because because essentially I I I the
only reason I use Gemini is is because
I'm assuming that it can search the web
better than Claude. You know what I
mean? Like how how do you make sure that
Claude has the latest information? Can
you rely on its web search tool or do
you use an
>> MC? You mean like when you're using it
and you're trying to make a plan and
you're asking it to go research from
libraries? I don't really trust it. I
always go back to chat GPT and and and I
can see it searched things and I can see
the links and then I put them back. This
is one thing that Clawude doesn't seem
to do all that well.
>> I'm trying to find it because it was
like something that I also never really
used much, but it's not on his um where
do I see my watch history like me?
>> It's It's hidden away in YouTube. It's
like
>> it's ridiculous.
>> On the left or something. It's
ridiculous.
And another thing is like if if Theo is
watching, I I actually wanted to
>> I wanted to like bookmark his video
about like good bits and I wanted to
somehow refer I guess I could just
record the time code, but like I wish
there was a way in YouTube to bookmark
things
easier.
>> He has a different channel. I subscribe
to it now. So it's called the Claude Code
feature senior engineers keep missing
and it was
custom/comand hooks kill hooks. Oh
he was uh
>> okay let let's probably
>> I remember
>> let's probably wrap up
>> it's it's a hook that that um that
allows the agent to validate its work
when it's doing something. So when you
execute a custom command hook, it will
then also run a um when you run a custom
command, it will invoke a hook. So after
you
>> Yeah. Yeah. I I use hooks. I use hooks.
I The cool thing is that you could just
tell Claw to set up your hooks instead
of messing around with pre-commit crap.
[snorts]
>> Yeah. Anyway, I I got to get ready to uh
take my kids to the swimming pool.
So what did you
what what what does the future hold? Did
you manage to have your interview and
stuff like this and did you
>> I have to go in to an office but I asked
them to do it the week after. What what
my in like immediate future is the
release the pre-release of the Terraform
CDK fork.
>> Okay.
>> Um and we've managed to make all of the
test pass and
documentation website. I'm trying to
port that over and then for later I I I
look like I I have some project that is
coming that I'm excited about.
>> Cool. So you're you're a busy guy, I
assume.
>> Yeah, I'm I'm I'm hoping to Yeah. Well,
I'm going to go to Fosdom and uh config
management camp next week and I'm hoping
just to chat to people like I am with
you and just be excited about the
future. I suppose that's the best I
could hope for.
Oh, there's one thing I really like in
Claude Code that's on the screenshots,
which is when you have yes, um, yes, no,
you can tab and on the on the no, you
there's a highlight that you can say
tab. So, you you press tab and then you
know, and you can add some some details
about why you don't accept it.
>> Yeah, I know about that.
>> And you can do that on Yes, too.
>> Yeah,
>> you can accept and give it some give it
some extra context. Yeah, man. It's so
exciting with Claude. It's so exciting.
I can't I couldn't even get I tried open
code. It I couldn't get it to even run
on March. It just goes it's just a blank
screen.
Anyway, thanks.
>> What is a blank screen in in inside VS
Code or or
>> when I run open code on Amachi, it just
it just it just opens up a it just does
nothing. I I
>> told you Omari completely broke on my
update. It was was a very painful
update.
>> Yeah, I think I know why. because it
doesn't seem to snapshot the the the the
boundary on the home directory is not
very clear. So you could I think what
you did right is that you made some
weird home configuration and that broke
your system.
>> No. Yeah. I mean in a way ultimately
it's something like that. It's because I
use um YQ version 4 and the Omari
templates you um have some expressions
that only work with version three. So my
global path was pointing to version four
and that broke
>> and but it was painful because like yes
you have your
>> you couldn't I mean if if you just
updated the package couldn't you roll
back using the snapshots?
>> I I was reading what I could do and and
one of the issues was talking about
these these hyperl configs not being
part of the snapshots. So I didn't even
try because I knew that if I would roll
back I would still have the problem
because all of my hyperl configs were
messed up because they were all have
they they added templating for the
colors for the theme colors into the
hyperl configs and that templating
depends on version four uh three of of
YQ the YAML uh like JQ built for YQ. So
because of that all of my templates were
messed up. None of the hyperl stuff was
working because it was breaking halfway
down. none of the screens like the the
menu bar everything was gone and and it
was very painful but the fix was
ultimately simple like just make sure
that yq3 is globally set and you only
use other versions of yq
>> so how did you fix it so you didn't roll
back to a snapshot there
>> I tried many things uh running some of
the commands that DHH was providing and
some of the the issue threads which was
like running Pac-Man re rer running set
using the default team is one of the the
the main troubleshoot ways is to make
sure you're on the default team and and
running that command again because it re
resets most of the
>> running on the the default
>> there is a there is a like set team
>> default theme oh yeah
>> yeah theme like the Tokyo night one is
default and that if you're on another
theme you should try running back to the
default theme and then go back to your
team or whatever um
>> very painful but so happy when it was
fixed I did spend like I think half a
day or maybe
>> welcome to to ax lifestyle
But that I mean that's
>> I want out Kai. I'm tired now.
>> You won out. But it doesn't surprise me.
Hyperland with all its freaking configs
and theing these things break things.
>> I still have so many Nvidia driver
issues with Chromium and other
flickering issues
>> and the lock screen. I mean Hyperland
with with Nvidia drivers is apparently a
super painful combo. Do you have
>> do you have a one of those dedicated GPU
things or do you have
>> Yeah. So when I bought my motherboard uh
sorry my do you have a video card an
Nvidia video card or something? No.
>> When I bought my Intel CPU it I bought
the one that doesn't come with the
integrated graphic processor which I
didn't know but like I I have my
dedicated discrete GPU anyway. So it was
like no problem, right? Until you run
Arch because then when you have some
Nvidia driver issues, you get a lot more
pain because of your your driver.
>> Sell your Nvidia card at a profit and
buy one of those Intel arcs.
Job done.
>> Why would I What What is ARC? Is that
like a discrete GPU of Intel?
>> Yeah, I think it's
>> Why would I go there?
>> Because their GPUs probably have good
support under Linux, probably.
But how am I going to prepare for the AI
apocalypse [laughter]
if I don't have an Nvidia GPU? I have
some life-saving GPU and you're telling
me to sell it? Guy, you are the worst
doom prepper. [laughter]
Go take your kids to swim.
>> Okay, guys. If you got this far, please
like this podcast and leave a review.
And
I don't know what else you should do. V.
Don't doom prep like an idiot.
[laughter]
>> Worst advice ever.
>> Bye.