Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.

Listen/Watch

31: Developing as a Developer, Appreciating Workers, and Navigating Framework Wars with Chris Garrett


Show Notes

When someone hands you an opportunity to specialize, to do something crazy with people you like, to learn from people building something before your eyes, it's difficult to pass up. An opportunity like that prompted Chris to leave LinkedIn for Bitski, a digital wallet for buying, selling, and storing NFTs.  Leaving what's safe and secure for what's largely unknown is definitely a risk, but Chris is a risk-taker. Despite loving Rust, Chris wanted to move away from JavaScript in the years ahead and expand his developer horizons. Plus, he's learned from experience that becoming emotionally attached to whatever you're using is a dangerous game.  In this episode, Chris talks with Chuck and Robbie about a lack of resources and corporate greed in open source, the framework eras we've lived through and what's to come, why workers are incredible, choosing a career path, and how to keep developing as a developer. Key Takeaways * [00:23] - Introducing Chris and his recent good news. * [03:20] - An heirloom whiskey review.  * [10:12] - Why Chris left LinkedIn and what he's up to now.  * [17:20] - What Chris learned from React. * [18:58] - A chat about Classes, Functions, and Tailwind. * [26:20] - What goes awry with execution in open source. * [34:33] - Why open source is not sustainable and a brief history of the framework eras. * [40:40] - Why Bitski has moved away from Ember.  * [46:49] - What Chris thinks about Web3.  * [53:37] - A DC, Disney, and Cars-themed whatnot.  Quotes [14:33] - "Honestly, I've worked with JavaScript for 10 years now and I don't ever want to become one of those one-language devs. So I would like to be able to transition away from JavaScript at some point. Or at least transition into being able to work in multiple languages" ~ @pzuraq [https://twitter.com/pzuraq] [28:51] - "We built these primitives so that anybody can do it. Anybody can go and build that functionality. You don't need to RFC it to Ember. You don't need to have it be accepted by the core team." ~ @pzuraq [https://twitter.com/pzuraq] [44:06] - "I didn't understand workers at first. I didn't understand that it fundamentally changes the dynamics of writing web applications." ~ @pzuraq [https://twitter.com/pzuraq] Links * Chris Garrett [https://www.linkedin.com/in/pzuraq/] * Chris on Twitter [https://twitter.com/pzuraq] * LinkedIn [http://linkedin.com] * Google [http://google.com] * Laws San Luis Straight Rye Whiskey  [https://lawswhiskeyhouse.com/our-whiskeys/#rye] * Netflix [http://netflix.com]  * ABC Stores [https://abcstores.com] * Rob Jackson [https://www.linkedin.com/in/rwjblue/] * Tom Dale [https://www.linkedin.com/in/tommothereffindale/] * Dave Hermin [https://www.linkedin.com/in/davidandrewherman/] * David Hamilton [https://www.linkedin.com/in/hjdivad/] * Chris Krycho [https://www.linkedin.com/in/chriskrycho/] * Bitski  [https://www.bitski.com] * Ticketfly [https://www.linkedin.com/company/ticketfly/about/]  * Julian Tescher  [https://www.linkedin.com/in/juliant/] * Patrick Tescher [https://www.linkedin.com/in/ptescher/] * Rust [https://www.rust-lang.org]  * JavaScript [https://www.javascript.com] * Wasm [https://webassembly.org] * React [https://reactjs.org] * View [https://reactnative.dev/docs/view] * Svelte [https://svelte.dev] --- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message

Transcript

Robbie Wagner: [00:09] Hey, everybody. This is Whiskey Web and Whatnot with myself, Robbie Wagner, and my cohost as Charles William Carpenter III. With our guest today, Chris Garrett. How's it going, Chris?

Chris Garrett: [00:23] It's going well.

Robbie Wagner: [00:24] You're actually named Chris? Unlike most Chris, we have on here.

Chuck Carpenter: [00:27] Yeah, we needed an actual Chris, not those pretenders.

Chris Garrett: [00:31] Yeah, I mean, I know so many Chris', to be honest. It's like every single time I'm on a team, it's like, how long until a Chris joins the team. At LinkedIn? I'm pretty sure there were four or five on our team, and then we just got the second Chris at Bitski, like, first double name, first person with the same name, so. It's like, inevitable, to be honest.

Chuck Carpenter: [00:54] And this is why you've taken the internet pseudonym of Pzuraq.

Chris Garrett: [00:58] Yup.

Chuck Carpenter: [00:58] And taught me before the show how to say it.

Chris Garrett: [01:01] Yeah. Pzuraq is globally unique. Unique identifier via Google. Honestly, that could be an algorithm. If it wasn't, that would probably be a very slow algorithm.

Chuck Carpenter: [01:12] But it works social engineering in a way.

Robbie Wagner: [01:16] So I hear you have some news, Chris. You want to share it with us?

Chris Garrett: [01:20] Yeah, we signed an agreement to buy a house today. We won an offer.

Robbie Wagner: [01:26] Nice. That's hard to do these days.

Chris Garrett: [01:28] Super excited about that. Yeah, no, there were 21 offers on this house.

Chuck Carpenter: [01:35] And this is in Alexandria?

Chris Garrett: [01:38] Arlington.

Chuck Carpenter: [01:38] Arlington, yeah.

Chris Garrett: [01:40] Right up there. It was insane. And we actually weren't the number two offer. Like, somebody bid above us and we were already bidding, like, well over asking. So somebody bid above us, all cash. And we won. I think it's because we wrote a really good offer letter. We were like, really? We love to look at this house. We love everything about it. We want to settle down, nest, startup family, that kind of stuff. And I think it was from a couple that had lived there for 30, 40 years and had done the same thing. And so that sentimentality. Everybody else, there was so many developers scouting the place, going to tear it down, just turn it into like a McMansion or something, you know.

Robbie Wagner: [02:26] Yeah.

Chuck Carpenter: [02:27] That's become such a thing in the culture now, like the writing a letter to the owners along with your offer and just kind of talking about what you love about the place or whatever, that's like, become such a norm, especially in high markets like DC area.

Chris Garrett: [02:43] Yeah, I think sometimes it works in cases like this, but we've also done that before and just had it, nope, it's all about the money. You know they just don't care. It really depends.

Chuck Carpenter: [02:55] Also, like, some people are cynical about it and as sellers, and they're just like, I don't know who's lying to me, actually, who's lying? And is just going to flip it anyway.

Chris Garrett: [03:04] Yeah, that's true. It's hard to tell sometimes.

Chuck Carpenter: [03:07] Well, you weren't lying, I guess.

Chris Garrett: [03:11] We might, you know, change a few things here and there, but honestly, it's a beautiful house.

Chuck Carpenter: [03:16] Congratulations.

Chris Garrett: [03:17] Just happy to, happy to get it, yeah.

Chuck Carpenter: [03:19] We should drink to that, I think.

Robbie Wagner: [03:21] Yeah.

Chris Garrett: [03:21] I think so. I was, like, really happy to have this podcast today. I was like. It would be a perfect way to celebrate.

Chuck Carpenter: [03:29] Yes. So today, we have the Laws San Luis Valley straight rye whiskey. Hold on. I'm looking at my notes because I have a bad memory. Looks like it's aged at least three years, has ABV of 47.5% and is 95% heirloom rye and 5% heirloom barley. I know they were saying, like, it's an heirloom grain.

Robbie Wagner: [03:56] What is heirloom?

Chuck Carpenter: [03:58] I think it means they're not sourcing. It's essentially like it's old stuff since that. They've been growing since the 30s semi-wild rye grain since the which I thought was kind of cool.

Chris Garrett: [04:08] Be similar to, like, when you get heirloom tomatoes or something like that, right?

Chuck Carpenter: [04:13] Right yeah.

Robbie Wagner: [04:15] I never even knew what that meant. I just thought it sounded cool.

Chuck Carpenter: [04:20] Perfume.

Chris Garrett: [04:21] So with tomatoes, it's that as I understand it, they bred tomatoes for a long time to look a very specific way. And that's why we have, like, Roman tomatoes, and they all look the same. We have like beef, steak, tomatoes or whatever. They all look the same. They're all red. But tomatoes weren't always that way. And heirloom tomatoes are kind of more like what they used to be like. And they're so much better. They're like just this rich, complex flavor. I find when you get heirloom stuff in general, there's a lot of that. Not always, but a lot of the time. Like, heirloom rice is a thing too. I've tried that out. It's nice. Halfway between wild rice and super-processed rice.

Chuck Carpenter: [05:07] Yeah. Sean Brock is trying to do that big thing, like working with people, bringing back South Carolina gold heirloom rice, and all this crazy stuff. Yeah.

Chris Garrett: [05:15] Interesting.

Chuck Carpenter: [05:16] You got to watch some Netflix cooking shows or something.

Chris Garrett: [05:19] Definitely.

Chuck Carpenter: [00:05:20.350] This is interesting. This has like a licorice kind of smell to me.

Robbie Wagner: [05:23] Yeah, there's a little of that.

Chuck Carpenter: [05:25] Yeah, right.

Chris Garrett: [05:26] It's got a very interesting flavor.

Chuck Carpenter: [05:28] Yeah.

Robbie Wagner: [05:28] I feel like there's some fruit of some kind. I can't decide what.

Chuck Carpenter: [05:32] Rind? A little citrus rind, maybe grapefruit rind or something. I think that, yeah, cause it's got some bitter to it. This is very different, actually. So maybe those heirloom grains, maybe there's something to that. Yeah. Getting a little musty, kind of.

Robbie Wagner: [05:50] Yeah. I went back to my giant Tumblr glass and ice because I missed doing that. And I have this you can't really tell over the internet, but this clear ice actually is fairly clear. Like the thing worked the way it said.

Chris Garrett: [06:04] Oh, man. Yeah. I can't even see it. I didn't even think you had ice in there. I got the circle the spear ice thing over Christmas.

Robbie Wagner: [06:14] Nice.

Chris Garrett: [06:15] Trying that out.

Chuck Carpenter: [06:16] Still using the Norland glass that I haven't broken. It's essentially like a it's like a normal Glencairn, and then it has an extra layer on the outside so that you don't touch and warm the whiskey.

Chris Garrett: [06:26] Got you.

Chuck Carpenter: [06:27] Yeah, it works pretty well. They are fragile. I had two. Now I have this one.

Chris Garrett: [06:34] I feel like double-layer glasses like that are always a little can be tricky. Like wine glasses that are like that too.

Chuck Carpenter: [06:42] Yeah, this is unique. It's got a little tart to it. You can get the bitter, get the licorice smell. I don't know if anybody's finding other things.

Robbie Wagner: [06:52] I still don't know the fruit reading.

Chuck Carpenter: [06:55] Back of the label. See what it says. Does it say? I remember it saying mint. It says mint, anise, salted toffee, orange peel, fig, and then finishes with a radiant serrano pepper spice.

Robbie Wagner: [07:09] Fig might be what I'm smelling because it's not like a normal fruit I would have every day.

Chuck Carpenter: [07:15]You don't eat figs every day. I actually have a palm fig in my front yard. So back to the whiskey, though. We have to give it a rating. Yeah, I believe. So, Chris, real Chris, you go first. One to eight. Where's this one land for you?

Chris Garrett: [07:36] I'm going to have to put this at, like, a 7.5. This is pretty nice. I definitely would drink this on its own. And that's not every whiskey for me. I got another whiskey that was local recently. I was like, oh, cool. Get a local one from the ABC store. That is new to me. I was not expecting that. And then I was like, oh, wow, okay. Got to go to specific store to get alcohol here. But yeah, picked one up, and it was awful.

Robbie Wagner: [08:04] Which one was that?

Chris Garrett: [08:06] Ironclad bourbon whiskey.

Chuck Carpenter: [08:09] Okay. Never heard of that one.

Robbie Wagner: [08:10] I have not tried that one.

Chuck Carpenter: [08:12] We'll have to make sure to avoid it. You'll probably be heading into the city for some more choices here and there.

Chris Garrett: [08:18] Yeah, definitely. There's a phenomenal speakeasy kind of near Mount Pleasant, I think, that we went to. And if you're ever in town, highly recommend that.

Chuck Carpenter: [08:32] I'm sometimes in town. So we'll swap some options. You got to go to Jack Rose, though, which is right there in Adams Morgan. Right at the bottom of the hill. For Adams Morgan, it's like a library of whiskey.

Chris Garrett: [08:44] Okay.

Chuck Carpenter: [08:45] Like, there's thousands of bottles there. It's amazing. And you can try some rare bottlings. They'll bust out stuff from the forties. All decades. You can get all kinds of crazy stuff.

Chris Garrett: [08:55] Definitely. I'll have to check it out.

Chuck Carpenter: [08:57] All right, Robert, how many tentacles would you give this?

Robbie Wagner: [09:01] I don't know. So what is the mash bill again? This is mostly rye.

Chuck Carpenter: [09:07] Like many ryes.

Robbie Wagner: [09:08] It's not my favorite rye. I like it. I would say I feel like I give everything a six, but I'm going to give it a six because it's not my favorite rye. But it's very good.

Chuck Carpenter: [09:20] I'm kind of feeling the six-seven kind of as well. Do we hate anything? I think it was like two whiskey we hate, and that's about it.

Robbie Wagner: [09:27] Yeah, it's rare that it's below. If it's below six, you should probably never buy that whiskey.

Chuck Carpenter: [09:32] Yeah, that's true. And this is unique and different and I've been wanting to try their stuff for a little while. So happy with how different it is. It's got a light burn to it, too, even for, like, a lower proof. Usually, below 100 for me is like, it's a little too much like water, but this ticks a lot of the boxes. So, yeah, I'll just go seven because I think I will tell my friends about it. You should try this one. It's good. It's different. You like rye. Well, this isn't like other rise. This doesn't like.

Robbie Wagner: [10:02] Heirloom.

Chuck Carpenter: [10:02] Spice punch you in the mouth. Yeah, it's got heirloom. It's aromatic to me. So, yeah, seven. I'm going seven.

Robbie Wagner: [10:10] All right.

Chuck Carpenter: [10:10] Cool. What technology-like things were we going to discuss.

Robbie Wagner: [10:15] Just lots of drama and, well, not necessarily drama, but the first thing I was going to ask about is, like, I think your reasons for leaving LinkedIn were not super drama filled. I didn't want to go into the specific things that some other people may have mentioned to us that had different experiences but just wanted to hear a little bit about why you decided to leave and what brought you to your new gig.

Chris Garrett: [10:41] Yeah, I can't speak to other people's experience, but I really did not have any drama at LinkedIn pretty much my entire tenure there. I really enjoyed working on the teams I worked on. Everybody there was phenomenal, and I learned a ton working alongside Chris Selden, Rob Jackson. Those guys taught me so, so much. Tom Dale was great as, like, a mentor. Dave Herman as well, especially really great guy, not really an Ember guy, so maybe you all aren't as familiar with him, but he's been on TC39. He's been around for quite a while. He's done a lot of things. And he's like one of the principal engineers there now, so like David Hamilton. So many great people on all of the teams, the Stef Penner. So it was a good time. Chris Krycho, of course. Also, he wasn't directly on my team, but we worked together a lot, so, yeah, I really enjoyed working at LinkedIn, and I honestly could have stayed there indefinitely. And I think that's part of why I decided to leave. Ironically, I'm 31, about to turn 32, buying a house, starting to think about settling down a bit, maybe having a family, and at some point, it's not really going to be an option to go to a startup in a crazy new technology space and just try to try something new, try something crazy, see if it works. So that was part of it. That was a big part of it, was like, this is an opportunity that's not going to present itself again. Eventually, I could come back either to LinkedIn, or everybody was really open about that. If you ever are going to be looking again, let us know.

Chuck Carpenter: [12:26] That's the best, really to like walk away and not burn any bridges, have like the door open to you. It was a positive experience for everyone. I'm sorry not to interrupt you, but I'm like, oh yeah, that's golden right there.

Chris Garrett: [12:39] Absolutely. I really wanted to make sure that I left it in a good spot with everybody and, you know, or I could go to another corporate job probably at some point, but I wanted to give the startup thing a shot, like really the startup thing. I was employee number eight, I think, engineer number three.

Chuck Carpenter: [12:58] Oh, wow.

Chris Garrett: [12:59] So this is the smallest startup I've ever worked at, and we're at like 40 people now, almost 50, I think. We've been growing like crazy fast, so it's been fun for sure. That was reason one. Reason two is I need the team, and I've worked with them before. I worked with them at Ticket Fly and also to the co-founding engineers, Julian and Patrick Tescher, both very brilliant people that I learned a ton from in my early career and I've kept in touch with over the years, and they were telling me about the startup that they were working on and it started to take off with their Series A, and I was like, I'll listen, we got drinks, and they told me about the vision. Metaverse and all of that stuff. This is before it was like the term everywhere that was being thrown around before all kind of in the middle of all the NFTs taking off, I would say, but it seemed interesting. I definitely think there is something there, and honestly. I would never join a startup like this without really knowing the team. I wouldn't join a startup in general without really knowing the team. And so that opportunity is like very rare, like a great team, you know, along with a technology you're interested in and the right timing in your life, that's very rare combo. And then the last reason was because their stack is amazing like they're using Rust on the back end, which I love Rust as a language, and honestly, I've worked with JavaScript for like ten years now, and I don't ever want to become one of those one language devs. So I would like to be able to transition away from JavaScript at some point or at least transition into like a multi, being able to work in multiple languages, kind of space, and Rust is my top language to be able to do that, and it's an amazing language, it is really phenomenal overall. It has so many great features like enums and Rust are just. Like you can do so much with them and pattern matching. I love it. So if I can use it to write WASM sooner rather than later, I'm going to try to so, you know, opportunity to re-specialize, opportunity to try something crazy, an opportunity to do it with a bunch of people, you know, it was really hard to pass that up, so yeah, that's why I decided to do it.

Chuck Carpenter: [15:28] Nice.

Robbie Wagner: [15:28] Yeah, it makes sense. That's similar to, like, when I started Ship Shape, I was like, well, I can always run back to corporate America if I need to, and this doesn't work out, you know, so totally understand that.

Chuck Carpenter: [15:40] Yeah, no, that's great. That's a good exit strategy if you had to, like you said, not getting any younger, so you're going to become more risk-averse as time goes on, as I know, with home and kids and all that crazy stuff, so, yeah, that sounds good. Although somehow, I still joined Ship Shape couple of years ago, so I don't know.

Robbie Wagner: [16:03] It's been going well.

Chuck Carpenter: [16:05] Yeah, it's been good. Robbie's a better salesman than he leads on, that's all.

Robbie Wagner: [16:09] No, really not.

Chuck Carpenter: [16:12] Yeah, that's cool. So a couple of different interesting points there. Robbie has some notes he wants to dive into, though. But yeah, not. I think every dev at some point, even if you were like, I love JavaScript, and this is just I'm very happy working these things. You need to dip your toes into other ponds just to get like, what does it feel like on the other side? Can I write something in another language every once in a while just to?

Robbie Wagner: [16:36] As long as it's not React.

Chuck Carpenter: [16:38] That's not a language, first of all. But also, I do think you.

Robbie Wagner: [16:43] Heirloom tomato.

Chuck Carpenter: [16:44] Yeah, it's an heirloom tomato from 2014, so I do think you should try those things, though, too, even within your own space, right? Like, hey, you've tried React, you've tried Vue, you tried Svelte. So don't pretend like you don't try these things even within your own space, but trying another language and building something with another way of thinking just kind of shows you that shows you that the tools you have to problem solve, you can apply to another toolbox. Right? I think that's really helpful.

Chris Garrett: [17:17] Yeah. And you also will learn things. We learned a lot from React, I would say. At times. I think when hooks first started coming out, I was really looking at them to kind of try to understand what's valuable there and out of that kind of game modifiers and eventually what we were working on. Unfortunately didn't get it fully finished before I left LinkedIn, but the resources and effects kind of ideas, I think we're trying to take the best parts of hooks, so I do think it's easy to be like, I don't need to look at that. But even languages, like COBOL probably, like old languages, probably had or have interesting ideas. Rust took a ton of stuff from like, functional programming that was super out of vogue for decades while object-oriented programming was taking off. And I think that what Rust has taken has really done it well. Like, it's more object-oriented than, you know, I don't even know if you can really call it object-oriented, but it's more object-oriented than Haskell or something, right? Obviously like super functional stuff.

Chuck Carpenter: [18:26] Sounds like Robbie's going to hate it. He does not like functional programming as like a paradigm in general.

Robbie Wagner: [18:32] That's not necessary.

Chuck Carpenter: [18:34] In my experience.

Robbie Wagner: [18:35] I mean, yes and no. So the thing that I complain about is, like, we spent years and years and years getting to, like, real classes in JavaScript and as soon as we got there, everyone's like, no, fuck that, we don't want classes. Functions are what you want.

Chris Garrett: [18:54] So I disagree with that because I think JavaScript is JavaScript. Like there are certain parts of JavaScript that just are part of the programming model and part of the language and kind of always will be. I think if you want a functional programming language, then WASM is there, and it's getting better, and we can build for that, right? We can make new languages that are better, and some people are trying. That's great, that's awesome. Elm is kind of like a middle ground compiles the JavaScript, but at least you're doing your own language. You can have guarantees there. You can do interesting things because of that, with some limitations. Stuff like React hooks. It's kind of the worst of both worlds to me because it's not really functional. They're state, you're kind of building up closure, state all over the place and set state, all of that stuff. It's not really that functional, but it's just functional enough to start tripping you up, and then yeah, you can't use all the great stuff we've learned about classes, all the great features that come with them. There's also just certain parts I think that classes are always going to be part of. I think they're going to become more integral than people realize. A lot of people have been I'm still working on decorators at the moment. It's actually going up for stage three at the end of this month, so oh, nice. Hopefully, it happens. It's kind of like the omnibus bill at this point. It's just like there's a lot of different sub-features that could be broken out, and I'm trying to be like, no, we have to do them all at once. We have to. So we'll see. But a lot of people have been not very excited about them. I keep getting random comments like, I don't see why we need decorators. We can just embrace the beautiful, functional nature of JavaScript. And I'm like, web components are going to be built on classes forever. And the best way to make web components, like to make classes better, is with decorators.

Chuck Carpenter: [20:53] Right.

Chris Garrett: [20:54] It makes them more declarative and have more things like functional programming.

Chuck Carpenter: [20:58] Plus, do you remember how excited we were about them like five years ago or whatever? Yeah, like decorators in general, we're like, yeah, these are amazing.

Robbie Wagner: [21:09] Yeah.

Chuck Carpenter: [21:09] And we don't care because we're impatient, and we jump onto the next cool hot thing. They got shipped fast enough to matter. I don't know.

Robbie Wagner: [21:17] And when you say we, you mean the people who don't do their homework and just like shiny things.

Chuck Carpenter: [21:22] Well, you know, I'm not in the we. I just want to be a YAML developer. So I'm just working on that slowly over time.

Chris Garrett: [21:31] To be fair, I really do like a lot of the functional stuff that's being added to the Records and Tuples. Those are awesome. I am really excited for those. There's a lot of really great features we can add. And I think if we're still stuck in the days of JavaScript, you having to iterate over things with for loops instead of for each or map. I think people forget what it was like before functional concepts even started to become a thing. Right. And it was, like, really not great.

Chuck Carpenter: [22:00] Let me present an alternative. It's not necessarily that we have forgotten. What has happened is that our industry has grown in an influx that is like doubling year after year after year. So it's sort of like percentage of people solving things now. Just didn't have to experience that. Yeah, you're normal for loop with there's people that didn't have to do that.

Robbie Wagner: [22:25] I equals zero plus plus.

Chuck Carpenter: [22:26] Yeah. Yes, exactly. Like you had to plus iterate to keep track of your loop. There's tons of people that just never had to do that. They've had the luxury of many of these things. Listen, when I had to go to work without shoes uphill in the snow and build websites with tables.

Chris Garrett: [22:45] Oh my God.

Chuck Carpenter: [22:46] And Photoshop-like slices. Okay. All that stuff. These are luxuries that some I was part of the whole, like, fighting to get CSS, like as a whole separate file that you load in instead of being like all the CSS styles on tables.

Chris Garrett: [23:04] Oh, man.

Chuck Carpenter: [23:05] Yeah, so I remember.

Robbie Wagner: [23:06] You mean like Tailwind?

Chuck Carpenter: [23:08] Well, no, these were just like styles. Inline styles. Inline styles all over the place.

Robbie Wagner: [23:12] Yeah. So Tailwind.

Chris Garrett: [23:14] I'm really enjoying Tailwind, to be fair.

Robbie Wagner: [23:17] Oh, I love Tailwind. I'm just giving him shit.

Chuck Carpenter: [23:19] Yeah. I don't know. He knows I'm like, do I have to style something? I don't want to anymore. I'm done. Everything is going to be native HTML.

Robbie Wagner: [23:27] Yeah, Tailwind is great because you never have to think about styles again. Like, I want a grid. All right. Grid. Grid calls go like it's a grid. I don't have to know the CSS grid. I don't have to remember all that stuff. And my CSS files that get exported are as small as possible.

Chris Garrett: [23:44] So I feel like the thing that makes it great is you can reduce the infinite space of CSS to a much smaller, but still very large space. Like the grid system, right? Like the widths and everything, the predefined padding, and whatnot, all being on a particular system. So you don't have to be like, oh, 157 pixels. Nope. There's like a certain number of ones that are allowed, and just find the one that's closest to what you want, and that's great. I still think there are certain places where I drop down into a low-level CSS. I just don't want to be doing that for every little component. And I still also extract out common components using Tailwind's. We have a plug-in system at Bitski, a Bitski Tailwind plug-in that adds basically like our bootstrap on top of Tailwind. Makes a lot of sense to extract common functionality and whatnot into components, but not having to do that for every little thing is great.

Robbie Wagner: [24:45] Yeah, definitely. I always give the example of look at a code base that doesn't use Tailwind and just search for how many times, like, display flex is in your CSS, and it's like, all right, 200 or whatever. So you won't save a lot of bytes, but if you change that to just the class name, flex, you save some. It helps a little bit.

Chris Garrett: [25:08] Yeah. It's also just like boilerplate, right? Like going adding the style, even if you're working in a framework that has single file components, like, currently we're doing a lot of work with felt that lowers the friction significantly, but it's still like there you still have to go open your style tag, add a class, add display flex, add the class to the thing. And again, sometimes that's worth it. Sometimes it's like, this class is going to be real custom. I'm going to do stuff here. But like, in general, if you just need display flex, utility classes are awesome.

Chuck Carpenter: [25:43] I don't have a strong opinion across these things.

Robbie Wagner: [25:45] Because you won't style, whether it's utility classes or real CSS or, like yeah, someone else can style.

Chuck Carpenter: [25:52] Yeah, I try to do that as much as possible. I'm like, what has already been done? I want to reuse that. Let me just grab that here. And there we go. I've had to do a lot of material, I would say, recently, but it's been like a year. Well, I wasn't having to do very much material, but now I'm doing a little more feature work and material. Just grab the grid component and pass some weird props to it and it does some magic. I don't know.

Chris Garrett: [26:17] Yeah.

Robbie Wagner: [26:18] So I want to bring up I don't actually know. You can probably explain this better than the wording I'm going to come up with here, Chris. Yeah, the tweet that you had linked me to the gist of, it was like somebody was complaining that Ember and Glimmer or something couldn't just be run in JavaScript or something, and they wanted it to be because we have HBS and whatever, and they want it to all be just JavaScript based or something. And you were like, that seems you know what I'm talking about.

Chris Garrett: [26:49] Yeah. Their argument basically is they don't like the new template format, which was just recently accepted. That's really great to see. But they don't like that because they wanted to be able to kind of do the Vue thing or the React thing. More so the Vue thing, where you can just drop a Vue component onto a page and just include it via the CDN or something, and you can just run it. And you don't need to have a pre-compiled step. You don't need to compile out a custom syntax language. The React people would say, like early on especially. I remember there were a lot of people who would be like, oh yeah, well, you don't have to use ASX, you can just write the thing yourself. I knew one guy who wrote this entire app doing that. Thought that was always a little weird. But anyways, point is that Ember has never really that's never really been a possibility with Ember because without including the handlebars compiler, which you should not do, you should never do. It is not optimized for browsers. It is not meant to run in browsers. People who do run it in browsers for anything other than a REPL, I very strongly disagree with doing that. But some people do, and we have to support those APIs. But I think that's really what it gets to is like we have to support those APIs supporting an alternate format that almost nobody should use. Literally. The only use case that I think is a valid use case is a REPL for demonstrating Ember or your framework in general. So almost nobody should use it, and it's not going to be performant, it's not going to be fast, it's not ergonomic. Like they were like, oh yeah, it's definitely not going to be ergonomic, but we should support it anyway. So I'm like, do you know how much work that is? That is an insane amount of work to support this extra functionality that isn't going to be used. And if you wanted, we built these primitives so that anybody could do it, right? Like anybody could go and build that functionality. You don't need to RFC it to Ember. You don't need to have it be accepted by the core team. I feel like there's this thing in the community where people are like, oh, well, if the core team doesn't accept it, that means it's not official or whatever. And it's like, even if the core team accepts it, that doesn't necessarily mean it's going to get built. Real people need to build it. They need to work it into their jobs. They need to work it into their lives, into their personal lives. In a lot of cases. It's a lot of work, it's a lot of effort, and it's really difficult to justify that cost when again, the people who are even suggesting it aren't stepping up to do that work. They aren't stepping up to be a part of the solution. You know, this happened with a Glimmer native, too, right? Like somebody wanted to have a support native script, but none of our companies are using it. Nobody was able to justify it on the roadmap, we could have accepted the RFC, but nobody was going to actually build it. And I kept saying to the person, like, hey, if you want it, start building it, and we'll try to support you. We'll work with you. You can ask us questions. We'll have that communication. If we need an API for some reason, we'll expose it. We'll figure out a way to get it out there. And just, once you start building it, like, if it gets to a certain level of momentum, then it can become part of the framework. Then if there's desire in the community, people are like, hey, actually, we're using this. Glimmer native is awesome. Like, tons of apps are being built with it. Let's really officially support it. Great. That's the way the process should work. I think, in my opinion, it can't really be top-down when you don't have the resources to make it top-down entirely. Right?

Chuck Carpenter: [30:40] Yeah.

Chris Garrett: [30:41] So, yeah, that was what that was all about.

Chuck Carpenter: [30:43] I think that's caveat to open source, in general, is that there's a lot of idea people, there's not a lot of execution. I really want this, I really need this. And then when it comes time, they're like, great, how are we going to build it? Everybody's like, I don't have time. I don't have time. I don't have time. I don't. Do you have time? I don't have time.

Chris Garrett: [31:00] Yeah.

Chuck Carpenter: [31:00] And.

Chris Garrett: [31:02] Where's the time?

Chuck Carpenter: [31:02] Yeah, exactly. Where does time go? I don't know. I would have some time, but I have some Netflix to watch. But I mean, that is like idea originator is one thing, people being excited about it, the whole thing is great. That's other thing, and then getting effort is, I think that's common in open source across the board.

Robbie Wagner: [31:22] Right. Yeah.

Chuck Carpenter: [31:24] Right. So it's an interesting thing to, like, think about it. Jest is so pervasive for unit test in particular, but then for testing across a lot of JavaScript these days, and then we learn, what, a week or two ago, that like, there's one guy kind of working on it. Facebook does nothing there. Oh, okay. You always assume that since they kicked it off, they like, are going to support it forever. But no, that's not the reality, and that's not the reality in a lot of stuff. Just because it mattered at a point in time doesn't mean it always matters.

Chris Garrett: [31:57] Right.

Chuck Carpenter: [31:57] So if you care, do something.

Chris Garrett: [31:59] It's kind of a problem. There's a writer that I've been following. I got her book, actually, Nadia Eghbal. I guess that's how you pronounce it. Her book is all about this. It's like about infrastructure, open source infrastructure, and how it has trouble getting funded and stuff. It's really, like, an interesting topic. I haven't actually read the book. It's on my list. But it's a huge problem. It's kind of an economics problem when it comes down to it because open source, I think there was a time when I believed, and plenty of other people probably believed, like, oh, this could be a new economy. Like, we could do something. People are collaborating in ways they never have before. Whatever. Right? And now I'm like, no, that's kind of just an extension of capitalism. It's a way for people to just organize under the existing system. And usually, the way it works is somebody basically gets their project supported through some company, right? Basically, a company becomes a sponsor. Very rarely a company becomes like the project becomes a product. Like fully Red Hat. It's becoming more often like Cypress. But I always feel like there's that tension between what's best for the product and what's best for the community then.

Chuck Carpenter: [33:17] Yeah, there is. I mean.

Chris Garrett: [33:18] It just gets tricky.

Chuck Carpenter: [33:19] Vercel and Next.js, I mean, that's, like, very clear.

Robbie Wagner: [33:22] Or Vercel and Svelte now.

Chuck Carpenter: [33:25] Maybe, yeah, could be. We're waiting with bated breath on that one. Yeah, something's going to go on there.

Chris Garrett: [33:32] While that can be the case, it still is usually better than the alternative, which is, like, some random guy to start ???, who's just stuck there with it just not getting compensated. And what's that xkcd comic. There's that xkcd comic where it's like all of the modern infrastructure stacked on top of each other. Like one random project that's holding everything up.

Chuck Carpenter: [33:56] Yeah, and it's like some NPM project where they went rogue or something. It's probably a commentary on what happened to faker.js or something. Right. That guy had, like, color.js and faker.js, and h,e like, basically broke them both on purpose.

Chris Garrett: [34:11] Oh, yeah, that one was not great, but I think this one was more referring to, like, OpenSSL, for instance, where it's just like it just wasn't being maintained. And that, oops major vulnerability, like fundamental security flaw and most of the web stuff like that, you know.

Chuck Carpenter: [34:28] Yeah, that's an interesting perspective. I think in general.

Robbie Wagner: [34:32] We've discussed this a couple of times before, and like, I don't have the answer, no one really has the answer, but I think kind of what people have done so far, like, in the case of LinkedIn per se, like, they want to support Ember, right? So they hire a bunch of Ember core team members and like, do that stuff, but they don't necessarily say, like, here's a million dollars to Ember. Build it. You know. It's like, I think there needs to be more companies to step up and are like, you know, we use these open source packages. Here is money set aside for those packages and their maintenance, and like, if there's a guy doing a ton of work on it that isn't employed there, that should go to them, you know? Huh?

Chuck Carpenter: [35:16] Oh, nothing. Yeah.

Robbie Wagner: [35:18] What did you say?

Chuck Carpenter: [35:19] You maintain a bunch of Ember packages, so you're a use case for this.

Robbie Wagner: [35:23] Mine are add-ons. It's different. I'm not complaining about my situation. I'm just saying in general, that open source is not sustainable because of that.

Chris Garrett: [35:32] There are some projects that are kind of trying to trend that direction. There was Henry Zhu, I think, for Babel. I don't know if he's still doing it, but he was for a while, and he was making a decent living doing it. Evan, You, and Vue. I'm pretty sure he's doing it full-time.

Chuck Carpenter: [35:48] Right.

Robbie Wagner: [35:49] Yeah.

Chris Garrett: [35:49] So it's possible, but yeah, it's definitely not standard, and it can be a problem.

Chuck Carpenter: [35:55] Aren't they monetizing on other areas like Vue School and things like that too, though? So it's not like as direct one-to-one.

Chuck Carpenter: [36:02] Possibly.

Chuck Carpenter: [36:03] So, yeah, you have things like that. So I have an interesting perspective, too, because Robbie, a couple of different times, has brought up the whole, like, oh, man, we've been in such a sweet space for a little while with Ember, and then now things are changing, and some people drop of,f and we're not getting as many people jumping on and all that kind of stuff. It's pretty interesting because, you think about it, the common line there is just people are getting older, right? So this group of people that really enjoyed working on this thing is now maybe aging out of it in a way. Like, oh, I just couldn't give it what I did before. It doesn't have a different sustainability model. Now what happens, right? Not as many people are jumping into it. There's not the same excitement or opportunity. And then it is what it is.

Chris Garrett: [36:53] Actually, that kind of dovetails nicely with what I'm kind of working on in a blog post. I think there have been several eras of JavaScript frameworks. Now I'm saying there are four eras, really. There was the before times, like, before JavaScript frameworks were a thing. Right?

Chuck Carpenter: [37:11] Yeah.

Chris Garrett: [37:11] The Dark Ages, right? Then there was the first wave of frameworks, and that was Ember, but also Angular, Backbone, Knockout, like so many things. And really, during that era, people were just kind of trying to figure it out. We had no idea what we were doing or building. Like, really. Ember 1 was all MVC. No components in sight. Right? Same with Angular. Most of them were MVC, but then there was, like, MVVM. It was like, oh, let's copy what we're doing on the server right now. Make it kind of like Rails because that's what's popular.

Chuck Carpenter: [37:40] Right.

Chris Garrett: [37:41] Then there was just other random stuff like Meteor was trying to do its weird thing you know. There were so many different experiments.

Chuck Carpenter: [37:50] It's so rough that's still alive, by the way.

Chris Garrett: [37:51] But I don't know what it is anymore. It's weird.

Chuck Carpenter: [37:54] Somebody bought it. So those guys all bailed for Apollo, and then they sold it to someone else. Anyway, that's just a side note there. So it still lives, and they're trying to iterate.

Chris Garrett: [38:05] Oh, Apollo is another example of an open source that became a business and is doing very well somehow.

Chuck Carpenter: [38:12] If you knew what they charged for Apollo Studio, you'd understand?

Chris Garrett: [38:16] I think we'll probably be using it soon.

Chuck Carpenter: [38:18] Their quotes are insane. Like half a million dollars a year kind of stuff.

Robbie Wagner: [38:24] So they don't wait for companies to sponsor them. They say, you give us this money.

Chuck Carpenter: [38:28] Yeah, you're locked in now. We're the most pervasive, and you're locked. Oh, do you want observability? You can do some other things, but we give you a lot of it very easily. Here, try it. Here's the first one for free. The next one costs you a lot.

Chris Garrett: [38:48] Develop a quality data layer with it too. Nobody else has done it in the meantime. I mean, Ember data came close, but it gets still too tied to Ember, and that was the first era of frameworks. Second era of frameworks. We have React, we have Vue, we have Svelte at the tail end of it. Everything in this area is like, oh, we're scaling back. Because they saw that things in the first era just weren't working super well. There were a lot of issues. Nobody was really, like, happy with these all-in solutions that were trying to solve every problem. So they scaled back, and they were like, we're just going to be B layer. We're just going to focus on the B layer, like everything else you can do. And honestly, in retrospect, that was very much just like kind of a rhetorical thing, right? It was like they were selling themselves as that. But ultimately, you were building a framework around said B layer, and it was not really interchangeable. The B layer was generally pretty specific, and you couldn't just swap it out easily at all. But what was really important at the time was the fact that they were scaling back and just focusing on doing one thing and doing it well. And that was specifically figuring out the component model and figuring out how that works and everything. So that's kind of what got figured out during this era. And certain frameworks died off, like Knockout Backbone. Certain frameworks adapted and kept up or tried to keep up. Ember, Angular, but that's mostly what era two was. And now we're in era three, which I just kind of really woke up to this year. I think we've been entering it the last couple of years, but it accelerated this year. This era is, I think, dominated by all-in solutions, again, specifically around server-side rendering. In the end, Meteor had it right. You do want your code to execute in both places. It gives you a ton of advantages. That is what we've been learning with SvelteKit at Bitski in the last year. It is phenomenal to be able to just add an end-point to your app, your front-end app that can do things like have a secret key so you can communicate with an API. You don't need to spin up a back-end service, and you get all the benefits of a server-side rendered application with all of the benefits of a single-page app. It's like all the stuff that Rich Harris has been talking about recently. It is phenomenal. And honestly, it's part of the reason why we started to move away from Ember at Bitski. It's hard to justify a framework that doesn't have that capability or wasn't really built on that capability anymore, especially after having used it for a while. And Ember is, I would say, like catching up with the component side of things that's definitely there with the single ?? components and everything now. But now we're talking about like rethinking SSR and making that much more centric. We're talking about probably rethinking routing. We're talking about rethinking data loading and whatnot. And it's going to be a lot. If I had the time to be able to work on it for the next year or two, I think maybe we could get there. But I just don't have that time, and we need to build a product now.

Chuck Carpenter: [42:12] Now, I have two comments. So to say, first of all, I'm going to dive right into that one. Why? Other than you have emotional investment if something's already solving a problem, right? And the best tool for the job is sort of always the rhetoric, and engineering is like, don't get emotionally tied to what you're using. Solve the use case, solve the business need, do those things. Use your tools as an engineer and what's available to you. And if it's not there, then you start to like create it, right? And that's how these things all come to fruition. So I would already say, like, yeah, but do you need to spend a year to make Ember be what you want? Or can you use the thing that is already there.

Chris Garrett: [42:58] Yeah.

Chuck Carpenter: [42:58] Is one thing. And then conversely, on the other hand of things, I feel like there's like a whole new framework slash browser wars. I always call it like the browser wars, but like, browser wars aren't really a thing anymore. So like, there's the framework wars over a few iterations. So now we're in three were probably in like another framework war in a way because you have, like Next, solving a very specific problem and attacking a very specific vertical. Remix seems to be trying to do similar things and be fast and be somewhat full stacky and do whatnot. SvelteKit. See, there you go. I didn't realize some of these things about Spelt Kit, so thanks for illuminating that for me. So that also feels like there's another big player in the space. Here we go. First of all, we realize the server does a lot of great things for us. So that's not eliminated, but also, like, let's take our learnings and take the next stage forward.

Chris Garrett: [43:57] I also think that a huge component here is the change in the platform. Cloudflare workers, Edge workers, Vercel, Netlify like I didn't understand workers at first. I didn't understand them until we started building this stuff, to be honest, I was like, oh, okay, that's cool. It makes SSR better. But it always just felt like, oh, that's just an optimization to me. I didn't understand that. It fundamentally changes the dynamics of writing web applications. I remember I was like two or three months into working with Sveltekit, and I was like, this is the way web apps should have always been built. I was doing stuff like adding authorization headers, doing OAuth in the server and in Cloudflare workers so that we could have an OAuth proxy, essentially, like have our API proxy, take the user's cookie, turn it into an actual authorization token, which is encrypted stored in Cloudflare KV, and send it to the actual backend. And that's something that you just could not ever do.

Chuck Carpenter: [45:00] Yeah.

Chris Garrett: [45:00] With a traditional single-page app.

Chuck Carpenter: [45:02] Well, I mean, I think it's on the shoulders of our predecessors, right? Like you said, we had to do all these things to sort of like circle around and figure out what was actually possible and then also to force technology to catch up and everything in between.

Robbie Wagner: [45:18] You could do, like I guess it wasn't like serverless stuff at the time, but you could run like cloud functions on like Firebase and stuff way before this was a thing. And I remember doing that because I didn't want to spend the time to make actual back end. So I would write like a couple of things that would do a little bit of stuff, like in their cloud functions and stuff. So yeah, I mean, people have been thinking about this for a long time, but now we're actually at being able to use it well.

Chuck Carpenter: [45:46] Yeah, it's funny because I remember when Cloudflare Workers were introduced. Take it a little slower, Carpenter. And I was like, oh, this sounds really cool. What the fuck am I going to do with this, though, right? I need people smarter than me to actually show me how to implement and then go from there. Well, yeah, I'm not an early adopter, but I can recognize the utility and a bunch of things that come out. Like, we talk about all this Web3 stuff, right? I recognize the utility and the stuff. I don't want an ape drawing, but I absolutely see where some of these things are useful and I have friends in the space and so I'm going to be a little sensitive to that. Like they're doing smart stuff. They're also better investors than I am, so I'll just leave it at that. But from a technology standpoint, I see a ton of utility here. I can't wait till the smart people show me what the hell to do with it.

Chris Garrett: [46:47] That's where I'm at about it. Honestly, I feel like there is rampant speculation in the space right now. Lots of rugs pulls, lots of terrible practices. Financially, I love the excitement. I don't think that it is realistic, and I think that a lot of the I'm still not even sold necessarily on the true Web3-like decentralized internet ideas. I think they're cool. I think they're worth exploring, for sure.

Chuck Carpenter: [47:15] Yeah.

Chris Garrett: [47:15] But I think a lot of the value is going to end up being very incremental. It's like using new systems to iterate on existing systems that do the same thing, but not as well, not as securely, and not as not in a way where it's decentralized enough that new companies can enter the fray, can try to compete. That's something right now. Perfect example for NFT use case buying movies on Apple movies or like Amazon. Right? I buy that movie. It's stuck there. I can't take it anywhere else. I can't use it anywhere else.

Chuck Carpenter: [47:52] Yeah.

Chris Garrett: [47:52] And.

Chuck Carpenter: [47:53] That's a good one.

Chris Garrett: [47:53] That kind of sucks. Especially when Apple's like, oh, I'm going to actually revoke that from you. That has happened to people. It's a real thing because they lose like the rights or whatever. So being able to take that potentially and transfer it somewhere else, that would be great. Right?

Chuck Carpenter: [48:10] Yeah. If you decide I don't want to be stuck on Apple TV, I want to go over to Amazon Prime and take advantage of my storage there. I want to take my library with me. Why can't I do that? Right. Like there's, Mp3s have a physicality in a way, and that you can have them locally stored on your hard drive. So yeah, I totally agree with that. That's a pretty good one. I've been using the wine club use case that Kevin Rose mentioned a couple of months ago. The whole thing, like my wine club membership, is basically an email on a list, and there's lots of people after me on the list. And if I delete myself from said list now, next person comes up. But it should be a commodity that I got on there at some point. People want this wine club thing. I can now sell my membership, and also the winery gets a portion of the proceeds when I do so. So it's a win-win. Why wouldn't they allow that?

Chris Garrett: [49:04] Yeah.

Chuck Carpenter: [49:04] I think that's a pretty good one too.

Chris Garrett: [49:06] I like that.

Chuck Carpenter: [49:07] There was a mortgage done in Florida on NFTs.

Chris Garrett: [49:11] Wow.

Chuck Carpenter: [49:12] Yeah, it's an NFT mortgage, which I think is good. Sorry, not the mortgage, but the title, the deed. The deed is on NFT, and you could associate things to that NFT, so you can start to attach a trail to that. Like we fix the roof.

Chris Garrett: [49:27] Yeah.

Chuck Carpenter: [49:27] We replace the roof. And now, you know, I don't need to keep stupid paper receipt or you trust me, right? Like people die, and then they forget, and then family is trying to resell, and they're like, we don't know.

Robbie Wagner: [49:38] The blockchain knows, though.

Chris Garrett: [49:39] Yeah, well, I'm not sure I would go that. I wouldn't trust it that far yet, but we'll see. I mean, that's why Bitski is getting into the space. There's a lot of wallets out there that are very, like, trying their best and doing a good job, but they're not security-wise. Managing your own keys and stuff, it's very tricky to do, and people lose their keys all the time. And for your average consumer, you may want something a bit more secure. We're a full OAuth provider. Your keys are securely kept behind a full authentication system, and they're kept and signed with hardware signers like HSMs. It's like what banks use for signing things. So we don't actually know your keys. We can just rederive your keys with a part, you know, which is like your password and stuff, and a part we know. So we never actually know your keys, but we keep your keys fully secure.

Chuck Carpenter: [50:41] Bitski. Yeah, I went to the website real quick, which is pretty cool. I want those sneaks. How can I get those sneaks?

Chris Garrett: [50:51] I think it was more conceptual than actually there.

Chuck Carpenter: [50:54] It doesn't exist.

Chris Garrett: [50:55] We have a new marketing page that's going to be coming up that'll have, but that will feature actual NFTs.

Robbie Wagner: [51:01] Okay, yeah, I've used Bitski because I don't know if you guys are official partners, but with the candy stuff, like Gary Vaynerchuk's stuff. So I bought like the football NFTs on there, and it's easy because there's only say 100 or whatever, so you have to be able to quickly get in, and you can just use a credit card, unlike most things, like buy it, got it, it makes it easy. But yeah, there's definitely a lot of people in this space, and I have no idea, like, who's going to be the winners in the end. But yeah, I think this is the only one that I don't have to buy Ethereum on Coinbase, transfer it somewhere, pay a bunch of gas fees, do a bunch of stupid stuff.

Chris Garrett: [51:48] I think there are more that are getting there.

Chuck Carpenter: [51:50] Yeah, Recur maybe is doing that.

Robbie Wagner: [51:52] I think they announced some stuff, but.

Chuck Carpenter: [51:55] NFTU.

Robbie Wagner: [51:57] Yeah.

Chris Garrett: [51:57] I think we were one of the first to figure that out. But I do think a lot of others, especially during the boom, caught up and are doing that. Like, Andy has their own thing they're doing with Palm now. They work with us occasionally still for their bigger drops and whatnot, but they have their own thing too, and it's an evolving space. But that was a big part of the reason also why I joined Bitski was, I think, the vision of, like, people are going to want to interact with Web3 in a web2 way for a while, at least until we figure out all the details. We are still iterating on OAuth. It took us a long time to figure out what to fully like and securely and we just got everybody on to like SSL and like DNS for SSL and like a lot of other things. So I think it will be a while before we really figure out Web3 to the extent where your average person can just do whatever and not really think about it, and it'll be fine.

Chuck Carpenter: [52:58] Alright, Robbie, are you ready to shut down Ship Shape, and we'll just join Bitski? They've got some positions open.

Robbie Wagner: [53:06] A lot of people have positions open. I mean, if it's about making the most money, we're probably doing it wrong.

Chuck Carpenter: [53:11] Oh, well, I don't think you're senior, though. Are they going to allow Robbie to join as a maybe mid-level engineer?

Robbie Wagner: [53:25] I mean, if it's Rust, I'm a junior.

Chris Garrett: [53:28] The front end is Svelte.

Chuck Carpenter: [53:31] Yeah.

Robbie Wagner: [53:31] I can do Svelte. Shepherd is in Svelte.

Chuck Carpenter: [53:34] Yeah, you're mid-level. Perfect.

Robbie Wagner: [53:36] Yeah. But we've talked a lot about technology for a while now, so we should spend at least a couple of minutes on not technology.

Chuck Carpenter: [53:43] Yeah.

Robbie Wagner: [53:43] So yeah. You've decided to put down roots here. What do you like about how does it compare East Coast versus West Coast? What are you liking in the area?

Chris Garrett: [53:51] Well, while the market here is insane, I like the fact that it is not nearly as insane as like Berkeley, California, which was, I love Berkeley, man.

Chuck Carpenter: [54:01] Tax rate isn't great, but it's lower than Berkeley.

Chris Garrett: [54:04] Yeah, we loved Berkeley. We would definitely have, like, bought a house there if we could get something more than like a shoe box for less than a million dollars. So that's part of it for sure, but there's a lot to it. I really like DC. The city. It's a beautiful city. I really like the atmosphere. I always thought DC is just kind of like where the government happens. I never thought of it as like a place you go to live that has its own culture and like, you know, like New York City right? Or like Chicago. Or like San Francisco. I never really thought of DC as like one of those places for some reason. And then when I went there, I was like, wow, there's so much here. It's not just like the mall. There are so many cool people, so many cool places.

Chuck Carpenter: [54:52] I'm really happy my wife's not going to listen to this because she pines after DC. We lived there for seven years, and she misses it a lot.

Robbie Wagner: [55:03] You can move back.

Chuck Carpenter: [55:04] Yeah, we could.

Robbie Wagner: [55:06] You'll only have 21 other offers on the house you want to buy.

Chuck Carpenter: [55:10] Perfect. I can tell you we're not moving back because she wants to live in the city. And I'm like, oh, let's go to Middleburg, like Robbie. I don't know because I am not dealing with 21 offers.

Robbie Wagner: [55:22] Hey, you can buy my house, and we'll move back to the city.

Chuck Carpenter: [55:27] That would be a funny exchange. We work it out. Can I just give you some stock options?

Robbie Wagner: [55:32] Yeah, you can give some of your equity back to me, and you can have my house. That will work.

Chuck Carpenter: [55:38] Alright, I'll talk to Sarah. We'll work this out. Chris, I lived there for seven years, and I'm way more cool than Robbie. So if you want to talk about things to do in the city, I lived in the city the whole time too, so I wasn't bridge and tunnel.

Robbie Wagner: [55:53] I was in Alexandria, and we didn't go in the city then.

Chuck Carpenter: [55:56] I don't mean that derogatory, but us city folk called you all bridge and tunnel. And so I lived, like, 16th and U for a while, lived in Capitol Hill for a while, Navy Yard for a while. Lots of cool things going on. So happy to suggest things across the board.

Chris Garrett: [56:11] Absolutely. Definitely open to suggestions.

Chuck Carpenter: [56:14] Especially the cool places to get whiskey to. To both buy and to just, like, the bars and restaurants to try out too.

Chris Garrett: [56:22] I'll definitely let you know. We're actually kind of doing, like, an elimination diet at the moment just to try to find some food sensitivities. So we haven't been going out much, but when we do, I will let you know.

Chuck Carpenter: [56:33] Yeah, I've done some of that too. FODMAP stuff or whatever. Or what?

Robbie Wagner: [56:39] Yes, the FODMAP diet thing. Yeah, we've both had, Liz and I both had some sensitivities, and we figured, just give it a shot, try it out, see if we can find anything. So far, not really much, but yeah.

Chuck Carpenter: [56:56] I found, like, onions, actually.

Chris Garrett: [56:59] Oh, wow, that sucks. Yeah, that sucks so much.

Robbie Wagner: [57:02] Yeah, onions are in everything.

Chuck Carpenter: [57:04] They're in everything.

Robbie Wagner: [57:05] And eggs.

Chuck Carpenter: [57:06] And I just started not caring at a certain point, but.

Chris Garrett: [57:09] That's where I would be if it was onions or garlic for me.

Chuck Carpenter: [57:12] Yeah.

Chris Garrett: [57:14] Yeah, no.

Chuck Carpenter: [57:14] It's a fun adventure.

Chris Garrett: [57:16] Yeah, really. Like, in the seasons, like, winter kind of sucks, but the snow is cool. And the fact that I don't have to drive in the snow or commute in the snow because I can just work from home.

Chuck Carpenter: [57:28] Yeah, that's very cool.

Chris Garrett: [57:30] And then the fact, like, right now, coming back to spring almost, right, like, starting to get there, it makes that so much more than, like, in California, because it's just like, oh, it's starting to get slightly warmer. Cool.

Robbie Wagner: [57:43] Yeah, it was already warm. Now it's a little warmer.

Chris Garrett: [57:46] Exactly.

Chuck Carpenter: [57:47] So I would say wineries in the spring. Very cool. There's some beautiful, like, expansive wineries out in Virginia.

Robbie Wagner: [57:54] I can probably see one from where I am right now. Not quite.

Chuck Carpenter: [57:58] And then the Cherry Blossom Festival. So if you're, like, there for the first, you got to do Cherry Blossom, especially since it doesn't have to be, like, time specifically. You can wait till they actually bloom and then go ride around.

Robbie Wagner: [58:13] From Alexandria, you can take the water taxi when the.

Chuck Carpenter: [58:16] Oh yeah.

Robbie Wagner: [58:16] Cherry blossoms bloom, and you can go right to it.

Chuck Carpenter: [58:19] Fun fact.

Chris Garrett: [58:20] We should probably do that because we'll be in Arlington after this, so we won't have that opportunity as much anymore.

Robbie Wagner: [58:26] There you go.

Chuck Carpenter: [58:27] So those were donations from Japan in the early 20th century to National Geographic Society. And they planted them all around, the original ones. Are all around the Jefferson Memorial. So I used to work for NatGeo. I don't know if you remember that from last time. And so I have a bunch of those weird factoids.

Chris Garrett: [58:45] I think I do remember that. Yeah, that's cool. That's awesome.

Chuck Carpenter: [58:49] Yeah. I would wander the halls of National Geographic, grabbing random old issues and reading stuff.

Robbie Wagner: [58:56] Nice.

Chris Garrett: [58:57] Totally.

Chuck Carpenter: [58:57] It was fun at the time. Before those, the 21st Century Fox took over, and then it kind of changed.

Chris Garrett: [59:06] Yeah.

Chuck Carpenter: [59:07] Cultural difference. They started putting, like, security things in. And the Murdochs. It was the Murdoch. I blame them.

Robbie Wagner: [59:14] You have to swipe out.

Chuck Carpenter: [59:16] Yeah, swipe in and out. Stupid.

Robbie Wagner: [59:18] I hate that.

Chuck Carpenter: [59:19] I hate that. Yeah. What's going on? Most of the engineering team were overseas. They started firing people, and then there was just a management group, and it was like, okay, nobody works here. We just tell other people what to do.

Chris Garrett: [59:34] Yeah. I feel like mergers suck in general.

Chuck Carpenter: [59:38] Yeah. I don't know how it's been since Disney.

Robbie Wagner: [59:41] Disney can do no wrong. Just keep doing the Star Wars.

Chris Garrett: [59:45] Except for they are apparently supporting the Don't Say, Gay Bill. And I'm like, I don't know about that. Or supporting people who support it. Something like that.

Robbie Wagner: [59:54] Okay, well, let me rephrase. When their content they put out, they can do wrong.

Chuck Carpenter: [59:59] There we go. The fact that they own Marvel and Star Wars, they basically own my childhood. And so it's a tough struggle.

Chris Garrett: [01:00:07] Kind of hard to beat that. I've been watching, actually. Have you heard of The Owl House?

Chuck Carpenter: [01:00:12] No.

Chris Garrett: [01:00:13] It's how I found out about this, because the creator was just talking about it. But it is a phenomenal show on Disney. It's a cartoon, but like.

Chuck Carpenter: [01:00:21] Owl house?

Chris Garrett: [01:00:22] The Owl House, yeah, it's kind of like.

Chuck Carpenter: [01:00:24] Owl. Oh, like hoot hoot.

Chris Garrett: [01:00:26] Yeah, exactly. There's actually a character named Hooty who does that a lot?

Chuck Carpenter: [01:00:31] Is it appropriate for children? Should I share this.

Chris Garrett: [01:00:33] Yeah.

Chuck Carpenter: [01:00:33] With my son? Okay.

Chris Garrett: [01:00:34] Yeah, I would say maybe eight to ten, not like young young children, but here I'll share a clip with you guys that will describe it pretty perfectly. It's like making fun of the sorting hat from Harry Potter. Think of it like, kind of like a slightly irreverent Harry Potter. It's great.

Chuck Carpenter: [01:00:55] Okay. Yeah, I'm into it.

Chris Garrett: [01:00:57] It's a phenomenal little show, and it kind of made me disappointed because.

Chuck Carpenter: [01:01:01] It's phenomenal and disappointing all at the same time.

Chris Garrett: [01:01:04] Well, it's quite LGBT-friendly. And then the fact that Disney just doesn't care enough to not, I don't know.

Chuck Carpenter: [01:01:13] I think that Disney, over time, has had a very strange moral stance anyway. All kinds of things. Right. Like princesses. And none of them have mothers.

Chuck Carpenter: [01:01:23] So they're in Florida and California. So they're very confused about where they stand.

Chuck Carpenter: [01:01:30] No. So they're in Orange County, let's be clear. So that's not the same as Southern California.

Robbie Wagner: [01:01:37] Yes, but still, Florida is just, well, I'm not going to get into my feelings on Florida, but they're not good.

Chuck Carpenter: [01:01:44] You won't be retiring there, is what you're saying.

Robbie Wagner: [01:01:46] No, there's still a lot of time.

Chuck Carpenter: [01:01:49] Listen, Tampa's nice. You can get a sailboat.

Robbie Wagner: [01:01:53] Yeah, I think I was listening to a previous podcast earlier today where you said Tampa is like saying it's like, yeah, it's Florida, but like, a little better, or something like that.

Chuck Carpenter: [01:02:04] It's basically like that. Exactly. That's what Tampa is like. It's Florida, but not so bad.

Robbie Wagner: [01:02:09] Yeah.

Chris Garrett: [01:02:11] Yeah.

Chuck Carpenter: [01:02:13] It's kind of like Arizona, where, like, I don't know, some of those people are dying. Right?

Robbie Wagner: [01:02:17] Yeah, I mean, eventually.

Chris Garrett: [01:02:19] Some of Arizona's nice. I've met pretty cool people in Phoenix.

Chuck Carpenter: [01:02:22] I live here. Do I not count?

Chris Garrett: [01:02:25] Oh, sorry.

Chuck Carpenter; [01:02:27] I used to live there, but now I live here.

Chris Garrett: [01:02:31] For some reason, I thought you lived on the East Coast still. Okay.

Chuck Carpenter: [01:02:36] Yeah. Even last time, I think, actually.

Robbie Wagner: [01:02:38] It's still like lunchtime where Chuck is.

Chuck Carpenter: [01:02:41] Yeah, it's lunchtime, and I'm not drunk. I might be a little drunk. It's okay. I've been on a healthier diet, which means, like, two whiskeys do the job. We go home, and my wife is going to be like, hey, take part with the kids. I don't want to.

Robbie Wagner: [01:02:57] I want more whiskey.

Chuck Carpenter: [01:02:59]Yeah, no, that's fine. I want more whiskey. It sounds very aggressive, actually. That's not how our relationship is, jeez, Robbie.

Robbie Wagner: [01:03:08] Yeah. No. Yeah, no, I'm getting my whiskey in because at any moment, I'm going to have to drive to the hospital because we're two weeks out from birth at this point.

Chris Garrett: [01:03:20] Congrats.

Robbie Wagner: [01:03:21] Thanks.

Chuck Carpenter: [01:03:22] I hate to break it to you. You're not going to stop drinking. Well, you might be too tired for, like, a week or two, and then as stuff is happening, you're still going to be like, this just makes it easier.

Robbie Wagner: [01:03:32] I mean, for right now, because I'm not to drive her to the hospital afterwards. Yes, I agree. Whiskey will be a mainstay, but yeah.

Chuck Carpenter: [01:03:40] You're not going anywhere. Well, you can't have too much now because at any moment I could be the driver.

Robbie Wagner: [01:03:47] Yeah. Like, I could get a call right in the middle of the podcast, and that would be not a good time.

Chris Garrett: [01:03:52] Yeah.

Chuck Carpenter: [01:03:53] Wait, does your old car drive yet?

Robbie Wagner: [01:03:55] The Scout? No, it has a roll bar as of today.

Chuck Carpenter: [01:03:59] Garbage car. What the hell did you do?

Robbie Wagner: [01:04:01] I've spent more in fixing it up than I spent on the truck, so it's getting out of hand.

Chuck Carpenter: [01:04:08] So Robbie thought you had, like, a smart plan, so he was like, okay, we're going to get rid of the Range Rover and get a Tesla as a family vehicle. And then I'll just get this old car to be kind of like, oh, a farm truck slash I can just drive it down the street to the office and work, and it's like, not a big deal because it's not that necessary. But he bought it, and there were some issues. He took it to a shop who has fleeced him.

Robbie Wagner: [01:04:32] They have not fleeced me.

Chuck Carpenter: [01:04:33] They rebuilt the entire bottom end of the truck.

Robbie Wagner: [01:04:36] Yes, they did. It looks much nicer underneath now.

Chuck Carpenter: [01:04:40] You're going to keep it for the rest of your life?

Robbie Wagner: [01:04:42] Well, maybe.

Chuck Carpenter: [01:04:43] I don't know if you're in the cars, Chris, or not, but.

Chris Garrett: [01:04:46] Not particularly, but I can appreciate a terrible situation.

Chuck Carpenter: [01:04:50] Yeah, I like cars. I know a little bit about cars. I fix some cars and I'm like, oh, gosh, how did this happen? I know what, you bought it on the Internet and didn't inspect it. Okay. Yeah.

Chris Garrett: [01:05:01] So I think I'm going to have to get going here, but it's been great.

Robbie Wagner: [01:05:06] Yeah.

Chris Garrett: [01:05:07] Great talking to you guys, as always.

Robbie Wagner: [01:05:09] Yeah, thanks for coming on. We went a little over. Sorry for taking a little while.

Chris Garrett: [01:05:14] All good. I enjoyed it. Cool. I'll see you all later.

Robbie Wagner: [01:05:17] Yeah, cool.

Chris Garrett: [01:05:19] Thanks.

Robbie Wagner: [01:05:19] Catch everybody next time.

Chuck Carpenter: [01:05:24] Thanks for listening to Whiskey, Web, and Whatnot. This podcast is brought to you by Ship Shape and produced by Podcast Royale. If you liked 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: [01:05:39] 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.