DHH · 2025-07-12 · source ↗ · whole document (15)
Programming setup
`5:12:14`
Even on Windows, you can't get it that smooth. You can get close, you can't get it that smooth. On macOS, for whatever reason, Apple insists on having this infuriating animation when you switch between virtual desktops, which makes it just that you don't want to. You don't wanna run full screen apps because it's too cumbersome to switch between the virtual desktops. The kind of immediacy that you can get from a wonderful Linux setup in that regard, it's just next level. — Yeah, and it seems like a subtle thing, but you know, difference in milliseconds and latency between switching the virtual desktops, for example. I don't know, it changes... — It changes how you use the computer. It really does. — Similar thing with VR, right? If there's some kind of latency or like it just completely takes you all out of it. — And it's funny, I actually had to watch, I think it was ThePrimeagen on YouTube when he was showing off his setup and I was seeing how quickly he was switching between those virtual desktops. And I'd always been using virtual desktops, but I didn't like switching too much
`5:13:15`
because just of that latency and it's like, oh, you can do that on Linux? Oh, that's pretty cool. So I run that, and then my editor of choice now is Neovim. — Oh good, all right. Well we're out of time. No, all right, you did for many, many years. You used, what is it? TextMate. — Yes, TextMate. — TextMate, yeah. — That was actually, that was the main blocker of moving away from Apple. Everything else I thought, do you know what? I can swing it. But TextMate was and is a wonderful editor. One, I helped birth into this world. The programmer Allan Odgaard is a good friend of mine, all the way back from the party days when we were lugging our computers around. And he was a big Mac guy. And in 2005, he was writing this editor and I helped him with the project management of kind of keeping him on track, keeping him focused on getting something released. Because I really wanted it for myself. And I thought, this was the last editor I thought I was never gonna switch. — Forgive me for not knowing,
`5:14:15`
but how featureful as this editor is this? — It's quite featureful, but it's a GUI-driven editor in some regards. It was really early on with ways of recording macros and having sort of sophisticated syntax highlighting. And it did a bunch of firsts and it was just a really pleasant editing experience. I think these days a lot of people would just use VS Code. VS Codes exist in the same universe as TextMate in some ways. And actually I think is compatible with the original TextMate bundles, the original TextMate format. So it really trailed a path there, but it also just didn't evolve. Now a lot of people saw a huge problem with that. They were like, "Oh, it needs to have more features. It needs to have all these things." I was like, I'm happy with this text editor. That hasn't changed at all. Basically when Allan stopped working on it for a decade or more. I don't need anything else. Because as our original discussion went, I don't want an IDE. I don't want the editor to write code for me.
`5:15:19`
I want to text editor. I want interact with characters directly. And Neovim allows me to do that in some ways that are even better than TextMate. And I love TextMate, but Vi as you know. Once you learn the commands and it sounds, I sometimes feel like Vi fans overplay how difficult it is to learn because it makes them perhaps seem kind of more awesome that they were able to do it. It's not that difficult. And it doesn't take that long, in my opinion, to learn just enough combo moves to get that high of holy shit, I could not do this in any other editor. — How long did it take you? And by the way, I don't know, I haven't yet. Oh, I know, intellectually. But just like with kids, I haven't gone in all the way in. I haven't used Vim. — You have a treat in mind. Well, I switched in about, I had three days when I switched here about a year ago. I had three days of cursing where I thought it was absolutely terrible and it was never gonna happen.
`5:16:20`
And I had three days of annoyance and already the next week I was like, this is sweet. I'm not going anywhere. But I also had a bit of a head start about 20 years ago in early 2000s. I tried Vim for like a summer and it didn't stick. I didn't for whatever reason love it at the time. But Neovim is really good. The key to Neovim is to realize that you don't have to build the whole editor yourself. There's a lot of Neovim stans are like, here's how to write the conflict from scratch. Over 17 episodes, that's gonna take you three weeks. Ah, I don't care that much. I love a great editor. I love to tailor it a little bit, but not that much. So you have to pair Neovim with this thing called LazyVim. Lazyvim.org is a distribution for Neovim that takes all the drudgery out of getting an amazing editor experience right out of the box. — Ridiculous question, we talked about a bunch of programming languages. You told us how much you love JavaScript. It's your second favorite programming language.