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

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.

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.

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.

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.

Scott Tolinski

Yeah. No. I hear you.

Topic 3 17:45

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

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,

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

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

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.

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

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,

Topic 5 35:00

Building own course platform is very difficult

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.

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,

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.

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.

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?

Scott Tolinski

Dan Chauniere.

Scott Tolinski

Sorry. Wes is better with,

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.

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.

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.

Topic 6 47:21

Cloudflare Workers are functions that spin up and down

Scott Tolinski

three. Their data storage.

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.

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?

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

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?

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.

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.

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?

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.

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.

Share