Potluck - Tabs are better? × Coding Music × SEO × Is Angular good? × Biggie Smalls × Soy Sauce × More! episode artwork

EPISODE · Dec 4, 2019 · 55 MIN

Potluck - Tabs are better? × Coding Music × SEO × Is Angular good? × Biggie Smalls × Soy Sauce × More!

from Syntax - Tasty Web Development Treats · host Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

It’s another potluck! In this episode Scott and Wes talk about tabs vs spaces, coding music, SEO, React vs Angular vs Vue vs Svelte, Rapping, Soy sauce and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Freshbooks - Sponsor Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the “How did you hear about us?” section. Show Notes 3:18 - Q: I am potentially starting a job as an Angular developer (modern angular). But I am scared that, even though I will continue to stay on the cutting edge in my personal projects, using Angular in my job will make it harder to get a job after that in more modern tech like React. Do you think there is any truth to this? 5:30 - Q: Yo guys, saw soy sauce stirred up quite the controversy…lol. What are some big developer disagreements you guys have? 11:40 - Q: In JavaScript, ! == is the same as ! =, but I was told there was a slight technical difference. I cannot find what the difference is. Could you elaborate on this? 14:17 - Q: What are the rules on using another dev’s repos as a boiler plate? Example: Using Wes’s advanced react starter files to utilize his set up for my own project? 15:35 - Q: What music do you listen to while you code? As an extension, could we crowd source a dev playlist and host it on Spotify? 20:26 - Q: How do you go about working with different technologies and stacks (front-end related) when you have to accommodate for the client or other developers’ biases towards specific things. For example, you have to learn a different set of tools because in a new project someone doesn’t like what you use and says X is a better tool for the job. 23:11 - Q: I know there is no magic SEO silver bullet, but what are some best practices for implementing SEO into your website or web application? 27:26 - Q: When dealing with responsive sites, how do you go about respecting the request in iOS safari to show desktop sites? 28:45 - Q: I get confused about your usage of the word ‘app’. You don’t make iPhone or Android apps, but you often through the word around like “I would create a Node App”, or “Some of the apps I made” etc. Is it just website applications, or how exactly should I interpret “Node App” or “Web App” compared to a mobile app? 31:36 - Q: I wanted to ask your thoughts on transform class properties plugin from Babel? Heard the podcast on react state, I found it mind blowing when setting everything up without constructors. 36:53 - Q: I am a beginner, I have mostly learned front-end so far (HTML/CSS, JavaScript, React). Should I first get pretty good at these before I start learning some back-end? Or, should I actually start learning back-end now and have a basic knowledge of both front-end and back-end? 39:00 - Q: If for some reason React died today and you were no longer able to use it, which framework would you pick up and use full time? Would it be Vue or Angular? Or something new like Svelte? 40:11 - Q: What habits, strategies, or specific tools do you rely on to prevent your hard drives from filling up with useless files? find . -name "node_modules" -type d -prune -exec rm -rf '{}' + 47:20 - Q: Which JS library is most like the Tesla Cybertruck? Links Tailwind CSS Syntax Spotify Playlist Head Bob Spotify Playlist Retired Scenester Metalcore Spotify Playlist DaisyDisk CleanMyMac Backblaze Tesla Cybertruck RxJS SynthWave '84 VS Code Theme RoboCopJS ××× SIIIIICK ××× PIIIICKS ××× Scott: Keychron K1 Mechanical Keyboard Wes: Everlane Uniform Crew Neck Shameless Plugs Scott: Black Friday Sale on All Courses Wes: Beginner Javascript Course Tweet us your tasty treats! Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets

Episode metadata supplied by the publisher feed · Published Dec 4, 2019

Embed this episode

NOW PLAYING

Potluck - Tabs are better? × Coding Music × SEO × Is Angular good? × Biggie Smalls × Soy Sauce × More!

0:00 55:48
of MATCHES

TRANSCRIPT · AUTO-GENERATED

You're listening to syntax the podcast with it. Tastiest web development treats out there. Just grab yourself in and get ready. Here's Scott Zelensky and West boss.

Welcome to syntax. This is the just someone put their name as gospel. In ski on the UNA. I just saw that when I was laughing.

Anyway, I come to the taxes is the podcast with the Tastiest web development treats today. We've got a potluck Q&A. We got some really good questions since we last data potluck. I thought like, man, there's more here than I would like to answer.

So thank you for sending them in. If you want to send in your own questions to the episode, go to syntax.fem. Top right corner, collect the potluck button, and submit your question that way. Today we are sponsored by Sentry, which is going to do all of your error and exception tracking and for rush books, which does your cloud accounting with me.

As always, as Mr. Scott Zelensky, how are you doing today? Hey, I'm too good. It's winter wonderland outside.

I'm on my new 16-inch MacBook Pro, of which we're going to talk about at some point. But yeah, no, I'm feeling real good. Yeah, I got mine too. I'm so excited about it.

I just did the typed on the keyboard of it. And I thought it was amazing. And escape key is great. And the arrow keys are great.

Yeah. Do you know what my favorite aspect of the keyboard is that I don't think people have been necessarily talking too much about? What? Is that the keys are further apart.

And I have kind of fat fingers. So like my finger will often hit multiple keys at once. The keys are further apart. Yeah, you're right.

So you get a nice separation when you're typing. It also feels a little bit like I feel like my fingers still aren't attuned to like where to reach to hit certain keys. Yes, yes. But I know once I do it's going to feel really good because so far I've been getting a lot better separation.

In particular, I'm definitely a, you know, I just go to type, I don't know, I want to say recklessly, I guess is how I do things. And yeah, this is much better for my reckless style of typing than the previous one was. Yeah, it's the same. I use a magic keyboard just on my desk.

And it's the same keyboard. That's what I always loved about. And I think it was I fix it, even took a key cap off of a magic keyboard and it fits perfectly on the laptop. It's just a little bit taller.

That's the only problem. Oh, yeah. I just, I'm so happy with it. We'll do a full episode kind of talking about it.

People always ask like, what's the best machine for being a web developer? And I've been saying recently, like not the MacBook Pro. That's for sure. And so you get an old one.

The Chromebook Pro. Yeah. Yeah. What if, what if you, like, what did you, you made some joke about you're eating a crunchy granola bar?

Yeah, nature value book. Right. Exactly. So you're a rice cake and the same building has the MacBook Pro.

It will fail. So, so happy that they're fixed. And it will do a whole episode on, on like hardware and just kind of reviewing them because it's such a, such an integral part of being a developer is having like a rock solid laptop. So stay tuned for that.

So you want to, you want to grab the first question here from Scott's Blinsky? Yes. This question from Scott's Bolinsky or Basalinsky. Hey guys, this is hopefully a quick one.

I'm potentially starting a new job as an angular developer, modern angular. But I am scared that even though I will continue to stay on the cutting edge in my personal project using angular in my job will make it harder to get a job after that with more modern tech like react. Do you think there's any truth to this? Well, I think the biggest problem with this question off the bat is that angular, modern angular, whatever, that's modern tech man.

The only thing I would say is not modern tech is using like a jQuery plug-ins in a, you know, sort of hacked together way or something. So right there, I'm going to go ahead and say that I don't think there's anything that you have to worry about. There's a billion jobs that are angular jobs. I mean, angular is probably.

Yeah. Like the second largest job market, if not the largest job market for developers with react. And so modern angular man, you can make a great career in a great living right now doing angular is straight up. I mean, there is a huge amount of interest in angular just because maybe sometimes people like us don't talk about it as much mostly because we don't use it.

But I don't think you have anything to be worried about there. And also angular is a tight script. So you're still like getting all that goodness going on. That's true.

I don't take anything that you hear on the show as like Scott and I are react and node heavy. And that's not a representation of web development. No, that's a representation of Scott and I who use react and node. So no, this is totally fine.

Plus like, I don't know, modern angular is awesome. We obviously love to make angular jokes here because they're funny, but modern angular is amazing and you're going to be a badass JavaScript developer by the end of it and you'll be able to pivot into whatever framework comes next at your next job. Don't sweat that at all. Yeah.

And also, I mean, any modern framework like angular is all component based anyway. So you still look most of the concepts apply. It's just different syntax and different ways of accomplishing the same goal. So as long as again, you're getting those little nuggets and you're learning, yeah, you're going to start, you know, still progress.

Next question we have here is yo guys, saw soy sauce stirred up quite the controversy. LOL. What are some big developer disagreements you have? All right.

So on Twitter, I like posted like soy sauce. I was going to fridge or just going to pantry and I got like 4,000 votes and it was 5050 for almost the whole time. And then pantry pulled ahead and like I always put it in the pantry and my drive my wife crazy and put hot sauce in this pantry when I was growing up, we put ketchup in the pantry, which I agree is weird because it gets like, you get like that weird sauce on top. So that's weird, but like I put everything in the pantry.

It's not going to kill you, especially soy sauce. And like Scott come swinging that's in the fridge because that's what the label says. I thought the label, man, it's a label. They know I didn't make this way.

I don't know all of the ingredients they put in it. You know, I know what soy sauce should be made, but I don't inspect the label. I didn't say, hmm, wanted to put a joke, but in their soy sauce as a preservative or if it needs anything or whatever, I honestly have no idea. But all I know is that it says refrigerate after opening.

And so you know what? I'm going to refrigerate after opening because I don't want to get any, any, uh, I know before people who watch all of their soy sauce come down to you about this. I really don't have a specific dog in this fight other than the fact that the label says to do it. So I followed that rule.

That's big fridge, big fridge lobbies for soy sauce so that you need a bigger fridge. It's, uh, it's all skip. Anyways. So like, I don't know.

Like Twitter can be a bit of a angry place at some point and it's, it's fun to get riled up about something like soy sauce. Totally. Right. And everyone's got the big ones.

I don't know. So I saw a wrap on there. That was really good. Yeah.

I like that. Thank you. What are the actual developer disagreements we have? Like, I think like me and Scott very rarely have disagreements in terms of like what we have.

Um, and it's not because we're like totally in line, but I think it's just because like, we're both kind of like, I could see why that would work for you or like that would work for somebody else. So I don't really have super concrete opinions because I'm often wrong. And, uh, things like, like even when we did, we talked about tailwinds and we said, like, ah, it's cool, but not for me. We got so many people are like, whoa, like you hate tailwinds and things like that.

Like no, it's, it's cool. And like we might be wrong about it. It's definitely gaining some serious momentum. So we talked about it.

I don't know. What are some other disagreements that you have about web development? I think I might be able to start some disagreements here because I've changed some of my, uh, we had like a, we had like one episode of Wild Back where we were talking about our dev opinions and we were trying to disagree on stuff and we ended up agreeing on everything, but I've just changed some of my viewpoints on some of those things. For instance, I don't use semicolons anymore.

And I've abandoned semicolons. I turned them off in my ES lens settings and my prettier settings and it removes them for me. And you know what? I'm still here.

My application still works. It still works. It's beautiful. And you know what?

I don't have to have those dumb semicolons. You know what? I can read the code still. So, uh, I think some people are like, I can't read a code.

Yeah, I don't know. It's been absolutely fine. I've had absolutely no seconds lost to removing semicolons in my code base. Absolutely not.

Another one is I've actually, uh, something made a really good argument for why you should use tabs over spaces due to accessibility reasons and it swayed me. So I haven't converted my project to tabs because that's going to goof up all my commits, but like, I don't know. I think I'm swayed to tabs. So I just pulled up the article here and it says using a tab with by just using one tab, then you can customize it in your editor as to how, why to display that thing.

So for some developers, they like to jack up the font size because I don't know, maybe like I personally do this. I keep my font size pretty big. I always get comments and people saying like, whoa, that's pretty big. And half that's because I record screencast.

I just leave it large. And half is like, I kind of like it. I keep my pretty small and then I shove my nose into the screen. I just get really close.

But if you have, if you jack up the, uh, it's sort of like using like pixels for padding because if you jack up the font size, then also the padding and everything jacks up as well, which is not necessarily what you want. So if you use a tab, you can jack up the font size and then, and then really clamp down on what actual tab character looks like in your editor. So that's a valid argument. I like that.

Yeah. And I was just thinking about it. I was thinking, yeah, I guess it makes enough sense and it really gives me no detriment, right? It gives you no detriment.

It makes your file size is smaller. Like, I guess that's fine too. Not like, like I got too terrible hard drive on this thing. I don't care anymore.

Can you imagine all the space you're saving without four tab characters? How many node modules can I fit on this hard drive? Also, like that's, that's not really true with Gzip or minification. So I don't know if that's really a valid argument.

Well, I mean, I don't know. Like file size loaded, but file size on your hard disk is what I was thinking. Okay. But yes, of course.

So I don't know if we had disagree with those things, but those are two, two little bits that we used to agree on that I since changed my opinion on. I don't know if I swayed you in any sort of way here. I didn't make an argument for semicolons other than, you know, I just don't like them anymore. I just mean me and semicolons are no longer my best friend.

Yeah, I could see why I wouldn't want it. And like, I might change that at some point in time, but I've never felt so moved to try to convert somebody on some of these things. It was the episode on bike shedding. That was where we talked about all these silly things.

Yeah. It's just not my personality. I really couldn't care. Just enjoy what you do.

Yeah. Right. Emily says in JavaScript, bang equals equals is the same as bang equals. But I was told that there was a slight technical difference.

I cannot find what that difference is. Can you elaborate on this? I'm sure it's been a huge help. Thank you.

Thank you, Emily. Okay. So this question is related to the whole triple equals versus double equals in comparisons in JavaScript. As you may know, in JavaScript, there is some sort of interesting behavioral with comparisons.

For instance, if you had a double equals, a numeral zero would be true if it was equal to the string of zero, which obviously is kind of unpredictable. That's not something that you would commonly think of as being the same, right? Yeah. One's a string, one's a number, right?

The value is the same, but not the type. Exactly. So it leads to some interesting sort of situations, right? So what it really comes down to is that whether you're doing the triple equals or the double equals and whether or not the bang is in front, it's still a strict check.

Like that's really what it comes down to is whether or not this is a strict check. And what more is there to really say on it? That's it? Yeah.

Yeah. It's the bang double equals will check for type and value and the bang equals will only check for value. Right. That's it.

I don't know. When I was more of a newbie programmer, I was doing less to restrict everything because it seemed easier or something. And in reality, it just led to more issues and bugs and confusion. And I've since been changing my thought process and becoming more strict on everything, especially I've moved my project to TypeScript recently and I, you know, strict everything on TypeScript.

And at first it was the giant pain in the butt. And then as I saw the benefits of TypeScript and then I saw the benefits and then tried to use TypeScript without those strict aspects, I started being like, wait, why would you even use TypeScript without strict checks? So again, I'd become more strict in checking anything, whether it's comparisons or types or whatever. So that's sort of why we always say use the triple exclamation or triple equals just because it's more clear of what it's asking for.

But you know, I don't know. Yeah, you're going to run into all kinds of bugs. If you always use the triple equals, that's my rule. That's what I put in my beginner JavaScript course.

The only use case for the double equals is if you want to check if something is undefined or null, that double equals will work there. But I think that's the only use case you should be using it for. Totally. Next question is from E-piff.

It says wrap artist. Check out my music if you like a little soundcloud drop right there. Thank you. What are your rules on using other devs, repos as boilerplate example, using West's advanced communes, et als, utilize for my own project.

I just want to play fair and not step on any toes. So this always comes down to what is the license of the code. So you have to check what the license is. Actually, this is probably bad.

I don't even know if I have a license on some of those, but that's fair game. Yeah, the rules, I get people emailing all the time, hey, can I use this in my startup or can I use your starter files in a project of mine? Or can I post the code to GitHub? Absolutely, totally fine.

Almost everything on GitHub has a license attached to it. You just double check it. Almost everything is fair game to go ahead and keep using yourself. Word.

Yeah, that's really it. Again, it's always check the license. But as long as the license is good for it, then go for it. I mean, that's why it's there.

That's the point of open source. I mean, there's a ton of repos that I always consult with. Even if I'm not straight up jacking the code, maybe I'm taking some of it to apply the techniques. And I think that's entirely within the legality and ethical balance as long as the license allows you to do so.

This next question is from Orion Tracy. What music do you listen to while you code? As an extension, could we crowdsource a dev playlist and host it on Spotify? That actually might be a lot of fun.

I could be in charge of the rap playlist and West could be in charge of the scream out playlist. It's a funny thing music. Like, I don't know. I hung out with my buddies at the cottage on the weekend and like I tried playing my own music for like 10 minutes and like nobody enjoys other people's music unless you like the same kind of music.

And it's a weird thing to try to like push your music on somebody else's because it's like, I feel the same way with editor themes. Like, I never try to like sell somebody on using my editor theme because I'm like, hey, if you like it, go for it. But if not, they don't care. It's all personal preference.

It's just my own personal preference. I don't know. I listen to mostly hardcore. I have a couple of public playlists that are getting pretty popular with devs because one's called Retired Seinster Metal Core.

And then I have another one that's called HeadBob, which a lot of you have subscribed to after I mentioned it last time. And it's basically just music that you bob your head to and it puts you in the zone. There's no screaming in that one. I listen to the two genres I probably listened to the most would be like golden era rap music.

I have a playlist called Golden Era we can share and then I have a show notes. Yeah. And then I have a rap music to code to which is like modern rap music. And what else do I listen to code to?

I guess I listen to a lot of ghostly artists. I used to work for a record label, Ghostly International. They do a lot of electronic music. It's techno sort of not techno based, but the label has techno roots like Matthew Deere sort of stuff.

So I listen to a lot of their new artists is drama all caps and it's really good to code too because it's sort of jazzy electronic music that just doesn't really take too much of your concentration out of you. And it's just really nice. A lot of that music like Tycho or any of that stuff is really good for me. I've been recently getting into this is like sort of a weird genre of rap music, but it's like just stoner rap music where these guys put out a thousand mixtapes a year like currency and burner and whoever they put out like a thousand mixtapes and they're not necessarily the most creative or most interesting.

And in fact, I don't want them to be because they're just sort of like just a sort of relaxed beat and some guy basically just talking about who knows what and because they've released so many billions of music, they're not saying anything important. They're just talking about. I went to the store and I got out of my car. And it's like, so I don't know what it is about it, but it's so mundane.

I love coding to it in a way that I don't know. It's funny. So I'll put some of this music up on the show. But that's really what I like.

I just made a playlist and I made it collaborative so anybody can add music to it. It's called the syntax coding music. So we'll put a link in the show notes you just search it and go ahead and add your fav tracks for coding and make sure you follow that playlist. It'll be fun.

That sounds like a great time. Yeah. Cool. What else sounds like a great time is setting up your air and exception handling so that you don't have any bugs in your projects anymore because let me tell you, I can't live without sentry and sentry at sentry.io is one of our favorite sponsors over here.

I've got a lot of favorite sponsors. We love our sponsors. But sentry is the air and exception handling tool that works with just about anything that you could possibly want to use it, whether you just connected to your application, it can log in and connect exceptions that you can track them to specific leases. So you can tell when a bug it was introduced so that you can make sure that if you need to roll back that commit or that release, you have that bug right in front of you or you can say, okay, I fix this bug and then in the next release, you can mark it as a regression if that bug pops up again and all of this within a really nice and easy to use.

So you can type in your face that looks great and allows you to basically see any issue that you're having right in front of your face. So head on over to sentry at sentry.io and use the coupon code tasty treat and you'll get two months for free. That is a tasty treat, all lowercase, all one word. Learn that you came from syntax.

We over here at syntax, you know, we advertise for the companies that we use in love. So I'm a big fan of sentry. I use it on all of my projects and a huge train of the project in general. So check it out.

Thank you so much for sentry for sponsoring. Next question from one Gonzales. How do you go about working with different technologies and stacks front end related when you have to accommodate for client or other developer biases towards specific things like you have to learn a different set of tools in a new project because someone doesn't like what you use and says, X is the better tool for a job. Hope that makes sense.

Yes, this is every developer ever has opinions on what's what's the best stack and often you'll have like a senior developer who makes these choices and has opinions or like something that's better. And then you also have like this whole web development sphere that changes their mind as to what is the best stack every three minutes. And you have business that actually need to make money and can't keep changing it. And the answer to my answer is that you can obviously try to change their mind, but almost always there's smart people that have made these decisions.

And just because it's something that you don't know doesn't mean that it's bad and your job as a developers to learn that thing and to work with those tools. Yeah. And that's I mean, it goes along with even what we've talked about with working with designers too, because it may seem like it's at times I know I've been into some pretty heated dev conversations, heated dev moments as you might say, where people are just really getting into it over what the stuff they like to use is. And again, I think it needs to be a conversation.

It's hard part when personalities clash because some people are just really just I don't know what the right word is, but just aggressive towards what they really like to use and they think it's maybe the only way and they're not going to listen or budge. And maybe it's nice to have a moderator involved if there's multiple people. But at the end of the day, it's a lot about learning why they like something and then hopefully they'll do you the same favor of learning why you like something and maybe you can share about it. I remember one time we had a project and the project was initially created with less and we had this huge like a four dev discussion over SaaS versus less and was sort of leading the charge along with another developer and saying, you know, this project should really be in SAS because, hey, man, less doesn't really do as much as SAS does and there's better SAS libraries out there.

At the time it was, you know, grid frameworks were all the rage and the SAS frameworks like Suzy were way better. So we had to talk about it and we went through the pros and cons and we sat down as mature developers and we talked it out and worked it over. And at the end of the day, it's a group project and you need a group result. Sometimes you need to give a little and sometimes you need to push down a little harder, but at the end of the day, be respectful to your coworkers.

Nobody has the necessarily right answers. Everybody just has different opinions. So yeah, that's all I got to say about it. I think beautiful.

Next question is from Andrew Gillian, dear boss and scooter. And people come in these names today legit podcast and they had respect. Yeah, and they had respect back Andrew. I know there is a no magic SEO silver bullet, but what are some of the best practices for implementing SEO into your website or web application?

Now this one is it's kind of tough because SEO stuff changes all the time. You know, Google can sort of change or tweak their algorithm or talk to go or whoever they can change or tweak their algorithm all the time. And really, some things that are important a couple of years ago may no longer be important today. Think about it back in the days we used to spam keywords into our site and so Google's like, all right, people are just spamming keywords.

So let's adjust the algorithm, right? So I don't even know if that was Google back then. I might have been Altavista. Altavista might have been interesting their algorithm.

But yeah, one thing I like to think about SEO is it's never going to hurt you to have proper HTML semantics and proper HTML structure at all times using the correct tags when they're not something really truly is an age one in following those rules, article, section, main, header, footer, and of all those semantic elements in HTML, learning why people use them, what they're used for and using those appropriately is one of the biggest things. And it's not going to skyrocket you to the top of search rankings because that's not how it works. But having those core fundamentals is going to help. And same with anything that's a performance based, you want a fast website, you want a mobile first, not the same mobile first, but a mobile responsive website.

So it has to load quickly. It has to work well on mobile and it has to be okay semantically as a base foundation before you try to do anything else within your SEO. Yeah, that's honestly all I do is just have good like it's not even amazing, but just good HTML semantic structure. Because at the end of the day, you have to remember that Google is trying to find their users the best possible result.

And as soon as people catch on to tricks, like back linking and stuff, they change it and they will go out for it. So don't go any down any rabbit hole of tricks. Surely those work and surely those will change over time. But also just putting out the content so it's easily accessible, it's fast, it's mobile friendly, things like that.

As long as that content is accessible and good quality for your users, I think that's going to really help out. I get people asking all the time, like, Hey, why do you get that little box at the top of Google where if you search, I used to have it. If you search let versus cons, I think Tyler McGinnis took it from me. Oh, it changed again.

If you search let versus cons in Google, I used to have the box for about a year. And then I googled that a couple of months ago and Tyler McGinnis took it. And now it looks like a medium article has it. So I don't know what they're doing there, but I think we're all just trying to provide good info.

There might be something about my article was from 2016 and Tyler's article is from January 1. So maybe keeping that up to date, I've heard that works as well. It's funny. One of yours always comes up when I'm looking for good examples for default parameters and rest of the spread sort of stuff.

I think yours always comes up and I think it's just really content is written really well. I mean, that's another huge thing. If your content is good and your content is what people are searching for and people find it, they're going to link to it. It's just going to continue to move up in the rankings.

I mean, it's all about the best practices, right? Who are tricks for Wes? Who are tricks for? Tricksers, what?

Different kids, man tricks for kids. Chicks are for kids. Yes. Yeah, don't leave those tricks at home.

That's not the answer. Anybody ever wants to hear the same with like, how do you like, how are you hacking sales and getting to followers? I'm like, honestly, just that's the long game. Just good content.

That's unfortunately, I don't have any other tricks there. Yeah. All right. Next question we have here from Simo.

Hi, gents. Love the podcast. It has given me lots of inspiration ideas. When dealing with responsive sites, how do you go about respecting the request in iOS?

I'm sorry to show the desktop site. So this is on Google Chrome mobile as well as if you are on a website and you click, show request desktop site. Like what happens there? How are you to develop or implementing it?

And unfortunately, responsive sites don't respect that because all that is doing is changing the user agent string of the request. And a lot of websites will take in the user agent string as this little piece of data that comes along with every request. And it gives you information about the browser that is requesting the website. And then based on that, either in JavaScript or in on your server, you can serve up different websites.

And that's what a lot of websites do. They have a mobile site and a desktop site. And by doing that, they change the user agent to a desktop browser and then it tricks the website into loading the desktop site for you. Fortunately, you can't do that with responsive.

Yeah. I don't know. Yeah. That's it.

Okay. Next question is from Daniel bro. Hey, co-kings are high co-kings. First of all, I love the soundboard effects on your show.

Oh, they love the show, but then the sound effects, soundboard effects are in primes. I got a quick and simple question from a newbie myself. I get confused about your usage of the word app. You don't make iPhone or Android apps, but you often throw the word around like I would create a node app or some apps I made, et cetera.

Is it just a website applications or how exactly should I interpret the word, no app or app compared to mobile app? Keep the episodes coming. Peace from Denver. Peace from Denver.

Daniel, we just use the word app primarily as web app. I'm not a native developer. I know I've worked in React Native. I've built things in React Native, but largely I'm not an app developer on the app store.

So to say, however, I do make web applications. Now, what is the difference? Well, the difference is they're hosted on or created with web technologies. Now, with the addition to T, I think all TSA's, whatever web apps, progressive web apps that can go in the Android store.

PWA is the progressive web app, but there was like a light version that we talked about a while. I think it was TSA. Yeah. Where you can now actually store apps on the app store that are written in web tech.

So largely when we refer to applications, we're referring to web sites that have more than just straight up HTML and JavaScript and maybe JavaScript to do like a little toggle here or something. But things that are primarily using JavaScript to write the application, to fetch data from an API to do things like handle accounts. It's just websites that are advanced. It's just a different language for the same thing.

Yeah. There's words in programming like app and state. And I don't know what are some of those other words that you just use and they mean a different thing depending on the context. It just means application.

And that's what API is another one. Yeah. Like API is like a endpoint where you fetch data from, but then API is also just like a set of functions that you can use to interact with something. Like API just means the way that you interact with something.

And unfortunately, those words are often loaded. And then you have the added benefit of someone like Apple coming around and like just taking the word for themselves and saying like, okay, apps are now like iPhone apps. There's something that are bundled up and pushed. So it just means code that's put together to run somewhere.

Yeah. Yeah. That's it. Beautiful.

Next question is from Rob B. Thank you for the, thank you for the pronunciation. Robbie Doyle. Yo, all of these questions are like, yeah, I think we, I think we have successfully appealed to the younger demographics got based on some of these questions.

Yo, holy crap. My two favorite guys have a podcast and I didn't know it. Thanks for all you do. I wanted to ask you for your thoughts on transform class properties from people.

Heard, heard the cast on react state. I found it mind blowing when setting everything up without constructors. What? The question here is they wanted a raw be wanted our thoughts on transform properties.

Yeah. Okay. Can you explain real quick what, what are class properties? So, in the context in which Robbie is talking about is within react and oftentimes when you're setting up your class based component, you need a constructor to pull the props and do things like that and modify or set up the state.

And what this allows you to do is have properties like an object property would be on an object just on a class. And typically you'll see this being used as like static properties or something like that. But basically instead of defining your state as this, that state, whatever, you're defining it just state is equal to an object within your class directly. And that way you don't have to use a constructor to get that initial state said.

And then it has been so long since I have written a class component that I'm just feeling like, I don't even remember that I can't even picture the code in my mind's eye. I need to like go look it up. It's so funny. Just, just that tutorial on it.

I can, like it works in Chrome now. Like you don't even need the same plugin. Yeah. It just works.

So like when you have your class and you have your methods on your class, which would be prototype methods. But if you want either an instance property, meaning that a property that is unique to every instance, not on the prototype, or if you want a static property, which means that it doesn't exist on the instance, it just it only exists on the class. Like a redot from is a static, that's a static method. But so like, how do you do that?

That's what the class property and you just do an equals inside of the class. So you might, sorry, previously, like Scott said, you'd have to set those properties in the constructor. And then your constructor just starts looking a little bit like weird, you know, like you've got so much junk just thrown in your constructor and class properties allow you to, it's very much just like a property on an object except use the equal sign instead of a colon. Yeah.

Yeah. Exactly. But yeah, so what are our thoughts on it? I used it extensively and exclusively when I was still writing class components.

So I like it. I like this index of cleaner. It's nicer. Yeah, it's funny.

Like I don't use classes a whole lot. That's classes are more of like an object oriented approach to it. And I think Scott and I are a lean a little bit more towards like functional JavaScript devs. So we don't use them a whole lot.

I did include them in my course just because like I think I once did a poll on Twitter that said like do you use classes and it was 50 50 split just like soy sauce right down the middle. Just in there was very very divisive. They're just like soy sauce. Some people put it in the pantry and some people put it in the fridge.

And if you want to keep your soy sauce fresh like mine and that not fresh like weseses and the pantry, you'll keep your soy sauce in the fridge and not just jipping. I don't have strong feelings, but you'll probably want to use fresh books to keep track of your expense when you buy soy sauce for the office because we all need soy sauce in the office. So I'm just telling you right there, Scott, if you were to buy soy sauce in Canada for the office, you'd only if it was food, you'd only be able to write it off for 50% unless it was part of a sushi party, which you are giving to your employees and you could write off the soy sauce 100%. How do you keep track of how much of an expense to should you write it off 50% because it was a meal or is it to write it off 100% because you were providing it as part of a party?

That's tax rules in Canada. And how do I do that? Because sometimes I just go out for lunch when I'm traveling and I can only expense 50% of that. And sometimes we have a Christmas party with me and my wife at the end of the year.

And I use fresh books to track all of that, including my soy sauce purchases. So check it out at freshbooks.com forward slash syntax and make sure you use syntax in the how did you hear about a section you'll get 30-day unrestricted free trial when you check that out. Thanks so much to fresh books for sponsoring. It's coming up on that time where we get all our expenses in order and all those things.

I'm looking forward to it. Although I'm working with a new accounting service this year. I think it's going to be a little bit better. Okay.

Next question is from Sarmon. Sarmon asks, Ola, Wes and Scott, big fan of both of you. I'm a beginner. I've mostly learned front-end so far.

H.E.M.L.C.S.S. JavaScript React. Should I first get a pre-good at these before learning some backend or should I start learning some backend and have a basic knowledge of both running and backend? It depends.

It depends on what your goals are. If your goal is to just get a job as a front-end dev, we just get that expert tag and just work really hard on the front-end stuff. But if your goals are to be a better developer and have a bigger understanding of the web overall, I know I'm throwing a little bit of a note in there. I personally do it because that's me and I'm a little too all over the place and scatter brain to stick to one thing for too long.

But it all depends on what your goals are. If your goal is specifically to get a front-end job, then I would just get good at those front-end technologies. If your goals are to be a good, well-rounded developer, then pick up some note as well. Yeah.

Honestly, if you should at least build some small app in Node, if you want to take my Learn Node course, that would be perfect for you. Just so that you can get a little silly. Sorry about that. I couldn't resist.

I think if you're a front-end dev, you should at least understand how the server works. If that means just building one thing, you might love it. You might be like, well, I'm going to be a sweet, full stack dev now. I love building the backend in the front-end.

It can't hurt. It's only a benefit by learning at least one project in the backend. You'll either say, good. I'm glad I understand how that cycle works.

Or you might say, oh, I really enjoy going from backend to front-end and doing reaction jobs. I love doing it all. That's me and Scott. I'm super glad that I'm not limited by that.

Plus, you probably have your own ideas. You're like, oh, I wish I could build an app that did X, Y, or Z, subscribe to bikes or something silly like that. Then you can build it. Build it, build it, fix your problems as a developer is one of the best parts.

Cool. All right. Next question from Gabe. If for some reason React guy today and you're no longer able to use it, which framework would you pick to use full-time?

You are Angular or something like Svelte. I would pick you. I would probably pick you because the community is one of those things that, you know, if the community is large and it's growing and there's energy behind it, then chances are- Is people paying you money or projects that need to be built in view? There will be projects out there.

There will be jobs out there, right? You can't necessarily count on there being Svelte jobs out there right now. That said, if I'm going purely on dev experience, I don't know if I'm going more. I like Svelte more.

It's different enough. I don't know. It's very simple and it's very nice. It has a lot of wow factor to it.

But again, it depends on what my goals are. If I'm building something for me, you know, I've built something for me, then I would probably go Svelte. It's hard to say I don't necessarily have enough experience building real world apps with either of them. All I know is that the view community is definitely larger.

So then those are my thoughts. Next question is from Anun. Not the name, Anun, but an ON, Anunis. What habits, strategies or specific tools do you rely on to prevent your hard drives from filling up with useless files?

It's funny we joked a little bit about this. Use spaces. That's all I do. No, I use an application called a Daisy disc that has a really nice visual representation.

That's what I use. Yeah. I've been using Daisy disc since like 2003 since the public school era. Yeah, I know just like a rapper.

I forgot what it's on though. That's biggest smallest party in BS. Yes, that's one of my favorite. That's one of my favorite.

I'm looking at it here. That's my one party trick. My one party trick is I can wrap every word of party in BS. It's funny they picked that up.

Yeah, when I was in high school, we had like a super long bus ride and I was like, I'm going to learn every word to this. And it's like the best party trick is every party. I was like, whoa, like Tony did not expect you to know every word to party in BS. I can wrap ludicrous is welcome to America.

That's my party trick, which is not even like a ludicrous single. It's just a random ludicrous song. So that's my party trick. But yes, I believe the correct lyric is that I've been a terrorist in the public school era.

Is that what he says? Yeah. Bathroom passes classes, squeezing lemons. Getting school was a daily routine.

Since 13, a chubby guy on the scene. Yeah, I used to have a trade doose and the doose and the double doose. And now I got the back in my back sack lounging. It's also the thing is like half the words I can't say.

Yeah, no, that's correct. You need a nice nice cool song like, well, well, West by Will Smith because he doesn't. He's like, Jim West, right? I'd write a rough ride.

Wait, man, I got that song Jim West, rough ride a man. Never mind. I'm going to try. Don't want none of this.

None of this. It's Jim West. Okay. Wow.

Yes. Well, okay. We have a podcast together in March at Reactathon. We will wrap on stage.

Yeah. I can bring my soy sauce for wraps. Okay. So what habits and strategies I use Daisy disk.

I look at this thing all the time because it like, especially for me with a lot of video files, I take a lot of space. So it makes it really easy, especially my, my no modules folder or media project folder. So that stuff can fill up pretty huge. And this thing at least gives you a perfect view.

Isn't weird to dial down to find all of those. I also use an application called the clean my Mac, which I've been using for a number of years, which deletes a lot of cache files, extreme system utilities, stuff that you don't need. It checks on permissions. It resets all sorts of nice stuff and generally is a nice utility to have.

So those are my two key apps as Daisy disk and clean my Mac. Yeah. I use Daisy disk a lot just to see where everything is. I also have any time I'm coding something that I know is temporary.

I'll just name the folder delete me. And then I know later if I find a random folder, I can just delete it. I know that it was just a temporary thing. There's a thing I use.

I forget the name of the package, but it would delete node modules that were older than 30 days because no modules. Oh, yeah. I don't know. I use 300 projects on my computer.

And if everyone has node modules, then that's gigs and gigs of read me files that you don't need on your computer. Totally. The biggest one for me is archiving video because they're huge. So what I'll do for that is I'll put it on an external drive and I'll upload it to an off-site backup.

I use backblaze B2 for that. So I have two if I ever need to pull them back down, I'll do that. And then I also have a policy of nothing is safe on the desktop or downloads. And every now and then I'll just select everything on the desktop, everything in downloads and just blow it away.

Those are just 10. And then yeah, if it matters to you, don't put it in your downloads folder. I see people do it all the time when I used to teach at bootcamp, people would work on their project out of their downloads folder and then it would be called GitHub master or whatever. They would actually delete it.

I'm like, oh, have a good folder structure. And then I'll also archive old folders. I had word presses from 10 years ago. I uploaded them all to backblaze B2 and then I just laid them off my computer.

So I have space. I almost went for the two terabyte MacBook, which I think you went for. You bet I did. I have a good reason for that, which I'll get into if you want to.

Yeah, I'm curious to hear. Yeah, what is it? Well, I like to play games. I know you're not a gamer.

I'm not necessarily a gamer either, but I have a huge Steam library as many people do. And most of the games only work on Windows. So the two terabyte drive, I'm going to throw 600 gigabytes of that thing in the Windows and say, hey, hey, that's a great idea. And so I'm going to have a decent Windows machine because from what I've seen on reviews and benchmarks, the gaming performance is really good.

And since I got the highest video card, this thing's going to be really good as a gaming laptop. I didn't buy it as a gaming laptop, but I used to have a Hackintosh that I used to game on and I haven't been able to since taking that down. So I have an Xbox controller and I'm going to hook it up via Bluetooth and I'm going to play some video games at a high resolution on my laptop. How about that?

That's cool. Yeah. That's great. I didn't go for the one terabyte because my old laptop is one terabyte and I want to many times I've needed to bring my computer into the shop and I just time machine restore the entire computer to my old one.

And then I have absolutely everything I need. And it's just a one to one copy and I've had it in the past where the machine I was backing up to was or restoring to was smaller than what I had and then you can't restore to it. So I ended up going one terabyte. Although I sure would love to terabytes just to not have to worry about deleting stuff.

I have a dance drive. So I'm kind of always moving stuff over there. Like I never let my hard drive get above like 500 gigabytes full and I really got the two terabytes one just so I wouldn't have to feel bad about losing six gigabytes. Yeah.

I know that's great. Yeah. So that's really my thoughts on it. Next.

Oh, I also actually say to remove my new modules I have an alias to remove those new modules. We talked about another episode. We can make sure that alias is or at least the command that I run is in the show. So I'll make sure I have that in the show.

Okay. Nick Richmond asked the last question which we picked off of Twitter because we thought this was funny which JS library is most like the Tesla Cybertruck. If you haven't seen the Cybertruck by now you probably have because it was out last night in an event and it is like the most brutalist looking vehicle you have ever been created. It is absolutely absurd.

It looks like a giant triangle pyramid thing and I absolutely love it because I think it's super ugly and that's sort of how I roll. What what JavaScript library is the most like the Cybertruck? Oh, I got a good one. You got a good one.

Please go with your good one because I'm struggling to come up with one. Oh man, this is the clearest. It's RxJS. So RxJS is a observable based I don't even know how to describe it.

Reactive extensions library for JavaScript. So it's basically coding with observables which it's a great way to actually code and why do I think that is similar to the truck because it's misunderstood often a lot of time. It's fast. It's performance minded.

It looks ugly at first and lastly the people who use it and talk about it are insufferable. Oh, Tesla, Tesla, Tesla, the new vegans they said. Oh my God. They are not good.

They're not good at anything. You point out one minor thing about a Tesla being, honestly, are they buying bots or something because there are certainly, like, Tesla's are great. I would love to have one. The Bitcoin people are flossed with it.

There are certainly flaws and same with Apple people though. Apple people do not want to hear about Apple's flaws. They just don't want to hear it. It's like these personality cults or something.

I have no idea. So I'm not saying you're a cult if you're a nados. I'm saying the cult of personality. Okay.

My pick is not going to be a Vio's code theme. It's just, I guess not a library, but who cares? I can't think of anything. This is the Synthwave 84 code theme.

It has a nice beautiful glow on it. It has a beautiful look. It's my favorite Vio's code theme currently. And it's just out out running.

It's out run. It's cyberpunk-y. It's all of those things. The cybertime.

If there was, if there's a RoboCop JS, I'm going to look up robo. Robocop.js. Because, you know, I just do that. You can type in a word and then there is a RoboCop.

Oh, of course there is. Because I had no idea. Robocop.js is something about JavaScript data schemas. It's a great name.

I'm going to say RoboCop.js because this cybertruck reminds me exactly of the movie. RoboCop, which is a favorite of mine. RoboCop, for those of you who don't know, is a really, really awesome movie. If you like very violent movies, it's very violent.

So if you're into that action movie and you haven't seen RoboCop, make sure you get it on Blu-ray. But yeah, I don't really have anything else that's pretty much it. Cybertrunk is my kind of ugly and I'm here for it. So that's all I got.

All right. Let's move into some sick pics. All right. I'm going to sick pick a crew neck from Everlane.

And it's part of there. Like a crew neck is just like a sweatshirt without a hood on it. And Everlane has this like uniform line, which is stuff that is put through the washer, hundreds of times and they test it out and they guarantee it for a year, 365. So if it becomes faded or stretched or anything like that, it's just awesome quality clothes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of Syntax - Tasty Web Development Treats?

This episode is 55 minutes long.

When was this Syntax - Tasty Web Development Treats episode published?

This episode was published on December 4, 2019.

Can I download this Syntax - Tasty Web Development Treats episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!