342

April 7th, 2021 × #APIs#Video#Development

Potluck — Video Hosting × Fake Names? × Portfolio Projects × Monorepos × APIs × TLDs × Recording Tips × More!

The hosts answer listener questions about various web development topics including APIs, video hosting, personal projects, imposter syndrome, and monorepos.

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. Today, we've got an awesome potluck for you. Rid. All kinds of, like, weed man. Scott was saying, like, there's a lot of really good questions. We do we do this once a month, and we got some really, really good questions. So thanks everyone who submitted a question, if you have a question we should we haven't said this in a while. If you have a question that you want us to answer, go to syntax.fm.

Announcer

Top right hand corner, there is a button. You click the button, and, actually, it's not a button. It's a hyperlink.

Announcer

So click on the hyperlink. You notice that nobody says Hyperlink anymore, Scott? Today, I feel like yeah. I feel like you're right that people don't. It's a much cooler name. It's a hyper hyperlink. Yeah. I mean, rid. One of my favorite battle bots is named HyperShock, and I just love the word hyper. For some reason, it didn't feel like traveling through the tubes. Yeah. Exactly. So we will transport you If you click on the hyperlink to a form, you could ask your question. Go ahead and fill it out. So today, we are sponsored by Sanity, which is a rid. Structure, content, CMS. Sentry does error exception and performance tracking.

Announcer

3rd one is Vonage, rid Does all the APIs for voice, video, and messaging in your app. We'll talk about them partway through the episode. How are you doing today, Scott? Doing very good. Just hanging out. This is the 2nd week of our kids being back in school,

Scott Tolinski

which has been pretty transformative for us. Last week, I managed to do just about 10,000 things in addition to that, like clean the whole house and, like, deep scrub, and I'm like, oh, man.

Scott Tolinski

Is what it feels like to have 40 hours a week to work is an incredible feeling here. I just doubled the amount of time that I have to work, and it's, It's I feel pretty good. That's amazing. Yeah. Don't you feel good when you're like, I feel like I'm an adult again and not just trying to keep my head above water? We were just I mean, it was, like, Just a whole year of of cutting our time in half. So just just to be able to take that deep breath now and being able to rid. Do that. It it does. It feels so good. Yeah. Yeah. Awesome. So let's,

Announcer

jump into the first question from Art Vandelez.

Topic 1 02:08

Question about managing API token refresh when making parallel requests

Announcer

Thank you for the Seinfeld reference. He's an architect.

Announcer

I think this question is for Scott, so I'll read it and let you answer. How do you handle re Token refresh where when multiple API calls are made at the same time, I e, let's say you get a 401 rid And acquire a new token, but that will only be used for the 1st API call while the other parallel APIs would still be using the old one and error out. This has rid caused me to sort of artificially limit the total requests made to be 1. How do you deal with it? Thanks for answering. I love the show. Yeah. I don't know if that's just for me, Wes. I think that could be

Scott Tolinski

for both of us. I think the crux of it here is, like, you're dealing with multiple API calls, And one of them fails. Right? I don't necessarily know about the the token refresh that's that's happening. It seems like If you're issued a token for an API, it should be valid for a predictable amount of time. Like, I can't imagine there's a a situation where, like, my token's getting revoked in between requests, unless, of course, I'm, like, doing something rid Against the terms of service of the API, I honestly don't know. So that might need to be a little bit more elaborate upon. But I think the main crux of the question is here, When you have multiple API calls that rely on each other, what do you do if one of them fails? And, really, this is kind of the reason why a lot of people have been liking GraphQL in various ways recently Because you could do a lot of API calls with 1 call. Right? Yeah. You're you're not having to get data and then go back and ask for more data. But, typically, how it works is that when you request data from an API, in the next request that you make relies on that data, You're checking to make sure that data did come back successfully before firing off the next one.

Scott Tolinski

So that's what I would do is, let's say, I was doing let's say, to use the YouTube API for an example. I hit the YouTube API and I say, give me all of the videos in this playlist.

Scott Tolinski

It doesn't give you the detailed views. It just gives you all of them. So then I get all of them, and then I can loop over them. And with that data, before any other additional call goes off, I check to make sure that the data Exists is is where I need to be, and then I fire off the next call. And then I check to make sure the data came back correct. So that's really the crux of it is if you're working with multiple calls that rely on each other, you need to make sure that that data is there in between And handle it correctly by either throwing

Announcer

or logging in a certain way that you need to handle it. I'm just thinking about this a little bit more, and I've run rid into something similar with the GitHub API where I needed like, you you have to ping the API with your your tokens, and then it brings back rid you a a new token that's valid for Oh, like a timed? Yeah. I think it was, like, it was, like, like, 5, 10 minutes or something like that. And And I was, like, running into situation where, like, sometimes it would time out. So, like, how do you handle something like that? May maybe that's what this person is referring to. Rid. In that case, you would have to catch the error. What would happen is you would get an unauthenticated error back from the server. You catch that, ready. And then you have a set of APIs that will refresh the token, and then you go ahead and call that thing again. So basically, the logic in your application rid Needs to be a little bit recursive in that if it fails, then you have to recall it again. And then you probably also have to have some sort of, rid Like, try 6 times, and then if it it keeps failing after 6th time, then then go ahead and nix it entirely because, like, obviously, this thing is not working. Yeah. It's an interesting question. It's it's definitely something that you do hit whether or not it's in that exact circumstance or not, but with having, you know, data that relies on 1 data, whether or not it's a token or rid thing and then making another request. Yeah. Usually, what I do also is just make a function that's asynchronous rid called get token. Yep. And inside of that function, you store reference to it, and you you remember it or you you throw it in a variable. It's outside the scope, rid And then you just return that thing immediately from that. But if it is older than however many minutes that you have, then rid Because it's in a synchronous function, and you wait it, you can do things like, okay. Instead of immediately returning the token, now I'm gonna go to the and grab a new one and then return that. And that's really nice. Sometimes people don't know that where even though it's a promise based function, You can return immediately from it, and it will just immediately resolve.

Scott Tolinski

So next question is from Kyle Willard. He says, what service do you guys use for video Storage and optimization. I'm currently building out a side project that requires some video hosting hosting, and I figured I would ask the experts. Okay. So, Kyle, rid I will mention that, one, the service that I use, mux, mux.com, they are a re sponsor of this show. However, I did use them before they sponsored the show.

Topic 2 06:40

Best services for video hosting and optimization

Scott Tolinski

They're sponsored because Scott can't talk about how awesome they are. Right. That's the same thing with Netlify. Right? It's like, oh, Well, you're already talking about how awesome they are. You might as well, you know, sponsor you for it. So don't take it with a grain of salt because it is very, very I don't know. I I'm I'm very, very genuine when I say Muck saved us a lot of time, and it's not not sponsorship dollars talking here. What I'm talking about, really, is that I tried a lot of services from building out our own video on demand platform to, with AWS and their whole VOD workflow rid to having something like Bitmoven, which is a very popular platform, and then even things like Vimeo or what we did with YouTube in the past. I know Wes uses Vimeo, so he can speak more on that, but the reason why I chose Mux is because so many of these other services, whether it is Bitmoven rid Or the Amazon v VOD solutions, they they require you to do so much. For instance, Bitmoven.

Scott Tolinski

You have to have all your assets somewhere in In an s three bucket or some sort of Google storage, either way, some sort of storage. Your your data has to live already somewhere, Then you have to connect it. Then you have to tell Bitmoovin all of the different types of formats and files you could possibly want it to have it. It's like, I don't need to make these choices. Here's what I want. I want me to upload video, and I want users to watch video, and I want them to be able to get the best rid quality, and so the reason why I chose mux is because writing a video uploader to mux was pretty trivial. You could also point it to an s three bucket if you wanted. Re Writing the uploader was pretty trivial for me. And then once they're in the system, we just save all the data into our database or re reference it, And then we use a player to just call it, and what Mux does is it always returns the right quality for the user, and it trans Codes it if it needs to. It doesn't store video that we don't need. With Bitmoovin, what I would have to do is point it to an AWS bucket and say, You know what? I need, 25 versions of this specific file for all of the different situations it could ever possibly need. Same with Azure. Azure has their own VOD thing, and it was just like, Why am I precreating all of these? Also, why am I having to worry about You had to precreate them with with Azure. Yeah.

Announcer

So it's not very really on demand then. It's not

Scott Tolinski

not very VOD. Well, that's the whole thing is that even even the AWS workflow for it, rid It it creates them ahead of time. And what it does with the video on demand workflow, it sets up, you know, 15 different Amazon services of which If one of them breaks, you have to then, you know, get under the hood to figure out what broke about it. But you have, like, 15 different, you know, named Amazon services that if you're not an Amazon Certified developer. You're you're not gonna know all these services. You know, the whose its connects to the whats its connects to the theirs its and whatever. But what it does is it It looks into a bucket. It creates, again, a folder with, like, 20 different versions of that same file, and then it stores all those different versions rid into a database. So now not only are you having to manage the videos, all of the different versions, you're also having to manage some new database of information rid to make sure that everything's up to date where everything is. With Mux, we just have, here's our API. Here's our videos. We call it. That information comes to us, and we don't have to worry about things getting out of sync. We don't have to worry about 18 different services connecting to each other. Rid. It's just that that easy. If you wanted to go the easier way, there's a lot of other services. Like, what Wes uses is Vimeo.

Scott Tolinski

You can talk more on that, but there's, like, Wixia. Is that one of them? They were way too expensive for us. Wistia. Wistia. Yeah. Wistia. Yeah. They were way too expensive for us along with a lot of those other rid Marketing platform services. So that's why we ended up going with a developer focused one that's it's it's focused on serving a lot of video. Rid Yeah. It's we did a whole show on on hosting video. It's it's really interesting. It's a huge,

Announcer

huge area to get into. I've I heard from people that run rid. I probably spend, like, $20,20,000 a year on on hosting video alone, and I'm a small fish compared to a lot of these these big sites out there. So it really depends on what you need to do at the end of the day. Like, do you need users to be able to upload video, or or is it just like like Scott and I, re Once a month or once every couple months, we have just, like like, set videos that we need to upload and and then go ahead and stream it into our platform. So rid. I personally use Vimeo myself. It's awesome. You can't beat the price of the Vimeo plan. They have, like, unlimited bandwidth on a lot of their pro ones. You do have rid Read the terms of service because if your thing is private and the videos are not publicly available on Vimeo, rid. Then you don't qualify for any of their, like, $200 a year plan. So that's where I'm spending, like, $20 a year on. It's just like raw bandwidth for Vimeo.

Announcer

Rid. And you have to, like, have a call with them and and talk about rates and negotiate and things like that. And at the end of the day, Vimeo does all of the, like, rid. Streaming and quality degradation and improving, and it will stream 4 k when the device can support it and the the speed can support it. All that stuff rid. It's handled by the both of Vimeo player as well as, like, the raw bandwidth is you can't beat the price if you were to go to Amazon and and buy raw bandwidth.

Announcer

Especially, like, I have a lot of users from India, and bandwidth it from or to India is very expensive. And Vimeo doesn't differentiate between India and North America, which is which is really nice.

Announcer

You know what Les Mills is, Which is, like, the workout, body pump, all that stuff? Never heard of it. No? It's really popular here in Canada. All the gyms use if you go do, like, a class, rid. They do, like, Les Mills' class, and they have, like, an at home thing that's really popular because of COVID.

Announcer

And my wife subscribes rid to it and and does, like, the workout videos online. And they I was, like, looking at it. I was like, what do they use? And they're a huge platform. They use Vimeo, rid Hosted on their own domain name, and you can't even tell that it's Vimeo via the player. But if you if you look at the code, you can say, I recognize these things here. This is Vimeo. Of it. If you were going for that type of solution, like, a lot of people would be tuning between Wistia and Vimeo and those type of it seems like an easy choice rid. For Vimeo to me because of what you get. Yeah. Wistia and there's a couple other ones. Those are more like Wistia to me is not like a A Vimeo competitor? Yeah. It's like a Mailchimp for video, you know, because they're they're for marketing people. I I guess, though, Vimeo also does have, like, a marketing leg to it. What else? Rid. There's there's Cloudinary.

Announcer

They're a sponsor of us as well. They along with images, they're known for. They also do

Scott Tolinski

On demand video too, I think. Like how much does it. Yeah. Yeah. Yeah. It's pretty cool.

Announcer

Like, you can on demand change the generate thumbnails and generate rid Different versions. So that's that's really good. I haven't looked at what their

Scott Tolinski

bandwidth pricing is, but that seems like a really good option as well. Yeah. It's good. It's not bad. And we looked into it, but there was, like, some issues where we were uploading a, video that was, like, too large UI and, like, the way that the UI handled the video uploading was different than how it would handle it from uploading it from an API. And at some point, we're just like, oh, yeah. I don't know. We're we wanna maybe specialize in something. And also there was Cloudflare, which I used briefly as well. I did, like, a bit of a tour. Oh, yeah. Yeah. We use Cloudflare for a little bit, but you have to use a custom HTML element called a rid Dream element that they just made up, and, their JavaScript, like, replaces it, but it causes so many TypeScript issues. I was just like, I'm so annoyed with this thing because You have this, like, fake element. So your your Versus code is complaining. Everything's complaining that there's this fake element, and if the JavaScript doesn't load, here's this Fake element in your code. It it's kind of weird. I was a little bit annoyed by that, but their the rest of their system was really nice. It was probably,

Announcer

You know, one of my favorite options to choose here. It didn't seem like Cloudflare cared about the service that much. It felt like it was like a An offshoot service, but at the same time, it worked well. They seem to be getting into a lot of different stuff right now. I would probably take a look at Cloudflare again in 6 months, a year, something like that because I bet it's gonna get pretty good. Yeah. Yeah. Lots of good options there. Go back to the video episode if you wanna hear more about that. We could talk about video all day, but it's pretty neat. All day. Next question here from Eric q. Hi. I'm trying to teach myself web development, but I'm having problems making up rid The logic for my personal projects.

Topic 3 15:31

Struggling with logic and relying too much on tutorials when working on personal projects

Announcer

I would love to watch YouTube tutorials or look at other people's code in order to implement simple features to my website myself, rid But I've been feeling pretty stupid for not spending the time to think about it myself.

Announcer

I feel like I'm missing out on rid Knowing how to solve a problem for myself whenever I copy and paste other people's code and try to understand afterwards, much, much of man, this this is a simple one to me. Rid. This is totally normal. You will get much better at this as time goes on. It's just like one day you're copy pasting somebody else's code and you're A 100% reliant on a library to do literally anything. Mhmm. And then before you know it, you you start to become that person that goes like, rid I'd rather not use a library, but I'll write it myself, you know? And I don't know what happens in that that time, rid. But everybody does this. Everybody needs to lean upon other people's code for more than you're comfortable with. And then, eventually, rid you start to get to, change it a little bit myself. I'm getting a little bit better. I can look at this and write the whole thing myself rid by just referencing it. And then before you know it, you're you think like, I'm not sure about React, and I made my own, framework that is much better.

Scott Tolinski

Rid Yeah. It 100 times faster. It does seem just like an evolution of your career. Right? As you go, you just feel more comfortable with that. Like, for I just remember so so many times When I would think like, alright. I gotta do a slideshow for this client. Let me just look for a jQuery slideshow, you know, find the best one and drop it in there. And I never even considered building 1 myself. That was, like, not a thing that was in my head. It was like, oh, never mind. But, like, nowadays, I'm like, We built a slideshow in 1 video in a level up tutorial series. It's like well, yeah, it's actually way easier once you once you dive into it, but for so long, it just feels like this black box of mystery of who knows what's inside of this stuff. Rid You know, I highly recommend and I know you do this too, Wes, is that when you're when you're trying to solve any sort of problem, really think about it from an outside non code perspective. Rid. Write comments that like, step by step. Let's say you need to do a login or something. Alright. What happens? Well, the password comes in rid the function. And then what happens with that password? We need to check to make sure that the password is the same one that's in the database. Well, we, we use the compare function or whatever, re Then check to make sure the user session is active, then we return the user if the user's okay. That's very simplified. But the idea is is that you rid Small steps like that. Okay. So before we head on to the next question, let's take a quick break to talk about one of our sponsors today, which is Vonage. Yes. Vonage

Announcer

is rid Probably know Vonage, but they have some really cool stuff that maybe you don't know about them and that they have a whole bunch of APIs For doing cloud communication that allow you, the developer, to integrate things like voice, video, SMS, chat messaging.

Announcer

Rid. Well, I'm looking here. The user authentication, user identity. Basically, they have a whole bunch of APIs that make building the hard parts of your app re Really, really easy. So if you want to integrate, like, video like, Scott and I are talking over Zoom right now. If you wanted to integrate that into your app, rid. You go ahead and reach for Vonage video. You wanna go ahead and integrate voice or maybe send an SMS with a single use code or something like that. Rid. Vonage has APIs for that. They have a conversations API that's in beta. All kinds of really, really nifty APIs rid That make doing really impressive stuff in your app very, very easy. So I want you to check it out at Vonage dotdev forward slash syntax, you're gonna get €10 of free credit when you are signing up. Thanks so much to Vonage for sponsoring. Sick. Alright. Next question is from Josiah

Scott Tolinski

Or he he actually wrote Josiah, so sorry for giving a soft j on that one. Hey, guys. Enter a compliment about how great Wes rid Scott and Zintech. Alright. Thank you. Thank you, Josiah.

Scott Tolinski

Man, I'm gonna do that that soft j.

Topic 4 19:40

Feeling like an imposter at new job using undocumented internal framework

Scott Tolinski

I just landed my 1st web development job after following the ODIN project and building out personal projects for about a year. I tripled my income and incredibly excited right before my 2nd trial is due as well, so the timing couldn't be any better. Well, congratulations. Wow. Yeah. That's fantastic.

Scott Tolinski

Anyway, as rid I work with 2 developers who have been working here for years. I have been using a PHP framework, which was developed by one of my coworkers with no documentation. In order to understand the code, I have to read a bunch of source and ask other developers questions.

Scott Tolinski

While I am doing well, I can't help but feeling like I'm working way too slow and asking too many questions. I assume this is rid Imposter syndrome lots of people deal with, but how would you suggest dealing with this type of anxiety? I do love the show, by the way. Okay. So this is definitely something, especially when you have a system that's built by other people that's not documented.

Scott Tolinski

That's very common. And, like, a lot of the times people say, well, this rid is undocumented. Well, you know what? Anytime you work in a real team and in a real environment, you're gonna find out that a lot of stuff in in your team's, You know, Playbook might not be up to the the standards that you find in open source because, at the end of the day, you know, time is money here, and and the the managers and bosses Don't really, like, care that much about giving developers time to test and document their code to the best. You know? It's, like, it it's not necessarily the highest priority rid Beyond, like, getting it working and getting in shipping. Not to mean it shouldn't be, but it it is. So that's very common to hit this type of code when you're working with internal teams. For me, I think one of the things that you should do is what you're doing by reading the source more, and it's gonna always feel rid This thing connects to this thing that connects to this thing, and you might not really get the big picture. It's gonna feel like you're just trying things to get it to work for a little bit, rid But you're you're doing the right thing by asking questions. If it's not documented like crazy, I highly doubt rid. That they are expecting you to be a master at this thing right away, so you're doing the right stuff there. And I think if you continue to practice reading the source, You continue to talk to these people. Not only are you going to become better at reading the source, you're going to feel more comfortable in this code base, but I think it's gonna help you long term Being able to dive into projects and being, like, less of less reliant on text to document things and more reliant on, read. Alright. Let me read how these functions work together and how the system works together in the code itself. To me, that was, like, such a huge step in my career When I found out that you could go into these GitHub repos and just paw around and see how it actually works, and sometimes It's different than what how you would have wrote it, so it's kind of hard to read, but it really always increases your skill and ability to spend that time really looking at the code and rid putting it together yourself.

Announcer

And if you do that, you can always document while you do that. That could help. Yeah. I agree. I also, rid Like, run into the situation myself when you're jumping into an existing project that somebody else has written the entire thing, and you're expected to work on it. And you're like, well, rid. Like, this is not some open source thing where I have a lot of experience, and this is some in house thing that then there's no documentation for it. So rid. That's totally normal. No matter, like, where your skill level is at, you you will be having to sit down with the devs of this and be like, look, I need you to rid Pair program with me on this, or I need to to be able to sit down and explain the ideas of how this stuff works. And probably rid. After a couple months of doing that type of thing, you'll get much quicker at it, and you'll be able to understand how those things work. Those devs should be willing to do it, although I know that there are Many senior devs who are more they just feel like sort of annoyed that they have to explain this type of thing to someone.

Announcer

Rid. But I think any good developer worth their weight should be willing to explain how this stuff works. It's like I think about it, like, for me, I would be stoked to have another dev working on stuff with me, and rid. I would really want them to code in the way that I would want them to code and and and the ideas behind the whole project, so that is pretty key. So rid. I would I would just, like, sit down with your main tab and say, hey. Like, what do you expect from me in order to when I don't know how to do something in this code base? Like, rid. Like, what do you expect from me? Do you expect me to, like, spend a couple hours reading the source, or should I reach out to you? At what point should I reach out to you? I feel like I'm bugging you sometimes, like, And just get that all out in the clear so that there's no Animosity? Hard feelings? Just get a get that out in the clear so there's no, like, rid Animosity or anything around that. Yeah. You know what? Also too, like,

Scott Tolinski

if I were you, these people have probably been working on this thing a long time, and they probably have some degree of Attachment to the code, like personal attachment or even, like, attached to their ego because they were involved in the creation of it most likely.

Scott Tolinski

So Make sure that you're cognizant of people's feelings in that regard. And, like, when I'm looking at other people's code that, That, like, they're bringing to me, you it's never like this sucks or this is this is no good or this is poorly documented or whatever. It's, like, rid Always come at it from a more positive angle. How can I how can I make this documentation for this project better? How can I understand this better? Like, Really take into consideration that, you know, humans wrote this code, and by insulting the code or whatever, you might be insulting those humans. Not to say you are, But just to have that in your mind is always important.

Scott Tolinski

Alright. Next question is from our big orange cat who hates Mondays, Garfield. Garfield asks about rid Monorepos.

Scott Tolinski

Yes or no? I've thought about monorepos.

Topic 5 25:18

Thoughts on using monorepos

Scott Tolinski

Our site's a monorepo. We have our API and our rid A build tool and our packages, we have, like, a form library. We have our UI. They're all separated into different projects that live inside of our monorepo.

Scott Tolinski

And monorepos, in my experience, have largely been a huge pain, but I wouldn't not do it. So, rid for me, it's a a worthwhile pain to keep everything colocated, especially our project. Sometimes I really dislike it rid in open source work, but I I can understand why they they chose to do it that way. Like, it's really annoying when you have, you know, 20 packages under 1 mono repo, and then the GitHub Issues are just a total mess. Right? But for my own work where it's not public like that, I like having everything collocated, and Some hosting services and some CLIs and some things are are are a little bit more difficult. You could always reach for a tool like NX or Lorna or rid Something like that. I chose not to because those tools add a lot of overhead, and at the end of the day, it was never really worth it for us, But I do see how they could be useful. You know what? I I'm into monorepos.

Scott Tolinski

I don't know if you've been following along.

Scott Tolinski

Jared Palmer has It's like Turborepo or something like that. I could be totally butchering the name right now. He's working on some new monorepo thing, So give him a follow on Twitter if I butchered the name. So sorry, Jared. Hit me up with whatever it's called. I can't find it right now, but he's working on something. And I got my eyes on it because, You know, I'm not super happy with any of the tools, mostly just because they require some level of buy in, or I've tried to use some of them in the past and they don't play well with Custom setups are they're made for very specific setups. So for me, I'm into it, but I wrote all my own tools for hours, and, you know, not everybody has the rid Time or energy to do that. Yeah. I'm I'm a big fan of them as well. If you wanna check out a really nice one, go to Keystone JS's

Announcer

repo. And it's really cool because rid. They have a massive monorepo with probably 30 different packages in there, and every single field type rid is its own package, which is really cool because they are essentially using their own APIs to create these fields. And if you wanted to make your own field input, you would just have to take a look at one of the examples that they have there. Like, there's an auto increment field or re Authentication relationship field or all these different types of fields that they have in there. And when you're hacking on rid One of the fields that is in it, it's really easy just to clone the entire monorepo. And if you need changes to 3 or 4 packages all at the same time, rid Then you can just there's just folders, and you can just edit them. And it's really, really simple. And it's not easy to get the stuff up and running, but rid. As somebody who has worked on projects that are already set up in monorepos, definitely enjoy that. Gatsby is the same way. If you take a look at rid. Repo. They have a packages directory. They probably have close to a 100 different packages in the repo.

Announcer

They can publish them all at once. Rid. You can also track changes via commit histories if you're using conventional commits. If you're using conventional commits, you can automatically generate all that type of stuff. So rid Just because the way JavaScript is in that everything is always just this tiny little package, it would be a nightmare to have to try to Like, I don't know. If you wanted to open up an issue on 1 of a 100 GitHub repos, that'd be that'd be very, very difficult. And if you need to work on something where you are touching

Scott Tolinski

3 or 4 different repos at once, it makes it super simple. Yeah. You know what? I'm looking at their monorepo right now, and I cannot find Which one? Keystone's monorepo on GitHub.

Scott Tolinski

It's using Yarn workspaces, which have now come to NPM, by the way. But other than that, I, like, can't find if it's using it doesn't look like it's using Lerna or Next NX or any of the sort of Popular ones. I'm I'm trying to just see if they are using something to manage their monorepo besides their own just, like, their own scripts, But I don't see anything, so that's neat. Yeah. All there is is just if you look at the build command Scripts and

Announcer

workspaces and ready. Yeah. Yeah. Just using that. So, yeah, we should have, Jed from Keystone on to ask about that as well as some other questions I have.

Announcer

Next question from how do you say this 1? Jarek? Jarek. Jarek, as a brand new self taught developer, re How would you know if you're ready of to apply for a junior position? This is a question we get a lot. We just did a past show on, like, rid. Hirable skills in 2021.

Announcer

And I got some, like, really good DMs about that, actually. People are like, oh, thank you. Like, I was having trouble figuring out really what to to focus on. Rid. But the question of, like, how do I know if I'm ready to start to go ahead and apply for these junior positions is rid. A really interesting one. And I I think we've answered this before in that you can just go ahead and try and see if you start getting interviews or if if you don't. Rid. I would say if you have a good grasp on your fundamentals, you're able to use a couple frameworks here or there, And you've got 3 or 4 decent things in your portfolio, I'd say that's a pretty good target to reach. Yeah.

Scott Tolinski

And I'm just gonna say, you are ready. Apply for it. It doesn't matter. If if you don't get that job, then you got experience In that kind of interview, that's going to inform you in your next interview of the same level. You know, when I first got my very first dev job, I really thought it was rid Above my skill level. I had only done sites for freelance clients or or myself, and I had never had a professional dev job. I didn't go to a boot camp. They didn't even exist, so it was, like, I I just did not think I was ready, and my wife convinced me that it was My dream job, and then I needed to go for it. I was working at an as an audiovisual projectionist at the university, and, like, is like, there's no way they're gonna hire me when there's other developers.

Scott Tolinski

And sure enough, I wrote a really good cover letter. I, you know, did the best to explain why I'm passionate about, You know what I do or why I really like what I do and the effort that I put into it, and they gave a chance gave me a chance. It allowed me to develop the Skills that I wouldn't have developed any other way, and that opened the door to just about every other career opportunity that I've ever had. So apply for it. Rid I had to be convinced to apply for my 1st dev job, and I got it. So not to say that you will get it or whatever. It doesn't matter if you do or don't. You need that experience applying and talking to professionals to see what they want to see out of you. Alright. Next question is from rid. Lassie Norfelt.

Scott Tolinski

K.

Scott Tolinski

Will there ever be a dot eat domain or are preorder sites just ripping you off? Rid Would like to know who decides what domain suffix or possible or not. So he's saying that that he received rid There's, like, a preorder available for a domain for a dot eat domain, and they're wondering if is that, like, a thing that I can be confident that this will ever exist. Now I don't have a ton of insight in here, but I know you are big into this, Wes. Re Yeah. I don't know specifically if there's going to be a dot eat, but the question of,

Announcer

like, there's all these new TLDs, top level domains. Rid. Can anyone just go ahead and, like, make 1? So this is under the authority of ICANN, which stands for, rid. What is Ant? The Internet Corporation For Assigned Names, and they're basically the people behind who allows to have a rid a dot lawyer or dot accountant. And in the last, I don't know, 8 years or so, we've seen a just a huge swath of new TLDs come up. There's two rid. Types of TLDs. There's g TLDs, global top level domains, and then there's cc TLDs, which is country code TLDs.

Announcer

And anybody is available allowed to apply to make up a new global TLD, and actually looked into it. The process is rid. There's a huge process you gotta apply. You have to show your business model. You gotta show, like, 3 year revenue projections, whole bunch of information about that. But rid. At the end of the day, it costs $185,000 US to apply and then a $5,000 deposit fee when you are registering.

Announcer

Rid. The deposit is credited against the evaluation fee. Other fees may apply depending on the specific application path. If you go on the ICANN's website, you can re Download this huge PDF that actually shows you what the whole process is. So if I wanted a dot west domain name, I could go ahead and apply for it. Rid I doubt that they would give it to me because I don't really have a business behind selling these types of domain names, but, certainly, anybody is rid is allowed to do that. We we also see a lot of people apply for them and then just not offer them up. I think you don't have to sell them rid. In order to get a TLD, because I I think I remember there being, like, a .coke or something like that. Let me look it up. Gee, re The TLD operator may choose not to sell 2nd level registrations, meaning somebody can buy dot coke and pay to maintain it, and they can use it themselves, rid But they don't have to allow other people to be able to use them without Coke, so kinda interesting. Maybe we should get a dot syntax. Anybody wanna chip in for if there was 1 word that you would be allowed to use for a dot TLD, what what would it be? Me? Yeah.

Scott Tolinski

Oh,

Announcer

gosh. I have never ever ever thought about it. I would probably get dot boss. How sick would that be? West dot boss? I'm gonna get dot Talinsky.

Scott Tolinski

Okay? How about how sick would that be?

Announcer

Is there, like, a limit To the number of characters. The limit's probably shorter than Talinsky.

Announcer

Well, there's I think there's dot accountants. Let me let's find out what the longest one is. While you are doing that, I will read the next question.

Scott Tolinski

Okay. Alright. This next question is from Kevin. He says Scott and Wes really enjoyed the podcast. I'm currently employed as a full stack developer, but want to build a portfolio for job hunting. Would you say it's okay to reference a project or two from an employer? My problem is that the only projects I have outside are mostly smaller build tools for myself, rid. For fun, I would love to hear your thoughts on this. Kevin, unless you are bound by an NDA, put all that stuff in your portfolio. Those are the the things that Hiring managers want to see. They they care much less about your side projects than they do real client work. So, like, if I was looking at real client work Compared to, like, some side projects, I would be like, okay. This is great. So, yes, unless you are bound by an NDA that says you cannot show off that work, Please show off that work. Put it in your portfolio. Yeah. Seriously, just go for it. It's so key

Announcer

to be able to show real world work rid Rather than just like like everybody has sample projects and and silly things that they've built, but showing that you actually worked on real world stuff, I don't know. Just go for it.

Announcer

Ask for permission later, maybe.

Scott Tolinski

What is it? Ask for forgiveness rather than ask for permission? Yes.

Announcer

Alright, Scott. I have answers for you Oh, yeah. On the longest TLD available. Let's hear it. It is 12 characters long, dot construction.

Announcer

Okay. Okay. And the 2nd longest one, dot contractors followed by dot accountants.

Announcer

And then the the shortest one are just 2 letters, .es.

Announcer

W.es

Scott Tolinski

would be a really cool domain name. So okay. I just I'd while you're saying this, I can't I decided that mine would be dot dope.

Announcer

Dot oh, that would be good. Scott dot dope. I'll take it.

Announcer

That's great.

Scott Tolinski

Oh, I like it. One of our sponsors actually has A neat little domain, sanity.io.

Scott Tolinski

I always like that sanity.io.

Scott Tolinski

That's a really cool domain.

Scott Tolinski

Wes, I know that you just did the last every, but you really love talking about Sanity. Do you wanna talk about Sanity? I do wanna talk about Sanity.

Announcer

Rid. Sanity is a structured content CMS used by massive companies all around the world, Small companies all around the world, Cloudflare, Nike, National Geographic, Sonos, Conde Nast, Figma.

Announcer

West Boss. Rid. Wes Bosch, my own tutorial on Gatsby uses Sanity, and it's an awesome rid Headless CMS, which means that you sign up for Sanity, you clone your demo project, or you start a new project with a blank slate. Go ahead and you create your schemas, which is a word I'd love to say, and which is your data types. And each rid. Data type will have fields. Each data type can have relationships. 1 to many, many to many, things like that.

Announcer

That's really where Some of these CMSs and, specifically, Sanity will shine is when you have many to many relationships and you update them on either side. The question is, does the other side update? Because sometimes you you go into CMSs, and you're like, no. You have to update it only on one side. Like rid Like, a person can be related to movies, but if you go to a movie and change the people that are in that movie, like, it doesn't sync both ways. Rid. Insanity does an awesome job. But, actually, they have a really good movie example that you should check out for yourself. Then once you've made your CMS, re You can host the thing yourself. You can make your own custom React inputs if you want. And then once you have that out the other end, you get a, rid. API endpoint, they have this really cool thing called Grok, which is a query language to query the different types of data you want. You can also use GraphQL with them, and you can integrate it with literally anything that can fetch some JSON.

Announcer

So like your React application, Gatsby, Next. Js, View, you name it. So check it out. Sanity.i0forward/ syntax.

Announcer

That's gonna get you double the free usage here. Thanks so much to Sanity for sponsoring. Nice. Read. Alright. Next question. What's my name again?

Scott Tolinski

Hey, guys. Love the show. My life would be incomplete without it. Sincerely, rid Obligatory comment out of the way, winky face. Alright. Here's my question.

Scott Tolinski

Should developers always use their real first name And last name when presenting themselves as professional online.

Scott Tolinski

Twitter, LinkedIn, GitHub, personal site, etcetera, or is it acceptable to use a fake last name? My wife is conscious about privacy online, so would prefer I retain some anonymity.

Scott Tolinski

But, also, my last name is generic, not very Google able, rid Thinking John Smith, I thought having a more snappy interesting name would help me stand out and be easier to find in a quick Google. You guys are both awesome names and very unique and hard to forget. I would say that Wes' name is Unique and hard to forget. I would not necessarily say that my last name is because Everybody spells this lane with a y. Everybody thinks I'm Russian. Yeah. Because rid Spell my name with a y. But yeah. No. I, you know what? This is an interesting question because I thought about this too because, like, me, personally, Talinsky, not easy to spell. I've my rid life, it it seems easy to spell for me, but my entire life, people have been spelling it incorrectly, like, since I was 2 years old. You know, it's just always you always have to spell it out for people. And so at some point, like, maybe, like, 4 years after I got into this, I was like, Man, I really should've come up with a fake name because for no reason other than, like, Wes Bos is Six characters. That is less characters than my entire last name. So, like, that seems like, oh, that could've been a really good opportunity.

Scott Tolinski

Rid I have no idea what kind of fake last name I could've come up with, but if I could go back in time, I might do it just for that alone, just to have it rid snappier and and easier to to come up with. But what's funny is that all of the people I know with, like, really cool names, like, that's That's their real name. Like, I don't know anybody with a really, like, buttoned up cool name like West Boss. That's they're not their real name. Rid So I don't know.

Announcer

I I I might I might do it myself, but,

Scott Tolinski

Yeah. Who knows?

Announcer

I went to school with Steve Oh, Which is, he was Asian, and I think his his last name was just the letter o. Like, that literally his last name was just o. Yeah. And he could never sign up for stuff because everybody was like, hey.

Announcer

Put your full last name, not just the initial, and he'd be like, ah, it is my actual last name.

Announcer

Not to mention that his name was Steve o. Like Yeah.

Announcer

I would say absolutely both from a privacy standpoint. Like, I'm okay with having my name out there. But, yeah, like, it it is a bit of a privacy, rid thing at the end of the day, if somebody knows your in entire name, and you could possibly re Get into some hot water with that, especially also, like, if there's, like, a serial killer with the same last name as you or there's somebody in the same industry with the rid. Same name as you. Like, sometimes you search for somebody and you find 2 developers with this exact same name, and that could, like, muddy the water. Because if somebody rid Does something bad or writes a blog post that is not good. They could accidentally be attributed onto you, and then rid. The whole the mob will be on you. So I can see why wanting to be both unique and as well as have privacy.

Announcer

I think it'd be really cool. Like, rid We've had David k Piano on the thing, and everybody knows his name.

Announcer

And his last name is not Piano. What's his last name? Kershot.

Scott Tolinski

Rid Cur Kurashant. Yeah. See? We would not say his full name. We would just say David the state machine's David if if if we didn't know his his last name. I would kind of, like, look at my my some of my state code, and I would just, like, look at it for a second, and all of a sudden, David would pop in because he knows that it should be in a state machine instead.

Announcer

Rid.

Announcer

Yeah. Definitely go and make your own your own cool. I would probably use my first name, and then make up, like, a cool last name like Scottie Sniper or something like that. Make sure you can get the domain name. Make sure you can get the Twitter handle, the Instagram.

Scott Tolinski

Go full Full rebrand You could go, like on Yeah. A cool last name. Hypermask and say, look, Scott Steele, Scott Maximum.

Announcer

Scott Maximo.

Announcer

Wait. What's a what's a Scott CEO?

Scott Tolinski

That's better than a boss. Right?

Announcer

Scott dot construction. Scott dot Yes.

Scott Tolinski

Oh, that's so very good.

Scott Tolinski

Alright. Last not last question. Next question is from an anonymous. Rid it says, how do you find time to work and keep up with updates and libraries while having jobs, wives, and kids? That's not what they I I those little freestyling what they wrote, but it was having a wife and kids.

Scott Tolinski

You know what? It's our job. That's really how we do it. A lot of people get, like, They see us and they say like, oh, man. You guys are on top of different stuff. Not only are we not on top of all these different things, for instance, the server React component episode has sat in our to dos for a little while because Wes and I just don't have the time to prepare for you just yet.

Scott Tolinski

Yeah. So So there's that aspect of it. One, it's our job to be up on this stuff, so don't feel bad if it's not your job to be up on this stuff and you're, you know, doing a lot of other things. 2, it's not easy, man. I I am, well, now I'm working 40 hours a week, but For the past year, I've only been working 20 hours a week. So 20 hours a week to record a tutorial series every month to to update the dev in the site constantly To record syntax is not a lot, and I have just been barely keeping my head above water. So if it seems like everybody is rid up on it and everybody's on top of it, chances are that's not the case.

Announcer

Sometimes you see these kids who are up on literally everything, rid. But that's not the case. Most people don't have that much time to keep up on it. The whole point of this podcast is you just listen to this podcast. Rid. Maybe you follow a bunch of people on Twitter, and that should be enough to try to keep your ear to the ground. And once you start hearing us talk about things, we always say, if you hear about rid. Talk about selling 16 times, then it's time for you to start looking into this type of thing. Otherwise, that's what the podcast is for. You just like we talk about stuff and you rid. Here at top of mind, and you you go on a walk the dog, go on a car ride. And just, like, through that, you're being able to rid Keep up to date on this type of stuff. You don't have to go ahead and build stuff in it. You just have to know about it. And then when it comes time to needing a specific piece of tech, rid. You'll have, like, okay. I understand what it does and how it works. Now let me actually get into the nitty gritty of understanding how to write the code to do this thing word.

Announcer

Ready. Next question from.

Announcer

Hey, Wes and Scott. I am a beginner making course content. I am Trying to create a programming tutorial, but every time I record tutorials, I have compromised on audio quality.

Announcer

Lots of background noises get captured on audio. I have a noisy neighborhood.

Announcer

Can you share some tips to make a soundproofing room? What trick do both of you use? Yeah. This is this is a good one. And this is honestly, I think a bit of a competitive advantage for me is that, like, I have a really, really good room that is very quiet, rid. And I'm able to record in it whenever I have time to do that. And it's not like I have to be like, alright. I'm gonna schedule a recording and rid. Make sure the kids are out of the house and and all that stuff. I can just turn it on. So some tips for you is rid. Most noises that come into your microphone are not noises. They're vibrations.

Announcer

So rid. People walking across the thing, a loud truck rolling by. You can get rid of a lot of those vibrations.

Announcer

The biggest one is typing on your keyboard, rid. And the the vibrations go directly into your microphone. So the easiest way to do that, get a little shock mount for your microphone. They're, I don't know, $30 or so. Put a t shirt underneath your keyboard that will dampen a lot of the sound. And then past that, the d b x 286 is a, what, Preprocessor? Is that what you call it? It's a pre

Scott Tolinski

what do you call it? I do. Well, I it, it's just Such a web developer thing to preprocessor.

Announcer

Pre well, hold on. It says preamp. So it's a re preamplifier. And, basically, what it will do is it will it takes out a lot of those things where like, just right now, I don't know if you're able to hear that, but There's a baby monitor 2 feet away. Scott, did you hear the baby monitor go off? I just got up and went. See? No. Like, the baby monitor, My wife turned on the sound machine and put our kids to bed, and it started going.

Announcer

And I walked over and turned it off, and Scott didn't even hear it in it. And it's It's sitting like 2 meters away from my microphone. Why? That's because the preamp takes all that sound out of it takes a lot of that background noise out. I can have a truck roll by. Rid. I'll often have my my windows open in the summer. There's a I can hear the kids screaming from there's a there's a school down the road.

Announcer

Rid A lot of that can just be taken out with a nice nice, quality preamp. Past that, Scott, you have a a pretty noisy environment as well. How do you do it? Rid Yeah. And if it it goes to show you anything, there is a literal tree cutter outside my neighbor's house right now cutting down a tree this entire episode.

Scott Tolinski

So if that hasn't ruined your life while listening to this, then then, yeah, my my setup is is good. Well, okay. Here's the deal. We're in an old house, 19 twenties house, rid Single pane glass windows, original windows, the ceiling on them is absolutely terrible, and you can hear Everything. Like, your child yells for a second outside, and it's gonna come into my office. So this DBX 286 is, rid The thing, being nice and close to your microphone and having those gates in in set up so that, you know, your microphone is only going to catch, but also the compression to be able to pull out any of those background sounds. Either way, if you were recording in a noisy environment, this thing will make your life Better. Another thing, dynamic microphone. Don't get a com I was just saying compressor. What the what the why why am I blanking on the word? A power a powered mic. I don't know why I'm blanking on the word. Rid. All that's coming to me is cardioid.

Scott Tolinski

I don't know. I don't know why I'm blanking on this. I have 1, and it picks up way too much sound. So either way, rid Get a Wes, microphone like Wes and I have. I have the ElectroVoice RE 20, an microphone that's made for maybe noisier environments Rather than something, like, that's going to pick up a ton of sound, making this microphone switch in the 286 was the biggest thing.

Scott Tolinski

Rid. Why couldn't I think of that? I was just thinking compressor compressor.

Scott Tolinski

That's probably the biggest things. My room is way too noisy. So what are your tips on soundproofing a room? Unless you you have the ability to build a room within a room and you have the ability to do major construction, Don't even don't even consider it. You know, you'll wanna maybe put up some sound deadeners. One thing that I did is is think about, like, Airflow. Anytime there's airflow into your room, our doors are really old, but even underneath the door. So I put in a rubber door sweep, and then I rid Clogged the keyhole that's like a basically, just an open hole into the rest of my house. So I have found the areas Where airflow comes into my room, and I've largely shut them down to be able to deaden out some of that sound. But you're not going to be able to solve all of it.

Scott Tolinski

My best friend is an audio engineer. He came into my office and was just like, yeah. You don't really have a ton of options. So, like, here's what you can do to make it better, but it's not gonna be Perfect by any means. So don't worry too much about it. Let these things this help you. And, also, Wes, you said sound is vibration, vibration is sound. That's it reminds me one of my my favorite songs. I'm sparked waiting for the dark to hit because once moves gives my apartment, I catch fits for starting. Beep. I'm smart with it. I give it that special touch when I push it because I'm off the label rep, and I can't allow no beep.

Scott Tolinski

What? So song sound is one of your favorite songs? Sound is vibration.

Scott Tolinski

So search, kid. Shush baby shot your eyes.

Announcer

Lay your head back. Shed the tears and let the tears crystalize.

Announcer

Oh, man.

Scott Tolinski

Us rapping on the show is really pinnacle. No.

Scott Tolinski

Very good. It's very good.

Announcer

What else is very good, Scott?

Scott Tolinski

Error the best error and exception handling service rid To capture all of your errors and exceptions and handle them and even give you performance notes, like a user misery score. I'm talking about Century. That's century.i0.

Scott Tolinski

Use the coupon code tasty treat, all lowercase, all one word, and you'll get 2 months for free. Now century at century.io really, really, really, rid Saves my bacon all the time. We had we pushed a pretty substantial update tool, LevelUp and the API a couple weeks ago, And we are watching Sentry, and all of a sudden, you see those big purple bars spike up, and I'm just like, oh, something's wrong here. Uh-oh. Yeah. You know? And it turns out it was just a miscommunication between when the API we had a new version of the API that was incompatible with the new version of the UI, ready. And, you know, when you're building both of them and pushing them both live, there was, like, a discrepancy of, like, maybe a minute or so in the difference between. But in that minute, rid. There was a bunch of errors. And so what Sentry allowed us to do really quickly was to see that this little spike almost looked like a bell curve of when this started and when it ended. Rid It allowed us to see really quickly that this was not anything that we needed to drop and fix or wasn't anything that we needed to freak out about. It was just a temporary disruption. And one of the things I love about Sentry is they give you not only just it's not just like a big table of all of your errors, but they give you these visual used in visual tools and all sorts of different ways to be able to see it. Even their user misery chart for how long, rid. Routes take to load is like a visual thing. And for somebody like me, I love seeing these kind of charts and figures and all this stuff about what things I need to worry about, when I need to, be concerned with this. So head on over to century.i0.

Announcer

Use the coupon code TastyTree, all lowercase, all one word. Get 2 months for free. Alright. Next question from Kirky. As someone who recently learned and is learning how to build websites with Node Express and React rid With a little bit of Django on top, how did you start building a portfolio that isn't just a bunch of practices slash showpieces? How do I actually get clients? Rid. This is a really good question too because a lot of the times, people who are hiring, and we've heard this from people who are hiring, is, like, they they see the same rid Projects over and over again, a to do list, a a recipe, blog. They see the same things that rid Everybody is building, and that stuff doesn't necessarily stand out. It's good to show that you can build these types of things, but, really, what they wanna see is, oh, you did a tutorial or you learned something, and then something in your head goes, ah, but I could use that for x, y, and z. And I see this a lot when people take my courses is they say, ah, okay. Wes, I I rid. I got 80% of the way through your course, and then I said, I I bet I can make something my own on this. And I love seeing that because it's like, That's how you learn. Right? Then you then you start diverging and and using the tech you've built. And I didn't like this part of the tech, so I swapped it out and put my own piece in. And, like, that's That's really where you start becoming your own. So, what I recommend for this type of thing is have a couple projects, 2 to 3, that are small enough that you can rid Actually, finish them. Like, they don't have to be massive project out there, but real enough and big enough that they're not the same example tutorial over again. So rid. All I did right now is I just thought in in 2 minutes, here are some examples of stuff that you could build, and I'm always thinking of example apps. So I've I I I should just make a list of a 100 things at one point, but We should do that.

Announcer

Yeah. We should do a whole show on rid Apps you could build. Yeah.

Announcer

A camera that texts you a picture every time there is motion. This is something I've done. So get a webcam, get a old laptop that you have sitting around or old Android phone, put it in the window, run WebRTC, And then whenever there's motion or if you could even use a, like, one of these AI APIs where you send the photo to it, and it will return to you, like, 80% Confidence. There is a a car in this photo or 80% confidence. There is a FedEx in this, and then it will tell you, then you could wrecked. That. So you could hey. You could use one of our sponsors today, Vonage. Send an SMS.

Announcer

Say, hey. There's a FedEx truck in the photo. Right? Rid. That is something that would probably take a couple days to actually build, but it just shows the person who is hiring you. This person has the type of mind that is ready. Always turning and thinking of new ideas. Another thing that came up this weekend was my daughters love to do coloring sheets, and sometimes they have pictures of like, There's a picture of a fairy this weekend, and they wanted that, but in a coloring sheet. So we have this app on our phone that basically just draws outlines of photos.

Announcer

It's, like, $10, and we don't pay for the app. We just screenshot it and print that. And I was like, somebody should build a web app with Canvas that does edge detection And then turns a regular photo into a coloring sheet. Right? Chore generating chart, workout logger, something after I posted my ready. Video on how I did shipping t shirts. A couple of people said, hey, that's really cool how you did, like, the barcode scanning with the actual barcode scanner in webtech.

Announcer

Rid. I'm gonna build something like that for my portfolio because that's that's interesting. Right? That's interesting to the person who's building it. That's also, rid Like, how many people have barcode scanning apps in their portfolio? Right? Plant oh, Scott's got a couple here. Go ahead. Well, I just

Scott Tolinski

rid I was I went to did, like, a plant watering timer. Right? I have all these house I'm a houseplant person. Right? I'm one of those people.

Scott Tolinski

And I went to download an app that was advertised to me on Instagram that was like, will this Apple tell you when to water your plants? Rid Look, oh, that's great. I could really use a reminder of when the last time I watered the plants was.

Scott Tolinski

But then I saw that they charge a monthly subscription for Plant reminders. Come on. You could Come on. Put this on a calendar, and it would be the exact same. Like, I was I just like, this is rid Absolutely absurd.

Scott Tolinski

And you know what? They have tons and tons of downloads and 5 star rankings. I'm just thinking, like, rid Ned, you could create a plant water timer

Announcer

in just about no time and charge some money for that. That's something that that's, like, so easy. A lot of people are are probably listening and be like, well, there's already an app that does that. And, like, it's fine if your app is not the same as, like, this, like, massive app That is already in the App Store or the website of park reviews is already Google reviews already does that. Rid. It doesn't matter if somebody's already done it. It just goes to show that you wanted to create your own thing, and you went out and put the tech together and actually ready. Built this thing. Even though it doesn't have every single feature ever, it's kind of fun to have these little playgrounds for that. So that's what people listening need to do is they need to just go And solve some of your own problems, not the ideas that I just said because those are my problems. Those are things that I'm excited about. But, like, what do you need solved in your life? Go ahead and do that. All of these have always been that for me. Like, I I wrote

Scott Tolinski

a a tool to help me remember the dance moves I have for my breaking battles. In breaking, if you do the same move twice, it's really, seen as being bad in the eyes of the judges. And so I would always be like, did I do that in the rid 1st round, I don't remember. I have to check the footage if I did that or not for some reason because I have a bad memory. So I made an app that allowed me to List all of my dance moves and sort them by difficulty, and allow me to just check them off whenever I use them. And I was like, people at Competitions would be like, man, what is that? What do you what do you got? I'd just be like, oh, I just made it. Like, it's oh, it's just being run on my local server. Yeah. So, I mean, just, like, little things like that. Right? Solve your own problems.

Scott Tolinski

And, again, I I thought you had a a really great point about, you know, if you're following a tutorial, just tweak it a little bit. I used to even rid Go as far as, like, if you are too fresh to be able to really understand how to tweak it a lot, even just changing the names of things gets your brains working in a little bit. Like, if somebody's doing a to do app, which is the most basic thing, then make it be a resolutions app Or just something like that. I've always done that to make it just a little bit different so you're not copying and pasting. You're having to actually put a little bit of a brainpower into it.

Scott Tolinski

Last question for today is from John. So we got John and Garfield. Where's Odie? We gotta get Odie in here.

Scott Tolinski

Odie, somebody submit a question for him, Odie, please. Please. We need all of the rest of the gang. Alright. John Arbuckle. No. Just John says, rid Should I be using multiple web apps on a single site or try to make them all 1? If I have a site that displays blog posts about a project, about parks, for example, Then a page with all the parks listed out, that link to a page about a specific park details. Should I be making the entire thing one app Or just make a blog post or blog app and publish it, then make a different app for the other content and publish it to a subdomain.

Scott Tolinski

Love the show. Y'all are a big part of why I keep at it and keep learning. Alright.

Scott Tolinski

So rid I have intimate experience with this. For instance, LevelUp Tutorials has a blog. LevelUp Tutorials has a store. And A couple of these things used to be their own web apps. For instance, the store used to be a completely separate web app, separate domain that ran on the same database as the site rid Move them together. The blog was originally written as a Gatsby site just using similar CSS or the same CSS, but I was just really annoyed when having to maintain so many different separate projects. And at some point, it's like, oh, yeah. You know what? Rid. Creating a blog is gonna be kinda tough, but it's not gonna be that tough for our needs. I don't need this blog to be medium or WordPress level of features. I don't need it to be, like, that intense. I just need it to be able to display post and type data was posted and who was posted by and the title and a listing and an archive or whatever.

Scott Tolinski

And for me, I went from having all of these things broken out into services to bringing them all under 1 one umbrella And having them all run as 1 app. So for me, how I would do it, I would have them all be 1 app because I have been to the edge and back and done the many separate apps, and it was a PIA. I'm gonna go the opposite and say keep your marketing I'm assuming the blog is more of a marketing place.

Announcer

Keep your marketing and your actual app rid. Separate because the marketing people love to dip their toes into the blog and not all Well, it depends on if you got marketing people. I don't have rid. I'm sure if you're marketing people, then then maybe it's just another content type with with the title field and the input field and things like that. But rid. If you wanna run a b test, then all of that stuff is not muddying up your actual application logic. That can be done on a totally separate platform that moves that maybe a different rid pace, then that type of thing. And we that's pretty popular. Like, you look at any let's look at our 3 sponsors today.

Announcer

Sanity dot io, their blog is I'm gonna open them all up. One sec. The LogRockets

Scott Tolinski

blog is its own thing. You know what? You know what LogRocket should call their blog? They have it as blog.logrocket.com.

Scott Tolinski

They should call it Blog Rocket. I know. What the heck? It looks like this is WordPress. Rid. LogRockets is WordPress, which their app, obviously, is WordPress.

Announcer

So I'm just looking at it. It seems like, Yeah. Sanity's app is at manage.sanity.io, but their marketing website's atsanity.io.

Announcer

Sentry's app is located on the same one. Let me see. No. And the blog is at blog.century.i0, and the app That's Century. Io, and Vonage has their blog on a different domain than their actual they have a lot more products. So I I'm assuming they have even more than 2 services out there. So most of these big companies will put their blog and their marketing on a separate subdomain. It's important to keep it on the same subdomain because you can rid. If you do need to integrate stuff like, you know, you maybe need to pull a list of services or or or data from your actual application, then you can just rid Surface that stuff via an API endpoint.

Announcer

And especially if it's on the same domain, you can still you can even show the user if they're logged in or not in the in the title bar even if it's rid Two totally different apps because it's on the same domain. It make it makes course easier. It makes HTTPS easier. It makes all that stuff easier. All that. Yeah. Never do different domains like I'm doing. It's very tough.

Announcer

I think that's rid it for today. Thank you so much to everyone for submitting your questions. Those are awesome. Let's get into some sick picks for today.

Scott Tolinski

Sick. Pets, do you have 1 handy?

Announcer

I do. I'm going to sick pick my new soldering iron rid Soldering iron.

Announcer

It's a MiniWare TS 80 p, and it's a really, really slick, ready. Tiny little like, I'm going to show you how it's maybe like 3 inches big, this little tiny soldering iron. Ready. And it has a a tip that goes in it. It uses a headphone jack to plug in as a tip.

Announcer

It's all metal, really nice rid Constructed. And the the sort of the killer feature of the TS ADP is that it can be powered off of USB, rid. Which means you can't just, like, use your, like, dollar store charger on it because it takes 30 watts. But if you have one of these nice power banks that does power delivery or quick Charge.

Announcer

Or if you've got the USB C charger from your MacBook, all of those will give you enough juice in order to power this thing. And re Being able to have a wireless soldering setup is so so nice. Like, the stuff that you need to solder. You're either sitting at like a kitchen table and there's no plugs available or like for me, I'm I'm soldering a bunch of stuff, wires on my ATV and like rid. You're in maybe you're doing it on the driveway, and you have to run an extension cord, things like that. It's such a pain. So it's not the most powerful soldering iron ever. But for the type of, like, little wire and small electronic stuff I'm doing, it's been awesome so far. I'm really, really excited about having a nice tiny little and, also, it has, like, a hackable firmware.

Announcer

So you can, like, set, like, custom firmwares on it, and It's like the Linksys router of soldering irons.

Announcer

Really, really cool. So check it out. It's the MiniWare TS 80 p. I'll put a link in the show notes for it. I've been getting into hacking my,

Scott Tolinski

you can see my remarkable tablet here. I've been getting into hacking my remarkable tablet. Oh, what have you been doing to it? Well, it turns out you can SSH into it really easily, and it makes it like I can replace like, for instance, all I did to get this, like, Sleep screen on it. I'm showing the list. I got, like, an elevation. This is actually Denver. So this is the Rocky Mountains in Denver, And it's the sleep screen I did just by, copying the old image and moving a new image onto it. You know, what is the SCP? By moving an image onto it, and it's pretty neat. I I'm very concerned about goofing it up because you do get, like, full root access, Like, straight up, and I don't wanna goof up anything. But, I'm taking little baby steps. People like hack in to this thing and add new apps. Rid. Like, they've added, like, crosswords and Sudoku and a bunch of, like, interesting little things here to it. So my sneak peek today, Wes is going to be the Cam Link 4 k. In the episode about our desk setups, I had a bunch of people message me. They'd be like, My Cam Link allows me to plug everything in with 1 part, and great. Cool. Mine does not. However, I began to look into it, and I I had the Cam Link, the old Cam Link, which came out before the 4 k existed.

Scott Tolinski

Well, I I was like, you know what? It's worth it to me, and I actually use this over on my Nintendo Switch. So having 2 of them in the house, rid I can be okay with that sunk cost. It's not like it's just a a useless replacement. Also, my camera is a 4 k camera, so having a 4 k rid Cam Link seems like it's probably the best idea. So I got the 4 k Cam Link, and it works. It's plugged into my CalDigit three t, read. And I got a new cable for my external USB C monitor, and I now have my entire setup, my cam link, my monitor, Everything. One cable coming out of that cal digit. It's a dream. It's a dream. This is exactly what I was complaining about in the last episode. So rid. The Cam Link 4 k, for those of you who don't know, it's a it basically looks like a USB key. One end is an HDMI, the other end is USB, it allows anything that has an HDMI clean signal to come into your computer. We use it for not only using my fancy cam as a webcam, but rid Also, streaming Nintendo Switch games over Zoom so my whole family can play them. So, stuff like that. Yeah. So that's what I use the Cam Link 4 k for. It is rid So easy. You plug it in. It works. It's fantastic. I love this little thing, and, yeah, that's my sick pick.

Announcer

I'm just thinking back to the days when I had a component out on one of my video cards. I remember I hooked it up to, like, a old CRT TV, and it was just like, this is amazing. I've been waiting my whole life To be able to hook a computer up to a TV or or the or vice versa, you can have, like, a capture card where you, like, you hook your rid. Camcorder up to it and play it back at real time and capture that value. Things have gotten a lot, lot better. This and the this, The 4 k Cam Link is it's been awesome. Yeah. I have it, and, I plug it into a powered hub.

Scott Tolinski

And, the thing is just rock solid for me. Yeah. Rock solid. Alright. Shameless plugs. I'm going to shamelessly plug the latest level of tutorials course, which is called node fundamentals authentication, And I've already gotten a ton of great feedback on it. People saying that this course really takes its time giving you all of the the in-depth writing your own authentication system, and we're doing it from scratch as an exercise to show you that It's not as mystical and mystifying as people may have led you to believe. We talk all about the differences between encryption, salting, and hashing.

Scott Tolinski

One of the videos is WTF is a JWT, and we have a lot of fun stuff like that. So we really take our time explaining all of the concepts. We use HTTP only secure cookies, all sorts of neat stuff. We talk about sessions and validating sessions, refreshing sessions.

Scott Tolinski

Read. And guess what? The course for March, by the time you're listening to this course will already be out, is part rid 2 to note fundamentals authentication where we dive into even more authentication topics and things like 2 f Hey. Verifying emails. It's gonna go on and on. So if you really enjoyed the node fundamentals course, there is part 2 coming at you, Cleopatra in March end of March, March 31st. So shout out leveluptutorials.comforward/pro.

Scott Tolinski

Sign up for 1 year and save 25%.

Announcer

Rid I'll shamelessly plug my courses, specifically my latestly updated one, full stack advanced React and GraphQL. We teach you everything you need to know to build a full stack app rid With React on the front end, GraphQL on the front end, Apollo, Keystone on the back end, it is awesome. Check it out. Advanced And you can use the coupon code syntax for 10 books off.

Announcer

Alright. I think that is it. Thank you so much for tuning in. We will catch you on Monday. Peace.

Scott Tolinski

Head on over to syntax.fm for a rid 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.

Announcer

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