Superintelligence CouncilСовет гения · sim.im

Search

topic: transcript-lex-474-2025 ✕

361 passages, newest first · 15 ms

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:01:30`

There's something wonderful about the Brendan Eich story of creating JavaScript. There's something truly beautiful about the way JavaScript took over the world. I've recently got to visit the Amazon jungle and just one of my favorite things to do is just to watch the ants take over anything, everything. And it's just…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:02:32`

of any new thing I work on, it's a little broken. It's a little busted in ways that invite people to come in and help me. Because there's no easier way to get the collaboration of other programmers than to put something out that they know how to fix and improve. — Yeah, that's…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:03:34`

You get to add keywords to the language. Active record is the part of Rails that communicates with the database. This is a system where every table in the database is represented by a class. So if we take the user example, again, you do class user descends from active record base, and then the first line…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:04:35`

That's metaprogramming. When Rails is able to add these elements to how you define a class and then that runs code that adds a bunch of methods to the use of class, that's metaprogramming. And when metaprogramming is used in this way, we call it domain specific languages. You take a generic language like Ruby…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:05:37`

Now again, I know that Lisp and others also do this stuff. They just do it with the maximum amount of line noise that can ever be crammed into a programming language. And Ruby does it at a level where you cannot tell my metaprogramming from Matz's keywords and with zero line noise. — Yeah, I should…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:06:38`

so much and what beautiful code is and what a beautiful programming language is. So one of the things that is I think implied maybe you made explicit in your descriptions there is that Ruby is dynamic typing versus strict typing. And you have been not just saying that it's a nice thing, but that you…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:07:39`

or getting TypeScript out of some of the projects that I'm involved with. We pulled TypeScript out of turbo. One of the front-end frameworks that we have, because I tried to write to metaprogramming in TypeScript and I was just infuriated. I don't want that experience, but I also don't want it from…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:08:40`

I don't have sensibilities for this. I don't want my Ruby polluted with this. Now I understand all the arguments for why people like static typing when the primary arguments is that it makes tooling easier. It makes it easier to do auto complete in editors, for example. It makes it easier to find certain…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:09:42`

where Ruby is beautiful. Because as soon as it gets easy to type a lot of boilerplate, well guess what? You can have a lot of boilerplate. Every single language basically that has great tooling support has a much higher tolerance for boilerplate because the thinking is, well, you're not typing it anyway, you're just…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:10:45`

and do all sorts of really interesting things that underpin all the beautiful metaprogramming that we do in Ruby. I don't wanna lose any of that. And I don't care for the benefits. One of the benefits I see touted over and over again is that it's much easier to write correct software. You…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:11:47`

I fully accept that you need different methods. What I object to is the idea that what's right for a code base of 10 million lines of code with a hundred thousand programmers working on it is also the same thing I should be using in my bedroom to create Basecamp, because I'm just a…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:12:48`

in that spirit as a crusade, as I just need to teach you the gospel. I just need to show you this conditional code that we just talked about and you will convert at the point of a sharp argument. Now, I learned that that's not the way. And part of the reason it's not…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:13:49`

idiotic thing to say in the face of evidence, mountains of evidence to the contrary. This is one of the reasons I'm so in love with Shopify as the flagship application for Ruby on Rails. Shopify exists at a scale that most programmers will never touch. On Black Friday, I think Shopify did 1 million requests…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:14:51`

And some of those limits you hit with dynamic typing are actually, by the way, just limits you hit when you write 5 million lines of code. I think the Shopify monolith is about 5 million lines of code. At that scale, everything breaks because you're at the frontier of what humans are capable of doing…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:15:52`

He's just a brilliant human. And Shopify, shopify.com/lex has been supporting this podcast for the longest time. I don't think actually Tobi knows that they sponsor this podcast. I mean this is a big company, right? — It's a huge company. I think just under 10,000 employees, market cap of 120 billion…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:16:53`

He runs a company of almost 10,000 people that is literally like world commerce depends on it. A level of criticality I can't even begin to understand. And yet we can see eye to eye on so many of these fundamental questions in computer science and program development. That is a dynamic range to be…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:17:53`

as the primary target when I write Rails. I think of the single developer. Actually, I do think about Shopify. But I don't think about Shopify now. I think of Shopify when Tobi was writing Snow Devil, which was the first e-commerce store to sell snowboards that he created, that was the pre- Shopify Shopify…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:18:55`

They end up then I think writing it in some other language, which by the way I think is the best advertisement ever for Ruby on Rails, because nothing fucking happened for 10 years after they switched over, right? Essentially zero innovation. Some of that was because they were doing a long conversion, and all of the…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:19:58`

than something like Ruby on Rails. — Let me say this a small aside because I think we might return to Shopify and celebrate it often. Just a sort of personal note. This particular podcast has way more sponsors and sponsors that want to be sponsors than I could possibly ever have. And it's really, really important…

DHH2025-07-12transcript-lex-474-2025source ↗context

`1:20:59`

— Yeah, so one of the great contributions that Shopify has made to the entire Ruby ecosystem, not just Rails but in particular Rails is YJIT. So YJIT is their compiler for Ruby. That just makes everything a lot more efficient and at Shopify scale eking out even a five, 10% improvement in Ruby's overhead and execution…

More