613: Recording Live Music, WebC, Open Source, & WordPress Studio

Download MP3

Chris bought recording gear off an Instagram ad, our thoughts on WebC, CodePen upgrades Yarn, thoughts on the commercial value of open source, Automattic releases an app to install WordPress locally, IBM buys Hashicorp, income tax software, and a hack for getting Safari to respect background colors used in a pseudo selector.



Chris Coyier and Dave Rupert in silly sunglasses and a sign that says Shawp Tawlkk Shough DOT COM

Chris Coyier and Dave Rupert

This episode is with just Chris & Dave, ShopTalk Show's hosts. Chris is the co-founder of CodePen and creator of CSS-Tricks, and Dave is lead developer at Paravel.

Episode Sponsors 🧡


[Banjo music]

MANTRA: Just Build Websites!

Dave Rupert: [Singing] Hey there, Shop-o-maniacs. You're listening to the ShopTalk Show, a podcast all about Web design and development.

I'm Dave Rupert and with me is Chris Coyier. Hey, Chris.

Chris Coyier: Hi. I'm here.

Dave: I'm jealous. I'm jealous of all your gigging that I see you doing on the socials. You're gigging out, man. Gigging out.

Chris: I am. It got a little heavy for a minute because I started doing... I was hoping to make it a regular thing at this bar in town with a friend of mine. Then I ended up splitting the set with somebody else so that we didn't... each person didn't have to have tons of material. I did because I was in both groups.


Chris: But you know. If you're playing with somebody... I was playing with one guy who really hadn't done this before but really wanted to. He's just this kid. Unbelievable singer. It's cool.

Dave: Oh, wow.

Chris: I don't know if people know this about Dave's wife, but she's world-class, amazing. Anyway, some people just have it. You know?

Dave: Yeah.

Chris: They can just... Their voice is just unbelievable. I was like, "I want to play with that guy." You know?

Dave: Mm-hmm.

Chris: But we didn't have 2.5 hours of material, so I was like, "Why don't we do an hour?"

Dave: Right. You've got six songs, right? Yeah.

Chris: Why don't we do an hour and I'll fill the other half with kind of my classic stuff. Old-time band bluegrass is easy for me to just be like, "You, sit in with me. Okay. Go." You know?

Dave: Right. Right.

Chris: That was going, but it turned out to not be super regular. But that's the one I bought all the equipment for and stuff because it's this big room and it just needed a PA.

Dave: Mm-hmm.

Chris: Man, that was a whole journey. But it's kind of locked in now, so rock-n-roll. I learned what I learned. I found that quite fun.

But then I sat in on base at this other bar in town with these old-time players, which is really my passion kind of music, fiddle and banjo-driven stuff, and then filled in with base and guitar and mandolin here and there and stuff. Really fun. But there's some singing, but it's mostly just strong melody kind of stuff that you clog to. [Laughter]

Dave: Yeah. [Laughter] Yeah, play the clog to.

Chris: But I played base with them and it worked pretty well. And I grabbed a banjo during a little off thing, and I was like, "Look. I play this, too." And they were like, "Oh, you can do that too, huh?" I was like, "Yeah!" Then I filled in guitar with them one time, and that went okay. Then I started playing banjo with them. Now I'm just in. You know?

Dave: Nice.

Chris: Which is great. So, I pretty much play every Wednesday night at this place called The Cellar in Bend, and it's just been really bucket-filling for me.

Dave: Nice.

Chris: Because it's been pushing me forward. It's like - I don't know. You get in biking with some people that are better bikers than you. It brings you up in your skills. They're very good players, so it has forced me to get better.

Dave: When you have a reason to do something, it's so much better. Maybe that goes back to "Just Build Websites," but it's just this, like, if you have a race to run, you sign up for the 5K, you're going to learn how to run.

Chris: Yeah. Mm-hmm.

Dave: It's that kind of thing.

Chris: Whereas if you're like, "I should run more," you just won't.

Dave: Yeah. Yeah.

Chris: "I'm going to learn the mandolin." No, you're not. [Laughter]


Dave: No, you've got to learn it for the show that you're playing in three weeks - or whatever.

Chris: Yeah.


Dave: I know Brad Frost, like Frostapalooza... Jessie and I have been playing way more music than we would in a given year. We've already eclipsed--

Chris: Yeah, Brad is giving us a little reason. If you haven't heard of this, folks, this is a public thing that everybody can go to. You probably all know Brad Frost. He's turning 40. He rented a big, old -- I guess we just had him on the show, right? So, we mentioned it.

Dave: Yeah. Yeah.

Chris: You probably heard of it, but, you can buy a ticket and come. There'll be so many Web people there, too. It'll be kind of like a de facto conference also, I think.

Dave: Yeah. Yeah, I think there's talk, secret talk about maybe stapling on a conference, but we'll see if that materializes. It could be fun.

Chris: Yeah, we'll see.

Dave: Yeah.

Chris: Even if it doesn't, it kind of will anyway.

Dave: Right.

Chris: We're all there.

Dave: Yeah.

Chris: It's just common stuff to talk about.

Dave: Brad... I guarantee Brad will talk for 30 minutes about design systems.

Chris: Oh, yeah.

Dave: I can guarantee that. [Laughter]

Chris: Yeah. Absolutely.

Dave: Or Led Zeppelin. Yeah.


Chris: You know, as just a couple of little tech things aside, last night we played -- we record this on Thursday. I play Wednesday nights -- I bought a little thing on Instagram. I feel like half of the cool stuff I own is some dumb Instagram ad that I'm pulled in by somehow. But good for them because it seemed like a cool marketing strategy for a little device like this. It's perfect for Instagram.

It's called Audigo (instead of audio) with a little G stuck in there.

Dave: Hmm...

Chris: What I want is an ability to really quickly record audio that's not from the phone camera.

Dave: Yeah.

Chris: Sometimes that's nice to get down a little idea or something. But if you want halfway decent audio, the phone microphone is not going to cut it. You know?

Dave: Mm-hmm. Mm-hmm.

Chris: But you want the portability of the phone, though. It's so nice, especially for a gig like we have. What if we want to grab a song because we thought it was really cool or just for social media or whatever? This Audigo, it's an inch and a half, roughly, a cube. A little, small, little buddy and it connects to your phone. Then there's dedicated software on the phone to record to.

What I like about that is I've seen mics for phones that journalists use and stuff that you slap it into the little charging hole on the phone.

Dave: Mm-hmm. Mm-hmm. Mm-hmm.

Chris: Then it hangs off of there, which is kind of fine but A) usually, that's how they're connected only.

Dave: Mm-hmm.

Chris: So, it feels very flimsy and dangerous. Then it's on the butt of your phone. You're like, "Ugh. Can it not be on my phone?" You know?

Dave: Right. Right.

Chris: This thing, you can connect up to four of them that record all at once, which his super cool.

Dave: Ooh...

Chris: Even one of them is cool. But four of them, you can get room sound. You can get the base better - or whatever you want to do.

Then you just hit record, and it grabs the audio. And it records it locally on itself, which is kind of cool. I think it adds some stability to the recording.

Dave: Latency. Yeah. Yeah.

Chris: Yeah. Then when you're done, you have all this post-editing stuff you can do. Just light stuff like add a little reverb or something if it needs it. Then you pull it in and transfer it to your phone. And it does video, too, so it syncs the video and the audio, which is just a really well-done little device.

Dave: Oh, wow.

Chris: For a little Instagram ad, I was pretty pleased with the Audigo thing because I'm not that good at it, but I've been showing you. I'm like, "I'm going to record myself playing guitar. But then I'm going to add a banjo track to it. Then I'll add a base track to it," or something. I just find that stuff ridiculously fun.

Dave: Yeah.

Chris: That's hard to do, so my step one was, like - I don't know - QuickTime Player, I guess. I'll just point the camera at me and record on my Mac with that. That's kind of fine. But you have an MP4 file - I guess. Then you're like, "What do I do with that?"

Dave: Oh, and everyone who is watching is just like, "Why the fuck does the banjo guy have a laptop out?" [Laughter] You know?

Chris: Yeah. [Laughter]

Dave: It's just like, "Are you about to go Swirlix or whatever? You know? What's about to happen?

Chris: Yeah.

Dave: It's so distracting. Sorry. It would just be like, "What's going on?"

Chris: Truly.

Dave: Yeah.

Chris: Yeah because you, of course, are doing it in the computer room instead of somewhere else.

So, I did that, and then I'd be like, "Well, I'm just going to drop it in. What do I have? Screenflow?"

Dave: Mm-hmm.

Chris: That's the only... I don't have Final Cut Pro or anything. So, I'd just use that. I drag the two tracks in there, but then I got a line up the audio, which sucks!

Dave: Yeah, yeah, yeah.

Chris: That sucks, so that was step one. But also, you're not doing any post-processing on the audio then, and I've been finding a little bit of hoopity-doopity in Garage Band does a lot.

Dave: Yeah, yeah, yeah.

Chris: To improve the sound. I just found out that you can take a video track and drag it onto Garage Band and it will respect that.

Dave: Ooh... Okay.

Chris: It will let you open a video in Garage Band, but only one.

Dave: Yeah, yeah, yeah.

Chris: So, you can't drag both videos on there, which sucks. You'd have to do them one at a time - or something.

Dave: Hmm. Hmm.


Chris: Ugh! I've been trying to figure that out. Then I learned, sure, I can use QuickTime Player to record. But you can use... I'm sorry if this is so Mac-centric, everybody, but it kind of is. They have this... I'm sure there's some Windows way to do it.

You can use your phone as the camera, like, instead of a webcam. Your phone camera is just so good. But it's also portable. Meaning, you can put it anywhere in your room and point it at you.

Dave: Yeah.

Chris: Then you're still kind of doing the QuickTime Player recording but you're getting the better audio. Then I was like, "Well, I'll just use one of the cool mics I have sitting around for the audio," so I'm getting good video and audio. Hey! Go me! You know?

Dave: Mm-hmm. Mm-hmm.

Chris: Still kind of having to line up sound myself, but it was kind of an improvement. So, I was like, "That's pretty neat." But locked to the computer, still, kind of because of the recording. Now, I'm like, "Ooh... With the Audigo, I can just be anywhere."

Dave: Right. Well, that's what I'm thinking. I'm looking at it. If it does good quality -- and everyone is going to be like, "Oh, you've got to have this microphone. It's the best one. Nashville," or something. You know?

Chris: Yeah. [Laughter] Right.

Dave: But if it does quality that meets your quality bar, that's awesome.

Chris: Mm-hmm. Yeah.

Dave: You can just put it near you, like you're saying, you're not dragging this phone to pair to your thing, it just seems simple. I don't know. I've been in the position where we were like, "Let's go record." We have 25-pound buckets of XLR cables to go do--

Chris: [Laughter] Right.

Dave: You know?

Chris: Right, right, right.

Dave: You've got 17 drum mics. You've got all this, and it's just like, "Dude, wouldn't it be better if we just put one microphone in the room and hit record?"

Chris: Yep.

Dave: Simple is so valuable to me, I guess is what I'm saying.

Chris: Truly. Yeah. Yeah, I mean bluegrass famously just use one condenser in the middle and then learn dynamics, like whoever was soloing would move in closer. People would step back. It's just a cool thing to watch. They still do it to this day, really, and I think that's a neat approach.


Dave: Even for Brad's thing, my wife and I have been recording, like her vocals, just to get an idea--

Chris: Yeah.

Dave: --of what we're bringing to the table, trying to share that, right?

Chris: Right.

Dave: I've got this podcast mic. It's actually not a great singing mic.

Chris: Singing mic?

Dave: Yeah, so I have XLRs and stuff like that, but then I'd have to get a digital audio interface. Then I'd have to--

Chris: Yep.

Dave: We're just using the podcast mic. It's fine. It's good enough. But then she's having to learn Garage Band to cut, start-stop tracks, do all this stuff.

Chris: Mm-hmm.

Dave: She's doing it. It's fine. But I'm looking at this. I don't know. I like when it gets simple. It's just like, "Hey, just talk into this or sing into this or play into this."

Chris: Garage Band is nice if you're just going for all audio or just this one video, I guess. You can get that going, and then throw some headphones on, put the scrubber back at the beginning of the song, hit record again, and lay down an additional track on top of it. Of course, you can. That's the whole point of this app.

Dave: Mm-hmm.

Chris: Then you don't have to sync audio because you've recorded it in time with the previous track.

Dave: Yeah.

Chris: Great but that's not giving you two video tracks in case that's what you wanted. I know that's a little niche, but yeah. Garage Band works great for multitrack. But then the multiple video thing is tricky.

I do like that this Audigo thing that I mentioned, its app has the multitrack recording, too, so you can do the same thing. Record one. Then go back to the beginning. Hit record again, and it will output what you've recorded. Got to wear headphones so it doesn't pick up that sound again.

Dave: Yeah, yeah.

Chris: But lay down additional tracks, and then they'll all synched. And that sound-synching stuff is a big deal. It's really janky to have to line up waveforms and try to get it lined up.

Dave: Yeah. Yeah.

Chris: I think that's ridiculous. There is another iPhone app called Acapella that does it, too. You can add lots of tracks of yourself. But they were going for the social media play, like, "I can grab your song, push you into the corner, and then add more audio to it," which is pretty clever. I think they haven't nailed their business model because they're like, "If that was the real play, I think it would just be free, and there'd be a ton of it. But it's also like $100 - or something.

Dave: Oh really? To do this? Yeah.

Chris: Yeah. And you're not going to get a community thriving with that kind of barrier to entry.

Dave: A $100 app. Well, yeah, I mean they should just market it to people like us, like dads who aren't in bands. [Laughter]

Chris: Yeah. Oh, I love it. I used the free trial and then I just couldn't swallow the cost, which is crazy because I spend money on all kinds of dumb stuff. But it's only subscription. I'm like, "Ugh! It's just not good enough just for that."

There's no Mac app, and I normally like doing this kind of work on a bigger screen.

Dave: Yeah. Yeah.

Chris: Whatever. I just couldn't. I couldn't buy it. Anyway, too many words on that but the Audigo device is pretty cool.

I imagine people could... It'd be great for podcasting at a conference. Bring that. It's the high-quality mic. The fact that it doesn't physically connect to your phone is sick.


Dave: Well, I was just thinking about my wife had some friends who were like, "We want to start a podcast. Dave, how do we do it?" I was like, "Uh.... Uh, RODE Podcaster Go, four Heil PR 40s."

Chris: Yeah.

Dave: Or a Yeti Blue.

Chris: Right.

Dave: I'm just like, "Oh, man." I don't have a good answer. This is the first one I'd be like, "Maybe just try this. And if you hate it, get another one." Then do both sides of the table - or whatever. Because I think they were literally like, "We want to go to a restaurant and just talk and record it."

Chris: Well, then this is the answer because, yeah, any real microphone-shaped microphone isn't going to work then.

Dave: No, no.

Chris: You're not going to be the idiot holding the mic to your mouth at a restaurant.

Dave: No. No, so I think you just need some sort of ambient thing that's good at nuking background sounds. [Laughter]

Chris: Yeah, that's going to be tricky, too.

Dave: Yeah.

Chris: It's like, have them put you in the corner booth or something because you can post-process some of that, but you'd rather not get it at all if you could.

Dave: Yeah. No, this just seems like the GoPro. Maybe that's the wordplay they're going for - Audigo.

Chris: Hmm...

Dave: But the GoPro for audio, right? Just a little cube that just records it all.

Chris: Yeah, and it does. Directionally, it's front-facing, so you face it right at yourself and it gets that. But then it has another one behind it that gets the space around a bit, too.

Dave: Little reverb-y. Yeah. Yeah.

Chris: So, its cardioid pattern is pretty wide. It's stereo, even just with one of them. But then you can add up to four.

I bought two of them just to see. You know? It's pretty good. It's funny that there's clearly a black sheep one. One of them always takes longer to connect and do its stuff than the other one.

Dave: [Laughter]

Chris: It got the slightly crappier Bluetooth chip - or something.

Dave: Yeah. It's the one behind.

I was in a conversation with an airline pilot yesterday. [Laughter] This guy answered this weird question. He was like, "You know on the Warthog A-10," and the guy was like, "Yeah, yeah, I know those planes."


Dave: I'm like, "What is going on?" But somebody on a forum was saying that the engines become out of sync, right? Your left and right jets - or whatever. You have to throttle them differently - or whatever.

Chris: Mm-hmm.

Dave: I just was like, "That is something I have never considered in my whole entire life. An engine with 1,000 hours and an engine with 2,000 hours, they would behave differently in the sky?" Dude, that's a lot of action. I don't want to do that.

Pairing Bluetooth is fine. Yeah.

Chris: Yeah.


Dave: I'll limit my challenges to pairing Bluetooth - but anyway.


Chris: We got a good question here, an audio question. That's a thing you can do, people. Listen up to Aru.

Aru: Hi, Dave and Chris. Long-time listener, first-time caller. I've been blogging for a while. The Python-based static site generator I'm currently using got out of my way, supported a large range of document formats, and was easy to hack on.

Recently, I upgraded my laptop and tried getting my blogging environment back up and running. Everything was old enough that I hit all the stumbling blocks dealing with an end-of-life version of Python, needing to upgrade Node, locating missing dependencies, et cetera.

Upgrading to the latest version of the static site generator would require me to update my theme quite a bit. Since my theme is old, it uses Less, for example (if you remember that). I think I need to declare bankruptcy and author a new theme from scratch.

I was thinking that while I'm at it, I should see what the state-of-the-art is in static site generator land. In my research, I stumbled upon 11ty support for WebC. The Web component-like ergonomics and compile time asset bundling are intriguing.

Since WebC is relatively new and 11ty is the only generator that uses it, it's pretty challenging finding in-depth reviews or perspectives on it. I was curious if y'all have used WebC before and have any thoughts. Thanks.

Chris: Uh, let's take part one there. Oh, bummer, dude! [Laughter] That just sucks. That's the story as old as time with Web development stuff. You're like, "Oh, I didn't touch this at all for a long time, and now it just doesn't work." I just think that sucks! [Laughter]

Dave: It's digital entropy, man. Bits rot when they just sit. Everything gets worse just by sitting.

Chris: I would like to solve that in my career. Working on it.

"In my research, I stumbled upon 11ty support for WebC. The component-like ergonomics and compile-time asset bundling are intriguing. Since WebC is relatively new and 11ty is the only generator that uses it, it's pretty challenging to find in-depth reviews or perspectives on it. I was curious if y'all have used WebC before and have thoughts. Thanks."

Uh... That's Zach's thing. he's the 11ty guy and the WebC guy. I know that Zach personally doesn't like the above thing. He's trying not to. You know what I mean? Just as a person, he's a guy that you could probably count on to attempt to not break your crap (over time). I think that goes a long way. I think that's cool.

But it still could happen easily, easily happen. You leave an 11ty site for three years. Is it going to work? I would think there'll be a problem. You know? I have that feeling. There's no proof of that, but still, it's Node, so Node trucks on.

Dave: Yeah.


Chris: The Node 22 release is crazy, by the way. Did you see it? Now you can require ESM.

Dave: Yeah.

Chris: What the hell?

Dave: Which... cool, guys. [Laughter]

Chris: Yeah, a little late but we'll take it.

Dave: Yeah.

Chris: You know?

Dave: Yeah.

Chris: It fixes all kinds of crap. All right, so, have you seen WebC? I've never built anything in it. I have a little gripe that it looks like a Web component framework but is not one.

Dave: Mm-hmm. Mm-hmm.

Chris: But you do use it in the same kind of vibe, like make little repeatable things. It's a piece of cool technology - but whatever. You know?

Dave: Mm-hmm.

Chris: Sure. Use it. I have mostly thumbs up to give it.

Dave: I mean I would say the lifetime out of an 11ty site is going to be better than your Python site. I'm, of course, speculating. But 11ty has a really big and broad community, so I think that's part of, like, how does something stay alive? But I've definitely been bitten by this dependency upgrade situation. It's definitely bad.

WebC is cool. It's inspired by Web Components, which are a Web standard, so it tries to mimic that but do it in a way that you actually get more statically generated code than you would from a Web component. A Web component actually just is going to be all JavaScript on the client by default.

Chris: Mm-hmm.

Dave: Or if you figure out a way to transpile out the declarative Shadow DOM, then it can kind of server render and then mount later, hydrate later. WebC is going to try to push as much to being a statically rendered component as possible. It's very similar to the Astro, .astro format.

Chris: Mm-hmm.

Dave: Although, .astro is a little more powerful, perhaps, because you can hot load React components or whatever you want inside of there. But I think--

Chris: It is, but it's also more opinionated, right? Whereas the WebC is like, "You can do literally anything with HTML in there." Right?

Dave: Yeah. Yeah.

Chris: Whatever. It's just an HTML file.

Dave: Yep, it's just like an HTML file, basically. Then you put your JavaScript, your CSS in, and it'll auto-scope your CSS for you using CSS Modules.

Chris: Oh, it does that, too?

Dave: Yeah.

Chris: Nice.

Dave: Yeah, so... And then it'll... It actually de-duplicates, too, I think, so if it knows that you have one... Like if you did a for loop for cards or something, my card.

Chris: Mm-hmm.

Dave: It'll deduplicate all the CSS that it needs to do, so that's kind of cool. I think that's the case. I'd have to verify that. The last time I did, it was true, but it could have changed.

Chris: It injects a style block of the scoped styles? It's not going to do that four times for your four cards.

Dave: Yeah, exactly. It'll just put it one, and then it'll hoist it up to the top, I think, so that's cool as well. That's cool that it does that.


Dave: I think the way I hedge against this is... I think that's the issue. It's not so much frameworks update. We want frameworks to update, right? But "How do you not get surprised?" is maybe the question. [Laughter] Like, how do I not get sidewinded by all these updates?

For me, it's less moving parts is a huge part of it. Right? Like, do you understand what's going on in the process? When 11ty runs, do you understand what it does?

My understanding of it is it takes a layout and takes a content and stitches that together. Plus, whatever else junk you put on top of it.

If you understand the model of how it's generating stuff then, yeah, it should be easier to upgrade and update. You always want to be doing less in static land, in my opinion.

Chris: Right.

Dave: Yeah. Generally, I like that it's an answer to building websites these days. We grew up as an industry, and we figured out that the way to do it is componentry.

Dave: Mm-hmm.

Chris: It took a minute to get there. Believe it or not, we just didn't do that so much. We would just kind of author HTML and let it just kind of come together how it comes together. Less than thinking of, like, "This is this kind of component and I'm going to make everything a component, and I'm going to piece it all together as components." I think that has... I think we've been like, "That's the right way to do it."

It took... Maybe we can rub the shoulders of JavaScript frameworks and be like, "Thanks for that," because the ESM model really contributed to that working nicely. But it doesn't mean that we have to use them to take advantage of this, and things like WebC prove that.

You can be like, "No, you can... There are other ways to build componentry and piece it together and not rely so hard on JavaScript at all, let alone client-side JavaScript."

Dave: I think 11ty is worth looking at. Astro is worth looking at. Another one I'd throw in there is Enhance.

Chris: Yep. Totally.

Dave: Which you write your... You write everything as a Web component, but it's kind of like through their sort of API to write Web components, which isn't bad. It's just that's the limitation. I could be wrong on that, too. But that's my understanding is you have to use their Web component sort of tooling.

Chris: Yeah.

Dave: But it's very intuitive in how it pieces together.

Chris: You'd almost like to see them get together, wouldn't you? They're just so similar but different enough that you're like, "Ugh. I think your powers combined would be better."

Dave: Mm-hmm. Yeah. I don't know. I use Jekyll, man, and it's still running. [Laughter]

Chris: Yeah.

Dave: So, setting up a Ruby environment is not fun.

Chris: Yeah, it's still probably pretty popular. It was like the OG static site generator, kind of. Ruby is the only problem, but you're like, "But why is it, though?" It's just slowness, really. But you're like, "Dude, if it works for Dave's blog, "who probably blogs more than you do. [Laughter]

Dave: It's, yeah.

Chris: It might work for you, too.

Dave: It probably works for you, too. I mean there are nitpicks I have, but you know I saw somebody the other day was saying Ruby 3.3 over 3.2 is like 30% faster - or something.

Chris: Yeah. Ruby gets better, too.

Dave: Ruby has gotten better, and that might break some stuff. I know, on the last computer update, I broke some stuff.

Chris: Eh!

Dave: But it wasn't world-wrecking to dig out of. It was just like, "Oh, man. We've got everybody mad now." It was the classic debug it by turning everything off and then [laughter] commenting everything out and then layering it back in. We figured it out, so it was like some Sass thing that was mad. Anyway--

Chris: Nothing is forever, anyway. Your blog post, Dave's, is a bunch of Markdown files and all these other things that we've mentioned: Astro, 11ty, Enhance, and stuff. They're perfectly fine sucking in Markdown files and doing stuff. Not that it's not going to be no work, but you'd be able to figure it out. At least the core of it is pretty similar.

Even if it was harder, even that's... We just had Matt Haughey on who was like, "I just switched from WordPress to Ghost," or whatever, which by all accounts was way harder. You know? Totally different database structures and CLI comments and migrating assets and stuff. That's going to suck comparatively. I'd much rather move a static site generator to a different one.

Dave: Well, yeah. It's how motivated are you. It's your site. It's your blog. If you want to blog, that's awesome. But even just having your personal site so people know who you are and know what you've worked on (like a little business card) is super valuable. It's definitely probably worth a weekend of your life to get up and going.

Chris: Sure.

Dave: That's what I'd say.

Chris: I do think it would be nice to never have to make a technological choice unless you want to.

Dave: It would be cool if you had some sort of machine or system that showed you exactly what was happening, sort of like a step-by-step way to visualize that.


Chris: Well, speaking of dependencies, at CodePen, we were using Yarn.

Dave: Hmm...

Chris: That was an early choice. We were like, "We're going to use Yarn," because there was that period of time where Yarn was the good one.

Dave: Yep. NPM bad, Yarn good. Right?

Chris: Yeah, kind of. It was just faster. It had this, like, "I can install a package from local cache," or whatever. But it also had workspaces, and that's mono-repo-friendly. You know?

Dave: Mm-hmm. Mm-hmm.

Chris: That came later for us, but it was convenient. That's why we never switched off of it because it was like, "Ah, thanks, Yarn. You've got our back here." Even Yarn one, which was released in 2016, 2017, a little old.

Dave: Mm-hmm.

Chris: Then we've told this story before, but then NPM got more better. Arguably better, and certainly more with the grain because, like, "Dude, you installed Node, which everybody has, and then you get NPM, too." One less dependency - in a way. Kind of nice.

Dave: Mm-hmm. Mm-hmm.

Chris: But we never switched. We never switched. We were just on Yarn 1 forever, and it started to feel old. I mention it now because PNPM is another player in this world and has gotten a lot of... It just feels like it's getting popular, just like right now.

Dave: It has positive sentiment, for sure, where NPM doesn't necessarily have that. Yeah.

Chris: I think, for developers who bounce around projects a lot, it's particularly cool.

Dave: Mm-hmm.

Chris: Because you start building up this local cache on your computer. Then you're like, "I'm working on this, and then I'm working on that, and switching to this and switching to that." It'll be smoking fast for you.

Dave: Mm-hmm.

Chris: Anyway, it finally started to show its age enough that we're like, "We're going to switch." Even just Yarn 1 to Yarn 2 is whack. It's super-duper different. I think that's why so many people were on Yarn 1 is that it was a massive change. We were like, "Let's just go all the way. We'll just upgrade to Yarn 4," which is their latest release.

It's just mega-different. It uses this thing called Corepack, which is kind of like... You say in your package.json which thing you're going to use, like, "We're using Yarn." But it's somehow so low-level on your machine that, once you've enabled Corepack, everything is Corepack.

Dave: Yeah, yeah, yeah.

Chris: So, it's a little tricky. But it's really strict about your dependencies, too, so when you switch to something that cares more. You know there's this idea that, like, in a mono-repo, dependencies kind of bubble their way to the top. You can have what you might call a ghost dependency whereas some import statement in some project just kind of works because Node found it at the top, so it just doesn't yell at you.

Dave: Yeah.

Chris: But really, you're totally missing that package in this actual project where you want it, which might be deployed independently and ultimately cause you problems. Yarn 4 was really much stricter about that kind of stuff, so that was nice for us. Also, just little stuff like in the CLI. It just looks nicer.

Dave: Hmm.... hmm...

Chris: Stuff like that. Astro has a release, and you're like, "Ooh... The spinning rocket ship. Hmm... I like it."

Dave: Yeah. A few more colors. Yeah.

Chris: That feels good, yeah.

Dave: That's good.


Chris: It has this interactive upgrade mode, too. Have you ever been like, "How do you...?" I have 15 dependencies in this package.json and they're all out of date.

Dave: Hmm...

Chris: How do I upgrade them?

Dave: Yeah, yeah.

Chris: Somehow, NPM just never had really a way to do that. You had to download another package to do it.

Dave: Yeah. It has NPM outdated, which tells you what's outdated. But it doesn't give you a path to do it. It's just kind of like, "Here's all the old stuff." You know? It even has alpha versions in there and stuff that you're probably not going to upgrade to.

Chris: Yeah. Yarn has this interactive upgrade mode now, too. So, you just kick it on, and it has this wizard that walks you through what to update and helps you do it. That was a big upgrade for us.

I also thought, notably... And I'm crediting my coworker Robert here who did the bulk of this work. It was not a particularly easy job getting everything to be perfect for a thing like this. It's the most capable... Like if you like the PNPM approach, you can just tell Yarn 4 to be like PNPM, like, "Do that thing."

Dave: Oh, wow.

Chris: "Do the global cache style," and it has its one special one called Plug-n-Play. If you like that, then you can just be like, "Well, then do the Plug-n-Play kind," or "Behave like NPM." You can just flip the switch to have it behave like your favorite type of package manager.

Dave: Huh!

Chris: To me, that makes it kind of a winner (in a way).

Dave: That's actually... Yeah, if it can kind of do all of them, that's cool. No, I mean that's interesting. You're just... What? It took like a week or something, the whole sprint, to upgrade that?

Chris: It was longer.

Dave: Longer? Yeah.

Chris: But it was not the only thing we were doing. It was just one developer. Eventually, we all got roped in for different little parts of it. But it was worth it. When you have some embarrassing part of your stack and then that goes away, it feels very good.

Dave: No, but just to Aru's point, you decide, "We're going to pay down the technical debt. We're going to upgrade something," and it's one week of your time, maybe, to get it back going to be the exact same as it was the day before.

Chris: Yep.

Dave: Maybe tangential benefits.

Chris: Yeah, that's the idea is that, ideally, with sometimes this type of work, what you want is nobody to notice anything. [Laughter]

Dave: Right.

Chris: You didn't break anything.

Dave: For infrastructure work, you want no services to be disrupted. Yeah.

Chris: Then we got some bonus stuff, like the way that it handles cache is just so much more efficient. There was a 25-second part of our CI--

Dave: Build? Oh, gees. Yeah.

Chris: --which went to 5 seconds, so we got 20 seconds back of a CI build, which is good. [Laughter]

Dave: Oh, well.

Chris: You know?

Dave: Well, if it's five minutes and six minutes, that's a big difference to me. I can maybe wait around for five minutes. I am out at six minutes. You know?


Chris: Yeah. Yeah, that kind of stuff is a big deal to me. I want all feedback loops to be as close to zero seconds as possible.

Dave: That's actually something I've been reading about lately, just the idea of prototyping and stuff like that. Short feedback loops make the world go around. "How can you shorten any feedback loop?" is just where my brain gravitates to.

Chris: Absolutely. Any one of them.


Dave: Old Wes & Scott over at Syntax did a show on how you prototype an idea ... what's your playground.

Chris: I listened to that this morning.

Dave: Yeah?

Chris: How strange is that?

Dave: Yeah. I wanted them to get into some more meat of, like, exactly what they're doing. But I thought it was a good episode.

Chris: They were flattering to CodePen, so thanks, boys.

Dave: That was very nice. Yeah.

Chris: They mentioned a couple of other ones. Observable HQ. They talked about Val Town, which is actually pretty cool, I think.

Dave: Yeah. Yeah, they were very flattering of CodePen. That's actually part of my ethos as well. If I can do it in a CodePen, I've saved myself hours and hours of work. But yeah--

Chris: From a business perspective, I keep that in mind. It's funny to hear that from people where they're like, "If I can do it in CodePen, I will.

Dave: Yeah.

Chris: But then if I can't, I go elsewhere. I'm like, "Oh, really?"

Dave: Pourquoi? Pourquoi?


Chris: Are you saying we should do more things? Can do.

Dave: Okay. We'll get it going.

Chris: Yeah. [Laughter]

Dave: Yeah. No, I mean that's like... But it's just that idea of, like, I've been kind of thinking, like, I've had a few ideas but I've worked on Luro for so long. That was a very Vue 2 situation. I was kind of like, "Oh, what's my workshop now?" If I were setting up a workshop from scratch, what would I use? CodePen is a big piece of it, but I'm kind of just like Web components, which Wes and Scott talked about, but Web components and Vite or something like that would get me a very long way. I need to kind of maybe experiment on, like, "How do I spin something up?" If I were to hack a design system or build out some idea or something like that, what would I use?

Chris: Yep.

Dave: I don't have real great answer right now. You know what I mean? I'm not happy with my answer right now.

Chris: Right, which is notable for somebody who is so already bought into this idea of prototyping is the most important thing ever.

Dave: Yeah. For me, it has... I'm noticing a hole in my production suite. Does that make sense?


Chris: Mm-hmm. Mr. Simi de Clerq writes in. A friend of the show, of course. They're kind of wondering about monetization or the commercialization of open-source.

Dave: Hmm...

Chris: Like, "When do profit-seeking companies open-source stuff and when do they not do that? Open-source is amazing. It feels so good intuitively. It has so many advantages. Others can audit it. They can extend and contribute back, fork if they want to go a different direction," yadda-yadda. Watch the Node documentary.

Dave: Yeah, yeah.

Chris: Do you remember? I remember the drama.

Dave: IOJS.

Chris: It's been a while since I've thought about it.

Dave: Yeah.

Chris: Yeah.

Dave: Yeah.

Chris: Yeah, that was wild.

"But it comes with risk. People could clone your stuff and use it themselves," yadda-yadda. "Would you ever open-source your products entirely, like CodePen or Luro? Then how do you think about this decision?"

Another podcast to listen to, I think it was on JS Party - or something. They had the Zed people on. You know Zed? The new editor.

Dave: Mm-hmm. Yeah, yeah. Zed framework, yeah.

Chris: The pro is the closest to threatening the VS Code world. We'll see how that works out. I wouldn't doubt that they do very well with themselves. They open-sourced some of it.

Dave: Mm-hmm.

Chris: Do I have that wrong? Hmm... I listened to a really good debate on one of those. It was probably a change log or something of somebody that open-sourced some of their stuff, but they didn't use... Apparently... I didn't even know this. This is how ignorant I am.

Open-source has this very dictionary definition. Did you know that? You have to use one of these very specific licenses, and if you do... One of them is MIT, I'm sure.

Dave: Mm-hmm.

Chris: GPL is probably one of them. I don't know. But if you don't use one of those exact ones, then you're not technically open-source then. You might be a viewable source. You might have source that you can see and contribute to, but it's not technically open-source. They were having this big debate about it because this company was like, "Well, we use this license that's pretty much open-source except it has this one caveat in it that you can't fork it and then compete with us."

Dave: Hmm...

Chris: Because that was the case, then they're not technically open-source and they can't use that word.


Dave: Huh. Interesting. I see a post called "Zed is now open-source" on their blog from earlier this year.

Chris: Yeah.

Dave: But it's a mix, a mishmash, a potpourri of licenses. It's GPL for the editor, AGPL (which I think is Apache GPL) for the server-side components, GPUI. The UI framework that powers Zed is Apache 2. They're mostly... I would say these qualify as the open-source versions.

Chris: Yeah, it wasn't that. It was the Git Butler guy.

Dave: Oh, yeah.

Chris: Didn't we mention that show on here?

Dave: Yeah, yeah.

Chris: It's a super weird Git client that has potential, but they open-sourced some of it but not with that weird caveat of not being able to compete which, honestly, I kind of like. And I don't love -- how do you say it -- the pedanticness--

Dave: Mm-hmm.

Chris: You're like, "Dude, the code is on GitHub. They want community and contributions. There's one little caveat that says you can't take this and then make Git Butler 2 and sell it online." That seems fine. How is that not open-source? But it's not.

Dave: Right.

Chris: IT was the changelog guys that were really pushing back on that idea that we can't just change the definition of open-source, which I respect. But from a practical standpoint was like, "Whatever." You know?

Dave: Okay, hardliners. No, well--

Chris: Yeah. [Laughter]

Dave: Doesn't OpenAI have the same problem? Musk is suing them because they say they're open-source but they are not open. I do not have the weights and measurements for OpenAI on my computer.

Chris: Mm-hmm. Nope. Sure don't. Eh... Interesting stuff. Would I ever open-source all of CodePen? No, probably not. The early decision not to was mostly because there's so much billing code all up in every aspect of this thing that it's like... It's not that the billing code is secret. It's that it's not useful to you.

Dave: Sure. Sure.

Chris: It's just weird. It's just so integrated into all of it, so I'm like... Could we have done a better job of breaking off pieces of it that don't have any of that stuff in there? Probably.

For example, there is a CodePen 2.0 coming. If anybody is really itching to see it, definitely reach out. I'll get you on my alpha and beta testing list. I'm happy to show it. But there is a piece of it, tentatively the compiler -- we'll probably name it something cool -- that is very fancy. [Laughter] It just can do a lot of stuff. There's a possibility. I don't guarantee it. But it is our desire, at least at the moment, to eventually open-source that piece of it.

Dave: Mm-hmm.

Chris: It's like I want to because I want to give back and take all the advantages that you laid out (like the security stuff and the extensions and helping and stuff). But it's not easy. It's not something I necessarily want to start with because it does have business implications, one of which I think is anything I've ever seen a company open-source rots and has 500 issues on GitHub that nobody ever touches, and it actually makes you look dumb. [Laughter]

Dave: Well, it builds... It has the opposite effect, right? It builds malice in the community, not joy. Right?

Chris: Right.


Dave: Yeah. We've been pressured, actually, by investors to open-source pieces of Luro.

Chris: [Gasp] Really?!

Dave: Well, just because it turns out, Chris, it's a marketing tool. You get hearts and stars on GitHub -- guess what -- other investors might want to invest. You know?

But we have also... There is not a clear snap, like you're saying. There's either billing code or it's like, "Cool. I can give this to you, but it costs $500 to run. Do you want it or do you just want to pay me $50?" To have a Luro up and running costs $500 a month. I can tell you that for a fact. So, do you want to incur that cost, you're so passionate, or do you want to just pay me $50 a month? Because I'll take your $50. That would be better.

I don't understand the benefit there. There may be pieces that we do and could yoink out. But it's so--

Chris: And then you've got to be ready, man. You've got to be ready. Somebody has got to be in charge of that.

Dave: Well, that's my other thing is the idea of an open-source play is like, okay, cool. That's a full-time business. That's a full-time job.

You look at people like Patak or whatever who works on Vite, right? Full-time doing that, right? It's not fun to work on open-source. It's like borderline abusive. I don't think I would just do it for fun or good vibes. I would have to know what I'm doing it for.

Chris: Right. If it's marketing, which is super valuable, then so be it.

Dave: Right. And so, my thing would be I think it's... I think we would not do Luro just because I don't think it really provides you value to be able to run it locally or it's expensive to get up and going by yourself.

Chris: Right.

Dave: But then I would also say I think we don't have the resourcing--and I'm including myself here, Dave, the resource, does not have the resourcing--to openly maintain it. That's two jobs for me.

Chris: Right, right, right. That's an all-or-nothing, though. It's kind of interesting. I wonder. If you open-source the whole thing, I would guess that you'd get less stars than you would if you broke off the Figma component scraper matcher machine and you put that on GitHub. People would be like, "Ooh... A Figma component scraper matcher machine? I'm going to use that." You know?

Dave: We totally could do that.

Chris: Yeah.

Dave: That's also bespoke to our model that we have imported your components. You know?

Chris: Yeah.

Dave: But anyway, I think we could probably (like you were saying) pull out pieces of it and do that. But then that becomes kind of a bit of a maintenance burden.

I don't know. I don't know. It's not a closed door, but it's just--

Chris: Open-source is horrible, Simi. Why would you...?



Dave: What I would like open-source or want to open-source, we've done a lot of... Something like a Lighthouse report or something like that. Maybe I could do something where you drag a Lighthouse JSON onto a webpage and we put it in a human-presentable format that makes sense to you and lets you dig into... Or maybe it's a folder full of Lighthouses that then boils it all down - or something - into like, "Cool, you can see all your issues across all your pages," or whatever. But again, at that point, if you have a folder full of JSONs for Lighthouses, why did you do that? You should have just used Luro. I'm sorry. I just keep coming back to that. [Laughter] It's two minutes per page. Luro could have done that for you.

Chris: Fair enough. Yeah, some things don't have a choice. I don't think a closed-source Vite would go anywhere.

Dave: Yeah.

Chris: If it was some binary you had to download and open up and your code went through a black box, nobody is going to use that. I kind of say that and I use, for example, Local by Flywheel - or whatever - to run my WordPress sites, which to me is a black box, but meh. [Laughter] It's fine.

Dave: Yeah.


Chris: I see WordPress released their studio yesterday. So, released a local Web development framework-y thing. I have been using it for a month or so. It's sweet.

Dave: Oh, yeah?

Chris: It's free.

Dave: Okay.

Chris: It runs WordPress on any platform and it does it with the SQL Lite thing, so it doesn't even spin up MySQL. That's not even a dependency of the thing. And it runs PHP in WASM, so it's just smoking fast local WordPress sites. And they did it because... I feel like they were forced into it in a way because they wanted to have really cool developer features, including deploy from GitHub--

Dave: Mm-hmm.

Chris: --which I think is just crucial for a WordPress host to have, which they want to be. Then you're like, "Cool. I can push from GitHub." How do you expect me to run this thing locally? What's the story?

Dave: Mm-hmm.

Chris: You have to have some docs explaining it. If those docs are like, "Use MAMP," or worse, "Use my competitor's product," that's not cool. But of course, the stars aligned for them, as they often do, and this PHP WASM thing became a reality, and SQL Lite became cool - and whatever. I think it's a badass move.

Dave: Why does WordPress hate its buddies? Doesn't WP Engine, Local Flywheel, aren't they friends? Maybe this is getting into the hot drama portion of the show.

Chris: It is an interesting question.

Dave: Doesn't that boost the ecosystem? Why would you cannibalize somebody who is...?

Chris: I think it does. But it doesn't mean you don't compete, though.

Dave: Yeah.

Chris: I don't think you hate them, but you still compete - kind of thing. I don't know. Especially because you sell Jetpack. Jetpack is expensive, and you only even need it if you're not on

Dave: Yeah.

Chris: It brings those features to other sites, so the more "other" sites there are, the more Jetpack you're going to sell.

Dave: Yeah.

Chris: Which is also funny.

Dave: I just feel like... Yeah. Yeah, I guess they have money to worry about. But if my dependent, my son Otis said, "Hey, Dad. I have an idea for a video game."

Chris: Yeah.

Dave: "I want to make it," and it's like, "Cool, Son," and then I make it, I'm a bad dad. [Laughter] If I make it behind his back and call it mine or I just copy what video game my son made and call it mine, I'm a bad dad. I'm a bad parent. I'm a bad steward of ideas, community ideas.

Chris: Perhaps.

Dave: Thank you, WordPress, for sponsoring this show. [Laughter] No. But anyway--

Chris: I would love Automattic back sponsoring. Come on home.

Dave: I just wonder why you... I guess maybe you do it to... Sponsor the podcast. What motivation is there to copy versus do something totally different that isn't community-covered? But the Deploy by Git thing--

Chris: Yeah, perhaps. I don't know if "local" is "community" if we're scoping it to just that because I think you're speaking more broadly of all kinds of different things.

Dave: Sure.

Chris: There's probably a lot of stuff we could put in these buckets, but I don't know. I think, to have never (up until now) had an opinionated way that says this is how you run WordPress locally is crazy to me - crazy. How did it get so popular without barely even a docs page saying how to do it?

Dave: They are 20 years into the WordPress project, at least. [Laughter]

Chris: Dude!

Dave: Yeah. Yeah, that is wild.


Chris: Well, congratulations to Melanie who became kind of the lead accessibility person at all of HashiCorp recently.

Dave: Yeah!

Chris: Right? Huge job. A friend of the show. She does incredible work with accessibility.

Dave: Loves Ember. [Laughter]

Chris: Ember is really--

Dave: Loves Ember.

Chris: Ember has entered the podcast. But you know just the other day I saw her make a Pen. The popover is kind of coming to HTML and CSS. She's like, "I'm going to look into this." You know? That's just her nature, which I think is super cool.

Dave: Mm-hmm.

Chris: Then only we wake up today to have IBM buys HashiCorp. So, hopefully, the stocks for you went through before that. [Laughter]

Dave: Yeah. Hopefully, you're vested.

Chris: Yeah.

Dave: And that feels good.

Chris: Oh, my God. But IBM, what does IBM even do? I see the word "IBM," and I'm just like, "Ugh! Boring!" [Laughter]

Dave: They're connecting enterprise to the--

Chris: Are they?

Dave: --social global village economy, Chris. You don't know that?

Chris: I literally don't even know how I could give them money. I mean I know I'm not enterprise, so it's not for me. But I'm like, "What is it?" It's just buzzwords and stuff. I literally don't get it.

Dave: Yeah. I think... As I understand it... I have a few friends that work at IBM. They do great work.

Chris: Okay.

Dave: But a lot of it, I think, is sort of enterprise contracts like, "We have to build this admin dashboard for managing our shipping," and stuff like.

Chris: Okay.

Dave: "And we don't know who to talk to. Guess what. We're going to talk to IBM." It's not small peanuts. It's on the scale of billions of orders or whatever - SAP or something.

Chris: Who builds it? Do they build it for you then, too?

Dave: Yeah. They build it for you and build you a little dashboard admin local thing.

Chris: Okay.

Dave: I'm sure they could even build your whole business an app, but I'm sure there are a lot of oil money or something. I don't know. I'm speculating. But people who are--

Chris: Do I not know this stuff because I'm like, "Can I host my Astro site on anything that IBM sells or not?"

Dave: I don't think so.

Chris: They don't care about me.

Dave: No, they don't. They probably have a cloud thing, but you'd have to talk to somebody on a phone to get it going - or something.

Chris: Oh, wow. They're that? They are just pure enterprise.

Dave: I think so. I think it's handshakes and firm handshakes and stuff like that. Why would they buy HashiCorp? Ansible is a big thing. Terraform is a big thing. I'm sure they use those products quite a bit.

Chris: Mm-hmm.

Dave: Those are pretty enterprise-grade things, so I'm sure they're using all that stuff for building and managing these products that they're building for people and enterprises. Maybe it was just kind of like, "Hey, we're--"

I always think there's some math that somebody does, whether it's DigitalOcean buying CSS-Tricks or whoever.

Chris: Mm-hmm.

Dave: It's just like they just sit down... Or Sentry buying Syntax. It's just like somebody sits down and says, "Okay, I'm going to spend this much money over this many years," advertising or using these tools. "It might just be cheaper to own the technology," or something like that. "It might just make more sense for us to--"

Chris: I'm sure it makes sense on paper. For sure.

Dave: Yeah. But does it always work? Not necessarily.

Chris: Yeah.


Dave: Anyway, I feel like there's motivation. But HashiCorp recently did an open-source stinker, not to... In the fact that they--

Chris: It was licensing-based, too, wasn't it?

Dave: Yeah, they took Terraform and they changed the license, I think, to BSD - or something like that. And so, people got mad. But not quite as mad as the same trick where whoever took Redis and made it... Or Redis, I guess, made Redis not open-source - or something like that.

Chris: Oh, really?!

Dave: Yeah, so--

Chris: Hmm... All of it?

Dave: Yeah. Yeah.

Chris: Hmm...

Dave: I think, too, Redis is probably like, "Hey, we have this thing. Amazon is just selling Redis and making money."

Chris: Well, that's what we use. We used Redis, the company, for a little bit. Then we were like, "Oh, it's on AWS? Oh, that's way easier. We're going to do that."

Dave: Oh, yeah.

Chris: [Laughter]

Dave: I have no insight into nothing, but tech pundit Dave is like, "Absolutely!" Right? They just were like, "No! F-U. Pay me. We need some kind of money from somebody. If Amazon is going to build a whole product that just uses our product, we need to make some money."

Chris: Yeah. I wonder what happens now. Is our Amazon Redis in jeopardy?

Dave: Well, I bet Amazon has enough money to procure some licenses - or whatever it is.

Chris: Yeah, perhaps. Or just buy them.

Dave: Yeah.

Chris: Can we--? We own you now. Although, we'll see because the tech can be finicky, right?

Dave: Mm-hmm.

Chris: Now that this is the case... I haven't read it. I've seen some headlines that were like the fight for what the next Redis is, is on - kind of. If you see this happening in the background and you're the dev ops person - or whatever - at some company, are you going to pick Redis or are you going to look at what the new hotness is? You're going to look at what the new hotness is.

Dave: Mm-hmm. Mm-hmm.

Chris: Maybe. Redis kind of old and boring in a good way. [Laughter] You know? So, sometimes people pick it just based on that. But if you think there's turmoil, why not use some kind of new thing?

Dave: Yeah. Yeah, there are other alternatives. We used Cloud AMPQ, which is RabbitMQ servers, which is like a message queue tool. It's cool. It's like Redis with a few features, a few admin features, so you can kind of visualize your queues and see what's going on and see who is dying - stuff like that.

Chris: Mm-hmm.

Dave: Errors, rejections, blah-blah-blah. I recommend that.


Chris: Cool. Well, I hope everybody got their taxes in on time or filed extensions. Good for you. It's been a number of years where my taxes were just a little too complicated. I just wanted somebody else to handle it.

Dave: Mm-hmm.

Chris: It's been years of doing that, but after the sale of CSS-Tricks, and I just had a pretty boring year. I don't freelance. I pretty much just had a W-2 for CodePen.

Dave: Yeah. Yeah.

Chris: It was like, I'm not going to pay this company $6,000 -- or whatever the hell they were charging me to do my taxes. That seems crazy now. Not to mention, they just did an absolute terrible job of my 2022 taxes, and I'm literally still mopping up and I'm very salty about it.

This year, I was like, "I'm going to use what the rest of the American public uses, which is TurboTax."

Dave: Yeah.

Chris: And it was awesome. I'm like, "What a nice piece of software."

Dave: Really?!

Chris: They make an incredible amount of money as a company, I'm sure, doing this, since your captive audience is all people (in this country anyway).

They've done shady stuff, so I'm not trying to whitewash over that. They have to offer a free version. They make that really hard to find. They did SEO tricks to hide it. Yadda-yadda. That's all bad stuff.

But as far as a pure, like, how is it like to use that software? It's great.

Dave: [Laughter]

Chris: It's super nice. No wonder people use it.

Dave: I love that you turned into the TurboTax evangelist.

Chris: [Laughter]

Dave: This is great.

Chris: I just was like, "Hey, I haven't used software this well-prepared in a while."

Dave: What did it cost you? Because that's going to be where it sells.

Chris: $200.

Dave: Oh, my God. Maybe I need to do that. I'm trying to get... I'm working very hard to get out of the tax hell that I've dug for myself.

Chris: Yeah. I mean did I do it perfectly? Are some people out there moaning and groaning, like, "Did you do your deductions correctly?" Blah-blah-blah. You know?

I don't know. I don't know. But it went fine and I got a refund, so there.

Dave: Wow! Wow!

Chris: [Laughter]

Dave: That's a word I haven't heard in years.

Chris: [Laughter]

Dave: No, I had--

Chris: I'll tell you, it was a good year to sell a company in the state of Oregon for this year had a tax kicker where it was like 10% of last year's taxes you got back.

Dave: Whoa!

Chris: They just write you a check back for it.

Dave: Of all the years.

Chris: As far as a year to sell a company for, that was an excellent year to sell a company.

Dave: You had the right capital gains thing, yeah.

Chris: Like, "Here's your free money back."

Dave: Yeah. Oh, man. I was at a party the other day and my good friend pulls me aside and says, "Hey, my friend knows how to get a bunch of money back on your taxes." I just was like, "No, dude. I am out. No way, dude."

He just was like... A friend of his had cooked up a scheme to get... Apparently, it works - or whatever - but to get a bunch of money back. I'm like, "Okay, that's cool. But I am not in the interest of complicating my taxes, even if it costs me tens of thousands of dollars."

Chris: I heard there's a whole TikTok phenomenon of this, like, bad tricks.

Dave: Oh, really?

Chris: For your taxes, you know. There's a certain kind of enormous car you can buy that's a write-off that's a little trick.

Dave: Ooh... all right.

Chris: It was just a pretty good Planet Money episode where they debunk or confirm dumb TikTok tax stuff.

Dave: Ooh... What if I buy that big, nice Mercedes Winnebago, right?

Chris: Yeah.

Dave: Then I make a TikTok, and so now it's a content expense, right?

Chris: Right. Oh, a content expense! See, that's good because their caveat was like, "This is actually true, but you do actually need to use it for business."

Dave: Yeah. Oh, yeah. I'm making a TikTok, a 60-second video--

Chris: Yeah.

Dave: --for sure--of my $130,000 Winnebago.

Chris: For sure. Yeah.

Dave: For sure. For sure. [Laughter]


Chris: Well, we've gone long a little bit.

I'm going to do Russell Heimlich's one. He sent this in a while ago. It's just kind of a PSA announcement. You know the ::selection thing in CSS where you can set a color?

Dave: Yeah.

Chris: So, if you're like, "I want to use my brand color when you select text," which I think is just kind of a cool thing you can do.

Dave: It's a flex. It's a flex.

Chris: It's a flex. Now accent color, you can do, too, that makes your checkboxes orange - or whatever - if you want to.

Dave: Mm-hmm. Mm-hmm.

Chris: It's a nice little flex. I think it's pretty neat. But you can do background color yellow, and it's a nice, vibrant yellow. Safari will be like, "No, you're not." Won't let you do it.

Russell's trick is to use yellow at, like, 0.99 alpha opacity.

Dave: Ooh...

Chris: Then Safari is like, "Okay, that's fine," which is basically yellow, so rock-n-roll.

Dave: Nice!

Chris: [Laughter]

Dave: Hacks. That's good.

Chris: Hacks indeed.

Dave: Way to break the system, Russell. Good job.

All right. Well, we should wrap it up here. We're at time.

Chris: Yep.

Dave: I'm Dave. Thank you so much for listening to this podcast in your podcatcher of choice. Be sure to star, heart, favorite it up. That's how people find out about the show.

Follow us on Mastodon because that's the cool one. But where the real cool people are is in the D-d-d-d-discord. Join us there at Chris, do you got anything else you'd like to say?

Chris: [Loud inhale]


[Bluegrass music plays]