Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.

Listen/Watch

137: Unleash Developer Superpowers: Tracksuits, Productivity Hacks & Wordpress on Vercel w/ Joel Griffith


Show Notes

In this episode of 'Whiskey Web and Whatnot,' hosts RobbieTheWagner and Charles William Carpenter III welcome Joel Griffith, founder and CEO of Browserless.io. The trio initially clarifies the common confusion between whiskey and bourbon, setting the tone for a detailed discussion. Joel shares his unique journey from a jazz trumpet player to a software engineer, and eventually to the CEO of a company dedicated to streamlining the usage of headless browsers for various applications, including web scraping, automation, and testing.

Additionally, the episode ventures into a vibrant discussion on gaming, with a focus on 'The Legend of Zelda' series, comparing the immersive experiences of 'Ocarina of Time' and 'Breath of the Wild.' The conversation also touches upon issues like the technicalities of deploying WordPress on Vercel, reflections on nostalgia-driven gaming, and candid insights into potential alternative careers away from tech.

This episode offers a blend of information, personal anecdotes, and opinions, driven by a shared passion for technology, gaming, and, of course, whiskey.

Key Takeaways

  • [00:33] - Introducing Joel Griffith and the Not-So-Whiskey Bourbon
  • [01:22] - Joel's Journey: From Jazz to JavaScript
  • [01:27] - Diving into the World of Browserless.io
  • [03:03] - The Star of the Show: Blanton's Bourbon Review
  • [07:16] - Rating the Bourbon: Tentacles and Tastes
  • [13:15] - Hot Takes on TypeScript and Tailwind vs. Vanilla CSS
  • [28:10] - The Great Debate: Tailwind, Vanilla CSS, or JSS?
  • [33:55] - Diving into Dining: IHOP vs. Applebee's
  • [37:43] - The Birth of Browserless: A Developer's Journey
  • [37:55] - Exploring the Versatility of Browserless
  • [42:55] - The Future of Secure Online Banking with Browserless
  • [49:37] - Gaming Nostalgia: From Zelda to Diablo
  • [59:20] - Career Paths Outside of Tech: From Music to Junk Removal

Links

Connect with our hosts

Subscribe and stay in touch

React Miami

We'll be at React Miami hitting the streets and getting answers from the people on hard hitting questions like "is Tailwind cool?". Will we see you there? If you haven't gotten tickets yet, you can go to ⁠https://www.reactmiami.com/⁠ and use code WhiskeyWebMiami for $50 off your ticket.

Whiskey Web and Whatnot Merch Enjoying the podcast and want us to make more? Help support us by picking up some of our fresh merch at https://whiskey.fund/⁠.

--- Send in a voice message: https://podcasters.spotify.com/pod/show/whiskey-web-and-whatnot/message

Transcript

[00:00:05] Robbie: What's going on everybody? Welcome to Whiskey Web and Whatnot with your hosts Robbie the Wagner and Charles William Carpenter the third.

[00:00:13] Chuck: No jokes for you. You're waiting. I love that there's a pause for me now. Yeah, and you do, and I appreciate it. And I, it either comes to me in the moment or it doesn't. I can't force it, you know?

[00:00:26] Robbie: All right, well, I'm just not gonna stop next time and you can stop me if you want to say something, but

[00:00:31] Chuck: I'll interrupt you, it's your favorite thing.

[00:00:33] Robbie: Yeah, our guest today is Joel Griffith. What's going on Joel? Ha

[00:00:39] Joel: it going, folks? Thanks so much for having me super happy to be on the show and super happy to have this whiskey with y'all, though. I'm doing a disservice calling it whiskey. It is not technically a whiskey. It's a bourbon. So we'll, we'll be clear about that for the purists out there.

[00:00:52] Chuck: Well, you know what they say. All bourbon is whiskey, but not all whiskey is bourbon.

[00:00:58] Joel: It's, it's [00:01:00] true. Leave it to a programmer to like, give you the taxonomy back straight. Ha ha ha.

[00:01:04] Robbie: Ha ha ha.

[00:01:06] Chuck: Just saying.

[00:01:07] Joel: That's a good point.

[00:01:09] Robbie: So Yeah, before we get into the whiskey, can you give the folks at home a few sentences about who you are and what you do?

[00:01:15] Joel: Oh, yeah, definitely. Maybe a few more than just a Few.

[00:01:20] Robbie: Ha ha. No, three max. Ha

[00:01:22] Joel: So, I'm Joel. Three sentences. Me, Joel, am programmer, work browserless. Yeah, I, I'm a software engineer turned CEO. Actually, I was a jazz trumpet player turned software engineer turned CEO of Browserless. io. And Browserless was like a side project for a long time of mine.

Just try to combat some of the stuff I saw as an engineer, different companies at Elasticsearch at, Oh, everything under the sun, Wyden Kennedy, to name a few, we used headless browsers a lot for like little dark corner projects where you needed something for testing or you [00:02:00] wanted to, I don't know, maybe collect data on a site.

And it was always. I'm adding an experience every single time, every time. So that was kind of the genesis of the company. It was like, I really wish somebody thought about this problem a little bit better and was a little more like prescriptive on good things to do when you interact with the headless browser and like maybe some things to think about.

And so, yeah, started that six years ago and now it's like a full company. It's not just me anymore, which is, it's. Yeah, that's that's what I do today is run that still do a lot of code, a lot of programming, managing all that stuff. So it's it's been a fun roller coaster for sure. That was more than three sentences.

I'm sorry.

[00:02:51] Chuck: Hey Robbie, you're muted.

[00:02:57] Robbie: Oh. Ha ha. Yep, you are correct. I [00:03:00] was me

All right, well I was saying cool thanks for that info we will get more into browserless later But for now, I will send it over to chuck so we can introduce the whiskey

[00:03:11] Chuck: Yeah, the real star of the show. Sorry, Joel. And also listener. Apologize for the lawnmower in the background. It just turns out timing is everything.

[00:03:24] Robbie: yeah, it's fun because the The microphone is so good that you don't hear it until you start talking And then the microphone like activates and I can hear Like Brrrr. Fuck

[00:03:38] Chuck: We'll see how that goes. Anyway, I don't mow my own lawn, I'm sorry. I'm not ashamed about that. Blanton's straight from the barrel. So this would be the So Blanton's, for those who don't know, but probably most people do, Blanton's is a single barrel whiskey that is usually 93 proof. So this is barrel proof.

They don't proof it down before [00:04:00] bottling them out. It is non age stated, and I don't know what the standard age statement is for Blanton's. I feel like it's 5 or 6 years. Somewhere

in that assumption too. I think from what I've heard.

Yeah, but couldn't confirm it. This one's 129 proof, right? Everybody got his 129 proof? It's usually in that range, give or take.

Mashbill is one of the standard buffalo trash mashbills, so they don't give you the specifics, but we know it's corn, rye, and malted barley, and this one's supposed to be a 12 to 15 percent rye.

[00:04:32] Joel: Hmm.

[00:04:32] Chuck: From

[00:04:33] Joel: All right.

[00:04:36] Robbie: hmm. Oh, can smell the rye in there.

[00:04:39] Chuck: Hmm. Heh heh

[00:04:42] Robbie: my face. I guess I filled it more than I thought I did.

[00:04:50] Joel: Yeah, this was an interesting one. It's, I'll be clear, it's my favorite bourbon I've had thus far in my life. I haven't had a [00:05:00] ton, but this is definitely my top, probably top three. So. yeah, on the nose, I don't know. I just get a lot of caramel. I mean, a lot of warmth because of the

proofing. Yeah.

[00:05:13] Chuck: yeah, definitely get some heat out of that. Which always has me leaning towards like, like a cinnamon kind of thing when I get some of that heat. Definitely a

[00:05:23] Robbie: fresh. I haven't put my finger on it yet. Like, lemon's probably not it, but like, the same as smelling a fresh lemony cleaner. I'm getting from like, think

[00:05:33] Joel: that's the alcohol. Pretty sure.

[00:05:35] Chuck: Heh. Always is. I'm, I'm leaning towards, smell wise, like an orange marmalade. So a little rindy, a little sweet, a little, yeah.

[00:05:49] Joel: Yeah, I mean, on the nose, I don't, it's funny, I don't get that on the nose, but on the palate, like, I definitely get fruit, like, even cherry a little bit, like, Cherry, maybe even chocolate to a [00:06:00] degree

[00:06:01] Robbie: Some cacao,

[00:06:04] Joel: or nose, nose

or times I can say cacao.

cacao. Ooh,

[00:06:13] Chuck: apricot in there or

[00:06:14] Robbie: Oh, that's a very astute palette there.

[00:06:17] Chuck: Yes, yes. fourth

[00:06:20] Joel: I was going to

[00:06:20] Robbie: that for every single

[00:06:21] Joel: time, no matter what it is, like, Ooh, is that, is that dried apricot?

[00:06:26] Chuck: Yeah, I do say it a bunch of times because every single time it makes Robbie laugh and that just brings me joy, you know. But there is a little bit of like, kind of a dried fruit kind of feel to it. Or like, this is gonna be a weird, it's almost like, the way that potpourri smells. Like if you have like a holiday potpourri, right?

Like Christmas time potpourri. It has a little of that flavor for me. I don't think I would recommend anyone to taste that stuff, but that's the closest translation of kind of, What,

[00:07:00] smelling that is what this tastes like like that. It's a joke. It's a joke.

Right? Yeah. So.

[00:07:05] Robbie: I think it would be very difficult to chew and swallow, but, heh heh.

[00:07:11] Joel: Not with that

attitude.

[00:07:13] Robbie: Yeah.

Heh heh heh heh. Heh

[00:07:16] Chuck: Okay, so, since Joel is an astute professional, and jumped in already with his feelings and, and senses, like, you have good, like, good palate, good sensory perception around this, So we have a highly technical rating system here you may or may not be familiar with. So zero because we're engineers to eight tentacles.

Tentacles because of our, yeah, our iconography. And so zero, horrible. I know you're not going to pick that. Four, middle of the road, like this is fine, but not great. Not terrible. Eight being amazing. I'm curious how close you're going to hit to that. So yeah, you want to [00:08:00] go first.

[00:08:00] Joel: It's definitely up there for me. I love that your rating system isn't like base eight or whatever. That's great. goes along with the character of the show. And Yeah, it's funny because like, I feel like there's those rating systems where it's like, oh, eight is perfection, but you can't technically ever have perfection.

So you can never give anything an eight. And that always drove me nuts hearing that. I was like, well, then why is that even on the scale? I have to say it's an eight. I'm going to just do it. I'm going to go out and say it's an eight. Part of it is an eight for me just because, and we haven't like talked about this is like the mouthfeel of this Berman is so incredible.

If nobody's had like, you know, barrel strength or cast strength, like it. It's a totally different experience than just drinking anything that's been cut everything after going back to something else after this. It's going to taste like water to me just because of how molasses and thick. This is and like, that really nice warmth.

And I don't know. So it's definitely [00:09:00] an 8 for me. But again, I started off with this is like, 1 of my favorite drinks ever. So, Yeah, for sure. In an eight,

[00:09:07] Robbie: not biased at all.

[00:09:09] Joel: not biased.

[00:09:11] Chuck: I love that you swung for the fences on it though. You were just like, Hey guys, do you want to try this one? And then you were like, Because I'm gonna love it. And don't you want to try one that you think you're gonna love Yeah.

[00:09:23] Joel: I mean, have you guys had like had Pappy on the show or anything crazy to that degree, or is this kind of like the upper echelon of bourbons and whiskeys?

[00:09:32] Chuck: This is, Yeah, so, We've not had Pappy on the show. Hold on, way.

[00:09:38] Robbie: wait. Okay. I'm confused now. It was saying you had no microphone

and I was like,

maybe that's why it's picking up so much sound that you're just like talking through your computer,

[00:09:50] Chuck: Hm.

[00:09:51] Robbie: maybe not continue. Sorry,

[00:09:54] Chuck: I was on a roll, now you've ruined it.

[00:09:56] Robbie: Papi and something.

[00:09:58] Chuck: Yeah, Pappy [00:10:00] and the cleaning of my yard. It'll Yeah.

[00:10:03] Robbie: Can you go tell them to not, not do that anymore?

[00:10:08] Chuck: Yeah, I didn't plan this out well. So anyway, I've had Pappy. We haven't reviewed it on the show though. I have feelings about it. I would have a hard time paying secondary prices to do that through the show, for sure. And so, but this is, this is on the upper end of of cost that we've actually tried.

It's not the highest, but we often stay 100 or less, I think. Do you want to go next, Robbie?

[00:10:41] Robbie: Sure. Yeah, for me, it's very good for a bourbon. I would say, I don't think it's an 8 for me, so I'm gonna say 7. 1. [00:11:00] A

[00:11:00] Joel: You have,

[00:11:01] Robbie: little better than a 7, but

[00:11:02] Joel: this has unlocked my second pet peeve, which is if you're going to have a rating system from one to 10, if you have decimals, just make it one to a hundred. Like everybody likes, Like, this is like the first, one of the first lessons in working with math, especially in JavaScript is like, just don't have cents.

If you're going to do currencies, just don't have cents. Everything, you know, one cent. And actually this is like how Stripe and all the other big players operate is a cent is one. Like that's the lowest tier of unit you can have. And so that way you don't get into like floating point math hell when you're trying to like divide stuff or, you know.

Do fancy things like that, but anyways, sorry not to knock on,

[00:11:45] Robbie: that is

[00:11:45] Joel: knock on it, but yeah, just another. Chaotic fun thing with rating systems. I always, I find rating systems fascinating. I don't think anybody's unlocked a good rating system just yet. And I don't know, that's a whole nother podcast [00:12:00] though.

[00:12:00] Robbie: Yeah, yeah, it's a general thing. Like, you know, 5 stars, 10 whatevers. They're all arbitrary. It's just kinda like, is it closer to the bottom or the top? That's kinda what we're looking Hmm. Yeah. I like to look, I mean, distribution, right? Like distribution of ratings, you know, that's where I dive into Amazon and I noticed they progressively like push it lower and lower down so you can't see, you know, but like how many, if it's over 10 percent of one star reviews, then I think, nah, that's, that's not good.

[00:12:32] Joel: That's not good, but anything, if one star reviews are less than 10%, then I'm like, okay, that's probably a good sign that that, that is. So, Yeah,

[00:12:42] Robbie: I feel like it's all fake. Like the companies that want to sell something just hire like 10, 000 people to five star review it. And like, know.

[00:12:51] Joel: yep. This is the, this is the problem with every industry. If I I'm coming to learn in my. Older ages, everything is arbitration or [00:13:00] middlemen all the way down. There's no, there's no truth. It's just more arbitration, more middlemen, more secondary markets. Nothing is right.

[00:13:08] Robbie: Yeah, that's very true. All right. So let's talk a little bit more. Well, actually, let's do hot takes first. I forget how we do this show. So, our first hot take, in TypeScript, do you use inferred types or explicit

[00:13:30] Joel: going to be honest. I cheated a little bit beforehand and watching the show. And I thought about this a little bit for a few days. So, definitely judge me on this. Cause I've thought about it. This isn't on the spot hot take. And my answer to this is. I do handwritten types for anything that has like a boundary layer everything else I can, I try to do inferred if possible, [00:14:00] internally, at least just cause it keeps the amount of friction and just like development friction to a minimum, I feel like when it's all internal and you can kind of just infer it and plug and play and go along with your day.

But if you were offering like a library, an API. Something externally or to an end user, then I'm like, yeah, you got to be like very declarative about that. I think part of that's coming from like a GraphQL background for many years. I was a big GraphQL advocate, like when it came out and it was its thing.

And that's kind of like a big thing with them is obviously like. You declare your types ahead of time and very explicitly, and then you can assume that they're there, handle them more eloquently internally in your handlers. But yeah, so that's it. That's I don't feel like it's necessarily a hot ticket.

It's more reasonable than anything else. So, yeah,

[00:14:54] Robbie: Yeah, a lot of people say it depends, and I think that's essentially what we've got here, that [00:15:00] like, you know, there's a time and a place for both, and I don't think that's wrong, because I've heard from a lot of people, like, if you're a library author, you want to be as explicit as you can, because, like, you want it to be, when people are consuming that, you want it to be, like, if they're inferring types, to work down that chain better and stuff, and, like, you know, I think if nobody did any explicit types ever, then, like, your chain would be, like, you never know what your thing is, right?

Like, you I think there has to be some explicit stuff. And I think another big argument that people, the people that do like it, like to be able to see what it is without, like, hovering it and waiting for, like, everything to load and figure out what it is. And I could see that benefit as well.

[00:15:45] Joel: yeah. We have some stuff and we rewrote our, like in browserless, we wrote, we wrote a bunch of fancy things with like, Runtime validation. So we have like a little. [00:16:00] Like build phase where we essentially look at all the types that our API is exposed or expect. And then we also, we compile that into like a runtime validation too.

So it happens at runtime when like a Jason payload comes back or whatever. And we do like pass through some types to a degree. We mostly like support libraries like puppeteer, which if you're not familiar is like a Chrome headless, Chrome automation library. And some of the unwrapping is really miserable. It just does not work. So it's like unwrap promise, you know, return by type some function on some method on some property somewhere. And then it's like 0, 0, 0, 0, like all these different, like array indices you have to unwrap. And it's just, yeah, it's definitely like code smell in my mind that something isn't right if I'm having to do all this keratin and brackets everywhere.

And it's starting to Yeah. mess. So,

[00:16:58] Robbie: And I think that's, [00:17:00] like, something that is a good thing for everyone to hear if you're a library author. Like, Please just export every single type, whether you think. We're going to need it or not, just export them. So I don't have to be like, Oh, well, this thing that used this thing, that used this thing, none of them were exported, but I see this function returns, this thing with like that pass in as the generic and like all this stuff.

So I'm going to just take the return of that and grab the third argument. Or like, I don't know, like, like, Don't make it so hard. Just export all the stuff in case someone needs it.

[00:17:32] Joel: man.

[00:17:32] Chuck: Right, yeah, even all the pieces and the parts. I know, especially in an open source world, like, I don't know, you just can't be overly opinionated when you're an open source contributor, so why aren't you just pushing it all out there? But really, Joel, I think the question should have been, why didn't you write it in Rust then?

[00:17:53] Joel: to the whole, Yeah, writing in Rust or, Gosh, Deno probably would have been the other one. [00:18:00] So, yeah, to be, to

be, To be

[00:18:03] Chuck: now.

[00:18:03] Joel: frank, there's two reasons I didn't write it in Rust. One, I don't know Rust. And I guess there's three reasons I'm going to take that back. I'm going to lean into my JavaScript,

[00:18:14] Chuck: addending.

[00:18:15] Joel: going to leave it, lean into my JavaScript background and say one and then say two and then say three and just dynamically change it on the fly.

Yeah, what I don't know, Russ to almost all the libraries that we support and work with are in node. And so we can do fun things like. Take like kind of pass through types in our API surface. So we can just like pass those through most of the time. And that's pretty hunky Dory. And then, yeah, the third is like, even though this company has been around for a couple of years now, like.

It still feels very like startup y and so like knowing what the tools you're working with and being comfortable with those and knowing how to do things quickly is really important. And I think sometimes even more important than the right tool for the job [00:19:00] necessarily. Probably going to regret that later, but Yeah.

[00:19:05] Chuck: I don't know. I think to a degree I've started to regress some of my opinions around that, like overthinking the right tool for the job, because most of the time folks aren't dealing with a load where it would actually make a difference or matter that much, right? Like you can use a lot of libraries and web frameworks to build apps and do things, and especially in the earlier days and the earlier days can mean like the first.

Five years, 10 years, if, you know, depending on what, like your user surfaces, because maybe your business doesn't need to unicorn scale and get 2 million users and blah, blah, blah, blah, blah. And actually does really well, you know, at 500 concurrent users or something like that, and a lot of things can handle that load.

So like, what, what are we scaling for? We're scaling for maybe. Like we're adding complexity for

maybe. [00:20:00] Yeah, to show we can we're adding complexity because of hypothetical situations that like, or real situations that like Facebook deals with, but you probably don't, you know, not you, you, but you know what I mean?

Like, a lot of people making these arguments are just making arguments for like bleeding edge new stuff. know, it's like saying somebody sucks because they have an iPhone 12. Guess what still makes phone calls, like texts and stuff, you know?

[00:20:24] Joel: Yeah, I, I agree a lot with a lot of what you just said. I mean, the fact is, is that, yeah, it's, what are you scaling for is a great question. Like, are you scaling for your internal organization to be productive? Because that's like the biggest thing to be. You know, good at is like having time to like delivery to almost nothing if possible.

You know, Kubernetes is like my favorite example of this is like, everybody's like, Oh, we got to do Kubernetes. Kubernetes is a new thing. We got to do Kubernetes. And like, I was, In line at the Kool Aid stand with my Kool Aid like cup, like [00:21:00] give me some Kool Aid Durban Eddie's and nobody, and I got it.

And yeah, and I threw up and I was like, this is not, this is not what I wanted. This is, I dunno, that technology, like I'm sure does like what you described, like solves organizational problems for like massive companies where, you know, it's like this service is attached to this service talks to this database.

And so like, you want a way to like declaratively, you know, describe that relationship and like something. And yeah, like we even thought about it at Browsers a few times doing Kubernetes, but every time we looked at it, it's like, it's the cost and the maintenance is too high for the value it provides for us at this time.

So,

[00:21:39] Chuck: Yeah, Yeah, yeah, I think a lot of places like don't even have a solid, just one Docker container working well. And then they're like, let me look at Kubernetes. And I'm Like, maybe

they think it's

[00:21:53] Robbie: have other problems first. [00:22:00] They

[00:22:07] Chuck: figuring out what the yaml files mean.

And I got introduced to it in like an enterprise situation doing work for a life sciences business. And they did have the volume, you know, millions of users. Couple million dollar business or billion dollar business. Sorry. And so it, it brought some sanity to their world where they were doing a lot of on prem stuff, very manual, you know, deployment situation.

And I got introduced, introduced to it then as part of like a project team. And I was like, this is so cool. And I'm going to start messing with it and, you know, do the, the have like your home lab set up and do a little bit there. And then you're kind of like, Oh, this is a lot just to run like home assistant or whatever, you know for, yeah.

So it's like, Oh, okay. Now I understand. Yeah. It's not a pan, you know, like [00:23:00] panacea for, for all container situations.

[00:23:04] Joel: I mean, the funny thing is, is like some of the problems that we face and like I want to solve. Like all these technologies are a lot of, I should say all of them. I have never used old technology. So I. Can't really say that I've used them all, but a lot of these technologies, like, just kind of rework the rough structure of a wheel, but like all the little details, the nuts and the bolts part seemed to kind of get lost, like, even just before this podcast, like, I was trying to get something to work with you know, Since we have a headless browsers, our service, there's a lot of like rest based APIs you can use it.

But obviously those take a while to respond to. And like, what happens if the request just dies? Like the, you know, something happens globally in the network and something goes offline and the request into the service just drops and it was like trying to give a cat a bath, try to get ours, like image to understand like, Oh, one, when this is [00:24:00] processing, if something happens to that underlying socket, like we should just bail and not return a response and continue.

But like, Most of the frameworks out there just assume that the, you're going to be able to write a response at the end of the transaction or whatever. And it's like, well, why isn't this more of like a first class citizen to just like exit you know, request response thing too early? I'm like, none of the frameworks I really looked at seem to have like an elegant way of handling it.

Or if they did, it was like, You got to hook into this event when that fires, you got to make sure to clean up elsewhere. And so you just become this of like duct taping a bunch of stuff together. And, yeah, anyways,

[00:24:40] Chuck: It's, it's funny what you're describing actually sounds like a use case for structured concurrency, right? You want to be able to exit or quit processes and you want that kind of, Just because we have some friends, peers who work on a structured concurrency library, that kind of [00:25:00] came out of an Ember project, like the ideologies, and then they've abstracted that, and that becomes sort of its own thing.

And I've always kind of thought of it of like, that doesn't apply to like 95 percent of the use cases of projects that I've worked on. like cool, smart stuff. But then what you just described. actually sounds like a thing that could utilize that kind of structured concurrency.

[00:25:24] Joel: you going to have to send me that library. Cause I would love to take a look at it. Concurrency is a huge thing or concurrency. I guess management is a big thing for, for browser lists. As you can imagine, if you've got a machine. And it's got like a CPU and one gigabyte of Ram. It's not going to be able to have a lot of open browsers at a time, it may be one at that.

And so we do have like this concurrency bottlenecking part of our platform that like limits the amount of traffic that can happen at any given time. I don't want to say it's like shoehorned in there, but it kind of is a little bit, it's mostly pretty good, but like, [00:26:00] yeah, there's some like things to be desired for sure with, again, with like, if something drops off in the You know, how do you like potentially queue up other things to happen after like 10 are filled in a concurrent slot or whatever.

So, Yeah, I don't know. It's, it's just crazy to me to think that we live in this day and age and the web has been around for so long and it's like, how come these are still problems that are not easily solved? But it just because maybe I'm in JavaScript and JavaScript shouldn't have ever left like Netscape Navigator back in the day.

It should have just stayed as a one man project.

[00:26:38] Chuck: Should have stayed in its lane in some ways or something of that nature. That's what some people would say, right? Like it's, it's definitely outgrown its initial intentions for better or worse. We did definitely got a bunch of really smart people coming from those other areas, you know, applying more and more to that and making it real web framework, but [00:27:00] You know, yeah.

And then there you go. And are you trying to wedge a solution or is it maybe at that point you think about was it the right tool? So,

[00:27:08] Joel: this is a good good end cap for that whole. The right tool or the wrong tool, but fast.

[00:27:14] Chuck: right. Exactly. It's like, I know how to do most of the things in this tool that makes me more productive in it. Maybe there's a time where the challenges become, you know, you need to like a larger mind share for that. I don't know. There's a, you know, as a burgeoning. runner myself. I I guess I'll have to think about those things at some

[00:27:38] Joel: Yeah. Don't want to keep them up to keep you up too late at night. I'll say that. And that's, you got to have that bourbon at some point and let it, let those thoughts Yeah, yeah. I usually start around two or three Arizona time so that I can accommodate folks on the east coast. Robbie. But yeah, just once a week, [00:28:00] hopefully. We do have other hot takes, though. We have gone down a path. Let's make sure we

Okay.

[00:28:05] Chuck: hot takes, because the next ones really, they're

[00:28:08] Joel: Okay.

[00:28:09] Chuck: Um,

Yeah, Tailwind or Vanilla

[00:28:12] Joel: Oh man. I don't want to use that. It depends, you know, escape hatch right now, but I'm really wanting to grab

it.

[00:28:22] Robbie: one.

[00:28:22] Chuck: you just wrote yourself into a corner by

[00:28:24] Joel: Uh, I don't like that. Um,

okay. If you want, sorry, I'm thinking

[00:28:33] Chuck: Yeah, your account dashboard is now it is. Yeah. Yeah. Woo. It is. Okay. I've spent a lot of time as a front end engineer. I'm going to say tailwind for sure. The dashboard necessarily, I didn't have that decision trying to let go of making so many Decisions.

Yeah.

[00:28:53] Joel: I think for writing your own CSS. It's like running a chainsaw. There's a good [00:29:00] chance that you're going to get kicked back and cut your face off doing it wrong.

Like if you know how to use a chainsaw and you got all the gear and you know, like, Oh, if I write this rule in the selector, it might overwrite this other one and then. If you get to the point where you start writing like bang important, then maybe just go to tailwind. But yeah, I think for folks that are like really knowledgeable with CSS and know like how the, the weight selection thing works and whatever else, knock yourself self out.

The ch there's a very high chance you're going to write the wrong abstractions. And that's why I say tailwind because they have given this a lot of thought. Yes. It looks like a mess. Your Dom is going to look gross, but you know, most users aren't pulling up. Dev tools. I'm looking at the Dom to say like, Oh, the site looks nice.

Let's go look at that markup. Yeah, but that's why I'm probably pro tail one is just, I think. They're really smart. People have seen, seen this thought about this and they are going to just know what the right [00:30:00] abstractions are. But yeah, again, it Yeah, it depends. I'm sorry.

[00:30:06] Chuck: I'd say for 98 percent of the use cases, though, again, like for most things you're going to do when writing an application or a static site or whatever else, Tailwind's going to help you do it faster. So that's nice. If you want to do some cool abstractions, I mean, the answer could be both also, right?

Like if you want to do some really Cool CSS tricks. That, that's nice. And, and you want to be a master of your craft in that way. There's, there's kind of a way to do both because it doesn't have to be all or nothing. Or maybe you're a small team and you just want to write CSS. You're just like, you know, it's just me.

And I want to do it my way. And I understand where the limitations lie. So it's not a problem. hey, knock yourself out.

[00:30:49] Robbie: Yeah. You can also write your own everything. Like you can make your own classes for Tailwind, like similar utility classes. You can then compose theirs and yours [00:31:00] together. You can make componentized things. You can like, like anyone that's like, Oh, it's not real CSS is like, but it is though, like it's just classes.

And the Tailwind docs are actually some of the best places to learn CSS. Like they're way better than any other CSS docs, in my opinion.

[00:31:20] Chuck: Well, they're not as terse as the spec, that's for sure. So, if you can't tell, Robbie bought the t shirt, so.

[00:31:25] Joel: Okay.

[00:31:27] Robbie: I'm a, I'm a big tailwind

[00:31:29] Joel: Yeah. I it's interesting that the docs actually do a good job of educating you. That's like a great hallmark for good docs is like, you learn more than what you were after for. And I think Chris Coyier, especially for CSS is like the, the demigod of that realm. Like I always learned something like I'm just trying to get the stupid thing to vertically center and like, you walk away, like, you know, Fixing that problem.

But you also learn something in the meantime, which is a big deal. I feel like for, you know, [00:32:00] trying to get out there and like solve problems, but also like educate a little bit at the same time, yeah, my spiciest take on this is that I would just rather do it like JSS or whatever the embedded, like in your rack component, if you're going to do react, like Just Oh, yeah. Well,

[00:32:19] Chuck: now you're wrong. Now you're

just completely wrong Yeah.

And it looks like it came up. The, you, you added a third option that was not a C, but it was actually a

[00:32:29] Joel: Sorry. Sorry. Not sorry.

[00:32:32] Chuck: Yeah. You know. You can feel your own way.

[00:32:37] Joel: I mean, I I'll be honest though, front end having done a large bit of both. You know, I've been a front end and a rear end developer for a long time. And I think, I think the rear end development's a lot easier than the front end, in my opinion.

[00:32:52] Chuck: that you Uh, I'm just going to go for it. I, they, they just asked me to leave at a lot of like [00:33:00] conferences and talks. You know, it's like, I'm not a, I'm not a full stack developer. I'm a half stack developer. And they're like, okay, get out. I'm like, fine. I, I

That's funny.

There's a conference here in Phoenix called Halfstack actually. Which is pretty funny.

[00:33:12] Joel: I was like, why hasn't,

[00:33:14] Chuck: I think they do it in Phoenix and like somewhere overseas or something. But, yeah.

[00:33:18] Joel: I always thought it'd be great to have a conference. And call it like the half stack conference. And you just go to some random IHOP and just eat pancakes and talk about, you know, back in development or whatever. And just like.

[00:33:30] Robbie: Next time is front end.

[00:33:33] Chuck: You should start. should start the half stack podcast

[00:33:37] Joel: We'll pick one stack and talk just about that the entire time. And always is going to take place

[00:33:43] Chuck: Andy IHOP

[00:33:44] Joel: for reasons,

[00:33:46] Chuck: I'm sure there's a way like you definitely could Yeah, studio somehow

[00:33:51] Robbie: I don't think IHOP would stop you if you showed up

[00:33:54] Chuck: Don't think so either. I think they'd be happy to have

it a paying customer would be good for them. Right? [00:34:00] No.

[00:34:00] Robbie: Hey, I like some

[00:34:02] Chuck: You know Yeah the international passport is Swedish. That's my jam. And the one near me, at least, is always packed. I've never been to it, but I've driven by a ton. I have nothing against it, and it's better than Applebee's.

[00:34:16] Joel: Yeah,

[00:34:17] Robbie: Well, they own Applebee's or vice versa. I forget what the parent company is.

[00:34:21] Chuck: Oh, that's

[00:34:21] Joel: really? I didn't know that. That's crazy, man.

[00:34:25] Robbie: Yeah, I think it was like Applebee's bought IHOP actually, because Applebee's like, everyone thinks is just out of business and IHOP is usually like, doing okay, but so it felt weird that it was like them buying IHOP, but

[00:34:39] Joel: Oh man. Applebee's had this crazy promotion. Probably a few weeks back where it's like for a thousand bucks or five hundred bucks. I can't remember the amount It's a great deal a great deal You buy a year's worth of date nights from them and on every like Wednesday night You and your significant other go down to [00:35:00] your local Applebee's and you eat a free meal or not free.

Cause you, you essentially pre buy all of them for the year, but it's like, you know, how depressed of a person are you when you like, like, Oh, that's a great idea. I'm going to do that. And we're going to commit to Applebee's for a year of like. Weekly or

monthly date nights. I like the idea, but I don't like the restaurant it's at. Like, if there were a restaurant I loved that offered that, I think that'd be kind of cool.

I don't think it's going to happen anytime soon. I'm really sorry to punch you, Robbie.

[00:35:30] Chuck: the last time I went to an Applebee's, it was not a great experience.

[00:35:34] Joel: Yeah.

[00:35:35] Chuck: Yeah, it wasn't a great, like, I think it was one of those things, like, I remember in college, like the early years of college, for whatever reason, in like the Cincinnati, Northern Kentucky area, it was a hot thing to do to go to Applebee's for happy hour, get some wings, get a big Brutus, which is a big cheap Bud Light, basically, or Budweiser, Bud Heavy, and and then go [00:36:00] out to other places.

It was like, hopping. Blow it up. Oh, yeah, that was a fun thing. We did Didn't really go to applebee's for quite some time a few years ago My wife and I we I forget what we do I don't know. We had some date night and we were kind of like out of our normal area And we're like, I don't know what's around us.

Let's just grab something to eat I guess apple applebee's is fine, right? It used to be fine. Let's go there people go there. It was very busy and it was also fucking horrible

[00:36:28] Joel: I think

[00:36:30] Chuck: I don't know if that's specific to that location, or what it was, or it's just like, generally not that great, but I literally would rather have gone to Taco

[00:36:39] Joel: I always will go to

talk about, I would always use Taco Bell over many fine dining establishments. All

[00:36:52] Chuck: It's, well it's what, fine is what I was hoping for, of like, you know, this is gonna be mediocre, and it's like, whatever. Now it was like, [00:37:00] kinda bad. Like, I tried the, I remember, again, the college thing, so my standards were low, but. They used to, like, once a year, do this all you could eat riblets basket. And, of course, you know, you're like 20 or whatever, and you're like, Yeah, 10 that, and beers, because I have a fake ID.

Everybody knows I was a bad kid, so this is fine. And that was great for me. You could just load up unlimited calories. I'm into that. But no. I would have turned that away. I would have been like, I won't be finishing the first one. No thank you.

[00:37:35] Joel: Yeah. right, well this has gotten very, very into whatnot quickly, so I want to Regress back. Let's talk about browserless a little bit. Tell us you know, what, what's the use case for it? What was your first use case or like, why'd you start it? Who is it for? You know, all of that kind of stuff.

Yeah. So I started it originally cause I was building a, like a, [00:38:00] like a wishlist app, right? So like you go to Amazon and you put a bunch of stuff that you want on a wishlist and you share it with people, but you're limited to what Amazon has. You can't just add anything off the open internet. And I don't think at the time there was anything that really did that necessarily.

And so I ran into, I think it was target, like, so the idea was like, you could put a link to a A product you wanted and the site I was working on would like kind of parse it out, like get a picture of the price, all of that, just kind of like simple stuff to show. And that way your friends and family could like market as bought or whatnot, but ran into target.

com, which was at the time an SPA, a single page app. And I couldn't just, you know, do my poor man fetch on their URL and get. Anything interesting back. Cause I was like, Oh crap. Like I have to run a JavaScript engine and a parser to like get anything meaningful back from this. So, you know, as things happen, as you know, developers like. Shedded that to hell and back and realized, Oh, there's, it'd be great if I could use puppeteer, this new [00:39:00] library to do this for me. Like, this is very simple. I like the API. And it was just really difficult to provision and get headless Chrome running well, and then at the same time support puppeteer.

And so yeah, back six, seven years ago, this was like the first, I think, kind of like software as a service that ran that supported puppeteer, everything else, all the, like, Like the browser stacks, everything kind of out there at the time just did not support like web sockets and that sort of protocol, because usually you have a remote client connects over a web socket, talks to the browser.

That's pretty high level of how it works. But, and so, yeah, I wrote it over a couple of weeks and I was like, I think this is actually more useful than the thing I was working on, so. I'm going to see if there's any interest in it. And luckily there was a bunch of GitHub issues. Anybody's like starting a business today.

These are great, great. Like first tips is like, a bunch of open GitHub issues. Like I can't run this in Ubuntu. I can't run this in like, you [00:40:00] know, my random Linux distro. You know, I just go on that and be like, Oh, you could kind of do it with this. Or you could just use this thing over here, browser list.

It'll do it for you. And that's where I got my first users from, which is a big deal for starting a companies. How do you get your first users? And so, yeah, it started off with that. And so it's kind of like kind of a web scraping company, kind of a testing company, kind of like a PDF asset screenshot generation company.

And it just kind of does all those things and tries to make it a sane experience. Because there's a lot of stuff you can get wrong and do wrong when you're running a headless browser and, you know, Navigating to a page and it opens a sub page or there's I frames or, you know, you get bought blocked or whatever.

Like those are really difficult to overcome sometimes. And it tries to like, I guess, level the playing field out there. So everybody can be productive and fun with a headless browsers, but yeah, that's and [00:41:00] actually, Chris Corey did talk a couple of times with it, but the big, the, our biggest first user was actually CodePen a few years back.

I remember getting out of the shower and looking at my phone and seeing somebody at CodePen signed up and I was like, No, no way. They did not. No, stop it. Stripe, you're lying to me. That's just not right. That was the, that was a big aha moment for sure. That like I was maybe onto something. So. Yeah, that's the, the kind of broad strokes about what it is and all sorts of other fun stuff in there to talk about.

But, yeah, that's kind of how I got started with it or the genesis of it, really.

[00:41:39] Chuck: Yeah, I can I can recall like first being introduced to it and seeing like, could you put together your own Cypress with this? I feel like you could. It's kind of like part of that model, but then obviously you can take it a few different directions. So it's like way more configurable, but could look at something like Cypress and be like [00:42:00] I could do that myself actually with this setup.

[00:42:02] Joel: Yeah, there's some really cool, like, there's one thing I'm really obsessed with. Like, I hate, sorry, if Plaid, if Plaid is listening or a supporter or whatever the show. I hate Plaid. I don't like giving up.

Sponsored

by plaid. You're going to hate it.

[00:42:17] Chuck: This episode is sponsored by Applebee's and Plaid.

[00:42:20] Joel: It's fine. Give us your credentials to your bank account. We're not going to tell anyone, but like banking is a big one. So like you go like apply for a mortgage and a lot of times like an online mortgage company will say, great, give us your bank records. And if you don't want to do that, give us your bank account information.

We'll have plaid do it. And first off, that's a violation of a lot of your banking terms of service, just as a heads up to like give out your username and password. And the second thing is, is like, they only use it for that few seconds where they get like your bank statements or whatever, and then they never need it again.

But who knows what happened to those credentials you just gave. You know, company X, Y, Z, and so that's [00:43:00] where it's still being worked on, but I'm really obsessed with it is this idea of like hybrid session. So let's say you have that workflow, like you're going to give somebody your banking information instead of like giving them your username and a password.

What if they just like gave you like a screen of the browser on their end? Where you could log in and they could like one time scrape their data you needed, but you could watch it if you wanted to, or you could just log in, let their automation take over. And then after that it's gone. So they don't want to ever see your credentials.

They wouldn't, you know, see anything sensitive, get what they need. And then like, there's a good, like, Stop at that point. And, you know, like, okay, that was secure. I'm not going to like regret them, you know, having my username, passwords, second factor, auth credentials, all that. So yeah, I don't know.

There's really like interesting and novel ways. And the reason I bring that up is because Cypress has like really cool ways of like recording your session and like giving you [00:44:00] debug information. But I think like that kind of experience can be applied to a whole bunch of other things that we just kind of bear with and deal with right now.

But, It could be better

[00:44:10] Chuck: yeah. On a high level, no matter who's asking, if they're not related to you in particular, don't give out your usernames and passwords and two factor and all the other things that are put in to stop random people from using

your lockets. all the time. I'll give whoever any of my passwords. It's fine. Do you want to just say your credit card number and social security number

right now? Okay.

[00:44:42] Robbie: you know, i'm not gonna go that far

kenwood though, out his, his, his real phone number on here,

[00:44:51] Chuck: which by the way, that works. I, I, I

messaged him. It does work.

[00:44:55] Joel: I could see him doing that. I could see that happening just to like, put it out there.

[00:44:59] Chuck: [00:45:00] You could see him doing that by just watching Okay. our podcast. You'll see him do it.

[00:45:04] Joel: Oh, I got,

[00:45:05] Chuck: He's like, I don't give a fuck.

[00:45:07] Joel: got through a good portion of it and I was like, I've had enough. I've had enough Ken for Ken for today. I'm going to go to the other, the other Ken, Ken C Dodds now and like balance things back out a Oh yeah, there you go. The, the other way. Yeah, and it's very, it's very wholesome. And we had eggnog with Ken, Kent. Sorry. Yeah, so well, that was a way to share the experience. You know, we try to be thinking about different ways to include folks who may or may not imbibe. But, you know, sober people are boring, but Kent was really nice actually, and fun.

[00:45:43] Chuck: So we did the eggnog. We put a little bit in ours. He had an eggnog he wanted to try and that was fun I don't know if you made it that far or

whatever haven't even, I haven't even watched that, that episode to be honest. So I got to check that out. I hear nothing but great things about Ken C Dodds and I've seen Some of his, you [00:46:00] know, work and like seeing him on X or Whatever.

Yeah

[00:46:05] Joel: yeah, I think like in general, I'm a, I'm a fan from what I've seen and heard so far, but, yeah, I haven't like,

[00:46:13] Chuck: he's he's really nice. He's very helpful He's open to discourse without getting like ragey Yeah. It's

[00:46:22] Robbie: hard to make him

mad. Yeah

But you can do it.

I've seen people do it, if you do it, I bet it's like,

[00:46:29] Chuck: The rage

comes C comes out.

[00:46:33] Robbie: Yeah.

[00:46:33] Chuck: it to

heck Um he calls you out for something, like everyone else will pile on of, you're wrong. Yeah.

Yeah, yeah. I love being wrong on Twitter anyway, because like, it's all superficial bullshit. I don't, I don't know. Like, whatever. We're, we're all in different lanes, solving different problems with some similar tools. And, you know, it's like, if there was one right answer, we wouldn't even be in this industry.

Right? [00:47:00] Like, what I love about coding is like, actually, it's funny. It's like part of my career path is that I came up through more of a design. I was a web designer for a bit. And I was asked by the VP of marketing at a company I was at at one point. And he's like, I kind of see these as separate.

Like there's the design and some of like the UI, and there's kind of more code and more interactivity. And like, I think these are separate jobs. And so I think you should pick one. And I was really tired of my manager micromanaging me, not him, but like someone else. And being like. I think these rounded corners on these buttons need to be eight picks.

You have them as like five picks. I think I think you need a little more of that. Instead of a green button, it should be more of a cornflower blue. And it was just a way to like, you know, feel like you were part of building this thing. And I was tired of that. Yeah. And I was like, Okay, it's so subjective here.

I'm going to go over here, where they're just asked to like, you know, make sure in the [00:48:00] end, someone can like, have a cart and check out and like buy stuff. And you can solve that problem a billion different ways. And now we need to look at like, what are the potential different combinations of like size and color or, you know, that kind of stuff.

So I was like, now this is fun. This is like, give me a problem. Show me the end result you want. And then I get to figure it out.

[00:48:21] Joel: Yeah, I, you know, I agree a lot with the whole like, There isn't one way to solve a problem and I think I in particular had a hard time in school just because I feel like all like standard education at least when I was a kid was geared towards like you're just regurgitating the fact and so like there's like this.

Opposition to that almost in a way, but like programming, it's way different. I mean, programming or, you know, web service, whatever, web apps, anything. There's not necessarily a clear cut path to do everything. And that's what I like about it. And that's actually the projects I like to gravitate towards. And it's probably why browserless was a thing is because it's like one of these [00:49:00] things in the corner that everybody uses and does, but nobody like says, Oh, maybe you should think about it this way or do things this way.

I don't know. I, I love those kind of problem spaces where it's like there's not a clear answer, there's not a clear, like, prior art, it's just kind of a, this weird nebulous where people kind of have to figure it out and maybe come up with some, you know, best practices or whatever. Those, those things are pretty, pretty fun to me.

[00:49:26] Chuck: It's more than one way to skin a cartoon cat or a Fox, whatever that is in the background there. Oh, wait.

[00:49:33] Robbie: Yeah. Well, Is that's and yes. I wanted to ask, what's your favorite Zelda game? I see your shield

back there. stole my question.

[00:49:42] Joel: Yeah, I mean, I was, I'm gonna date myself a little bit. I was a kid when Ocarina of Time was out. I shouldn't say it was a kid. I think I was around high school ish.

[00:49:53] Robbie: Yeah, Chuck was the age he is now when Ocarina of Time came out.

[00:49:56] Chuck: Yeah, exactly. I was gonna say you're such a baby. Isn't [00:50:00] Ocarina of Time, like, Yeah, that was my, that's my favorite, favorite probably console of all time is Nintendo 64. And so Ocarina of Time was my favorite. I was like, for two reasons. The first is like, you leave like your first area, Kokiri Forest, and you get out to Hylian Field and you're like, This game is so big. I can't believe how big this game is.

[00:50:22] Joel: And then you get done with the, sorry, I have a spoiler alert. This game has been out for 20 plus years, figure it Out.

[00:50:28] Robbie: yeah,

[00:50:29] Chuck: had a

chance.

[00:50:29] Joel: when you finally like beat the quest as a kid, and then you go to adult link, cause I thought that was the end of the game. I was like, Hey, we're done. We got all the gems,

[00:50:38] Chuck: Yes.

[00:50:39] Joel: Let's go roll the credits. And then I was like, holy, he's an adult now. And we got. Like six, nine more dungeons to do. I was like,

Oh my and you can go back

yeah. And they did that.

[00:50:51] Robbie: they really thought about that mechanic, just, it was like one of the first 3d games, really that commercially successful 3d games, [00:51:00] and they did all this cool stuff on top of just that.

[00:51:02] Joel: Like, not only did they figure out like targeting, but they had like this, like interwoven time storyline where you go back and fix things and come back in the future. I was just like. Lord have mercy, like, there's so many, like, groundbreaking things in that game. But, you know, Breath of the Wild also brought a lot of those things back to me, too.

Like, I remember leaving, like, the tutorial area for the first time, and I was like, Oh, this, this feels like when I was a kid. And you leave the forest for the first time in, you know, Zelda or Ocarina of Time. So, yeah.

[00:51:30] Chuck: You get to the glider and then you're like, oh now I'm actually in it. I was in this very constrained portion

[00:51:36] Joel: it's huge.

[00:51:38] Chuck: Oh man. How far are you in Tears of the

[00:51:41] Joel: Oh, good question.

[00:51:43] Robbie: Yeah, no spoilers on that one, I haven't started

[00:51:46] Joel: I I'm on my second start through. Cause I started it originally like a couple of years back and then we moved and just life caught up and it was like, I can't do this right now. So my second start. So I'm only a few hours into it. Part of me has a [00:52:00] love hate thing with Tears of the Kingdom, because during, during COVID, I was like, why didn't they have this game?

Everybody would be buying this game like crazy. We're all locked up, nothing to do. Like,

[00:52:09] Chuck: They kept it,

[00:52:10] Joel: kept getting delayed and delayed. I'm like, if, if there ever was a time to release a Zelda game, now is the time. But, anyways. Pretty much after the fact that they released it and so I was like, I'm disinterested now.

I got work and crap to do again. So don't bug me. I'm an old man at clouds again.

[00:52:27] Chuck: Yeah. And then you come crawling back though. They always do. No, but it's funny though because it's like Breath of the Wild, but then now it's, you know, not quite tripled, but kind of because you have the subterranean zone, you have the sky zones, and you just, I don't know, there's so much. I mostly have spent,

[00:52:47] Joel: I didn't know there

was, uh, thanks for

the spoiler, Charles. I didn't know there was a, I didn't know there was a subterranean. Now

[00:52:55] Chuck: I don't feel like I'm giving away too much. It's not like I'm telling you where the Master

Sword [00:53:00] is or something.

[00:53:00] Robbie: of us have to do work, so we haven't played the game. but,

[00:53:03] Joel: Some of us mow our own lawns. Okay. But

[00:53:07] Robbie: Well, I don't.

[00:53:09] Chuck: You don't anymore. Robbie used to. He lived on a farm for Yeah. And then he was like, I hate this.

[00:53:15] Robbie: Yeah. Yeah.

[00:53:17] Chuck: Basically. no, I'm, I'm,

[00:53:20] Robbie: Yeah, I, I played a lot of Diablo. Because it came out, like. The same time I think or like maybe tears of the kingdom was out a couple months ahead of that

[00:53:30] Joel: The second one?

[00:53:31] Robbie: And then I There was overlap. Yeah, and I never like I never had the time to start it and then diablo came out and I played that and then like I was busy and Didn't you play that Harry Potter

[00:53:42] Chuck: one or something

too that was also like an

immersive world?

Yeah

I didn't. I didn't play that. But, I usually play like FIFA. I play soccer video games. And then, Zelda games come out and they kind of absorb all of my time for a while and it yeah I don't do a lot of bouncing around.[00:54:00]

did Skyrim for sure That was like an amazing immersive world on the switch that I Don't know if that was Because they had like a re release right before pandemic. So it might have been

yeah You 2011. So

but the the switch port yeah, yeah, but the yeah the switch port was like timely for me That's a fun one where you can like go through half the quests and then like keep your companions with you and then you end up building like you know a group of three or four different people that help you because you never like finish the quest and let them move on.

[00:54:39] Joel: Interesting.

[00:54:40] Chuck: Yeah, that's that's my pro tip for

[00:54:43] Joel: Well, I haven't played Skyrim yet, so I'm gonna have to give that pro tip a,

[00:54:47] Robbie: Mm,

[00:54:48] Joel: a try.

[00:54:49] Robbie: skyrim's. Yeah,

[00:54:50] Chuck: it is really fun actually. Yeah, I was like, no, this is amazing.

[00:54:55] Joel: yeah, both time. I did play a little bit of Diablo 3 with some friends [00:55:00] during COVID and almost, it was like on the precipice of becoming addicted to it and then I realized what was happening because I had a, a, a really bad streak when I was younger with World of Warcraft, and

[00:55:11] Robbie: Mm.

[00:55:13] Robbie: That'll get you

[00:55:13] Joel: I remember like one point, like going to bed at like 7 AM and thinking, Oh boy, I got a problem.

boy, Yeah.

[00:55:21] Chuck: Yeah, So I was like, I should probably watch this a little bit. Yeah,

[00:55:26] Robbie: everything in World of Warcraft was so slow though, is like why it took forever, but, but it was like that little bit of gratification every like, you know, a couple minutes or whatever. And so you just hooked forever.

[00:55:38] Joel: it was really, yeah, you're right. It was painful, but it's like, part of it was the journey, not the destination. Like, oh, am I going to get in the server? Oh yes, I did. Great. And I can finally go do this thing and go sell this thing on the auction house or whatever, but. Yeah,

[00:55:51] Robbie: Yeah.

[00:55:52] Joel: Good times.

[00:55:54] Robbie: Yeah. Yeah. Blizzard does a good job with pretty much everything they make.

[00:55:59] Joel: You [00:56:00] haven't played for the Diablo four. Are you, is it? Yeah. The four is the recent one, right? I haven't touched that one yet.

[00:56:05] Robbie: Yeah, four is pretty good. It's I still think two was the best, but like, well, you're never going to get that again. So, four is better than three. So I would recommend checking it out. If you, if you like Diablo games, I think four is pretty good.

I re skinned it really. So

played some of that, but I don't know. The, the magic was just not there anymore. Like it's still really fun, but it's just like, there aren't as many people playing it and it was just like,

[00:56:40] Joel: novelty is gone.

[00:56:42] Robbie: Didn't feel the same. Yeah

[00:56:44] Joel: Yeah, it's too bad, but that's, this is a great metaphor for what the web is like right now. A great recap of technologies is we're just re skinning and re releasing the Diablo two of the past, most of the time.

[00:56:56] Chuck: We're just re skinning and re releasing [00:57:00] PHP.

[00:57:00] Joel: FIFA.

[00:57:01] Robbie: we

[00:57:01] Chuck: a hot take. in, on Vercel.

Which actually can happen, but that's a whole separate other story. I I did experience a project where someone had used Vercel for a WordPress. And you can do

it, apparently.

[00:57:21] Joel: here.

[00:57:22] Chuck: Yeah, yeah, exactly. Why is a good question. Like, I understand that like, I don't know, how hard is it to put WordPress on AWS, I feel like that's got to be one of the most straightforward releases you could do if that's the way you want to go.

But you also could just find like a GoDaddy VPC and auto install, which is what I did many, many years ago. You just like get into a, you know, a virtual server, get your little part of it, hit auto install WordPress, and then you get, you know, root access through things. [00:58:00] your plugins done. I don't know.

But yeah, I did. I did come across this a year or so ago and I was very surprised that it was a WordPress on Vercel. So you heard it here. You really can release anything there

if you want.

It's not just next

[00:58:15] Joel: that is just, I just, even that getting it to run is one thing, but like weapons and you run into issues. You're not going to find any like resources at all on that. Like. because No one else is doing

[00:58:27] Chuck: it.

No. Yeah. A hundred percent.

[00:58:29] Robbie: that did it were probably on arch linux and they they Yeah. the ones that Did the one thing?

[00:58:36] Chuck: Yeah. It was a weird hybrid app where like essentially the first The consumer facing side was WordPress, and the admin side was Next, and they just kind of decided to make it all one thing. The database was PlanetScale. Like, I don't know, it was a strange, like, Frankenstein of, like, new and old technologies.

It was just like, [00:59:00] I don't know how you landed here, but you did, and here's where we're at, and so let's see what we

do. in your life led you to this moment? Oh man.

Yeah, yeah, I think that's an offline story. Anyway.

[00:59:15] Robbie: Yeah. So we have one question that we always ask everyone that we do want to get in here before we end. If you weren't in tech, what other career would you choose?

[00:59:23] Joel: Great question. Well, I think I'm going to take another escape hatch one on this one. Cause I was not in tech to be starting with my life. So man, old Blanton's catching up with me. Old man Blanton, but I was originally a musician and a jazz trumpet player prior to tech. And that was. I guess my first love, even though I kind of grew to hate it as well, you know, you do with your first loves a lot of the time, to a degree, but yeah, I'd probably get back into that a little bit.

Or, I don't know, man, if it [01:00:00] wasn't for that, that's a fantastic question. Honestly, I'd probably just be like a 1 800 junk rip off. Just go to people's houses, help them get rid of shit. Like that, that is gratifying to me. And, I just like helping people. I think that's like something I've learned about myself as I've gotten older.

Is like the process of helping somebody that probably can't help themselves. There's a lot of like, good fulfillment I get out of that. And so, yeah, it would just be fun to drive it all beat up, pick up truck and, you know, throw shit away. That'd be amazing. And it's,

[01:00:33] Chuck: That's a very like West boss like answer to where it's like if you weren't doing this, you know, you would some very like baseline not sexy, but everybody needs kind of service He was like, oh, I would probably like open a storage facility or something like that, you know

[01:00:51] Robbie: yeah,

[01:00:52] Joel: you get such a great, like gratification too, from it at the end of the day, like there's this room where all this stuff was in the pile and now it's not. [01:01:00] And so, you know, especially with programming too, it's, since it's so abstract and it's not. that's really tangible. It's like, I can't still like go home to my wife and be like, Hey, refactored this whole code base and look how nice it is.

It lints fine. Prettier isn't crying anymore. but.

[01:01:16] Chuck: If your wife is like mine, she's like shut up. I'm falling asleep

[01:01:20] Robbie: yeah,

[01:01:21] Joel: Yep.

[01:01:22] Robbie: yeah, I'm gonna have to tell my wife about linting tonight and see what she thinks about

[01:01:26] Chuck: see how that goes. I can't wait to hear about this. It's gonna be

great man. You should ask her about

[01:01:32] Joel: semicolons. And if

you pro or anti semicolons, there's a lot of writing on

this. likes Python, I heard, so Yeah.

[01:01:39] Robbie: She likes what?

[01:01:40] Chuck: she likes Python. Python? No, no, she Python. No semicolons, no brackets. She's

[01:01:47] Robbie: Nope.

Nope

Nope. Feels wrong.

[01:01:50] Chuck: Wagner, whatever, Python in my house. Anyway. Alright, have

[01:01:55] Robbie: All right. We are over time. Do you want to plug anything [01:02:00] before we

[01:02:00] Joel: Oh, you know? No, I don't. Thanks.

[01:02:07] Chuck: Velour

[01:02:11] Joel: yeah. Go buy some velvet tracksuits. Listen, actually, that is one thing I will plug kind of on the self care side. Like, you know, guys that build fences or dig ditches, they get geared up for the job they're going to do. Right? Right. Like if you want to get in the mode of doing your thing, don't be afraid to wear a velvet tracksuit or change your lights to blue or green or red, whatever kind of gets you in the mood.

Cause that like actually does help a lot. So yeah. Like, don't be afraid to like, listen to what your body's telling you. I mean, people do with keyboards and stuff like that, but there's more to it than just that. There's like the outside, you know, peripheral stuff that Yeah, makes a difference. So yeah, take care of yourself.

[01:02:50] Robbie: Yeah, that's good advice.

[01:02:52] Chuck: I like it.

[01:02:53] Robbie: All right, cool. Thanks everyone for listening. If you liked it, please subscribe, leave us some ratings and reviews. We appreciate it. And we [01:03:00] will catch you next time.

[01:03:02] Chuck: Boom boom boom boom