POPULARITY
Want to break free from the 9-to-5 hustle and build a $1 million creator business?In this week's episode, I coach Aaron Francis on his course-selling business and explore how to 3x his business by the end of 2025.Join us as we explore how to effectively implement a hub-and-spoke model to build a loyal newsletter list, proven lead magnets that can double your audience size, practical ways you can implement price tiering to instantly boost your revenue.Timestamps:00:00 Introduction01:15 Breakdown of Launch Businesses05:37 Setting Future Goals for the Business06:38 Creators Who Pulled Off Successful Launches10:31 Potential Problems for Product Based Creator Businesses20:40 How to Master Audience Growth26:50 Using Lead Magnets for YouTube to Email Conversions36:10 Strategic Content Creation for Sustainable Growth39:48 Tiered Pricing to Increase Revenue49:10 Grow Your Business Without Making More Products53:54 Cross-Selling Your Existing Products01:05:17 Fine-Tune Your Brand Vision01:07:40 Closing ThoughtsIf you enjoyed this episode, please like and subscribe, share it with your friends, and leave us a review. We read every single one.Know more about Billion Dollar Creator: https://www.billiondollarcreator.com/Follow Nathan:Instagram: https://www.instagram.com/nathanbarry/LinkedIn: https://www.linkedin.com/in/nathanbarry/Twitter: https://twitter.com/nathanbarryWebsite: https://nathanbarry.com/Featured in this episode:High Performance SQLite: https://highperformancesqlite.com/watch/introduction-to-this-courseScreencasting.com: https://screencasting.com/ConvertKit (soon to be Kit): https://convertkit.com/Aaron Francis: https://aaronfrancis.com/Kent C. Dodds: https://kentcdodds.com/Wes Bos: https://wesbos.com/Adam Wathan: https://adamwathan.me/Highlights:07:45 How to Bridge the Mental Gap to Your Goals16:09 Overcoming Struggles by Delegating Tasks & Team Dynamics23:15 Importance of YouTube and Email 29:10 Mastering Lead Magnets49:10 Timeline to Grow a Course Business
Hosts Will Larry and Victoria Guido are joined by Wes Bos, a full-stack developer, course creator, and podcaster. Wes shares his web development journey, from blogging and creating a successful book on Sublime Text to developing his popular online courses and hosting the Syntax podcast. He talks about the spontaneous start of his teaching career, his approach to creating content that is both approachable and practical, and the importance of making web development accessible to all learners. Wes discusses the evolution of his career, detailing his experiences in teaching at Ladies Learning Code and HackerYou and how he transitioned into selling online courses. He emphasizes the significance of offering quality content in his free and paid courses, ensuring his teachings are relatable and helpful for real-world applications. Wes also delves into the technical aspects of managing his course platform, discussing the benefits of having complete control over his content and the challenges he faces, such as content theft and logistical issues in distributing his popular sticker packs. The conversation shifts to the role of AI in web development, where Wes highlights its impact on coding efficiency and the need for developers to adapt to AI integration in applications. He advises beginners in web development to be wary of over-relying on AI, emphasizing the importance of understanding the fundamentals of coding. The episode concludes with Wes offering advice for content creators in the tech space, stressing the importance of sharing knowledge and its positive impact on the community. He encourages listeners to stay passionate and continuously learn in the ever-evolving field of web development. Wes' Online Courses (https://wesbos.com/courses) Sublime Text Power User Book (https://wesbos.com/sublime-text-book) Syntax Podcast (https://syntax.fm/) Ladies Learning Code (https://www.canadalearningcode.ca/) HackerYou (Now Juno College) (https://junocollege.com/) Follow Wes Bos on LinkedIn (https://www.linkedin.com/in/wesbos/) or X (https://twitter.com/wesbos). Visit his website: wesbos.com (https://wesbos.com/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: WILL: This is the Giant Robots Smashing Into Other Giants Robots podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. VICTORIA: And I'm your other host, Victoria Guido. And with me today is Wes Bos, a Full-Stack Developer, Coursemaker, and Podcaster. Wes, thank you for joining us. WES: Thanks for having me; stoked to be here. VICTORIA: Can you tell me, you know, on top of all of these skills that you have, podcasting, you're making courses; you're also doing development full-time; I heard that you've also picked up a new hobby in making stickers and, like, designing merch for aligning with some of your marketing goals. WES: Yeah. All right. So, my name is Wes Bos. I'm a full-stack developer from Canada, and I do primarily two things: I make web development training courses, and I have a podcast called Syntax in which we release three episodes a week and talk about everything related to HTML, CSS, JavaScript, Node, just web development and things that surround it. WILL: I want to see how you started in those courses. I know a little bit about your story because I remember when I first started in development. I think it's gotten a little better, but I was the only junior at one of the first companies I started at. And I went through a bootcamp and then became a junior. And I was like, how do I develop? Like, how do I get better? And they were like, "Wes Bos, his course. WES: [laughs] WILL: Go to Wes Bos." [laughs] And so, I did that, and it helped me tremendously. But it's interesting. I just want to see how you started. I know some of your background with ladies who code, and I think HackerYou. So yeah, wherever you want to start, bring us into the beginning of Wes Bos. WES: So, I've been a web developer forever, a good chunk of my life. And back in, like, the blogging days, I was doing a lot of posting blog posts and whatnot. And I had a couple of the blog posts do super well. And back in the day, it was like, you get tons of traffic, and you try to, like, seize the moment. Like, oh, there's, like, 50, 000 people on my website right now. Like, how do I, like, take advantage of that? So, what I did was I threw up a quick, little...it was a blog post about Sublime Text, which was the hot, new editor at the time. And I threw up a little thing. I'm like, I'm writing a book about Sublime Text. And I threw up a little sign-up where people could pop their email in and hear a little bit more about it. And I got, like, 2,000 signups for that in a matter of a couple of days. And I thought like, oh, all right, well, now I got to make this thing, you know, like, I just [chuckles] I didn't have any plans to make it. I had kind of been going around in my head, but I decided to write the book. And then as part of the book, I gave a bunch of videos, and I realized I liked the video part a lot better. And it makes a lot of sense to show people what you are doing when you're talking about code and code-related things. So, I came out with a bunch of videos for that as well. People loved the videos, and I thought, oh, let's just keep doing this. So, I made a bunch of free courses, a bunch of paid courses. And kind of at the same time as well, I was teaching at this thing called Ladies Learning Code, which kind of transitioned into a bootcamp that I did the initial content for, which was called HackerYou. And, like, people kept giving me the same feedback into like, I'm not a traditional teacher. I'm just a web developer that has learned on his own and figured things out. And a lot of people said, like, " I really like the way that you explain things. Like, it makes so much sense the way that you explain it." And I figured out that, at least for some people, they really like the way that I explain something, and I will continue to do that. So, that's pretty much how I got into it. It's just explaining how it works in my head, putting it onto video, and putting it out there for web developers to learn from. WILL: Yeah. And that was one of the reasons why I think I was so successful in my career is because there's a...Just learning development is hard; let's be honest. It's just hard. And I would run into people that would honestly just talk over my head, and I was like, I have no idea what you're saying, but okay. But your courses, it was like, oh, okay, I understand that. That makes sense. Like, I can't remember the name of it, but the React beginner course I've been to that one probably three times just because I'm like, it's making sense. And every time, I get more and more and more out of it. So, I can definitely agree that the way you teach your courses it brings it down to earth. Like, I think maybe anybody could pick it up, I would say, because it's like you're talking to them, so yeah. WES: It's really important to me that everything is approachable. And I will often explain things, like, I'm the same as you. There's extremely smart people out there, and they'll just talk at you about all of these things. And it's just like, I have no idea what you're talking about. Those words don't make any sense to me. And it's not that I dumb it down. It's just like, the way that it makes sense in my brain is not the same way that they're talking. So, the way that I explain it is just how it makes sense to me, and people tend to really enjoy that type of thing. And I really hope that I can make a lot of this web development stuff approachable. And sometimes it's not the, like, exact perfect explanation of how something really works, the explanation you need to understand how these pieces fit together and when you would actually use something. That's the other part of a lot of the stuff that I teach as well is that I have this big thing on one of my course websites, which is like, no foo bar baz. Because when you're learning to code, you stumble across all these foo bar baz where people are making functions and passing the values in, and they're called meta-syntactic variables. The whole idea is that because foo bar baz mean nothing, you're able to take it out of context and focus on what is happening, and I'm quite the opposite. Show me a real example of a bunch of dogs, or a sandwich, or a button that you can click on that fetches data. And I always try to make my examples something that is real world enough that you could understand, okay, I see where this might be used rather than something in isolation because I find that myself very frustrating. VICTORIA: What's one of your favorite examples or, like, example scenarios that you use when you're designing a code problem to teach people? WES: It really comes down to, like, what you're teaching, but the ongoing joke on the podcast that we have is that I always use sandwiches because a sandwich is a great metaphor for a lot of things in life. So, for example, when we talk about streaming versus buffering, and we talk about, like, you're eating the sandwich as it's coming into your house versus you're cutting it into pieces and eating it. Or in my upcoming TypeScript course, I have a bunch of examples where there can be multiple types of food, and a sandwich can be one of them, and a pizza can be another one. And that kind of shows how to use generics, right? Like, you might have a database entry that is a food entry, but you want to further that to be a sandwich or a pizza, and not all of them are that simple, right? Like, a lot of them are also just related to web development, which is like, here's buttons that you need to click on, and here's data that you need to fetch, and here's a database schema that needs to happen. And if that's the case, I try to, like, make it real world enough where you can say, okay, I understand that this is how it works. Now, how can I apply that to my own idea? Because often, people learning to code have their own ideas. They just want to make something to solve their own problems. WILL: How did you learn to code? Because I don't think you did a traditional route. I remember on one of your podcasts, you said your dad was in IT, but I don't think you went to a traditional route. So, how did you learn to code? WES: It's a really long story. But the story is that I got into computers at an early age. I got into designing T-shirts and CD art for a lot of, like, hardcore bands in the music scene when I was in high school, and that parlayed into Myspace. Myspace taught me CSS. And then I've always been, like, fairly entrepreneurial, so that I parlayed into running my own business, making websites. And I've just been at it for so long that I've sort of taught myself all the pieces that I need over the years. I do have a degree in what's called business technology management, which is, it's a business degree but no coding or things involved. It was more, like, higher level. There was some, like, networking IP addresses, and then there was a lot more, like, business management teams, procurement, SAP, things like that, so none of the web development stuff I have learned comes from that degree. It's all self-taught. VICTORIA: So, you found that you had the skill around explaining web development concepts, and then that led to you creating your own business and having your own, like, coursework out there and everything through your podcast. So, maybe you could share a little bit what that journey has been like. WES: It's been a very long journey. I'm not sure which part you want to hear about, but I've been selling courses for probably about nine years. And I have sold quite a bit because I also offer about half of them for free. So, I have a bunch of free ones where people take it, and they're like, "Oh, this is amazing. I'm going to take the paid one that he has as well." And I spend a lot of time making sure that the free ones and the paid ones are the same quality. Like, it's not just some crappy 10-minute course that I'm using as a lead magnet to get you in the door. Like, they're actually pretty good. So, it's been really fun. Like, I've built a whole course platform that sells all of my courses, and you can view them and stream them, and there's invoicing and checkouts built into it. So, like now, if somebody wants to get into selling courses, there's lots of options out there where you can sign up for some SaaS and upload your course, and you're up and running. But at the time when I had done it, there was nothing like that out there, so I had to build my own whole course platform. And I've really enjoyed working on that over the years and upgrading it, and changing it, and rewriting, and adding features to it. VICTORIA: Yeah, that's really interesting. I like that you kept the quality the same on the free and the paid versions. That's a really interesting, I think, like, a reflection of your own values. And then, I'm curious: now that there are other hosting options out there, is there anything that would make you decide to switch to one of those platforms? Because it also sounds like you're getting a lot of enjoyment about managing the one you have yourself, and there might be some other benefits to that. WES: Yeah, probably not. First, because they take a cut, and a lot of these course platforms are not there to promote your business. They're there to promote their own business. And it's the same thing with YouTube. When your YouTube video ends, what does YouTube recommend? They usually recommend what you think you're going to watch, which is sometimes somebody else's video, right? And not having full control over how the courses are sold and consumed, to me, can be a little bit frustrating because you can't do different ideas that you have. So, like, one of the ideas I had early on is I was getting lots of email from people in different countries, you know, in Argentina, and in Brazil, and in India. And they say, "Hey, like, I would love to take your course, but the cost of the course is a day, a week's wages, and that's way too expensive for me." So, I implemented this thing called parity purchasing power. I didn't come up with the economic concept of it, but I was the first person to offer different prices based on the country that the user was coming from. And, A, that's a cool thing to do for people, and B, it helps sales tremendously. And if I was using some course platform, some of the course platforms now have that in place; it's table stakes, right? But at the time, I don't think I would have done as well if I hadn't coded that in myself. So, having full control over absolutely everything is really important to me. And also, like, nobody wants a teacher who doesn't actually build stuff, you know? No one wants to learn from the guy who just, like, skimmed the docs and came up with a crappy, little example. Like, you want to learn from people who are daily writing code and building real-world applications that, like, I have to support my family on this application, you know, it's pretty important, and it's pretty real world. WILL: Yeah, and just following you, I think...and I don't know if you would describe yourself like that, but I think you're, like, a tinkerer. Like, you just...some of the ideas you have is just like, let me just try it out and see if it works. And so, that's amazing that you're able to do that. Where does that side come from? Was it from your dad being in IT, or where did that come from? WES: Probably. Apart from growing up and seeing my dad just fix stuff and do stuff, but I'm just a constantly curious and hungry guy. And I absolutely love dipping into different tech and not even just tech but, like, I built this whole recording studio that's soundproofed. I built the whole thing myself just because I love to learn new things and to dive deep and learn how everything works. And I think a lot of developers very easily burn out. And I always like to say, like, my competitive advantage is not burning out. So, I'm very cognizant of that might happen at some point. And part of the cure for me is I need to be excited about this type of stuff, and I need to be using it. And being able to build new things, and dip into tech, and learn constantly is what keeps me excited and motivated about web development. WILL: Wow. So, you say you built your office. So, you built the entire, like, from concrete up? WES: Not concrete up. So, this was like a...I'm in a basement right now, and I put up some walls. And I talked to a bunch of sound engineers about soundproofing. So, the whole ceiling is not mechanically fastened to the actual ceiling. It's like kind of, like, a floating ceiling, which is pretty cool. And then there's soundproofing material in the walls and outside the walls, and special drywall, and all kinds of interesting stuff to make it sound as good as possible and be as quiet as possible in here because I have three kids. WILL: [laughs] I totally understand the three kids... WES: [laughs] WILL: And the noise that that brings. So, that's amazing. And I think you bring up something that we don't talk about enough in development is that mental health side. Like, just trying to figure out, what do you like to do outside of your computer, away from your computer? So, that's neat that you're working on that, and that that's probably why you haven't burnt out compared to other people. But yeah, kudos to you. That's yeah, that's pretty interesting that you have hobbies outside of that. WES: Yeah, I find that pretty important to sort of keep that balance. Otherwise, if you're doing it day in, day out, especially if you're working on the same thing...like, another benefit I have is I'm always dipping into new stuff, and that keeps it really interesting. But there's plenty of other creators out there that go too hard, and they go 24/7 on it, and then you don't hear from them for six months. And it's because they got burnt out on it, which is very scary to me that that might happen to me at some point. So, I try...I don't know if I've got it figured out, but I try to combat that as much as possible. VICTORIA: And I'm wondering how you balance just that need to create content because it seems to me that web development is constantly changing, right? And so, content that you created a year ago, maybe you got to go back and update everything. So, how do you manage that and keep your content fresh with all the ongoing changes in web development? WES: Yeah, unfortunately, sometimes it means you just have to deprecate content, or you say, "Hey, this is not the content you should be taking right now," because some of the courses take four or five months to record, and after a year or two, they can be out of date. So, I'll mark them as deprecated if they need to be. But I'm just kind of always working on something new, both with my courses as well as, like, the podcast. We always just have...that's the kind of the benefit of the job as well is that, like, yeah, it changes all the time, but there's always new stuff to talk about. As somebody who makes a living explaining how new things work, it's kind of nice. VICTORIA: That's great. You got a good pipeline of content to talk about [laughs] and to update for, so that's great. Mid-Roll Ad: As life moves online, bricks-and-mortar businesses are having to adapt to survive. With over 18 years of experience building reliable web products and services, thoughtbot is the technology partner you can trust. We provide the technical expertise to enable your business to adapt and thrive in a changing environment. We start by understanding what's important to your customers to help you transition to intuitive digital services your customers will trust. We take the time to understand what makes your business great and work fast yet thoroughly to build, test, and validate ideas, helping you discover new customers. Take your business online with design‑driven digital acceleration. Find out more at tbot.io/acceleration or click the link in the show notes for this episode. VICTORIA: You know, you're creating this content for web developers, and you have this kind of global audience now. What's on the horizon for you? What are you planning for in the next couple of months or in the next five years? WES: Yeah, next couple of months, I have a TypeScript course I've been working on for over a year now. I've been sort of cranking on it, and that will be out. And then we have a podcast that we are going to be launching a video version of pretty soon, which I'm pretty excited about. We've been kind of going pretty hard. We just hired a producer. We've been going pretty hard on, like, the social clips type of thing. So, that's coming down the pipeline as well. And five years, I have no idea. I think I always say, like, a five-year plan is a five-year guess. You know, like, you can plan ahead for six months, a year, and have some good goals. But in web development, like, a year ago, AI, maybe a year, like, 13 months ago, the AI stuff was nothing but a murmur, right? And now, the AI stuff is a good chunk of what I talk about and what I teach. So, you just kind of got to react to it; otherwise, if you have a five-year plan, then you're not going to be able to catch these new things that pop up. WILL: How do you pick? Because I know you said you have a TypeScript course coming out. How do you pick new topics to talk about? Because there are so many. There's testing you can talk about. There's React Native. There are so many areas you can go to. How do you pick and choose that? WES: It's actually pretty easy because it's what I'm excited about and what I want to tell people and teach people, like, what they should be learning. So, like, every single one of my courses is tech that I myself am using and that I want to help teach other people, so it's pretty straightforward. It's not like I have some sort of, like, stats of, like, what is the most popular framework out there, and, like, obviously, that does play into it like a Next.js course. I've used Next.js in a couple of my courses. I'll probably do another Next.js course. But that's both because I enjoy it and because it's stable enough and popular enough that people would want to buy it. I'm not going to be creating a Java course or a Rust course or something like that because I know that's popular right now, and it would probably sell well. It's just not something I know enough about, or I'm excited about. VICTORIA: Yeah, and I'm curious to go back to your comment about AI and just ask you, how are you talking about it in your courses? What are, like, the things you think it's really important for developers to know right now about AI and web development? WES: There's kind of, like, two parts to it. First, there's the part of, like, using AI to help you code. So, there's all these, like, coding assistants that get in your editor, and you can send them your code, and it can help you decipher it, and it can scaffold out code. Those things are really, really good. And I know a lot of developers are hesitant about it because, like, "Who knows what kind of code it's generating? And you still have to be able to understand it. And I prefer to write it by hand." And that's a valid opinion, but, like, I don't think that that's going forward. And I think that this AI stuff is making us so much more efficient in writing code that if you're not picking it up, I think that you might be at a little bit of a disadvantage there. So, there's that [SP] hunk. And then there's also the, like, we're going to have to start implementing this stuff into the apps that we build, and whether it's just pinging in an AI service and getting data back or creating a bunch of embeddings so you can have related, like, for a blog post or for a podcast, we want related podcasts. Or if you want to use AI to, like...group tagging on a blog is a really annoying thing. Nobody uses tags well enough. But, like, what if the tags could just be automatically generated based on the words in the post or the words that we speak on the podcast? So, there's just, like, so many, like, new features that will make it better. Your product is going to be better for your end user. And even starting now and, like, when those features are not enabled, like, it's not, like, necessarily an AI feature, but it's like, wow, I wish this had better grouping of podcasts, or I wish that you had better tagging, or that your search is not very good because it's just a text match whereas there's a lot more depth that could be added with AI. So, integrating AI into our websites and our applications that we're building is going to become just another skill that you, as a web developer, have. VICTORIA: No, I think that's a really interesting take on it. And I'm curious if you've also seen AI used to even, like, suggest better standards for code or certain design patterns and, like, tools that help you, like what you said, kind of get better at coding faster. WES: That's the thing people are talking about. Like, if you're learning to code, should you use these types of things? Because, like, you can just hit Tab a couple of times, and it might look good. And it certainly can bite you. Especially if you need to be able to go back and edit that code to fix it, you need to understand how it works, so there's that part of it. But, man, does it make you faster for doing a lot of common things that you will be doing over again. It just really helps you out, so I'm a big fan of it. I have lots of complaints about it as well, but I think it's here to stay. VICTORIA: [laughs] Yeah, it's here to stay. And I've talked to founders who are really excited about it, and maybe they weren't, you know, they don't have years and years of React development experience, but they know the functions that their app needs to do. And they're able to use coding prompts and tools to kind of create at least a minimal product of what they want to build, so it's really exciting. WILL: I totally agree with AI because I use some, especially with the coding, and it makes it so much faster, but I do think you still have to know what you're doing. Because I think you posted on it, like, in one of the coding helpers that I use in VS Code, it still doesn't know how to close out the end of the line. You have these extra backticks or whatever. And it is like, so, as a new developer, you still have to understand your code, or that's going to drive you crazy every time that you use it [chuckles]. WES: Yeah, that's extremely frustrating, the backticks. I've had an issue open on GitHub Copilot for about a year now. They've said they fixed it, and a couple of little situations, it's been fixed. But I would love to, like, talk to somebody about, like, the actual issue because if you give the broken code back to the AI and say, "Fix it," it fixes it. So [laughs], it knows what's wrong. I just, I don't know. Yeah, you still have to know these things. WILL: You taught at Ladies Learning Code and then HackerYou. Did that help you overcome the imposter syndrome of teaching? I don't know if you knew how big your courses were going to become. But what did the imposter syndrome look like for you during that time, or did you even have it? WES: To a certain point, yeah. I think everybody has imposter syndrome, and that's good. Because if you're so confident that you're so amazing and blessed at this specific thing, then your head is probably too big, and [chuckles] you probably don't know what you don't know. But with a lot of my stuff, I'll often just ask people who know better than me. Like, that's a big part of what it is, is you can just consult experts or like, "Hey, what do you think about this?" Or "Is this the best approach?" Or "Here's my code. Do you mind running through it really quickly and see if there's anything that sticks out?" People are often, like, you can pay them, or people are often willing to help, so there's that. And like, also, you have to just know that this is for the people who enjoy it. Like, I'm not making courses for people who are better developers than I am. I'm making courses for people who like the way that I explain specific things. And then, like, another thing that probably really helped me is that I have, like, a 100% money back, no time limit on it. And that just makes me feel good about like, hey, like, if this is not actually good, if you do not think that this is good, or if you just don't jive with the way that I explain things, no sweat, you know, here's your money back. You keep going. And that makes me feel a lot better because it's not like I'm trying to fleece somebody for money and trick them into buying the course. Like, I feel pretty good about it, and if you feel pretty good about it, then we're both happy. WILL: Yeah, that's amazing because I feel like there's certain things that I would love to get started, but that imposter syndrome and also, like, the opinionated developers out there, like, you know what we are talking about. But it just seems like it would be hard to start with that. So, that's why I asked that question. WES: Yeah, I've learned that, like, a lot of these people that have these extremely harsh opinions are, A, they lack all the social skills, so there's something with them that they just don't have it. And you have to understand that that's just something that they have, and they may not be trying to be a jerk. That's just kind of the way they are. And if people are overly opinionated, it's usually because they're, like, covering for their own insecurity of what they want, not always. But a lot of times, I feel pretty good about people telling me, "Oh, you could do it this way," or "No, why are you doing it this way?" Like, I feel pretty confident in my skillset, but I also am always willing to learn and always willing to be corrected and learn new tips and techniques because that's how you get better. So, the people that are constantly being angry online and throwing around opinions and saying things are garbage, that's very scary for beginners because they think, oh, like, am I learning the wrong thing? I don't want to waste my time here. Like, am I going to lose my job if I don't learn it? And the reality is it's not that cut and dry, you know, it's a lot more easygoing. So, I try to convey that as well. And I don't put too much into these silly people who get really angry at semicolons or something silly like that. WILL: That's good advice. That's good advice. Because I think there's been some stuff that I want to do, that's held me back. So, that's really good advice. I appreciate it. WES: Yeah, just do it, like, you never know. Like, if someone's calling you out for putting yourself out there, like, that's a really big jerk thing to do. And I've called people out as well. Like, I don't get it as much anymore, and that probably has to do something with the fact that I've sort of established myself. But several times in the early days, people would be, like, mean. And I would just be like, "Hey, like, just call people out, like, nicely, but, like, hey, you don't have to be mean about it. I'm just trying to share what I've learned here." And that usually gets them. VICTORIA: Yeah. It's like, what are your intentions with providing this feedback to me right now? Like, are you trying to help? [laughs] Because it doesn't really feel that way. No, I appreciate that. And, you know, I'm also...part of thoughbot we've traditionally put out a lot of trainings, a lot of, you know, Upcase things on Ruby on Rails. And with my team, I'm looking at putting together some workshops around site reliability engineering and things that would be helpful for developers to learn how to instrument their code. So, speaking of advice that you would give to maybe any engineer or any developer who's looking to share their expertise, or put together a course, or even a blog post about what they're learning, like, what would you advise someone who's trying to create content like that? WES: Put it out there. When I released my Sublime textbook, keep in mind, a book about Sublime Text that's a pretty niche thing, there was already two books out there on that exact topic. And a couple of times, I was like, is anyone going to want this? There's already one of them out there. Should I even write this blog post? There's 70 out there. And just keep in mind that, like, the way that you explain it or the specific issue that you hit or whatever, it might be the way that really clicks for somebody else. So, I always tell people just put it out there. You never know what is going to come of it. It's likely going to be a net positive for the web development world in general. So, don't ever feel that you shouldn't put yourself out there because you might not know absolutely everything about it. Just share what you know. That's how we get better. VICTORIA: Yeah, I had a friend many years ago who we used to organize Women Who Code, and she said, "Do you think anyone would really be interested in, like, a cloud series of these topics?" And we're like, "Oh, maybe not." In the first event we had around Cloud for Women Who Code, I think, like, 30 people showed up. So yeah, put it out there, see who's interested, and go from there. That's great advice. WES: Yeah. On the same topic, is like, 'Will somebody want this?' is a huge question. People always come to me and they say, "Hey, do you think if I make a course on X, Y, and Z, will people buy it?" Or they'll put out a tweet that says, "Hey, would you buy this, or would you attend this?" And everybody's always like, "Yes, yes, yes," just trying to be supportive. But at the end of the day, you have to test these things by actually putting things out there. So, for me, how did I know the first thing I wanted to do was Sublime Text? It's because I put out blog posts on probably 20 different topics, and those were the posts that just hit really well, and they really resonated with people. So, like, if you're trying to understand, like, will it work? You can test those things very easily by putting a YouTube video up, putting a couple of TikToks up, write a blog post, put a couple of tweets up. And, eventually, when you put out enough content, you're going to start to see a trend in a specific area, and that will give you a little bit of guidance as to what it is you should pursue. WILL: That's great advice. Have you had any hurdles through your journey of online courses and the podcast, releasing podcasts? WES: I feel like I'm always, like, course-correcting. I've never had, like, a flop. And, like, I've had courses I've shelved. Early on, after Sublime Text, I was like, I'm going to do a gulp course, which was, like, a build tool for JavaScript. And then webpack started to get a little bit more popular, and I was like, okay, well, maybe I'll just make a tooling course in general, but I was like, ah, that's kind of way too big. And after, like, working on it for a couple of weeks, I was like, you know what? Like, I'm going to scrap this because I don't think that this is it, you know? So, just kind of always listening, always feedback, and course correcting is probably my biggest advice there for the hurdles. There's stuff that comes up, like people stealing the courses. And, like, I had early access to one of my courses once, and somebody bought it with a stolen credit card and then put it up online. And, like, that's incredibly deflating because now there's your unfinished course out there before people could even buy it. And people will spam you and run DDoS attacks on you and lots of stuff like that, where people are just...they see that. And that's always really frustrating, but you kind of roll with the punches and kind of keep working on it. WILL: Wow. That's interesting. So, someone bought the course with a stolen credit card, and they released it early to the public? WES: Yeah. I don't know if I should say this or not, but there's a very large Russian website that is...literally, they have a paid membership, and the whole point is that you pay for the membership, and you get access to every course ever. Sometimes, they use paid cards, and sometimes it's stolen cards. WILL: Oh, wow. WES: They just buy every course by every creator, and they put it up on this thing. And you can get it for free for the first, like, three months, and then it goes under their paid thing. And that stuff was really frustrating to me at first, but I've learned just to...the web development community is incredibly supportive, and I have nothing to complain about, really. People who do want to support you will support you. WILL: That's neat. That's really neat. VICTORIA: Yeah. And speaking of the web development community, are there events or conferences you go to or different, like, places where you really connect to the web development community? WES: Yeah. Conferences are fantastic. I really enjoy that those are back. So, React Miami is coming up. It's going to be a really fun one. But I go to a couple of conferences a year, and I usually speak at them. We also do meetups every now and then with Syntax where we'll rent out a bar and get a bunch of merch and stickers and just kind of chit-chat with everybody. That's honestly, my favorite is just going to a meetup where there's no talks or anything. It's just a bunch of interesting people in a room, and you get to talk with all kinds of cool people. VICTORIA: That's fun, yeah. I've been organizing a monthly CTO lunch down here in San Diego, and it's like, we just get together and have lunch and, like, talk about different stuff [laughs]. WES: Love it. VICTORIA: And it's really great. I used to organize those meetups with, like, two speakers, and then there was pizza and drinks and all that stuff to coordinate. And it's a lot easier just to kind of get everyone together and talk, which is what most people want anyways [laughs]. WES: I'm always bummed when you go to a conference and the, like, after party has, like, a band or, like, music is bumping. It's like, I just want a quiet room with some drinks that I can talk to people and have a good conversation, you know. VICTORIA: Yeah, I go to a lot of events, a lot of conferences, a lot of events. I see a lot of different types of stickers and design and anything like that. So, I thought it might be fun to ask you about that. Like, you know, I don't know if you can share us a link of what your stickers look like. Or how do you make it fun and interesting for you to have that kind of thing to hand out? WES: Once a year, once a year and a half, I make these sticker packs, and they have, I don't know, 15 or so stickers in it, various web development things. And it's a pretty big production because I get a lot of them done. So, the last time I sold 11,000 packages of them, and I sell them for five bucks shipped anywhere in the world. And it's, like, a huge logistical hurdle to try to make that happen because there's so much to it. But it's really fun for me because I'm able to do something that is fun. A lot of people aren't able to go to conferences and get the stickers, and they want that. They want to feel part of a community, and everybody loves getting a pack of stickers. So, I've been doing that for probably seven years now. Just right now, I'm just doing a little bit of research into what the next pack is going to look like and some new materials that have hit the sticker world [laughs], so it's pretty fun. The website is bos.af with, like, bos.af. That might not work anymore. I got note that the people who I registered the dot AF domain name from have lost contact with the Afghanistan domain authorities. So, it's possible I might just lose that domain name, which is a bit of a bummer because that's a really cool domain name, but that's where I sell them once a year. And, usually, they're only for sale for about a week, and then they're done selling, and I do the whole shipping thing around the world. VICTORIA: Wow. I did not think you were going to say, "Sold 11,000" sticker packs. That's really impressive [laughs]. WES: Yeah, it's crazy. It's almost 200,000 stickers if you think about it. VICTORIA: That's, like, a major production. I bet when you got into web development, you didn't think you'd also have a side hustle making stickers off of it [laughs]. WES: Yeah, it's crazy. Like, I was, like, sending them out with stamps, and it's just like, I was holding in one single hand, like, $4,000 worth of stamps. It's crazy to think. VICTORIA: I can imagine going into the post office and being like, "I need $4,000 worth of stamps [laughs]," but that's great. WES: The first time I just started dumping them into mail, I would cross the border because I'm in Canada, and the USPS is much cheaper. So, we would just cross the border, and then we just dumped them into mailboxes. And it was okay. But they were like, "Hey, like, next time, just, like, bring it to the post office, and, like, we have processes for this much mail." I don't mail them out of the U.S. anymore because there's some weird stuff around crossing the border. You have to do all this crazy stuff. But it's pretty crazy buying that many stamps. They usually look at you funny when you go to the store and say, "Hey, I need this many stamps." [laughter] VICTORIA: They're like, "Well, what are you doing?" [laughs] Well, great. I think, let's see, we're coming up at the end of our time here. So, are there any final takeaways for our listeners today? WES: Check me out. I'm at wesbos.com; podcast is at syntax.fm if you want to give it a listen. We post three times a week. And I just encourage everyone keep learning, keep excited about web development because it's a pretty cool industry. VICTORIA: Awesome. Thank you so much for taking time to chat with us today. I really enjoyed our conversation. You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, email us at hosts@giantrobots.fm. And you can find me on X, formerly known as Twitter, @victori_ousg. WILL: And you could find me on X @will23larry. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. See you next time. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions.
In this episode of Syntax, Wes and Scott review their 2023 predictions and see how they did on ideas like Deno getting hotter, new JS APIs, WASM, Houdini, CSS Container Queries, and more! Show Notes 00:24 Welcome 01:18 Syntax Brought to you by Sentry 02:05 SSR JS sites more the norm solidjs.com Remix - Build Better Websites Next.js by Vercel - The React Framework SvelteKit • Web development, streamlined Astro 04:14 TypeScript Inferred becomes hot 05:20 Types In JS? ECMAScript proposal for type syntax that is erased - Stage 1 07:55 Deno gets hotter 11:12 JS runtimes mature htmx 11:50 We will see a new TS Type Checker written in Rust 14:06 New JS APIs What's the status of this project? · Issue #1101 · dudykr/stc Wes Bos on X: "Pretty excited about the new JavaScript non-mutating array methods. Currently in stage 3 tc39/proposals: Tracking ECMAScript Proposals JS Fundamentals - Decorators - Syntax #653 16:29 Writing towards Winter CG Spec Popular. WinterCG 17:09 Edge Rendering More Common Prettier on X: "We setup a $20k bounty for a rust-based compatible printer with prettier. $20k Bounty was Claimed! · Prettier 18:09 A new JS framework 19:05 Page Transitions API 19:51 Rust becomes more popular 24:00 More WASM Supper Club × WASM, Fastly Edge, and Polyfill.io with Jake Champion - Syntax #643 FFmpeg Fastly 25:11 React Beta Docs launch after 5 year dev cycle 26:47 We start to see CSS Container Queries in production 29:05 CanIUse issues? 31:20 CSS Subgrid 32:56 More AI 34:06 Tooling Vite | Next Generation Frontend Tooling Announcing Biome | Biome Lightning CSS Rspack Turbopack 36:08 People sour on React 36:47 People sour on eslint 37:16 Houdini does nothing CSS Houdini| MDN Is Houdini Ready Yet? 39:57 How'd we do? 40:40 Sick picks Sick Picks Scott: Super Mario Bros.™ Wonder Wes: Tineco Pure ONE S11 Cordless Vacuum Cleaner Shameless Plugs Scott: Sentry Wes: Wes Bos Courses Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
In this episode of Syntax, Wes and Scott try to stump each other with JavaScript and CSS interview style questions including CSS contain, naming the 7 parts of Houdini, what ARIA stands for, 5 limitations of serverless, and more. Show Notes 00:25 Welcome 01:31 Syntax Brought to you by Sentry 02:01 Explain CSS Contain and why it exists? 07:27 In CSS Grid, how would I make a grid of 3 equal columns with 20 pixels between them? Wes Bos on X:
In this potluck episode of Syntax, Wes and Scott answer your questions about hosting NextJS, spicy sidedishes, putting forms in modern websites, why is everyone abandoning TypeScript, CSS Survey follow up, do devs need to be into CSS, and more! Show Notes 00:10 How to submit a question to Syntax Syntax Potluck Listener Questions 00:45 Syntax meet up in Toronto 02:11 Syntax Brought to you by Sentry 02:36 Vendor lock in with NextJS? Next.js by Vercel Vercel SST Supper Club × Next.js on AWS + Serverless with Dax Raad — Syntax Podcast 589 Cloudflare Pages Netlify Open source Next.js serverless adapter 09:48
In this Hasty Treat, Scott and Wes talk about the secret sauce that's going into the creation of the new Syntax.fm website including the styling, search, tooling, database, hosting, and more. Show Notes 00:21:15 Welcome 01:10:11 Where did the name “Secret Sauce” come from? 03:16:00 Syntax Brought to you by Sentry 04:32:11 What Syntax.fm is built in? SvelteKit • Web development, streamlined muxinc/media-chrome: Custom elements (web components) for making audio and video player controls that look great in your website or app. Media Chrome Docs 07:24:01 How we're doing search flexsearch - npm 12:22:20 Styling Prettier · Opinionated Code Formatter PostCSS - a tool for transforming CSS with JavaScript 16:00:05 Tooling Fast, disk space efficient package manager | pnpm 18:55:11 Database Prisma | Next-generation ORM for Node.js & TypeScript 21:11:11 Services Deepgram OpenAI Anthropic Introducing Claude 24:34:11 Hosting Vercel: Develop. Preview. Ship. For the best frontend teams PlanetScale: The world's most advanced database platform — PlanetScale Cloudflare - The Web Performance & Security Company | Cloudflare 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott relate even more spooky listener submitted coding horrors including crypto copy paste, Big Brother bug, losing $50,000, 2,000 SMS, a $20,000 hour, and more. Show Notes 00:09 Velcome to Synax 01:09 Syntax Brought to you by Sentry 01:36 Stories are anonymous! 01:57 Crypto copy + paste 03:48 Big Brother Bug 07:00 One of 6 laptops that can fix npm 07:57 Auto-submitting payments 09:42 40,000 orders shipped and refunded 11:16 Dropping the analytics database 11:40 dev was actually production 12:40 Updating the DNS 13:40 Losing ~$50,000 15:30 Clearing 80 million records 16:21 Web chat DDoS 18:00 URL Shortener #$@%# Ontario's rejected licence plates for 2022 | CP24.com Boonta Vista: A “political” podcast for “smart” people 21:12 Sending an email to 20,000 users 21:42 Moving code to GitHub 23:32 “Lorem sale” 26:08 2,000 SMS messages 27:00 International shipment of kiosks 28:19 Crashing production Slow DB Queries | Sentry Documentation 31:01 Hitting customers credit card limit 32:01 Infinite redirect loop 32:53 My first commit 33:23 Augmented reality game prize mistakes 35:15 A $20,000 hour 35:57 Site went down for 3 days 37:42 Accidentally truncated the prod database 38:48 Off by one error 40:05 Exposing database credentials 42:08 Delete a temp directory on prod 44:51 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Race to the Summit Wes: 100LBS Strong Magnetic Hooks Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes relate some spooky listener submitted coding horrors including updates for a large furniture retailer, pull request oversights, disallowing everything in a robots.txt, massive email fail, and more. Show Notes 00:21 Welcome 01:22 Whetting your whistle 01:52 Syntax Brought to you by Sentry 02:13 Site updates for one of the largest furniture retailers in my country 04:18 The Embarrassing Test Page Incident 05:54 The Pull Request Oversight 08:02 Making changes to a JSON file 13:11 Deploying a “disallow everything” robots.txt 14:45 GDPR Deletion 16:11 Dropping the backing disk for the production postgres 17:05 Accidentally pushing staging code as an update 18:34 Email fail 19:25 Hot mobile app prayers 22:28 Bogus ACH info 23:51 Wiring money error 26:44 Payment gateway test not production 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Brad Frost about how to implement design systems in small and large scale projects, best practices around naming things, keeping everything in sync across different codebases, and how design systems help projects. Show Notes 00:32 Welcome 01:02 Syntax Brought to you by Sentry 01:34 Introducing Brad Frost Brad Frost.com Atomic Design by Brad Frost Brad (@brad_frost) on Twitter Brad on LinkedIn Brad on Mastodon Brad on YouTube Brad on GitHub Brad Frost on CodePen Big Medium | Design for What's Next 06:43 What is a design system? 12:12 How do you keep design and code in sync? Material Design Shopify Polaris Carbon Design System The Design System Ecosystem | Brad Frost 16:13 How do you use Shopify, WordPress, React, etc. through a design system? 19:41 How is CSS handled? 25:40 What's the benefit of going all in on web components? 29:13 Do small startups need to worry about design systems? 33:03 How do design tokens work? 38:17 How do you deal with pushback on design systems? 41:46 How do you go outside the guidelines? 45:24 What system do you use for naming things? 49:34 How do you best document your language choices? 51:09 Supper Club questions Thinking in Systems: International Bestseller: Donella H. Meadows, Diana Wright: 9781603580557: Amazon.com: Books Miriam Eric Suzanne Zeldman on Web and Interaction Design - Famous for stating the obvious. 57:54 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Rubblebucket Shameless Plugs Frostapalooza! | Brad Frost FROSTAPALOOZA - A Concert Party Happening On August 17th 2024 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk through recent developments in AI and how they might be useful for developers, whether AI is still worthy of the hype, and whether developer jobs are at risk from AI. Show Notes 00:10 Welcome 03:10 Syntax Brought to you by Sentry 03:49 v0.dev v0 by Vercel 09:28 Anthropic and Claude Claude Syntax Listener Survey 18:02 Facebook's Meta AI AI at Meta 18:48 Cloudflare AI Large language model (LLM) Speech to text Translation Sentiment Analysis Image classification Embedding 27:24 AI Hardware announced Rewind 29:39 Cloudflare Hugging face Hugging Face – The AI community building the future. StarCoder: A State-of-the-Art LLM for Code Vectorize: a vector database for shipping AI-powered applications 36:28 OpenAI Function calling Function calling and other API updates 38:55 GPT-4V GPT-4V(ision) system card 42:36 GitHub CoPilot 44:03 Are we still on the AI hype train? 48:27 Are our jobs at risk as developers? 52:24 Spotify DJ AI Spotify Debuts a New AI DJ 53:29 ChatGPT plugins ChatGPT plugins 55:19 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Coding App for Kids | codeSpark Academy Wes: Peter Santenello, Roblox Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about all the libraries we don't need to use anymore thanks to their features being built into the browsers now. Show Notes 00:24 Welcome 01:55 Syntax Brought to you by Sentry 02:17 Why did people use jQuery? jQuery lukeed/polka: A micro web server so fast, it'll make you dance! 05:12 Writing our own jQuery plugins 07:23 AJAX requests jQuery.ajax() 08:29 Express Migrating to Express 5 14:58 Underscore.JS Underscore.js 19:27 Require.js RequireJS 21:06 LeftPad Coder unpublished 17 lines of JavaScript and “broke the Internet” | Ars Technica 23:13 Grid systems 960 Grid System Susy | OddBird 26:24 Sass, Less, etc. Can Vanilla CSS Replace Sass Yet? — Syntax Podcast 603 26:58 Sockets.io Socket.IO 29:50 What else is going to get jQuery'd? 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Chris Lattner about Mojo, a new programming language for AI developers. Should developers learn Python? Where does Mojo run? What is Chris excited about in AI's future? Show Notes 00:31 Welcome 01:05 Introducing Chris Lattner Chris Lattner's Homepage Chris Lattner on Wikipedia Chris Lattner on GitHub Chris Lattner on Twitter Modular (@Modular_AI) / X Modular: AI development starts here Swift.org - Welcome to Swift.org 03:50 What's the history behind the hardware? 08:10 What's the difference between a compiled language vs an interpreted language? 12:13 Is Mojo a programming language? Mojo
In this episode of Syntax, it's part 2 of Wes and Scott's reactions to the 2023 State of CSS survey including CSS frameworks, tooling, browser usage, SVG and CSS, and the CSS Awards. Show Notes 00:10 Welcome Reacting to State of CSS Survey — Syntax Podcast 672 State of CSS 2023 01:15 Syntax Brought to you by Sentry 01:29 CSS Frameworks Bootstrap · The most popular HTML, CSS, and JS library in the world. Open Props: sub-atomic styles Lightning CSS 10:57 How happy are you with CSS frameworks? 17:21 Other tools CSS Analytics - Project Wallace 19:34 Top utilities in use 24:48 Browser usage 29:01 CSS usage 33:25 Browser incompatibilities 36:42 SVG and CSS 44:28 Resources for learning CSS Kevin Powell | CSS Evangelist Fireship - Learn to Code Faster LeveUp Tutorials 46:55 Awards Panda CSS - Build modern websites using build time and type-safe CSS-in-JS 50:48 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: A Timeline of the 1970s Heavyweight Boxing Division (Boxing Documentary) / Full Boxing Timelines Wes: NEIKO 10181A Step Drill Bit Set Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk through tips for upping your home office vibe, including cable management, lighting, ergonomics, and even roller blade wheels. Show Notes 00:18 Welcome 00:46 Syntax Brought to you by Sentry 01:13 Creating a great home office Scott's New Office × The Levelup Lodge — Syntax Podcast 461 Wes' New Soundproof Office — Syntax Podcast 516 03:22 Lighting 06:08 Clutter and cords Alex Tech 25ft - 1/2 inch Cord Protector Wire D-Line CC-1 Light Duty Floor Cord Cover/Cable Protector Cable Clips WireRun Under Desk Cable Manager 14" 10:33 Clean 13:42 Sound absorption Bose QuietComfort 35 II review Wyze Noise-Cancelling Headphones 19:26 Ergonomics VIVO Single Monitor Height Adjustable Counterbalance Pneumatic Arm Desk Mount Stand 23:17 Roller blade wheels for your chair Office Owl Caster Wheels 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk with David East about Google's new cloud based full-stack, multiplatform app development workflow, Project IDX. Show Notes 00:22 Welcome 01:31 Browser in the car 02:16 Syntax Brought to you by Sentry 02:24 Who is David East? David East David East David East (@_davideast) / X Learn from David East's courses | Frontend Masters Firebase | Google's Mobile and Web App Development Platform 04:32 What is IDX? Project IDX Flutter - Build apps for any screen Welcome to nix.dev — nix.dev documentation 13:15 What's the experience of IDX? Nx: Smart, Fast and Extensible Build System 16:42 IDX isn't just a toy - it's a dev machine 20:29 What's the offline mode like? 23:30 How are VS Code extensions handled? 27:03 Is multiplayer or project sharing on the road map? 28:45 How is latency taken care of? 31:43 This could be faster than local dev environment 36:18 Portability of your projects 42:25 What do you think about iPad coding? 44:28 Phone testing with IDX Firebase Test Lab 46:59 How is AI being integrated? 50:23 Supper Club questions Introducing Operator | Fonts by Hoefler&Co. MD IO by Mass-Driver - Future Fonts 55:25 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× CSS Shameless Plugs The Bad At Css Podcast 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott answer your questions about Bun, using custom auth headers, the difference between trpc, REST, or GraphQL, documenting your code, why learn Rust, and more! Show Notes Take the Syntax Survey Attend the Syntax Meetup Oct 10th in Toronto 00:00 Syntax Survey 00:24 Syntax Meetup 01:02 Welcome 01:24 Scott's macOS bug Tauri Apps 02:19 Syntax Brought to you by Sentry 02:40 What are your thoughts on Bun? Bun — A fast all-in-one JavaScript runtime Zig Programming Language Deno, The next-generation JavaScript runtime Cloudflare Workers Netlify Connect Storybook Histoire 11:25 How can I add custom auth header for image requests done by the browser? 17:32 What are the differences between trpc, REST, and graphql? 24:48 What kind of teams would use trpc, REST, or graphql? 27:12 Are there any podcast guest opportunities on Syntax? 32:21 With no initial documentation, how do you suggest we document our intricate code, business logic, and integrations? 38:53 Rust didn't invent this, they're common paradigms in languages 41:05 Why Rust? Rust Programming Language 43:52 Is Scott still using his Tonal? Tonal 44:42 What did I do to make Fetch rebel against me? Proxyman 50:40 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Glow Up Wes: SendCutSend Shameless Plugs Scott: Syntax on TikTok Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about headings on your website, why you should care, how to structure your headings, and what tooling is there for testing your website? Show Notes 00:26 Welcome 01:21 Syntax Brought to you by Sentry 01:41 Why do we care about Headings? How-to: Accessible heading structure - The A11Y Project 03:12 Heading design provides an outline for your website 08:45 Using H1 classes? 10:28 Is the logo an H1? 13:03 Giving an ARIA level 17:14 Can headings be visually hidden? 21:00 Benefits of good heading design 22:27 Tooling Heading outlines - ADG HTML Standard Polypane, The browser for ambitious web developers HeadingsMap - Chrome Web Store HeadingsMap – Get this Extension for
In this supper club episode of Syntax, Wes and Scott talk with Taylor Desseyn about his work as a job recruiter, how hiring has changed over the last few years, what soft and tech skills developers need, what not to do when applying, and how AI is affecting the hiring process. Show Notes 00:35 Welcome 01:10 Syntax Brought to you by Sentry 01:35 Who is Taylor Desseyn? taylor desseyn (/tdesseyn) Taylor Desseyn on LinkedIn World-class technical talent on tap | Gun.io taylor desseyn (@tdesseyn) / X Taylor Desseyn 03:49 Why are recruiters just sending emails? 05:26 How much does a recruiter make? 06:44 How have things changed in the last couple of years? 09:22 How can developers stand out when applying? 13:52 What do developers do that cost them jobs? 28:46 What soft skills are employers looking for? 32:01 What tech skills are showing up in job postings? 34:57 Are resumes dead? 40:16 How does Gun.io vet people? World-class technical talent on tap | Gun.io 43:15 How is AI changing hiring? 46:03 What's working on social media marketing in hiring? 48:33 Supper Club questions 53:39 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Group Chat - Dee Murthy - Watch Painkiller | Netflix Official Site Shameless Plugs Guidance Counselor 2.0 | Podcast on Spotify The Unicorn Finders | Podcast on Spotify 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott go over some of the results the State of CSS survey for 2023, including drop-shadow, subgrid, logical properties, media range, and more! Show Notes 00:25:21 Welcome 01:31:22 Soccer update 03:52:05 Syntax Brought to you by Sentry 04:03:18 StateOfCSS.com State of CSS 2023 04:21:11 Top 5 Most Used Features 09:13:09 Drop-shadow 13:00:11 Subgrid 18:31:21 Logical properties 20:11:20 Media range 20:52:11 Object view box 23:10:14 Anchor positioning 28:21:09 Intrinsic sizing keywords 29:32:00 View Transitions API Can I use… Support tables for HTML5, CSS3, etc Astro Supper Club × Astro 2.0 with Fred Schott — Syntax Podcast 580 31:43:18 Updates to colors in CSS 35:07:05 Accent color, current color 36:36:11 Scroll snap and overscroll behaviour 39:04:22 Touch action 40:16:01 Line clamp or variable font Variable Fonts 45:28:11 Accessibility features 48:33:12 :Has has jumped 49:32:11 @Property 53:52:13 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Kodiak Cakes Strawberries & Cream Oatmeal Packets (Pack of 6) Wes: Food Storage Containers, Baby Food Storage Containers with Lid, Baby Food and Toddler Snack Containers Shameless Plugs Scott: Syntax Podcast (@syntaxfm) | TikTok Wes: Web Unleashed 2023 - FITC 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about the building desktop apps using Electron vs Tauri. Show Notes 00:26 Welcome 00:55 Syntax Brought to you by Sentry 01:15 Check my hair app Tauri Apps Electron Hand Mirror on the Mac App Store SoFriendly/2fhey 04:19 What is Tauri? 08:23 The experience of writing apps in Electron vs Tauri 16:17 Electron Forge 20:02 Building the same app in Electron vs Tauri 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Dr. Courtney Tolinski about signs and symptoms of anxiety, what the long term effects are of anxiety, how to know if you need help, and what kinds of things you can do to deal with anxiety and uncertainty. Show Notes 00:35 Welcome 01:11 Syntax Brought to you by Sentry 02:23 Introducing Dr. Courtney Tolinski Mental Health and Dev ft Dr. Courtney Tolinski - Depression, Anxiety, Imposter Syndrome, Focus, Motivation, Burnout — Syntax Podcast 236 Supper Club × Coding with ADHD with Dr. Courtney Tolinski — Syntax Podcast 532 04:13 What is anxiety? 06:44 Is there a difference between anxiety and just not wanting to do something? 08:58 What kinds of physical symptoms are there? 15:43 What are the longer term effects of anxiety? 17:34 How do you know if you need help with anxiety? 21:05 What can I do to solve my anxiety? Psychology Today Canada: Health, Help, Happiness + Find a Therapist Obsidian - Sharpen your thinking How We Feel Apple Reveals More iOS 17 Features Not Available Until Later This Year - MacRumors Meditation and Sleep Made Simple - Headspace Bearable Symptom Tracker, Mood Journal, & Health App BreathingApp — Personal breathing trainer for a better health 30:15 How can we recognize anxiety triggers? 33:26 What advice do you have for dealing with uncertainty? 37:54 How can I deal with keeping up with everything and feeling like I'm falling behind? 43:02 Navigating big life decisions 51:39 Supper Club questions Being Well Podcast with Dr. Rick Hanson and Forrest Hanson Celebrity Book Club with Steven & Lily on Apple Podcasts Criminality 58:01 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Fullstar Compact Vegetable Chopper - Vegetable Cutter, Food Chopper, Veggie Chopper, Onion Chopper, Vegetable Chopper With Container, Vegetable Slicer, Vegetable Cutter, Mandoline Slicer (6 Inserts): Home & Kitchen Shameless Plugs Learning Differently (@learning.differently) • Instagram photos and videos Zarlengo Foundation Learning Evaluation Center| Denver, Colorado 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes reviews his experience building with Svelte and SvelteKit including templating, data fetching, actions, managing state, request handlers, and more. Show Notes 00:10 Welcome 01:12 Syntax Brought to you by Sentry 02:11 What is Svelte vs SvelteKit From React To SvelteKit — Syntax Podcast 390 Hasty Treat - Wes & Scott Look At Svelte 3 — Syntax Podcast 173 Svelte • Cybernetically enhanced web apps SvelteKit • Web development, streamlined 05:59 Templating in Svelte 18:20 Data fetching in SvelteKit 25:23 Actions 28:58 State 32:41 Binding values 36:18 Hooks 37:25 Request handlers Special elements • Docs • Svelte website/src/actions/anchor.ts at v2 · syntaxfm/website website/src/actions/click_outside.ts at v2 · syntaxfm/website 39:23 Svelte Actions 42:26 Popover API 45:33 Routing 47:22 Layouts 50:08 Styling 57:09 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Aqara Smart Lock U100 Wes: Headphones Replacement Ear Pads,Compatible for Bose Quietcomfort QC15 QC25 QC35 35 ii-(Black Floral) Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about how you can intercept and debug traffic going out from your computer or other internet connected devices in your home, or your garage! Show Notes 00:25 Welcome 01:55 Syntax Brought to you by Sentry 02:17 Scott's story of wanting to intercept data Tonal 06:36 Other examples 08:38 Different types of traffic 14:52 TCP vs UDP 16:07 Why would you want to run a proxy? 24:20 Applications to use Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy Proxyman · Native, Modern Web Debugging Proxy · Inspect network traffic from Mac, iOS, Android devices with ease Intercept, debug & mock HTTP with HTTP Toolkit mitmproxy - an interactive HTTPS proxy Wireshark · Go Deep Little Snitch Capturing Modes - Fiddler Everywhere Hacksore on Twitter How I Hacked my Car :: Programming With Style 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Stuart Bloxham about how he learned to code, what his interview process was like when applying for a job, how he found the time to make it all work, and his thoughts on bootcamps and ways to learn. Show Notes 00:36 Welcome Stuart Bloxham on GitHub Stuart Bloxham on LinkedIn 02:09 How did you decide to be a web developer? 08:22 Did you have clarity when your kid was born? 10:20 What was the interview process like? 18:25 What and how did you learn? 20:28 What's the state of bootcamps in 2023? 22:03 How important have soft skills been? 25:14 How do you know when you're ready to apply for a job? 35:24 Do you like coding? 37:49 How did you find the time to make it all work? 41:42 How did you deal with burnout? 43:06 Supper Club questions 45:34 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Flowerhorn cichlid Shameless Plugs Stuart Bloxham's Portfolio 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott review the projects they built during Sentry's Hackweek: a realtime Markdown multiplayer editor, and a hardware recording button. Show Notes 00:11 Welcome 00:57 What is a hack week? 01:55 Syntax Brought to you by Sentry 03:42 Scott's project: a multiplayer editor Liveblocks | Collaborative experiences in days, not months PartyKit | Everything is better with friends BlockNote - Javascript Block-Based text editor | BlockNote Dev toolkit for building collaborative editors – Tiptap microsoft/monaco-editor: A browser based code editor syntaxfm/hackweek-md-multiplayer-editor: Sentry.io Hackweek Submisison - A multiplayer editor for .md files that comits directly to GitHub Convex | The fullstack TypeScript development platform The Everything App 13:57 Multiplayer is so much easier 19:56 Wes' project: A recording button Oracle VM VirtualBox Run Windows on Mac – Parallels Desktop 19 Virtual Machine for Mac Karabiner-Elements folivora.ai - Great Tools for your Mac! Home Assistant The World's Leading 2D and 3D Platform | Unity Pro Free Trial SendCutSend | Online Laser Cutting and Waterjet Cutting blender.org - Home of the Blender project - Free and Open 3D Creation Software 42:31 Learning to skateboard 43:59 F1 documentary follow up 45:30 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: BetterDisplay: Unlock your displays on your Mac! Wes: LOVIMAG Magnetic Hooks Heavy Duty Shameless Plugs Scott: Syntax on TikTok Wes: @WesBos on X.com 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about the arrival of CSS nesting. What is CSS nesting? How does CSS nesting work? And does it work in all browsers? Show Notes 00:24 Welcome 02:31 What's up with CSS nesting? "CSS Nesting just landed in Firefox 117 which puts it at 100% browser support! You can start using it today — here are 11 examples on how it works
In this supper club episode of Syntax, Wes and Scott talk with Fred Schott all things Astro with the announcement of Astro version 3, marketing open source projects, Starlight docs, keeping up to date, and making major version numbers less scary. Show Notes 00:35 Welcome 3x guest Fred Schott! Supper Club × Astro 2.0 with Fred Schott — Syntax Podcast 580 Pika Pkg — Syntax Podcast 212 05:11 What is Astro? 07:37 What's new in Astro v3? Astro 3.0 | Astro 14:18 Behind the scenes improvements in Astro v3 18:17 HMR Enhancements 20:10 What's the hosting partner deal with Vercel? Vercel: Our Official Hosting Partner | Astro 28:04 Docs template Starlight announcement Starlight
In this potluck episode of Syntax, Wes and Scott answer your questions about learning soft skills, using release notes, headless CMS, dealing with web components and scripts, what inet is, better ways to use ChatGPT, and more! Show Notes 00:11 Welcome 01:42 Scott's butt pincher Affenpinscher 06:08 You keep missing my favorite thing about Civet Civet 07:31 What soft skills can I learn to help me in my career? HTML, CSS and JS in an ADD, OCD, Bi-Polar, Dyslexic and Autistic World | CSS-Tricks - CSS-Tricks 12:42 Have you thought about release notes or a what's new section? Conventional Commits How to generate Changelog using Conventional Commits | by Riccardo Canella | Jobtome Engineering | Medium 15:57 Can you explain headless CMS and what the use-cases/implementations are? 19:24 Any suggestions for dealing with web components and the client's tracking scripts How to Read Flamegraphs
In this episode of Syntax, Wes and Scott talk about concerts, getting tired because of being old, landscaping, spinning on your head, gym updates, awful search engines and awful ethics for YouTubers, rewiring old engines, and what's being streamed. Show Notes 00:10 Welcome 01:49 Being tired The Strokes & Weyes Blood Tickets | 14th August | Red Rocks Amphitheatre 05:08 Landscaping 10:53 Gym updates 23:01 House projects 28:39 Why are search engines so awful these days? 39:20 Internet routing 45:17 Linus Tech Tips ethics and issues 48:29 Rewiring a kid's ATV 50:49 What we're watching The Stronger By Science Podcast Watch Full Swing | Netflix Official Site Break Point | Official Trailer | Netflix Watch Formula 1: Drive to Survive | Netflix Official Site 58:37 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: The First Cat in Space Ate Pizza Wes: Steam cleaner Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Mark Erikson about his work in helping others understand shipping ESM, how to deal with permutations, whether default imports are helpful, whether TypeScript has made it easier, and what Mark's tool stack is for building. Show Notes 00:36 Welcome 01:45 Introducing Shipping ESM with Mark Erikson Mark Erikson (@acemarke) Wes Bos on Twitter: “publishing packages that work in esm and cjs is such a nightmare. I've run into so many issues today and took forever to get the proper package.json exports. I can't wait until we're 100% esm. I think I have every single combo covered.” Mark's Dev Blog Blogged Answers: My Experience Modernizing Packages to ESM Greatest Hits: The Most Popular and Most Useful Posts I've Written arethetypeswrong.github.io: Tool for analyzing TypeScript types of npm packages publint 07:01 How did we get to this space in modules? 16:30 How do you deal with permutations? 22:13 Do bundlers get in the way or helping? 26:16 Are default imports useful? 30:35 Are the types wrong errors 33:41 Has TypeScript made this easier? 37:56 What's your tool stack for building? 39:32 How do you test? 41:35 Will we ever stop bundling? 48:03 What about source maps? 52:32 Supper Club Questions What is Windows Subsystem for Linux Eagle Oceanic Next DroidSansMono NF Font 55:18 React Types has more downloads than React? 59:42 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Shirley Wu—Taking up space (Keynote, Outlier 2023) Shameless Plugs Replay (@replayio) Replay - The time-travel debugger from the future. 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk about concerts, getting tired because of being old, landscaping, spinning on your head, gym updates, awful search engines and awful ethics for YouTubers, rewiring old engines, and what's being streamed. Show Notes 00:10 Welcome 01:49 Being tired The Strokes & Weyes Blood Tickets | 14th August | Red Rocks Amphitheatre 05:08 Landscaping 10:53 Gym updates 23:01 House projects 28:39 Why are search engines so awful these days? 39:20 Internet routing 45:17 Linus Tech Tips ethics and issues 48:29 Rewiring a kid's ATV 50:49 What we're watching The Stronger By Science Podcast Watch Full Swing | Netflix Official Site Break Point | Official Trailer | Netflix Watch Formula 1: Drive to Survive | Netflix Official Site 58:37 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: The First Cat in Space Ate Pizza Wes: Steam cleaner Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about OG images, interesting ways you can work with them, and ways you can work dynamically with them. Show Notes 00:11 Welcome 02:18 What are OG images? 06:19 Testing OG images Polypane, The browser for ambitious web developers Meta Tags — Preview, Edit and Generate Sharing Debugger - Meta for Developers Card Validator | Twitter Developers 08:27 Creating an OG image vercel/satori: Enlightened library to convert HTML and CSS to SVG Open Graph (OG) Image Generation | Vercel Docs Introducing OG Image Generation: Fast, dynamic social card images at the Edge – Vercel 09:41 Dynamically generating OG images wesbos.com/thumbnail/?thumbnail=%2Fstatic%2F0005c028a536c87975eb84ae3d32ae57%2Faeron.jpg&title=Uses&url=https%3A%2F%2Fwesbos.com%2Fuses 21:16 Using Puppeteer Puppeteer | Puppeteer Puppeteer · Browser Rendering docs Cloudinary - Image and Video Upload, Store ad Monetization Fast and reliable end-to-end testing for modern web apps | Playwright 28:47 Canva API Build The Tools Behind Great Design | Canva Developers 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Aiden Bai about his work on Million.js that aims to make React a lot faster. How does Million.js make React faster? And most importantly: has Aiden ever used a VCR? Show Notes 00:35 Welcome 00:57 Introducing Aiden Bai Aiden Bai aidenybai on GitHub @aidenybai on Twitter Aiden Bai on YouTube Million.js 01:57 What is Million.js? 03:20 How does React do rendering now? 04:31 How does Million.js make it faster? 07:37 What goes into creating a compiler? 08:24 How do you go from learning JavaScript to writing compilers? 11:05 Wyze WebRTC stream work 13:13 What are you using to benchmark and test? solidjs.com js-framework-benchmark xkcd: Compiling 18:19 What does a slowly rendering site look like? 23:54 How do you handle find on page with large amounts of code? 25:32 What does 70% faster with Million.js mean? Hyper™ Warp: Your terminal, reimagined 26:44 Why are maps slow? Supper Club × WASM, Fastly Edge, and Polyfill.io with Jake Champion — Syntax Podcast 643 28:19 Benefits of the Macro API 31:12 Does Million.js work across the board? 33:03 Does it ever break projects? How do you test Million.js? 35:35 How do you keep up on your GitHub issues? 37:40 What other areas of tech are you interested in working on? partytown 39:32 What was the inspiration for your website? 43:52 Supper Club questions Gruvbox with Material Palette iTerm2 - macOS Terminal Replacement ××× SIIIIICK ××× PIIIICKS ××× Barbie (2023) directed by Greta Gerwig • Reviews, film + cast • Letterboxd Teenage Mutant Ninja Turtles: Mutant Mayhem (2023) directed by Jeff Rowe • Reviews, film + cast • Letterboxd Shameless Plugs Million Kitchen Sink 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott jump into part 2 of their look at Rust for JavaScript developers, including variables in Rust, type systems in Rust, signed and unsigned integers, and more. Show Notes 00:10 Welcome 00:43 Audio issue bugs 03:17 Building decks 06:06 Variables in Rust Syntax 647: Rust for JavaScript Developers - Node vs Rust Concepts let x = 5; // x is immutable let mut x = 5; // x is mutable const MAX_POINTS: u32 = 100_000; // must be defined at compile time 10:42 Type System in Rust 15:52 Types in Rust 19:06 Why does Rust have signed and unsigned integers? 23:35 Slicing strings with &str 27:35 enum 27:55 struct 28:19 Vec 29:33 HashMap and HashSet 33:00 Converting Signed to Unsigned Numbers let unsigned_value: u8 = 200; let signed_value: i8 = unsigned_value as i8; 36:12 What's up with &str? 43:31 Rust error messages 45:28 What is a Struct? struct User { username: String, email: String, sign_in_count: u64, active: bool, } // You can create an instance of a struct like this: let user1 = User { email: String::from("someone@example.com"), username: String::from("someusername123"), active: true, sign_in_count: 1, }; impl User { fn login(&mut self) { self.login_count += 1; } } 49:17 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Thermacell Patio Shield Wes: Magnet Phone Mount Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Andrew Lisowski about working on Descript, web streams vs local storage, using state machines, writing CSS with Radix, monorepos, and more. Show Notes 00:35 Welcome 01:07 What is Descript? Descript | All-in-one video & podcast editing, easy as a doc. Work — Sandwich 02:21 Who is Andrew Lisowski? Andrew Lisowski (@HipsterSmoothie) / X hipstersmoothie.com Descript (@DescriptApp) / X devtools.fm 04:51 How does Descript interact with the webcam? 08:52 Web streams vs local first Web Streams Explained — Syntax Podcast 587 10:06 How are you exporting video? GitHub - Yahweasel/libav.js: This is a compilation of the libraries associated with handling audio and video in ffmpeg—libavformat, libavcodec, libavfilter, libavutil, libswresample, and libswscale—for emscripten, and thus the web. Riverside.fm - Record Podcasts And Videos From Anywhere 14:40 How does Descript deal with recording fails? 17:17 How does Descript design and build the UI? 19:37 What did you like about state machines? XState - JavaScript State Machines and Statecharts 24:12 How are you writing your CSS with Radix? Themes – Radix UI Home | Open UI 30:30 How does the marketing site's tech stack compare? 31:44 Playwright vs Cypress Fast and reliable end-to-end testing for modern web apps | Playwright JavaScript Component Testing and E2E Testing Framework | Cypress 36:26 What tech do you use for monorepos? 37:01 What's your build tool? Workspaces | Yarn - Package Manager Turbo webpack 40:18 Moving to the web means moving things to the backend 41:37 Descript focuses AI tools on helping creators Eye Contact: AI Video Effect | Descript 50:50 Supper Club questions Topre Switch Mechanical Keyboards REALFORCE | Premium Keyboard, PBT, Capacitive Key Switch Iosevka Github Dark High Contrast - Visual Studio Marketplace 56:21 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Lexical shadcn/ui Shameless Plugs devtools.fm 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk about new approved and proposed JavaScript API changes including Promise.withResolvers, .at(), Immutable Array Methods, Array.fromAsync, and more. Show Notes 00:10 Welcome 04:55 What are we going to cover? 06:10 Promise.withResolvers 09:40 .at() You probably knew about JavaScript's new .at() method for accessing array items. Did you know it works for strings too? @IAmAndrewLuca 15:59 Immutable Array Methods Wes Bos: "
In this Hasty Treat, Scott and Wes talk about whether decorators are finally here, what the uses cases are for decorators, how to define a decorator, and what auto accessor is. Show Notes 00:25 Welcome 01:00 Are decorators finally here? TC39 proposal How this compares to other versions of decorators 06:47 What are use cases for decorators? 10:55 How do you define a decorator? 14:20 Auto Accessor on classes @loggged class C {} on fields class C { @logged x = 1; } Auto Accessor class C { accessor x = 1; } sugar for below class C { #x = 1; // # means private get x() { return this.#x; } set x(val) { this.#x = val; } } Can be decorated and decorator can return new get and set and init functions function logged(value, { kind, name }) { if (kind === "accessor") { let { get, set } = value; return { get() { console.log(`getting ${name}`); return get.call(this); }, set(val) { console.log(`setting ${name} to ${val}`); return set.call(this, val); }, init(initialValue) { console.log(`initializing ${name} with value ${initialValue}`); return initialValue; } }; } // ... } 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
Can you have a Vercel like experience on your own AWS? Scott and Wes talk with Brandon Bayer about Flightcontrol - what it is, how to use it on your app, pricing, and more. Show Notes 00:32 Welcome 01:28 Who is Brandon Bayer? Brandon
In this potluck episode of Syntax, Wes and Scott answer your questions about TypeScript just being fancy duct tape, dealing with back pain while coding, rate limits on cloud services, what to use for email provider, is Firebase a legit platform, and more! Show Notes 00:11 Welcome 03:11 The Sunday scaries 06:03 Is TypeSctipt just a bunch of fancy Duck Tape? Is TypeScript saving us? 12:29 How do you go years into programming without back pain? Hasty Treat - Stretching For Developers with Scott — Syntax Podcast 293 23:51 Why don't cloud services provide an option to shut off services when a spending limit is reached? DigitalOcean | Cloud Hosting for Builders Vercel: Develop. Preview. Ship. For the best frontend teams 28:41 How do you choose a CSS library for any project? The most advanced responsive front-end framework in the world. | Foundation 960 Grid System 38:26 What's happening to Level Up Tuts? Level Up Tutorials - Learn modern web development Wheels - Skateboard Wheels - 60mm Cali Roll - Shark Wheel 43:43 Not a sponsored Yeti spot 45:16 What do you do for email hosting? Google Workspace TechSoup Canada Proton Mail: Get a private, secure, and encrypted email account Outlook Microsoft 365 Plans Scheduling Software Everyone Will Love · SavvyCal Synology Photos 50:34 Is Firebase ok to run an app long term with? Firebase 58:57 Am I wrong to not do productive work intensely? 01:34 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: MagSafe Charger, Anker 3-in-1 Cube with MagSafe Wes: 6amLifestyle Headphone Hanger Stand Under Desk Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk about why Threads, Instagram, and all things Facebook have what seems like really messy HTML and CSS? Show Notes 00:10 Welcome Scott on Threads Wes on Threads 00:35 Threads has got divs 02:42 Tight scoping 09:44 Avoids specificity 10:37 Dealing with ad blockers and scraping 15:45 Divs are free, what's the big deal? 20:19 Facebook is tracking everything 27:57 React Native Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Ryan Florence about Remix, working at Shopify, the history of licensing and pricing, quitting Twitter, the state of React Server components, and more. Show Notes 00:35 Welcome Ryan Florence Ryan Florence (@ryanflorence) / X React Training React Router Docs Moved ryanflorence (Ryan Florence) · GitHub 01:42 Collarbone update 06:47 What is Remix? Remix.run 11:43 Server actions 15:33 What was the history around licensing? 20:30 Open source is weird now 22:21 Working with Shopify and Hydrogen Remixing Shopify | Remix CSS Zen Garden: The Beauty of CSS Design The Zen of CSS Design: Visual Enlightenment for the Web: Shea, Dave, Holzschlag, Molly E.: 9780321303479: Amazon.com: Books 28:04 On quitting Twitter 35:33 What's coming up with v2 of Remix? 40:30 The reality of breaking changes 44:18 What's the status of React Server components? 49:46 Will Remix ever have React Server components in it? 50:55 How should we be fetching our data? 53:04 Do you have a wishlist for JSX? 58:45 Supper Club questions Strapi - Open source Node.js Headless CMS
In this episode of Syntax, Wes and Scott talk about JavaScript runtimes available to use, what to consider, and packages to use. Show Notes 00:10 Welcome 01:00 Scott's glasses 03:46 All the runtimes Bun — A fast all-in-one JavaScript runtime Edge Functions Supabase Docs Edge Functions Netlify Docs Deno — A modern runtime for JavaScript and TypeScript Fast and low overhead web framework, for Node.js | Fastify What Is Edge Computing? Alibaba 05:15 A note for anyone new to JavaScript 08:40 Winter CG WinterCG 11:05 Fetch sindresorhus/ky: JavaScript HTTP client based on the browser Fetch API website/src/routes/shows/+page.svelte 14:53 URL 20:02 addEVentListener whatwg/fs · Issue #5 · wintercg/proposal-common-minimum-api · GitHub 22:53 Web streams Web Streams Explained — Syntax Podcast 587 26:03 Structured Clone Structured JSON | Worker Tools 33:43 What does JSON 5 do? 34:48 Markdown flavors 36:46 File 40:32 AbortController and AbortSignal DOM Standard DOM Standard 42:45 Packages for building linkedom - npm 44:05 Honking the Hono.dev Itty Router Itty Dev Hono.dev 55:25 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Macro Factor Wes: CRP Products Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about Rust, and how the concepts might translate for JavaScript developers looking to try writing in Rust. Show Notes 00:26 Welcome 01:08 Wes' big beer bottle and Red Green RedGreenTV on YouTube 05:03 Thrift store finds 06:19 Rust in JavaScript TOML: Tom's Obvious Minimal Language 11:07 Documentation Docs.rs Practice.rs 16:46 Memory safety 17:43 What about promises in Rust? 19:24 Error handling in Rust 27:39 What's with the double colon? 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Andris Reinman about his work on all things email - spam, DMARC, SPF, why there's no good CSS in email, and his current project: Email Engine. Show Notes 00:36 Welcome 01:56 Introducing Andris Reinman Andris Reinman on GitHub Andris Reinman (@andrisreinman) Nodemailer :: Nodemailer 04:34 Why is email so difficult? Free DMARC Monitoring from Postmark ConvertKit: The creator marketing platform 09:48 What has changed in email? 10:52 What are DMARK, SPF and BIMI? 18:48 Is Mailtrain an open source alternative to Mailchimp? Mailtrain-org/mailtrain: Self hosted newsletter app 22:52 Why can't we use CSS in email? 29:05 Why is email so expensive? 32:39 How do you keep your emails out of the spam folder? 35:42 What is Email Engine? EmailEngine Email API 40:16 Is Email Engine self hosted? 41:01 How does Ethereal email work? Ethereal Email 46:16 What email client do you use? 49:44 Are any email clients harder to send to? 55:23 Supper Club questions iTerm2 - macOS Terminal Replacement 59:29 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Programming Internet Email: Mastering Internet Messaging Systems: Wood, David: 9781565924796: Books - Amazon.ca Shameless Plugs EmailEngine Email 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott talk about what polyfills, transpiling, and monkey patching mean, how and when to do it, and libraries that can help you out. Show Notes 00:10 Welcome 01:07 Toast follow up 02:45 What are transpiling, ponyfill, polyfill, and monkey patching TC39 Proposals Pretty excited about the new JavaScript non-mutating array methods. Currently in stage 3 11:18 Transpiling unsupported CSS 15:11 Polyfills Popover polyfill 19:22 Polyfilling CSS 21:06 HTML polyfills 27:47 How to transpile and polyfill Babel TypeScript: JavaScript With Syntax For Types CoffeeScript Civet cronn/jsxtransformer: Pipeline for transforming JSX files using Babel.js and Uglify.js Svelte • Cybernetically enhanced web apps Polyfill.io core-js - npm 35:46 Shiv and shims Shim vs Shiv 38:16 Monkey patching 49:08 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Cable sleeve Wes: Air Purifier AliExpress Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about toast messages for validation, errors, confirmations, and more. Show Notes 00:24 Welcome 01:04 Why use these types of notifications 03:34 Old school checking stories 05:35 What kinds of toast messages are there? 10:02 Why toast? 11:38 Best practices for toast messages 17:09 Timeouts and manual close auto close 19:38 Multiple messages stacking on top of each other 22:56 Using a toast library Building a toast component react-hot-toast - The Best React Notifications in Town Real-time notification system for products | MagicBell 28:29 Form validation Form validation with HTML5 and JavaScript 33:36 HTML inputs 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Jake Champion about his work with Fastly and Polyfill, the difference between WASY and WASM, what Winter CG is, and what makes Fastly different. Show Notes 00:35 Welcome 02:06 Who is Jake Champion? Jake (@JakeDChampion) JakeChampion on GitHub 04:31 How long as Polyfill been around? 06:11 What is Fastly? Fastly Polyfill WASMTime SpiderMonkey JavaScript/WebAssembly Engine 12:09 What are people running on the edge with Fastly? 16:29 What is Winter CG compliance? Winter CG proposal 17:55 What about node API's being in platforms 21:18 What is WASY vs WASM? 24:37 Who is Web Assembly for? 31:34 Is there anything WASM is not good for? 41:39 What makes the Fastly runtime different from others Hono Smashing Mag - Web Workers Worker Tools 47:07 Supper Club questions iTerm2 Zsh for Humans 50:26 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Luther TV Series Forrest Gump Shameless Plugs Fiddle on Fastly js-compute 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this potluck episode of Syntax, Wes and Scott answer your questions about Prisma, CSS variables in React components, JS notebooks, transcribing podcasts, keeping up with dev skills, selling a domain, and more. Show Notes 00:10 Welcome 00:42 Harassed by a big truck 03:20 Corrections and omissions Syntax 627 - Electronics for Beginners 05:57 Should I be using $executeRawUnsafe with Prisma? 09:48 unset and initial 11:54 true and false outside ARIA attributes 14:56 Is there a way to modify the CSS variables from the React component? 18:58 How do you feel about the JS notebooks landscape? Jupyter yunabe/tslab: Interactive JavaScript and TypeScript programming with Jupyter Val Town The notes app for your working memory - Stashpad Obsidian - Sharpen your thinking Light Table 27:39 Is it possible to transcribe your podcasts? World's Most Powerful Speech-to-Text API | Deepgram 29:05 Any tips for keeping my developer skills up without burning out? 36:35 Any advice for selling a domain? Escrow.com | Never buy or sell online without using Escrow.com. 42:13 How do you update and future-proof project dependencies? Syntax 425 - Updating Project Dependencies 47:14 When I write TypeScript code, I always wonder if it's a generally good practice to use Type-Only import when importing types? 53:54 How would you go about conditional wrapper tags in Astro, Svelte or React? 56:07 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Ancient Architects Wes: Small Rig Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about how to get help for a bug or error you're getting in someone else's code. Show Notes 00:26 Welcome 01:54 Building a reproduction of the error 03:55 Creating a gist Gist 04:48 Be responsive. Be ready. 08:03 Where do you go first for support? 09:44 Search for your issue first GitHub Issues 10:53 Be nice 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Steve Krouse about val.town, what it is, his philosophies on teaching people to code, the tech stack for val.town, and the benefits of inspiring kids to learn to code. Show Notes 00:36 Welcome 01:27 Who is Steve Krouse? Steve Krouse Future of Coding stevekrouse (Steve Krouse) · GitHub Steve Krouse (@stevekrouse) on Twitter Coding Classes for Kids & Teens | Coding for Kids | The Coding Space 03:06 What is Val.town? Val Town 08:35 Where did the inspiration for social dev environments come from? 12:52 WYSIWYG code vs being code first 16:30 How does val.town inspire people? 20:26 How do you prevent people abusing val.town? 24:57 What's the UI story for snippets on val.town? 27:31 Do you plan to support express? 29:03 What's the tech stack behind the front end of val.town? 30:35 What's the tech stack for the back end of val.town? 34:37 How do you measure for pricing? 37:07 Who is using val.town? 42:00 What's your methodology for teaching kids to code? 47:44 Supper Club questions GitHub - pomdtr/sunbeam: Generate powerful TUIs from simple scripts written in any language. Deno — A modern runtime for JavaScript and TypeScript A Small Matter of Programming The Unison language CodeMirror A Small Matter of Programming: Perspectives on End User Computing Stripe Press — Ideas for progress pomdtr/sunbeam: Generate powerful TUIs from simple scripts written in any language. Seymour Papert woofjs.com Bret Victor Welcome | Future of Coding Tom MacWright (@tmcw) 55:54 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× SwitchBot Wi-Fi Smart Lock Shameless Plugs Val Town 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 Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky