1
00:00:00,480 --> 00:00:02,320
Oh, it started. 
Yeah, yeah. 

2
00:00:02,360 --> 00:00:04,160
It's it's better to start too 
early than too late. 

3
00:00:06,280 --> 00:00:11,400
Ask me how I learned that. 
Welcome to the Embedded AI 

4
00:00:11,400 --> 00:00:16,160
Podcast, a podcast about 
embedded systems engineering and

5
00:00:16,320 --> 00:00:19,680
it's overlap with AI. 
I'm one of your real life human 

6
00:00:19,680 --> 00:00:22,920
hosts, Ryan Torvik. 
And I'm looking down. 

7
00:00:23,320 --> 00:00:28,760
And today we are joined by a 
young man who's also very big 

8
00:00:28,760 --> 00:00:33,840
into embedded system design and 
AI. 

9
00:00:34,160 --> 00:00:36,520
We are here today with Jacob 
Beningo. 

10
00:00:38,600 --> 00:00:42,160
How's it going, everybody? 
And I am the the biological 

11
00:00:42,160 --> 00:00:43,560
intelligence known as Jacob 
Beningo is. 

12
00:00:45,560 --> 00:00:47,840
That what we're doing. 
We got AI and BI. 

13
00:00:48,400 --> 00:00:51,080
Gosh, fuck you. 
That's so good. 

14
00:00:51,480 --> 00:00:54,960
All right, So today, Jake, we 
brought Jacob on because Luca 

15
00:00:54,960 --> 00:00:58,600
and Jacob and I, the two of them
more so have been trying to 

16
00:00:58,600 --> 00:01:02,080
teach other people and interact 
with other people about, about 

17
00:01:02,080 --> 00:01:05,760
using AI for code generation and
in their systems and their 

18
00:01:05,760 --> 00:01:08,800
development work flows. 
And we've got a lot of things 

19
00:01:08,800 --> 00:01:11,280
that we've that we've learned 
and picked up over the time. 

20
00:01:11,280 --> 00:01:14,120
And it hasn't been even that 
long, but we'll, we want to kind

21
00:01:14,120 --> 00:01:16,680
of talk through like, what are 
you seeing? 

22
00:01:16,680 --> 00:01:18,400
What are you getting? 
What, what are you hearing? 

23
00:01:18,400 --> 00:01:20,160
What are the kind of mistakes 
that people are making? 

24
00:01:20,160 --> 00:01:22,280
All that kind of stuff. 
How are people feeling about it?

25
00:01:22,280 --> 00:01:24,840
How do you feel about it? 
So that's what we're going to 

26
00:01:24,840 --> 00:01:25,840
do. 
We're It's an engineering 

27
00:01:25,840 --> 00:01:31,040
podcast to talk about feelings. 
But you know, you know what? 

28
00:01:31,440 --> 00:01:33,680
You know what? 
Because we just before we start 

29
00:01:33,680 --> 00:01:37,360
recording, we talked about how 
podcasts forgot to do things and

30
00:01:37,360 --> 00:01:40,080
then tacked them on at the end, 
even though they should have 

31
00:01:40,080 --> 00:01:43,160
gone in the beginning. 
Jacob, who are you even? 

32
00:01:44,480 --> 00:01:46,400
Oh, that's man, that's a good 
question. 

33
00:01:48,160 --> 00:01:51,400
So, yeah, so I'm a real time 
embedded systems engineer that 

34
00:01:51,400 --> 00:01:54,400
focuses a lot of times on 
mission critical systems. 

35
00:01:54,480 --> 00:01:57,800
And so in that we have systems 
that obviously need to be very 

36
00:01:57,800 --> 00:01:59,680
robust. 
So space systems, defense 

37
00:01:59,680 --> 00:02:01,480
systems, medical devices, things
like that. 

38
00:02:01,480 --> 00:02:04,240
And so often times what I'm 
doing is I'm training or 

39
00:02:04,240 --> 00:02:07,360
consulting with folks to build 
these types of systems, improve 

40
00:02:07,360 --> 00:02:10,199
their processes, often 
modernizing their embedded 

41
00:02:10,199 --> 00:02:12,800
systems, which can cover a lot 
of things today from build 

42
00:02:12,800 --> 00:02:15,040
systems to dev OPS software 
architectures. 

43
00:02:15,280 --> 00:02:18,120
But obviously AI is a very 
important part of that 

44
00:02:18,120 --> 00:02:21,960
modernization process as well. 
And so often times I'm out there

45
00:02:21,960 --> 00:02:24,360
sharing my, sharing my knowledge
of embedded systems development.

46
00:02:24,360 --> 00:02:26,240
I've been doing this for 20 
years. 

47
00:02:26,240 --> 00:02:28,880
I work as a consultant, which I,
I've been doing for like 15 

48
00:02:28,880 --> 00:02:31,600
years now, but real time bed 
systems, that microcontroller 

49
00:02:31,600 --> 00:02:33,600
based stuff. 
That's really my passion. 

50
00:02:33,800 --> 00:02:35,760
And of course, like I said, 
teaching and sharing that 

51
00:02:35,760 --> 00:02:37,040
knowledge as well with the 
industry. 

52
00:02:37,040 --> 00:02:40,160
So, and hopefully making it so 
that other engineers don't make 

53
00:02:40,160 --> 00:02:41,280
the same dumb mistakes that I 
make. 

54
00:02:41,280 --> 00:02:43,680
Oh. 
My gosh, I'm sitting here 

55
00:02:43,680 --> 00:02:45,600
listening and I'm like, wow, 
that's, that's really good. 

56
00:02:45,600 --> 00:02:47,560
Luca, if you asked me to do 
that, I'd have to pull up our 

57
00:02:47,560 --> 00:02:49,600
website and like, what? 
What do I do? 

58
00:02:49,600 --> 00:02:55,480
Hold on, let me go look that up.
Oh, my goodness. 

59
00:02:57,000 --> 00:02:58,480
All right. 
So where, where, where are we 

60
00:02:58,480 --> 00:03:00,000
starting? 
So Luca, you've been teaching, 

61
00:03:00,000 --> 00:03:01,960
uh, you've had a couple of 
classes where you've taught some

62
00:03:01,960 --> 00:03:03,320
like cloud code uses kind of 
stuff. 

63
00:03:03,320 --> 00:03:05,560
Do you want to start there? 
Yeah, why not? 

64
00:03:05,720 --> 00:03:10,120
So as we were talking before the
episode, Jacob and I noticed 

65
00:03:10,120 --> 00:03:13,760
that, you know, we've, we've I 
think saw, we've seen a couple 

66
00:03:13,760 --> 00:03:19,240
of patterns emerge as we were 
trying to teach people to use AI

67
00:03:19,240 --> 00:03:23,240
in software engineering. 
And in a sense, actually the 

68
00:03:23,240 --> 00:03:26,800
introduction, I think I've 
spotted the first one, which is 

69
00:03:27,200 --> 00:03:30,480
that you said that I taught 
people to, to write code using 

70
00:03:30,960 --> 00:03:33,080
cloud code or or, you know, 
whatever AI. 

71
00:03:33,640 --> 00:03:39,160
And while that's not technically
wrong because we ended up, you 

72
00:03:39,160 --> 00:03:42,760
know, creating a bunch of code, 
that's kind of past besides the 

73
00:03:42,760 --> 00:03:45,520
point. 
I think what people really 

74
00:03:45,520 --> 00:03:50,160
struggle with is not the have 
the a create curly brackets for 

75
00:03:50,160 --> 00:03:55,160
me, but actual software 
engineering using AI, right? 

76
00:03:55,360 --> 00:03:58,280
All of the stuff that goes 
before and after the curly 

77
00:03:58,280 --> 00:04:02,400
brackets, that that is really 
the hard part and what really 

78
00:04:02,760 --> 00:04:05,560
makes or breaks any kind of 
system, including an embedded 

79
00:04:05,560 --> 00:04:09,080
system. 
I, I feel like that gets 

80
00:04:09,160 --> 00:04:11,880
overlooked very easily. 
Is that also something that 

81
00:04:11,880 --> 00:04:14,880
you've spotted, Jacob? 
Oh, absolutely, yeah. 

82
00:04:14,880 --> 00:04:17,000
I mean, a lot of times people 
think you just open up your code

83
00:04:17,000 --> 00:04:18,560
editor and you start banging out
code, right? 

84
00:04:18,839 --> 00:04:22,680
They forget about the processes 
that go upfront, soliciting 

85
00:04:22,680 --> 00:04:25,440
requirements from, you know, the
end user, talking to 

86
00:04:25,440 --> 00:04:29,800
stakeholders, writing user 
stories, developing, you know, 

87
00:04:29,840 --> 00:04:32,160
heaven forbid someone figure 
out, you know, a software 

88
00:04:32,160 --> 00:04:34,520
architecture ahead of time that 
says, Hey, here's the main 

89
00:04:34,520 --> 00:04:37,080
pieces of, you know, the, the 
system I'm actually building, 

90
00:04:37,080 --> 00:04:39,080
right? 
You know, people love to just be

91
00:04:39,080 --> 00:04:41,360
like, the architecture is 
emergent, right? 

92
00:04:41,360 --> 00:04:43,960
Like just kind of come out of 
the coding, right? 

93
00:04:44,360 --> 00:04:47,240
And, you know, don't get me 
wrong, in a small project, sure,

94
00:04:47,320 --> 00:04:49,720
right. 
But you know, if you're you're 

95
00:04:49,720 --> 00:04:52,520
building, you know, a space 
system or medical device, you 

96
00:04:52,520 --> 00:04:54,880
really want to understand those 
major blocks, right? 

97
00:04:54,880 --> 00:04:57,720
So, so, you know, there's all 
that type of stuff that comes 

98
00:04:57,720 --> 00:04:59,680
first before we should be 
opening our editor. 

99
00:05:00,440 --> 00:05:03,240
So you're saying even though I'm
I'm I'm having the AI generate 

100
00:05:03,240 --> 00:05:06,040
the code for me, I still have to
do the systems engineering that 

101
00:05:06,040 --> 00:05:09,280
I don't like doing? 
Absolutely, absolutely. 

102
00:05:09,480 --> 00:05:12,560
So no, I, I, I might be biased 
because I, I, I am, my 

103
00:05:12,560 --> 00:05:13,880
background is in systems 
engineering. 

104
00:05:14,400 --> 00:05:19,440
So maybe that's just, you know, 
my, my own personal bias, but I,

105
00:05:19,800 --> 00:05:22,560
there is actually a lot of 
research, you know, showing that

106
00:05:22,560 --> 00:05:25,880
when you actually follow 
processes, the work actually 

107
00:05:25,880 --> 00:05:27,720
goes faster and is less costly, 
so. 

108
00:05:28,280 --> 00:05:31,200
Certainly doesn't feel that way.
I I feel faster when I'm mashing

109
00:05:31,200 --> 00:05:33,680
my fingers on the keys and 
tearing about where my my 

110
00:05:33,680 --> 00:05:36,400
semicolons are going and which 
if statement I'm using. 

111
00:05:36,400 --> 00:05:38,240
And if I'm using a for loop or a
while loop. 

112
00:05:38,240 --> 00:05:40,320
And is the variable inside the 
loop or outside the loop? 

113
00:05:40,320 --> 00:05:42,840
Like, yeah. 
I mean, you're being sarcastic, 

114
00:05:42,840 --> 00:05:46,360
but you're not wrong like this 
is. 

115
00:05:46,600 --> 00:05:49,040
This is the problem with many 
people that they feel like 

116
00:05:49,040 --> 00:05:51,200
they're not doing anything or 
certainly not anything 

117
00:05:51,200 --> 00:05:54,480
worthwhile if they are not 
actively writing code. 

118
00:05:55,000 --> 00:05:59,920
Even though one of my favorite 
chapters in the out of embedded,

119
00:06:00,240 --> 00:06:04,160
out of Unix programming is don't
just do something, stand there. 

120
00:06:04,240 --> 00:06:10,520
Like there really is like, I 
mean, when you think about a 

121
00:06:10,520 --> 00:06:12,360
Carpenter, what are you, what 
are they told to do? 

122
00:06:12,560 --> 00:06:14,480
You know, measure twice, cut 
once, right. 

123
00:06:14,600 --> 00:06:17,560
And with with software, we tend 
to just say, well, it's cheap, 

124
00:06:17,560 --> 00:06:20,640
so let's just keep cutting until
maybe eventually we get what we 

125
00:06:20,640 --> 00:06:23,400
want, right? 
Except all those cuttings, all 

126
00:06:23,400 --> 00:06:25,320
that cutting takes time, cost 
money. 

127
00:06:25,400 --> 00:06:27,880
You know, if you deploy 
something in the field that you 

128
00:06:27,880 --> 00:06:30,560
know, heaven forbid has, you 
know, causes an injury or 

129
00:06:30,560 --> 00:06:32,720
something, I mean, that's, 
that's not good, right? 

130
00:06:32,720 --> 00:06:37,040
And so AII think can have a a 
really great impact on helping 

131
00:06:37,040 --> 00:06:39,040
us actually follow good systems 
engineering practices. 

132
00:06:39,040 --> 00:06:41,840
And that's, that's what I, I, 
I've been coming to to 

133
00:06:41,840 --> 00:06:45,080
understand too, is like, no AI 
actually forces you. 

134
00:06:45,080 --> 00:06:48,360
Or if, if you're, if you're 
really leaning into it, it will 

135
00:06:48,360 --> 00:06:51,520
make you a better overall 
engineer because it takes away 

136
00:06:51,520 --> 00:06:54,040
the power to write the actual 
software. 

137
00:06:54,040 --> 00:06:57,040
And it takes away that serotonin
or that dopamine hit that I get 

138
00:06:57,040 --> 00:07:00,920
from my, my compilation working 
because I typed the right code 

139
00:07:01,240 --> 00:07:03,480
and it, and it has me do 
something different. 

140
00:07:03,480 --> 00:07:06,520
I it's a different workflow and 
a different process, but it's a 

141
00:07:06,520 --> 00:07:08,960
completely different way of 
thinking about, you know, gener 

142
00:07:08,960 --> 00:07:12,160
of getting the code to to to 
compile and to run. 

143
00:07:12,160 --> 00:07:15,040
So. 
And, and honestly, you know, you

144
00:07:15,040 --> 00:07:17,480
kind of mentioned the dopamine 
hit that you get from compiling.

145
00:07:17,480 --> 00:07:21,000
I actually think AI has the AI 
prompting has the same effect. 

146
00:07:21,280 --> 00:07:23,800
A lot of engineers I've talked 
to have mentioned how they're 

147
00:07:23,800 --> 00:07:27,200
addicted to using their AI. 
Like they get up, they start 

148
00:07:27,200 --> 00:07:29,240
prompting, they, you know, they 
go to work, they start 

149
00:07:29,240 --> 00:07:30,840
prompting, you know, they come 
home, they start prompting. 

150
00:07:31,720 --> 00:07:37,200
I might be in that category, but
there's these tools, right You 

151
00:07:37,360 --> 00:07:39,920
that you use that you still get 
a little bit of AI guess a 

152
00:07:39,920 --> 00:07:42,720
dopamine hit of, hey, I'm making
progress, forward progress. 

153
00:07:43,120 --> 00:07:45,840
Have you have you right? 
Have you ever played this big 

154
00:07:45,840 --> 00:07:48,560
game Civilization? 
Oh, it's one of my favorites, 

155
00:07:48,560 --> 00:07:50,800
yes. 
Yeah, and, and I'm sure you're 

156
00:07:50,800 --> 00:07:53,440
familiar with that, with that 
trope where, you know, it's this

157
00:07:53,680 --> 00:07:56,800
just one more turn. 
Like it's it's so yes, really 

158
00:07:56,800 --> 00:07:59,480
such an and. 
And The funny thing is I feel 

159
00:07:59,480 --> 00:08:04,640
the exact same way. 
If I'm using AI like it, it is 

160
00:08:04,640 --> 00:08:07,040
exactly at that right level of 
where you don't need to worry 

161
00:08:07,040 --> 00:08:09,440
about the details too much, but 
you're kind of in control of 

162
00:08:09,440 --> 00:08:13,400
everything and you're, you're 
racing ahead And it's, there's 

163
00:08:13,400 --> 00:08:16,640
something about it that is that 
really feels like. 

164
00:08:17,240 --> 00:08:21,640
Like playing civilization. 
Oh exactly, exactly. 

165
00:08:21,880 --> 00:08:24,520
I, I have, I have alarms on my 
phone now to make sure that at 

166
00:08:24,520 --> 00:08:27,600
this time I stop, you know, the 
one that should be stopped work,

167
00:08:27,600 --> 00:08:30,320
but particularly stop, you know,
working with these tools or 

168
00:08:30,320 --> 00:08:32,240
learning more about these tools 
because they're, they are 

169
00:08:32,240 --> 00:08:35,600
changing so fast that you could 
easily, I mean, Oh my God, you 

170
00:08:35,600 --> 00:08:37,320
can literally lose sleep if 
you're not careful. 

171
00:08:38,120 --> 00:08:39,240
So. 
However, maybe I'm just a 

172
00:08:39,240 --> 00:08:42,120
technology enthusiast and and 
you know about learning the how 

173
00:08:42,120 --> 00:08:44,840
to use these properly so I can, 
you know, share it with other 

174
00:08:44,840 --> 00:08:45,920
people. 
But anyways. 

175
00:08:46,560 --> 00:08:50,920
Yeah. 
But I really sort of thinking 

176
00:08:50,920 --> 00:08:53,320
back to the trainees that I give
them over the last couple of 

177
00:08:53,320 --> 00:08:59,400
months and, and trying to teach 
people to use AI effectively in 

178
00:08:59,400 --> 00:09:01,880
software development and 
software engineering. 

179
00:09:02,280 --> 00:09:06,360
And it's quite interesting that 
it, you know, despite us saying,

180
00:09:06,400 --> 00:09:08,720
oh, it feels so easy and natural
and it's so much fun. 

181
00:09:08,720 --> 00:09:10,080
You know, you get so much stuff 
done. 

182
00:09:10,760 --> 00:09:14,360
A lot of people actually 
struggle a lot with getting off 

183
00:09:14,360 --> 00:09:18,920
the ground using AI because 
turns out it's not all that easy

184
00:09:18,920 --> 00:09:23,560
and there is a lot of like, 
strangely subtle sort of 

185
00:09:23,560 --> 00:09:26,120
implicit knowledge and skill in 
there, isn't it? 

186
00:09:27,160 --> 00:09:31,640
There is there, there is a lot 
of, yeah, implicit skills of how

187
00:09:31,640 --> 00:09:34,600
do you communicate, how do you 
mark out what your goals are? 

188
00:09:34,600 --> 00:09:37,160
How do you figure out what your 
output should be? 

189
00:09:37,160 --> 00:09:39,560
How do you even identify what is
you're trying to have it do? 

190
00:09:40,120 --> 00:09:42,120
And then on top of that, 
nowadays it's it can be just 

191
00:09:42,120 --> 00:09:45,000
identifying where does this 
tool, where is the best fit 

192
00:09:45,000 --> 00:09:47,360
within a workflow? 
What should I be using it for? 

193
00:09:47,840 --> 00:09:49,280
Right. 
So I mean, there's, there are, 

194
00:09:49,280 --> 00:09:51,240
there's a lot of skills there 
that you actually really need to

195
00:09:51,240 --> 00:09:54,400
dive into and in order to in 
order to make it an effective 

196
00:09:54,400 --> 00:09:56,480
tool for you to use to do 
engineering. 

197
00:09:56,920 --> 00:09:59,440
I I was just sort of, as you 
were saying this, I was thinking

198
00:09:59,920 --> 00:10:04,120
I started my career as a 
requirements engineer and yeah. 

199
00:10:04,480 --> 00:10:09,440
And I'm so I'm sorry. 
It is don't be, don't be. 

200
00:10:09,440 --> 00:10:15,080
It's a lot of fun and it. 
Must be the most important that 

201
00:10:15,080 --> 00:10:18,240
he's learned. 
That's where I was going with 

202
00:10:18,240 --> 00:10:20,200
this. 
That's where exactly where I was

203
00:10:20,200 --> 00:10:22,320
going with this. 
Like, I've worked as a product 

204
00:10:22,320 --> 00:10:24,040
owner, I've worked as a 
requirements engineer. 

205
00:10:24,720 --> 00:10:31,080
And I find myself going back to 
these skills and those mindsets 

206
00:10:31,080 --> 00:10:34,520
and really sort of sitting down 
and describing what the system 

207
00:10:34,520 --> 00:10:36,840
should do and how it should do 
it and how it can tell that it's

208
00:10:36,840 --> 00:10:38,920
doing the right thing and how it
can tell that it's done. 

209
00:10:40,040 --> 00:10:42,760
And once I've nailed that down, 
then, you know, then I can't 

210
00:10:42,760 --> 00:10:46,560
hand it off to the AI and it 
will do something useful as 

211
00:10:46,560 --> 00:10:51,600
opposed to just something. 
I think a lot of people are not 

212
00:10:51,600 --> 00:10:54,200
aware of this. 
And so they get kind of stumped,

213
00:10:54,200 --> 00:10:58,560
like, you know, they're sitting 
in front of of the input window 

214
00:10:58,680 --> 00:11:01,800
or, you know, in front of the 
cloud code incense or something.

215
00:11:02,320 --> 00:11:05,560
It's like, OK, now what? 
You know, make make me an 

216
00:11:05,560 --> 00:11:10,680
embedded system. 
So I'll give you an example. 

217
00:11:10,680 --> 00:11:14,200
There's a class that I was, I 
taught recently where we, we 

218
00:11:14,200 --> 00:11:17,800
basically designed a universal 
push button module. 

219
00:11:18,040 --> 00:11:21,520
OK, something that every single 
one of us has has done right, or

220
00:11:21,520 --> 00:11:23,800
at least we've designed a deep 
bounce algorithm. 

221
00:11:24,280 --> 00:11:27,200
And it wasn't simply you go 
into, you know, your favorite 

222
00:11:27,200 --> 00:11:29,440
LLM and say, make me a push 
button module. 

223
00:11:29,640 --> 00:11:31,760
Sure, you could do that and you 
get some response. 

224
00:11:32,120 --> 00:11:35,240
What we end up doing was 
spending almost, you know, the 

225
00:11:35,400 --> 00:11:37,720
course is actually over 5 days, 
but we spent almost with the 

226
00:11:37,720 --> 00:11:40,440
equivalent of a full day 
identifying here. 

227
00:11:40,440 --> 00:11:42,720
Let's, let's put together 
requirements, let's put together

228
00:11:42,960 --> 00:11:44,960
user stories. 
Let's, you know, develop the 

229
00:11:44,960 --> 00:11:47,040
architecture. 
Let's, you know, we didn't, 

230
00:11:47,400 --> 00:11:49,680
nothing was coded, even 
developing like skill sets 

231
00:11:49,920 --> 00:11:53,520
within the agent to be able to 
run, to have an agent run a test

232
00:11:53,520 --> 00:11:57,120
driven development process where
it would, you know, do the, the,

233
00:11:57,160 --> 00:12:01,080
the red green refactor process, 
right, Which was hilarious 

234
00:12:01,080 --> 00:12:04,280
working with an AI to do that, 
because I'm going to digress 

235
00:12:04,280 --> 00:12:06,600
here. 
I, I, I built this agent that 

236
00:12:06,600 --> 00:12:09,080
would, would do the TDD process.
And it was, it was, I'm like, 

237
00:12:09,080 --> 00:12:10,920
OK, we're ready to code. 
We've got all these 

238
00:12:10,920 --> 00:12:12,600
requirements. 
We've got architecture. 

239
00:12:13,080 --> 00:12:15,280
Go ahead and, and follow TDD. 
You'll make it. 

240
00:12:15,560 --> 00:12:19,000
Write a test, watch it fail, you
know, write the production code 

241
00:12:19,000 --> 00:12:20,200
for it. 
This is going to be awesome. 

242
00:12:20,680 --> 00:12:24,720
And the AI finished writing the 
code and all the tests in like 4

243
00:12:24,720 --> 00:12:28,840
seconds. 
And I was like, that was really 

244
00:12:28,840 --> 00:12:30,360
fast. 
And the agent was all happy. 

245
00:12:30,360 --> 00:12:32,760
And it's like, Oh yeah, look, I,
I did all this stuff for you. 

246
00:12:32,760 --> 00:12:34,760
It's great. 
It, it works fantastic. 

247
00:12:34,760 --> 00:12:37,640
I'm like, why? 
How was that so fast? 

248
00:12:38,080 --> 00:12:39,960
Well, I just wrote all the code.
You didn't follow the TDD 

249
00:12:39,960 --> 00:12:41,920
process. 
No, that would take too long. 

250
00:12:42,800 --> 00:12:44,600
That was literally the, the 
problem came back in the 

251
00:12:44,600 --> 00:12:46,200
problem. 
I said, why didn't you do it the

252
00:12:46,200 --> 00:12:48,200
right way? 
That would take too long. 

253
00:12:48,240 --> 00:12:50,560
And I was like, OK, that sounds 
a lot. 

254
00:12:50,560 --> 00:12:52,240
I feel that I might get from 
like a junior engineer 

255
00:12:52,240 --> 00:12:55,760
responding back right. 
And so eventually I forced it to

256
00:12:55,760 --> 00:12:57,960
do the right thing and it 
generated, you know, pretty 

257
00:12:57,960 --> 00:13:01,200
interesting code. 
But you know, there's, I guess I

258
00:13:01,200 --> 00:13:02,920
digress there a little bit, but 
it's kind of interesting the, 

259
00:13:03,480 --> 00:13:05,080
you know, you have to apply the 
full workflows. 

260
00:13:05,080 --> 00:13:07,880
And even when you have a good 
workflow, you can't just trust 

261
00:13:07,880 --> 00:13:09,840
that it's going to follow what 
you told it to do. 

262
00:13:10,120 --> 00:13:13,920
It may, you know for whatever 
reason, find other paths or 

263
00:13:14,600 --> 00:13:16,800
hallucinate and just decide, 
well this is better than what 

264
00:13:16,800 --> 00:13:18,400
you're you're telling it to 
actually do. 

265
00:13:18,520 --> 00:13:20,800
I mean, Luke and I may have 
already had the argument about, 

266
00:13:20,840 --> 00:13:23,200
you know, is tested from 
development for people or for 

267
00:13:23,200 --> 00:13:29,040
computers like, because if the 
code, if the code is correct, do

268
00:13:29,040 --> 00:13:31,560
you actually need to have 
written done it in that, in that

269
00:13:31,560 --> 00:13:37,400
order, you know, like, yeah. 
And certainly we could debate 

270
00:13:37,400 --> 00:13:40,400
TDD for sure, but I feel this 
probably isn't the right it's. 

271
00:13:40,400 --> 00:13:44,200
Very important for humans, but 
I'm not sold on it being for AI 

272
00:13:44,200 --> 00:13:48,880
which we'll be thrown to shoot. 
Exactly. 

273
00:13:48,880 --> 00:13:50,840
So I feel the exact opposite 
way. 

274
00:13:50,920 --> 00:13:57,160
Like I, if I use AII feel very 
uncomfortable if I'm not doing 

275
00:13:57,160 --> 00:14:01,640
TDD, because TDD is my way of 
describing what I want the 

276
00:14:01,640 --> 00:14:05,040
system to, to do what I wanted 
to behave like. 

277
00:14:05,400 --> 00:14:08,440
And then, you know, and then the
agent can figure out some way to

278
00:14:08,440 --> 00:14:11,120
make it do that. 
But if I don't express clearly 

279
00:14:11,120 --> 00:14:13,920
what I wanted to do and then I 
get just something. 

280
00:14:13,920 --> 00:14:15,760
And in fact, that was 
interesting. 

281
00:14:15,760 --> 00:14:19,680
Like one of the first things I 
like to do in, in my trainings 

282
00:14:19,680 --> 00:14:25,080
is I have the participants write
a new feature for an existing 

283
00:14:25,080 --> 00:14:26,680
product. 
So if, if it's not an embedded 

284
00:14:26,680 --> 00:14:29,760
systems training that I tend to 
use actually an open source 

285
00:14:29,760 --> 00:14:34,400
civilization clone, they just 
have to write an extra function 

286
00:14:34,400 --> 00:14:38,000
that you know, that filters 
messages and it's really easy. 

287
00:14:38,000 --> 00:14:41,280
Like they, they will probably, 
you know, write me a filter 

288
00:14:41,280 --> 00:14:43,720
that, that filters messages 
according to reasonable criteria

289
00:14:43,720 --> 00:14:46,800
or something of that nature. 
And it will do that and it will 

290
00:14:46,800 --> 00:14:51,240
do it very quickly. 
And then I ask one of them, OK, 

291
00:14:51,760 --> 00:14:55,960
show me, run the, run the game, 
show me the, the message filter.

292
00:14:55,960 --> 00:14:59,440
And then he goes and starts the 
game and and shows me the 

293
00:14:59,440 --> 00:15:02,160
message filter and I start 
asking questions like, OK, now 

294
00:15:02,160 --> 00:15:04,080
how does that work? 
What happens if I press this 

295
00:15:04,080 --> 00:15:09,160
button and and he goes like 
idea, like presumably something 

296
00:15:09,160 --> 00:15:12,800
is going to happen. 
I like how exactly does it feel 

297
00:15:12,800 --> 00:15:17,200
for like that, you know, that 
have pagination, but how does it

298
00:15:17,200 --> 00:15:19,440
work? 
And that's where it really 

299
00:15:19,440 --> 00:15:23,880
starts to dawn on them that if 
they throw in such a vague 

300
00:15:23,880 --> 00:15:28,720
requirement, the thing can't 
read their mind and neither can 

301
00:15:28,720 --> 00:15:32,280
they read its mind. 
So, you know, it's, it's, it's 

302
00:15:32,280 --> 00:15:34,600
really just a matter of luck. 
What are you going to get and 

303
00:15:34,600 --> 00:15:37,560
whether it's at at least sort of
moderately useful. 

304
00:15:38,280 --> 00:15:41,520
And clearly you have no idea 
what what the boundary 

305
00:15:41,640 --> 00:15:43,760
conditions are going to be 
treated like. 

306
00:15:44,800 --> 00:15:48,840
So that that that tends to be 
interesting, an interesting 

307
00:15:48,840 --> 00:15:51,280
experience because everybody 
falls into this trap at first. 

308
00:15:51,280 --> 00:15:53,240
This is my experience from 
training. 

309
00:15:53,560 --> 00:15:55,360
They're like, oh, this is so 
practical. 

310
00:15:55,360 --> 00:15:57,520
I can just, you know, have it do
the thing. 

311
00:15:58,440 --> 00:16:01,320
And then once you start to pull 
on on this thread, then the 

312
00:16:01,320 --> 00:16:05,160
entire thing unravels. 
Well, and and you, you mentioned

313
00:16:05,280 --> 00:16:08,640
it can't read your mind. 
Well, the problem is even worse 

314
00:16:08,640 --> 00:16:11,880
than that because I there's 
nothing in there for it to have 

315
00:16:11,880 --> 00:16:15,560
read because because I have not 
thought out the problem space 

316
00:16:15,560 --> 00:16:16,840
all the way. 
Although like looking at you 

317
00:16:16,840 --> 00:16:18,080
like, boy, I didn't think about 
that. 

318
00:16:18,280 --> 00:16:20,760
Yes, I know. 
So not only can it not read your

319
00:16:20,760 --> 00:16:24,200
mind, it also it can't read 
what's not in your mind. 

320
00:16:24,200 --> 00:16:27,120
Like there's you, you've got to 
actually go through the process 

321
00:16:27,120 --> 00:16:30,760
of clearly understanding the 
problem space and then clearly 

322
00:16:30,760 --> 00:16:34,280
identifying what you actually 
want to have happen for all 

323
00:16:34,280 --> 00:16:36,040
those different cases and 
conditions. 

324
00:16:36,320 --> 00:16:39,920
And the AI is the best puppy 
you'll ever have. 

325
00:16:39,920 --> 00:16:41,480
It'll go pick up the stick for 
you. 

326
00:16:41,480 --> 00:16:43,200
And you're like, no, not that 
stick. 

327
00:16:43,200 --> 00:16:44,640
You're like, what do you mean? 
Not that stick? 

328
00:16:44,640 --> 00:16:47,000
You didn't tell me which stick. 
I grabbed you the stick. 

329
00:16:47,280 --> 00:16:50,720
Like it, you're you, you really.
And like, it'll do that and 

330
00:16:50,720 --> 00:16:54,840
it'll put out pages and pages 
and pages and pages, hundreds of

331
00:16:54,840 --> 00:16:56,480
sticks. 
This, this puppy will bring back

332
00:16:56,480 --> 00:16:59,200
to you. 
And like, you will now be buried

333
00:16:59,200 --> 00:17:03,600
in sticks. 
And yeah, I, I, I want to talk 

334
00:17:03,600 --> 00:17:07,480
about the engineering process a 
little bit too, because, you 

335
00:17:07,480 --> 00:17:11,200
know, I've got, I've got a lot 
of things to think about when it

336
00:17:11,200 --> 00:17:14,280
comes to like Anthropic and 
especially it's been talking 

337
00:17:14,280 --> 00:17:16,480
about, it'll generate code to 
generate code to generate code. 

338
00:17:16,760 --> 00:17:20,000
If you look at an embed at a 
software developer's time and 

339
00:17:20,000 --> 00:17:22,800
what they spend most of their 
time doing, it's not writing 

340
00:17:22,800 --> 00:17:26,599
code. 
It's thinking about how to 

341
00:17:26,599 --> 00:17:29,800
design it, how to architect it. 
And then you spend way more time

342
00:17:29,800 --> 00:17:32,600
refactoring somebody else's code
or your code because you didn't 

343
00:17:32,600 --> 00:17:33,920
understand the problem space 
enough. 

344
00:17:34,920 --> 00:17:37,600
But so like you spend a lot more
time thinking than you actually 

345
00:17:37,600 --> 00:17:40,240
spend writing code. 
So I kind of want the AI can, 

346
00:17:40,240 --> 00:17:42,480
like, can the AI do the thinking
for me instead? 

347
00:17:42,480 --> 00:17:52,680
And the answer is no, not yet. 
I'm in fact not ever. 

348
00:17:52,680 --> 00:17:55,200
I think that that is just going 
to be the forever bottleneck 

349
00:17:55,560 --> 00:18:00,280
that you must the the user, or 
maybe you, as sort of the 

350
00:18:00,280 --> 00:18:03,720
standard for the user, must go 
through the painstaking process 

351
00:18:03,720 --> 00:18:05,880
of figuring out what it is that 
they want. 

352
00:18:06,480 --> 00:18:08,600
And then the system can be built
according to that. 

353
00:18:08,840 --> 00:18:11,920
And that is just not going away.
Absolutely. 

354
00:18:11,920 --> 00:18:12,560
Yeah. 
Yeah. 

355
00:18:12,560 --> 00:18:13,880
And that's not the technical 
limitation. 

356
00:18:13,880 --> 00:18:15,680
That's just, you know, that's 
just how the world works. 

357
00:18:15,680 --> 00:18:19,960
If you don't, if you don't know,
just like Ryan said, what should

358
00:18:19,960 --> 00:18:22,720
be built, then well, that is not
going to if you. 

359
00:18:24,080 --> 00:18:26,440
Think, you know, look at you 
live in Europe. 

360
00:18:26,440 --> 00:18:28,440
Apparently there are all these 
buildings in Europe that people 

361
00:18:28,440 --> 00:18:32,040
have like put stacked stones one
on top of another to make these 

362
00:18:32,040 --> 00:18:33,880
really like big structures and 
stuff too. 

363
00:18:34,200 --> 00:18:36,480
They did not just buy. 
They did not just go and be 

364
00:18:36,480 --> 00:18:38,920
like, I don't make a building 
where over there that looks 

365
00:18:38,920 --> 00:18:39,960
good. 
Like that's not. 

366
00:18:40,040 --> 00:18:45,320
That's not how that works like. 
Well, well, yes and no. 

367
00:18:45,320 --> 00:18:48,600
Like we had this argument before
about, you know, measure twice, 

368
00:18:48,600 --> 00:18:52,680
cut once, which is very true in 
in carpentry because like once 

369
00:18:52,680 --> 00:18:56,680
you've cut a piece of wood, then
it's like broken, uncut it, you 

370
00:18:56,680 --> 00:18:57,880
know? 
Yeah, exactly. 

371
00:18:57,880 --> 00:18:59,000
You can't. 
One way or? 

372
00:18:59,560 --> 00:19:01,640
They they are not free, they are
not infinite. 

373
00:19:01,760 --> 00:19:04,120
But The funny thing is code is 
free and infinite. 

374
00:19:04,280 --> 00:19:07,920
Like you, you can have an 
infinite number of essentially 

375
00:19:07,920 --> 00:19:12,240
free and immediate prototypes. 
So there is there is sense to 

376
00:19:12,240 --> 00:19:16,480
being more experimental and sort
of feeling your way towards the 

377
00:19:16,480 --> 00:19:21,160
right solution than it were if 
if you had to build expensive 

378
00:19:21,240 --> 00:19:23,880
both in terms of time and money 
prototypes. 

379
00:19:25,280 --> 00:19:27,440
But you know, there's sort of a 
boundary is there? 

380
00:19:27,440 --> 00:19:31,760
There is they are only almost 
free and only almost instant. 

381
00:19:31,760 --> 00:19:34,280
So there is a time penalty that 
you pay. 

382
00:19:34,280 --> 00:19:36,760
And at some point, 
experimentation becomes more 

383
00:19:36,760 --> 00:19:40,200
expensive than sitting down and 
thinking about for a couple of 

384
00:19:40,200 --> 00:19:42,640
minutes, even if experiments are
almost free. 

385
00:19:43,080 --> 00:19:46,280
Yeah, well, and then and then I 
can like, OK, here's the 

386
00:19:46,280 --> 00:19:48,920
trolling me. 
Well, now Anthropic and Gemini 

387
00:19:48,920 --> 00:19:50,240
are making it so that it isn't 
free. 

388
00:19:50,240 --> 00:19:51,960
You have to pay for that code to
be generated. 

389
00:19:55,080 --> 00:19:56,560
Yeah, actually also a good 
point. 

390
00:19:57,280 --> 00:19:59,480
Yeah, I mean, at some point 
someone's got to pay for the 

391
00:19:59,480 --> 00:20:02,440
servers and maintenance on the 
servers and electricity and 

392
00:20:02,440 --> 00:20:03,520
everything, right? 
So. 

393
00:20:03,600 --> 00:20:06,560
Yeah, as far as you can tell, 
it's just a big circle. 

394
00:20:06,560 --> 00:20:09,600
They're just passing the same 
dollar run around the circles of

395
00:20:09,840 --> 00:20:15,960
the economy so. 
Yeah, well, we'll, we'll see. 

396
00:20:16,000 --> 00:20:17,680
We'll see how that works. 
I just learned last night 

397
00:20:17,680 --> 00:20:20,320
they're building a data centre 
about 40 minutes from here. 

398
00:20:20,320 --> 00:20:23,280
And when we checked, all of our 
electricity bills have actually 

399
00:20:23,280 --> 00:20:27,040
gone up by 50% this year. 
And it seems to be tied to the 

400
00:20:27,040 --> 00:20:30,760
building of this data centre and
the electrical grid company 

401
00:20:31,080 --> 00:20:35,200
adding more supply to the local 
grid really just for the data 

402
00:20:35,200 --> 00:20:36,920
centre. 
But they're, you know, the whole

403
00:20:36,920 --> 00:20:40,040
region is being charged extra to
cover those costs. 

404
00:20:40,040 --> 00:20:42,720
So, so I mean, it's, that's why 
we started to talk about cost of

405
00:20:42,720 --> 00:20:44,080
AI. 
There's, there's these hitting 

406
00:20:44,080 --> 00:20:48,320
costs that, you know, maybe we 
don't fully understand what the 

407
00:20:48,320 --> 00:20:50,680
actual economic cost is of using
these tools yet, right? 

408
00:20:50,920 --> 00:20:53,120
Or becoming maybe dependent on 
them at some point. 

409
00:20:53,120 --> 00:20:54,280
Yep. 
Oh yeah. 

410
00:20:55,160 --> 00:20:57,040
Yes. 
And there's yeah, but being 

411
00:20:57,120 --> 00:21:06,040
depend anyways. 
OK, so, So what have you seen 

412
00:21:06,040 --> 00:21:07,640
the students that you've 
interacted with? 

413
00:21:07,640 --> 00:21:09,960
What have you seen them, you 
know, you mentioned they 

414
00:21:09,960 --> 00:21:12,240
struggle with it. 
You know, what is it they're 

415
00:21:12,240 --> 00:21:15,560
doing wrong? 
What are the, you know, and you 

416
00:21:15,560 --> 00:21:17,720
know, like, and then how do you 
get them to trust it? 

417
00:21:17,720 --> 00:21:21,480
Because I know that if I, if I 
try something and it doesn't 

418
00:21:21,480 --> 00:21:23,520
really work the first time, I 
give up immediately and throw my

419
00:21:23,520 --> 00:21:24,640
hands up and walking out of the 
room. 

420
00:21:24,920 --> 00:21:28,000
So like, how are, how are you 
dealing with like, oh, it's not 

421
00:21:28,000 --> 00:21:30,520
doing what I wanted to do. 
This is not how I think about 

422
00:21:30,520 --> 00:21:32,760
solving the problem. 
This is not how I am used to 

423
00:21:32,760 --> 00:21:34,560
working. 
Like how do you deal with that? 

424
00:21:36,440 --> 00:21:38,600
Yeah. 
So, so like for me, typically 

425
00:21:38,600 --> 00:21:41,440
what I've been doing is, is I 
try to demonstrate to them like,

426
00:21:41,600 --> 00:21:43,600
you know, something that doesn't
work right. 

427
00:21:43,600 --> 00:21:45,520
And then you try to work them 
through the critical thinking 

428
00:21:45,520 --> 00:21:47,280
skills of how would you do this 
as an engineer? 

429
00:21:47,640 --> 00:21:50,320
What, what, what is it that is 
essentially failing in your 

430
00:21:50,320 --> 00:21:52,640
workflow process? 
And then are there other tools 

431
00:21:52,640 --> 00:21:56,040
that you can do to refine either
your prompts or even more, more 

432
00:21:56,040 --> 00:21:59,600
and more today it's how do you 
how do you adjust the skills? 

433
00:21:59,720 --> 00:22:01,960
How do you deploy agents? 
Are there other solutions out 

434
00:22:01,960 --> 00:22:04,160
there like MCP servers that you 
can leverage or does it make 

435
00:22:04,160 --> 00:22:06,640
sense to build your own? 
And so ultimately, a lot of 

436
00:22:06,640 --> 00:22:09,240
times what we're focusing on, or
I'm focusing on is trying to 

437
00:22:09,240 --> 00:22:11,080
teach them to critically think 
about what it is that they would

438
00:22:11,080 --> 00:22:14,000
do and how they would do it. 
And documenting that in a good 

439
00:22:14,000 --> 00:22:16,880
degree, in such a way that they 
can actually wrap that up into a

440
00:22:16,880 --> 00:22:20,760
skill that they can then share 
with AI and try to no skill that

441
00:22:20,760 --> 00:22:23,600
you write is going to make AI do
it perfectly every time. 

442
00:22:23,600 --> 00:22:26,440
It's going to be, you know, it 
might get you 80% of the way 

443
00:22:26,440 --> 00:22:28,920
there, but you do have to go in 
and make adjustments to it. 

444
00:22:28,920 --> 00:22:31,480
So it's not like, you know, from
my experience, it's not like, 

445
00:22:31,480 --> 00:22:32,600
oh, I can just tell it to go do 
this. 

446
00:22:32,600 --> 00:22:34,880
And I built all these skills and
agents and stuff and you know, 

447
00:22:34,880 --> 00:22:37,200
I'm going to go say, hey, go 
write me this widget and, you 

448
00:22:37,200 --> 00:22:39,400
know, go to the bar and have a 
couple of drinks and come back 

449
00:22:39,400 --> 00:22:42,640
and woohoo, you know, go to 
production it. 

450
00:22:42,640 --> 00:22:45,600
It's very, I see this very much 
as a piece meal tool where I 

451
00:22:45,600 --> 00:22:47,640
have a small problem. 
Let's use it to attack this 

452
00:22:47,640 --> 00:22:49,720
problem. 
We developed, you know, skills 

453
00:22:49,720 --> 00:22:51,920
and libraries essentially to 
help us solve these problems 

454
00:22:51,920 --> 00:22:54,760
that keep repeating over and 
over and over time we refine 

455
00:22:54,760 --> 00:22:58,040
them and, you know, can then 
deploy agents to use those 

456
00:22:58,040 --> 00:23:00,120
skills to, to maybe move it 
along faster. 

457
00:23:00,120 --> 00:23:02,600
And it's kind of like a 
refinement process. 

458
00:23:02,880 --> 00:23:05,000
But really trying to show 
students that they can't just 

459
00:23:05,000 --> 00:23:08,320
trust what it outputs, I think 
is absolutely really important 

460
00:23:08,320 --> 00:23:10,520
because first of all, they often
get stuck with, well, how do I 

461
00:23:10,520 --> 00:23:13,160
even, you know, craft a prop 
properly and get something 

462
00:23:13,160 --> 00:23:15,120
useful out of it? 
And then they start to see 

463
00:23:15,120 --> 00:23:17,000
something useful and they're 
like, oh, I can just trust this 

464
00:23:17,000 --> 00:23:18,840
thing. 
But you really have to, you 

465
00:23:18,840 --> 00:23:22,440
know, I've noticed like 80 maybe
at least half the time it will 

466
00:23:22,440 --> 00:23:25,160
give you something kind of 
close, but you really almost 

467
00:23:25,160 --> 00:23:28,400
always have to push back on it 
and say, no, this is the way I'm

468
00:23:28,400 --> 00:23:30,000
thinking. 
Or you discover holes in your 

469
00:23:30,000 --> 00:23:32,560
own way of thinking that you 
have to keep refining your own 

470
00:23:32,560 --> 00:23:34,320
thinking. 
And it's honestly, it's a, it's 

471
00:23:34,320 --> 00:23:35,960
a, it's a human process. 
Like I, I've got my 

472
00:23:35,960 --> 00:23:37,400
modernization framework that I 
use. 

473
00:23:37,600 --> 00:23:39,320
I've been refining this thing 
over the course of like the last

474
00:23:39,320 --> 00:23:42,160
four years and it continues to 
change, right? 

475
00:23:42,440 --> 00:23:45,200
And so every iteration with 
using AI, you kind of have to 

476
00:23:45,200 --> 00:23:47,200
show students that this is a 
process. 

477
00:23:47,200 --> 00:23:49,600
You're not, you know, you don't 
go to the gym and, and do a 

478
00:23:49,600 --> 00:23:52,280
deadlift and, and now you're, 
you know, ripped you learning 

479
00:23:52,280 --> 00:23:54,840
how to use these things properly
takes time, right? 

480
00:23:55,360 --> 00:23:59,040
So and experience, but sorry 
maybe I'm rambling there a 

481
00:23:59,040 --> 00:24:01,720
little bit. 
No, no, no, but, but it's quite 

482
00:24:01,720 --> 00:24:03,840
interesting. 
I, I think the engineers that 

483
00:24:03,840 --> 00:24:07,960
actually take the trainings, 
they tend to have a fairly good 

484
00:24:07,960 --> 00:24:10,640
intuition about this, but that 
actually is not going to be that

485
00:24:10,640 --> 00:24:12,280
easy. 
You don't just throw a prop at 

486
00:24:12,280 --> 00:24:15,160
it and then you go and have a 
coffee and then you come back 

487
00:24:15,160 --> 00:24:17,000
and it's like all done and 
perfect. 

488
00:24:17,600 --> 00:24:21,480
That tends to be more of a 
management affliction where they

489
00:24:22,240 --> 00:24:25,040
seem to really think that this 
is how it could work. 

490
00:24:25,760 --> 00:24:28,800
The engineers tend to be more, 
you know, they have better 

491
00:24:28,800 --> 00:24:30,920
instincts about this. 
They say, I don't think it's 

492
00:24:30,920 --> 00:24:32,960
going to be that easy. 
I think I need to pay closer 

493
00:24:32,960 --> 00:24:33,840
attention. 
And they're right. 

494
00:24:34,640 --> 00:24:37,440
And so I, I told you about this 
first exercise that I do the 

495
00:24:37,440 --> 00:24:41,200
second exercise that I, you 
know, let's, let's talk it 

496
00:24:41,400 --> 00:24:43,840
through in the embedded systems 
scenario here. 

497
00:24:43,840 --> 00:24:49,280
So that the second exercise that
I like to do is I have them, or 

498
00:24:49,280 --> 00:24:53,320
rather I have the AII have them 
have the AI, right, A driver for

499
00:24:53,360 --> 00:24:56,800
a temperature sensor. 
You know, it's a very simple 

500
00:24:56,880 --> 00:24:59,480
sensor. 
I'm just showing a breadboard 

501
00:24:59,480 --> 00:25:01,720
here from, from a training that 
I did a couple of days ago. 

502
00:25:02,880 --> 00:25:05,040
Temperature sensor fairly well 
known. 

503
00:25:05,040 --> 00:25:09,160
And so I, I tell them, but ask 
the AI to make it work and I'll 

504
00:25:09,160 --> 00:25:10,760
put the temperature on the, on 
the cereal pot. 

505
00:25:11,880 --> 00:25:17,280
And it usually works first try, 
like some, sometimes it needs a 

506
00:25:17,280 --> 00:25:19,320
couple of iterations until it 
all works. 

507
00:25:20,040 --> 00:25:23,600
Oh no, that's right. 
There's always 1 snag that comes

508
00:25:23,600 --> 00:25:26,400
up, which is that it assumes 
that it's going to be that, that

509
00:25:27,000 --> 00:25:30,400
the sensor is going to be a 
whatever pin and it never stops 

510
00:25:30,400 --> 00:25:32,360
to ask like OK, where's it 
actually connected? 

511
00:25:32,520 --> 00:25:34,960
Just makes up a pin and and runs
with it. 

512
00:25:35,680 --> 00:25:40,000
And once we get that sorted out,
then usually it actually works 

513
00:25:40,000 --> 00:25:42,600
first try. 
Then I say OK, fine, let's let's

514
00:25:42,600 --> 00:25:45,320
pull out the data sheet. 
It's fairly well known sensor, 

515
00:25:45,320 --> 00:25:46,760
right? 
It's a Dallas 18B20. 

516
00:25:47,240 --> 00:25:50,280
Let's pull out the data sheet 
and see if the civilization is, 

517
00:25:50,640 --> 00:25:53,880
is right. 
And it tends to be subtly not 

518
00:25:54,120 --> 00:25:57,920
interestingly enough, like the, 
the time is sort of good enough 

519
00:25:57,920 --> 00:26:02,320
to get a signal. 
You know, in good conditions, 

520
00:26:02,440 --> 00:26:07,000
it, it usually kind of works, 
but it's not perfectly right. 

521
00:26:07,000 --> 00:26:11,240
It's it's not good enough for 
production, but it would have 

522
00:26:11,240 --> 00:26:12,960
slipped through if we had paid 
attention. 

523
00:26:12,960 --> 00:26:15,840
And that's so interesting that 
that that tends to be sort of 

524
00:26:15,880 --> 00:26:20,080
one of those first really sort 
of wake up moments for students 

525
00:26:20,080 --> 00:26:22,440
where they say, oh, I really 
need to be paying attention 

526
00:26:22,440 --> 00:26:25,480
because I cannot rely on the AI 
to have done the right thing, 

527
00:26:25,960 --> 00:26:29,160
even if the system exhibits the 
behaviors that I desire, like, 

528
00:26:29,160 --> 00:26:30,880
you know. 
It's a temperature. 

529
00:26:30,880 --> 00:26:34,000
Maybe the tests pass? 
The tests pass exactly. 

530
00:26:35,600 --> 00:26:38,040
Yeah. 
And that is so interesting. 

531
00:26:38,040 --> 00:26:42,640
And they, they sort of, that is 
that is the first big sort of 

532
00:26:42,640 --> 00:26:46,680
wake up moment for them where 
they say I can't really let go 

533
00:26:46,680 --> 00:26:51,480
of the rains, can I? 
Try telling the executive board 

534
00:26:51,480 --> 00:26:55,240
that like the C, the C level, 
the management level is like, Oh

535
00:26:55,240 --> 00:26:58,680
yeah, because I'm telling you, 
we went and and did a bunch of 

536
00:26:58,680 --> 00:27:01,000
work and all these VCs are like,
no, no, we don't need testing 

537
00:27:01,000 --> 00:27:02,200
anymore. 
We're just going to have the AI 

538
00:27:02,200 --> 00:27:03,840
write all the code. 
And I'm like, Oh my God. 

539
00:27:06,760 --> 00:27:08,880
It's, it's definitely a 
management push too, because I 

540
00:27:08,880 --> 00:27:10,880
will see like a lot of the 
trainings that I've done, like 

541
00:27:10,880 --> 00:27:15,200
for my faster smarter firmware 
seminars, you'll see management 

542
00:27:15,200 --> 00:27:20,120
telling the teams that they need
to learn AI, identify how they 

543
00:27:20,120 --> 00:27:21,760
can use AI. 
But you see the actual 

544
00:27:21,760 --> 00:27:24,640
development team, I don't want 
to say necessarily resisting, 

545
00:27:24,640 --> 00:27:28,040
but kind of being like, well, 
instinctively, like you said, 

546
00:27:28,040 --> 00:27:29,600
they know that there's going to 
be problems with it. 

547
00:27:29,600 --> 00:27:30,640
It's actually going to add 
overhead. 

548
00:27:30,640 --> 00:27:33,440
It'll actually initially slow 
them down because they're trying

549
00:27:33,440 --> 00:27:36,760
to learn something new and it's 
not going to just be a magic 

550
00:27:36,760 --> 00:27:38,680
wand that you wave. 
And hey, here's our solution. 

551
00:27:38,880 --> 00:27:41,080
It might give something, but now
we have to go back and validate 

552
00:27:41,080 --> 00:27:43,640
it, verify it's actually doing 
what we think it's doing. 

553
00:27:44,040 --> 00:27:47,800
And the, the superficialness of 
the it's working ends up being 

554
00:27:47,800 --> 00:27:50,880
really more time and overhead 
potentially on a project that 

555
00:27:51,120 --> 00:27:53,080
has, you know, is already three 
months behind, man. 

556
00:27:53,080 --> 00:27:54,960
He's already got the pressure on
the move faster. 

557
00:27:54,960 --> 00:27:56,960
And, you know, yeah, it's a 
risk. 

558
00:27:57,040 --> 00:27:59,160
It's a risk, isn't it? 
Exactly. 

559
00:27:59,440 --> 00:28:01,120
Yep. 
Also, the other interesting 

560
00:28:01,120 --> 00:28:05,360
thing is I, I talked to to an 
engineering manager the other 

561
00:28:05,360 --> 00:28:09,360
week at OP conference in Munich 
and she said that, you know, 

562
00:28:09,720 --> 00:28:14,760
she's got a couple of teams of 
engineers using AI for firmware 

563
00:28:14,760 --> 00:28:16,360
development and beta systems 
development. 

564
00:28:16,840 --> 00:28:20,120
They've really had to scale back
on using AI because it got so 

565
00:28:20,120 --> 00:28:22,600
expensive. 
Like a single engineer will burn

566
00:28:22,600 --> 00:28:25,720
through a couple of $1000 worth 
of tokens in a month. 

567
00:28:26,000 --> 00:28:32,000
Like they they spend more than 
they salary or on API cost and 

568
00:28:32,000 --> 00:28:34,360
it you know it, it really is a 
problem for them. 

569
00:28:36,160 --> 00:28:38,200
Oh man, Yep. 
I mean that's just it as you 

570
00:28:38,200 --> 00:28:40,760
start to generate more and more 
code, it just you know, it 

571
00:28:40,760 --> 00:28:41,880
starts to eat away at the 
budget. 

572
00:28:41,880 --> 00:28:46,000
So and then you know, again, if 
the engineers are going back 

573
00:28:46,000 --> 00:28:48,840
behind and fixing the the AI, 
the question does come. 

574
00:28:48,840 --> 00:28:52,120
Do you just write the code 
yourself the first time, right? 

575
00:28:52,320 --> 00:28:55,000
You already have a sunk overhead
cost, right So. 

576
00:28:55,800 --> 00:28:57,520
Yeah, well, and you've, and 
you've talked about it. 

577
00:28:57,560 --> 00:28:59,640
We've touched on it like, no, 
no, you have to really tell it 

578
00:28:59,640 --> 00:29:01,440
what you want. 
You have to really design it 

579
00:29:01,440 --> 00:29:03,800
correctly. 
So then I'm like, OK, well, 

580
00:29:04,080 --> 00:29:06,160
let's just go through the 
process of doing the design and 

581
00:29:06,160 --> 00:29:08,040
then I'll just write the code 
like. 

582
00:29:10,680 --> 00:29:14,440
Yeah, actually that is, that is 
an interesting point because in 

583
00:29:14,440 --> 00:29:17,760
many cases our quote UN quote 
design process was really sort 

584
00:29:17,760 --> 00:29:21,040
of sitting down, writing the 
code and then going, I need to 

585
00:29:21,040 --> 00:29:23,680
think about this and coming to a
decision. 

586
00:29:23,840 --> 00:29:26,680
And then sort of at the same 
time writing the code that that 

587
00:29:26,760 --> 00:29:29,280
expressed the decision as they 
were coming to the decision. 

588
00:29:29,440 --> 00:29:32,480
And now that they're not writing
the code anymore, just like Jake

589
00:29:32,480 --> 00:29:35,920
was saying before, how do you 
make sure that you've really 

590
00:29:36,080 --> 00:29:37,560
understood the problem deeply 
enough? 

591
00:29:37,560 --> 00:29:40,600
How do you make the decisions 
that need to be made? 

592
00:29:41,800 --> 00:29:44,360
We'll call this episode the 
Death of Agile because you don't

593
00:29:44,360 --> 00:29:45,880
need to be agile. 
It's just waterfall now. 

594
00:29:45,880 --> 00:29:48,760
You describe the problem as best
you can to the EI and then it 

595
00:29:48,760 --> 00:29:50,760
just writes the code for you in 
a one shot. 

596
00:29:51,000 --> 00:29:52,880
Done. 
Don't need agile anymore. 

597
00:29:55,800 --> 00:29:56,960
That's that's an interesting 
one. 

598
00:29:57,080 --> 00:30:00,320
We, you know, Ryan and I have 
been talking about we need to do

599
00:30:00,320 --> 00:30:04,920
an episode on, you know, 
specification for AI and 

600
00:30:04,920 --> 00:30:06,640
spectrum development and all 
that good stuff. 

601
00:30:07,360 --> 00:30:10,440
But the point I was just 
thinking of is that all of the 

602
00:30:10,600 --> 00:30:14,600
presently existing at least sort
of a bit in the public eye 

603
00:30:15,160 --> 00:30:19,720
spectrum development tool kits 
for AI, you know, like a spec 

604
00:30:19,720 --> 00:30:22,160
kit and what's it Bmad and all 
of those. 

605
00:30:23,120 --> 00:30:25,920
What annoys me about them is 
that they are all too waterfall 

606
00:30:25,920 --> 00:30:28,480
Y yeah, yeah. 
Because they they sort of have 

607
00:30:28,480 --> 00:30:31,360
this assumption that you will 
spec everything out beforehand 

608
00:30:31,880 --> 00:30:36,760
and then you go have lunch and 
you know, your gaggle of agents 

609
00:30:36,880 --> 00:30:38,960
does the thing and then you come
back. 

610
00:30:39,040 --> 00:30:39,840
It's called a. 
Murder. 

611
00:30:39,840 --> 00:30:42,520
A murder of agents. 
A murder of agent? 

612
00:30:42,520 --> 00:30:46,840
Yeah, at least for me, that's 
not how it works. 

613
00:30:46,840 --> 00:30:51,480
Like I, I don't remember showing
my AI workflow to a customer and

614
00:30:51,480 --> 00:30:53,880
they and they were like, but 
you're still sitting there. 

615
00:30:53,880 --> 00:30:55,720
It's like, yes, of course I'm 
still sitting there. 

616
00:30:55,800 --> 00:30:58,640
I need to. 
I need to watch for not if but 

617
00:30:58,640 --> 00:31:01,560
when it goes off the rails. 
And then I need to sort of catch

618
00:31:01,560 --> 00:31:07,120
it and and put it back. 
And also I need to spot when 

619
00:31:07,720 --> 00:31:10,680
when there are certain 
assumptions of mine that don't 

620
00:31:10,680 --> 00:31:14,040
hold or or certain aspects that 
I had overlooked at where I need

621
00:31:14,040 --> 00:31:15,760
to say stop. 
We need to figure this out 

622
00:31:15,760 --> 00:31:19,560
before we go further. 
So that's, that's just still an 

623
00:31:19,560 --> 00:31:21,280
integral part of the entire 
process. 

624
00:31:21,480 --> 00:31:24,040
So of course, yes, that's still 
very much agile, right? 

625
00:31:24,040 --> 00:31:28,200
You, you iterate yourself 
towards a good solution because 

626
00:31:28,200 --> 00:31:31,360
you will, you just, you will 
miss something initially. 

627
00:31:31,440 --> 00:31:33,200
You just will. 
Let's face it. 

628
00:31:34,040 --> 00:31:37,680
Well, and that's, that's a huge 
problem I have with a lot of, a 

629
00:31:37,680 --> 00:31:41,480
lot of. 
And so if, if you've been what 

630
00:31:41,480 --> 00:31:43,680
I've done, what I'm doing, which
is like, I'm going to go watch 

631
00:31:43,680 --> 00:31:46,280
some, some Youtubers and see how
they're doing all this stuff. 

632
00:31:46,280 --> 00:31:50,840
And like the, the, the YouTube 
hype about set it and forget it 

633
00:31:51,200 --> 00:31:53,280
is all waterfall. 
It's all waterfall. 

634
00:31:53,280 --> 00:31:56,360
It is all, everything's planned 
intricately upfront. 

635
00:31:56,360 --> 00:31:59,360
And then you just, you want to 
get the human out of the loop. 

636
00:31:59,360 --> 00:32:01,600
You just want the AI to do all 
of the work. 

637
00:32:01,600 --> 00:32:03,520
There's no human loop. 
That's how you get the most 

638
00:32:03,520 --> 00:32:05,760
speed and efficiency for your 
engineering effort. 

639
00:32:05,760 --> 00:32:09,360
I'm just like, I you can't. 
And I've, I've been hounding my 

640
00:32:09,360 --> 00:32:13,000
team for years. 
You can't know the entire 

641
00:32:13,000 --> 00:32:15,200
problem space before you start 
writing code. 

642
00:32:15,400 --> 00:32:18,080
You have to explore. 
That's the whole point. 

643
00:32:18,080 --> 00:32:20,840
That's the whole point of dev 
dev SEC opposite extreme 

644
00:32:20,840 --> 00:32:22,520
programming, agile. 
That's the whole point. 

645
00:32:22,640 --> 00:32:26,400
You can't know the whole problem
space before you start testing 

646
00:32:26,400 --> 00:32:30,440
it and start playing with it. 
And so like to see them like, 

647
00:32:30,440 --> 00:32:32,160
Yep, I'm just going to go and 
I'm just going to. 

648
00:32:32,280 --> 00:32:33,520
Everything is perfectly laid 
out. 

649
00:32:33,520 --> 00:32:36,160
And then we just hit the domino 
and then it's over and I'm like,

650
00:32:39,440 --> 00:32:42,480
no. 
And the interesting thing is 

651
00:32:42,480 --> 00:32:45,120
that that iterative process is 
the right way to go. 

652
00:32:45,120 --> 00:32:50,200
But the way in which they are 
designing the Agents MCP servers

653
00:32:50,320 --> 00:32:54,600
and these models is to try to 
just go, yeah, with little to no

654
00:32:54,600 --> 00:32:57,200
human interaction, which I 
actually, I'll be honest, it 

655
00:32:57,200 --> 00:32:59,680
drives me crazy. 
One of the one of my most 

656
00:33:00,120 --> 00:33:03,960
probably one of the one of the 
things I type in the most is do 

657
00:33:04,000 --> 00:33:09,040
this one thing and then stop for
review or the next second prompt

658
00:33:09,040 --> 00:33:12,120
is why did you keep going? 
I didn't tell you to do that. 

659
00:33:13,200 --> 00:33:15,320
Oh, I'm sorry, Let's slow down 
and go back. 

660
00:33:15,320 --> 00:33:18,760
That's like a constant like 
fighting, like, I'll say it, 

661
00:33:18,920 --> 00:33:20,840
fighting the tool essentially, 
right, but. 

662
00:33:21,560 --> 00:33:23,880
Yeah, I think it's sort of it's 
sort of two sided. 

663
00:33:23,920 --> 00:33:26,360
I think, you know, they are 
DPTS, they are generative, they 

664
00:33:26,360 --> 00:33:29,560
want to generate this is like 
the the whole world purpose of 

665
00:33:29,560 --> 00:33:32,240
life. 
But also, I think, I think they 

666
00:33:32,240 --> 00:33:38,040
are just trained by, you know, 
the manufacturers to be biased 

667
00:33:38,040 --> 00:33:39,880
for generation because that 
looks cool, right? 

668
00:33:40,200 --> 00:33:42,600
Oh, it can do an entire thing in
one go. 

669
00:33:43,160 --> 00:33:46,920
You know that that looks really,
really impressive until you, you

670
00:33:46,920 --> 00:33:49,560
know, peel back a couple of 
layers and you see that it's 

671
00:33:49,560 --> 00:33:51,400
really not good. 
And, you know, I, Jacob, I've 

672
00:33:51,400 --> 00:33:54,240
had the same experience as you. 
I say fight, let's do a TDD 

673
00:33:54,240 --> 00:33:56,120
workflow. 
This is how I want it done. 

674
00:33:56,360 --> 00:33:58,520
And then I say, oh, it's 
implementing it. 

675
00:33:58,520 --> 00:34:01,320
There is no tests yet. 
And then I stop it and and then 

676
00:34:01,320 --> 00:34:06,240
I ask it, please tell me what is
what is our agreed process? 

677
00:34:08,040 --> 00:34:10,360
Oh yes, that's right. 
I should have used TDD and I 

678
00:34:10,360 --> 00:34:10,800
didn't. 
Oh. 

679
00:34:11,239 --> 00:34:13,280
My God, it's like, it's like 
parenting. 

680
00:34:13,320 --> 00:34:16,440
You go to your kids, you're 
like, OK, tell me what I just 

681
00:34:16,440 --> 00:34:18,040
told you. 
Yeah. 

682
00:34:18,400 --> 00:34:20,560
Yeah, it doesn't. 
It doesn't just happen 

683
00:34:20,560 --> 00:34:22,280
sometimes. 
It happens a couple of times a 

684
00:34:22,280 --> 00:34:24,719
day. 
It's like you idiot, you should 

685
00:34:24,719 --> 00:34:27,320
have known better. 
I'll create a I'm. 

686
00:34:27,560 --> 00:34:30,840
Sorry. 
I'll create a skill that 

687
00:34:30,840 --> 00:34:33,840
outlines exactly how, like I 
want, you know, a diagram or for

688
00:34:33,840 --> 00:34:36,800
some piece of code to be written
and it's supposed to invoke that

689
00:34:36,800 --> 00:34:39,639
skill or the agent that I wrote 
when this specific thing comes 

690
00:34:39,639 --> 00:34:41,120
up and it'll go through a whole 
process. 

691
00:34:41,120 --> 00:34:43,280
And then I'll be like, why 
didn't you use my agent? 

692
00:34:43,320 --> 00:34:45,320
Did you look at my skill? 
No, sorry. 

693
00:34:45,320 --> 00:34:46,400
Why don't we go back and redo 
it? 

694
00:34:46,639 --> 00:34:49,440
Yes. 
So I mean, you see that happen 

695
00:34:49,440 --> 00:34:52,520
all the time. 
So, and I've even gone into and 

696
00:34:52,520 --> 00:34:55,159
I specifically said do this, 
this, this and this. 

697
00:34:55,639 --> 00:34:59,000
And then it goes and does and it
either it it'll even read the 

698
00:34:59,000 --> 00:35:03,440
skill and then not use it or 
it'll use part of it like and 

699
00:35:03,440 --> 00:35:06,560
it's like, OK, all right, so 
then I'll tell it, then I'll 

700
00:35:06,560 --> 00:35:07,920
stop it. 
And I say, hey, hold on. 

701
00:35:08,160 --> 00:35:10,280
I noticed that you didn't use 
the skill here. 

702
00:35:10,760 --> 00:35:12,720
Why didn't you use the skill 
here? 

703
00:35:13,000 --> 00:35:14,400
And then it says, oh, I should 
have. 

704
00:35:14,400 --> 00:35:15,600
I'm like, I get that you should 
have. 

705
00:35:15,600 --> 00:35:18,480
And then I'll say, how can I 
have prompted you? 

706
00:35:18,480 --> 00:35:21,160
Better tell me what I could have
prompted you with that would 

707
00:35:21,160 --> 00:35:23,560
have made you use the skill. 
And it will literally tell me 

708
00:35:23,720 --> 00:35:25,360
you did the right thing, it was 
my fault. 

709
00:35:25,360 --> 00:35:32,680
I'm like. 
Yeah, but they said, you know, I

710
00:35:32,680 --> 00:35:35,800
see this also sometimes, like 
you see what lines of file they 

711
00:35:35,800 --> 00:35:37,800
read, right? 
They say, oh, I've been really 

712
00:35:37,800 --> 00:35:42,800
like from line 100 to 220, I see
them really part of a skill. 

713
00:35:42,800 --> 00:35:45,480
It's like, I get why they do it,
conserve tokens right? 

714
00:35:45,960 --> 00:35:49,000
But this is the entire 
description of my process that I

715
00:35:49,000 --> 00:35:51,640
asked you to follow. 
Why are you only reading the 

716
00:35:51,640 --> 00:35:54,160
middle part? 
What? 

717
00:35:56,400 --> 00:35:59,280
So. 
So, but let's let's maybe let's 

718
00:35:59,280 --> 00:36:05,120
go back to to what we observed. 
Like I remember also when I did 

719
00:36:05,120 --> 00:36:07,440
a training and I'm really 
curious whether you've seen 

720
00:36:08,600 --> 00:36:12,400
other variations of that Jacob, 
where we where we did sort of a 

721
00:36:12,560 --> 00:36:15,200
big final project. 
We, we spent a couple of days 

722
00:36:15,600 --> 00:36:18,160
learning about how to use AI, 
how to write specifications and 

723
00:36:18,160 --> 00:36:20,680
so on and so forth. 
And we said, fine, now we're 

724
00:36:20,680 --> 00:36:22,240
going to implement an actual 
feature. 

725
00:36:22,800 --> 00:36:25,720
And it is so interesting to 
watch those people who, who were

726
00:36:25,720 --> 00:36:28,120
all, you know, competent 
software engineers had been 

727
00:36:28,120 --> 00:36:31,000
doing this for decades in some 
cases. 

728
00:36:31,480 --> 00:36:35,200
And they were sort of 
interestingly timid with AI. 

729
00:36:35,200 --> 00:36:38,560
Like, OK, not so much what now? 
I think they had a pretty good 

730
00:36:38,560 --> 00:36:40,200
idea of what they were supposed 
to do now. 

731
00:36:40,200 --> 00:36:43,040
But then what is that? 
Is that the right way of doing 

732
00:36:43,040 --> 00:36:45,680
it? 
Like should I follow the AI? 

733
00:36:45,680 --> 00:36:48,800
Shouldn't I follow the AI? 
In fact, that's maybe one of the

734
00:36:48,800 --> 00:36:52,880
things that I noticed the most 
that I would have stopped a lot 

735
00:36:52,880 --> 00:36:54,640
earlier and said, no, no, this 
is a terrible idea. 

736
00:36:54,640 --> 00:36:58,320
No, no, no, you did this wrong. 
But they sort of kept accepting 

737
00:36:58,320 --> 00:37:02,920
the AI as suggestions that 
noticeably went the wrong way. 

738
00:37:03,320 --> 00:37:08,560
So I, I think there is a lot of 
experience in, you know, in, in,

739
00:37:08,560 --> 00:37:10,760
in reading where it goes. 
Yeah. 

740
00:37:11,320 --> 00:37:14,800
And that's, that's where I have 
a fear of people using AI, not 

741
00:37:14,800 --> 00:37:16,320
using their critical thinking 
skills, right. 

742
00:37:16,440 --> 00:37:20,680
They just the machine output it 
and they kind of say, well, I 

743
00:37:20,680 --> 00:37:23,160
mean, this tool is trained on 
all this knowledge. 

744
00:37:23,160 --> 00:37:26,880
Maybe, maybe it knows better 
than I do, right? 

745
00:37:26,880 --> 00:37:29,920
And so you just kind of accept 
it and then you just accept it. 

746
00:37:30,720 --> 00:37:33,280
Stack Overflow just saying 
exactly exactly. 

747
00:37:34,760 --> 00:37:38,360
All of that was downvoted. 
Like why is the first response 

748
00:37:38,360 --> 00:37:40,320
downvoted? 
I don't understand. 

749
00:37:41,960 --> 00:37:45,760
So, but I've I've seen the exact
same thing and I'll be honest, I

750
00:37:45,760 --> 00:37:48,480
saw myself kind of earlier on 
when I was experimenting, maybe 

751
00:37:48,480 --> 00:37:50,960
even doing the exact same thing.
And I literally had to stop 

752
00:37:50,960 --> 00:37:52,840
myself and say, wait a second 
here. 

753
00:37:52,840 --> 00:37:55,720
I'm the expert at doing this. 
I've been doing this for, you 

754
00:37:55,720 --> 00:37:58,240
know, a long time. 
Would I do it like this? 

755
00:37:58,360 --> 00:38:01,200
No, and you really have to kind 
of stop yourself and say this is

756
00:38:01,200 --> 00:38:02,040
a tool. 
I think. 

757
00:38:02,360 --> 00:38:04,600
And you know, anyone who is 
starting to use it, don't just 

758
00:38:04,600 --> 00:38:07,120
accept it. 
Literally push back, right, 

759
00:38:07,880 --> 00:38:11,200
because a lot of times it is 
going to it will lead you, I 

760
00:38:11,200 --> 00:38:12,680
think, down. 
I don't want, I won't say it 

761
00:38:12,680 --> 00:38:15,040
will, but I mean, it's going to 
go in directions that you 

762
00:38:15,040 --> 00:38:17,440
probably shouldn't be going 
because it doesn't know any 

763
00:38:17,440 --> 00:38:20,360
better and it doesn't have 
access, especially for embedded 

764
00:38:20,360 --> 00:38:22,440
systems. 
It hasn't been trained on, you 

765
00:38:22,440 --> 00:38:26,360
know, good techniques that are 
honestly proprietary, right? 

766
00:38:26,560 --> 00:38:29,200
You know, you don't have medical
devices that are safety critical

767
00:38:29,200 --> 00:38:32,240
that are open sourced or, you 
know, those types of processes 

768
00:38:32,240 --> 00:38:35,960
may be fully that I've been 
released or, you know, whatever 

769
00:38:35,960 --> 00:38:37,720
it may be. 
So, you know, like you said, 

770
00:38:37,720 --> 00:38:41,200
Stack Overflow open source 
projects, which I don't want to,

771
00:38:41,280 --> 00:38:44,080
you know, upset the open source 
community, but you know, some 

772
00:38:44,080 --> 00:38:46,520
projects are kind of it's. 
All trash code everywhere. 

773
00:38:48,440 --> 00:38:50,800
But as I as I've told my 
employees many times, yeah, 

774
00:38:51,040 --> 00:38:52,520
that's all code is trash code 
that's. 

775
00:38:52,560 --> 00:38:58,040
Just how it works, by the way, 
silence when you know, when in 

776
00:38:58,040 --> 00:39:01,120
the, in the last, in the last 
code training that I gave, we, 

777
00:39:01,160 --> 00:39:03,360
you know, we generated the 
sensor driver, right? 

778
00:39:03,600 --> 00:39:05,520
And it worked and it was all 
fine. 

779
00:39:05,520 --> 00:39:08,400
And we even fixed the timing. 
So it was nice and robust. 

780
00:39:09,000 --> 00:39:11,200
And then I said, fine, let's 
review the code. 

781
00:39:11,520 --> 00:39:13,720
What's it look like? 
And it was sort of, it looked 

782
00:39:13,720 --> 00:39:15,600
kind of fine. 
Like everybody looked at it and 

783
00:39:15,600 --> 00:39:19,480
say, yeah, it's, it's, it's OK. 
And then I OK, fine. 

784
00:39:19,480 --> 00:39:22,240
How, how will you, how will you 
test this? 

785
00:39:22,760 --> 00:39:25,520
Like we, we didn't get any tests
because we didn't ask for any 

786
00:39:25,520 --> 00:39:28,360
tests. 
But like, how were we to test 

787
00:39:28,360 --> 00:39:30,920
this? 
And they looked at it and said, 

788
00:39:30,920 --> 00:39:32,760
well, it's essentially 
untestable. 

789
00:39:32,920 --> 00:39:35,040
Like this is, this is classic 
video code. 

790
00:39:35,040 --> 00:39:38,720
There's there's like a big old 
main function and that's it. 

791
00:39:39,080 --> 00:39:42,560
That's it. 
Yeah. 

792
00:39:44,280 --> 00:39:47,160
So that was really interesting 
that essentially to your point, 

793
00:39:47,160 --> 00:39:49,280
Jacob, right. 
This is this is the kind of code

794
00:39:49,280 --> 00:39:53,360
you see on the Internet, people 
who get it going and and it and 

795
00:39:53,360 --> 00:39:58,600
it kind of works, but like 
professional grade code is just 

796
00:39:58,600 --> 00:40:01,240
not. 
I mean, have you have you ever 

797
00:40:01,240 --> 00:40:02,720
read the source code for 
Wikipedia? 

798
00:40:02,720 --> 00:40:05,560
I just, I don't want to disagree
with you, but like. 

799
00:40:07,800 --> 00:40:11,200
Having having been a person who 
made a copy of the Wikipedia's 

800
00:40:11,200 --> 00:40:14,840
horoscope so we could host it 
locally and then add add stuff 

801
00:40:14,840 --> 00:40:18,320
to it, wow. 
Wow, that's professional grade 

802
00:40:18,320 --> 00:40:25,720
right there. 
They they get whoever they can 

803
00:40:25,720 --> 00:40:28,960
get to update. 
That is the Wikipedia stuff. 

804
00:40:29,360 --> 00:40:33,160
And it's holding the world's 
information like the the whole 

805
00:40:33,240 --> 00:40:36,680
history of humankind like and 
the universe. 

806
00:40:37,800 --> 00:40:41,360
Oh, absolutely, yeah. 
And, and, and anyone who is 

807
00:40:41,360 --> 00:40:44,360
interested in using AI in 
embedded systems, I mean, what 

808
00:40:44,440 --> 00:40:46,480
you know, from some of this 
discussion, one of the things 

809
00:40:46,480 --> 00:40:49,920
that I've, I've done personally 
is, you know, and, and I, I can 

810
00:40:49,920 --> 00:40:51,360
cheat a little bit because I'm a
consultant. 

811
00:40:51,360 --> 00:40:53,240
And so I, I have lots of 
templates and a lot of 

812
00:40:53,240 --> 00:40:56,160
production grade code that I 
write just for myself or as part

813
00:40:56,160 --> 00:40:57,840
of my training to show people, 
right? 

814
00:40:58,200 --> 00:41:01,880
And so a lot of times I will try
to include those examples as 

815
00:41:01,880 --> 00:41:04,960
part of the skills or the, the 
agents that I'm, I'm building or

816
00:41:04,960 --> 00:41:08,840
even some of the MPCMCP servers 
or I'll build static analysis in

817
00:41:08,840 --> 00:41:11,360
and the things that I find 
important, like, Hey, I want 

818
00:41:11,360 --> 00:41:14,000
functions written so that 
cyclomatic complexity is, you 

819
00:41:14,000 --> 00:41:15,800
know, 10 or less generally, 
right? 

820
00:41:15,800 --> 00:41:19,000
Or 15 or less, you know, pick 
whatever your own rule of thumb 

821
00:41:19,000 --> 00:41:21,000
is there. 
And I try to make sure that 

822
00:41:21,000 --> 00:41:22,000
those types of things are built 
in. 

823
00:41:22,000 --> 00:41:24,200
Now that does that, does that 
improve the code? 

824
00:41:24,320 --> 00:41:25,800
Yes. 
Does it mean it generates 

825
00:41:26,200 --> 00:41:28,040
perfect code the way I would? 
No. 

826
00:41:28,480 --> 00:41:31,040
Many times it still ignores the 
stuff that I give it. 

827
00:41:31,200 --> 00:41:34,600
So in many cases, you know, 
using your traditional tools, 

828
00:41:34,600 --> 00:41:37,480
static analysis tools, writing 
your own scripts, things like 

829
00:41:37,480 --> 00:41:40,800
that, that ends up being a 
pretty good use case for, you 

830
00:41:40,800 --> 00:41:42,280
know, for improving the 
robustness. 

831
00:41:42,880 --> 00:41:45,200
And, and honestly, we didn't 
talk about this before, So I, I 

832
00:41:45,200 --> 00:41:47,640
don't know if I'm going to go 
off the rails here, but one, one

833
00:41:47,640 --> 00:41:51,360
of the, one of the techniques I 
use AI for the most, to be 

834
00:41:51,360 --> 00:41:54,640
honest, it's not to write the 
code or generate the code for 

835
00:41:54,640 --> 00:41:57,320
me. 
It's to develop tools that 

836
00:41:57,320 --> 00:41:59,200
support my development 
processes. 

837
00:41:59,360 --> 00:42:01,760
And so I don't need a tool 
that's production grade 

838
00:42:01,760 --> 00:42:03,520
necessarily because I'm not 
releasing it. 

839
00:42:03,760 --> 00:42:08,040
But I might, you know, write 
scripts or support software or, 

840
00:42:08,360 --> 00:42:10,360
you know, configurators or 
things like that, that help 

841
00:42:10,360 --> 00:42:13,000
support my normal workflow of 
developing systems. 

842
00:42:13,000 --> 00:42:16,200
And so a lot of times with what 
I'm working on, I'm not I, you 

843
00:42:16,200 --> 00:42:18,440
know, I'm for like a customer, 
I'm not going to generate AI 

844
00:42:18,440 --> 00:42:20,520
code for that. 
Maybe my own personal projects, 

845
00:42:20,520 --> 00:42:22,720
I'll use AI to generate code to 
understand it. 

846
00:42:22,720 --> 00:42:25,480
But you know, for production 
systems, yeah, I am using AI to 

847
00:42:25,480 --> 00:42:27,680
generate tools that I'm using to
accelerate the the way I develop

848
00:42:27,680 --> 00:42:29,600
systems. 
And so I thought I'd just share 

849
00:42:29,600 --> 00:42:31,360
that with you guys in case. 
Well and probably our 

850
00:42:31,360 --> 00:42:33,840
conversations, people are 
scaried or shying away from AI. 

851
00:42:33,840 --> 00:42:36,760
Well, there are other use cases,
you know, as part of our 

852
00:42:36,760 --> 00:42:39,720
workflow to leverage these. 
Tools This is exactly where I I 

853
00:42:39,720 --> 00:42:42,600
was thinking about going next is
like, OK, so now we've had our 

854
00:42:42,600 --> 00:42:45,440
little gals humor and like it 
was funny and it didn't work and

855
00:42:45,480 --> 00:42:48,000
you know, and we're struggling 
to get it and it's like, oh, 

856
00:42:48,000 --> 00:42:48,840
we're generating the wrong 
thing. 

857
00:42:48,840 --> 00:42:52,680
It's not right. 
And it's like, so how do you go 

858
00:42:52,680 --> 00:42:56,320
to someone who's skeptical and 
saying like, hey, AI is not for 

859
00:42:56,320 --> 00:42:58,360
embedded systems development 
does has no place here. 

860
00:42:58,360 --> 00:43:00,760
Get this out of my face. 
Like I'm a grown up. 

861
00:43:01,200 --> 00:43:03,240
I'm I know what I'm doing. 
I don't need this. 

862
00:43:03,480 --> 00:43:06,800
Like how do you go based on your
experience and based on your 

863
00:43:06,800 --> 00:43:08,680
training and everything, how do 
you go to somebody and say like,

864
00:43:08,680 --> 00:43:15,680
OK, yeah, I hear you, but. 
I mean, you, you, I honestly 

865
00:43:15,680 --> 00:43:18,160
think you have to have examples 
in the data to back it up. 

866
00:43:18,240 --> 00:43:20,720
You know, one of my philosophies
with the bad systems is data 

867
00:43:20,720 --> 00:43:23,200
dictates design for the 
architecture always gets me in 

868
00:43:23,200 --> 00:43:25,120
trouble because embedded 
engineers don't like that 

869
00:43:25,160 --> 00:43:28,680
philosophy. 
But it's one that has worked 

870
00:43:28,680 --> 00:43:31,560
extraordinarily well for me to 
architect systems that are 

871
00:43:31,560 --> 00:43:34,560
scalable. 
And so I think when people come,

872
00:43:34,680 --> 00:43:36,360
you know, kind of say, well, AI 
doesn't belong here. 

873
00:43:36,360 --> 00:43:39,720
You have to give the examples of
what you've used it for and how 

874
00:43:39,720 --> 00:43:42,800
it is accelerated development. 
I have a colleague on LinkedIn 

875
00:43:42,800 --> 00:43:45,200
who I've been doing some AI 
posts and. 

876
00:43:45,200 --> 00:43:47,640
And he, he, he said he was 
disappointed in me and that I'm 

877
00:43:47,640 --> 00:43:51,040
going downhill. 
I was talking about it. 

878
00:43:51,040 --> 00:43:52,920
Unsubscribe. 
Yeah. 

879
00:43:53,320 --> 00:43:54,800
And it was like, I was like, oh,
that hurts. 

880
00:43:54,800 --> 00:43:56,480
But then it was kind of like the
push back up. 

881
00:43:56,480 --> 00:43:59,520
Well, if I'm not exploring these
tools, I'm going to become 

882
00:43:59,520 --> 00:44:03,520
irrelevant in a year or two 
because at some point this is, 

883
00:44:03,520 --> 00:44:06,600
you know, these tools are, you 
know, we're in the embedded 

884
00:44:06,600 --> 00:44:08,600
system space, we are in a little
bubble, right? 

885
00:44:08,880 --> 00:44:11,280
We kind of believe we're special
compared to the rest of the 

886
00:44:11,280 --> 00:44:13,880
software engineering world 
because we talked to hardware, 

887
00:44:14,240 --> 00:44:17,560
we work with hardware, but it's 
been proven over and over again 

888
00:44:17,560 --> 00:44:20,200
that whatever's happening in the
rest of the, you know, the rest 

889
00:44:20,200 --> 00:44:22,280
of the software industry, that 
comes to us in within three to 

890
00:44:22,280 --> 00:44:24,840
five years. 
And so these tools will be used 

891
00:44:24,840 --> 00:44:27,080
on a daily basis to develop 
embedded systems. 

892
00:44:27,640 --> 00:44:31,120
I, I've seen people tying the 
entire workflow together where 

893
00:44:31,120 --> 00:44:34,280
they can do a full debug process
on chip using AI, you know, 

894
00:44:34,280 --> 00:44:38,000
accessing GDB and, you know, 
pulling serial data off of 

895
00:44:38,000 --> 00:44:39,720
systems and stuff like that. 
I've played around with some of 

896
00:44:39,720 --> 00:44:41,960
that. 
So much smarter people are going

897
00:44:41,960 --> 00:44:44,280
to build tools that make this 
stuff, you know, a little bit 

898
00:44:44,280 --> 00:44:47,240
more automated. 
But I, so I'm digressing again. 

899
00:44:47,240 --> 00:44:51,160
But ultimately you have to show 
examples of how you're using it 

900
00:44:51,720 --> 00:44:54,120
to make a difference in the way 
that you're developing systems. 

901
00:44:54,120 --> 00:44:56,720
And I think a lot of people go 
back to, oh, you're generating 

902
00:44:56,720 --> 00:44:59,200
code automatically with AI. 
And I don't necessarily know 

903
00:44:59,200 --> 00:45:02,880
that that's, you know, the full 
direction or the full agentic 

904
00:45:02,880 --> 00:45:04,360
workflow where you just like do 
everything. 

905
00:45:04,360 --> 00:45:07,080
That's not that's not the right 
use case for embedded systems. 

906
00:45:07,920 --> 00:45:10,000
At least today. 
I'll be quiet now. 

907
00:45:11,960 --> 00:45:17,280
I, I wonder though, like I, I, I
think more more open to using AI

908
00:45:17,640 --> 00:45:19,120
much more strongly also in 
embedded systems. 

909
00:45:19,400 --> 00:45:22,640
I mean, yes, you need to be 
careful about it because it will

910
00:45:22,760 --> 00:45:27,120
fall into bad habits of, you 
know, developers who don't 

911
00:45:27,400 --> 00:45:29,000
really think in terms of 
embedded systems. 

912
00:45:29,000 --> 00:45:32,840
They, you know, I don't know, 
memory allocation, real time 

913
00:45:32,840 --> 00:45:36,640
issues or whatever, but still it
is, you know, it is a force 

914
00:45:36,640 --> 00:45:40,280
multiplier. 
It will still make me better and

915
00:45:40,360 --> 00:45:44,320
I still absolutely use it to 
generate code after I've written

916
00:45:44,320 --> 00:45:48,400
a bunch of tests etcetera. 
But I think people who are 

917
00:45:48,400 --> 00:45:51,200
sceptical towards AI come from 
exactly that direction where 

918
00:45:51,200 --> 00:45:53,520
they think, well, it's just a 
fancy code completion tool 

919
00:45:53,920 --> 00:45:58,280
because also this is what ID ES 
tend to make it look like. 

920
00:45:59,000 --> 00:46:03,920
I I'm increasingly convinced 
that IDE plug insurance for AI 

921
00:46:03,920 --> 00:46:07,800
are a bad idea because they they
bring you to the level of code 

922
00:46:07,800 --> 00:46:09,720
where you don't want to be. 
You want to stay on a more 

923
00:46:09,720 --> 00:46:12,960
conceptual level. 
So you shouldn't be in a code 

924
00:46:12,960 --> 00:46:15,720
editor type application for 
that. 

925
00:46:16,800 --> 00:46:19,040
And so what's? 
I just see you like you open 

926
00:46:19,040 --> 00:46:20,400
Excel and that's what you're 
using. 

927
00:46:20,400 --> 00:46:23,680
You're using Excel to write the 
code and your AI is in Excel and

928
00:46:23,680 --> 00:46:25,240
then it generates. 
It was like, no, no, no, no, 

929
00:46:25,240 --> 00:46:27,960
we're not we're not doing, we're
not doing code anymore. 

930
00:46:28,880 --> 00:46:32,000
I. 
Literally open up a terminal and

931
00:46:32,040 --> 00:46:34,640
you know I might open it in VS 
Code or Sublime Text or 

932
00:46:34,640 --> 00:46:36,760
something if I want to review 
files, but I literally work out 

933
00:46:36,760 --> 00:46:38,960
of a terminal for all my. 
Oh yeah, all my work. 

934
00:46:39,200 --> 00:46:41,640
So exactly. 
And I do not want that to be 

935
00:46:41,640 --> 00:46:45,800
like the same window because 
it's mixing two different levels

936
00:46:45,800 --> 00:46:48,800
of of thinking about the problem
for me. 

937
00:46:48,800 --> 00:46:54,560
And yeah, so but people who 
reject AI very frequently have 

938
00:46:54,560 --> 00:46:58,520
just seen sort of this bad 
example of well, it's, it's a 

939
00:46:58,520 --> 00:47:01,440
code completion tool and they 
say, well, you know, as you said

940
00:47:01,440 --> 00:47:02,760
before, typing is not the hard 
part. 

941
00:47:02,760 --> 00:47:06,160
So let me let me just continue 
to type the line by myself. 

942
00:47:06,560 --> 00:47:11,080
Yeah, but if you use it removed 
from that and you really use it 

943
00:47:11,120 --> 00:47:15,080
to work on the code and in the 
code and generate entire like 

944
00:47:15,160 --> 00:47:18,400
files for you, well, it's still 
firmly under your control. 

945
00:47:19,320 --> 00:47:21,840
Then I think they start to see, 
OK, fine. 

946
00:47:21,840 --> 00:47:24,920
This actually is materially 
different from how I've been 

947
00:47:24,920 --> 00:47:28,320
using it before or how I've been
writing software before. 

948
00:47:28,760 --> 00:47:34,000
And I can I can see the point 
that that tends to be what what 

949
00:47:34,000 --> 00:47:36,160
has happened in practice today. 
They say, well, code completion 

950
00:47:36,160 --> 00:47:38,000
is not interesting. 
Well then let's not do code 

951
00:47:38,000 --> 00:47:40,800
completion. 
And one of the things I would, I

952
00:47:40,800 --> 00:47:43,160
would actually encourage folks, 
if you are skeptical of using 

953
00:47:43,200 --> 00:47:47,000
AI, keep the skepticalness 
because as you start to use the 

954
00:47:47,000 --> 00:47:49,440
tool, you want to be skeptical 
of what it's generating, how 

955
00:47:49,440 --> 00:47:51,920
it's generating it, the process 
it's following, and you want to 

956
00:47:51,920 --> 00:47:54,760
push back really hard on it. 
So we don't want the 

957
00:47:54,760 --> 00:47:57,000
skepticalness to go away and end
up with a bunch of people who 

958
00:47:57,000 --> 00:47:59,040
are just, you know, loving 
whatever AI outputs. 

959
00:47:59,040 --> 00:48:01,320
Oh my God. 
That engineering head first into

960
00:48:01,320 --> 00:48:03,560
a pool that the AI built for 
you, and then you didn't 

961
00:48:03,560 --> 00:48:06,360
actually tell exactly what to 
make the material out of the 

962
00:48:06,360 --> 00:48:07,640
bottom and how deep you want it 
to be. 

963
00:48:07,640 --> 00:48:10,720
Or you did tell it how deep you 
wanted it to be, but it decided 

964
00:48:10,720 --> 00:48:12,320
that you were using inches 
instead of feet. 

965
00:48:12,320 --> 00:48:19,200
Like so do not dive head first 
into a pool made by AI. 

966
00:48:19,520 --> 00:48:23,560
Examine it before you do. 
Keep your skepticism and keep 

967
00:48:23,560 --> 00:48:26,040
your engineering brain. 
I think there's, there's a lot 

968
00:48:26,040 --> 00:48:28,320
of of concern out there that 
we're going to lose our 

969
00:48:28,320 --> 00:48:30,840
engineering brains. 
It's like, no, you definitely 

970
00:48:30,840 --> 00:48:32,360
need to keep using your 
engineering brain. 

971
00:48:32,360 --> 00:48:36,440
Like that's not going away. 
And it and it can't enhance it. 

972
00:48:36,520 --> 00:48:39,000
I mean, think about using AI for
code reviews. 

973
00:48:39,560 --> 00:48:42,240
I mean, it not in a way where 
you just kind of let it go all 

974
00:48:42,240 --> 00:48:43,720
on its own. 
Like I see some of the stuff 

975
00:48:43,720 --> 00:48:46,360
some of the get tools doing, but
you know, you sit down and you 

976
00:48:46,360 --> 00:48:49,520
ask it to review something and 
it says, oh, we found this. 

977
00:48:49,520 --> 00:48:52,280
Or, you know, have it explain 
something in the code that you 

978
00:48:52,280 --> 00:48:54,360
maybe don't understand what on 
earth it's doing. 

979
00:48:54,800 --> 00:48:58,480
I have found that those types of
analysis do kind of produce 

980
00:48:58,720 --> 00:49:02,720
benefits that help you learn and
and become a better coder. 

981
00:49:03,240 --> 00:49:06,520
Or a better program, just find 
stuff that you missed. 

982
00:49:07,120 --> 00:49:08,480
Yeah, exactly. 
I mean, we're human. 

983
00:49:08,600 --> 00:49:12,680
Be greater equal and you put 
greater greater than yeah, 

984
00:49:13,160 --> 00:49:15,480
happens to all of us and it's 
posted it fantastic you. 

985
00:49:15,640 --> 00:49:18,200
Used a single equal sign instead
of a double equal sign. 

986
00:49:18,840 --> 00:49:21,480
I, I did it this week. 
This week I did it and I was, I 

987
00:49:21,480 --> 00:49:24,040
was kicking myself. 
I was like, Oh my God, you know,

988
00:49:24,200 --> 00:49:27,080
like how did I get that 
conditional wrong? 

989
00:49:27,120 --> 00:49:30,480
Well, we're, we're human, right?
We, we, that's why pair 

990
00:49:30,480 --> 00:49:31,720
programming was such a good 
idea. 

991
00:49:31,720 --> 00:49:34,280
You put two people together and 
you know one can review the 

992
00:49:34,280 --> 00:49:36,120
other work, you know other 
person's work as you're coding. 

993
00:49:36,120 --> 00:49:38,280
That's kind of what a 
interesting role could be, 

994
00:49:38,480 --> 00:49:39,040
right? 
Yeah. 

995
00:49:39,200 --> 00:49:40,560
Oh, yes. 
I don't have to share my yeah, I

996
00:49:40,560 --> 00:49:42,360
don't have to share my keyboard 
with the AI. 

997
00:49:42,480 --> 00:49:46,640
You're absolutely right. 
That, that is so interesting 

998
00:49:46,640 --> 00:49:49,600
that you say that because that 
is exactly what I teach people 

999
00:49:49,600 --> 00:49:52,440
in my, in my classes that, you 
know, essentially you're doing 

1000
00:49:52,440 --> 00:49:55,040
pair programming, but in 
traditional pair programming, 

1001
00:49:55,040 --> 00:49:57,200
you, you switch roles every now 
and then, you know, but the 

1002
00:49:57,200 --> 00:49:59,960
frankly, one person drives and 
the other person reads them up. 

1003
00:50:00,320 --> 00:50:02,840
And with AI, you're always the 
person who reads them up. 

1004
00:50:03,600 --> 00:50:06,240
But other than that, this is 
exactly the kind of interaction 

1005
00:50:06,240 --> 00:50:09,720
you have, the kind of workshop 
you have and, and you don't get 

1006
00:50:09,720 --> 00:50:12,120
to step away and. 
Drink coffee. 

1007
00:50:13,600 --> 00:50:15,960
Exactly. 
And honestly, you could, if you 

1008
00:50:15,960 --> 00:50:18,480
wanted to, you could flip roles 
where you write code and then 

1009
00:50:18,480 --> 00:50:20,920
you ask AI, hey, give me some 
feedback on this. 

1010
00:50:20,920 --> 00:50:22,160
Is this what we were trying to 
accomplish? 

1011
00:50:23,360 --> 00:50:24,920
Obviously you're going to be 
slower at writing the. 

1012
00:50:25,080 --> 00:50:26,880
I hate to admit, yeah, I'd be 
slower at writing the code 

1013
00:50:26,880 --> 00:50:29,280
probably than Claude. 
But if I have a really bad 

1014
00:50:29,280 --> 00:50:32,400
Internet connection, then I 
think I can. 

1015
00:50:32,440 --> 00:50:34,920
I think I can outdo. 
It and I'm fuck using code llama

1016
00:50:34,920 --> 00:50:36,640
like. 
Yeah. 

1017
00:50:39,360 --> 00:50:41,760
You think about it from ghosts 
like they're they're a pair of 

1018
00:50:41,760 --> 00:50:45,520
programming, but making a piece 
of pottery together and like the

1019
00:50:45,680 --> 00:50:56,640
AI is is Patrick Swayze. 
I'm kind of struggling with the 

1020
00:50:56,640 --> 00:50:59,960
metal image but. 
Yeah, yeah, yeah, I I could see 

1021
00:50:59,960 --> 00:51:01,680
that based on the look on your 
face. 

1022
00:51:01,720 --> 00:51:02,760
I'll. 
Explain to my thought. 

1023
00:51:02,760 --> 00:51:09,440
We're not of time. 
All right, Jacob Plug, give 

1024
00:51:09,440 --> 00:51:12,080
yourself some time to plug. 
You know, what is it you do? 

1025
00:51:12,080 --> 00:51:14,200
And well, we've talked about 
what it is you do, but like, you

1026
00:51:14,200 --> 00:51:16,080
know, how can people get a hold 
of you and, and what can they 

1027
00:51:16,080 --> 00:51:17,560
get from you when they talk to 
you? 

1028
00:51:18,800 --> 00:51:21,000
Oh, sure. 
So you can find me. 

1029
00:51:21,000 --> 00:51:23,600
You can find me on LinkedIn. 
You know, I think just A tag 

1030
00:51:23,600 --> 00:51:26,040
Jacob Beningo or searching that 
will probably find me. 

1031
00:51:26,040 --> 00:51:28,960
I've also got beningo.com. 
I'm going to be clear, you're, 

1032
00:51:28,960 --> 00:51:30,800
you're, you're pretty 
conservative on LinkedIn. 

1033
00:51:30,800 --> 00:51:32,560
You only post every business 
day. 

1034
00:51:33,440 --> 00:51:38,880
Yes, only every business day. 
Yes, only business every 

1035
00:51:38,880 --> 00:51:42,280
business day. 
I try to provide some, I always 

1036
00:51:42,280 --> 00:51:44,760
say tips or tricks, but really 
more and more and more it's 

1037
00:51:44,760 --> 00:51:47,240
about just kind of trying to 
make you rethink how you develop

1038
00:51:47,240 --> 00:51:49,960
embedded systems. 
And a lot of the work I do is 

1039
00:51:49,960 --> 00:51:53,640
about trying to help teams 
modernize their, their systems, 

1040
00:51:53,640 --> 00:51:55,720
their processes. 
And a lot of that comes around 

1041
00:51:55,720 --> 00:51:57,440
to like software architecture 
development. 

1042
00:51:57,440 --> 00:51:59,400
I do a lot of, a lot of 
training. 

1043
00:51:59,400 --> 00:52:02,040
I've got my embedded software 
Academy and obviously I'm, you 

1044
00:52:02,040 --> 00:52:03,440
know, we've mentioned I do some 
AI training. 

1045
00:52:03,440 --> 00:52:05,520
I've got an embedded AI course 
here that's coming up at the end

1046
00:52:05,520 --> 00:52:08,040
of April as well. 
So, but you can e-mail me at 

1047
00:52:08,040 --> 00:52:11,200
jacob@beningo.com if you've got 
questions or anything like that.

1048
00:52:11,200 --> 00:52:13,400
But you know, feel free to reach
out on LinkedIn as well. 

1049
00:52:13,400 --> 00:52:16,320
I'm, I'm pretty active on it. 
And yeah, you'll probably see 

1050
00:52:16,360 --> 00:52:19,280
definitely a few contrarian 
ideas on there compared to how 

1051
00:52:19,280 --> 00:52:21,000
we traditionally develop 
embedded systems. 

1052
00:52:21,000 --> 00:52:24,960
So, and they're designed to make
you think differently. 

1053
00:52:26,080 --> 00:52:29,680
They're not necessarily. 
You know, designed to make you 

1054
00:52:29,680 --> 00:52:31,680
happy or light check. 
They're not designed to make you

1055
00:52:31,680 --> 00:52:33,920
happy and cheery necessarily, 
just make you stop and say, hmm,

1056
00:52:34,440 --> 00:52:35,640
let me think about this for a 
little bit. 

1057
00:52:35,640 --> 00:52:36,600
That's a different way of 
thinking. 

1058
00:52:36,600 --> 00:52:38,240
About it. 
Agree with you blindly, Sir. 

1059
00:52:38,840 --> 00:52:44,800
Yes, exactly so, but all in good
fun and hopefully to improve the

1060
00:52:44,800 --> 00:52:46,080
way that we develop embedded 
systems. 

1061
00:52:46,200 --> 00:52:48,080
Awesome. 
All right. 

1062
00:52:48,160 --> 00:52:50,120
Well, thanks for chatting. 
It's been absolutely lovely. 

1063
00:52:50,920 --> 00:52:54,880
Yeah, I am and, and thank you 
listeners, for joining us for 

1064
00:52:54,880 --> 00:52:57,000
this episode. 
Hope you enjoyed it. 

1065
00:52:57,600 --> 00:52:59,800
Yeah, If you leave a comment 
down below, I don't know how 

1066
00:52:59,800 --> 00:53:01,400
does that work in podcasts, 
whatever. 

1067
00:53:01,840 --> 00:53:04,200
Reach out to us, check out our 
website. 

1068
00:53:04,200 --> 00:53:05,960
We've got some stuff. 
We're also on LinkedIn. 

1069
00:53:06,360 --> 00:53:10,760
We also troll around in the 
Agile Embedded podcast Slack 

1070
00:53:10,760 --> 00:53:12,000
channel, if you want to join 
that too. 

1071
00:53:12,000 --> 00:53:14,560
That's where we're at too. 
So yeah. 

1072
00:53:16,000 --> 00:53:17,040
Thanks. 
Thanks for the invitation. 

1073
00:53:17,040 --> 00:53:18,600
And do you mind if I add one 
more thing in? 

1074
00:53:18,680 --> 00:53:21,000
Of course I do mind. 
Wait, No, no, no, sorry, sorry. 

1075
00:53:21,000 --> 00:53:25,320
I don't mind. 
Sometimes people might want to 

1076
00:53:25,320 --> 00:53:27,080
check out too is the embedded 
online conference. 

1077
00:53:27,240 --> 00:53:29,760
That's something where we get 
together every every year. 

1078
00:53:29,760 --> 00:53:32,560
That's a very good point. 
In May, all of us are speaking 

1079
00:53:32,560 --> 00:53:36,680
at it and it's all about 
educating the embedded systems 

1080
00:53:36,680 --> 00:53:38,920
industry and engineers and 
getting together as a community 

1081
00:53:38,920 --> 00:53:42,320
and sharing ideas and learning. 
So I, I figured that's something

1082
00:53:42,320 --> 00:53:45,760
that you guys as an audience and
you know, 2 speakers of the, the

1083
00:53:45,760 --> 00:53:47,800
conference might be, you know, 
interested in sharing with you 

1084
00:53:47,800 --> 00:53:50,160
guys, so. 
Yes, thanks for the reminder. 

1085
00:53:50,800 --> 00:53:52,960
Yeah, so. 
OK. 

1086
00:53:53,320 --> 00:53:56,080
Well, this has been the Embedded
AI podcast. 

1087
00:53:56,360 --> 00:53:58,680
I am and will continue to be 
Ryan Torvik. 

1088
00:53:59,720 --> 00:54:02,280
And I'm Luca Jonni. 
Catch you guys next time, see. 

1089
00:54:03,000 --> 00:54:06,120
You. 
Hi, Luca here. 

1090
00:54:06,680 --> 00:54:09,520
I have a quick announcement. 
I've just launched one more new 

1091
00:54:09,520 --> 00:54:13,520
training platform, the Embedded 
AI Academy at Embedded AI dot 

1092
00:54:13,520 --> 00:54:15,560
Academy. 
It feels like up I've seen in 

1093
00:54:15,560 --> 00:54:18,880
the market training that 
approaches AI specifically from 

1094
00:54:18,880 --> 00:54:21,200
an embedded systems angle. 
If you're listening to this 

1095
00:54:21,200 --> 00:54:24,960
podcast, it should be right up 
your alley and you get 25% off 

1096
00:54:24,960 --> 00:54:28,280
any booking made through the end
of 2025 if you use the code 

1097
00:54:28,640 --> 00:54:32,520
Embedded AI Podcast 25 all in 
capital letters. 

1098
00:54:32,920 --> 00:54:36,560
Again, the website is at 
Embedded AI dot Academy.

