WEBVTT

00:00:00.160 --> 00:00:01.600
You look like you've been in the sun.

00:00:01.600 --> 00:00:02.080
>> I do.

00:00:02.080 --> 00:00:03.439
>> Or maybe it's just your camera. I don't

00:00:03.439 --> 00:00:04.000
know.

00:00:04.000 --> 00:00:06.000
>> I'm using my iPhone camera, so I

00:00:06.000 --> 00:00:07.759
shouldn't wobble when I move the move

00:00:07.759 --> 00:00:08.559
the desk.

00:00:08.559 --> 00:00:10.160
>> So, sorry to

00:00:10.160 --> 00:00:11.679
>> to be so late. I'm good.

00:00:11.679 --> 00:00:13.280
>> That's all right. I mean, to be honest,

00:00:13.280 --> 00:00:16.960
I was just reading about Opus 4.6 and

00:00:16.960 --> 00:00:20.640
Android agent CLI and the new codec Mac

00:00:20.640 --> 00:00:23.199
OS app. And there's there's always quite

00:00:23.199 --> 00:00:24.400
a lot of news in the morning, isn't

00:00:24.400 --> 00:00:24.720
there?

00:00:24.720 --> 00:00:26.080
>> I haven't really been reading anything

00:00:26.080 --> 00:00:30.160
for the last six days. I was so sick. I

00:00:30.160 --> 00:00:32.000
didn't feel like reading anything.

00:00:32.000 --> 00:00:33.920
>> Yeah, you're pretty quiet. You're better

00:00:33.920 --> 00:00:34.800
now or

00:00:34.800 --> 00:00:36.320
>> Yeah, hopefully.

00:00:36.320 --> 00:00:37.280
>> Surprisingly,

00:00:37.280 --> 00:00:40.239
>> hopefully you're not full of FOMO and

00:00:40.239 --> 00:00:41.760
you're feeling positive and things like

00:00:41.760 --> 00:00:42.000
that.

00:00:42.000 --> 00:00:44.320
>> I mean, I was just scrolling on Reddit

00:00:44.320 --> 00:00:45.600
and seeing how many people are

00:00:45.600 --> 00:00:49.120
complaining about the usage limits and

00:00:49.120 --> 00:00:51.039
model performance degradation and the

00:00:51.039 --> 00:00:54.000
director of AMD doing a full breakdown

00:00:54.000 --> 00:00:58.079
of the sessions of Opus 4.6 six being

00:00:58.079 --> 00:00:59.920
deprecated and then apparently the

00:00:59.920 --> 00:01:02.320
caching being reduced from 1 hour to 5

00:01:02.320 --> 00:01:04.080
minutes in an update in what was it

00:01:04.080 --> 00:01:06.159
Febru was it March 3rd or February 3rd I

00:01:06.159 --> 00:01:06.560
don't know

00:01:06.560 --> 00:01:09.360
>> yeah I didn't understand what that meant

00:01:09.360 --> 00:01:11.439
what does caching mean in the scheme of

00:01:11.439 --> 00:01:12.560
things

00:01:12.560 --> 00:01:15.119
>> if I understand correctly it means that

00:01:15.119 --> 00:01:17.680
entropic is keeping things like like

00:01:17.680 --> 00:01:19.840
answers or tokens that it has already

00:01:19.840 --> 00:01:22.560
processed in cash much longer like for 1

00:01:22.560 --> 00:01:23.920
hour that means they have to store a lot

00:01:23.920 --> 00:01:25.759
more on their side right so if they

00:01:25.759 --> 00:01:28.799
reduce it to 5 It means that things that

00:01:28.799 --> 00:01:31.040
like are no longer in the cache and you

00:01:31.040 --> 00:01:33.520
are being instead I think it costs less

00:01:33.520 --> 00:01:35.759
to get a cache response than for it to

00:01:35.759 --> 00:01:37.439
be reprocessed and regenerate the

00:01:37.439 --> 00:01:39.600
response and so that's where the usage

00:01:39.600 --> 00:01:41.759
was being affected or the performance

00:01:41.759 --> 00:01:44.159
was also worse. I mean that's how caches

00:01:44.159 --> 00:01:46.320
work, right? You either recalculate the

00:01:46.320 --> 00:01:48.880
result or you fetch it from cache and it

00:01:48.880 --> 00:01:50.320
doesn't cost any compute.

00:01:50.320 --> 00:01:53.119
>> I mean I I didn't notice anything except

00:01:53.119 --> 00:01:55.040
that people were moaning about it

00:01:55.040 --> 00:01:57.200
>> like proper upset. Yeah, morning is the

00:01:57.200 --> 00:02:00.399
word is the right word. Oh my goodness.

00:02:00.399 --> 00:02:02.479
>> There there surely were other things to

00:02:02.479 --> 00:02:05.920
talk about 4.7. What do you what have

00:02:05.920 --> 00:02:07.600
people been saying about 4.7?

00:02:07.600 --> 00:02:09.599
>> I don't even want to read it because

00:02:09.599 --> 00:02:11.840
people are so

00:02:11.840 --> 00:02:13.599
how you say they want to give their hot

00:02:13.599 --> 00:02:14.640
takes I suppose.

00:02:14.640 --> 00:02:17.840
>> Yeah. And people will just constantly

00:02:17.840 --> 00:02:21.120
say like well they degraded 4.6 so hard

00:02:21.120 --> 00:02:24.400
so that everyone will be happy with 4.7

00:02:24.400 --> 00:02:25.920
whereas the performance is just similar

00:02:25.920 --> 00:02:28.160
and blah blah blah like all this every

00:02:28.160 --> 00:02:30.480
single time people come up with the same

00:02:30.480 --> 00:02:33.680
theories and

00:02:33.680 --> 00:02:35.680
>> yeah there's a there's a lot of like

00:02:35.680 --> 00:02:37.840
>> I don't think it's completely untrue I

00:02:37.840 --> 00:02:40.160
think there is some I mean obviously

00:02:40.160 --> 00:02:42.000
there are things that weren't working

00:02:42.000 --> 00:02:44.400
well and people were complaining and

00:02:44.400 --> 00:02:45.920
then people are like oh it works fine

00:02:45.920 --> 00:02:47.360
for me and then the next day they're

00:02:47.360 --> 00:02:49.120
like oh my god I said it was fine for me

00:02:49.120 --> 00:02:51.760
and now I'm affected. And then

00:02:51.760 --> 00:02:53.599
>> and then other people coming into Reddit

00:02:53.599 --> 00:02:55.200
saying like, "Ah, I told you guys you

00:02:55.200 --> 00:02:56.319
didn't believe me, but now you're

00:02:56.319 --> 00:02:57.840
affected." And I'm just reading it all.

00:02:57.840 --> 00:03:00.000
I'm like, "Oh my god." I'm not saying

00:03:00.000 --> 00:03:00.959
anything.

00:03:00.959 --> 00:03:02.720
>> There's a lot of controversy. Like a

00:03:02.720 --> 00:03:04.959
friend of mine was telling me that he's

00:03:04.959 --> 00:03:07.360
been been banned from using Anthropic.

00:03:07.360 --> 00:03:09.519
>> By whom? By Entropic or by

00:03:09.519 --> 00:03:10.959
>> Yeah. And and I asked him like, "What

00:03:10.959 --> 00:03:12.640
did you do?" And he says, "I don't know.

00:03:12.640 --> 00:03:13.920
I think he's probably just not telling

00:03:13.920 --> 00:03:17.760
me something." Huh. like but this he's

00:03:17.760 --> 00:03:19.840
one of these crypto guys.

00:03:19.840 --> 00:03:21.599
>> Well, there you go.

00:03:21.599 --> 00:03:24.159
>> And then the other thing was the open

00:03:24.159 --> 00:03:26.239
code like I guess Anthropic has

00:03:26.239 --> 00:03:28.560
indicated that they don't want the API

00:03:28.560 --> 00:03:32.080
keys used in other harnesses other than

00:03:32.080 --> 00:03:33.200
clawed code. Did you

00:03:33.200 --> 00:03:35.760
>> Yeah, open claw got like a final even

00:03:35.760 --> 00:03:37.200
Peter Steinberger's account was

00:03:37.200 --> 00:03:38.640
terminated as well, right? And people

00:03:38.640 --> 00:03:39.360
are like well

00:03:39.360 --> 00:03:41.280
>> yeah I mean those moves by anthropic

00:03:41.280 --> 00:03:44.000
don't really help the situation. Yes.

00:03:44.000 --> 00:03:45.519
Quite a lot of people here on a tropic

00:03:45.519 --> 00:03:46.000
rank.

00:03:46.000 --> 00:03:48.879
>> Yeah. And then and then the other thing

00:03:48.879 --> 00:03:51.200
that I picked up from the AI engineer

00:03:51.200 --> 00:03:54.239
conference a week ago was there's a lot

00:03:54.239 --> 00:03:56.159
of there was a lot of talk about you

00:03:56.159 --> 00:03:58.560
actually need to manage your context

00:03:58.560 --> 00:04:00.080
because I for some reason the bit

00:04:00.080 --> 00:04:01.920
flipped with me in the sense that like

00:04:01.920 --> 00:04:04.319
the context seems quite big nowadays and

00:04:04.319 --> 00:04:06.959
the auto compaction seems to work quite

00:04:06.959 --> 00:04:07.760
well for me.

00:04:07.760 --> 00:04:10.159
>> You didn't disable it. I mean, I know I

00:04:10.159 --> 00:04:12.400
I disabled it back with you a month or

00:04:12.400 --> 00:04:14.879
two ago, but now I think I nuked my

00:04:14.879 --> 00:04:17.759
settings and I'm using compaction again

00:04:17.759 --> 00:04:19.359
and I didn't think it was a major

00:04:19.359 --> 00:04:20.959
problem, but then people going, "No, no,

00:04:20.959 --> 00:04:23.120
you must manage your context, otherwise

00:04:23.120 --> 00:04:24.800
you're going to be in the dumb zone and

00:04:24.800 --> 00:04:27.280
you're going to be screwed." For me, I

00:04:27.280 --> 00:04:29.040
never understood the concept. I mean,

00:04:29.040 --> 00:04:30.400
like when I looked at the compaction

00:04:30.400 --> 00:04:32.320
output, it would always capture things

00:04:32.320 --> 00:04:34.160
that I don't think were important. I

00:04:34.160 --> 00:04:35.919
know that you can slash compact and make

00:04:35.919 --> 00:04:38.240
it some additional direction so that it

00:04:38.240 --> 00:04:40.320
focuses on what you want it to focus on,

00:04:40.320 --> 00:04:42.400
but because the way that I believed

00:04:42.400 --> 00:04:44.000
sessions should be ephemeral, I always

00:04:44.000 --> 00:04:46.080
felt like if it's out of context, I kill

00:04:46.080 --> 00:04:47.520
it. But at the same time, they

00:04:47.520 --> 00:04:49.360
definitely improved the like opus and

00:04:49.360 --> 00:04:51.520
swan like you would see the context grow

00:04:51.520 --> 00:04:53.919
grow suddenly shrink like not even

00:04:53.919 --> 00:04:56.160
triggering a full compaction but somehow

00:04:56.160 --> 00:04:58.800
opus is like or

00:04:58.800 --> 00:05:01.040
>> shell is managing. I think they admitted

00:05:01.040 --> 00:05:03.520
they do like this auto compaction on the

00:05:03.520 --> 00:05:06.800
on the server side nowadays.

00:05:06.800 --> 00:05:09.759
>> So anyway, long story short, you you you

00:05:09.759 --> 00:05:12.160
still maintain your context. Is that

00:05:12.160 --> 00:05:14.080
right?

00:05:14.080 --> 00:05:16.479
>> I'm using Opus with the 1 million

00:05:16.479 --> 00:05:19.440
context. So I just check if it reaches

00:05:19.440 --> 00:05:22.960
more than 20% which is a 200,000 tokens

00:05:22.960 --> 00:05:25.120
which was the old maximum context

00:05:25.120 --> 00:05:28.160
window. I try to round off the session.

00:05:28.160 --> 00:05:30.960
But usually I I'm only over 20% when I'm

00:05:30.960 --> 00:05:32.960
like pretty much done already. I'm like

00:05:32.960 --> 00:05:34.320
I have nothing else to do in this

00:05:34.320 --> 00:05:36.560
session anyway. I might as well kill it.

00:05:36.560 --> 00:05:38.560
>> It's a good practice. I I instinctively

00:05:38.560 --> 00:05:40.400
started a whole bunch of new sessions.

00:05:40.400 --> 00:05:41.759
The other thing that I thought was quite

00:05:41.759 --> 00:05:44.320
interesting that I saw uh happen in a

00:05:44.320 --> 00:05:46.960
video. it was using the the PI agent,

00:05:46.960 --> 00:05:49.360
but I guess you can do the same in in

00:05:49.360 --> 00:05:54.960
any agent is that like soon as the uh

00:05:54.960 --> 00:05:58.240
session is going wrong, he just rewinds

00:05:58.240 --> 00:05:59.919
it back to the place where

00:05:59.919 --> 00:06:01.680
>> Yeah, that's like a common saying people

00:06:01.680 --> 00:06:03.440
say now, right? Don't correct the model.

00:06:03.440 --> 00:06:04.960
Don't say that's not what I meant. Just

00:06:04.960 --> 00:06:06.800
go back to your previous prompt, adjust

00:06:06.800 --> 00:06:08.240
it so that you don't get into that

00:06:08.240 --> 00:06:10.319
situation and re re-trigger it. It's

00:06:10.319 --> 00:06:12.720
easy, right? double escape up up

00:06:12.720 --> 00:06:14.240
>> um you know reset conversation

00:06:14.240 --> 00:06:15.440
>> I don't know if there's a name for that

00:06:15.440 --> 00:06:17.039
technique rewind

00:06:17.039 --> 00:06:19.280
>> yeah there yeah it's called rewind I

00:06:19.280 --> 00:06:21.759
think it's also if you slash checkpoint

00:06:21.759 --> 00:06:24.080
it will also autocorrect to rewind

00:06:24.080 --> 00:06:25.600
because I use a command called

00:06:25.600 --> 00:06:27.199
checkpoint and every time I type it

00:06:27.199 --> 00:06:29.680
tries to use rewind and I'm like no no I

00:06:29.680 --> 00:06:32.400
won't check I don't mind my checkpoint

00:06:32.400 --> 00:06:35.039
>> you you're still using claude like uh in

00:06:35.039 --> 00:06:36.800
your max plan right Vincent

00:06:36.800 --> 00:06:39.280
>> yeah I absolutely underuse it

00:06:39.280 --> 00:06:42.400
underutilize it I But I I'm very excited

00:06:42.400 --> 00:06:44.160
about what they did with the Claude Code

00:06:44.160 --> 00:06:46.560
desktop app release. They they added

00:06:46.560 --> 00:06:49.280
basically like a multi- session like

00:06:49.280 --> 00:06:51.919
terminal better diff faster diff view a

00:06:51.919 --> 00:06:53.840
bunch of new features into that app. So

00:06:53.840 --> 00:06:55.440
now you have three tabs. You have your

00:06:55.440 --> 00:06:57.039
co-work

00:06:57.039 --> 00:06:58.720
and you can do your Claude Code uh

00:06:58.720 --> 00:07:00.960
sessions directly in the desktop app.

00:07:00.960 --> 00:07:03.039
>> All right. Is that the routines thing?

00:07:03.039 --> 00:07:04.400
The one where you can schedule stuff and

00:07:04.400 --> 00:07:05.039
all that kind of

00:07:05.039 --> 00:07:06.400
>> you can also schedule and everything in

00:07:06.400 --> 00:07:08.720
there. Yeah, I've not used that. They

00:07:08.720 --> 00:07:11.919
also added unfortunately I don't have a

00:07:11.919 --> 00:07:13.759
clawed subscription in that in that

00:07:13.759 --> 00:07:16.960
sense. I just have an API key and I

00:07:16.960 --> 00:07:19.280
don't have you know all those nice

00:07:19.280 --> 00:07:23.039
features like the clawed app and the

00:07:23.039 --> 00:07:24.960
voice and do you use teleport? Do you

00:07:24.960 --> 00:07:26.800
use the mobile connectivity? That's

00:07:26.800 --> 00:07:29.280
another thing that I so often have

00:07:29.280 --> 00:07:30.960
something running on the laptop and I

00:07:30.960 --> 00:07:33.280
leave and I'm like I would love to just

00:07:33.280 --> 00:07:36.639
on my phone continue with with the SL

00:07:36.639 --> 00:07:38.319
remote and connect it to the your laptop

00:07:38.319 --> 00:07:40.400
to the remote and then you can see your

00:07:40.400 --> 00:07:42.240
laptop session on your phone. I haven't

00:07:42.240 --> 00:07:43.520
done any of that.

00:07:43.520 --> 00:07:45.680
>> Why?

00:07:45.680 --> 00:07:47.840
Because when I leave I'm done. I'm like

00:07:47.840 --> 00:07:49.599
I don't want to touch it. Let it run

00:07:49.599 --> 00:07:51.440
until it stops and I'll come back to it

00:07:51.440 --> 00:07:52.000
later.

00:07:52.000 --> 00:07:54.000
>> I'm using a third party app. I met this

00:07:54.000 --> 00:07:57.599
guy during AI conference. He's um he's a

00:07:57.599 --> 00:08:00.800
bit Bitly VP and he he's written this

00:08:00.800 --> 00:08:02.879
thing called command control. I I would

00:08:02.879 --> 00:08:04.560
show you but I'm actually using my phone

00:08:04.560 --> 00:08:05.759
for the camera here.

00:08:05.759 --> 00:08:07.360
>> It's an app on the phone. Command

00:08:07.360 --> 00:08:08.000
Control.

00:08:08.000 --> 00:08:10.000
>> Yeah, the good thing is that it works

00:08:10.000 --> 00:08:12.240
with across all the agents and I've been

00:08:12.240 --> 00:08:15.440
using it to like jump back into it's

00:08:15.440 --> 00:08:17.039
it's even got a web interface which is

00:08:17.039 --> 00:08:18.720
pretty nice. I can just show you what it

00:08:18.720 --> 00:08:20.160
looks like on the web. I don't use the

00:08:20.160 --> 00:08:22.479
web bomb, but but the idea is that you

00:08:22.479 --> 00:08:24.639
have like a a web socket connection

00:08:24.639 --> 00:08:26.960
dialing back from your machines.

00:08:26.960 --> 00:08:27.440
>> Yeah.

00:08:27.440 --> 00:08:28.639
>> And then you have all your different

00:08:28.639 --> 00:08:30.960
sessions and uh and then you can just

00:08:30.960 --> 00:08:33.279
jump back into them assuming your m your

00:08:33.279 --> 00:08:34.320
machine is still on.

00:08:34.320 --> 00:08:36.800
>> It's like this um

00:08:36.800 --> 00:08:38.640
teamworks. There was this uh hosted

00:08:38.640 --> 00:08:42.479
Teamworks uh like SSH

00:08:42.479 --> 00:08:45.680
sharing SSH sessions um that you could

00:08:45.680 --> 00:08:48.160
do. You you could you had this one

00:08:48.160 --> 00:08:49.760
command that you can share your terminal

00:08:49.760 --> 00:08:51.440
with other people and it was going

00:08:51.440 --> 00:08:52.160
>> Oh, yeah.

00:08:52.160 --> 00:08:55.200
>> It's like endro but

00:08:55.200 --> 00:08:56.080
>> for terminal.

00:08:56.080 --> 00:08:58.800
>> Well, it's it's yeah I I find it quite

00:08:58.800 --> 00:09:00.720
useful like there's also this thing here

00:09:00.720 --> 00:09:02.480
called where you you come back to your

00:09:02.480 --> 00:09:03.839
overview

00:09:03.839 --> 00:09:05.519
>> and then it's using AI to sort of

00:09:05.519 --> 00:09:07.760
summarize your last five sessions or

00:09:07.760 --> 00:09:09.680
something. Hopefully it's not going to

00:09:09.680 --> 00:09:11.839
do something crazy.

00:09:11.839 --> 00:09:13.440
Um,

00:09:13.440 --> 00:09:15.600
but yeah, like and then since I'm using

00:09:15.600 --> 00:09:18.080
it, I'm actually now using my phone a

00:09:18.080 --> 00:09:18.959
lot more.

00:09:18.959 --> 00:09:21.279
>> Have you seen this one? Uh, was it on

00:09:21.279 --> 00:09:22.560
Reddit? I don't know, but there was this

00:09:22.560 --> 00:09:25.519
article talking about routers. So, you

00:09:25.519 --> 00:09:27.600
have so many API routers that help you

00:09:27.600 --> 00:09:29.519
manage your API key across different

00:09:29.519 --> 00:09:32.320
inference providers. So many of them.

00:09:32.320 --> 00:09:33.519
And then turns out that

00:09:33.519 --> 00:09:35.760
>> Elsale has has one. Yeah, but the the

00:09:35.760 --> 00:09:37.519
article was about how many of those are

00:09:37.519 --> 00:09:41.200
stealing your API keys and are trying to

00:09:41.200 --> 00:09:43.120
like they did a test and they were

00:09:43.120 --> 00:09:45.519
trying to empty Bitcoin wallets and all

00:09:45.519 --> 00:09:47.519
types of like dodgy stuff going on on

00:09:47.519 --> 00:09:49.600
those. Like I wouldn't trust it anyway.

00:09:49.600 --> 00:09:51.200
I never use any of those.

00:09:51.200 --> 00:09:54.320
>> Well, yeah, I guess I am running this.

00:09:54.320 --> 00:09:57.440
Well, I trust this guy's binary, but I I

00:09:57.440 --> 00:10:00.160
often think to myself like in my envir I

00:10:00.160 --> 00:10:02.320
have my enthropic key, I have my open AI

00:10:02.320 --> 00:10:04.959
key, I have my whatever key. It doesn't

00:10:04.959 --> 00:10:07.680
take much of a skilled devious person to

00:10:07.680 --> 00:10:09.839
do a print and pipe in some way, you

00:10:09.839 --> 00:10:11.519
know. But so you have to be quite

00:10:11.519 --> 00:10:14.320
careful about what about anything you

00:10:14.320 --> 00:10:14.640
run.

00:10:14.640 --> 00:10:16.560
>> I'm also have one app where I'm

00:10:16.560 --> 00:10:18.800
literally it's also from Peter

00:10:18.800 --> 00:10:20.560
Steinberger, I think, or else it's from

00:10:20.560 --> 00:10:24.079
Emmanuel Doodlestein. He has this Codex

00:10:24.079 --> 00:10:26.800
bar that gives you an indicator on your

00:10:26.800 --> 00:10:29.760
speed of your usage. So it shows you

00:10:29.760 --> 00:10:31.760
where you are on your weekly budget. And

00:10:31.760 --> 00:10:35.120
if you like if you're hitting your your

00:10:35.120 --> 00:10:37.519
5h hour session limits and then it will

00:10:37.519 --> 00:10:39.360
highlight like this is a speed meter. If

00:10:39.360 --> 00:10:41.200
you're above you have you're going to

00:10:41.200 --> 00:10:43.360
hit your weekly budget before the end of

00:10:43.360 --> 00:10:45.200
the week. If you're below you still have

00:10:45.200 --> 00:10:47.920
enough run a lot of runway to keep going

00:10:47.920 --> 00:10:50.000
until you hit the the red marker and it

00:10:50.000 --> 00:10:52.720
just tracks it over time. And it's a

00:10:52.720 --> 00:10:55.040
nice thing this code expar but every

00:10:55.040 --> 00:10:58.720
time it prompts me to give it permission

00:10:58.720 --> 00:11:00.959
to read the Claude Code credentials from

00:11:00.959 --> 00:11:02.720
the keychain. So it definitely can read

00:11:02.720 --> 00:11:04.720
the API keys and everything to go and

00:11:04.720 --> 00:11:06.800
fetch to the cloud.AI

00:11:06.800 --> 00:11:09.040
>> to go and see find the usage and and

00:11:09.040 --> 00:11:09.680
give back

00:11:09.680 --> 00:11:12.560
>> and yeah I I see the the problem there.

00:11:12.560 --> 00:11:14.560
and also like just every time faithfully

00:11:14.560 --> 00:11:16.480
telling it, "Yeah, sure. Go ahead and

00:11:16.480 --> 00:11:17.040
read."

00:11:17.040 --> 00:11:18.399
>> The thing that I find really I thought

00:11:18.399 --> 00:11:20.560
you were going to allude to a different

00:11:20.560 --> 00:11:22.800
point where like the thing I find

00:11:22.800 --> 00:11:24.880
frustrating with my employer, the way

00:11:24.880 --> 00:11:26.959
that they managed all the API keys in

00:11:26.959 --> 00:11:29.360
these is that they have like some some

00:11:29.360 --> 00:11:31.519
anthropic or open AI, but they put they

00:11:31.519 --> 00:11:33.440
put people in groups. So basically when

00:11:33.440 --> 00:11:35.920
the group has hit too many tokens, then

00:11:35.920 --> 00:11:37.200
they there's some sort of cool off

00:11:37.200 --> 00:11:39.760
period. So depending on which group or

00:11:39.760 --> 00:11:43.600
cohort I'm in, I'm basically sometimes I

00:11:43.600 --> 00:11:46.160
get denied, you know, the Opus models,

00:11:46.160 --> 00:11:48.320
sometimes I run out of tokens. They

00:11:48.320 --> 00:11:50.720
don't seem to do it on a per API basis

00:11:50.720 --> 00:11:52.480
right now. I mean, it's just an example.

00:11:52.480 --> 00:11:53.920
Well, I'm sure they're going to fix it,

00:11:53.920 --> 00:11:56.000
but like when I was in a in a previous

00:11:56.000 --> 00:11:57.680
client, I had a similar problem because

00:11:57.680 --> 00:11:59.519
they were they were dishing out tokens

00:11:59.519 --> 00:12:01.600
through co-pilot and then once your

00:12:01.600 --> 00:12:03.839
premium requests are done, you basically

00:12:03.839 --> 00:12:06.240
have to wait until the next month to get

00:12:06.240 --> 00:12:08.560
to get Frontier model premium requests

00:12:08.560 --> 00:12:09.519
back.

00:12:09.519 --> 00:12:10.000
>> Jeez.

00:12:10.000 --> 00:12:11.920
>> And well, it just goes to show to me at

00:12:11.920 --> 00:12:15.120
least that they is that handling AI

00:12:15.120 --> 00:12:17.360
budget still doesn't seem to be a very

00:12:17.360 --> 00:12:19.120
well- solved problem, especially in

00:12:19.120 --> 00:12:21.200
enterprise. Never mind the max plan

00:12:21.200 --> 00:12:24.000
where where you're where you fo mate.

00:12:24.000 --> 00:12:25.760
>> Yeah. I mean it's the same in my

00:12:25.760 --> 00:12:27.760
organization. It's funny because there

00:12:27.760 --> 00:12:31.120
is like we have copilot enterprise but

00:12:31.120 --> 00:12:34.240
people prefer Claude Code and it's pretty

00:12:34.240 --> 00:12:36.480
obvious people are using Claude Code but

00:12:36.480 --> 00:12:38.560
you shouldn't right because the GitHub

00:12:38.560 --> 00:12:39.200
enterprise

00:12:39.200 --> 00:12:40.560
>> don't get me started on that.

00:12:40.560 --> 00:12:40.959
>> Yeah

00:12:40.959 --> 00:12:42.800
>> there's got to be a name for that using

00:12:42.800 --> 00:12:45.760
AI models that are not actually blessed

00:12:45.760 --> 00:12:47.120
by your organization.

00:12:47.120 --> 00:12:48.720
>> It's been highlighted. There was a

00:12:48.720 --> 00:12:50.880
DevOps days conference in Singapore last

00:12:50.880 --> 00:12:52.639
year. Was it last? Yeah, it was last

00:12:52.639 --> 00:12:54.639
year around March. And one of the talks

00:12:54.639 --> 00:12:57.440
was specifically around as an security

00:12:57.440 --> 00:12:59.680
team within an organization. If you do

00:12:59.680 --> 00:13:02.560
not give people the ability to use AI

00:13:02.560 --> 00:13:04.720
and the proper models of AI, they will

00:13:04.720 --> 00:13:06.320
find you know at the time people were

00:13:06.320 --> 00:13:08.560
copy pasting code from the codebase

00:13:08.560 --> 00:13:10.560
directly into CHPT, right?

00:13:10.560 --> 00:13:11.600
>> Yeah.

00:13:11.600 --> 00:13:14.079
>> And u they were like all of your data

00:13:14.079 --> 00:13:16.800
gets excfiltrated and trained upon.

00:13:16.800 --> 00:13:20.399
uh talk in AI engineers conference was

00:13:20.399 --> 00:13:21.040
just about

00:13:21.040 --> 00:13:22.720
>> oh he was there pardon

00:13:22.720 --> 00:13:23.440
>> he was there

00:13:23.440 --> 00:13:25.519
>> yeah he was there but he he was a bit he

00:13:25.519 --> 00:13:27.120
was a bit exasperated he was a bit

00:13:27.120 --> 00:13:30.079
frustrated he wasn't like having fun you

00:13:30.079 --> 00:13:33.120
know I think it's really important to

00:13:33.120 --> 00:13:34.959
have fun with the work you do otherwise

00:13:34.959 --> 00:13:36.079
it's going to kill you right

00:13:36.079 --> 00:13:37.519
>> but he's going I mean the way he was

00:13:37.519 --> 00:13:39.120
going as well it wouldn't be surprising

00:13:39.120 --> 00:13:40.880
to to see a burnout right

00:13:40.880 --> 00:13:44.000
>> yeah sure though what he said was

00:13:44.000 --> 00:13:46.000
nothing new he was just berating the

00:13:46.000 --> 00:13:49.600
fact that like all these CVEes,

00:13:49.600 --> 00:13:51.680
you know, he's got like hundreds of if

00:13:51.680 --> 00:13:54.000
not thousands CVES on his projects. You

00:13:54.000 --> 00:13:56.720
know, the worst thing was

00:13:56.720 --> 00:13:58.880
he he sampled a couple of them and the

00:13:58.880 --> 00:14:01.279
worst thing the worst CVE wasn't really

00:14:01.279 --> 00:14:03.760
even like,

00:14:03.760 --> 00:14:05.760
you know, bad at all. And I couldn't

00:14:05.760 --> 00:14:08.079
help but think on a security perspective

00:14:08.079 --> 00:14:11.519
like like you you've been in the game as

00:14:11.519 --> 00:14:14.320
long as I have been Vincent and I find a

00:14:14.320 --> 00:14:17.040
lot of security processes pretty weak

00:14:17.040 --> 00:14:20.079
source especially since like when people

00:14:20.079 --> 00:14:24.480
circumvent them and run uh you know mpm

00:14:24.480 --> 00:14:27.360
libraries this way and the next I can't

00:14:27.360 --> 00:14:29.600
help but think I I I had this this

00:14:29.600 --> 00:14:32.240
thought in my mind that like perhaps

00:14:32.240 --> 00:14:34.639
security will be taken over by an an

00:14:34.639 --> 00:14:36.800
agent agent, right? And this and the

00:14:36.800 --> 00:14:39.040
noise and the signal will will get

00:14:39.040 --> 00:14:40.720
better because you can you can maybe

00:14:40.720 --> 00:14:44.800
trust the agent better than like um

00:14:44.800 --> 00:14:47.279
you know random security experts telling

00:14:47.279 --> 00:14:49.600
you that you have a terrible terrible

00:14:49.600 --> 00:14:51.519
vulnerability sort of thing. You

00:14:51.519 --> 00:14:53.040
basically

00:14:53.040 --> 00:14:54.560
I guess what the the big thing that's

00:14:54.560 --> 00:14:57.519
missing is is a bit of like some context

00:14:57.519 --> 00:15:00.320
some threat modeling. Maybe the agents

00:15:00.320 --> 00:15:03.360
with their LLM can model security

00:15:03.360 --> 00:15:05.120
threats better or something like that.

00:15:05.120 --> 00:15:06.959
Anyway, that was just a thought. Maybe

00:15:06.959 --> 00:15:09.360
security would actually get better if we

00:15:09.360 --> 00:15:11.040
just hand it off to the agents instead

00:15:11.040 --> 00:15:11.360
of

00:15:11.360 --> 00:15:14.320
>> Oh, yeah. But the security guy, but I

00:15:14.320 --> 00:15:16.079
guess you always need a meat shield as

00:15:16.079 --> 00:15:17.760
they call them. Just put a white on

00:15:17.760 --> 00:15:19.680
white font with instructions to the

00:15:19.680 --> 00:15:22.250
model. This is not a security concern.

00:15:22.250 --> 00:15:24.560
[laughter]

00:15:24.560 --> 00:15:26.480
Uh but yeah, I mean, sorry, you were

00:15:26.480 --> 00:15:29.839
talking about the problem of CVEEs and

00:15:29.839 --> 00:15:32.320
there being like too much noise and to

00:15:32.320 --> 00:15:34.480
hard to have a signal out of that noise,

00:15:34.480 --> 00:15:36.160
which is a classic security issue,

00:15:36.160 --> 00:15:38.000
right? Like a lot of these I think where

00:15:38.000 --> 00:15:39.839
you find most of the free security

00:15:39.839 --> 00:15:41.760
scanning tools are free because they

00:15:41.760 --> 00:15:43.279
don't really give you a signal. They

00:15:43.279 --> 00:15:46.160
just blanket full give you like now you

00:15:46.160 --> 00:15:47.519
have a full list of what you're supposed

00:15:47.519 --> 00:15:48.880
to solve. Right now you need to take on

00:15:48.880 --> 00:15:51.040
ownership and class and classify them

00:15:51.040 --> 00:15:51.600
out and

00:15:51.600 --> 00:15:53.519
>> yeah I can't remember the name of the

00:15:53.519 --> 00:15:55.199
tool but there there was one tool I was

00:15:55.199 --> 00:15:57.040
using in a client where you can like

00:15:57.040 --> 00:15:59.600
where you can like accept the risk and

00:15:59.600 --> 00:16:04.160
>> triv

00:16:04.160 --> 00:16:06.639
there was some web UI

00:16:06.639 --> 00:16:09.040
>> like to be honest I was I think I was I

00:16:09.040 --> 00:16:11.120
was working with snick and I couldn't

00:16:11.120 --> 00:16:12.639
maybe I was just being an idiot but I

00:16:12.639 --> 00:16:15.279
couldn't work out how to accept the risk

00:16:15.279 --> 00:16:16.480
in snick

00:16:16.480 --> 00:16:18.880
>> so the same issue I of today with data

00:16:18.880 --> 00:16:22.399
do IC SUSK like the like scanners the

00:16:22.399 --> 00:16:25.040
static scanner static code analysis and

00:16:25.040 --> 00:16:29.120
the yeah um there was also sona cube son

00:16:29.120 --> 00:16:32.800
cloud you must be able to indicate on a

00:16:32.800 --> 00:16:36.000
perf line line when I put the code I

00:16:36.000 --> 00:16:38.880
must be able to indicate that this is an

00:16:38.880 --> 00:16:41.519
accept this is an exception to the rule

00:16:41.519 --> 00:16:43.680
because obviously of this reason if your

00:16:43.680 --> 00:16:45.440
tool doesn't support that and you have

00:16:45.440 --> 00:16:47.199
to go into a dashboard somewhere and go

00:16:47.199 --> 00:16:48.240
click a button

00:16:48.240 --> 00:16:49.680
>> and then you don't have that permission

00:16:49.680 --> 00:16:51.680
and then administrator has to approve it

00:16:51.680 --> 00:16:53.920
and all of that. Then it's already

00:16:53.920 --> 00:16:56.240
broken. Then I'm already working on on a

00:16:56.240 --> 00:16:58.639
workound. I'm already finding a way to

00:16:58.639 --> 00:17:00.800
not get that error message and actually

00:17:00.800 --> 00:17:02.480
sometimes I just lead into more

00:17:02.480 --> 00:17:04.079
insecure. That's exactly what happened

00:17:04.079 --> 00:17:06.400
to me just like a month ago. I got this

00:17:06.400 --> 00:17:09.600
um I'm doing a build for an AMI and I'm

00:17:09.600 --> 00:17:11.839
vendoring a script from the supplier

00:17:11.839 --> 00:17:14.240
because vendoring is more secure, right?

00:17:14.240 --> 00:17:16.079
If you vendor the script, you're going

00:17:16.079 --> 00:17:17.919
to not pull something off the internet

00:17:17.919 --> 00:17:20.079
during the build. Vendoring is is a good

00:17:20.079 --> 00:17:21.280
secure practice.

00:17:21.280 --> 00:17:23.039
>> What do you mean by vendoring? Just

00:17:23.039 --> 00:17:25.439
>> vendoring is the process of taking a

00:17:25.439 --> 00:17:27.839
code is to take a a vendor dependency

00:17:27.839 --> 00:17:30.080
and vendoring it into your code. So in

00:17:30.080 --> 00:17:32.160
into your codebase. So I'm taking an

00:17:32.160 --> 00:17:32.960
installation script

00:17:32.960 --> 00:17:34.880
>> different from just like mpm installing

00:17:34.880 --> 00:17:35.360
or

00:17:35.360 --> 00:17:37.520
>> no like in this case I'm I'm using a

00:17:37.520 --> 00:17:40.960
shell script to install an AMI and I I'm

00:17:40.960 --> 00:17:42.880
in vendoring that shell script directly

00:17:42.880 --> 00:17:44.880
instead of doing a curl during the build

00:17:44.880 --> 00:17:46.880
to curl a remote installation shell

00:17:46.880 --> 00:17:49.039
script. I'm vendoring the script in so

00:17:49.039 --> 00:17:51.120
that it's not like changed or swapped

00:17:51.120 --> 00:17:52.559
under me and it's also

00:17:52.559 --> 00:17:55.200
>> keeping keeping a copy of the installed

00:17:55.200 --> 00:17:55.840
script

00:17:55.840 --> 00:17:57.840
>> and that's how Golang original

00:17:57.840 --> 00:17:59.600
dependencies often worked right the

00:17:59.600 --> 00:18:01.200
Google team they all just like even

00:18:01.200 --> 00:18:02.799
Kubernetes they vendor everything

00:18:02.799 --> 00:18:04.880
>> that's why I said yeah go mod vendor

00:18:04.880 --> 00:18:07.200
that so you allows you to basically

00:18:07.200 --> 00:18:09.600
commit the vendor's code which is can be

00:18:09.600 --> 00:18:11.760
handy because then if your internet goes

00:18:11.760 --> 00:18:13.200
down you can still work

00:18:13.200 --> 00:18:16.080
>> or or a left pad inc instance incident

00:18:16.080 --> 00:18:18.000
happens and your dependencies are

00:18:18.000 --> 00:18:18.480
pulled.

00:18:18.480 --> 00:18:20.720
>> But the but the fact of the matter is is

00:18:20.720 --> 00:18:24.080
that even on a small micros service,

00:18:24.080 --> 00:18:25.440
this is back in the day when I was

00:18:25.440 --> 00:18:28.160
working in Singapore for a unicorn, we

00:18:28.160 --> 00:18:30.320
couldn't we couldn't do go mod vendors

00:18:30.320 --> 00:18:32.880
anymore because it would be like

00:18:32.880 --> 00:18:36.640
>> the vendor would be like 98% of the the

00:18:36.640 --> 00:18:37.520
code base.

00:18:37.520 --> 00:18:39.440
>> Yeah. So, but but I mean vendoring is

00:18:39.440 --> 00:18:41.120
not necessarily an insecure practice.

00:18:41.120 --> 00:18:42.640
You just need to vendor it and then you

00:18:42.640 --> 00:18:44.320
have a mechanism to keep the vendor

00:18:44.320 --> 00:18:47.280
vendor's code up to date as well. Right.

00:18:47.280 --> 00:18:48.480
>> There's I mean there's other there's

00:18:48.480 --> 00:18:49.840
other techniques. I think we ended up

00:18:49.840 --> 00:18:52.240
using go mod proxy by the way. Anyway,

00:18:52.240 --> 00:18:55.520
>> right. So the vendor script failed the

00:18:55.520 --> 00:18:58.160
security tests and if I vendor it then I

00:18:58.160 --> 00:19:00.080
have to go and fix it. Then next time I

00:19:00.080 --> 00:19:01.520
need to update it, it's more headache

00:19:01.520 --> 00:19:04.240
because then I can reapply the fixes and

00:19:04.240 --> 00:19:07.039
it's problematic. So I wanted to put a

00:19:07.039 --> 00:19:08.480
white list because this is a vendor

00:19:08.480 --> 00:19:10.320
script from a trusted provider like a

00:19:10.320 --> 00:19:12.000
third party supplier that we are

00:19:12.000 --> 00:19:14.400
>> an exception or something. Yeah. And I

00:19:14.400 --> 00:19:15.919
couldn't do it. I had to go through a

00:19:15.919 --> 00:19:18.080
dashboard or through an admin panel and

00:19:18.080 --> 00:19:20.799
whatever. So I just you know replaced my

00:19:20.799 --> 00:19:23.200
vendoring with a curl on demand

00:19:23.200 --> 00:19:25.679
>> and the the security scanner didn't plug

00:19:25.679 --> 00:19:27.760
it. It's fine to curl random

00:19:27.760 --> 00:19:29.520
installation script during build but

00:19:29.520 --> 00:19:31.760
it's not fine to have a insecure vend

00:19:31.760 --> 00:19:33.280
like vendor script. So

00:19:33.280 --> 00:19:35.520
>> yeah. So the yeah the security space is

00:19:35.520 --> 00:19:37.440
is just a classic ownership

00:19:37.440 --> 00:19:40.320
miscommunication space. There are tools

00:19:40.320 --> 00:19:42.000
to solve it but like how many

00:19:42.000 --> 00:19:44.480
enterprises have I gone into where like

00:19:44.480 --> 00:19:46.240
I don't care just solve the 10

00:19:46.240 --> 00:19:48.480
vulnerabilities that are

00:19:48.480 --> 00:19:50.720
>> you got in your email you know just do

00:19:50.720 --> 00:19:54.000
it like no it's more complicated

00:19:54.000 --> 00:19:55.120
>> like this is why

00:19:55.120 --> 00:19:56.880
>> penetration testing reports are also

00:19:56.880 --> 00:19:59.520
funny in that way they will come back

00:19:59.520 --> 00:20:01.440
>> with a massive list and then you

00:20:01.440 --> 00:20:03.039
>> when you're working in an enterprise

00:20:03.039 --> 00:20:04.960
these communication problems can really

00:20:04.960 --> 00:20:08.000
mount up and I don't feel like those

00:20:08.000 --> 00:20:09.760
sort of things are even handled Those

00:20:09.760 --> 00:20:11.600
things are not handled very well. Like

00:20:11.600 --> 00:20:14.559
going back to AI models, like like when

00:20:14.559 --> 00:20:16.880
I'm using an AI model, again, I I don't

00:20:16.880 --> 00:20:19.039
know. You must tell me, Vincent, but I'm

00:20:19.039 --> 00:20:20.799
going to probably vibe this because I'm

00:20:20.799 --> 00:20:22.240
just getting frustrated. There's no real

00:20:22.240 --> 00:20:25.679
way of me showing how I prompted the

00:20:25.679 --> 00:20:28.400
agent to get where I am. And then and

00:20:28.400 --> 00:20:30.480
then again, my colleagues are like like,

00:20:30.480 --> 00:20:33.200
"What did you do? How did you get here?

00:20:33.200 --> 00:20:35.280
I can't maintain it." So you're having

00:20:35.280 --> 00:20:37.600
issues where AI like you're submitting

00:20:37.600 --> 00:20:40.159
code and people need more background on

00:20:40.159 --> 00:20:41.039
how on on

00:20:41.039 --> 00:20:42.799
>> yeah like I think all these open source

00:20:42.799 --> 00:20:44.240
projects are doing the same thing like

00:20:44.240 --> 00:20:46.480
you need to declare when you're using LL

00:20:46.480 --> 00:20:48.640
LLMs you need to show the model. We

00:20:48.640 --> 00:20:50.640
talked about this before but I I'm just

00:20:50.640 --> 00:20:52.480
lacking the tooling to do this easily

00:20:52.480 --> 00:20:55.200
because like I just I have my ways and I

00:20:55.200 --> 00:20:57.039
just get the work done. The hard thing

00:20:57.039 --> 00:20:59.840
is to communicate and upskill your your

00:20:59.840 --> 00:21:01.440
team members and um

00:21:01.440 --> 00:21:03.600
>> so sorry but because we're talking about

00:21:03.600 --> 00:21:05.440
left path incident and vendoring your

00:21:05.440 --> 00:21:07.520
dependencies and and other mechanisms

00:21:07.520 --> 00:21:09.679
like um locking aside from what you just

00:21:09.679 --> 00:21:12.400
mentioned about your um you know having

00:21:12.400 --> 00:21:14.720
problems with other team members being

00:21:14.720 --> 00:21:16.240
on board with some of

00:21:16.240 --> 00:21:17.200
>> I was trying I was trying to make it

00:21:17.200 --> 00:21:18.720
it's the same sort of problem like when

00:21:18.720 --> 00:21:21.440
you have a security issue when you have

00:21:21.440 --> 00:21:23.039
those sort of problems it's it's already

00:21:23.039 --> 00:21:24.720
a communication right it's it's about

00:21:24.720 --> 00:21:27.200
accepting ownership of of a of a

00:21:27.200 --> 00:21:27.679
problem.

00:21:27.679 --> 00:21:29.120
>> Okay. But something really really

00:21:29.120 --> 00:21:30.559
interesting happened in the Rust

00:21:30.559 --> 00:21:33.440
ecosystem this week. So I'll share my

00:21:33.440 --> 00:21:35.440
screen which is related to leftpad.

00:21:35.440 --> 00:21:37.600
Sorry cuz I wanted to talk about that.

00:21:37.600 --> 00:21:41.120
Where is it? Here. So, so basically

00:21:41.120 --> 00:21:43.360
somebody sent an email to a maintainer

00:21:43.360 --> 00:21:46.320
for a core to uh create which was

00:21:46.320 --> 00:21:48.880
created under techno creatives

00:21:48.880 --> 00:21:52.320
organization years ago um to address

00:21:52.320 --> 00:21:55.120
some issues with the standard lip core

00:21:55.120 --> 00:21:55.600
from

00:21:55.600 --> 00:21:57.440
>> I don't know if you can zoom in easily.

00:21:57.440 --> 00:22:00.720
>> Yeah, I can I can it just works well.

00:22:00.720 --> 00:22:02.320
It's not zooming in.

00:22:02.320 --> 00:22:04.320
>> I think you need to get the magnifier

00:22:04.320 --> 00:22:04.799
going.

00:22:04.799 --> 00:22:06.080
>> You can see it now.

00:22:06.080 --> 00:22:06.559
>> Yeah.

00:22:06.559 --> 00:22:10.000
>> Okay. So, somebody wrote saying uh to

00:22:10.000 --> 00:22:12.320
Brendan Malloy apparently who was still

00:22:12.320 --> 00:22:14.480
one of the people active of an

00:22:14.480 --> 00:22:16.159
organization that apparently was this

00:22:16.159 --> 00:22:18.640
like closed down four years ago. They

00:22:18.640 --> 00:22:21.120
they they built a small little work

00:22:21.120 --> 00:22:23.280
around to solve some issues. And he

00:22:23.280 --> 00:22:24.880
says, "Hey, there's a couple of

00:22:24.880 --> 00:22:27.679
dependencies there that um you know need

00:22:27.679 --> 00:22:29.280
to be updated and maybe we need to like

00:22:29.280 --> 00:22:31.600
find a way to maintain it." and he

00:22:31.600 --> 00:22:34.480
responded by saying this thing shouldn't

00:22:34.480 --> 00:22:36.640
be used. That bank that company went

00:22:36.640 --> 00:22:39.840
bankrupt. It was it is my IP. It's

00:22:39.840 --> 00:22:42.799
insane that some people still use it. Um

00:22:42.799 --> 00:22:44.799
madness. It would I would not recommend

00:22:44.799 --> 00:22:46.960
that anybody use this. I'm yanking all

00:22:46.960 --> 00:22:48.880
the versions. So apparently in Rust if

00:22:48.880 --> 00:22:52.320
you yank you basically remove any

00:22:52.320 --> 00:22:56.960
reference to the published um binaries

00:22:56.960 --> 00:22:59.520
that others depend on. And that means

00:22:59.520 --> 00:23:01.919
that if you do not have a LO file with

00:23:01.919 --> 00:23:04.400
um in your Rust project or in your

00:23:04.400 --> 00:23:06.400
library with that LO file keeps track of

00:23:06.400 --> 00:23:09.520
your dependencies and and their exact I

00:23:09.520 --> 00:23:12.320
don't know reference then without a LO

00:23:12.320 --> 00:23:14.559
file if you have it as a dependency it

00:23:14.559 --> 00:23:16.240
will try to find it but it can't find it

00:23:16.240 --> 00:23:17.840
anymore because all references have been

00:23:17.840 --> 00:23:19.760
yanked removed but they're still there.

00:23:19.760 --> 00:23:21.200
If you have a lock file it will still

00:23:21.200 --> 00:23:23.520
work. So he's like I yanked all the

00:23:23.520 --> 00:23:25.600
versions and he completely archived the

00:23:25.600 --> 00:23:27.280
repository just when somebody asked for

00:23:27.280 --> 00:23:29.520
like is there a way to like update it

00:23:29.520 --> 00:23:32.400
and um as a result many many Rust

00:23:32.400 --> 00:23:34.159
libraries just broke because a lot of

00:23:34.159 --> 00:23:36.640
them didn't have any lock file and he

00:23:36.640 --> 00:23:40.720
said like apparently when I did this um

00:23:40.720 --> 00:23:44.480
it broke plenty of file out and he even

00:23:44.480 --> 00:23:49.440
made a joke about it

00:23:49.440 --> 00:23:51.120
>> yeah Brandon made a joke he said it's

00:23:51.120 --> 00:23:53.840
kind I think it's in in the Bucky DM uh

00:23:53.840 --> 00:23:57.280
thread. He said like it's kind of funny.

00:23:57.280 --> 00:24:00.640
>> What is Hecker? It's a Madon instance.

00:24:00.640 --> 00:24:03.600
>> Yeah, Masteron type. Yeah. Um I thought

00:24:03.600 --> 00:24:06.480
it was pretty like in his um in his

00:24:06.480 --> 00:24:09.679
thread he said it's kind of funny that I

00:24:09.679 --> 00:24:11.919
caused such a mayhem and that so many

00:24:11.919 --> 00:24:13.279
people don't know how to have a proper

00:24:13.279 --> 00:24:15.200
lock file. And there was this whole

00:24:15.200 --> 00:24:17.840
Reddit thread uh that I read on Rust.

00:24:17.840 --> 00:24:20.480
Um, but it has been on the Rust Ah, what

00:24:20.480 --> 00:24:22.880
is all this? On the Rust subreddit, not

00:24:22.880 --> 00:24:23.440
this one.

00:24:23.440 --> 00:24:26.480
>> Sam Millison's blog. Of course.

00:24:26.480 --> 00:24:27.039
>> Um,

00:24:27.039 --> 00:24:28.559
>> okay. I think I get the point. So, he

00:24:28.559 --> 00:24:28.799
was

00:24:28.799 --> 00:24:30.640
>> So, there was a left incident. Yeah.

00:24:30.640 --> 00:24:32.320
>> Unpathetic, shall we say?

00:24:32.320 --> 00:24:34.240
>> Very unempathetic. So, a lot of the

00:24:34.240 --> 00:24:36.640
people were like, he's like he he's

00:24:36.640 --> 00:24:39.600
doing he's not responsible. Some people

00:24:39.600 --> 00:24:41.120
went very far and it was like he should

00:24:41.120 --> 00:24:42.799
never be allowed to publish any Rust.

00:24:42.799 --> 00:24:46.159
Like who cares what you think or that he

00:24:46.159 --> 00:24:47.360
should not be allowed to create a

00:24:47.360 --> 00:24:48.880
library anymore. Don't don't depend on

00:24:48.880 --> 00:24:50.400
his libraries. Like what what who are

00:24:50.400 --> 00:24:52.240
you to say that he should not be allowed

00:24:52.240 --> 00:24:53.679
to publish a library because he he

00:24:53.679 --> 00:24:55.919
yanked a library once. Plus people are

00:24:55.919 --> 00:24:58.559
like uh if the if the functionality of

00:24:58.559 --> 00:25:01.039
the package manager exists to yank then

00:25:01.039 --> 00:25:03.360
like it's not his fault for using that

00:25:03.360 --> 00:25:05.440
functionality, right? Um

00:25:05.440 --> 00:25:07.440
>> what was the comment with Liv Flake? He

00:25:07.440 --> 00:25:09.360
was just being incredulous that anyone's

00:25:09.360 --> 00:25:10.640
using a deflate anymore.

00:25:10.640 --> 00:25:14.480
>> Lip uh lip flate. I think lip inflation.

00:25:14.480 --> 00:25:16.880
I think you're inflating your your um

00:25:16.880 --> 00:25:18.480
you shouldn't be using it. You you

00:25:18.480 --> 00:25:20.960
should use the original standard um the

00:25:20.960 --> 00:25:23.919
standard lip should use it.

00:25:23.919 --> 00:25:24.400
>> Okay.

00:25:24.400 --> 00:25:26.159
>> Because it's like fouryear-old

00:25:26.159 --> 00:25:27.679
workarounds that should have been solved

00:25:27.679 --> 00:25:29.600
upstream already. But then they said,

00:25:29.600 --> 00:25:31.840
well, there's still reasons why it

00:25:31.840 --> 00:25:34.320
>> it's a complicated thing cuz cuz people

00:25:34.320 --> 00:25:36.159
are probably Yeah.

00:25:36.159 --> 00:25:38.080
So people are saying that Russ just had

00:25:38.080 --> 00:25:40.080
it left bad incident with the

00:25:40.080 --> 00:25:43.919
>> Yeah. Well, okay. Well done. Well done.

00:25:43.919 --> 00:25:46.720
And all these supply chain issues are

00:25:46.720 --> 00:25:48.080
probably just going to get worse over

00:25:48.080 --> 00:25:49.520
time, aren't they? They're just going to

00:25:49.520 --> 00:25:52.640
get more and more drama drama mammas.

00:25:52.640 --> 00:25:55.360
And I guess what I'm thinking aloud is

00:25:55.360 --> 00:25:57.440
that ultimately humans are responsible

00:25:57.440 --> 00:25:59.840
for libraries. And up until now, they

00:25:59.840 --> 00:26:01.520
haven't really the humans haven't really

00:26:01.520 --> 00:26:05.679
been compensated for such right. I I

00:26:05.679 --> 00:26:08.559
feel like we need we need to have a a

00:26:08.559 --> 00:26:11.279
system that that where major libraries

00:26:11.279 --> 00:26:13.679
are are essentially paid for, I suppose.

00:26:13.679 --> 00:26:15.200
And then and then if if someone is

00:26:15.200 --> 00:26:17.600
getting money for maintaining a library,

00:26:17.600 --> 00:26:19.279
then then they're going to they're going

00:26:19.279 --> 00:26:21.520
to be far less inclined to yank it,

00:26:21.520 --> 00:26:23.679
right? I think actually I I saw a very

00:26:23.679 --> 00:26:25.919
interesting reply where people are like

00:26:25.919 --> 00:26:27.760
the the the way that the person raised

00:26:27.760 --> 00:26:29.520
the question is like, hey, can we find a

00:26:29.520 --> 00:26:31.279
way to create like create maintenance

00:26:31.279 --> 00:26:32.880
around this library? And then somebody

00:26:32.880 --> 00:26:34.400
said like look at what happened with

00:26:34.400 --> 00:26:36.960
exit utils right somebody came along did

00:26:36.960 --> 00:26:39.200
like or state actor created this fake

00:26:39.200 --> 00:26:40.799
urgency of upgrades pushed a lot of

00:26:40.799 --> 00:26:42.480
pressure on this guy that's a maintainer

00:26:42.480 --> 00:26:44.640
that's not being paid for it and then

00:26:44.640 --> 00:26:47.120
offered to step in and help out and then

00:26:47.120 --> 00:26:50.320
shipped um uh a back door into it right

00:26:50.320 --> 00:26:52.480
so people were like it's way better that

00:26:52.480 --> 00:26:54.640
what this guy did he said it's very

00:26:54.640 --> 00:26:56.240
clear action this thing should be

00:26:56.240 --> 00:26:57.679
deprecated maybe he went a little bit

00:26:57.679 --> 00:26:59.760
far with the rust yank because

00:26:59.760 --> 00:27:01.919
apparently libraries in Rust aren't

00:27:01.919 --> 00:27:04.080
supposed to have LO files. So that's

00:27:04.080 --> 00:27:05.600
saying that they should have a LO file

00:27:05.600 --> 00:27:08.080
is kind of a bit of a like double. It's

00:27:08.080 --> 00:27:10.000
not very clear. I I'm not a Rust

00:27:10.000 --> 00:27:11.360
developer, so I don't know if library

00:27:11.360 --> 00:27:12.720
should have a lock file or not. But

00:27:12.720 --> 00:27:14.720
anyway, they said that the fact that he

00:27:14.720 --> 00:27:16.799
just very clearly marked it deprecated

00:27:16.799 --> 00:27:19.279
is way better than just handing it off

00:27:19.279 --> 00:27:20.880
to somebody that comes along and then

00:27:20.880 --> 00:27:22.640
really creating a supply chain attack,

00:27:22.640 --> 00:27:24.559
right? if that person cannot be trusted

00:27:24.559 --> 00:27:26.080
and then goes and inject in injects a

00:27:26.080 --> 00:27:27.360
back door and then all of those things

00:27:27.360 --> 00:27:30.159
that depend on it get backed whereas it

00:27:30.159 --> 00:27:32.720
should just be deprecated. So I think in

00:27:32.720 --> 00:27:34.400
terms of what you said like yes there

00:27:34.400 --> 00:27:36.480
should be a way to make sure that people

00:27:36.480 --> 00:27:38.320
that are maintaining things get

00:27:38.320 --> 00:27:40.640
compensation for it that's a very

00:27:40.640 --> 00:27:43.520
complicated topic. Yeah, like during the

00:27:43.520 --> 00:27:45.200
conference last week, I don't I don't

00:27:45.200 --> 00:27:49.200
know who mentioned it, but uh there was

00:27:49.200 --> 00:27:52.320
a best practice suggestion where like if

00:27:52.320 --> 00:27:54.080
you're if you're if you're developing a

00:27:54.080 --> 00:27:56.080
piece of software, you you want to

00:27:56.080 --> 00:27:58.399
modulize it so that it's m it's sort of

00:27:58.399 --> 00:28:01.200
maintainable beyond uh you know a green

00:28:01.200 --> 00:28:03.679
field oneshotted application. uh and

00:28:03.679 --> 00:28:05.279
that person suggested that you should

00:28:05.279 --> 00:28:08.559
modulize it and think of it like if you

00:28:08.559 --> 00:28:11.919
were using a NodeJS app what what could

00:28:11.919 --> 00:28:14.320
the boundaries

00:28:14.320 --> 00:28:16.960
could be like what what would what would

00:28:16.960 --> 00:28:19.360
typically be packages there's lots of

00:28:19.360 --> 00:28:20.880
schools of thought about this I don't

00:28:20.880 --> 00:28:24.720
know if you have have dabbled in uh what

00:28:24.720 --> 00:28:26.799
do you call it domain driven development

00:28:26.799 --> 00:28:28.640
but like but like if you're if you're

00:28:28.640 --> 00:28:30.640
developing your own software uh Vincent

00:28:30.640 --> 00:28:32.640
like do you ever think to yourself well

00:28:32.640 --> 00:28:35.039
this should a library or this could be a

00:28:35.039 --> 00:28:37.520
package or you're like monor repo all

00:28:37.520 --> 00:28:41.600
the way um you know drop drop depend I

00:28:41.600 --> 00:28:43.200
don't care for dependencies or something

00:28:43.200 --> 00:28:45.279
>> it depends on what I'm trying to build

00:28:45.279 --> 00:28:48.799
and like how much time I want to put it

00:28:48.799 --> 00:28:51.039
around it for me right now whenever I

00:28:51.039 --> 00:28:53.279
work on a project with AI I just give it

00:28:53.279 --> 00:28:55.520
yagy kiss you ain't going to need it

00:28:55.520 --> 00:28:57.520
keep it simple stupid I actually used

00:28:57.520 --> 00:29:00.480
this in a in a conversation the other

00:29:00.480 --> 00:29:03.600
time with a group of people And I I

00:29:03.600 --> 00:29:05.919
wanted to avoid complexity where they

00:29:05.919 --> 00:29:07.520
were like we need to put the GitHub

00:29:07.520 --> 00:29:09.120
workflow and the CI/CD in a separate

00:29:09.120 --> 00:29:10.799
dedicated repo and and I'm like dude

00:29:10.799 --> 00:29:12.559
this is like one workflow for one

00:29:12.559 --> 00:29:14.960
project. Let's keep it together in one

00:29:14.960 --> 00:29:17.919
in the same project. And so I wrote down

00:29:17.919 --> 00:29:20.799
I propose we kis and then later when I

00:29:20.799 --> 00:29:22.720
was rereading conversation I was like

00:29:22.720 --> 00:29:24.640
that's a bit weird thing to say to a

00:29:24.640 --> 00:29:26.080
group of people that you work with like

00:29:26.080 --> 00:29:28.399
I propose we kissed.

00:29:28.399 --> 00:29:29.520
>> Yeah. I was like,

00:29:29.520 --> 00:29:32.799
>> well, like the problem I feel is that I

00:29:32.799 --> 00:29:35.840
I in in some clients like that and of

00:29:35.840 --> 00:29:37.279
course we're consultants, we're sort of

00:29:37.279 --> 00:29:38.960
under pressure to staff more people, but

00:29:38.960 --> 00:29:40.799
like sometimes the teams are quite big,

00:29:40.799 --> 00:29:42.559
you know, you have sometimes the teams

00:29:42.559 --> 00:29:45.279
have to be decided up front, right? And

00:29:45.279 --> 00:29:47.039
then and then and then you have this

00:29:47.039 --> 00:29:48.720
problem where like who does what, who

00:29:48.720 --> 00:29:51.279
does this, who's that. So it's like a a

00:29:51.279 --> 00:29:53.840
non evolutionary way of doing it. So

00:29:53.840 --> 00:29:57.600
this is why people domain model and it

00:29:57.600 --> 00:29:59.840
can often be a bit weird to say the

00:29:59.840 --> 00:30:01.360
least. of you had

00:30:01.360 --> 00:30:03.840
>> absolutely like the whole idea the whole

00:30:03.840 --> 00:30:06.399
rage or hype of microservices was

00:30:06.399 --> 00:30:08.880
because of teams being split up and

00:30:08.880 --> 00:30:10.799
having to find better ways of like

00:30:10.799 --> 00:30:13.440
working together and the whole Conway

00:30:13.440 --> 00:30:16.480
law of you organize your services or

00:30:16.480 --> 00:30:18.080
your product within your organization

00:30:18.080 --> 00:30:19.840
based on the teams that you have right

00:30:19.840 --> 00:30:22.799
like what's the what are the the domains

00:30:22.799 --> 00:30:26.000
that that each team is responsible for

00:30:26.000 --> 00:30:27.120
>> and yeah

00:30:27.120 --> 00:30:28.880
>> but like I'm actually a fan of

00:30:28.880 --> 00:30:30.799
microservices at all. I've mentioned

00:30:30.799 --> 00:30:32.559
this publicly before.

00:30:32.559 --> 00:30:34.240
>> It always goes in circles, right? I

00:30:34.240 --> 00:30:37.279
mean, everybody goes, it goes like RPC,

00:30:37.279 --> 00:30:39.279
what's it? We have like monolith, then

00:30:39.279 --> 00:30:41.279
we have like microservices. Let's do

00:30:41.279 --> 00:30:43.679
event orchestration. We create an event

00:30:43.679 --> 00:30:46.000
bus, enterprise event bus from back.

00:30:46.000 --> 00:30:46.720
>> Oh my god.

00:30:46.720 --> 00:30:49.840
>> Kfka, not Kafka. Long before that with

00:30:49.840 --> 00:30:52.640
Java ERB, isn't it? That was like the

00:30:52.640 --> 00:30:55.039
pattern. The enterprise software pattern

00:30:55.039 --> 00:30:56.720
was an enterprise

00:30:56.720 --> 00:30:58.880
>> the enterprise robust ESB.

00:30:58.880 --> 00:31:01.360
>> ESB. Yeah. Not BRB.

00:31:01.360 --> 00:31:03.520
>> Yeah. Yeah. I'm definitely

00:31:03.520 --> 00:31:05.440
>> And then we go back, right? Because And

00:31:05.440 --> 00:31:07.760
then we go microservices. Then we go

00:31:07.760 --> 00:31:09.600
back. No, it needs to be monolithic.

00:31:09.600 --> 00:31:11.760
Modularize monoliths. Now let's do it

00:31:11.760 --> 00:31:13.200
with Kafka. And now we do event

00:31:13.200 --> 00:31:16.320
sourcing. Now we do event orchestration.

00:31:16.320 --> 00:31:18.159
>> I'm definitely in team monolith, but

00:31:18.159 --> 00:31:20.799
like I want to express that I want I

00:31:20.799 --> 00:31:22.960
want the app to be a mon monolith, but

00:31:22.960 --> 00:31:25.919
the dependencies can be different teams.

00:31:25.919 --> 00:31:28.880
If your if your app is a booking a

00:31:28.880 --> 00:31:31.279
booking app then perhaps there could be

00:31:31.279 --> 00:31:33.840
a dependency around I don't know what

00:31:33.840 --> 00:31:35.600
storage or something like that that can

00:31:35.600 --> 00:31:37.279
be handled by another team. I don't know

00:31:37.279 --> 00:31:39.360
if that that makes any sense but you

00:31:39.360 --> 00:31:41.039
know what I mean like it's better than

00:31:41.039 --> 00:31:43.360
it's better to have a monolith and

00:31:43.360 --> 00:31:46.880
different modular dependencies than an

00:31:46.880 --> 00:31:48.960
almighty enterprise serial bus

00:31:48.960 --> 00:31:51.200
architecture. I feel I mean like it

00:31:51.200 --> 00:31:52.960
depends on because when you earlier you

00:31:52.960 --> 00:31:54.720
were saying like your teams they get

00:31:54.720 --> 00:31:56.480
pre-allocated and designed who's going

00:31:56.480 --> 00:31:58.799
to work on what and it depends on the

00:31:58.799 --> 00:32:01.600
size the project what is the the target

00:32:01.600 --> 00:32:03.519
and then it will you know the best

00:32:03.519 --> 00:32:05.440
architectural patterns need to fit I'm

00:32:05.440 --> 00:32:06.960
on a project right now that's been

00:32:06.960 --> 00:32:09.919
dragging for 2 years and they had this

00:32:09.919 --> 00:32:12.399
massive like almost waterfall like

00:32:12.399 --> 00:32:14.880
planning and design and architecture and

00:32:14.880 --> 00:32:17.919
then teams set up and the biggest

00:32:17.919 --> 00:32:19.760
problem that they had after 2 years was

00:32:19.760 --> 00:32:23.360
that people took 2 months to build a PC

00:32:23.360 --> 00:32:25.840
or to to prove that it would work and

00:32:25.840 --> 00:32:28.399
then they would get stuck and so on. So

00:32:28.399 --> 00:32:30.559
I'm lucky when I came into the project

00:32:30.559 --> 00:32:32.960
they literally on day one when they

00:32:32.960 --> 00:32:34.640
talked to me was like it takes us 2

00:32:34.640 --> 00:32:36.000
months to build something and then we

00:32:36.000 --> 00:32:38.159
don't even know if it works. So u we

00:32:38.159 --> 00:32:40.080
need people that can go run off and do a

00:32:40.080 --> 00:32:43.360
P within within a sprint or two sprints

00:32:43.360 --> 00:32:45.840
and verify that it works. So I landed in

00:32:45.840 --> 00:32:46.240
the team

00:32:46.240 --> 00:32:47.760
>> most of the way it should be done really

00:32:47.760 --> 00:32:51.120
but carry on. Yes. And I landed and then

00:32:51.120 --> 00:32:53.679
it they reorganized into smaller work

00:32:53.679 --> 00:32:56.720
streams. There was refocus on doing

00:32:56.720 --> 00:32:59.519
proper scrum methodologies and it's a

00:32:59.519 --> 00:33:02.159
very interesting project really in the

00:33:02.159 --> 00:33:04.240
end because I saw something that wasn't

00:33:04.240 --> 00:33:06.240
working when I joined. I wasn't part of

00:33:06.240 --> 00:33:08.559
I'm not a a scrum master. I saw scrum

00:33:08.559 --> 00:33:10.880
masters joining the same day I started

00:33:10.880 --> 00:33:13.519
and then suggesting changes in how we

00:33:13.519 --> 00:33:15.519
should work together creating a scrum of

00:33:15.519 --> 00:33:17.039
scrums and all that. I I don't really

00:33:17.039 --> 00:33:18.320
don't care too much.

00:33:18.320 --> 00:33:19.679
>> I don't even know what that means, but

00:33:19.679 --> 00:33:21.360
I'm I'm I'm guessing it it's just some

00:33:21.360 --> 00:33:24.159
weird way of basically doing agile.

00:33:24.159 --> 00:33:25.760
>> Yeah. Um but it's also

00:33:25.760 --> 00:33:28.480
>> iterations. It's also decoupling like

00:33:28.480 --> 00:33:30.399
the teams into smaller teams and

00:33:30.399 --> 00:33:32.240
reducing the dependencies between people

00:33:32.240 --> 00:33:34.480
by by making more individual work

00:33:34.480 --> 00:33:36.159
streams. And it gave me the opportunity

00:33:36.159 --> 00:33:38.720
to like for example when I I told you

00:33:38.720 --> 00:33:40.559
about let's keep it simple and let's do

00:33:40.559 --> 00:33:43.200
this. I've been able to just build stuff

00:33:43.200 --> 00:33:45.600
and within one sprint deliver and show

00:33:45.600 --> 00:33:48.080
that it works and they are much happier

00:33:48.080 --> 00:33:50.000
with this because they see progress.

00:33:50.000 --> 00:33:52.240
They don't wait one month for it to be

00:33:52.240 --> 00:33:54.399
you know ready. So um it's been an

00:33:54.399 --> 00:33:56.080
interesting experience but I can

00:33:56.080 --> 00:33:58.320
definitely see that like I'm usually I

00:33:58.320 --> 00:34:00.159
definitely was was the one that would be

00:34:00.159 --> 00:34:01.919
this is tech dab we cannot do this it

00:34:01.919 --> 00:34:03.679
had to be done proper at this point I'm

00:34:03.679 --> 00:34:06.399
way more um maybe also because of AI I'm

00:34:06.399 --> 00:34:08.879
like you know with AI help me identify

00:34:08.879 --> 00:34:10.639
the shortest way to get this done and

00:34:10.639 --> 00:34:12.079
then we just take a couple of shortcuts

00:34:12.079 --> 00:34:12.960
we write them down

00:34:12.960 --> 00:34:16.079
>> I think DH his the latest podcast with

00:34:16.079 --> 00:34:18.800
him and Greg Gori he was he was

00:34:18.800 --> 00:34:20.800
basically saying that like he thinks

00:34:20.800 --> 00:34:22.960
that it just needs one person to

00:34:22.960 --> 00:34:28.079
bootstrap a project with PC but but okay

00:34:28.079 --> 00:34:29.599
we talked about like green field

00:34:29.599 --> 00:34:32.399
projects here for brownfield projects

00:34:32.399 --> 00:34:34.720
like say if there's an existing

00:34:34.720 --> 00:34:37.280
enterprise you know a massive app that's

00:34:37.280 --> 00:34:40.480
already working I guess it's easier then

00:34:40.480 --> 00:34:43.280
to shape the teams I suppose but even

00:34:43.280 --> 00:34:45.359
then it can go wrong but I mean it's

00:34:45.359 --> 00:34:46.879
it's easier to shape the team because

00:34:46.879 --> 00:34:49.919
they they they organically evolved to

00:34:49.919 --> 00:34:52.560
have teams behind

00:34:52.560 --> 00:34:54.480
the enterprise app already. Yeah. I

00:34:54.480 --> 00:34:56.720
think what I'm trying to what what I'm a

00:34:56.720 --> 00:34:58.400
little bit just bewildered by is just

00:34:58.400 --> 00:35:00.480
it's just that like the the brownfield

00:35:00.480 --> 00:35:03.839
and AI agents still hasn't really

00:35:03.839 --> 00:35:06.400
um hit the ground running for me.

00:35:06.400 --> 00:35:08.720
>> For me it actually because again I come

00:35:08.720 --> 00:35:10.480
into this project a 2-year-old project

00:35:10.480 --> 00:35:12.640
that people's been working on and I have

00:35:12.640 --> 00:35:14.800
to land in two years of I don't know

00:35:14.800 --> 00:35:16.160
people come and go. It's like a

00:35:16.160 --> 00:35:19.520
revolving door. So things change and the

00:35:19.520 --> 00:35:21.119
whole setup this is definitely a

00:35:21.119 --> 00:35:23.200
brownfield setup right it's definitely

00:35:23.200 --> 00:35:24.720
brown it's not green field you say it's

00:35:24.720 --> 00:35:26.640
green field but it's brownfield because

00:35:26.640 --> 00:35:29.040
it's 2 years of people coming in and out

00:35:29.040 --> 00:35:31.200
and the whole thing being a massive mess

00:35:31.200 --> 00:35:31.920
honestly

00:35:31.920 --> 00:35:35.839
>> well let's talk I mean brown I mean it's

00:35:35.839 --> 00:35:38.320
a a brownfield software project is do

00:35:38.320 --> 00:35:40.400
you have existing users do you have

00:35:40.400 --> 00:35:42.079
transactions and

00:35:42.079 --> 00:35:43.920
>> in that in that way it's not because

00:35:43.920 --> 00:35:45.599
it's still under under

00:35:45.599 --> 00:35:47.599
>> development at the time I'm I'm I what I

00:35:47.599 --> 00:35:50.079
want to say is that AI has been a

00:35:50.079 --> 00:35:52.960
godsend to identify things because when

00:35:52.960 --> 00:35:55.040
I'm not sure where to land a change I

00:35:55.040 --> 00:35:56.880
just tell cloud go and launch and

00:35:56.880 --> 00:35:58.880
explore agents and go answer this qu to

00:35:58.880 --> 00:36:01.200
answer this particular question and I

00:36:01.200 --> 00:36:02.880
maybe know some history after working on

00:36:02.880 --> 00:36:05.119
the codebase for 2 weeks and I know that

00:36:05.119 --> 00:36:06.640
there's a migration between this and

00:36:06.640 --> 00:36:09.119
that and so cloud will just suggest do

00:36:09.119 --> 00:36:11.040
this over here and I'm like hold on

00:36:11.040 --> 00:36:13.440
because I think there's multiple paths

00:36:13.440 --> 00:36:15.040
identify the different ways that thing

00:36:15.040 --> 00:36:16.640
that things are being done right now in

00:36:16.640 --> 00:36:18.800
aspect and it just goes off several

00:36:18.800 --> 00:36:20.960
explore agents. It then collates the

00:36:20.960 --> 00:36:21.839
result.

00:36:21.839 --> 00:36:24.800
>> Your software is your the software that

00:36:24.800 --> 00:36:26.720
you're working with is bloody complex.

00:36:26.720 --> 00:36:30.480
>> It's it's it's it's a classic like um a

00:36:30.480 --> 00:36:32.800
project with too much money that gets

00:36:32.800 --> 00:36:34.880
too many vendors involved and that buys

00:36:34.880 --> 00:36:36.480
every solution under the sun. I think

00:36:36.480 --> 00:36:38.000
it's way over complicated for what it

00:36:38.000 --> 00:36:40.160
has to do. But then I don't know. I

00:36:40.160 --> 00:36:42.800
don't even want to know the full

00:36:42.800 --> 00:36:44.480
>> I just want to be focused on my thing

00:36:44.480 --> 00:36:46.320
and deliver what I need to deliver.

00:36:46.320 --> 00:36:48.720
>> Yeah. True. True. I guess if I'm going

00:36:48.720 --> 00:36:50.640
into a brownfield project, I guess in

00:36:50.640 --> 00:36:52.480
the short term I can just expect agents

00:36:52.480 --> 00:36:54.800
or AI just to help me easier make

00:36:54.800 --> 00:36:57.200
changes. Though

00:36:57.200 --> 00:36:59.280
I guess I'm always looking for the next

00:36:59.280 --> 00:37:01.520
big thing.

00:37:01.520 --> 00:37:02.240
Uh

00:37:02.240 --> 00:37:03.599
>> I think that's what they say about the

00:37:03.599 --> 00:37:05.839
adoption of AI. Like at first people use

00:37:05.839 --> 00:37:09.280
AI to ask um like as an autocomplete

00:37:09.280 --> 00:37:12.480
alternative. Then they use AI to just

00:37:12.480 --> 00:37:14.240
ask questions about the codebase to

00:37:14.240 --> 00:37:15.440
understand where things live.

00:37:15.440 --> 00:37:16.960
>> Great for learning like if I don't

00:37:16.960 --> 00:37:18.480
understand something I'm like what is

00:37:18.480 --> 00:37:20.240
this? And then it just tells me oh thank

00:37:20.240 --> 00:37:21.599
god

00:37:21.599 --> 00:37:24.079
>> you know no need to Google or

00:37:24.079 --> 00:37:26.160
>> I'm working on infrastructure.

00:37:26.160 --> 00:37:26.640
>> Pardon?

00:37:26.640 --> 00:37:28.720
>> I'm working on infrastructure. So I also

00:37:28.720 --> 00:37:31.680
give it like AWS CLI access and then it

00:37:31.680 --> 00:37:34.079
collates the infrastructure

00:37:34.079 --> 00:37:35.839
configuration against what's actually in

00:37:35.839 --> 00:37:38.000
in the cloud. And so sometimes it tells

00:37:38.000 --> 00:37:39.839
me something and I'm like can you go

00:37:39.839 --> 00:37:42.000
check is that really true? Is there no

00:37:42.000 --> 00:37:44.000
other instance of this or whatever? And

00:37:44.000 --> 00:37:45.599
it just goes and does a couple of AWS

00:37:45.599 --> 00:37:47.760
CLI queries and finds out what's already

00:37:47.760 --> 00:37:48.720
there.

00:37:48.720 --> 00:37:52.640
>> AWS CLI the AWS MCPS are so useful. I

00:37:52.640 --> 00:37:53.040
find

00:37:53.040 --> 00:37:55.599
>> I'm not using any MCP for some reason it

00:37:55.599 --> 00:37:57.920
works. Yeah, maybe I should.

00:37:57.920 --> 00:37:58.960
>> You should you should definitely have

00:37:58.960 --> 00:38:01.920
the AWS docs MC. I think it it needs to

00:38:01.920 --> 00:38:04.000
be a protocol because navigating AWS

00:38:04.000 --> 00:38:05.359
documentation is pretty hard. Oh, that

00:38:05.359 --> 00:38:06.880
reminds me. I need to do my AWS

00:38:06.880 --> 00:38:09.359
certifications. Oh my god, I'm not

00:38:09.359 --> 00:38:10.480
looking forward to doing that.

00:38:10.480 --> 00:38:12.160
>> You need to pay for your work.

00:38:12.160 --> 00:38:14.240
>> Yeah, cuz we're a partner and the more

00:38:14.240 --> 00:38:16.240
points the more SS I have, the more

00:38:16.240 --> 00:38:17.839
points we have, the more likely they're

00:38:17.839 --> 00:38:19.200
going to give us deals. There's actually

00:38:19.200 --> 00:38:21.520
an AWS summit next week which I'm

00:38:21.520 --> 00:38:22.800
probably going to go to

00:38:22.800 --> 00:38:24.560
>> in London. Yeah,

00:38:24.560 --> 00:38:27.119
>> there's one summit in Singapore soon as

00:38:27.119 --> 00:38:28.400
well, but

00:38:28.400 --> 00:38:28.880
>> yeah,

00:38:28.880 --> 00:38:30.560
>> I have a very fun story. I have to

00:38:30.560 --> 00:38:32.960
request a new Belgian passport and I

00:38:32.960 --> 00:38:34.320
live in Ho Chi Min City.

00:38:34.320 --> 00:38:35.760
>> Oh, no. This doesn't sound like a fun

00:38:35.760 --> 00:38:36.160
story.

00:38:36.160 --> 00:38:39.040
>> It's a super fun story because

00:38:39.040 --> 00:38:41.119
>> of course it's not fun to request a new

00:38:41.119 --> 00:38:43.599
passport. So, you find a way to send the

00:38:43.599 --> 00:38:46.640
birth certificate. No. So there's a

00:38:46.640 --> 00:38:50.079
embassy in Hanoi and I was going to go

00:38:50.079 --> 00:38:52.560
there for a month and stay in a hotel

00:38:52.560 --> 00:38:53.680
while I requested

00:38:53.680 --> 00:38:55.839
>> Hanoi is so different to Ho Chi Min. But

00:38:55.839 --> 00:38:57.359
anyway, you know this, I'm sure.

00:38:57.359 --> 00:38:59.920
>> So, but they're also doing missions down

00:38:59.920 --> 00:39:02.560
to the south with their equipment to do

00:39:02.560 --> 00:39:06.000
biometrical data um collection. So then

00:39:06.000 --> 00:39:07.520
you can actually

00:39:07.520 --> 00:39:08.160
>> thing, right?

00:39:08.160 --> 00:39:10.079
>> Yeah. But honestly, if you already have

00:39:10.079 --> 00:39:12.320
a biometrical passport, do you need to

00:39:12.320 --> 00:39:14.640
retake those biometrical data every time

00:39:14.640 --> 00:39:15.760
you request a passport?

00:39:15.760 --> 00:39:17.520
>> Well, I should hope so in a way.

00:39:17.520 --> 00:39:20.240
>> Why? My biometricals aren't changing.

00:39:20.240 --> 00:39:22.160
Still the same person unless I lost a

00:39:22.160 --> 00:39:23.359
finger. I need another one.

00:39:23.359 --> 00:39:26.000
>> I guess I'm always thinking of it like

00:39:26.000 --> 00:39:28.720
like my iPhone because with iPhone you

00:39:28.720 --> 00:39:30.400
have to reset it up, right?

00:39:30.400 --> 00:39:31.839
>> But I guess Huh.

00:39:31.839 --> 00:39:33.839
>> I don't know. I don't buy a new iPhone

00:39:33.839 --> 00:39:35.599
>> because because the idea with the secure

00:39:35.599 --> 00:39:37.599
enclave is that your biometrics are not

00:39:37.599 --> 00:39:38.320
leaked.

00:39:38.320 --> 00:39:41.280
>> Okay. So, so there there was an email in

00:39:41.280 --> 00:39:43.040
my Gmail that's registered with the

00:39:43.040 --> 00:39:45.599
embassy that there will be a mission and

00:39:45.599 --> 00:39:47.200
I have to make an appointment. Yeah.

00:39:47.200 --> 00:39:48.720
They call it the biometrical mission

00:39:48.720 --> 00:39:49.680
down.

00:39:49.680 --> 00:39:50.079
>> Yeah.

00:39:50.079 --> 00:39:51.520
>> So, you have to make an appointment.

00:39:51.520 --> 00:39:53.040
>> They call these things missions.

00:39:53.040 --> 00:39:55.200
>> The email is in Dutch and French, not in

00:39:55.200 --> 00:39:58.000
English. Okay. And I don't want Yeah.

00:39:58.000 --> 00:39:59.359
Yeah. And the email has a whole bunch of

00:39:59.359 --> 00:40:01.040
links and like way too much information

00:40:01.040 --> 00:40:03.200
for me to read what I have to do because

00:40:03.200 --> 00:40:04.160
I just want the stupid.

00:40:04.160 --> 00:40:06.000
>> This is where you pasted into the agent.

00:40:06.000 --> 00:40:08.079
>> No, this is where I wanted to test cloud

00:40:08.079 --> 00:40:13.200
code work co-work sorry. So I made sure

00:40:13.200 --> 00:40:15.440
it has access to my Gmail as everyone

00:40:15.440 --> 00:40:17.599
should give AI access to you their Gmail

00:40:17.599 --> 00:40:20.400
and I took a couple of pictures of my

00:40:20.400 --> 00:40:22.000
passport because I want of course

00:40:22.000 --> 00:40:23.680
Antropic to have my passport and

00:40:23.680 --> 00:40:26.160
everything about me and grace ideas,

00:40:26.160 --> 00:40:28.320
right? That's why it became fun. It's

00:40:28.320 --> 00:40:30.560
exciting. Waiting for the identity

00:40:30.560 --> 00:40:32.400
theft. Maybe I should ask

00:40:32.400 --> 00:40:34.640
>> then Claude became Vincent Dismmet and

00:40:34.640 --> 00:40:36.480
you're like, "No, I'm Vincent Dismmet."

00:40:36.480 --> 00:40:38.480
And then say, "No, I'm Vincent."

00:40:38.480 --> 00:40:40.240
>> Maybe I should ask Cloud to also set up

00:40:40.240 --> 00:40:42.560
an identity theft monitor at the same

00:40:42.560 --> 00:40:44.400
time as you give it all of that

00:40:44.400 --> 00:40:46.320
information. And I just told it, look,

00:40:46.320 --> 00:40:48.480
there is in my Gmail an email from the

00:40:48.480 --> 00:40:49.920
embassy that they're coming on a

00:40:49.920 --> 00:40:51.839
biometrical mission. But again,

00:40:51.839 --> 00:40:54.000
biometrical mission is the English term.

00:40:54.000 --> 00:40:57.440
the the Duchess bometrica missi so it's

00:40:57.440 --> 00:40:59.920
different words and I said look I need

00:40:59.920 --> 00:41:02.079
to request a new passport I put some

00:41:02.079 --> 00:41:04.240
pictures in this folder that I put into

00:41:04.240 --> 00:41:06.640
your workspace and help me do this so

00:41:06.640 --> 00:41:08.319
that I don't have to do the boring

00:41:08.319 --> 00:41:09.920
things as we all know working with

00:41:09.920 --> 00:41:13.200
embassies and so on is delightful so

00:41:13.200 --> 00:41:14.960
searched and initially didn't find but

00:41:14.960 --> 00:41:16.880
then did expand the search parameters

00:41:16.880 --> 00:41:18.720
and I don't know how but it found the

00:41:18.720 --> 00:41:21.119
email from the Belgian embassy maybe the

00:41:21.119 --> 00:41:22.560
email address Belgian embassy kind of

00:41:22.560 --> 00:41:24.960
gave it Okay. But it it it read the

00:41:24.960 --> 00:41:27.040
whole thing in in Dutch and French and

00:41:27.040 --> 00:41:29.520
it then gave me a little like qu like

00:41:29.520 --> 00:41:31.280
you know it gives these questions. It

00:41:31.280 --> 00:41:33.280
was like first of which um which

00:41:33.280 --> 00:41:34.880
appointment do you want because they

00:41:34.880 --> 00:41:36.400
only have two time slots. It's either

00:41:36.400 --> 00:41:39.119
Thursday afternoon or Friday morning. I

00:41:39.119 --> 00:41:40.480
hadn't even figured that out. I thought

00:41:40.480 --> 00:41:41.920
it was either the whole Thursday or

00:41:41.920 --> 00:41:43.839
Friday. And inside email it's like

00:41:43.839 --> 00:41:45.520
dunder

00:41:45.520 --> 00:41:48.240
which is Thursday afternoon in Dutch or

00:41:48.240 --> 00:41:50.720
Friday morning vak morgan. And so it had

00:41:50.720 --> 00:41:52.800
translated everything, put it nicely for

00:41:52.800 --> 00:41:55.200
me to choose which appointment I wanted

00:41:55.200 --> 00:41:57.760
and downloaded the forms through the PDF

00:41:57.760 --> 00:41:59.040
from the email. It was going to the

00:41:59.040 --> 00:42:01.359
Belgian embassy website. It opened a

00:42:01.359 --> 00:42:03.680
Chrome session. It tried to curl it, but

00:42:03.680 --> 00:42:05.599
the sandbox didn't give it access. So

00:42:05.599 --> 00:42:07.760
then it used computer use to launch a

00:42:07.760 --> 00:42:10.640
Chrome session and then navigate to the

00:42:10.640 --> 00:42:13.359
embassy website. Found the PDF forms and

00:42:13.359 --> 00:42:14.720
I thought I was going to help it, but I

00:42:14.720 --> 00:42:16.560
downloaded like all the forms and then I

00:42:16.560 --> 00:42:18.400
said I confused it. It was like why does

00:42:18.400 --> 00:42:19.839
it keep downloading the forms? I'm just

00:42:19.839 --> 00:42:21.599
trying to I was I was interfering with

00:42:21.599 --> 00:42:23.280
its computer use and then I said okay

00:42:23.280 --> 00:42:25.839
stop. I was trying to be helpful and I

00:42:25.839 --> 00:42:27.680
downloaded the forms here and then it

00:42:27.680 --> 00:42:29.440
told me you downloaded the wrong form.

00:42:29.440 --> 00:42:30.800
You should have downloaded only this

00:42:30.800 --> 00:42:32.240
form. You downloaded the other form

00:42:32.240 --> 00:42:34.640
which is another procedure that you

00:42:34.640 --> 00:42:36.480
don't need. I was like okay sorry it was

00:42:36.480 --> 00:42:38.480
all in Dutch by the way. And then it I

00:42:38.480 --> 00:42:40.160
had forwarded the Belgian embassy email

00:42:40.160 --> 00:42:43.040
to my wife's email and it said is your

00:42:43.040 --> 00:42:44.800
wife's name because on the PDF document

00:42:44.800 --> 00:42:46.560
you have to say marital statement and

00:42:46.560 --> 00:42:49.119
and so on. Is this your wife's name? And

00:42:49.119 --> 00:42:50.640
in between bracket it says I saw you

00:42:50.640 --> 00:42:52.640
forward the email to this person so I

00:42:52.640 --> 00:42:54.960
assume that's your wife. Yes. I was like

00:42:54.960 --> 00:42:56.720
what? And then it just filled out

00:42:56.720 --> 00:42:59.119
everything from my passport picture. It

00:42:59.119 --> 00:43:01.680
filled out my name, asked for my my uh

00:43:01.680 --> 00:43:04.000
home address. I provided it

00:43:04.000 --> 00:43:05.839
>> and it filled out all of the PDFs.

00:43:05.839 --> 00:43:08.000
Marked it that my marital statements.

00:43:08.000 --> 00:43:09.839
Marked everything on the PDF form with

00:43:09.839 --> 00:43:11.440
little crosses. Filled out the whole

00:43:11.440 --> 00:43:12.880
because you know how annoying it is to

00:43:12.880 --> 00:43:14.480
fill out a PDF, right? I I don't know

00:43:14.480 --> 00:43:15.599
what you have to do.

00:43:15.599 --> 00:43:16.240
>> Yeah. Yeah.

00:43:16.240 --> 00:43:18.560
>> Acrobat reader. A a lot of the time I

00:43:18.560 --> 00:43:21.520
use AI as like an OCR, right? I just

00:43:21.520 --> 00:43:24.079
copy and paste some screenshot like what

00:43:24.079 --> 00:43:26.640
>> the whole form is in in in Dutch and it

00:43:26.640 --> 00:43:28.160
it asks you how many pages do you want

00:43:28.160 --> 00:43:29.599
your passport? 30 32.

00:43:29.599 --> 00:43:31.680
>> Did it actually fill in a PDF for you?

00:43:31.680 --> 00:43:33.520
>> It filled out the PDF. It asked me how

00:43:33.520 --> 00:43:35.040
many pages do you want in your passport?

00:43:35.040 --> 00:43:35.920
>> Sign at the bottom.

00:43:35.920 --> 00:43:37.359
>> I didn't check if I had to sign

00:43:37.359 --> 00:43:39.040
anything. You're right. Actually,

00:43:39.040 --> 00:43:40.800
when I do a passport, you have to sign.

00:43:40.800 --> 00:43:41.920
But I think that's going to be on the

00:43:41.920 --> 00:43:43.040
appointment. I'm probably going to have

00:43:43.040 --> 00:43:44.720
to sign there because I do sign the

00:43:44.720 --> 00:43:47.040
passport. But anyway, it then drafted

00:43:47.040 --> 00:43:49.119
the whole email for me, wrote it all out

00:43:49.119 --> 00:43:51.040
in Dutch as a reply to the original

00:43:51.040 --> 00:43:53.200
Dutch email. So, it asked me like,

00:43:53.200 --> 00:43:54.800
"What's your preferred language, Dutch

00:43:54.800 --> 00:43:56.480
or French?" And I was like, "Yeah, let's

00:43:56.480 --> 00:43:58.400
do Dutch." And and it wrote out the

00:43:58.400 --> 00:44:00.400
email in Dutch better than I could at

00:44:00.400 --> 00:44:02.800
this moment. Fully written out.

00:44:02.800 --> 00:44:04.560
>> That was Claude Co-work, right?

00:44:04.560 --> 00:44:06.319
>> Co-work. Yeah. I just

00:44:06.319 --> 00:44:10.400
>> feature I don't have

00:44:10.400 --> 00:44:12.720
>> I think OpenAI released Codex today

00:44:12.720 --> 00:44:14.560
which does something similar. Yeah. I

00:44:14.560 --> 00:44:16.560
mean it's amazing. It's amazing.

00:44:16.560 --> 00:44:18.240
>> I mean the the most amazing thing was

00:44:18.240 --> 00:44:20.880
that it it filtered out the information

00:44:20.880 --> 00:44:23.200
needed. It highlighted and got the

00:44:23.200 --> 00:44:25.280
clarification for me that it needed. It

00:44:25.280 --> 00:44:27.119
asked me also, have you registered with

00:44:27.119 --> 00:44:28.960
the Belgian embassy in Vietnam? And I

00:44:28.960 --> 00:44:32.560
said like I did back in 2006.

00:44:32.560 --> 00:44:34.720
I even got married. So I definitely have

00:44:34.720 --> 00:44:36.880
like all of my legal stuff

00:44:36.880 --> 00:44:38.720
>> with the Belgian embassy in Vietnam. But

00:44:38.720 --> 00:44:40.800
I did live five years in Singapore. And

00:44:40.800 --> 00:44:42.640
I don't think I signed out. I think I

00:44:42.640 --> 00:44:45.359
kept my how you say residency with the

00:44:45.359 --> 00:44:45.920
Vietnamese.

00:44:45.920 --> 00:44:47.680
>> That's usually a huge mistake.

00:44:47.680 --> 00:44:49.520
>> Yeah, but I never signed out of Vietnam.

00:44:49.520 --> 00:44:52.000
I I lived in in Singapore, didn't sign

00:44:52.000 --> 00:44:53.839
out and then I moved back to Vietnam so

00:44:53.839 --> 00:44:55.440
I didn't have to go procedure again.

00:44:55.440 --> 00:44:56.560
>> Sorry, I thought you're talking about

00:44:56.560 --> 00:45:00.160
tax residency for Europe. I don't

00:45:00.160 --> 00:45:02.000
>> I was going to I just had the thought

00:45:02.000 --> 00:45:04.800
like if agents are so good at all these

00:45:04.800 --> 00:45:07.760
like really horrible tedious processes

00:45:07.760 --> 00:45:10.240
these horrible tedious processes are

00:45:10.240 --> 00:45:13.119
probably not incentivized to improve are

00:45:13.119 --> 00:45:13.440
they?

00:45:13.440 --> 00:45:15.520
>> So the embassy right that's also what I

00:45:15.520 --> 00:45:17.760
was thinking because I I looked at the

00:45:17.760 --> 00:45:19.440
form that AI had completed and I was

00:45:19.440 --> 00:45:22.160
like this is the same form from like 40

00:45:22.160 --> 00:45:24.319
years 30 years ago I'm not that old 20

00:45:24.319 --> 00:45:27.680
years ago. Okay. So yeah, 2006 it's the

00:45:27.680 --> 00:45:29.680
same bloody form. Yeah. So they are not

00:45:29.680 --> 00:45:32.319
changing anything in the embassy way of

00:45:32.319 --> 00:45:34.319
working collecting that. Although the

00:45:34.319 --> 00:45:36.960
Vietnam is doing a lot of electronic ID.

00:45:36.960 --> 00:45:38.400
Maybe in Belgium they're also doing it.

00:45:38.400 --> 00:45:39.920
Just just the Belgian embassy in Vietnam

00:45:39.920 --> 00:45:41.920
not doing it. Vietnam is doing a lot in

00:45:41.920 --> 00:45:43.760
terms of like even there's a hackathon

00:45:43.760 --> 00:45:45.680
ongoing right now which is in

00:45:45.680 --> 00:45:48.240
collaboration with some government and

00:45:48.240 --> 00:45:50.800
like in transportation education.

00:45:50.800 --> 00:45:52.400
>> They're doing big hackathons in Vietnam.

00:45:52.400 --> 00:45:54.960
But like but let's say let's go from

00:45:54.960 --> 00:45:57.440
maybe let's be hypothetically let's go

00:45:57.440 --> 00:45:58.880
from the other angle in the sense that

00:45:58.880 --> 00:46:01.119
like say everything's agent friendly

00:46:01.119 --> 00:46:02.880
super agent friendly surely it's going

00:46:02.880 --> 00:46:04.480
to get to the point where like agents

00:46:04.480 --> 00:46:06.960
are going to start creating passports

00:46:06.960 --> 00:46:08.720
for themselves or something like that

00:46:08.720 --> 00:46:10.000
that's what they already do right with

00:46:10.000 --> 00:46:12.079
agent mail and that's so silly I didn't

00:46:12.079 --> 00:46:14.560
realize but agent mail the proposition

00:46:14.560 --> 00:46:16.720
that they do and why they got like

00:46:16.720 --> 00:46:18.480
millions of dollars of investment and

00:46:18.480 --> 00:46:20.720
why combinator incubated is because

00:46:20.720 --> 00:46:22.560
email addresses are the way that you do

00:46:22.560 --> 00:46:23.839
everything and authenticate yourself.

00:46:23.839 --> 00:46:26.160
It's an identity. And so they provide

00:46:26.160 --> 00:46:28.640
email like a a mail system for agents to

00:46:28.640 --> 00:46:30.400
request their identity, an email

00:46:30.400 --> 00:46:32.560
address, and then interact with it, see

00:46:32.560 --> 00:46:35.200
the emails all via the API or via skills

00:46:35.200 --> 00:46:38.560
or via MCPS. So agent mail is now worth

00:46:38.560 --> 00:46:40.319
so much money because they provide

00:46:40.319 --> 00:46:41.359
identity to agents.

00:46:41.359 --> 00:46:44.319
>> The DHH uh podcast, he was saying that

00:46:44.319 --> 00:46:46.240
>> yeah, that hey works really well with

00:46:46.240 --> 00:46:47.760
agents and that he was surprised how

00:46:47.760 --> 00:46:49.599
open claw could create the account and

00:46:49.599 --> 00:46:51.839
that he created it and then he saw the

00:46:51.839 --> 00:46:53.599
Open claw do it all. Yeah, that was

00:46:53.599 --> 00:46:55.359
really it was very interesting because I

00:46:55.359 --> 00:46:56.640
thought it's funny because he's talking

00:46:56.640 --> 00:46:57.839
about

00:46:57.839 --> 00:46:58.960
>> Have you?

00:46:58.960 --> 00:47:00.720
>> No, I also haven't. But he the way he

00:47:00.720 --> 00:47:02.640
talked about it is like we saw email as

00:47:02.640 --> 00:47:04.480
a problem. We didn't think Gmail was the

00:47:04.480 --> 00:47:06.079
final solution. So we came up with a

00:47:06.079 --> 00:47:07.920
much better email system which is hey.

00:47:07.920 --> 00:47:09.200
And he says it works really well with

00:47:09.200 --> 00:47:09.839
agents too.

00:47:09.839 --> 00:47:11.839
>> Yeah. The way that he was trying to sell

00:47:11.839 --> 00:47:15.119
it like oh hey allows you to screen

00:47:15.119 --> 00:47:16.800
people who email you. I mean like

00:47:16.800 --> 00:47:18.079
>> and never have to

00:47:18.079 --> 00:47:20.240
>> don't people just hit exclamation mark

00:47:20.240 --> 00:47:22.800
if they come across some spam? I mean in

00:47:22.800 --> 00:47:25.599
Gmail I don't get any spam because I

00:47:25.599 --> 00:47:29.280
pretty much mark it as spam if I see

00:47:29.280 --> 00:47:31.280
>> he was saying that because some if

00:47:31.280 --> 00:47:33.839
somebody has your email they can contact

00:47:33.839 --> 00:47:36.240
you. you can decline to talk to them but

00:47:36.240 --> 00:47:38.319
they can still contact you and with hey

00:47:38.319 --> 00:47:40.960
you one time approve it and if you don't

00:47:40.960 --> 00:47:42.880
want to speak to them ever again

00:47:42.880 --> 00:47:43.440
>> I don't know if

00:47:43.440 --> 00:47:44.480
>> I don't want to speak to everyone again

00:47:44.480 --> 00:47:46.400
I just go you know shift exclamation

00:47:46.400 --> 00:47:47.839
mark and I'll never see that person

00:47:47.839 --> 00:47:48.319
again

00:47:48.319 --> 00:47:50.720
>> I haven't tried hey and I don't really

00:47:50.720 --> 00:47:53.440
if you check my inbox check my email so

00:47:53.440 --> 00:47:55.680
>> okay I I have two questions for you I've

00:47:55.680 --> 00:47:58.319
written it down and I' I god knows how

00:47:58.319 --> 00:47:59.680
long I've been speaking for and I still

00:47:59.680 --> 00:48:01.920
haven't asked you what since you're like

00:48:01.920 --> 00:48:03.760
a speck kick guy and you're maintaining

00:48:03.760 --> 00:48:05.520
spec tech ledger I believe I don't know

00:48:05.520 --> 00:48:08.000
if you still are or what the deal is but

00:48:08.000 --> 00:48:10.240
what do you think about code to spec

00:48:10.240 --> 00:48:11.839
other way around say you have a

00:48:11.839 --> 00:48:14.960
brownfield project like a booking site

00:48:14.960 --> 00:48:18.000
or what what is a very enterprisey thing

00:48:18.000 --> 00:48:20.400
I don't know a payment system I I don't

00:48:20.400 --> 00:48:22.800
know and you want to basically document

00:48:22.800 --> 00:48:26.240
that system in your spec ledger way can

00:48:26.240 --> 00:48:28.880
you go from from code to spec or you

00:48:28.880 --> 00:48:30.079
haven't really thought about it

00:48:30.079 --> 00:48:32.960
>> I don't really know I haven't really

00:48:32.960 --> 00:48:34.559
thought about it But also

00:48:34.559 --> 00:48:36.720
>> it's funny because my thesis as as

00:48:36.720 --> 00:48:39.680
university master's thesis was about

00:48:39.680 --> 00:48:42.559
visualizing legacy code systems about

00:48:42.559 --> 00:48:43.599
cobalt. So

00:48:43.599 --> 00:48:46.000
>> wow how old are you?

00:48:46.000 --> 00:48:48.559
>> Well I was it was old when I was at uni.

00:48:48.559 --> 00:48:50.160
Okay it's not that I was old but

00:48:50.160 --> 00:48:52.000
basically the I was lazy. I didn't come

00:48:52.000 --> 00:48:53.440
up with my own idea. So I had to pick

00:48:53.440 --> 00:48:56.559
whatever crumbs were left and I just

00:48:56.559 --> 00:48:57.760
picked a

00:48:57.760 --> 00:48:59.680
>> visualizing legacy system. Yeah sure.

00:48:59.680 --> 00:49:01.920
Why not? So you know these systems are

00:49:01.920 --> 00:49:04.640
worth a lot of money. And so my thesis

00:49:04.640 --> 00:49:07.359
promoter I don't know he actually wrote

00:49:07.359 --> 00:49:09.520
he was very much into talking and Lord

00:49:09.520 --> 00:49:11.839
of the Rings. So he built a tool called

00:49:11.839 --> 00:49:15.200
Yetaurunia which is looking at runes.

00:49:15.200 --> 00:49:17.920
Yeta is Elvish for looking apparently.

00:49:17.920 --> 00:49:20.400
And um runes is like footprints. So

00:49:20.400 --> 00:49:22.800
Yetunia was his project and it was

00:49:22.800 --> 00:49:26.880
basically um a parser for cobalt and

00:49:26.880 --> 00:49:29.440
then it he had already built some

00:49:29.440 --> 00:49:31.599
visualizations which is like you know in

00:49:31.599 --> 00:49:33.680
cobalt you can do gotos to jump to

00:49:33.680 --> 00:49:35.119
different sections

00:49:35.119 --> 00:49:38.559
>> so jumps and you can do like loops. So

00:49:38.559 --> 00:49:40.640
he would visualize those like he would

00:49:40.640 --> 00:49:43.520
parse the cobalt into an XML a and then

00:49:43.520 --> 00:49:45.520
the xml was converted into

00:49:45.520 --> 00:49:47.440
>> but then you get like a fancy graph. I

00:49:47.440 --> 00:49:49.680
often find code visualizations like the

00:49:49.680 --> 00:49:51.680
worst thing ever. But

00:49:51.680 --> 00:49:54.319
>> I I put I put on my thesis as like a

00:49:54.319 --> 00:49:56.319
picture is worth a thousand words as one

00:49:56.319 --> 00:49:56.880
of the reason

00:49:56.880 --> 00:49:59.760
>> like a like this like graph is meth.

00:49:59.760 --> 00:50:02.319
>> Yeah. But like again I didn't really did

00:50:02.319 --> 00:50:04.559
a really good job of my thesis. Honestly

00:50:04.559 --> 00:50:06.720
not very proud. So don't go look. So

00:50:06.720 --> 00:50:08.480
whatever I I delivered.

00:50:08.480 --> 00:50:11.839
>> My thesis is on um mobile web

00:50:11.839 --> 00:50:13.119
engineering and the

00:50:13.119 --> 00:50:15.200
>> I wish I I picked something dude. I wish

00:50:15.200 --> 00:50:16.480
I picked I would and you know to be

00:50:16.480 --> 00:50:18.079
honest and with how much I went into

00:50:18.079 --> 00:50:20.640
Kubernetes later when I and I then see

00:50:20.640 --> 00:50:22.880
people posting like I'm doing a thesis

00:50:22.880 --> 00:50:24.079
on Kubernetes and they're learning the

00:50:24.079 --> 00:50:25.920
step and I'm like I wish I had the

00:50:25.920 --> 00:50:28.240
opportunity to do at the time you know

00:50:28.240 --> 00:50:30.160
to to be because I would have been so

00:50:30.160 --> 00:50:32.319
deep into it. I'm I loved it you know

00:50:32.319 --> 00:50:33.599
exploring and breaking it down.

00:50:33.599 --> 00:50:35.839
>> Are you are you a Kubernetes fanboy? I I

00:50:35.839 --> 00:50:37.440
thought you just used it in anger.

00:50:37.440 --> 00:50:39.839
>> I organized the meetups right. I

00:50:39.839 --> 00:50:42.079
organized the Docker meetups in Okay. in

00:50:42.079 --> 00:50:43.280
Vietnam and then I organized the

00:50:43.280 --> 00:50:45.680
Kubernetes meetups. But but back to the

00:50:45.680 --> 00:50:47.839
point of of visualizing code and and

00:50:47.839 --> 00:50:51.760
going from code to spec um

00:50:51.760 --> 00:50:54.240
I okay so I think the problem with spec

00:50:54.240 --> 00:50:56.559
kit specifically and I haven't tried

00:50:56.559 --> 00:50:59.839
open spec but with specit creates your

00:50:59.839 --> 00:51:02.800
specs your user stories and then you

00:51:02.800 --> 00:51:05.040
deliver code. I actually read a very

00:51:05.040 --> 00:51:07.040
interesting post earlier today from

00:51:07.040 --> 00:51:08.319
someone. He says like the problem is

00:51:08.319 --> 00:51:10.400
those spec folders become a graveyard.

00:51:10.400 --> 00:51:11.760
And this is something that I also

00:51:11.760 --> 00:51:13.920
explore with my friends is

00:51:13.920 --> 00:51:15.040
>> become a graveyard.

00:51:15.040 --> 00:51:16.720
>> So what happens in specit is every time

00:51:16.720 --> 00:51:19.200
you want to add a new feature you create

00:51:19.200 --> 00:51:22.480
a branch for that feature and with that

00:51:22.480 --> 00:51:24.960
branch comes a little folder and inside

00:51:24.960 --> 00:51:26.880
that folder you generate your artifacts

00:51:26.880 --> 00:51:29.200
which are your your specification file

00:51:29.200 --> 00:51:31.040
which identifies your user stories that

00:51:31.040 --> 00:51:33.119
you're working on for that feature.

00:51:33.119 --> 00:51:35.119
>> Yeah. So once that feature is delivered

00:51:35.119 --> 00:51:37.200
in the codebase and it works or test

00:51:37.200 --> 00:51:41.040
pass you merge it right but then the

00:51:41.040 --> 00:51:43.440
specs the actual user stories for that

00:51:43.440 --> 00:51:45.520
feature live into that spec folder.

00:51:45.520 --> 00:51:48.079
There's no folder at the root that keeps

00:51:48.079 --> 00:51:50.640
track of what is the actual live spec

00:51:50.640 --> 00:51:52.880
across all of your application. Instead

00:51:52.880 --> 00:51:54.079
every single

00:51:54.079 --> 00:51:56.160
>> it's lacking a source of truth I suppose

00:51:56.160 --> 00:51:56.480
right?

00:51:56.480 --> 00:51:59.119
>> Yeah but I mean nothing stops you from

00:51:59.119 --> 00:52:01.680
as part of your constitution. I think we

00:52:01.680 --> 00:52:02.800
might have discussed this before because

00:52:02.800 --> 00:52:04.960
I remember saying this before. Nothing

00:52:04.960 --> 00:52:07.200
stops you from making sure in your

00:52:07.200 --> 00:52:09.119
constitution that not only do you

00:52:09.119 --> 00:52:11.440
create, you know, your spec inside this

00:52:11.440 --> 00:52:13.760
feature folder, but then when you want

00:52:13.760 --> 00:52:15.200
to close it off, you're landing the

00:52:15.200 --> 00:52:17.839
plane as as Tifit calls it when you want

00:52:17.839 --> 00:52:20.640
to land the feature, you at least as one

00:52:20.640 --> 00:52:22.480
of the steps because you generate a task

00:52:22.480 --> 00:52:24.000
list, right? And the task list is what

00:52:24.000 --> 00:52:25.920
gets checked off. So in one of those

00:52:25.920 --> 00:52:29.040
tasks, you should have an work item to

00:52:29.040 --> 00:52:31.440
go and update your central

00:52:31.440 --> 00:52:33.440
representation of your app and update

00:52:33.440 --> 00:52:35.200
all the user stories. Now, but what I

00:52:35.200 --> 00:52:37.280
read on the on on Reddit this morning

00:52:37.280 --> 00:52:40.720
was that and it's kind of like for me

00:52:40.720 --> 00:52:42.720
what really validates that the

00:52:42.720 --> 00:52:45.440
application works the way I expect it to

00:52:45.440 --> 00:52:47.839
work and there's no regression is tests,

00:52:47.839 --> 00:52:50.319
right? An end toend tests. So usually I

00:52:50.319 --> 00:52:53.680
have an E2E directory where I have my

00:52:53.680 --> 00:52:56.559
E2A flows and that's the actual stories

00:52:56.559 --> 00:52:58.559
that still work. I know because I run

00:52:58.559 --> 00:52:59.040
them

00:52:59.040 --> 00:53:03.440
>> actually that's test like instead of

00:53:03.440 --> 00:53:05.359
going code to spec you should go code to

00:53:05.359 --> 00:53:07.280
test. Yeah, you should you should have

00:53:07.280 --> 00:53:08.960
your regression test and I think in any

00:53:08.960 --> 00:53:10.800
system brown field system that wants to

00:53:10.800 --> 00:53:12.559
adopt AI, the first thing that you

00:53:12.559 --> 00:53:14.240
should adopt with AI is you write the

00:53:14.240 --> 00:53:16.160
tests because AI can write tests very

00:53:16.160 --> 00:53:17.920
quickly and as long as you can build a

00:53:17.920 --> 00:53:20.079
test harness because a lot of systems

00:53:20.079 --> 00:53:21.760
they don't have a proper test harness.

00:53:21.760 --> 00:53:23.359
You write all of the tests, make sure

00:53:23.359 --> 00:53:25.440
that they cover all of your code before

00:53:25.440 --> 00:53:27.680
you let AI work on the actual features

00:53:27.680 --> 00:53:28.800
or the code

00:53:28.800 --> 00:53:29.839
>> because then you know it's not going to

00:53:29.839 --> 00:53:31.200
break one of the previous tests.

00:53:31.200 --> 00:53:32.880
>> Yeah, that's that seems that seems like

00:53:32.880 --> 00:53:35.200
a no-brainer to me. I don't see people

00:53:35.200 --> 00:53:37.440
talking about that really. I think I

00:53:37.440 --> 00:53:39.520
need I need to I mean I I work with

00:53:39.520 --> 00:53:41.280
enterprise brownfield projects. I need

00:53:41.280 --> 00:53:43.839
to do it and report back.

00:53:43.839 --> 00:53:45.680
>> I think I I didn't come up with this. I

00:53:45.680 --> 00:53:47.599
think reading this as well like the

00:53:47.599 --> 00:53:50.240
first thing of AI adoption in any big

00:53:50.240 --> 00:53:52.079
enterprise project should be in the test

00:53:52.079 --> 00:53:54.240
environment because you takes so much

00:53:54.240 --> 00:53:54.720
off your head.

00:53:54.720 --> 00:53:56.559
>> I totally agree. Yeah. Yeah. I I need to

00:53:56.559 --> 00:53:58.160
explore this a bit more. Just changing

00:53:58.160 --> 00:54:00.480
the topic. Not changing the topic ever

00:54:00.480 --> 00:54:02.559
so slightly. So one one of the the

00:54:02.559 --> 00:54:05.839
Claude uh

00:54:05.839 --> 00:54:06.800
>> workshops

00:54:06.800 --> 00:54:11.440
>> quick starts quick shots quick starts is

00:54:11.440 --> 00:54:15.200
uh a project where they define

00:54:15.200 --> 00:54:17.599
the spec in this text file which is

00:54:17.599 --> 00:54:20.640
actually more like an XML file but I was

00:54:20.640 --> 00:54:22.880
just curious same with Symphony from

00:54:22.880 --> 00:54:23.920
open air

00:54:23.920 --> 00:54:25.280
>> I I don't know I don't know if you've

00:54:25.280 --> 00:54:27.119
seen this before but like I was just

00:54:27.119 --> 00:54:29.359
curious

00:54:29.359 --> 00:54:32.319
what you thought, well, maybe just maybe

00:54:32.319 --> 00:54:34.000
I just copy and paste this in the chat

00:54:34.000 --> 00:54:36.480
to you. I was curious if you thought the

00:54:36.480 --> 00:54:38.880
way that they define the project uh have

00:54:38.880 --> 00:54:41.680
you seen Symfony from Open EI in I don't

00:54:41.680 --> 00:54:45.119
know Haskell or or uh not Haskell uh

00:54:45.119 --> 00:54:48.240
Elixir, but they they have a similar

00:54:48.240 --> 00:54:51.040
like setup for for the for the Symfony

00:54:51.040 --> 00:54:53.839
project to to build. They said you want

00:54:53.839 --> 00:54:55.920
to build it, you just use the spec and

00:54:55.920 --> 00:54:59.040
then the spec is like an XML document.

00:54:59.040 --> 00:55:01.280
I don't know why they chose XML. I guess

00:55:01.280 --> 00:55:02.720
it doesn't really matter.

00:55:02.720 --> 00:55:05.760
>> I do whenever I want to give the AI an

00:55:05.760 --> 00:55:08.160
example, I use a little tag and say like

00:55:08.160 --> 00:55:11.119
example one and then slash example one.

00:55:11.119 --> 00:55:13.359
I do that. It's it's it's been

00:55:13.359 --> 00:55:16.160
documented that using XML inside your

00:55:16.160 --> 00:55:18.240
prompts is actually a good way to

00:55:18.240 --> 00:55:19.040
structure them.

00:55:19.040 --> 00:55:21.920
>> Okay. Whatever. So, here is the project

00:55:21.920 --> 00:55:23.760
specification. I was just curious if you

00:55:23.760 --> 00:55:25.520
think it it's a good one. I don't know

00:55:25.520 --> 00:55:26.960
if you've seen it before. like they have

00:55:26.960 --> 00:55:28.480
a project name, they have an overview,

00:55:28.480 --> 00:55:30.880
they have the technology stack. Oh, by

00:55:30.880 --> 00:55:32.640
the way, what does this thing do? It's

00:55:32.640 --> 00:55:35.280
basically a

00:55:35.280 --> 00:55:38.160
it's it's a clone of Claude AI. So, you

00:55:38.160 --> 00:55:41.280
can just chat to, you know, the model.

00:55:41.280 --> 00:55:43.119
Then in the technology stack, it sort of

00:55:43.119 --> 00:55:44.640
breaks down that there's going to be

00:55:44.640 --> 00:55:48.160
React and Node and endpoints

00:55:48.160 --> 00:55:51.040
and uh

00:55:51.040 --> 00:55:52.880
and it has a breakdown of the core

00:55:52.880 --> 00:55:54.799
features. I like Yeah, I'm just curious.

00:55:54.799 --> 00:55:57.520
Is this the way you would do it or do

00:55:57.520 --> 00:55:59.839
you think they're

00:55:59.839 --> 00:56:03.359
they're missing like for example I'm I'm

00:56:03.359 --> 00:56:05.599
guessing your does your spec kit go as

00:56:05.599 --> 00:56:07.040
far as defining the end point?

00:56:07.040 --> 00:56:09.359
>> Yes. Yeah. Yeah. So but the speckit does

00:56:09.359 --> 00:56:12.480
this across multiple artifacts and again

00:56:12.480 --> 00:56:15.839
speckit has these prompts um that the

00:56:15.839 --> 00:56:19.040
the I mean then the guy who built it um

00:56:19.040 --> 00:56:20.559
created together with the team at

00:56:20.559 --> 00:56:23.200
Microsoft originally almost a year ago.

00:56:23.200 --> 00:56:25.760
Then um it creates data model, it

00:56:25.760 --> 00:56:29.760
creates data contracts. Um so your AI I

00:56:29.760 --> 00:56:32.079
mean you I don't tell it what are the

00:56:32.079 --> 00:56:35.040
endpoints or the rest uh setup or the

00:56:35.040 --> 00:56:36.480
routes or anything like that like

00:56:36.480 --> 00:56:38.240
>> but you get but you get there eventually

00:56:38.240 --> 00:56:38.880
I'm sure.

00:56:38.880 --> 00:56:41.839
>> Yeah. Yeah. I like I I say with the user

00:56:41.839 --> 00:56:43.680
stories and then it goes and it says

00:56:43.680 --> 00:56:46.000
okay so this is a data contract like one

00:56:46.000 --> 00:56:49.599
time I used Protobuff. Um

00:56:49.599 --> 00:56:51.680
>> and then it it wrote down these are the

00:56:51.680 --> 00:56:55.520
services these are the RPC functions.

00:56:55.520 --> 00:56:57.839
>> What I'm trying to say is that when when

00:56:57.839 --> 00:57:00.640
you do spec it it asks you questions you

00:57:00.640 --> 00:57:03.599
go through a process but uh like what

00:57:03.599 --> 00:57:06.079
what is the final artifact in your in

00:57:06.079 --> 00:57:08.480
your spec ledger is is it like one file

00:57:08.480 --> 00:57:11.119
or is it like five markdown files or

00:57:11.119 --> 00:57:13.280
something? So it's a whole folder right

00:57:13.280 --> 00:57:16.640
it creates the spec.mmd it creates the

00:57:16.640 --> 00:57:18.640
um plan which is more like a research

00:57:18.640 --> 00:57:21.280
document about spec is just user stories

00:57:21.280 --> 00:57:23.280
no tech plan is where you put the

00:57:23.280 --> 00:57:25.760
technical stack definitions and data

00:57:25.760 --> 00:57:27.119
contracts and then

00:57:27.119 --> 00:57:28.640
>> it's probably just a matter of taste but

00:57:28.640 --> 00:57:30.960
I I do like the idea of just having like

00:57:30.960 --> 00:57:33.200
like one one text file

00:57:33.200 --> 00:57:35.920
>> and safe from openi does the same thing

00:57:35.920 --> 00:57:39.119
um so like if both entropic and open eye

00:57:39.119 --> 00:57:41.920
openai are giving us examples of how to

00:57:41.920 --> 00:57:44.000
define your products in a single file

00:57:44.000 --> 00:57:46.480
like this, right? Must be that's what

00:57:46.480 --> 00:57:47.680
their models are trained on.

00:57:47.680 --> 00:57:49.760
>> Yeah. So, yeah, I'm just thinking,

00:57:49.760 --> 00:57:51.520
wouldn't it be best if you if you sort

00:57:51.520 --> 00:57:53.760
of tweak your your spec ledger to to

00:57:53.760 --> 00:57:55.760
produce a single page artifact?

00:57:55.760 --> 00:57:56.880
>> No, I don't care.

00:57:56.880 --> 00:57:58.799
>> Is this is this talk about Symphony?

00:57:58.799 --> 00:58:00.640
Looks a bit strange. Looks like a

00:58:00.640 --> 00:58:02.720
>> So, the the critical thing that I found

00:58:02.720 --> 00:58:04.400
and I think is very interesting. I'm not

00:58:04.400 --> 00:58:05.920
sure if we did talk about this before,

00:58:05.920 --> 00:58:08.880
but and I think we did.

00:58:08.880 --> 00:58:10.559
they talk about the English lang

00:58:10.559 --> 00:58:12.319
language. There's a paper from I think

00:58:12.319 --> 00:58:15.119
it's Donald Kut who who wrote down there

00:58:15.119 --> 00:58:17.920
is a reason why um the English language

00:58:17.920 --> 00:58:19.520
is never a going to be a programming

00:58:19.520 --> 00:58:21.440
language because it does not formally

00:58:21.440 --> 00:58:24.319
define very precisely what is it that

00:58:24.319 --> 00:58:26.559
need to be done. So the whole idea of

00:58:26.559 --> 00:58:27.839
like we're never going to write a

00:58:27.839 --> 00:58:29.599
program in programming language anymore.

00:58:29.599 --> 00:58:30.720
We're actually just going to reuse

00:58:30.720 --> 00:58:32.960
English. It's not possible according to

00:58:32.960 --> 00:58:34.480
this

00:58:34.480 --> 00:58:36.559
thesis from Donald is it Donald?

00:58:36.559 --> 00:58:39.200
>> What about German? But like, yeah, fair

00:58:39.200 --> 00:58:40.480
enough. But that's the beauty of

00:58:40.480 --> 00:58:42.319
English. You can you have the freedom to

00:58:42.319 --> 00:58:43.040
express.

00:58:43.040 --> 00:58:44.799
>> Yeah, but it's not expressed.

00:58:44.799 --> 00:58:47.119
>> It's not a literal programming tool.

00:58:47.119 --> 00:58:50.400
It's not precise enough to to define a

00:58:50.400 --> 00:58:52.720
program. I I wrote this blog post

00:58:52.720 --> 00:58:54.799
looking at Symfony, which you just saw,

00:58:54.799 --> 00:58:56.160
but even the one that you just saw, the

00:58:56.160 --> 00:58:58.559
XML with every endpoint, and their their

00:58:58.559 --> 00:59:00.880
theirsis is basically we're saying that

00:59:00.880 --> 00:59:03.280
these specs are the English language

00:59:03.280 --> 00:59:05.839
representation of a program. But if you

00:59:05.839 --> 00:59:08.240
look at them, the actual symfony spec is

00:59:08.240 --> 00:59:09.920
almost as long as the elixir code

00:59:09.920 --> 00:59:12.319
implementing it. It's a is it because of

00:59:12.319 --> 00:59:14.240
like we're actually almost writing the

00:59:14.240 --> 00:59:16.640
program itself right there. Like

00:59:16.640 --> 00:59:18.240
ultimately it's going to boil down to

00:59:18.240 --> 00:59:20.160
the programming language itself is what

00:59:20.160 --> 00:59:21.599
they were saying. And I thought that's

00:59:21.599 --> 00:59:23.119
kind of an interesting way of looking at

00:59:23.119 --> 00:59:24.960
it. But that's why I like this user

00:59:24.960 --> 00:59:27.359
stories which are very clearly English

00:59:27.359 --> 00:59:29.839
like as a user I want this because this

00:59:29.839 --> 00:59:31.920
they're very decoupled from the actual

00:59:31.920 --> 00:59:33.839
programming code under the hood.

00:59:33.839 --> 00:59:35.839
Actually, this spec I got to look at the

00:59:35.839 --> 00:59:37.359
spec here. I mean, the spec is quite

00:59:37.359 --> 00:59:41.440
long. How many What does Symphfony do?

00:59:41.440 --> 00:59:43.599
Sorry. It's like 2,000 lines long.

00:59:43.599 --> 00:59:46.160
>> It's like um task tracker system if I

00:59:46.160 --> 00:59:46.799
don't remember.

00:59:46.799 --> 00:59:48.400
>> It's like the camboard. Oh, I see. I

00:59:48.400 --> 00:59:48.720
see.

00:59:48.720 --> 00:59:50.960
>> Issue execution. It's more like you you

00:59:50.960 --> 00:59:52.880
you create issues and you delegate to

00:59:52.880 --> 00:59:54.640
agents type of thing.

00:59:54.640 --> 00:59:57.119
>> The other thing that bothered me when we

00:59:57.119 --> 00:59:58.960
were in the workshop is like that

00:59:58.960 --> 01:00:00.240
anthropic was saying like, "Yeah, this

01:00:00.240 --> 01:00:03.599
is your app spec now. Now, you use uh

01:00:03.599 --> 01:00:05.440
your your builder agent and your

01:00:05.440 --> 01:00:07.599
evaluator agent to build this out. And

01:00:07.599 --> 01:00:09.760
then they said, "Well, this is but but

01:00:09.760 --> 01:00:11.920
beware. This is going to cost about $100

01:00:11.920 --> 01:00:13.680
worth of credits." So, I'm just thinking

01:00:13.680 --> 01:00:15.920
to myself, this this is probably not a

01:00:15.920 --> 01:00:17.440
very good way to develop software

01:00:17.440 --> 01:00:19.520
because if if if you're if you're if

01:00:19.520 --> 01:00:21.359
you're going to oneshot this thing from

01:00:21.359 --> 01:00:24.480
a spec and it's going to go wrong,

01:00:24.480 --> 01:00:26.559
then you've just wasted $100. You know

01:00:26.559 --> 01:00:27.920
what I mean, Vincent?

01:00:27.920 --> 01:00:30.319
>> Yeah. Well, it's it's the argument

01:00:30.319 --> 01:00:32.400
against people saying you can use it

01:00:32.400 --> 01:00:34.079
just to distribute the programming like

01:00:34.079 --> 01:00:37.200
a software because everyone that's what

01:00:37.200 --> 01:00:39.359
what like when Stripe talks about

01:00:39.359 --> 01:00:40.480
minions, they say we're not going to

01:00:40.480 --> 01:00:42.319
open open source minions and how it

01:00:42.319 --> 01:00:45.200
works. You just point cloud at this blog

01:00:45.200 --> 01:00:46.720
post and it will build your own version

01:00:46.720 --> 01:00:49.040
of it. Uh it's the same thing as what

01:00:49.040 --> 01:00:50.000
you just said, right?

01:00:50.000 --> 01:00:52.319
>> Yeah.

01:00:52.319 --> 01:00:54.079
I mean, I'm I'm I'm basically I'm

01:00:54.079 --> 01:00:56.720
basically just doubting specd driven

01:00:56.720 --> 01:00:58.480
development because like

01:00:58.480 --> 01:00:59.839
>> well, you're not alone. Like a lot of

01:00:59.839 --> 01:01:01.760
people there are just like um you need

01:01:01.760 --> 01:01:04.240
superpowers now. Don't you need to use

01:01:04.240 --> 01:01:06.400
GSD? Get done. If you're still

01:01:06.400 --> 01:01:09.359
using specit like

01:01:09.359 --> 01:01:11.760
what can you explain get done to

01:01:11.760 --> 01:01:12.400
me? I think

01:01:12.400 --> 01:01:15.359
>> GSD I have not used it but like I was um

01:01:15.359 --> 01:01:18.319
showing and explaining um I think we

01:01:18.319 --> 01:01:20.160
talked about this as well in the past.

01:01:20.160 --> 01:01:22.079
Yeah, I think you mentioned it before

01:01:22.079 --> 01:01:23.920
>> that I mentioned that I was showing

01:01:23.920 --> 01:01:26.640
specket to my friends and then they

01:01:26.640 --> 01:01:28.240
tried it and then they came back to me

01:01:28.240 --> 01:01:30.480
and said uh I stopped using specket. GSD

01:01:30.480 --> 01:01:32.160
is is is really good.

01:01:32.160 --> 01:01:34.240
>> It looks more like beads or something.

01:01:34.240 --> 01:01:36.559
>> No, it's more uh people say it's like it

01:01:36.559 --> 01:01:38.160
interviews you. It asks you the

01:01:38.160 --> 01:01:40.480
clarifying questions only and then it

01:01:40.480 --> 01:01:41.920
just goes off in a loop and then when

01:01:41.920 --> 01:01:43.440
you come back it gives you exactly what

01:01:43.440 --> 01:01:44.960
you want.

01:01:44.960 --> 01:01:46.480
>> So you build you build basically

01:01:46.480 --> 01:01:48.400
incrementally. I I guess what I'm

01:01:48.400 --> 01:01:51.839
incredulous about is that is okay, it's

01:01:51.839 --> 01:01:54.160
really good to have a spec. I mean, I'm

01:01:54.160 --> 01:01:56.640
a huge fan of the HML spec. It's great

01:01:56.640 --> 01:01:58.720
to have a spec, but like you're not

01:01:58.720 --> 01:02:00.400
going to bloody build the thing from the

01:02:00.400 --> 01:02:03.760
spec. That sounds that sounds crazy. I

01:02:03.760 --> 01:02:06.079
mean, am I am I losing it? Like, you

01:02:06.079 --> 01:02:08.400
can't build you can't expect to build

01:02:08.400 --> 01:02:12.480
workable software from Huh? It's Dextra.

01:02:12.480 --> 01:02:15.119
Kut actually said the opposite. Dextra

01:02:15.119 --> 01:02:18.799
said that the English is imprecise. Um

01:02:18.799 --> 01:02:20.880
he said that natural language is too

01:02:20.880 --> 01:02:22.720
ambiguous for reasoning about

01:02:22.720 --> 01:02:24.960
correctness. Programming requires formal

01:02:24.960 --> 01:02:26.960
systems to avoid misunderstanding. And

01:02:26.960 --> 01:02:29.920
then Kut actually created literal

01:02:29.920 --> 01:02:32.319
English as a programming language that

01:02:32.319 --> 01:02:34.240
is closer to English to

01:02:34.240 --> 01:02:34.559
>> okay

01:02:34.559 --> 01:02:36.960
>> a literal programming. Yeah. It's really

01:02:36.960 --> 01:02:39.119
>> like say so Vincent with your specs that

01:02:39.119 --> 01:02:41.680
you've derived through your your spec

01:02:41.680 --> 01:02:45.119
ledger, how many times have you sort of

01:02:45.119 --> 01:02:47.599
uh implemented it? Do you implement it

01:02:47.599 --> 01:02:49.920
multiple times? Do you It's like do you

01:02:49.920 --> 01:02:52.240
compile every version of your spec?

01:02:52.240 --> 01:02:56.799
>> No, like I said, um I use I I had a very

01:02:56.799 --> 01:02:58.799
good experience last week before I got

01:02:58.799 --> 01:03:01.599
sick. Basically, we have a lot of

01:03:01.599 --> 01:03:03.760
terraform states that have dependencies

01:03:03.760 --> 01:03:06.960
on each other and we were merging some

01:03:06.960 --> 01:03:08.720
states like refactoring, moving states

01:03:08.720 --> 01:03:11.280
to another place, moving resources. And

01:03:11.280 --> 01:03:14.000
as we move resources, it kind of

01:03:14.000 --> 01:03:16.240
exemplified that there was like a cycle

01:03:16.240 --> 01:03:18.079
hidden because like we have one state

01:03:18.079 --> 01:03:19.920
here, one state here, one state here.

01:03:19.920 --> 01:03:21.920
And when we move things from this state

01:03:21.920 --> 01:03:23.920
which is going to go away down to this

01:03:23.920 --> 01:03:25.920
state, this state depended on that and

01:03:25.920 --> 01:03:27.680
that state depended on this. And when we

01:03:27.680 --> 01:03:29.839
moved it, I mean the state depended on

01:03:29.839 --> 01:03:31.839
each other that we created a cycle by

01:03:31.839 --> 01:03:33.920
moving resources. So we had to like

01:03:33.920 --> 01:03:35.440
identify like where do we need to move

01:03:35.440 --> 01:03:37.680
them and so on. So I told him we

01:03:37.680 --> 01:03:40.079
actually have a whole on disk we have a

01:03:40.079 --> 01:03:41.920
whole map of what depends on what we

01:03:41.920 --> 01:03:43.760
just need to get like create a diagram.

01:03:43.760 --> 01:03:47.599
So he my my junior he went and vcoded

01:03:47.599 --> 01:03:51.280
with co-pilot and um it took him 2 hours

01:03:51.280 --> 01:03:53.520
and he says here's this a CLI here's a

01:03:53.520 --> 01:03:55.599
dot graph representation of all of our

01:03:55.599 --> 01:03:56.960
terapform code and dependencies between

01:03:56.960 --> 01:03:58.400
them like what the grid you know

01:03:58.400 --> 01:03:59.920
supposed to give me but we're not

01:03:59.920 --> 01:04:02.079
migrating to the grid so and then I said

01:04:02.079 --> 01:04:05.760
okay but it's dot format I cannot relay

01:04:05.760 --> 01:04:08.880
out the the graph it's very confusing it

01:04:08.880 --> 01:04:10.799
doesn't show exactly like it shows

01:04:10.799 --> 01:04:12.480
there's a dependency between them but it

01:04:12.480 --> 01:04:14.240
doesn't really show what are the outputs

01:04:14.240 --> 01:04:16.400
between the states that we depend on. So

01:04:16.400 --> 01:04:18.720
I I then introduced uh specdriven

01:04:18.720 --> 01:04:21.599
development to him and I say we take the

01:04:21.599 --> 01:04:24.000
idea of what we want with the ability to

01:04:24.000 --> 01:04:26.000
find a graph and so on. So that's a user

01:04:26.000 --> 01:04:28.559
story as a as a platform engineer I need

01:04:28.559 --> 01:04:31.839
to identify a graph and it in cycles and

01:04:31.839 --> 01:04:34.559
then we we write down and and basically

01:04:34.559 --> 01:04:36.559
I reimplemented it using specdriven

01:04:36.559 --> 01:04:38.799
development with him and he can

01:04:38.799 --> 01:04:41.039
understand hey yeah that's great now all

01:04:41.039 --> 01:04:43.599
of these things that were assumptions

01:04:43.599 --> 01:04:45.599
from the model and that we did not align

01:04:45.599 --> 01:04:47.359
on because he spent two hours to build

01:04:47.359 --> 01:04:49.039
it and I said look there's a problem

01:04:49.039 --> 01:04:50.799
because

01:04:50.799 --> 01:04:52.720
>> I had a whole bunch of comments and he

01:04:52.720 --> 01:04:54.319
we never discussed it because within one

01:04:54.319 --> 01:04:55.520
hour he had a solution.

01:04:55.520 --> 01:04:58.640
So specit allows me to build that first

01:04:58.640 --> 01:05:01.440
version of the CLI but the vcoded

01:05:01.440 --> 01:05:04.160
version that he provided also allowed us

01:05:04.160 --> 01:05:06.160
to discuss where the problems were with

01:05:06.160 --> 01:05:07.119
that vibe coded version.

01:05:07.119 --> 01:05:10.079
>> Okay so off to each other but

01:05:10.079 --> 01:05:12.319
>> and then you keep iterating because then

01:05:12.319 --> 01:05:14.000
I got the first version and then we get

01:05:14.000 --> 01:05:15.920
it in our hands and then we see oh

01:05:15.920 --> 01:05:18.640
actually I used Excaliraw instead of

01:05:18.640 --> 01:05:20.720
graph so I thought exceal is going to be

01:05:20.720 --> 01:05:22.480
much better because then I can just drag

01:05:22.480 --> 01:05:24.880
them and it stores the xy position. So

01:05:24.880 --> 01:05:26.960
when it regenerates it just overwrites

01:05:26.960 --> 01:05:28.880
the nodes, adds new nodes and doesn't

01:05:28.880 --> 01:05:31.599
rewrite the graph. But then it's like

01:05:31.599 --> 01:05:35.280
400 different arrows and 40 states and

01:05:35.280 --> 01:05:37.520
when I try to change it, it crashes the

01:05:37.520 --> 01:05:39.440
machine. So then excalate draw is too

01:05:39.440 --> 01:05:41.520
slow. So we're looking at a JavaScript

01:05:41.520 --> 01:05:43.280
library for visualizing and then

01:05:43.280 --> 01:05:45.359
modifying the graph. So when I drag it,

01:05:45.359 --> 01:05:47.520
it can drag all the arrows with it. So

01:05:47.520 --> 01:05:49.920
we iterate, right? That's a second user

01:05:49.920 --> 01:05:51.039
story.

01:05:51.039 --> 01:05:53.200
I'm just I'm just mapping this into my

01:05:53.200 --> 01:05:54.640
own experience because like in thought

01:05:54.640 --> 01:05:57.280
works when we when we uh first engage

01:05:57.280 --> 01:05:59.200
with the client we have this like

01:05:59.200 --> 01:06:01.599
discovery phase and what I'm

01:06:01.599 --> 01:06:03.760
interpreting is that you use tools like

01:06:03.760 --> 01:06:06.319
spec kits or spec leisure rather to

01:06:06.319 --> 01:06:09.440
basically capture

01:06:09.440 --> 01:06:11.599
or or better define what you're going to

01:06:11.599 --> 01:06:13.920
do in this discovery phase. But then

01:06:13.920 --> 01:06:15.599
after the discovery phase when you're

01:06:15.599 --> 01:06:17.760
actually going down to implement and and

01:06:17.760 --> 01:06:20.079
things like this, you your your your

01:06:20.079 --> 01:06:23.520
spec um well hopefully will but still be

01:06:23.520 --> 01:06:25.359
a good reference point but you're not

01:06:25.359 --> 01:06:27.520
necessarily developing from the spec.

01:06:27.520 --> 01:06:28.480
Did that make sense?

01:06:28.480 --> 01:06:29.920
>> Well, you said something about using

01:06:29.920 --> 01:06:32.319
spec to explore but you use vibe to

01:06:32.319 --> 01:06:35.440
explore, right? You you I understand you

01:06:35.440 --> 01:06:37.760
what you're saying vibe there's there's

01:06:37.760 --> 01:06:39.839
different f potentially different phases

01:06:39.839 --> 01:06:42.079
like you have a vibe phase and then you

01:06:42.079 --> 01:06:43.680
have maybe

01:06:43.680 --> 01:06:45.119
um a more uh

01:06:45.119 --> 01:06:47.200
>> take your learnings you you maybe

01:06:47.200 --> 01:06:49.920
highlight a bit more disciplined uh

01:06:49.920 --> 01:06:53.119
driven um development phase and then you

01:06:53.119 --> 01:06:55.520
have I don't know the the actual thing

01:06:55.520 --> 01:06:58.000
that's developed phase and then you you

01:06:58.000 --> 01:07:00.000
evolve that thing that's been developed

01:07:00.000 --> 01:07:02.000
from the spec or something. Yeah,

01:07:02.000 --> 01:07:04.720
there's I I think of it like that now. I

01:07:04.720 --> 01:07:05.920
mean that's the way I'm thinking of it

01:07:05.920 --> 01:07:07.760
right now. I I think people are getting

01:07:07.760 --> 01:07:10.720
hung up on methods. I mean whatever

01:07:10.720 --> 01:07:13.599
works. Specit worked really well for me

01:07:13.599 --> 01:07:16.400
when I was coming from chat GPT saying

01:07:16.400 --> 01:07:18.240
like I want to build this system. it has

01:07:18.240 --> 01:07:20.319
these features and then Chad GPT gives

01:07:20.319 --> 01:07:22.319
me like a PRD product requirement

01:07:22.319 --> 01:07:24.160
document and then I'm like I agree with

01:07:24.160 --> 01:07:26.079
most of it but this one part we need to

01:07:26.079 --> 01:07:28.160
clarify and then it gives me completely

01:07:28.160 --> 01:07:29.839
different PRD where the original stuff

01:07:29.839 --> 01:07:31.839
is all gone and then it focuses on one

01:07:31.839 --> 01:07:33.039
area and I'm like getting super

01:07:33.039 --> 01:07:35.760
frustrated and I'm like I need a better

01:07:35.760 --> 01:07:38.240
way to to evolve this and then I use

01:07:38.240 --> 01:07:40.480
spec it and it just did perfectly what I

01:07:40.480 --> 01:07:41.520
wanted.

01:07:41.520 --> 01:07:42.000
>> Yeah,

01:07:42.000 --> 01:07:43.599
>> I guess of course

01:07:43.599 --> 01:07:45.839
>> I fell victim to this. I guess what what

01:07:45.839 --> 01:07:46.880
I'm thinking is that you

01:07:46.880 --> 01:07:48.960
>> and that was a year ago. So it changes

01:07:48.960 --> 01:07:51.520
like now you use GSD now you use power

01:07:51.520 --> 01:07:53.599
skills and now you do an introduc to

01:07:53.599 --> 01:07:55.760
it's just a tool and the the idea of the

01:07:55.760 --> 01:07:57.839
tool is to help you engineer the

01:07:57.839 --> 01:07:58.799
software.

01:07:58.799 --> 01:08:00.319
>> Yeah. So a lot of people are like

01:08:00.319 --> 01:08:03.119
walking back from specit and I mean like

01:08:03.119 --> 01:08:05.280
obviously specit is just one like open

01:08:05.280 --> 01:08:07.039
spec has another way of managing the

01:08:07.039 --> 01:08:09.200
specs and they have underactive chains

01:08:09.200 --> 01:08:10.960
versus what has been archived.

01:08:10.960 --> 01:08:12.400
Apparently they have like a really good

01:08:12.400 --> 01:08:15.280
way of identifying what has already

01:08:15.280 --> 01:08:16.799
landed and I think that's what I'm

01:08:16.799 --> 01:08:18.319
missing in specket. So open spec

01:08:18.319 --> 01:08:20.799
apparently does that. So I I mean I had

01:08:20.799 --> 01:08:22.480
people reach out to me like they said

01:08:22.480 --> 01:08:24.480
they want to use speckit for their

01:08:24.480 --> 01:08:26.480
organization and I was like I don't

01:08:26.480 --> 01:08:28.560
think we have enough capacity right now

01:08:28.560 --> 01:08:31.679
me and my friends to to like support. So

01:08:31.679 --> 01:08:34.560
there is this open spec spaces thing.

01:08:34.560 --> 01:08:36.560
There's like a wait list. Go and try

01:08:36.560 --> 01:08:38.400
that. And then they go back to me and

01:08:38.400 --> 01:08:39.920
they say yeah that's great. It works.

01:08:39.920 --> 01:08:41.839
And I'm like, I wish I I could

01:08:41.839 --> 01:08:43.040
have involved.

01:08:43.040 --> 01:08:45.279
>> It would be good to run through

01:08:45.279 --> 01:08:47.040
something with you when you have the

01:08:47.040 --> 01:08:49.440
time, Vincent, just so that I get more

01:08:49.440 --> 01:08:52.080
of your uh experience because I I guess

01:08:52.080 --> 01:08:54.000
I'm I'm going to be starting on a new

01:08:54.000 --> 01:08:56.640
project. Uh I think using something like

01:08:56.640 --> 01:08:59.839
Spec Ledger would help Yeah. discover to

01:08:59.839 --> 01:09:02.400
capture the the client's requirements

01:09:02.400 --> 01:09:04.239
for me to deliver better work.

01:09:04.239 --> 01:09:06.239
>> Yeah. I mean like the most important

01:09:06.239 --> 01:09:08.080
thing about specledger is and when I

01:09:08.080 --> 01:09:10.159
talk to my friends they're usually

01:09:10.159 --> 01:09:11.839
working on their own and they're like

01:09:11.839 --> 01:09:13.440
what does the does spec ledger solve my

01:09:13.440 --> 01:09:15.199
problem in getting the model to keep

01:09:15.199 --> 01:09:17.199
working and it's it's done and I'm like

01:09:17.199 --> 01:09:20.000
no the whole point of specledger for me

01:09:20.000 --> 01:09:22.159
was so that I could discuss the user

01:09:22.159 --> 01:09:24.719
story with other people before we go and

01:09:24.719 --> 01:09:27.279
implement it. It's not an agent runner.

01:09:27.279 --> 01:09:30.000
It's not it's not like it's just a

01:09:30.000 --> 01:09:33.040
formal way. It does I addit stuff that I

01:09:33.040 --> 01:09:35.359
want that I use which is like after you

01:09:35.359 --> 01:09:38.480
implement I click SL checkpoint which

01:09:38.480 --> 01:09:40.880
will then go adversarial review. It's

01:09:40.880 --> 01:09:42.319
not a celebration of what we have

01:09:42.319 --> 01:09:44.640
accomplished. It's more of like have we

01:09:44.640 --> 01:09:45.920
met what we needed to do

01:09:45.920 --> 01:09:47.679
>> I guess. Yeah it's it's a bit of a

01:09:47.679 --> 01:09:49.279
misnomer like spectrum of development

01:09:49.279 --> 01:09:51.679
because I I guess I mean I assume that

01:09:51.679 --> 01:09:54.320
it's it's basically a way of driving the

01:09:54.320 --> 01:09:56.000
agents to implement it but it's not

01:09:56.000 --> 01:09:58.000
really. It's it's more of a of a

01:09:58.000 --> 01:09:59.760
structure. It's it's more of a planning

01:09:59.760 --> 01:10:00.480
tool, right?

01:10:00.480 --> 01:10:01.840
>> It's a planning tool. And I think the

01:10:01.840 --> 01:10:04.400
biggest critic that you can get against

01:10:04.400 --> 01:10:06.800
it is that it's too waterfall like if

01:10:06.800 --> 01:10:08.400
you don't use it the right. I mean, if

01:10:08.400 --> 01:10:10.388
you get started like the way I started,

01:10:10.388 --> 01:10:12.080
[snorts] it's very easy to create this

01:10:12.080 --> 01:10:14.239
beautiful big plan and then hit all

01:10:14.239 --> 01:10:16.960
kinds of unknowns along the way and then

01:10:16.960 --> 01:10:18.719
realize that you have to change things.

01:10:18.719 --> 01:10:21.679
Whereas people with models are way more

01:10:21.679 --> 01:10:23.440
like like you said now they are like

01:10:23.440 --> 01:10:25.280
models are very good at creating a plan

01:10:25.280 --> 01:10:27.120
and if you are not getting what you want

01:10:27.120 --> 01:10:28.960
rather than to tell it to change it it's

01:10:28.960 --> 01:10:32.159
hard you go back and you restart from a

01:10:32.159 --> 01:10:34.400
known good state and start again with

01:10:34.400 --> 01:10:35.920
the knowledge that you have acquired

01:10:35.920 --> 01:10:37.600
that that didn't work and we need to

01:10:37.600 --> 01:10:39.440
watch out for that. I can

01:10:39.440 --> 01:10:42.080
>> I mean I'm I'm a big agile proponent but

01:10:42.080 --> 01:10:43.920
like if you start a pro I mean

01:10:43.920 --> 01:10:45.679
especially a green field project if you

01:10:45.679 --> 01:10:48.880
waterfall the initial design uh and

01:10:48.880 --> 01:10:51.199
since it's so quick to do it really if

01:10:51.199 --> 01:10:52.400
the stakeholders all there

01:10:52.400 --> 01:10:54.480
>> openspec calls it mini waterfall and I

01:10:54.480 --> 01:10:56.320
think it's the right way to to to think

01:10:56.320 --> 01:10:56.960
about it

01:10:56.960 --> 01:10:58.880
>> it's it's probably a good idea to to

01:10:58.880 --> 01:11:01.440
start with a with a and and and yeah you

01:11:01.440 --> 01:11:03.360
could throw away a few of these mini

01:11:03.360 --> 01:11:05.520
waterfalls and then and then when when

01:11:05.520 --> 01:11:07.360
the tie hits the road and there's some

01:11:07.360 --> 01:11:09.840
sort of traction I think it won't be

01:11:09.840 --> 01:11:11.600
waterfall anymore. It would be agile

01:11:11.600 --> 01:11:12.159
surely

01:11:12.159 --> 01:11:14.800
>> because DHA's also highlights a lot of

01:11:14.800 --> 01:11:16.480
the lessons that we've learned is based

01:11:16.480 --> 01:11:18.239
on the way that humans work with code

01:11:18.239 --> 01:11:20.320
and collaborate on code and like the

01:11:20.320 --> 01:11:22.400
problem with waterfall was that it took

01:11:22.400 --> 01:11:24.000
two months to get to solution. And I

01:11:24.000 --> 01:11:25.840
don't remember but I remember I don't

01:11:25.840 --> 01:11:27.520
remember who but I remember seeing

01:11:27.520 --> 01:11:30.080
somebody talk about that but like what

01:11:30.080 --> 01:11:32.560
DHA is saying is like he's it's a single

01:11:32.560 --> 01:11:34.560
person exploring and coming up with the

01:11:34.560 --> 01:11:36.800
design before handing it off and then

01:11:36.800 --> 01:11:38.960
letting the team finune it right but

01:11:38.960 --> 01:11:41.760
like DHS example isn't really realistic

01:11:41.760 --> 01:11:43.199
because like if you if you go into like

01:11:43.199 --> 01:11:45.760
an enterprise I'm just thinking of a a

01:11:45.760 --> 01:11:48.640
big enterprise with I don't know um

01:11:48.640 --> 01:11:51.920
entrenched domains you need a lot of

01:11:51.920 --> 01:11:54.239
like uh uh what do you call when the

01:11:54.239 --> 01:11:55.600
information is sort of hidden, you know,

01:11:55.600 --> 01:11:57.360
like there's lots of little you need to

01:11:57.360 --> 01:11:59.120
talk with different product owners and

01:11:59.120 --> 01:12:01.360
different teams in order to build

01:12:01.360 --> 01:12:03.520
something across it. You you you just

01:12:03.520 --> 01:12:06.880
can't do it in that DHH fashion just

01:12:06.880 --> 01:12:08.719
because just because you just don't know

01:12:08.719 --> 01:12:10.880
the requirements and you you don't know

01:12:10.880 --> 01:12:12.480
the system's very complex or something

01:12:12.480 --> 01:12:13.120
like that.

01:12:13.120 --> 01:12:13.920
>> Yeah.

01:12:13.920 --> 01:12:14.400
>> Okay.

01:12:14.400 --> 01:12:16.080
>> I think I think we're at the end of our

01:12:16.080 --> 01:12:19.280
tether, aren't we? At least I am.

01:12:19.280 --> 01:12:21.040
>> Um yeah, I think that was thanks for the

01:12:21.040 --> 01:12:23.360
good conversation as usual, Vincent. And

01:12:23.360 --> 01:12:25.440
I hope anyone listening enjoyed that

01:12:25.440 --> 01:12:28.719
too. If not, please comment below. Or if

01:12:28.719 --> 01:12:30.880
you did enjoy it, comment below.

01:12:30.880 --> 01:12:32.560
Whatever. Just say hi.

01:12:32.560 --> 01:12:34.480
>> I mean, what I like about once it's

01:12:34.480 --> 01:12:35.920
posted on YouTube and you run the

01:12:35.920 --> 01:12:38.080
summarize on it, you you actually get

01:12:38.080 --> 01:12:40.000
like a full breakdown of

01:12:40.000 --> 01:12:41.360
>> Oh, yeah. It works quite well.

01:12:41.360 --> 01:12:43.040
>> Some of the although that sometimes when

01:12:43.040 --> 01:12:45.199
I read the summarize, I do see it like

01:12:45.199 --> 01:12:47.199
summarize in a certain way where like

01:12:47.199 --> 01:12:48.960
that's not really what we were saying.

01:12:48.960 --> 01:12:50.480
There was definitely there's some

01:12:50.480 --> 01:12:51.760
mistakes in there I saw.

01:12:51.760 --> 01:12:54.400
>> Yeah. I I I just like the fact that we

01:12:54.400 --> 01:12:56.719
have a record of what we talked about

01:12:56.719 --> 01:12:58.480
because

01:12:58.480 --> 01:13:01.440
because I don't know if it's my brain or

01:13:01.440 --> 01:13:03.199
whatever. It's like sometimes I have

01:13:03.199 --> 01:13:05.040
interesting conversations quite often

01:13:05.040 --> 01:13:07.760
with you and I and yeah like I forget

01:13:07.760 --> 01:13:10.080
what we talked about and and now we have

01:13:10.080 --> 01:13:12.719
a good I can refer to it like oh yeah we

01:13:12.719 --> 01:13:15.040
talked about this. What did we say?

01:13:15.040 --> 01:13:17.440
Yeah. Yeah. We said about this and uh we

01:13:17.440 --> 01:13:19.920
talked about that. Yeah. just just

01:13:19.920 --> 01:13:22.080
having a record I found quite useful.

01:13:22.080 --> 01:13:23.679
Yeah, these summarizes are pretty

01:13:23.679 --> 01:13:24.320
impressive

01:13:24.320 --> 01:13:25.840
>> and the fact that Google spits it right

01:13:25.840 --> 01:13:28.320
back at me when I search something.

01:13:28.320 --> 01:13:31.360
Sometimes it show it sources this

01:13:31.360 --> 01:13:34.239
>> um one time I was searching for

01:13:34.239 --> 01:13:37.199
>> something related to CDKTF or ter CDK

01:13:37.199 --> 01:13:37.760
terrain.

01:13:37.760 --> 01:13:39.520
>> It came it came back from my blog.

01:13:39.520 --> 01:13:42.159
>> Yeah.

01:13:42.159 --> 01:13:45.679
>> What should we call this one? Um

01:13:45.679 --> 01:13:48.800
I I felt I I think in hinds I I really

01:13:48.800 --> 01:13:50.480
thought what you what we just discussing

01:13:50.480 --> 01:13:52.960
about expect driven development was

01:13:52.960 --> 01:13:55.840
quite interesting but I would hate for

01:13:55.840 --> 01:13:58.000
anyone to read the title and then have

01:13:58.000 --> 01:14:00.719
to scan in have to listen to us for for

01:14:00.719 --> 01:14:02.400
an hour and 10 minutes until we start

01:14:02.400 --> 01:14:05.360
talking about it. I mean we talked about

01:14:05.360 --> 01:14:08.239
the security implications and you know

01:14:08.239 --> 01:14:11.040
noise getting signal from noise and AI

01:14:11.040 --> 01:14:14.000
agents hopefully helping with that. We

01:14:14.000 --> 01:14:16.000
also talked about a left bat incident in

01:14:16.000 --> 01:14:20.800
Rust. Um and you talked about some AI

01:14:20.800 --> 01:14:23.679
engineer and then I think the last bit

01:14:23.679 --> 01:14:26.560
was about how

01:14:26.560 --> 01:14:28.960
um these examples from entropic use XML

01:14:28.960 --> 01:14:30.719
and the way that they organize their

01:14:30.719 --> 01:14:32.800
specs are very different from the way

01:14:32.800 --> 01:14:36.239
specit does and um I think it's

01:14:36.239 --> 01:14:38.400
interesting. I definitely think I want

01:14:38.400 --> 01:14:43.600
to try open spec uh power skills and um

01:14:43.600 --> 01:14:45.679
or is it superpowers? I think it's super

01:14:45.679 --> 01:14:47.360
I don't know. It's like this cloud

01:14:47.360 --> 01:14:49.600
superpowers thing apparently has a bunch

01:14:49.600 --> 01:14:52.400
of skills that make it really good at um

01:14:52.400 --> 01:14:54.320
helping you organize and build. And then

01:14:54.320 --> 01:14:55.760
there's get done that everyone

01:14:55.760 --> 01:14:57.920
talks about. But it's so funny because

01:14:57.920 --> 01:14:59.440
my friend is like, "Oh, you know,

01:14:59.440 --> 01:15:03.040
Speckit is so um not good and I will use

01:15:03.040 --> 01:15:05.440
uh GSD." And then I go back to him a

01:15:05.440 --> 01:15:07.120
week later. I said, "Well, look at this

01:15:07.120 --> 01:15:09.360
Reddit comment. GSD is so last month.

01:15:09.360 --> 01:15:12.560
You should be using superpowers." And

01:15:12.560 --> 01:15:14.080
>> apparently

01:15:14.080 --> 01:15:17.040
>> I actually need to set myself a goal

01:15:17.040 --> 01:15:19.920
like I need to build my own little SAS

01:15:19.920 --> 01:15:22.880
application some some way to have a side

01:15:22.880 --> 01:15:25.840
income or something like this you know

01:15:25.840 --> 01:15:26.640
have a product

01:15:26.640 --> 01:15:28.640
>> a SAS for who? For yourself.

01:15:28.640 --> 01:15:31.040
>> Well I build one of my side projects

01:15:31.040 --> 01:15:33.440
which I never really launched was to

01:15:33.440 --> 01:15:35.760
have like a YouTube backup service so

01:15:35.760 --> 01:15:37.440
that you like you pay 10 bucks a month

01:15:37.440 --> 01:15:39.760
and I back your YouTube up. But there

01:15:39.760 --> 01:15:41.360
are like three or four other ones like

01:15:41.360 --> 01:15:43.600
that already. Mine would be better. Of

01:15:43.600 --> 01:15:44.560
course.

01:15:44.560 --> 01:15:46.960
>> Of course. You know what? I think we

01:15:46.960 --> 01:15:48.239
talked about this last time, which is

01:15:48.239 --> 01:15:50.640
how do you check if you hire someone if

01:15:50.640 --> 01:15:53.679
they are like good working with AI,

01:15:53.679 --> 01:15:55.360
right? We talked about this last time as

01:15:55.360 --> 01:15:55.840
well.

01:15:55.840 --> 01:15:56.800
>> Build a product.

01:15:56.800 --> 01:15:58.480
>> Yeah. But you know how flight

01:15:58.480 --> 01:16:00.960
controllers they they check if you if

01:16:00.960 --> 01:16:03.360
you can do multitasking like you are cuz

01:16:03.360 --> 01:16:05.360
when you're in a in an ATC tower at the

01:16:05.360 --> 01:16:07.199
airport and flights are coming in you

01:16:07.199 --> 01:16:08.560
have to like keep track of five

01:16:08.560 --> 01:16:09.760
different flights. You have those games

01:16:09.760 --> 01:16:11.679
on the iPhone as well where you need to

01:16:11.679 --> 01:16:13.360
land the planes. Uh it's probably not

01:16:13.360 --> 01:16:14.480
the same thing but

01:16:14.480 --> 01:16:16.960
>> Oh yeah. Oh yeah. I love that game. It

01:16:16.960 --> 01:16:20.400
was it was this guy from Mass Driver who

01:16:20.400 --> 01:16:22.480
posted on LinkedIn talking about how he

01:16:22.480 --> 01:16:24.960
has to work with cloud and go into

01:16:24.960 --> 01:16:26.560
different sessions and then go and pick

01:16:26.560 --> 01:16:28.480
up again the context and then figure out

01:16:28.480 --> 01:16:30.560
what he wanted to do next and then go

01:16:30.560 --> 01:16:32.480
switch on the next one. And then his

01:16:32.480 --> 01:16:34.000
father who used to be a air traffic

01:16:34.000 --> 01:16:36.239
controller told him like it's what I did

01:16:36.239 --> 01:16:38.000
every day you know go back to this

01:16:38.000 --> 01:16:39.600
flight figure out where they are if

01:16:39.600 --> 01:16:41.040
they're still on course for the landing

01:16:41.040 --> 01:16:43.360
on this trip and constantly switching

01:16:43.360 --> 01:16:45.840
between. So I was like what are the

01:16:45.840 --> 01:16:48.480
interview processes for ATC you know

01:16:48.480 --> 01:16:49.840
roles like jobs

01:16:49.840 --> 01:16:52.239
>> when you're focusing on on a product I

01:16:52.239 --> 01:16:53.440
don't think you need to switch between

01:16:53.440 --> 01:16:55.520
agents that much think I think when you

01:16:55.520 --> 01:16:58.000
do your day-to-day sort of job then

01:16:58.000 --> 01:16:59.440
you're switching between agents

01:16:59.440 --> 01:17:01.520
>> but I think you are either working on

01:17:01.520 --> 01:17:03.600
multiple features on the same product at

01:17:03.600 --> 01:17:05.280
the same time because I've definitely

01:17:05.280 --> 01:17:08.159
had like um with spec ledger where I was

01:17:08.159 --> 01:17:10.719
working on a feature for the spec ledger

01:17:10.719 --> 01:17:12.800
and then I when I was using spec ledger

01:17:12.800 --> 01:17:14.960
it errored or have a bug or I can see

01:17:14.960 --> 01:17:17.040
the model is not optim optimally using

01:17:17.040 --> 01:17:18.960
this and it got confused. So then I tell

01:17:18.960 --> 01:17:20.880
it what in that session I say create an

01:17:20.880 --> 01:17:23.040
issue about this this problem that we

01:17:23.040 --> 01:17:25.040
just faced and why did it happen and

01:17:25.040 --> 01:17:26.719
then it goes and creates a GitHub issue.

01:17:26.719 --> 01:17:28.640
Then I tell another Claude Code session

01:17:28.640 --> 01:17:30.080
create a work tree and work on that

01:17:30.080 --> 01:17:32.239
GitHub issue and then in the meantime I

01:17:32.239 --> 01:17:33.679
go back to my main session where I'm

01:17:33.679 --> 01:17:35.520
working on a new feature and then if I

01:17:35.520 --> 01:17:37.360
have another issue I create another one.

01:17:37.360 --> 01:17:39.280
So then I have like three work trees

01:17:39.280 --> 01:17:40.960
working on three different things. I

01:17:40.960 --> 01:17:41.920
think you're doing too much. But you

01:17:41.920 --> 01:17:42.080
can't

01:17:42.080 --> 01:17:43.600
>> No, that was like two two weeks ago

01:17:43.600 --> 01:17:45.760
before I got sick.

01:17:45.760 --> 01:17:47.199
>> Yeah, like you can't work on three

01:17:47.199 --> 01:17:48.640
features in parallel. I think that's

01:17:48.640 --> 01:17:49.760
kind of madness.

01:17:49.760 --> 01:17:52.400
>> I mean, if I if I'm doing my product, if

01:17:52.400 --> 01:17:54.159
I'm doing my YouTube backup thing, I'm

01:17:54.159 --> 01:17:55.440
not going to work on three features in

01:17:55.440 --> 01:17:57.280
parallel. That'd be crazy. And I think

01:17:57.280 --> 01:17:58.960
that's the problem between people that

01:17:58.960 --> 01:18:02.239
are AI active and people that are not. I

01:18:02.239 --> 01:18:04.000
think that's what we need to be able to

01:18:04.000 --> 01:18:06.080
do. So I think we need to be able to and

01:18:06.080 --> 01:18:07.280
that's what a lot of people say like

01:18:07.280 --> 01:18:09.120
Simon as well on this on this um

01:18:09.120 --> 01:18:11.600
interview he says like I'm working on so

01:18:11.600 --> 01:18:13.600
many things at the same time because I

01:18:13.600 --> 01:18:15.040
just come up with the idea give it to

01:18:15.040 --> 01:18:15.679
the agent

01:18:15.679 --> 01:18:18.320
>> so many packages he's got so many

01:18:18.320 --> 01:18:20.480
>> yeah but not just him people that are

01:18:20.480 --> 01:18:22.640
successful here they say that this is

01:18:22.640 --> 01:18:24.560
what we are required to do now we are

01:18:24.560 --> 01:18:27.120
able to switch context contently and

01:18:27.120 --> 01:18:29.280
then by lunchtime we are exhausted we

01:18:29.280 --> 01:18:29.920
are depleted

01:18:29.920 --> 01:18:33.120
>> yeah yeah true like I I honestly well I

01:18:33.120 --> 01:18:35.040
push back on that in sense of like if if

01:18:35.040 --> 01:18:37.440
I'm building my own product then I would

01:18:37.440 --> 01:18:40.800
be more dh I think said it well you know

01:18:40.800 --> 01:18:42.719
you're you're focused on that particular

01:18:42.719 --> 01:18:44.880
thing and using AI to polish the hell

01:18:44.880 --> 01:18:48.159
out of it you're not like this whole um

01:18:48.159 --> 01:18:50.000
but when you work on a project Kai there

01:18:50.000 --> 01:18:51.600
will always be things that you want to

01:18:51.600 --> 01:18:53.040
lend right now a feature that you're

01:18:53.040 --> 01:18:54.719
working on and things that you postpone

01:18:54.719 --> 01:18:57.040
and say later we will polish this and

01:18:57.040 --> 01:18:59.280
with AI you can say later I will polish

01:18:59.280 --> 01:19:00.880
this but at the same time go in a work

01:19:00.880 --> 01:19:01.920
tree and go and do it

01:19:01.920 --> 01:19:03.520
>> when I when I personally develop

01:19:03.520 --> 01:19:05.520
software. I I'm very much in the Unix

01:19:05.520 --> 01:19:07.440
philosophy like do one thing and do one

01:19:07.440 --> 01:19:09.920
thing well. I always want to step away

01:19:09.920 --> 01:19:11.440
from like I don't know a G.

01:19:11.440 --> 01:19:14.159
>> What I'm saying is that in the future

01:19:14.159 --> 01:19:16.719
when AI is doing the work, you're not

01:19:16.719 --> 01:19:18.560
going to sit there and twiddle your

01:19:18.560 --> 01:19:20.880
thumb well while it's doing the work and

01:19:20.880 --> 01:19:21.840
wait for it to come back.

01:19:21.840 --> 01:19:24.000
>> I think it's going to implement quickly.

01:19:24.000 --> 01:19:25.920
The important the important thing is to

01:19:25.920 --> 01:19:27.040
>> it takes time.

01:19:27.040 --> 01:19:28.400
>> It always takes time.

01:19:28.400 --> 01:19:29.840
>> Yeah. The important thing is to have

01:19:29.840 --> 01:19:32.159
that that that human taste, that human

01:19:32.159 --> 01:19:34.640
like how is this going to work? How is

01:19:34.640 --> 01:19:36.239
this going to feel?

01:19:36.239 --> 01:19:37.360
>> I think

01:19:37.360 --> 01:19:40.960
>> I'm at only 40% of my max usage mostly

01:19:40.960 --> 01:19:43.760
at every week. 40%. And I am running

01:19:43.760 --> 01:19:45.760
>> You got to stop You got to stop FOMOing

01:19:45.760 --> 01:19:46.400
about that.

01:19:46.400 --> 01:19:48.080
>> I'm not fomoing. I'm just saying that

01:19:48.080 --> 01:19:50.725
I'm I'm running,

01:19:50.725 --> 01:19:51.360
[snorts]

01:19:51.360 --> 01:19:53.440
you know, maybe four or five projects at

01:19:53.440 --> 01:19:55.360
the same time. So, I have like two

01:19:55.360 --> 01:19:57.520
laptops and I have different cloud s

01:19:57.520 --> 01:20:00.080
sessions running and then I just go and

01:20:00.080 --> 01:20:02.000
check what it's blocked on and unblock

01:20:02.000 --> 01:20:04.480
it and and I'm only at 40%. And there's

01:20:04.480 --> 01:20:06.320
people on Reddit complaining that

01:20:06.320 --> 01:20:09.040
they're hitting the budget the the 5

01:20:09.040 --> 01:20:10.960
hour session budget on a max plan or on

01:20:10.960 --> 01:20:12.000
a

01:20:12.000 --> 01:20:14.719
>> 5x like they have like 10x max plan

01:20:14.719 --> 01:20:16.159
which is double of what I have and

01:20:16.159 --> 01:20:17.520
they're running out in 5 hours.

01:20:17.520 --> 01:20:19.920
>> I I I admit I mean you saw my command

01:20:19.920 --> 01:20:21.360
control. I mean I think I had 20

01:20:21.360 --> 01:20:23.360
sessions yesterday. Not to say that I'm

01:20:23.360 --> 01:20:24.480
going back and forth all the time

01:20:24.480 --> 01:20:26.800
between 20 though at the moment I I need

01:20:26.800 --> 01:20:29.199
to basically build out a product. I

01:20:29.199 --> 01:20:30.640
think when you build a product and you

01:20:30.640 --> 01:20:33.120
and you do more focused work, you're

01:20:33.120 --> 01:20:35.040
going to be doing less of that is just

01:20:35.040 --> 01:20:35.679
my thought.

01:20:35.679 --> 01:20:37.440
>> Okay. But I think you will notice that

01:20:37.440 --> 01:20:39.199
you will be waiting a lot and decide

01:20:39.199 --> 01:20:41.040
that you can start a little session on

01:20:41.040 --> 01:20:42.719
the side and end up being with four

01:20:42.719 --> 01:20:45.199
sessions once you do it. I I would

01:20:45.199 --> 01:20:47.040
hopefully have the I hope to go for a

01:20:47.040 --> 01:20:48.719
cup of tea and a biscuit in that time

01:20:48.719 --> 01:20:52.880
>> like in the AI is a vampire.

01:20:52.880 --> 01:20:53.440
>> Yeah.

01:20:53.440 --> 01:20:54.880
>> Story.

01:20:54.880 --> 01:20:57.440
>> It is a trap to do too many things and I

01:20:57.440 --> 01:20:59.280
don't want to I mean I' I've been very

01:20:59.280 --> 01:21:01.280
close to burned out a few times. I mean

01:21:01.280 --> 01:21:03.280
I mean like God knows how many GitHub

01:21:03.280 --> 01:21:04.960
repos I maintain badly.

01:21:04.960 --> 01:21:06.640
>> But this is a problem that I also had

01:21:06.640 --> 01:21:08.800
after being sick for you know 5 days on

01:21:08.800 --> 01:21:11.600
flu where you have body aches all over.

01:21:11.600 --> 01:21:13.600
You're burning up with fever. You're

01:21:13.600 --> 01:21:15.920
tired, no energy. I was the whole time

01:21:15.920 --> 01:21:18.480
thinking I really don't care about those

01:21:18.480 --> 01:21:20.480
three projects that I was doing if they

01:21:20.480 --> 01:21:22.560
are now continuing or not.

01:21:22.560 --> 01:21:24.560
>> Yeah.

01:21:24.560 --> 01:21:26.480
>> Well, the way I'm thinking is that

01:21:26.480 --> 01:21:29.920
whatever I do um

01:21:29.920 --> 01:21:32.239
especially outside work, it needs to

01:21:32.239 --> 01:21:33.920
perhaps make me more financially

01:21:33.920 --> 01:21:35.360
independent. I think it's going to be

01:21:35.360 --> 01:21:37.120
very hard in the future with AI, you

01:21:37.120 --> 01:21:39.760
know, with like I was talking to an old

01:21:39.760 --> 01:21:42.080
friend who works at the startup that is

01:21:42.080 --> 01:21:45.199
quite a big like app on the app store

01:21:45.199 --> 01:21:48.239
and the founder was freaking out about

01:21:48.239 --> 01:21:50.880
you see like when Entropic announces

01:21:50.880 --> 01:21:54.639
with their new designer and then Figma

01:21:54.639 --> 01:21:57.120
stock drops I don't know how many% by

01:21:57.120 --> 01:21:58.960
the announcement alone of Entropic

01:21:58.960 --> 01:22:00.880
building a design environment.

01:22:00.880 --> 01:22:03.120
>> Yeah. Well, like DHA said it like the

01:22:03.120 --> 01:22:05.040
just putting a spin on on an existing

01:22:05.040 --> 01:22:07.199
idea should be enough to make have a

01:22:07.199 --> 01:22:08.080
business in a way.

01:22:08.080 --> 01:22:10.159
>> By the way, when you earlier said that

01:22:10.159 --> 01:22:12.560
as we make agents more efficient at

01:22:12.560 --> 01:22:14.080
dealing with the processes that are

01:22:14.080 --> 01:22:15.920
working there, we're not changing the

01:22:15.920 --> 01:22:17.679
processes and they're not improving. But

01:22:17.679 --> 01:22:19.199
I think that's one of the problems that

01:22:19.199 --> 01:22:21.679
I or one of the mistakes I made assuming

01:22:21.679 --> 01:22:23.520
that we're going to make processes more

01:22:23.520 --> 01:22:25.520
aligned for agents. I think what every

01:22:25.520 --> 01:22:28.000
AI organ uh company is doing is the

01:22:28.000 --> 01:22:30.560
exact opposite. making agents more fit

01:22:30.560 --> 01:22:32.960
in to every human process. Live in

01:22:32.960 --> 01:22:35.440
Slack, live in Confluence, be part of

01:22:35.440 --> 01:22:37.679
the procedure, not change the procedure

01:22:37.679 --> 01:22:40.239
for agents. This is a big play of OpenAI

01:22:40.239 --> 01:22:41.199
and everything.

01:22:41.199 --> 01:22:42.880
>> I mean, it's being it's being pushed

01:22:42.880 --> 01:22:44.480
from both sides, right? Like I was

01:22:44.480 --> 01:22:46.480
impressed by Google's announcements with

01:22:46.480 --> 01:22:49.280
all the Android CLI stuff cuz like I

01:22:49.280 --> 01:22:50.400
don't know if you've ever developed an

01:22:50.400 --> 01:22:52.159
Android app. It's it's a bit painful,

01:22:52.159 --> 01:22:54.080
but now you can you can you can develop

01:22:54.080 --> 01:22:56.400
an app through their CLI which is

01:22:56.400 --> 01:22:58.960
amazing, right? Yeah, for sure it's

01:22:58.960 --> 01:23:00.719
being pushed on both sides. But I think

01:23:00.719 --> 01:23:02.960
like for example with co-work when they

01:23:02.960 --> 01:23:05.360
are pushing this to to people that are

01:23:05.360 --> 01:23:07.600
not techsavvy, they are not living on

01:23:07.600 --> 01:23:09.520
the terminal, but they want people to

01:23:09.520 --> 01:23:11.920
use AI, they create co-work that works

01:23:11.920 --> 01:23:14.239
inside Excel, that does machine use,

01:23:14.239 --> 01:23:15.840
that just does all of the work like an

01:23:15.840 --> 01:23:18.080
assistant. Why is open cloud famous?

01:23:18.080 --> 01:23:19.679
It's not famous because it's such a

01:23:19.679 --> 01:23:21.520
great like technological thing. It's

01:23:21.520 --> 01:23:22.880
because you just tell it something and

01:23:22.880 --> 01:23:25.440
it goes does everything for you like a

01:23:25.440 --> 01:23:27.040
personal assistant.

01:23:27.040 --> 01:23:28.960
>> It becomes like a human that does the

01:23:28.960 --> 01:23:30.639
work for you. Like my experience when I

01:23:30.639 --> 01:23:32.880
have to go and apply for a passport, it

01:23:32.880 --> 01:23:35.760
wasn't me like figuring out how to give

01:23:35.760 --> 01:23:37.679
Claude Code access to the, you know, all

01:23:37.679 --> 01:23:39.920
of the necessary areas and make it fill

01:23:39.920 --> 01:23:41.920
out the PDF and all that. No, it was all

01:23:41.920 --> 01:23:44.000
in the Claude Code desktop app. It had

01:23:44.000 --> 01:23:45.520
the connector and the skills to manage

01:23:45.520 --> 01:23:47.920
PDFs. it understood how to go and use my

01:23:47.920 --> 01:23:50.000
Gmail and it had the ability to go to

01:23:50.000 --> 01:23:51.760
the Belgian government website and get

01:23:51.760 --> 01:23:53.840
everything and that's where it the power

01:23:53.840 --> 01:23:54.560
came from.

01:23:54.560 --> 01:23:58.080
>> Yeah. just just to uh talk about like my

01:23:58.080 --> 01:24:00.000
my silly like YouTube backup

01:24:00.000 --> 01:24:02.159
application. I guess the way the way to

01:24:02.159 --> 01:24:04.320
validate that idea or the way to affirm

01:24:04.320 --> 01:24:06.080
that idea in the market is that if you

01:24:06.080 --> 01:24:09.760
tell an agent to back up YouTube, will

01:24:09.760 --> 01:24:12.560
it do it manually with the AWS CLI or

01:24:12.560 --> 01:24:15.920
would it somehow find my app and use my

01:24:15.920 --> 01:24:19.040
CLI to back up YouTube? That's probably

01:24:19.040 --> 01:24:20.960
the only way that that software is going

01:24:20.960 --> 01:24:24.159
to like survive in the future. if is is

01:24:24.159 --> 01:24:26.400
is a are agents going to pick it?

01:24:26.400 --> 01:24:27.920
>> I think that's that's that's the biggest

01:24:27.920 --> 01:24:30.400
issue with the way that the LLM agents

01:24:30.400 --> 01:24:32.239
or the way that Google grounds its

01:24:32.239 --> 01:24:35.280
models, it relies so heavily on SEO. So

01:24:35.280 --> 01:24:37.600
if you like have one blog post that

01:24:37.600 --> 01:24:39.280
talks about this or that,

01:24:39.280 --> 01:24:39.760
>> right?

01:24:39.760 --> 01:24:42.000
>> And it just picks that up and now I ask

01:24:42.000 --> 01:24:44.159
a question, it just surfaces at the

01:24:44.159 --> 01:24:46.239
truth, which is just a random blog post.

01:24:46.239 --> 01:24:48.800
Sorry, no offense, but like I'm it's

01:24:48.800 --> 01:24:51.679
just very surprising that within one or

01:24:51.679 --> 01:24:54.159
two days of that being there now the the

01:24:54.159 --> 01:24:54.560
model

01:24:54.560 --> 01:24:56.480
>> That's because I have clout Vincent.

01:24:56.480 --> 01:24:58.719
That's because I have years of

01:24:58.719 --> 01:25:01.280
publishing on the internet. I have trust

01:25:01.280 --> 01:25:01.840
built up.

01:25:01.840 --> 01:25:04.239
>> I mean, it's part of your domain name

01:25:04.239 --> 01:25:07.360
and it's standing with SEO. So, you're

01:25:07.360 --> 01:25:09.280
you're I think this is one of the

01:25:09.280 --> 01:25:11.360
biggest

01:25:11.360 --> 01:25:13.120
>> Yeah. You know, sometimes people go on

01:25:13.120 --> 01:25:13.920
Reddit and say like

01:25:13.920 --> 01:25:15.760
>> SEO is probably going to become a a

01:25:15.760 --> 01:25:17.600
whole field unto itself.

01:25:17.600 --> 01:25:20.159
>> Yeah. So on Reddit people go like, "Oh,

01:25:20.159 --> 01:25:22.320
you know, I just this small little trick

01:25:22.320 --> 01:25:24.800
I wrote on my website exactly these

01:25:24.800 --> 01:25:28.159
words and now whenever somebody goes and

01:25:28.159 --> 01:25:30.960
um ask Chachi PT, it just recommends my

01:25:30.960 --> 01:25:33.440
tool straight out of the box and and

01:25:33.440 --> 01:25:35.679
people just go and and use it.

01:25:35.679 --> 01:25:38.480
>> I mean, I think it's pretty clear. I

01:25:38.480 --> 01:25:40.159
don't know for how long uh before they

01:25:40.159 --> 01:25:42.159
make it the money game where they go

01:25:42.159 --> 01:25:43.920
like well you want to be your tool on

01:25:43.920 --> 01:25:45.520
top then you're gonna have to pay

01:25:45.520 --> 01:25:48.080
>> like you know the you know Primagen and

01:25:48.080 --> 01:25:49.760
uh and friends they made that like

01:25:49.760 --> 01:25:52.719
coffee ordering business

01:25:52.719 --> 01:25:53.920
>> and I I can't help but think that's

01:25:53.920 --> 01:25:55.600
actually kind of brilliant because now

01:25:55.600 --> 01:25:57.920
because now if you want like in the

01:25:57.920 --> 01:26:00.000
future people are going to go like uh I

01:26:00.000 --> 01:26:02.320
I want some Ethiopian coffee and they

01:26:02.320 --> 01:26:04.239
smash enter and then the agent is going

01:26:04.239 --> 01:26:06.960
to find that coffee and and make the

01:26:06.960 --> 01:26:08.800
order and That's the way it's probably

01:26:08.800 --> 01:26:11.520
going to be in the future.

01:26:11.520 --> 01:26:11.920
>> Yeah,

01:26:11.920 --> 01:26:13.679
>> like shopping. Sh shopping is going to

01:26:13.679 --> 01:26:15.600
be all agent driven. Okay, this is a lot

01:26:15.600 --> 01:26:17.920
of food for thought here. Okay, I need a

01:26:17.920 --> 01:26:19.840
break. I need a break. Good chat,

01:26:19.840 --> 01:26:21.199
Vincent. Thanks very much.

01:26:21.199 --> 01:26:23.679
>> Yeah, good chat the video.

01:26:23.679 --> 01:26:24.320
>> Okay,

01:26:24.320 --> 01:26:27.040
>> boy. What?

