Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.


25: Creating CodePen, Tackling Tailwind, and Keeping It Simple with Chris Coyier

Show Notes

Ten years after launching CodePen, Co-Founder Chris Coyier still thinks of his company as a scrappy startup. That's because CodePen, an app and social community for testing and creating web projects, still feels like a company striving to prove itself in a world of jaded developers. Nevertheless, CodePen has successfully reached developers as they're learning to code.  In this episode, Chris talks with Chuck and Robbie about his online opinions that align and differ from Robbie's, the evolution of CodePen, how they've managed to monetize, the advantages of sticking with CSS, why blogging is like grinding, and Chris' parenting advice for new dads. Key Takeaways * [02:23] - A whiskey review.  * [11:10] - The beauty of CodePen and a brief chat about Tampa.  * [16:11] - The niche that sets CodePen apart.  * [18:03] - Why going serverless is a wonderful thing.  * [23:11] - How CodePen has evolved and how they have monetized.  * [25:06] - How CodePen uses information for good.  * [27:16] - How CSS-Tricks came to be and Chris' other digital passions.  * [38:38] - What Chris thinks of Tailwind.  * [44:59] - What new things are coming to CSS.  * [49:42] - Chris' dad advice for Robbie.  * [57:31] - A Rick Steves whatnot, complaints about Italian food, and why deadlines work.  Quotes [23:59] - "Not a day has gone by, pretty much in the 10 years we've been running this, where there isn't some kind of jaw-dropping, interesting creation on CodePen." ~ @chriscoyier [https://twitter.com/chriscoyier] [45:25] - "If you just let CSS be, just use the language, you get all this stuff. But if you have to wait for an abstraction to come later, maybe it never does arrive or maybe it comes in a way that's too abstracted that's not all that useful. There's an advantage to just sticking to the core language." ~ @chriscoyier [https://twitter.com/chriscoyier] [49:28] - "The rule is, just leave it alone. Do not open up somebody else's thing and reorder their inputs and commit that. Because that is just noise, and it doesn't matter." ~ @chriscoyier [https://twitter.com/chriscoyier] Links * Chris on Twitter [https://twitter.com/chriscoyier] * Discord  [https://discord.com] * New Riff Single Barrel Bourbon [https://www.newriffdistilling.com/spirits/single-barrel-bourbon-whiskey/] * Sagamore Spirit  [https://sagamorespirit.com] * Jack Daniel's [https://www.jackdaniels.com] * Jim Beam [https://www.jimbeam.com/] * CodePen [https://codepen.io] * Sass [https://sass-lang.com] * Next.js [https://nextjs.org] * JavaScript [https://www.javascript.com] * Dart [https://dart.dev] * Bitcoin [https://bitcoin.org] * Eyeframe [https://eyeframeconverter.wordpress.com] * Rust [https://www.rust-lang.org] * Go [https://go.dev] * Acquia [https://www.acquia.com] * Ruby [https://rubyonrails.org] * VS Code [https://code.visualstudio.com] * CodePen PRO Plans [https://codepen.io/accounts/signup] * The CodePen Spark (CodePen newsletter) [https://blog.codepen.io/2016/12/08/the-codepen-spark/] * CSS-Tricks [https://css-tricks.com] * WordPress [http://wordpress.com] * How to Fetch and Parse RSS Feeds in JavaScript [https://css-tricks.com/how-to-fetch-and-parse-rss-feeds-in-javascript/] --- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message


Robbie Wagner: [00:09] What's up, everybody? Welcome to another Whiskey Web and Whatnot with myself, Robbie Wagner, and my co-host, as always, Charles William Carpenter III, with our guest today, Chris Coyier.

Chris Coyier: [00:22] What's up, guys?

Robbie Wagner: [00:23] How's it going?

Chris Coyier: [00:24] Robbie and Chuck. Good to be on the show. Appreciate the invite.

Robbie Wagner: [00:27] Yeah. Thanks for coming on.

Chuck Carpenter: [00:29] Yeah, thanks for agreeing to to be into our plebeian podcast.

Chris Coyier: [00:36] Yeah, it's my pleasure. Of course, it's not it's not podcast every day that the night before a package shows up on your porch. I don't know if you promised this to all your guests. I'm sorry if I'm ruining in here, but you offered for me to send me a bottle of whiskey, which you did, and I have it right here in my hands, so I really appreciate that.

Chuck Carpenter: [00:56] Yes, fair listeners, promises are delivered. Yes, we do.

Chris Coyier: [01:00] I'm already three deep.

Chuck Carpenter: [01:02] I like your style. Yeah. So it's kind of the gist of it. We started this podcast to talk about some whiskey with some tech people and then just random whatever.

Chris Coyier: [01:13] It's going great. I'm in a random techie Discord, and people were having a little web whiskey whatnot side channel chat the other day. You got fans you didn't even know about.

Chuck Carpenter: [01:23] Wow.

Robbie Wagner: [01:23] Yeah. I did not know about that at all.

Chuck Carpenter: [01:25] Wow. Yeah, I had no idea. I was pretty sure that my wife and Robbie's wife and maybe a handful of other people listen to this, but.

Chris Coyier: [01:35] Analytics are notoriously difficult to gather. You might have to parse your S3 logs or whatever to get real.

Robbie Wagner: [01:43] Yeah, no, Caitlin doesn't listen to it, so that's the one listener down, for sure.

Chuck Carpenter: [01:49] Oh, man. But no, that's cool. Good to know. Thanks for sharing that little tidbit that somebody cares.

Chris Coyier: [01:55] Yeah. Well, you all do a good job talking about modern web stuff. I can't wait. I'm kind of old school, so I feel kind of cool, actually, and I'm like, oh, man, they invited me on a show where they talk about, like, fancy web3 stuff where I'm like, border radius and HTML5. That's where I stopped learning.

Chuck Carpenter: [02:11] I think there's a space for everyone, right? Like.

Chris Coyier: [02:15] Oh, thanks.

Chuck Carpenter: [02:16] Will we cease to need tricks at some point? I say no.

Chris Coyier: [02:19] I say no.

Chuck Carpenter: [02:20] I say no. But yeah, we'll start with a whiskey. So this is a New Riff Single Barrel Bourbon. I did a little bit of research, haven't had any of their stuff yet, but I did learn that it's from Newport, Kentucky, which is the area that I'm actually from, so that's kind of cool.

Chris Coyier: [02:35] Is it really? That is cool.

Chuck Carpenter: [02:37] Yeah. Northern Kentucky, right across from Cincinnati. That's where I grew up.

Chris Coyier: [02:40] Okay. I appreciate on the show when you hold the bottle up to the microphone to do it. I think Robbie already did it, but it adds something to the show, so I'll go.

Chuck Carpenter: [02:48] Okay, perfect. Yeah, they do a.

Chris Coyier: [02:50] Little pop.

Chuck Carpenter: [02:51] Yeah, it's kind of fun.

Chris Coyier: [02:52] It is.

Chuck Carpenter: [02:52] Yeah. So 65% corn, 30% rice. So it's considered a high rye bourbon, 5% melted barley, aged at least four years with an ABV of 54.7. At least my bottle. If we got all the same barrel, then we would have the same, but I don't know if we did.

Chris Coyier: [03:07] They do that little thing where it looks like somebody took their pen out and wrote it on there by hand kind of vibe, which maybe they did.

Robbie Wagner: [03:14] Barrel 5941, where are you?

Chuck Carpenter: [03:16] I am 5928. Chris is probably same as me, because.

Chris Coyier: [03:23] 5928.

Chuck Carpenter: [03:24] Yeah. Since we had to do a little shipping arbitrage, you would probably have the same.

Robbie Wagner: [03:31] Yeah, makes sense.

Chuck Carpenter: [03:32] Okay, cool. All right, let's give it a little sniff, see what's up. Respect its privacy, though.

Chris Coyier: [03:37] I mean, that's great. Let's see.

Robbie Wagner: [03:41] I get a little caramel on the nose.

Chuck Carpenter: [03:46] Right.

Robbie Wagner: [03:47] Actually, I haven't had any Sagamore in a while, unfortunately, but I think it's very Sagamore-esque.

Chuck Carpenter: [03:53] But Sagamore is a rye, and it wouldn't have this much corn.

Robbie Wagner: [03:55] I know.

Robbie Wagner: [03:56] I'm getting some maple sugar, maybe brown sugar. Actually, more of like a brown melted brown sugar with a little bit of I don't know. It's probably too expressive. It's all bullshit.

Robbie Wagner: [04:09] I don't know. I think I have unmelted brown sugar. I'm not sure.

Chuck Carpenter: [04:14] Well, yeah, exactly. I think I'm getting a little, like, normal sweet and brown sugar in the beginning, and then as it sits there, it's almost like as you caramelize it or something a little bit.

Chris Coyier: [04:24] Yeah.

Chuck Carpenter: [04:24] It's good, though.

Chris Coyier: [04:25] I mean, I'm a fan. I don't know how to talk about it. I just wanted to bask in you talking about it for a minute. I don't know if this is offensive to whiskey overall, but I grew up in a paint. My stepdad was a screen printer, and part of screen printing is you pour a bunch of paint all over the screen, and you pull it across, the ink seeps through, and you can print on all sorts of things that you wouldn't be able to print on otherwise because of the nature of the process. Then you got to clean the screen, which means getting paint off of a surface, which means you used what they called lacquer thinner, which was just a very probably foul to some people, but I kind of grew to enjoy the smell. It's one of those, like and I wouldn't want to compare a fine whiskey. As this a bourbon too lacquer thinner. But I just have to admit, I got a little whiff of that classic smell on my first pour.

Chuck Carpenter: [05:18] Well, for one, it's a positive one for you. So first of all, I don't think that necessarily makes it an insult. And then second, everybody's trying to find a nuance in what they can identify with and taste and smell and then say it in a word. So hopefully someone else knows what you're talking about. It's a little bit arbitrary, to begin with. Regardless. That said yeah like I said, you meant it positively. So why not?

Chris Coyier: [05:44] I mean, it was positive with a twist of surprise. I didn't see that come.

Chuck Carpenter: [05:49] Yeah, you're like, I didn't expect that, but I still want to drink it. You were probably advised not to drink that smell when you were growing up.

Chris Coyier: [05:56] Just because you do the show, but probably since you like whiskey anyway. What are the overall? I mean, I get brown sugar and all that stuff, but largely comparatively to other to Jack Daniels or Jim Bean or something. I know. Gross. Right? But tell me why, then. Tell me why.

Chuck Carpenter: [06:14] Well, that stuff ends up having a very young high corn flavor, and they'll make it it just doesn't have a whole lot of diversity. They'll minimize how many other grains they put in there. So it'll be kind of very corny, very just the basics of what they got to do to meet the federal standards. So you'll get.

Chris Coyier: [06:31] Yeah some bare minimum.

Chuck Carpenter: [06:33] Yeah. You'll get a corn sweetness kind of thing, and then you'll get some burn, and that's kind of it. There's no smoothness. There's no diversity to it. So a lot of that will come in two folds. It'll be like well, it has things to do with what they use from the mash bill, which can be a bunch of different things. It has to do with the yeasts they'll use, so, like, more advanced yeast strains. And then the third thing is the char and the barrel. So they all have to use brand new American oak barrels.

Chris Coyier: [06:58] Right.

Chuck Carpenter: [06:58] But they can char differently.

Chris Coyier: [07:00] By law right.

Chuck Carpenter: [07:01] Yeah. It's basically the only vegan spirit because it's federally mandated to be specific things. And so it's all-natural.

Chris Coyier: [07:09] Yeah. That's great.

Chuck Carpenter: [07:10] That's what Jack Daniels that's the only reason why Jack Daniels isn't a bourbon because they charcoal filter it with maple, like this maple charcoal stuff.

Chris Coyier: [07:18] And they could give a shit less, I'm sure. Right. Because they're such a popular brand or whatever.

Chuck Carpenter: [07:23] No, they're doing okay.

Robbie Wagner: [07:25] Yeah, I've heard of them.

Chris Coyier: [07:26] The only reason I knew any of this is I went to Scotland once and went to a bunch of distillers that made scotch, and they were all these scotch distillers. They're like, we get all our barrels from Jack Daniels or whatever, American producers because they want barrels that have already been used.

Chuck Carpenter: [07:40] Right.

Chris Coyier: [07:40] So it's more chill or whatever, which meant, like, how did you do it before America existed or whatever? I don't know.

Chuck Carpenter: [07:47] Took whatever they could. Who knows? Yeah. And they are also aging much longer. So, like, a bourbon can be ready in four years. You get, like, a sweet spot for me personally, around like, seven to nine years.

Chris Coyier: [07:58] So this is young for you? This one?

Chuck Carpenter: [08:01] Yeah, but I think it's pretty good, actually. It doesn't have any flavors of youngness for me. I think maybe the high rye helps that. It's got a lot of corn, a lot of rye in it.

Chris Coyier: [08:11] Well, I like that.

Chuck Carpenter: [08:11] Yeah.

Chris Coyier: [08:12] Is it infinite? Like, if you managed to bury this in your backyard and invent a time machine and come back in 50 years, a 50-year bottle of this would just be blow your mind. Amazing. Incredible.

Chuck Carpenter: [08:24] It doesn't age anymore in the bottle.

Chris Coyier: [08:26] Oh, the bottle. Okay. So if you buried the barrel.

Chuck Carpenter: [08:29] The barrel, it would continue to do stuff. Right. But it might not do good stuff because I've had 20 and 23-year-old bourbons and they're just like way too much wood for me. It's like spice punch right in the nose.

Chris Coyier: [08:42] For you there's a sweet spot. And it's not 20 years.

Chuck Carpenter: [08:45] Right. Yeah, exactly. So if you bury it for 50 years, maybe not. The thing that people like is that now whiskey is so popular, so it's like practically impossible. But there used to be this thing called, like, dusty hunting. And you go out there and you go to, like, estate sales or old liquor stores that maybe didn't sell a lot of whiskey for a while, and they got stuff in the back from the you could pick up their old stock, which would be, like, old recipes for distilleries that are no longer and they're like, this is the great stuff. This was like they were doing it the old-school style legit.

Chris Coyier: [09:16] There's something kind of magical about that.

Chuck Carpenter: [09:20] Yeah. So that's kind of cool, but it's pretty hard to come by anymore. That market has been saturated.

Chris Coyier: [09:26] Could see an American Picker's episode about that or some crap.

Chuck Carpenter: [09:31] Oh, for sure. Well, there's a bar in DC. Called the Jack Rose, and they have five owners, and one of them was the bourbon guy, and that's basically what he used to do to fill up his collection. And he had so much in a collection that he'd bring things into the bar. So I had like a 1937 IW Harper and some stuff from the 60s a couple of times there. And it was really interesting because like a 1937 bottling was distilled, say, like right at the end of Prohibition before I think it's like ten years.

Chris Coyier: [10:00] That's amazing it even made it, somebody managed to not drop it. All those years.

Chuck Carpenter: [10:07] I thought you were going to say drink it because that's essentially my problem.

Chris Coyier: [10:10] Yeah, probably more. Probably more than but who knows? It probably moved around.

Chuck Carpenter: [10:14] Indeed. Yeah. And just ends up somewhere arbitrarily some sale or some yard sale or some crazy thing like that. So not sure if you're familiar. So we tend to rate our whiskeys on a one to eight tentacle scale. It's pretty random, but it's like, obviously four is the middle one is terrible. Eight is like the greatest thing you've ever had. And it's all subjective. So kind of whatever your personal rating is.

Chris Coyier: [10:14] Okay. Six tentacles. Yeah. Very good, I think.

Chuck Carpenter: [10:44] Yeah. I like where your gut is at. And I was actually going to go six as well. This is pretty good. The price point, I think was like $54 or something. I would.

Chris Coyier: [10:52] Okay.

Chuck Carpenter: [10:53] Yeah. I'd get it again.

Robbie Wagner: [10:54] Yeah. I think for the price point and quality, six is about right. I was initially thinking five, but I'll come up to six so we can all have an even rating.

Chuck Carpenter: [11:03] Six, six, six. This is the last episode. Obviously, we're all going to get murdered tonight. Oh, my. So, I don't know. Moving into more professional discussions. So I've heard that you have this site for having playgrounds to create projects online. I think it's called Code Pencil. Code Pen.

Chris Coyier: [11:25] Yeah.

Chuck Carpenter: [11:25] Sorry, I wrote some notes down.

Chris Coyier: [11:27] That's the one.

Chuck Carpenter: [11:28] Yeah. So that's the main gig, right?

Chris Coyier: [11:30] Yeah, I ordered pens on the Internet once. You know, like put your put your company logo on a pen. Yeah, but I just chopped off the pen part. Right. It just said code because the pen was implied. It was incredible. That was like my peak moment as a business owner.

Chuck Carpenter: [11:47] I'm sorry I didn't get some of that swag.

Chris Coyier: [11:49] Oh, yeah, they are rare these days. You know, American Pickers will find one one day.

Robbie Wagner: [11:55] I have one that has the full logo on it.

Chris Coyier: [11:58] Look at you.

Robbie Wagner: [11:58] So I don't have that one.

Chris Coyier: [12:00] Sick. Nice.

Chuck Carpenter: [12:02] So my brother has one of your T-shirts. So he lives in Florida in Tampa and his girlfriend got one, I think from one of your events or something there a few years ago.

Chuck Carpenter: [12:12] I don't know. One day I was just visiting him and he's wearing a Code Pen shirt. I'm like what? Where did you get that?

Chris Coyier: [12:18] Amazing. Yeah, I lived in Tampa for a while, but pre-Code Pen existing, so wouldn't have been that. Yeah, I don't know. But a sweet spot in my heart. I like Tampa.

Chuck Carpenter: [12:30] It is a pretty place for Florida. It's pretty nice.

Chris Coyier: [12:33] Yeah.

Chuck Carpenter: [12:33] That's their official tagline.

Chris Coyier: [12:35] It's just everybody's experience is differing. This is like not that I should get into things that annoy me, but this does annoy me a little bit. When somebody like, has declared a whole city as bad, they're like, oh, Detroit bad. You know, you're like, how can you do that? There's so much to a city that any given person could have the most wildly different experience there. They could have met their one true love and gotten married there and had picnics in the park, and they're going to think Detroit is amazing. You know what I mean? It's like, how can you I don't know. I don't like how people make two sweeping generalizations just because I felt it a lot about Tampa because Florida gets a lot of hate, which I get it right. There's some crazy in Florida for sure. But I randomly moved there and lived on this little cute street and I bought a dog and all my neighbors were super nice and had this like because I didn't know when I moved there I was like, Florida, what am I doing? Am I doing this right? And ended up having this incredible experience living there. I guess if you're not allowed to hate a city, I should not be allowed to blanketly love it either. But love is better than hate, right?

Chuck Carpenter: [13:42] And why subjectively enforce your opinions one way or the other onto someone else?

Chris Coyier: [13:46] True. I should just not have any opinions.

Chuck Carpenter: [13:50] I don't know how that's going to bode for us in our careers, though. Yeah, my brother lives in St. Pete specifically and I think it's really pretty there. It's very cool.

Chris Coyier: [14:00] Yeah, even better, really. It actually surprises me that people choose Tampa anyway. It's like St. Pete is Tampa, but on the water. Why don't you pick the waterside? Crazy. Anyway, so yeah, Code Pen. I literally co-founder of Code Pen to this day. It's been almost ten years now, so I still think of us as a startup because we're so small and only took kind of one round of funding and just still kind of feel scrappy and still trying to make it happen. I feel like spiritually connected to it, feeling like a startup and it behaves like a startup. So yeah, it's our wall startup. And the whole point, it's like really geared toward front-end developers. So you go there. The thing that most people do and engage with is there's a thing called the Pen editor. The Pen is just a made-up word that's our little unit of thing that you can make, which is just write some HTML, CSS, and JavaScript and it renders as fast as it can under your fingertips. Like you stop typing and it's like, I'm going to render what you got so far and puts that stuff next to where you're typing, which makes it this like cognitive it's nice. It's nice to see what your coding become real really fast, which now we just kind of expect as developers. That's like table stakes. But at the time, not that it was necessarily super innovative ever in its history, there's always been things that have predated it and stuff, but I just like that to this day and people use it for that reason to this day. Like, if you're trying to teach someone to code for the first time, which you wouldn't believe it, a freaking ton of people are constantly entering this field trying to learn how to code. Some of them end up on Code Pen because of like curriculum or blog posts that have embedded pens that point them to that or whatever. So we catch a lot of people early in their coding career and they learn to code at least partially on Code Pen because of that. You type color equals red and the color goes red real quick.

Chuck Carpenter: [16:05] Yeah, I think that's compelling. Used it plenty myself, for sure. I'm curious about that aspect of it where the fast feedback kind of being the niche. I don't know how much you can talk about the technology behind that, but I'm not really interested in what it is or as much as you can say that it is.

Chris Coyier: [16:26] Yeah, it's not all that interesting, really. Well, I mean, I shouldn't say that it is, but it's not surprising. It's not like we invented something totally new. Although we are kind of trying that these days. Like, what can we do that is a little more that takes this a step further? But let's say you've all written Sass, right? Sass is extremely popular CSS preprocessor still to this day. A lot of even really fancy new CSS stuff. There's a lot of you're writing in Next.js. They still make Sass like a first-class citizen. You want Sass. I don't know. Just make it Sass. Then. A lot of new frameworks still hangs on, which says something about that technology. But these days it's written in Dart or whatever. If you just like, NPM install Sass, you get a Dart version of it for whatever reason. And it has an API. It has a JavaScript API. A lot of people probably don't use it that way. It's just part of their toolchain naturally or something. Some other thing is, like, helping with the Sass thing. So not a lot of people call, like, dot render in Sass. But you could if you wanted to, you could go down to the metal and they ship a down to the metal version of Sass where you give it like, a string and you get back either a string of compiled CSS or, like, an error object that something has gone wrong or something. So we can just take that. And we just made it a Lambda in all of them. All of our processors are just Lambdas. Those little single-purpose cloud functions in the sky.

Robbie Wagner: [17:58] You're getting Chuck excited over there. He loves serverless.

Chris Coyier: [18:02] I mean, we're serverless all the way through. We have loads of I think that's the way to go for so many things. We have dozens of dozens, many, many cloud functions for this reason because they scale and they're secure, and you don't have to worry about somebody some vulnerability in Sass that could execute code on the box. You're like. I don't care. Go ahead, execute all the code on the box you want. I mean, not really because you could still do something stupid like Bitcoin mine or something, probably. But you can even lock that stuff down. Be like, oh, well, this Lambda can't make external calls or whatever. So, okay, problem solved, then. Right? But anyway, so you're typing along. Let's say you've chosen Sass. We can hit a Lambda with your Sass and get a response in, like, very few milliseconds, right? So we take your HTML, we process everything that we need to. We kind of just stitch it together in a template. And then you'd think we would just, like, inject the results into the iframe because you can do that. Iframe even has like a source doc attribute that you can say, this is the guts of the iframe, please do that. But interestingly, that doesn't work particularly well. Not because it's buggy really, it's just that it doesn't behave like a real website behaves in a way. Like, let's say that had an image source equals in it somewhere in the HTML. It wouldn't know what the refer was. So like when it hits that image, the server that serves the image, it doesn't send like a refer header to get that image, which isn't the world's biggest deal, but it kind of matters because there's some crap on the internet that just expects that or it looks like spam or something if it doesn't have a header. So if you try to embed a Google map or something on a pen and we've source-stocked it, it'll just be like, what is this? No, I reject the rendering of that. Kind of interesting. And there's other little quirks with that. So instead of just trying to fake it and just slap it in an iframe, we really temporarily put it on a web server. Like we just take your processed file and we just make it available at a URL that's like really short-lived, just has a little weird URL structure to it. And then we point the iframe at that really quick, really super duper fast. And then it has, it just is a little fake. It's not fake. It's a real little web page for just a split second. Yeah, we render it once and then it's just ditched. And that has some cool side effects. Like, let's say you wrote a set interval or a set time out or something in JavaScript. It will reset that in a way that sometimes if you try to do clever crap like dig into the iframe and replace little bits of it on the fly, it doesn't do that and it can be annoying. So this is actually a really dumb solution. All it does is just like you just loads up an iframe as an HTML document.

Chuck Carpenter: [20:46] Yeah.

Chris Coyier: [20:46] Works great.

Chuck Carpenter: [20:47] And you're like, hey dummy, over here is where you're creating the stuff. Don't create the stuff over here.

Chris Coyier: [20:52] Yeah.

Chuck Carpenter: [20:52] Maybe in a way.

Chris Coyier: [20:53] I mean, if you just typed like h1, hello world. During that process, if you did it slow enough, we might render that whole document like four or five times, and it's so fast that it just doesn't matter. That little renderer machine that's not a Lambda. Lambda could probably do it, but we have just a bespoke little Go-based web service. Go is just so smoking, and its networking capabilities that you could send a billion requests at it. It would be like, here they are. It's just incredible. You don't have to worry about scale at all.

Chuck Carpenter: [21:28] I'm going to say that you think that because you haven't been keeping up with Rust.

Chris Coyier: [21:33] Yeah.

Chuck Carpenter: [21:33] Otherwise, you'd switch it to Rust.

Chris Coyier: [21:35] Switch to rust. I'm literally nervous about that because Rust is so hot, and our team has really there's no switching to Rust Like now, we have four full-timers pretty much on Go. And it's like that's too, for a small team, we're too deep in it. I don't regret it. Go's pretty good.

Chuck Carpenter: [21:53] Yeah. Go is not going anywhere. I mean, Rust is the hotness and maybe it has its place, but Go definitely has its place. Back when I worked for Acquia for a bit, and we used Go for all of our microservices, it was just like stringing a bunch of different microservices together in Go, and then we had like a middle layer, and then that was just what you'd access for everything because it was so fast across a bunch of things.

Chris Coyier: [22:17] Yeah. The fastness of it is like game-changing in a way. And it's not just like, oh, that's nice that it's fast. It enables you to do things that you wouldn't be able to do otherwise. That if you're like, oh, we have this huge database, and if we wrote this little script in Ruby or whatever to change some piece of data or port it over here, it's like we're looking at four days or something. In certain companies that need to do something that's a no, then it literally can't happen. But you go, and you run it, and it's like 8 seconds. You're like, oh, yeah, we can do that. 8 seconds is fine.

Chuck Carpenter: [22:52] Yeah, we can live with that.

Chris Coyier: [22:54] And sometimes it's that extreme. Like, I feel like maybe I embellish that a little bit, but there are situations that are a little bit like that, but it's so in this other world of speed.

Chuck Carpenter: [23:04] And speed is where it's at again, apparently. We're all interested in speed on all the levels.

Chris Coyier: [23:10] Yeah. And it's important to us because of how fast we want to make it, you know, so as we evolve Code Pen, that's the thing that's got to stay the same or get better. Otherwise, why would you use it? You know, imagine a Code Pen. I mean, how often you use it? But if it was like 3 seconds to return a document as you're running, it would just feel different. It would just be like a bummer kind of a bummer experience to be like, nah, let's not even bother, or let's just why don't we just spin up VS Code locally and teach our kids that way? Because that's automatically fast because there's no networking at all.

Chuck Carpenter: [23:40] Right? Definitely. It kind of has to feel more local-like, and then it makes a lot of sense.

Chris Coyier: [23:46] And then so Code Pen becomes it's a place to learn. But that's not the whole business model. If you went to the home page today, there'd be lots of, like, code art. There'd be really just amazing stuff. They'd be like, Holy crap, how did they do that. Not a day has gone by pretty much in the ten years we've been running this where there isn't some kind of jaw-dropping interesting creation on Code Pen. And we've leaned into that over the years to make it even more social in that you have an account, and you heart other people's things, and you can leave comments on it, and we track the views and we track clicks, and stuff that are a little behind the scenes so we can throw, like, little ML at it. And so if you're logged in, you get a kind of like unique model for you of other stuff we're going to show you that is like the stuff that you've engaged with kind of thing. There's a little bit of that, like, Twitter might do or something. We try to very much not be gross about it, but it's like, how gross can you I'm just trying to show you some pens that you might like.

Chuck Carpenter: [24:48] Right. What's gross about that?

Chris Coyier: [24:50] Yeah, there's no COVID deniers on Code Pen.

Chuck Carpenter: [24:53] You already said you like these things. We didn't show you anything weird.

Chris Coyier: [24:56] Yeah, right. There's just not the kind of content we have to worry about too much.

Chuck Carpenter: [25:00] I'm going to surprise you with some CSS art.

Chris Coyier: [25:04] It's going to get weird. But even if you don't, there's no model for you or anything. We're still showing you, like, algorithmically popular stuff. If you search for rainbows or something because you need some cool rainbow background on your website, those algorithms will kick in in the search results and show you loads and loads, and loads of examples of people that have made some kind of rainbow on Code Pen that can be valuable and that adds to kind of the traffic of Code Pen. It just gets hammered. I've never, definitely never worked on a website that gets as much traffic as the site does. Just loads of traffic. It's amazing because, with that much user-generated content and just a minimal attention to SEO, we get a lot of results from that and serve it up hot and fast. So that's kind of cool. And then because of the traffic and because we have a pro plan that you can sign up for, which is kind of the bulk of our revenue as a company, we still thought this should be some way to monetize or help out with the bills for the vast majority of people who don't pay for Code Pen. So there are some display ads on the site, and then we send a newsletter as well, which is you think, wow, a newsletter. What an innovative, but so many people get it. So many millions of people get the thing that selling a few advertising spots in the newsletter, which is called the Code Pen Spark that Marie and our team puts together. This is like a decent chunk of our company revenue, believe it or not.

Chuck Carpenter: [26:37] Wow. We can't beat that.

Robbie Wagner: [26:38] Yeah, we need to start a newsletter.

Chuck Carpenter: [26:41] Yeah, we've talked about this.

Chris Coyier: [26:42] Get in on this.

Chuck Carpenter: [26:43] I don't know if we're going to have any paid sponsors, but well, you.

Robbie Wagner: [26:46] Got to start somewhere.

Chuck Carpenter: [26:47] Yeah, exactly. We don't have any paid sponsors on this podcast or anything else either, but.

Robbie Wagner: [26:52] We get to drink whiskey, so it's still fun.

Chuck Carpenter: [26:54] Yes.

Chris Coyier: [26:57] I don't know. You didn't really ask all that. I just wanted to I run a site called Code Pen. That's what it is. It's all that stuff.

Chuck Carpenter: [27:04] Yeah, that's all right. I'll freestyle it. We don't have a serious plan. We have some bullet points, and we may never get to all of them or any of them. Hard to say. It's just the nature of things. But the other thing you're very much known for is around CSS and CSS Tricks. Your second favorite thing, or maybe third, I don't know. Oh, you're a father now, so it's probably lower on the list. But you know.

Chris Coyier: [27:30] Yeah, perhaps. Yeah, it's Css-tricks.com. It's a WordPress blog is really what it is, believe it or not. I just have been publishing articles on that for even longer, for closer to 15 years. And it you know, it used to be just me, and then I started taking guest posts and having staff writers, and it's gone through eras and stuff. But, you know, to this day, we publish multiple articles a day on just the world of building websites. If anybody hasn't heard of it, that name probably sounds terribly stupid. CSS Tricks. I mean, oh, my God. I kind of regret it, and I think often about what is a bold rebrand look like. Could I pull it off? Technologically? I think I could pull it off. There'd be a little bit of SEO worry just because that's so Google is, like, so good to that site, too, that it would be a little scary, perhaps, to pull it up. I could do it, but then I'm like, I don't know. Some people really like it. I don't know. It's not just a technological problem. You lose some brand stuff in people's brains and all that stuff. Anyway, I didn't mean to pull you down that rabbit hole too far, but CSS Tricks, really, what a cheesy thing. It's not just a site where we publish CSS Tricks on it. It really kind of never was. There is plenty of that stuff in there once in a while, but for the most part, it's just a blog about websites.

Robbie Wagner: [29:01] Yeah, yesterday I actually looked at one about how to parse RSS with JavaScript or something like that because I was trying to pull down our podcast and get the latest one. So, yeah, there's definitely stuff that's not CSS on there. Definitely.

Chris Coyier: [29:15] Yeah, I wrote that one, but I wrote it in February 2020, so that was two years ago. It's not like that came across your Twitter feed. Probably that came across probably a Google search found that for you.

Robbie Wagner: [29:27] Oh, yeah, I Googled, like, RSS with JavaScript or something, I don't know, and it came up.

Chuck Carpenter: [29:32] Right. I find it as like a handy reference for lots of things you need to do in real life on the web. Right. You have, like, learn different frameworks, learn JavaScript nuances, learn all these things, but a lot of times, those don't always translate to what I actually need to do. And then Robbie's example is perfect for that. Like, oh, okay, there's no API for this. There's an RSS feed. I'm sure you can parse that somehow. Let's see what the Internet says. Boom. There it is. There's the reference manual.

Chris Coyier: [30:00] Exactly. And that's what I want it to be. I like that I have never set out to be, like, to make course material, which is another option and possibly a sounder business option. There's a lot of companies that went that route make good money doing it because then your average customer is probably worth a couple of something, whereas the average person who lands on CSS Tricks is probably worth about half a cent kind of thing if you're business oriented. Only maybe we picked a questionable model, but to this day, I've published probably 10,000 pages of stuff on CSS Tricks and don't just capitalize.

Chuck Carpenter: [30:41] And it's still relevant and helpful versus curriculum. There is a lot of that kind of stuff there. So either you want to be in the deep heavy pool, or you just want to have a conversation with peers and help them do something. I feel like that's what CSS Tricks is. It's more the latter.

Chris Coyier: [30:57] It's like I'll learn something one day, and then I just might as well write it down. That's the kind of vibe, like, did you think, Robbie? Oh, yeah, there's such a thing called window. dom parser. Like, it doesn't enter my brain all that much. I write plenty of JavaScript, but I didn't remember, like, oh, there's a Dom Parser just built right into the browser. Global Dom, or whatever you call it. It's just a global API. What? Okay, well, good to know.

Chuck Carpenter: [31:22] Exactly. Unless somebody's going through MDN docs all the time, just going through APIs available for the web, you're never going to find that stuff unless you need it, and then you start figuring it out. So what's going to tie those things together? I know what you mean. Like where maybe CSS Tricks doesn't cast the net correctly or widely enough or whatever, but we all know it. It's kind of like so the branding is there. You could switch it, but then we'd be like, oh, you know, it used to be CSS Tricks.

Chris Coyier: [31:54] Yeah, that's right. The web page formerly known as CSS Tricks. That would be unfortunate.

Chuck Carpenter: [32:00] You're going to have to change your beard, make it more narrow.

Chris Coyier: [32:03] I'll probably never do it. I'm also tired, and it sounds like work.

Chuck Carpenter: [32:09] We're not getting any younger. Okay, but I can understand. I can empathize with the whole, like, I got to write stuff down now that I used to remember all the time, and now I don't remember anything.

Chris Coyier: [32:18] Yeah. I don't know. Maybe that's it. Maybe I never was all that good at that. And then I had to write it down. It was just yesterday. I wanted to produce 20 shades of gray, but I wanted something to flipping help me do it. I'm not going to hand-pick 20 shades of gray. This is a programming concept. There be some way. I was googling and trying to trying to find stuff, and I've eventually found stuff, and I found probably three interesting ways that you could get it done. You know, that's going to disappear from my brain if I don't write it down. So I wrote it down. I haven't pressed publish on it yet. I haven't even written it yet, but I have it cooking my brain. So that eventually will become a little blog post, and then I will thank myself later when the next time I need to generate 20 grays.

Chuck Carpenter: [33:05] Right.

Chris Coyier: [33:05] Got it. I got you, people.

Chuck Carpenter: [33:08] That's the nuance and nature of programming, in general, is that we're inherently lazy, and we spend all our time trying to make things easier or not ever doing it again.

Robbie Wagner: [33:18] Yeah, I could easily spend a whole day writing a thing to do something that I could have just done manually in like an hour. But that's not fun.

Chuck Carpenter: [33:27] Right, exactly.

Chris Coyier: [33:29] Yeah. And then part of maybe the entrepreneurial part of me is like, if I write this down and I do it enough time, I can extract money out of it, too. Some part of that is there. I probably wouldn't do it if there was no value in it. And some part of me likes almost like an RPG video game with a grind in it. Like, that always attracted me. And blogging, to me, almost feels like a really long-term grind.

Chuck Carpenter: [33:54] Yeah. I like that you're willing to put in the work.

Robbie Wagner: [33:57] Yeah, we mentioned that on, I think, the one with Mel, which hasn't published yet, but we were talking about how games that's the kind of games I like. I want it to feel like work, and I want to grind. So I like the grind of coding and logging and doing all the things as well because of that same reason.

Chuck Carpenter: [34:14] Yeah. Zelda Breath of the Wild, that was probably the last one that drew me in, in that way where you just had to grind through and do a bunch of stuff. I own a switch still, only because I'm waiting for that to come out, not because I have any time to play any other game.

Chris Coyier: [34:27] Yeah, tell me about it. I bought an Oculus 2 or whatever. Now I'll see what this metaverse is all about. Once in a while in my life, I've strapped one on, but I never had easy access to one, and now they're like 299. It's not nothing, but it feels like a lot more affordable. Not to mention they ship in like five minutes. They must have some drone warehouse or some crap. And they really came really weirdly fast for me. I'm in the middle of nowhere here in Bend, Oregon. I was shocked at how fast it came. Anyway, I'm never going to do it. I don't regret buying it, but what in the three minutes of spare time I have per day?

Chuck Carpenter: [35:08] I've done meetings in it. So there's Horizon work rooms or whatever. So you can go, and we're all like remote virtual, or whatever. So I had like one on one meeting in a virtual office space. And that was pretty cool.

Chris Coyier: [35:21] That was cool.

Chuck Carpenter: [35:21] Yeah. There's rec room, which is cool because you can have people that don't have VR participate also. But then, if you have the VR, you're in there. We did like Pictionary, and I played disk golf with my brother and stuff like that. And then I got to fight Darth Vader, and then I haven't gone too much further than that.

Chris Coyier: [35:37] That's amazing.

Chuck Carpenter: [35:38] Yeah.

Chris Coyier: [35:39] If there's social aspect to it, that would gear it up for me. So far, I've just been like, I'm going to learn how to play this little ping pong simulator kind of thing, which was fun, but it didn't strike me as useful as having a meeting in it. That'd be cool because then it would be part of my day in a way that it's not otherwise. Otherwise, it feels like, oh, I got to smash learning this thing at the end of the day.

Chuck Carpenter: [35:59] Yeah. Speaking of smashing, don't be careful. I smashed my face and body into a shelf playing games one time. So we were in that rec room, and then we were playing this racquetball, like game. And when you reach really far, and I had my guardian set up, like right to the edge of stuff, which is a bad idea if you're going quickly towards it, it can't warn you in time.

Chris Coyier: [36:20] I see.

Chuck Carpenter: [36:22] So I have a big bruise here and wherever else.

Chris Coyier: [36:26] Real physical damage.

Chuck Carpenter: [36:28] Yeah, but not in the meetings. You're fairly safe in meetings.

Chris Coyier: [36:32] Yeah. What about would you watch a movie in it? Would you just sit on the couch and fire up a movie and just let it seem like a 200-inch screen or whatever, crap and stuff?

Chuck Carpenter: [36:44] I don't know. That would be interesting. I have done some of the video. Like, I did a video where you're in one of those squirrel suits and flying down the mountain and with other people. That was cool. So, yeah, I mean, I've done experiences like that. I guess I would watch a movie.

Robbie Wagner: [37:00] The resolution is not great, though.

Chuck Carpenter: [37:02] Yeah, I think you're supposed to plug it in if you want, like the high res. Or if you do WiFi, then it cuts it back a little.

Chris Coyier: [37:08] Really?

Robbie Wagner: [37:09] That explains things.

Chuck Carpenter: [37:10] Yeah. So you can plug it into your computer, and then you get streaming direct that way versus WiFi streaming. So that'll help some of that stuff, but I don't know.

Chris Coyier: [37:20] Well, that's interesting, but then you got to run a cord down your leg.

Robbie Wagner: [37:23] Yeah, my Internet is nonexistent, so yeah.

Chuck Carpenter: [37:27] You get a long one. But the only thing I wouldn't do is play. There's a lot of horror games on this thing, and that is an absolute no for me. There's like a Blair Witch, and yeah, no, that's just a hard no because Darth Vader was scary, because it takes into account your height. I don't know if you remember Chris, but I'm not that tall, and he is very tall. And so I was like, whoa.

Chris Coyier: [37:52] Wow. Yeah, I can't even watch, like, a trailer for a scary movie on a normal screen on my phone.

Chuck Carpenter: [37:59] Yeah.

Chris Coyier: [38:00] I'm a huge wimp. Huge Wimp.

Robbie Wagner: [38:03] Yeah. If you've heard of Phasmophobia, it's like this ghost-hunting game, and you go into rooms, and you have to find clues, and if you don't do it fast enough, the ghost will attack and kill you. And that is VR capable. And Rob plays it in VR. I would never play it in VR. I barely like playing it on a computer. But, yeah, that's super scary.

Chuck Carpenter: [38:25] Rob works for us. That's not Robbie talking about himself in the first person.

Robbie Wagner: [38:32] Another Rob.

Chuck Carpenter: [38:33] Yeah. Rob plays On VR Rob is going to have a drink of whiskey right now. There was, like, one more thing that I think Robbie wanted to talk about a little bit that is more technical before we go too far down the what-not side of things, which is basically a constant. But CSS Tricks way into CSS, of course, as well as many other aspects. So Robbie loves Tailwind, and we really want to know what you think of Tailwind.

Chris Coyier: [38:56] Oh, right on. Yeah. I never yuck somebody's yum. If you like Tailwind, I think that's great. Also, I think you're in not rare company. There's, like, a lot of you, and I'm sure you're aware of that. I think there's a lot of people who feel like I think some of the vibe is like, we've arrived just like, use Tailwind, skip to the end. That kind of vibe. Like, CSS is solved now, so why would you screw around with anything else? Fine. That seems like such a bold statement that if that's how you really feel, then rock and roll. I have tried twice now, and I just can't get into it myself because some of the promises that you'll work faster, and I'm like, I feel really slow, actually, in this. But the part of that is just it was new to me, so try harder. You know, like, you get a new keyboard, you got to practice that, too. But then there's all the class names, and there's just something about it that doesn't vibe with me in the same way that I didn't feel a productivity boom. And then I kind of go back to writing CSS, which I've been doing forever. I really do have a website in it. I really do actually think about CSS a lot, and I'm not scared by it. I'm not worried about it. I feel like entirely perfectly capable in CSS at all times that I end up back there and feel okay, there is CSS tooling that I am compelled by. I like the idea of scoping styles. I like the idea that I can write CSS that doesn't leak out and things don't leak into it. In a way, I think that's a cool innovation, and I think there's some relationship there to something like Tailwind is that you can just go hog wild with your Tailwind, and you're not influencing anything else on the site. You're just doing what's right in front of you. It's like you're chopping a carrot or whatever. The carrots in the fridge are fine. Just chopping just this one. Whereas CSS, I think, can scare people in some ways and be like, yeah, but if I touch it, maybe I'm whatever kicking over the bar stool in a different bar or whatever the joke is.

Chuck Carpenter: [41:09] Yeah, we had some global CSS at National Geographic that was like, really don't touch it, don't touch it. Just in your thing, put your thing way down here just to make sure because we can't change this thing because we have no idea what it's going to break across the entire organization. It was like that kind of stuff back in the day

Chris Coyier: [41:27] That's surprisingly not rare, and you'll have less of that the more you scope your styles, the more that you're not afraid of it in a way.

Chuck Carpenter: [41:35] The promises of web components is what that's all about. Gosh, I remember that was so excited.

Chris Coyier: [41:40] Yeah, wonder. Don't write it off quite yet. I mean, they're in the platform now, and they continue to evolve, and there's more stories for them. So I think that long term, that might really actually be the thing. Maybe it's not today, but I'm pretty cautiously bullish or whatever on web components. Here's another thing, though. CSS is render blocking. If you're a performance dude, you think about the waterfall all the time, which things in the head are blocking. Can I move my JavaScript down? Can I defer loading of stuff? What can I do to get a faster, whatever first contentful paint and all that stuff? CSS is literally your enemy in that way. Most people just put a link tag in the header, and it's just their entire CSS. I think they're all the proof in the world that if you use like Tailwind in the Just-in-Time compiler and it's producing a little style sheet for you that replicates nothing. It's so trimmed down that the chances of you shipping a very much like a ten x smaller style sheet is somewhat common in Tailwind, and thus, you just straight up get a performance benefit out of it. I feel like that should be like touted more strongly from the Tailwind people. I don't hear that one as much.

Robbie Wagner: [42:56] Yeah, the big thing that I always see in code bases is like just do a search for display flex. You'll see 150 or more results depending on your code base.

Chris Coyier: [43:08] Oh, sure.

Robbie Wagner: [43:08] You put in Tailwind, and you have the one flex class, and it's not a huge savings. Right. But you're getting rid of display colon space for every one of those. So a little bit less bytes.

Chris Coyier: [43:18] You are, I mean, you put it back in the HTML, so it's like.

Robbie Wagner: [43:22] Well, so it's not a ton smaller, but it is a little smaller. And then yeah, it optimizes with the Just-in-Time stuff, and it really depends how you use it because you can use it poorly and get just as bad result, for sure.

Chris Coyier: [43:36] Yeah, I like that people like it so much. I wish that there's some like social nuance to it. There's some people that there's been plenty of examples. I can quite literally point to the exact examples of somebody being like. I don't like this very much and get piled on. There's something about the Tailwind community that can do a pile on to somebody in a really unhealthy, uncool way, I think, right? That's like, gee, why can't we just talk about technology?

Chuck Carpenter: [44:01] Yeah, there are a few communities like that.

Chris Coyier: [44:04] I write a lot of React. Right. I write a lot of JSX. Just like, here's my template, and I see my structure in there, and it's already full of on clicks and stuff. Right. And I've come to terms with that. I think that was a net gain and stuff. But then part of it bugs me a little bit to then add a bunch of class. I feel like it's already a little messy down there. That's something about adding the classes to that very same template where I'm trying to that's my place where my brain needs to do the reasoning about what's happening. It's like now it got even messier. I don't like it, but I like the colocated styles. I like it when my little JSX thing and then there's another little file right next to it that's tightly coupled to the template at the moment. That's kind of my favorite way of handling CSS.

Robbie Wagner: [44:55] Yeah, that's what I did pre-Tailwind.

Chuck Carpenter: [44:57] I think that's a good way to organize.

Chris Coyier: [44:59] Now, think of the new stuff that's coming to CSS. There's cascade layers coming. It's like a weird big deal. It's changing how cascade and specificity is going to be handled in CSS. There's container queries and container units, and those how the hell are you going to express a container query in Tailwind? There's nesting coming. Well, you don't really need nesting and Tailwind, fair enough, but there's like a pile of stuff coming in the next year or so. That also feels like if you just let CSS be just use the language, you get all this stuff. But if you have to wait for an abstraction to arrive later, it's like maybe it never does arrive, or maybe it comes in a way that's like too abstracted, that's not all that useful. I don't know.

Robbie Wagner: [45:41] Yeah.

Chris Coyier: [45:42] There's an advantage to just sticking with the core language that you get to use the core language.

Robbie Wagner: [45:47] Yeah, I mean, I think that is an important point that, for me, Tailwind is helpful because I spent so many years doing CSS and Sass and understand how it works. Like, if you're a newbie coming in and just being like, oh, let me just use Tailwind, I'll throw a grid class on it'll. Make me a grid, then. Yeah, you're not going to understand the nuances, and you're not going to know when the new things come, how to use them, and that kind of stuff. So it's important to still know all the CSS.

Chris Coyier: [46:13] And what about the big org thing? Do you you feel like it would be more useful the bigger the org? Is that unrelated?

Robbie Wagner: [46:21] I think it could be, but I think it would be hard to get a big org to all buy into Tailwind. It is very polarizing one way or the other, so I don't know.

Chris Coyier: [46:32] Yeah, I don't know either. My gut is that it would be because it has this nature of design tokens to it that I can if you want to use this blue, you have to use this class, and that gives some organizational strength to the idea of, like, don't go rogue with your blues, everybody. There's one okayed way to use, and it's not just blue. It'd be like animation, timings and padding numbers, and everything. It's a way of saying like, never design on your own. Only design with this set of design tokens.

Robbie Wagner: [47:07] Yeah, it is helpful for like a UX team because you can be like, okay, you can't use 35.5-pixel margins. You've got to pick the ones that we have in Tailwind, and they've got to all be the same. So it's helpful for communicating that back and forth and making sure you don't do anything nonstandard.

Chuck Carpenter: [47:26] But I mean, in the same way, that like, guardrails can be applied. And how heavyhandedly should you be for like an open source project versus internal engineering practices? Like, what are your yes land Prettier settings? What kind of prechecks do you do before merge requests? All kinds of stuff like that. So I think it's like a similar ideology.

Chris Coyier: [47:50] Yeah, maybe the fact that it requires tooling opens the door to even more tooling too. Like, okay, we're already tooling some crap, so why don't we lint it too.

Chuck Carpenter: [48:01] Right, right. And so, how granularly you want to enforce that kind of stuff? I have been in places where the order of properties is listed and corrected.

Chris Coyier: [48:12] Yeah.

Robbie Wagner: [48:12] Oh, it should be alphabetical all the.

Chuck Carpenter: [48:14] Way, not the order that it is in, like DevTools or whatever, which I can't remember what that's called.

Robbie Wagner: [48:21] No alphabetical. Because how are you going to find it? You're going to remember the order that someone else decided it should be in. I know the alphabet.

Chris Coyier: [48:29] Yeah. It puts, like, bottom really high and really far away from right. And then you're like, well, that sucks.

Robbie Wagner: [48:37] It does, yeah.

Chuck Carpenter: [48:40] And you can't just search for right.

Robbie Wagner: [48:42] To each his own.

Chuck Carpenter: [48:43] Yeah. See, this is what makes it all interesting. So many different ways to skin a cat.

Chris Coyier: [48:48] I kind of have to, like, leave it alone and don't mess with somebody else's, is my kind of rule at the moment. It reminds me of import ordering at the top of your JavaScript files, too. So many JavaScript files have like eight, ten, twelve imports at the top, pulling in sub-components, pulling in NPM stuff, pulling in all this other stuff. Do you have an automatic thing that sorts them? We don't.

Robbie Wagner: [49:11] I do.

Chris Coyier: [49:12] I've never been able to find one that I really like. That like Prettier for imports or something. If you do, that's awesome. I've dabbled in it twice now. And then you just would do it all over the code base once and then make sure everybody's machine is set up with it, and then that would be fine. But because we haven't nailed it yet, the rule is just freaking leave it alone. Do not open up somebody else's thing and reorder their inputs and commit that because that is just noise, and it doesn't matter, and I don't care.

Chuck Carpenter: [49:41] That's reasonable. I wanted to circle back to a comment I made earlier a little bit. So you are a dad? I'm a dad. Robbie's going to be a dad soon.

Chris Coyier: [49:52] Congratulations.

Robbie Wagner: [49:53] Thanks.

Chuck Carpenter: [49:53] So I wonder if there, I mean, I have given him plenty of advice he didn't ask for, so I wonder if there's any advice you would give to a new dad.

Chris Coyier: [50:03] Oh, that's great. There was plenty of advice that comes at you whether you want it or not. But I remember one guy talked to me who's a DC guy, too. David DeSandro, you ever run across that guy?

Chuck Carpenter: [50:15] Oh, yeah.

Chris Coyier: [50:16] Your DC years.

Chuck Carpenter: [50:17] I did.

Chris Coyier: [50:17] Yeah. He's a dad now, too, and he's just like, there's just going to be too much of it. So on purpose, my advice is to not give you advice or something like that. He said it more sage-like at the time, but it was kind of like it doesn't matter anyway. It's like talking to telling a junior developer what they should learn. And you're like. You're going to fucking ignore me anyway. There's 100% chance that you're not going to do whatever I tell you to do.

Chuck Carpenter: [50:39] Yeah.

Chris Coyier: [50:39] And that it seems so worrisome, but it's going to be fine. You're going to be fine. It's not that weird. I thought maybe I would really become a different person, which I absolutely have, not in any way literally exactly the same dude I was before. It was, like, hard. I went through a challenge. Maybe I came out like, I'm a little stronger now or something, or more resilient because I went through that. Perhaps I suffer fools a little less or whatever, but fundamentally, I'm just saying and you, too, shall be the same person.

Chuck Carpenter: [51:15] It's good non-advice.

Robbie Wagner: [51:16] Yeah. I've been reading a book that basically said the same thing. It's like, I see you're reading this book, and like, that's great that you're trying to learn all this, but it's not going to help. Like, you know, you're going to do the best you can, and it's going to be fine. It's basically like all it is.

Chris Coyier: [51:31] We went for like eight weeks to this class for 2 hours at a time. And they taught you about how the baby might be sitting and your wife and how you can be in these certain positions, and here's the names of all these things that could happen and what to expect on the day. And then, all of a sudden, it's the day. And it just goes, whoosh, it's over. And you're like. It's an eight-week class. Get out of here.

Chuck Carpenter: [51:54] Exactly.

Chris Coyier: [51:55] Freaking grift, dude.

Chuck Carpenter: [51:58] Yeah, but you don't know any better. And there's plenty of people who also don't. So they buy the book and take the class.

Chris Coyier: [52:03] Yeah. I even remember enjoying the class, kind of. I took little sketch notes and stuff. It's not like I terribly regret it, but as far as that being vital to letting a child into this world, that's just going to happen. It comes out the hole down there.

Chuck Carpenter: [52:22] For any listeners that weren't aware. That's how it works.

Chris Coyier: [52:27] Sorry, I didn't mean to offend anybody by that. That's fine.

Chuck Carpenter: [52:31] No. Okay. Chris, so that clarifies for me. You haven't listened to any previous episodes. What? We're unedited.

Robbie Wagner:[52:38] Oh, yeah.

Chuck Carpenter: [52:42] I know. Fine. That was a joke. That didn't land. That also happens a bunch too, so don't worry.

Chris Coyier: [52:47] Well, that'd be great. Are you taking you to take a couple of months? How are you going to do that? That's kind of an interesting one.

Chuck Carpenter: [52:53] Yeah.

Robbie Wagner: [52:53] So our policy, just because we don't really know what we're doing as a company yet, is we give everyone a month of leave, which is not the best, but it's not the worst. So, yeah, I'll take a month off, and we'll just try to figure things out and.

Chris Coyier: [53:08] Yeah, if you're super early days, I think it's probably right in the middle there. That's just my hunch to things.

Robbie Wagner: [53:17]It's hard when you're billing clients to just give people like six months off.

Chris Coyier: [53:21] Yeah.

Robbie Wagner: [53:22] They're not bringing in any money.

Chuck Carpenter: [53:24] Yeah. There's no passive income there, so it's.

Chris Coyier: [53:27] Like no, and this is perfectly fine. People have multiple children, too, and a lot of times, they want children that are not super duper far apart. So they can be friends better. That means if you had two or three and you gave six months for each one, you were literally half the amount of hours. Maybe that's rude to even bring up or something in today's world, but it seems like that's a lot of that changes the equation of employment to me as a business owner. Weirdly, that doesn't seem particularly fair.

Robbie Wagner: [54:00] Depends on what you're working on. If you have a product that's super lucrative, and those people can be really productive in a couple of months and ship the value, then sure, but we're not Netflix, so we can't give you six months off.

Chuck Carpenter: [54:14] Right. We're not in Sweden, where so much of that is subsidized to.

Chris Coyier: [54:20] Yeah, well, it'd be all right. You're going to need the month, though. Take that. Oh, yeah, for sure.

Chuck Carpenter: [54:27] And for paternity leave, that's actually not too bad, in my experience. My first one, I had two weeks, and I did have six weeks for my second, and I was able to split that up. So that helped a little bit.

Chris Coyier: [54:36] Yeah. As a business owner, I didn't announce anything at all. It was probably the least healthy possible way you could do it to set no boundaries at all. Just be like, I'm kind of going to be out, but just knowing my personality, I'll never be all the way out. So it's like week one, and I'm rocking the baby and answering emails. That's like the worst possible there's some advice. Don't do that. Just be out.

Robbie Wagner: [55:01] Yeah, I would get in trouble for that. My wife is definitely going to make me put the phone and the computer away and just be present for that whole month, basically.

Chris Coyier: [55:11] Yeah. You'll learn to be bored again, which is a weird feeling because it's not like flying excitement. Right. They sleep a bunch, and even when they're up, they just go, hey.

Chuck Carpenter: [55:21] Yeah.

Chris Coyier: [55:21] You know.

Chuck Carpenter: [55:21] Yeah.

Robbie Wagner: [55:22] Yeah.

Chris Coyier: [55:22] And if you like horror movies, now is the time because that crap goes away in a couple of years, and you can't do that anymore in their presence, you know?

Chuck Carpenter:[55:29] Yeah.

Chris Coyier: [55:29] In the early days, you could watch whatever you want.

Chuck Carpenter: [55:33] I've learned recently, my kids are five and two, and when they're in the car, I listen to like old-school hip hop and stuff. And recently, especially my daughters, her language is in the repeat mode. And so old-school hip hop, even modern hip hop, it is not really good. They use some words that I would not like her to repeat in public.

Chris Coyier: [55:53] Yeah.

Chuck Carpenter: [55:54] So yeah, we have to censor yourself for what you're enjoying and win.

Chris Coyier: [55:59] Oh, I'm terrible. They come out of my mouth. It's the main problem.

Chuck Carpenter: [56:04] I hope not this word. I hope this word doesn't come out of your mouth. But other ones, yes. I mean, there's been plenty of like, yeah, fuck daddy, fuck this. Yeah, I've heard that a couple of times.

Chris Coyier: [56:16] Have you or I would be skewered because it would definitely be my fault.

Chuck Carpenter: [56:25] Well, Sarah is also at fault. I'm not alone in that.

Chris Coyier: [56:29] She might actually listen to this because that's how it came up. Because you knew Miranda. Probably from National Geographic or something. DC.

Chuck Carpenter: [56:35] Anyway, yeah, we were together in that Geo, and that's where I met you. I went to a Code Pen thing, and then we went to dinner at Red Hen or something like that.

Chris Coyier: [56:47] Oh yeah.

Chuck Carpenter: [56:47] Northeast.

Chris Coyier: [56:48] Yeah, I totally remember that. Didn't they even like cacio e pepe or something where they're known for it, wasn't they?

Chuck Carpenter: [56:53] Oh, cacio pepe. Yes. That is, like, the stuff. I'm currently not eating any of that stuff. I'm smartly doing, like, some caloric deficiency, high protein diet this week for ten days. So one whiskey will really get you going a little bit when you're doing that.

Chris Coyier: [57:09] Oh, I see. Yeah, mine's dry. I'm going to repour here, although I don't know what the.

Robbie Wagner: [57:13] We are around an hour, but the one last week, I think it's like an hour and 40 minutes.

Chuck Carpenter: [57:20] Oh, my gosh.

Robbie Wagner: [57:20] We just go until it doesn't matter.

Chuck Carpenter: [57:23] Until we don't feel like it, or you're not obligated for longer than you really want. That kind of stuff.

Chris Coyier: [57:28] Yeah, sometimes we do.

Chuck Carpenter: [57:30] There is one more very interesting topic that I want to make sure that we cover, which is you had a short blog post about Rick Steves and how you had more recently discovered him. I love Rick Steves, by the way. He is like the nerdiest dad, but he was like my Intro to European travel. So, I don't know, 15 years ago, I had a first midlife crisis. There's been a few of those already.

Chris Coyier: [57:55] I understand.

Chuck Carpenter: [57:55] I realized, like, oh, yeah, I'm 30, and I spend money on stuff, and I've never really traveled that much, and I've always wanted to go to Europe, so I sold all that stuff. I read Europe through the back door and got real inspired and then took off for, like, seven months.

Chris Coyier: [58:10] Wow. So he mattered to you. You know way more about him than I do because all I've ever seen is on Amazon Prime, and he just goes to these cities, but it doesn't look like he's doing it particularly cheaply.

Chuck Carpenter: [58:24] It's so lo-fi, like VHS, you know?

Chris Coyier: [58:28] Totally. Totally. The only reason it has good resolution is just because technology happened, and you can't shoot bad video anymore. They don't sell that. Right, but that's his vibe. Right, is do travel cheap. Right. That's what the book was about, anyway.

Chuck Carpenter: [58:44] To me, it was more about traveling versus vacationing. So it's like you're going to a place, and you're trying to embrace some of the culture and stuff. So it was always important to me to not make it about bucket listing, oh, Cam in Rome. I better see the Colosseum and the Forum and whatever. And then what does everybody say I go to for a restaurant, but instead I would be like, I'm going to go wander around in some neighborhoods over here because that was over 1000 years ago. 2000 years ago. Now, what's going on? And hang out and get some local culture too.

Chris Coyier: [59:15] Yeah. Like, what does it feel like to live here? Almost more than just, like, hit the highlights.

Chuck Carpenter: [59:20] Yeah, exactly.

Robbie Wagner: [59:22] My big complaint about Italy is that there is no food that is not Italian. It is so hard to find. Like, I want a burrito or like a burger. Nonexistent.

Chris Coyier: [59:34] Oh, really? Poor burrito scene in Italy. That's an opportunity.

Chuck Carpenter: [59:38] Yeah, for sure. That's kind of in general for Italy and Spain in particular. Right. They have their own kinds of food, and they kind of really lean into it. I mean, in any major metropolitan area, you can get whatever, all the fast foodie kind of things or whatever else. But I remember I was volunteering in Milan for a couple of weeks, and we essentially ate, like, pizza and gelato every day and some pasta lunch and whatever else. And I was taking the train down south, going to the Chinquotera, and one of the stations I just stopped at had a McDonald's, like McDonald's and then beer, and I had two burgers and a beer, and it was a nice, like, okay, I need to break. Yeah, okay. This is all right. But I mean, everywhere you go, the pizza is amazing, though, so it's hard to say. Complain about that too much.

Robbie Wagner: [01:00:24] It's great. But after two weeks of pizza and Noki, every meal, we were like, hey, let's get some Mexican food. And terrible. Like the worst.

Chuck Carpenter: [01:00:34] Yeah, I had some Chinese food in Barcelona once, and it was like soupy. It was disgusting.

Chris Coyier: [01:00:40] Oh, my God, you both would hate me. I'm the worst in the world. I've been to Barcelona twice. I don't think I've eaten at a non-fast food restaurant in Beirut. I'm just such a piece of garbage when I travel because I'm there because it's short because I'm dad, I got to leave. And then I'm just alone. I was alone in both cases. And I, like, I don't speak the language, and it was under some stress to deliver a good talk anyway, so I'm just like, oh, subway. Oh, kickass one turkey subway. Terrible. And Miranda just loves travel, and she loves the idea of going to Barcelona. How romantic. And I walk around, and I'm like, this actually is romantic. I wish you were here, babe. That would be amazing. We would have an amazing memory. But alone. I think Rick Steves is cool, but I don't have the spirit, man. I can't just sit there alone.

Chuck Carpenter: [01:01:32] Oh, see, I traveled alone, so I did a bunch of that.

Chris Coyier: [01:01:35] You're it.

Chuck Carpenter: [01:01:36] I mean, you break off into some fast food.

Chris Coyier: [01:01:38] You embraced it. I'm proud of you. You killed it.

Chuck Carpenter: [01:01:41] Yeah.

Chris Coyier: [01:01:41] I'm just human garbage when it comes to that crap.

Chuck Carpenter: [01:01:45] You're the guy that ends up in a foreign city and just goes to the Irish pub. Because the Irish pub is where all the Americans who don't want to try.

Chris Coyier: [01:01:53] Oh, for sure. I go to O'Roy's or whatever.

Chuck Carpenter: [01:01:56] Yeah, exactly. And they're like, yeah, we just head there. It's full of yanks. And I'm like. I always avoid those places because I'm like, I know you all. Yeah, I need to go figure this out.

Chris Coyier: [01:02:06] Absolutely.

Chuck Carpenter: [01:02:08] We'll travel. There you go. I'll help you out sometime.

Chris Coyier: [01:02:10] Yeah, well, with people, it's fine. It's just alone. I'm the worst. Then I go back to my hotel room and hook up my Internet and watch, like, Stargate SG-1 reruns and shit like that. Just horrible.

Robbie Wagner: [01:02:21] Love Stargate.

Chuck Carpenter: [01:02:23] Yeah. I mean, I'm not Bashing Stargate.

Chris Coyier: [01:02:26] I know. It's just like once in a lifetime opportunity to be somewhere amazing. You're like, oh, the Sagrada Familia is down there, and you're like, yeah, but Samantha Carter is right here.

Robbie Wagner: [01:02:36] But what's Teal'c doing?

Chuck Carpenter: [01:02:41] Conversely, I can empathize a little bit with the whole a little bit of you time because it just doesn't feel like there's me time really much anymore. So then, if you travel for something work-related.

Chris Coyier: [01:02:52] Oh, yeah.

Chuck Carpenter: [01:02:53] And you just want to sit in the oh, my gosh, I can play a video game at a homelike environment without anyone bothering me.

Chris Coyier: [01:03:01] Yeah. It'll come back. I plan on highly someday. I'll retire, we'll travel the world, Ruby will be in college, and I'll be like, See you later. We're going to do amazing things. I hate that it's such a cliche life that we have to wait until then to do it, but hey, I guess there's a reason things happen like that because spend your formative years behind a keyboard. Damn it.

Chuck Carpenter: [01:03:24] Better late than never, right?

Chris Coyier: [01:03:25] Yeah.

Chuck Carpenter: [01:03:25] Plus, you just like what you're doing.

Chris Coyier: [01:03:27] I do like what I'm doing. Thank you.

Chuck Carpenter: [01:03:29] Yeah. I mean, I tend to wonder, in some shape, form or whatever, will we ever really stop doing this? I don't know. I mean, we might worry about having to do this, but we probably still would do it in some form.

Robbie Wagner: [01:03:42] Yeah. If I had infinite money, I would still work on stuff, for sure, but I just wouldn't have to when I don't want to. That's the difference.

Chris Coyier: [01:03:49] Right. Yeah. And you'd probably be better for it. Although I don't know, sometimes it's like when I have my busiest days, I'm also very productive, and sometimes I worry that if I had all this time, would my quality go way up because I'm going slow and I'm doing it for the passion of it? Or would my lack of ever being busy kind of somehow make it suffer? I'm going to find out. I'm ready.

Chuck Carpenter: [01:04:12] You're not forced to ship.

Robbie Wagner: [01:04:14] Yeah, without deadlines, I would never get anything done. So yeah, I need some of that pressure.

Chuck Carpenter: [01:04:19] You got to be forced to ship at some point. So what we'll do our next business venture will be like the retired web devs, and then they will just, like, put artificial pressure on one another, force each other to ship.

Chris Coyier: [01:04:32] It might actually work. Like, it sounds like a joke, but. You know.

Chuck Carpenter: [01:04:35] It could be a thing. 20 years. If it happens, then you'll know why.

Robbie Wagner: [01:04:39] Yeah, we'll cold call people that used to be devs must be like, you shipping that thing, what's your status?

Chris Coyier: [01:04:45] If it's totally artificial, maybe it wouldn't work, but maybe there's some way to do it. Like you pair up with some hungrier younger dev that doesn't have time for your slow ass.

Chuck Carpenter: [01:04:56] Yeah, all right. He's like, Listen, grandpa, you better ship.

Chris Coyier: [01:05:02] He's like, you can tell me that. Give me some code review advice or whatever. Because they would never be able to get it out the door either. You need both. You need both. It's like a Mr. Miagi kind of thing. I don't think he could have won the tournament, either. He had brains for it. But you need the Karate Kid's brawn.

Chuck Carpenter: [01:05:21] He didn't have the body. Yeah, that's true. I'm starting to feel some carpal tunnel, so I'm going to need some hands-on keyboard at some point.

Robbie Wagner: [01:05:27] You don't have the ergonomic keyboard and mouse yet.

Chris Coyier: [01:05:30] You have, like reverse carpal tunnel. Like your hands hurt if you don't type.

Chuck Carpenter: [01:05:34] Yeah, and that's why I never retire. I'm writing so many blog posts these days. I'm not even talking about anything gibberish. Well, with that whole VS Code GitHub. What was that? What is it called? Autocomplete some of your stuff. It's going to write us out of jobs. I don't know.

Chris Coyier: [01:05:52] Oh, yeah, Copilot. It's good. Oh, my God.

Chuck Carpenter: [01:05:54] It's kind of nice.

Chris Coyier: [01:05:55] Just earlier today, like right before this call, I was working on some themes for whatever, syntax highlighting kind of themes, and there was an old version of it written in Sass, and I was like, kind of converting it to a CSS modules format with regular dash dash CSS custom properties in the top. So there's two tabs open, and I did the split pane thing in VS Code, and I feel like Copilot knew that I had two tabs open because I'd be like dash dash R and I'd be like, Would you like it to be red? And then the exact hex code that was from the other tab that was open. I was like, what?

Chuck Carpenter: [01:06:36] What are we letting them read? I don't know.

Robbie Wagner: [01:06:39] I allow everything.

Chris Coyier: [01:06:40] I thought it was just ML. It just has some suggestions based on other crap that it's seen, but it seemed to be like on the fly. I don't know what it's doing, but it is marked.

Chuck Carpenter: [01:06:51] Yeah, I mean, I've seen it reference lots of things in the file, but other file stuff is very interesting.

Chris Coyier: [01:06:56] Yeah, or maybe it just treats all open tabs as one or something. A little hack, or who knows?

Chuck Carpenter: [01:07:01] Yeah that could be interesting. Anyway, that stuff is pretty cool.

Chris Coyier: [01:07:05] Yeah.

Chuck Carpenter: [01:07:05] So there's some fast hands-on keyboard for us.

Chris Coyier: [01:07:08] Well, all right, gentlemen, I'm going to drink the rest of this whiskey, I think.

Robbie Wagner: [01:07:13] Sure, yeah.

Chris Coyier: [01:07:14] I have two more meetings today, so I was trying to figure out how much is appropriate to drink during a podcast, which is not the last thing you do that day.

Chuck Carpenter: [01:07:23] Right.

Chris Coyier: [01:07:24] Turns out it's, like, four.

Robbie Wagner: [01:07:26] Yeah, I forget that you guys are not in East Coast time zone, so yeah, I'm ready to have some dinner and be done, but yeah, that's unfortunate for you guys.

Chuck Carpenter: [01:07:36] I'm in Phoenix. I got an hour or less.

Chris Coyier: [01:07:40] Yeah, I'm all the way west. It's only 3 O'clock. Two more. Two more.

Chuck Carpenter: [01:07:46] You can do it.

Chris Coyier: [01:07:46] It's all right.

Chuck Carpenter: [01:07:47] I believe in you.

Chris Coyier: [01:07:48] Oh, yeah, totally. He's a pretty casual sync-up. You know?

Robbie Wagner: [01:07:53] All right, well, yeah, thanks for coming on, and thanks, everybody, for listening. And if you liked it, please subscribe, and we'll catch you next time.

Chuck Carpenter: [01:08:03] 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: [01:08:18] 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.