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

Search

to: 2025-12-31 ✕

534 passages, newest first · 228 ms

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…

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

`2:23:14`

quite a bit over the years? — I would say, oh yes. And then also, oh no, in the sense that there are absolutely fundamental things both about human nature, about institutions, about programming, about business that I've changed my mind on. And then I've also had experiences that are almost even more interesting where I…

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

`2:24:15`

who did engineering management the way you're supposed to do it, the way it's done all over the place. And after that I thought like, no, no, I was right. This was correct. We should not have had managers. Not every programmer needs a therapy session with an engineering manager every week. We don't…

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

`2:25:18`

I don't agree with some of those things, but in practice I've found that they often create more problems that they solve. And a good example here is can you get feedback from someone who's not better at your job than you are? You get some feedback. You can get feedback on how you…

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

`2:26:19`

because I know what people sometimes hear. They hear the genius asshole is just fine and that's great and you should excuse all sorts of malicious behavior if someone's just really good at what they do. I'm not saying that at all. What I am saying is that the history of competence is a…

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

`2:27:20`

Let me program and then I'll come up for error. I'll talk with other programmers who I can spar with that we can learn something with. I can turn the problems over with and we can move forward. If you look back on the history of computer industry, all the great innovation that's happened…

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

`2:28:23`

I understand that. And then even as I say that, I also don't understand it. Yeah, because if you look at something like Gmail, for example, there was like a side project done by Buchheit at Google at the time. So much of the enduring long-term value of even all these huge companies were created…

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

`2:29:27`

So if you just have a bunch of programmers running around, you're kind of response like it's work, it's intellectual work to have to deal with the the first principles of every problem that's going on. So managers like you can like relax, oh I'll be taken care of. But they then…

More