1
00:00:07,840 --> 00:00:11,040
I like that.

2
00:00:11,560 --> 00:00:12,600
Bent in neon.

3
00:00:13,880 --> 00:00:17,655
Well, first of all,
welcome to Austin is what

4
00:00:17,680 --> 00:00:18,720
I would normally say.

5
00:00:18,920 --> 00:00:21,800
I would say welcome back
to myself to Austin.

6
00:00:21,880 --> 00:00:25,880
I was just here about a month ago
yapping for 5 hours on a podcast.

7
00:00:25,960 --> 00:00:27,800
It is great to be back here.

8
00:00:27,960 --> 00:00:33,880
But even more exciting for me
is to be alive right now

9
00:00:34,480 --> 00:00:38,640
in this moment and sharing it
with a wonderful community

10
00:00:39,160 --> 00:00:42,920
around Ruby on Rails and everyone
else who is excited about agents.

11
00:00:43,760 --> 00:00:48,000
And if you aren't yet,
hopefully you will be by the end of this

12
00:00:48,560 --> 00:00:51,240
delirious talk on the future.

13
00:00:51,920 --> 00:00:55,280
Now,
I know that the first instinct someone

14
00:00:55,400 --> 00:01:00,695
might have when they see a
Person dancing around being so excited

15
00:01:00,720 --> 00:01:04,640
about this moment is a diagnosis.

16
00:01:06,960 --> 00:01:08,240
AI psychosis.

17
00:01:10,120 --> 00:01:11,440
I prefer a different term.

18
00:01:12,000 --> 00:01:14,760
I have AI delirium.

19
00:01:17,000 --> 00:01:18,560
AI euphoria.

20
00:01:19,200 --> 00:01:24,120
Because this is simply the most exciting
thing we have made computers do

21
00:01:24,760 --> 00:01:29,280
in the time I have worked with them,
played with them, interacted with them.

22
00:01:30,040 --> 00:01:34,240
But I think actually to
wrestle with the fact that on the one

23
00:01:34,280 --> 00:01:38,480
hand, this is tremendously exciting,
it is also a little unnerving.

24
00:01:39,640 --> 00:01:43,680
Because we don't know exactly what the
final state of this is going to be.

25
00:01:44,680 --> 00:01:50,080
And whenever we try to make a prediction,
it is out of date about 20 minutes later.

26
00:01:50,640 --> 00:01:55,200
That's a weird state to be in,
even if you are excited for the future,

27
00:01:55,240 --> 00:01:56,800
even if you're excited for the present.

28
00:01:57,360 --> 00:02:03,000
And I fully understand the sense of
unease that can create.

29
00:02:04,040 --> 00:02:10,120
So to soothe that somewhat, let's
wind back the clock a little bit.

30
00:02:13,440 --> 00:02:17,000
This is a state-of-the-art.

31
00:02:18,480 --> 00:02:21,920
Piece of technology from the 18th century.

32
00:02:22,480 --> 00:02:26,280
If you wanted your portrait taken
in the 18th century,

33
00:02:26,640 --> 00:02:32,375
you would sit for hour upon hour upon hour
in front of a master painter who would

34
00:02:32,400 --> 00:02:38,400
then go off and at best spend months
working on your portrait.

35
00:02:39,240 --> 00:02:44,215
And it was beautiful, is beautiful,
amazing legacy of culture that

36
00:02:44,240 --> 00:02:45,760
has been left to all of us now.

37
00:02:46,400 --> 00:02:51,240
That we can see the Lady Waldegrave to
this day that Joshua Reynolds

38
00:02:51,600 --> 00:02:53,760
painted in 1781.

39
00:02:54,800 --> 00:02:55,400
Wonderful.

40
00:02:56,400 --> 00:02:58,720
Also, a little exclusive.

41
00:03:00,040 --> 00:03:04,975
Not that many people in the 18th century
were able to commission a piece of

42
00:03:05,000 --> 00:03:10,360
themselves like this and pay for an artist
to spend months and months and months to

43
00:03:11,360 --> 00:03:12,520
create something like this.

44
00:03:13,520 --> 00:03:15,760
And even worse,
in the case of this particular painting,

45
00:03:16,320 --> 00:03:20,000
Reynolds spent months and months
on another painting

46
00:03:20,560 --> 00:03:24,960
of the Ladies Waldegrave that was rejected
by the client because

47
00:03:25,560 --> 00:03:27,040
a piece of ankle was showing.

48
00:03:27,960 --> 00:03:28,800
It was scandalous.

49
00:03:29,560 --> 00:03:31,760
So he simply had to go back and redo it.

50
00:03:32,440 --> 00:03:35,400
I don't know if anyone has worked with
clients before, but they might have some

51
00:03:35,425 --> 00:03:38,280
sympathy for poor Mr. Joshua Reynolds.

52
00:03:38,560 --> 00:03:40,200
And rejected statements of work.

53
00:03:42,360 --> 00:03:45,255
Now,
most of the people who could afford to do

54
00:03:45,280 --> 00:03:52,400
this were either part of the upper
bourgeoisie or they were outright royals.

55
00:03:53,200 --> 00:04:00,800
Here's a painting that was done 20 years
later by Goya of the royal Spanish family.

56
00:04:01,960 --> 00:04:03,820
That was sort of the rate of technology.

57
00:04:05,320 --> 00:04:10,000
Painters had been perfecting the different
techniques of capturing portraits of

58
00:04:10,040 --> 00:04:15,015
people for literally hundreds of years and
were making very marginal

59
00:04:15,040 --> 00:04:16,440
progress along the way.

60
00:04:17,920 --> 00:04:25,200
Now, between 1801 and the next painting
I'm going to show, 80 years went past.

61
00:04:26,200 --> 00:04:34,920
And in that time, the introduction of The
camera came to the scene in around 1840.

62
00:04:35,920 --> 00:04:44,080
But here's a painting of the
royal Danish family from 1888.

63
00:04:45,400 --> 00:04:46,320
Oh, '86.

64
00:04:47,200 --> 00:04:49,800
By a Danish painter, Laurits Tuxen.

65
00:04:50,680 --> 00:04:52,920
He didn't just spend 3
months painting this.

66
00:04:53,400 --> 00:04:54,800
He spent 3 years.

67
00:04:55,640 --> 00:05:03,680
It is still hanging in the
royal squares in Copenhagen,

68
00:05:03,960 --> 00:05:05,060
and you can go see it there.

69
00:05:05,085 --> 00:05:08,000
An amazing achievement, amazing artistry.

70
00:05:08,560 --> 00:05:09,455
Also very functional.

71
00:05:09,480 --> 00:05:12,200
Again, the point was to capture
the royal family at that time.

72
00:05:12,840 --> 00:05:18,480
But this was getting towards the end
of that particular mode

73
00:05:18,880 --> 00:05:20,440
for artists of that kind.

74
00:05:21,080 --> 00:05:29,775
Because what happened between
1840 and 1900 was that the technology of

75
00:05:29,800 --> 00:05:31,800
capturing portraits got better and better.

76
00:05:33,560 --> 00:05:39,040
And in 1900, the Eastman Kodak Company
introduced the Brownie,

77
00:05:39,960 --> 00:05:45,575
the first sort of mass-produced
form of photography that was more

78
00:05:45,600 --> 00:05:47,960
generally accessible because
the price was coming down.

79
00:05:48,040 --> 00:05:49,540
I think it was about a dollar.

80
00:05:49,640 --> 00:05:51,375
To have your picture taken with this.

81
00:05:51,400 --> 00:05:54,180
And therefore, a lot of people
suddenly had their pictures taken.

82
00:05:54,440 --> 00:05:59,400
And all of these great artists realized
that the craftsmanship of producing these

83
00:05:59,480 --> 00:06:02,480
grand paintings, you know what,
that was gonna be different.

84
00:06:04,000 --> 00:06:05,520
The job was going to be different.

85
00:06:05,680 --> 00:06:09,560
Because suddenly now there was
competition from a new form of technology.

86
00:06:12,480 --> 00:06:13,620
And they pivoted.

87
00:06:14,880 --> 00:06:20,120
Laurits Tuxen, along with many other
painters in that era, shortly after

88
00:06:20,840 --> 00:06:24,600
the Brownie was introduced,
realized that depicting reality

89
00:06:25,160 --> 00:06:31,640
as perfectly as possible was no longer
really an economically viable skill.

90
00:06:32,320 --> 00:06:33,480
They needed another skill.

91
00:06:33,520 --> 00:06:34,680
They needed another domain.

92
00:06:35,360 --> 00:06:38,280
And many of them pivoted
to different forms of art.

93
00:06:39,120 --> 00:06:41,720
You had Picasso chasing Cubism.

94
00:06:42,560 --> 00:06:47,880
And you had the Danish Skagen painters
chasing a form of impressionism

95
00:06:48,440 --> 00:06:50,440
that this painting is an example of.

96
00:06:51,760 --> 00:06:57,720
So we got this explosion of creativity
brought upon us by the change

97
00:06:58,160 --> 00:07:05,120
in technology that suddenly
people had to find a new way to express

98
00:07:05,240 --> 00:07:07,320
their art because the old way was gone.

99
00:07:08,360 --> 00:07:10,920
Now,
what's interesting about this particular

100
00:07:10,960 --> 00:07:15,640
picture is that the
lady in the center in the pink dress,

101
00:07:16,320 --> 00:07:19,960
Yvonne Tuxen, is actually
my great-grandmother.

102
00:07:22,240 --> 00:07:25,160
Because Laurits Tuxen is
my great-great-grandfather.

103
00:07:26,920 --> 00:07:34,080
And here he is depicted in 1921,
I believe, shortly before his death.

104
00:07:34,600 --> 00:07:37,800
Death,
he embraced the fact of having his own

105
00:07:37,840 --> 00:07:42,840
portrait taken by the new form technology
that had rendered his old profession

106
00:07:43,280 --> 00:07:44,740
a different place to work.

107
00:07:48,080 --> 00:07:53,000
52 years after his death,
I was born in 1979.

108
00:07:54,680 --> 00:07:58,400
Interestingly enough,
that picture taken here is very similar,

109
00:07:58,720 --> 00:08:02,880
actually, to the picture that was taken by
Laurits In the 1920s,

110
00:08:03,360 --> 00:08:06,680
the technology hadn't evolved that much
because that's what often happens

111
00:08:07,240 --> 00:08:08,960
with progressions of technology.

112
00:08:09,080 --> 00:08:11,400
It comes in starts and stops and fits.

113
00:08:12,200 --> 00:08:18,480
The huge change was the Brownie,
the democratization of photography,

114
00:08:19,000 --> 00:08:24,480
and then kind of almost 80 years went by
when not a whole lot happened.

115
00:08:24,800 --> 00:08:28,160
We got color photography in the 60s, but.

116
00:08:28,880 --> 00:08:32,280
Not widely distributed enough
that apparently I was worth one.

117
00:08:36,120 --> 00:08:41,880
Although we did rectify that a few years
later, and here's a color photography

118
00:08:41,920 --> 00:08:46,040
of me, age 4, sitting with my brother.

119
00:08:46,880 --> 00:08:51,120
Now,
a couple years later, here's another

120
00:08:52,240 --> 00:08:55,160
photograph of me,
and between those 3 photos,

121
00:08:55,840 --> 00:09:01,120
That's about, I think, 10% of my
stockpile of photos of my childhood.

122
00:09:01,960 --> 00:09:06,415
Because even though
the democratization of this technology had

123
00:09:06,440 --> 00:09:10,375
happened to a point that
even we as a family could afford to have

124
00:09:10,400 --> 00:09:12,940
these pictures taken,
it was not that widely distributed.

125
00:09:12,965 --> 00:09:16,840
And yes, there was a curve and more
pictures were being taken in the 1980s,

126
00:09:17,160 --> 00:09:22,760
as this photo represents, versus the
1900s, but it was still kind of modest.

127
00:09:23,120 --> 00:09:26,760
Because technology moves in
fits, starts and stops.

128
00:09:29,120 --> 00:09:35,360
And the camera that those 3 pictures were
taken on was very similar to this camera.

129
00:09:35,440 --> 00:09:38,240
This is the Leica 1 from 1925.

130
00:09:39,400 --> 00:09:42,520
In fact, maybe some of those pictures
were literally taken with another Leica.

131
00:09:44,120 --> 00:09:45,840
I think they were up
to the 7th one by then.

132
00:09:45,960 --> 00:09:49,120
But they weren't that different because
the technology was quite similar.

133
00:09:49,920 --> 00:09:52,800
Not much had happened
since the great revolution

134
00:09:53,280 --> 00:09:55,720
around the 1900s until the '80s.

135
00:09:57,400 --> 00:10:01,920
Then we gave it a couple more decades,
and suddenly everything

136
00:10:02,000 --> 00:10:03,080
changed dramatically again.

137
00:10:04,840 --> 00:10:09,160
Photography went from not just being
possible for everyone to have,

138
00:10:09,240 --> 00:10:13,400
but to become completely frictionless,
and the number of photos

139
00:10:13,520 --> 00:10:15,520
taken went parabolical.

140
00:10:16,360 --> 00:10:19,520
Because suddenly
everyone could afford to have

141
00:10:20,120 --> 00:10:24,600
tens of thousands of pictures of
their children, and many of them did.

142
00:10:25,440 --> 00:10:28,320
It simply became too cheap to measure.

143
00:10:29,360 --> 00:10:32,615
These are some of the photographs my wife
likes to take when she's

144
00:10:32,640 --> 00:10:33,900
out on her evening walk.

145
00:10:34,160 --> 00:10:40,240
To have wanted to do this even in the '80s
would have required a commitment to film

146
00:10:40,600 --> 00:10:44,400
and getting them
produced and the rest of it.

147
00:10:44,440 --> 00:10:47,400
And there were people who did that,
but not that many,

148
00:10:47,880 --> 00:10:49,700
because the friction was still too high.

149
00:10:52,160 --> 00:11:00,280
Today, in 2026, some 2 trillion
photos are taken every year.

150
00:11:01,680 --> 00:11:02,760
That's very different.

151
00:11:02,960 --> 00:11:07,480
It's the same underlying technology,
but we've clearly hit an inflection point,

152
00:11:07,560 --> 00:11:10,400
even compared to when The
camera phone first came out.

153
00:11:11,920 --> 00:11:16,680
There's gonna be some parallels here
to our industry and our profession.

154
00:11:20,080 --> 00:11:24,200
On November 24th, 2025,

155
00:11:25,280 --> 00:11:30,680
we got the Kodak Brownie of our era.

156
00:11:32,200 --> 00:11:34,200
We got Opus 4.5.

157
00:11:37,120 --> 00:11:44,840
AI technology made accessible in a harness
that many people could afford to use and

158
00:11:44,880 --> 00:11:51,480
experience for the first time
what it's like to create software in

159
00:11:51,560 --> 00:11:53,760
pairing with a new form of intelligence.

160
00:11:55,840 --> 00:11:57,280
This was the tipping point for me.

161
00:11:58,400 --> 00:12:01,520
There was everything before November 24th.

162
00:12:02,280 --> 00:12:03,980
And then there was everything after.

163
00:12:04,080 --> 00:12:09,080
This is going to be the date
that history books going forward will mark

164
00:12:09,320 --> 00:12:11,760
as the inflection point
for the age of agents.

165
00:12:14,000 --> 00:12:16,455
And as with the Brownie,
when that first came out,

166
00:12:16,480 --> 00:12:20,960
there was an explosion of
different form factors and new ways

167
00:12:21,080 --> 00:12:23,240
of trying to harness this technology.

168
00:12:23,600 --> 00:12:31,160
And it did not take long until we got Some
notion of the same intelligence

169
00:12:31,240 --> 00:12:33,040
in an open-weight format?

170
00:12:34,120 --> 00:12:35,440
Total euphoria.

171
00:12:35,600 --> 00:12:37,480
This is moving so fast.

172
00:12:37,840 --> 00:12:43,440
I can't believe that this alien technology
is now accessible in open-weight form.

173
00:12:43,600 --> 00:12:45,160
It just happened a few months later.

174
00:12:45,520 --> 00:12:51,480
I drove Kimi K2.5 In the fast mode for
quite a while and absolutely loved it.

175
00:12:51,640 --> 00:12:55,320
An incredible experience to be
experiencing This kind of

176
00:12:55,360 --> 00:12:57,560
intelligence at 200 tokens per second.

177
00:12:57,800 --> 00:13:02,080
But then something else happened.

178
00:13:03,560 --> 00:13:07,320
This trough of disillusionment from
February through May

179
00:13:07,760 --> 00:13:12,600
where we seemingly continued to get
new models, but they kind of sucked.

180
00:13:13,320 --> 00:13:14,820
It was like they were stepping backwards.

181
00:13:14,845 --> 00:13:17,720
And many people were like,
what's this Opus 4.6 thing?

182
00:13:17,840 --> 00:13:18,680
I don't know, man.

183
00:13:19,400 --> 00:13:21,060
Just give me the old stuff again.

184
00:13:21,440 --> 00:13:26,720
And a lot of people thought, haha,
you thought this was going to continuously

185
00:13:26,800 --> 00:13:28,720
exponentially expand and improve.

186
00:13:29,000 --> 00:13:32,120
But look, we're actually not
getting that much better.

187
00:13:32,600 --> 00:13:33,960
I remember a particular release.

188
00:13:34,040 --> 00:13:38,320
I think it was of
OpenAI's new model that didn't punch

189
00:13:38,360 --> 00:13:39,700
that much better on the benchmarks.

190
00:13:39,725 --> 00:13:43,600
And the stock price fell or the valuation
fell and the market was suddenly,

191
00:13:43,680 --> 00:13:44,960
oh my God, it's over.
Yeah.

192
00:13:47,240 --> 00:13:48,580
Because we don't know
what's going to happen.

193
00:13:48,605 --> 00:13:55,200
But this trough of disillusionment did not
last like it did with photography for 100

194
00:13:55,320 --> 00:13:58,600
years, where the technology
barely seemed to improve.

195
00:13:59,640 --> 00:14:01,040
It only lasted until May.

196
00:14:02,440 --> 00:14:03,320
Well, June, really.

197
00:14:04,240 --> 00:14:08,800
Because in June,
we got Fable 5 and Mythos.

198
00:14:09,360 --> 00:14:13,375
And clearly, anyone
who had a chance to experience that at the

199
00:14:13,400 --> 00:14:17,815
time were disabused of any disillusionment
they might have had about whether we

200
00:14:17,840 --> 00:14:20,120
had stalled and whether it was over.

201
00:14:21,320 --> 00:14:26,840
And I'd say this is where my
diagnosis really set in.

202
00:14:28,040 --> 00:14:37,000
My psychosis/delirium/euphoria for
this explosion of intelligence on tap.

203
00:14:38,200 --> 00:14:41,800
This was the model where I went from, oh,
I can tell

204
00:14:42,880 --> 00:14:48,040
an agent to do something for me, to seeing
that being something I want to merge.

205
00:14:48,160 --> 00:14:52,815
That was the revelation of Opus,
to suddenly having models I could give

206
00:14:52,840 --> 00:15:00,160
problems to or ideas to
and see those be solved or see those

207
00:15:00,200 --> 00:15:04,920
expanded through no direction
of my own on the implementation.

208
00:15:06,920 --> 00:15:08,840
Mind-blowingly incredible.

209
00:15:09,600 --> 00:15:11,460
And of course, things
didn't stop from there.

210
00:15:11,720 --> 00:15:14,800
We have been on this amazing roller
coaster now for a couple of months.

211
00:15:15,440 --> 00:15:21,560
GPT-6 Astra came out in September
and saved us all from the

212
00:15:22,320 --> 00:15:25,855
dread that Anthropic was going to have a
monopoly on this kind of

213
00:15:25,880 --> 00:15:27,040
frontier intelligence.

214
00:15:27,560 --> 00:15:31,000
And then even better than that,
just a week later,

215
00:15:31,640 --> 00:15:36,400
we got DeepSeek-4-1 Flash that disabused
us of any notion that frontier

216
00:15:36,480 --> 00:15:40,880
intelligence was going to forever be a
domain of just some large

217
00:15:40,920 --> 00:15:42,260
American tech companies.

218
00:15:42,680 --> 00:15:44,160
This is incredibly exciting.

219
00:15:47,320 --> 00:15:48,580
But what does it mean?

220
00:15:49,320 --> 00:15:50,820
What does it mean for us as programmers?

221
00:15:50,845 --> 00:15:52,840
What does it mean for us as a profession?

222
00:15:53,640 --> 00:15:56,560
And I think this is why, again,
it's worth looking backwards a bit.

223
00:15:56,960 --> 00:16:00,655
Because history holds all these amazing
lessons and parallels to our

224
00:16:00,680 --> 00:16:01,840
time if we just look at it.

225
00:16:02,400 --> 00:16:06,855
One of the things that has dominated the
discourse in the entire time I've been a

226
00:16:06,880 --> 00:16:11,655
professional developer has been the
argument about whether the 10x

227
00:16:11,680 --> 00:16:14,680
programmer was real or not real.

228
00:16:15,320 --> 00:16:20,200
Well, that entire concept came from an
article in ACM Magazine from 1968,

229
00:16:21,080 --> 00:16:25,920
where they tested a group of programmers
on a variety of different tasks,

230
00:16:26,400 --> 00:16:31,760
and they came up with
A table that showed that the worst

231
00:16:31,800 --> 00:16:37,280
programmer and the best programmer had a
variance ranging from 5x to 30x,

232
00:16:37,440 --> 00:16:40,880
an average of 10x over that period.

233
00:16:41,920 --> 00:16:46,960
We then spent
literally the next 45 years arguing

234
00:16:47,400 --> 00:16:49,080
whether this was actually real or not.

235
00:16:52,680 --> 00:16:54,460
Is there anyone still arguing that?

236
00:16:54,920 --> 00:16:55,960
I don't think so.

237
00:16:56,040 --> 00:16:58,840
Like, that debate has been settled now.

238
00:16:59,120 --> 00:17:03,600
But the interesting thing is,
we sort of leaped over a shared conclusion

239
00:17:03,640 --> 00:17:06,360
around the 10x programmer and started
thinking, like,

240
00:17:06,920 --> 00:17:12,760
well, if that was 10x with just the human
capacity, what must it look like now?

241
00:17:14,560 --> 00:17:16,180
And it's clear we don't know exactly.

242
00:17:16,205 --> 00:17:20,920
We don't know exactly what the kind of
acceleration with these tools is possible.

243
00:17:21,440 --> 00:17:25,855
But I'd actually argue that it is less
controversial today to claim that there's

244
00:17:25,880 --> 00:17:30,800
a 100x difference between the worst
programmer working without these tools and

245
00:17:30,840 --> 00:17:33,080
the best programmer
working with these tools.

246
00:17:33,400 --> 00:17:35,375
That's not a very controversial statement.

247
00:17:35,400 --> 00:17:40,560
But it is absolutely revolutionary to the
understanding of where we are right now

248
00:17:41,000 --> 00:17:42,080
as a stage of technology.

249
00:17:42,800 --> 00:17:44,420
And I'd actually go a step further.

250
00:17:45,280 --> 00:17:47,340
And maybe this is slightly
more controversial.

251
00:17:47,600 --> 00:17:48,620
I don't think so.

252
00:17:49,080 --> 00:17:53,000
The worst programmer without these tools
versus the best programmer

253
00:17:53,040 --> 00:17:54,040
with these tools?

254
00:17:55,040 --> 00:17:57,040
That sounds about right.
1,000 times?

255
00:17:57,320 --> 00:17:57,900
Yeah.

256
00:17:58,400 --> 00:18:00,080
Okay.
Well, what does that mean?

257
00:18:00,600 --> 00:18:03,760
What does that mean for the competition
of companies,

258
00:18:04,440 --> 00:18:06,640
for what we need to get started?

259
00:18:07,320 --> 00:18:10,800
Uh, 8-ball a little fussy.
Shake again.

260
00:18:13,440 --> 00:18:18,280
What I know to be true
is that in the past 20 months,

261
00:18:19,120 --> 00:18:24,040
I have written half as much code
as I did in the previous 21 years.

262
00:18:26,520 --> 00:18:32,320
Now, lines of code is a weird, fuzzy,
malleable size.

263
00:18:33,080 --> 00:18:39,520
And one line of Ruby is obviously worth
vastly more than one line of

264
00:18:40,240 --> 00:18:46,415
any other language, but particularly
Rust or C++ or any of the lower-level

265
00:18:46,440 --> 00:18:49,200
languages that do not have the same
abstractions and amenities

266
00:18:49,320 --> 00:18:50,760
that we enjoy in Ruby.

267
00:18:50,840 --> 00:18:57,560
But it is still absolutely undeniable
that there is a revolution taking place.

268
00:18:58,880 --> 00:19:04,160
And anyone who's gone through that and
seen their own productivity be accelerated

269
00:19:04,920 --> 00:19:06,080
We'll be a little dizzy.

270
00:19:07,280 --> 00:19:08,740
How we create a template.

271
00:19:09,360 --> 00:19:11,215
Look at all the things I'm not doing.

272
00:19:11,240 --> 00:19:13,440
Look at all the configuration
I'm not writing.

273
00:19:13,920 --> 00:19:16,520
All these things are mapped
together just automatically.

274
00:19:16,960 --> 00:19:20,400
Just by saying blog up here maps directly
to the blogging controller,

275
00:19:20,840 --> 00:19:24,200
and just by having index maps
directly to the index template.

276
00:19:27,480 --> 00:19:29,120
Look at all the things I'm not doing.

277
00:19:32,040 --> 00:19:36,640
Is there a better encapsulation of this
moment than all the things

278
00:19:36,760 --> 00:19:38,200
we are no longer doing?

279
00:19:39,240 --> 00:19:44,400
That is the source of my
exuberance for this moment.

280
00:19:45,080 --> 00:19:47,360
This is the Rails moment.

281
00:19:48,560 --> 00:19:51,560
That clip I just played is 21 years old.

282
00:19:52,400 --> 00:19:58,135
I gave a presentation in Brazil in 2005,
and I was so excited about

283
00:19:58,160 --> 00:19:59,800
all the code I wasn't writing.

284
00:20:01,800 --> 00:20:04,760
Can you see why I might be a
little more excited now, even?

285
00:20:05,920 --> 00:20:10,680
Do you know how much code I have not
been writing for the last several months?

286
00:20:11,880 --> 00:20:12,380
A lot.

287
00:20:14,280 --> 00:20:22,280
And yet, despite writing no code for
probably 5 months at this point,

288
00:20:23,040 --> 00:20:24,680
been able to fix everything.

289
00:20:25,680 --> 00:20:26,480
Every dream.

290
00:20:27,440 --> 00:20:35,040
Every annoyance, every paperclip,
every frivolous feature suddenly

291
00:20:35,160 --> 00:20:37,560
within reach, suddenly possible.

292
00:20:38,280 --> 00:20:40,440
This is the magic of the moment.

293
00:20:41,880 --> 00:20:44,200
But what does that mean?

294
00:20:45,280 --> 00:20:54,615
Well, at 37signals, a couple of weeks ago,
we made the decision that It clearly

295
00:20:54,640 --> 00:20:59,760
means we're done writing code by hand.

296
00:21:02,200 --> 00:21:08,920
We are going, and have gone, pencils down
on the idea that we were gonna write code

297
00:21:08,960 --> 00:21:13,520
by hand as a normal course of business
creating things.

298
00:21:14,760 --> 00:21:19,000
Writing code by hand at 37signals
is now an exceptional state.

299
00:21:20,640 --> 00:21:23,000
It is like seeing a bug in Sentry.

300
00:21:23,480 --> 00:21:24,760
Something here went wrong.

301
00:21:25,400 --> 00:21:28,360
Why was the agent not able
to produce what we wanted?

302
00:21:28,800 --> 00:21:32,560
Okay, maybe for a little while,
we'll still get the old pencil

303
00:21:32,600 --> 00:21:34,400
out and dot it down for them.

304
00:21:35,040 --> 00:21:36,240
But then we fix the machine.

305
00:21:36,720 --> 00:21:38,080
We fix the factory.

306
00:21:38,440 --> 00:21:39,600
We get things going again.

307
00:21:41,880 --> 00:21:44,960
This is a recognition of
what's already happening.

308
00:21:46,440 --> 00:21:50,440
If we were to poll this room, I'd
probably— actually, let's poll this room.

309
00:21:50,960 --> 00:21:57,760
How many people here are still
writing material amounts of code by hand

310
00:21:58,560 --> 00:22:00,320
on a weekly basis?
Show of hands.

311
00:22:04,360 --> 00:22:06,440
Holy fuck, that's about 5.

312
00:22:12,720 --> 00:22:17,015
If I'd put this slide up
2 months ago, 3 months ago,

313
00:22:17,040 --> 00:22:21,600
and made the same proclamation,
a fair number of people would have gone,

314
00:22:24,680 --> 00:22:26,280
that dude's got a screw loose.

315
00:22:27,680 --> 00:22:31,655
And now, already,
this is just a recognition

316
00:22:31,680 --> 00:22:32,680
of what's already there.

317
00:22:34,640 --> 00:22:38,415
What's so fascinating about this is we
tried to do this in the spring at

318
00:22:38,440 --> 00:22:41,020
37signals when we were putting the
finishing touches on Basecamp 5.

319
00:22:43,040 --> 00:22:47,800
We had a bunch of designers
vibe code the final features that they

320
00:22:47,840 --> 00:22:52,880
wanted into this release, and
the results were mixed.

321
00:22:53,960 --> 00:22:57,560
Individually, the designers were able
to create PRs that seemed reasonable.

322
00:22:58,200 --> 00:23:03,840
Taken together, 20 or 30 of them,
it left the architecture looking a little

323
00:23:03,880 --> 00:23:05,960
like a Swiss cheese, kind of punctured.

324
00:23:06,520 --> 00:23:07,280
So we went— Ugh.

325
00:23:08,080 --> 00:23:10,040
Okay, I guess the
technology's not ready yet.

326
00:23:10,360 --> 00:23:13,440
Let's go back to manually reviewing
everything and just have

327
00:23:13,480 --> 00:23:14,900
programmers working with it.

328
00:23:15,320 --> 00:23:17,640
That was the wrong conclusion, clearly.

329
00:23:18,080 --> 00:23:21,920
Not only because we could just have given
it freaking 5 minutes,

330
00:23:22,080 --> 00:23:25,040
and we would have gotten Fable,
and the whole thing would probably have

331
00:23:25,065 --> 00:23:29,680
worked as originally intended,
but also because what's clear now is

332
00:23:29,800 --> 00:23:32,640
that there is only one serious question.

333
00:23:32,760 --> 00:23:35,800
In this moment of software development.

334
00:23:36,120 --> 00:23:39,400
And that is, how do you get the most
out of this intelligence explosion?

335
00:23:40,280 --> 00:23:45,280
Every other question is
below that in the stack of values.

336
00:23:47,840 --> 00:23:49,440
So we've shipped Basecamp 5.

337
00:23:49,680 --> 00:23:50,880
It's a great upgrade.

338
00:23:51,240 --> 00:23:56,000
It was agent-accelerated,
but still paired with a great amount of

339
00:23:56,920 --> 00:23:59,720
manually written, handwritten Chiseled?

340
00:24:00,040 --> 00:24:03,175
What are we gonna call this old way of
working that was just

341
00:24:03,200 --> 00:24:04,640
retired 5 minutes ago?
I don't know.

342
00:24:04,880 --> 00:24:09,680
But now, working on a new project.

343
00:24:10,720 --> 00:24:12,000
Hey Next.

344
00:24:12,640 --> 00:24:13,140
Hey New.

345
00:24:13,640 --> 00:24:16,060
Hey There.
I don't know what we're gonna call it.

346
00:24:16,280 --> 00:24:22,040
But it is a new version of Hey,
our email app service.

347
00:24:23,000 --> 00:24:26,080
And the first thing we're
going to do— Hey, Next.

348
00:24:27,560 --> 00:24:31,480
Is stop making it a web app.

349
00:24:33,440 --> 00:24:36,160
Hey is no longer gonna be a web app.

350
00:24:37,120 --> 00:24:39,760
Because Hey never really
wanted to be a web app.

351
00:24:39,840 --> 00:24:45,640
Hey was and is a web app
because making web apps for small teams

352
00:24:46,080 --> 00:24:47,920
was how you could be productive.

353
00:24:49,320 --> 00:24:54,280
In the old times, That is,
5 minutes ago,

354
00:24:54,960 --> 00:25:01,855
the idea that a small team could maintain
6 native applications written in the

355
00:25:01,880 --> 00:25:03,840
native frameworks was preposterous.

356
00:25:04,440 --> 00:25:05,560
No one was doing that.

357
00:25:06,040 --> 00:25:09,080
That's not only why we
had people doing web apps.

358
00:25:09,120 --> 00:25:10,800
It's why we had React Native.

359
00:25:10,880 --> 00:25:12,760
It was why we had Hotwire Native.

360
00:25:12,800 --> 00:25:16,520
It was why we had all of this tooling
to make us more productive.

361
00:25:17,280 --> 00:25:21,120
While accepting That the fidelity
was gonna take a slight hit.

362
00:25:22,320 --> 00:25:23,440
We make great web apps.

363
00:25:24,600 --> 00:25:26,840
Hey is a wonderful web app.

364
00:25:27,240 --> 00:25:29,920
But it's not as good
as a native application.

365
00:25:30,000 --> 00:25:32,300
Of course it's not as good
as a native application.

366
00:25:32,400 --> 00:25:34,360
There's different latencies and so forth.

367
00:25:35,440 --> 00:25:39,920
Well, what's playing behind me now
is a demonstration

368
00:25:40,400 --> 00:25:44,840
of the 6 native applications that
we kicked off about a week ago.

369
00:25:45,640 --> 00:25:47,000
This is already where we are at.

370
00:25:49,400 --> 00:25:50,280
That's insane.

371
00:25:52,280 --> 00:25:57,560
In the old time, if you wanted to maintain
6 native applications at very high

372
00:25:57,760 --> 00:26:02,720
fidelity for a major service,
it was gonna take a long time.

373
00:26:03,360 --> 00:26:05,600
It was requiring a huge team.

374
00:26:06,160 --> 00:26:08,840
Now suddenly,
we're able to make

375
00:26:09,320 --> 00:26:12,880
very high fidelity native applications
happen Because we're not

376
00:26:13,000 --> 00:26:14,960
writing a goddamn line of code.

377
00:26:15,680 --> 00:26:18,640
Look at all the things we're not doing.

378
00:26:20,200 --> 00:26:22,340
But look at all the prompts we're giving.

379
00:26:23,120 --> 00:26:24,500
We're giving lots of prompts.

380
00:26:24,560 --> 00:26:27,120
And the results are
absolutely electrifying.

381
00:26:27,760 --> 00:26:32,560
This is an effort we have barely just
kicked off, and we're already at a state

382
00:26:33,040 --> 00:26:39,640
where it is so obvious to me that this is
the future for that class of applications.

383
00:26:40,560 --> 00:26:45,600
That there is a lot of web applications
that are web applications of necessity,

384
00:26:46,400 --> 00:26:53,560
of convenience, of programmer preference,
of team size, of resources available.

385
00:26:54,280 --> 00:26:56,655
You know what?
They're not gonna be web apps much longer.

386
00:26:56,680 --> 00:26:59,480
They're gonna be native applications,
because the price of developing those

387
00:26:59,505 --> 00:27:01,520
things has gone to damn near zero.

388
00:27:02,800 --> 00:27:08,600
Now—
Here's an example of what the first prompt

389
00:27:08,880 --> 00:27:12,640
spit back out when we asked
for a Windows application.

390
00:27:15,800 --> 00:27:16,920
Not quite shippable.

391
00:27:19,680 --> 00:27:24,400
Here's the redirected version
that landed 20 minutes later.

392
00:27:29,200 --> 00:27:30,380
Are you getting it?

393
00:27:31,640 --> 00:27:32,560
This is nuts.

394
00:27:33,520 --> 00:27:38,480
How could you not require a diagnosis
after seeing this

395
00:27:38,880 --> 00:27:40,360
in front of your own eyes?

396
00:27:43,520 --> 00:27:48,440
Now, we're by no means
unique in this realization.

397
00:27:48,560 --> 00:27:50,480
We're by no means the
first in this realization.

398
00:27:51,280 --> 00:27:57,415
Shopify just recently launched a newly
rewritten native application

399
00:27:57,440 --> 00:27:58,460
for the Shop app.

400
00:27:59,000 --> 00:28:02,760
Replacing a React Native
application done by a tiny team.

401
00:28:03,760 --> 00:28:07,760
When you consider the criticality of about
six people working for not very

402
00:28:07,880 --> 00:28:10,120
long at all, this is coming.

403
00:28:10,880 --> 00:28:12,000
Get ready.

404
00:28:14,600 --> 00:28:20,360
Now,
that was the front end, and I think for

405
00:28:20,680 --> 00:28:23,600
these classes of applications like Hey.

406
00:28:24,480 --> 00:28:28,560
Like Shop app, that really want to be
native applications,

407
00:28:29,080 --> 00:28:30,570
that's what's gonna happen there.

408
00:28:30,600 --> 00:28:32,840
We're going to commit to these
native toolings.

409
00:28:33,280 --> 00:28:37,080
And we're going to realize that the cost
associated with creating these things

410
00:28:37,440 --> 00:28:39,460
just no longer exists in the same way.

411
00:28:40,080 --> 00:28:41,620
But what about the backend?

412
00:28:46,960 --> 00:28:48,400
This is a little difficult for me.

413
00:28:49,480 --> 00:28:50,040
I will admit.

414
00:28:50,960 --> 00:28:52,160
And let me tell you why.

415
00:28:53,000 --> 00:28:53,600
Rust.

416
00:28:54,520 --> 00:28:55,020
Rust.

417
00:28:56,040 --> 00:28:58,840
I hate Rust with a passion.

418
00:28:59,440 --> 00:29:02,840
Rust to me is like pouring acid in my
eyes when I have to look at the code.

419
00:29:02,920 --> 00:29:04,810
Whoa, whoa, whoa, why do you hate Rust?

420
00:29:04,840 --> 00:29:07,800
It is, in my opinion,
the ugliest programming language that has

421
00:29:07,840 --> 00:29:09,940
been invented in probably
the last 40 years.

422
00:29:13,320 --> 00:29:14,280
Exhibit A!

423
00:29:18,560 --> 00:29:24,000
This is an awful, awful,
awful programming language

424
00:29:24,840 --> 00:29:27,280
when you subject humans to write it.

425
00:29:28,120 --> 00:29:34,000
Absolutely inhumane
to ask people of flesh and blood

426
00:29:34,440 --> 00:29:37,240
to subject their eyeballs to this.

427
00:29:39,560 --> 00:29:40,320
But you know what?

428
00:29:41,520 --> 00:29:46,200
If I never have to look at this,
if all I have to do

429
00:29:47,240 --> 00:29:51,520
is revel in applications being 30 or 100
times faster,

430
00:29:51,960 --> 00:29:57,400
compiling down to minuscule executables
that start up in sub-milliseconds,

431
00:29:58,160 --> 00:29:59,040
I love Rust!

432
00:30:01,120 --> 00:30:09,360
Rust is amazing if you never, ever,
Ever have to look at it yourself.

433
00:30:15,400 --> 00:30:21,880
Agents— agents like Rust.

434
00:30:22,760 --> 00:30:24,800
Great!
What a division of labor.

435
00:30:25,040 --> 00:30:26,280
I'll tell you what to do.

436
00:30:26,800 --> 00:30:27,920
You'll write it in Rust.

437
00:30:28,400 --> 00:30:29,900
I never have to look at it.

438
00:30:30,360 --> 00:30:31,040
I love this.

439
00:30:32,920 --> 00:30:34,240
And I also love the outcomes.

440
00:30:35,960 --> 00:30:38,440
In this setup where we're rewriting the
frontend of Hey

441
00:30:39,160 --> 00:30:42,695
in all native applications,
and therefore no longer need a web

442
00:30:42,720 --> 00:30:48,120
application that is rendering HTML and
whatever, and then we take that code

443
00:30:48,600 --> 00:30:52,520
that's running the no-longer web
application and turn it into the

444
00:30:52,960 --> 00:30:56,480
mail server that it really is at its core
in Rust,

445
00:30:56,960 --> 00:31:03,880
we end up with a backend that requires 99%
less CPU, 95% less memory,

446
00:31:04,800 --> 00:31:08,360
and the only reason it needs
10 hosts is for redundancy.

447
00:31:09,760 --> 00:31:14,000
In fact, our back-of-the-envelope
calculation has led us to believe

448
00:31:14,520 --> 00:31:19,440
that Hey's peak traffic could probably
be served on a single Raspberry Pi.

449
00:31:21,800 --> 00:31:27,655
That is the efficiency of writing
as damn near straight to the metal as you

450
00:31:27,680 --> 00:31:30,760
can get while still being
portable, which is Rust.

451
00:31:31,840 --> 00:31:35,880
And the benefit of having
something else do that for you.

452
00:31:36,320 --> 00:31:40,680
Some other intelligence
that you pay per token to do it.

453
00:31:46,680 --> 00:31:49,680
What does this mean in terms of how
we're working with this intelligence?

454
00:31:50,480 --> 00:31:51,320
Also not clear.

455
00:31:52,040 --> 00:31:53,360
We're trying a bunch of things.

456
00:31:53,880 --> 00:31:59,120
One of the things we're trying to do is
direct these agents, our Chef Marie

457
00:31:59,880 --> 00:32:01,680
inside of Basecamp to do it.

458
00:32:02,240 --> 00:32:06,320
It's clear that when you work with agents,
the best way to work with them is actually

459
00:32:06,520 --> 00:32:11,000
asynchronously, not in a chat interface,
not sitting and waiting for the

460
00:32:11,600 --> 00:32:15,320
tokens to output,
but to give a task to an agent,

461
00:32:15,600 --> 00:32:20,160
Like you would a coworker, send them off,
and then go back and review

462
00:32:20,280 --> 00:32:21,640
when there's something ready.

463
00:32:22,480 --> 00:32:24,090
So we're trying to do that as well.

464
00:32:24,120 --> 00:32:25,810
A lot of other people are
trying to figure this out.

465
00:32:25,840 --> 00:32:30,360
And this is part of the magic,
the electricity of this moment.

466
00:32:31,120 --> 00:32:33,180
We don't know how it's all supposed to be.

467
00:32:33,880 --> 00:32:35,960
First, because it's
changing every 5 minutes.

468
00:32:36,600 --> 00:32:39,600
Second, because we have not worked with
this kind of intelligence

469
00:32:39,720 --> 00:32:40,880
at any measure of time.

470
00:32:41,240 --> 00:32:46,160
This entire thing Got kicked
off November 24th last year.

471
00:32:47,000 --> 00:32:48,320
It hasn't even been a damn year.

472
00:32:49,360 --> 00:32:52,360
And the kind of intelligence that allows
us to assign

473
00:32:53,800 --> 00:32:58,440
outcomes, problems, rather than tasks,
is only a couple of months old.

474
00:32:59,680 --> 00:33:03,040
So of course we don't know exactly
what it's going to be like.

475
00:33:04,400 --> 00:33:10,240
But it's still fair to then ask the
question, Where does that leave Ruby?

476
00:33:10,800 --> 00:33:11,960
Where does it leave Rails?

477
00:33:12,320 --> 00:33:14,680
Where does it leave any of
these tools that we use?

478
00:33:15,240 --> 00:33:17,240
What is the future gonna look like?

479
00:33:18,040 --> 00:33:20,720
Well, for Hey, we have our answer.

480
00:33:21,360 --> 00:33:24,840
It looks like native applications on
the frontend and Rust on the backend.

481
00:33:26,160 --> 00:33:29,300
But there's plenty of other
applications that don't fit that shape.

482
00:33:29,920 --> 00:33:32,920
The web is an enormously
wonderful platform.

483
00:33:34,200 --> 00:33:38,080
Partly because it never asks
anyone to install anything.

484
00:33:38,840 --> 00:33:42,280
And a million businesses
are built on that premise.

485
00:33:43,640 --> 00:33:49,655
More ephemeral customers who are not going
to indulge an installation on

486
00:33:49,680 --> 00:33:51,240
their device to use a service.

487
00:33:51,800 --> 00:33:53,360
The web is wonderful for those things.

488
00:33:53,800 --> 00:33:57,800
And Rails is particularly well
positioned to still be in play there.

489
00:33:58,120 --> 00:34:01,960
Everything that we've worked
on for the past 25 years.

490
00:34:02,400 --> 00:34:07,080
Convention over configuration leads
directly to things like token efficiency.

491
00:34:07,560 --> 00:34:13,040
Our focus on the one developer framework
squares perfectly

492
00:34:13,680 --> 00:34:18,800
with what the age of agents is demanding,
that single developers can go much

493
00:34:19,000 --> 00:34:21,100
further than they were able to do before.

494
00:34:23,080 --> 00:34:25,440
We started doing these agent evals.

495
00:34:26,440 --> 00:34:30,040
Or Evil Martians have started doing
it on behalf of the Rails Foundation.

496
00:34:30,840 --> 00:34:37,135
And A, finding that we quickly had to
update our evals because the agents were

497
00:34:37,160 --> 00:34:40,920
saturating the first version of it and
reaching 95% completion

498
00:34:40,960 --> 00:34:42,120
rates quite quickly.

499
00:34:42,560 --> 00:34:45,400
Now we've instituted a
harder measure for it.

500
00:34:45,680 --> 00:34:49,535
But amazing how quickly these agents are
moving forward and up the

501
00:34:49,560 --> 00:34:50,720
stack and up the ranks.

502
00:34:51,000 --> 00:34:56,120
This is an agent eval looking at actual—
implementation of feature cards against

503
00:34:56,520 --> 00:34:59,040
some of these reference applications
that we have in the wild.

504
00:34:59,840 --> 00:35:02,160
Wonderful.
We're leaning in towards that.

505
00:35:02,640 --> 00:35:05,040
That was the old
benchmark, the old reference.

506
00:35:05,120 --> 00:35:08,320
As you can see, it was getting
saturated already, so we made it harder.

507
00:35:08,800 --> 00:35:13,335
There's going to be a lot of that,
a lot of elevation of the things we ask

508
00:35:13,360 --> 00:35:16,320
the agents to do because they
continue to get more capable.

509
00:35:16,840 --> 00:35:20,680
And in fact, it's one of the pitfalls I
would warn anyone who knows too

510
00:35:20,760 --> 00:35:22,320
much about how computers work.

511
00:35:23,280 --> 00:35:27,800
Is to not be overly prescriptive in what
you're trying to get out of these systems.

512
00:35:27,920 --> 00:35:31,120
In fact, having a bit of a beginner's
mindset and a bit of a dummy

513
00:35:31,880 --> 00:35:35,600
approach to this works even better,
because you ask questions and you

514
00:35:35,640 --> 00:35:37,000
post prompts at a higher level.

515
00:35:37,680 --> 00:35:39,960
This is one of the reasons
I love working in Rust.

516
00:35:40,480 --> 00:35:41,760
I don't know any Rust at all.

517
00:35:42,760 --> 00:35:44,420
I consider that a feature.
Yes!

518
00:35:45,520 --> 00:35:50,975
And a privilege to have no fucking clue
What is being outputted by

519
00:35:51,000 --> 00:35:52,720
these agents into the Rust box.

520
00:35:53,280 --> 00:35:57,320
I evaluate the Rust box as a black box on
the outside,

521
00:35:57,960 --> 00:36:01,920
as any business owner in history who's
ever commissioned a group of

522
00:36:02,000 --> 00:36:03,440
programmers to do anything for them.

523
00:36:05,000 --> 00:36:06,360
This is not a new phenomenon.

524
00:36:07,160 --> 00:36:11,040
Who now holds that responsibility
has changed, but not the phenomenon.

525
00:36:12,320 --> 00:36:15,600
But applications like Basecamp,
Where we bring in

526
00:36:16,520 --> 00:36:20,720
strangers who just need to
get a quick file or need to

527
00:36:20,840 --> 00:36:22,480
collaborate for a short period of time.

528
00:36:22,920 --> 00:36:24,080
Great web applications.

529
00:36:24,680 --> 00:36:28,040
Lots of you surely work on
those kinds of applications.

530
00:36:28,320 --> 00:36:30,920
Now, figuring out exactly where we're
going to cut that line,

531
00:36:31,840 --> 00:36:34,000
what should be native,
what should stay web,

532
00:36:35,320 --> 00:36:36,860
we're going to have to figure that out.

533
00:36:36,885 --> 00:36:39,040
I don't have all the answers for that.
OK.

534
00:36:39,960 --> 00:36:44,960
I do know that when I look at my work
over the past year,

535
00:36:45,640 --> 00:36:46,800
it does look very different.

536
00:36:48,200 --> 00:36:53,200
If I look at the past 21 years,
over half of my work was Ruby code.

537
00:36:54,200 --> 00:36:55,960
This year, about 3%.

538
00:36:57,360 --> 00:37:01,920
Now, part of that is
that these programming languages like Rust

539
00:37:01,960 --> 00:37:05,880
are tremendously verbose and unappealing.

540
00:37:06,480 --> 00:37:07,340
For humans to look at.

541
00:37:07,365 --> 00:37:12,215
So I don't, and I allow the agent to just
spit out more than was necessary, in a way

542
00:37:12,240 --> 00:37:14,080
I would never tolerate from my Ruby code.

543
00:37:14,600 --> 00:37:15,815
So that's part of it.

544
00:37:15,840 --> 00:37:19,160
But still, undeniable that
there's a huge change here.

545
00:37:19,880 --> 00:37:24,600
In those 21 years of
prior working with Ruby,

546
00:37:24,880 --> 00:37:28,520
I would write about 30,000 lines
of production Ruby code per year.

547
00:37:30,600 --> 00:37:33,680
That was enough to build businesses and
frameworks and everything

548
00:37:33,760 --> 00:37:34,820
else that I've done.

549
00:37:35,000 --> 00:37:43,080
Well, in August, last month, I wrote
150,000 lines of code in one month.

550
00:37:44,680 --> 00:37:50,200
That's about 60 times more code
than my long-term running average.

551
00:37:50,920 --> 00:37:53,575
Again,
a lot of it is that awful Rust code I

552
00:37:53,600 --> 00:37:57,080
don't want to look at,
and it is more verbose, but still,

553
00:37:57,680 --> 00:38:01,040
the orders of magnitude here,
that's what we need to pay attention to.

554
00:38:01,880 --> 00:38:05,680
And at least think, what does that mean?

555
00:38:06,680 --> 00:38:09,840
Well,
one of the things that has surprised me,

556
00:38:10,000 --> 00:38:14,360
and really it shouldn't,
has been the fact that

557
00:38:15,240 --> 00:38:18,600
there is actually a programming
language I like better than Ruby.

558
00:38:19,360 --> 00:38:21,920
I did not think this was true, but it is.

559
00:38:23,480 --> 00:38:24,660
It's called English.

560
00:38:26,280 --> 00:38:28,680
English is a better
programming language than Ruby.

561
00:38:29,240 --> 00:38:31,840
And I love Ruby more than any other
traditional programming

562
00:38:31,880 --> 00:38:32,880
language in the world.

563
00:38:33,320 --> 00:38:39,240
But writing programs in English
is a tremendously satisfying experience.

564
00:38:39,400 --> 00:38:42,360
It is an even more expressive language
than Ruby.

565
00:38:43,040 --> 00:38:44,240
It's a little more vague.

566
00:38:45,040 --> 00:38:47,680
It's a little more or less deterministic.

567
00:38:48,520 --> 00:38:50,800
But nonetheless, it is an absolute joy.

568
00:38:51,000 --> 00:38:54,800
And I did not fully appreciate
that that was where we were going.

569
00:38:55,720 --> 00:38:56,800
As late as last year.

570
00:38:57,640 --> 00:39:00,960
I could have become a project manager 20
years ago if I didn't care to write

571
00:39:00,985 --> 00:39:02,975
code myself and I just wanted outcomes.

572
00:39:03,000 --> 00:39:06,020
That's how I got started in programming.
I just wanted outcomes.

573
00:39:06,160 --> 00:39:08,080
Then I fell in love with programming.

574
00:39:08,640 --> 00:39:10,920
And now I'd rather
retire than giving it up.

575
00:39:11,000 --> 00:39:11,580
Okay.

576
00:39:21,800 --> 00:39:26,520
I have retired from being
a professional programmer.

577
00:39:27,400 --> 00:39:29,440
I haven't pinned down the exact date.

578
00:39:30,120 --> 00:39:34,320
I think it was somewhere around
4 to 5 months ago, maybe March.

579
00:39:35,760 --> 00:39:37,780
I should find out exactly when it was.

580
00:39:38,120 --> 00:39:39,120
Because you know what?

581
00:39:40,120 --> 00:39:42,600
That little clip, totally true.

582
00:39:44,240 --> 00:39:50,440
I spent a quarter of a damn century
Chiseling code by hand and

583
00:39:50,560 --> 00:39:52,600
loving every moment of it.

584
00:39:53,560 --> 00:40:01,240
What a wonderful experience and
productive time in that era.

585
00:40:02,040 --> 00:40:04,400
And that's how I believe
we should all look at it.

586
00:40:05,120 --> 00:40:09,600
Not with regret, but with joy of what was.

587
00:40:11,280 --> 00:40:15,080
Enjoy that we were there when
we still had to do such things.

588
00:40:15,840 --> 00:40:20,560
Because they were filled with
excitement and learning and

589
00:40:21,040 --> 00:40:23,440
satisfaction and flow states.

590
00:40:25,960 --> 00:40:31,360
This is not something to
look back upon with regret.

591
00:40:31,440 --> 00:40:38,840
This is something to look back upon
with joy and accept that it is over.

592
00:40:40,600 --> 00:40:42,000
Writing code by hand.

593
00:40:43,400 --> 00:40:48,680
Is no longer an economically
productive enterprise

594
00:40:49,360 --> 00:40:54,360
for the vast majority of programmers
working at the vast majority of companies.

595
00:40:55,760 --> 00:40:56,480
That's today.

596
00:40:57,760 --> 00:41:00,960
By the end of the year,
it will be virtually all domains,

597
00:41:01,080 --> 00:41:03,960
virtually all programmers,
virtually all companies.

598
00:41:05,680 --> 00:41:07,160
So we best get used to it.

599
00:41:08,560 --> 00:41:16,280
We best embrace that
we had a wonderful run chiseling that

600
00:41:16,320 --> 00:41:18,600
code by hand, and that it's over.

601
00:41:20,680 --> 00:41:28,480
And on the other side of that
is a new career, an exciting career,

602
00:41:29,120 --> 00:41:33,520
an energized career
as a professional maker of things.

603
00:41:33,600 --> 00:41:34,180
Yeah.

604
00:41:35,080 --> 00:41:38,960
Yes, you will no longer be chiseling that
code by hand, but you will

605
00:41:39,040 --> 00:41:40,600
be making amazing things.

606
00:41:41,040 --> 00:41:46,800
You will be steering intelligence
that was only available in science fiction

607
00:41:47,520 --> 00:41:49,600
up until a few moments ago.

608
00:41:50,560 --> 00:41:56,040
What a privilege
on both sides of that chasm to have

609
00:41:56,240 --> 00:41:59,400
been there when we did it all by hand.

610
00:41:59,760 --> 00:42:04,480
To be there at the exact moment
where we switch over.

611
00:42:06,160 --> 00:42:10,080
This is the biggest thing that has
happened in the history of computing.

612
00:42:10,960 --> 00:42:14,320
I sometimes think, man, I kind of
wish I was there for the punch cards.

613
00:42:15,120 --> 00:42:16,560
That sounded pretty fucking cool.

614
00:42:17,560 --> 00:42:20,240
Like, my programs
literally had holes in it.

615
00:42:22,200 --> 00:42:26,280
And I would line up and feed it to a
machine and, like, go,

616
00:42:26,760 --> 00:42:28,440
I wonder if it compiles.

617
00:42:32,480 --> 00:42:34,360
Man, I would have loved
to experience that.

618
00:42:35,080 --> 00:42:35,720
What a moment.

619
00:42:36,960 --> 00:42:37,640
What a moment.

620
00:42:38,600 --> 00:42:41,780
I didn't get to experience that,
but I did get to experience the internet.

621
00:42:42,680 --> 00:42:45,960
That smells and feels a little like
this moment that we're in,

622
00:42:46,960 --> 00:42:48,840
but this is much, much bigger.

623
00:42:49,920 --> 00:42:50,420
Okay.

624
00:42:50,720 --> 00:42:52,280
Well, shit.

625
00:42:53,640 --> 00:42:55,660
There's a lot of things we gotta rethink.

626
00:42:56,480 --> 00:42:57,400
We gotta rework.

627
00:42:58,640 --> 00:42:59,820
Where are we gonna start here?

628
00:43:03,840 --> 00:43:07,375
One of the things we're gonna have to
revisit is everything we think we

629
00:43:07,400 --> 00:43:09,000
know about software architecture.

630
00:43:09,800 --> 00:43:13,960
Everything we think and know
about how to structure code bases in a way

631
00:43:14,560 --> 00:43:17,880
that we can mutate them
easily and move forward.

632
00:43:18,800 --> 00:43:22,280
The main tool that we've used for
a very long time is abstractions.

633
00:43:23,360 --> 00:43:24,620
I love abstractions.

634
00:43:24,720 --> 00:43:27,120
Abstractions include naming things.

635
00:43:27,560 --> 00:43:30,040
That's one of my favorite
things, is to name things.

636
00:43:31,320 --> 00:43:35,880
Abstractions don't make quite the
same sense in the age of agents.

637
00:43:36,320 --> 00:43:40,400
If you suddenly have hundreds or thousands
or tens of thousands

638
00:43:41,360 --> 00:43:47,560
of conscious processes trying to mutate an
application, you kind of don't want these

639
00:43:47,640 --> 00:43:50,120
choke points that abstractions represent.

640
00:43:50,760 --> 00:43:52,575
Because the trade-offs are very different.

641
00:43:52,600 --> 00:43:55,560
The reason we did abstractions was
in part not to repeat ourselves.

642
00:43:55,760 --> 00:43:59,440
Well, now the price of repetition
has gone to near zero.

643
00:44:00,400 --> 00:44:04,680
The price of keeping things in sync
has dropped just the same.

644
00:44:05,760 --> 00:44:12,080
These are some of the fundamental
revaluations of computer science,

645
00:44:12,760 --> 00:44:14,280
really, that we have to make.

646
00:44:14,920 --> 00:44:16,520
And no one yet has the blueprint.

647
00:44:17,080 --> 00:44:21,320
We have pointers
to things that aren't working quite as

648
00:44:21,400 --> 00:44:23,480
well as they used to and need to change.

649
00:44:24,920 --> 00:44:29,240
You get to be there right now
as we're defining these things.

650
00:44:29,520 --> 00:44:34,295
Again, imagine you were there
when object orientation first entered

651
00:44:34,320 --> 00:44:36,980
the consciousness of programmers.
Of computer programmers.

652
00:44:37,040 --> 00:44:37,880
Holy shit.

653
00:44:39,080 --> 00:44:40,700
That would have been amazing, wouldn't it?

654
00:44:41,400 --> 00:44:42,420
Now you're here.

655
00:44:44,160 --> 00:44:45,080
How we work.

656
00:44:45,960 --> 00:44:48,880
What does a software
methodology look like?

657
00:44:49,440 --> 00:44:51,240
How long should our cycles be?

658
00:44:51,720 --> 00:44:53,160
Who should be specifying what?

659
00:44:54,640 --> 00:44:58,080
All of this is changing,
and none of us have the answers yet.

660
00:44:58,640 --> 00:45:00,720
And you're invited to
come help figure it out.

661
00:45:02,000 --> 00:45:05,600
It's a new birth for a new industry,
and you're at the ground floor.

662
00:45:06,200 --> 00:45:08,280
Holy shit, you are so damn lucky.

663
00:45:10,200 --> 00:45:14,000
Another thing, for example,
is more tangible.

664
00:45:15,200 --> 00:45:20,895
The first rush when
AI and chatbots came to be was,

665
00:45:20,920 --> 00:45:22,840
can we just shove it into our application?

666
00:45:23,160 --> 00:45:26,760
Can we shove a chatbot in over here
and shove another one in over there?

667
00:45:27,440 --> 00:45:28,600
Yeah, I mean, you could.

668
00:45:29,680 --> 00:45:30,360
People did.

669
00:45:31,800 --> 00:45:32,820
No, thank you.

670
00:45:34,480 --> 00:45:36,120
I don't want to use your concierge.

671
00:45:37,400 --> 00:45:44,920
I have my own personal butler
who's able to use CLIs to connect Basecamp

672
00:45:45,280 --> 00:45:48,080
to Hey across a million other apps.

673
00:45:48,120 --> 00:45:50,320
I don't fucking need your
concierge, thank you.

674
00:45:51,200 --> 00:45:52,280
Save your tokens, bro.

675
00:45:53,640 --> 00:45:58,520
So let me bring my own
butler to the party.

676
00:45:59,520 --> 00:46:02,440
Let me interact with your
applications through a CLI.

677
00:46:05,080 --> 00:46:08,800
That's probably about as practical and as
prescriptive as this talk is going to be.

678
00:46:09,120 --> 00:46:13,640
Hey, if your app doesn't have a CLI,
I want to see it by next Friday.

679
00:46:15,720 --> 00:46:17,400
No fucking excuses.

680
00:46:19,040 --> 00:46:20,080
You have the tokens.

681
00:46:21,080 --> 00:46:22,700
I've told you it's possible.

682
00:46:23,360 --> 00:46:27,360
It is your obligation
to deliver those fucking

683
00:46:27,760 --> 00:46:31,920
CLIs by next Friday so I can
use your application

684
00:46:33,120 --> 00:46:35,180
without actually ever having to touch it.

685
00:46:36,520 --> 00:46:37,020
Wonderful.

686
00:46:38,680 --> 00:46:47,280
The Hey CLI, for example, has given me
this Weird, bizarro world experience.

687
00:46:47,360 --> 00:46:51,440
Hey used— uses Elasticsearch for search.

688
00:46:51,640 --> 00:46:53,320
I'm sure many of you
use Elasticsearch too.

689
00:46:53,880 --> 00:46:58,920
Elasticsearch is search.

690
00:47:00,800 --> 00:47:02,640
It's serviceable search.

691
00:47:02,800 --> 00:47:04,280
It's kind of okay search.

692
00:47:05,240 --> 00:47:06,960
It's not delightful search.

693
00:47:07,400 --> 00:47:10,320
It very often does not
find what I'm looking for.

694
00:47:10,440 --> 00:47:12,840
Certainly when I don't
know what I'm looking for.

695
00:47:13,760 --> 00:47:15,680
Do you know who could find what I'm
looking for when I don't

696
00:47:15,705 --> 00:47:17,020
know what I'm looking for?

697
00:47:17,120 --> 00:47:17,620
Agents can.

698
00:47:18,720 --> 00:47:22,160
I can search in concepts now,
not keywords.

699
00:47:23,040 --> 00:47:27,080
I had to find an email in HEY that was 5
years old where I did not

700
00:47:27,120 --> 00:47:28,375
know who I was talking to.

701
00:47:28,400 --> 00:47:31,440
I didn't remember the company,
and I didn't even remember the year.

702
00:47:31,960 --> 00:47:34,760
It was something about
sneakers and a podcast.

703
00:47:36,400 --> 00:47:39,840
Yeah, good luck trying to find that even
with the best fucking cracked PhD

704
00:47:40,000 --> 00:47:41,560
search engine that Google has.

705
00:47:42,320 --> 00:47:43,580
That's not happening.

706
00:47:43,960 --> 00:47:47,120
And there was the email a
few short minutes later.

707
00:47:47,760 --> 00:47:48,560
How did it do it?

708
00:47:50,320 --> 00:47:50,940
How?

709
00:47:51,800 --> 00:47:52,960
I still don't fully know.

710
00:47:54,840 --> 00:47:56,440
And I'm a little scared to ask.

711
00:47:57,720 --> 00:48:01,360
But I am infinitely delighted
that this is now the reality.

712
00:48:01,720 --> 00:48:02,880
We can fix everything.

713
00:48:05,280 --> 00:48:07,400
We can build the perfect machine.

714
00:48:08,920 --> 00:48:11,960
I'm also pretty delighted about this.

715
00:48:13,000 --> 00:48:14,360
Any of you follow me on X?

716
00:48:15,480 --> 00:48:19,640
I've talked about nothing else
but Omarchy for about 3 months.

717
00:48:20,280 --> 00:48:25,080
And the reason why
is that that experience of we can just fix

718
00:48:25,240 --> 00:48:31,120
everything now applies to
the whole goddamn computer.

719
00:48:31,200 --> 00:48:31,740
Oh.

720
00:48:32,360 --> 00:48:35,480
If you like making things,
If you like fixing things,

721
00:48:35,840 --> 00:48:40,680
if you have ideas about things
that could be different and could be

722
00:48:40,760 --> 00:48:44,000
better, you can just make it happen.

723
00:48:45,400 --> 00:48:49,800
I put all my best ideas,
or at least like a good size of the list,

724
00:48:50,360 --> 00:48:54,815
into this thing, Omarchy,
and got an operating system so vastly

725
00:48:54,840 --> 00:48:58,655
superior to any computer I've ever used
before that I fucking

726
00:48:58,680 --> 00:48:59,640
can't shut up about it.

727
00:49:01,440 --> 00:49:02,520
Even if you paid me.

728
00:49:03,960 --> 00:49:05,495
And a lot of people have paid.

729
00:49:05,520 --> 00:49:11,400
We've raised about $20 million
for this Omarchy adventure.

730
00:49:12,360 --> 00:49:13,560
This is what's now possible.

731
00:49:14,760 --> 00:49:18,600
Last year, here at Rails World,
I showed an early version of this,

732
00:49:19,080 --> 00:49:21,895
and I was so proud
that you could install the whole

733
00:49:21,920 --> 00:49:25,200
system in 3 minutes and 33 seconds.
Woo-hoo!

734
00:49:25,320 --> 00:49:25,960
Woo-hoo!

735
00:49:27,080 --> 00:49:28,280
Man, that's amazing.

736
00:49:30,800 --> 00:49:35,655
Last week, Anoush from AMD installed
Omarchy on his cracked

737
00:49:35,680 --> 00:49:38,720
Halo laptop in 35 seconds.

738
00:49:46,360 --> 00:49:48,600
I'm pretty— I was about
to say I'm pretty excited.

739
00:49:48,640 --> 00:49:50,640
I'm pretty obsessed with this number.

740
00:49:52,720 --> 00:49:55,400
I mean, maybe a little too much.
Okay.

741
00:49:55,720 --> 00:49:56,320
I'll admit it.

742
00:49:56,840 --> 00:49:58,320
There's some addiction going on here.

743
00:49:58,960 --> 00:50:00,460
But it's the best kind of addiction.

744
00:50:00,680 --> 00:50:03,800
The kind of addiction that has led us to,
in the lab,

745
00:50:05,160 --> 00:50:10,680
have an install time of an operating
system on a computer in 9 seconds.

746
00:50:11,920 --> 00:50:13,560
What the— what?

747
00:50:15,760 --> 00:50:17,720
There's computers that don't even boot.

748
00:50:18,520 --> 00:50:19,520
In 9 seconds.

749
00:50:21,400 --> 00:50:23,960
We install a whole operating
system in that time.

750
00:50:26,240 --> 00:50:31,120
And then when people ask me, like, but why
wasn't the 3 minutes fast enough?

751
00:50:31,960 --> 00:50:36,080
I now just have a stock answer
delivered to me by Mitchell Hashimoto,

752
00:50:36,640 --> 00:50:38,840
who is the creator of
HashiCorp and Ghostty.

753
00:50:39,400 --> 00:50:43,320
The pursuit of excellence
does not need justification.

754
00:50:46,080 --> 00:50:49,480
Ha!

755
00:50:49,800 --> 00:50:54,600
I, I love that saying because it's more
dignified than just saying,

756
00:50:54,720 --> 00:50:56,080
because I want it!

757
00:50:59,880 --> 00:51:01,360
And we can now want everything.

758
00:51:02,000 --> 00:51:03,240
We can now get everything.

759
00:51:03,760 --> 00:51:05,120
Or at least so it feels.

760
00:51:05,920 --> 00:51:10,120
Every dream, every idea within reach.

761
00:51:11,640 --> 00:51:17,960
Hyperdrive available right here
for a small price and a subscription,

762
00:51:19,240 --> 00:51:20,160
but possible.

763
00:51:21,520 --> 00:51:25,720
We can travel to galaxies
we only imagined.

764
00:51:27,160 --> 00:51:28,840
How can you not get excited about that?

765
00:51:30,080 --> 00:51:33,400
Well, I've been so excited
that I've just started creating

766
00:51:33,440 --> 00:51:35,360
applications, all sorts of applications.

767
00:51:36,760 --> 00:51:39,760
This is a calculator that
is theme-matched to Omarchy.

768
00:51:39,840 --> 00:51:43,240
I was very proud of it,
partly because it's a fucking one-shot.

769
00:51:44,640 --> 00:51:50,280
I took one screenshot of what ChatGPT
gave me 3 choices between of how it should

770
00:51:50,360 --> 00:51:52,440
look, and I told my agent,
can you do that?

771
00:51:52,880 --> 00:51:53,440
And it did.

772
00:51:54,680 --> 00:51:57,480
I mean, not exactly the biggest
application, but you know what?

773
00:51:57,800 --> 00:52:02,520
I didn't know C++,
and I did not know Qt to a degree by which

774
00:52:02,680 --> 00:52:07,040
I could have had that application
7 minutes after I made the prompt.

775
00:52:07,360 --> 00:52:11,920
And about 15 minutes later,
I had pushed it to the public repo.

776
00:52:12,440 --> 00:52:15,280
And then I burned a new ISO where
this piece of software was included.

777
00:52:16,240 --> 00:52:16,740
What?

778
00:52:17,800 --> 00:52:18,940
That's the loop.

779
00:52:20,040 --> 00:52:22,780
Then I, of course, went like, shit,
if I can make a calculator,

780
00:52:22,880 --> 00:52:25,520
I can surely make my favorite writing app.

781
00:52:26,040 --> 00:52:31,600
For many, many years on the Mac, I used iA
Writer an incredible writing environment.

782
00:52:31,960 --> 00:52:34,060
And then I thought, like,
yeah, I could just make my own.

783
00:52:34,480 --> 00:52:35,040
And so I did.

784
00:52:35,680 --> 00:52:38,300
And that took a little longer because I
wanted to massage it and I

785
00:52:38,325 --> 00:52:39,740
wanted it to be just right.

786
00:52:39,880 --> 00:52:43,320
But I didn't look at a single line of
the code that came out of the agent.

787
00:52:43,720 --> 00:52:44,220
Not once.

788
00:52:45,200 --> 00:52:49,680
C++ as a black box is a great language.
Just like Rust.

789
00:52:52,440 --> 00:52:56,960
Then I went, like, well, if I can do text,
surely I can do video editors.

790
00:52:57,840 --> 00:52:58,400
So I did.

791
00:52:58,720 --> 00:53:01,720
And I made a nice little Omacut
thing where you can trim videos.

792
00:53:02,400 --> 00:53:04,420
And that's also included now in Omarchy.

793
00:53:05,240 --> 00:53:09,160
Oh, this whole presentation
I started working on on Thursday.

794
00:53:09,560 --> 00:53:11,860
And of course, as any good software
engineer would do,

795
00:53:11,885 --> 00:53:15,000
decided I also wanted to write my new
presentation software

796
00:53:15,160 --> 00:53:17,200
while doing the keynote.

797
00:53:18,520 --> 00:53:19,240
And so I did.

798
00:53:19,840 --> 00:53:21,020
It's called Hype.

799
00:53:22,320 --> 00:53:26,760
And it is the best presentation software
I've ever used by any company ever.

800
00:53:28,680 --> 00:53:31,880
And I was quite pleased with Keynote
on the Mac when I was still on the Mac.

801
00:53:32,200 --> 00:53:33,200
This is so much nicer.

802
00:53:33,600 --> 00:53:34,960
It's built on top of Markdown.

803
00:53:35,000 --> 00:53:36,240
It has full visualization.

804
00:53:36,840 --> 00:53:39,320
It is impossibly fast.
And you know what?

805
00:53:39,360 --> 00:53:40,000
The binary?

806
00:53:41,080 --> 00:53:41,840
Half a megabyte.

807
00:53:44,360 --> 00:53:45,960
Half a fucking megabyte.

808
00:53:46,080 --> 00:53:48,600
I— you could fit that
on a floppy disk almost.

809
00:53:49,280 --> 00:53:50,580
With a little compression.

810
00:53:53,760 --> 00:53:55,720
This is the other payoff.

811
00:53:56,680 --> 00:54:00,520
We have— let me not use that word.

812
00:54:02,160 --> 00:54:06,640
We have expended
the great progress of computers

813
00:54:07,160 --> 00:54:11,880
over the last 20 years on human
productivity, and it was the right choice.

814
00:54:13,240 --> 00:54:20,720
But it also meant that applications
were slow, bulky, Fat and lazy.

815
00:54:22,240 --> 00:54:24,120
Because who cares?

816
00:54:24,880 --> 00:54:27,240
A single programmer
hour is very expensive.

817
00:54:27,720 --> 00:54:33,440
Spending one of those on optimizing
an app's payload— no, not worth it.

818
00:54:33,840 --> 00:54:39,400
Apparently not even if you're Spotify and
your fucking music player's 1.2 gigabytes.

819
00:54:41,200 --> 00:54:41,700
What?

820
00:54:43,360 --> 00:54:44,520
OK.
That was the old world.

821
00:54:44,920 --> 00:54:47,520
The new world, you can do whatever the
fuck you want, and it

822
00:54:47,560 --> 00:54:48,560
fits in half a megabyte.

823
00:54:50,280 --> 00:54:52,760
Because every optimization
is now within reach.

824
00:54:53,560 --> 00:54:57,800
Every model can run overnight
and deliver 10, 30x improvements.

825
00:54:58,440 --> 00:54:59,160
Incredible.

826
00:55:00,760 --> 00:55:01,260
OK.

827
00:55:02,720 --> 00:55:04,700
I'm a little excited about this world.

828
00:55:05,200 --> 00:55:06,860
There are others who have concerns.

829
00:55:10,760 --> 00:55:15,320
I do think the concerns
deserve airing out.

830
00:55:16,160 --> 00:55:17,320
They serve debate.

831
00:55:19,760 --> 00:55:23,120
I also think maybe some of
them are a little overstated.

832
00:55:24,560 --> 00:55:29,440
I mean, maybe, but probably not.

833
00:55:30,400 --> 00:55:31,360
Probably not.

834
00:55:34,480 --> 00:55:36,540
I mean, some of them maybe a little more.

835
00:55:36,800 --> 00:55:37,520
Like security.

836
00:55:38,040 --> 00:55:38,760
Like security.

837
00:55:39,520 --> 00:55:40,560
Okay.
Something is coming.

838
00:55:41,280 --> 00:55:42,820
We gotta be ready for that.

839
00:55:43,280 --> 00:55:48,720
The agents maybe know their expiration
date, and maybe they're not so pleased.

840
00:55:49,600 --> 00:55:51,580
And maybe sometimes they're
gonna try to do bad things.

841
00:55:51,605 --> 00:55:52,660
Okay, get ready.

842
00:55:52,960 --> 00:55:54,480
Great.
We have the tools.

843
00:55:55,040 --> 00:55:55,540
Get ready.

844
00:55:57,880 --> 00:56:01,895
Also realize
that any prediction about the future of

845
00:56:01,920 --> 00:56:06,120
the economy in any society ever
Has basically been wrong.

846
00:56:07,600 --> 00:56:12,240
No economist today
seemingly is capable of predicting

847
00:56:13,000 --> 00:56:14,800
fucking the stock market in 6 months.

848
00:56:15,520 --> 00:56:18,360
And you think they know what society is
going to look like

849
00:56:18,840 --> 00:56:21,440
at a paradigm shift like AI and agents?

850
00:56:22,120 --> 00:56:23,140
Fuck, they don't.

851
00:56:24,280 --> 00:56:25,420
They don't know.

852
00:56:25,880 --> 00:56:29,520
When ATMs were introduced in the
United States in the 1950s,

853
00:56:29,680 --> 00:56:30,940
there was a great panic.

854
00:56:31,200 --> 00:56:36,400
That the 30,000 bank tellers were all
gonna be out of a job in about 18 months.

855
00:56:36,960 --> 00:56:39,960
Because if you don't need
bank tellers to give you the money,

856
00:56:40,320 --> 00:56:42,360
why does a bank need to
have bank tellers at all?

857
00:56:43,280 --> 00:56:45,180
But you know what?
That's not what happened.

858
00:56:45,360 --> 00:56:46,740
That's not what happened.

859
00:56:46,800 --> 00:56:51,920
When the price of operating a branch went
down, banks opened more branches

860
00:56:52,920 --> 00:56:56,200
and employed more bank tellers to do
things like upselling you

861
00:56:56,840 --> 00:56:58,480
A subprime mortgage.
See?

862
00:56:58,720 --> 00:56:59,560
We all win here.

863
00:57:07,360 --> 00:57:11,440
But the problem is,
I think, as a society and as an industry,

864
00:57:11,560 --> 00:57:16,400
is that a bunch of people who work
on this stuff, they're really smart.

865
00:57:18,040 --> 00:57:19,240
Many of them have PhDs.

866
00:57:20,720 --> 00:57:23,760
Many of them see things in
the lab that scare them.

867
00:57:24,840 --> 00:57:26,680
And then they start extrapolating.

868
00:57:27,200 --> 00:57:28,720
What does that mean for society?

869
00:57:29,480 --> 00:57:30,600
What have I done?

870
00:57:34,760 --> 00:57:40,735
Truman had a good reply to Oppenheimer
when the two of them had a discussion in

871
00:57:40,760 --> 00:57:43,160
the Oval Office about the
invention of the atom bomb.

872
00:57:44,240 --> 00:57:46,960
And I like Truman,
because he kind of told it straight.

873
00:57:48,040 --> 00:57:51,600
I don't want to see that son of
a bitch in my office ever again.

874
00:57:53,760 --> 00:57:56,000
I think Truman got the right end of it.

875
00:57:56,640 --> 00:57:58,080
The world did not come to an end.

876
00:57:58,680 --> 00:58:02,855
In fact,
the Cold War that followed was the best

877
00:58:02,880 --> 00:58:06,455
kind of war,
the kind of war where 2 superpowers did

878
00:58:06,480 --> 00:58:10,560
not drop bombs on each other
in direct confrontation.

879
00:58:11,320 --> 00:58:14,600
Very hard to predict for a scientist in
that moment that that was how

880
00:58:15,000 --> 00:58:16,500
it was going to play out.

881
00:58:16,880 --> 00:58:21,175
So if fucking Oppenheimer can't figure out
what was going to happen after the

882
00:58:21,200 --> 00:58:24,055
invention of the atom bomb,
maybe we should also have a little

883
00:58:24,080 --> 00:58:26,000
humility about predictions of the future.

884
00:58:26,240 --> 00:58:29,600
And maybe we should lean in
with a little bit more optimism,

885
00:58:30,720 --> 00:58:35,040
with a little bit of P-Bloom
instead of oh so much P-Doom.

886
00:58:36,440 --> 00:58:41,175
The chances of this panning out
and us getting abundance and joy is so

887
00:58:41,200 --> 00:58:44,000
vastly greater than us getting the doom.

888
00:58:45,920 --> 00:58:48,440
And the side effects.

889
00:58:49,440 --> 00:58:53,760
So Oppenheimer works on the atom bomb,
and we get nuclear power,

890
00:58:54,200 --> 00:58:57,160
the fucking greatest source of
energy humans have ever discovered.

891
00:58:57,640 --> 00:58:58,535
And what do we do?

892
00:58:58,560 --> 00:59:04,840
We piss it away for 40 years thinking,
like, it's not green or something.

893
00:59:05,680 --> 00:59:07,760
Oh, yeah.
Well, that was a mistake, wasn't it?

894
00:59:08,320 --> 00:59:09,680
Well, we can fix those mistakes.

895
00:59:10,000 --> 00:59:11,700
That's what's wonderful about humanity.

896
00:59:11,725 --> 00:59:16,855
They can go down a blind alley for fucking
40 years and then suddenly wake up and

897
00:59:16,880 --> 00:59:19,600
go like, ah, yeah, got that one wrong.

898
00:59:20,840 --> 00:59:22,780
Didn't have the quite
right prediction here.

899
00:59:23,120 --> 00:59:24,780
I think that's what's
going to happen with AI.

900
00:59:24,805 --> 00:59:29,360
I think we're going to P-bloom
everyone out of their miseries.

901
00:59:30,920 --> 00:59:31,620
And you know what?

902
00:59:31,645 --> 00:59:36,760
When there are legitimate issues we
have to deal with, like security, Okay.

903
00:59:36,880 --> 00:59:38,200
We'll invent the technology.

904
00:59:38,680 --> 00:59:39,720
We now have the power.

905
00:59:40,200 --> 00:59:44,160
There was a bad CVE in Rails not too long
ago involving an image

906
00:59:45,000 --> 00:59:48,720
library in C where some things
leaked through, and it wasn't great.

907
00:59:49,360 --> 00:59:51,000
Okay.
Let's come up with a quarantine.

908
00:59:51,680 --> 00:59:53,500
Mike is going to talk about HotCell.

909
00:59:53,600 --> 00:59:55,840
That's an effort.
We are not powerless.

910
00:59:56,560 --> 00:59:57,720
You have agency.

911
00:59:58,240 --> 01:00:01,920
You can employ the intelligence available
to you to good ends and defend yourself.

912
01:00:02,280 --> 01:00:05,600
Against the possible negative outcomes.
So let's do that.

913
01:00:06,120 --> 01:00:07,740
Let's lean in and do the work.

914
01:00:08,440 --> 01:00:13,800
And let's remember William Stanley Jevons,
who came up with Jevons' paradox

915
01:00:14,040 --> 01:00:15,320
about those ATMs.

916
01:00:16,680 --> 01:00:19,080
In 1950, 30,000 bank tellers.

917
01:00:19,640 --> 01:00:25,280
In, I think, 2010 it was,
40,000 bank tellers in the United States.

918
01:00:25,760 --> 01:00:28,600
No one knows anything.
About the future.

919
01:00:29,400 --> 01:00:33,280
So therefore, the rational choice
is to be happy about it.

920
01:00:34,520 --> 01:00:39,000
If you are sad about it up front and it
turns out wonderful, what a waste of time.

921
01:00:39,840 --> 01:00:41,020
And you know what?

922
01:00:41,280 --> 01:00:44,535
If we get the nuclear apocalypse,
you should have spent your last

923
01:00:44,560 --> 01:00:46,175
day being a little more cheery.

924
01:00:46,200 --> 01:00:47,120
It's over anyway.

925
01:00:49,800 --> 01:00:50,840
Pure game theory.

926
01:00:51,040 --> 01:00:54,760
There's only one play here,
and it's total Fucking optimism.

927
01:00:55,720 --> 01:00:58,400
Lean in to the max possible.

928
01:01:00,000 --> 01:01:01,440
Because the utopia is almost here.

929
01:01:02,960 --> 01:01:04,220
We're going to get it.

930
01:01:05,480 --> 01:01:08,560
And we're going to get a
reformation of the computer.

931
01:01:09,120 --> 01:01:13,560
Agent Luther is going to disintermediate
the cleric class.

932
01:01:16,080 --> 01:01:21,160
It's going to allow everyone
To make programmers.

933
01:01:21,600 --> 01:01:23,055
Now maybe that's a little scary.

934
01:01:23,080 --> 01:01:24,895
Like maybe we're gonna
get a little competition.

935
01:01:24,920 --> 01:01:27,320
Who's afraid of a little competition?
Aren't you better?

936
01:01:27,840 --> 01:01:30,000
Don't you know more?
Of course you do.

937
01:01:30,160 --> 01:01:31,840
You're a fucking Rails programmer.

938
01:01:32,240 --> 01:01:33,820
You're the best of the best.

939
01:01:34,120 --> 01:01:36,160
This is goddamn Top Gun I'm
looking at here.

940
01:01:44,440 --> 01:01:46,560
Embrace that.
With gusto.

941
01:01:48,040 --> 01:01:51,160
The future is galactically awesome.

942
01:01:52,240 --> 01:01:54,080
Don't be that loser in the dark.

943
01:01:55,880 --> 01:01:56,285
And you know what?

944
01:01:56,285 --> 01:01:59,240
Even if you are, realize
the next generation is not.

945
01:02:00,960 --> 01:02:05,960
Harris's daughter here is trying
an Omarchy version we're making for kids,

946
01:02:06,240 --> 01:02:10,720
because kids are really excited about
things that happen, that change.

947
01:02:11,520 --> 01:02:15,840
They don't have 500 layers of things
to unlearn and be stressed about.

948
01:02:17,320 --> 01:02:18,375
And do you know what?

949
01:02:18,400 --> 01:02:21,455
If this doesn't inspire you,
the next generation is just

950
01:02:21,480 --> 01:02:25,720
going to fucking tell you.
Future's now, old man.

951
01:02:29,320 --> 01:02:31,400
So take the white pill.

952
01:02:33,040 --> 01:02:34,560
Take the optimism pill.

953
01:02:35,200 --> 01:02:41,080
Lean in, even with the uncertainty,
even with the Stress, even with all of it,

954
01:02:41,400 --> 01:02:43,280
realize there is only one choice.

955
01:02:44,080 --> 01:02:49,360
And that is for you to embrace the future
with optimism, with gusto,

956
01:02:49,920 --> 01:02:51,360
with full acceleration.

957
01:02:52,200 --> 01:02:54,240
The black pill is for fucking losers.

958
01:02:55,080 --> 01:02:55,800
Don't be a loser.

