398

October 20th, 2021 × #Teaching#GraphQL#Security#Performance

Potluck — Coding for Kids × MongoDB Hosting × NoMoreFoo × Best Cities for Dev Jobs × GraphQL Resolvers × Package Security × Prototypes and Portfolios × More!

Scott and Wes answer questions on policies, teaching, hubs, GraphQL, code, CSS, MongoDB, services, security, upgrades, sites, values, backup and images in a fun potluck show.

or
Topic 0 00:00

Transcript

Announcer

You're listening to Syntax, the podcast with the tastiest web development treats out there. Strap yourself in and get ready. Here is Scott Talinski and Wes Boss. Welcome to Syntax, the podcast with the tastiest potluck today. We've got rid. Another potluck episode for you. We're gonna be answering your questions about all kinds of interesting stuff. We are sponsored by 3 awesome companies today. First 1 is Prismic, the headless rid CMS with the mostest, and the second one is Sentry error exception and performance tracking with the mostest.

Announcer

And the third one is Cloudinary image hosting and transformation with the mostest. We'll talk about all of them partway through the episode. How are you doing today, Scott? Rid. It's funny. You missed the opportunity in the last one because all of the none of them would have rhymed with mostess, but you could have said, like, something hosting with the mosted or something. Yeah. The hostess This what the most is oh, shoot. That's kinda your department, so I'm gonna leave that up to you next time. You're right. It is kind of my department.

Scott Tolinski

No complaints over here. Got a chainsaw to do some we got a lot of trees at our new house. And, like Oh, yeah. I'm gonna have to be Buzzing down some branches because it's like the last people who owned the house, they did a lot they probably just paid somebody to do the landscaping and then didn't touch it. So It's all very nice but very overgrown. So I'm just like, I've got the chains out, I've got the trimmers, I'm buzzing around, I'm just trimming back, and it feels so good. So it's, like, it's eliminating dead code. That's what it feels like. It it feels just like that same thing. Cut off some tree branches and just look at it and be, like, yeah. That looks good. That's the stuff. Yeah. I know that. I did that this summer at our cottage. I went around with the chainsaw and zip, zip, zip. I I ended up getting chaps

Announcer

because I was so scared of cutting my leg off. But rid Yeah. Just like trimming zip zip zip here, there, here, there, and, like, I ended up taking 5 trailer loads To the dump where you they have, like, a brush pile that they burn every year Mhmm. Or they or turns into dirt. I'm not sure what they do with it. Turns into compost. Yeah. Yeah. Yeah. And it's amazing, like, how good it feels once it's all nice and and clean, but you have to be pretty aggressive with it. Otherwise, it just starts to become overgrown and look sloppy. Oh, Oh, yeah. When I was growing up, my dad would always, like,

Scott Tolinski

really trim stuff down, and I'd be like, oh, man. You're cutting off so much. I'm rid Scared for how much you're cutting off. You just be like, no. This is this is how you do it. This is how you do it. So it's so funny. Every single time I just have my dad's in my head like, you're gonna wanna cut this branch off Yeah. This one as well.

Topic 1 02:33

Scott and Wes discuss cutting trees and clearing branches

Announcer

We do it with, all of our rid. Are, like, shrubs and stuff like that as well. It's like, if you cut off the top, it spreads 2 more out, and you can, like, really control how, like, bushy and Oh, yeah. And, like, wide it grows, which is kinda interesting. Otherwise, the especially with I I've been doing a lot with hydrangeas lately, and they get really lanky if you don't trim them appropriately.

Scott Tolinski

Yeah.

Scott Tolinski

Yeah. We're currently living in the Hydrangea forest, and I'm not mad at it. Tons. Yeah.

Announcer

Okay. Awesome. Alright. That's enough of, what This is Sunday,

Scott Tolinski

radio talk with Scott and Wes. Let's get into actually talking about I'm sorry. Really quick before we talk about actual web. I was on a sprinkler video on YouTube 2 days ago or something, I was sitting there watching the sprinkler video, and I was thinking, oh, no. It was like a well. I think it was like a well. Yeah. The guy had made, like, a well. Put in a Sandpoint well Or he just Hammer them into it. And nailed it into the ground.

Scott Tolinski

And either way, I was like, okay, this is interesting. Let's see what the comments have to say. The comments on these things are usually where you get a lot of the good in like, you goofed up for these reasons. And, sure enough, there is a comment with, like, 7 or 8 thumbs ups, and it's it's who is it? It's Wes Bos. And I was like, how I found this video randomly. I was, like, searching, and I found this channel, And then I watched just a bunch of random videos. And imagine you know, there's millions of videos millions. Yeah. There's a billions of rid on YouTube, and I just randomly stumbled upon one that Wes had left a a poignant comment on.

Topic 2 03:27

Scott finds a video with Wes's insightful sprinkler comment

Announcer

It was rid. About, like, gallons per minute and pressure, and I had just spent the entire summer doing all of that. So I was like, oh, I could leave some a little bit of value here. And always like when, like, people leave good comments, and I I think because I have I have, like, a substantial YouTube channel. I think that rid. YouTube weighs those comments pretty high. Because anytime I do put a comment down, it often, like, gets pretty popular at the top of videos.

Scott Tolinski

It's just because your comments are good. I was Maybe. If I wouldn't have seen that West Boss avatar, I would have said this is a good comment. Did she thumbs it up, though? I of What do you mean? Of here here I went to my level up account and thumbsed it up from that one as well. I gave you 2.

Scott Tolinski

I didn't, but I even thought about it. I did at least 1. So let's get into the potluck. 1st question here is from Ben Lammers. Ben says, hey, yo, Scott and Wes. Rid I am building a web app currently with my brother, and I was wondering, when we get to launch it, how do you go about correctly writing and adding terms of use Privacy policy.

Scott Tolinski

I'm assuming this may be quite different depending on the platform, so maybe a general resource on this or tips. Thanks.

Topic 3 05:04

Get lawyer for terms of use and privacy policy for serious projects

Scott Tolinski

My advice is if this is a substantial project, get a lawyer to do it, cost you a couple $100 or something rid of their time, and, usually, they'll ask you a bunch of questions saying, what does this site do? What does it not do? What do you keep? What do you not keep? And then they'll write it up. We had all of our terms of use and privacy policies drafted for our site and for our service via a lawyer. Although, you know, I think what's the 1 online service that does lawyer stuff? I've heard good things about that. You could probably get one. What is it called, Wes? Do you know what I'm talking about? Where you get, like, blank templates and you just fill them out yourself or, like, No. Where you, like, basically, hire Legal help to, like, incorporate or something. It's always oh, I know it should,

Announcer

I never pay attention to those because it's always for the US.

Announcer

It's no help to me as a Canadian. Let me Google it. Sorry.

Scott Tolinski

They sponsor all the podcasts. LegalZoom. LegalZoom. Yeah. Yeah. I have a buddy that uses legal Zoom for all kinds of stuff. I don't know if you could you can get it done there, but it might be a good place to check as, like, a service. We have a local small business lawyer here that we just rid Email. It's actually a friend of a friend that I can just email. So I would recommend this if it's a serious project, you don't wanna at least that stuff to be serious. So, rid. Yeah. You can also go and just grab, like, a, like, a base terms and conditions, and then make sure that it's always in there that you can update them at any time because

Announcer

rid That's you get those emails all the time. We've updated our terms and conditions.

Announcer

And, that just allows you to, like as you change your business rid. And and whatever it is you're doing, you can always kinda adjust those appropriately.

Announcer

Yeah. Next question is from Fumbles O'Brien. Do you have any recommendations for teaching rid how to code. I have a 5 year old niece in kindergarten who's absolutely fascinated watching me work, and I'd love to start teaching her basic concepts so she's able to read, write better. For example, she loves watching me make UI changes to Reactables in her mind that changing letters on the screen will change what it looks like. This is a good question. I get this a lot from people. They're like, what are your resources rid for teaching kids. I think 5 years is probably a little bit young for this type of thing, but I'll tell you what I've done in the past is we've been part of some, like, rid STEM, science, technology, engineering, math. And we have this little mouse where you can, like, lay out a grid of arrows, And it's like like forward, forward, left, up, right. Alright. And then it gets the cheese. And then you have to, like, press the combination into the mouse, and then it goes and, like, goes off and and does its thing. So those are really helpful. There's a whole bunch of, like, toys you can get that have an iPad rid with it as well where they I think they all are using the, like what is it? Scratch, the editor, where you can click and drag Yeah. We have one of those. You just times, Turn left, turn right. Those are really helpful, I think, to just get the kid understanding with how the code works. And then I think once they're a little bit more comfortable with that, then you could set them up with some basic HTML and CSS.

Topic 4 08:05

Teaching kids - start with logic games and coding toys before code

Scott Tolinski

Yeah. And like you said, at this age at, like, 5 years old, You know that my son is 4, so not quite 5 yet, and I know he would have a very hard time concentrating on something like that. But he would have less rid I have a hard time concentrating on maybe, like, a logic puzzle game, you know, because he's he's getting into, like, maybe, like, the Sesame Street games on the iPad rid where you're learning words and pictures and you you're learning you can click on things and do things. And then I'm wondering if there is Maybe any good option like that that's like, more of an interactive game that would be a little bit more attention grabbing holding on to then straight up web programming in any sort of way to say, like, I understand the basics of conditionals if this, then that, or loops or those types of things And maybe get into it that way. And I know that might reach some kids a little bit better than others, but certainly by no means an expert in that in that regard. This would be a really interesting opportunity to bring Kourtney on for something like that. She taught a a master's course in, like, human development, so she understands how How brains develop really well. Yeah. And she might have some really interesting insights on, like, when is a good time to teach certain things. Because I I'll rid I'll try to teach Landon something, and she'll she'll tell me, you know, like, he can't, like, parse that yet. That's not something his brain can, like, truly parse yet. So there's a lot of stuff around. I don't know how how people learn early in life. I'm more concerned with actually, so 2 things. First of all, rid. Another toy we have is the Tello drone, and they have a Tello kids app now. Oh, cool. And the kids app does the same thing. Launch,

Topic 5 09:42

Make kids curious problem solvers before teaching code

Announcer

Go forward 5 feet. Turn right. Go down. And you can you can sort of get them to plan it out, but, still, I think my kids are too young for that that type of thing. My kids are rid. 6 and 4 and 2. So I think what's more important, at least at least from my standpoint of parenting, is just making sure that they're, like, curious. Rid. And we do that with more, like, fixing stuff. So all the time, we'll buy broken toys, broken ATVs, broken whatever, And then we'll go through it and figure out what the actual issue is. And more often than not, my kids are there being like, I think it's the batteries because, rid Like, my daughter the other day, she said, this toy only works for, like, a couple seconds, and then it this it sounds funny. Like, it goes.

Announcer

Rid. And she's like, I think the batteries are starting to die. And then I was like, alright. Let's try it, and it that was it. And I was like, wow. You correctly debugged that rid. That thing yourself. So if that's my only that's probably my, advice here from an one parent to another is just make sure that they're curious in ready. Getting their hands dirty in these types of things because coding is just another way to solve problems in life, and they're going to realize that if they have that problem solving mentality. Yeah. I think I think what we're both getting at here is that maybe even, like, teaching programming is less important than teaching the skills that cultivate rid Programming. Totally. Yeah. Cool. Okay. So next question here is from Kenny. Gentlemen,

Scott Tolinski

love the show. And the content you put out, it keeps ridged. Occupied during my 5 6 mile runs. Wow, Kenny. Those are some long runs. Kenny putting in, yeah, putting in the miles. Yeah. Yeah.

Scott Tolinski

Get some frequent flyer miles on that one.

Topic 6 11:16

Denver a good tech hub with good pay but high cost of living

Scott Tolinski

Thank you both for working so hard to keep it active. I know it takes a lot of work. Rid I'm curious what you think about hosting your own MongoDB server. I'm relatively new to Mongo, but want to start working on it with smaller projects.

Scott Tolinski

Rid I've used my SQL for a decade and hosted online, and with shared hosting, it worked well for relational DB needs. Should I host my own manga when I'm ready for production pay a reasonable cost for something like Linode or maybe even Atlas. I have experience with Linux and have my own virtualization cluster and can spin it up to server in seconds Along with enterprise level firewall managing traffic to and from, I actually just spun up a Docker server this week and had a Mongo container running on it. Rid Though it's not accessible to the outside network, it's purely for my dev environments.

Topic 7 12:03

GraphQL - resolvers are for types, not columns. Shouldn't need hundreds.

Scott Tolinski

Despite the firewall, my concern is security. Is it worth paying a trusted source like Linode, or should I rid time in locking down my own Mongo container.

Scott Tolinski

So my thoughts is pay for a host for this because I host on Atlas rid myself, and it's cheap, and it's cheaper what what you get out of it. And before Atlas, I hosted it on Compose, which I think was bought by IBM at some point.

Scott Tolinski

So I personally have had good luck hosting and paying for hosting for Mongo and have never really wanted to host it myself because It does scare me a little bit as long as you have that creds and stuff set up. But the nice thing about Mongo Atlas is you can set up, you know, IP blocking and and and all that stuff comes Directly out of the box, like, when you create a new Atlas, MongoDB, IP blocking is turned on by default. Like, you have to make it less secure yourself, and the interface is nice. It really helps having an application interface like Atlas to be able to scale correctly and rid Feel like you have more control over it and get those performance metrics that you do from Atlas. So for the cost of it, I would go Atlas just because, I I mean, even on a service like LevelUp Tutorials, we're not paying a ton for it. Yeah. I agree as well that hosting your own database

Announcer

is rid Something you in my opinion, you really only need to look into once you are at scale, and it is a significant cost rid In, like, a as a line item, and the cost to have a a DB admin on staff is less than than what you're paying. So, Like, it seems like you are, like, sick and enjoy this type of thing of hosting your own Docker Docker images and whatnot. So, like, rid. If that's the case, maybe for small projects, but I would not put anything serious on a self hosted just because I am too scared of both security issues as well as rid. Losing the data and, like, the MongoDB Atlas is awesome because they they tell you what is wrong. Like, why is your database slow? Yeah. Then you you know and say, like, you should index this thing or, like, this is a query that was unnecessarily long versus the rest of your query. Like, maybe take a look at rid. How you can do this type of thing better. And I'll say it's not that much money, especially even if you have a small project. The free plan is is pretty good. So I say, no. Don't do it. But rid Some people like doing that thing themselves. Yeah. It's if you want. If you're saying, like, please let me sign up for this

Scott Tolinski

responsibility, you're saying, please let me take this rid kitten home, and I will treat this kitten kitten well, but it is gonna be a full full time thing to be able to, well, not full rid I don't know, but it's gonna be considerably more work than having it hosted somewhere else. Next question from Mike. Not a question, but more of a rant. It's 2021,

Topic 8 14:47

Can use untrusted code from GitHub repos in portfolio if explain it

Announcer

almost 2022. Can we all stop using Foobar BaaS when teaching a programming concept? Rid. I applaud you both because I don't recall you ever seeing using such atrocious terms. And you won't. You won't, Mike.

Announcer

However, I'm sad to see prominent educators in a web development community use these terms from time to time. I feel like there are so many better examples that can rid. Contain the concept of Foo is just confusing beginners. That's all I wanted to get off my chest. Hashtag no more Foo. So rid. I agree with this as well. These are called meta syntactic variables, and I, as a policy, never use them in any of my teaching because at least when I was learning, rid. I found these things to be very, very confusing.

Announcer

Sort of the counterargument to these things is that using Foobarbaz instead of using Sandwich dog and cat is that they take you out of sort of, like, thinking about, oh, this function is great rid for sandwiches, and classes are used for dogs. And it just forces you to to focus in on, like, what the function is actually doing. I don't agree with that. I always like to show my examples in terms of when you would actually use it, especially as, like, a my type of stuff is, like, the you're web developers. You're either building the note app or read. Writing some JavaScript on the front end, and it's much more I've heard lots of feedback from people that they much prefer that. But rid. And then again, like, I've tweeted about it before, and there is a small minority of people who say, no. No. No. No. I much prefer Foobar BaaS because it helps me focus in on it. So I rid

Topic 9 15:29

Avoid nonsense variable names like foo, bar. Use real examples.

Scott Tolinski

to say different strokes, but I totally agree with you. Yeah. Totally agree. The only Fu I want to see is Kung Fu Or maybe Gun Fu if I'm watching some John Woo. Yeah. I don't I don't Oh, boy. Yeah. I know.

Topic 10 16:30

Negative values in CSS are fine and useful despite feeling dirty

Scott Tolinski

Yeah. I don't wanna use those in my examples either because, you said, we're building interfaces. We're building things that aren't, you know, food, whatever, food bar baz. We're not building those types of things. It's actually very funny. Courtney got an email the other day, and she was like, it's from this weird email. And I was like, what what's the email? And it was like, [email protected] or fub rid [email protected]. I was like, oh, man.

Scott Tolinski

I think I think this is a bot here, Cor, because she had never heard those words before. And in the context, it doesn't often make a lot rid You're right. Some people definitely, like, gravitate to that by seeing, like, oh, yeah. This very clearly illustrates the programming concepts and gets The variable name's out of the way, but to me, it doesn't. It feels like you're putting it into it, like, this, like, black box context that doesn't make any sense in how you actually use it. So, typically, yeah, I rid Stay away from that stuff and try to keep it a little bit more how you actually build things in the real world. And another way another service that rid We'll help you build things, how you build things in the real world as one of our hostess with the mostess, and this is going to be a headless CMS hostess of the mostess, and I'm talking about Prismic.

Announcer

Rid Prismic is the CMS for your website that is headless. Prismic is is really, really neat because they take the approach of you sign up for Prismic. You ready. You don't have to install anything or whatever. You just get access to the dashboard, and you can right away go ahead and start creating content types. They are really pushing this thing called slices, Which is sort of like 1 to 1. Every time you create a component, you also create some data that is associated with that component, and it's really rid Cool. Because you build, like, a person component, and you can create a person data type. And then those things are sort of go together. Rid. That allows you to not think of your website in terms of pages or your app in terms of, like, parts of the app. You think about it in terms of components, much like you build your your website. And then you can click together these components almost like a page builder in Prismic. And then in your actual code, I built a website myself in of it like this. And you can just say, okay, here when it's the person component, when it's the person slice, use the person component. It's really, really cool. So I want you to check out rid. This approach to making your websites at prismic.i0forward/ syntax, and they also have a really funny landing page. It out. Thank you, Prismic, for sponsoring.

Scott Tolinski

Sick. Okay. Cool. Next question comes from Amir.

Topic 11 18:58

MongoDB Atlas better than self-hosted Mongo for security and features

Scott Tolinski

Rid Hey, Wes and Scott. Thank you for an awesome podcast.

Scott Tolinski

What are the best cities in Canada and the US to get more quantity highest paying developer jobs? I honestly don't know personally about the US. I know there are some some good hubs, and, honestly, I think the Denver Boulder area is underrated in terms of the types of companies here, who's here, how many companies are here, and what the texting is like. Texting here is very good. Cost of living is very expensive. Obviously, not California expensive, but expensive. Other than that, you know, you hear just a lot about Major city hubs like, you know, like Atlanta.

Announcer

Who else has a good major city hub of development? I'm trying to even think. There's rid Austin. Austin, there's a lot of devs in Salt Lake City. Yeah. I don't know what the job seems like, but there's a lot of devs there. Yeah. I get this question a lot. Specifically on Instagram, I get a lot of people who are and I'm not saying this is the case for Amir who wrote in the question, but a lot of people are looking to immigrate into Canada. And first rid First of all, they asked me, how do I immigrate to Canada? I don't have no idea.

Announcer

But then they asked, like, where should I move? Now that I am coming to Canada, Where should I move in order to get the sort of the best tech jobs? So in Canada, Toronto, Vancouver, those are the 2 big ones, but rid. The cost of living there is insane. So even if like, this specifically asked about the best paying jobs, well, you're gonna be sort of, like I rid I don't know. Let's say you get an extra $30,000 for living in Toronto. You're gonna spend that away really quickly on rent, groceries, things like that. So rid Ottawa, pretty good. Ottawa famously has Shopify, and I know from a lot of people who also have developer businesses in Ottawa, they have a very hard time hiring in Ottawa because Shopify just slurps everybody up and pays them very, very well. But now Shopify is going remote entirely, so I'm not sure if that's still a good idea or not. But Ottawa is a is a nice little city. It's kinda cold, especially if you're rid Coming from India or something like that. Their hockey team is no good too. The hockey I specifically live in Hamilton, which is rid It's about an hour train ride to Toronto. I don't know that I would do that every day, but there certainly are people that do that every single day. Maybe, like, once or re Twice a week, I would do it if you can get some sorta partial. I would honestly look for a smaller city that has some more affordable rid Housing. Kitchener Waterloo has Google and a lot of, like, a lot of, like, they have University of Waterloo, which has a lot of rid. Comp size students out of there. London's is starting to look pretty good. Lots of, like, agencies out there. Out east is becoming very popular. So If I were you, I would look at sort of, like, these 2nd tier cities in terms of not in terms of how good they are, but in terms of how expensive they are to live in and then Find something there or even go go totally remote, which would be cool. So that's what I have for that. I would like to talk to somebody on the podcast about like what does it look like to if you want to get into a country like whether it's Canada, US or Europe, If you want to immigrate to that country and you need a job to do so, like, what does that look like? Getting these what do they got? I think in the States, it's called h one b visa. Rid I had no idea. I have no idea, but something like that. I would like to hear a little bit more about that. So maybe we'll have, like, some sorta immigration lawyer on the podcast at some point. Rid an immigration lawyer on the podcast?

Topic 12 22:19

Get immigration lawyer on show to discuss tech worker immigration

Scott Tolinski

Do you know any immigration? No. But, like, I know for sure that there are major companies, Like, there's lawyers at every single major company that Oh, yeah. Right. That that's their gig. Yeah. And then entirely with that is how do we get there's talent. Specifically in Canada, they have this thing called brain drain, which is everyone who's, like, half decent at programming in Canada just goes down south because rid You get the pay is much, much better. And then there's people on staff that say, alright. How do we get these Canadians to become Americans? Mhmm. You know what? There was, A really interesting story I heard on a podcast the other day that I was there too. It's, like, an actor where they interview actors who played, like, very small roles in major films. So it was just like, oh, here are the people who never get interviewed about this thing and get to talk about it, and this Canadian actress was was talking about how George Lucas really wanted her for a film, and this is after Star Wars, so he was, like, very famous already.

Scott Tolinski

And she couldn't get in, And nobody could get in, and and nobody was getting in at all. And, yeah, at the time, they needed her for the role, And then so she gets called into the immigration office expecting them to just deny her again for, you know, whatever. And on the shelf, She sees, like, 3 original brand new, like, in mint condition Star Wars toys on the guy's shelf, and it's just like, Oh, I'm in. I'm in. George Lucas hooked this guy up.

Scott Tolinski

That's awesome. Yeah. So she got in. That's it was a pretty funny story.

Scott Tolinski

Alright.

Scott Tolinski

Next question here from LW.

Scott Tolinski

Hey, guys. I am starting to get into GraphQL, and I don't get it. Specifically, I'm converting a REST API to GraphQL.

Scott Tolinski

This seems to be really tough as there's not much guidance on how to do it. The main part I'm unsure of is how to write resolvers.

Scott Tolinski

If I use an existing query, then GraphQL, it just seems like an over engineered filter method. Rid. If I write an individual resolver for each column on the table, that's going to be hundreds of resolvers and annoying to write. It either you move something from REST to GraphQL.

Scott Tolinski

I haven't moved something from REST crew to GraphQL specifically, but the way you have to think about it is you have your types in GraphQL.

Scott Tolinski

Your types, that is what you need a resolver for. Each of your types needs a resolver.

Scott Tolinski

How that resolver resolves the types, whether it's fetching from database, whether it's just plain text, literally anything, that is why the resolver exists. The resolver exists to resolve a type. And you can have field resolvers that resolve individual fields on that type as well, but the resolvers are just for that type. Have probably 30, not 30 resolvers, period, but 30 resolver or 30 types maybe in the site. Maybe that seems like a little much. Maybe maybe about 20 types, I I could probably say.

Scott Tolinski

And we have resolvers for you know, let's say we have tutorials. We have rid A single tutorial resolver that accepts parameters. Mhmm. We have a list the list tutorials resolver, and then that's pretty much it for tutorials. You can pick out a single one, or you pick can pick out a list of them, and they filters in. The filters come in via your variables within your GraphQL query. Rid So I guess what I'm a little confused about in this question is where the hundreds of

Announcer

resolvers come into play here? Because you say rid. That's going to be for each column on the table. Shouldn't it be for each table itself? Yeah. I guess that's what I'm confused about. I bet rid That he's thinking about, like, okay. Well, if somebody wants the name, then we hit right a resolver for that. And so I hear your name and the age, and then resolve it for that. So rid. I think what's probably missing here is some sort of package that will like, you write the query to get everything and then some sort of package or re Filter in between there that will just pull the things that the user has actually asked for. So you probably still will have to write a handful rid of resolvers just to make sure you get the right data and and whatnot. And it also depends on on, like like, what it's been built on initially. Right? Like, you probably still have

Scott Tolinski

rid Your REST API, and that query was get all tutorials or something, and that's a singular route. Yeah. That's a singular endpoint.

Scott Tolinski

Rid. That becomes essentially a resolver or a GraphQL query rather than having it be in its own endpoint. So the biggest mental difference between a REST API and a GraphQL API is that a REST API is made up of, you know, a 100 different Endpoints, where a GraphQL API is made up of 1 endpoint with a 100 different queries that resolve in different ways. Right? A 100 different resolvers. Right. A 100 different resolvers.

Topic 13 26:43

Approach GraphQL as queries and single endpoint rather than REST endpoints

Scott Tolinski

So that's really, I think, the the mental model shift that you need to look at this as is that you're not going to have any more Resolvers, in my experience I don't know if the I wanna say that. It's like a blanket statement, but it usually is like a a translation of rid. Those endpoints just end up becoming GraphQL queries and resolvers.

Announcer

And I think that Scott put it really well there as you're sort of trading the complexity of You write the resolvers once instead of having to figure out at the front end of your application or something like that. Rid. I was still like, okay. I need to fetch these 3 things to render out this page.

Announcer

You just say, I just want this 1 query, and then that will then resolve to those rid. Under the hood, 3 or 4 different database queries that happen. So it's not any less database queries. You're just making the rid. Fetching of the data much simpler at the end of the day. Word. Next question from Dan. How does somebody learn and actually practice using these system rid. Some design topics like load balancing, caching, and database charting.

Announcer

I have never had to need to use some of these things in my work day to day, But I've been recently interviewing in the system and design portion of the interview. I feel a little bit lost. I read topics and watch videos, rid haven't really seen how to implement these things. Any good resource recommendations? So this is a a kind of an interesting question. Rid. How would you approach this type of thing? Honestly, me too. Like, I either use some sort of service That will do this all for me. Load balancing, I've done some myself as well just because I I do a little bit more server management, I think, than than the regular rid Dev, but the rest of them, you just I think they're very specialized skills. That's exactly what Scott has has written there.

Announcer

If I was doing this, I would probably just rid Try and hook up a very basic caching load balancing type of thing even though you and every single every single request that you get, Make sure that you can

Scott Tolinski

load balance it, serve up from the cache. Database sharding, I think, is probably a little bit more complicated, though. What what do you think, Scott? Yeah. I've wrote these are very specialized skills because, like, really, I think, like, how do I practice these? If you're looking for a job that's asking you to do all of this plus re Being a developer, like, I don't know. That seems like a a lot of varied, intense, specialized knowledge for me. You know, you didn't say that, and I I might be implying that reading into that, something that you're not saying. But if you are saying that they're asking you to do Development plus sharding, I guess, load balancing and caching are maybe a little bit less. So but, still, those are are things that people can, you know, really know, whatever hosting whatever service that it's being hosted on, like, manages a lot of that stuff, and you don't you don't have to think about doing it yourself.

Scott Tolinski

So, again, like, are they expecting you to be to have a full understanding of the intricacies of load balancing Or database sharding. Those are big pieces of, pie there, and it also really depends on, I guess, the database technology. Right? If you're learning, rid Like MongoDB database sharding, that, like, puts you in a very specific funnel in your specialized knowledge in your career. So I guess You gotta you gotta ask yourself, is that the stuff you want to be doing full time? And if it is, then just go hard into Understanding and finding whatever resources you can on that very specific topic. Again, very specialized.

Scott Tolinski

And If you are writing that kind of stuff, you're probably making a lot of mistakes by, having some JavaScript bugs, maybe. Maybe you'll want to have a service your project that you're using to capture and log those errors that you're having, especially if other people are using, And Wes just posted a photo of a hot dog with eyes on it in the, the chat, so I guess that's pretty wild. So this episode is sponsored by one of our favorite sponsors over here, one of the, the error tracking services with the mostest, and that is century at century. Io. It's rid place you track and log all of your errors. And as somebody who recently launched a new UI to a site, let me tell you, it is very handy to have Sentry always there ready. Be like, you know what? Hey. You got a bunch of errors here. Make sure you you log in and keep track of which ones are popping in, popping out, which ones are the issues, Choose which ones are things you don't have to worry about, which ones you can ignore. And you know what? One of my favorite things about it is it can make me feel really good about that rerun I just rid because it gave me all the lowest possible scores on the user misery scale for the performance tracking, meaning that The site is fast and moving quick for our users. So if you want to all add more, head on over to Century at century.io. Use the coupon code at rid Tasty treat, all lowercase, all one word, and you'll get 2 months for free. So thank you so much for Century for sponsoring us. Read. Alright.

Topic 14 30:38

Specialized skills like load balancing and sharding usually managed by services

Scott Tolinski

Next question here is from Matt.

Scott Tolinski

Matt says, How do you know if you can trust an npm package from an unknown developer that does not have many GitHub stars and relatively few downloads? Rid The repo that made me ask this in question is and here's the repo. I'm not gonna say it. NPM audit automatically runs when you install this package. Rid Do any of you ever use additional security checks? This is an issue literally with any wait. Is that is that your notes? I wrote that. Sorry. Go ahead. Gonna say that sounds like an answer. Okay. Yeah. The easiest answer is to paw through that package and just look at it, and if you're concerned about it, The package in in question was a React component.

Scott Tolinski

I can't imagine this component is that complex that you can't paw through the code and and see exactly what's going on. If you're concerned about something like that and it is, like you said, from an unknown developer, unknown source, not a lot of downloads, then, yeah, you know, I I think Looking at the code is really the only way that you're going to feel safe from doing that. And even just checking out this package right now that you listed, Yeah. It's a lot of files, but it doesn't feel like there's anything in here that you couldn't grok, and, yeah, there's not that many files. There's not too much here that you couldn't just paw through each of these. Rid And I even in this while we're talking to you here, I'm seeing that there's really nothing wild in here at all. But I just went through it. It's fine. This one is fine. But the next one, who knows? Yeah. It's a problem, and I wouldn't even just limit this as being a problem to unknown packages and unknown developers.

Topic 15 32:42

Audit simple untrusted packages yourself if concerned

Scott Tolinski

I mean, there could be a PR in something that isn't reviewed well enough and merged into a package that people are already using, and next thing you know, There's some sort of issue there. Yep. This is a problem.

Topic 16 33:43

Can't fully audit all dependencies, have to accept some risks

Announcer

I I think that's the best thing I can say about it. Yeah. This is rid. Honestly, a problem with any third party software. It's often sort of the point it at with the node and JavaScript world because of rid. How we depend on so much third party stuff to do the very most basic things. And the good example of this was there were there used to be this package called Leftpad rid We're literally all it did was you had a string, and if you needed to put some padding on the left hand side of that string So that it was like let's say you're console logging something, and it has to be 10 characters. And what you have is is 7 characters. You need to pad that with 3 things to the left of it. Rid And somebody had written this left pad thing, and it was just like a 3 or 4 line function. But it was depended on by, like, rid Hundreds and hundreds of other packages that were console logging. Right? And then the guy who wrote it, there was some drama, and he just took it down, and it just, like, broke.

Announcer

Rid huge portion of all the websites. So that's just like a issue.

Announcer

That's something you see with like, that wasn't luckily, it wasn't a security issue, but it rid could, and that's all third party software. So how do you avoid this? Yeah. You can use, you can audit it yourself. Although, I should say, What Scott and I just did is we just popped through the code on GitHub.

Announcer

What is published to NPM and what is on GitHub can be totally different things. Ready. So that is a potential issue there. I hope that this will become a thing of the past now that GitHub bought NPM. Rid. So, eventually, I bet all of our package and dependencies will be visible on GitHub, and you'll be able to do those types of things. And, rid. Also, as, like, AI gets better, they'll be able to detect potential things that, like, oh, this thing is sending a network request when you wouldn't ready to be. Right? You gotta choose popular packages. That's another one. Upgrade slowly, so don't go bananas. This is the difference between Scott and I. Scott will upgrade his macOS, like, the day before it comes out. I'm no. Not even the day before it comes out. I'm I'm on the betas, man. I'm currently running The beta, and I have been since, like, beta version 2. I'll, like, go on the Reddit, and if the people on the Reddit are like, yeah. It's working pretty well for me. I'm like, rid. Good enough for my business.

Topic 17 35:58

Update packages slowly, look for issues before upgrading

Announcer

Good to go. Yeah. Yeah. And, whereas, I'll wait 6 months or whatever to upgrade that type of thing. So rid Just you can wait a week or two before you upgrade something, and you'll hear about it if, let other people sorta hit those issues for you. What else are heavier? Have faith.

Announcer

At the end of the day, you can't reasonably paw through every line of code of every package that you're depending on, especially as rid. The dependency trees of some of these packages is 14 feet deep. What else? Sandboxing. So Deno is sandboxed rid. By default Yeah. Where if you wanna allow it to have access to your file system or to the network or something like that, you have to explicitly allow it. I don't know how good that will be because rid. A lot of these packages would be like, oh, well, your app doesn't need to access the Internet. Like, I think most people would just get into the habit of saying dash dash allow all rid. Because, of course, your your app needs access to the Internet if it's doing any sort of network request, but that is still a something to think about where, okay, rid. I'm running this untrusted code, but default is running in a sandbox, and you have to explicitly say, I'm doing this dangerous thing rid before you go forward. So no good answers, but there's that. And then there's also, like, the was it Snyk, s n y k? Rid Snyk, developer security.

Scott Tolinski

I don't know what this is. You know?

Announcer

They I think that Snyk is behind a lot of the npm audit stuff. Rid Okay. Okay. One of the issues with the npm audit stuff is it's it's starting to become just a noise you're okay with, and I've even said this in my own courses.

Topic 18 37:33

npm audit warnings are often noise, currently inadequate

Announcer

Rid. NPM install this thing. It's gonna tell you you have 14 secondurity issues that are high. That's fine.

Scott Tolinski

Rid That that's okay. Yeah. Yeah. If you see the word, your computer will blow up. That's fine. Just just keep on. And I'll say I don't know what the answer is to that just because rid. There is some things where you just have to be okay with running untrusted code. But I then just know there are people working on this, and rid They are scared of, the potential issues. Yeah. There's no good answers here. At the end of the day, we're all living in a certain bubble of trust. I mean, if you ever rid You ever, like, installed something from your command line and used sudo to install it to override, you know, the thing that's telling you you don't have permissions? You install. Who knows what you're installing rid many times on your computer, on your phone, or whatever, and that's just a calculated risk I think we all take to some degree, so not great. But, rid Yeah. I guess we do have Code Audit. Save us maybe a little bit. That's I don't know.

Scott Tolinski

Okay. Next question here is from Josef. Rid Says, I'm a beginner front end developer, and I heard you saying that being able to copy prototypes is a valuable skill. So I found some Figma free templates, and I copied them. The question is, can I put them in my portfolio and deploy them? The answer to that question, in my opinion, is yes. You absolutely can as long as your portfolio explains what the purpose of them being in your portfolio is. To say, like, in clear description saying this project here, This was example that I used to explore the ideas of recreating a pixel perfect design. I did not create this design. I found it here. I recreated it to show you that I'm capable of reproducing a Yeah. A design pixel perfectly. And if you say that in plain English, no one's gonna feel like, man. This person is trying to get one by me. You know, they put that description right there, explained exactly why they did this project, rid What its importance is into their portfolio and why it why it's there. So I absolutely think use it. Absolutely use it. Just make sure you put rid Otherwise, people will see it and think that you designed it and created whatever for yourself,

Announcer

and you don't wanna be deceptive at the end of the day. That's a great approach. Rid It's like, don't say, like, yeah. I did use a template here. Say, like, this is an example of me implementing an existing design, and look how pixel perfect it is rid. To the original design, that's like a really valuable skill to have. And if you can do that, then you're in good shape. Yep. You want this? I got this. That's what I did. Next question from Nick. Hey, dudes. Hey, dude. Hey, dude. I picked up a freelance project to make a brochure style a website and found myself having trouble deciding on what to pick for this website. It's a really good is now maybe we should clarify what that is really quickly. A brochure website is just rid a website that just has information on it. You got a home page. You got an about page. You got a couple maps. You got maybe a menu for a restaurant and then a contact rid Porn. That's a that's a brochure website. Right? I wanted to get your take on what tools or tech to use to build this brochure website. By the way, the site rid should have mainly company information that is ideally editable by the stakeholders and has a contact form. Thanks. So this is a good rid. These are always fun websites to do because you do have the option of choosing some sort of new tech that you've been meaning to check out, And there isn't a whole lot of risk to this type of thing as long as you're okay with sort of babysitting this thing For the next couple years, and you're not gonna be looking at this thing in in 5 years and saying, I wish I didn't build this thing on this rid. Totally, obsolete tech. So I would pick something that is exciting, but has been around for a while, and that can hook up to some sort of rid. CMS, you could use one of our sponsors today, Prismic.

Announcer

I just built a little brochure website for my wife, and I told the story on the last ad read of rid. I needed to be her to be able to update it because she kept asking me to do it. And I was putting list list item tags around all her bullet points Seven times over. And finally, I was just like, alright. You just go ahead and use Prismic and and pull it in. So pick something interesting. Scott's got some ideas for rid What tech that is? Yeah. Yeah. I mean, UI tech, if it's a brochure site, you don't need it to be hefty. In fact, you know the goal should be to be shipping rid as little JavaScript as possible, as fast of HTML,

Scott Tolinski

as fastly as quickly as possible. But I also like client side routing for that kind of thing. I know, You know, there's a debate of client side versus server side routing for for stuff like this, but I really, honestly, really strongly prefer client side routing in this case. So I would most likely pick A front end framework with the capability of outputting a static site. What would I personally use? I would use SvelteKit and output as a static site. Re It's gonna be extremely fast, and the amount of HTML you're shipping is going to be just right. And you'll get that rid Client side rendering, and you'll get the developer experience, and you'll get the features in case you ever needed to grow beyond anything. So socket is for that Astro build is a hot, hot, hot one because it's all about shipping less JavaScript.

Topic 19 41:55

Use fast static site tech like SvelteKit, Gatsby or Next.js static for brochure site

Scott Tolinski

Jason Lingsdorf did, like, a really I I wonder if I could find this tweet, like, a really crazy comparison tweet between a Astro project and, I think, a Next. Js project, and it was, like, astounding.

Announcer

Also, Gatsby's a great choice. I I've built lots of brochure sites on Gatsby, and Gatsby sites are fast, fast, fast. Or even Next. Js static, I haven't used it, but I think the end result here is you're gonna wanna pick a tech that you're you're either familiar with or you want to be familiar with, and you wanna pick something that's rid Based on how quickly can I serve this straight up brochure site for without worrying about, like, necessarily bells and whistles, so to say? Yeah. Also, one other thing is you should think about rid In terms of being able to hand this project off to another dev, should that be the case? I know a lot of freelance devs love to do the initial build, and then rid. They're not much for doing maintenance on anything, especially when it comes to just, like, webmaster type stuff, updating the content and whatnot. So If that's the case, then think about, okay. In that case, WordPress is a really good use case because there are millions of WordPress devs out there, and you're not gonna be Saying, like, good luck finding somebody to build this thing in this, like, obscure CMS that was popular for 3 months and rid. And no longer supported or has any sort of options for doing stuff. Because that's the other thing is often you have clients. Rid. They'll say, yeah. We just need a very simple website, and then there's a global pandemic. And all of a sudden, they need online ordering and table booking and rid. Scheduling and all this type of stuff you go, okay. You'd be able to think about maybe try to probe them with a few more questions as to, like, rid. Is it possible you might wanna ever do this type of thing in the future? Because if that's so, then maybe we should factor that into the tech that we choose here. Yeah. Totally.

Scott Tolinski

Alright. Cool. Next question is from Casey.

Scott Tolinski

Hi, Scooter. Okay. So how do you know I used to be called Scooter when I was a little baby and Wild West. So Skirr and Wild West, why do I feel so dirty when I'm forced to use negative values in CSS? Casey, this is a weird thing that some people have an issue with. I remember one time I was working on a project, and I'd done something the right way. And somebody was like, I really rid Just don't feel comfortable with the fact that you use a negative margin here, and, like, I don't wanna, like, approve this. I'm like, this is a very valid technique for good reason. This is how you do it. This is what the feature was built for. So, Casey, get over it.

Scott Tolinski

This is the best thing I could say. Negative values are they're great. Negative values are fantastic. Yeah. Why do you feel dirty about it? I don't know. That is something you're going to have to work out in your own free time, Casey, but the dinged values are just fine. Therapy, Casey. People did this to me as well. They're like, rid. Negative values are bad, or they'll find some, like, blog posts from 6 years ago being, like, negative values are terrible for performance rid Or something like that. I was like, no. A negative margin hurt my feelings

Announcer

one time. Yeah. No. Negative values are totally fine. That's why we have them. That's why they work rid. In the browser and especially with, like specifically, think about margin. Negative margin is a very good tool to have.

Announcer

Yeah. It's a very good tool to have. Last question from Nomer. Do you use some cloud sync services to back up your directory with projects? I mean, OneDrive, Dropbox, etcetera. I tried using it alongside with Git, but it just messed with my files so badly. On the other side, I feel very uncomfortable without any sort of backup rid From GitHub. By the way, according to the last potluck, Polish, an l with a with a little tick through it, it's pronounced like w.

Topic 20 45:42

CSS negative values are valid, useful techniques. Get over it.

Announcer

What a sick podcast you have. Oh, thank you. This is a good question. I will rattle through my sort of backup. Rid. I have used Dropbox for probably, like, 10 years, and people say don't put NPM or node modules in Dropbox because re There is literally millions of files, and if you're trying to sync those files across many different Computers, then they get out of date really quickly, and they get confused. And, like, you can npm install 300,000 files no problem, and you've got and Dropbox just, like, rid. Craps the bed then. So I still use Dropbox for a little bit, a couple of projects, but you should not use it for anything that is synced with another computer. I don't use Dropbox for rid. Syncing with another computer.

Announcer

And, also, Dropbox is such a huge CPU hog when it comes to dealing with lots of files, So that will drain your battery very, very quickly.

Announcer

So I still use it because it's still I catch myself sometimes. I use the, like, the rid. Back up in between Git commits, if you accidentally nuke a file, then it's nice to be able to roll it back via Dropbox.

Announcer

And although I haven't rid. Had to use that in probably a year or 2, so I'm kinda slowly on my way out.

Announcer

I have also moved to using Backblaze, And what Backblaze does is it does your entire hard drive.

Announcer

And for some reason, they have figured out how to make it not kill your CPU and battery. And it just works really, really well, which is nice. So Backblaze is really good. And then I also use I have a Synology, And that's just like a little network attack storage I have here. And then my wife and I have like We both do video. So anytime we have a video or a project that we no longer need, we'll drag and drop that sucker onto the Synology, and then the Synology backs up to rid. Plays as well. So then you always want to have 2 spots where all of your files are. You want a local copy and ideally a remote copy. So if you have theft or fire or anything like that, then it it sort of duplicates over, and that's all automatic. So all you have to do is drag and drop the thing into the folder, and it just automatically backs itself up there. So there's that. I probably would shy away from it and just do Git commits a little bit more rid Frequently Yeah. To avoid that. That's specifically my answer is that I don't do any backup of any of my web dev projects outside of Git. That's it. GitHub, GitLab,

Topic 21 48:30

Only use Git, no sync services, for backup

Scott Tolinski

push it wherever. If I'm not committing and and pushing enough, then I suppose that's, like, my fault if I lose something, but, rid Like, I'm committing several times a day, and if I'm working on something, I'm never, like, closing it for the day without Committing it and pushing it up to a branch or something. So I I think that might be an indication that you do need to commit more frequently. And, again, any of these automatic services are gonna rid Ground your computer in CPU and whatever. So, also, second, Backblaze is really great, so I I give a second for that. And thank you for the Polish pronunciation.

Announcer

Rid. Definitely definitely appreciate that. I should all say time machine. I I run a time machine. Time machine sucks. I hate time machine. Oh, man. I love time machine. I always have it running. And if you need to roll back a file with Time Machine, you can do that because it backs up a couple times a day. So Where do you have it backing up to? I have a, The physical connected drive? Yeah. This I've tried all the network time machines, and they always goof up. And they always, like rid Like, reset themselves or say, like, there's an issue. So I finally just went with either Western Digital Passports. Right now, I'm using a rugged rid Because I I bring the time machine with me when we go to the cottage and things like that, so it's always good to have, as rugged as possible. And it's been rock solid for probably a year and a half, and that's It's good. And, also, Versus code keeps, like, your history. Backed up. You can control z, like, years in Versus code. Even if you close a file, you can open it up and and go back. I'm pretty sure. So that's another probably another reason why I've had to depend less and less on Dropbox. Plus, like, Dropbox, rid. Like, sort of abandon us technical folk. I'm kind of cheesed about that where they never gave us, like, a Dropbox ignore file. And now they're all like, rid collaboration and all this, like, cheesy

Scott Tolinski

cheesy stuff. So It's actually really funny that you you say that because I do pick tech sometimes rid. Purely based on spite. If I feel like I've been wronged by a company like that, I will do everything I can to avoid it or or be like, I don't know about those. So, yeah, I I think that's valid too. We're emotional people. You can have emotional feelings about these companies or so and so abandoned me or whatever. Anytime a company starts, like, appealing to, like, normal people or, like, business marketing folk, it's over for us. It's over. Technical people, you gotta find something else. Yep. So Speaking of a company that hasn't abandoned their technical folks, Scott, who who's good at that? Oh, you know what? I have somebody that's really good at that, And that is a service that we use and love over here, and then it's Cloudinary.

Scott Tolinski

Now Cloudinary is an excellent, amazing, modern image host, and re It does things that really can blow your mind. If you if you think about, like, why do I need an image host? Well, Cloudinary can automatically serve up the best the Post the other day about somebody using, like, the picture element and their SEO score drop, like, significantly, West. Seriously? Yep. So, like, this this would be, like, a good use case for that because you don't have to use the picture element to serve up the right image.

Topic 22 51:03

Cloudinary good for automated image transformation

Scott Tolinski

You just tell rid Cloudinary, here's the image, and Cloudinary on their side determines the correct image to serve up, and you don't have to use the picture set. I actually don't know if that's, like, a thing thing, but, apparently, Google doesn't parse it the same way.

Scott Tolinski

So either way, Cloudinary allows you to transform the image not only based on format automatically, but Quality automatically.

Scott Tolinski

You can crop it via programmatic, but there are variables in the URL. It's really wild. You can even, make an old timey sepia west West boss, if you want.

Scott Tolinski

You can do face tracking and all sorts of really cool stuff, and we've just been rid so reliant on Cloudera to do all of that and more for us. And if you wanna check out Cloudera, you're gonna wanna head to the link in the show notes that we have for you to let them know that You heard about Cloudera from Syntax, and you'll want to check out all of their APIs, SDKs, widgets, and integrations.

Scott Tolinski

There is a ton ton there.

Announcer

I am just taking a look at the cloud. You you talk about this CPOS thing all the time, And I'm just looking at the Cloudinary docs for this thing called layers, which is, essentially, you can just, like, add images on tops of existing images as part of Cloudinary, And you can use their face detection or their OCR text detection And overlay on top of that so you could detect where the face is and then layer on a cowboy hat and then apply the CPU filter rid All in one go.

Announcer

Somebody needs to make, like, a West Boss Cloudinary app Where you you take a photo, and it will automatically overlay a cowboy hat on top of where it detects the face. My gosh. In the example they have, they have, like, a rid. Image being added to a mug or detecting faces. That would be a handy one as if you were, like if you needed to automatically rid. Blur faces in a photo, they could do that. Or, like, I often see, real estate agents when they post photos, they'll blur out the The, like, for sale sign of the, like, listing agent, maybe you could do that automatically. There's some really cool stuff you can do with Cloudera. This is I don't know if this is part of the ad read rid more just me talking about it, but it's pretty nifty. I know. I feel like we could do an episode on on just because it's a it's such a cool thing.

Announcer

Oh, that's good. Alright. Let's move into some

Scott Tolinski

sick picks. Do you have a sick pick for me today? I do. I have a sick pick today, and it's gonna be another documentary, Wes, the type of thing that's right up your alley, another 3 parter. And this one is kinda similar to Lularidge in a lot of ways, but I guess a a trigger warning for people who are sensitive to this kind of thing, it's a little bit more there's some segment of, like, child abuse segment that was, like, fairly brief that Courtney and I had to fast forward through. I I can't ever since becoming a parent, I I cannot listen to that stuff. If I if there's, like, true crime or something and a child's involved, I'm like, I'm out. I can't do it. But either way, this podcast is right up my alley in terms of swindlers and those types of deals. This is called The Way Down, And, Wes, you have to Google this just to see this lady's hair, The Way Down, God, Greed, and the Cult of Gwen Shambling, and she's basically, like, a cult leader In Tennessee, who had, like, a church cult, and the I saw some photo of this lady in on Twitter, and somebody's like, no way this is real lady. No way this is a real lady. That's the higher the hair, the closer to God. That's the saying down. Is she from the South? She is. She's from Tennessee, and, yeah. Oh my gosh. Her hair outrageous. If you wanna just check this out just to see a photo of her hair, that's totally valid. But either way, the or or the the It's Valid. It's totally valid. The episode or the, it's a 3 parter, and it was it was a good watch. And I think by the end of it, it was like just like Lula Rich. We were just kind of, like, jaw on the rid kind of like, wow. This is this is a wild story. These are wild people. I didn't hear anything about these people before my entire life, so definitely,

Announcer

Interesting watch. And, again, maybe a bit heavier than the Lulu Rich one, but definitely very good. I'm going to sick pick a paintbrush. So I've been doing a bunch of painting rid. In our house lately, which seems like it's always the case, just constantly painting things. But the cutting in is always a tricky thing because, like, I hate putting the tape on, But, also, not very good at it. Tape sucks. Yeah. You could spend the prep of painting is what kills me. It's like, I just wanna get going, and then you make a mess, and rid. You paint the ceiling, and then you you paint on the ceiling, and then it paints on the wall, and then it's just an endless cycle. Anyways, I found the best paintbrush ever. It's called the Wooster re Shortcut.

Announcer

And this thing is just a tiny little handle on it. And the idea is that it fits in the palm of your hand, And it gives you amazing control over doing your cutting in, and it's just like a it's an expensive but high quality brush that is amazing at cutting in. And I bought 1 just on a whim. I was like, it seems like they have a couple different price points for them. I bought the, like, $20 one, Which is and it was on sale for $10, something like that. And it is amazing, and I will forever buy these. And I posted on Instagram, and I had a a couple of friends who are in the trades, and they're like, If you honestly spend good money on brushes and you clean them properly and store them properly, it is well worth your time for rid Getting a nice paint job and doing it much quicker than having to tape. So Wooster shortcut.

Announcer

Check it out. Sick.

Scott Tolinski

That tape wasn't any good, and then FrogTape's like, we know they're no good. We're good. We're FrogTape.

Scott Tolinski

And this is like I I got words for FrogTape. You're not that good. Rid You're not that good. No. No. You're not that tape pal. You're not that tape. You're not that tape frog tape. I just did some frog taping the other day, And I was so annoyed at it. I was just like, you gotta be you gotta be joking here. You gotta be joking. You gotta be joking that this is how it is. Yeah. Painting is such a miserable thing. West is seeing behind me. I did paint around this mini split, and I didn't get a single drop of paint on there. Oh, that looks good. Yeah. And the FrogTapes rid Was handy because it's plastic. Right? I mean, it's flat plastic. But when you have, like, walls that have any kind of texture on it, it's just like, I don't know. What what am I doing here? Rid Yeah. I I should've should've used the Wooster or whatever you got there and, should've just done it by hand because that's why I'm uncomfortable. But, shameless plugs. There you go. Alright. I wanna plug the latest level of tutorials course, which is from Ryan Olinska, which is on Prisma, and he he really brings the goods with this course, this one's super in-depth, and we talk all about building the databases with Prisma, but it also gets into working with a file system and Creating buckets and stuff. It is really, really, really neat course. It's brand new on leveluptutorials.com.

Scott Tolinski

It is called rid Modern GraphQL databases with Prisma, and it is 30 videos, and Ryan is an excellent teacher. He knows his stuff, And he's very, very, very good. So if you wanna check this out, level up tutorials.comforward/pro.

Scott Tolinski

Sign up today, become a pro, or, you know, we don't often say this, but you can buy any individual course a la carte on level up tutorials, which a lot of these services, like, don't do is that like, if you just want 1 course, we're not gonna make you sign up for the subscription. So you can get any course you want as a one off purchase or if your company will only rid one off purchases. So if that entices you, if you ever hear me talk about these courses, check it out, level up tutorials.com, and, Got all we got, a new course every month. I'm going to shamelessly plug all my courses. You wanna learn JavaScript. If you don't wanna use Foobar BaaS, check out westboss.com

Announcer

rid. Forward slash courses. There's a list of all the courses I have there. You can learn beginner JavaScript, no foobarbaz, lots of sandwiches, dogs, cats, people, rid. Examples in there and lots of actual buttons that you can click and DOM nodes you can add and all kinds of really good stuff. So check it out. Rid. Westboss.comforward/courses.

Announcer

Use the coupon code syntax. That'll get you extra $10 off, and that is it. Thank rid you so much for tuning in, and we will catch you in the next one. Peace. 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 show.

Guest 3

Rid.

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