772

May 22nd, 2024 × #javascript#webdev#beginner

React Server Components with PHP, Selling Accessibility, WTF is Cloudflare + more

Potluck episode answering submitted questions on various web dev topics

or
Topic 0 00:00

Transcript

Wes Bos

Welcome to Syntax. Today, we got an awesome show for you. It's a potluck episode. This is where we you submit the questions. We will attempt to answer them for you. Keep those questions coming. If there's something you'd like us to answer on one of these Node or often Wes get ideas for entire shows on that, just go to syntax dot f m. Top right hand corner, there's a button you can click on that you can submit a potluck question. We really appreciate them And, some really good questions today. We're going to be talking about can you use React Server Components if your back end is not in JavaScript? Some ideas around accessibility, some stuff on, CloudFlare, and a whole bunch of interesting stuff coming on up.

Wes Bos

My name is Wes Bos. I'm a developer from Canada. With me as always is Scott. How are you doing today, Scott? Hey. I'm doing good.

Scott Tolinski

Some context here. We're recording this right after coming back from React Miami. So you could imagine we're both we're both lagging a little hard here.

Scott Tolinski

It Wes, quite the event. We were there for almost a whole week. Just, whole team working, whole team putting together a show. And so, thank you to everybody who came out and watched us at React Miami. It was a a lot of fun. And, hey, I gotta give a a a special shout out to the Node folks. You know, we had them on the show once, but, man, they hooked up my son with a tub of LEGOs while he was waiting for Syntax Live to Scott.

Scott Tolinski

And he has been going nuts over those Legos. And that Wes just a a really super cool thing to do. So, shout out to Codium for that, And, it's also a great tool, so on top of that. But before we get going, this episode is brought to you by Sentry. Sentry is the perfect place to track not only your errors, but also your performance.

Scott Tolinski

We use this so heavily to improve the performance on syntax, whether that is through slow database queries, slow page loads. And one of the coolest things about it is they give you a user misery score, which is, you know, basically, how much a page JS, hit Vercel how slow it is. That way, you can actually track which of your pages get the most amount of traffic and are the slowest so that you know which pages to focus on 1st. And I'm noticing our performance scores have dropped a little bit, so that means I need to go take another look at that and figure out what's going on there. But a lot of really, really great stats there that you can keep track over time and see how your application's performing, attach it to releases, and so much more. So head on over to century.ioforward/syntax.

Topic 1 02:35

Sign up for Sentry for 2 months free

Scott Tolinski

Sign up to dig in 2 months for free.

Scott Tolinski

Let's get into it, with the 1st potluck question here from Sanity Bob. In my career, I have found that hard work is always rewarded with more hard work.

Scott Tolinski

I I feel that's that's funny. I I think I've heard that before. I feel I get punished by being efficient and completing my work early for the sprint.

Scott Tolinski

What is your experience with this and any tips? Should I just lie and say I'm not done yet? I'm personally just like a little cool down period before I start my next sprint. Binary Bob, here's some ideas.

Scott Tolinski

It depends on what your organization wants to see. Sometimes certain organizations give less work in the hopes that you'll finish it early and then work on things that are potentially slightly outside of your purview. That way you can, you know, flex a little bit in that time and and show that you you are a valuable member of the team by doing more of than what they ask.

Scott Tolinski

But that's not always the case, and you shouldn't necessarily always feel like you have to do that to, like, meet your expectations as a an employee. But, like, sometimes here as well, you can take the time, and I've done this myself, when you finished working on a project to explore code things in a way that is, 1, still productive, but, 2, maybe not necessarily related to the project. I remember I was working on a bunch of ESLint, Drupal, and WordPress sites, and what I would do once I finish those sites inevitably a month ahead of time because I I was fairly fast at those sites at that point.

Scott Tolinski

I would finish them way early. And you know what I would do? I would either spend extra time on things that would juice up the experience. So I would make the admin sections of those applications better for the people managing them.

Scott Tolinski

I would work on skills like, at the time, I was spending time on Angular learning stuff. So learning things that weren't a part of my job necessarily, but they were still being productive.

Scott Tolinski

And if you want to do that while not necessarily working outside of your job job, you can find something that's related. So, again, I I'd finished working on my Drupal and WordPress sites early, so I decided to make my own personal checklist for deploying a website. And so I did so in a language I was not familiar with at the time, a framework, Angular. So I picked up Angular. I got to learn something new. I was still doing something relevant, and then I'd have something to show off to my bosses that say, hey. I'm taking this seriously because I made myself a checklist. Yeah.

Wes Bos

Yeah. Here's the thing with the ongoing treadmill of of work. You finish it. You do a good job. You're gonna get more. Right? And you you get into the cycle of, like more, more, more. And like like you said, you're rewarded for being fast and efficient and doing good work with more work that is sort of expected to be to be done. So I think it's really important that you first, you keep stats on, like, what you're doing so that you can come back and say, look, This is the stuff that I've done in the last month, and I need a second to do a few things. First of all, I'm gonna burn out if I stay on this constant treadmill and this constant pace, and that's not good for anybody's productivity. And and second, you need to make it clear that, like, we need as developers, we need time to be able to research these things and to be able to play on with new technology.

Wes Bos

It's important both for me as a developer so that I continue to grow and stay interested in the stuff. It's also important for the good quality of of all the stuff that we're building that I'm constantly researching and and trying out new stuff. So quite honestly, I think that you just need to be very clear with manager and and your team being like, look.

Wes Bos

Yes. I'm fast.

Wes Bos

I feel like I'm getting the stuff done faster than it's expected to be. I don't want that to mean that we should shorten our timelines. I want it to mean that I have time to continue to explore and to work on these continuing my skills, and that's very important for me is that I become a better developer and do not burn out. And I think that's your your best way forward. Obviously, not every company is going to want that. They're just going to want you to keep churning out cogs. But I think at that point, if you're really that good of a developer, you can likely start to look elsewhere.

Scott Tolinski

Yeah. I agree. I think you can really present a good case to be rewarded for your speedy good work rather than having it be, you know, like you said, rewarded with more work, but rewarded with the ability to do the types of things that are actually engaging.

Wes Bos

Next question we have here from Steven.

Wes Bos

Y'all really got me with the April fools episode. I was out for a 1st run-in a long time trying to fool myself into being fit, And I had to stop and check that I haven't put on the 1st ever episodes Sanity text my accident. I smiled and laughed. So we actually haven't even talked about the April Fools episode that we have done. We did an April Fools episode where we talked about like 2005 to 2007 era technology, lots of jQuery, lots of Ruby on Rails, things like that. And we we heard the most hilarious feedback of a bunch of people who got like 7 or 8 minutes in And we're like, what what the hell is going on here? Talking about. Yeah. Who are you talking about? A couple people. Unfortunately, somebody said, I have a colleague from Japan who's nervous about going to a conference in the US, and I told him to listen to syntax to sort of get comfortable with the English talking about web development. And that's actually something we hear. That's a bit of an aside, but it's something we hear quite a bit. We're fairly large in South Korea just because people, when they're learning English, they do things like listen to the technology podcast because, fortunately, we're teaching them how to speak English. But, unfortunately, they were very confused, so apologies to them. But that that was a really fun episode to do, and a lot of people just, like, like, listening to it just for the the memories of of how things used to be.

Scott Tolinski

Yeah. Yeah. It was a lot of fun to make too. Holy cow. I think that was I I I had a lot of fun just trying to pretend like it was real. I know we both lived through that era of things as professionals.

Topic 2 08:40

April Fools episode about old web tech confused some listeners

Scott Tolinski

So, like, I had to put myself in the shoes of Scott who JS working at that time, like, what I would have had conversations about. So it was it was a lot of fun.

Scott Tolinski

Next question is from Ced Yeeter.

Scott Tolinski

Hey. 1st, I listen to your content with pleasure, so thank you. I don't Node. Did you answer before? But here is my question. Have you tried to teach programming to your wife or kids? If so, what was your experience? What do you suggest? I have tried to teach JS to my wife first, but I found it hard to explain sometimes because of so much inconsistency.

Scott Tolinski

I decided to go with .net c sharp because I feel like it's more consistent. The written rules of things that compiler interpreter cares about. Not abstract things like naming or project structure, so far so good, but I wanna hear your experiences. So I have not tried to teach my wife programming.

Scott Tolinski

She knows the words TypeScript, Node. Js, CSS, HTML, all that stuff. But, she does not care.

Scott Tolinski

And and and I don't blame her for that. That is not something that she's super interested in overall.

Scott Tolinski

So I have not tried to teach my wife programming.

Scott Tolinski

I I think I could, but I don't I don't think she cares. And that's fine. I have tried to teach my son some things, but more of an less like what you're saying to do, less teaching syntax and more abstract things, more conceptual things, loops, variables, those types of things. And he's kind of learned that through a number of different things. We had some company send me a a robot that you could build and program with scratch on an iPad GitHub, back when I was doing level up tutorials, and, that actually worked really well for Landon because there's really nothing greater than having that feedback loop of having a little Bos. And then you in Scratch, you can drag, like, move forward 3 times, and you can see this thing in your in your house move forward 3 times. So for for me, the the way that I've been approaching this, granted my son is 7 years old. So, well, he's 6. He'll be 7, but probably by the time this episode comes out. And, Node. Actually, he won't be. Let's see.

Scott Tolinski

No. He'll be just turning 7. So basically a 7 year old.

Scott Tolinski

Another thing that we really like is Codespark is an app for I think it's I know it's for the iPad at least. I'm sure it's for Android as well. Codespark has a lot of really great programming like games to the point where my son is playing these things without necessarily really even understanding that he's doing programming. He tells me, dad, I'm building games. I'm I built a game. The game does this. I've built this game, but he's also completing games and projects using loops and variables and those types of things. So he's not quite into the programming of things, but he's into the the concepts of what it actually takes to, you know, either build a game or or understand general computer programming concepts.

Wes Bos

Yeah. I've taught my little nephew. I guess he's he's probably 13 now, and he's been fairly interested in this type of stuff. In fact, I I sent him all the swag and whatnot. Maybe we should get him on at some point just to ask him, like, questions about programming from somebody who's 13, just understand where their head is at.

Wes Bos

And I haven't really focused too much on what the language is and best practices and code structure and all that stuff. Because honestly, when people are learning to program, they do not care about doing it the right way. They care so much about just getting the thing that they're trying to build to actually work. And however you can sort of get to that point is the best point because you're actually getting stuff done. So we had built a this app called Get Money at one point. He came over for Christmas. We sat at my desk, and we just built an application. I was like, alright. What do you wanna build? You know? And I sat on the computer, and I was doing the typing, and he just sort of had the ideas. And the game that we actually ended up building was where you start with a bunch of I think you start with, like, $10, and then we start with a a few things that you you can buy or sell.

Wes Bos

And when you buy and sell things, the prices of the items are variable, meaning that at a at a lowest, it could be $4.

Wes Bos

At a highest, it could be $8. Right? And the the idea with the game is that you're trying to buy and sell things so that your bank account goes up. Right? And a Scott of his luck based because it's it's random. It's math not random if if you're gonna buy it for 4 and sell it for 6 or or the opposite.

Wes Bos

But he thought that was pretty cool because it showed him how to randomize values, how to make things flexible.

Wes Bos

And then we also did the whole idea of, like, he wanted to add, like, a secret button where you get $1,000,000.

Wes Bos

Right? So I showed him how how we would get a button, put it on the page, add an event listener to it, and then we use some CSS to make an explosion of emojis on the page or hide the button that is for $1,000,000.

Wes Bos

And he had all these, like, ideas of different use cases. And then, like, about a year later, he came back and he's showing me the stuff that he's working on in school with the scratch.

Wes Bos

And it was really interesting because, again, like, he doesn't care about best practices, but he did come to me with a problem where he would make a function for every single amount of money. You know? Like, he made a function called get $5, and then he made another function called get $6. And then he wired up every function to different buttons. And I was like, hey. Like, doesn't that seem like a lot of work having to create a new function for every single time? And then if you wanna change how it works, you gotta update all of them. He's like, yeah. Like, that's kind of annoying because then I I get into all this. I'm like, this is where you get into arguments.

Wes Bos

You know? Like, you could you could pass the amount of money to the argument and have 1 function to do to it. And, like, to me, that's that's honestly the the best way about this is the guy just wants to make an app that does what it is he's trying to do.

Wes Bos

And as you hit the issues in programming, that's when you introduce the concepts of, this is a good use case for arguments. This is a good use case for CSS scale. This is a good use case for rotate rather than, like, here's the concepts, and then try to to implement it. So Yeah. Always start with the motivation for sure. Yeah. And I think I think JavaScript the best because you're gonna be able to make these things that run anywhere. You can send it to your friends. We we deploy the thing. It's an app on his iPad. It's in it in the dock. Whereas, like, other languages, you're not gonna have that, like, 0 to building something fun nearly as quickly.

Scott Tolinski

You heard it here first. The guy on the JavaScript based podcast who releases JavaScript courses says that JavaScript is the thing to use. No. I agree. Yeah. It it is the best.

Wes Bos

If if I believed otherwise.

Scott Tolinski

Yeah. No. I hear you.

Wes Bos

Next question from Filasaurus.

Wes Bos

With React swing into server components as the default, are they making the assumption that the server is using a JS runtime? Does this mean that apps where back ends are in Java, Go, c sharp, .net, or any non JS languages are are Scott out of luck? Kind of, but but kind of not. So the way that we've seen server components so far is is with meta frameworks like like Next. Right? And and the idea there is that, yeah, you have your back end components. You have your front end stuff where you opt in to use client. And at some point, yes, they they both do need to be done in JavaScript because of the way that server components work. They're rendered on the server. They can fetch data on the server. They can do whatever that is that they want on the server, and then they just stream the the component output to the client and they're able to embed that into your application. So in that regards, yes, that part does need to be so. Like like what about poor folks that are writing a back end in any other language out there? Right? So I'll say that, a, I don't know just yet, and I think we're gonna see some really interesting stuff, but here are some of my thoughts.

Wes Bos

Templating, of course, needs to be done in JavaScript.

Wes Bos

However, the actual a lot of the logic, a lot of your database queries, a lot of your interfacing with your actual application logic, that doesn't have to happen in a React specific way. Mhmm. It is much easier when it is in JavaScript because you can simply just import and export them. However, there are other ways that you can sort of bridge between those 2 things. Right? We're starting to see, like, people who run Ruby or PHP applications.

Wes Bos

Very common for them to use some sort of embedded JavaScript runtime to be able to server render the application. And the way that that works is they simply are just passing in the data to that function so that it will render. Now with Rec Vercel commands, we're often going the opposite way as well where your your server action needs to then pass data to something else. Right? Maybe you need to pass some form data to a database updater function. And if that database updater function is not in JavaScript, what do you do? Right? You you would have to hit it with an API.

Topic 3 17:45

Server components need JS backend, but bridges can connect other languages

Wes Bos

Maybe you could use, wazzy, WASM stuff in that area. Maybe you could have an RPC where you can call your Pnpm functions from your JavaScript.

Wes Bos

I think we'll start to see some bridges in that regard. A GraphQL API is probably another good use case, but it's certainly like, the benefit of a rec server components is that you can simply just do it all in one go. It, of course, gets a little bit more complicated, but people that have back ends in different languages Yarn often already have an API or RPC in place so that you can interact with it. Yeah.

Scott Tolinski

Yeah. It's a it's so wild because it does feel like this stuff still is so mysterious in those regards. Yes. This is the happy path right now, but I'm I'm sure we'll see different things when more people adopt it. I'll say this. We just got back from React Miami,

Wes Bos

and there was, I think, 2 talks.

Wes Bos

One talk on the 1st day and then 1, I think, 1 talk on the 2nd day from Max about React Server Components. Mhmm. And I was saying I kind of was hoping there would be a bit more on React Vercel Components. And I talked to everybody saying, like, hey, like, what's your use case? And a lot of people are still at the spot where I'm just kinda sitting and waiting to see how this pans out. Even though it's been out for a year already, we're still trying to figure a lot of this stuff out.

Wes Bos

And a lot of people are saying, you know what? What I've got going right now works just fine.

Wes Bos

I'm not gonna dip into it until there's, like, very clear, established patterns, or I'm not gonna do it until remix figures it out, and it's way easier. Yeah. Yeah. No kidding.

Scott Tolinski

Cool. Next one is from intro man. Intro man says, just curious what happened to the musical intro and outro to the podcast. Those were an integral part of it. My son used to be able to repeat the intro for the Monday hastened treats. Feels really weird without them. Yeah. It's so funny how many folks have expressed this to us. Yeah.

Scott Tolinski

We intentionally stopped the intro music on our part because, you know, after 782 episodes or whatever it was when we stopped it, it just felt a bit long It's annoying. In the tooth. Yeah. It was yeah. It was annoying to us personally. Not like, not like we felt like it was annoying to you all. But I think it was like, alright. We've heard this so much. I think it is time for something new. So I I think, you know, one thing that we do wanna say is that there will be new music and intros. We are kinda getting rolling. We just decided to pull it when we went to video and we're like, alright. We'll figure it out later. So we're in the figuring it out later stage. However, I will say Wes are looking for bumpers for hasty treat, tasty treat, supper club, shake list plug, sick pick, even potluck. We're looking for bumpers or little audio snippets, short things. We know a good amount of you are audio folks. A good amount of us are audio folks. Hey. I I release several albums. Randy's got some albums. CJ does music.

Scott Tolinski

So we'll be making we'll be making some ourself. I would love to hear a Wes song as well, but we'll be making some ourselves. If there is a chance that you wanted to make us a a bumper for or anything I just mentioned, if we pick it, if it's good, you know, we'll we'll shoot you a coupon code for a t shirt or something. So and, obviously, we'll we'll shout you out on the show. So, yeah, if you wanna do that, please go ahead. You Node, nothing official here, but I guess we can make it semi official that we're looking for this type of stuff, and we'll also be doing some on our own. So there will be new bumpers. We're gonna have some fun ones. We have some fun ideas. I think if we wanted to just do it with AI, we would have done it already, But I think we want real people doing it. So

Wes Bos

Yeah. The the other thing about the bumpers is now that a lot of people are moving to Spotify, Spotify does a great job at surfacing our content to people who have never heard it before.

Wes Bos

And if the first thing you do when you're checking out a podcast is here, you know? Listen up, losers. If you don't understand that, it's like a Node, and it's kinda funny. A lot we can see in this ass. A lot of people immediately turned it off because they think this is so stupid. You know? Like, I'd I'm not into this type of thing, and we didn't even get a chance to be like, we actually do know what we're talking about here. So that was that's also something to consider as well, the immediate turn off factor of a of a podcast.

Scott Tolinski

Yeah. When you do it to to be, like, funny cringe, it's it's Sanity. But then, like, when you actually start really cringing at it because of how old it's been,

Topic 4 23:04

Will make new audio snippets as podcast bumpers

Wes Bos

then then that's probably time. Next question we got here from Anan. A lot of what I do is refactor older sites and clean up code and making it more accessible. When budget season rolls around and executive leadership is asking what I do, how can I better quantify my work without being too technical? Saying things like the site feels better, doesn't really work. Lighthouse doesn't measure keyboard accessibility or understandable screen reader text and saying reducing code by thousands of lines isn't going to mean much. That's that's a good point. Like like, often you have to, like, back up all of the hard work that you've done. And I'm sure, like, back end developers have this this problem as well is that refactoring a large code Bos and improving things so that it's it's easier for devs to work on. It's more accessible.

Wes Bos

It's it's probably a little bit faster.

Wes Bos

If that doesn't, like, translate to things that the people working on the budget really understand, then it's kind of hard to to make a a good use case for that type of thing. So, like like, what do you do with this type of thing? So

Scott Tolinski

Yeah. One of the first things that came to mind for me was, you know, you're trying to sell the idea of what you're doing as being important with, again, not a lot of quantifiable ways of of having that Node that it's important.

Scott Tolinski

But I I think the big thing for me is that people do not understand the value of your work. You have to kind of understand what would they see value in in your work and then use that to your advantage. For instance, everybody does not want to be sued. K? Nobody wants to be sued. That's not a thing. So if you don't wanna be sued, your business doesn't wanna be sued, then if your boss or somebody JS wondering what you're spending time on, we can get into things like, have you seen the Domino's lawsuit? Domino's was sued for having bad accessibility in one of their apps, and there's lots of stories like that. So if you're trying to sell the idea of accessibility work to somebody who's above you, you can point to the fact that you are preventing legal action against your company by making your application, more accessible to users. And I I think that's an important thing.

Scott Tolinski

Like I said, there's lots of articles about those lawsuits, and you can always point them to those lawsuits to say, hey. I'm protecting us from these following threats, and I'm doing so in these ways. Hey. I made this more accessible in these ways. I made this more accessible in these ways. I knocked this out. I knocked that out, and I did so to prevent us from having any sort of legal action but also increasing customer goodwill.

Wes Bos

Yeah. I think, also, what's important is, like, storing your successes.

Wes Bos

When you fix something that people have been complaining about, log it. Right? Because often I find myself being, like, what did I do? Or, like, what was the benefit of this type of thing? But, like, you can often find whether that's customer tickets, whether that's an angry tweet, something like that. If you can find those instances and follow-up with those people and being like, hey. It's fixed. Like, what do you think? You can often get, like, thank you so much. Like, this has been bugging me forever. And often like, I didn't really realize this until, like, we joined Sanity and started, like, going into Slack. But, like, anytime somebody, like, tweets something out about a company, you better bet that's making it into the the Slack room. You know? Like and often, like, I'll tweet something, and, like, 10 minutes later, somebody from that company is, like, hey. We're working on it. You Node? Like, that type of stuff is being watched so much more than I thought.

Wes Bos

And if you can sort of, like, keep those on log and when you fix something, follow-up with that person and say, hey. Like, look at look at these customers who were frustrated with the product, especially, like, customers that care that much want to love your product or want to love the website. So if you can follow-up and say, hey. I I fixed that or or even other developers, you know, like, man, thanks so much for refactoring the way that we add blocks to this type of thing. It it was so painful before, and now it's so easy to add new content to the website. So just keep a log of of of ways that you've made other people happy, in ways that you've improved the website.

Wes Bos

Because if you have 6 or 7 of those things under your belt, you can just very clearly say, hey. This is what I've done.

Scott Tolinski

Yeah. Yeah. And and this is a you know, I don't I don't know how a lot of companies handle this, but one of the things Century does is they have, like, an internal blog where it's like you get to brag about the stuff that you did. And I do think that works really well because you could throw together a blog post that would say, hey. This is what I'm, protecting us from, or this is what I'm working on right now. But I I do think, you know, like Wes said, documenting it in tickets is a really surefire way to say, hey. I closed this many PRs or I I, you know, I I merged this many PRs. I closed this many GitHub issues. I did this and that. And I think that's a a good quantifiable

Wes Bos

way. Yeah. Next Also, like, it's sorry. One more thing about this is, like, Lighthouse doesn't measure keyboard accessibility.

Wes Bos

You certainly can run the axe dev tools and show them, hey. We have 787 issues.

Wes Bos

Like, that's that's maybe a bit of a hack. It's often, like, you'll have 600, like, color contrast issues pop up. Mhmm. And you can fix those with Node line of CSS and then, like, play the same game. You know? Fix 600 accessibility issues, with text through the website, you know, cleaned up 17 keyboard traps with a escape handler or moved up moving over to pop over, you know, like like I keep the stats behind the stuff that you actually do. The apps dev tools are great for specifically accessibility measurements.

Scott Tolinski

And it and to even go further into that, Wes, you can use the Axe Linter accessibility tools in a GitHub action to have that even, you know, outputting into your GitHub pipeline itself.

Scott Tolinski

You know? So that you can integrate it into your workflow as well. Next question from Shabaz.

Scott Tolinski

For developers interested in creating and selling their own course, do you suggest developing a personalized website and course platform or utilizing an existing course platform such as Udemy? What are the pros and cons of each approach? Udemy sucks. It's a race to the bottom. Yes. Some people have, make a lot of money off of Udemy. Most people won't. Udemy leadership is bad. They, I I don't think it's going off here. They, you know, they don't try to limit stolen courses. People have stolen my courses and just reuploaded them and sold them when they're available for free. So I would personally not do Udemy. That said, I know a lot of people who it's a really low barrier way to do it.

Scott Tolinski

That said, I do think when you're going to be selling a course, you need to focus on building the audience before you worry about building the course and selling the course. Because if you sell on Udemy or you sell on your own platform or you you sell on anything, right, you're not going to sell any copies of it even if it's on Udemy if you don't have the audience ready to buy. Just simply publishing it on Udemy just because it's a marketplace will not get you sales. And for the most part, you're gonna be a race to the bottom where you're having to do crazy sales on your, you know, your your course just to get people to buy it or to notice it.

Scott Tolinski

So I would I would first before you do anything, I would focus on building the course itself, building up a a user base of people who know and trust your work, people who would want to buy a course from you, and people who have gotten a preview into what the course may be like.

Scott Tolinski

You can do this through like, Wes had a newsletter where he got people to subscribe to his newsletter by giving away a free course to get into the newsletter or resources.

Scott Tolinski

You can go to YouTube and start to build your audience on YouTube that way or Twitch or any of these things. But I I think before you even get into this conversation, I think you need to build that audience. I built my own platform. It was hard. It was a pain in the butt if you're doing subscriptions. If you're just doing individual sales, you can use something quick and easy like lemon squeezy. What's the other one that's like lemon squeezy? Do you, a lot of people use gum road? What is it? Gum road? Yeah. Yeah. Gum road. Yeah. Yeah. Gum road, those types of things make it a little big one. Make it really easy to sell a course. And that that to me seems like a good way to do it. You build a little mini site. You put up a, a service in front of it, and you don't get too crazy complex with it. But then you don't have to be limited to Udemy taking a cut, it being presented with all of Udemy's other trash courses,

Wes Bos

or having to deal with giving that company any money. So yeah. The the benefit of going with a marketplace with something like like Udemy or, could I think Kajabi Teachable.

Wes Bos

There's like a 1000000 of them out there. Is that.

Wes Bos

Yeah. Sometimes there's going to be an existing audience there and you can sometimes you can get in front of those people, but it really doesn't work all that good. You see plenty of people on you to meet with 0 sales on their courses because people just don't know who they are. Right? Like, there's there's not that type of thing. And if you look at, like, the top creators on you to me, they're all people that you would know from outside of you, Udemy as well. Right? They're all people that are on YouTube or have books or have a popular blog website, things like that. So I would say again, yeah, probably work on your audience first. That's going to be the hardest part of building it. But also don't create your entire course platform from scratch because that is a I've done it. I've been working on mine for over 10 years now. Yeah.

Wes Bos

It's it's a ton of work. There's lots to it. And you can often get away with just sort of doing something in between the 2 of those, and you can kind of just chip away at that type of stuff. So, also in terms of, like like, pros and cons, another reason why people will go with either a course platform that is is out there ready or something like a lemon squeezy, which is just the it's the payment processing aspect to it, but you can you can sort of get by with that and then adding a little website yourself on top of it.

Wes Bos

The reason why a lot of people like going that route is because they handle a lot of the taxes for you.

Wes Bos

They are what's called, like, the I think it's, like, the the vendor on record or something like that, where you're not actually selling it to the end customer.

Wes Bos

They're the lemon squeezy is selling it to your user at the end of the day.

Wes Bos

And because of that, you do not have to be worried about local tax rates. And do I need to charge VAT if I'm not in in Europe? And how does that work? And there's, like, I have to pay a lawyer to answer all of these questions for me. You know, it's it's pretty complex. So there is a massive pro to that type of thing. So I would probably say, like Scott said, find something in the, a middle ground.

Wes Bos

And if you think that you are getting a little bit of momentum, if you think you wanna do this a bit more, then it starts you start to get into a spot where you can say, okay. First of all, I'm paying 100 of dollars a month for this course platform even if I sell it or don't. I can get rid of that cost. Second of all, these companies are taking a, like, a pretty sizable chunk. Like, just do the numbers.

Wes Bos

Depends on how much you're selling.

Topic 5 35:00

Building own course platform is very difficult

Wes Bos

Like, what's a 5% cut of 20 courses? Not that much. What's a 5% cut of 10,000 courses? That's very significant. Right? You Scott to think about that as well. But those are always things that you can sort of just escape from.

Wes Bos

And I wouldn't don't get too hung up on the whole process of making your own course platform because

Scott Tolinski

that in itself is a a full time job. I can sincerely say, do not try to write a subscription platform with Braintree that will take you the rest of your life. So have fun.

Wes Bos

Jason asked, how do you effectively navigate and maintain professional growth in a workplace that consistently undermines your coding abilities with criticism, yet paradoxically, wow, demands that you take full responsibility for your work. How do you foster resilience and confidence in your skills amidst these challenging dynamics? I don't know.

Wes Bos

Honestly, I don't know. I always work I almost always work by myself. I just do everything on my own.

Wes Bos

I'm fairly tough skinned when it comes to criticism and feedback that has sort of grown as I have proven myself. I'm able to build stuff that I'm proud of. I'm able to make a living for my type of things.

Wes Bos

And being in the industry long enough, you realize, like, no. These often people that are very aggressive in criticism really don't know what they're talking about or they feel like being very critical is

Scott Tolinski

is what makes them look like a better developer. So I don't Node. Scott, any ideas here? Yeah. Wes should have Courtney come on to talk about some of this stuff because she's really good at identifying insecurity in folks, which is, like, very funny.

Scott Tolinski

One time Wes were in a car ride, and one of my crewmates was, like, talking about all these girls that were into him. And we're we're in a car full of break dancers, and Courtney just looks at him and she says, you're just saying this because you're insecure about this following things. And and the car went silent, and everybody JS just like,

Wes Bos

and Total wreck.

Scott Tolinski

Nailed him. Dead to the you know, just completely got him. And next thing you know, he he was dating a girl then for, like, 2 plus years after that. It just totally shattered his, like, hey. I'm a I'm a player kinda minds.

Scott Tolinski

Just let that, hey. You're insecure. It was very funny. And so I when I tend to look at things like this, I tend to go right to that angle. Right? If people are criticizing you too much or trying to undermine your confidence, a lot of it is insecurity about their own abilities or skills. And, you know, one thing that developers tend to do a lot of times is that they really tend to want to act like they're very smart all the time. They want to say, I'm so great. I'm the best. I'm so smart. Look at me. I'm so smart.

Scott Tolinski

And you can't take that as being anything other than those people being insecure and potentially, you know, just trying to bring you down for for no reason other than their own insecurity. So if you're feeling like a pinch because of that, like, Scott. I'm not I'm not feeling good enough because I'm constantly getting cut down. I think one thing that you can try to do, it's it's hard to just say grow a thicker skin because I'm a sensitive ass person.

Wes Bos

Yeah.

Scott Tolinski

I I I do not like that kind of thing. So I think some of it is you need to look at it for what it is. These people are either insecure about their own work or they're trying to help you, and they don't know how to do it accurately.

Scott Tolinski

But I I can't you can't look at it JS, like, I'm doing the wrong thing. I am bad. I'm having a problem. You need to look at it maybe more of an external angle. So how do you how can you foster resilience? I would say you need to look at it as being more of an external thing and less about you and more about them.

Scott Tolinski

And just be confident in your skills and your abilities. You got the job. The the only thing that really matters is if your your boss or your clients are happy with the work at the end of the day.

Wes Bos

I think also, like, put it back on them. Hey. Thanks for your feedback. Can you help me with this? You know? Or give them feedback right back. You made me feel bad when you you you said it that way. Certainly, in my marriage and in several work work relationships, I've I've had that over the years Wes, oh, yeah, I'm I'm a I'm a fairly straight shooter. Right? And even, like like, working with people from different cultures. Right? Like, the the Dutch. I'm Dutch. The Dutch are extremely, extremely to the point and are extremely like like my old mom would Wes I would visit her, she would be like, you look like you've gained weight. Like, just straight up, like, boom. Like, might just kill me, please. You know? And, like, that for them is is not a rude thing to say. It's just they just are very straight with their type of thing. So, like, communicate with them. You make me feel bad when you said that. Can you help me with this? I'd love to get better with this type of thing. And I think that'll that'll really help. Yeah. I think you're I think you're dead on with that. But, yeah, I mean, even, like you said, bringing the the feelings into it. Hey.

Scott Tolinski

Hey, man. When you said that my JavaScript sucked, hey. It made me feel really incompetent. Like, do you think that, like, you could not do that? I I do think that that's a a legit way to bring that up because, man, somebody can't invalidate your feelings. If you got feel a certain way about something, that's totally valid. Next question from Deno.

Scott Tolinski

Dan, you're you're killing me here. Dan, how would you say this, Wes?

Wes Bos

Chauniere.

Scott Tolinski

Dan Chauniere.

Scott Tolinski

Sorry. Wes is better with,

Wes Bos

some names like this sometimes. Oh, hold on. Is that a French name? It is.

Wes Bos

Seaniere.

Scott Tolinski

Dan Seaniere.

Scott Tolinski

Oh, Dan, I I I hope that is correct. Sorry about this, Dan. Would love an episode on crossing over from Wes dev to mobile dev. I know this isn't exactly your guys' thing, but tools like Tomaguie, which help you create both a native and a web version of your app, seems like a super cool way to get started in native dev. So, Dan, I you know, I've done a bit of native dev through React Native. We did talk about, Tomaguie with Nate on this show. You can go find that at syntax.fmforward/601.

Scott Tolinski

It's a cool tool. We also talked quite a bit about React Native Wes, which on the surface seems like a project, for nobody, but it's really, really cool. And that conversation changed my mind on React Native Wes.

Scott Tolinski

But either way, what I have found in this space is that it's really hard no matter what to create a write once deploy everywhere app. And for the most part, you probably aren't going to get that.

Scott Tolinski

So I would focus on creating the native app as it is, as a native app, and you can do that with React Native. React Native outputs real native code. It's not a web app in a wrapper.

Scott Tolinski

Or if you don't want to learn the native things, you can always output a web app in a wrapper. The new version of Tori does it. There's lots of platforms that do it, and they do it really well. In fact, the, male client that Wes and I used for a long time, Missive, is a web app, and you would never know that because it's really, really super good. So you can do a web tech app as a native app with a web view. You can do a React Native, which is a real native web app. I don't know if I'd necessarily recommend getting into Swift unless you're planning on doing that full time.

Scott Tolinski

It's a whole different world. I I've I've dipped my toes in there a little bit, and it will take you a bit of a path away from web tech. So if you want to enhance your web tech skills, I would use React Native. If you're doing a native app, I would use any of the the Wes it capacitor or any of those those wrappers around a Wes UI if you just wanna keep it straight web tech.

Wes Bos

I, met Neman at React, Miami, and he's the dev and creator of Stylex, which is Facebook's styling platform, and it it looks like it's not right now, but one of the end goals for Stylex is to also be able to translate those cross platform. So there's quite a quite a bit of stuff in there. And we also we have a show coming up with the folks from the React Native podcast. We're gonna do sort of a collab with them because there's a lot a lot of questions I have around, like, how React Native works and building real applications in React Native.

Wes Bos

So the styling is certainly one of them. Like, that hasn't didn't React Native build their entire style engine? Like, it's not it's you kind of use CSS. You use CSS. Flexbox esque.

Scott Tolinski

Yes. Exactly. What's that called? And everything needs to be kind of a flex container. I, you know, I don't know exactly what it's called, but I I did a course. I did a couple of courses on React Native in my day, and I'd be interested when we have them on to, like, really learn how it's changed and how it's evolved because I know there's a lot of different initiatives to either make it faster or more reliable. My my experience with the React Native is once you get it working, you don't touch a single version of anything. You don't touch any of those versions because you may never get it working again.

Wes Bos

Yeah. It's a it's a really interesting space.

Wes Bos

And even, like, we asked Stripe, and I also talked to a guy at the party from Turo. And, like, every single person I talked to, I was just like, what's your component system look like? Mhmm. And what's your translating to native look like? And a lot of people I talk to, they said, we built our own component system, but now we're starting to integrate some of these libraries into it, so we don't have to maintain all the accessibility stuff ourselves.

Wes Bos

And they often said, yeah, we have 2 separate teams for native and web, and we try to make them look as close as possible

Scott Tolinski

without doing that type of thing. So, yeah, more more content on that coming up. Yeah. I know. I I've been deep in the space Wes because I wanted to get a a Torrey mobile app for my habit tracker.

Scott Tolinski

And then I'm just, like, looking at it and, like, oh, there's so much of this app that I cannot just dump into a WebView native app. I have to Yeah. Worry about the server now that I have server side rendering and all Scott of stuff. Actually, that's that's a funny area where client side rendering apps have a huge leg up because it's a lot easier.

Wes Bos

Next question from and the last question we have here from Chatty Sanity. Wes mentions Cloudflare almost every episode, but even going back after listening to episode 691, Cloudflare Workers Yarn Next Level, I Still Don't Really Know What IT IS.

Wes Bos

Wes I Go TO Their Website, You See Jargon Like, R2, Object Stores, Workers, Key Value, Durable Objects, t Node, hyperdrive, and I can't really tell what it is. Wes uses worker for everything, but what is a worker? Can I deploy a Next? Js app on Cloudflare? Can I a worker run Node Express APIs? What are the pros and cons of serverless API? How do I create full stack clap on Clever? All these questions? Awesome. That's such a good Wes need to do an entire episode just on, like, what the hell is Cloudflare? Because we've done lots of episodes surrounding them, but I don't know that we've done a full explainer on it. But the the I'll answer, like, it from a high level right now is that Cloudflare workers are functions that basically I I can say function. Cloudflare workers is the ability to run a JavaScript application, and Cloudflare Workers are very similar to serverless functions in that they spin up, run their code, and spin down. The downsides to it is Cloudflare has their own JavaScript runtime, which they are working very closely to getting Node. Js all of the Node. Js API supported. They're pretty close in that type of thing. There are some other downsides to how long they can run, how much memory you're allowed, things like that. So that's their, like, kind of their hosting, if you will. Right? Like, they have workers.

Wes Bos

Then Cloudflare also has a CDN, which is great for hosting static files, images, HTML files, things like that. And then Cloudflare also has r two, which is their what do you what do you call that? It's their Amazon CSS

Topic 6 47:21

Cloudflare Workers are functions that spin up and down

Scott Tolinski

three. Their data storage.

Wes Bos

Yeah. It basically, it this they call it object storage, and and that's a fancy way to say files. Right? You can put anything you want in there. Most likely, you're going to be putting, images and zip files to download and saving parts of a streaming recording you might want to put in there. Right? Anything you want to be able to put in there, you can you can.

Wes Bos

Then they also have a couple, like like, database projects out there, which is Cloudflare d one is a sequel light like database. It's amazing. You can literally roll the data back database back to any second.

Wes Bos

Like if you need to scroll or scrub back, you can. They have key value stores as well. And a lot of that's built on this thing called durable objects. I'm not going to go into too much about what that is because it's sort of like a lower level primitive.

Wes Bos

But you can kind of think of Cloudflare as in Sanity, Cloudflare, of course, is like a like a Deno protection. But in reality, they're they're sort of an AWS competitor in that they will give you the pieces of the infrastructure and you can piece them all. You can use part of it or all of it, and you can piece it together to make a really nice and fast application.

Wes Bos

It's often very fast. It's often very cheap, and there's often a lot of little but caveats that sort of come along with it or you got to do things in the Cloudflare specific

Scott Tolinski

way. I tend to host a lot of things on on pages using the adapter patterns. You just toss in an adapter for pages or for Cloudflare in general with SvelteKit.

Scott Tolinski

And I've never had any hiccups hosting anything there. So, pages can be super fast and easy to deploy a Vercel like experience.

Wes Bos

Yeah. And and pages is a product that it does build for you. Right? Like like Vercel would do. It does CDN.

Wes Bos

It does, like, like, static file hosting, but also does, like, workers, if you want to be able to run back end code. So it sort of, like, combines them all into pnpm pages. And workers are kind of a bit weird because there is Cloudflare workers and then there's pages that can also have workers in them.

Wes Bos

And then there's this idea of bindings, which is making the database available to your pages or to your workers. So it's all a little bit confusing. I I feel like Cloudflare hasn't done a amazing job at making it, like, effortless.

Wes Bos

Every time I use it, it's just like, man, this is awesome. But Wes. Yeah. I find myself in the chat room asking a bunch of questions And I have deployed Next. Js on Cloudflare. It works really well. I'm a big fan of it.

Scott Tolinski

So, yeah, we'll do some more episodes on that. Yeah. We'll do a deep dive because even that, Wes, I'm sorry, was a lot a lot of stuff. Yeah. You know? There's Yeah. A ton. At the very at the very most simple, it can be a CDN for you. At Anymore, it can be, you know, an infrastructure for your entire entire stack from data to your application itself.

Scott Tolinski

I register all my domains there now. I host all my domains there and use it for Deno. So a lot of that stuff as well.

Scott Tolinski

So that brings us to the end of the show. Now it's time for sick picks. Insert sick pick bumper here. Sick pick.

Scott Tolinski

There we go. And, I have a sick pick for us today, which is Follex. Have you ever used a Follex, Wes?

Wes Bos

No.

Scott Tolinski

It's like a like a dandruff shampoo. It's a carpet cleaner, and it's cheap. It's, like, $6 or something in for a big old big old squeeze bottle of it.

Scott Tolinski

And I don't I don't necessarily know it's in this. I'm sure you could probably figure it out relatively soon. But, you know, we have, like, wool carpet, so you have to be very careful with what you put on carpet. And we have dogs. We have kids. Carpet gets stained for sure. So this full ex stuff is really great. It's a really great little cheap, you know, solution that's been around a long time, and it's kind of like an OxiClean like carpet remover, stain remover, any of that stuff cleaner. And you just spray it on any time there's any issues.

Scott Tolinski

And we gotta rely on this stuff like crazy for how much how much, you know, dogs bring in mud into the carpet. You know, this is the worst part about our house, Wes, is that the entrance. So the way a lot of Denver houses work is that you have your your garage in the alleyway that's not attached to your house. And so our garage is detached from our house. And then the entranceway into our actual house from the garage is carpeted.

Scott Tolinski

So you come in from outside or from the garage or anything, and the first thing you have to do is walk on carpet. Node granted, we have a rug there, but that that carpet gets really nasty. So we, we use this full ex stuff. It works really well. Oh, man. And you're from Michigan. You you take your shoes off in the house. Right? Oh, yeah. Yeah. That does a weird. Blows my mind that there's, like, a section of the United States that

Wes Bos

wear their shoes inside.

Scott Tolinski

That makes no sense to me. You want to bring in every your shoes are so nasty. You want to bring stuff in the house?

Wes Bos

And it's so funny because at, like, like, parties in university, you will go to somebody's house for a party.

Wes Bos

And often there would be people there that were from the States, like, going to university in Canada.

Wes Bos

And the first thing you do at a at a party is you you take your shoes off. Right? And then you're just hanging out with a bunch of people in your socks, which is completely normal to us, but I see it not good to me.

Scott Tolinski

Yeah. It's Node it's not normal to do it other other ways. It's in fact, every time I go to a party anywhere, I'm like, what do I do with my shoes? I Scott it, like looking at how many shoes have been taken off. I tend to take them off anyways just because it makes me uncomfortable.

Wes Bos

Oh, s s s tributyl phosphor 4 8 is, is what's in this stuff. Okay.

Scott Tolinski

Let's I it sounds scary, but, like, all chemicals sound hydrogen sounds scary. You know? It's works. And it's gentle enough for wool carpet, so that means it's gonna be gentle enough for him.

Wes Bos

I'm going to sick pick, the CalDigit t s four dock.

Wes Bos

So I had been running the t s three plus Thunderbolt dock for many, many years, and I've been very happy with it. And one thing I didn't like about it is that the Thunderbolt cables are extremely, extremely expensive. And they must be that's a specific type of thunderbolt cable that can handle 40 gigabits a second. And I think it's like a 100 watts or something.

Wes Bos

And it broke like they've I've replaced it like 6 or 7 times and they're like $100 a cable. I had spent a couple of times on them, and I was just, like, tweeting, like, is there any better thunderbolt cable that doesn't break on you? And like a lot of people, like, just buy this $10 Amazon one. And it's that's the frustrating thing about USB C JS that people think it's got the same ends. It's going to work. You know, it's it's unfortunately not the same thing. But Cal Digit was like, yeah, we'll we'll hook you up. And then they sent me the t s four dock, which is even better because it does a couple of things. First of all, it has high amperage output USB, which this camera I'm on right now needs a I don't know what it is, but it it Node, like, in order to charge over USB, it needs, like, a high output to charge fast. Otherwise, it drains the battery faster than it can replenish itself.

Wes Bos

And the USB ports on this thing, I think 3 or 4 of them output higher charging rates than you normally get out of a a typical USB port, which is amazing. And then, also, they stay charging when you unplug your your laptop from the dock, which is amazing. Like, you often, I'll be like, oh, I'm gonna charge my headphones. Right? And then you unplug.

Wes Bos

If if you unplug your computer because you're leaving for the day, you still want your headphones to charge.

Wes Bos

Right? So it's smart enough to realize, oh, well, I'm not plugged in, but I still am going to going to do power. And then it also has 2 and a half gigabit Ethernet, which is awesome. So the old one was a single gigabit ethernet, and that was fine for me because my Internet doesn't go any faster than that. But sending data to my NAS, like, offloading video files, the the 45 minutes of this camera recording the React Miami podcast we did was 27 gigs.

Wes Bos

Yeah. Yeah. And I was like, I'm not putting this thing on my laptop. I threw it on my NAS, and, I was like, this is fast, man. So Wes for you. Yeah?

Scott Tolinski

Do do you connect directly to your NAS with Ethernet? Yes. Yes. I do. And how do you connect to the Internet with Ethernet as well then?

Wes Bos

Oh, no. So cables? The way that no. Sorry. I don't connect from my laptop to the NAS. The NAS is on on the the network via Ethernet. Yeah. Yeah. My NAS is on the network and as is my, my computer.

Wes Bos

And then they can they can talk to each other going through that. And that's actually that's the other thing as well is that even if the NAS like, a lot of NASS only have, like, a 1 gigabit NIC in them.

Wes Bos

But I was trying to upload the file to Google Drive and upload the file to my NAS.

Wes Bos

But both of those, even though my Internet is is at 1 gigabit, I could upload them concurrently because I was I'm now have 2 and a half gigabit, which was really cool. So even if your Internet doesn't go that fast, right? I have 50 megabit upload, so I wasn't doing that. But you can you can really max out some of them. So I'm a big fan of this TS 4 doc. Check it out if you're looking for 1. It's a really weird world of of docs.

Wes Bos

And does this work as well as you think it would, and does it do everything I want? And the CalDigit ones have been the best that I've I've found over the years.

Scott Tolinski

Yeah. I love my t s 3, but now I am feeling like a bit of a a chump for not having the t s four. That's one more number.

Wes Bos

Yeah. It's 1 Node. And it also has more USB ports, which is like Yeah. I got rid of the all but one of my items that I had to put into a a powered hub because I was running a USB hub off of the dock just because, like, there Wes only the old one only had, like, 4 or 5 USB, and the new one has, I don't know, more than I need, which is awesome.

Scott Tolinski

I bet Courtney could use a t s 3.

Scott Tolinski

There you go. That's that's how I justify things.

Scott Tolinski

Alright. Shameless plugs. I'm gonna shamelessly plug the Syntax YouTube channel. That's right. We're on YouTube. We are showing code. We're showing our screens. We're having fun. We're on video. Not only that, but we also have CJ there, posting a ton of really awesome content lately. He's been getting into self hosting stuff. So if you're interested in self hosting, CJ has had so many good videos, and he's been doing office hours. So there might be more live streaming in our future. I'm going to be live streaming very soon here once Svelte five is released, and I will be releasing a full course on Svelte five. So if you're interested in any of that stuff or just watching the podcast on video, head on over to youtube Scott comforward/at syntaxfm, or just look for syntax on YouTube. We're there.

Wes Bos

Beautiful. I'm gonna ditto that as well. Check out the YouTube. Check out us wherever you want. JS amazing the amount of people we met at React Miami that were like, hey, yeah, now that you're on video, I'm watching it a lot more than I used to, or I'm loving the clips because I don't catch a I don't commute anymore, but I'm catching all the clips on TikTok. So shout out to everybody who gave us that feedback as well. That's it for today. We will catch you later.

Wes Bos

Peace.

Share