Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.

Listen/Watch

47: Web Frameworks, the Launch of Astro 1.0, and National Parks with Nate Moore


Show Notes

Introducing a new framework can be challenging, especially when developers are loyal to old favorites. But Astro 1.0 is bridging the gap between old and new by staying compatible and familiar with other frameworks. Nate Moore, an engineer at Astro Technology Company and core maintainer on Astro has been working on Astro 1.0 for 16 months. His major focus was launching a new web framework that is sustainable and future-proof. Astro 1.0 is targeted at devs building content-based websites and is compatible with most frameworks out there. In this episode, Nate talks with Robbie and Chuck about the launch of Astro 1.0, its compatibility with other frameworks, frameworks that inspired Astro, and Nate's life goal of visiting every national park. Key Takeaways * [00:49] - A quick intro to Nate. * [01:36] - A whisky review - Laws Centennial Straight Wheat Whiskey 4 Year. * [09:59] - What is Astro? * [23:24] - What are the new features in Astro 1.0? * [30:32] - Web components Nate has used. * [42:10] - The challenges with monorepos. * [44:41] - Nate's life goal of visiting every national park. Quotes [12:11] - "I think the ecosystem just goes in circles. But it is funny to see people come into the ecosystem and be like, where's your link component? It's like that's just an anchor tag. You don't need a component." - @n_moore [https://twitter.com/n_moore] [22:39] - "I heard somebody recently described Vite as the United Nations of JavaScript. Everybody is building on top of Vite now, and it's just really cool to see because if you hit a bug and you upstream a fix, then everybody is going to benefit from that, and people are really taking it in a lot of different ways." - @n_moore [https://twitter.com/n_moore] [27:39] - "I think people are really spoiled by how much investment like Microsoft has made into TypeScript and just like all the tooling around that stuff. It is so much work to get your own language up and running." - @n_moore [https://twitter.com/n_moore] Links * Nate Moore Twitter [https://twitter.com/n_moore] * Astro Twitter [https://twitter.com/astrodotbuild] * Astro [https://astro.build/] * NASA [https://www.nasa.gov/] * Law Whiskey Centennial Wheat Whiskey [https://lawswhiskeyhouse.com/laws-bonded-centennial-wheat-whiskey-turns-five-years-old/] * 1787 Coworking Space [https://1787.work/] * JavaScript [https://www.javascript.com/] * React [https://reactjs.org/] * HTML [https://html.com/] * JSX [https://reactjs.org/docs/introducing-jsx.html] * Stack Overflow [https://stackoverflow.com/] * JQuery [https://jquery.com/] * Svelte [https://svelte.dev/] * Solid [https://www.solidjs.com/] * Vue [https://vuejs.org/] * Ryan Carniato Twitter [https://twitter.com/RyanCarniato] * Redwood [https://redwoodjs.com/] * Remix [https://remix.run/] * React Router [https://reactrouter.com/] * NextJS [https://nextjs.org/] * Ember [https://emberjs.com/] * Glimmer [https://glimmerjs.com/] * Snowpack [https://www.snowflake.com/snowpark/] * Skypack [https://www.skypack.dev/] * Vite [https://vitejs.dev/] * Markdown [https://www.markdownguide.org/] * Netlify [https://www.netlify.com/] * Vercel [https://vercel.com/] * Discord [https://discord.com/] --- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message

Transcript

Robbie Wagner: [00:09] What's going on, everybody? Welcome to another Whiskey Web and Whatnot with myself, Robert William Wagner I, and my co-host, Charles William Carpenter III, with our guest today, Nate Moore. How's it going, Nate?

Nate Moore: [00:23] Hey, it's going great. It's a big day.

Robbie Wagner: [00:26] Yeah, it's Astro v1.0 day, right?

Nate Moore: [00:31] Yeah, we just launched, like, hours ago.

Robbie Wagner: [00:34] Nice.

Chuck Carpenter: [00:34] Oh, my gosh. Are we finally going to finish converting our company site over to Astro now, then?

Robbie Wagner: [00:42] It's been mostly converted. We'll get into this in the tech topics, the reasons why I haven't finished.

Nate Moore: [00:47] I can't wait.

Robbie Wagner: [00:49] Yeah. But if you want to tell the folks at home a little bit about who you are, what you do.

Nate Moore: [00:54] Yeah, absolutely. My name is Nate. I'm a core maintainer on Astro with a bunch of other awesome folks, and I actually am an engineer at the Astro Technology Company, which we formed to make this a sustainable project for the foreseeable future. So really excited to be part of that and yeah.

Chuck Carpenter: [01:16] Nice. It's pretty straightforward. Pretty awesome. Is that like, actual swag shirt you have on? It says something about space shuttle on it for those who can't see.

Nate Moore: [01:24] Oh, yes. This is a NASA jacket.

Chuck Carpenter: [01:28] Sweet.

Nate Moore: [01:29] Some of the folks on the core team got it yeah.

Nate Moore: [01:31] Yeah, it's very on-brand. I like it.

Robbie Wagner: [01:34] Nice.

Nate Moore: [01:35] Yes.

Chuck Carpenter: [01:35] Cool.

Robbie Wagner: [01:36] Yeah. So before we dive more into Astro, let's get into this Laws Whiskey here. We have today the Centennial straight wheat whiskey, which means it is all wheat, which can you even say it's whiskey then? Doesn't whiskey require some corn?

Chuck Carpenter: [01:54] No, just bourbon.

Robbie Wagner: [01:55] Okay.

Chuck Carpenter: [01:55] Just bourbon requires corn. Whiskey can be whatever grains kind of you want.

Robbie Wagner: [01:59] And I think whiskey can I make it from grapes?

Chuck Carpenter: [02:02] That's not a grain, so.

Robbie Wagner: [02:04] So it has to be a grain.

Chuck Carpenter: [02:06] I believe it is from grains. And then it also has to be, like, aged in barrels, but they can be used barrels and whatever else with other whiskeys. So it's all tricky.

Robbie Wagner: [02:14] Got you.

Chuck Carpenter: [02:15] It's kind of the wild, wild west or something otherwise. So, yeah, this is a place out of Colorado. Seems wild westy. It is a Centennial, which I don't know if that's a play off the whole bonded. It's 100 proof. All wheat all the time. Five years.

Robbie Wagner: [02:31] It says harvest of Centennial, which is what they call their heirloom spring soft white varietal, I think.

Chuck Carpenter: [02:39] Sounds interesting. I'm into it. All right, let's get to pouring.

Robbie Wagner: [02:43] Okay.

Nate Moore: [02:46] Satisfying pops. I already opened mine.

Chuck Carpenter: [02:50] Yeah, we did too, but then we recap it just so we can get that sound effect.

Nate Moore: [02:55] Genius.

Chuck Carpenter: [02:56] Very satisfying.

Nate Moore: [02:57] Pro moves.

Robbie Wagner: [02:58] You got to have the sound.

Chuck Carpenter: [02:59] I mean, we've done this, like, 48 times or something, right? So we're working up.

Robbie Wagner: [03:03] 47, I think.

Chuck Carpenter: [03:04] 47?

Robbie Wagner: [03:05] I don't know.

Chuck Carpenter: [03:06] Okay, fair enough. Somewhere in that vicinity. Has a very mild smell to it. It's almost got a little bit of, like, honey to me, smell.

Robbie Wagner: [03:17] You're influencing me, but I smell that as well.

Chuck Carpenter: [03:21] Not just on Twitter.

Robbie Wagner: [03:22] Definitely not on Twitter. Charles W has, like, one follower on Twitter.

Chuck Carpenter: [03:26] Yeah. And it's you. It turns out it's you. I'm more of a lurker anyway, so yeah, I'm getting a little honey and a little, like, lemony.

Robbie Wagner: [03:35] I'm getting a little bit of floral.

Chuck Carpenter: [03:37] Okay.

Robbie Wagner: [03:38] I can't put my finger on what type of floral. Like, fresh flowers of some kind.

Chuck Carpenter: [03:43] Now you affected me because I feel like I got a little floral taste there. Little pepper. Little pepper on the finish for me. Little floral on the initial.

Robbie Wagner: [03:55] It's kind of like a rye light. Like, not as spicy as a rye, but not as smooth as all corn. You know what I mean?

Chuck Carpenter: [04:04] Yeah, definitely has a little bite to it. I don't know. What do you think, Nate?

Nate Moore: [04:07] I think it's delicious, and I think I don't have a great frame of reference for this. I'm mostly a beer guy, but I really like it.

Robbie Wagner: [04:16] That's all that matters. If you like it, it's good. Doesn't matter how much it costs or what it's made of.

Chuck Carpenter: [04:22] Brews Web and Whatnot just didn't have the same ring to it, so we had to, we had to do whiskey.

Nate Moore: [04:28] Yeah.

Chuck Carpenter: [04:29] Yeah, I still get that floral in the beginning. Still get a little peppery in the middle. Maybe a little bitter rind on the end for me. Not a lot of wood or anything like that.

Robbie Wagner: [04:41] No.

Nate Moore: [04:42] I was getting a bit of the wood.

Robbie Wagner: [04:43] Getting a little bit of, like, some kind of marinade or something. I don't know.

Chuck Carpenter: [04:49] So maybe like a lemon, something marinade or something. I can kind of see that Nate is getting wood. This is a family-friendly show, Nate, though. Let's not share that.

Robbie Wagner: [05:01] It's not a family-friendly show. You can say whatever you want.

Chuck Carpenter: [05:04] No, it's not. Yeah, totally. And it's all subjective anyway. There's no like wrong answers. Right. It tastes like what it tastes like to you, your favorite. And you taste wood. Wood it up.

Nate Moore: [05:15] Yeah, it is. On the citrus. It's very, like, lemony is right. I feel like it's usually, like, more orangey. Yeah, the lemon is interesting.

Chuck Carpenter: [05:24] Yeah, that is, like, real interesting. And I don't know if that's a character of the kind of wheat because of a regular wheat.

Chuck Carpenter: [05:32] Centennial.

Chuck Carpenter: [05:33] Yeah. Right. Centennial wheat maybe has a more bitter quality to it. Yeah, I feel like a normal wheated bourbon or something tends to get sweeter and mild. You don't get any real pepperiness.

Robbie Wagner: [05:44] Yeah, I imagine that it's much different than the wheat we consume and everything else, which is no nutrients and terrible.

Nate Moore: [05:53] The bottle says apple and orange blossoms. But I'm not getting.

Nate Moore: [05:58] Oh, see blossoms. There we go.

Chuck Carpenter: [05:59] Yeah, maybe that's the floral aspect, though.

Robbie Wagner: [06:01] And lilacs.

Nate Moore: [06:02] Yeah.

Robbie Wagner: [06:02] See.

Chuck Carpenter: [06:03] Oh, I'm glad I didn't read all this.

Robbie Wagner: [06:05] Look how sophisticated I am.

Chuck Carpenter: [06:07] Right? You're actually getting it.

Robbie Wagner: [06:08] I'm not getting any of the apple or wild strawberry, though.

Chuck Carpenter: [06:12] Marmalade. Maybe marmalade was like the smell, like the sweet honey-like smell. Bergamot.

Robbie Wagner: [06:18] Yeah.

Chuck Carpenter: [06:19] Oh, there's honey. Okay.

Nate Moore: [06:21] The earthy minerality that can only be from Colorado.

Robbie Wagner: [06:25] Oh yeah. Isn't this the one that has the special mineral water that we were debating? Do you remember that?

Chuck Carpenter: [06:31] It could be? I don't remember many things. I don't remember 20 minutes ago because.

Robbie Wagner: [06:35] We were like, the New York mineral water versus the.

Chuck Carpenter: [06:39] Oh, Kentucky one.

Robbie Wagner: [06:40] Yeah.

Chuck Carpenter: [06:40] Well, Kentucky, they say it's the limestone water. So there's limestone there, and so the running water picks up limestone minerality. And that's why they say Kentucky bourbon is the best bourbon. Because the water and the water and climate changes, we got all that.

Robbie Wagner: [06:56] But it's not on a boat.

Chuck Carpenter: [06:58] It's not on a boat.

Nate Moore: [06:59] I do think every place that makes some liquid says their water is the best for some special reason. Because you definitely go to brewery tours in Chicago, and they're like, yeah, the Lake Michigan water like.

Chuck Carpenter: [07:10] Right.

Nate Moore: [07:11] It's way better than anywhere else. I guess everybody has just got the same schtick.

Chuck Carpenter: [07:15] Or like in Philadelphia, they tell you it's the water for their bread that makes their cheesesteaks the best because the bread you just can't replicate the water of Philly. I don't know. You got to have some sort of, like, pool. Like when everything becomes so ubiquitous, you can go to the grocery store and buy anything in any season you want or like. Wait, what makes us different?

Robbie Wagner: [07:37] Yeah.

Nate Moore: [07:37] The water.

Chuck Carpenter: [07:39] The water is always about. It comes back to the water. It's the most important part. Where are you, Nate?

Nate Moore: [07:44] I'm just outside of Chicago.

Chuck Carpenter: [07:46] All right, so that's why you go into Chicago for those brewery tours.

Nate Moore: [07:49] Yes.

Chuck Carpenter: [07:50] Fair enough. All right, now is the time with which we rate our things, and I'm going to have Robbie go first, and he can explain the scale.

Nate Moore: [07:59] Okay.

Robbie Wagner: [07:59] Yeah. Our scale is one to eight tentacles, and one is the worst. Like, you would never want to have it again. Eight is like. I'm never going to drink any other whiskey. This is the best. Throw all the rest away. Usually, we fall somewhere in between the two. For me, I'm going to say this is like a five. I'm kind of lumping it into ryes because it's kind of similar flavor a little bit, and it's just not as good as a rye to me. So let's say five.

Chuck Carpenter: [08:29] Interesting. All right, Nate, you can categorize it any way you want.

Nate Moore: [08:33] I was going to go with the six. It feels pretty solid. I would definitely come back to this. I really enjoyed it. It's a bit different than what I've had before, so definitely the citrusy, lemony thing I like.

Chuck Carpenter: [08:46] Yeah, that's pretty solid. Yeah. I'm kind of asolating between a five and a six myself because I'm unclear where I want to categorize it. I almost feel like it should just be in the category of different whiskeys, and which of these different whiskies would I have? So I feel like it's good and interesting in that it's repeatable in that category. At first, when I tasted it, I was like, this is okay. It's actually getting a little bit better each sip. So wanting to come back and give that a shot and even maybe trying a cocktail. Nate looks like you're bumping up right into the ice cube. Yes, I could see it, like, getting cooled down a little bit. Might actually give it some different things, although I'm adamant that I always try it as intended. So, yeah, I'm going to stick with the six. I'm like, yeah, this is interesting. I can recall their other Laws being good, so I would go back to Laws and try some of the other stuff too. So I'm going to post it right here. Set into it, stamp it. Six it is.

Robbie Wagner: [09:44] All right.

Nate Moore: [09:44] Nice.

Nate Moore: [09:45] Yeah, I mean, I could probably be swayed to come up to six. We could just say it's basically a six.

Nate Moore: [09:50] Yeah, that's clearly the right answer.

Chuck Carpenter: [09:52] Yeah. Six, six, six. Turns out we're the devil.

Robbie Wagner: [09:59] Well, what is not the devil is Astro.

Nate Moore: [10:02] That was smooth. Good transition.

Robbie Wagner: [10:07] Well, I guess it depends who you ask, right?

Nate Moore: [10:09] Yes.

Robbie Wagner: [10:09] There's a lot of buzz around Astro. People have been talking about it in all kinds of different spots. I think it's pretty cool. We use it for the 1787 website for our coworking space. I've been working on converting our website, but it's been slow. A lot of stuff has been in flux, as you know, working to 1.0, all of that. But I guess before I ramble too much about nonsense, do you want to give a quick intro to people who might not know what is Astro?

Nate Moore: [10:36] Yeah, absolutely. So, Astro, we've been referring to it as this all-in-one web framework. So the idea is a lot of the stuff you need is kind of built-in. Has really good defaults, and specifically, we're targeting like content-based websites, so not like heavy interactive apps. As much as like, I just need to get some content out there. Astro is, like, a really great choice for that. So there's a bunch of stuff to dive into in that description, but we're kind of focused on server first, and our big claim to fame was, like, popularizing partial hydration as a technique. So we could definitely chat about that some more.

Robbie Wagner: [11:21] Yeah, for sure. I'm going to kind of move around here a bit to piggyback off of what you were saying, that it's mainly for a static site generator, for lack of a better term. But I think, and correct me if I'm totally wrong here, that I've seen some packages that are like Astro SPA or something. Like to turn it into a SPA.

Nate Moore: [11:42] Yeah, that's definitely something we're looking into. I had a PR for a long time, and it just didn't make the cut for 1.0. But now that we're out of this pre-1.0 world, it's definitely something I want to go back to. So, yeah, we're kind of proudly like, MPA first, which that's only in reference to SPA. So it's just a regular website like you would get from any other server-side framework. And it is funny because I think the ecosystem just goes in circles around this, like thick client, thin client, all that fun stuff. But it is funny to see people come into the ecosystem and be like, where's your link component? It's like that's just an anchor tag. You don't need a component. Right?

Chuck Carpenter: [12:28] Right.

Robbie Wagner: [12:29] Yeah, we've definitely been heavy-handed with some of the things that have come out, and it's refreshing to be able to like, my goal, and I guess kind of the goal of Astro in general, is not to ship any JavaScript. So it's really cool because you can basically code it as if you were using JavaScript. You can import your stuff, you can write your loops and do your things, and it just magically goes away, which is awesome.

Nate Moore: [12:57] Yeah. I think there's a lot of stuff that we were kind of looking at the history of web development, and there was a lot of good stuff before React came around that we liked a lot of that, and then we also loved so many of the DX improvements that React brought and component-based architecture just makes so much more sense and how can we kind of mix these two worlds and keep it static? So you're not shipping a ton of JavaScript to the client, but that's what you're comfortable in, so you're going to write that on the server, and it hopefully feels very fluent. I think it's been a great reaction so far.

Chuck Carpenter: [13:34] It kind of feels like, and I haven't been in the weeds on it, but I'm just wondering, and we've talked about this before a little bit in the previous podcast around having HTML become a first-class citizen on the web. Your browser treating HTML as intended kind of thing instead of a bunch of magic DOM and shadow DOM work.

Nate Moore: [13:55] Yeah, absolutely. So when we were designing the Astro format, it was really important to us that it felt like HTML, meaning it has some of the weird spec-compliant semantics that are a little funky in HTML. But it's very much like you could take a snippet of HTML and just paste it in. That always annoyed me so much using JSX when you're like, oh, I'll just take this SVG and plop it in, and it's like, oh, got to convert it to JSX first. So that was important to us, that it was like if you go on Stack Overflow and you copy and paste something, it just works. Hopefully, so close to HTML is kind of the first thing, and that hopefully makes it much more approachable for newcomers to web development. You don't need to wrap your mind around functions and closures and all this crazy stuff just to write a component. So the other unique thing about an Astro file is we have these three dashes at the top. So we have a front matter like syntax, but you actually write JavaScript up there, so you kind of do all your setup code on the server in that front matter area that's nicely, like, portioned off from the rest of your template.

Robbie Wagner: [15:12] Yeah, it's definitely a nice syntax. I think the one thing that I struggled with well, I probably struggled with more than one thing, but it was a little bit weird to me that there was no way to like, say in that same block, I want this JavaScript. Like, if I have a carousel and I need it to have a little bit of JavaScript, I have to do like a separate script tag at the bottom or something. I don't know if any of that has changed since 1.0 or anything like that.

Nate Moore: [15:39] No. I think what we've been doing mostly is that you write your templates in Astro, and if you want some client-side interactivity, you can reach for a framework. I think what we've found most of the time is that the things you're going to need client-side interactivity for are like fewer and far between than you actually think they are. So that's what we found. We actually just rebuilt our homepage astro.build, and we did not reach for a framework at all. There's a couple of like interactive parts, but it's kind of where Astro shines because it's just cool. I already have my templating. I can just layer in. It's the sprinkles idea. That like just the little bit of JavaScript I need. I can just write like a script tag and handle that there.

Robbie Wagner: [16:27] Yeah, I think I wrestled a little bit with it because I'm so used to frameworks. I was like, okay, I have a carousel, and I have like five things, right. So I want it to be like one of five, two of five, like increase the number. So I literally had to do old school like get element change, inner text, or whatever, and I was like, this isn't that bad actually. I just forgot that you could do this.

Nate Moore: [16:49] Yeah, like, the platform has come a long way while we were all playing with React, and I think there's a lot more there that is not as painful as people remember.

Robbie Wagner: [16:59] Yeah, it's come a long way from the days of jQuery was the only way to do everything, for sure.

Nate Moore: [17:04] Totally.

Chuck Carpenter: [17:05] I was going to say we don't need to lean even on jQuery because the spec has come a long way, and you get a lot of things in native JS. So if things like Astro come along and tell you to lean on the tools we actually have, that would be great. I think because you were mentioning, like, newcomers, they're often coming out of even with degrees or accelerators and everything in between, they're just coming out knowing React. They don't really know what JavaScript can do and what you can do just out of the box without any of that import stuff. So I think getting back to being able to build websites and even some applications to a degree without leaning on any of that sugar would be really nice.

Nate Moore: [17:51] Yeah, I think our initial pitch in the beta period was kind of like bring your own framework. And that's absolutely still a thing. If you want to write your components with React or Svelte or Solid or Vue, you can totally do that. That's still something we're going to support. It's something we're going to support forever. But I think we've kind of seen the story evolve, and at least personally in our use, we're seeing like you probably don't need it most of the time if you're just adding interactivity for this one thing, like click a button and it opens a cart on the side. I don't know if you totally need to pull in all of Vue or whatever for that. And that's actually something where we were very excited to be one of the first tools with Solid support. Solid JS is really cool, and it's just really nice to be able to migrate that we support any kind of framework. So when the next Solid or whatever comes around, if you have a bunch of React components you can kind of incrementally on this page, I'm going to start using Solid, and it doesn't affect the rest of your site?

Robbie Wagner: [18:59] Yeah, for sure. And I think it's really cool. I feel like the community has been moving more towards things that work together and don't hate each other and aren't compatible. Because I think at the end of the day, the more you use normal web standards and make things play well together, the better off will be because there's all these companies that spend five years making a React app, let's say, right?

Nate Moore: [19:27] Yes.

Robbie Wagner: [19:27] And then all of a sudden, what if React dies, right? If you have a lot of more used web components or things that use less framework bits, all of a sudden, you don't mind as much. It's not as painful.

Nate Moore: [19:41] Absolutely. I think setting the baseline of good defaults for a meta framework is what a lot of people have been referring to Astro as. Like, I want file-based routing. I want just bundle my scripts and handle my styles and do that kind of stuff. I think we've found that decoupling that from the actual framework that you're using is a really big step forward because it frees you up to focus on other things. I think Ryan Carniato, who's been working on Solid, actually really loves Astro because he doesn't need to deal with those problems that we're solving. And we love Solid because we don't need to deal with the problems he's solving. Like they are separate spaces, and they can coexist and really improve each other.

Chuck Carpenter: [20:25] Yeah, that's kind of nice. It's not competing for the same spaces or whatever because I do feel like there are a lot of frameworks trying to attack different problems and become slightly more opinionated and sometimes work for speed. Sometimes work for you know Redwood is like everything you need for your startup app, and Remix is trying to solve its own problems and be on the edge and whatever else. But then still keep React Router around for some reason.

Robbie Wagner: [20:53] Because they made it.

Chuck Carpenter: [20:54] Yeah, I know. But yeah, Solid. I've read a lot about Solid too. So yeah, there's like a lot to figure out all at once and to really align yourself with a particular vertical and what you're trying to accomplish initially and then see, okay, do you want to build on top of that? I think that's a smart move.

Nate Moore: [21:11] Yeah. And there's been so many great examples. NextJS we look to a lot as just a phenomenal developer experience. Things we can borrow from there without necessarily tying everybody to React and hopefully making components swappable and being a lot more modular has kind of been the focus.

Chuck Carpenter: [21:31] Interesting, Robbie's thinking about how can you use Ember with Astro.

Robbie Wagner: [21:36] I don't think that overlaps Ember is similar to something like Redwood or like it's all batteries included. You could use just Glimmer like the rendering engine from it, but I don't know why people would.

Nate Moore: [21:48] Yeah, we get questions like that sometimes like oh, when are you going to support this? And it's like that kind of banks itself on being bottom to top your whole stack. So it doesn't make a lot of sense. But one thing that we did do is for history's sake. The team that is working on Astro was originally part of the Snowpack project.

Robbie Wagner: [22:09] Oh yeah, I remember seeing that. Yeah.

Nate Moore: [22:11] Yeah, so that was Snowpack. Skypack is all sort of the same team, so we're working on that, and I think we made this decision when Astro kind of started taking off that Vite is doing what Snowpack was doing even better than we were doing it and maintaining both of those was just not ever going to be sustainable. So that was a really tough call to make, but I think it has paid off hugely, that. I heard somebody recently described Vite as the United Nations of JavaScript. Everybody is building on top of Vite now, and it's just really cool to see because if you hit a bug and you upstream a fix, then everybody is going to benefit from that, and people are really taking it in a lot of different ways. But Vite is just kind of this base layer that takes care of everything for you. So again, a lot more of I don't care about that problem space, and you can solve that, and that's great. And we'll work together and kind of everybody rising tide lifts all boats kind of thing.

Chuck Carpenter: [23:15] Yeah, I love the nautical reference. It's on brands for us. So yes, much appreciated. Although I live in the desert so. Ironic.

Robbie Wagner: [23:23] Not much water there. So I guess we didn't necessarily touch on exactly what all the new things in Astro 1.0 are. So like, you want to take us through what you've been working on for the past, however long, and what made it in and what didn't and all that.

Nate Moore: [23:41] Totally. So this project, it's been 16 months, I think, from our first commit to 1.0. So it's been a long road. A big early portion of that was figuring out what Astro is and the move from Snowpack to Vite and all that fun stuff. But recently, it's really been on stability and just making sure we have a really solid foundation for everybody to build on. So a lot of bug fixes, obviously the kind of core like islands architecture idea has stayed throughout all of this. That's really core to what we're doing. But the big thing that's changed recently is we were really chasing Markdown since the beginning. We've had Markdown built in, and it's just something you're going to reach for so often that it makes sense to have as a default. But we also kind of tried to shoehorn our own syntax in there with like, here's how you can use components in Markdown. And it was basically an Astro file. We would compile it to HTML, and then it was Astro, and that's how components worked. Turns out that's a huge can of worms, and it was just endless bug chasing. It was never going to get to a point where we felt like it was as good as MDX is. So that was a big change before 1.0 was. We kind of walked back from that and said, MDX is really great. It's got a huge ecosystem. If we can find a way to plug into that, that would serve us a lot better than trying to do our own thing. So that was a big thing that I've been working on. I think there's a lot of implications of the work that went into unblocking that integration with MDX, which is very similar to JSX. I think there's a lot of doors that have been opened by that fundamental work that we had to do there. Yeah, so I'm really excited about that. Another huge thing we worked on was image optimization. So from the moment we launched, everybody was like, next image component is great, when are you going to do that? And we finally sat down and made what I think is a really great image component, should feel pretty familiar and works with local images, remote images, all that stuff. And then server-side rendering has been a huge thing as well. That's kind of been on the table. But now we're finally feeling stable with our APIs, and our first website kind of positioned us as this static site builder, and hopefully, we'll be able to shake that reputation. I think the new site tells our story much better as content-focused but not necessarily fully static all the time. We do have a lot of deployment stories like basically any platform you want to use. We hopefully have an adapter for, and it's as easy as running like Astro add Netlify or Vercel or whoever you want to deploy to. So that's been a really big thing, too, is getting that whole static versus server thing shaken out.

Robbie Wagner: [26:51] Nice. Yeah, I know for the first two things, I was probably someone filing bugs or complaining in Discord or something about all the things, but why doesn't someone just make a thing that takes all images and makes them all just like WebP or like, why do we need to build this in every framework? Shouldn't the browser handle it or something?

Chuck Carpenter: [27:16] You should write the spec.

Robbie Wagner: [27:17] Okay, yeah, but anyway, the Markdown thing, I remember we had like, I think it was like a less than equal in a Markdown file, and it broke or something because.

Nate Moore: [27:29] That sounds right. So I wrote our compiler, so I can tell you that one was on me.

Robbie Wagner: [27:36] Nice.

Nate Moore: [27:37] I mean, it's a ton of work to go from. I think people are really spoiled by how much investment like Microsoft has made into TypeScript and just like all the tooling around that stuff. It is so much work to get your own language up and running. It's wild. So, yeah, all those compiler things, I hope there are none lurking, but we're feeling much more stable about that.

Robbie Wagner: [28:01] Yeah, I just switched to the <.

Nate Moore: [28:06] Yeah, that works. Workarounds.

Robbie Wagner: [28:07] Yeah, because I was like that'll be future proof. That's like HTML. It'll just work, right? Yeah, it was fun because I think it was like me and one other guy were like having that like comedy back and forth, and it was like, oh, if you use this version bet,a it works and if you use this one it doesn't and whatever. Yeah, so fun stuff.

Nate Moore: [28:27] That sounds right. So the, stability is really the huge story coming out of this. We're feeling really good about where Astro landed.

Chuck Carpenter: [28:36] Nice.

Nate Moore: [28:37] Excited for people to come build.

Chuck Carpenter: [28:39] Yeah, we're going to get there.

Robbie Wagner: [28:40] Yeah. I don't know what metrics you would use. I was going to say, do you know how many people what's the adoption like of 1.0? Did anyone get stuck before that?

Nate Moore: [28:52] That's a great question. I think we wouldn't really have numbers before we added the things that would give us numbers, so I'm not sure prior to 1.0, like how many people are still stuck on that. I'm sure we could check NPM, but hopefully, people stuck with it. I think it's been a bit of a bumpy ride, but 16 months and feeling pretty good about it now.

Chuck Carpenter: [29:16] Yeah, I mean, I think that's a highly accelerated timeline to do everything that you've done, so that's pretty great. People trying it out early is one thing, but like circling back around and updating and going to production and stuff. Again, if your general focus is mostly around. Having your content site take this ride. I don't think that's a high investment bar. We're just time broke. That's our most big problem.

Nate Moore: [29:43] Yep.

Robbie Wagner: [29:44] Got to try hot new thing dot JS everyday.

Nate Moore: [29:47] Yeah. And it's kind of funny because I think a lot of the reaction to like Astro as this new framework. Like I get the fatigue. Like, I totally get everybody is sick of this hot new thing that you need to go drop everything and adopt right now. I'm really hopeful that Astro is kind of bucking the trend a little bit there. That we are ready and positioned for whatever the next JS framework is, can hopefully build with Astro and work with it. So we put a lot of time into the renderer API so that we can kind of plug in with whatever's next. So hopefully, I'm not going to promise that we're ending the trend there because it's definitely not going to happen. But that would be nice.

Robbie Wagner: [30:32] Yeah.

Chuck Carpenter: [30:32] Well, it sounds like you have kind of a partner story to at least speak from around SolidJS. And I'm looking at the show notes now. Robbie, you mentioned things like web components and Stencil. So, things like that could also be an extension and continuation of the story with Astro. His question was, I'm going to steal it because I didn't put anything here. Have you been on projects that use web components in production? Everybody wants to know if it's production worthy.

Nate Moore: [31:01] Like web components in general.

Robbie Wagner: [31:03] Yeah, I think a lot of people think they're this thing that's going to bridge the gap, and it's like standards compliant and whatever, but everyone talks a big talk and then uses React. Have you been on projects that actually use it successfully in the wild?

Nate Moore: [31:18] Totally. Yeah. I was a huge Stencil fan and was pretty involved in that ecosystem for a while. I think web components are awesome. I think the critics have some good points. There are some rough edges, but it's also something that is going to be on the platform forever. So you need to take your time and get it right. And I'm really excited for I don't know what story Astro can play in web component land. I think that might be something really interesting that we look into. Like our new website. We just kind of dropped a couple of web components in there. So yeah, astro.build, there you go. There's some web components on there.

Robbie Wagner: [31:56] Nice.

Chuck Carpenter: [31:57] I was going to say the production target can vary depending on what you're talking about, right? Like the traffic, our site gets versus the traffic Astro gets, versus the traffic like Saas product gets versus the traffic microsoft.com gets. Right. There's a big difference there and what risk you're willing to take and what the outcomes anyway on the site. We could throw those things together tomorrow, but Astro, especially today, is probably going to get a lot of traffic.

Nate Moore: [32:22] Totally.

Chuck Carpenter: [32:23] So to put that out there, and see how they perform and what happens. I mean, that seems cool.

Nate Moore: [32:28] Yeah, I mean, it's really minimal overhead for custom logic, which is really cool. It's kind of the early angular idea that was just like, look, you can drop a tag in there, and it does your thing. That's kind of what web components are, and that's really exciting. And I'll also call out Fred K. Schott, who is our CEO and envisioned a lot of Astro with us, was part of the Polymer team at Google for a while. So definitely, there's a lot of history with our team and web components. So yeah, we'll see how it plays out. But I'm a big fan.

Chuck Carpenter: [33:02] Yeah, I forgot about Polymer. I remember how exciting that was. Maybe almost ten years ago at this point. It feels like a little while. It was like a little bit after React, and we're like, well, here's the other thing that's going to work towards more what it natively should be, and we can mimic that for now and so on and so forth. It was a good story.

Nate Moore: [33:22] Yeah, for sure.

Robbie Wagner: [33:23] Yeah. What wasn't ten years ago at this point? I think all these frameworks are new and hot, but everything's getting pretty old. Astro is new but Solid, Lit, like all these things with cool hip names for the youngins. I haven't tried that many of them, to be honest, but I'd like to.

Chuck Carpenter: [33:43] Yeah, it would be cool to be able to do a little more R and D. I was to say I put my first React component into production. I want to say 2013, 2014. We had just launched a Backbone application, and then React was like a bunch of buzz. And so, I just used it on a singular sign-in component. I was working in National Geographic at the time, so it was like going out pretty heavy traffic, so I felt really cool about that. I was like, whoa.

Robbie Wagner: [34:07] It didn't break.

Chuck Carpenter: [34:08] It didn't no, it worked.

Nate Moore: [34:10] Yeah. I love that story because you just dropped in a React component to do one thing right.

Chuck Carpenter: [34:17] Yeah.

Nate Moore: [34:17] And that's Astro is like perfectly positioned for that because you don't need to build your entire thing with React. Like, so many of your components are just markup and styling, and you really don't need JS that's going to end up in the browser just to do that.

Chuck Carpenter: [34:34] That's true. It's probably a lot of overhead just to get an HTML component, right?

Nate Moore: [34:38] Yeah.

Chuck Carpenter: [34:39] These dumb components are almost useless.

Nate Moore: [34:41] Yeah, if you want to put it that way. Astro is all dumb components. It's all on the server, never going to end up in the browser.

Chuck Carpenter: [34:48] I love how it comes full circle, too.

Nate Moore: [34:51] Yeah, it definitely does.

Chuck Carpenter: [34:52] We've talked about this a couple of times about how it used to be like, server-rendered things and a little jQuery to make it look cool.

Robbie Wagner: [35:00] Yeah. Too slow. Let's do it. All client side.

Chuck Carpenter: [35:03] Yeah. What? The whole app is there and then all your back-end devs get really mad. I don't want to learn JavaScript.

Nate Moore: [35:11] Back to your question about what didn't make the cut for 1.0. That's a story we're really interested by. What would a SPA mode in Astro look like? Or can we do HTML over the wire and updates like that? There's a lot we want to explore, and hopefully, having this kind of stable foundation is going to give us the time to do that.

Robbie Wagner: [35:33] Yeah, I think the only thing that I know of that is missing, and this is just a problem with anything that renders real HTML, is page transitions.

Nate Moore: [35:45] Yes.

Robbie Wagner: [35:45] Like, I can't fade in and out and that's like the only thing that I am missing from our site is in Nuxt right now. So I'm working on converting it to Astro and Nuxt 3 at the same time. Get a good comparison.

Nate Moore: [36:00] Totally.

Robbie Wagner: [36:01] But yeah, it's really awesome because there's maybe 30 or 40 dependencies in Nuxt, and then Astro it's like five, and then there's zero JavaScript shipped. So like, oh, that's really cool. But then I click a link, and it gross loads everything in and I'm like, oh, no, that needs to fade.

Nate Moore: [36:20] Yeah, I mean, it's better than it was. I think there's a lot of things the platform has done. Yeah, I'm just going to geek out for a second because this is something I care about a lot. So, for a while, I think SPAs were solving this problem where your page would literally go white, and then it would be like a second, and then your new page would come in.

Chuck Carpenter: [36:41] Yeah.

Nate Moore: [36:41] So browsers actually hold your UI now, so that hopefully it's less jarring, but you definitely still feel it, right? It's not perfect. So I think there's a lot of stuff that's coming that I'm really excited about. Like the new navigation API, I think is shipped in Chrome already. And that's an update to the history API, which, if you've ever built a router, is just like, really wonky and missing a lot of stuff that you have to implement yourself. So the navigation API is really cool. You basically get like a navigate event and then respond to it, and that's it. It has all the information you need, and you don't need to write, like, oh, where in the stack am I? And all this crazy stuff that you had to do by hand before.

Robbie Wagner: [37:30] So you could just listen to that and fade everything out and fade everything in. Theoretically.

Nate Moore: [37:35] Yeah.

Robbie Wagner: [37:36] Nice.

Chuck Carpenter: [37:36] Oh, that's cool.

Nate Moore: [37:37] So you can do that. And then Google Chrome is also working on I think it's an origin trial, so it's not spec track yet. But the page transitions API is super exciting because it's actually one of the first things I've seen in a while that is CSS based. That's not like, let's add more JavaScript for all of this. But you can actually use CSS to say, hey, when I navigate, hold this element here, and it's going to match with this element, and by default, it'll crossfade and be a seamless transition.

Chuck Carpenter: [38:12] Interesting.

Robbie Wagner: [38:13] Yeah, I want that.

Nate Moore: [38:15] There's work on that, and I'm really excited to see where it goes.

Chuck Carpenter: [38:19] I mean, is part of this story also about caching and just serving the page faster kind of thing?

Robbie Wagner: [38:25] Well, that's part of the problem because once everyone's loaded at once, or someone has loaded it once, depending on your caching strategy, it's much faster. Yeah, for sure. But still, it's that little, like just a little bit more polished.

Nate Moore: [38:38] It's like almost imperceptible.

Robbie Wagner: [38:40] Yeah. The average person probably doesn't notice that much. They might think, like, that felt a little janky, but they wouldn't know why or whatever.

Chuck Carpenter: [38:48] Right.

Robbie Wagner: [38:48] But I know I'm like, I want that to fade in.

Chuck Carpenter: [38:51] I was going to say, this sounds very much like a Robbie problem. You want to solve it through some kind of, like, transition API? And I'm like. I don't know. Let's look at our cache. Yeah, let's improve the cache story.

Nate Moore: [39:01] It definitely is a pain point, and I think Astro is making a big bet on multi-page apps being the right default. I think we're seeing that more like projects like Quick are defaulted to that. Even your SPA frameworks are still rendering multipage apps on the server and then just so you can pick it up on the client. Right. So we think that's the right default. And then hopefully layering in that extra polish on top of the default NPA. It's a good progressive enhancement and whatever. If you don't want JavaScript, you can turn it off, and it will still work fine. They're just anchor tags.

Robbie Wagner: [39:44] Yeah, I think that's the correct way to go because it's just more close to what the browser was built to do. Right. So it's going to hopefully, once the browsers catch up, to do those nice little transitions. It's like imperceptible from any other app, and shipping hundreds of kilobytes or megabytes or however much JavaScript, you might have just to get nice transitions is not worth it.

Nate Moore: [40:09] Yes.

Chuck Carpenter: [40:10] Right. And for me, I want to have 20 tabs open, and I don't want to have to close Chrome once a week in order to kill that.

Robbie Wagner: [40:19] You just need hundreds of gigs of Ram.

Chuck Carpenter: [40:21] Yeah.

Robbie Wagner: [40:21] That'd fixed that problem.

Chuck Carpenter: [40:22] Yeah, I know. That's the problem. Ever growing Ram over like Chrome State feels crazy for half of the things that I'm actually doing. So it's the only reason why I need an expensive MacBook Pro. Otherwise, I'm editing text files.

Robbie Wagner: [40:37] Yeah, you're not wrong. And NPM install.

Chuck Carpenter: [40:40] Yeah. Need that to sort of go faster.

Nate Moore: [40:43] That's another space. I'm very excited. Seeing a lot of innovation in the JavaScript runtime space.

Chuck Carpenter: [40:51] Yeah.

Nate Moore: [40:51] Obviously, Astro right now is built on Node, and I don't think changing anytime soon unless somebody knows something I don't. But we're definitely keeping.

Robbie Wagner: [41:02] It's not going to be Bun?

Chuck Carpenter: [41:03] Deno, Deno.

Nate Moore: [41:04] We're keeping a close eye on Bun. Like, there's some really cool stuff out there and we're definitely keeping a close eye on it.

Chuck Carpenter: [41:10] I mean, Ryan's doing some stuff with Deno. Oh. And he's telling you, these are the mistakes I made. I'm fixing them over here.

Nate Moore: [41:16] Yes.

Robbie Wagner: [41:16] Is it Deh-no or Dee-no? Have we decided this?

Chuck Carpenter: [41:19] I don't know. I think we debate it every time. But I like Deno. Dino, Is it a little dinosaur thing?

Robbie Wagner: [41:26] Yeah, it's a little dinosaur image, which makes me think it's Dino. Like from Flintstones, right?

Chuck Carpenter: [41:30] Yeah, that's true.

Nate Moore: [41:31] Yes. However you want to say it, I really like it. And actually, Astro kind of borrows the TypeScript first philosophy. That's just a good default. That's one thing we did, which our front matter is all TypeScript, actually, if you write a script tag that's also TypeScript, you can put an interface or props in there. Yeah. It just seems like a sensible default that you shouldn't have to turn that on. I know some people don't love it, but we're kind of hoping, because it's a superset in most cases, that just a relaxed TypeScript config can work for people that don't really love it.

Chuck Carpenter: [42:10] Oh, that's nice. Is Astro a monorepo?

Nate Moore: [42:14] Yes, we use PNPM. It's a big ol' monorepo.

Chuck Carpenter: [42:20] I don't know if you've listened to this podcast before.

Robbie Wagner: [42:22] Why do you ask, Chuck?

Chuck Carpenter: [42:25] There's a couple of things Robbie hates in this world, and one of them are monorepos.

Nate Moore: [42:30] Yeah, we've had the debate on the team as well. I think debugging monorepo problems is just like, why am I even doing this? This is so stupid that you don't even know it's a problem until you deploy because suddenly you're not in a monorepo, and something else changes. It's a big pain point. But I think for our speed, and how quickly we need to change everything, I can't really imagine not having a monorepo.

Robbie Wagner: [42:59] I think the problem with monorepos is the tooling, honestly. So a lot of nice tooling is starting to come out for them. But my big complaint before was like, all right, your only choice, really is like, Yarn workspaces. And like.

Chuck Carpenter: [43:14] Lerna.

Robbie Wagner: [43:14] So then it's like, if you want to yarn link one of your sub packages, I'm publishing ten packages, and I need to yarn link this one and debug something or whatever. It's like, no, you just can't do that. Yeah, I think there's a lot of stuff now that fixes those problems. But that was my big problem, is I find a bug in an open source project, I want to go fix it. I tried to Yarn link the thing that I'm trying to fix, and it doesn't work. So I'm like, I'm not going to fix it, then like. You know?

Nate Moore: [43:43] Yeah, hopefully. I think our setup has been massaged quite a bit to the point where we're happy with it, but we're using PNPM, which is really awesome. It's very fast and just good defaults. Like, Yarn workspaces was very leaky with your dependencies. Everything was just available, and PNPM kind of solved that problem.

Chuck Carpenter: [44:06] Nice.

Nate Moore: [44:06] And a lot of other ones. So yeah, we're big fans of PNPM.

Chuck Carpenter: [44:10] Nice. Good recommendation.

Robbie Wagner: [44:11] Yeah. I have not actually used it in a project yet, but I intend to every time someone is like, oh, should we use Yarn or NPM? Why not PNPM? Just to see if I can get someone to bite and then I can use it

.

Nate Moore: [44:22] Yes.

Chuck Carpenter: [44:23] Nice. There you go.

Nate Moore: [44:24] Same thing happened with me. Like, I just kept hearing so many people that I respect being like, it's pretty good, and I finally had to give it a shot, so I like it too.

Robbie Wagner: [44:34] Yeah, I've heard it's like super super fast compared to anything else.

Chuck Carpenter: [44:38] Yes, fast is good. Should we whatnot a little?

Robbie Wagner: [44:41] We should. We've been going down a rabbit hole of tech here, but I hear that you like national parks and are trying to go to all of them.

Nate Moore: [44:49] Yeah, I mean, it's a life goal. I think it's going to take most of my life, but.

Chuck Carpenter: [44:55] That's good.

Robbie Wagner: [44:56] Yeah. How many are there, do you know?

Nate Moore: [44:59] 60-something.

Chuck Carpenter: [45:00] Yeah. I remember I got a gift for a family member, and it was like this bracelet. And then you got these little rings for every national park you've been to. I feel like they were like 60-something rings.

Nate Moore: [45:12] Yeah.

Robbie Wagner: [45:12] By the time you're done, it's, like, on the ground, like super heavy.

Chuck Carpenter: [45:17] Yeah, exactly.

Nate Moore: [45:18] Yeah. We've got a little scratch-off poster in our living room, and we're just slowly scratching off. I think we're still below ten for sure. But we just went to Gray Smoky Mountain Natonal Park, which was beautiful. Also, by the whiskey trail. So I did not get to stop, but my wife was surprising me for my birthday, and we stayed in Lexington, and we were driving by the whiskey trail, and I was like, oh, is that the surprise? Are we going to that? And she was like, no, maybe that would have been a better choice.

Chuck Carpenter: [45:52] Yeah. I mean, Lexington, I think like Frankfurt and Buffalo Trace probably would have been the closest to there, right? Yeah.

Nate Moore: [45:59] Definitely passed them.

Chuck Carpenter: [46:00] Yeah, I've done it a couple of times. It is recommended, although it's probably healthier to do the national parks. Well, I was at the Grand Canyon a couple of weeks ago.

Nate Moore: [46:11] That's awesome.

Chuck Carpenter: [46:11] I could check that off for you.

Nate Moore: [46:13] Yeah. So our rule is we have to go there together. So there's a couple that I've been to, like, I've been to Glacier on my own. I think she's been some places in California, but those don't count. We got to get there together. But yeah, you say it's very healthy to do that, but we're very much glampers. So we're like in the car as comfy as possible, but just driving. We'll definitely do a hike, but we're not like hardcore outdoor people.

Chuck Carpenter: [46:42] Yeah, I'm the same. Get an RV or just get a cabin. I'd rather do that too. Do a little hiking, whatever else. I don't want to camp. Yeah, I'm in the same boat.

Robbie Wagner: [46:51] I'll hike a half mile to a really nice cabin.

Chuck Carpenter: [46:54] Yeah.

Nate Moore: [46:55] Totally. That's the way to do it.

Chuck Carpenter: [46:57] You got to do Zion because you can get some nice hotels right outside the park and then take the little bus up in, do a nice hike or two. It's amazing. Do a Jeep tour to, like, some really cool.

Robbie Wagner: [47:09] Oh, Jeep tour.

Chuck Carpenter: [47:10] Areas. Yeah, you do a Jeep tour, like, through the Red Sands and go to some cool stuff. Like, Zion is probably one of my favorite.

Nate Moore: [47:17] That sounds awesome. Yeah. Have not gotten there. About a year ago, we rented an RV and did through North Dakota. We got to Yellowstone and the Tetons and then kind of looped back around saw the Badlands and Theodore Roosevelt National Park. So those were all super cool. It's funny, we had our dogs with us, and you can't really bring your dogs into a national park. You can. But they have to stay where the cars are.

Chuck Carpenter: [47:47] Right.

Nate Moore: [47:48] So it's not the most convenient. Yeah, but yeah, they kind of stayed in their car. Definitely. Any time like a bison or a wild horse walks by, we are just, like, shoving treats in their mouth because they had to be quiet or they would charge at us. That was a little nerve-wracking.

Chuck Carpenter: [48:05] Right.

Nate Moore: [48:05] But a lot of fun.

Robbie Wagner: [48:06] Yeah.

Chuck Carpenter: [48:06] Try taking some small kids.

Robbie Wagner: [48:08] What kind of dogs do you have?

Nate Moore: [48:09] We have a pit beagle mix. He's really cute. His name is Graham. He's like 30 punds. People are like, Is that a puppy? They're like, no, he's fully grown. He's just a weird size.

Robbie Wagner: [48:23] Yeah, it's a weird mix. Pit beagle.

Nate Moore: [48:26] Yeah, he was a rescue. I don't actually know what he is. I'm just guessing pit beagle. But we've looked up on Instagram, like pit beagle mix, and it's like, oh, that's Graham. That's a Twin.

Robbie Wagner: [48:37] Nice.

Chuck Carpenter: [48:37] It's funny.

Nate Moore: [48:38] Yeah.

Robbie Wagner: [48:38] Yeah. We have two French bulldogs, and they don't listen to anything that would be a bad time for them. They would just bark at everything, and it would charge our car, and we'd be dead.

Chuck Carpenter: [48:50] Yeah, you just let them out and become bear food. You're like, listen. It's us or you.

Robbie Wagner: [48:55] No, we couldn't do that.

Nate Moore: [48:57] They'll learn.

Chuck Carpenter: [48:59] How fast are you? Because a bear is fast.

Robbie Wagner: [49:02] Yeah.

Nate Moore: [49:03] I mean, we just went to Gray Smoky Mountains. Did not see a single bear, which is like the biggest disappointment in the world. I don't know how that happened.

Robbie Wagner: [49:11] Yeah, they're known for bears, right?

Nate Moore: [49:12] Yeah, totally. We were staying in a cabin and everything.

Chuck Carpenter: [49:15] Oh, wow.

Nate Moore: [49:16] I was pretty terrified. I was like, I'm going to see a bear. Right. When we pulled up the way, we got out of our car. I was like, there's got to be bears, like, right here, and they're coming for us.

Chuck Carpenter: [49:27] They're coming for you.

Nate Moore: [49:28] Not the case. Didn't see a single bear.

Chuck Carpenter: [49:32] You should put some food outside.

Nate Moore: [49:33] Yeah, that would do it.

Chuck Carpenter: [49:35] That would probably do it. And you get some great pictures. Everybody's happy. How strong is the door? I don't know. Actually, I've been to Smokey Mountains once, and we did see a couple of bears, but they were like small bears, which also made you think, like, mom's, not too far, so I'm going to get away from those bears. Yeah.

Nate Moore: [49:53] Totally. We were driving into Yellowstone, and just this little cub, like, walks in front of our car, and my wife is like, oh, that's a huge bear. And I was like, that's a baby. That's a very small bear. And I'm sure the big one is very close by, so we got out of there in a hurry.

Robbie Wagner: [50:11] Yes. The big ones are like, what, like 7ft, 8ft? How tall are they?

Chuck Carpenter: [50:16] Grizzlies or like brown bears? I think it's brown bears, right, in Smoky Mountains. So it might be a little bit smaller than that. But they're big.

Nate Moore: [50:24] I couldn't tell you. Didn't see any.

Robbie Wagner: [50:25] They're bigger than me. Because I'm not tall.

Nate Moore: [50:28] They're pretty huge.

Chuck Carpenter: [50:30] Yeah. I went to Bearizona, actually, when we were up north for the Grand Canyon. There's this Williams' town. I don't know, like an hour outside of Flagstaff and like an hour outside of the Grand Canyon. So that's where we stayed and went to this other thing. It's called Bearizona. And they have this whole drive-through thing, though, so it's like you go into different sections and you're like, oh, here's gray wolves, white wolves. Here's reindeer, bison. Oh, here's whatever you know, brown bears.

Robbie Wagner: [51:02] Like a drive-through zoo.

Chuck Carpenter: [51:04] Kind of. But it's sort of open, and it's only sort of sectioned off the animals from each other, but fairly loosely. And the bears just don't really pay attention to you. You keep your windows up, nobody feeds them, and you're just driving really slowly. They're hanging out. They might be eating. They're like, oh, I went across the street. They just walk in front of you. It was awesome.

Nate Moore: [51:23] That's super cool.

Robbie Wagner: [51:24] Yeah, that sounds interesting. I would have thought they would be more curious about these cars.

Chuck Carpenter: [51:29] Yeah, I think they've been there a bit, and I think they're curious if you fed them, but they've been like, oh, yeah, this is not a food source. We don't care. Right? Unless you put your windows down and then you're the food source.

Nate Moore: [51:40] No food in there. Not interested.

Chuck Carpenter: [51:42] Yeah, this is the bear episode, by the way. Thanks for tuning in, everyone.

Robbie Wagner: [51:47] Check out Bear JS.

Chuck Carpenter: [51:50] Oh, man, I better go register that right now. Just going to push an empty package to NPM right now.

Robbie Wagner: [51:56] I bet it exists. NPM has got to have bear. That's like a common phrase.

Chuck Carpenter: [52:02] Attack your clients.

Nate Moore: [52:03] What, I'm honestly amazed that we got Astro? I don't even know. It may have been like an unused package that somebody donated to us. I really can't remember at this point. But it's a pretty good name. It's not Googleable, so that's not good. And we found that out after we chose it. It's like, what do we Google? I don't know. Astro JS? Astro JS usually works.

Chuck Carpenter: [52:29] Yeah, makes sense.

Nate Moore: [52:30] But it's hard.

Chuck Carpenter: [52:31] Any JS framework? That's what I slap on. Like random word JS. Let's see if it's there.

Nate Moore: [52:36] Totally. But like hashtag Astro, like lots of K-pop. You're not going to get anything JavaScript-related.

Chuck Carpenter: [52:43] Is there like a K-pop band called Astro?

Nate Moore: [52:45] There was, yeah.

Chuck Carpenter: [52:46] I only know BTS. My son is very into BTS because my son is almost six and his kindergarten now first-grade teacher. She's obsessed with BTS, so she got all these kids into BTS.

Nate Moore: [52:59] That's very funny and very cruel.

Chuck Carpenter: [53:03] I know. If you've seen some of their videos, not great. Some catchy, some not great.

Robbie Wagner: [53:09] They have catchy stuff.

Chuck Carpenter: [53:10] Yeah, some catchy, some like, what is this? He just wants to watch them all. That was a fun phase.

Robbie Wagner: [53:16] Yeah. Did you see they put out like a three CD pack or something?

Chuck Carpenter: [53:22] I didn't.

Robbie Wagner: [53:22] First off, CDs still exist. Second off, the third CD of their thing was CD only. You can't even get it on Spotify and stuff.

Chuck Carpenter: [53:30] Oh, wow. That's really pushing people into that retro experience.

Chuck Carpenter: [53:35] Almost like vinyl for.

Robbie Wagner: [53:36] I think they wanted to sell real.

Nate Moore: [53:38] I was going to say.

Chuck Carpenter: [53:39] It's like vinyl for zoomers, right?

Nate Moore: [53:41] Yeah. Some bands will do like, cassette tapes.

Chuck Carpenter: [53:45] I've heard of that.

Nate Moore: [53:46] I didn't know. It has crept up all the way to CDs. That's what's cool now?

Chuck Carpenter: [53:51] It's like bad fidelity. It's the only thing worse is an Atrac, though.

Robbie Wagner: [53:55] Yeah. Records are actually good. We just made CDs because they're small.

Nate Moore: [54:01] Right?

Robbie Wagner: [54:01] But are we going to make fancy CD players that just spin the CD like a record player and we can see it in our living rooms?

Chuck Carpenter: [54:09] I think you can do that. Or that has existed at some point. It would be interesting. I don't know. I'm a minimalist, though. I don't want all that crap.

Robbie Wagner: [54:16] Yeah. We have a record player that connects to Sonos, and it hasn't worked in a long time because it didn't support switching your WiFi network name. And we changed our WiFi network and can never use it again. You had to get a new chip to put in it, which we haven't done yet.

Nate Moore: [54:32] Bricked your Sonos.

Robbie Wagner: [54:34] Yeah.

Nate Moore: [54:34] That's rough.

Chuck Carpenter: [54:35] Wow.

Nate Moore: [54:36] Some expensive hardware to just not be able to switch WiFi networks.

Robbie Wagner: [54:40] Yeah, it's not a Sonos problem. The company is called TRNTBL. Like T-r-n-t-b-l.

Nate Moore: [54:46] Oh, your TRNTBL.

Robbie Wagner: [54:48] Got it. But it connects straight to Sonos, so you don't have to plug it in.

Nate Moore: [54:53] Got you.

Robbie Wagner: [54:53] So it was cool until it didn't work.

Chuck Carpenter: [54:55] I feel like tech people always want to have clever WiFi network names. What is your WiFi network? What was it? What is it now?

Robbie Wagner: [55:02] So it was named based on our address. Before, it was like 101 Camera Muse. Or whatever.

Chuck Carpenter: [55:08] Hacked that one.

Robbie Wagner: [55:08] And now it's just The Wagner's like our name. So I was like, oh, The Wagners will work everywhere. It doesn't matter what our address is, but yeah, it's different so that it won't connect.

Nate Moore: [55:21] Ours is Graham Net because we're big fans of our dog.

Chuck Carpenter: [55:27] Okay. Yeah, I did like a cat thing before because when I first got together with my wife, we started living with my wife. She had cats. They tried to kill me. That's a whole other story. Mine has been a couple of different things, but now it is FBI surveillance van.

Nate Moore: [55:42] Awesome.

Chuck Carpenter: [55:43] Because I want to mess with my neighbors.

Robbie Wagner: [55:44] You're that guy.

Chuck Carpenter: [55:45] Yes.

Nate Moore: [55:46] Nice. I'm sure they think it's a real van.

Chuck Carpenter: [55:50] Nobody's going to try and hack that, though. Also.

Robbie Wagner: [55:53] Well, that's true. Wouldn't the FBI use a more clever name?

Chuck Carpenter: [55:57] No.

Robbie Wagner: [55:57] So the people didn't know they were there.

Nate Moore: [55:59] That's what they want you to think.

Chuck Carpenter: [56:01] It's government? Of course they wouldn't. Come on.

Robbie Wagner: [56:03] They would probably use like, Netgear five or whatever, right?

Chuck Carpenter: [56:08] And have a password. 12345. Yeah, whatever the default was for that Netgear router back in the day.

Nate Moore: [56:15] Yeah.

Robbie Wagner: [56:16] All right, well, we're overtime here. Before we end here, is there anything we missed? Anything you'd like to plug? Any stuff you'd like to say?

Nate Moore: [56:24] No. Go check out astro.build. We just launched 1.0 and the new website and give it a try. Let us know what you think.

Robbie Wagner: [56:32] All right?

Chuck Carpenter: [56:33] Cool.

Nate Moore: [56:33] That ball.

Chuck Carpenter: [56:34] Boom, boom, boom, boom.

Robbie Wagner: [56:36] Thanks everybody for listening. If you like it, please subscribe, and we'll catch you guys next time.

Chuck Carpenter: [56:44] 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: [56:59] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and the show, check out our website at shipshape.io.