1
00:00:00,120 --> 00:00:02,680
Secure your Elixir apps with 
paraxial IO. 

2
00:00:02,880 --> 00:00:05,920
From code analysis and bot 
defense to dependency checks, 

3
00:00:05,920 --> 00:00:09,160
they've got you covered. 
Elixir first design with GitHub 

4
00:00:09,160 --> 00:00:11,600
integration. 
Elevate your security at 

5
00:00:11,600 --> 00:00:16,520
paraxial dot IO. 
Hey, I'm Kimberly with Elixir 

6
00:00:16,520 --> 00:00:20,040
mentor Jacob recently added 
recruitment services to help 

7
00:00:20,040 --> 00:00:22,240
companies hire pre vetted Elixir
devs. 

8
00:00:22,760 --> 00:00:26,000
I help with company outreach, so
if you're hiring, I may be 

9
00:00:26,000 --> 00:00:29,000
reaching out, or you can connect
with us anytime at 

10
00:00:29,000 --> 00:00:39,560
elixirmentor.com. 
Testing what's up? 

11
00:00:39,560 --> 00:00:42,320
I'm Jacob Blitzo, your Elixir 
mentor, and welcome to another 

12
00:00:42,320 --> 00:00:44,840
exciting episode of the Elixir 
Mentor Podcast. 

13
00:00:45,040 --> 00:00:47,240
This is where we discuss 
everything related to Elixir, 

14
00:00:47,240 --> 00:00:49,320
from interviews with 
enthusiasts, pioneers in the 

15
00:00:49,320 --> 00:00:52,240
community, to innovative 
projects and libraries shaping 

16
00:00:52,240 --> 00:00:55,640
Elixir's future. 
Today I'm joined by Josh Price, 

17
00:00:55,640 --> 00:00:59,440
founder and CTO of Olympic. 
You've probably heard of him 

18
00:00:59,440 --> 00:01:03,560
just being involved with ASH, 
and we're going to talk a little

19
00:01:03,560 --> 00:01:06,640
bit about a new project he's 
been working on called Clarity, 

20
00:01:06,680 --> 00:01:09,320
and probably talk about just 
building a consultancy in 

21
00:01:09,320 --> 00:01:13,560
general and who knows, maybe 
what AI means for developers. 

22
00:01:13,840 --> 00:01:17,080
I think we have a whole 
assortment of conversations, so 

23
00:01:17,080 --> 00:01:18,760
thank you so much for joining me
today. 

24
00:01:20,120 --> 00:01:22,960
No worries, Jacob. 
Great to be here. 

25
00:01:23,600 --> 00:01:25,880
Yeah, I think it's going to be a
fun conversation. 

26
00:01:25,880 --> 00:01:29,640
And for everyone joining us, I 
know this isn't our normal time,

27
00:01:29,640 --> 00:01:33,840
so thanks for tuning in. 
It's difficult to connect with 

28
00:01:33,840 --> 00:01:37,520
people from from across the the 
world, right? 

29
00:01:37,520 --> 00:01:40,880
I think you're the furthest you 
can be as far as time. 

30
00:01:41,040 --> 00:01:42,960
Zones go. 
The New Zealanders will be mad 

31
00:01:42,960 --> 00:01:46,640
that you said that, Jacob. 
Yeah, but you don't care about 

32
00:01:46,640 --> 00:01:52,720
them, do you? 
We care greatly, but we like we 

33
00:01:52,720 --> 00:01:57,080
like making fun of each other. 
Something about sheep and stuff,

34
00:01:57,080 --> 00:01:59,760
right? 
I don't know if you can go there

35
00:01:59,760 --> 00:02:03,480
man. 
I have one of my cousins is 

36
00:02:03,480 --> 00:02:06,520
married to a Kiwi so I think I'm
allowed to make fun of them a 

37
00:02:06,520 --> 00:02:07,920
little. 
Bit so you've heard the jokes. 

38
00:02:08,160 --> 00:02:10,440
Yeah, I don't. 
Know if we do those anymore? 

39
00:02:11,160 --> 00:02:14,720
You don't do them anymore. 
I don't think so, but they got a

40
00:02:14,720 --> 00:02:16,840
lot of mileage. 
That's funny. 

41
00:02:19,040 --> 00:02:22,160
Yeah. 
So to kick things off, you wanna

42
00:02:22,160 --> 00:02:26,360
kind of for those of us that 
might not know you kind of 

43
00:02:26,360 --> 00:02:29,320
explain who you are and your 
background a little bit. 

44
00:02:30,400 --> 00:02:33,200
Yeah, sure. 
So I'm Josh, if you haven't 

45
00:02:33,200 --> 00:02:37,960
figured that out already. 
I've been doing Elixir for 

46
00:02:37,960 --> 00:02:44,920
probably over 10 years, which 
is, you know, a fairly long time

47
00:02:45,480 --> 00:02:47,360
I've had. 
OG status. 

48
00:02:48,160 --> 00:02:54,360
Probably 30 years of programming
plus, no, probably 40 if you 

49
00:02:54,360 --> 00:02:58,160
count, you know, where I 
started, you know, poking 

50
00:02:58,160 --> 00:03:03,640
Commodore 60 Fours and Vic 20s 
and very early computers, Apple 

51
00:03:03,640 --> 00:03:08,800
2ES and CS. 
But yeah, I probably had three 

52
00:03:09,440 --> 00:03:12,320
decades of my career. 
Like the first one was Java, 

53
00:03:12,760 --> 00:03:16,360
second one was Ruby, and then 
the third one was definitely 

54
00:03:16,400 --> 00:03:19,560
focused on the Lixa. 
And yeah, I don't see that 

55
00:03:19,560 --> 00:03:22,840
changing. 
And it's funny that we've 

56
00:03:22,840 --> 00:03:24,840
arrived at and we can talk about
this later. 

57
00:03:25,560 --> 00:03:28,640
You know, the, the the 
Twittersphere, if we call it 

58
00:03:28,640 --> 00:03:32,480
that, I'm not calling it the new
thing is abuzz with the fact 

59
00:03:32,480 --> 00:03:35,640
that, you know, people realizing
that Elixir and Erlang and the 

60
00:03:35,640 --> 00:03:40,120
BEAM are perfect, you know, 
infrastructure for running 

61
00:03:40,120 --> 00:03:43,680
modern identic systems. 
I'm surprised that's too long to

62
00:03:43,720 --> 00:03:45,520
be honest. 
Right. 

63
00:03:46,240 --> 00:03:50,160
And then not long after I 
discovered Elixir, I was like, I

64
00:03:50,160 --> 00:03:51,800
need to start a company doing 
this. 

65
00:03:51,800 --> 00:03:55,880
And me and a buddy, James 
Sadler, who is off doing some 

66
00:03:55,880 --> 00:04:01,000
very, very deep tech these days 
doing like, what's it called? 

67
00:04:01,000 --> 00:04:03,680
He works for a company called 
Cipherstash where it's super 

68
00:04:03,680 --> 00:04:07,080
deep encryption where you can do
lots of stuff while still 

69
00:04:07,080 --> 00:04:10,520
keeping the data encrypted. 
Encryption and use is sort of 

70
00:04:10,520 --> 00:04:11,960
the thing. 
OK, nice. 

71
00:04:11,960 --> 00:04:16,680
I hear they're probably making 
some waves in the space. 

72
00:04:16,680 --> 00:04:20,120
It's pretty cool, but yeah, 
we've been doing that for like 9

73
00:04:20,120 --> 00:04:23,280
years now. 
I think it was our birthday in 

74
00:04:23,280 --> 00:04:25,240
February. 
We are very bad at celebrating 

75
00:04:25,240 --> 00:04:26,560
these things. 
Maybe we'll wait for the 10th 

76
00:04:26,560 --> 00:04:27,800
one. 
Plan that better. 

77
00:04:28,600 --> 00:04:29,640
That's awesome. 
Yeah, that's very cool. 

78
00:04:31,240 --> 00:04:33,560
It's a short history of what 
I've been doing. 

79
00:04:33,920 --> 00:04:38,040
So you started your consultancy 
after finding Elixir? 

80
00:04:39,120 --> 00:04:42,640
Right. 
So I was working at a gaming and

81
00:04:42,640 --> 00:04:49,000
betting company for my sins like
the the domain was not really my

82
00:04:49,160 --> 00:04:53,080
jam. 
But yeah, it was super 

83
00:04:53,080 --> 00:04:56,360
interesting work. 
And what it required was because

84
00:04:56,360 --> 00:04:58,640
it was very fast moving market 
data. 

85
00:04:59,120 --> 00:05:03,920
And the faster, the closer you 
got to an event, the faster and 

86
00:05:03,920 --> 00:05:06,600
the more traffic and the more 
that the data would move. 

87
00:05:07,560 --> 00:05:13,200
And so we solved that pretty 
inelegantly with basically 

88
00:05:13,200 --> 00:05:15,920
caching and refreshing every 10 
seconds. 

89
00:05:17,160 --> 00:05:19,360
It did the trick. 
It's a plus on that how you'll 

90
00:05:19,480 --> 00:05:20,000
do. 
Things. 

91
00:05:21,000 --> 00:05:24,800
I don't know. 
It's, look, it's, I think we can

92
00:05:24,800 --> 00:05:27,360
talk about this later as well as
like sometimes the dump solution

93
00:05:27,360 --> 00:05:29,920
is really brutally effective and
that worked great. 

94
00:05:29,920 --> 00:05:34,080
But you had sort of an average 
time of stale data at 5 seconds,

95
00:05:34,160 --> 00:05:37,680
which when you have really, 
really fast moving data may not 

96
00:05:37,920 --> 00:05:40,840
cut it. 
If anyone's done any trading of 

97
00:05:40,840 --> 00:05:42,880
any sort, then you know what I 
mean. 

98
00:05:43,320 --> 00:05:44,600
Yeah, for. 
Sure. 

99
00:05:44,600 --> 00:05:47,840
And so, yeah, I saw a couple of 
things in that project. 

100
00:05:49,360 --> 00:05:53,640
Not only was Node really 
expensive and, you know, AWS can

101
00:05:53,920 --> 00:05:56,520
charge you an arm and a leg and 
you need a lot of Node servers 

102
00:05:57,040 --> 00:06:01,160
to to do that kind of strategy. 
And I was like, and we also had 

103
00:06:01,160 --> 00:06:07,040
like a REST API that was I guess
artisanally handcrafted. 

104
00:06:07,680 --> 00:06:12,640
And so, you know, we saw drift 
across all kinds of different 

105
00:06:12,840 --> 00:06:14,960
parts of the system that people 
were building out. 

106
00:06:14,960 --> 00:06:18,360
Like everywhere you looked, 
every bit was different to every

107
00:06:18,360 --> 00:06:21,160
other bit, just in subtle, 
nuanced ways. 

108
00:06:22,200 --> 00:06:24,160
You just didn't have that 
consistency. 

109
00:06:24,480 --> 00:06:27,920
And so, you know, with an 
artisanally handcrafted REST 

110
00:06:28,040 --> 00:06:31,200
API, which was honestly the 
winning strategy here because we

111
00:06:31,200 --> 00:06:35,680
were wrapping old, you know, 
legacy technology that they'd 

112
00:06:35,680 --> 00:06:39,560
spent a lot of money and a lot 
of time failing to, to migrate 

113
00:06:39,560 --> 00:06:43,560
to something more modern. 
And so we kind of threw the, the

114
00:06:43,560 --> 00:06:46,560
API rug over it. 
And we were able to replace an 

115
00:06:46,560 --> 00:06:50,800
existing Flash website that a 
BIG4 consultancy had put in 

116
00:06:50,800 --> 00:06:55,360
there after Steve Jobs had said,
hey, don't, don't no flash on my

117
00:06:55,480 --> 00:06:59,000
Apple devices. 
And so they had a Flash website 

118
00:06:59,000 --> 00:07:02,560
and they had no mobile, you 
know, and that was not 

119
00:07:02,600 --> 00:07:08,000
acceptable at the time. 
So basically the API surface 

120
00:07:08,000 --> 00:07:11,240
area sort of saved us from, you 
know, the monsters underneath. 

121
00:07:11,320 --> 00:07:15,360
And we built all of this modern 
stuff that was pretty great, but

122
00:07:15,360 --> 00:07:18,640
I thought it could be better. 
And Elixir and Graph QL was sort

123
00:07:18,640 --> 00:07:21,200
of the two dimensions on which I
thought it could be better. 

124
00:07:23,720 --> 00:07:27,480
First of all, like REST APIs, 
it's HTTP One, it's request 

125
00:07:27,480 --> 00:07:30,480
response. 
So there was no way to push fast

126
00:07:30,480 --> 00:07:34,000
changing market data to the 
front end and to the user's 

127
00:07:35,040 --> 00:07:37,680
devices. 
And so you have to request. 

128
00:07:37,680 --> 00:07:40,680
And so that's why the caching 
strategy every 10 seconds worked

129
00:07:41,720 --> 00:07:44,120
so brutally well, brutally 
effective. 

130
00:07:44,120 --> 00:07:47,160
Sometimes you know you just have
to make your hacky solution and 

131
00:07:47,280 --> 00:07:48,960
no one really needs to know how 
you did it. 

132
00:07:49,720 --> 00:07:52,200
Well, exactly. 
But what I was dreaming of was 

133
00:07:52,200 --> 00:07:54,480
like, well, why aren't we 
pushing the data only when it's 

134
00:07:54,480 --> 00:07:58,680
changed? 
And so that led me down a path 

135
00:07:58,680 --> 00:08:00,120
of like, well, what do we need 
here? 

136
00:08:00,120 --> 00:08:03,240
Like web sockets would be great 
and open connections so you 

137
00:08:03,240 --> 00:08:04,800
don't have to like how do you do
push? 

138
00:08:05,720 --> 00:08:08,640
And APIs, certainly REST APIs 
didn't support it. 

139
00:08:08,640 --> 00:08:12,560
So I was looking at Graph QL, 
which at the time was pretty new

140
00:08:13,120 --> 00:08:20,440
and also had a subscription idea
and some of the spec was also 

141
00:08:20,440 --> 00:08:25,040
looking at defer and stream and 
sort of all all that kind of 

142
00:08:25,040 --> 00:08:27,640
stuff. 
How do you do you do you still 

143
00:08:27,640 --> 00:08:31,440
like graph QL today I. 
Know we use it a lot. 

144
00:08:31,640 --> 00:08:34,919
Yeah, but I'm a I'm a big fan of
it personally, but a lot of 

145
00:08:34,919 --> 00:08:39,280
people have very harsh opinions 
of it, but I think it's. 

146
00:08:40,559 --> 00:08:46,720
I was super bullish. 
I was super bullish about it and

147
00:08:46,720 --> 00:08:53,640
I think possibly over bullish. 
I think it has some problems and

148
00:08:53,640 --> 00:08:57,960
I think, you know, it's really 
picked a tool for the job and in

149
00:08:58,120 --> 00:09:01,360
it's kind of if I need an API, 
it's the first tool I would 

150
00:09:01,360 --> 00:09:03,800
reach for. 
But it's not the only tool in 

151
00:09:03,800 --> 00:09:06,000
the tool belt. 
So knowing when to use it is 

152
00:09:06,000 --> 00:09:08,320
important. 
Yeah, but I think it doesn't get

153
00:09:08,320 --> 00:09:13,320
enough airtime and credit for 
the subscription stuff which is 

154
00:09:13,320 --> 00:09:17,000
allowing push through the API, 
which changes the game in terms 

155
00:09:17,000 --> 00:09:19,680
of APIs. 
Yeah, to be able to subscribe to

156
00:09:19,680 --> 00:09:21,960
events and things is pretty 
awesome. 

157
00:09:22,920 --> 00:09:26,160
Or you know, just changes 
whatever you're subscribing to, 

158
00:09:26,160 --> 00:09:28,080
right? 
I also like just the 

159
00:09:28,080 --> 00:09:33,280
flexibility, like I feel like as
long as you have some 

160
00:09:33,280 --> 00:09:37,680
restrictions around your like 
mutations and queries, it's nice

161
00:09:37,680 --> 00:09:40,320
the flexibility you can still 
give the front end for 

162
00:09:40,440 --> 00:09:43,720
requesting data without just 
getting a bloated response, you 

163
00:09:43,720 --> 00:09:45,640
know? 
Yeah. 

164
00:09:45,640 --> 00:09:49,080
And look, there's a ton of ways 
that graph QL is just super 

165
00:09:49,080 --> 00:09:53,000
elegant. 
And, you know, the way I liked 

166
00:09:53,000 --> 00:09:55,920
to think about it and I still 
like to think about it is it's, 

167
00:09:57,200 --> 00:10:00,920
although, you know, Ash probably
changes that graph QL by itself 

168
00:10:00,920 --> 00:10:03,320
is probably a super flexible API
toolkit. 

169
00:10:03,800 --> 00:10:09,000
And you can do REST with, you 
know, a graph QL, you know, 

170
00:10:09,160 --> 00:10:12,960
graph because all you're doing 
is sort of projecting a tree and

171
00:10:12,960 --> 00:10:16,480
starting at a root node and 
projecting a static tree over 

172
00:10:16,480 --> 00:10:19,040
that. 
And think of just mounting a 

173
00:10:19,040 --> 00:10:24,960
graph QL query at an endpoint 
like a URL and you've got REST 

174
00:10:25,200 --> 00:10:28,200
and you can just define, you 
know what all the queries for 

175
00:10:28,200 --> 00:10:32,640
the things you can get. 
So you can sort of get REST 

176
00:10:33,200 --> 00:10:35,480
through graph QL, which is very 
elegant. 

177
00:10:35,520 --> 00:10:38,840
And you can have graph QL, surf 
graph QL, surf graph QL, it 

178
00:10:38,840 --> 00:10:41,840
doesn't matter where it is. 
It was, you know, a standardised

179
00:10:41,840 --> 00:10:44,720
way of, you know, describing the
world. 

180
00:10:45,160 --> 00:10:51,120
So that was 1 dimension of what 
I saw at this this company. 

181
00:10:51,680 --> 00:10:54,360
And then the other dimension was
like, OK, well, if you've got 

182
00:10:54,440 --> 00:10:59,440
open sockets, there's no way 
that node would reasonably and 

183
00:10:59,680 --> 00:11:04,480
and sort of economically 
efficiently serve that many open

184
00:11:04,480 --> 00:11:07,040
connections. 
Look, it probably could, but it 

185
00:11:07,040 --> 00:11:10,680
would cost you a lot. 
And I do recall the AWS fuels 

186
00:11:10,680 --> 00:11:15,440
being quite large. 
It's no surprise or irony that 

187
00:11:16,160 --> 00:11:21,200
my manager and buddy now runs 
AWS in Australia. 

188
00:11:22,040 --> 00:11:26,440
Oh, that's awesome. 
And so that gives you a sense of

189
00:11:26,440 --> 00:11:30,560
like, yeah, OK, you can turn the
taps on and, and certainly 

190
00:11:30,560 --> 00:11:32,760
charge a lot of people a lot of 
money if you don't choose the 

191
00:11:32,760 --> 00:11:37,440
right technical solution. 
So yeah, like that was where I 

192
00:11:37,440 --> 00:11:39,400
landed on Elixir. 
And I was like, Oh my God. 

193
00:11:39,400 --> 00:11:42,160
Like Elixir and Erlang, this is 
perfect for this like open 

194
00:11:42,160 --> 00:11:47,320
connections, pushing fast moving
data up to client devices. 

195
00:11:47,320 --> 00:11:49,760
And that was the sort of 2 
dimensions on which we founded 

196
00:11:49,760 --> 00:11:53,240
Olympic. 
So that was, that was pretty 

197
00:11:53,240 --> 00:11:56,200
much it. 
And you know, graph QL look, we 

198
00:11:56,200 --> 00:11:59,320
use it a ton. 
Like we don't sort of think it's

199
00:11:59,520 --> 00:12:03,560
the most important thing like we
used to look, use it where you 

200
00:12:03,560 --> 00:12:05,080
need it. 
Yeah, I think that's a great. 

201
00:12:05,080 --> 00:12:09,080
Deal for we usually, I mean we 
usually still use it for mobile 

202
00:12:09,080 --> 00:12:14,640
apps, so and then Ash came along
a bit later, basically allowing 

203
00:12:14,640 --> 00:12:17,560
us to spin up whatever API we 
want. 

204
00:12:17,640 --> 00:12:21,360
I'm curious what brought, what 
brought ash on your radar and 

205
00:12:21,360 --> 00:12:24,360
like what made you go so bullish
with it and like bring Zach 

206
00:12:24,360 --> 00:12:29,320
Daniel on board and all that? 
So this is a good question, and 

207
00:12:29,320 --> 00:12:32,360
I'd actually forgotten the 
origin story until I just 

208
00:12:32,360 --> 00:12:33,840
started telling the previous 
story. 

209
00:12:35,280 --> 00:12:41,640
So it came through graph QL and 
so I thought graph QL was super 

210
00:12:41,640 --> 00:12:46,400
simple, like it's only got a 
couple of primitives and in 

211
00:12:46,400 --> 00:12:49,840
terms of primitive types, that 
is it's kind of problem these 

212
00:12:49,840 --> 00:12:51,440
days. 
We can talk about that later if 

213
00:12:51,440 --> 00:12:54,000
you want. 
So I had a couple of primitive 

214
00:12:54,000 --> 00:12:57,120
types and then a way to model 
like a graph of your domain. 

215
00:12:57,560 --> 00:13:02,840
And so I started thinking, could
we using graph QLSDL, the schema

216
00:13:03,240 --> 00:13:08,000
definition language actually 
modeled domains in this and you 

217
00:13:08,000 --> 00:13:12,280
basically could. 
What it lacked was a few things 

218
00:13:12,280 --> 00:13:16,760
like union types and, you know, 
I would model domains and go, 

219
00:13:16,760 --> 00:13:23,720
yeah, like API first modelling. 
It wasn't terrible except there 

220
00:13:23,720 --> 00:13:27,560
wasn't anywhere to put the 
business logic or describe what 

221
00:13:27,560 --> 00:13:29,280
happened when you mutated a 
thing. 

222
00:13:29,400 --> 00:13:36,920
And so, you know, fun fact, 
Elixir Graph QL was my first 

223
00:13:37,840 --> 00:13:42,000
hello world Elixir project. 
And so I spent like months 

224
00:13:42,000 --> 00:13:46,200
writing the parser for that, 
which actually got borrowed and 

225
00:13:46,200 --> 00:13:50,640
used into absinthe. 
And I wrote it in lex and yek, 

226
00:13:51,120 --> 00:13:54,800
which is, if you don't know what
those are, those are Erlang's 

227
00:13:54,880 --> 00:14:02,360
lex and yek, pasa and lexa. 
And so yeah, like I'd spent a 

228
00:14:02,360 --> 00:14:04,480
ton of work in that. 
And then Absinthe used that to 

229
00:14:04,480 --> 00:14:09,120
sort of leapfrog into a much 
more elegant solution that we 

230
00:14:09,120 --> 00:14:12,400
see today. 
And yeah, so I was trying to 

231
00:14:12,400 --> 00:14:14,720
build graph QL and Elixir for 
exactly that reason. 

232
00:14:14,720 --> 00:14:17,240
And I was like, we can model 
stuff in this, but there was 

233
00:14:17,240 --> 00:14:22,600
nowhere in graph QL to actually 
put the domain logic and the 

234
00:14:22,600 --> 00:14:25,560
things that sort of aren't just 
the nouns and relationships and 

235
00:14:25,560 --> 00:14:28,440
the types. 
So I was like, this is nearly 

236
00:14:28,440 --> 00:14:34,240
there, but it's not quite. 
And I did meet, actually my 

237
00:14:34,240 --> 00:14:36,960
first Elixir conference was in 
Berlin in 2016. 

238
00:14:37,640 --> 00:14:42,120
And me and James Sadler went 
over there and we met up with, 

239
00:14:42,600 --> 00:14:46,560
so this was Alexicomp EU and I 
think it was one of the first, 

240
00:14:47,400 --> 00:14:51,080
one of the first ones. 
But we also met up with a whole 

241
00:14:51,080 --> 00:14:54,720
bunch of Graf QL folks. 
So Bruce Williams was there. 

242
00:14:57,120 --> 00:14:59,720
Who else was there? 
The guy that wrote Sangria, I 

243
00:14:59,720 --> 00:15:03,120
forget his name, who's no longer
with us, which is a shame. 

244
00:15:03,120 --> 00:15:06,120
He was amazing. 
He built built the scalar graph 

245
00:15:06,120 --> 00:15:08,880
QL implementation. 
Andy Marek built the Java one, 

246
00:15:09,560 --> 00:15:14,080
and then Johannes Schickling, 
who started graphical and then 

247
00:15:14,080 --> 00:15:17,040
ended up doing Prisma. 
We're also there. 

248
00:15:17,040 --> 00:15:21,000
So we met up in a pub in Berlin,
had some beers and chatted. 

249
00:15:21,040 --> 00:15:23,440
Graph. 
So that was. 

250
00:15:23,600 --> 00:15:25,800
That's awesome. 
Berlin's a fun city. 

251
00:15:25,800 --> 00:15:28,160
I I wanna go back. 
I need an excuse. 

252
00:15:28,160 --> 00:15:30,720
I was there for like exactly 8 
hours once. 

253
00:15:31,160 --> 00:15:35,640
I'm like a long layover and I 
just. 8 hours is not enough time

254
00:15:35,680 --> 00:15:38,040
in. 
No, I know I but I took 

255
00:15:38,040 --> 00:15:40,520
advantage of being there and I 
just like paid a taxi cab 

256
00:15:40,520 --> 00:15:43,320
driver. 
I was like, take me to all like 

257
00:15:43,760 --> 00:15:46,840
the German food, like all the 
good restaurants that I should 

258
00:15:46,840 --> 00:15:50,440
go to and we just like drove 
around for 8 hours and I just 

259
00:15:50,440 --> 00:15:52,040
ate a ton of food and drank 
beer. 

260
00:15:53,280 --> 00:15:56,800
Did you have Curry versed? 
I don't think so. 

261
00:15:56,840 --> 00:15:59,120
No street food Classic. 
Nice. 

262
00:15:59,400 --> 00:16:02,800
I've got to say I I'm I'm sorry 
to all the Germans, but I don't 

263
00:16:02,800 --> 00:16:05,040
rate it. 
It's a street food, like it's 

264
00:16:05,040 --> 00:16:08,160
good, but it's not amazing. 
Yeah, yeah, I hear you. 

265
00:16:08,800 --> 00:16:11,240
And I travel a lot and I'm it's 
just heavy, but. 

266
00:16:11,240 --> 00:16:16,040
Just all meat, you know? 
But it's, you know, it's like a 

267
00:16:16,040 --> 00:16:17,520
process to me. 
So it's like. 

268
00:16:18,240 --> 00:16:20,920
Yeah, it's. 
A very particular taste and I I 

269
00:16:21,960 --> 00:16:24,960
definitely had a long 
conversation last time I was in 

270
00:16:25,520 --> 00:16:27,480
Berlin and. 
Yeah. 

271
00:16:28,600 --> 00:16:31,520
I offended someone so apologies 
to all the Germans. 

272
00:16:31,800 --> 00:16:33,680
German Curry. 
Offender way. 

273
00:16:33,680 --> 00:16:35,880
No, I'm just kidding. 
Yeah. 

274
00:16:35,880 --> 00:16:41,560
So was when you met Zach Daniel,
was he just already working on 

275
00:16:41,560 --> 00:16:45,120
Ash or was it like an idea that 
you kind of? 

276
00:16:45,120 --> 00:16:46,920
Both. 
Came up with. 

277
00:16:48,160 --> 00:16:52,240
Well, remember how I was like 
trying to, you know, model 

278
00:16:52,240 --> 00:16:57,440
domains in graph QL and you 
know, people thought I was crazy

279
00:16:57,480 --> 00:17:02,160
and it didn't quite work because
we were missing whole chunks and

280
00:17:02,160 --> 00:17:04,000
the type system wasn't quite 
there. 

281
00:17:04,680 --> 00:17:07,280
And I'm like, this is close. 
What is it? 

282
00:17:07,440 --> 00:17:13,119
And at the same time, I saw like
an early incarnation of Ash and 

283
00:17:13,119 --> 00:17:16,400
it was it sort of, I don't even 
remember what what it said. 

284
00:17:16,920 --> 00:17:18,520
I think we looked at the Wayback
machine. 

285
00:17:18,520 --> 00:17:21,160
If you look at the early ash 
websites, you can find it. 

286
00:17:22,280 --> 00:17:25,480
We did that the Ash Summit. 
And it's kind of funny, like it 

287
00:17:25,480 --> 00:17:28,920
was on my To Do List, but I 
didn't realize really what it 

288
00:17:28,920 --> 00:17:30,520
did. 
And so I looked at it and 

289
00:17:30,520 --> 00:17:33,120
thought, oh, that's a way of 
sort of auto spinning up some 

290
00:17:33,120 --> 00:17:37,840
graph QL AP is using Alexa. 
And I, I sort of had it on my To

291
00:17:37,840 --> 00:17:39,480
Do List for like a couple of 
years. 

292
00:17:40,240 --> 00:17:41,760
I'm like, yeah, I should check 
that out one day. 

293
00:17:41,880 --> 00:17:46,640
I didn't get around to it. 
Then we had a client project 

294
00:17:46,920 --> 00:17:52,920
where it was like, oh, we need 
to build, you know, basically 

295
00:17:52,920 --> 00:17:58,920
Elixa, we needed to build out a 
mobile like API because they 

296
00:17:58,920 --> 00:18:01,360
wanted to have, you know, mobile
devices. 

297
00:18:02,120 --> 00:18:06,880
And this was our sort of, you 
know, first really big Ash 

298
00:18:06,880 --> 00:18:08,840
project. 
And I was like, Ash would be 

299
00:18:08,840 --> 00:18:11,320
perfect for this. 
So I hit up Zack and I tried it 

300
00:18:11,320 --> 00:18:12,920
out and I'm like, oh, this is 
quite good. 

301
00:18:13,840 --> 00:18:17,360
And then I realized once I drove
into Ash that it actually solved

302
00:18:17,360 --> 00:18:19,560
a lot of the problems that I was
trying to solve. 

303
00:18:20,280 --> 00:18:25,280
And so I sort of saw the power 
immediately because it just 

304
00:18:25,280 --> 00:18:27,840
filled in the blanks what I was 
trying to do, modelling domains 

305
00:18:27,840 --> 00:18:31,000
in Graph QL. 
And it modelled it, you know, in

306
00:18:31,120 --> 00:18:33,040
elegant DSLS at the Elixir 
layer. 

307
00:18:33,040 --> 00:18:36,360
And then from that you could 
derive Graph QL or REST or 

308
00:18:36,360 --> 00:18:38,120
whatever. 
And then I realized it was more 

309
00:18:38,120 --> 00:18:41,600
than just an API generator. 
And I think a lot of people fell

310
00:18:41,600 --> 00:18:45,480
into the, it's just an API 
generator trap for a long time. 

311
00:18:46,200 --> 00:18:48,640
And, you know, I was like, oh, 
we could use this for 

312
00:18:48,640 --> 00:18:52,520
everything. 
And, you know, the more I dug, 

313
00:18:52,520 --> 00:18:57,800
the more things I could see. 
And, you know, the client was a,

314
00:18:58,240 --> 00:19:01,840
you know, deeply technical and 
appreciated what that brought. 

315
00:19:02,520 --> 00:19:05,000
And he basically asked a whole 
bunch of enterprise architects 

316
00:19:05,000 --> 00:19:08,120
like that. 
He knew because we were like, we

317
00:19:08,120 --> 00:19:10,800
should try Ash on this. 
We're also trying to try live 

318
00:19:10,800 --> 00:19:13,640
view. 
So, you know, he was already 

319
00:19:13,640 --> 00:19:16,040
sort of bought into live view, 
but we didn't know about the 

320
00:19:16,040 --> 00:19:18,880
component system. 
But we looked at Ash as well, 

321
00:19:18,880 --> 00:19:22,680
trying to go, well, if we model 
everything in this, we can 

322
00:19:22,680 --> 00:19:26,120
generate so much of the, you 
know, the enterprise stuff that 

323
00:19:26,120 --> 00:19:29,480
we know we're going to need for 
this, you know, eventually very 

324
00:19:29,480 --> 00:19:33,600
enterprisey app. 
And so he asked a bunch of his 

325
00:19:33,600 --> 00:19:36,080
buddies that were enterprise 
architects and had worked on 

326
00:19:36,080 --> 00:19:38,840
really, really big enterprise 
systems. 

327
00:19:39,400 --> 00:19:44,400
And they all basically, you 
know, came back with the idea 

328
00:19:44,400 --> 00:19:47,640
that, well, you're eventually 
going to have to hand roll and 

329
00:19:47,640 --> 00:19:51,160
hand build something like Ash 
eventually yourself. 

330
00:19:51,920 --> 00:19:55,240
And so I think in the forward of
the Ash book, I make a joke 

331
00:19:55,240 --> 00:19:58,840
about, I can't remember what 
Laura I called it, but it's a a 

332
00:19:58,840 --> 00:20:03,560
riff on Greenspun's Law that any
sufficiently old and advanced, 

333
00:20:04,520 --> 00:20:08,720
you know, enterprise system 
contains, you know, a buggy, 

334
00:20:08,720 --> 00:20:11,880
slow I'll fitting version of Ash
Well. 

335
00:20:13,440 --> 00:20:17,200
That's funny. 
And so, yeah, I mean, I think 

336
00:20:17,200 --> 00:20:20,160
that's true. 
Like the bigger an app gets, the

337
00:20:20,160 --> 00:20:23,440
more ash matters. 
And I think that's where people 

338
00:20:23,520 --> 00:20:26,080
struggle to realise its power 
because if you try it out on a 

339
00:20:26,080 --> 00:20:27,440
toy app, it doesn't give you 
anything. 

340
00:20:28,040 --> 00:20:31,160
And it's not until you have a 
really big domain and lots of 

341
00:20:31,160 --> 00:20:34,880
things to generate from that. 
I feel like it gives you a lot 

342
00:20:34,880 --> 00:20:37,920
with a toy app because it gets 
you up and running really 

343
00:20:37,920 --> 00:20:39,960
quickly. 
I'm not saying it doesn't give 

344
00:20:39,960 --> 00:20:41,640
you anything with a toy app. 
Yeah, OK. 

345
00:20:41,840 --> 00:20:45,840
Like the value isn't there 
because people go like this is 

346
00:20:45,840 --> 00:20:48,080
not doing that much more than 
what I could do, yeah. 

347
00:20:48,160 --> 00:20:50,320
Fair, especially with. 
LLMS it's like. 

348
00:20:52,520 --> 00:20:56,280
Yeah, I actually struggled. 
I liked the idea of Ash. 

349
00:20:56,280 --> 00:21:01,040
I liked, you know, I liked Zach.
I had Zach on my podcast before 

350
00:21:01,040 --> 00:21:03,120
I started diving into Ash as 
well. 

351
00:21:03,520 --> 00:21:06,520
And I struggled. 
I gave up. 

352
00:21:06,520 --> 00:21:09,160
Like I ripped it out of a couple
projects where I tried to bring 

353
00:21:09,160 --> 00:21:12,680
it in and I was like, I'm just, 
I can move faster. 

354
00:21:12,680 --> 00:21:15,560
Just, you know, use using Elixir
in Phoenix. 

355
00:21:15,560 --> 00:21:17,240
I'm just going to stick with 
what I'm comfortable with. 

356
00:21:17,840 --> 00:21:20,280
And then when the book came out,
I was like, all right, I'm going

357
00:21:20,280 --> 00:21:22,400
to force myself. 
I'm going to actually learn this

358
00:21:22,400 --> 00:21:24,480
thing. 
And now all my personal 

359
00:21:24,480 --> 00:21:27,920
projects, like if I'm in control
of them, I'm using hash on all 

360
00:21:27,920 --> 00:21:30,960
of them now because you just 
like get up and running so 

361
00:21:30,960 --> 00:21:33,440
quickly. 
Exactly. 

362
00:21:33,440 --> 00:21:36,600
I mean, it's not just up and 
running and like Igniter changes

363
00:21:36,600 --> 00:21:39,920
the game on that. 
One, just like so much less 

364
00:21:40,200 --> 00:21:43,480
template code that you're 
writing as well, like you just 

365
00:21:43,480 --> 00:21:46,520
create your resource, your 
policies and like you don't have

366
00:21:46,520 --> 00:21:50,400
to think about your migrations 
or like anything like you so 

367
00:21:50,400 --> 00:21:54,800
much comes out-of-the-box. 
I think having spent like a 

368
00:21:54,800 --> 00:21:58,000
decade of writing migrations in 
Ruby and. 

369
00:21:58,000 --> 00:22:02,520
Migrations and just suck. 
Like, honestly, it was the worst

370
00:22:02,520 --> 00:22:04,960
part of my day. 
And it's like, what are we, What

371
00:22:04,960 --> 00:22:07,960
are we doing here? 
And not having that, like 

372
00:22:07,960 --> 00:22:12,520
people, you know, undervalue, 
like just how great not having 

373
00:22:12,520 --> 00:22:15,440
to think about migrations is. 
I mean, you still have to read 

374
00:22:15,440 --> 00:22:18,400
and review them, but unless 
they're destructive you don't 

375
00:22:18,400 --> 00:22:19,800
have to look at them. 
Right. 

376
00:22:20,040 --> 00:22:21,360
Just a projection of your 
domain. 

377
00:22:22,120 --> 00:22:24,960
I have a horrible habit of 
always reading all the and maybe

378
00:22:24,960 --> 00:22:27,000
it's not a horrible habit. 
It's probably a a safe. 

379
00:22:27,000 --> 00:22:27,720
Habit. 
It's a good habit. 

380
00:22:28,120 --> 00:22:30,680
Yeah, I read. 
All your kids out there, read 

381
00:22:30,680 --> 00:22:33,040
your migrations. 
Don't be like Uncle Josh. 

382
00:22:33,560 --> 00:22:37,680
Yeah. 
And but so far I haven't done 

383
00:22:37,680 --> 00:22:42,480
anything, you know, complicated 
like basic web apps, you know, 

384
00:22:42,480 --> 00:22:44,680
they're just CRUD operations 
essentially, right? 

385
00:22:44,920 --> 00:22:48,160
But I have not had to adjust 
anything like my indexes get 

386
00:22:48,160 --> 00:22:50,800
created properly. 
I I have not had to edit 

387
00:22:50,800 --> 00:22:52,440
anything. 
And that's nice. 

388
00:22:52,560 --> 00:22:53,640
Right. 
Yeah. 

389
00:22:53,640 --> 00:22:56,360
And so I've been doing that long
enough that I think, you know, 

390
00:22:56,400 --> 00:23:00,880
unless there's a problem later, 
which is very rare, like unless 

391
00:23:00,880 --> 00:23:04,160
you have very specific needs, if
you're just doing, you know, 

392
00:23:04,160 --> 00:23:07,000
normal stuff, ash, ash has your 
back on that. 

393
00:23:07,080 --> 00:23:09,000
Well, it's actually technically 
ash Postgres. 

394
00:23:09,040 --> 00:23:13,360
And that's the other complexity 
about ash is like ash core is 

395
00:23:13,360 --> 00:23:16,520
really, you know, like the 
starting point. 

396
00:23:16,560 --> 00:23:20,120
And then ash Postgres means you 
can derive your data layer and 

397
00:23:20,120 --> 00:23:23,120
there's all kinds of data layers
popping up. 

398
00:23:24,160 --> 00:23:27,120
And I think, you know, it may be
controversial, but I think we're

399
00:23:27,120 --> 00:23:33,440
seeing that 2026 may be the end 
of like the road for relational 

400
00:23:33,720 --> 00:23:38,600
data because it just doesn't 
work really in an agentic world 

401
00:23:38,600 --> 00:23:43,160
where you need, you know, graph,
sparse graph relationships, you 

402
00:23:43,160 --> 00:23:47,120
need vector, you need time 
series and temporal 

403
00:23:47,280 --> 00:23:50,120
understanding as well. 
Like what facts of the world 

404
00:23:50,120 --> 00:23:55,800
were replaced by new facts. 
And yeah, the multi model DB is 

405
00:23:55,800 --> 00:23:57,200
something we're looking into at 
the moment. 

406
00:23:58,280 --> 00:24:01,760
Sounds complicated and now 
another thing I have to learn. 

407
00:24:03,440 --> 00:24:08,400
Well, look, the relational DB 
has done well, I think it was 

408
00:24:08,480 --> 00:24:12,800
sort of invented in the 60s and 
70s, I believe, you know, and 

409
00:24:12,800 --> 00:24:17,760
the relational model has has had
a good run, but it just taps out

410
00:24:17,760 --> 00:24:24,000
at the the things that you need 
for a Genting memory and being 

411
00:24:24,000 --> 00:24:26,800
able to query, you know, context
about the world extremely 

412
00:24:26,800 --> 00:24:30,720
quickly and thoroughly. 
And so anyone who's you know, 

413
00:24:31,160 --> 00:24:35,040
I've been doing stuff with 
agents, it's like intelligence 

414
00:24:35,040 --> 00:24:37,320
without context really isn't 
that useful. 

415
00:24:38,120 --> 00:24:39,400
Right. 
Well, that's. 

416
00:24:39,400 --> 00:24:40,720
Been the biggest problem. 
Right. 

417
00:24:41,880 --> 00:24:43,640
Right. 
And the the more context you can

418
00:24:43,640 --> 00:24:47,120
give it, the better, which is, 
you know, open floor, maybe you 

419
00:24:47,120 --> 00:24:51,640
know, effectively A weaponized 
virus in disguise, but you know,

420
00:24:51,640 --> 00:24:54,680
it's very, it's when you give 
it, when you give it all the 

421
00:24:54,680 --> 00:24:57,200
context and all the tools, it 
can be extremely helpful. 

422
00:24:58,080 --> 00:24:59,600
I have not played around with 
it. 

423
00:24:59,600 --> 00:25:02,720
I have like kept my eye on it 
but I haven't used it. 

424
00:25:02,840 --> 00:25:06,560
Maybe I need to? 
Look, it's definitely worth 

425
00:25:06,720 --> 00:25:10,560
testing it out in a very, you 
know, sandbox. 

426
00:25:10,600 --> 00:25:14,360
Don't give it any tools that 
yeah, yeah, I might regret and 

427
00:25:14,360 --> 00:25:18,720
definitely do it in the sandbox.
You know, the more sandboxes the

428
00:25:18,720 --> 00:25:21,840
better. 
Yeah, sandbox inside of 

429
00:25:21,840 --> 00:25:23,240
sandboxes. 
But yeah, I haven't played with 

430
00:25:23,320 --> 00:25:26,720
it either. 
But what I've done is largely 

431
00:25:26,720 --> 00:25:30,040
just put a whole bunch of 
context in files on disk, which 

432
00:25:30,040 --> 00:25:32,120
is largely A clawed native 
knowledge graph. 

433
00:25:33,040 --> 00:25:38,120
And so I've been running sort of
my own very Macgyvid open clause

434
00:25:38,120 --> 00:25:41,720
style thing just with clawed 
code with files on disk, and it 

435
00:25:41,720 --> 00:25:43,400
works great. 
That's awesome. 

436
00:25:44,280 --> 00:25:47,520
It definitely falls down though,
because you know where it puts 

437
00:25:47,520 --> 00:25:51,640
stuff it's using like file 
system search primitives like 

438
00:25:51,640 --> 00:25:55,640
graph and you know, find and 
that kind of thing. 

439
00:25:55,840 --> 00:26:00,480
And so that starts tapping out 
pretty quickly. 

440
00:26:00,720 --> 00:26:05,160
And I think it's interesting 
because I've also been, I don't 

441
00:26:05,160 --> 00:26:07,680
know if you've ever tried this, 
but just opening up Claude 

442
00:26:07,680 --> 00:26:11,720
inside your doc Claude directory
with all of the sessions because

443
00:26:11,720 --> 00:26:14,320
it saves everything. 
I have not tried that. 

444
00:26:14,320 --> 00:26:18,400
That's a good idea though. 
Yeah, but only recently. 

445
00:26:18,400 --> 00:26:20,240
And I don't know what tipped it 
off. 

446
00:26:20,600 --> 00:26:25,560
And I think did this by default 
because everything, all of the 

447
00:26:25,560 --> 00:26:28,520
sessions are stored as Jason L, 
which is like, you know, Jason 

448
00:26:28,560 --> 00:26:31,880
strings his lines on in a, in a 
text file. 

449
00:26:32,240 --> 00:26:35,880
And yeah, grip starts falling 
down in that sort of format. 

450
00:26:36,640 --> 00:26:40,040
And so, yeah, what if you do 
that? 

451
00:26:40,040 --> 00:26:43,720
You can not only introspect, you
know, what your clawed sessions 

452
00:26:43,720 --> 00:26:47,160
look like. 
And it took me a while to figure

453
00:26:47,160 --> 00:26:48,880
this out. 
And this is probably a pro tip 

454
00:26:48,920 --> 00:26:51,920
for everyone. 
Clode does keep things for 30 

455
00:26:51,920 --> 00:26:54,040
days, but it has a 30 day clean 
up window. 

456
00:26:54,120 --> 00:26:56,680
So if you want to save sessions 
older than 30 days, there is a 

457
00:26:56,680 --> 00:27:01,920
setting that you can use to go. 
And I think it's like clean up 

458
00:27:03,040 --> 00:27:05,360
frequency or whatever and you 
can just say how many days it's 

459
00:27:05,360 --> 00:27:06,880
taken. 
Set it to a really high number. 

460
00:27:07,400 --> 00:27:12,200
So you keep all your sessions 
and sort of 1 easy way into this

461
00:27:12,200 --> 00:27:14,640
is you. 
There is now a command on the 

462
00:27:14,640 --> 00:27:15,880
latest Clode. 
I don't know when they 

463
00:27:15,880 --> 00:27:18,200
introduced it. 
I just found it the other day, 

464
00:27:18,480 --> 00:27:25,000
slash insights and so maybe run 
it on yours if you've got a 

465
00:27:25,000 --> 00:27:27,520
cloud open. 
If you type slash insights it 

466
00:27:27,520 --> 00:27:31,840
will basically go in introspect 
all of your sessions and give 

467
00:27:31,840 --> 00:27:33,400
you some. 
I can sign out right now so I 

468
00:27:33,440 --> 00:27:36,320
don't forget. 
I mean, it says some interesting

469
00:27:36,320 --> 00:27:39,440
stuff. 
It's really, really kind of 

470
00:27:39,440 --> 00:27:43,080
personal and it's kind of 
helpful because it, it actually 

471
00:27:43,080 --> 00:27:45,880
goes and analysis like where did
things go wrong? 

472
00:27:46,240 --> 00:27:49,200
And it gives you prompts that 
you can put into your Claude MD 

473
00:27:49,200 --> 00:27:50,720
like so you can just copy paste 
them. 

474
00:27:50,760 --> 00:27:54,680
So it gives you a big HTML 
report and it gives you like 

475
00:27:54,960 --> 00:27:57,360
ways to fix up where it went 
wrong. 

476
00:27:58,760 --> 00:28:01,960
Someone had a friend of mine had
posted on LinkedIn this morning 

477
00:28:01,960 --> 00:28:06,160
that he was like literally just 
searching his Claude sessions 

478
00:28:06,160 --> 00:28:08,760
for swear words. 
And that's obviously a place 

479
00:28:08,760 --> 00:28:11,600
where you got frustrated and the
botch is doing the wrong thing. 

480
00:28:11,600 --> 00:28:15,120
And it's like we'll find all 
those times and figure out what 

481
00:28:15,120 --> 00:28:16,600
went wrong. 
Don't do that thing. 

482
00:28:17,560 --> 00:28:24,880
'Cause I have been like, are you
an F an idiot like after you? 

483
00:28:24,880 --> 00:28:28,200
So I was thinking that go in 
depth explaining what you want 

484
00:28:28,200 --> 00:28:30,600
and it still does the wrong 
thing and you're like what are 

485
00:28:30,600 --> 00:28:33,200
you doing? 
Right. 

486
00:28:33,440 --> 00:28:38,360
And I've been doing, you know, 
all kinds of tasks in just my, 

487
00:28:39,120 --> 00:28:43,040
you know, my folder of Claude, 
yeah, like state files. 

488
00:28:43,040 --> 00:28:45,080
And Claude sort of constructed 
it and. 

489
00:28:45,240 --> 00:28:48,440
Have you played around with 
beads at all for context stuff? 

490
00:28:49,400 --> 00:28:51,320
Well beads is just like A to do 
list. 

491
00:28:51,360 --> 00:28:54,000
I did try it out probably last 
year, but. 

492
00:28:54,040 --> 00:28:56,520
OK, it kind of fell on the 
floor. 

493
00:28:56,520 --> 00:28:59,040
It kind of fell on the floor. 
I think they started trying to 

494
00:28:59,040 --> 00:29:01,760
get too fancy with it. 
And actually a buddy of mine 

495
00:29:02,840 --> 00:29:07,200
rewrote beads and it's called 
beadwork and he's using like get

496
00:29:07,200 --> 00:29:10,280
branches and stuff now for 
keeping track of tasks and like 

497
00:29:10,280 --> 00:29:12,680
epics, It's actually, it works 
really well. 

498
00:29:13,720 --> 00:29:15,880
So Oh. 
Very cool. 

499
00:29:16,440 --> 00:29:19,720
Yeah, I think. 
For context and like just like I

500
00:29:19,720 --> 00:29:23,760
always make like markdown plans 
and things, but it's kind of 

501
00:29:23,760 --> 00:29:28,440
nice to keep like the plan split
into issues and like a nice To 

502
00:29:28,440 --> 00:29:29,680
Do List, right? 
But. 

503
00:29:31,040 --> 00:29:34,240
Yeah, for sure. 
The challenge is when, you know,

504
00:29:34,280 --> 00:29:37,760
you may change direction and 
like things get invalidated. 

505
00:29:38,360 --> 00:29:42,240
So, you know, but certainly 
there's lots of ways to do that 

506
00:29:42,240 --> 00:29:45,720
and I think people are exploring
different tools and. 

507
00:29:46,120 --> 00:29:49,520
Yeah, there's a new cool ways to
do everything I feel like daily 

508
00:29:50,080 --> 00:29:54,120
I can't keep up. 
Well, here's what I've realized,

509
00:29:55,440 --> 00:29:59,040
and this may be sort of explain 
what's happening with the 

510
00:29:59,640 --> 00:30:02,560
explosion of software is it's 
actually easier to write your 

511
00:30:02,560 --> 00:30:05,280
own now than understand someone 
else's thing. 

512
00:30:05,280 --> 00:30:08,000
And I don't know if you played 
with Gastown, which was Steve 

513
00:30:08,000 --> 00:30:11,360
Yegi's sort of advancement 
beyond beads. 

514
00:30:11,560 --> 00:30:13,520
And I think he uses beads in 
Gastown. 

515
00:30:14,120 --> 00:30:17,320
But honestly, that was just, you
know, someone's fever dream. 

516
00:30:17,320 --> 00:30:20,120
And I'm like, I tried it. 
And I'm like, yeah, yeah, I'm 

517
00:30:20,320 --> 00:30:24,520
the mayor of Gastown. 
And then I ended up falling back

518
00:30:24,520 --> 00:30:30,480
into like just raw clawed 
planning, like I was just in 

519
00:30:30,480 --> 00:30:33,520
called plan mode. 
And raw plan mode is what a lot 

520
00:30:33,520 --> 00:30:35,880
of people are discovering is 
actually pretty good. 

521
00:30:35,880 --> 00:30:38,640
It keeps getting better. 
And so you don't actually need 

522
00:30:38,640 --> 00:30:41,080
to live inside someone else's 
fever drink tap. 

523
00:30:41,400 --> 00:30:45,600
You can create your own. 
And that's honestly better than,

524
00:30:45,760 --> 00:30:49,320
you know, writing your own 
tools, hyper personalizing them 

525
00:30:49,320 --> 00:30:51,640
for yourselves. 
And software engineers are are 

526
00:30:51,640 --> 00:30:55,920
the most capable of doing that. 
It's like wild too for me is 

527
00:30:55,920 --> 00:31:02,400
like I've been just using the 
the app, the Claude app a lot 

528
00:31:02,400 --> 00:31:06,200
and like Co work you can. 
I've been just writing my own 

529
00:31:06,200 --> 00:31:12,080
like Claude MD's for directories
and like I have like a candidate

530
00:31:13,760 --> 00:31:19,880
evaluation skill now and it will
go through candidate projects 

531
00:31:19,880 --> 00:31:22,720
and give me like PDF write ups. 
So I know if I want to go 

532
00:31:22,720 --> 00:31:25,080
physically look at their code or
just trash it. 

533
00:31:25,360 --> 00:31:27,760
Like it will tell me if it's 
like good or not. 

534
00:31:27,760 --> 00:31:30,400
And then I'm like, OK, now I'll 
manually review this code. 

535
00:31:30,640 --> 00:31:32,520
It saves me so much time. 
It's amazing. 

536
00:31:33,880 --> 00:31:37,480
And look, that's that's it. 
Like we're producing output at 

537
00:31:37,480 --> 00:31:41,000
such a volume that actually 
human cognitive limits of reach 

538
00:31:41,000 --> 00:31:45,480
very quickly and you can't read 
and reason about the world at 

539
00:31:45,480 --> 00:31:47,320
that speed. 
And so you actually. 

540
00:31:47,320 --> 00:31:49,400
Have to. 
You actually have to have the 

541
00:31:49,440 --> 00:31:53,560
box like do it for you. 
Like as we see, like you just 

542
00:31:53,560 --> 00:31:57,200
made a tweet about, you know, 
AGI being like right around the 

543
00:31:57,200 --> 00:32:00,400
corner, right? 
And like, what do you see it 

544
00:32:00,400 --> 00:32:06,080
doing to like our worlds? 
Like you and I both get paid to 

545
00:32:06,080 --> 00:32:07,960
write code. 
Like you're a consultancy. 

546
00:32:07,960 --> 00:32:13,240
So you're, you have employees 
and all of this and like, are 

547
00:32:13,240 --> 00:32:16,400
you worried or do you think it's
just going to kind of like shift

548
00:32:16,400 --> 00:32:19,920
how we do it and we're still 
going to be the technical 

549
00:32:19,920 --> 00:32:22,040
architects that have to build 
things? 

550
00:32:24,000 --> 00:32:29,280
Well, I like to think of it this
way, you know, and maybe zooming

551
00:32:29,280 --> 00:32:32,040
out to like not just software 
developers, but humanity is 

552
00:32:32,040 --> 00:32:35,840
about to get a massive uplift. 
Now we may be speed running the 

553
00:32:35,840 --> 00:32:39,520
industrial revolution in sort of
a tenth of the time, you know, 

554
00:32:39,520 --> 00:32:44,520
like a year instead of 10 of 
that nature, so. 

555
00:32:44,520 --> 00:32:48,400
Can we, can we keep up with our 
own advancements? 

556
00:32:48,400 --> 00:32:51,200
Like that's kind of like what 
kind of scares me. 

557
00:32:51,200 --> 00:32:52,800
I don't know. 
I don't know about you, but I'm 

558
00:32:52,800 --> 00:32:55,280
reaching my own personal 
cognitive and. 

559
00:32:55,280 --> 00:32:58,080
Physics. 
Yeah, I've hit that a while ago.

560
00:32:59,000 --> 00:33:03,000
And and so, right. 
And so that is a signal to say 

561
00:33:03,160 --> 00:33:06,080
we are the bottleneck here. 
Like we're outgunned. 

562
00:33:06,320 --> 00:33:10,680
Like for sure we've got 
intelligence and you know, it's 

563
00:33:10,680 --> 00:33:13,560
non deterministic and so it's 
not always right. 

564
00:33:14,000 --> 00:33:16,560
But have you met people? 
Have you met the? 

565
00:33:17,160 --> 00:33:23,440
Internet nobody's right. 
And I think, you know, what 

566
00:33:23,440 --> 00:33:26,880
prepared me most for a lot of 
things in this life was I had a 

567
00:33:26,880 --> 00:33:31,440
brief period of playing poker 
online and back in like probably

568
00:33:31,880 --> 00:33:35,160
what year was it, 2003 when 
poker got really popular. 

569
00:33:35,760 --> 00:33:39,120
And I learnt, I took, I was in 
between sort of jobs and I was 

570
00:33:39,120 --> 00:33:41,280
like kind of disillusioned with 
IT. 

571
00:33:41,280 --> 00:33:45,160
And I was at the end of my 20s 
going, is this really what I 

572
00:33:45,160 --> 00:33:48,200
signed up for building software.
And I, I didn't get it. 

573
00:33:48,320 --> 00:33:51,720
Like I didn't get why we're 
building this, this garbage 

574
00:33:51,720 --> 00:33:53,480
stuff. 
And it was overly complicated. 

575
00:33:54,440 --> 00:33:57,880
And I thought it was me. 
Then I realised, oh, actually 

576
00:33:57,880 --> 00:34:00,520
it's everyone else. 
Like why are you making this 

577
00:34:00,520 --> 00:34:02,000
more complicated than it needs 
to be? 

578
00:34:02,440 --> 00:34:05,720
And simplicity is hard. 
Like you know, it sounds easy, 

579
00:34:05,720 --> 00:34:07,760
but it actually I always more 
more effort. 

580
00:34:08,120 --> 00:34:11,960
I always found like when I write
my own code, it's easier to 

581
00:34:11,960 --> 00:34:14,960
follow right? 
And I also feel like my 

582
00:34:14,960 --> 00:34:18,560
solutions are always more simple
than other people's, but I don't

583
00:34:18,560 --> 00:34:19,440
know if that's 'cause I've. 
Really. 

584
00:34:19,440 --> 00:34:21,480
So says you. 
Right, right. 

585
00:34:21,800 --> 00:34:25,000
Like I always I have to talk to 
the guy that is working on my 

586
00:34:25,000 --> 00:34:27,960
code years later when I'm no 
longer part of that company, you

587
00:34:27,960 --> 00:34:32,000
know, and see how they really. 
Well, exactly. 

588
00:34:32,000 --> 00:34:35,600
And I think, you know, coding is
a communication exercise and 

589
00:34:35,600 --> 00:34:38,920
it's a thinking exercise. 
And so really a lot of the 

590
00:34:38,920 --> 00:34:41,920
things that we're doing is 
communicating and thinking. 

591
00:34:41,920 --> 00:34:45,760
And if you think it's about 
typing, you probably need to 

592
00:34:46,040 --> 00:34:47,199
check. 
For now, it's. 

593
00:34:47,280 --> 00:34:49,760
Really what programming and 
software development is all 

594
00:34:49,760 --> 00:34:51,360
about. 
You're solving problems. 

595
00:34:51,920 --> 00:34:54,719
You're doing like hard thinking 
about how to solve those 

596
00:34:54,719 --> 00:34:57,920
problems and communicating the 
solutions. 

597
00:34:58,960 --> 00:35:03,360
Well, even before we, even even 
before we had LLMS writing a lot

598
00:35:03,360 --> 00:35:08,120
of our code for us, you still 
spent 90% of your time thinking 

599
00:35:08,120 --> 00:35:11,400
through solutions and they're 
like and then you write the 

600
00:35:11,400 --> 00:35:15,240
code. 
But it's 10% is probably on the 

601
00:35:15,240 --> 00:35:18,200
high side of where you spend 
your time writing code. 

602
00:35:19,200 --> 00:35:23,280
Right. 
And look, I think just the the 

603
00:35:23,320 --> 00:35:26,280
poker story was all about just 
playing probabilistic games. 

604
00:35:27,040 --> 00:35:29,280
I've always loved backgammon and
I like poker. 

605
00:35:29,480 --> 00:35:31,280
I've never been that great at 
chess. 

606
00:35:31,720 --> 00:35:35,200
I mean, chess has some 
probabilistic stuff to it, but 

607
00:35:35,200 --> 00:35:38,640
if you know your opponent and 
you know what level they are and

608
00:35:38,640 --> 00:35:42,000
you're reasonably good, you 
know, chess is pretty 

609
00:35:42,000 --> 00:35:44,040
deterministic. 
There's only a certain set of 

610
00:35:44,040 --> 00:35:45,600
moves that your opponents like, 
right? 

611
00:35:45,600 --> 00:35:47,600
Well, and they might come up 
with something good that you 

612
00:35:47,600 --> 00:35:50,280
didn't think about, but you 
largely know within sort of. 

613
00:35:50,560 --> 00:35:52,840
I feel like. 
The best what they're going to 

614
00:35:52,840 --> 00:35:54,560
do. 
The best chess players are just 

615
00:35:54,560 --> 00:35:57,560
really good at memorizing 
tactics, right? 

616
00:35:57,560 --> 00:35:59,600
Like, there's only so many 
movements you can make on a 

617
00:35:59,600 --> 00:36:02,000
board and when. 
Yeah. 

618
00:36:02,320 --> 00:36:04,360
And so it's like memorizing 
what's been done. 

619
00:36:05,320 --> 00:36:08,520
And that's why, like the speed 
chess is interesting because you

620
00:36:08,520 --> 00:36:11,160
can't deeply think about it. 
You're really just falling back 

621
00:36:11,160 --> 00:36:13,160
to just pure speed pattern 
matching. 

622
00:36:13,600 --> 00:36:16,640
But also, have you seen chess? 
I think it's called 960. 

623
00:36:17,400 --> 00:36:22,880
And what they do is you pick a 
random distribution of how the 

624
00:36:22,880 --> 00:36:27,920
pieces on the back are arranged.
And I'm not a chess expert, but 

625
00:36:27,920 --> 00:36:31,120
basically randomizes, so you 
can't memorize all the moves. 

626
00:36:31,120 --> 00:36:34,280
So you're actually going back to
sort of those principles and it 

627
00:36:34,280 --> 00:36:37,480
sort of levels the playing field
away from just pure memorization

628
00:36:37,680 --> 00:36:39,360
and memory. 
That's kind of cool. 

629
00:36:39,360 --> 00:36:42,280
So that's a a more pure sort of 
thinking game. 

630
00:36:42,680 --> 00:36:44,720
But yeah, I always like 
probabilistic games. 

631
00:36:44,720 --> 00:36:49,560
And so thinking about how to 
constrain the probability fields

632
00:36:49,560 --> 00:36:52,520
or the range of outputs of an LM
certainly suits me. 

633
00:36:52,960 --> 00:36:55,040
And Poker's an interesting game 
because you don't even know what

634
00:36:55,040 --> 00:36:56,640
game you're playing and you're 
playing the maths. 

635
00:36:57,120 --> 00:37:00,200
Are you playing like the the 
game theory optimal, like no one

636
00:37:00,200 --> 00:37:01,920
can exploit me? 
Or are you playing an 

637
00:37:01,920 --> 00:37:04,600
exploitative game or 
exploitative defence? 

638
00:37:05,120 --> 00:37:09,000
And every hand is is different 
and every session is completely 

639
00:37:09,000 --> 00:37:11,800
different and you're changing up
the levels of where you're 

640
00:37:11,800 --> 00:37:13,960
actually playing. 
And, and it's a beautiful, 

641
00:37:14,000 --> 00:37:17,000
beautiful game for that reason. 
It doesn't look beautiful on the

642
00:37:17,000 --> 00:37:19,040
surface, but it's like, are you 
playing the long game? 

643
00:37:19,040 --> 00:37:22,800
Are you playing the short game? 
Are you trying to five in a 

644
00:37:22,800 --> 00:37:26,280
tournament? 
Like it's a crazy, crazy game 

645
00:37:26,280 --> 00:37:28,680
with lots of variants and you 
have to manage the probability 

646
00:37:28,680 --> 00:37:31,200
and you know, you can have the 
situation where you can make the

647
00:37:31,200 --> 00:37:35,200
right decision and be and lose a
lot of money, possibly all of 

648
00:37:35,200 --> 00:37:37,520
it. 
And you know, you still would 

649
00:37:37,520 --> 00:37:41,720
make have to make the same 
decision every time and learning

650
00:37:41,720 --> 00:37:45,720
from things where you're right 
but but you lost, and vice versa

651
00:37:45,760 --> 00:37:48,680
like you were wrong but you won.
And you have to know that you 

652
00:37:48,680 --> 00:37:51,400
were right and still lost, so 
you don't like change that 

653
00:37:51,400 --> 00:37:54,760
behavior. 
Right, exactly. 

654
00:37:55,600 --> 00:37:58,160
So that's a crazy game. 
And that look, that applies 

655
00:37:58,160 --> 00:38:01,360
perfectly to business, and it 
also applies perfectly to, you 

656
00:38:01,360 --> 00:38:06,760
know, managing the probabilistic
output range of an LLM as well. 

657
00:38:07,360 --> 00:38:11,440
So really our jobs as engineers 
working with LLMS is trying to 

658
00:38:11,880 --> 00:38:15,720
narrow the range of outputs that
it can come up with. 

659
00:38:16,400 --> 00:38:19,720
And then we assemble, you know, 
committees and hierarchies of 

660
00:38:19,720 --> 00:38:26,000
LLMS to make sure that, you 
know, humans less involved 

661
00:38:26,000 --> 00:38:28,760
because we can't do human review
on everything. 

662
00:38:29,360 --> 00:38:34,600
And really what's maybe missing 
on most engineering teams is 

663
00:38:34,600 --> 00:38:38,640
like the idea that humans have 
to review everything. 

664
00:38:38,640 --> 00:38:42,840
That's like, well, do they, you 
know, because think of the, you 

665
00:38:42,840 --> 00:38:44,880
know, the stakes. 
When the stakes are low, you 

666
00:38:44,880 --> 00:38:47,440
should let AI do it. 
When the stakes are high, you 

667
00:38:47,440 --> 00:38:50,560
should absolutely have humans 
spend the most time there and 

668
00:38:50,680 --> 00:38:53,440
not all all things to review are
equal. 

669
00:38:53,720 --> 00:38:56,560
Yeah, that definitely terrifies 
me because like I, I'm 

670
00:38:56,560 --> 00:39:00,640
definitely still stuck in the 
mindset that I don't want to 

671
00:39:00,640 --> 00:39:04,280
allow the possibility of bad 
code going to my code base. 

672
00:39:04,280 --> 00:39:07,840
So I'm the bottleneck reviewing 
everything, right? 

673
00:39:08,040 --> 00:39:10,160
And I don't know how to get past
that either. 

674
00:39:10,160 --> 00:39:12,880
Like how did what? 
Like, what safeguards do you put

675
00:39:12,880 --> 00:39:17,000
in place to make sure the right 
code is being generated, the 

676
00:39:17,000 --> 00:39:20,600
right kind of tests are being 
written without verifying it, 

677
00:39:20,600 --> 00:39:24,280
you know? 
Well, and you know, I don't know

678
00:39:24,280 --> 00:39:26,240
which project you're talking 
about, but you're talking about,

679
00:39:26,360 --> 00:39:28,280
you know, your you've got a few 
side projects. 

680
00:39:28,280 --> 00:39:31,440
Any project really. 
But yeah, like for instance, 

681
00:39:31,440 --> 00:39:34,040
like Killswitch is a good 
example because, you know, I'm 

682
00:39:34,040 --> 00:39:36,680
using encryption. 
People have to trust me with 

683
00:39:37,160 --> 00:39:41,440
properly encrypting files and 
text and all of that good stuff 

684
00:39:41,800 --> 00:39:44,880
and yeah, I can't not look at 
that. 

685
00:39:45,680 --> 00:39:48,120
What is What is Killswitch for 
those who don't know? 

686
00:39:49,360 --> 00:39:51,880
I think everyone that watches 
this podcast probably knows, but

687
00:39:51,880 --> 00:39:56,280
it it's, it's essentially like 
an encrypted document storage 

688
00:39:56,520 --> 00:40:00,400
with deadman switches. 
So you can add beneficiaries to 

689
00:40:00,560 --> 00:40:03,880
any of your files, notes, 
whatever it may be. 

690
00:40:03,920 --> 00:40:07,840
And then if you stop checking in
and you can set that window 

691
00:40:07,840 --> 00:40:11,560
whatever you want it to be. 
Then it will send out to your 

692
00:40:11,560 --> 00:40:15,560
beneficiaries and don't. 
Go offline. 

693
00:40:16,080 --> 00:40:22,720
Don't go offline for too long, 
but it's been a lot of fun. 

694
00:40:23,000 --> 00:40:27,720
So it's sort of like, you know, 
so yeah, well, like when the 

695
00:40:27,720 --> 00:40:30,240
time when the the switch 
triggers, 'cause you haven't 

696
00:40:30,240 --> 00:40:34,800
responded, like, you know, your 
special set of secret stuff is 

697
00:40:34,800 --> 00:40:36,440
released. 
Yeah, that's. 

698
00:40:36,480 --> 00:40:38,240
Be careful. 
And so forth. 

699
00:40:38,480 --> 00:40:43,920
Well, so one thing that's cool, 
I basically I create like 

700
00:40:44,080 --> 00:40:49,800
signing tokens for each share 
link that's created. 

701
00:40:49,800 --> 00:40:53,400
So like every person that 
receives access to your 

702
00:40:53,400 --> 00:40:55,960
document, you can revoke at your
level. 

703
00:40:55,960 --> 00:40:59,440
So like if things accidentally 
go out, you can revoke 

704
00:40:59,440 --> 00:41:02,280
everything and then they lose 
access as long as they haven't 

705
00:41:02,280 --> 00:41:03,520
already downloaded it. 
But. 

706
00:41:04,440 --> 00:41:06,160
Right. 
Yeah, I don't think we've 

707
00:41:06,400 --> 00:41:13,040
managed to create the, what's 
the word, the the encryption for

708
00:41:13,040 --> 00:41:15,200
like once his hit human 
eyeballs. 

709
00:41:15,200 --> 00:41:16,720
Yeah, yeah, with. 
Basically. 

710
00:41:16,720 --> 00:41:23,080
Unencrypted black flash just. 
Are you flashy theme me? 

711
00:41:23,440 --> 00:41:27,480
Yeah. 
So all right, I'm going to just 

712
00:41:27,480 --> 00:41:30,840
put this on hold for one second 
and play a quick add and then 

713
00:41:31,000 --> 00:41:34,080
we'll be right back. 
Hey, I'm Kimberly with Elixir 

714
00:41:34,080 --> 00:41:37,560
mentor Jacob recently added 
recruitment services to help 

715
00:41:37,560 --> 00:41:39,760
companies hire pre vetted Elixir
devs. 

716
00:41:40,280 --> 00:41:43,520
I help with company outreach, so
if you're hiring, I may be 

717
00:41:43,520 --> 00:41:46,520
reaching out, or you can connect
with us anytime at 

718
00:41:46,520 --> 00:41:51,000
elixirmentor.com. 
Coding Elixir with AI or 

719
00:41:51,000 --> 00:41:53,000
building AI into your Elixir 
apps? 

720
00:41:53,240 --> 00:41:56,720
The Elixir AI Collective Discord
is your community for both. 

721
00:41:56,840 --> 00:42:02,320
Link in the description below 
and we're back now. 

722
00:42:02,320 --> 00:42:03,560
I forgot what we were talking 
about. 

723
00:42:03,600 --> 00:42:05,360
I always. 
Well, we were talking about kill

724
00:42:05,360 --> 00:42:09,720
switch and agentic engineering. 
Yeah, so like. 

725
00:42:10,160 --> 00:42:12,600
Probabilistic stuff. 
Well, I have a question for you 

726
00:42:12,600 --> 00:42:17,800
first, you're using, you're 
using Ash and Elixer and Live 

727
00:42:17,800 --> 00:42:19,000
View I'm. 
Assuming Yep. 

728
00:42:19,240 --> 00:42:21,840
Live view Elixer Ash. 
Yep. 

729
00:42:24,080 --> 00:42:30,000
And how are you finding that? 
Oh, I mean I love it now I would

730
00:42:30,000 --> 00:42:34,760
say so Killswitch, I feel like I
went into kind of already like 

731
00:42:35,040 --> 00:42:39,400
get I I got it like I know how 
to use ash now, but like with 

732
00:42:39,400 --> 00:42:42,520
projects prior to it, I was 
like, I know how to do this the 

733
00:42:42,520 --> 00:42:45,520
normal way. 
How do I do this the ash way and

734
00:42:45,520 --> 00:42:48,720
that was like the hardest thing 
right 'cause then you're like 

735
00:42:48,720 --> 00:42:50,920
OK, I can do this multi tenant 
app. 

736
00:42:50,920 --> 00:42:55,880
I know how to do this with just 
migrations and my database, but 

737
00:42:55,880 --> 00:42:59,040
how the F do I do this in Ash? 
And like so I would have moments

738
00:42:59,040 --> 00:43:00,880
like that where I would I just 
beat my head on the table and 

739
00:43:00,880 --> 00:43:05,160
then it's as simple as adding a 
freaking one liner to to your 

740
00:43:05,200 --> 00:43:09,000
resource, you know, and you have
a multi tenant application 

741
00:43:09,000 --> 00:43:12,480
essentially. 
And but so like once you know 

742
00:43:12,480 --> 00:43:14,560
those tricks, Ash is amazing, 
right? 

743
00:43:14,560 --> 00:43:19,400
Because now I can make things 
multi tenant or, you know, yeah,

744
00:43:19,520 --> 00:43:23,360
multi tenancy ability with one 
liners and config files 

745
00:43:23,360 --> 00:43:27,120
essentially. 
Yeah. 

746
00:43:27,240 --> 00:43:29,960
And the idea is that, you know, 
like in 30 years, I've built a 

747
00:43:29,960 --> 00:43:33,400
lot of apps, I've seen a lot of 
apps being built and you see the

748
00:43:33,400 --> 00:43:34,960
same patterns over and over 
again. 

749
00:43:35,640 --> 00:43:38,680
And so it was always funny that,
you know, it was always the the 

750
00:43:38,680 --> 00:43:43,840
Super, you know, battle scarred 
super senior engineers that got 

751
00:43:43,840 --> 00:43:46,320
ash straight away because it was
like, oh God, I don't have to do

752
00:43:46,320 --> 00:43:50,880
this thing again because it's 
like someone solved this 

753
00:43:50,880 --> 00:43:53,240
problem, like for real this 
time. 

754
00:43:54,600 --> 00:44:01,000
And, you know, it's funny that 
you know, as we, you know, tried

755
00:44:01,000 --> 00:44:05,920
to explain Ash to people, Zach 
and I sort of went to Elixir 

756
00:44:05,920 --> 00:44:10,440
conf in the US and I think it 
was 22 and we were trying to 

757
00:44:10,440 --> 00:44:13,520
explain it to people and it just
didn't land at all. 

758
00:44:13,920 --> 00:44:16,400
And it's, it's like the people 
that really got it were like, 

759
00:44:16,480 --> 00:44:19,160
oh, you solve these problems so 
I don't have to do it again. 

760
00:44:20,000 --> 00:44:24,200
And then the, you know, the 
people that are less experienced

761
00:44:24,200 --> 00:44:27,440
actually have an easier time 
going, Oh, like, I don't have to

762
00:44:27,920 --> 00:44:29,840
know how to do that. 
Like, it just does it for me. 

763
00:44:29,960 --> 00:44:32,360
Oh, awesome. 
And so it ended up being like 

764
00:44:32,360 --> 00:44:35,840
almost like a Midwick meme. 
So like the the people in the 

765
00:44:35,840 --> 00:44:39,720
middle, like who are still 
cutting their teeth learning how

766
00:44:39,720 --> 00:44:42,960
to code and haven't made all the
mistakes yet, actually want to 

767
00:44:42,960 --> 00:44:46,960
write code and want to learn by 
making the mistakes themselves 

768
00:44:47,240 --> 00:44:49,960
without having it spoon fed to 
them. 

769
00:44:49,960 --> 00:44:55,200
And so actually in the middle of
the sort of range of experience 

770
00:44:55,200 --> 00:44:59,160
were the most resistant to ash 
ideas because it's interesting. 

771
00:44:59,160 --> 00:45:02,480
Well I I just got my coding 
badge and I need to learn this 

772
00:45:02,480 --> 00:45:05,520
stuff myself so. 
You feel like like the like mid 

773
00:45:05,520 --> 00:45:08,480
level developers are the least 
likely to like Ash? 

774
00:45:09,400 --> 00:45:12,520
And just hate it in our 
experience. 

775
00:45:12,520 --> 00:45:15,240
Well, like, obviously that's a 
generalization, but we've talked

776
00:45:15,240 --> 00:45:18,360
to a lot of people and the most 
resistance comes from, you know,

777
00:45:18,360 --> 00:45:21,240
the middle. 
Well, I also feel like like 

778
00:45:21,240 --> 00:45:26,040
Elixir is stuffed full of a lot 
of senior level people as well. 

779
00:45:26,120 --> 00:45:30,200
Like, yeah, we have our 
beginners, but a lot of us come 

780
00:45:30,200 --> 00:45:34,960
from the battles and headaches 
of other tech stacks. 

781
00:45:34,960 --> 00:45:37,160
And then when we find Elixir, 
we're like, we're never leaving.

782
00:45:38,440 --> 00:45:40,040
So I think there's that too, 
right? 

783
00:45:40,040 --> 00:45:42,560
I don't have any plans to leave.
I don't want to. 

784
00:45:43,720 --> 00:45:47,600
I made-up my other job, I 
made-up my own jobs just so I 

785
00:45:47,600 --> 00:45:50,920
could write Elixir before I, you
know, got my official first 

786
00:45:50,920 --> 00:45:54,560
Elixir paying job, you know? 
Hey I started a company so I 

787
00:45:54,560 --> 00:45:57,040
could do. 
This Yeah, I did the same thing,

788
00:45:57,040 --> 00:46:00,000
but I struggled. 
I tried to start a consultancy 

789
00:46:00,000 --> 00:46:03,760
and it was hard. 
I just like, I suck at getting 

790
00:46:03,760 --> 00:46:05,320
clients and it was a lot of hard
work. 

791
00:46:05,320 --> 00:46:08,280
And then I ended up just like 
getting a lot of website clients

792
00:46:08,280 --> 00:46:09,520
and I was like, well, this 
sucks. 

793
00:46:09,520 --> 00:46:11,320
I don't want to just make 
websites all day. 

794
00:46:12,480 --> 00:46:15,400
Yeah, I mean, look, running your
own business is hard. 

795
00:46:16,200 --> 00:46:19,520
You know the founder out there. 
You know found a life. 

796
00:46:19,520 --> 00:46:22,320
If you know, you know. 
I'm stuck in it for some reason 

797
00:46:22,320 --> 00:46:27,160
I can't stop torturing myself. 
Well, once it, it's a double 

798
00:46:27,160 --> 00:46:30,880
edged sword, right? 
It's sort of like you get more 

799
00:46:30,880 --> 00:46:37,880
freedom from the traditional 
employment relationship, but you

800
00:46:37,880 --> 00:46:43,640
know, at a cost of there's a lot
of you actually get more 

801
00:46:43,640 --> 00:46:48,040
freedom, but less because, you 
know, your boss just shifts to, 

802
00:46:48,360 --> 00:46:51,200
you know, something else. 
I don't know for my own, for all

803
00:46:51,200 --> 00:46:53,920
my projects, my boss is a real 
asshole. 

804
00:46:55,000 --> 00:46:57,360
Right. 
And sometimes you are your own 

805
00:46:57,360 --> 00:46:58,720
worst boss. 
Exactly. 

806
00:46:58,960 --> 00:47:01,880
Like I'm probably harder on 
myself than oh dude. 

807
00:47:02,320 --> 00:47:05,640
I don't give myself any breaks. 
It's just like, OK, day job is 

808
00:47:05,640 --> 00:47:08,160
over, now you're grinding until 
you can't stay awake. 

809
00:47:09,600 --> 00:47:12,800
Right. 
So yes, the, the grind is real. 

810
00:47:12,800 --> 00:47:16,520
And look, nine years of, of 
running a consultancy, yeah, 

811
00:47:16,520 --> 00:47:19,960
it's been a challenge. 
And look, it's been, I mean, I, 

812
00:47:19,960 --> 00:47:24,840
I know a ton of the Elixir 
agencies and certainly it's been

813
00:47:24,840 --> 00:47:27,080
a while since I caught up with 
like a lot of the other 

814
00:47:27,120 --> 00:47:30,640
consultants, more consultant 
consultancy and sort of studios 

815
00:47:30,640 --> 00:47:32,440
and agencies around Sydney and 
Australia. 

816
00:47:32,920 --> 00:47:35,440
But I know a bunch of them and 
not everyone made it through the

817
00:47:35,440 --> 00:47:38,840
last sort of 3-4 years. 
I feel like the last four years 

818
00:47:38,840 --> 00:47:41,720
have been rough. 
Brutal. 

819
00:47:41,720 --> 00:47:45,520
I think brutal. 
So, you know, like even just 

820
00:47:45,520 --> 00:47:48,920
surviving through that is 
definitely success. 

821
00:47:49,560 --> 00:47:54,640
And, you know, because not 
everyone made it and certainly, 

822
00:47:55,240 --> 00:48:00,200
you know, wallets and purses 
snapshot about yeah, after post 

823
00:48:00,200 --> 00:48:03,760
COVID and like, you know, there 
was free money for a bit and 

824
00:48:03,760 --> 00:48:07,600
then suddenly there wasn't. 
So the 0 the zerp or the 0 

825
00:48:07,600 --> 00:48:10,360
interest rate meant that 
basically borrowing money was 

826
00:48:10,480 --> 00:48:13,560
effectively free. 
And so there was a little party 

827
00:48:13,560 --> 00:48:16,360
for a while and there was lots 
of money and lots of, you know, 

828
00:48:16,400 --> 00:48:18,840
craziness going on. 
And then reality bites. 

829
00:48:18,840 --> 00:48:20,680
And you know versus a snapshot 
the. 

830
00:48:20,680 --> 00:48:23,680
Fake growth bubble or whatever 
you want to call it. 

831
00:48:25,000 --> 00:48:29,480
Because I feel like even like 
like SAS companies or tech 

832
00:48:29,480 --> 00:48:32,680
companies in general, not just 
consultancies, they all just 

833
00:48:32,680 --> 00:48:36,680
bloated their payroll and then 
they mass laid off and we're 

834
00:48:36,680 --> 00:48:41,440
still seeing that now. 
Yeah, I mean, the the news 

835
00:48:41,440 --> 00:48:43,760
recently was blocked doing 
exactly that. 

836
00:48:44,080 --> 00:48:47,480
Yeah. 
And you know, funnily enough, I 

837
00:48:47,480 --> 00:48:53,960
do know the head of engineering 
of Block and he came out, he 

838
00:48:53,960 --> 00:48:58,320
lives in overseas and came out 
for Christmas one time. 

839
00:48:58,320 --> 00:49:00,440
And he's talking about just how 
many engineers they had. 

840
00:49:00,440 --> 00:49:03,920
And I'm like, I can't even 
reason about how many engineers 

841
00:49:03,920 --> 00:49:05,120
you have, buddy. 
Like, what do you do with them 

842
00:49:05,120 --> 00:49:10,720
all, you know? 
And so I guess I got my answer a

843
00:49:10,720 --> 00:49:14,000
week ago. 
It's like actually maybe you had

844
00:49:14,000 --> 00:49:18,040
a few too many. 
And so that wasn't, I think, 

845
00:49:18,040 --> 00:49:22,720
just an AI story, although 
that's a nice take for, you 

846
00:49:22,720 --> 00:49:25,520
know, the investor crowd. 
And it's a it's an easy story to

847
00:49:25,520 --> 00:49:27,640
swallow, but I don't think that 
was the whole story. 

848
00:49:28,080 --> 00:49:32,680
Yeah, No, I agree. 
I think well, I think so like 

849
00:49:32,680 --> 00:49:36,800
Collects is my day job really 
awesome company, right. 

850
00:49:36,800 --> 00:49:42,280
And they're very bold like our 
CEO and CTO are very bold on 

851
00:49:42,280 --> 00:49:46,400
like AI moving forward. 
But like no one at our company 

852
00:49:46,400 --> 00:49:51,440
talks as AI is like a 
replacement, more just like like

853
00:49:51,440 --> 00:49:54,960
an accelerator for all of us. 
Like it adds super powers to all

854
00:49:54,960 --> 00:49:58,240
of us. 
And so we always talk about how 

855
00:49:58,240 --> 00:50:01,040
we use it and what our workflows
look like. 

856
00:50:01,040 --> 00:50:04,480
And we have like weekly calls 
about it, just so like if 

857
00:50:04,480 --> 00:50:06,920
someone starts doing something 
differently, but it works really

858
00:50:06,920 --> 00:50:12,520
well, we all talk about it. 
Yeah, yeah, we're doing the 

859
00:50:12,520 --> 00:50:14,520
same. 
And you know, look, it's hard to

860
00:50:14,520 --> 00:50:17,280
keep up. 
There's 4 Claude releases of 

861
00:50:17,280 --> 00:50:20,480
Claude code per day. 
It's like it's just keeping up 

862
00:50:20,480 --> 00:50:25,320
with that is difficult. 
You know, I was describing it to

863
00:50:25,800 --> 00:50:32,640
my business partner and wife, 
you know, because she isn't like

864
00:50:32,640 --> 00:50:34,840
she's like, oh, why aren't we 
just sharing all this stuff? 

865
00:50:34,880 --> 00:50:38,440
And I'm like, it's like having 
Christmas every hour and you're 

866
00:50:38,560 --> 00:50:40,760
opening all your presents and 
you don't have time to get to 

867
00:50:40,760 --> 00:50:42,120
them all. 
And certainly the ones you've 

868
00:50:42,120 --> 00:50:44,040
opened, you don't even have time
to play with. 

869
00:50:44,480 --> 00:50:47,680
And so there's this giant pile 
of toys behind you and you're 

870
00:50:47,680 --> 00:50:50,920
like, this Christmas sucks. 
Like, I don't even play with any

871
00:50:50,920 --> 00:50:53,480
of my toys. 
It's just all the dopamine of 

872
00:50:53,480 --> 00:50:55,760
opening the presents and going, 
oh, maybe this is good. 

873
00:50:55,880 --> 00:50:59,040
I don't know, I can't even keep 
up on like just reading the 

874
00:50:59,040 --> 00:51:02,120
change logs and I'm trying to be
a better person about that. 

875
00:51:03,720 --> 00:51:06,600
Right. 
Oh, but you know, like, I think 

876
00:51:06,800 --> 00:51:10,120
you can probably agree that 
we're able to do much more now. 

877
00:51:11,000 --> 00:51:13,920
And we don't know where the 
limits are either. 

878
00:51:14,200 --> 00:51:17,680
It's like, what are the limits? 
We don't know. 

879
00:51:18,160 --> 00:51:20,160
And people are busy finding it 
out. 

880
00:51:20,400 --> 00:51:27,080
And I think, you know, I think 
who said it, I think it was Karl

881
00:51:27,080 --> 00:51:32,520
Pathey may have said, like I've 
never felt so behind because you

882
00:51:32,520 --> 00:51:34,960
can sort of see where the 
possibilities are and you're not

883
00:51:34,960 --> 00:51:36,720
there. 
And it's almost like a a 

884
00:51:36,720 --> 00:51:39,280
restatement of Dunning Kruger 
where the people that know the 

885
00:51:39,280 --> 00:51:42,720
most actually think they're the 
dumbest, know the least because 

886
00:51:42,720 --> 00:51:45,640
of they they're aware of how 
much there is to know and how 

887
00:51:45,640 --> 00:51:49,920
little they actually know in 
relative amounts to to the 

888
00:51:50,200 --> 00:51:52,240
total. 
The Dunning Kruger curve is 

889
00:51:52,440 --> 00:51:52,800
real. 
It's. 

890
00:51:54,080 --> 00:51:56,120
Totally real. 
And so the people that are most 

891
00:51:56,800 --> 00:51:59,960
knowledgeable actually think 
they are the least knowledgeable

892
00:51:59,960 --> 00:52:02,080
because they know what's 
possible. 

893
00:52:02,120 --> 00:52:05,200
And except for Mike Hostetler, I
can't keep up with that guy. 

894
00:52:05,320 --> 00:52:07,760
Can you keep up with him? 
No. 

895
00:52:08,360 --> 00:52:11,640
I think he's running agents in 
his own brain and he's just 

896
00:52:11,800 --> 00:52:13,280
always working. 
I don't even know. 

897
00:52:14,000 --> 00:52:16,800
I I keep chatting to Mike and 
I'm like, Oh my God, dude. 

898
00:52:16,840 --> 00:52:18,600
Like I don't know how you do it 
all. 

899
00:52:19,160 --> 00:52:21,400
I don't either. 
Trying to figure it out myself. 

900
00:52:23,520 --> 00:52:25,280
Some level of LLMS is the 
answer. 

901
00:52:25,280 --> 00:52:29,920
But yeah, it's like, you know, I
always thought Jose Velim was 

902
00:52:29,920 --> 00:52:32,960
like 10 developers in a in a 
long trench coat. 

903
00:52:33,640 --> 00:52:36,680
Like how does he keep doing what
he's doing for as long as he's 

904
00:52:36,680 --> 00:52:40,120
done it, dude. 
For him, Zach Daniel is another 

905
00:52:40,120 --> 00:52:43,480
one, like I don't know how he 
does everything and like how 

906
00:52:43,480 --> 00:52:46,520
responsive he is too with like 
Ash questions. 

907
00:52:46,520 --> 00:52:50,080
Like dude, I don't even want to 
respond to people in my elixir 

908
00:52:50,080 --> 00:52:51,960
discard. 
I mean, I love that everyone's 

909
00:52:51,960 --> 00:52:54,800
in there and I like chatting, 
but it's like when there's like 

910
00:52:54,800 --> 00:52:57,480
a question, it's like, oh, 
that's going to take me like 20 

911
00:52:57,480 --> 00:53:00,440
minutes to actually thoughtfully
answer and. 

912
00:53:00,440 --> 00:53:05,320
I was like no like an SLA of 
milliseconds. 

913
00:53:05,800 --> 00:53:08,280
Yeah. 
And actually, you know, Zach's 

914
00:53:08,720 --> 00:53:13,000
now head of engineering, I think
his his title and he's sort of 

915
00:53:13,120 --> 00:53:15,640
running a pretty massive team at
Remedy Meds. 

916
00:53:16,320 --> 00:53:20,040
And yeah, like I think that has 
tied him up. 

917
00:53:20,760 --> 00:53:22,680
And so he's. 
Slowing down a little, right, 

918
00:53:22,920 --> 00:53:25,640
You know. 
Yeah, we just had to put some 

919
00:53:25,760 --> 00:53:28,960
some anchors on Zach so that he 
could create some space so more 

920
00:53:28,960 --> 00:53:31,480
contributors could come in 
because no one could beat Zach 

921
00:53:31,480 --> 00:53:34,920
to answering questions or. 
Or even writing features. 

922
00:53:37,120 --> 00:53:40,000
And so actually slowing Zach 
down was the best thing to 

923
00:53:40,000 --> 00:53:42,600
happen to the Ash ecosystem, 
ironically. 

924
00:53:42,600 --> 00:53:44,840
Like, you wouldn't think that 
would be true, but it's like, 

925
00:53:45,560 --> 00:53:49,760
you know, I I definitely, you 
know, begged Zach to like, just 

926
00:53:49,760 --> 00:53:52,600
create some room for other 
people to step in and he 

927
00:53:52,600 --> 00:53:54,680
couldn't. 
And so actually like. 

928
00:53:54,680 --> 00:53:58,080
I get it, when something is your
baby, it's hard to it's your. 

929
00:53:58,200 --> 00:54:00,160
Baby right? 
And you know, yeah. 

930
00:54:00,760 --> 00:54:04,840
And he was like his I guess 
iterative OODA loop. 

931
00:54:06,000 --> 00:54:11,400
If anyone knows that, it's the 
observe, Orient, decide and act 

932
00:54:11,720 --> 00:54:14,240
his OODA loops, which is so fast
no one could compete. 

933
00:54:14,920 --> 00:54:19,080
And basically, yeah, there was 
an interesting and recent chat 

934
00:54:19,080 --> 00:54:25,400
where he described the the OODA 
loop and it's kind of a 

935
00:54:25,400 --> 00:54:29,720
generally applicable thing and 
it's worth calling out the 

936
00:54:29,720 --> 00:54:32,280
story. 
But it was created or sort of 

937
00:54:32,400 --> 00:54:36,640
coined by a fighter pilot. 
And basically this fighter pilot

938
00:54:36,640 --> 00:54:41,880
was just so fast at orienting, 
observing, orienting, deciding 

939
00:54:41,880 --> 00:54:45,480
and acting that he won every 
dogfight. 

940
00:54:45,840 --> 00:54:49,920
And so it was about having a 
tighter OODA loop than your 

941
00:54:49,920 --> 00:54:55,080
competitors or adversaries in a,
in a sort of aerial dogfight. 

942
00:54:55,960 --> 00:55:01,120
Because if you can do the 
Orient, observe, Orient, decide 

943
00:55:01,120 --> 00:55:04,320
and act faster, you've changed 
the state of the world. 

944
00:55:04,680 --> 00:55:08,520
And if your opponent's OODA loop
is slower, they have to start 

945
00:55:08,520 --> 00:55:11,280
again. 
And so if they've only got to 

946
00:55:11,280 --> 00:55:14,760
deciding and they haven't acted 
yet, if you've acted and they 

947
00:55:14,760 --> 00:55:17,400
see that, then they have to 
start and observe and, or, and 

948
00:55:17,800 --> 00:55:22,120
you actually create, if you're 
tight enough of a loop, you 

949
00:55:22,120 --> 00:55:24,440
create a psychological break 
because you can never do 

950
00:55:24,440 --> 00:55:27,360
anything because you have to 
keep starting again. 

951
00:55:29,840 --> 00:55:33,160
And, and that was like a 
completely wild idea. 

952
00:55:33,520 --> 00:55:37,920
And I, I think, you know, 
definitely applicable to a lot 

953
00:55:37,920 --> 00:55:43,080
of scenarios, but I mean, the 
OODA loop is also the scientific

954
00:55:43,080 --> 00:55:46,200
method, right? 
It's sort of keep trying some 

955
00:55:46,200 --> 00:55:50,240
things and seeing what happens 
and depending on the response 

956
00:55:50,240 --> 00:55:53,520
from the world, learn some 
things and do it again. 

957
00:55:54,240 --> 00:55:59,000
And you know, what is FAFO? 
Can we swear on this show? 

958
00:55:59,520 --> 00:56:01,320
Yeah, I mean, it's YouTube I 
think. 

959
00:56:01,520 --> 00:56:04,240
You know, it's fuck around and 
find out is the scientific 

960
00:56:04,240 --> 00:56:06,800
method. 
It's like do some things, learn,

961
00:56:08,240 --> 00:56:09,880
rinse and repeat. 
That's all it is. 

962
00:56:10,160 --> 00:56:13,600
And you know, it's interesting 
that we're seeing that, you 

963
00:56:13,600 --> 00:56:20,160
know, you program LMS to do that
and you get sort of evolutionary

964
00:56:20,160 --> 00:56:24,840
intelligence. 
And, you know, I was kind of 

965
00:56:24,840 --> 00:56:29,080
joking about AGI getting closer 
because Jeff Huntley is 

966
00:56:29,120 --> 00:56:32,120
rediscovering ash and elixir 
like he it's. 

967
00:56:32,160 --> 00:56:37,280
Cool to see people talking about
it at like, you know, the access

968
00:56:37,920 --> 00:56:41,560
of you know, the popularity of 
these people bringing elixir 

969
00:56:41,560 --> 00:56:43,920
back into the game. 
I also. 

970
00:56:43,920 --> 00:56:46,200
Well, I think. 
Someone like this isn't going to

971
00:56:46,200 --> 00:56:49,120
surprise you, but the Rusk 
community wants to rebuild 

972
00:56:49,120 --> 00:56:52,640
Erlang and Rust. 
Like, well, I mean, I think 

973
00:56:52,640 --> 00:56:55,720
we've tried that a few times 
ourselves, the Elixir community 

974
00:56:55,720 --> 00:57:00,440
and look, I'm here for it. 
I mean, it's a difficult, it's a

975
00:57:00,440 --> 00:57:04,240
difficult thing to do because 
there's more to beam than meets 

976
00:57:04,240 --> 00:57:06,040
the eye. 
And I think there's a pretty 

977
00:57:06,040 --> 00:57:09,440
interesting Twitter, I'm not 
going to call it the new thing 

978
00:57:09,880 --> 00:57:12,760
Twitter conversation recently 
about exactly that. 

979
00:57:12,960 --> 00:57:15,040
And I think, you know, it's sort
of like, oh, you don't 

980
00:57:15,040 --> 00:57:18,200
understand the beam. 
You know, language wars. 

981
00:57:18,200 --> 00:57:21,080
We don't have them very often, 
but you know, it helps to be 

982
00:57:22,240 --> 00:57:25,920
unfailing and welcoming. 
I. 

983
00:57:25,920 --> 00:57:28,400
Sound like a broken record on my
podcast at least. 

984
00:57:28,400 --> 00:57:32,480
Because what's wild to me is 
like Beam and Erlang solved all 

985
00:57:32,480 --> 00:57:36,240
of our problems today back in 
the mid 80s. 

986
00:57:37,360 --> 00:57:39,760
I'm. 
Having the same problems, it's 

987
00:57:39,760 --> 00:57:43,560
just a different different mask 
on them or whatever you want to 

988
00:57:43,560 --> 00:57:46,680
call it. 
Well, what I've been seeing the 

989
00:57:46,680 --> 00:57:51,800
last sort of month or so is 
people basically putting an LLM 

990
00:57:51,800 --> 00:57:56,080
inside their Kubernetes cluster 
and then going, oh, we can spot 

991
00:57:56,080 --> 00:58:00,280
the problems and like fix them 
and like restart the thing. 

992
00:58:00,280 --> 00:58:03,320
And I'm like, oh, like self 
healing systems. 

993
00:58:04,120 --> 00:58:07,560
You know, Erlang's had that 
since 1986, man, 40 years of 

994
00:58:07,560 --> 00:58:10,240
self healing systems. 
I want to get AT shirt actually 

995
00:58:10,320 --> 00:58:15,400
self healing since 1986. 
And so what's interesting about 

996
00:58:15,400 --> 00:58:17,520
that is part of that is self 
healing. 

997
00:58:18,560 --> 00:58:21,360
And you know, obviously with 
supervision trees and limiting 

998
00:58:22,080 --> 00:58:26,640
the blast radius, you know, you 
can fix the problem, limit its 

999
00:58:27,080 --> 00:58:31,040
blast radius and not affect 
other things and restart it in a

1000
00:58:31,040 --> 00:58:35,840
known good state. 
So you know that is a a brutally

1001
00:58:35,840 --> 00:58:39,640
effective and simple strategy. 
It seems complicated, but it's 

1002
00:58:39,640 --> 00:58:44,320
like no, just start, have a tree
of things and then let something

1003
00:58:44,640 --> 00:58:47,240
fails. 
Crash and start it back up. 

1004
00:58:47,960 --> 00:58:49,680
Start it back up in a known good
state. 

1005
00:58:49,760 --> 00:58:53,200
I mean, how do you fix most 
technical problems that it's, 

1006
00:58:53,360 --> 00:58:55,440
yeah, you know, have? 
You tried unplugging it and 

1007
00:58:55,440 --> 00:58:56,680
plugging it back in? 
Have you tried? 

1008
00:58:57,080 --> 00:58:58,400
Turning it on and turning it off
again. 

1009
00:58:58,400 --> 00:59:03,160
Turning it off and turning it on
again, that's basically the beam

1010
00:59:03,160 --> 00:59:06,160
in a nutshell. 
In terms of how you need to 

1011
00:59:06,160 --> 00:59:09,320
understand supervision trees. 
It's like, you know, and the 

1012
00:59:09,320 --> 00:59:13,720
bigger the tree and the smaller 
the pieces, the less, you know, 

1013
00:59:13,840 --> 00:59:16,040
impact. 
Any failure at any part of the 

1014
00:59:16,040 --> 00:59:18,000
system can affect any other part
of the system. 

1015
00:59:19,160 --> 00:59:24,080
And that's such a brutally 
simple idea, and I don't think 

1016
00:59:24,080 --> 00:59:27,160
people appreciate the elegance 
and simplicity of that as much 

1017
00:59:27,160 --> 00:59:29,320
as they should. 
And people think it's the actor 

1018
00:59:29,320 --> 00:59:31,400
model, which, you know, like, is
it the actor model? 

1019
00:59:32,360 --> 00:59:37,360
Certainly BEAM was invented and 
Erlang sort of VM was invented 

1020
00:59:38,440 --> 00:59:40,880
before the actor model existed. 
And they were like, Oh yeah, it 

1021
00:59:40,880 --> 00:59:42,200
just happens to be the same 
thing. 

1022
00:59:43,040 --> 00:59:45,880
But you know, what are Gen. 
servers other than OO? 

1023
00:59:46,360 --> 00:59:49,080
You've got this container of 
state where you encapsulate 

1024
00:59:49,160 --> 00:59:52,120
state and you talk to it through
a message passing, which is what

1025
00:59:52,120 --> 00:59:55,440
Alan Kay actually meant by OO. 
He was like, Oh yeah that's what

1026
00:59:55,440 --> 00:59:57,520
I meant. 
Like not objects and an 

1027
00:59:57,520 --> 00:59:59,760
inheritance. 
Dude, I wish. 

1028
01:00:00,360 --> 01:00:02,680
Honestly I wish it would have 
saved me a lot of time. 

1029
01:00:02,680 --> 01:00:05,680
My learning curve when I learned
how to program with object 

1030
01:00:05,680 --> 01:00:08,760
oriented programming was so 
difficult I could not wrap my 

1031
01:00:08,760 --> 01:00:11,280
head around. 
It wasn't just you mate. 

1032
01:00:11,680 --> 01:00:15,560
Yeah, I didn't understand. 
Like inheritance sort of made 

1033
01:00:15,560 --> 01:00:18,760
this logical sense, but it 
didn't make any sense at all. 

1034
01:00:19,360 --> 01:00:23,600
Like I'm like this seems simple 
but it's why is it so wrong? 

1035
01:00:24,080 --> 01:00:26,040
And then like. 
Probably. 

1036
01:00:26,400 --> 01:00:29,080
It probably took me over a 
decade to figure that out. 

1037
01:00:29,640 --> 01:00:34,000
Well, and it, it, it has so many
flaws, which is why we have so 

1038
01:00:34,000 --> 01:00:38,880
many patterns to follow, right? 
Because if you don't follow 

1039
01:00:38,880 --> 01:00:42,400
specific architectural patterns,
you're going to have a hell of a

1040
01:00:42,400 --> 01:00:45,120
time debugging or having a 
stable project. 

1041
01:00:45,800 --> 01:00:49,480
And then like all of these like 
patterns in Elixir and Erlang, 

1042
01:00:50,280 --> 01:00:53,240
you just have to use the 
language and there's just a way 

1043
01:00:53,240 --> 01:00:55,720
to use it. 
And you don't really follow a 

1044
01:00:55,720 --> 01:00:58,200
specific patterns, you're just 
using patterns because that's 

1045
01:00:58,200 --> 01:01:02,880
just how things work. 
And here's The thing is that you

1046
01:01:02,880 --> 01:01:07,080
know, you and I probably took a 
decade long plus detour into OO 

1047
01:01:07,080 --> 01:01:11,600
and never felt like we got it 
and I probably beat myself up 

1048
01:01:11,600 --> 01:01:13,640
going. 
You must be really dumb if you 

1049
01:01:13,640 --> 01:01:17,200
can't understand dude. 
You know what I the most out of 

1050
01:01:18,120 --> 01:01:20,280
OO world is? 
Singletons. 

1051
01:01:21,560 --> 01:01:25,560
And just like shared state and 
the fact that you can fuck 

1052
01:01:25,560 --> 01:01:29,680
around with an object in 
multiple places and have race 

1053
01:01:29,680 --> 01:01:33,200
conditions that are almost 
impossible to track down and 

1054
01:01:33,200 --> 01:01:36,440
just alter data without knowing 
where it's being altered from, 

1055
01:01:36,440 --> 01:01:39,440
that drives me insane. 
It's funny that you mentioned 

1056
01:01:39,440 --> 01:01:45,520
singletons, but you know, yes, 
scars were had because I did 

1057
01:01:45,520 --> 01:01:50,320
like Java and Ejbs and like, you
know, Spring came along as 

1058
01:01:50,320 --> 01:01:53,400
dependency injection, which 
wasn't the best dependency 

1059
01:01:53,400 --> 01:01:56,720
injection solution by any 
stretch because it was all XML 

1060
01:01:56,720 --> 01:02:00,040
and like. 
And I'm like, what I realized 

1061
01:02:00,120 --> 01:02:05,520
actually a long time later is 
that, yeah, when I joined the 

1062
01:02:05,520 --> 01:02:09,440
mob in, in London hacking away, 
it was like the early Footworks 

1063
01:02:09,440 --> 01:02:12,560
office and they were building 
their own dependency injection 

1064
01:02:12,560 --> 01:02:15,600
framework. 
And what I realised a lot later 

1065
01:02:15,600 --> 01:02:19,200
is that I'd actually been doing 
exactly the same thing in my 

1066
01:02:19,200 --> 01:02:24,440
Java files because I'm like, oh,
well, I've got 2 implementations

1067
01:02:24,440 --> 01:02:26,640
of this interface. 
And I'm like, you know, they're 

1068
01:02:26,640 --> 01:02:30,200
sort of structural strategies. 
I'm like, I want to boot up my 

1069
01:02:30,200 --> 01:02:35,920
app with one or the other, like 
depending on what I need when I 

1070
01:02:35,920 --> 01:02:38,040
run it. 
And I'm like, well, how can you 

1071
01:02:38,040 --> 01:02:42,440
do that? 
And what I realized was, oh, 

1072
01:02:42,440 --> 01:02:45,800
well, you just need to be able 
to dynamically set from outside 

1073
01:02:45,800 --> 01:02:48,880
what the implementation is. 
And you could pass that as a 

1074
01:02:48,880 --> 01:02:52,920
parameter to your program. 
But what I decided to use was if

1075
01:02:52,920 --> 01:02:56,240
you remember Java properties 
files that basically were just 

1076
01:02:56,560 --> 01:02:58,520
kind of like tunnel. 
Sadly, I do. 

1077
01:02:58,520 --> 01:03:01,640
Remember it was just a key 
equals of that value. 

1078
01:03:02,920 --> 01:03:04,720
Kind of like an environment file
or whatever. 

1079
01:03:04,720 --> 01:03:08,480
It was just key equals value. 
Dude, I remember. 

1080
01:03:08,480 --> 01:03:12,880
And So what I did was I had like
the interface full qualified 

1081
01:03:12,880 --> 01:03:15,480
package name equals the 
implementation that I wanted. 

1082
01:03:15,920 --> 01:03:19,880
And So what I didn't realise 
until way, way later is like 

1083
01:03:19,920 --> 01:03:23,120
independently had invented 
dependency injection, but you 

1084
01:03:23,120 --> 01:03:26,160
can do impendency dependency 
injection and everyone goes, oh,

1085
01:03:26,200 --> 01:03:28,160
what is that? 
It took me years to figure out 

1086
01:03:28,160 --> 01:03:32,760
it was just pass some arguments 
to your functions and then this 

1087
01:03:32,760 --> 01:03:35,800
is how I teach functional 
programming now is like, well 

1088
01:03:36,320 --> 01:03:40,000
any high school kid, middle 
schools I think learn F of X. 

1089
01:03:40,000 --> 01:03:42,800
When do you learn F of X in 
America you know? 

1090
01:03:43,400 --> 01:03:46,280
That's like algebra. 
So right. 

1091
01:03:46,800 --> 01:03:49,440
I mean, I taught my daughter 
that like F of. 

1092
01:03:49,440 --> 01:03:52,320
XI want to say like freshman, 
sophomore, year of high school 

1093
01:03:53,320 --> 01:03:54,520
probably. 
How old are you at that point? 

1094
01:03:55,760 --> 01:04:00,520
You would be like 14. 
Right. 

1095
01:04:00,720 --> 01:04:03,960
So you knew the secret of 
functional programming at age 

1096
01:04:04,080 --> 01:04:07,800
14, and you were certainly 
capable of understanding it way 

1097
01:04:07,800 --> 01:04:12,040
earlier than that. 
And F of X is it like you know, 

1098
01:04:12,080 --> 01:04:15,720
it's a pure function, it takes 
arguments you don't suddenly 

1099
01:04:15,720 --> 01:04:19,720
grab like other state or 
arguments from anywhere. 

1100
01:04:19,720 --> 01:04:24,760
But X can change over here too. 
Right. 

1101
01:04:24,760 --> 01:04:28,480
I mean I mean imagine maths how 
hard it would be if if suddenly 

1102
01:04:28,480 --> 01:04:30,880
like stuff could change your F 
of X. 

1103
01:04:31,200 --> 01:04:33,480
Yeah. 
Like or it started sending 

1104
01:04:33,480 --> 01:04:38,680
emails or printing stuff out. 
Getting confusing, but yeah, 

1105
01:04:38,680 --> 01:04:41,800
I've always said that. 
I've always said if I started 

1106
01:04:41,800 --> 01:04:43,840
with a functional, like 
immutable language where you're 

1107
01:04:43,840 --> 01:04:46,840
just transforming data and you 
know exactly where it's being 

1108
01:04:46,840 --> 01:04:49,680
changed, it would have been life
changing for me to learn. 

1109
01:04:49,720 --> 01:04:51,160
I would have learned so much 
quicker. 

1110
01:04:52,440 --> 01:04:56,400
And I think, you know, as 
functional programmers, you 

1111
01:04:56,400 --> 01:05:00,240
know, it's probably, you know, 
on us to teach people just how 

1112
01:05:00,240 --> 01:05:02,640
simple it is. 
And, you know, I've done this 

1113
01:05:02,880 --> 01:05:05,880
because people have forgotten 
they got taught or like 

1114
01:05:06,480 --> 01:05:08,920
overcomplicated stuff. 
And if you strip all the 

1115
01:05:08,920 --> 01:05:13,360
nonsense away, it's just F of X.
And that is the most brutally 

1116
01:05:13,360 --> 01:05:16,600
simple and effective way to 
teach functional programming to 

1117
01:05:16,720 --> 01:05:20,920
anyone, even children. 
And so I think actually, you 

1118
01:05:20,920 --> 01:05:26,680
know, in this age, perhaps the 
people that have yet to learn 

1119
01:05:26,680 --> 01:05:31,480
where the limits are and be sort
of taught wrong things probably 

1120
01:05:31,480 --> 01:05:35,200
have more scope to go further 
because they can skip to the end

1121
01:05:35,480 --> 01:05:37,520
without this detour that we've 
had. 

1122
01:05:38,040 --> 01:05:41,680
As you know, we did like a 
decade wasted a decade in the OO

1123
01:05:41,680 --> 01:05:44,040
mines I. 
Mean yeah, I. 

1124
01:05:44,400 --> 01:05:47,960
Mean wasted a decade not 
thinking F of X was the answer 

1125
01:05:48,000 --> 01:05:48,800
just. 
But I also. 

1126
01:05:48,920 --> 01:05:51,920
Think it functions. 
The problem with developers and 

1127
01:05:51,920 --> 01:05:54,960
software engineers is we're like
very hard headed and you never 

1128
01:05:54,960 --> 01:05:59,440
want to be wrong. 
So shifting your mind like like 

1129
01:05:59,680 --> 01:06:01,640
I ignore Elixir for like 2 
years. 

1130
01:06:01,640 --> 01:06:04,080
I had a buddy telling me I like,
you got to check this out, 

1131
01:06:04,080 --> 01:06:05,880
you're going to love it. 
It's like, dude, I don't have 

1132
01:06:05,880 --> 01:06:09,120
time for that. 
I'm busy in node JS bro. 

1133
01:06:10,960 --> 01:06:13,080
When your friends say that, you 
should probably listen. 

1134
01:06:13,200 --> 01:06:15,680
They care. 
About them, well, I, I know, I 

1135
01:06:15,680 --> 01:06:19,080
know and I say it all the time 
because then like I started my 

1136
01:06:19,080 --> 01:06:21,520
own one of my like a 
bootstrapped business. 

1137
01:06:21,520 --> 01:06:24,320
It was a marketplace and I was 
like, all right, let me look 

1138
01:06:24,320 --> 01:06:28,320
into this elixir thing and like 
on paper I was like, OK, this is

1139
01:06:28,920 --> 01:06:31,080
this is what I need. 
This is perfect. 

1140
01:06:31,440 --> 01:06:34,680
And like on paper, I understood 
the shiny things and then I 

1141
01:06:34,680 --> 01:06:39,120
started learning it and I 
definitely didn't understand 

1142
01:06:39,120 --> 01:06:44,000
supervision trees and Genservers
and like OTP and all this stuff.

1143
01:06:44,000 --> 01:06:46,440
When I first started, I just 
like started kind of writing a 

1144
01:06:46,440 --> 01:06:52,240
REST API like you would in 
JavaScript and I like relearned 

1145
01:06:52,240 --> 01:06:56,000
and rewrote things over and over
again and just learned the hard 

1146
01:06:56,000 --> 01:06:58,520
way. 
And but I did it right away on a

1147
01:06:58,520 --> 01:07:01,000
project and I'm like really 
happy I did that. 

1148
01:07:01,560 --> 01:07:03,880
But then I was like, dude, that 
was hard. 

1149
01:07:04,440 --> 01:07:06,720
And that's actually what 
inspired me starting my YouTube 

1150
01:07:06,720 --> 01:07:08,360
channel. 
I was like, I'm going to teach 

1151
01:07:08,360 --> 01:07:12,240
people how to get like off the 
ground and running quicker than 

1152
01:07:12,240 --> 01:07:15,720
I did because I just want people
to build their projects. 

1153
01:07:16,760 --> 01:07:23,080
You know, like as an older 
person and with more experience 

1154
01:07:23,080 --> 01:07:25,840
and some learnings under the 
belt, you can definitely pave 

1155
01:07:25,840 --> 01:07:28,920
the path behind you. 
So it's easier for sure. 

1156
01:07:29,320 --> 01:07:33,080
With saying that, I need to get 
back in motion with my ash 

1157
01:07:33,080 --> 01:07:35,320
course because I've just kind of
ignored that. 

1158
01:07:35,320 --> 01:07:36,560
For Oh yeah, what happened with 
that? 

1159
01:07:36,880 --> 01:07:39,160
I just like, I saw the first lot
and it was amazing. 

1160
01:07:39,160 --> 01:07:41,080
I was like, this is very 
ambitious, Jacob. 

1161
01:07:41,440 --> 01:07:43,040
I know. 
Well, it's really good. 

1162
01:07:43,040 --> 01:07:48,160
It's a fun project. 
I just like a lot in life caught

1163
01:07:48,160 --> 01:07:51,560
up to me and I kind of just like
burned out on making tutorials 

1164
01:07:51,560 --> 01:07:54,320
and now I feel like things are 
slowing back down. 

1165
01:07:54,320 --> 01:07:58,040
So I just have to like, get back
in the motions of like recording

1166
01:07:58,040 --> 01:08:02,120
a video, like maybe just once a 
week and just get going. 

1167
01:08:02,920 --> 01:08:05,280
Yeah, good, good habits. 
You know little. 

1168
01:08:05,320 --> 01:08:08,120
Steps, it's easy to lose them. 
That's the thing. 

1169
01:08:08,120 --> 01:08:12,440
And then I feel guilty, like 
it's an extra guilt because all 

1170
01:08:12,440 --> 01:08:14,680
these people are like, when are 
the next videos coming out? 

1171
01:08:14,680 --> 01:08:18,040
I'm so excited. 
And then like you feel obligated

1172
01:08:18,040 --> 01:08:20,840
to these people for your free 
content. 

1173
01:08:20,840 --> 01:08:23,720
But like, I love helping people 
so I want to do it. 

1174
01:08:25,600 --> 01:08:28,479
Right. 
Look, and it's the stuff that, 

1175
01:08:28,680 --> 01:08:32,399
you know, you do for the love of
it and because you want to and 

1176
01:08:32,439 --> 01:08:35,640
because you care. 
And then, you know, life has a 

1177
01:08:35,800 --> 01:08:38,359
funny way of paying that back 
sometimes. 

1178
01:08:39,160 --> 01:08:42,359
And really it's about, you know,
movement and emotion, just doing

1179
01:08:42,359 --> 01:08:43,880
stuff. 
I mean, it's I. 

1180
01:08:43,880 --> 01:08:46,960
Wouldn't have. 
I wouldn't have any of my jobs 

1181
01:08:47,000 --> 01:08:50,560
right now without starting my 
YouTube channel, you know, like,

1182
01:08:50,720 --> 01:08:54,479
yeah, that's kind of cool. 
And like this podcast, I get to 

1183
01:08:54,479 --> 01:08:57,680
meet all the coolest people in 
the Elixir community because 

1184
01:08:57,680 --> 01:08:59,319
they come on my podcast and talk
to me. 

1185
01:08:59,680 --> 01:09:03,479
Right. 
I mean, yeah, I think you've 

1186
01:09:03,479 --> 01:09:07,479
collected a very interesting and
amazing bunch of people. 

1187
01:09:07,560 --> 01:09:10,319
I've been kind of jealous of 
your your guest list. 

1188
01:09:10,319 --> 01:09:13,160
I'm delighted to be included on 
it. 

1189
01:09:13,880 --> 01:09:16,760
I mean, you're one of them. 
You're one of the awesome people

1190
01:09:16,800 --> 01:09:20,520
on my guest list, so it's cool. 
I'm just surprised all these 

1191
01:09:20,520 --> 01:09:24,760
people want to talk to me. 
You. 

1192
01:09:24,800 --> 01:09:27,080
Know well, I think, you know, 
you're the lightning rod mate. 

1193
01:09:27,319 --> 01:09:31,680
It's like, you know, someone has
to do the organizing and, you 

1194
01:09:31,760 --> 01:09:34,520
know, bring people together and 
that's a really valuable skill 

1195
01:09:34,520 --> 01:09:38,080
because I think, you know, a 
language community is more than 

1196
01:09:38,080 --> 01:09:41,840
the technical stuff. 
You know, it's about how do you 

1197
01:09:42,240 --> 01:09:47,720
sustain and grow that community 
and, and keep it as great as it 

1198
01:09:47,720 --> 01:09:49,040
is? 
Because I think, you know, like 

1199
01:09:49,040 --> 01:09:51,640
the licks are maybe an amazing 
language and the beam may have 

1200
01:09:51,640 --> 01:09:57,080
been self healing since 1986. 
But, and, and have some insanely

1201
01:09:57,240 --> 01:10:00,760
great ideas that, you know, 
maybe the words are complicated 

1202
01:10:00,760 --> 01:10:04,000
and a bit scary, but the ideas 
are like elegantly simple. 

1203
01:10:05,640 --> 01:10:09,680
And so, you know, like don't be 
put off by the, the crazy words.

1204
01:10:10,120 --> 01:10:13,840
But you know, like I've 
organized community stuff for 

1205
01:10:14,280 --> 01:10:17,320
probably nearly a decade. 
I've sort of lapsed because I 

1206
01:10:17,320 --> 01:10:24,080
did a lot of travel last year on
organizing Elixir Sydney and 

1207
01:10:24,560 --> 01:10:28,280
yeah, recently shut off 
mymeet-up.com subscription, 

1208
01:10:28,280 --> 01:10:29,440
which was costing a lot of 
money. 

1209
01:10:29,440 --> 01:10:31,280
You know, I still had meet ups 
that we weren't it. 

1210
01:10:31,280 --> 01:10:34,840
Kind of sucks that it's so 
expensive to use meet up now. 

1211
01:10:35,440 --> 01:10:36,640
I remember when. 
It was so. 

1212
01:10:36,800 --> 01:10:39,960
Expensive. 
And it's so expensive. 

1213
01:10:40,000 --> 01:10:42,520
And then they do that, like, 
blackmail thing. 

1214
01:10:42,520 --> 01:10:45,760
So if anyone's listening on the 
Elixir City, it's like, still a 

1215
01:10:45,760 --> 01:10:48,000
thing. 
We'll do some more things, I 

1216
01:10:48,000 --> 01:10:52,640
promise. 
And yeah, like, they're going to

1217
01:10:52,640 --> 01:10:57,000
do the blackmail. 
Hey, your, your organizers step 

1218
01:10:57,000 --> 01:10:58,320
down. 
Who wants to step up? 

1219
01:10:58,320 --> 01:11:02,520
And it's like auctioning off the
Elixir City thing. 

1220
01:11:02,640 --> 01:11:05,520
Yeah, it's, you know, it would 
be a shame if something would 

1221
01:11:05,520 --> 01:11:08,440
happen to your meet up and then 
it's sort of like extortion. 

1222
01:11:09,280 --> 01:11:12,800
And so I'm like, no, I'm done. 
And look, I think, you know, we 

1223
01:11:12,800 --> 01:11:16,600
should all, I haven't managed to
achieve this yet, but if you're 

1224
01:11:16,600 --> 01:11:19,240
listening and you run a meet up,
you should probably move off 

1225
01:11:19,240 --> 01:11:24,400
meetup.com and go to Luma 
because that is way, way better.

1226
01:11:24,840 --> 01:11:27,920
It's free unless you charge 
money, which typically meetups 

1227
01:11:27,920 --> 01:11:31,200
do not charge money. 
And so it's free and the 

1228
01:11:31,200 --> 01:11:34,800
experience is really good and 
you can have, it's a slightly 

1229
01:11:34,800 --> 01:11:37,080
different thing. 
So it's not really designed, 

1230
01:11:37,080 --> 01:11:40,560
it's designed for events rather 
than meetups, but perfectly 

1231
01:11:40,560 --> 01:11:43,520
suits running meetups. 
But you can have a calendars 

1232
01:11:43,520 --> 01:11:46,160
that contain other calendars. 
So you could have an Elixir 

1233
01:11:46,560 --> 01:11:49,600
global calendar, you could have 
an Elixir Australia calendar or 

1234
01:11:49,720 --> 01:11:52,640
sort of different hierarchies. 
And there's no sort of limits 

1235
01:11:52,640 --> 01:11:56,680
about how you can constrain the 
containment of of different 

1236
01:11:57,240 --> 01:12:00,760
meetups, for example. 
But the language does confuse 

1237
01:12:00,760 --> 01:12:02,640
when you first see it. 
But yeah, we're going to be 

1238
01:12:02,640 --> 01:12:05,640
using Luma from here on out, and
I recommend that other people 

1239
01:12:05,640 --> 01:12:07,920
do. 
Do you have meetups where you 

1240
01:12:07,920 --> 01:12:14,440
are we? 
Do I'm horrible at get into 

1241
01:12:14,440 --> 01:12:16,360
them. 
There's an elixir meet up that 

1242
01:12:16,360 --> 01:12:19,680
tries to meet like once a month,
like just South of Salt Lake 

1243
01:12:19,680 --> 01:12:26,360
City, and I kind of slack it 
going, but when I do make it, 

1244
01:12:26,360 --> 01:12:28,600
it's fun. 
Like it, you know, you see all 

1245
01:12:28,600 --> 01:12:31,880
these guys that are all like 
working elixir developers for 

1246
01:12:31,880 --> 01:12:35,800
the most part. 
And you know, I recognize I'm 

1247
01:12:35,800 --> 01:12:38,920
horrible with names and faces. 
Oh, I'll remember faces horrible

1248
01:12:38,920 --> 01:12:41,160
with names, but it's. 
Cool. 

1249
01:12:42,480 --> 01:12:45,400
It's cool when you like start 
seeing the same people at 

1250
01:12:45,400 --> 01:12:49,200
everything. 
And I also like kind of enjoy 

1251
01:12:49,920 --> 01:12:53,920
because like I do this, this is 
my spotlight and but when I'm in

1252
01:12:53,920 --> 01:12:56,800
person, I can like kind of take 
a back seat and just enjoy 

1253
01:12:57,200 --> 01:12:59,440
speakers and things and it's 
kind of nice. 

1254
01:13:01,320 --> 01:13:04,680
Yeah, for sure. 
And it like it's its own reward.

1255
01:13:04,840 --> 01:13:08,160
I mean, I used to sort of treat 
it as a monthly excuse to get 

1256
01:13:08,160 --> 01:13:11,800
out of the office and just 
socialize with a a regular crew 

1257
01:13:11,960 --> 01:13:16,360
and talk talk tech. 
I like when I'm like in it, but 

1258
01:13:16,800 --> 01:13:19,600
getting there is the hard part. 
Like I'm like, do I really want 

1259
01:13:19,600 --> 01:13:23,840
to drive and go socialize? 
Well, exactly. 

1260
01:13:23,840 --> 01:13:27,840
And I think the the challenge 
is, you know, post COVID, 

1261
01:13:27,840 --> 01:13:29,640
meetups were never quite the 
same. 

1262
01:13:29,920 --> 01:13:34,960
And, you know, we kept running 
online stuff and then, you know,

1263
01:13:34,960 --> 01:13:37,360
geography doesn't really matter 
at that point. 

1264
01:13:37,360 --> 01:13:43,200
It's just time zone. 
And so, you know, I think, yeah.

1265
01:13:43,200 --> 01:13:44,920
And meetups were never quite the
same. 

1266
01:13:44,920 --> 01:13:47,560
And certainly when they came 
back after COVID that like we 

1267
01:13:47,560 --> 01:13:50,600
had some really big meetups in 
Sydney. 

1268
01:13:51,560 --> 01:13:55,880
And then I think just everyone's
not working in the city anymore.

1269
01:13:56,080 --> 01:13:59,240
Like, yeah, it used to be huge 
because everyone would be in the

1270
01:13:59,240 --> 01:14:00,880
city. 
It'd be like, oh, like after 

1271
01:14:00,880 --> 01:14:03,560
work I'll go have a have a drink
and. 

1272
01:14:03,680 --> 01:14:05,600
I feel like that's what it was, 
right? 

1273
01:14:05,600 --> 01:14:09,080
Like it was your commute home, 
so you didn't drive very far. 

1274
01:14:09,800 --> 01:14:12,520
It like, you know, if you're 
driving 20 minutes to work but 

1275
01:14:12,520 --> 01:14:16,080
your meet up's 5 minutes from 
the office, it's a lot easier 

1276
01:14:16,080 --> 01:14:19,080
to, you know, make that excuse 
to swing by on your way home. 

1277
01:14:19,800 --> 01:14:23,600
Yeah, exactly. 
And so, you know, like in 

1278
01:14:23,600 --> 01:14:25,880
Australia, if you work in the 
city, you're probably not 

1279
01:14:25,880 --> 01:14:28,760
driving your car and so you're 
getting public transport. 

1280
01:14:28,760 --> 01:14:32,800
And so it was, you know, even 
easier if you can go from your 

1281
01:14:32,800 --> 01:14:35,200
office, walk to the central meet
up. 

1282
01:14:35,200 --> 01:14:36,920
And, you know, we had a lot more
people there. 

1283
01:14:36,920 --> 01:14:39,280
And I think most people are 
sitting at home watching 

1284
01:14:39,280 --> 01:14:42,200
YouTube, maybe this. 
And you know, that's why when 

1285
01:14:42,600 --> 01:14:44,400
meet ups aren't quite the same, 
people can. 

1286
01:14:44,400 --> 01:14:47,400
Chat with us live like you know,
we got. 

1287
01:14:47,520 --> 01:14:50,360
Let's see. 
Who's saying what? 

1288
01:14:50,360 --> 01:14:52,400
I can't see any of the chat 
unfortunately. 

1289
01:14:52,440 --> 01:14:55,040
If you went if you go over to 
the YouTube live stream, you can

1290
01:14:55,040 --> 01:14:58,520
see it, but Steve said he just 
picked up the ash book a lot of 

1291
01:14:58,520 --> 01:15:02,040
fun so far and I was I think 
it's a great it's a great book 

1292
01:15:02,600 --> 01:15:06,600
and Jura. 
Steve could probably find my my 

1293
01:15:06,600 --> 01:15:09,880
quote about the the half. 
Oh yeah, there you go, the ash. 

1294
01:15:09,960 --> 01:15:12,200
Thing it's in the Ford 
somewhere. 

1295
01:15:12,720 --> 01:15:13,720
And then? 
What I call? 

1296
01:15:14,680 --> 01:15:17,240
It Jura, sorry if I'm butchering
your names guys. 

1297
01:15:17,240 --> 01:15:21,400
He just said he loves Ash and 
then Victoria goes, dude I love 

1298
01:15:21,400 --> 01:15:23,480
your channel. 
I'm studying to make my career 

1299
01:15:23,480 --> 01:15:27,800
change from JS full stack to 
Elixir and he's from Peru. 

1300
01:15:28,040 --> 01:15:30,360
It's a it's a good move dude, 
you won't regret it. 

1301
01:15:30,600 --> 01:15:31,800
That was pretty much. 
You really. 

1302
01:15:31,840 --> 01:15:34,920
You really weren't. 
I was JavaScript back end. 

1303
01:15:34,920 --> 01:15:39,840
I always did back end stuff and 
I did Swift and a lot of iOS 

1304
01:15:39,840 --> 01:15:42,720
development and I don't want to 
touch any of that stuff anymore.

1305
01:15:44,240 --> 01:15:45,920
Yeah, yeah. 
I mean. 

1306
01:15:46,520 --> 01:15:49,680
Yeah. 
So you mentioned Micah Stetler, 

1307
01:15:49,760 --> 01:15:54,160
who's a legend and he has just 
released Judo 2, which is super 

1308
01:15:54,160 --> 01:16:00,040
exciting, but we we catch up 
fairly regularly and he, he told

1309
01:16:00,040 --> 01:16:03,760
me that he was actually part of 
the jQuery core team way back 

1310
01:16:03,760 --> 01:16:05,360
when. 
Oh yeah, he was. 

1311
01:16:05,480 --> 01:16:06,960
Isn't that crazy? 
Yeah. 

1312
01:16:07,040 --> 01:16:09,920
I'm like, oh, what I love 
jQuery. 

1313
01:16:09,960 --> 01:16:13,160
I like J when I discovered that 
dollar thing, I'm like, Oh my 

1314
01:16:13,160 --> 01:16:15,400
God. 
And so for anyone who's sort of 

1315
01:16:15,400 --> 01:16:19,520
new to the web, like jQuery was 
the giant Band-Aid that you put 

1316
01:16:19,520 --> 01:16:24,440
across browsers so that any of 
your stuff would actually work. 

1317
01:16:24,840 --> 01:16:28,680
And so if, if you're now used to
document, you know, selectors 

1318
01:16:28,680 --> 01:16:32,240
where you, everything's on 
document and you can find things

1319
01:16:32,240 --> 01:16:37,560
in a Dom by CSS selectors or, 
you know, do stuff that used to 

1320
01:16:37,560 --> 01:16:40,600
not be true. 
And jQuery was the the solution.

1321
01:16:40,960 --> 01:16:44,560
And it's still around like 
jquery's used massively on, you 

1322
01:16:44,560 --> 01:16:47,840
know, if you want to do vanilla 
JS with no framework, jQuery is 

1323
01:16:47,840 --> 01:16:51,720
the thing that, yeah, wild. 
I, I cut my teeth on and you 

1324
01:16:51,720 --> 01:16:54,400
know, it would get you very far 
and you'd be like reacting to 

1325
01:16:54,400 --> 01:16:57,720
individual events. 
And then you'd end up going, oh,

1326
01:16:57,720 --> 01:17:00,200
I've just created the world's 
greatest spaghetti. 

1327
01:17:00,960 --> 01:17:03,840
And then you really needed it 
because you'd be like, oh, how 

1328
01:17:03,840 --> 01:17:07,760
do these things interact? 
And you couldn't reason about it

1329
01:17:07,800 --> 01:17:10,200
at a certain scale. 
It was great until it wasn't. 

1330
01:17:10,600 --> 01:17:13,440
Yeah, yeah, most things are 
great. 

1331
01:17:13,440 --> 01:17:17,320
Until anything that's good like 
gets hoovered into like. 

1332
01:17:17,360 --> 01:17:20,680
A lot of what made jQuery great 
got hoovered into like actually 

1333
01:17:20,680 --> 01:17:24,040
the the web APIs which. 
Is. 

1334
01:17:24,040 --> 01:17:26,720
Yeah, I forget. 
Sometimes you serve as the the 

1335
01:17:26,760 --> 01:17:28,560
Band-Aid until the thing gets 
fixed. 

1336
01:17:29,560 --> 01:17:33,680
Yeah, Mike became my friend when
I first started doing like Vibe 

1337
01:17:33,680 --> 01:17:38,160
Coding live streams on Saturday,
like when when LLMS just started

1338
01:17:38,160 --> 01:17:42,120
getting good enough to like kind
of build small projects, I had 

1339
01:17:42,120 --> 01:17:45,760
like a couple Vibe Coding live 
streams with guests on where I 

1340
01:17:45,800 --> 01:17:47,760
made them teach me the tooling. 
It was great. 

1341
01:17:48,160 --> 01:17:52,440
And then Mike reached out and I 
had them on and yeah, that was 

1342
01:17:52,440 --> 01:17:54,600
the beginning of our friendship 
and it's been fun. 

1343
01:17:55,240 --> 01:17:57,040
And now I can't. 
I can't keep up with the man. 

1344
01:17:57,800 --> 01:18:00,160
Yeah, Mike, Mike's a legend. 
I haven't chatted to him in a 

1345
01:18:00,160 --> 01:18:03,480
few weeks and. 
I want to try to get to Elixir 

1346
01:18:03,480 --> 01:18:07,000
Conf in Chicago because he's in 
the Chicago area and it'd be a 

1347
01:18:07,000 --> 01:18:10,800
lot of fun, I think. 
Yeah, like I'm looking forward 

1348
01:18:10,800 --> 01:18:14,280
to that. 
I'm going to be going to Malaga 

1349
01:18:14,360 --> 01:18:20,640
for Elixir Conf EU and I'll be 
swinging past San Fran and 

1350
01:18:22,120 --> 01:18:26,480
Chicago along the way just 
because, yeah, I'm on this 

1351
01:18:26,480 --> 01:18:28,280
constantly rotating round the 
world ticket. 

1352
01:18:28,400 --> 01:18:29,960
Yeah, I guess so. 
I feel like you're always 

1353
01:18:29,960 --> 01:18:32,880
travelling. 
Well, it's the cheapest way to 

1354
01:18:32,880 --> 01:18:36,120
do it. 
It's by a long way. 

1355
01:18:36,480 --> 01:18:38,240
Once you're doing, I just keep 
going. 

1356
01:18:39,720 --> 01:18:41,680
Yeah, I'm in the middle of my 
trip right now. 

1357
01:18:42,000 --> 01:18:45,240
I started in Oslo in September 
after Goatmeyer. 

1358
01:18:45,880 --> 01:18:48,480
Nice. 
Made it home and I'm on a stop. 

1359
01:18:48,520 --> 01:18:54,320
A very long stopover, but yeah, 
I caught up with Mike last time 

1360
01:18:54,560 --> 01:18:58,040
as well and he took me out to 
his favorite steak restaurant 

1361
01:18:58,040 --> 01:19:00,800
and that was nice. 
He is a scholar and a gentleman.

1362
01:19:00,800 --> 01:19:02,880
And yeah, you should definitely 
check out Jido. 

1363
01:19:02,880 --> 01:19:07,680
It is, there's a lot there, but 
the way that it's been put 

1364
01:19:07,680 --> 01:19:10,200
together is pretty amazing. 
So you've got first class 

1365
01:19:10,320 --> 01:19:14,840
agentic programming, you've 
you've got just an insane amount

1366
01:19:14,840 --> 01:19:18,160
of tools in the tool belt. 
Possibly too many. 

1367
01:19:18,320 --> 01:19:23,280
So many is overwhelming and 
certainly I I've only dabbled 

1368
01:19:23,840 --> 01:19:26,600
but some of the team have been 
diving into it. 

1369
01:19:26,600 --> 01:19:29,480
And I got to get Mike back on. 
He's supposed to be making 

1370
01:19:29,480 --> 01:19:33,320
content for my channel for Jeto 
and he's been slacking. 

1371
01:19:33,320 --> 01:19:35,040
Yeah, Mike, but. 
I can't throw him any stones. 

1372
01:19:35,040 --> 01:19:37,880
Because I'm slacking. 
Well, I don't know whether 

1373
01:19:37,880 --> 01:19:39,960
Mike's been slacking. 
Maybe on this particular talk. 

1374
01:19:40,200 --> 01:19:43,480
He's not slacking on 
development, he's just slacking 

1375
01:19:43,480 --> 01:19:46,240
on creating content for me. 
There you go. 

1376
01:19:47,760 --> 01:19:49,200
Well, there you go. 
You heard it first, Mike. 

1377
01:19:49,360 --> 01:19:52,320
It's it's time to come back. 
Yeah, Mike, stop slacking. 

1378
01:19:53,240 --> 01:19:57,080
But yeah, join us Discord too, 
if you're interested in any like

1379
01:19:58,000 --> 01:20:01,120
agenic programming like the 
Geeto Discord's really awesome. 

1380
01:20:01,680 --> 01:20:03,680
A lot of smart guys in there. 
I can't keep up. 

1381
01:20:03,720 --> 01:20:07,040
I am so bad at keeping up in 
Discord communities but. 

1382
01:20:07,440 --> 01:20:10,880
I can't keep up anymore, so I've
reached my limit. 

1383
01:20:11,040 --> 01:20:13,640
I need a box. 
Ash Ash is a crazy discord 

1384
01:20:13,640 --> 01:20:15,840
community too. 
I can't keep up with that one 

1385
01:20:15,880 --> 01:20:19,040
either. 
Yeah, there is a lot happening 

1386
01:20:19,960 --> 01:20:24,400
and you know like there's a 
Geeto, I think it's Ash Geeto. 

1387
01:20:24,480 --> 01:20:27,160
It's like first class 
connections to creating a 

1388
01:20:27,200 --> 01:20:28,520
genetic programming on top of 
that. 

1389
01:20:28,520 --> 01:20:30,160
I did see that. 
That's really cool. 

1390
01:20:31,480 --> 01:20:33,920
So if you've got Ash, like 
there's a connector to Geeto 

1391
01:20:33,920 --> 01:20:38,520
world for for that and. 
That's I need to bring Mike back

1392
01:20:38,520 --> 01:20:40,560
on and make him just teach me 
stuff again. 

1393
01:20:40,600 --> 01:20:43,560
That's the only way I have time.
I just make a live stream and I 

1394
01:20:43,560 --> 01:20:47,160
box it out. 
Right This is why I did meet ups

1395
01:20:47,160 --> 01:20:50,160
dude it's like oh I want to 
learn stuff on a regular basis 

1396
01:20:50,200 --> 01:20:53,560
I'll just set up the meet up so 
and if I couldn't find speakers 

1397
01:20:53,600 --> 01:20:55,480
I would have to learn something 
and tell everyone. 

1398
01:20:55,520 --> 01:20:56,480
There you go. 
Well. 

1399
01:20:56,520 --> 01:20:57,880
Like it's really. 
Funny. 

1400
01:20:58,520 --> 01:21:02,000
People always public speaking. 
People always be like, how do 

1401
01:21:02,000 --> 01:21:05,200
you have time for your podcast? 
It's like, it's great 'cause I 

1402
01:21:05,200 --> 01:21:07,840
just bring smart people on that 
are doing cool things and they 

1403
01:21:07,840 --> 01:21:11,400
tell me about it. 
It's like my free education pass

1404
01:21:11,400 --> 01:21:16,320
and I have to pay attention 
'cause I'm talking to them so. 

1405
01:21:17,560 --> 01:21:19,600
The secret's out. 
Yeah, that's why I did meetups. 

1406
01:21:19,680 --> 01:21:23,120
It's like I wanted to learn 
stuff and I wanted to catch up 

1407
01:21:23,120 --> 01:21:25,640
with cool people every month, 
and so I just did that. 

1408
01:21:26,040 --> 01:21:28,920
Yeah, my podcast is purely 
selfish, dude. 

1409
01:21:28,920 --> 01:21:34,400
Like it's for me but. 
I mean, I I did meetups for 

1410
01:21:34,400 --> 01:21:35,960
everyone, but it's mainly for 
me, yeah. 

1411
01:21:37,120 --> 01:21:41,920
Yeah, I got it. 
You know, I I've got to find the

1412
01:21:41,920 --> 01:21:45,120
time to bring that back, but. 
Yeah, yeah. 

1413
01:21:45,280 --> 01:21:46,920
I don't know. 
I don't know if the the age of 

1414
01:21:46,920 --> 01:21:49,280
meet ups is really over it and I
think maybe you think we'll 

1415
01:21:49,480 --> 01:21:52,200
spend way too much time in front
of our computers. 

1416
01:21:52,200 --> 01:21:54,240
It's like actually healthy to go
and meet in person. 

1417
01:21:54,680 --> 01:21:56,520
I think so. 
I think it's good to meet in 

1418
01:21:56,520 --> 01:22:00,080
person and just like who was I 
just talking with? 

1419
01:22:00,880 --> 01:22:05,480
It's like just the like I was 
just down in Austin for the X 

1420
01:22:05,480 --> 01:22:08,320
Max conference, the small. 
Oh yeah, how was that? 

1421
01:22:08,640 --> 01:22:11,000
He was awesome. 
I got mad at Nathan for for 

1422
01:22:11,000 --> 01:22:13,520
putting it at the same time. 
As yeah. 

1423
01:22:13,560 --> 01:22:14,840
I couldn't. 
I couldn't go. 

1424
01:22:15,040 --> 01:22:17,720
I was like same time as beam. 
Beam. 

1425
01:22:17,720 --> 01:22:19,440
Beams or whatever code beam, 
yeah. 

1426
01:22:22,040 --> 01:22:25,480
And like, I know this is just 
for me, but could you just shift

1427
01:22:25,480 --> 01:22:27,600
it by week? 
Yeah, he obviously told me to 

1428
01:22:28,080 --> 01:22:28,680
get lost. 
I'm. 

1429
01:22:28,960 --> 01:22:30,920
Like, but he did such a good 
job. 

1430
01:22:30,920 --> 01:22:32,360
If you don't ask, you don't get 
right. 

1431
01:22:32,640 --> 01:22:33,840
Right. 
Well, it was worth it. 

1432
01:22:33,840 --> 01:22:35,640
It was worth asking. 
It was worth a try. 

1433
01:22:35,640 --> 01:22:37,400
Was it great like? 
It was great. 

1434
01:22:37,920 --> 01:22:41,560
Like honestly, like the talks 
were all great, right? 

1435
01:22:41,560 --> 01:22:44,400
But the best part was like, it 
was such a small conference. 

1436
01:22:44,400 --> 01:22:48,320
You had time to talk to everyone
in between talks and at lunch. 

1437
01:22:48,680 --> 01:22:52,800
And so you meet a lot of really 
cool people and that like, I 

1438
01:22:52,800 --> 01:22:56,200
can't remember who I was just 
talking to, but it's like that, 

1439
01:22:56,200 --> 01:22:59,840
like the hallway talk is how you
solve problems. 

1440
01:22:59,840 --> 01:23:03,480
Like you could just be like, 
hey, I'm like, I don't know, my 

1441
01:23:03,520 --> 01:23:08,600
absinthe graph queries are like 
joining my tables in like a 

1442
01:23:10,000 --> 01:23:12,040
horrible way. 
And I don't want it to do that. 

1443
01:23:12,040 --> 01:23:14,520
Like you can talk about all 
these problems that you might 

1444
01:23:14,520 --> 01:23:16,000
have that you don't know how to 
solve. 

1445
01:23:16,040 --> 01:23:20,800
And nine times out of 10, 
someone you're talking to or 

1446
01:23:20,800 --> 01:23:25,320
overhearing your conversation 
has been there and. 

1447
01:23:25,520 --> 01:23:27,040
Well, exactly. 
And I, you know, like the 

1448
01:23:27,040 --> 01:23:30,280
hallway track is if you haven't 
been to conferences or it's been

1449
01:23:30,280 --> 01:23:32,880
a while, like the hallway track 
is really where it's at. 

1450
01:23:33,240 --> 01:23:36,120
I mean, talks are great, but you
know, and people put a lot of 

1451
01:23:36,120 --> 01:23:41,080
effort into talks, but you know,
you can watch the video later, 

1452
01:23:41,240 --> 01:23:45,320
but it is important to see the 
talks because, you know, you can

1453
01:23:45,320 --> 01:23:48,920
then, you know, chat about that 
stuff with folks in the hallway.

1454
01:23:49,440 --> 01:23:51,800
And so you're never going to, 
you know, it always feels 

1455
01:23:51,800 --> 01:23:54,920
terrible when you, you've got 3 
tracks and I'm like, if I see 

1456
01:23:54,920 --> 01:23:57,280
one, I'm missing 2. 
And then it's like, I always 

1457
01:23:57,280 --> 01:24:00,400
find that super overwhelming. 
Yeah, the single track's the way

1458
01:24:00,400 --> 01:24:03,160
to go. 
I really like the the smallness 

1459
01:24:03,200 --> 01:24:05,280
of the single track. 
You don't have decisions to 

1460
01:24:05,280 --> 01:24:08,960
make. 
And well, the decision is like, 

1461
01:24:08,960 --> 01:24:12,160
am I in the thing or am I having
chats outside? 

1462
01:24:12,160 --> 01:24:16,640
Exactly. 
And so yeah, Goat Maya was the 

1463
01:24:16,640 --> 01:24:19,680
pinnacle of small regional I. 
Heard that it was a lot of fun. 

1464
01:24:19,680 --> 01:24:20,480
It was really well. 
Done. 

1465
01:24:20,480 --> 01:24:22,560
It was so good. 
Yeah, that's awesome. 

1466
01:24:22,680 --> 01:24:25,800
And Lars is cooking up another 
one. 

1467
01:24:26,360 --> 01:24:29,520
Nice. 
Awesome already, and so you 

1468
01:24:29,520 --> 01:24:33,800
should probably look at Goat 
Maya too, in the little town of 

1469
01:24:33,800 --> 01:24:35,880
Varberg. 
And Western, that would be fun. 

1470
01:24:36,000 --> 01:24:38,440
That would be fun. 
I want to, I got to start doing 

1471
01:24:38,440 --> 01:24:41,000
making appearances because I 
think it'd also be fun to like 

1472
01:24:41,000 --> 01:24:44,800
kind of change it up and do some
like live podcast episodes with 

1473
01:24:44,800 --> 01:24:47,360
people. 
Just snatch them out of the 

1474
01:24:47,360 --> 01:24:50,760
hallway, throw a lapel mic on 
them and go I think. 

1475
01:24:50,760 --> 01:24:53,560
It would be, yeah, yeah. 
I mean, look, capturing the 

1476
01:24:53,560 --> 01:24:56,240
conversations that happen at 
those kind of conferences is 

1477
01:24:56,320 --> 01:24:59,720
certainly that would be a lot of
content gold. 

1478
01:25:00,520 --> 01:25:00,840
Yeah. 
Yeah. 

1479
01:25:00,840 --> 01:25:04,320
And look, you know, I, I was 
introduced to the small regional

1480
01:25:04,840 --> 01:25:10,840
conference certainly in Elixir, 
big Elixir, which was in New 

1481
01:25:10,840 --> 01:25:14,640
Orleans in I don't know what 
year that was, 2022 I think it 

1482
01:25:14,640 --> 01:25:17,720
was. 
And that was amazing. 

1483
01:25:17,720 --> 01:25:23,920
It was, it was sort of in an old
New Orleans theatre, the Petite 

1484
01:25:23,920 --> 01:25:26,640
Theatre. 
You know, it wasn't really 

1485
01:25:26,640 --> 01:25:28,160
catered. 
Like you went out for lunch and 

1486
01:25:28,160 --> 01:25:30,640
you'd grab some folks and found 
some po boys or, you know, 

1487
01:25:30,640 --> 01:25:32,600
whatever you find on the streets
of New Orleans. 

1488
01:25:32,600 --> 01:25:36,640
It was so fun like and it's a 
shame that hasn't happened 

1489
01:25:36,800 --> 01:25:39,040
since. 
But yeah, that's how Max was. 

1490
01:25:39,040 --> 01:25:41,200
It was nice. 
We would just grab a group of 

1491
01:25:41,200 --> 01:25:44,720
guys and just go to a local 
restaurant at lunch and that was

1492
01:25:44,720 --> 01:25:46,120
it. 
And then we'd grab some drinks 

1493
01:25:46,240 --> 01:25:51,040
afterwards at the end of the day
and then, you know, rinse it. 

1494
01:25:51,040 --> 01:25:53,200
I. 
Was sad that I couldn't make 

1495
01:25:53,200 --> 01:25:55,960
that one. 
Austin is a fun town, but yeah, 

1496
01:25:55,960 --> 01:25:57,680
New Orleans. 
Is a very fun town. 

1497
01:25:57,760 --> 01:26:00,480
I've never been in New Orleans 
and I'm sure that's a fun town 

1498
01:26:00,560 --> 01:26:02,800
it. 
Seems like it would be, you 

1499
01:26:02,800 --> 01:26:06,080
know, yeah, it's definitely, 
definitely cool. 

1500
01:26:06,560 --> 01:26:10,680
It's like, you know, yeah, I'm 
surprised that you haven't been 

1501
01:26:10,680 --> 01:26:12,680
there. 
But it's like I had this sort of

1502
01:26:13,640 --> 01:26:17,240
very interesting idea of what in
my mind of what New Orleans 

1503
01:26:17,240 --> 01:26:21,280
would be like. 
And it it was quite different 

1504
01:26:22,520 --> 01:26:25,400
current to what I imagined, but 
it was also similar in some. 

1505
01:26:25,440 --> 01:26:27,160
I just imagine it's smelling 
like. 

1506
01:26:27,160 --> 01:26:30,800
It's like super European. 
I don't know. 

1507
01:26:30,800 --> 01:26:33,360
No, like I think, you know, 
Bourbon Street's Bourbon Street.

1508
01:26:33,360 --> 01:26:36,040
Yeah, there's a crazy on all the
time. 

1509
01:26:36,160 --> 01:26:40,400
And, you know, certainly they 
they like a a very liberal free 

1510
01:26:40,400 --> 01:26:42,840
pour of odd spirits. 
Yeah. 

1511
01:26:43,120 --> 01:26:45,760
Well, I'm from Wisconsin. 
We're the same way, you know. 

1512
01:26:45,760 --> 01:26:48,880
The secrets in the name of 
Bourbon Street and then, you 

1513
01:26:49,040 --> 01:26:53,040
know, Mardi Gras just sounded 
kind of crazy, but but you find 

1514
01:26:53,040 --> 01:26:58,320
your own kind of fun and 
certainly like it's a super 

1515
01:26:58,320 --> 01:27:03,280
European feeling town and it 
just feels old and different to 

1516
01:27:03,320 --> 01:27:06,600
anywhere else in America. 
Yeah, it looks like it'd be fun.

1517
01:27:06,720 --> 01:27:08,040
One of these days, I'll get 
there. 

1518
01:27:08,600 --> 01:27:11,080
I have not been to Nashville 
either and I need to. 

1519
01:27:11,080 --> 01:27:12,280
Go. 
I haven't been to Nashville. 

1520
01:27:14,440 --> 01:27:16,680
Closest I've been is Chattanooga
I think. 

1521
01:27:17,240 --> 01:27:21,320
OK, nice. 
That's Bruce. 

1522
01:27:21,360 --> 01:27:23,960
Bruce and Maggie's conference, 
right? 

1523
01:27:25,520 --> 01:27:28,000
Yeah, I heard rumors. 
I don't know if they're 

1524
01:27:28,000 --> 01:27:31,480
substantiated that they're not 
doing Geek City this year, which

1525
01:27:31,520 --> 01:27:34,320
would be a shame, but that is 
another another amazing. 

1526
01:27:35,080 --> 01:27:36,720
I've heard good things I wanted.
To. 

1527
01:27:36,720 --> 01:27:39,040
Like make it out to that one as 
well. 

1528
01:27:40,520 --> 01:27:43,080
Yeah, I've, I've been to the 
last couple of amazing and 

1529
01:27:43,320 --> 01:27:45,880
Maggie and Bruce are the 
consummate hosts. 

1530
01:27:46,280 --> 01:27:50,600
And I've heard, you know, yeah, 
Chattanooga's a fun Old Town. 

1531
01:27:51,360 --> 01:27:54,080
And yeah, well, if they're not 
doing it this year, then 

1532
01:27:54,280 --> 01:27:58,440
certainly give them your support
and make sure they come back 

1533
01:27:58,440 --> 01:28:00,240
bigger and better next year. 
Yeah, for. 

1534
01:28:00,320 --> 01:28:01,520
Sure. 
Because yeah, like, it's tough 

1535
01:28:01,520 --> 01:28:05,320
running conferences, you know, 
there's not a lot of money in it

1536
01:28:05,320 --> 01:28:10,920
and it's hard work and, you 
know, you know, it's a roller 

1537
01:28:10,920 --> 01:28:13,960
coaster. 
So really all I can do is say, 

1538
01:28:14,000 --> 01:28:16,840
you know, throw your small 
regional conference, organize 

1539
01:28:16,840 --> 01:28:19,840
your support because those are 
the things that make community, 

1540
01:28:19,840 --> 01:28:22,880
I think. 
I agree, I've always. 

1541
01:28:22,880 --> 01:28:26,320
Had people together trying. 
To do a Salt Lake City one but I

1542
01:28:26,400 --> 01:28:28,720
don't know it seems. 
Like, oh, you heard it here 

1543
01:28:28,720 --> 01:28:32,560
first, folks. 
Salt Lake City 2027. 

1544
01:28:32,840 --> 01:28:36,320
I I've been probably doing the 
same about Sydney 1. 

1545
01:28:36,520 --> 01:28:39,920
We'll go on a camping trip in 
the mountains and then talk 

1546
01:28:39,920 --> 01:28:41,120
Elixir. 
How about? 

1547
01:28:41,120 --> 01:28:45,640
That hey, I have this. 
So we used to do elixir camps. 

1548
01:28:45,720 --> 01:28:47,960
We've never done an Elixir 
conference in Australia, but we 

1549
01:28:47,960 --> 01:28:52,680
used to do Elixir camps and that
has been kind of between a meet 

1550
01:28:52,680 --> 01:28:56,040
up and a conference. 
It's sort of like a weekend trip

1551
01:28:56,040 --> 01:28:59,360
away and we it was based off 
rails camps which we did from 

1552
01:28:59,360 --> 01:29:03,000
like 2000 and five, 2006. 
Did you? 

1553
01:29:03,400 --> 01:29:06,560
I feel like you shared this with
me a few months. 

1554
01:29:06,560 --> 01:29:07,720
I probably did. 
Yeah. 

1555
01:29:07,800 --> 01:29:08,240
OK. 
Cool. 

1556
01:29:08,240 --> 01:29:11,320
I may have showed you the the 
sort of thing like sort of. 

1557
01:29:11,320 --> 01:29:14,640
Blueprint that was behind it. 
Well, OK. 

1558
01:29:14,640 --> 01:29:16,320
And I may as well talk about it 
here. 

1559
01:29:16,320 --> 01:29:17,920
It's like, yeah, of course. 
Elixir. 

1560
01:29:18,240 --> 01:29:23,240
Elixir dot camp, the domain and 
that was where we ran five 

1561
01:29:23,400 --> 01:29:26,360
really amazing elixir camps pre 
COVID. 

1562
01:29:26,640 --> 01:29:30,880
So it sort of all fell apart in 
2020. 

1563
01:29:31,400 --> 01:29:34,400
And so we haven't done one 
since, but we would get like 50 

1564
01:29:34,400 --> 01:29:39,560
plus people out to, you know, 
somewhere in the Bush camp if 

1565
01:29:39,560 --> 01:29:44,280
you want, or sort of, you know, 
scout camp or sport and rec 

1566
01:29:44,280 --> 01:29:49,160
camp, summer camp. 
I think the Americans, that kind

1567
01:29:49,160 --> 01:29:52,640
of vibe and then you had sort of
bunk beds and dorm beds and like

1568
01:29:52,640 --> 01:29:55,080
just, you know, it wasn't enough
people to fill it up. 

1569
01:29:55,080 --> 01:29:58,480
So you'd sort of pick where you 
want to sleep or bring a tent if

1570
01:29:58,480 --> 01:30:00,960
you wanted to just be. 
Yeah, that would be fun minus 

1571
01:30:00,960 --> 01:30:03,960
like, I don't want to bunk with 
anyone but camping and just 

1572
01:30:03,960 --> 01:30:06,000
like, right. 
Having like so. 

1573
01:30:06,200 --> 01:30:10,040
Mountain bike activities or rock
climbing, and then some elixir 

1574
01:30:10,040 --> 01:30:13,040
too. 
So you should totally organize 

1575
01:30:13,040 --> 01:30:16,280
one of those because it's 
certainly easier than organizing

1576
01:30:16,320 --> 01:30:19,720
a whole conference. 
And you have a much smaller sort

1577
01:30:19,720 --> 01:30:26,360
of crowd of sort of 30 to 50 
folks, you know, making friends 

1578
01:30:26,360 --> 01:30:30,360
and talking about tech and just 
whatever and, you know, mixing 

1579
01:30:30,360 --> 01:30:32,880
some hacking and working on some
stuff. 

1580
01:30:33,200 --> 01:30:38,120
I always thought it would get to
do the angle of like, I know 

1581
01:30:38,120 --> 01:30:40,360
there's like a lot of 
masterminds and groups out there

1582
01:30:40,360 --> 01:30:43,840
to try to help, but like being 
the technical founder and like 

1583
01:30:43,840 --> 01:30:48,640
running a successful like SAS 
company, Like I struggle with 

1584
01:30:48,640 --> 01:30:51,200
the actual sales of my SAS 
company, right? 

1585
01:30:51,200 --> 01:30:54,680
I can build the product and then
it's, it's hard to bring on the 

1586
01:30:54,680 --> 01:30:57,280
users. 
And I think it'd be awesome to 

1587
01:30:57,280 --> 01:31:01,120
have a group of the same kind of
people, some more successful, 

1588
01:31:01,120 --> 01:31:04,360
some last, but like have 
conversations around marketing 

1589
01:31:04,360 --> 01:31:09,560
and user acquisition and like 
just like learn from a campfire 

1590
01:31:09,560 --> 01:31:12,720
conversation, you know? 
I think that stuff exists, but 

1591
01:31:12,720 --> 01:31:15,720
the format is, you know, very 
doable. 

1592
01:31:15,880 --> 01:31:18,120
You know, there's a bit of 
organizing to do, but it's not a

1593
01:31:18,120 --> 01:31:21,080
whole conference, right. 
And it's, it's sort of like an 

1594
01:31:22,280 --> 01:31:25,320
unconference, if you will. 
You can have, you know, people 

1595
01:31:25,360 --> 01:31:29,760
sort of sign up for talks, but 
it can be very informal and ad 

1596
01:31:29,760 --> 01:31:31,840
hoc and you don't have to be in 
the talks or whatever. 

1597
01:31:31,880 --> 01:31:34,880
Yeah. 
And so look, yeah, I wanted to, 

1598
01:31:34,880 --> 01:31:38,600
I've sort of published A proto 
blueprint for that, but I I will

1599
01:31:38,840 --> 01:31:41,080
publish that. 
But do you think there is like 

1600
01:31:41,080 --> 01:31:43,960
micro SAS conferences? 
And there are. 

1601
01:31:44,360 --> 01:31:47,720
Maybe hacking events and stuff? 
And like Rob Walling has a lot 

1602
01:31:47,720 --> 01:31:50,000
of stuff out there, a lot of 
content. 

1603
01:31:50,000 --> 01:31:52,920
He wrote the SAS playbook. 
I actually had him on as a guest

1604
01:31:52,920 --> 01:31:57,040
a couple weeks ago. 
I think now I it's all a blur. 

1605
01:31:57,040 --> 01:32:00,080
But he's awesome and he's doing 
really cool stuff. 

1606
01:32:00,080 --> 01:32:03,520
But I think it'd be like even 
cooler to like, you know, niche 

1607
01:32:03,520 --> 01:32:07,800
down even more and like build 
that same kind of community for 

1608
01:32:07,800 --> 01:32:11,920
Elixir developers that are 
running their own SAS and then. 

1609
01:32:11,920 --> 01:32:12,600
Oh, right. 
Yeah. 

1610
01:32:12,680 --> 01:32:17,200
Look, and I think you know in in
any kind of distribution game 

1611
01:32:18,280 --> 01:32:22,800
sales and marketing is 
definitely one of those and. 

1612
01:32:22,800 --> 01:32:25,000
And I'd be curious to see, you 
know, like. 

1613
01:32:25,000 --> 01:32:28,800
Developers are not great at. 
Well, we talk about how great, 

1614
01:32:28,840 --> 01:32:32,920
you know, Clod Code is with 
helping us write code and, you 

1615
01:32:32,920 --> 01:32:36,320
know, all of that. 
I'd love to see how like, 

1616
01:32:36,560 --> 01:32:40,240
salespeople and marketers are 
using AI to make their lives 

1617
01:32:40,240 --> 01:32:41,600
easier. 
You know, learn new. 

1618
01:32:41,600 --> 01:32:45,440
Well, I, I, when you can sort of
wave a magic wand and you've got

1619
01:32:45,720 --> 01:32:50,640
anything you can think of built 
for you to some degree, you 

1620
01:32:50,640 --> 01:32:52,760
know, maybe it's not ready to 
put in front of a load of 

1621
01:32:52,760 --> 01:32:55,000
people, but certainly, you know,
you can. 

1622
01:32:55,960 --> 01:32:59,440
Anything you can think of, you 
can basically build now. 

1623
01:32:59,560 --> 01:33:01,400
And the limit is your 
imagination. 

1624
01:33:01,840 --> 01:33:05,360
And so often when you can build 
something that quickly, the 

1625
01:33:05,360 --> 01:33:08,680
bottleneck becomes, well, how do
I get it out to people and 

1626
01:33:08,680 --> 01:33:12,040
distribute it? 
And you know, that is largely 

1627
01:33:12,040 --> 01:33:17,080
where a lot of the problems are 
going to be is in, well, if you 

1628
01:33:17,080 --> 01:33:19,040
can build anything, how do you 
sell it to people? 

1629
01:33:19,240 --> 01:33:21,600
And that that is what software 
developers are traditionally 

1630
01:33:22,360 --> 01:33:25,960
extremely bad at. 
And, you know, I don't think 

1631
01:33:25,960 --> 01:33:29,080
we're going to really want to 
know how to stand out in an 

1632
01:33:29,080 --> 01:33:33,320
extremely crowded market because
communicating that stuff is a 

1633
01:33:33,320 --> 01:33:36,760
real skill, for sure. 
So yeah, connecting disparate 

1634
01:33:36,760 --> 01:33:38,720
communities for sure would be 
very cool. 

1635
01:33:39,120 --> 01:33:40,440
Yeah. 
But that would be fun. 

1636
01:33:41,400 --> 01:33:44,600
I'm going to hold myself to 
putting like a blueprint out for

1637
01:33:44,600 --> 01:33:47,400
running Elixir camps because we 
learned a ton doing that and the

1638
01:33:47,400 --> 01:33:49,280
Rails camp. 
That would be awesome. 

1639
01:33:49,640 --> 01:33:51,960
There was one in the US and 
like, people could just run 

1640
01:33:51,960 --> 01:33:55,080
their own. 
And I think it's the perfect 

1641
01:33:55,080 --> 01:33:59,160
sort of small regional 
conference thing. 

1642
01:33:59,160 --> 01:34:00,480
And, you know, you can make 
some. 

1643
01:34:00,600 --> 01:34:02,880
We'll have to. 
Make it like we'll have to time 

1644
01:34:02,880 --> 01:34:06,800
it in with your with your pit 
stop before Chicago, right right

1645
01:34:06,800 --> 01:34:08,200
here in Salt Lake. 
So. 

1646
01:34:08,520 --> 01:34:10,520
Oh yeah. 
We should, we should get cooking

1647
01:34:10,520 --> 01:34:13,200
on that. 
I'm about I'm about to have to 

1648
01:34:13,200 --> 01:34:15,640
book my next round the world 
ticket because that's how I get 

1649
01:34:15,640 --> 01:34:18,720
home from Malaga. 
That's because I've got to book 

1650
01:34:18,720 --> 01:34:20,240
a whole nother round the world 
ticket. 

1651
01:34:20,920 --> 01:34:23,320
So I have. 
You pick the longest flights to 

1652
01:34:23,360 --> 01:34:29,720
go and you just go. 
Yeah, hey, how are we doing on 

1653
01:34:29,720 --> 01:34:32,480
on time, by the way? 
I think we're good, like we can 

1654
01:34:32,640 --> 01:34:34,800
wrap things up. 
This has been a lot of fun 

1655
01:34:34,800 --> 01:34:37,600
though. 
Yeah, man, I kind of figured, 

1656
01:34:37,600 --> 01:34:38,680
oh, what are we going to talk 
about? 

1657
01:34:38,720 --> 01:34:40,400
And then? 
I was like, dude, you did. 

1658
01:34:40,440 --> 01:34:42,160
You don't have to worry. 
It's going to go. 

1659
01:34:43,120 --> 01:34:46,240
Just just, you know, pull the 
string and see what happens. 

1660
01:34:46,320 --> 01:34:48,800
Exactly. 
That's the way to go and we'll 

1661
01:34:48,800 --> 01:34:50,560
have to bring you back. 
On it feels like, you know, 

1662
01:34:50,560 --> 01:34:52,160
we've got like another few hours
to. 

1663
01:34:52,280 --> 01:34:55,680
I know we'll have to bring you 
back on and dive into clarity 

1664
01:34:55,680 --> 01:34:59,080
and maybe it'll be in a better, 
better spot in a. 

1665
01:34:59,120 --> 01:35:00,560
Few months. 
Well, what I realized about 

1666
01:35:00,560 --> 01:35:06,640
clarity, like so sort of my idea
about bringing the sort of 

1667
01:35:07,040 --> 01:35:11,240
introspection visualization of 
ash, so you can introspect 

1668
01:35:11,240 --> 01:35:14,960
anything in ash. 
And we already had some mixed 

1669
01:35:14,960 --> 01:35:18,320
tasks baked in very early on 
that you could create mermaid 

1670
01:35:18,320 --> 01:35:24,360
diagrams for your, you know, the
relationship diagrams or class 

1671
01:35:24,360 --> 01:35:27,600
diagrams or you know, there's 
some C4 stuff there. 

1672
01:35:27,600 --> 01:35:32,840
Now, it's not great because 
Mermaid C4I chatted to the guy 

1673
01:35:32,840 --> 01:35:36,920
that made C4 at the Yale 
conference last year and he was 

1674
01:35:36,920 --> 01:35:40,160
like, Nah, they just stole plant
your melon and made it garbage. 

1675
01:35:40,560 --> 01:35:44,760
But yeah, like there's this 
whole structurizer tool that 

1676
01:35:44,760 --> 01:35:48,000
exists to do C4 properly, which 
is sort of zooming in. 

1677
01:35:49,200 --> 01:35:51,600
But yeah, like there's 
introspection and you can create

1678
01:35:51,600 --> 01:35:54,360
diagrams from this stuff, but 
you can also just create 

1679
01:35:54,400 --> 01:35:58,600
documentation like describing 
your, yeah. 

1680
01:35:59,560 --> 01:36:01,840
I thought it was very cool. 
You kind of gave me a 

1681
01:36:01,840 --> 01:36:04,120
walkthrough on Killswitch, 
actually. 

1682
01:36:04,160 --> 01:36:05,320
I think that's what we ended. 
Up. 

1683
01:36:05,320 --> 01:36:08,160
Yeah, that's right. 
That's yeah, that's a while ago 

1684
01:36:08,160 --> 01:36:09,960
now. 
It feels like a while ago it 

1685
01:36:09,960 --> 01:36:11,480
was. 
I feel like it was at least a 

1686
01:36:11,480 --> 01:36:13,520
couple months ago. 
I don't know, maybe. 

1687
01:36:13,560 --> 01:36:18,160
And so, yeah, I, I sort of put 
Jonathan onto like, hey, can you

1688
01:36:18,160 --> 01:36:19,720
build this out? 
And he did. 

1689
01:36:19,720 --> 01:36:24,360
And we've sort of released it 
very, very early, rough version.

1690
01:36:24,360 --> 01:36:27,080
And I've had this branch going 
for like, yeah, at least a month

1691
01:36:27,080 --> 01:36:32,480
or two where I fixed a lot of 
the glitches and, you know, 

1692
01:36:32,560 --> 01:36:36,400
added a few more features. 
But I haven't sort of twisted 

1693
01:36:36,400 --> 01:36:38,360
the lid off the jar because I've
been distracted by it. 

1694
01:36:38,720 --> 01:36:40,320
Just a few too many other 
things. 

1695
01:36:40,320 --> 01:36:43,920
But what I've realized this 
week, sort of getting back into 

1696
01:36:43,920 --> 01:36:47,080
it, is that what Jonathan has 
actually done? 

1697
01:36:47,760 --> 01:36:50,280
And it seemed overkill at the 
time, but what he's done is 

1698
01:36:50,840 --> 01:36:53,680
hoove it in like everything in 
your Elixir app, like every 

1699
01:36:53,680 --> 01:37:00,240
Elixir module and created an in 
memory graph data store. 

1700
01:37:00,760 --> 01:37:04,560
And so it's all done in digraph,
which is the the Erlang sort of 

1701
01:37:04,560 --> 01:37:07,400
graph library which stores 
things away and ants and cases 

1702
01:37:07,400 --> 01:37:09,720
it. 
But what it is is sort of like 

1703
01:37:09,720 --> 01:37:13,840
an agentic knowledge graph of 
your entire Elixir application. 

1704
01:37:14,160 --> 01:37:17,000
And you know when you have sort 
of graph relationships, you can 

1705
01:37:17,000 --> 01:37:23,480
attach knowledge to the nodes 
and you can relate everything to

1706
01:37:23,480 --> 01:37:26,960
each other like not only within 
your ash domain but within your 

1707
01:37:26,960 --> 01:37:30,200
entire application. 
So you could do like dependency 

1708
01:37:30,200 --> 01:37:33,120
analysis because you've hoovered
in all your dependencies. 

1709
01:37:33,120 --> 01:37:38,680
You can do like xref graph 
things well and you can sort of 

1710
01:37:39,120 --> 01:37:41,840
ask any question about. 
Your and then you got the 

1711
01:37:41,840 --> 01:37:45,320
context of everything in your 
project which is. 

1712
01:37:45,400 --> 01:37:49,960
And so I, Jonathan sort of 
buried that a little bit and and

1713
01:37:49,960 --> 01:37:51,760
maybe I did, I just didn't 
click. 

1714
01:37:51,760 --> 01:37:55,240
The big idea was actually, oh, 
because we're looking at multi 

1715
01:37:55,240 --> 01:38:00,320
model data stores where where 
they graph their vector time 

1716
01:38:00,320 --> 01:38:03,640
series and we're looking at 
arcade DB, which is an 

1717
01:38:03,640 --> 01:38:07,800
interesting open source Java 
thing that mixes all of these 

1718
01:38:07,800 --> 01:38:11,360
models together because I think 
1 model of data store isn't 

1719
01:38:11,480 --> 01:38:14,720
going to cut it. 
And so you sort of need all of 

1720
01:38:14,720 --> 01:38:18,720
those ways of navigating 
knowledge and context and you 

1721
01:38:18,720 --> 01:38:22,600
want to be super queriable and 
fast. 

1722
01:38:23,080 --> 01:38:26,200
And yeah, when I realized that 
Jonathan's just basically built 

1723
01:38:26,880 --> 01:38:29,680
like an in memory knowledge 
store, I'm like, oh, what can we

1724
01:38:29,680 --> 01:38:32,360
do with this? 
It takes a while to ingest it 

1725
01:38:32,360 --> 01:38:34,720
all, but not that long. 
It was very slow and then you 

1726
01:38:34,720 --> 01:38:36,560
made it a lot faster. 
But that's awesome. 

1727
01:38:36,560 --> 01:38:40,000
Very cool. 
You know what I showed you was 

1728
01:38:40,000 --> 01:38:43,360
kind of like the very minimum 
viable demoable. 

1729
01:38:43,680 --> 01:38:47,000
I saw the big picture though, 
like I saw where it could go and

1730
01:38:47,000 --> 01:38:50,920
it was cool, you know? 
And so you, you've got a sense 

1731
01:38:50,920 --> 01:38:53,760
of like, oh, what does my domain
actually look like and how does 

1732
01:38:53,760 --> 01:38:56,840
it hang together? 
And if you put in all of the 

1733
01:38:57,160 --> 01:39:01,160
annotations around documentation
in your ash thing, not only can 

1734
01:39:01,160 --> 01:39:04,080
they go out to your APIs. 
And in fact, I think I even 

1735
01:39:04,080 --> 01:39:07,600
found some like messy resources 
I wanted to clean up after we 

1736
01:39:07,600 --> 01:39:10,360
did that, remember? 
So it was good. 

1737
01:39:10,360 --> 01:39:12,080
I was like why do I have this 
here? 

1738
01:39:13,000 --> 01:39:17,080
And so really, it's hard to 
like, you know, like Ash was 

1739
01:39:17,080 --> 01:39:19,360
hard to explain. 
Clarity's a little bit 

1740
01:39:19,360 --> 01:39:24,360
interesting because it's sort of
well, depending on the audience,

1741
01:39:24,360 --> 01:39:27,320
we had this lens idea of like, 
well, if you're thinking in 

1742
01:39:27,320 --> 01:39:31,080
architecture mode, you want to 
see how my Ash resources and 

1743
01:39:31,080 --> 01:39:33,080
domains sort of relate to each 
other. 

1744
01:39:33,080 --> 01:39:35,200
What does my business logic look
like? 

1745
01:39:35,240 --> 01:39:38,320
Because that's really what 
you're bringing and what what 

1746
01:39:38,320 --> 01:39:41,640
you're spending the effort to 
build is the the core platform. 

1747
01:39:41,840 --> 01:39:46,040
And you know that is going to 
look really quite insightful. 

1748
01:39:46,120 --> 01:39:49,760
If you saw my keynote in Berlin,
I talk about why, like in Ash, 

1749
01:39:49,760 --> 01:39:53,560
you're basically modelling your 
core system and then you derive 

1750
01:39:53,560 --> 01:39:57,320
things like the database 
structure and the migrations to 

1751
01:39:57,320 --> 01:40:00,000
get there because it doesn't 
really matter where you store 

1752
01:40:00,000 --> 01:40:03,120
your data. 
Actually, you know, there's lots

1753
01:40:03,120 --> 01:40:06,880
of possible options. 
And I think we in 2026, we're 

1754
01:40:06,880 --> 01:40:10,400
starting to see the real need 
and necessity to have different 

1755
01:40:10,400 --> 01:40:14,360
ways of storing data because 
relational just doesn't cut it 

1756
01:40:14,360 --> 01:40:16,720
for everything. 
And you know, I think we've been

1757
01:40:16,720 --> 01:40:20,000
seeing that for quite a while, 
but you know, like the 

1758
01:40:20,000 --> 01:40:24,480
relational DB is a good run and 
Postgres is amazing. 

1759
01:40:24,480 --> 01:40:25,920
I'm not saying don't use 
Postgres. 

1760
01:40:25,920 --> 01:40:27,600
We. 
Just need a little more pain to 

1761
01:40:27,600 --> 01:40:30,160
make it apparent, right? 
And then you're forced to make 

1762
01:40:30,160 --> 01:40:33,280
the changes and we're. 
Seeing look and and ash deals 

1763
01:40:33,280 --> 01:40:35,200
with a lot of that stuff for 
you, but there are different 

1764
01:40:35,200 --> 01:40:37,320
ways to store data for different
reasons. 

1765
01:40:37,320 --> 01:40:41,120
And I think multi model in terms
of storing data is is gonna be 

1766
01:40:41,120 --> 01:40:44,560
certainly the way forward. 
But also, you know, I talked 

1767
01:40:44,560 --> 01:40:49,200
about in my Berlin keynote code 
beam about like the 

1768
01:40:49,200 --> 01:40:53,800
disappearance of the UI. 
Like I watch Lars do some stuff.

1769
01:40:54,080 --> 01:40:57,720
He he yeah, ping me on Discord 
going, Hey, this Ash AI stuff is

1770
01:40:57,720 --> 01:41:00,040
amazing. 
And he was basically doing 

1771
01:41:00,040 --> 01:41:04,960
Goatmeyer organization through 
Claude by talking to an MCP that

1772
01:41:04,960 --> 01:41:07,720
was exposed to his goat Maya 
sort of platform. 

1773
01:41:07,720 --> 01:41:10,680
And he didn't have AUI, it was 
just Ward and he was just 

1774
01:41:10,680 --> 01:41:14,320
interacting. 
And so I'm doing the same kinds 

1775
01:41:14,320 --> 01:41:17,160
of things. 
I've been seeing the big push of

1776
01:41:17,400 --> 01:41:23,200
worry more about creating good 
APIs now versus a full app like 

1777
01:41:23,200 --> 01:41:25,800
give people access. 
And what is an API? 

1778
01:41:25,800 --> 01:41:29,720
Like we had REST and we had 
Graph QL, but you know, MCP was 

1779
01:41:29,720 --> 01:41:32,560
the stuff I've been talking 
about for quite a while now 

1780
01:41:32,560 --> 01:41:34,760
since it came out like a year 
and a half or something. 

1781
01:41:34,880 --> 01:41:39,000
It's November 2024, and I saw 
the promise of that because it's

1782
01:41:39,000 --> 01:41:42,480
like, oh, API is native to how 
LLMS work. 

1783
01:41:42,760 --> 01:41:47,160
Right now we're seeing the MCPS 
don't work quite as well because

1784
01:41:47,160 --> 01:41:50,920
they have a lot of metadata that
takes up context and figuring 

1785
01:41:50,920 --> 01:41:55,160
out tool selection and making 
the LLM reliably pick a tool or 

1786
01:41:55,160 --> 01:41:57,480
a skill or whatever. 
It's actually a really hard 

1787
01:41:57,480 --> 01:41:59,760
problem, especially when you've 
got a lot of choice. 

1788
01:42:00,120 --> 01:42:03,760
It doesn't know how to make the 
decisions to pick those. 

1789
01:42:04,400 --> 01:42:06,560
And so I think that's that's 
still a problem. 

1790
01:42:06,560 --> 01:42:12,240
And so CLI is, is actually a 
better deal because you get 

1791
01:42:12,240 --> 01:42:15,680
progressive disclosure and, and 
Claude and and Co are really 

1792
01:42:16,000 --> 01:42:17,920
trained on running bash 
commands. 

1793
01:42:19,080 --> 01:42:23,680
And so you can do like man the 
CLI and get the man page and get

1794
01:42:23,680 --> 01:42:26,800
the high level idea. 
And so they know how to do this 

1795
01:42:26,800 --> 01:42:28,960
stuff. 
And so CLI is in the last few 

1796
01:42:28,960 --> 01:42:34,720
weeks has been like absolutely 
better than MCPS because Zolis 

1797
01:42:34,720 --> 01:42:36,600
are just a standardized Unix 
format. 

1798
01:42:36,600 --> 01:42:40,240
And the way that you get help 
and you understand, Oh yeah, 

1799
01:42:40,240 --> 01:42:43,160
this is my top level menu with 
the one line description of each

1800
01:42:43,160 --> 01:42:45,240
command. 
And then I can go, you know, 

1801
01:42:45,920 --> 01:42:50,560
command help, sub command and 
get more detailed information 

1802
01:42:50,560 --> 01:42:53,680
about how that works. 
And so progressive disclosure is

1803
01:42:53,760 --> 01:42:57,160
absolutely where it's at for 
LLMS and humans, right? 

1804
01:42:57,160 --> 01:42:59,080
That's how humans learn. 
Yeah. 

1805
01:43:00,320 --> 01:43:02,680
And everyone's realizing that 
shoving everything into your 

1806
01:43:02,680 --> 01:43:08,120
cloud MD is just a way to send 
that yeah to the to the bot on 

1807
01:43:08,120 --> 01:43:09,760
the other. 
Side well, we also see the 

1808
01:43:09,760 --> 01:43:13,520
limitation to that too, Like you
can only throw so much in a 

1809
01:43:13,520 --> 01:43:18,480
markdown file, you know? 
Right and well skills were and 

1810
01:43:18,880 --> 01:43:20,480
usage rules if you haven't used 
it. 

1811
01:43:20,720 --> 01:43:23,560
Usage rules is amazing. 
So it's probably got an upgrade.

1812
01:43:24,280 --> 01:43:27,560
Like it's crazy, like the 
simplicity behind something like

1813
01:43:27,560 --> 01:43:31,760
that, but like the amount of 
power you get from it. 

1814
01:43:32,800 --> 01:43:34,400
Yeah. 
So if you haven't checked out 

1815
01:43:34,400 --> 01:43:38,400
usage rules recently, when 
Claude announced skills, I was 

1816
01:43:38,400 --> 01:43:41,240
like we should be able to take 
usage rules and turn it into 

1817
01:43:41,240 --> 01:43:46,440
skills and did a very draft PR. 
Where I got stuck was we can't 

1818
01:43:46,440 --> 01:43:49,800
auto generate the front matter 
description, which is how the L 

1819
01:43:49,800 --> 01:43:52,760
lens see, because all it loads 
is the front matter for the 

1820
01:43:52,760 --> 01:43:55,240
skill and then it figures out do
I need that skill? 

1821
01:43:55,560 --> 01:44:00,880
Then it loads the whole file. 
And so it's pretty critical that

1822
01:44:00,880 --> 01:44:05,120
your description for the tool or
the yeah, the skill is is 

1823
01:44:05,120 --> 01:44:07,680
perfect because otherwise the LM
can't choose to use it. 

1824
01:44:07,680 --> 01:44:11,200
It's like use this when and so 
that wasn't baked in. 

1825
01:44:11,200 --> 01:44:14,720
So I think it was Zach that that
rejected. 

1826
01:44:16,240 --> 01:44:17,440
I'll have to check it out I 
feel. 

1827
01:44:17,600 --> 01:44:20,880
Like you can now create skills 
and set your own descriptions 

1828
01:44:20,880 --> 01:44:21,360
for. 
Nice. 

1829
01:44:22,400 --> 01:44:26,240
Groups of skills like Ash skills
or live view or Phoenix or what 

1830
01:44:26,240 --> 01:44:29,680
have you and it's it's way, way 
better and you can sort of turn 

1831
01:44:29,680 --> 01:44:33,320
it from shoving everything into 
clawed into more like 

1832
01:44:33,320 --> 01:44:35,640
progressive disclosure through 
through skills. 

1833
01:44:35,800 --> 01:44:39,120
I have been using skills heavily
now in my daily workflow and 

1834
01:44:39,120 --> 01:44:40,880
it's helpful. 
It's nice. 

1835
01:44:42,200 --> 01:44:46,560
Yeah, I, I've, I've been using 
cmux for like, I love Ghosty, 

1836
01:44:46,960 --> 01:44:51,320
but I've been using cmux and 
that's been really good around 

1837
01:44:51,600 --> 01:44:55,400
just giving you like a Ghosty 
terminal with vertical tabs, 

1838
01:44:55,400 --> 01:44:57,240
which so you can read what the 
tabs are. 

1839
01:44:57,680 --> 01:45:00,800
So you have a lot of tabs. 
I've got a full side drawer of 

1840
01:45:00,800 --> 01:45:02,520
those. 
And then every time Claude 

1841
01:45:02,520 --> 01:45:06,480
stops, it puts a little, does a 
little Ding and puts a blue ring

1842
01:45:06,480 --> 01:45:10,840
around and yeah, just alerts you
to what is needing because I'm 

1843
01:45:10,840 --> 01:45:15,240
running like 20 plus sessions 
constantly and. 

1844
01:45:15,320 --> 01:45:17,240
I feel like I had to step up my 
game. 

1845
01:45:17,240 --> 01:45:19,880
I'm like a a single. 
So try Cmux. 

1846
01:45:19,880 --> 01:45:23,920
I really like it. 
It's based on Ghosty and so it 

1847
01:45:23,920 --> 01:45:25,640
just feels very familiar and 
it's got brown. 

1848
01:45:27,080 --> 01:45:32,880
Oh yeah, it's cool looking. 
It's it's super cool someone Rob

1849
01:45:33,320 --> 01:45:36,360
at olembic also showed us super 
set SH. 

1850
01:45:36,360 --> 01:45:39,960
I think it was was another one. 
I can't vouch for that one, but 

1851
01:45:39,960 --> 01:45:42,720
Rob said it was pretty good. 
All right, cool. 

1852
01:45:42,720 --> 01:45:46,720
And so similar ideas is like, 
you know, sort of agentic 

1853
01:45:47,120 --> 01:45:51,200
workspace terminals and I was, 
you know, abusing VS Code as 

1854
01:45:51,200 --> 01:45:52,960
basically like a team UX because
I never got. 

1855
01:45:52,960 --> 01:45:55,400
It yeah, I was going to say like
I know a lot of people using 

1856
01:45:55,400 --> 01:45:58,280
like team UX sessions and things
and it seems to work pretty 

1857
01:45:58,280 --> 01:46:00,760
well, but. 
Well, I just use VS Code with 

1858
01:46:00,880 --> 01:46:03,400
the way that you can get 
terminal windows, and I had my 

1859
01:46:03,400 --> 01:46:06,760
code and my terminals and my 
claws and my codex is all in one

1860
01:46:06,760 --> 01:46:07,280
space. 
Yeah. 

1861
01:46:07,400 --> 01:46:11,000
And now I use CMUX for the stuff
that it doesn't necessarily have

1862
01:46:11,000 --> 01:46:12,760
code attached attached to it. 
OK, cool. 

1863
01:46:12,760 --> 01:46:14,480
But I use a combination of those
I'm. 

1864
01:46:15,720 --> 01:46:17,880
Gonna have to do this. 
I feel like I need a little 

1865
01:46:17,880 --> 01:46:21,240
upgrade to my AI workflow so 
it'll be good to well. 

1866
01:46:22,400 --> 01:46:24,240
There you go, CMOS is pretty 
good. 

1867
01:46:26,040 --> 01:46:29,760
You know it's still new and so I
found an issue the other day. 

1868
01:46:29,760 --> 01:46:34,160
If I dragged a session with a 
clawed running inside of it over

1869
01:46:34,160 --> 01:46:39,160
to another workspace, it started
like the the IT wraps clawed and

1870
01:46:39,160 --> 01:46:43,640
it wraps open something else so 
that it can inject the hooks 

1871
01:46:43,640 --> 01:46:46,320
that it needs. 
And it's just a shell script 

1872
01:46:46,320 --> 01:46:48,160
that you can look at if you're 
worried about the security. 

1873
01:46:49,920 --> 01:46:54,560
And so yeah, it's pretty neat. 
And it works on Ghosty, which if

1874
01:46:54,560 --> 01:46:57,360
you haven't used Ghosty as a 
terminal Item 2, was my favorite

1875
01:46:57,360 --> 01:46:59,240
for a long time. 
And then I discovered Ghosty and

1876
01:46:59,480 --> 01:47:01,800
Mitchell Hashimoto. 
I think that's his name. 

1877
01:47:03,240 --> 01:47:05,920
Right, I have not used it, but I
have seen it. 

1878
01:47:06,000 --> 01:47:07,480
Oh. 
Yeah, Ghosty's amazing. 

1879
01:47:07,480 --> 01:47:12,080
And I think Zach was talking 
about, I think it was yesterday 

1880
01:47:12,440 --> 01:47:15,680
that they got in in the latest 
release Applescript scripting 

1881
01:47:15,680 --> 01:47:18,760
for Ghost. 
I did see his post on that. 

1882
01:47:18,760 --> 01:47:19,920
Yeah, that's. 
Cool. 

1883
01:47:19,920 --> 01:47:23,720
That's really cool, Apple. 
Script you know, you may not 

1884
01:47:23,720 --> 01:47:27,440
have ever written it, but. 
I have actually I I have a 

1885
01:47:27,480 --> 01:47:29,040
stupid. 
Script in your math. 

1886
01:47:30,040 --> 01:47:34,360
I have a stupid script to mute 
my microphone at the hardware 

1887
01:47:34,360 --> 01:47:38,000
level and I I did that with an 
Applescript. 

1888
01:47:39,000 --> 01:47:41,080
There you go. 
So Applescript is probably the 

1889
01:47:41,080 --> 01:47:44,080
the power tool that you've 
probably been sleeping on on 

1890
01:47:44,080 --> 01:47:46,880
your Mac for. 
Oh, I I have absolutely. 

1891
01:47:47,160 --> 01:47:50,600
I have like a wish list of, I 
have a wish list of things. 

1892
01:47:50,600 --> 01:47:54,040
I want to just take the time and
like write out and automate and 

1893
01:47:54,040 --> 01:47:55,120
I. 
Have Well now you don't have to 

1894
01:47:55,120 --> 01:47:56,840
take the time. 
Just ask Ford to do it. 

1895
01:47:57,040 --> 01:47:59,040
Yeah, they're. 
Oh yeah, that's smart. 

1896
01:48:00,040 --> 01:48:03,040
Right, Yeah, I see. 
Like I use cloud. 

1897
01:48:03,040 --> 01:48:04,680
Daily. 
But then I don't think about 

1898
01:48:05,200 --> 01:48:08,400
using it to simplify my like 
working tasks, you know? 

1899
01:48:09,520 --> 01:48:12,240
So like I said before, and I 
think it's probably a good note 

1900
01:48:12,240 --> 01:48:16,680
to to leave it on is that you 
know, you know, you asked like 

1901
01:48:16,680 --> 01:48:18,120
where does software engineering 
go? 

1902
01:48:18,160 --> 01:48:20,480
Well, we're not going to be 
doing any of the grind work 

1903
01:48:20,720 --> 01:48:24,280
anymore, right? 
But we get lifted up to be 

1904
01:48:24,360 --> 01:48:26,640
having more time to think about,
well, what can we do? 

1905
01:48:26,680 --> 01:48:28,080
Where are the limits here? 
We don't know. 

1906
01:48:28,520 --> 01:48:29,920
And the only limits are your 
taste. 

1907
01:48:29,920 --> 01:48:33,360
Now you know. 
The only limits are your taste 

1908
01:48:33,360 --> 01:48:37,920
and judgement, you know, and 
your imagination. 

1909
01:48:38,280 --> 01:48:40,840
Yeah. 
And time, right. 

1910
01:48:41,120 --> 01:48:44,320
And like, you know, how many 
tokens can you get down from? 

1911
01:48:44,360 --> 01:48:47,080
Yeah. 
How many tokens utilize your 

1912
01:48:47,080 --> 01:48:51,880
monthly spend? 
I did accidentally buy personal 

1913
01:48:51,880 --> 01:48:56,480
Max on top of the Olympic team 
plan premium seat, which is kind

1914
01:48:56,480 --> 01:48:59,080
of like the team version of Max 
plan. 

1915
01:48:59,840 --> 01:49:05,040
And yeah, the whole Olympic team
is on that now as of 2026. 

1916
01:49:05,080 --> 01:49:07,920
Everyone got on there and earned
their stripes. 

1917
01:49:07,920 --> 01:49:10,960
They had to push through the API
key to sort of figure out, oh, 

1918
01:49:11,080 --> 01:49:14,600
I'm using more tokens than it 
would cost to do the, you know, 

1919
01:49:14,640 --> 01:49:17,760
the team plan premium seat. 
And so, you know, you have to 

1920
01:49:17,760 --> 01:49:24,800
earn new stripes and yeah, like,
I need to figure out how to 

1921
01:49:25,080 --> 01:49:28,160
utilize all the tokens I have at
my disposal before the price 

1922
01:49:28,160 --> 01:49:29,840
goes up because will the price 
go up? 

1923
01:49:30,040 --> 01:49:32,680
I am, you know, yeah, I feel. 
Like where they get you on the 

1924
01:49:32,680 --> 01:49:35,280
free credits and the cheap 
tokens and then we're going to 

1925
01:49:35,280 --> 01:49:37,080
get. 
Trapped and all of a sudden 

1926
01:49:37,080 --> 01:49:39,960
it'll be like, well I guess it's
worth 2 grand a month or you 

1927
01:49:39,960 --> 01:49:43,480
know what I mean, per seat. 
Right. 

1928
01:49:44,080 --> 01:49:47,040
And then? 
If you're using it wisely, it 

1929
01:49:47,040 --> 01:49:52,040
probably is. 
I I know folks using like cursor

1930
01:49:52,040 --> 01:49:55,600
through the like the betting. 
Plan where it's like his paper's

1931
01:49:55,600 --> 01:50:01,440
in What's Josh's handle on X? 
Oh, it's just my name. 

1932
01:50:01,560 --> 01:50:03,160
Josh Price. 
Josh Price, right? 

1933
01:50:03,200 --> 01:50:04,520
Yeah, there you. 
Go. 

1934
01:50:05,440 --> 01:50:06,400
I'm pretty. 
Sure, yeah. 

1935
01:50:07,080 --> 01:50:09,680
I I tagged him in some of my 
posts so you should be able to 

1936
01:50:09,680 --> 01:50:14,240
find him. 
Yeah, yeah, I I stopped using X,

1937
01:50:14,880 --> 01:50:19,200
No Twitter. 
I had a hard time, I couldn't 

1938
01:50:19,200 --> 01:50:21,240
accept it. 
Like I just, it doesn't flow 

1939
01:50:21,240 --> 01:50:22,960
right. 
But like all of a sudden I feel 

1940
01:50:22,960 --> 01:50:27,760
like I guess it's been X long 
enough but I I don't. 

1941
01:50:27,880 --> 01:50:32,360
Know, I guess I I don't know, I 
like when Twitter came out and I

1942
01:50:32,360 --> 01:50:35,360
like Twitter doesn't. 
Sounds nicer tweets. 

1943
01:50:35,360 --> 01:50:37,880
It just makes like. 
I don't like calling it posts. 

1944
01:50:38,080 --> 01:50:40,960
I'd rather call them tweets, 
but. 

1945
01:50:41,000 --> 01:50:43,120
Yeah, I, I'm still old school 
about that. 

1946
01:50:43,560 --> 01:50:46,640
Yeah, I get it. 2008 when it 
came out, it was just absolutely

1947
01:50:46,640 --> 01:50:48,120
amazing. 
And it was like having 

1948
01:50:48,120 --> 01:50:50,360
conversations with everyone 
around the world globally, like 

1949
01:50:50,360 --> 01:50:52,280
they were they were next to you 
was amazing. 

1950
01:50:53,360 --> 01:50:54,600
And I think it still is like 
that. 

1951
01:50:54,600 --> 01:50:57,320
I enjoy it. 
There was a, there was a, there 

1952
01:50:57,320 --> 01:51:00,040
was a dip for a bit and actually
there's. 

1953
01:51:00,360 --> 01:51:04,960
I feel like they cleaned up the 
the for me like. 

1954
01:51:05,160 --> 01:51:07,840
I'm getting some really good 
stuff on there I've been doing. 

1955
01:51:08,000 --> 01:51:11,720
Mine has been all elixir based, 
less politics and. 

1956
01:51:12,520 --> 01:51:15,440
Yeah, yeah, no, I I've been 
getting into like 3 JS and what 

1957
01:51:15,440 --> 01:51:16,720
you can do with that. 
Oh, nice. 

1958
01:51:16,720 --> 01:51:22,440
And combining that with live 
view because we're building AI 

1959
01:51:22,440 --> 01:51:26,600
built sort of vibe up a 
satellite tracker and it is 

1960
01:51:26,600 --> 01:51:30,600
pretty amazing. 
I may launch that soon, but 

1961
01:51:30,600 --> 01:51:34,920
we're, you know, about to start 
doing a interesting space 

1962
01:51:34,920 --> 01:51:38,040
project. 
That's been something I've been 

1963
01:51:38,040 --> 01:51:41,080
waiting for since my my teenage 
years. 

1964
01:51:41,160 --> 01:51:45,600
Well, that's very into like 3D 
graphics and I've always wanted 

1965
01:51:45,600 --> 01:51:48,840
for 30 years, my whole career. 
Like how can we bring game and 

1966
01:51:48,840 --> 01:51:51,720
sci-fi interfaces into business 
applications? 

1967
01:51:51,920 --> 01:51:55,920
And I think with LLMS now, the 
calculus is such that we can and

1968
01:51:55,920 --> 01:52:00,840
three JS is amazing and it works
really really well with life. 

1969
01:52:00,840 --> 01:52:02,840
I've seen demos, I've seen demos
with it. 

1970
01:52:02,840 --> 01:52:04,400
I've never like played around 
with it though. 

1971
01:52:07,480 --> 01:52:09,960
Well, I mean, that's why I asked
whether we could do some screen 

1972
01:52:09,960 --> 01:52:12,840
sharing on this but. 
You know what we should? 

1973
01:52:13,200 --> 01:52:15,720
Well, I said I'd prefer not to 
because then you have to like, 

1974
01:52:15,720 --> 01:52:17,320
describe everything on the 
screen. 

1975
01:52:17,680 --> 01:52:19,320
But. 
What we Well, this is a podcast 

1976
01:52:19,360 --> 01:52:21,160
after all, so you're correct to 
say no. 

1977
01:52:21,160 --> 01:52:24,320
Yeah. 
So, but I think what we should 

1978
01:52:24,320 --> 01:52:29,160
do is maybe schedule like a 
coding session and then like I 

1979
01:52:29,160 --> 01:52:31,800
don't put those on podcast 
platforms and we can screenshot.

1980
01:52:31,800 --> 01:52:33,280
Yeah, sure. 
Yeah. 

1981
01:52:33,840 --> 01:52:36,360
So I'm definitely down for that.
That would be a lot of fun. 

1982
01:52:36,920 --> 01:52:40,320
Because I've been cooking some 
stuff that is pretty cool. 

1983
01:52:40,840 --> 01:52:42,400
We have. 
And I feel like I'm just getting

1984
01:52:42,400 --> 01:52:44,960
started. 
Joshua Payne, he said the new 

1985
01:52:44,960 --> 01:52:47,520
relational database structure 
really got me excited. 

1986
01:52:47,520 --> 01:52:50,920
And now three JS combined with 
live view in space. 

1987
01:52:51,200 --> 01:52:53,600
Let's go. 
Right. 

1988
01:52:53,960 --> 01:52:57,760
I, I vibed up this satellite 
tracker in a couple of hours on 

1989
01:52:57,760 --> 01:53:00,640
a weekend and I literally had a 
grin from ear to ear. 

1990
01:53:00,640 --> 01:53:04,760
And I said I had so much fun 
because, yeah, in my uni days, 

1991
01:53:04,760 --> 01:53:09,240
in my 3D graphics course, I 
built a ray tracer in C And 

1992
01:53:09,240 --> 01:53:12,440
because I left it to the last 
minute, I was like, I was on my 

1993
01:53:12,440 --> 01:53:16,040
modem telnetted to the 
university server. 

1994
01:53:16,680 --> 01:53:22,600
And then I realized, oh, it's a,
it's 10:00 at night and I can't 

1995
01:53:22,600 --> 01:53:26,000
render the ray tracer output 
because I need a graphical 

1996
01:53:26,000 --> 01:53:27,560
terminal. 
And I'm like, what do I do? 

1997
01:53:28,120 --> 01:53:32,040
And I had this very slow modem. 
And so I had to downscale this 

1998
01:53:32,880 --> 01:53:37,080
ray tracing output to like, you 
know, 10 by 10 or 20 by 20, so 

1999
01:53:37,080 --> 01:53:39,160
it would fit on a screen and 
render it in ASCII. 

2000
01:53:39,680 --> 01:53:42,200
So I wrote a ASCII renderer so I
could keep trucking. 

2001
01:53:42,200 --> 01:53:45,160
After hours, I couldn't get the 
graphics terminals. 

2002
01:53:45,600 --> 01:53:48,080
That's awesome. 
And so yeah, like I've been 

2003
01:53:48,080 --> 01:53:49,760
waiting for this moment to come 
back to the. 

2004
01:53:49,880 --> 01:53:51,320
Yeah, for real. 
That's awesome. 

2005
01:53:52,720 --> 01:53:55,600
But yeah, all right, Sport is 
quite good at 3GS and Live View 

2006
01:53:55,600 --> 01:53:59,120
works with it a treat. 
Yeah, I think let's do a vibe 

2007
01:53:59,120 --> 01:54:02,000
coding or just a coding session 
schedule, then we can play 

2008
01:54:02,000 --> 01:54:03,440
around. 
I think that'd be fun. 

2009
01:54:03,960 --> 01:54:05,480
Let's do it. 
All right, cool. 

2010
01:54:05,480 --> 01:54:07,480
Well, thanks so much for joining
me, Josh. 

2011
01:54:07,560 --> 01:54:09,640
This has been a lot of fun. 
Thanks for having me and it's 

2012
01:54:09,920 --> 01:54:12,480
always great to chat and I feel 
like we can go for hours. 

2013
01:54:12,600 --> 01:54:16,200
I know we can just keep going 
and we'll just have to schedule 

2014
01:54:16,200 --> 01:54:18,240
another one and just continue 
on. 

2015
01:54:18,240 --> 01:54:20,160
Let's do it. 
Looking forward to the next one.

2016
01:54:20,800 --> 01:54:24,120
Alright guys, thanks for tuning 
in everyone and I'll, I'll see 

2017
01:54:24,120 --> 01:54:30,280
you guys on Friday with another 
episode testing.

