Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.


13: RedwoodJS, Developer Experience, and Developing for Scale with Tom Preston-Werner

Show Notes

Every developer straddles the fine line between creating a unique space and reinventing the wheel. Tom Preston-Werner has lived between those two lines for much of his career, most recently while developing an app framework for startups, RedwoodJS.  Tom has always pushed himself to think outside the box rather than follow competitors. This aversion to groupthink kickstarted the creation of Redwood. It also helped Tom with the second-hardest part of app development: choosing a name. Tired of the physics names flooding the React world, Tom turned to nature for his framework. Not just a staple of the Bay Area, Redwoods start as tiny acorns and grow into enormous trees – a fitting analogy for an app designed to grow alongside expanding ventures.  In this episode, Robbie, Chuck, and Tom discuss the other ways Tom's outsider thought-process contributes to his creativity, the importance of helping users through the upgrade process, and his tried and true philosophy as a software developer. Key Takeaways * [16:46] - The origins of RedwoodJS.  * [22:02] - Tom's approach to the upgrade process.  * [24:26] - The dangers of reinventing the wheel. * [29:25] - What developers should stop focusing on. * [30:55] - The relationship between apps and scale.  * [36:14] - Tom's philosophy as a developer.  * [41:18] - How RedwoodJS got its name.  * [51:35] - Tom's creative outlet outside of software development.  Quotes [19:24] - "Stay a bit naive of how everyone else does it just so that your solutions really are as novel as they can be. I think the risk of being boring and repetitive is way higher if you're spending a lot of time with the competitive things." ~ Tom Preston-Werner [https://twitter.com/mojombo] [22:01] - "That's one thing that we're not gonna do. We're not gonna stop innovating, we're not gonna stop trying new things, bringing in better things that we've found. We can't. We may as well give up now if that's the case." ~ Tom Preston-Werner [https://twitter.com/mojombo] [38:10] - "Most people who are building stuff, their primary concern is not eeking every last ounce of render speed out of their app, it's getting something built quickly that the users are going to take advantage of. And so that's been the bulk of our focus so far. That's really where the bar is." ~ Tom Preston-Werner [https://twitter.com/mojombo] Links * Tom Preston-Werner [https://twitter.com/mojombo] * Redwood JS [https://redwoodjs.com] * Lagavulin Scotch 8 [https://www.malts.com/en-us/products/single-malt-whisky/lagavulin-8-year-old-single-malt-scotch-whisky-750ml/] * Nelson's Green Brier Distillery [https://greenbrierdistillery.com]  * Penn & Teller: Bullshit! [https://www.sho.com/penn-and-teller-bullshit] * Mythbusters [https://go.discovery.com/tv-shows/mythbusters/]  * Laphroaig Scotch [https://www.laphroaig.com/en/] * Octomore Whisky  [https://www.bruichladdich.com/octomore-super-heavily-peated-whisky-range/] * Next.js [https://nextjs.org] * React Podcast Episode 117: Tom Preston-Werner on RedwoodJS [https://spec.fm/podcasts/reactpodcast/6_mirYS8] * Meteor  [https://www.meteor.com] * Ruby on Rails  [https://rubyonrails.org] * Ember.js [https://emberjs.com] * Svelte [https://svelte.dev]  * React [https://reactjs.org] * Prisma [https://www.prisma.io] * Jest [https://jestjs.io] * Storybook [https://storybook.js.org] --- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message


Robbie Wagner: [00:09] Hey, everybody. Welcome to another Whiskey Web and Whatnot with myself, Robbie Wagner. My co-host, as always, Charles W. Carpenter III, and our guest today, Tom Preston-Werner. Hey, how's it going?

Tom Preston-Werner: [00:22] I'm great. How are you?

Robbie Wagner: [00:23] Doing well. Doing well. Thanks for coming on.

Chuck Carpenter: [00:25] Yeah, thanks for taking the time to join us and drink some whiskey, maybe talk about things.

Tom Preston-Werner: [00:30] Anytime I have an excuse to drink a new whiskey, I'm in.

Robbie Wagner: [00:33] Nice. So have you tried this one before?

Tom Preston-Werner: [00:36] I have not, actually. A friend of mine, Dom, who is on the Redwood JS core team, knew that I liked whiskey and got this for me, so I have not read about it or tasted it or anything. I have a completely fresh mind about it. I won't be polluted by anything anyone else has said about it.

Chuck Carpenter: [00:55] All right, perfect. Yeah. That's the way we like to approach them as best we're able. A lot of times, we tend to be in the Bourbon and rye area of whiskeys. We did one Japanese whiskey, actually, and so this will be our first scotch.

Tom Preston-Werner: [01:09] Really? Your first scotch. What? That's ridiculous. I love scotch.

Chuck Carpenter: [01:15] Well, I was born and raised in Kentucky, so proclivity towards that side of things. But still, I'm always up for trying something new and keeping it interesting no matter where it goes. But, Robbie, you might want to tell them about how we rate them to our very clever scale.

Robbie Wagner: [01:33] Yeah, so our mascot is, like, an octopus thing, similar to a GitHub octopus, kind of, but without the cat.

Tom Preston-Werner: [01:44] Sweet.

Robbie Wagner: [01:45] So our rating system is out of tentacles. So it's one tentacles is, like, the worst thing you've ever had, and eight is like, nothing is better than that.

Tom Preston-Werner: [01:54] Okay, got it. One through eight.

Robbie Wagner: [01:56] Got this. I can never pronounce this. Right.

Chuck Carpenter:[02:00] Lagavulin. It's Lagavulin. Yeah.

Robbie Wagner: [02:03] I don't know what I want to say.

Chuck Carpenter: [02:04] Eight For the eight years with which it was.

Robbie Wagner: [02:07] I don't know. Lagavulin.

Chuck Carpenter: [02:08] All right, cool. So, yes, I was saying earlier to Robbie I didn't bring a nice glass, so I have this very tall water glass to utilize from the coworking space. I know the Glencairn you have. That's the right way to do it.

Tom Preston-Werner: [02:21] It's the only glass I'll drink it out of.

Robbie Wagner: [02:23] Northern. We didn't really say what this was other than me trying to pronounce it, but it's Lagavulin.

Chuck Carpenter: [02:28] Scotch.

Robbie Wagner: [02:29] Eight year. It's 100% malted barley. It's a scotch, so of course, it is, but.

Chuck Carpenter: [02:39] It's a mash bill. It's exceptionally fine according to the labels. The thing I'm always interested in is because many other whiskeys outside of Bourbon can be aged in used barrels. So sometimes you'll get a scotch that's aged in Bourbon barrels and get that kind of twist on the flavor. But I did not research to see if this was one of them.

Tom Preston-Werner: [03:00] Yeah, well, I would be extremely surprised if it wasn't. And most scotches aged, and I think they might even have to be aged in often ex-Bourbon casks.

Chuck Carpenter: [03:14] Well, I'm definitely getting the peat in the smell.

Robbie Wagner: [03:18] Getting it from about a foot away.

Chuck Carpenter: [03:21] Yeah.

Tom Preston-Werner: [03:22] That's the good part.

Chuck Carpenter: [03:23] So Robbie and I were in Nashville last week, company retreat, and as part of that, we went to the Greenbriar Distillery, and they do Tennessee whiskey. And it was the first time in all the tastings that I've been to that they talked about how to prepare your palate, which is what I was just trying to do, which is just chew it in your mouth for a few seconds to let it, like, the salivation come up, and then you have a coating. So then, on your next taste, apparently, you'll be able to draw different notes, and you get less of the burn.

Tom Preston-Werner: [03:54] That's what I tend to do.

Chuck Carpenter: [03:55] I don't know if you've ever heard that.

Tom Preston-Werner: [03:56] Get it in the mouth and chew it a little bit. So I actually went on a trip to Isla, Scotland, a number of years ago with some friends and have been to the Lagavulin Distillery and the others on Isla. What is really special about that is you get to taste a lot of whiskeys in rapid succession, and you can really start telling the difference between them because if you only have a scotch, like, once a month or something, you're like, yep, tastes like scotch. But if you have one from each of the different distilleries or, say, 20 from one distillery in rapid succession, then you can start saying, oh, I can taste the caramel in this one, or I can taste the type of barrel that this one was aged in. The same is true of wine or really anything, I think. But that's, I think, is the secret. Like, when you drink wine, it's always great to have two wines, and then you can taste them against each other and say, oh, this is how they're different. So absolutely. Yeah. So I think they talked about that when we were on that trip. It's like, get in your mouth, give it a few, kind of chews around, and that really gets you that sense. So nice.

Chuck Carpenter: [05:05] Interesting things, again, like kind of coming back to we've not approached scotches in this show. I mean, I've had some over my life, but I'm getting some, like, lemongrass.

Tom Preston-Werner: [05:15] Yeah, this one's really kind kind of of fresh, kind of grassy a little bit. That might be that same kind of flavor note you're getting.

Chuck Carpenter: [05:21] Yeah, it's almost not like lemon juice, but more of like lemon rind, a little bitter lemony kind of mix.

Tom Preston-Werner: [05:28] Yeah. It's different than a lot of the Laphroaigs that I really love are. My favorite tasting note is bandaids. You get that one a lot with Laphroaigs. Tastes like bandaids, which I think is so interesting, disgusting, and also accurate.

Chuck Carpenter: [05:43] So relating the smell of bandaids to the taste of what you're experiencing, I find that so funny in general, when people are trying to describe their own personal taste, like what I'm experiencing. Let me find this word that maybe you can connect to unrelated but actually related. It was like a documentary some years ago. I don't know if you ever saw that, but it was a group of guys who were studying together to become master sommeliers, and they would do these tasting parties and be able to narrow things down to a region which bank of the river, this particular area, and they would come up with strange descriptive terms like that. My favorite one was, smells like a freshly opened tennis ball canister of tennis balls.

Tom Preston-Werner: [06:31] I remember that.

Chuck Carpenter: [06:33] Right, and you're like, yeah, okay. I don't know if I want to drink that, but I appreciate the descriptor.

Tom Preston-Werner: [06:39] Kind of a weird smell to get out of a wine. No, but it is great because it's so subjective. Anything you say is correct because how could it possibly not be? Like, if that's what you're experiencing, what am I to tell you that that's not what you're experiencing?

Robbie Wagner: [06:53] Yeah. And if you say it, then I experience that. The power of suggestion is real.

Tom Preston-Werner: [06:58] Right. It's very impressionable. And what I loved about being in Scotland, too, is the ceremony of it or just where you are and the experience of being there. And it being this special event, this special thing automatically makes it taste a thousand times better. And then you go back, you're like, wow, that was the best scotch I've ever had. You buy a bottle of it. You go back home. You're in your living room. Your lights are on. You pour yourself a glass, and you're like, this is not as good as I remember it was because the setup is so different.

Chuck Carpenter: [07:29] Yeah, it's the when in Rome and tying that together. You're so excited about it, regardless.

Tom Preston-Werner: [07:35] There was a great episode of Penn and Teller's Bullshit. Have you ever seen that program? This is from more than a decade ago. This is, like, 15,20 years ago. They made this show, but it's Penn and Teller, the magicians, and they basically go around debunking stuff. So it's kind of like MythBusters. One of them that they did was this effect of the expectation of something. So they were at a restaurant. They had people that would come in, and they would pour them a special glass of water, and they would say, like, we're having this water tasting. And this water is from someplace in France on the shores of the coast. And so you can kind of taste the saltiness of it. And there was another water that was from. I don't know, Alaska or something, right? And so you can taste the minerals of the mountains. And so people would have these waters, and they would taste them, and they would be like, oh, yeah, I think I can really think I'm getting that kind of minerality. Like, it's really interesting. I haven't experienced that before. So they had this water tasting, and then they had this dessert tasting, and it was like a mousse kind of a thing. They'd bring it out, and they'd be like, oh, this is a special fancy mousse prepared with liquid nitrogen and all this gastronomical kind of stuff. And people would be like, wow, I'm getting lemony scents from this, right? And then they cut to where they're preparing this, and it's like a guy with a garden hose, and he's just water right out of the garden hose into these glasses. And then the dessert is Cool Whip. And it's all in the setup. It's all in the story. And it's such an impactful part of food. And I love that because it means that you can take something ordinary and make it extraordinary by just creating the right environment.

Robbie Wagner: [09:16] Definitely.

Chuck Carpenter: [09:17] Yeah. The power of suggestion ambiance being something experience in general. And hey, Cool Whip is not that bad.

Robbie Wagner: [09:27] I don't drink a ton of scotch, so I'm not getting really many notes other than lots of peat and smoke.

Tom Preston-Werner: [09:35] Yeah, I'm not, like, super duper impressed. I mean, I love all scotch, so I'm impressed. Anytime I have a scotch. And I actually haven't had much scotch recently because I don't ever drink by myself because it's not any fun. And there's really been a lot of being by yourself over the last year and a half. So my opportunities to drink scotch have been diminished during COVID.

Chuck Carpenter: [09:59] I have a suggestion here to fix that and start a podcast where in the beginning, you drink a whiskey.

Tom Preston-Werner: [10:05] That's genius.

Chuck Carpenter: [10:06] Helps a lot.

Tom Preston-Werner: [10:07] That's genius.

Chuck Carpenter: [10:08] That's been our best idea so far.

Robbie Wagner: [10:10] Whiskey becomes a business expense.

Tom Preston-Werner: [10:13] Hey, now we're talking. Now you just need to have a reason to expense some private jet flights and drink scotch upon those private jet flights. Then you'll really be in business.

Robbie Wagner: [10:21] In-person podcast.

Tom Preston-Werner: [10:23] This is not nearly as complex as a lot of the scotches that I've had. I think it's still nice. This is like an easy-drinking scotch. It's not too hot, it's not too challenging, which can be nice, right? Like you don't always want to be challenged.

Chuck Carpenter: [10:37] I'd agree with that for me personally because I don't drink a lot of scotch. Like the peat monster, kind of its sort of like the IPA thing for me. Triple IPA too much. Peat monster, too much of that. This gets me some of that flavor without bowling me over just because I don't have the palate that I have it that often. So it's easy drinking in that way. And I'm getting those notes, and I like the citrus, light citrus, kind of like follow up with it. Not a lot of burn. Whereas I don't know if you've ever heard this term, but growing up, if you got that burn, they would call it the Kentucky hug. This would be a Scottish hug, I guess, but not too much hug.

Tom Preston-Werner: [11:18] That's great.

Chuck Carpenter: [11:19] So I'm going to say in that sense of things without it being like, oh, wow, this is amazing, but I can enjoy it. I'm getting some diversity. For me, I'm going to give it five tentacles.

Robbie Wagner: [11:30] Yeah, I think I don't know. I've only maybe had, say, like eight scotches total in my life. So I would say this is one of the better ones. I've had some that I really didn't like, so I would say maybe six tentacles.

Tom Preston-Werner: [11:47] It's all in context.

Chuck Carpenter: [11:49] It really is.

Tom Preston-Werner: [11:50] I have to think about the breadth of scotches that I've had because I've had hundreds. And I used to drink Johnny Walker Black. So I used to drink just beer. It was like the only thing that I would drink was beer. That's it. I wouldn't drink mixed drinks. I wouldn't drink wine. This was like early GitHub days. We'd go out to the bars, and we'd drink for like 8 hours sometimes and talk about technology and stuff. But if you drink beer for 8 hours, you're really full. That's a lot of liquid over a period of time. And so I was like, I need to find a drink that is more that is denser so I can drink less of it, and it'd still be normal and not weird. So I switched to Johnny Walker Black on the rocks, which one of my friends Blake would always call Borocks. So we called it Borocks. And so I'd get Borocks Johnny Walker Black on the rocks. And it was great. And I was like. This is not too like this is nice. It's whiskey. Whiskey is great. Everyone likes whiskey. This was sort of in the early days of Whiskey Renaissance, maybe before Whiskey Renaissance even really happened. And that was great. It solved the problem that I had. But then I started to kind of like it get kind of watery like the ice melts. And now you're drinking watered-down whiskey, and it's not super high-quality whiskey. So then I started branching out, and I was like, well, what other scotches do you have? And I'd get other ones on the rocks, but like, some of these, then you're like, you don't want to put these on ice. Not big cubes of ice in a tumbler glass. That's weird. You're spoiling them in these. The ones at the bars, of which there are generally not many, right? Like, this is the problem with scotch is you go to a regular dive bar in San Francisco or something. They've got three scotches, right? If you're lucky, they've got a Laphroaig ten or something, right? And you're like, yes. Score. But those start to get really challenging. Like, you go order a Laphroaig, and you're like, bam. Like, everybody in the room is like, oh, geez, someone just ordered a scotch. Like, you can smell it for 20ft when someone gets a pour of Laphroaig going, right? But then I got into that, and then I was like, wow, this is amazing. And then I started wanting to find, like, the crazy scotches. So then we get into try to chase the peat monster, as it were, right? Peat Monster itself, but that one is not. That's just like a mass marketing kind of a gimmick. The peatiest scotch in the world is the Octomore that Bruichladdich makes. I don't know what the peat level this one is, but it's probably 50 times as much peat as this. It's like ridiculous amounts of peat, like, almost undrinkable amounts of peat. And they do it just because they can. If they're not doing it because it's actually good, it's not you don't want to drink it.

Chuck Carpenter: [14:37] It's a one tentacle.

Tom Preston-Werner: [14:39] But it's all in the experience, right? Like, the only time you drink it is when you get a bunch of buddies around, and you're like, hey, let's all drink the Octamore, right? And everyone's like, oh, jeez, it's the peatiest scotch on the planet, right? And then the experience makes it interesting, even though it's not good by the standard of, like, I want to drink an excellent scotch that is going to really satisfy my needs from a peat perspective because it's too much. It's overpowering. But it's in the experience. And so from that perspective, you get out this tall, opaque black bottle of scotch, and everyone gets a dram of it, and it's a good time, but it makes it kind of hard to boil down to a number, but I'd say I've had some really good scotches, and I've had a lot of normal scotches. So I don't know, maybe four tentacles. Like, this is obviously high-quality scotch. It's good, but it's not for me personally. I like a scotch with some with really a lot of character, like a lot a lot of complexity.

Chuck Carpenter: [15:38] Yeah.

Tom Preston-Werner: [15:38] And I've had a lot of those. And so this is nice. I will drink this scotch any day of the week, but I'm going to go with I'm going to go about halfway.

Chuck Carpenter:[15:45] Yeah, I think that's perfect. From your perspective, you're saying this would be a sipper, as I would say, like, yeah, this is a regular sipper. I might keep around. It's great. It's not like an amazing experience that I might save for more special occasions or even something that is like, oh, I'm craving a little more. This is just, yeah, I'm not afraid to, like, it's a Wednesday. I've got friends over. I won't. Let's have a couple of these.

Tom Preston-Werner: [16:09] Exactly. And I think that's exactly how I would use the scotch. Got a bunch of people over. You just had a meal or something. You're drinking after the meal, and it's like bust out the Lagavulin eight, and everybody gets a big pour, and it's easy drinking. Then you're having fun, and it's not about challenging yourself or thinking that you're super fancy because you got some bottle of scotch or whatever. It's just, like, a nice time.

Chuck Carpenter: [16:30] No tuxedo required. Yeah. All right, well, I think we've covered the base of the whiskey, although feel free to continue sipping away as we discuss more technical matters.

Tom Preston-Werner: [16:42] All right.

Chuck Carpenter: [16:42] Following the format.

Robbie Wagner: [16:44] Yes.

Chuck Carpenter: [16:45] So obviously, the hot topic or the top of mind for you, given your T-shirt today, is talking about Redwood JS. Very interesting. We've got lots of lot of questions around that, like what's going on in the space right now and with things like Next.js and the compare contrast there. I actually listened to the React podcast that you did last year discussing that, and I thought it was really interesting. You were talking about full stack Meteor and then talking about your time with Rails and taking a lot of the paradigms out of Rails into this. And a lot of the things you were saying made me think about Ember as well. Taking a lot from Rails and Ember data and active record relations, and configuration ideology. So it's kind of one of the things Ship Shape was started as a Rails consultancy.

Robbie Wagner: [17:38] An Ember consultancy.

Chuck Carpenter: [17:39] Maybe like starting with sorry, yeah, an Ember consultancy. I swear I only had two sips, but maybe that's a great place to start and get some feedback and thoughts around what you think about Ember JS just as a framework with some of those similar ideologies.

Tom Preston-Werner: [17:57] Well, I will say that I've never used Ember JS, and I know almost nothing about it.

Robbie Wagner: [18:02] Good start.

Tom Preston-Werner: [18:03] Does that answer your question?

Chuck Carpenter: [18:06] It does. It absolutely does. Just like, oh, when I was listening to that React podcast, and you were talking about deriving these things from Rails, I'm like, this seems a lot like Ember. I wonder if he's going to bring up Ember. You did not. And that makes sense.

Tom Preston-Werner: [18:20] I went from Rails to, I guess, React-based front ends on top of Rails. So I never kind of dabbled in that middle ground before, and I just have not had the time to really go and extensively use kind of all of the different JavaScript framework things. And this is maybe my pattern. Sometimes I might be a bit more naive about some of the competition than you would expect because I half on purpose but half just because I don't have a lot of time. Go and do extensive kind of market comparisons because I do enough to know that the solutions that are out there aren't meeting the needs that I have. And then I want to just go build something. And in doing that, I don't want to be corrupted by the ways that people have done things before. It sort of kills beginners' mind or like thinking about what the best possible solution or the solution from first principles might be. Because you start thinking about, oh, well, that's obviously the way that you do that because that's what I've seen before. So some of its on purpose is to stay a bit naive of how everyone else does it. Just so that your solutions really are as novel as they can be. At the risk of reinventing the wheel sometimes, but I think the risk of being boring and repetitive is way higher if you're spending a lot of time with the competitive things being like, oh, what do they do well? And now you're just mashing together a bunch of things that other people did well, which is not the worst thing in the world, but I find it more interesting to kind of come at things from first principles. So that's maybe why I'm not an expert at the competition. I would say I'm aware of it enough to know that, to know a little bit. And I know Ember, well I don't know Ember much at all, but I know that people really, some people are really excited about it, and they really love how much care is taken in its evolution. And maybe that is something that has been interesting to me, that it's like, how careful can you be about how a framework develops and how much attention can you give to upgrade processes and making sure that people really have a good time with that? I'm getting this right, right? Ember is famous for this.

Robbie Wagner: [20:31] Yeah, it's stability without stagnation or whatever. So it's like really easy to upgrade usually. Sometimes they stumble off that path, but.

Tom Preston-Werner: [20:41] Yeah, I mean, it's hard, right? In an ecosystem that evolves as quickly as JavaScript, how do you possibly stay relevant if you don't have some mechanism for evolving? The problem then is if you have these huge breaking changes and you're swapping out chunks of your framework constantly to stay up with whatever the state of the art is in the JavaScript world, people are going to grow tired of that, and so it is a tricky thing to manage. And so we've spent a lot of time and attention in the Redwood world being very good and getting a lot of experience around the upgrade process. So if you go look at any Redwood release, you'll see extensive release notes with not only the list of what changed, what was added, and what the breaking changes are but then a full write-up of exactly how you upgrade all of the changes that you need to make to your application. And now we've started providing automatic code mods. So you just type like NPX something something into there Redwood, whatever for the code mod that you want to run, and we'll attempt to automatically make those changes for you. And that's something that we'd really like to provide going forward so that we can make bigger changes that might affect dozens of files in your code, but make it really easy to do that upgrade because it allows us to unlock future innovations in Redwood itself. Because that's one thing that we're not going to do is we're not going to stop, we're not going to stop innovating, we're not going to stop trying new things or bringing in better things that we found we can't, we may as well give up now if that's the case. So the only remedy to that is to be very good at helping people through the upgrade process. And we've been doing this. It's not even 1.0 yet, right? Like, it's we're 0.38. The next release will be the 1.0 release candidate, which I am extremely excited about because I said that we were going to have a 1.0 out by the end of last year, and it is now November of this year. And so I'm only a year, only a year late. Well, it'd actually be 1.0, probably first quarter next year, because we want to be careful. And a 1.0 means something, says the semver for a guy who said that people should be that things should be 1.0 as soon as anyone else is using them. I get it. It's hard. Versioning is hard. But I want the 1.0 to be meaningful. I want it to be to really mean stability. And a framework is a huge project. Like the surface area of this thing is just monster. So when I wrote that about for semantic versioning, it was really more about a smaller library that people are using, something that doesn't have the surface area of a web framework.

Chuck Carpenter: [23:14] Yeah, and a full stack one at that. So I think that people are committing a lot in their applications to take on the entire thing. And so, I can definitely understand the careful consideration in declaring like a full 1.0 there. Circling back to that podcast, I was referencing as you were talking a bit about Meteor JS as kind of being a similar not similar in any way other than they were full stack. But it started to make me think about how in some ways, Redwood kind of feels like if Ember JS and Meteor JS were to get together and kind of take concepts and now innovate something completely new out of it. It felt a lot like that to me.

Tom Preston-Werner: [23:56] I'll take your word on that one.

Robbie Wagner: [23:58] Yeah, of course. There's nothing to compare it to because.

Chuck Carpenter: [24:02] Right. Because here it is. This is what I mean. But where Meteor had the right intentions, and they were just too early.

Tom Preston-Werner: [24:11] Right, okay. I think that is something that was challenging for Meteor because they really did come out with amazing stuff, but they had to invent so much from scratch that it was like too much. It was too much newness. And this has always been a core philosophy of Redwood, is that we're not going to reinvent everything from scratch. As much as I would enjoy doing that. It's too far for people to leap to. Right. If you're writing a React GraphQL thing right now, if I come along and I'm like, hey, guess what? I have this amazing new thing, and you have to learn everything from scratch. Everything is different. Like Svelte, for instance, and Svelte is also amazing, but it's had a long road. Like Svelte's been out for a long time. It is finally really kind of achieving a lot of success in a bigger way. And I think a big part of that is because it's like this totally new thing. It's like, oh, you know, React, guess what? This is completely different. You're like. I don't have the time to go learn a new front-end framework right now. I'm sorry, I just don't. So a big part of Redwood was saying, what are the common tools that people are using? What are people trying to do? What is a common stack that people have that they just haven't integrated well? And selecting those common pieces and making the hard work be the integration, the polish, the magic, the joy that Rails really had that Rails created for me and so many other people that felt really missing in the JavaScript world.

Tom Preston-Werner: [25:36] But if you're writing JavaScript on the front end, it would be really nice if you could write JavaScript on the back end too, and like, where is that framework? And it was nowhere. And so that's really a lot of where Redwood comes out of and why it I think, for most people, isn't going to be much of a leap. It's like, oh, I know these things, GraphQL, I know that React, I know that Prisma is now becoming much more common. So on the back end for accessing the database, you're like, oh, I know Prisma, I've used that before, and those are kind of the big pieces. And then you go from there, and you're like, I want to use these pieces anyway. If I have to glue them together myself, it's going to take the rest of my life to get this done right. If you start with Create React app, I mean, that's not much. You're doing everything on your own. Redwood integrates all of that, plus just for testing, plus Storybook if you want to use it on the front end. We're actually dabbling with some things that may make it look a little bit more like active record. I won't say too much about that, but we'll always be searching for that maximum developer experience. Like, how nice can you make it to write a web application framework but still make it so it can scale to a large team of people, and you can have those separations of concern from the front end to the back end? And that's what Redwood is really about. And the way that we've started thinking about it more and more is that Redwood is the app framework for startups. And this helps differentiate it from, say, Next or Blitz or Remix or Bedrock, or there's a lot of people that are working on this kind of full stack JavaScript framework concept. And with Redwood, we're really trying to say we want to create something that you can build a startup with and all. Of the tools that you need are going to be there from a technology perspective. And that you're going to want because you're going to want to do testing and you're going to want to do Storybook eventually. And you're going to want GraphQL because you're going to have a mobile client or you're going to have a command end client or whatever, and you're going to want that separation of client from the back end to give you that flexibility. And so, yeah, Redwood is a little bit more complex when you look at it from the beginning than some of these other things. Like, you can look at Next, and Next is also amazing. All of these things are amazing. But you look at Next, and you're like, okay, you can get some really cool stuff done really fast, but now you have to invent all of your own integrations and all of your own patterns. Organizationally, every next step ends up looking different. And something that we liked about Redwood is that it creates more standards, kind of deeper into the framework. So someone that comes in that's new to the team, that's done Redwood before, can come in and say, oh, I know exactly how this is organized, I know exactly how we do testing, I know that we use Storybook, I know all of these different things. All of these things are just they're more well-known. Like, where do files go, right? Like, this is a thing five years ago, it was like, I'm going to create a web app with React. And you're like, where do you put your files? It's like, I don't know, everybody invents a new way to do it. And it just seems a little ridiculous that these best practices weren't being nailed down. And so that's, so that's also a frustration with the lack of best practices or for any consensus at all, really, because React has no opinions about any of these things. And people call React a framework, but to me, it's not a framework. And they lump them in with things like with, like, Next. It's like, you know, React is is versus Next in these sort of evaluations. And I'm like, what does that even mean? They're totally different things.

Robbie Wagner: [29:00] Yeah, it comes down to how much pain do you like. Do you want the batteries included, or do you just like engineering complicated things? And a lot of what you've just said is stuff I've been saying for years. Like, Ember has kind of similar ideals where it's like, why would you want to spend a month setting up webpack when I could just generate stuff and run my app?

Tom Preston-Werner: [29:21] Well, I didn't even mention webpack, but yeah, that's been months of our lives just wrangling webpack to do what we wanted to do. And this does not make any, like, a good webpack config file does not differentiate anyone's web application, right? Nobody has ever been like, hey, what's your web app? What's your webpack config look like? That's really important to me. Nobody cares. This is not work that we, as company builders, as app builders, product builders, should be thinking about. It should be, what's my business logic? What's my user experience? Let's go. And that's what we're trying to do now.

Chuck Carpenter: [29:55] There's no user value in webpack flex, is what you mean. And then you just start to debate opinions of, oh, what's your state management of choice? And what do you use a router like all these little bits and pieces that React would require from a create React app to actually get your application going would become, like, lots of internal debate? What do you what's our developer experience utilizing ABC? So I can actually see a lot of value, even from the business side, for adoption. It's great for Redwood because, you know, people with Redwood experience. They know how to get in and do all these things that are fairly well known. And even if they don't have that experience, Right? I'm starting a business. I'm getting my product out, and I know I can hire people with a skill set a lot easier than very specific nuances. I see that as being a big benefit, too.

Tom Preston-Werner: [30:52] Yeah, that's a big part of it. Hiring is, and people don't really think about it when it comes to language ecosystems or when we're just talking about what tools we like. But when you're building a business, it really matters. Am I going to be able to find Haskell developers? That becomes a really relevant choice when you go out to choose a technology or Erlang. I wrote a lot of Erlang in the GitHub days, and Erlang is amazing. But guess what's really hard to do? Find Erlang developers. There just aren't very many of them, or there were not back then. Now there's, I think, more Elixir developers, which is awesome. And that's why the Erlang at GitHub eventually got written out and replaced with stuff that people didn't know, like C and other things. Because it's like there's nobody here that knows how to fix this thing if it breaks, that's a liability. If there's only one or two people.

Chuck Carpenter: [31:43] The buff factor, it's huge on that.

Tom Preston-Werner: [31:44] Yeah, it gets the job done really well. And let me tell you, Erlang, for writing servers. There's nothing better than Erlang. Erlang is just the most amazing thing that you could possibly ever write a server, like a web server or some protocol server. And it is just remarkable how amazing that language is. And I'm talking like straight Erlang, old school telecom Erlang, not this fancy Elixir stuff that the kids use these days. No, Elixir is great. It makes Erlang more approachable. But this Erlang syntax is really special to me because the key to learning Erlang. I'm getting off on a tangent here.

Chuck Carpenter: [32:19] Fair enough. Tangent away.

Tom Preston-Werner: [32:21] The key to learning Erlang is to just let the syntax flow over you and to accept it and just be like, I will not resist this syntax. I will absorb it and immerse myself into it. And if you do that, then you start to understand the syntax. And it's so different than an imperative syntax, but eventually, you get it. And some of the patterns that it has are so remarkable that I miss them a lot. Like the pattern matching that it could do, most operations would return a tuple of like, okay, and then some payload or error, and then some error message, and then you could pattern match them on those with Erlang's pattern matching syntax, which you can go look up. And it just made it so easy to write these things. I miss it every day.

Chuck Carpenter: [33:09] So after Redwood one, I expect some Erlang coming. Perhaps Q2 next year.

Tom Preston-Werner: [33:16] I would love to write Erlang again, but it's not super practical today. Not a lot of people writing Erlang unless it's Elixir. I would love to go learn Elixir, though. And Rust. Everyone's writing rust these days. Rust is on fire.

Chuck Carpenter: [33:28] Everyone is writing Rust. Yeah, it is. Say Next twelve, just switch to the SWC compiler in Rust.

Tom Preston-Werner: [33:35] Yeah, everything.

Chuck Carpenter: [33:36] More Babble.

Tom Preston-Werner: [33:37] All the JavaScript tooling is being rewritten in Rust because it's faster. We're all going to be writing Rust in ten years instead of JavaScript.

Chuck Carpenter: [33:46] It's a possibility with WebAssembly.

Tom Preston-Werner: [33:48] WebAssembly. I'm just wondering who's going to come out with the first Ruby web framework that compiles to WebAssembly. That's what I'm wondering.

Chuck Carpenter: [33:56] It's interesting. There's definitely still, I think, a deep following for some people. It's just not what you read about blogs lately.

Robbie Wagner: [34:06] It's not the hotness.

Chuck Carpenter: [34:07] We haven't had any Ruby. No, it's not the hotness.

Tom Preston-Werner: [34:10] What is the hotness?

Robbie Wagner: [34:11] Well, just every new.

Chuck Carpenter: [34:12] Well, Redwood. Redwood is pretty hot right now. That's why we were like, oh my gosh, yeah, this looks really cool and interesting. We've been doing a lot of Next lately over this last two years.

Tom Preston-Werner: [34:22] Next is on fire. It's really remarkable how quickly it was around for a bunch of years, and then like, two years ago, it's just all of a sudden inflection point seems.

Chuck Carpenter: [34:32] I think people really started to get serverless, and then it's just kind of a natural bridge from there. So oh wait, serverless. Oh, this is deployed serverless. If you do it this way, especially if you do like the Happy Path in Vercel. Now Netlify does it, and they've just kind of made that a lot easier. And then it's not just the server-side render framework. It's got all these other patterns around static site generation but like incremental static regeneration and all this weird cachey kind of things to configure and play with. And then a bunch of things are already figured out for you. So now React is not so terrible with 50 different variations. It's got these things that they've already decided for you. So that bridge to Redwood, our interest in Redwood was pretty natural, of like, oh, you've decided a bunch of stuff for us. Well, maybe we can kind of dig this and just get things done. At the end of the day, I just want to get things done.

Tom Preston-Werner: [35:28] I know, me too, right? But it turns out you got to write a whole framework first.

Robbie Wagner: [35:32] I think you're constantly straddling the line of how much do you build in, to which point it gets too heavy and big for your app, right? So that's people's biggest concerns with Ember is this seems like one, it's pretty old, so like, oh, it's not the hotness, it's old, I don't care about it anymore. And then also it's big. So a lot of times, people use it for internal dashboards or something, or teams are really productive on it, but you can't ship like a really fast app in it. So I guess that would be a good question about Redwood is like how do you decide what gets in, what doesn't? And can it remain nimble or what's your philosophy there?

Tom Preston-Werner: [36:13] That's always top of mind, especially when you're doing client-side rendering, and you got to ship mountains of JavaScript down to the client for them to parse and execute just to get something drawn on the screen. And I think there are some really cool things that can happen with that. Like you can put that whole thing on a CDN and get it really close to the user, which deploying Redwood to Netlify. You kind of get that for free. You get all of your assets delivered really close. Now you still got to ping back to wherever your business logic is running, but at least you can get your client stuff delivered very quickly. But it's a big concern, and some of these libraries that we ship with, the client, ships with Apollo client still right now we've been wondering whether we should swap that out for something that's a little more lightweight. But that thing's pretty hefty. And so we do have to be very careful about what ends up in the website packages because that all is getting shipped down to the user, and it is kind of freeing to work on the API side and be like, we can add as much as we want. It doesn't really matter, right? Like this is all server side, you don't incur those costs. And so the way we decide, I think, is it's just like what is the usefulness to caught-to-size ratio, and we don't want to be shipping down stuff that you're not using. So I think a big part of the future of all of this stuff is going to be better tree-shaking kinds of things where it's like what percentage of the code that we ship to the client is actually run. Like you can look in the profiler, and it's usually like 40% or something. That's like dozens of megabytes of code that you're never even touching. JavaScript was not designed to be good at this operation of trying to prune out the stuff that you don't run. What if we could make it better? Or how long does it take us to make it better? To make it to where we can detect and remove chunks of code that aren't run? Because that would be awesome. But at the same time, most people who are building stuff, their primary concern is not eking every last ounce of render speed out of their app. It's getting something built quickly that the users are going to take advantage of. And so I think that's been the bulk of our focus so far. And so that's really where the bar is, like, does this make it easier for people to write an app? If it does, let's add it, and we'll figure out the performance. And so performance is admittedly not our number one focus right now. It's really developer experience and making it possible to get an app up and running and something that's going to scale into the size of a business, of a startup, something that's going to be with you for a decade, and that you're going to be happy with that decision and that Redwood's going to grow with you as you take that journey. And we will improve the performance over time. We will do all the fancy things that everybody does to optimize. But it's a long road. It takes some time. And it's, I don't think, people's number one requirement. The boss is not generally asking you to shave ten milliseconds off of your first paint, right? It's like, is this shipped? Did you ship this feature? Yes or no? You're like, well. We want the answer to be yes.

Robbie Wagner: [39:18] Fair enough.

Chuck Carpenter: [39:19] Yeah, absolutely. That makes a lot of sense. And like you said, it isn't 1.0 yet.

Tom Preston-Werner: [39:25] That's right. It's not even 1.0 yet.

Chuck Carpenter: [39:27] Make those considerations.

Tom Preston-Werner: [39:29] Yeah.

Chuck Carpenter: [39:29] So it's geared towards a startup kind of business. So is there a kind of application that you think it performs best for?

Tom Preston-Werner: [39:40] It's the same stuff that you would use Rails for or Django or any of these more traditional systems. It's a web application, interactive, where users are doing stuff, performing actions. We're less so focused right now on content pre-rendering. We have a pre-render feature where you can select specific routes and say, hey, I want this route pre-rendered, and we'll do that for you. But we don't have a lot of the other caching features right now. That's going to be post-1.0 stuff. So incremental, static site generation, kind of stuff like that. Next has we'll get there. That's just going to be post 1.0. This is what we call Redwood at scale stuff. And it all looks like caching. It's all different flavors of caching. Like all of this stuff, pre-rendering is a form of caching. Static site generation, incremental, static site generation, stale while revalidate, all this stuff are different flavors of caching. And so the way that we think about it from a Redwood perspective is what do people want to accomplish? What do they need to accomplish? So again, this goes back to first principles. It's like, well, we're not just going to add stale while revalidate just because that's how Next does it. Or Vercel, what do users want to do from your perspective? You have a route. What do you want to do with it? Or you have a chunk of a page. What do you want to do with it? How do you want to cache that? And should we do the caching at the GraphQL layer? Because that's starting to be really useful to do, and there's startups that are helping you to do that. We might be able to do some of that for you even without third-party startups helping you do it. What are all those points where you want to do caching, and how do we make that possible from Redwood's perspective?

Chuck Carpenter: [41:09] Well, and it's hard, right? The two hardest things everybody says, yeah. Caching and naming stuff.

Tom Preston-Werner: [41:15] That's right.

Robbie Wagner: [41:16] Yeah. Which I guess is a good question. This may have been covered on the site. I don't know. I didn't read it that closely. Is there a reason behind the name?

Tom Preston-Werner: [41:26] Oh, Redwood?

Robbie Wagner: [41:27] Yeah.

Tom Preston-Werner: [41:27] Well, yes. I'll give you my marketing answer then I'll give you the real answer. I like to be different sometimes than everyone else. Like, I just get tired of everyone doing the same thing all the time. And so anytime anyone's doing the same thing, I start to want to go the other direction. So when everyone started reading Harry Potter, everyone loved Harry Potter, and I was like, I'm not going to read that. Everybody likes that. It must be terrible. I'm going to read other stuff. And then later on, I read them, and they're amazing, and I was stupid to not, but this is just a quirk of my personality is that if everybody's doing something, I really try to do something different. And so everything in the React world is technology-based, and in their branding and naming, it's all like atomic stuff React itself. All these different things are very, and I wanted to be a physics person. I wanted to be like a theoretical physicist. So it's not that I don't like this imagery. I love it, it's great. But it it feels overused. Everything's an electron or a proton or a neutron or God knows what. It's all this stuff. It all feels very undifferentiated. So I was like, I need something that's the opposite. And what's the opposite of that? Something in nature that would be cool. Nobody names their projects after trees or plants, or clouds. Well, clouds, I guess. Everybody names stuff after clouds. So I was just brainstorming a bunch of ideas, and then Redwood was one of them. And I went through my big list, and I crossed off everything that already had a really popular NPM package named that, or I eventually narrowed it down to a couple, and Redwood was one of them. And I live in near the Redwoods up here in the Bay Area, and I love to go visit the Redwoods. And I love that imagery or that idea. And then I started thinking deeper about it, and it was like, Redwoods start small, and then they get really, really huge. And that would be cool if your web framework could start with you when you're really small but also scale to be super huge, like a Redwood tree. That would be really cool. Or Redwoods have bark that makes them really fire-resistant. So what if your web framework could help you avoid disasters and get through the hard stuff like Redwoods do with their bark? Or there was a couple there's something to read me. You can look at the README, and I list off four things that are like, here's why it's named Redwood. But if you go deeper back in the history of the README, you'll actually find that it used to be called Hammer, the Hammer Framework. And this was because I spent a lot of time in Berlin in the past couple of years, and I was learning some German. And in German, the word hammer means awesome. It's like slang for well. It's the word for hammer. It's the same word in German, just pronounced differently. But it's slang for awesome. And I was like, oh, that'd be a cool name for a framework. And then you could have, like, Thor's Hammer could be the symbology. And I had just read Norse Mythology by Neil Gaiman or listened to it. I recommend this. If you like Norse mythology at all, go listen to Neil Gaiman's Norse Mythology book. It's sort of his adaptation of the Norse myths. And he reads it, and he has just the best voice ever, just the greatest for this book. It's amazing. So I'd listened to that, and I was, like, super into Thor. And I was like, Thor's Hammer? That would be awesome. And then I had all these four same reasons that it would be named that way. And it's like, oh, Mjölnir Thor's hammer can be. He can shrink it. He can make it smaller, big on demand. And I was like, oh, this can be deployed on serverless. So it's exactly like Thor's hammer. So I had all these clever reasons why it should be named a Hammer framework. But then, one day, I went on Hacker News. No, it was Hacker News. I was looking for mentions of Hammer because I was like, I wonder if anyone's written about Hammer. This was two years ago now, probably. And someone had written an article, and in this article, they referenced it as Hammer JS. But it turns out that Hammer JS is an existing, quite popular mobile application, touch kind of thing. Hammer JS.

Chuck Carpenter: [45:36] Yeah.

Tom Preston-Werner: [45:37] And I knew this. I knew this from before. I knew that was the case. And I was like, but this is called the Hammer Framework, so clearly, there's no conflict of interest there. This is not going to be a problem. But then someone was like, and Hammer JS is this new web framework. And I was like, oh crap, this isn't going to work. Because you know what, when we release this thing, the very first comment on the very first Hacker News article about Hammer, about Hammer, the Hammer Framework is going to be, you know that name's taken already, right? I was like. I have to rename it. I have to rename it right now. That's why it got renamed to Redwood.

Chuck Carpenter: [46:13] So there you go. Hammer, Thor, all those things. Neil Gaiman, I love him. I've not done the audiobook thing with him, but I love when authors read their own books. It feels like it just gives it a whole additional nuance, and they know the parts that they feel the most about. And you kind of glean all of that from it.

Tom Preston-Werner: [46:30] I'm always impressed, too, because it's not a trivial thing to read to do audiobook stuff. I can only imagine how long that must take and how many times they have to. I mean, once you get good at it, I suppose you could get good at it, but I just, man, that's a slog, right? Like, at best case scenario, you're reading something for like 12,15, 20 hours. Man, that is brutal.

Chuck Carpenter: [46:55] Yeah, and I mean, it seems kind of optional because so many books are not read by the author, right? So I think that's why I appreciate that.

Tom Preston-Werner: [47:01] You don't have to. I love that, though. It's weird when you have a children's book, we have three kids, and there's this book called Dragons Love Tacos, which is one of the greatest children's books of all time. And you can get the audiobook version of this, but the way that the author reads it, I'm like, that's not how you read it. That's not how you read that book. Because I read it differently. And you're very opinionated about how you read a children's book.

Chuck Carpenter: [47:24] This is true.

Robbie Wagner: [47:24] You should release your own version.

Tom Preston-Werner: [47:26] I should.

Chuck Carpenter: [47:27] The competitive version. There's also the High Five one, the same author. I believe.

Tom Preston-Werner: [47:32] That one kind of needs the visuals, though, right? Like that one feels because you're supposed to High Five the pages.

Chuck Carpenter: [47:40] Yes. And they get very excited. I have two children, and they get very excited about those parts. So my son's five, and he's like winding up from the bed, just coming down with his massive high five. My daughter's only two, so she just sort of follows him up like, oh, we do this now. Okay.

Tom Preston-Werner: [47:57] Now we hit the book. You're training your kids. If your two-year-old is going to be like, smacking random books and be like, I don't know, we just smack the book every once in a while. That's what we do.

Chuck Carpenter: [48:09] For a two-year-old girl, she's very aggressive. So very interesting. Maybe it stems from this particular book. Hard to say. Now, you've drawn those conclusions for me, though.

Tom Preston-Werner: [48:19] This is now a Children's Book review podcast.

Chuck Carpenter: [48:21] This would be the whatnot section. It's usually just gibberish.

Robbie Wagner: [48:24] Devolved into whatever. Yes.

Chuck Carpenter: [48:26] So we've started to go from there, and then we go into Whatnot? And we'll talk about. I don't know interests or what we did. I mean, we just came off the heels of Halloween. I'm not sure about you, but I'm basically forced into having to do family costumes every year. And so we're on least the fifth one of those because my son is five. And we did Peter Pan theme. So my son is Peter Pan. My daughter was Tinkerbell wife, Wendy. And then I got to be Captain Hook. I live in Phoenix. It is warm here still, and polyester and warmth don't go well together. It was you're expecting something different on the final weekend of October. But yeah, it was 88 degrees, I think.

Tom Preston-Werner: [49:17] Yeah, that's brutal with these costumes. And I feel like there is no attention paid to these costumes that you buy where they're like, comfort is not a consideration. Even a little.

Chuck Carpenter: [49:28] Comfort and quality, they aren't there.

Tom Preston-Werner: [49:30] They're like, how do we make a Captain Hook costume for $3? That's the only requirement.

Chuck Carpenter: [49:37] Exactly.

Tom Preston-Werner: [49:38] So we did. Our kids' school has this thing called trunk or treat, which they do now, which is kind of like people decorate the trunks of their cars, and then we all go to the parking lot, and it gives the kids a way to kind of go, especially the really young kids, a way to kind of do trick or treating in a safe environment during still kind of COVID times. And so we went super overboard and got my wife's dad's pickup truck, which has a super long bed. And we got bays of hail and corn stalks and a bunch of chickens and spider webs and a chicken coop. And we made a haunted chicken coop that had bins in it, where you'd get three different types of eggs. We had, like, an Easter egg with some Play-Doh and a little spider in it. And then there was a kinder egg, the American version of a kinder egg, which is not nearly as good as the European version of a kinder egg. And then this rubber bouncy ball egg that looked like a real egg. And so the kids would come by, and they'd grab that. So we dressed up as scarecrows. So that was my main dress-up experience, just with overalls and kind of a straw hat kind of a thing. So it was a fairly simple costume. And then I went out with my son trick or treating, and my wife took the other two kids and went to Sausalito so that our older son, who's nine, could go with his school friends. And we went around a neighborhood in San Francisco, and it was amazing. And so I did not dress up too much. I just wore the hat.

Chuck Carpenter: [50:56] That's okay. It's not about us anyway, right?

Tom Preston-Werner: [50:59] That's right. He had fun. He had a lot of fun. I love Halloween, though. I love it because it's such a creative like. What other holiday is really built around creativity? Halloween is kind of the only one. All the other ones are very it's like this is the tradition, this is what you do. I mean, yeah, you can decorate like crazy for Christmas, and that can be very cool, but Halloween really amps it up and is about the creativity of the costumes and the decorations, and people really compete about it. It's just such a fun it's just fun. It's like the holiday that is the most just about fun and the experience. I love that.

Chuck Carpenter: [51:35] If you're very into creativity, I'm curious then, do you have other creative hobbies outside of your nine-to-five? So to say?

Tom Preston-Werner: [51:45] I have always been into building stuff with my hands because it makes a really nice counterpoint to coding, which is all virtual. It's really nice to get in there. So I've done all kinds of things. I tore down this old Jeep, 1978 CJ five, old model of a Jeep. Tore it all down with my friend Rob, who's also now on the core team of Redwood. We tore that down years ago when I lived down in Southern California and started rebuilt the engine and started putting the whole thing back together. Moved up to San Francisco before we finished it. But I love that kind of thing. Just learning. You really learn how an engine works if you take one apart and put it back together, it turns out, and I love that. So now I'm getting more into woodworking, which I've always been a little bit into and kind of dabbled in, but never really got in fully. But now I have some space to have a proper wood shop. So I'm putting that together, and I'm building a desk out of three-inch thick walnut, which turns out to be fairly challenging to work. Like, it's so heavy. It's going to be 6ft long, 36 inches deep, and 30 inches tall. And it's done in a kind of a waterfall style. So it's a flat top. The the legs that come down on either side and there'll be some kind of chunks of them scrolled out. So it's fairly simple. And it'll have these huge dovetails where the top meets the sides. They'll be like these massive three-inch dovetails. We haven't done that yet, but it's been really fun to do that. So I like to think about that. But I love making stuff in the real world.

Chuck Carpenter: [53:10] I think that just manual labor, in general, gives kind of a bit of a break and zen from what we do in software that has us solve problems in that way. Just kind of like. That shift I find very relaxing. It's funny. Robbie picked up an older four-wheel drive vehicle recently as well.

Tom Preston-Werner: [53:29] Nice. What do you got?

Robbie Wagner: [53:30] I got a 1965 Scout 800.

Tom Preston-Werner: [53:34] Cool.

Robbie Wagner: [53:35] Yeah. I am not taking it apart myself for fear of doing it all wrong.

Tom Preston-Werner: [53:41] You actually get to take it out, though. I've never actually driven this Jeep that I bought 20 years ago. I've only ever taken it apart because it wasn't running when I bought it. So I think you're probably doing it right.

Robbie Wagner: [53:52] Yeah. I had a Mustang back in the day, and I can bolt things on, but I can't take an engine apart and figure out what's not working.

Chuck Carpenter: [54:03] That's why I started with a 73 Super Beetle as the first one. I was going to learn how to work on cars because you can buy a whole new engine for, like, $800, break the whole thing, put another one in.

Tom Preston-Werner: [54:14] That's the great thing about these old cars is you really can take them apart. The amount of electronics in this Jeep is almost nothing. It's a distributor. It's a carburetor. There is a little electronic, little component, but it's just some electronics buried in wax. And that's it. It's the whole thing. Everything else is mechanical, and it's just such a pleasure to be able to look at those things and know how they work and think, like, oh, I could fix this in the field. Like, I could diagnose and fix this in the field if I had a couple of tools.

Robbie Wagner: [54:45] Yeah, I'm definitely a fan of less technology.

Tom Preston-Werner: [54:50] So, how do you feel about the metaverse?

Robbie Wagner: [54:55] Chuch. Chuck's wanting to get an Oculus and live in there, I think, but.

Chuck Carpenter: [54:59] I don't think I want to live in there. So they have the software for, like, virtual working or whatever together. I'm just curious. I don't even have a Facebook account, but I guess I'll have to get one to use an Oculus. I don't know. And then I do want to fight Darth Vader. I mean, I'm not going to lie. That's like a side effect. That feels like a win to me. Also, outside of those things. Yeah, I don't want this is just like another iteration of Second Life, in a way, with more features.

Tom Preston-Werner: [55:29] You don't want to live your entire life in a VR headset.

Chuck Carpenter: [55:32] No, I lived a year and a half in my bedroom as an office.

Tom Preston-Werner: [55:40] That's pretty close.

Chuck Carpenter: [55:42] Yeah. I've just been contained for so long I'm not sure that I could dive deeper into that.

Tom Preston-Werner: [55:48] Yeah, I feel conflicted about it, honestly. There's some amazing things about that idea of VR in general, but also, real life is pretty cool, too. Again, it's about balance. Everything is always about balance. You want enough, but not too much, and you want to be able to balance your life so that you're not isolating yourself from people in the real world so that you can spend time in a fabricated world. But some of that's really nice because you can have experiences in there that you might not be able to have in the real world, but it could be dangerous if it becomes a crutch or it becomes an obsession.

Tom Preston-Werner: [56:21] Needs some self-awareness, and I think, what, that's not unlike social media as a whole. And it's why I don't have any social media outside of LinkedIn, because A, for whatever professional reasons, I'm required to have that one, and then otherwise, I just found it to be kind of an unhealthy balance for myself. It's fine for other people, or they get different things from it, but it just didn't seem very healthy for me, so okay, well, I want to be able to. I'm already in front of a computer for so many hours a day, or a screen, whatever. Let me just have this one disconnect.

Tom Preston-Werner: [56:54] I think that's healthy. I do have a Twitter, and I look at it too much, and then I'm always angry at myself for looking at it. I'm like, Why am I reading these tweets? They're just making me angry or sad, or irritated.

Chuck Carpenter: [57:05] Yeah, that was exactly it.

Tom Preston-Werner: [57:08] But there is some great stuff there. I mean, it's a nice way to stay up on technology and know what the latest kind of things are and where the trends are. And I do some angel investing, and so it's a great way to find new startups that are around. But it has a lot of downsides as well.

Chuck Carpenter: [57:25] Yeah. As with many things in life. Right. Too much Lagavulin is not good for you. Some Lagavulin is good for you.

Tom Preston-Werner: [57:33] Exactly. Well, right again, it's balanced. It's all things in moderation. Including moderation.

Chuck Carpenter: [57:39] Don't over-moderate yourself.

Tom Preston-Werner: [57:41] You got to splurge every once in a while.

Chuck Carpenter: [57:43] Yeah, I get that.

Robbie Wagner: [57:45] All right, well, we are over an hour here, so I guess we'll wrap it up at this point. Thanks, everyone, for listening. Thanks, Tom, for coming on. If you liked it, please subscribe. Feel free to comment on things. We do have Twitter as well. You can chat with us there, and catch you guys next time.

Chuck Carpenter: [58:05] Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you by Ship Shape and produced by Podcast Royale. If you like this episode, consider sharing it with a friend or two and leave us a rating, maybe a review, as long as it's good.

Robbie Wagner: [58:20] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at shipshape.io.