Rails World 2026 Opening Keynote - DHH

2026-09-26 ยท Ruby on Rails ยท conference-talk ยท 01:03:07 ยท watch on YouTube โ†—

aiagentic-engineeringruby-on-rails37signalsnative-appsrustomarchyclioptimism

Verdict: DHH declares hand-written code over at 37signals ("pencils down"), with HEY going native plus a Rust backend, his own 150k lines of code in August, and an argument that Rails' conventions suit agents; the second half is a manifesto (bring your own agent via CLIs, P(bloom) over P(doom), "the black pill is for losers")

TL;DR

  • DHH's Rails World 2026 opening keynote (Austin, published two days before this watch) opens by self-diagnosing "AI euphoria". Portrait painting was made obsolete by the Kodak Brownie, then photography stalled for ~80 years before phones made it free. For him, November 24, 2025 (Claude Opus 4.5) is the Brownie of software, and the spring 2026 "trough of disillusionment" ended in June with Fable 5.
  • 37signals has gone "pencils down": writing code by hand is now an exception handled like a bug in Sentry ("fix the machine, fix the factory"). DHH says he has retired as a professional programmer (around March 2026). Ruby went from over half his work to about 3%. He wrote 150,000 lines in August against a lifetime average of about 30,000 a year, most of it Rust he never reads. "English is a better programming language than Ruby."
  • At 37signals, HEY becomes six native apps (kicked off a week before the talk) plus a Rust mail server that uses 99% less CPU and 95% less memory; peak traffic "could probably be served on a single Raspberry Pi". The web stays the right home for apps strangers use briefly, like Basecamp, and there Rails' convention over configuration saves tokens and its one-person-framework focus fits solo developers with agents.
  • Apps should ship a CLI so users can bring their own agent instead of talking to a built-in chatbot ("I want to see it by next Friday"). Software architecture needs rethinking because abstractions, built to avoid repetition, are choke points when repetition is nearly free. Omarchy now installs in 35 seconds (9 in the lab), and he one-shot a calculator, a writing app, a video editor, and Hype, the 0.5 MB presentation app running the keynote.
  • The closing argument: economists can't predict six months out, ATMs led to more bank tellers (Jevons), and Oppenheimer didn't foresee the Cold War, so the rational bet is "P(bloom)" over "P(doom)". Security worries get engineering answers, like a quarantine for native libraries after a recent Rails CVE in a C image library (a follow-up talk by Mike, "hot cell" as heard).

Key moments

  • [00:13] AI euphoria โ€” he dances on stage and reframes "AI psychosis" as "AI delirium... AI euphoria": "the most exciting thing we have made computers do".
  • [02:16] Portrait painters โ€” Reynolds' Ladies Waldegrave (1781), Goya's royal family, and his great-great-grandfather Laurits Tuxen's three-year Danish royal portrait (1886), made obsolete by the 1900 Kodak Brownie; Tuxen's generation moved on to impressionism. Photography then barely changed until phones: 2 trillion photos a year now (frames 0002, 0004).
  • [11:23] The Brownie of software โ€” Opus 4.5 on November 24, 2025; open-weight Kimi K2.5 months later; a spring "trough of disillusionment" (Opus 4.6); then Fable 5 in June, GPT-6 Astra in September, and DeepSeek 4.1 Flash a week later, ending fears of a US monopoly (frame_0005).
  • [16:02] From the 10x to the 1,000x programmer โ€” the 1968 ACM study (5-30x spread, 10x average), then "100x" and "1,000x" for the best programmer with agents against the worst without (frame_0006). He has written half as much code in 20 months as in the previous 21 years.
  • [19:04] "Look at all the things I'm not doing" โ€” a 2005 Rails demo clip from Brazil; 21 years on, he says he is even more excited about the code he isn't writing.
  • [20:47] Pencils down โ€” 37signals stops writing code by hand (frame_0012). The spring Basecamp 5 experiment, where designer PRs turned the architecture into "Swiss cheese", reached "the wrong conclusion": they should have waited for Fable.
  • [24:07] HEY goes native โ€” six native apps started a week earlier (frame_0014); a Windows app 20 minutes after a redirected prompt; Shopify's rewritten native Shop app as outside evidence (frame_0018).
  • [28:49] Rust without looking โ€” "Rust is amazing if you never ever ever have to look at it yourself"; the new backend needs 99% less CPU and 95% less memory. Agents take tasks asynchronously inside Basecamp (frame_0019 shows the agent cards).
  • [33:09] Where Rails fits โ€” the "Rails is built for AI" slide: convention over configuration, token efficiency, quality training data, one-person framework (frame_0020); Evil Martians' agent evals for the Rails Foundation saturated at 95% and were made harder.
  • [36:41] 150,000 lines in August and the "Retired Progressional [sic] Programmer 2001-2026" slide (frame_0021); "English is a better programming language than Ruby."
  • [45:10] Bring your own agent โ€” "Built-in agents are a local maxima" (frame_0023); a CLI by next Friday; the HEY CLI found a five-year-old email about sneakers and a podcast that Elasticsearch couldn't.
  • [48:13] Omarchy โ€” $20M raised; 3:33 install last year, 35 s on AMD's Anush Elangovan's Halo laptop (frame_0024), 9 s in the lab; "the pursuit of excellence does not need justification" (Mitchell Hashimoto). One-shot apps in C++/Qt he never read (frames 0027, 0028).
  • [55:02] Concerns and optimism โ€” ATMs and bank tellers (30,000 then, 40,000 in 2010), Truman and Oppenheimer, nuclear power "pissed away for 40 years" (frame_0030); "pure game theory... total optimism"; closes with the red/blue pill and "the black pill is for losers" (frame_0033).

Hook microscope (0-10s)

  • Frames: 20 at 2 fps

    Read these hook frames with the Read tool:

    • hook_frames/frame_0001.jpg (t=0.0s)
    • hook_frames/frame_0002.jpg (t=0.5s)
    • hook_frames/frame_0003.jpg (t=1.0s)
    • hook_frames/frame_0004.jpg (t=1.5s)
    • hook_frames/frame_0005.jpg (t=2.0s)
    • hook_frames/frame_0006.jpg (t=2.5s)
    • hook_frames/frame_0007.jpg (t=3.0s)
    • hook_frames/frame_0008.jpg (t=3.5s)
    • hook_frames/frame_0009.jpg (t=4.0s)
    • hook_frames/frame_0010.jpg (t=4.5s)
    • hook_frames/frame_0011.jpg (t=5.0s)
    • hook_frames/frame_0012.jpg (t=5.5s)
    • hook_frames/frame_0013.jpg (t=6.0s)
    • hook_frames/frame_0014.jpg (t=6.5s)
    • hook_frames/frame_0015.jpg (t=7.0s)
    • hook_frames/frame_0016.jpg (t=7.5s)
    • hook_frames/frame_0017.jpg (t=8.0s)
    • hook_frames/frame_0018.jpg (t=8.5s)
    • hook_frames/frame_0019.jpg (t=9.0s)
    • hook_frames/frame_0020.jpg (t=9.5s)
  • Word-level transcript (3 words):

  [  5.34s] Thanks
  [  5.44s] for
  [  5.46s] watching

The hook frames are the produced open: black, then the neon RAILS WORLD logo with the Shopify post-production credit (hook_frames/frame_0008), then a giant neon DHH over the stage (hook_frames/frame_0018). His first line, "I like that. Bent in neon," comments on that sign. The hook is his entrance itself: he dances, names the audience's likely diagnosis ("AI psychosis"), and swaps in his own ("AI euphoria") within the first 75 seconds, then goes to history for 9 minutes before the first AI claim.

Editorial profile

  • Shots: 33
  • Cuts/min: 0.52
  • Mean shot length: 114.76s
  • Median shot length: 68.63s
  • Talking-head ratio: n/a (opencv not installed)

Keynote capture intercut with full-screen slides (bold monospace titles over photo backgrounds, historical paintings, screen recordings of HEY, Basecamp and Omarchy); the slides were built in his own agent-written Hype app. Delivery is a sermon: manifesto lines, one show-of-hands poll, and long stretches carried by images.

Quotable moments

  • [11:23] "On November 24th, 2025, we got the Kodak Brownie of our era."
  • [21:15] "Writing code by hand at 37signals is now an exceptional state. It is like seeing a bug in Sentry."
  • [30:01] "Rust is amazing if you never ever ever have to look at it yourself."
  • [38:26] "English is a better programming language than Ruby."
  • [45:54] "Let me bring my own butler to the party. Let me interact with your applications through a CLI."
  • [62:50] "The black pill is for losers. Don't be a loser."

Entities mentioned

  • People: dhh, Laurits Tuxen, Joshua Reynolds, Francisco Goya, Mitchell Hashimoto, Anush Elangovan, William Stanley Jevons, J. Robert Oppenheimer, Harry Truman
  • Companies: 37signals, Anthropic, OpenAI, DeepSeek, Moonshot AI (Kimi), Shopify, Evil Martians, Rails Foundation, AMD, HashiCorp, Kodak, Leica, Spotify
  • Tools / products: Claude Opus 4.5 and 4.6, Fable 5, GPT-6 Astra, DeepSeek 4.1 Flash, Kimi K2.5, Ruby on Rails, Rust, Basecamp 5, HEY, omarchy, Hype, Elasticsearch, Sentry, Hotwire Native, React Native, Qt, Ghostty, Kodak Brownie, Leica I
  • Places: Austin, Copenhagen, Brazil

Concepts surfaced

  • pencils-down: hand-written code becomes an exception you debug, and the fix goes into the agent setup ("fix the machine, fix the factory"). DHH's name for 37signals' policy.
  • bring-your-own-agent: apps expose a CLI so users drive them with their own agent; built-in chatbots are "a local maxima".
  • Brownie moment: a technology gets cheap enough for everyone, then stalls for decades before the next jump; DHH maps Opus 4.5 onto the Kodak Brownie.
  • The 1,000x programmer: the 10x debate (ACM, 1968) ends and the spread becomes 100-1,000x between the best programmer with agents and the worst without.
  • Repetition is free: abstractions exist partly to avoid repeating yourself; with agents doing the repeating, they turn into choke points, and architecture needs rethinking.
  • Blackbox languages: Rust and C++ are fine when nobody reads the code; you judge the program from outside, like any client who hired programmers.
  • P(bloom) over P(doom): nobody predicts the future (Jevons, ATMs, Oppenheimer), so the useful stance is optimism plus engineering answers to real risks like security.

Transcript

Source: captions.

[00:14] I like that. Bent in neon. Well, first of all, welcome to Austin is
[00:18] Well, first of all, welcome to Austin is what I would normally say. I would say
[00:20] what I would normally say. I would say uh welcome back to myself to Austin. I
[00:22] uh welcome back to myself to Austin. I was just here about a month ago yapping
[00:24] was just here about a month ago yapping for five hours on a podcast. It is great
[00:27] for five hours on a podcast. It is great to be back here. But even more exciting
[00:30] to be back here. But even more exciting for me is to be alive right now in this
[00:35] for me is to be alive right now in this moment and sharing it with a wonderful
[00:38] moment and sharing it with a wonderful community around Ruby and Rails and
[00:40] community around Ruby and Rails and everyone else who is excited about
[00:43] everyone else who is excited about agents. And if you aren't yet, hopefully
[00:46] agents. And if you aren't yet, hopefully you will be by the end of this delirious
[00:50] you will be by the end of this delirious talk on the future. Now, I know that the
[00:54] talk on the future. Now, I know that the first instinct someone might have when
[00:56] first instinct someone might have when they see a person dancing around being
[01:00] they see a person dancing around being so excited about this moment is uh a
[01:04] so excited about this moment is uh a diagnosis,
[01:07] diagnosis, AI psychosis.
[01:10] AI psychosis. Uh I prefer a different term. I have AI
[01:14] Uh I prefer a different term. I have AI uh delirium.
[01:16] uh delirium. um AI euphoria because this is simply
[01:20] um AI euphoria because this is simply the most exciting thing we have made
[01:23] the most exciting thing we have made computers do in the time I have worked
[01:26] computers do in the time I have worked with them, played with them, interacted
[01:29] with them, played with them, interacted with them. But I think actually to
[01:32] with them. But I think actually to wrestle with the fact that on the one
[01:34] wrestle with the fact that on the one hand this is tremendously exciting. It
[01:37] hand this is tremendously exciting. It is also a little unnerving
[01:40] is also a little unnerving because we don't know exactly what the
[01:42] because we don't know exactly what the final state of this is going to be. And
[01:45] final state of this is going to be. And whenever we try to make a prediction, it
[01:47] whenever we try to make a prediction, it is out of date about 20 minutes later.
[01:51] is out of date about 20 minutes later. That's a weird state to be in even if
[01:53] That's a weird state to be in even if you are excited for the future, even if
[01:56] you are excited for the future, even if you're excited for the present. And I
[01:58] you're excited for the present. And I fully understand the sense of unease
[02:02] fully understand the sense of unease that can create. So to soothe that
[02:06] that can create. So to soothe that somewhat, let's
[02:09] somewhat, let's wind back the clock a little bit.
[02:16] This is a state-of-the-art
[02:18] state-of-the-art uh piece of technology from the 18th
[02:22] uh piece of technology from the 18th century. If you wanted your portrait
[02:24] century. If you wanted your portrait taken in the 18th century, you would sit
[02:27] taken in the 18th century, you would sit for hour upon hour upon hour in front of
[02:30] for hour upon hour upon hour in front of a master painter who would then go off
[02:34] a master painter who would then go off and at best spend months working on your
[02:38] and at best spend months working on your portrait. And it was beautiful. is
[02:41] portrait. And it was beautiful. is beautiful amazing legacy of culture that
[02:44] beautiful amazing legacy of culture that has been left to all of us now that we
[02:47] has been left to all of us now that we can see the ladies Valdigra to this day
[02:50] can see the ladies Valdigra to this day that Joshua Reynolds painted in 1781.
[02:55] that Joshua Reynolds painted in 1781. Wonderful.
[02:56] Wonderful. Also a little exclusive.
[03:00] Also a little exclusive. Not that many people in the 18th century
[03:03] Not that many people in the 18th century were able to commission a piece of
[03:05] were able to commission a piece of themselves like this and pay for an
[03:07] themselves like this and pay for an artist who spent months and months and
[03:09] artist who spent months and months and months to create something like this.
[03:14] months to create something like this. And even worse, in the case of this
[03:15] And even worse, in the case of this particular painting, Reynolds spent
[03:18] particular painting, Reynolds spent months and months on another painting of
[03:21] months and months on another painting of the Ladies Vigraph that was rejected by
[03:23] the Ladies Vigraph that was rejected by the client because a piece of ankle was
[03:27] the client because a piece of ankle was showing. It was scandalous. So, he
[03:30] showing. It was scandalous. So, he simply had to go back and redo it. I
[03:32] simply had to go back and redo it. I don't know if anyone has worked with
[03:34] don't know if anyone has worked with clients before that, but they might have
[03:35] clients before that, but they might have some sympathy for poor Mr. Joshua
[03:38] some sympathy for poor Mr. Joshua Reynolds and rejected statements of
[03:40] Reynolds and rejected statements of work.
[03:42] work. Now, most of the people who could afford
[03:45] Now, most of the people who could afford to do this were either um part of the
[03:49] to do this were either um part of the upper bush sea or they were outright
[03:52] upper bush sea or they were outright royals. Here's a painting that was done
[03:55] royals. Here's a painting that was done 20 years later by Goya of the royal
[04:00] 20 years later by Goya of the royal Spanish family. That was sort of the
[04:03] Spanish family. That was sort of the rate of technology.
[04:05] rate of technology. Painters had been perfecting the
[04:07] Painters had been perfecting the different techniques of capturing
[04:10] different techniques of capturing portraits of people for literally
[04:12] portraits of people for literally hundreds of years. And we're making very
[04:15] hundreds of years. And we're making very marginal progress along the way.
[04:18] marginal progress along the way. Now between 1801 and the next painting
[04:22] Now between 1801 and the next painting I'm going to show 80 years went past and
[04:26] I'm going to show 80 years went past and in that time the introduction of the
[04:31] in that time the introduction of the camera came to the scene in around uh
[04:34] camera came to the scene in around uh 1840.
[04:36] 1840. But here's a painting of the royal
[04:39] But here's a painting of the royal Danish family from uh
[04:43] Danish family from uh 1888.
[04:45] 1888. Oh 86 by a Danish painter Law Tuken. He
[04:51] Oh 86 by a Danish painter Law Tuken. He didn't just spend three months painting
[04:53] didn't just spend three months painting this. He spent three years. It is still
[04:56] this. He spent three years. It is still hanging in the U
[05:00] hanging in the U royal uh squares in in Copenhagen and
[05:04] royal uh squares in in Copenhagen and you can go see it there. an amazing
[05:06] you can go see it there. an amazing achievement, an amazing artistry, also
[05:09] achievement, an amazing artistry, also very functional. Again, the point was to
[05:11] very functional. Again, the point was to capture the royal family at that time.
[05:13] capture the royal family at that time. But this was getting towards the end of
[05:16] But this was getting towards the end of that particular mode for artists of that
[05:20] that particular mode for artists of that kind because what happened between 1840
[05:25] kind because what happened between 1840 and
[05:27] and 1900 was that the technology of
[05:30] 1900 was that the technology of capturing portraits got better and
[05:32] capturing portraits got better and better.
[05:34] better. And in 1900, the Eastman Kodak company
[05:38] And in 1900, the Eastman Kodak company introduced the Brownie, the first sort
[05:41] introduced the Brownie, the first sort of mass produced um form of photography
[05:45] of mass produced um form of photography that was more generally accessible
[05:47] that was more generally accessible because the price was coming down. I
[05:48] because the price was coming down. I think it was about a dollar to have your
[05:50] think it was about a dollar to have your picture changed with this. And
[05:52] picture changed with this. And therefore, a lot of people suddenly had
[05:53] therefore, a lot of people suddenly had their pictures taken. And all of these
[05:55] their pictures taken. And all of these great artists realized that the
[05:58] great artists realized that the craftsmanship of producing these grand
[06:00] craftsmanship of producing these grand paintings, you know what, that was going
[06:02] paintings, you know what, that was going to be different.
[06:04] to be different. The job was going to be different
[06:06] The job was going to be different because suddenly now there was
[06:07] because suddenly now there was competition from a new form of
[06:09] competition from a new form of technology
[06:15] and they pivoted. Laitz Tuken along with many other
[06:17] Laitz Tuken along with many other painters in that era shortly after the
[06:21] painters in that era shortly after the brownie was introduced realized that
[06:23] brownie was introduced realized that depicting reality as perfectly as
[06:26] depicting reality as perfectly as possible was no longer really an
[06:29] possible was no longer really an economically
[06:31] economically viable skill. They needed another skill.
[06:34] viable skill. They needed another skill. They needed another domain. And many of
[06:36] They needed another domain. And many of them pivoted to different forms of art.
[06:39] them pivoted to different forms of art. You had Picasso chasing cubism and you
[06:43] You had Picasso chasing cubism and you had the Danish scan painters chasing a
[06:47] had the Danish scan painters chasing a form of impressionism that this painting
[06:50] form of impressionism that this painting is an example of. So we got this
[06:53] is an example of. So we got this explosion of creativity
[06:55] explosion of creativity brought upon us by the change in
[06:58] brought upon us by the change in technology that suddenly
[07:02] technology that suddenly people had to find a new way to express
[07:05] people had to find a new way to express their art because the old way was gone.
[07:08] their art because the old way was gone. Now, what's interesting about this
[07:11] Now, what's interesting about this particular picture is that the uh lady
[07:14] particular picture is that the uh lady in the center in the pink dress, Ivonne
[07:16] in the center in the pink dress, Ivonne Tuken, is actually my great-grandmother
[07:22] Tuken, is actually my great-grandmother because La Tuken is my great
[07:25] because La Tuken is my great greatgrandfather.
[07:27] greatgrandfather. And here he is depicted in
[07:30] And here he is depicted in 1921,
[07:32] 1921, I believe, uh shortly before his death.
[07:35] I believe, uh shortly before his death. He embraced the fact of having his own
[07:38] He embraced the fact of having his own portrait taken by the new form
[07:40] portrait taken by the new form technology that had rendered his old
[07:42] technology that had rendered his old profession a different place to work.
[07:52] 52 years after his death, I was born in 1979.
[07:55] 1979. Interestingly enough, that picture taken
[07:57] Interestingly enough, that picture taken here is very similar actually to the
[08:00] here is very similar actually to the picture that was taken by Laitz in uh in
[08:02] picture that was taken by Laitz in uh in the 1920s. the technology hadn't evolved
[08:05] the 1920s. the technology hadn't evolved that much because that's what often
[08:06] that much because that's what often happens with progressions of technology.
[08:09] happens with progressions of technology. It comes in starts and stops and fits.
[08:12] It comes in starts and stops and fits. The huge change was the brownie, the
[08:16] The huge change was the brownie, the democratization of photography and then
[08:20] democratization of photography and then kind of almost 80 years went by when not
[08:24] kind of almost 80 years went by when not a whole lot happened. We got color
[08:25] a whole lot happened. We got color photography in the 60s, but uh not
[08:29] photography in the 60s, but uh not widely distributed enough that
[08:31] widely distributed enough that apparently I was worth one. Um
[08:39] although we did rectify that uh a few years later and here's a color
[08:41] years later and here's a color photography of of me age four sitting
[08:45] photography of of me age four sitting with my brother. Now
[08:49] with my brother. Now a couple years later, here's another
[08:52] a couple years later, here's another photograph of me. And between those
[08:54] photograph of me. And between those three photos, that's about I think 10%
[08:58] three photos, that's about I think 10% of my stockpile of photos of my
[09:01] of my stockpile of photos of my childhood. Because even though the
[09:04] childhood. Because even though the democratization of this technology had
[09:06] democratization of this technology had happened to a point that even we as a
[09:09] happened to a point that even we as a family could afford to have these
[09:11] family could afford to have these pictures taken, it was not that widely
[09:12] pictures taken, it was not that widely distributed. And yes, there was a curve
[09:14] distributed. And yes, there was a curve and more pictures were being taken in
[09:16] and more pictures were being taken in the 1980s as this photo represents
[09:20] the 1980s as this photo represents versus the 1900s, but it was still kind
[09:22] versus the 1900s, but it was still kind of modest because technology moves in
[09:25] of modest because technology moves in fits, starts and stops.
[09:29] fits, starts and stops. And the camera that those three pictures
[09:32] And the camera that those three pictures were taken of was very similar to to
[09:35] were taken of was very similar to to this camera. This is the Leica one from
[09:37] this camera. This is the Leica one from 1925.
[09:39] 1925. In fact, maybe some of those pictures
[09:41] In fact, maybe some of those pictures were literally taken with another Leica.
[09:43] were literally taken with another Leica. Um, I think they were up to the seventh
[09:45] Um, I think they were up to the seventh one by then, but they weren't that
[09:47] one by then, but they weren't that different because the technology was
[09:49] different because the technology was quite similar. Not much had happened
[09:51] quite similar. Not much had happened since the great revolution around the
[09:54] since the great revolution around the 1900s until the 80s.
[09:57] 1900s until the 80s. Then we gave it a couple more decades
[10:01] Then we gave it a couple more decades and suddenly everything changed
[10:02] and suddenly everything changed dramatically again.
[10:05] dramatically again. Photography went from not just being
[10:08] Photography went from not just being possible for everyone to have, but to
[10:10] possible for everyone to have, but to become completely frictionless. And the
[10:13] become completely frictionless. And the number of photos taken went parabolical
[10:16] number of photos taken went parabolical because suddenly everyone could afford
[10:19] because suddenly everyone could afford to have tens of thousands of pictures of
[10:22] to have tens of thousands of pictures of their children and um many of them did.
[10:25] their children and um many of them did. It simply become too cheap to measure.
[10:29] It simply become too cheap to measure. These are some of the photographs my
[10:31] These are some of the photographs my wife likes to take when she's out on her
[10:33] wife likes to take when she's out on her evening walk. To have wanted to do this
[10:36] evening walk. To have wanted to do this even in the 80s would have required a
[10:39] even in the 80s would have required a commitment to film and getting them um
[10:43] commitment to film and getting them um produced and the rest of it. And there
[10:45] produced and the rest of it. And there were people who did that but not that
[10:47] were people who did that but not that many because the friction was still too
[10:49] many because the friction was still too high.
[10:52] high. Today
[10:54] Today in 2026, some 2 trillion photos are
[10:59] in 2026, some 2 trillion photos are taken every year.
[11:02] taken every year. That's very different. It's the same
[11:04] That's very different. It's the same underlying technology, but we've clearly
[11:06] underlying technology, but we've clearly hit an inflection point even compared to
[11:08] hit an inflection point even compared to when the camera phone first came out.
[11:12] when the camera phone first came out. There's going to be some parallels here
[11:15] There's going to be some parallels here to our industry and our profession.
[11:23] On November 24th, 2025,
[11:25] 2025, we got the
[11:28] we got the Kodak brownie of our era.
[11:32] Kodak brownie of our era. We got Opus 45
[11:41] AI technology made accessible in a harness that many people could afford to
[11:44] harness that many people could afford to use and experience for the first time
[11:47] use and experience for the first time what it's like to create software
[11:51] what it's like to create software in pairing with a new form of
[11:53] in pairing with a new form of intelligence.
[11:56] intelligence. This was the tipping point for me. There
[11:59] This was the tipping point for me. There was everything before November 24 and
[12:02] was everything before November 24 and then there was everything after. This is
[12:05] then there was everything after. This is going to be the date that history books
[12:08] going to be the date that history books going forward will mark as the
[12:10] going forward will mark as the inflection point for the Age of Agents.
[12:14] inflection point for the Age of Agents. And as with the Brownie when that first
[12:16] And as with the Brownie when that first came out, there was an explosion of
[12:19] came out, there was an explosion of different form factors and new ways of
[12:21] different form factors and new ways of trying to harness this technology. And
[12:24] trying to harness this technology. And it did not take long until we got
[12:28] it did not take long until we got some motion or notion of the same
[12:31] some motion or notion of the same intelligence in a open weight format.
[12:34] intelligence in a open weight format. Total euphoria. This is moving so fast.
[12:38] Total euphoria. This is moving so fast. I can't believe that this alien
[12:40] I can't believe that this alien technology is now accessible in
[12:43] technology is now accessible in openweight form. Just happened a few
[12:45] openweight form. Just happened a few months later. I drove Kimmy K25 in the
[12:48] months later. I drove Kimmy K25 in the fast mode for quite a while and
[12:50] fast mode for quite a while and absolutely loved it. an incredible
[12:52] absolutely loved it. an incredible experience to be experiencing uh this
[12:55] experience to be experiencing uh this kind of intelligence at 200 tokens per
[12:57] kind of intelligence at 200 tokens per second. But
[13:01] second. But then something else happened. This trove
[13:04] then something else happened. This trove of disillusionment from February through
[13:07] of disillusionment from February through May where we seemingly continued to get
[13:10] May where we seemingly continued to get new models, but they kind of sucked. It
[13:13] new models, but they kind of sucked. It was like they were stepping backwards
[13:15] was like they were stepping backwards and many people were like, "What this
[13:16] and many people were like, "What this Opus 46 thing? I don't know, man. Just
[13:20] Opus 46 thing? I don't know, man. Just give me the old stuff again. And a lot
[13:22] give me the old stuff again. And a lot of people thought, haha, you thought
[13:24] of people thought, haha, you thought this was going to continuously
[13:27] this was going to continuously exponentially expand and improve. But
[13:29] exponentially expand and improve. But look, we're actually not getting that
[13:31] look, we're actually not getting that much better. I remember a particular
[13:34] much better. I remember a particular release, I think it was of uh OpenAI's
[13:37] release, I think it was of uh OpenAI's new model that didn't punch that much
[13:39] new model that didn't punch that much better on the benchmarks and the stock
[13:40] better on the benchmarks and the stock price fell or the evaluation fell and
[13:43] price fell or the evaluation fell and the market was suddenly, oh my god, it's
[13:44] the market was suddenly, oh my god, it's over
[13:47] over because we don't know what's going to
[13:48] because we don't know what's going to happen. But this tro of disillusionment
[13:51] happen. But this tro of disillusionment did not last like it did with
[13:54] did not last like it did with photography for a hundred years where
[13:56] photography for a hundred years where the technology barely seemed to improve.
[13:59] the technology barely seemed to improve. Uh it only lasted until May. Well, June
[14:03] Uh it only lasted until May. Well, June really because in June we got Fable 5
[14:08] really because in June we got Fable 5 and Myths and clearly anyone who had a
[14:12] and Myths and clearly anyone who had a chance to experience that at the time
[14:14] chance to experience that at the time were disabused of any disillusionment
[14:16] were disabused of any disillusionment they might have had about whether we had
[14:18] they might have had about whether we had stalled and whether it was over. And I'd
[14:22] stalled and whether it was over. And I'd say this is where my
[14:25] say this is where my diagnosis really set in. my psychosis/
[14:31] diagnosis really set in. my psychosis/ delirium slash euphoria for this
[14:34] delirium slash euphoria for this explosion of intelligence on tap.
[14:38] explosion of intelligence on tap. This was the model where I went from,
[14:41] This was the model where I went from, oh, I can tell an agent to do something
[14:44] oh, I can tell an agent to do something for me to seeing that being something I
[14:48] for me to seeing that being something I want to merge. That was the revelation
[14:49] want to merge. That was the revelation of Opus. to suddenly having models I
[14:53] of Opus. to suddenly having models I could give problems to
[14:56] could give problems to or ideas to and see those be solved or
[15:00] or ideas to and see those be solved or see those expanded through no direction
[15:03] see those expanded through no direction of my own on the implementation.
[15:06] of my own on the implementation. Absolutely mindblowingly incredible. And
[15:10] Absolutely mindblowingly incredible. And of course things didn't stop from there.
[15:12] of course things didn't stop from there. We have been on this amazing roller
[15:14] We have been on this amazing roller coaster now for a couple of months. GPT6
[15:17] coaster now for a couple of months. GPT6 Astra came out in September and saved us
[15:21] Astra came out in September and saved us all from the dread that Anthropic was
[15:24] all from the dread that Anthropic was going to have a monopoly on this kind of
[15:26] going to have a monopoly on this kind of frontier intelligence. And then even
[15:28] frontier intelligence. And then even better than that, just a week later, we
[15:32] better than that, just a week later, we got Deep Seek 41 Flash, the disabused of
[15:35] got Deep Seek 41 Flash, the disabused of any notion that frontier intelligence
[15:37] any notion that frontier intelligence was going to forever be a domain of just
[15:40] was going to forever be a domain of just some large American tech companies. This
[15:43] some large American tech companies. This is incredibly exciting.
[15:50] But what does it mean? What does it mean for us as programmers? What does it mean
[15:51] for us as programmers? What does it mean for us as a profession? And I think this
[15:54] for us as a profession? And I think this is why again it's worth looking
[15:56] is why again it's worth looking backwards a bit because history holds
[15:58] backwards a bit because history holds all these amazing lessons and parallels
[16:00] all these amazing lessons and parallels to our time if we just look at it. One
[16:03] to our time if we just look at it. One of the things that has dominated the
[16:05] of the things that has dominated the discourse in the entire time I've been a
[16:07] discourse in the entire time I've been a professional developer has been the
[16:10] professional developer has been the argument about whether the 10x
[16:12] argument about whether the 10x programmer was real or not real. Well,
[16:15] programmer was real or not real. Well, that entire concept came from an article
[16:18] that entire concept came from an article in ACM magazine from 1968
[16:21] in ACM magazine from 1968 where they tested a group of programmers
[16:24] where they tested a group of programmers on a variety of different tasks and they
[16:27] on a variety of different tasks and they came up with
[16:29] came up with a table that showed that the worst
[16:32] a table that showed that the worst programmer and the best programmer had a
[16:34] programmer and the best programmer had a variance ranging from 5x to 30x an
[16:38] variance ranging from 5x to 30x an average of 10x over that period.
[16:42] average of 10x over that period. We then spent literally the next 45
[16:46] We then spent literally the next 45 years arguing whether this was actually
[16:48] years arguing whether this was actually real or not.
[16:55] Is there anyone still arguing that? I I don't think so. Like that debate has
[16:58] don't think so. Like that debate has been settled now. But the interesting
[17:00] been settled now. But the interesting thing is we sort of leaped over a shared
[17:03] thing is we sort of leaped over a shared conclusion around the 10x programmer and
[17:06] conclusion around the 10x programmer and started thinking like well if that was
[17:09] started thinking like well if that was 10x with just a human capacity what must
[17:12] 10x with just a human capacity what must it look like now
[17:14] it look like now and it's clear we don't know exactly we
[17:16] and it's clear we don't know exactly we don't know exactly what the kind of
[17:18] don't know exactly what the kind of acceleration with these tools is
[17:21] acceleration with these tools is possible but I'd actually argue that it
[17:23] possible but I'd actually argue that it is less controversial today to claim
[17:26] is less controversial today to claim that there's a 100x difference between
[17:28] that there's a 100x difference between the worst programmer working without
[17:30] the worst programmer working without these tools and the best programmer
[17:32] these tools and the best programmer working with these tools. That's not a
[17:34] working with these tools. That's not a very controversial statement, but it is
[17:36] very controversial statement, but it is absolutely revolutionary to the
[17:39] absolutely revolutionary to the understanding of where we are right now
[17:41] understanding of where we are right now as a stage of technology. And I'd
[17:43] as a stage of technology. And I'd actually go a step further and maybe
[17:45] actually go a step further and maybe this is slightly more controversial. I
[17:48] this is slightly more controversial. I don't think so. The worst programmer
[17:50] don't think so. The worst programmer without these tools versus the best
[17:53] without these tools versus the best programmer with these tools. That sounds
[17:55] programmer with these tools. That sounds about right. A thousand times. Yeah.
[17:58] about right. A thousand times. Yeah. Okay. Well, what does that mean? What
[18:01] Okay. Well, what does that mean? What does that mean for the competition of
[18:03] does that mean for the competition of companies for what we need to get
[18:06] companies for what we need to get started? Uh, it ball a little fuzzy
[18:10] started? Uh, it ball a little fuzzy shake again.
[18:13] shake again. What I know to be true is that in the
[18:17] What I know to be true is that in the past 20 months, I have written half as
[18:20] past 20 months, I have written half as much code as I did in the previous 21
[18:24] much code as I did in the previous 21 years.
[18:27] years. Now, lines of code is a weird fuzzy
[18:31] Now, lines of code is a weird fuzzy malible size. And one line of Ruby is
[18:35] malible size. And one line of Ruby is obviously worth vastly more than one
[18:39] obviously worth vastly more than one line of any other language, but
[18:42] line of any other language, but particularly
[18:43] particularly Rust or C++ or any of the lower level
[18:46] Rust or C++ or any of the lower level languages that do not have the same
[18:48] languages that do not have the same abstractions and amenities that we enjoy
[18:50] abstractions and amenities that we enjoy in Ruby. But it is still absolutely
[18:53] in Ruby. But it is still absolutely undeniable
[18:54] undeniable that there is a revolution taking place
[18:59] that there is a revolution taking place and anyone who's gone through that and
[19:01] and anyone who's gone through that and seen their own productivity be
[19:03] seen their own productivity be accelerated
[19:05] accelerated um will be a little dizzy. We create a
[19:08] um will be a little dizzy. We create a template. Look at all the things I'm not
[19:11] template. Look at all the things I'm not doing. Look at all the configuration I'm
[19:13] doing. Look at all the configuration I'm not writing. All these things are mapped
[19:15] not writing. All these things are mapped together just automatically just by
[19:17] together just automatically just by saying blog up here maps directly to the
[19:20] saying blog up here maps directly to the blogging controller and just by having
[19:22] blogging controller and just by having index maps directly to the index
[19:24] index maps directly to the index template.
[19:35] Is there a better encapsulation of this moment than all the things we are no
[19:38] moment than all the things we are no longer doing? That is the source of my
[19:42] longer doing? That is the source of my exuberance for this moment. This is the
[19:47] exuberance for this moment. This is the Rails moment.
[19:49] Rails moment. That clip I just played is 21 years old.
[19:52] That clip I just played is 21 years old. I gave a presentation in Brazil in 2005
[19:56] I gave a presentation in Brazil in 2005 and I was so excited about all the code
[19:59] and I was so excited about all the code I wasn't writing.
[20:02] I wasn't writing. Can you see why I might be a little more
[20:04] Can you see why I might be a little more excited now even? Do you know how much
[20:07] excited now even? Do you know how much code I have not been writing for the
[20:10] code I have not been writing for the last several months? A lot.
[20:14] last several months? A lot. And yet,
[20:16] And yet, despite writing no code for probably
[20:21] despite writing no code for probably five months at this point, been able to
[20:24] five months at this point, been able to fix everything.
[20:26] fix everything. Every dream, every annoyance, every
[20:30] Every dream, every annoyance, every paper clip, every frivolous feature
[20:35] paper clip, every frivolous feature suddenly within reach, suddenly
[20:37] suddenly within reach, suddenly possible. This is the magic of the
[20:40] possible. This is the magic of the moment.
[20:47] But what does that mean? Well, at 37 Signals a couple of weeks ago, we made
[20:51] Signals a couple of weeks ago, we made the decision that
[20:54] the decision that it clearly means we're done
[20:58] it clearly means we're done writing code by hand.
[21:02] writing code by hand. We are going and have gone pencils down
[21:06] We are going and have gone pencils down on the idea that we were going to write
[21:09] on the idea that we were going to write code by hand as a normal course of
[21:12] code by hand as a normal course of business creating things. Writing code
[21:15] business creating things. Writing code by hand at 37 signals is now an
[21:18] by hand at 37 signals is now an exceptional state.
[21:21] exceptional state. It is like seeing a bug in sentry.
[21:23] It is like seeing a bug in sentry. Something here went wrong. Why was the
[21:26] Something here went wrong. Why was the agents not able to produce what we
[21:28] agents not able to produce what we wanted? Okay, maybe for a little while
[21:31] wanted? Okay, maybe for a little while we'll still get the old pencil out and
[21:33] we'll still get the old pencil out and dot it down for them. But then we fix
[21:36] dot it down for them. But then we fix the machine. We fix the factory. We get
[21:39] the machine. We fix the factory. We get things going again.
[21:42] things going again. This is a recognition of what's already
[21:45] This is a recognition of what's already happening.
[21:46] happening. If we were to pull this room, I'd
[21:49] If we were to pull this room, I'd probably actually let's pull this room.
[21:51] probably actually let's pull this room. How many people here are still writing
[21:55] How many people here are still writing material amounts of code by hand on a
[21:59] material amounts of code by hand on a weekly basis? Show our hands.
[22:16] If id put this slide up two months ago, three months ago, and made the same
[22:18] three months ago, and made the same proclamation,
[22:20] proclamation, a fair number of people would have gone,
[22:28] that dude's got a screw loose. And now already,
[22:30] And now already, this is just a recognition of what's
[22:32] this is just a recognition of what's already there.
[22:35] already there. What's so fascinating about this is we
[22:37] What's so fascinating about this is we tried to do this in the spring at 37
[22:39] tried to do this in the spring at 37 signals when we were putting the
[22:40] signals when we were putting the finishing touches on base camp 5. We had
[22:43] finishing touches on base camp 5. We had a bunch of designers vibe code the final
[22:47] a bunch of designers vibe code the final features that they wanted into this
[22:49] features that they wanted into this release and
[22:52] release and the results were mixed. Individually the
[22:55] the results were mixed. Individually the designers were able to create PRs that
[22:57] designers were able to create PRs that seemed reasonable. taken together 20 or
[23:00] seemed reasonable. taken together 20 or 30 of them ah it left the architecture
[23:03] 30 of them ah it left the architecture looking a little like a Swiss cheese
[23:05] looking a little like a Swiss cheese kind of punctured so we went okay I
[23:09] kind of punctured so we went okay I guess the techn is not ready yet let's
[23:11] guess the techn is not ready yet let's go back to manually reviewing everything
[23:13] go back to manually reviewing everything and just have programmers working with
[23:14] and just have programmers working with it that was the wrong conclusion clearly
[23:18] it that was the wrong conclusion clearly not only because we could just have
[23:20] not only because we could just have given it freaking five minutes and we
[23:22] given it freaking five minutes and we would have gotten fable and the whole
[23:24] would have gotten fable and the whole thing would probably have worked as
[23:26] thing would probably have worked as originally intended but also Because
[23:28] originally intended but also Because what's clear now is that there is only
[23:31] what's clear now is that there is only one serious question in this moment of
[23:35] one serious question in this moment of software development and that is how do
[23:37] software development and that is how do you get the most out of this
[23:39] you get the most out of this intelligence explosion. Every other
[23:41] intelligence explosion. Every other questions is
[23:43] questions is below that in the stack of values.
[23:47] below that in the stack of values. So we've shipped Basecam 5. It's a great
[23:50] So we've shipped Basecam 5. It's a great upgrade. It was agent accelerated but
[23:53] upgrade. It was agent accelerated but still paired with a
[23:55] still paired with a great amount of manually written,
[23:58] great amount of manually written, handwritten, chiseled. What What are we
[24:01] handwritten, chiseled. What What are we going to call this old way of working
[24:03] going to call this old way of working that was just retired 5 minutes ago? I
[24:05] that was just retired 5 minutes ago? I don't know. But now
[24:08] don't know. But now working on a new project.
[24:11] working on a new project. Hey next, hey new, hey there. I don't
[24:15] Hey next, hey new, hey there. I don't know what we're going to call it, but it
[24:17] know what we're going to call it, but it is a new version of Hey, our email app
[24:22] is a new version of Hey, our email app service. And the first thing we're going
[24:25] service. And the first thing we're going to do
[24:28] to do is
[24:30] is stop making it a web app.
[24:33] stop making it a web app. Hey is no longer going to be a web app
[24:37] Hey is no longer going to be a web app because Hey never really wanted to be a
[24:39] because Hey never really wanted to be a web app. Hey, was and is a web app
[24:43] web app. Hey, was and is a web app because making web apps for small teams
[24:46] because making web apps for small teams was how you could be productive.
[24:49] was how you could be productive. In
[24:51] In the old times, that is 5 minutes ago,
[24:55] the old times, that is 5 minutes ago, the idea that a small team could
[24:58] the idea that a small team could maintain six native applications written
[25:02] maintain six native applications written in the native frameworks was
[25:03] in the native frameworks was preposterous. No one was doing that.
[25:06] preposterous. No one was doing that. That's not only why we had people doing
[25:09] That's not only why we had people doing web apps. It's why we had React Native.
[25:11] web apps. It's why we had React Native. It was why we had Hot Wire Native. It
[25:13] It was why we had Hot Wire Native. It was why we had all of this tooling to
[25:15] was why we had all of this tooling to make us more productive while accepting
[25:19] make us more productive while accepting that the fidelity was going to take a
[25:21] that the fidelity was going to take a slight hit. We make great web apps. Hey,
[25:25] slight hit. We make great web apps. Hey, is a wonderful web app, but it's not as
[25:28] is a wonderful web app, but it's not as good as a native application. Of course,
[25:30] good as a native application. Of course, it's not as good as a native
[25:31] it's not as good as a native application. There's different latencies
[25:34] application. There's different latencies and so forth.
[25:35] and so forth. Well, what's playing behind me now is a
[25:39] Well, what's playing behind me now is a demonstration of the six native
[25:42] demonstration of the six native applications that we kicked off about a
[25:44] applications that we kicked off about a week ago. This is already where we were
[25:47] week ago. This is already where we were at.
[25:49] at. That's insane.
[25:52] That's insane. In the old time, if you wanted to
[25:54] In the old time, if you wanted to maintain six native applications at very
[25:58] maintain six native applications at very high fidelity for a major service,
[26:01] high fidelity for a major service, it was going to take a long time. It was
[26:04] it was going to take a long time. It was requiring a huge team. Now suddenly
[26:08] requiring a huge team. Now suddenly we're able to make very high fidelity
[26:11] we're able to make very high fidelity native applications happen because we're
[26:13] native applications happen because we're not writing a goddamn line of code. Look
[26:16] not writing a goddamn line of code. Look at all the things we're not doing.
[26:20] at all the things we're not doing. But look at all the prompts we're
[26:22] But look at all the prompts we're giving. We're giving lots of prompts and
[26:25] giving. We're giving lots of prompts and the results are absolutely electrifying.
[26:28] the results are absolutely electrifying. This is an effort we have barely just
[26:30] This is an effort we have barely just kicked off and we're already at a state
[26:33] kicked off and we're already at a state where it is so obvious to me that this
[26:36] where it is so obvious to me that this is the future for that class of
[26:39] is the future for that class of applications that there is a lot of web
[26:42] applications that there is a lot of web applications that are web applications
[26:44] applications that are web applications of uh necessity of convenience of
[26:49] of uh necessity of convenience of programmer preference of team size of
[26:52] programmer preference of team size of resources available. You know what?
[26:55] resources available. You know what? They're not going to be web apps much
[26:56] They're not going to be web apps much longer. They're going to be native
[26:57] longer. They're going to be native applications because the price of
[26:59] applications because the price of developing those things has gone to damn
[27:01] developing those things has gone to damn near zero.
[27:03] near zero. Now,
[27:08] here's an example of what the first prompt spit back out when we asked for a
[27:11] prompt spit back out when we asked for a Windows application.
[27:23] Here's the uh redirected version that landed 20 minutes later.
[27:32] Are you getting it? This is nuts. How could you not require
[27:36] This is nuts. How could you not require a diagnosis after seeing this in front
[27:39] a diagnosis after seeing this in front of your own eyes?
[27:48] Now, we're by no means unique in this realization. We're by no means the first
[27:50] realization. We're by no means the first in this realizations. Shopify just
[27:53] in this realizations. Shopify just recently launched a newly rewritten
[27:56] recently launched a newly rewritten native application for the shop app,
[27:59] native application for the shop app, replacing a React Native application
[28:01] replacing a React Native application done by a tiny team when you consider
[28:04] done by a tiny team when you consider the criticality of about six people
[28:07] the criticality of about six people working for not very long at all. This
[28:09] working for not very long at all. This is coming. Get ready.
[28:15] is coming. Get ready. Now,
[28:17] Now, that was the front end. And I think for
[28:21] that was the front end. And I think for these classes of applications like hey
[28:25] these classes of applications like hey like shop app that really want to be
[28:28] like shop app that really want to be native applications that's what's going
[28:30] native applications that's what's going to happen there. We're going to commit
[28:31] to happen there. We're going to commit to these native toolings and we're going
[28:34] to these native toolings and we're going to realize that the cost associated with
[28:36] to realize that the cost associated with creating these things just no longer
[28:38] creating these things just no longer exists in the same way. But what about
[28:41] exists in the same way. But what about the back end?
[28:44] the back end? Um
[28:49] this is a little difficult for me. I will admit and and and let me tell you
[28:52] I will admit and and and let me tell you why. Rust.
[28:54] why. Rust. >> Mhm.
[28:55] >> Mhm. >> Rust. I hate rust with a passion. Rust
[29:00] >> Rust. I hate rust with a passion. Rust to me is like pouring acid in my eyes
[29:02] to me is like pouring acid in my eyes when I have to look at the code.
[29:03] when I have to look at the code. >> Why? Why? Why do you hate Rust?
[29:05] >> Why? Why? Why do you hate Rust? >> It is in my opinion the ugliest
[29:07] >> It is in my opinion the ugliest programming language that has been
[29:08] programming language that has been invented in probably the last 40 years.
[29:22] This is an awful, awful, awful programming language when you
[29:25] awful programming language when you subject humans to write it. Absolutely
[29:29] subject humans to write it. Absolutely inhumane
[29:31] inhumane to ask people of flesh and blood to
[29:35] to ask people of flesh and blood to subject their eyeballs to this.
[29:40] subject their eyeballs to this. But do you know what? If I never have to
[29:43] But do you know what? If I never have to look at this, if all I have to do is
[29:47] look at this, if all I have to do is revel in applications being 30 or 100
[29:51] revel in applications being 30 or 100 times faster, compiling down to
[29:54] times faster, compiling down to minuscule executables that start up in
[29:56] minuscule executables that start up in sub milliseconds, I love Rust.
[30:01] sub milliseconds, I love Rust. Rust is amazing
[30:04] Rust is amazing if you never ever ever
[30:08] if you never ever ever have to look at it yourself.
[30:24] Agents like Rust. Great. WHAT A DIVISION OF LABOR. I'LL TELL YOU WHAT TO DO.
[30:27] OF LABOR. I'LL TELL YOU WHAT TO DO. You'll write it in Rust. I never have to
[30:29] You'll write it in Rust. I never have to look at it. I love this.
[30:33] look at it. I love this. And I also love the outcomes
[30:36] And I also love the outcomes in this setup where we're rewriting the
[30:38] in this setup where we're rewriting the front end of Hey in all native
[30:40] front end of Hey in all native applications and therefore no longer
[30:42] applications and therefore no longer need a web application that is rendering
[30:44] need a web application that is rendering HTML and whatever. And then we take that
[30:48] HTML and whatever. And then we take that code that's running the no longer web
[30:50] code that's running the no longer web application and turn it into the mail
[30:53] application and turn it into the mail server that it really is at its core in
[30:56] server that it really is at its core in Rust. We end up with a backend that
[30:59] Rust. We end up with a backend that requires 99% less CPU. 95% less memory
[31:05] requires 99% less CPU. 95% less memory and the only reason it needs 10 hosts is
[31:07] and the only reason it needs 10 hosts is for redundancy.
[31:10] for redundancy. In fact, our back of the envelope
[31:12] In fact, our back of the envelope calculation has led us to believe that
[31:15] calculation has led us to believe that haste peak traffic could probably be
[31:17] haste peak traffic could probably be served on a single Raspberry Pi.
[31:22] served on a single Raspberry Pi. That is the efficiency of riding as damn
[31:26] That is the efficiency of riding as damn near straight to the metal as you can
[31:28] near straight to the metal as you can get while still being portable, which is
[31:30] get while still being portable, which is Rust. And the benefit of having
[31:35] Rust. And the benefit of having something else do that for you, some
[31:37] something else do that for you, some other intelligence that you pay per
[31:40] other intelligence that you pay per token to do it.
[31:49] What does this mean in terms of how we're working with this intelligence?
[31:50] we're working with this intelligence? Also not clear. We're trying a bunch of
[31:53] Also not clear. We're trying a bunch of things. One of the things we're trying
[31:55] things. One of the things we're trying to do is direct these agent, our chef
[31:59] to do is direct these agent, our chef Marie inside of Base Camp to do it. It's
[32:03] Marie inside of Base Camp to do it. It's clear that when you work with agents,
[32:05] clear that when you work with agents, the best way to work with them is
[32:06] the best way to work with them is actually asynchronously, not in a chat
[32:09] actually asynchronously, not in a chat interface, not sitting and waiting for
[32:11] interface, not sitting and waiting for the tokens to output, but to give a task
[32:14] the tokens to output, but to give a task to an agent like you would a co-orker,
[32:17] to an agent like you would a co-orker, send them off, and then go back and
[32:20] send them off, and then go back and review when there's something ready. So,
[32:23] review when there's something ready. So, we're trying to do that as well. A lot
[32:24] we're trying to do that as well. A lot of other people are trying to figure
[32:25] of other people are trying to figure this out. And this is part of the magic,
[32:28] this out. And this is part of the magic, the electricity of this moment. We don't
[32:31] the electricity of this moment. We don't know how it's all supposed to be. First,
[32:34] know how it's all supposed to be. First, because it's changing every 5 minutes.
[32:37] because it's changing every 5 minutes. Second, because we have not worked with
[32:39] Second, because we have not worked with this kind of intelligence at any measure
[32:40] this kind of intelligence at any measure of time. This entire thing got kicked
[32:43] of time. This entire thing got kicked off November 24 last year. It hasn't
[32:47] off November 24 last year. It hasn't even been a damn year. And the kind of
[32:50] even been a damn year. And the kind of intelligence that allows us to assign
[32:54] intelligence that allows us to assign outcomes, problems rather than tasks, is
[32:57] outcomes, problems rather than tasks, is only a couple of months old. So, of
[33:00] only a couple of months old. So, of course, we don't know exactly what it's
[33:03] course, we don't know exactly what it's going to be like, but it's still fair to
[33:07] going to be like, but it's still fair to then ask the question, where does that
[33:09] then ask the question, where does that leave Ruby? Where does it leave Rails?
[33:12] leave Ruby? Where does it leave Rails? Where does it leave any of these tools
[33:14] Where does it leave any of these tools that we use? What is the future going to
[33:17] that we use? What is the future going to look like? Well, for hey, we have our
[33:20] look like? Well, for hey, we have our answer. It looks like native
[33:22] answer. It looks like native applications on the front end and Rust
[33:24] applications on the front end and Rust on the back end. But there's plenty of
[33:27] on the back end. But there's plenty of other applications that don't fit that
[33:29] other applications that don't fit that shape. The web is an enormously
[33:32] shape. The web is an enormously wonderful platform
[33:34] wonderful platform partly because it never asks anyone to
[33:37] partly because it never asks anyone to install anything and a million
[33:41] install anything and a million businesses are built on that premise.
[33:44] businesses are built on that premise. More ephemeral customers who are not
[33:46] More ephemeral customers who are not going to indulge an installation on
[33:50] going to indulge an installation on their device to use a service. The web
[33:52] their device to use a service. The web is wonderful for those things and Rails
[33:54] is wonderful for those things and Rails is particularly well positioned to still
[33:57] is particularly well positioned to still be in play there. Everything that we've
[33:59] be in play there. Everything that we've worked on for the past 25 years,
[34:02] worked on for the past 25 years, convention over configuration leads
[34:05] convention over configuration leads directly to things like token
[34:07] directly to things like token efficiency. Our focus on the one
[34:10] efficiency. Our focus on the one developer framework squares perfectly
[34:14] developer framework squares perfectly with what the age of agents is demanding
[34:17] with what the age of agents is demanding that single developers can go much
[34:19] that single developers can go much further than they were able to do
[34:20] further than they were able to do before.
[34:27] We've started doing these agent evals or evil martians have started doing it on
[34:29] evil martians have started doing it on behalf of the Rails Foundation and a
[34:32] behalf of the Rails Foundation and a finding that we quickly had to update
[34:35] finding that we quickly had to update our evals because the agents were
[34:37] our evals because the agents were saturating the first version of it and
[34:39] saturating the first version of it and reaching 95% completion rates quite
[34:42] reaching 95% completion rates quite quickly. Now we've instituted a harder
[34:45] quickly. Now we've instituted a harder measure for it. But amazing how quickly
[34:47] measure for it. But amazing how quickly these agents are moving forward and up
[34:49] these agents are moving forward and up the stack and up the ranks. This is an
[34:52] the stack and up the ranks. This is an agent eval looking at actual
[34:54] agent eval looking at actual implementation of feature cards against
[34:56] implementation of feature cards against some of these reference applications
[34:58] some of these reference applications that we have in the wild. Wonderful.
[35:00] that we have in the wild. Wonderful. We're leaning in towards that. That was
[35:03] We're leaning in towards that. That was the old benchmark, the old reference. As
[35:05] the old benchmark, the old reference. As you can see, it was getting saturated
[35:07] you can see, it was getting saturated already. So, we made it harder. There's
[35:09] already. So, we made it harder. There's going to be a lot of that, a lot of
[35:11] going to be a lot of that, a lot of elevation of the things we ask the
[35:14] elevation of the things we ask the agents to do because they continuously
[35:16] agents to do because they continuously get more capable. And in fact, it's one
[35:18] get more capable. And in fact, it's one of the pitfalls I would warn anyone who
[35:20] of the pitfalls I would warn anyone who knows too much about how computers work
[35:23] knows too much about how computers work is to not be overly prescriptive in what
[35:26] is to not be overly prescriptive in what you're trying to get out of these
[35:28] you're trying to get out of these systems. In fact, having a bit of a
[35:29] systems. In fact, having a bit of a beginner's mindset and a bit of a dummy
[35:32] beginner's mindset and a bit of a dummy approach to this works even better
[35:34] approach to this works even better because you ask questions and you post
[35:36] because you ask questions and you post prompts at a higher level. is one of the
[35:38] prompts at a higher level. is one of the reasons I love working in Rust. I don't
[35:41] reasons I love working in Rust. I don't know any Rust at all. I consider that a
[35:44] know any Rust at all. I consider that a feature
[35:45] feature and a privilege to have no clue
[35:49] and a privilege to have no clue what is being outputed by these agents
[35:52] what is being outputed by these agents into the Rust box. I evaluate the Rust
[35:55] into the Rust box. I evaluate the Rust box as a blackbox on the outside as any
[35:59] box as a blackbox on the outside as any business owner in history who's ever
[36:01] business owner in history who's ever commissioned a group of programmers to
[36:03] commissioned a group of programmers to do anything for them. Um, this is not a
[36:06] do anything for them. Um, this is not a new phenomenon. who now holds that
[36:08] new phenomenon. who now holds that responsibility has changed but not the
[36:11] responsibility has changed but not the phenomenon.
[36:12] phenomenon. But applications like base camp where we
[36:15] But applications like base camp where we bring in strangers who just need to get
[36:20] bring in strangers who just need to get a quick file or need to collaborate for
[36:22] a quick file or need to collaborate for a short period of time. Great web
[36:24] a short period of time. Great web applications. Lots of you surely work on
[36:27] applications. Lots of you surely work on those kinds of applications. Now
[36:29] those kinds of applications. Now figuring out exactly where we're going
[36:30] figuring out exactly where we're going to cut that line. What should be native?
[36:33] to cut that line. What should be native? What should stay web? We're gonna have
[36:36] What should stay web? We're gonna have to figure that out. I don't have all the
[36:38] to figure that out. I don't have all the answers for that. I do know that when I
[36:42] answers for that. I do know that when I look at my work over the past year, it
[36:46] look at my work over the past year, it does look very different.
[36:48] does look very different. If I look at the past 21 years, over
[36:52] If I look at the past 21 years, over half of my work was Ruby code. This
[36:54] half of my work was Ruby code. This year, about 3%.
[36:57] year, about 3%. Now, part of that is that these
[37:00] Now, part of that is that these programming languages like Rust are
[37:03] programming languages like Rust are tremendously verbose.
[37:05] tremendously verbose. and unappealing for humans to look at.
[37:08] and unappealing for humans to look at. So I don't and I allow the agent to just
[37:10] So I don't and I allow the agent to just spit out more than was necessary in a
[37:12] spit out more than was necessary in a way I would never tolerate for my Ruby
[37:14] way I would never tolerate for my Ruby code. So that's part of it, but still
[37:17] code. So that's part of it, but still undeniable that there's a huge change
[37:19] undeniable that there's a huge change here. In those 21 years of prior working
[37:24] here. In those 21 years of prior working with Ruby, I would write about 30,000
[37:27] with Ruby, I would write about 30,000 lines of production Ruby code per year.
[37:31] lines of production Ruby code per year. that was enough to build businesses and
[37:33] that was enough to build businesses and frameworks and everything else that I've
[37:34] frameworks and everything else that I've done. Well, in uh August last month, I
[37:40] done. Well, in uh August last month, I wrote 150,000 lines of code in one
[37:43] wrote 150,000 lines of code in one month.
[37:45] month. That's about 60 times more code than my
[37:49] That's about 60 times more code than my long-term running average. Again, a lot
[37:52] long-term running average. Again, a lot of it is that awful Rust code I don't
[37:54] of it is that awful Rust code I don't want to look at, and it is more verbose,
[37:57] want to look at, and it is more verbose, but still the orders of magnitude here.
[38:00] but still the orders of magnitude here. That's what we need to pay attention to
[38:02] That's what we need to pay attention to and at least think
[38:05] and at least think what does that mean? Well, one of the
[38:08] what does that mean? Well, one of the things that has surprised me and really
[38:10] things that has surprised me and really it shouldn't
[38:12] it shouldn't has been the fact that um there is
[38:16] has been the fact that um there is actually a programming language I like
[38:18] actually a programming language I like better than Ruby. I did not think this
[38:20] better than Ruby. I did not think this was true, but it is.
[38:23] was true, but it is. It's called English.
[38:26] It's called English. English is a better programming language
[38:28] English is a better programming language than Ruby. And I love Ruby more than any
[38:31] than Ruby. And I love Ruby more than any other traditional programming language
[38:32] other traditional programming language in the world. But writing programs in
[38:35] in the world. But writing programs in English is a tremendously satisfying
[38:39] English is a tremendously satisfying experience. It is an even more
[38:40] experience. It is an even more expressive language than Ruby. It's a
[38:43] expressive language than Ruby. It's a little more vague. It's a little more or
[38:46] little more vague. It's a little more or less deterministic,
[38:48] less deterministic, but nonetheless, it is an absolute joy.
[38:51] but nonetheless, it is an absolute joy. And I did not fully appreciate that.
[38:54] And I did not fully appreciate that. That was where we were going. as late as
[38:56] That was where we were going. as late as last year. I could have become a project
[38:59] last year. I could have become a project manager 20 years ago if I didn't care to
[39:01] manager 20 years ago if I didn't care to write code myself and I just wanted
[39:02] write code myself and I just wanted outcomes. That's how I got started in
[39:04] outcomes. That's how I got started in programming. I just wanted outcomes.
[39:06] programming. I just wanted outcomes. Then I fell in love with programming.
[39:09] Then I fell in love with programming. And now I'd rather retire than giving it
[39:11] And now I'd rather retire than giving it up.
[39:13] up. Okay.
[39:26] I have retired from being a professional programmer. I haven't pinned down the
[39:29] programmer. I haven't pinned down the exact date. I think it was somewhere
[39:31] exact date. I think it was somewhere around four to five months ago, maybe
[39:34] around four to five months ago, maybe March.
[39:36] March. I should find out exactly when it was
[39:38] I should find out exactly when it was because you know what that little clip
[39:42] because you know what that little clip totally true.
[39:44] totally true. I spent a quarter of a damn century
[39:48] I spent a quarter of a damn century chiseling code by hand and loving every
[39:52] chiseling code by hand and loving every moment of it. What a wonderful
[39:56] moment of it. What a wonderful experience
[39:57] experience and
[39:59] and productive time in that era. And that's
[40:03] productive time in that era. And that's how I believe we should all look at it.
[40:05] how I believe we should all look at it. Not with regret but with joy of what was
[40:11] Not with regret but with joy of what was in joy that we were there when we still
[40:14] in joy that we were there when we still had to do such things because they were
[40:17] had to do such things because they were filled with excitement and learning and
[40:21] filled with excitement and learning and satisfaction and flow states.
[40:26] satisfaction and flow states. This is not something to
[40:30] This is not something to look back upon with regret. This is
[40:32] look back upon with regret. This is something to look back upon with joy.
[40:35] something to look back upon with joy. and accept
[40:38] and accept that it is over.
[40:41] that it is over. Writing code by hand
[40:43] Writing code by hand is no longer an economically
[40:48] is no longer an economically productive enterprise for the vast
[40:50] productive enterprise for the vast majority of programmers working at the
[40:53] majority of programmers working at the vast majority of companies.
[40:56] vast majority of companies. That's today.
[40:58] That's today. By the end of the year, it will be
[41:00] By the end of the year, it will be virtually all domains, virtually all
[41:02] virtually all domains, virtually all programmers, virtually all companies.
[41:06] programmers, virtually all companies. So, we best get used to it.
[41:09] So, we best get used to it. We best embrace that
[41:12] We best embrace that we had a wonderful run chiseling that
[41:16] we had a wonderful run chiseling that code by hand and that it's over.
[41:21] code by hand and that it's over. And
[41:23] And on the other side of that is a new
[41:26] on the other side of that is a new career, an exciting career, an energized
[41:31] career, an exciting career, an energized career as a professional maker of
[41:33] career as a professional maker of things.
[41:35] things. Yes, you will no longer be chiseling
[41:37] Yes, you will no longer be chiseling that code by hand, but you will be
[41:39] that code by hand, but you will be making amazing things. You will be
[41:42] making amazing things. You will be steering intelligence
[41:45] steering intelligence that was only available in science
[41:46] that was only available in science fiction up until a few moments ago.
[41:50] fiction up until a few moments ago. What a privilege
[41:53] What a privilege on both sides of that chasm
[41:56] on both sides of that chasm to have been there when we did it all by
[41:59] to have been there when we did it all by hand. To be there at the exact moment
[42:03] hand. To be there at the exact moment where we switch over.
[42:06] where we switch over. This is the biggest thing that has
[42:08] This is the biggest thing that has happened in the history of computing. I
[42:11] happened in the history of computing. I sometimes think, man, I kind of wish I
[42:13] sometimes think, man, I kind of wish I was there for the punch cards. That
[42:15] was there for the punch cards. That sounded pretty cool. Like my
[42:18] sounded pretty cool. Like my programs literally had holes in it
[42:22] programs literally had holes in it and I would I would line up and feed it
[42:24] and I would I would line up and feed it to a machine and like go, I wonder if it
[42:28] to a machine and like go, I wonder if it compiles.
[42:34] Man, I would have loved to experience that. What a moment.
[42:37] that. What a moment. What a moment. I didn't get to
[42:39] What a moment. I didn't get to experience that, but I did get to
[42:40] experience that, but I did get to experience the internet.
[42:43] experience the internet. That smells and feels a little like this
[42:45] That smells and feels a little like this moment that we're in. But this is much
[42:48] moment that we're in. But this is much much bigger. Okay. Well,
[42:54] much bigger. Okay. Well, There's a lot of things we got to
[42:55] There's a lot of things we got to rethink. We got to rework.
[42:59] rethink. We got to rework. Where are we going to start here?
[43:02] Where are we going to start here? Um,
[43:04] Um, one of the things we're going to have to
[43:05] one of the things we're going to have to revisit is everything we think we know
[43:08] revisit is everything we think we know about software architecture. everything
[43:10] about software architecture. everything we think and know about how to structure
[43:13] we think and know about how to structure code bases in a way that we can mutate
[43:16] code bases in a way that we can mutate them easily and move forward. The main
[43:19] them easily and move forward. The main tool that we've used for a very long
[43:21] tool that we've used for a very long time is abstractions.
[43:23] time is abstractions. I love abstractions. Abstractions
[43:26] I love abstractions. Abstractions include naming things. That's one of my
[43:28] include naming things. That's one of my favorite things is to name things.
[43:31] favorite things is to name things. Um, abstractions don't make quite the
[43:34] Um, abstractions don't make quite the same sense in the age of agents. If you
[43:37] same sense in the age of agents. If you suddenly have hundreds or thousands or
[43:40] suddenly have hundreds or thousands or tens of thousands of conscious processes
[43:44] tens of thousands of conscious processes trying to mutate an application, you
[43:47] trying to mutate an application, you kind of don't want these choke points
[43:49] kind of don't want these choke points that abstractions represent because the
[43:51] that abstractions represent because the trade-offs are very different. The
[43:53] trade-offs are very different. The reason we did abstractions was in part
[43:54] reason we did abstractions was in part not to repeat ourselves. Well, now the
[43:57] not to repeat ourselves. Well, now the price of repetition has gone to near
[43:59] price of repetition has gone to near zero. The price of keeping things in
[44:02] zero. The price of keeping things in sync has dropped just the same. These
[44:06] sync has dropped just the same. These are some of the fundamental
[44:08] are some of the fundamental re-evaluations
[44:10] re-evaluations of
[44:11] of computer science really that we have to
[44:14] computer science really that we have to make and no one yet has the blueprint.
[44:17] make and no one yet has the blueprint. We have pointers to things that aren't
[44:21] We have pointers to things that aren't working quite as well as they used to
[44:22] working quite as well as they used to and need to change.
[44:25] and need to change. You get to be there right now as we're
[44:28] You get to be there right now as we're defining these things. Again, imagine
[44:30] defining these things. Again, imagine you were there when object orientation
[44:33] you were there when object orientation first entered the consciousness of
[44:36] first entered the consciousness of computer programmers. Holy That
[44:39] computer programmers. Holy That would have been amazing, wouldn't it?
[44:41] would have been amazing, wouldn't it? Now you're here.
[44:44] Now you're here. How we work, what is a software
[44:47] How we work, what is a software methodology look like, how long should
[44:50] methodology look like, how long should our cycles be, who should be specifying
[44:53] our cycles be, who should be specifying what?
[44:55] what? All of this is changing and none of us
[44:57] All of this is changing and none of us have the answers yet. and you're invited
[45:00] have the answers yet. and you're invited to come help figure it out. It's a new
[45:03] to come help figure it out. It's a new birth for a new industry and you're at
[45:05] birth for a new industry and you're at the ground floor. Holy you are so
[45:08] the ground floor. Holy you are so damn lucky.
[45:10] damn lucky. Another thing, for example, is more
[45:14] Another thing, for example, is more tangible.
[45:15] tangible. The first rush when AI and chat bots
[45:20] The first rush when AI and chat bots came to be was, can we just shove it
[45:22] came to be was, can we just shove it into our application? Can we shove a
[45:24] into our application? Can we shove a chatbot in over here and shove another
[45:26] chatbot in over here and shove another one in over there? Yeah. I mean, you
[45:28] one in over there? Yeah. I mean, you could. People did.
[45:32] could. People did. No, thank you. I I I I don't want to use
[45:35] No, thank you. I I I I don't want to use your concier.
[45:37] your concier. I have my own personal butler
[45:40] I have my own personal butler who's able to use CLIs to connect base
[45:45] who's able to use CLIs to connect base camp to Hey, across a million other
[45:48] camp to Hey, across a million other apps. I don't I don't need your
[45:49] apps. I don't I don't need your concier. Thank you. Save your tokens,
[45:52] concier. Thank you. Save your tokens, bro.
[45:54] bro. Let me bring my own butler to the party.
[46:00] Let me bring my own butler to the party. Let me interact with your applications
[46:02] Let me interact with your applications through a CLI.
[46:05] through a CLI. That's probably about practical and as
[46:07] That's probably about practical and as prescriptive as this talk is going to
[46:09] prescriptive as this talk is going to be. Hey, if your app doesn't have a CLI,
[46:12] be. Hey, if your app doesn't have a CLI, I want to see it by next Friday.
[46:16] I want to see it by next Friday. No excuses.
[46:19] No excuses. You have the tokens. I've told you it's
[46:22] You have the tokens. I've told you it's possible.
[46:23] possible. It is your obligation
[46:26] It is your obligation to deliver those CLIs by next
[46:29] to deliver those CLIs by next Friday so I can uh use your application
[46:33] Friday so I can uh use your application without actually ever having to touch
[46:35] without actually ever having to touch it.
[46:37] it. Wonderful.
[46:39] Wonderful. The hey CLI
[46:41] The hey CLI for example has given me this weird
[46:46] for example has given me this weird bizarro world experience. Hey used uses
[46:50] bizarro world experience. Hey used uses elastic search for search. I'm sure many
[46:52] elastic search for search. I'm sure many of you use elastic search too. Elastic
[46:54] of you use elastic search too. Elastic search is um
[46:58] search is um is search.
[47:01] is search. It's servable search. It's kind of okay
[47:04] It's servable search. It's kind of okay search. It's not delightful search. It
[47:08] search. It's not delightful search. It very often does not find what I'm
[47:10] very often does not find what I'm looking for. Certainly when I don't know
[47:12] looking for. Certainly when I don't know what I'm looking for. Do you know who
[47:14] what I'm looking for. Do you know who can find what I'm looking for when I
[47:16] can find what I'm looking for when I don't know what I'm looking for? Agents
[47:18] don't know what I'm looking for? Agents can. I can search in concepts now, not
[47:22] can. I can search in concepts now, not keywords. I had to find an email in hey
[47:25] keywords. I had to find an email in hey that was five years old where I did not
[47:27] that was five years old where I did not know who I was talking to. I didn't
[47:29] know who I was talking to. I didn't remember the company and I didn't even
[47:31] remember the company and I didn't even remember the year. It was something
[47:33] remember the year. It was something about sneakers and a podcast.
[47:36] about sneakers and a podcast. Uh yeah, good luck trying to find that
[47:38] Uh yeah, good luck trying to find that even with the best crack PhD
[47:40] even with the best crack PhD search engine that Google has. That's
[47:43] search engine that Google has. That's not happening. And there it was the
[47:45] not happening. And there it was the email a few short minutes later. How did
[47:48] email a few short minutes later. How did it do it?
[47:50] it do it? How? I still don't fully know
[47:55] How? I still don't fully know and I'm a little scared to ask.
[47:58] and I'm a little scared to ask. But I am infinitely delighted that this
[48:00] But I am infinitely delighted that this is now the reality.
[48:13] >> I'm also pretty delighted about this. And if you follow me on X, I've talked
[48:16] And if you follow me on X, I've talked about nothing else but Amachi for about
[48:19] about nothing else but Amachi for about three months. And the reason why is that
[48:22] three months. And the reason why is that that experience of we can just fix
[48:25] that experience of we can just fix everything now applies to the whole
[48:28] everything now applies to the whole godamn computer.
[48:35] If you like making things, if you like fixing things, if you have ideas about
[48:38] fixing things, if you have ideas about things that could be different and could
[48:41] things that could be different and could be better,
[48:43] be better, you can just make it happen. I put all
[48:46] you can just make it happen. I put all my best ideas, or at least like a good
[48:49] my best ideas, or at least like a good size of the list, into this thing,
[48:51] size of the list, into this thing, Omachi, and got an operating system so
[48:54] Omachi, and got an operating system so vastly superior to any computer I've
[48:57] vastly superior to any computer I've ever used before that I can't
[48:59] ever used before that I can't shut up about it.
[49:01] shut up about it. Even if you paid me, and a lot of people
[49:05] Even if you paid me, and a lot of people have paid, we've raised about $20
[49:08] have paid, we've raised about $20 million for this um adventure.
[49:12] million for this um adventure. This is what's now possible.
[49:15] This is what's now possible. Last year here at Rails World, I showed
[49:18] Last year here at Rails World, I showed an early version of this and I was so
[49:20] an early version of this and I was so proud that you could install the whole
[49:22] proud that you could install the whole system in 3 minutes and 33 seconds.
[49:25] system in 3 minutes and 33 seconds. Woohoo!
[49:27] Woohoo! Man, that's amazing.
[49:30] Man, that's amazing. Uh, last week Anush from AMD installed
[49:34] Uh, last week Anush from AMD installed Amachi on his uh, cracked Halo laptop in
[49:38] Amachi on his uh, cracked Halo laptop in 35 seconds.
[49:48] I'm pretty I'm I was about to say I'm pretty excited. I'm pretty obsessed with
[49:50] pretty excited. I'm pretty obsessed with this number.
[49:53] this number. I mean, maybe a little too much. Okay,
[49:56] I mean, maybe a little too much. Okay, I'll admit it. There's some addiction
[49:58] I'll admit it. There's some addiction going on here. But it's the best kind of
[50:00] going on here. But it's the best kind of addiction. The kind of addiction that
[50:02] addiction. The kind of addiction that has led her to in the lab
[50:05] has led her to in the lab have an install time of an operating
[50:07] have an install time of an operating system on a computer in 9 seconds.
[50:12] system on a computer in 9 seconds. What the what?
[50:16] What the what? There is computers that don't even boot
[50:18] There is computers that don't even boot in 9 seconds.
[50:21] in 9 seconds. We install a whole operating system in
[50:24] We install a whole operating system in that time.
[50:26] that time. And then when people ask me like, "But
[50:28] And then when people ask me like, "But but but why wasn't this three minutes
[50:31] but but why wasn't this three minutes fast enough?" I now just have a stock
[50:33] fast enough?" I now just have a stock answer delivered to me by Mitchell
[50:35] answer delivered to me by Mitchell Hashimoto, who is the creator of Hashi
[50:38] Hashimoto, who is the creator of Hashi Cororb and Ghosty. The pursuit of
[50:40] Cororb and Ghosty. The pursuit of excellence does not need justification.
[50:45] excellence does not need justification. Huh.
[50:53] I I I love that saying because it's uh more dignified than just saying because
[50:55] more dignified than just saying because I want it.
[51:02] And we can now want everything. We can now get everything or at least so it
[51:05] now get everything or at least so it feels. Every dream, every idea within
[51:10] feels. Every dream, every idea within reach.
[51:11] reach. Hyperdrive
[51:13] Hyperdrive available right here for a small price.
[51:17] available right here for a small price. and a subscription.
[51:19] and a subscription. But possible
[51:21] But possible we can travel to galaxies we only
[51:25] we can travel to galaxies we only imagined.
[51:27] imagined. How can you not get excited about that?
[51:30] How can you not get excited about that? Well, I've been so excited that I've
[51:33] Well, I've been so excited that I've just started creating applications. All
[51:35] just started creating applications. All sorts of applications. Uh this is a
[51:37] sorts of applications. Uh this is a calculator that is steam match to I was
[51:40] calculator that is steam match to I was very proud of it partly because it's a
[51:42] very proud of it partly because it's a one shot. I took one screenshot
[51:46] one shot. I took one screenshot of what chat GPT gave me three choices
[51:49] of what chat GPT gave me three choices between of how it should look and I told
[51:51] between of how it should look and I told my agent can you do that and it did. I
[51:55] my agent can you do that and it did. I mean, not exactly the biggest
[51:56] mean, not exactly the biggest application, but you know what? I didn't
[51:58] application, but you know what? I didn't know C++ and I did not know QT to a
[52:02] know C++ and I did not know QT to a degree by which I could have had that
[52:04] degree by which I could have had that application 7 minutes after I made the
[52:07] application 7 minutes after I made the prompt. And about 15 minutes later, I
[52:09] prompt. And about 15 minutes later, I had pushed it to the public repo and
[52:12] had pushed it to the public repo and then I burned a new ISO where this piece
[52:14] then I burned a new ISO where this piece of software was included. What? That's
[52:18] of software was included. What? That's the loop.
[52:20] the loop. Then I of course went like if I can
[52:22] Then I of course went like if I can make a calculator I can surely made my
[52:24] make a calculator I can surely made my favorite writing app for many many years
[52:27] favorite writing app for many many years on the Mac. I used IA writer an
[52:29] on the Mac. I used IA writer an incredible
[52:31] incredible writing environment and then I thought
[52:33] writing environment and then I thought yeah I could just make my own and so I
[52:35] yeah I could just make my own and so I did and that took a little longer
[52:37] did and that took a little longer because I wanted to massage it and I
[52:38] because I wanted to massage it and I wanted to be just right but I didn't
[52:40] wanted to be just right but I didn't look at a single line of the code that
[52:43] look at a single line of the code that came out of the agent not once. C++ as a
[52:47] came out of the agent not once. C++ as a blackbox is a great language just like
[52:49] blackbox is a great language just like Rust.
[52:52] Rust. Then I went like well if I can do text
[52:55] Then I went like well if I can do text surely I can do video editors. So I did
[52:59] surely I can do video editors. So I did and I made a nice little cut thing where
[53:01] and I made a nice little cut thing where you can trim videos and that's also
[53:03] you can trim videos and that's also included now in Amachi.
[53:05] included now in Amachi. Oh, this whole presentation I started
[53:08] Oh, this whole presentation I started working on on Thursday. And of course,
[53:10] working on on Thursday. And of course, as any good software engineer would do,
[53:12] as any good software engineer would do, decided I also wanted to write my new
[53:14] decided I also wanted to write my new presentation software while doing the
[53:17] presentation software while doing the keynote.
[53:18] keynote. And so I did. It's called Hype
[53:22] And so I did. It's called Hype and it is the best presentation software
[53:25] and it is the best presentation software I've ever used by any company ever.
[53:29] I've ever used by any company ever. And I was quite pleased with Keynote on
[53:31] And I was quite pleased with Keynote on the Mac when I was still on the Mac.
[53:32] the Mac when I was still on the Mac. This is so much nicer. It's built on top
[53:34] This is so much nicer. It's built on top of markdown. It has full visualization.
[53:37] of markdown. It has full visualization. It is impossibly fast. And you know
[53:39] It is impossibly fast. And you know what? The binary half a megabyte.
[53:47] Half a megabyte. I you could fit that on a floppy disc almost with a
[53:50] that on a floppy disc almost with a little compression.
[54:00] This is the other payoff. We have, let me not use that word.
[54:02] let me not use that word. We have expended the great progress of
[54:06] We have expended the great progress of computers over the last 20 years on
[54:09] computers over the last 20 years on human productivity and it was the right
[54:12] human productivity and it was the right choice.
[54:13] choice. But it also meant that applications were
[54:17] But it also meant that applications were slow, bulky, fat
[54:20] slow, bulky, fat and lazy
[54:22] and lazy because who cares? A single programmer
[54:26] because who cares? A single programmer hour is very expensive. spending one of
[54:29] hour is very expensive. spending one of those on optimizing an app's payload.
[54:33] those on optimizing an app's payload. No, not worth it. Apparently, not even
[54:35] No, not worth it. Apparently, not even if you're Spotify and your music
[54:38] if you're Spotify and your music player's 1.2 gigabytes.
[54:41] player's 1.2 gigabytes. What?
[54:43] What? Okay, that was the old world. The new
[54:45] Okay, that was the old world. The new world, you can do whatever the you
[54:47] world, you can do whatever the you want and it fits in half a megabyte
[54:50] want and it fits in half a megabyte because every optimization is now within
[54:53] because every optimization is now within reach. Every model can run overnight and
[54:56] reach. Every model can run overnight and deliver 10 30x improvements. Incredible.
[55:01] deliver 10 30x improvements. Incredible. Okay,
[55:03] Okay, I'm a little excited about this world.
[55:05] I'm a little excited about this world. There are others who have concerns.
[55:14] I do think the concerns deserve airing out. They serve debate.
[55:20] deserve airing out. They serve debate. I also think maybe some of them are a
[55:22] I also think maybe some of them are a little overstated.
[55:25] little overstated. I mean,
[55:27] I mean, maybe, but probably not. Probably not.
[55:36] I mean, some of them may be a little more like security. Okay, something is
[55:40] more like security. Okay, something is coming. We got to be ready for that. the
[55:43] coming. We got to be ready for that. the agents maybe know their expiration date
[55:47] agents maybe know their expiration date and maybe they're not so pleased and
[55:50] and maybe they're not so pleased and maybe sometimes they're going to try to
[55:51] maybe sometimes they're going to try to do bad things. Okay, get ready. Great.
[55:54] do bad things. Okay, get ready. Great. We have the tools. Get ready.
[55:58] We have the tools. Get ready. Also realize
[56:00] Also realize that any prediction about the future of
[56:02] that any prediction about the future of the economy in any society ever has
[56:05] the economy in any society ever has basically been wrong.
[56:08] basically been wrong. No economist today seemingly is capable
[56:12] No economist today seemingly is capable of predicting the stock market
[56:14] of predicting the stock market in six months. And you think they know
[56:17] in six months. And you think they know what society is going to look like at a
[56:19] what society is going to look like at a paradigm shift like AI and agents?
[56:22] paradigm shift like AI and agents? they don't.
[56:24] they don't. They don't know. When ATMs was
[56:27] They don't know. When ATMs was introduced in the United States in the
[56:29] introduced in the United States in the 1950s, there was a great panic that the
[56:32] 1950s, there was a great panic that the 30,000 bank tellers were all going to be
[56:35] 30,000 bank tellers were all going to be out of a job in about 18 months because
[56:37] out of a job in about 18 months because if you don't need bank tellers to give
[56:40] if you don't need bank tellers to give you the money, why does a bank need to
[56:41] you the money, why does a bank need to have bank tellers at all? Well, you know
[56:44] have bank tellers at all? Well, you know what? That's not what happened. It's not
[56:46] what? That's not what happened. It's not what happened. When the price of
[56:48] what happened. When the price of operating a branch went down, banks
[56:51] operating a branch went down, banks opened more branches and employed more
[56:54] opened more branches and employed more bank tellers to do things like upselling
[56:56] bank tellers to do things like upselling you a subprime mortgage. See, we all win
[57:00] you a subprime mortgage. See, we all win here.
[57:10] But the problem is, I think, as a society and as an industry is that a
[57:13] society and as an industry is that a bunch of people who work on this stuff,
[57:15] bunch of people who work on this stuff, they're really smart.
[57:18] they're really smart. Many of them have PhDs.
[57:21] Many of them have PhDs. Many of them see things in the lab that
[57:23] Many of them see things in the lab that scare them and then they start
[57:26] scare them and then they start extrapolating. What does that mean for
[57:28] extrapolating. What does that mean for society? What have I done?
[57:39] Um, Truman had a good reply to Oenheimer when the two of them had an discussion
[57:41] when the two of them had an discussion in the Oval Office about the invention
[57:42] in the Oval Office about the invention of the atom bomb. And I like Truman
[57:46] of the atom bomb. And I like Truman because he kind of told it straight. I
[57:48] because he kind of told it straight. I don't want to see that son of a in
[57:50] don't want to see that son of a in my office ever again.
[57:54] my office ever again. I think Truman got the the right end of
[57:56] I think Truman got the the right end of it. The world did not come to an end. In
[57:59] it. The world did not come to an end. In fact,
[58:01] fact, the Cold War that followed was the best
[58:03] the Cold War that followed was the best kind of war. The kind of war where two
[58:06] kind of war. The kind of war where two superpowers did not drop
[58:08] superpowers did not drop bombs on each other in direct
[58:10] bombs on each other in direct confrontation. Very hard to predict for
[58:13] confrontation. Very hard to predict for a scientist in that moment that that was
[58:14] a scientist in that moment that that was how it was going to play out. So, if
[58:18] how it was going to play out. So, if Oppenheimer can't figure out
[58:20] Oppenheimer can't figure out what was going to happen after the
[58:21] what was going to happen after the invention of the atom bomb, maybe we
[58:23] invention of the atom bomb, maybe we should also have a little humility about
[58:25] should also have a little humility about predictions of the future. And maybe we
[58:27] predictions of the future. And maybe we should lean in with a little bit more
[58:29] should lean in with a little bit more optimism,
[58:31] optimism, with a little bit of uh poom instead of
[58:34] with a little bit of uh poom instead of oh so much P doom.
[58:36] oh so much P doom. The chances of this panning out and us
[58:39] The chances of this panning out and us getting abundance and joy is so vastly
[58:42] getting abundance and joy is so vastly greater than us getting the doom.
[58:46] greater than us getting the doom. And
[58:48] And the side effects. So Oenheimer works on
[58:51] the side effects. So Oenheimer works on the atom bomb and we get nuclear power,
[58:54] the atom bomb and we get nuclear power, the greatest source of energy
[58:56] the greatest source of energy humans have ever discovered. And what do
[58:58] humans have ever discovered. And what do we do? We piss it away for 40 years
[59:01] we do? We piss it away for 40 years thinking like it's not green or
[59:05] thinking like it's not green or something. Oh yeah. Well, that was a
[59:07] something. Oh yeah. Well, that was a mistake, wasn't it? Well, we can fix
[59:09] mistake, wasn't it? Well, we can fix those mistakes. That's what's wonderful
[59:11] those mistakes. That's what's wonderful about humanity. They can go down a blind
[59:13] about humanity. They can go down a blind alley for 40 years and then
[59:16] alley for 40 years and then suddenly wake up and go like, "Ah, yeah,
[59:19] suddenly wake up and go like, "Ah, yeah, got that one wrong." Didn't have the
[59:21] got that one wrong." Didn't have the quite right prediction here. I think
[59:23] quite right prediction here. I think that's what's going to happen with AI. I
[59:25] that's what's going to happen with AI. I think we're going to pee bloom
[59:28] think we're going to pee bloom everyone out of their miseries.
[59:31] everyone out of their miseries. And you know what? When there are
[59:33] And you know what? When there are legitimate issues we have to deal with
[59:35] legitimate issues we have to deal with like security, okay, we'll invent the
[59:38] like security, okay, we'll invent the technology. We now have the power. There
[59:40] technology. We now have the power. There was a bad CVE in Rails not too long ago
[59:43] was a bad CVE in Rails not too long ago involving an image uh library in C where
[59:47] involving an image uh library in C where some things leaked through and it wasn't
[59:48] some things leaked through and it wasn't great. Okay, let's come up with a
[59:51] great. Okay, let's come up with a quarantine. Mike is going to talk about
[59:53] quarantine. Mike is going to talk about hot cell. That's an effort. We are not
[59:55] hot cell. That's an effort. We are not powerless. You have agency. You can
[59:59] powerless. You have agency. You can employ the intelligence available to you
[01:00:00] employ the intelligence available to you to good ends and defend yourself against
[01:00:03] to good ends and defend yourself against the possible negative outcomes. So,
[01:00:05] the possible negative outcomes. So, let's do that. Let's lean in and do the
[01:00:07] let's do that. Let's lean in and do the work. And let's remember uh William
[01:00:11] work. And let's remember uh William Stanley Javon who came up with Javon's
[01:00:13] Stanley Javon who came up with Javon's paradox about those ATMs
[01:00:17] paradox about those ATMs in 1950 30,000 bank tellers in I think
[01:00:20] in 1950 30,000 bank tellers in I think uh 2010 it was 40,000 bank tellers in
[01:00:24] uh 2010 it was 40,000 bank tellers in the United States no one knows anything
[01:00:28] the United States no one knows anything about the future so therefore the
[01:00:30] about the future so therefore the rational choice is to be happy about it
[01:00:34] rational choice is to be happy about it if you are sad about it upfront and it
[01:00:37] if you are sad about it upfront and it turns out wonderful
[01:00:38] turns out wonderful What a waste of time. And do you know
[01:00:40] What a waste of time. And do you know what? If we get the nuclear apocalypse,
[01:00:43] what? If we get the nuclear apocalypse, you should have spent your last day
[01:00:45] you should have spent your last day being a little more cheery. It's over
[01:00:47] being a little more cheery. It's over anyway.
[01:00:52] Pure game theory. There's only one play here and it's total optimism.
[01:00:56] here and it's total optimism. Lean in to the max possible
[01:01:00] Lean in to the max possible because the utopia is almost here.
[01:01:03] because the utopia is almost here. We're going to get it
[01:01:05] We're going to get it and we're going to get a reformation of
[01:01:08] and we're going to get a reformation of the computer. Agent Luther is going to
[01:01:11] the computer. Agent Luther is going to disintermediate
[01:01:13] disintermediate the cleric class
[01:01:16] the cleric class is going to allow
[01:01:19] is going to allow everyone to make programmers. Now, maybe
[01:01:22] everyone to make programmers. Now, maybe that's a little scary. Like maybe we're
[01:01:24] that's a little scary. Like maybe we're going to get a little competition. Who's
[01:01:25] going to get a little competition. Who's afraid of a little competition? Aren't
[01:01:27] afraid of a little competition? Aren't you better? Don't you know more? Of
[01:01:30] you better? Don't you know more? Of course you do. You're a Rails
[01:01:31] course you do. You're a Rails programmer. You're the best of the best.
[01:01:34] programmer. You're the best of the best. THIS IS GODDAMN TOP Gun I'm looking at
[01:01:36] THIS IS GODDAMN TOP Gun I'm looking at here.
[01:01:48] Embrace that with gusto. The future is galactically awesome.
[01:01:52] The future is galactically awesome. Don't be that loser in the dark.
[01:01:56] Don't be that loser in the dark. And you know what? Even if you are,
[01:01:57] And you know what? Even if you are, realize the next generation is not.
[01:02:01] realize the next generation is not. Harris's daughter here is trying an
[01:02:04] Harris's daughter here is trying an omachi version we're making for kids
[01:02:06] omachi version we're making for kids because kids are really excited about
[01:02:08] because kids are really excited about things that happen that change. They
[01:02:12] things that happen that change. They don't have 500 layers of things to
[01:02:14] don't have 500 layers of things to unlearn and be stressed about.
[01:02:17] unlearn and be stressed about. And do you know what? If this doesn't
[01:02:19] And do you know what? If this doesn't inspire you, um, the next generation is
[01:02:21] inspire you, um, the next generation is just going to tell you.
[01:02:23] just going to tell you. >> Future's now, old man.
[01:02:33] So take the white pill, take the optimism pill, lean in. Even
[01:02:37] take the optimism pill, lean in. Even with the uncertainty, even with the
[01:02:40] with the uncertainty, even with the stress, even with all of it, realize
[01:02:42] stress, even with all of it, realize there is only one choice, and that is
[01:02:45] there is only one choice, and that is for you to embrace the future with
[01:02:48] for you to embrace the future with optimism, with gusto, with full
[01:02:51] optimism, with gusto, with full acceleration. The black pill is for
[01:02:54] acceleration. The black pill is for losers. Don't be a loser.

All frames

Total: 33. Hero frames flagged with star.

  • frames/frame_0001.jpg (t=00:00) frames/frame_0002.jpg (t=07:45) frames/frame_0003.jpg (t=08:48) frames/frame_0004.jpg (t=09:27) frames/frame_0005.jpg (t=15:28) frames/frame_0006.jpg (t=17:06)
  • frames/frame_0007.jpg (t=19:08) frames/frame_0008.jpg (t=19:13) frames/frame_0009.jpg (t=19:19) frames/frame_0010.jpg (t=19:22) frames/frame_0011.jpg (t=19:27) frames/frame_0012.jpg (t=20:40)
  • frames/frame_0013.jpg (t=24:24) frames/frame_0014.jpg (t=24:41) frames/frame_0015.jpg (t=25:14) frames/frame_0016.jpg (t=26:04) frames/frame_0017.jpg (t=27:04) frames/frame_0018.jpg (t=27:42)
  • frames/frame_0019.jpg (t=31:44) frames/frame_0020.jpg (t=33:25) frames/frame_0021.jpg (t=39:13) frames/frame_0022.jpg (t=42:59) frames/frame_0023.jpg (t=45:08) frames/frame_0024.jpg (t=49:29)
  • frames/frame_0025.jpg (t=50:24) frames/frame_0026.jpg (t=51:29) frames/frame_0027.jpg (t=52:51) frames/frame_0028.jpg (t=53:04) frames/frame_0029.jpg (t=55:32) frames/frame_0030.jpg (t=58:44) frames/frame_0031.jpg (t=01:01:04) frames/frame_0032.jpg (t=01:01:18) frames/frame_0033.jpg (t=01:02:27)