252

May 27th, 2020 × #testing#education#scaling#reactjs

Potluck - Courses for Kids × Sub-Components × Recursion × DB Hosting × Frameworks × Data Structures & Algorithms × More!

In this potluck/Q&A episode, Scott and Wes discuss end-to-end testing, hosting podcast RSS feeds, Prismic CMS, education, git workflows, scaling challenges and new React frameworks.

or
Topic 0 00:00

Transcript

Scott Tolinski

Syntax. Nice. That was on. Oh, really?

Wes Bos

Scott and I just clapped to start the show, and I've got high latency over here. So I try to offset my clap knowing that we'll have latency, and, I just impressed Scott with my clap. So that was good. Yeah. It was great. It was probably the one of the best it's been. Oh, well, thank you. I can count to 300 milliseconds in my head.

Wes Bos

Anyways, this is the Syntax podcast where we talk about web development every single week. Today, we've got a potluck show for you, and a potluck show is where we take your listener questions. And if you've got a question you'd like us to answer, go to syntax.fm.

Wes Bos

And in the top right hand corner, there's a button that says, ask a Wes. Go ahead and put your question in there.

Wes Bos

These questions are awesome, and we we really enjoy getting them. And I really enjoy doing these shows because there's there's something for everybody in these shows. So, with me JS always is mister Scott Tolinski. How are you doing today, Scott?

Scott Tolinski

Hey. I'm doing good.

Scott Tolinski

We should notice we we have tons of submissions in the Pollak. So if if your question has not been asked and it's been a little while, maybe ask it again. If you thought it was a killer question, if you thought it was just okay, go ahead and save us the trouble. But if you think you had a killer question that we've missed, go ahead and submit that thing again. Yeah. I just looked at the list, and I was, like, counting how many. I closed it now. But when I was counting how many, I was brilliant impressed with just how many amazing questions.

Scott Tolinski

For those of you a little behind the scenes look, what we do is we have this giant spreadsheet that they come in on, and we mark whether or not the question is going to be appearing in the next episode or in the next potluck that we're gonna be doing. Yeah. And, Wes and I are so much on the same page. It's ridiculous because I picked a Wes, and Wes didn't mark it as being on the show. So then I, like, started to get into the the question. I was I was typing it in here, and I was like, oh, no. Wait. Wes already picked this one. It's already been. So it's like, out of the thousands of questions that are in here, we somehow picked the exact same question just out of the blue. And it just happened to be what the only one that didn't get marked as being coming. So either way, I think these episodes are so much fun, man. I love doing these things. So, yeah. Yeah. That said, I'm on a 13 inch MacBook Pro from a long time ago. My current one is going bye bye. I am currently awaiting the arrival of my new Linux PC laptop. It's Node a PC laptop Linux laptop.

Scott Tolinski

And, yeah, man. So, hopefully, this episode goes okay, but I'm I'm ready.

Topic 1 00:02:33

Wes is using old laptop and awaiting new Linux laptop

Wes Bos

Wow. That's exciting. So today, we are sponsored by 2 awesome companies. First Node is LogRocket, which is your logging in session replay for your JavaScript applications, and Prismic, which is a headless CMS with the Wes and GraphQL API. I actually played around with Prismic quite a bit over the last week or so, and I've got some kinda cool stuff to to tell you about it. We'll talk about those partway through the episode, but let's get on into it. You wanna grab the 1st question there?

Scott Tolinski

Yes. I do. Okay. 1st question is from Mirza.

Topic 2 00:03:08

Lots of great listener questions submitted

Scott Tolinski

Do you think Selenium Selenium I don't know. I've never really said that out loud too much. Selenium. Selenium could get replaced by Cypress in the future.

Scott Tolinski

Alright. Selenium is a platform for end to end testing JS well as Cypress. So do you think Selenium will be replaced by yeah. I guess ESLint it depends on who is using it. But in my personal experience, Cypress has a much better developer experience than Selenium. And as far as being, like, not even in the same Vercel, better developer experience, you know, there's always gonna be tools like a lower Vercel, like, maybe there's, like, Puppeteer that could be considered, like, another thing you can use for this, but I think even Cypress probably just uses Puppeteer itself.

Scott Tolinski

Yeah. I would assume they would. Yeah. I think they do. And I think that's why it took them a long time to get Cypress working on Firefox, which it does now. If that was a reason why you weren't using Cypress, it does work with Edge and Firefox Node, so it can test all that stuff. But either way, I really, really love Cypress. It's this visual interface.

Scott Tolinski

You get to code your tests in a very jquery like fashion. Hey. Find this thing. Click this thing. Do this thing. And then when you save it, you can watch your Wes run visually in a visual browser and see all the outputs and step back through each step of the tests.

Scott Tolinski

I really like Cypress. There's definitely some annoying things occasionally with it Wes tests pass one time and don't pass another time or you know, you you gotta kinda definitely learn the Cypress way of doing things a little bit. But at the end of the day, I think Cypress is the best end to end testing suite by far.

Wes Bos

Yeah. We we should also say, like, both of these products are sort of just ways to automate browsers. So you you instead of, like, running, like, a, like, a Wes test or something like that where you expect a function to output sick like, 3 plus 3 is equal to 6 or something like that or or even, like, like, a snapshot where you expect to span to have the certain characters inside of it. These are much more where it it literally fires up an actual browser.

Wes Bos

And using the JavaScript environment, you can click on things and sort of just, like, puppeteer whatever the user is doing to interact with it. So these are pretty cool. They're becoming really popular because a lot of people would rather test your application as close to the user, plus, like, all the stuff Scott just said about being able to, like, visually see what's happening in in each of your tasks. So it's pretty cool. I've only used Selenium, like, maybe 4 years ago, and at that time, it was slow, and the API was clunky to work with. It was really frustrating to run the Wes because they had to boot it up. And now that we have headless Chrome and tools like Cypress, assuming built on top of that, it's getting much easier to work with. So I think it probably will, but I haven't haven't touched Selenium in a couple Yarn too. I don't know where where it's at right now.

Scott Tolinski

Yeah. That's where I'm at right now. And Cypress is just so good. I have no reason to pick up anything else.

Topic 3 00:06:15

Selenium versus Cypress for end-to-end testing

Wes Bos

Next question we have here is from Leo. When blogging about code, you need a way to display snippets of code in your blog post. What are good ways to do that? Embedding something like a GitHub gist or setting something specific up for your blog? That's a great question. So I just did this myself, and I had previously used a bevy of random WordPress plug ins to sort of do it. So when I was building my site, I switched over, and I sort of looked at what the possible options are out there. One option is just put it in a GitHub gist. But I think if that's the case, you have to use an Iframe to embed it. And Mhmm. I wanted all of the code to be editable on my own blog because, like, already, I've gotten tons of tiny little pull requests that clarify and fix code snippets that are on my blog. And if that's a GitHub gist, then you you can't do that. Right? So I wanted that was kinda out the window.

Wes Bos

And then I I went for Prism, which I was using on my WordPress blog for a couple Yarn, and I had actually ported Cobalt to Prism. And it looked okay. It works well. It's pretty lightweight, but it never gave me the syntax highlighting that was, like, the same as Versus Node. So I thought, okay. That that'll be okay. And then I went over to this thing called the, which, you know, pull a Node. There's a Versus code extension that will create PNG. Anytime you see somebody tweet a code snippet of, like, some code and it's, like, in a PNG and it looks kinda cool, sometimes that's generated often, that's generated by AVS Node plug in called Polarcode.

Topic 4 00:07:48

Options for displaying code snippets in blogs

Wes Bos

And the developer behind that has another project called Shiki, which takes Versus Node highlighting files and will take your Versus Code theme, and that will just output it right into HTML and CSS, which and it works amazingly well. Like, it looks exactly like Versus Node. So that is pretty awesome. So I I tried to get that going, and there is a Gatsby plug in for that, but I just couldn't get it working. And then someone said, like, why don't you just use there's a plug in called Gatsby Remark Vercel Node, and I just, like, put my Versus Node theme from my Versus Node, like cobalt 2. I just put it in there, and then it just worked amazingly well. Wow.

Wes Bos

And I have operator mono, which is my font, Yarn already on the website. So I couldn't believe how nice this looked. They didn't have to do anything for special, like, JavaScript or anything like that, and it just worked right out of the box. Does this use, like, Monaco or something?

Scott Tolinski

No. It I'm trying to wonder what does it use. Yeah. I'm gonna pop this open. Under the hood. Gatsby site is not loading for me right now. Let's pop this open. Let's check this out. I'm interested in this because I I I'm currently using Prism, and I don't love it. You know, it's

Wes Bos

it's okay, but I don't love it. There was highlight JS in Prism for a long time, and that was amazing that you could do that. But now that these editors are built in HTML and CSS, there's no reason why we can't have the same highlighting that we have in Versus Node in the browser because they're literally built on browser technologies.

Scott Tolinski

Right. It's fine. I do on, whenever I do conference talks and I need code within them, I use just code sandbox.

Scott Tolinski

Obviously, I don't wanna rely on that, I think, you know, like, for the same reasons you had with

Wes Bos

the the gist. Let me see what this uses. I'm looking at at the dependencies under the hood here. And, like so what happens is I use markdown, which uses Remark under the hood, And I think that those parse it into the classes and everything. So I think that that does a good job already of wrapping spans around every single character, like semicolons and quotes and stuff like that. That's how these these syntax highlighters work is that they parse the text and then wrap everything in a span and give it a class of variable or definition or method or something like that. And then your syntax highlighter will say, like, functions are red and brackets are blue and things like that. So I think what this plug in does is it parses your Versus Node theme and then translates that into CSS classes that can then be applied, I think. I didn't even look into it too deep, but it worked super well.

Scott Tolinski

Interesting. It's all very interesting. I am not using Gatsby on my site, so I would be interested in tearing this apart a little bit and see what they're doing

Wes Bos

here. Oh, here we go. It's using Versus Node Dash TextMate under the hood, which is a library that helps text using Textmate grammars. Okay. So I was wrong there. Versus Node Textmate is the one that takes in a string and then outputs Textmate grammars, which just spans and everything like that.

Scott Tolinski

Fascinating.

Scott Tolinski

Cool. I I gotta dive into this. I've always find this to be a giant pain in the rear, to be honest, dealing with Node, and you have the spans and all the the classes. And, you know, the the classes and the things, I just don't like that much.

Scott Tolinski

Okay. So next question here from Codefinity.

Topic 5 00:11:15

Do students need to understand recursion

Scott Tolinski

Do my students Node? Need? Need is all capitalized here. To understand recursion to be effective JS devs.

Scott Tolinski

Do students need to understand recursion to be effective JS devs? In my opinion, I just about never use recursion in my day to day work. Not to say that I never do, but I just about never do. There are certainly times where I've been coding on, maybe something even looks server side to do some sort of operation. I think, you know what? Surprisingly, recursion seems like the best option here, and let me do this, and then I get it working and whatever.

Scott Tolinski

So do your students need to understand recursion? Yes. Absolutely. I think they need to understand recursion. Do you need to be a master of recursion? I don't think so. I I don't use it that much, and it depends on what you're doing, obviously. But in most, like, real world application, especially if you're a front end dev, I don't use it in front end dev. It's usually back end dev when I'm using it, and it doesn't I don't think that really matters. But at the end of the day, I think you should have your students learn what recursion is, learn how to use it, and learn when it makes sense to use.

Scott Tolinski

But I don't think they need to be, you know, recursion sensei at the end of this.

Wes Bos

No. I have Recursion in both of my beginner JavaScript and my JavaScript thirty, and I intentionally didn't just create a video that makes you sit down and and learn what recursion is because it doesn't make a whole lot of sense as to, like, why you might wanna do that. And I intentionally waited for a few different situations where a problem popped up and the solution was recursion. And then we said, oh, okay. Because, like, for me, I remember, like, it's a scary word. You sort of look at it. You're like, Do you wanna give a quick 101? Like, a a very quick 101? Yeah. I always say recursion is this a snake eating its own tail.

Wes Bos

Meaning that it's a function that calls itself indefinitely until you have what's called an exit condition, meaning that, like, you might have a function that looks to check if a letter is a specific letter. And if that's not it, then it would just run again on the next letter. And then so, basically, the function calls itself from within it, but then you you pass it maybe the next letter in a string, or you can use it with anything really. So I think your students should know about recursion and maybe the problems that it would solve.

Wes Bos

And then when they hit an issue where recursion does get introduced or where recursion JS it, they're gonna go, oh, oh, I get it. That's why they've been talking about recursion.

Wes Bos

This is the problem that it solves. So absolutely there. In some cases, like Scott said, like, people don't use recursion all that often. They'd rather just use a like a while loop or something like that that just runs until you have an exit condition.

Scott Tolinski

Yeah. There's so many instances where it's like there's multiple solutions to this problem, and you could do some sort of a a loop, or you could do some sort of recursion.

Scott Tolinski

And most of the time, I think a loop is going to be easier for a lot of devs to parse Wes recursion might be a Yeah. Well, I don't wanna say simpler, but a smaller solution Node wise or something. So, definitely something to think about, and definitely something to practice, but maybe not something to really, really concern yourself with, like, really beating yourself up over Scott knowing the most optimal way of doing things every time. Yeah. Another classic. I just thought of another good example. If you're doing, like, a rock, paper, scissors,

Wes Bos

sometimes what will happen is that you'll need to run the game. So you might have a function called play game. And at the very bottom of that function, you'll want to like, let's say you're doing a best of 3. And if that's the case, then you gotta check. Does somebody have or maybe best of 5. And in order for someone to win, they must have 3 wins. Right? So at the very bottom of that play game function, you'll say, if somebody doesn't have at least 3 wins, then play game. So that's the play game function is calling itself, and then it just starts over again, and then it runs again and again and again. Eventually, your if statement at the bottom of that function will say somebody did win. And if that's the case, that's called your exit condition, and then that function will no longer run.

Scott Tolinski

Yeah.

Scott Tolinski

Word. Cool.

Wes Bos

What do we got next here? Question from. Hello, guys. What do you think about developing just using an iPad plus keyboard plus external Sanity? To try this, I just moved my environment to a VM on a cloud and configured CodeServer, a Versus Node accessible by the web. Oh, that's cool. It works pretty well. The only problem is now is that I have an iPad JS a better resolution for external monitor when I'm using the browser. This is a really cool question because it's kinda one thing that I see happening a lot both in, like, kids growing up right now, but also just in my friends in general that are not tech savvy like me, is that nobody's using a actual computer anymore.

Topic 6 00:15:39

Explanation of what recursion is

Wes Bos

And what does that mean for us, like, dinosaurs that are still sitting down and building the things that are on computers? Like, is that gap becoming larger now where someone can't learn to code just because they don't have, like, a a proper computer that they can sit down to? They should be able to just, like, code on an iPad. Right? So the solution is, yeah, like, you can't run Gulp or Webpack or whatever on an iPad, but you can run it on a server, which then is piped into your iPad, which is kinda cool. So I think that it would work pretty well. I've never done it myself. My only frustration with an iPad is the, like, multitasking. I know it's getting better, and and Apple's, like, kinda rolling out these things where it's like it's your only computer, but, like, I still get really frustrated trying to do stuff really quickly on an iPad Wes I think, like, oh, man. I could just fly if I was doing this on my computer, and, yeah, it's to a point where if I have to do anything half serious, even when I have to buy something online, I just put it down, and I go get my computer because I feel like I'm so much more productive on that. What do you think?

Scott Tolinski

This question is near and dear to my heart because I've been thinking about this a Scott, specifically because I was looking for some sort of backup solution. Right? For those of you who've been listening to this show for any bit of time, you know, apparently, my hardware breaks all the time, and it might just be because poor Scott. Yeah. I don't even Node. Like, the issues that I'm having to send my computer in right now for are issues that it came with. Like, the left speaker has been buzzing since I bought the computer, and it's had light leak on the monitor since I bought the computer. Day 1, turned on this $5,000 computer and had light leak on it. So I've been needing a backup machine for this, and I've decided that to really prevent this machine from breaking any further, I'm just basically going to leave it on my desk all the time and use it as a, you know, production machine only exclusively. Right? And so I wanted to get a backup somewhere I could code at coffee shops and things, and I started looking into what it would take for that to be an iPad Pro.

Scott Tolinski

Because I like the new keyboard, Courtney's has an iPad Pro, and it's really, really nice. I really like it. And I was just thinking, hey. Maybe that's a possibility to get an iPad Pro could take this with me. It could be like a travel or around the house Node machine. And then I began to look into it, and it just honestly, it seemed like too much work. It seemed like there was too many things that I would have to jump through, too many hoops to get it to be super effective.

Scott Tolinski

And I ended up getting a Linux laptop instead from system 76, which, apparently, this thing has a 21 hour battery life. So, I'm pretty psyched about that. But at the end of the day, I found this to be something that is not super great right now, but could be good. I think this code server thing is a good idea for a way to run a development environment. I think it's an interesting idea.

Scott Tolinski

I really don't know if I want to have all my stuff running on the cloud all the time.

Scott Tolinski

I would really prefer to have it all running locally, you know, if you're in an environment with bad Internet, like, you know, coffee shops, typically. My local coffee shop, terrible Internet, some of the worst ever. So I don't know if I would really love to rely on that unless I had, like, a 5 g connection everywhere or, like, a guaranteed Internet connection. I think those are my biggest concerns about that JS the fact that you're not able to code if you don't have a a connection to the Internet somewhere. So just things to consider here, I don't know if I would do it, but if you got cash to spend, maybe try it and see if it works. You know? Or or maybe if you have 1 sitting around like, I have an iPad sitting around, and maybe I could get this set up and working and have some sort of a cloud environment on it. Just get a little Bluetooth keyboard cord or something and see if that works before making an investment into something more substantial.

Wes Bos

Yeah. I bet that in the next 3 years that this will be much different. Totally. Yeah. Because, like, some you look at something like Node sandbox or code server, and it is doable via the browser. The cool thing about this code server is that you can own it. Like, you can actually host it Vercel, and that would be huge for companies because they don't seriously don't wanna put their code Bos through maybe Node sandbox Wes you have to store your code on somebody else's server. That's certainly a good option. I just don't know if it's totally there yet. I know. As much as I love Node sandbox too, I have run into issues where my tests were failing on code sandbox because of code sandbox and not because of my Wes, you know. And, like, how much do you wanna deal with that? Yeah. I we should, like, revisit this in in 1 year because I bet this will change, and I hope it changes because I want this coding to be available to anyone, and it would be really cool. I've gotten messages from people and asked if they can take my courses on an iPad, and you can, with something like CodePen or especially, like, even, like, my JavaScript thirty. You can do all of that in a CodePen. No problem. You got your live re refresher, but right below you, it's awesome.

Scott Tolinski

But as soon as you get into, like, more, like, serious work, I would think, it gets a little bit harder. It does. I'm a huge fan of CodeSandbox. I think it's fantastic. I use it all the time, but I don't know if I would love to work on it Wes at the moment, that is. But if you are working on a project Wes and you wanna make sure that there are no bugs in it, you're gonna wanna use a service like LogRocket, and LogRocket will blast you off into the galaxy or at least the, solar system local solar system. You know, further into the galaxy might be a little bit more difficult, but you'll want to head to log rocket.comforward/syntax.

Scott Tolinski

Check this out. You're gonna get 14 days for free. Now what is LogRocket? Well, LogRocket is the perfect way to visually see why your errors are happening. Did your user somehow spawn a Tyrannosaurus Rex just walking across your how did they do that? Well, you can find out how they did that without having to guess because you're gonna get a pixel replay video of what happened that's scrubbable. You're gonna get the network Wes. You're gonna get the error logs. You're gonna get your Redux store, and you're gonna be able to visually see what happens. So check it out at logrocket.comforward/zuntax.

Scott Tolinski

Alright. Next question from el locotoro boss. Hey. That's a good name you got there, el toro el locotoro boss. Hi, guys. A React workflow question. I often find myself refactoring sub components out of a component once it gets too big. This, however, is very tedious work, especially if the sub component is tightly coupled with the component and thus needs to take a lot of props. Do you have any suggestions? Do you just let the component grow? No. I do not. I am a big opponent of really taking things out when you start to feel that feeling. You're a component proponent? Yes. Yes. I'm a component proponent.

Scott Tolinski

You are absolutely correct. But I think this, listener, like, perfectly encapsulated that feeling that you get when you're coding and you're like, this thing is starting to feel like this should be its own thing. And the moment I get that feeling, make it its own thing because it's only gonna get harder. Do it. Do it. Do it. You know what? There's some Versus Node tools and extensions. I'm on my 13 inch, so I can't check out exactly what they are right now. I don't have them installed.

Scott Tolinski

Do you use any of these extra things, Wes, to refactor React components within Versus Code? I know there are some extensions that are built to do exactly this. I know some people have showed me something where you select your HTML, your JSX Yeah. And then you would essentially right click it and say, I know Versus Code has like a there's something in Versus Code where you can, you know, move it to its own file or something immediately. Oh, that's cool. Yeah.

Wes Bos

I only use 1 for generating prop types automatically. And even then, I don't I don't use that all that often.

Scott Tolinski

I know it's built into Versus Node to move to its own file. There's an extension called JS refactor.

Scott Tolinski

And if you have this installed, you can do extract to function extract to function, convert to whatever, but you can extract things to their own function. It's not perfect. Oh, cool. But I think there has to be a React version of something like this. I'm sorry. I don't have my my real setup here, so it's a little tricky for me to to explain this properly. But there has to be something that's Vercel select this and then turn into a JSX component or a functional component. If you have an extension like this that you use for refactoring, please let me know. But my suggestion for this El Loco Toro bus is to just do it. Do it early and just bite the bullet. Make it happen.

Wes Bos

Yeah.

Wes Bos

Early is the key there because you said it's very tedious work moving it out, and that's probably a sign that you did it too late because the whole idea behind these components is that it should be nice and snappy and and things like that. And if you find like, oh, there's so much to move over, that thing probably got too big in the 1st place.

Wes Bos

Taking lots and lots of props. So, like, if you find, like, I have to pass down 7 or 8 things to this component, if that's the case, you can spread an object full of props.

Wes Bos

So if you've got, like, an ID prop and a person prop and an age prop, and you've got, like, 6 or 7 different things, you can stick all those props into 1 object Wes each of the props is a property on that object and just spread the entire object, which it looks like. You open angle bracket.

Wes Bos

You type the name of your component, curly brackets, and then you do and the object that you'd like to spread ESLint, and that will take every property of that object and pass it in as its individual prop. Yeah.

Topic 7 00:26:00

Tips for refactoring React components

Wes Bos

Next question from Pat Clark.

Scott Tolinski

Insert hoser related greeting here. Fellow hoser among us. Must be a Canadian or at least from Michigan. Pat's a hockey fan. I don't wanna actually, don't wanna blow up Pat's spot. I know where Pat lives, but not like I don't know where his house is, but I know his his general wear of that. That's so creepy. Yeah. Sorry, Pat. I I don't actually know where you live. He's a a member of the, chat room, but he he's a hockey fan. He's got a hockey podcast. Pat's a cool guy. Is he a Canadian or American? That's a great question. I don't know his origins. I don't But you know where he lives? Yeah. But I don't know his origins. Okay? I don't know Wes Pat come from. I you know, he is a hockey fan. So, you know, maybe just Canadian by proxy. I don't know.

Wes Bos

Makes sense. Anyways, he's a fellow hoser.

Wes Bos

During quarantine, I've tried to come up with an outline for creating a goofy Pokemon app with my boys aged 85. They're obsessed with Pokemon right now. I figured this will be a fun little group activity.

Wes Bos

I see they are struggling with focusing on the online instruction.

Wes Bos

So that that's like a kind of a big thing right now JS this online teaching that everyone is doing. It's Oh, yeah. Starting to crack at the seams with all these kids that are couple months in, even even my own kids. I know. And they're a bit fatigued with learning right now. We've tried doing a bit of Scratch, Scratch junior, which is sort of a GUI based programming environment. But there I was, I figured a fun theme project will help them stay engaged learning, but I'm struggling of where to start. How would you go about creating course slash activities like Wes' JavaScript 30 course specifically designed for primary slash elementary age kids? I think this is such a cool question because it would be so neat to make some sort of course or something out there where you you actually are building something that helps these kids learn to code. So my answer to this is similar to my thoughts of teaching adults, and it sounds like you're on on the right track. You have to have small wins with these exercises, so don't go out to make this massive Pokemon application because that's way too large. It might not ever get finished. And if the kids don't see any successes really quickly, then they will get fatigued and be sick of it. And that's the reason why in my JavaScript 30 course, the very first exercise is a drum kit because you start the course, and within, like, 10 minutes or so, you've built this thing where you can hit the keys, and it starts playing a drum based on what key you hit. And people send me videos all the time of their kids just immediately come over and go, oh, what are you doing over there? Or I wanna build something like that. So these, like, small wins, small projects were things that are both, they're fun to do, but you're also learning it at the same time is key, and then also, like, open ended as well. If there's one thing I've learned with my kids, if you give them, like, something to start with so we have just big bin of wood at our house, and my kids always take the wood out and start playing with it. And, I gave my kid just a couple screws and a screwdriver, and surprisingly, they're able to crank them into the wood. Yeah. Nice. And you just leave them for however long they need. And if you leave it open ended or you give them something to start with, like a like a simple drum kit, then people's mind starts going and going, oh, I bet I could change this into x, y, or z. Like, people that send me screenshots of what they've built in my courses, it never looks like what I've built, and it never does what I've done. And it's because they did the thing. They say, cool, Wes. I did what you did, but here's what I'm really excited about, and I changed it to being a guitar or a piano or something else like that. So being able to give them enough that it'll spark some idea in their head, and they'll be able to take it and run with it from there. I think those are key. Yeah. I think those are totally key. And,

Topic 8 00:30:01

Advice for coding activities for kids

Scott Tolinski

one thing I I would wanna add on, because I thought you killed this question here, that you did a great job on this one, I know that there's the GraphQL Pokemon Pokedex thing. And now I don't know how much, Pat, you work with GraphQL, but it's really fun to quickly fire up that graphical and see that you can, like, search for anything. And maybe that might be, like, I mean, I really don't know the capacity here, but that might be, you know, at some place interesting to look specifically Pokemon related. There's an open GraphQL Pokedex API that people use for teaching GraphQL. So if you are interested in checking out that, that might be something to look at as well there. But But I don't have a ton of a good advice here. I think Wes killed this one. My, my kids are still too young to concentrate on any of this stuff, so it's hard for me to have any plan around here just yet.

Scott Tolinski

So next question is from Shan.

Scott Tolinski

How much should someone who wants to work as a web developer starting as a junior position should know about data structures and algorithms.

Scott Tolinski

Should I practice algorithms? So, basically, this question JS, this person is looking to become a junior web developer. Okay? Web developer. No no, mention of front end or back end, but how much should they worry about data structure and algorithms? Well, it really depends on what kind of work you want to do. If you're building front end interfaces, you're doing CSS and JavaScript building clicky things that make things happen when you click them, I would not focus a ton of time on this because that's gonna be wasted time. I don't use in my day to day. Absolutely not. However, if you are interested in becoming a better programmer overall, yeah, you should maybe learn this stuff. And maybe even learning it as a hobby is the way to go or maybe learning it a little bit less, like, rigorously, with a little bit less intention behind it. But as a front end developer, you probably won't use algorithms in the way that they're used in actually computer science.

Scott Tolinski

But it I don't know. It's probably good to have an awareness of them. Mhmm. But as a front end developer, I just don't use them, you know, very often in in, like, any sort of scientific sense.

Wes Bos

Yeah. I'm so glad you said that because, like, I probably like, a couple times a week, I get an email from someone saying, hey, Wes. Do you have a course on data structures and algorithms? And I'm like, not really. No. Like, actually, not at all. And, honestly, I've been a developer for, like, 12 years, and the only time I've had to learn those things is when I was trying to go in for interview at Google. And other than that, I never ever used those things. The joke I use JS, Node, just npm install it. But even then, like, I'm not doing tree sorts or Tolinski Wes or stack pops or any of this stuff in web development.

Wes Bos

And I don't think it's I I think that there people are asking this question because they see it in job postings because, like, oh, why else would they would they be asking? They're sort of just looking at job postings, and the job posting probably says knowledge of data structures and algorithms.

Wes Bos

And I think that maybe that's just taken from some, like, stock web developer job posting because, like, I don't know. I've been on the inside for a long time, and I've never come across the actual need to know these things. Certainly, you need to know how to maybe efficiently work with large sets of data and how to search through things quickly and how under the hood Mhmm. All of these things probably work. But quite honestly, if you're trying to build a web app or something like that, you don't need these things. Yeah. That's where I'm at. It depends on the your career

Scott Tolinski

trajectory and where you see yourself and if that career trajectory requires these things. Otherwise, I don't know. Yeah. Maybe it's not worth your time, and you're better off spending more time hacking together some front end stuff. It really depends on what your career trajectory is looking like.

Wes Bos

Next question we have here from Zach, killer podcast guys. I'm working with a friend to set up a YouTube channel and are getting into podcast too, Scott related. So no competition.

Wes Bos

No worries. Good. Scott and I actually take anybody out if they try to start a tech podcast. Yeah. Well, we don't talk about that, Wes. We don't talk about that. Okay? Oh, sorry. Yeah. That's for after the show. That's the after show.

Wes Bos

Yeah. Who is if anyone's trying to start anything like that, we, we've got our our our ways. Don't worry about that. Don't worry about that. Anyways, I'm thinking about trying to host my own RSS feed for podcasts to save some big bucks. Am I crazy? Thanks.

Wes Bos

This is a great question. I think so. Yes.

Topic 9 00:34:35

Challenges of hosting your own podcast RSS feed

Scott Tolinski

Especially after being involved in this. Yeah.

Wes Bos

Yeah. Like, the RSS feed is so key to your podcast going out, and I've seen lots of people who host their own. And little stuff, your server goes down or something breaks, and then the whole thing is broken. What you should do is when you start your and we did this for syntax, thankfully.

Wes Bos

When you start your podcast, make sure the RSS feed that you submit is on your own domain. So even though we use a service to host our podcast, the RSS feed is on feed.syntax.com.

Wes Bos

And that way, we own the domain Node. And if we ever wanna switch to another service or host it ourselves, we absolutely can.

Wes Bos

I think this is, like, akin to you know, people who use their email addresses at their ISP provider. Yes. You know, like, you talk to somebody that's super old, and they're like, hi. Please email me at, like, around here, it's like Hotmail. Bellnet.net. No. No. Not Hotmail. It's like Oh, Comcast.

Wes Bos

Yeah. It's like Comcast or Spectrum.

Wes Bos

When you sign up, you get an email address, and they use that. Like, you're screwed then. Like, if you ever stop paying that ISP for Internet, then your email address is gone too. That doesn't make a whole lot of sense. Crazy. Yeah. So that's my suggestion there.

Wes Bos

If you do wanna host to yourself, maybe look for, like, a WordPress plug in. I think people use, like, Blueberry or Blackberry, something like that. But, honestly, it's not that expensive.

Wes Bos

And there's there's all kinds of podcast startups out there right now. I'm sure a lot of them have free plans, which would be more than enough for a a podcast starting up.

Scott Tolinski

Yeah. I agree 100% with your answer here. I would not do that. I always say do it yourself on everything except for things like this. Yeah. There are definitely some things where you don't wanna DIY it. Alright. Next question is from Luke. Luke says, do you guys name your colors in terms of the color or the use of the color? For example, you say you styled all your links to be purple. Would you name that color purple or link? Here's what I do. I name 1 color purple, which is the purple, and then I name link after the purple color. Especially, I use CSS custom properties, but I would do this with Sass too, where people like, there was, like, a time where people are like, do not name your colors. Use the the the action of the color. What's the color doing? Is it the primary? Whatever. Like, there Vercel such strong feelings about that. But in my mind, it makes more sense to name your colors. Like, this is the site's purple. This is the site's black. This is the site's yellow. This is the site's blue, whatever.

Scott Tolinski

And then after that, take those colors and then reuse them to say this is the accent color. This is the card background. This is the header color. This is the text color. And then you can have that system, and you have the best of both worlds. There's no reason not to do that. I do that my myself personally, and it actually works really well with our Sanity theming system within CSS custom properties. Because when I wanted to make our wave ray 64 theme, I did not change the card background color, but I changed the blue color, or I changed the the purple color to be something else. Right? I changed the actual purple or whatever to whatever the purple that was on the cover of Wave Race 64.

Scott Tolinski

So that is my suggestion there. Best of both worlds.

Wes Bos

Yeah. I agree with Scott. I do exactly the same thing. I I usually just start with color names and then things that are common enough, like link. Like, I'm not going to do, like, border color if I'm only using it once. But if I use that, like a link 6 or 7 different places, then I'll I'll make its own variable. And, yes, CSS custom properties make this stuff so simple.

Wes Bos

Also, I have a tip for making things simple Scott of along the same thing. People ask me why I do this all the time, but I always set gray on my root, and then I set gray with an a to be the other gray. Oh my gosh. Node

Scott Tolinski

Canada smells it one way, and I don't know which way it is. I always forget. I don't know either. In my latest course, I I wrote g r e y, and then I I had to, like, call out the fact. I'm like, listen. I don't know which is the correct Node, so you can name it with an a or an e. It's it's 100% up to you. You Node? It's so funny. I have no idea. A is popular in the US. I just looked it up. Okay. E, g r e y, is reigned supreme in the UK, Ireland, Australia,

Wes Bos

and other places that use British English, which includes Canada.

Scott Tolinski

Fun.

Scott Tolinski

The states goose everything up inches. I'm sorry. Yeah. I am gonna apologize on behalf of the founding fathers for not using Metrc.

Wes Bos

Metrc Gray.

Wes Bos

Alright. Let's talk about one of our sponsors, and that is Prismic.

Wes Bos

Prismic is a headless CMS with a GraphQL and a REST API in it. I actually went ahead and built a little app in it the other day just to to try it out and to to get a feel for it, and it's really neat. There's a couple of things that I really like about it that I'm gonna point out is, first, there's no code needed to get this API up and running. So you literally sign in.

Topic 10 00:39:23

Overview of headless CMS Prismic

Wes Bos

You use the entire interface for creating all of your content types. You can create repeaters, which in turn will have subcontent types inside of it. So, like, if you have, like, a store content type, and then inside that store, you might have, like, images. That would be a repeater because you wanna have an image and maybe some text that goes along with each of those, and you can relate things to each other, which is pretty nifty. They've got, like, I don't know, 15 different types of input fields that have different UI, and then you just hook that thing up to whatever front end you're using. They've got a really nice Gatsby plug in that you could just pop in. It grabs all your content on. You can make pages. You can query the stuff as you need, which is pretty nifty. And the other thing I wanted to talk about is that they have Imgix, I m g I x, built right into their images. So if you wanna do things we've talked about Cloudinary a Scott, very similar to that. If you want to crop something or resize something or change the format, something like that, that comes with all of your Prismic image uploads, which is pretty nifty. So check it out. Prismic.ioforward/syntax.

Wes Bos

Thanks so much to Prismic for sponsoring.

Scott Tolinski

Nifty.

Scott Tolinski

Super nifty.

Scott Tolinski

Very nifty. Super duper nifty.

Scott Tolinski

Next question is from Deno Henson here. Hey, guys. I'm listening to you for about a month, and I really dig it. I'm working on an app that will require a couple of different databases. I need a database for user information and a larger database for application data.

Topic 11 00:41:15

Choosing database hosting providers

Scott Tolinski

The app does some analytic stuff, so data is critical. I'm getting lost in the world of hosted database options, Mlab, DigitalOcean, etcetera, big cloud providers, AWS, Google, etcetera.

Scott Tolinski

Could you guys talk a little bit about how you choose database hosting? Bonus Wes, have you ever used Auth0 Scott for user authentication? Have you used Auth0? It's nice. I have not used Okata. I have not heard of Okata. Sounds like a cool name. Cool name. Yeah. Cool name. Yeah. This is a difficult question because I'm not a database pro, and I don't wanna give bad advice here for working with the database. If you are concerned about data critical uptime, I think AWS in their, likewise, their services, you know, the AWS services, the ATM machines, they are probably one of the better routes you can go considering who's hosting on there and what they're hosting on and how many people are using it, how much content tutorials are on there. I'm curious about, like, the authentication and the data stuff. I keep all of that in the same database myself. I don't know it. I I'm sure you do too, Wes, but I don't know of what your thoughts on Yeah. That there. I don't necessarily want to give you bad advice, Gene. So I would probably, if I were you, go to AWS. But that's not, like, maybe the most

Wes Bos

informed opinion, I think. Yeah. So the difference between these things JS, like, Mlab.

Wes Bos

What's the other one? Atlas.

Wes Bos

Yeah. MongoDB Atlas, DigitalOcean, all of these things. DigitalOcean probably doesn't fit into this thing, but the way that it works is that they are services that provide you generally a layer of accessibility and ease and and migration and backups, and they they provide a whole bunch of, like, handy things on top of it. And sometimes Wes you use these services, they literally ask you, where do you wanna host the database? Right. So I think my database is actually hosted on Amazon. Mine is as well. Yeah. But I don't care about that because I'm just using Mlab or Atlas.

Wes Bos

So there's, do you want service plus actual raw infrastructure, or are you smart enough to just do it yourself and then go ahead and host it? It's the same thing with with hosting a website. Like, do you wanna go with Netlify or Zites or what they're called? Vercel Vertu?

Scott Tolinski

Vercel.

Wes Bos

Vertu's Node, Vercel, or do you wanna go with one of these things where they're certainly more expensive, but they're way easier? Or are you just gonna go host the thing yourself and scale the servers yourself and be able to do all of those things yourself? So in my case, I would say just go with Mlab or or MongoDB Atlas or whatever. Go with, like, a a setup for you solution until it starts getting too expensive that you're scaling so huge that it's costing literally 100, maybe 1,000 of dollars a month to host this database. And then when that's the case, then you say, okay. What's it gonna take for us to move this over to another provider that's more raw infrastructure, AWS, Google, things like that. And if that's the case, that's kind of where I would go unless you love doing this stuff yourself.

Wes Bos

Agreed. Have I ever used auth o or Scott? I've used I always say auth o. It's auth 0. I see. Yeah. I see auth 0. Yeah.

Wes Bos

I say everything wrong. So just whatever I say, it's probably wrong. Yeah. I've used auth 0 a couple times. It's pretty cool. But in in all of my courses, I have just coded the auth ourselves, except for the Firebase auth Node that we did in React for beginners just because, like, I still found it a little bit confusing, especially the new rules around cross domain cookies is really annoying.

Topic 12 00:44:31

Experience with Auth0 service

Wes Bos

And then the whole sign up flow where it kicks you off the website and you gotta come back is kind of frustrating Wes if you could just leave the user on the same page, I find that a little bit nicer.

Scott Tolinski

Word.

Wes Bos

Next question we have here is from Beatrix, Gloria d.

Wes Bos

Hi. I'm confused about using GitHub. What happens to the files that are ignored? So in your in your Git repo, you can have a git ignore file, and that will allow you to list folders and files that you do not wish to be part of your Git repo.

Wes Bos

So what happens is the files that are ignored but are required for development.

Wes Bos

What's the best practice to back up both? I've used .env files, but not sure how it works if it's in a .gitignore and the site is deployed via GitHub or Netlify.

Wes Bos

Right now, I have a backup folder on my hard drive, and I back up both the dev and the live versions with a time stamp. And whenever I do a new release And then there's another question here. I'll I'll leave that for just a second.

Topic 13 00:45:54

Best practices for backing up gitignored files

Wes Bos

This is a good question because there are certain files that you should not commit to your Git repo.

Wes Bos

Most likely, they're going to be dotenv files, and dotenv is just a way to put secret information, things like API tokens and passwords and login usernames, things that shouldn't be part of your Git repo, but they do have to be on the server. So the process for that is, generally, you have to log in to your production server or log in to like, I know Netlify has a has a UI where you can input these environmental variables just into the UI. They give you text boxes for that. So that's the process. But backing them up, that's a good question as well. I don't think that I backed them up except for the fact that I use, like, a time machine to back up my entire computer, and and they'll be on there. So I don't have anything else past that because I know that these things, if I really did totally absolutely lose them, which has never happened to me, you can just log in and reset your API tokens and just get new ones. Yeah. I'm I'm with you. I it sounds like,

Scott Tolinski

Beatrix has it figured out in terms of, like, back you know, having a backup folder with Vercel and a time stamp, that's way more than I do. And that's probably Yeah. A better solution than what I would suggest anyway. So I think you Scott it figured out, Beatrix. So thanks for teaching us. Yeah. Right. Exactly.

Scott Tolinski

I'm about to go make a time stamp thing.

Wes Bos

That's good. We had one more little addition to this thing. You spoke about Jet I'll look into that, but I'd be curious about what is the best and how to do this with a Cron job, for example. What is Jetpack? I don't know. Not the WordPress

Scott Tolinski

plug in. Yeah. I've heard Jetpack used in different contexts, including WordPress.

Wes Bos

Oh, I think I know what they're talking about. So I use Jetpack to, like, back up my wife's WordPress website. Oh, gotcha. And that's great because you can always you can log in to Jetpack and roll back an entire version of your website, which is really cool. Like, it takes, like, 10 backups a day.

Wes Bos

So I don't think that WordPress is a little bit different because almost always, a WordPress plug in will store your tokens and keys in the MySQL database instead of an environmental variable.

Wes Bos

So if it's an environmental variable, Jetpack won't grab that either. How would you do it for a cron job? You could. This is actually maybe not a bad idea JS you can code up a little JavaScript file or a bash file or something that simply copies those files and time stamps them and then dumps them into the folder that you're talking about and then set that up to be a git pre commit hook. Uh-huh. And a git pre commit hook will just run whenever you make a commit or Wes or a a pre push hook. And before you push, it will take a copy and put them in your folder like that, and that will be automatic.

Scott Tolinski

I like that. That's a good idea. Beatrix, you got the ideas. Love it.

Scott Tolinski

Yeah. These are all great ideas. I'm gonna try to implement something like this. Alright. Next question is from Sam, and Sam gives us a little pronunciation guide. He says it rhymes with ham. So thank you, Sam. I would not have figured that out if it wasn't for you.

Topic 14 00:48:58

Naming colors versus color usage in CSS

Wes Bos

Actually, in Canada, in the West Coast or in the Mid Coast, I guess, when in Saskatchewan, they say in Alberta, they say, Psalm, and they say, Hom. Oh, Som. And if you have Node Jam on your bagel so

Scott Tolinski

Yeah. I don't Node, Som. Som. Hey, Som. I was laid off early in April because of COVID. I'm sorry to hear that, and I'm sorry that we just made fun of your name after, reading this.

Scott Tolinski

Have been trying to file for unemployment since then. The state unemployment office said that they were launching an update website for filing claims on a a specific date. They ran a banner saying that demand has been so high, it's affecting the process despite rigorous testing.

Scott Tolinski

Why is it so hard to scale? The answer to this question is because people don't really care about scaling until they need to JS JS the the real answer to this. And it's not because that's the right thing. It's because that's the real thing. Right? Everybody has deadlines and whatever. And if you tell your boss, hey. I need months to work on this to make sure that it works when 10,000 people are are doing this at the same time or whatever, they're probably not going to grant you that time if the project doesn't allow it. That's really just the cold, hard reality of it. And me, personally, if all of a sudden, LevelUp tutorials became an international phenomenon, I think I would be screwed because I don't think it will. But it is not something that I'm preparing for, and I probably should. Now there are different ways to scale and different ways to test this.

Scott Tolinski

So what you are looking for, and one of these things is JS stress testing. And stress testing is difficult to do. It's not exactly easily accomplished, but you need to be able to figure out a way to essentially hit your website, your server, your database, any of these vectors that exist. Right? You need to hit them repeatedly and often.

Scott Tolinski

And I, you know, I I think we we've both learned a little bit about some of the stress testing that can happen in terms of, like, security wise, in terms of things like Yeah. Captchos and whatever. And, you know, Cloudflare has some really great DDoS protection for for those types of things, but this isn't even like this isn't a DDoS.

Scott Tolinski

It's, like, sort of an unintentional DDoS.

Scott Tolinski

Yeah. It's just lots of people using it. Right. Their system wasn't built to accommodate that. I think that a lot of it really comes down to a lack of planning on the the development side of things. And then people didn't plan for this particular situation, right, which, obviously, I think this global pandemic is going to change people's viewpoints on a lot of things and how they plan for various things.

Scott Tolinski

I think just the fact that the entire world can shut down for, you know, certain amounts of time should make people open their eyes a little bit to some things that they need to take better stock of.

Topic 15 00:51:34

Challenges of scaling systems for high demand

Wes Bos

Yeah. Like, even in Canada, we have this, like, weird store called Canadian Tire. I know Canadian Tire. Yeah. Yeah. They were down for like, their website literally said, please come after 5 PM when it's less busy. And I'm just sitting there being like Is this a website? First of all, it sucks to be, yeah, it sucks to be the the developers behind that trying to fix that because they're getting Sanity slammed right Node, but, also, like, I'm just thinking the same thing. Like, what's the problem here? And, like, I kinda know what the problem is is that, like, these are websites that have been built on for 10, maybe even longer.

Wes Bos

Like, I know the unemployment in New Jersey was built on COBOL, and these are not websites that you can just quickly spin up another box, and everything will work just well because they're much more brittle than that. So there there's 2 ways you can sort of scale up a website. The first one is you can increase the resources on your server, so more RAM, more CPU space, more hard drive space, and there's a limit to how much RAM you can stick in a server until you get diminishing returns or just you literally can't put any more sticks of RAM in it.

Wes Bos

And the other way to scale up is to load balance that, meaning that you have multiple servers, and every single request that comes in gets a load balancer takes in that request and decides which line in the grocery store that that request gets to go to. And in order to load balance an application, there's things that need to be shared amongst all of the applications. Like, I can load balance my application.

Wes Bos

No problem because let me tell you the things that Node to to happen. Your application needs to share data from server to server. So, generally, you need things.

Wes Bos

You need your database to talk to, obviously, both of those. Your database has to be connected to both servers. And if there's data that, like, needs to go from 1 server to another, then that has to be saved in the database. And a lot of applications will store things like login sessions, temporary variables, file uploads. Things like that will often be stored in memory, and things that are stored in memory don't get shared from server to server. So that needs to be thrown into a database. Something like Redis is really popular in that regard.

Wes Bos

So if you build it's very popular in the last couple Yarn to build stateless applications.

Wes Bos

That's why serverless functions are really popular because the serverless function spins up, it does its work, and then it closes down. And there's no, like, there's no state that is maintained in that serverless function. And if you build your application that way, it is much easier to scale it up. But still, it's not an easy thing to do, especially if you need to, like, take something down in order to test this. You can't do that as well. You have to put it on a separate domain name, something like that. And then there's the other side of it, which is your database needs to be able to Scott. And that's an entire area I have no clue about, but I know there's scary things like sharding, where you can distribute your database amongst multiple databases, multiple servers, things like that. That's that's a very complicated thing to do as well. And for me and you, it's probably easy just to go reach for a service that can scale itself up. But a lot of these companies, especially the government, they host it all in house, and it's not as easy as just going getting another AWS server. It means, like, a 1 year procurement process of

Scott Tolinski

actual rack mounted server hardware hardware. Right. Exactly. Right. I Node. For us, it's just click that up arrow and, call it a day at some point until but, again, we're not getting slammed the way these unemployment offices are getting slammed right now. It's really, really difficult problem to solve, I think. But, yeah, I don't know. I don't have a ton of great advice other than what we just said. You know, again, again, it's it's all about proper preparation for situations like this. And I think a lot of times, these companies just don't have the resources to do it, don't have the time to do it, and maybe don't have the manpower to do it. And it just doesn't get done. And, global pandemic hits, and all of a sudden, everybody is sharting rather than sharting.

Scott Tolinski

Yeah. That was a good one. That was off the dome here, Wes. That was not a plain joke. Wow. Yeah. So, next question last question, I should say, is from Eric Zorn.

Scott Tolinski

That's a pretty dope last name, Erik Zorn. You sound like a James Bond villain. I think that's a Dutch name, actually. Oh, yeah. Dutch. Hey, guys. What's your take on these Rails like server side rendered React and GraphQL frameworks? Here's another one built by Michael Jackson and Ryan Florence and some others called Remix.

Scott Tolinski

He has a link to Remix. We've talked a little bit about Remix, maybe not on the show, but, Wes and I have chatted about it. They're gonna come on the podcast. They are going to come on the podcast. We don't know when, but they have confirmed they are gonna come on the podcast and talk to us about Remix. Sounds pretty cool. I'm pumped about that. I'm very pumped about that. I've never met Ryan or Michael in person, so it'd be nice to e meet them. So this, of course, is in addition to Redwood and Blitz, which are 2 frameworks that we've talked a little bit about on here. Thanks for the great content as always. So what's our take on these sort of frameworks? We have been largely saying that these are the the frameworks of the future. Right? This is the stuff that does the stuff that you don't want it to do. And for those of you who don't know, I'm gonna lump Meteor into this too. People have been saying that, you know, this needs to exist, and meteor does a lot of this stuff that a lot of these frameworks are trying to do. And I actually, just found out that Blitz is basically just a wrapper on top of Next. Js. Did you know that? No. I didn't. Yeah. I was looking at it. I don't know what it's doing specifically, but it is basically a wrapper on top of Next. JS, where Redwood, I don't think is. I think it's its own thing.

Topic 16 00:56:20

New React server-side rendering frameworks

Scott Tolinski

I think Remix sounds fantastic. I don't know a ton about it. It's interesting that they're not going the free model that every other framework JS. So I don't know. The last time I paid for a product like that would have been a CMS, and that would have been expression engine.

Scott Tolinski

And that's fine, but we didn't reach for expression engine on every project because we felt like Drupal could do the same things and for free. And if you're good enough at Drupal, you could deal with some of Drupal's Drupal y things. So what do I think about them? I think Remix sounds cool. I can't wait to learn more about it. I'd be interested to see what the pricing ends up being, pricing model, of course. Yeah. And, we're still early days in all of these, and I'm excited to to look at all of these more. And I encourage you to look at Meteor a little bit more. I'm actually doing some free videos right now on Meteor and Svelte, and it's really sick. It's really sick. It's really, really seamless. You get small sites. You get real time. You get all this stuff for free. It's pretty cool. I'm the same as Scott. Optimistic

Wes Bos

waiting for these. Very curious to talk to if you don't know, Michael Jackson and Ryan Florence are the devs behind React Router 1 through 114. Yep.

Wes Bos

Just joking. Everyone always gives them a hard time for releasing new React router. Yeah. For making it better. Yes.

Wes Bos

And, so they are tackling this, which I think that they have some really cool ideas. Plus, I'm very curious to hear about their pricing model because, I don't know, open source is not super sustainable for a lot of people. And if anybody knows it, like, I think Ryan tweeted the other day, this COVID nineteen has just decimated his training business,

Scott Tolinski

and he's sitting there looking at millions of people using React Road. Right. Right. His business is suffering. It's like that's a very weird spot to be in. Internet props points, those GitHub stars. Where can I cash those GitHub stars in, for some Yeah? Dollars for my GitHub bugs?

Wes Bos

Oh, so, yeah, I'm very, very curious watching all of these things sort of work on, and I would lump Next. Js in this too. They're certainly looking at we need to do another update show on Next. Js because a lot has has happened in the last 6 months or so. Big changes to all around. Big changes to Gatsby next.

Wes Bos

Changes.

Scott Tolinski

Oh, yeah. I would have gone with Tupac, but, yeah, you could do that one too. Those Bowie? Yes. Yeah. We could do a Bowie, Tupac mashup. That changes

Wes Bos

makes me so reminiscent because when I was, I don't know, 9 years old, we had Encarta on Windows 90 5. Encarta. And there was a little changes

Scott Tolinski

video clip on Encarta, and it just blew my mind. Do you know what the best part about Encarta was? It was that video game that, like, the dungeon crawling game where you had to, like, look up facts to answer questions. That was the best part about Encarta. I love that. Yes. I played that I forgot about that. Crazy when I was a kid. I wonder if you can play Encarta online, you think? Play Encarta.

Scott Tolinski

Play the encyclopedia.

Wes Bos

Yeah. Or, like, use it. I remember, like, thinking, how is it possible that they have everything in the world on this 1 CD? In this 1 epic. Like, I wonder now, like, how many things were on Encarta.

Scott Tolinski

Yeah. Right? What was the, Wikipedia verse Encarta here? Yeah.

Wes Bos

Probably similar.

Wes Bos

Oh, you can winworldpc.com.

Wes Bos

It's an online museum dedicated.

Wes Bos

Oh, you can download Encarta image. I wonder if I can get this running.

Wes Bos

Node fun would that be? Sick picks today.

Wes Bos

I'm gonna sick pick, a notebook laptop stand. So in my new, shed office that I'm in here right now, the desk that I'm on is a big maple thick slab, and it's not it's too thick that I can't put any arms on it. No monitor arms. All these things won't clamp to it because it's too thick. So I ended up, like, wall mounting all of my stuff.

Wes Bos

And instead of getting a a laptop stand like the Roost stand or the the Pnpm m drop stand, I got a, just a regular monitor arm, and then Amazon sells this notebook tray that clamps or you can screw it on to any vesa mount arm. So any I had, like, an arm that I got at a garage sale, and I just took that and, screwed this laptop tray to it. And it's awesome because I can keep everything off my desk away from coffee spills and whatnot, but it still is at a level that's much higher. And and my stand at home is kind of annoying because sometimes my mouse hits the bottom of it, or I can't put stuff underneath it really.

Scott Tolinski

So if you've got an old monitor arm kicking around, can be desk mount or can be wall mount, then you can just buy one of these and attach it to it. It comes with, like, rubber holders and everything. It's pretty neat. That is neat. I never heard of that. My sick pick is going to be something that I've been using quite a bit because it's it's springtime here in Denver, and we got the sun. We got my grass popping. I got some fertilizer down. We got that green, green grass. You know? Your grass is looking great, brother. Hey. Thank you, man. I've yeah. I you know, I grew it out a little bit and trimmed it down. I'm taking I'm taking care with my lawn right now, but I'm doing that via these all battery powered tools. So I have the I I went all in on this system because I I got the weed whacker and edger of Ego. I think they sell them at Home Depot. They're based out of Michigan, but I think they're built in or they're a Chinese company, but they're built in Michigan. It's weird.

Scott Tolinski

But they're all battery powered, and they're extremely powerful, high quality batteries last forever.

Scott Tolinski

And, the the best Yarn equipment I have ever bought. And I was using, like, a 19 eighties Honda lawnmower that died, and, it was, you know, fantastic, but the thing's puffing out gas. It smells terrible. And, like, I'm mowing the lawn in, like, near silence with essentially, like, it's, like, quieter than our vacuum cleaner, and you can smell the fresh cut grass. You Node, the smell of the grass is wafting into your nose rather than gasoline and whatever. And I, you know, I wear headphones, and I can actually hear my podcast while I mow the lawn. So I got the lawnmower, the leaf blower, and the edger of EGO, EGO, and they're all amazing. And they can all swap batteries. Awesome. And the leaf blower is so powerful. It's unbelievable. It's the best thing I've ever bought for yard work. So huge fan of this stuff. I've been using it on the daily.

Scott Tolinski

Big fan.

Wes Bos

Beautiful. I'm going to shamelessly plug all of my courses, westbos.comforward/courses.

Wes Bos

You can check him on out if you wanna learn JavaScript, CSS, anything like that. Use the code syntax for $10

Scott Tolinski

off. Cool. I'm gonna shamelessly plug level up tutorials.com.

Scott Tolinski

This month's series is going to be on Sapper.

Scott Tolinski

Sapper, for those of you who don't know, is the sort of Next. Js equivalent for Svelte, and it's what my site's built on right now. My site is tiny, and it's fast because of Zapper. And, Svelte has all these built in goodies like animations and stuff. So we're gonna teach you how to build an animated fully server side rendered, super duper duper fast site and also statically generated if you want. And, again, it does it all with Zapper on level up tutorials at Scott. You're gonna be blown away by how clean and small your code is.

Wes Bos

Awesome. Thank you so much for tuning in, and we will catch you on Monday.

Wes Bos

Peace.

Wes Bos

Peace.

Scott Tolinski

Head on over to syntax.fm for a full archive of all of our shows. And don't forget to subscribe in your podcast player or drop a review if you like this

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window