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

Search

topic: transcript-lex-474-2025 ✕

361 passages, newest first · 27 ms

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

`2:02:43`

We just need to pick one, and then that's fine. And if we pick one and we can depend on it, it becomes a convention. And if it's a convention, we don't have to configure it. And if we don't have to configure it, you can get started with you actually care about…

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

`2:03:45`

You have all these aspirations, they're gonna do some kind of custom, most beautiful Legos castle that nobody's ever built from these pieces. But in reality to be productive in most situations, you just need to build the basic thing. And then on top of that is where your creativity comes. — Absolutely, and I think…

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

`2:04:49`

There are a billion different dishes and you can configure just your tailored specific configuration of it, but no one done the work to make sure it all fits together. So you have all these unique problems in the JavaScript ecosystem, for example, there's probably 25 major ways of just doing the controller layer. And then…

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

`2:05:50`

that's wonderful. But on day one you'll get a full menu designed by a chef who really cared about every piece of ingredient and you're gonna enjoy it. And that's again, one of those things where many programmers think like I know better. And they do in some hyper local sense of it…

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

`2:06:51`

on millions of lines of code? No one can keep that entire system in their head at one time. You have to break it down. Microservices can be a reasonable way to do that. When you're at Netflix scale, when you apply that pattern to a team of 20 programmers working on a code base of…

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

`2:07:53`

I can actually understand all of HEY. Both of those systems are just over a hundred thousand lines of code. I've seen people do this that maybe twice, maybe three times that scale and then it starts breaking down. Once you get north of certainly half a million lines of code, no individual human can do…

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

`2:08:55`

You can solve the email client problem with either 28 megabytes of uncompressed JavaScript or with 40 kilobytes if you do things differently. But that comes through the same problem essentially. This is why I have fiercely fought splitting front end and back end apart. That, in my opinion, this was one of the great crimes against…

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

`2:09:58`

and you can chain 'em together very much in the spirit of how true functional programming languages worked. Ruby has even moved closer towards the functional programming and of the scale by making strings immutable. There are ideas from all different disciplines and all different paradigms of software development that can fit together. Smalltalk, for example. With…

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

`2:11:01`

and I put it together. Not because there was gonna be just one single overarching theory of everything, but I was gonna have a cohesive unit that incorporated the best from everywhere. — Is that idea a bit at tension with the beauty of the monolith system? — I think the monolith can be thought of as quite roomy…

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

`2:12:03`

— We've talked about that at length and here's a great example that really summarizes the domain specific language quality of Ruby on Rails that you can make code actually pleasant to write and read. Which is really funny to me because as we talked about when I started learning programming, it wasn't even a…

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

`2:13:04`

It is the defining characteristic of how to work with Ruby on Rails. And it's born in an interesting level of controversy, because it actually uses a pattern that had been described by Martin Fowler in the "Patterns of Enterprise Application Architecture." One of the greatest books for anyone working on business systems. And if you…

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

`2:14:05`

the beautiful object-oriented nature of that kind of programming with SQL. There was a rant by Uncle Bob the other day about how SQL is the worst thing ever. Baba, okay fine, whatever, I don't care. This is practical. We are making CRUD applications. You're taking things out of an HTML form and you…

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

`2:15:06`

is not so much try to abstract the SQL away behind a different kind of paradigm. It's just making it less cumbersome to write. Making it more amenable to build domain models on top of other domain models in a ways that you don't have to write every damn SQL statement by hand. — We'll…

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

`2:16:09`

but it's actually very humanly readable. Active record just takes that tedious away. It makes it possible to combine things in a way that a humanly describable language just doesn't. It composes things into methods and you can combine these methods and you can build structures around them. So I don't dislike SQL, I…

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

`2:17:09`

It's not gonna be saved. It's gonna be saved into SQL database. So it's just structure the whole thing around that. It's gonna have attributes. Those attributes are gonna respond to columns in the database. It's not more complicated than that stuff making it so. — Yeah, but I should say, so I…

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

`2:18:09`

— As long as you wanna stay at the entry level of competence. And this is actually my overarching mission with Rails is to lower the barrier of entry so far down that someone can start seeing stuff on their browser without basically understanding anything. Yeah, they can run Rail's new blog, run a couple of generators…

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

`2:19:10`

that takes years. But you can actually become somewhat productive in a few days. You can have fun in a few days for sure. You're gonna have fun in a a few minutes and a few hours. And over time, I can teach you a little more. Active record says like, yeah, yeah. All right, start…

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

`2:20:10`

Here's a dull butter knife. Cut your damn steak, right? That's a very frustrating experience. You want a sharp knife even though you might be able to cut yourself. I trust humans in the same way that Matz trust humans. Maybe you cut off a finger. All right, you're not gonna do that again…

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

`2:21:12`

I used to think it required more churn to get progress to stay on the leading edge of new stuff. And I wrote this before I experienced the indignity of the 2010s in the JavaScript community. Where it seemed like stability was not just unvalued, it was actually despised that churn in and of itself was a…

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

`2:22:13`

like what's happening with AI right now. Like what happened with the introduction of the iPhone in 2007, like what happened with the internet in '95. That's basically the total sum of my career. Three things changed. Everything else in between was incremental small improvements. You can recognize a Rails application written in 2003. I…

More