
Syntax - Tasty Web Development Treats
1,004 episodes — Page 7 of 21
704: Stump'd JS + CSS Interview Questions
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: 🔥 A visual guide to getting equal width columns in CSS Grid / X 10:31 Which of the following elements are fake? 13:00 Which of the following HTML tags are deprecated? 16:38 What is the samp element? 17:27 Name the 7 parts of CSS Houdini 21:07 In JavaScript for loop with 10 items, how can you exit a loop early? 22:34 What is the difference between a pseudo element and a pseudo class? 25:59 How could you implement CSS :has with JavaScript? 27:56 What are two attributes that would make an SVG more accessible? 29:43 How can you stop your process from exiting if you have an unhandled rejection? 32:27 How do you prevent flex children from getting squished? 34:40 In TypeScript, what does using keyof and typeof together do? 37:19 What does ARIA stand for? 37:39 Name 5 limitations that a serverless or edge function have over tradtional long running server? 40:38 Write an item using Flex code, not grow to fill it’s container, or shrink, and the item will take up only the space based on it’s content size. 42:03 If I’m building an application that needs to announce a change to the user, how would I do that? 43:46 Name the 5 different Git elements methods on a document? 45:39 What does the CSS prospective property do? 48:23 Sick picks Sick Picks Scott: Pushpin hangers Wes: Niimbot Label Maker, Bearclaw Screws) 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
703: The Observer Pattern
In this episode of Syntax, Wes and Scott give a high level overview of the observer pattern, what is the observer, what are downsides to too many observers, and more. Show Notes 00:25 Welcome 01:42 Syntax Brought to you by Sentry 02:16 High level overview Syntax 694: What’s Up With Angular with Mark Techson Godot Engine 03:36 What might you observe in game development? 06:50 What is the observer? 08:11 What are some downsides to too many observers? 10:17 IntersectionObserver, MutationObserver, and PerformanceObserver 12:25 ResizeObserver 13:04 What about addEventListener? @BenLesh on Callbacks being faster than observables 16:13 Signals are becoming a big thing Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
702: New + Proposed JS APIs for 2024
In this episode of Syntax, Wes and Scott talk through new and proposed JavaScript APIs including ones related to regex, sourcemaps, structured clone, temporal, JSON modules, and more! Show Notes 00:10 Welcome 01:26 Syntax Brought to you by Sentry 02:55 RegExp Escaping Proposal tc39/proposal-regex-escaping: Proposal for investigating RegExp escaping for the ECMAScript standard 05:25 Intl.DurationFormat tc39/proposal-intl-duration-format 07:55 Standardized Sourcemaps tc39/source-map-rfc: RFCs for the source map debug format. 10:43 Structured Clone structuredClone() global function - Web APIs | MDN 12:54 Temporal Hasty Treat - Temporal Date Objects in JavaScript Tracking issue for syncing with IETF standardization work (req’d before implementers can ship unflagged) · Issue #1450 · tc39/proposal-temporal 20:59 FindLast and findLastIndex tc39/proposal-array-find-from-last: Proposal for Array.prototype.findLast and Array.prototype.findLastIndex. 22:27 JSON modules tc39/proposal-json-modules: Proposal to import JSON files as modules 24:46 Regex Modifiers RegExp Modifiers - June 2022.pptx - Microsoft PowerPoint Online 26:50 Array Grouping tc39/proposal-array-grouping: A proposal to make grouping of array items easier 30:48 Array Methods tc39/proposal-change-array-by-copy: Provides additional methods on Array.prototype and TypedArray.prototype to enable changes on the array by returning a new copy of it with the change. 6 or so New Approved and Proposed JavaScript APIs 32:12 Promise.withResolvers 35:08 Function.prototype.memo tc39/proposal-function-memo: A TC39 proposal for function memoization in the JavaScript language. 37:48 Node has a Proposed ESM Detection flag 39:54 Node has navigator.userAgent 41:29 Built in .env support 42:52 Permissions model & test runner continues to be worked on 44:06 HTML Web charts Proposal: Web Charts · Issue #9295 · whatwg/html 45:39 autopause Add autopause attribute to media elements to allow automatic pausing of media · Issue #9793 · whatwg/html 46:30 Meta Tag for AI generated content Proposal: Meta Tag for AI Generated Content · Issue #9479 · whatwg/html Schema.org - Schema.org Syntax × Sentry Swag Store – Syntax × Sentry Shop Syntax - A Tasty Treats Podcast for Web Developers. 50:13 Poster frame HTML Video Element: Proposal for adding [srcset] + [posterset] + [sizes] on video element as well [posterset] on source elements · Issue #9812 · whatwg/html 50:57 Popover invoker Popover does not know what triggered it · Issue #9111 · whatwg/html 51:25 Autocomplete on ‘contenteditable’ Elements Autocomplete on ‘contenteditable’ Elements · Issue #9065 · whatwg/html 52:17 Sick Picks Sick Picks Scott: Escaping Twin Flames cult documentary Wes: Lao Gan Ma spicy Chili Oil 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
701: A11y Treats - Labels & Roles
In this episode of Syntax, Wes and Scott explain ARIA, aria-label, Roles, and the overall importance of accessibility in your web projects. Show Notes 00:25 Welcome 01:18 Syntax Brought to you by Sentry 01:44 What is ARIA? WAI-ARIA Roles | MDN An in-depth guide to ARIA roles - The A11Y Project 02:48 What is aria-label? // A button with an ARIA role and label 06:36 What’s the difference between a title and aria-label on a button? 08:34 Are you really going to get sued if your website isn’t accessible? 11:53 What are Roles for? 16:33 6 different types of Roles 21:25 What is aria-labelledby? I agree to the Terms and Conditions. 23:13 Checking your code for accessibility eslint-plugin-jsx-a11y - npm WAVE Web Accessibility Evaluation Tools Polypane 24:31 Feedback and future show ideas Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
700: Payload is Rails for JS with TypeScript, React and Drizzle (James Mikrut)
In this supper club episode of Syntax, Wes and Scott talk with James Mikrut about Payload, how Payload isn’t just a CMS, where Payload fits in a tech stack, why they picked Drizzle for an ORM, what Payload Cloud is, and where’s the Rails for JavaScript? Show Notes 00:31 Welcome 02:00 Who is James Mikrut and what’s the idea behind Payload? 05:22 Payload isn’t just a CMS Payload Payload on GitHub Payload on Twitter Payload on YouTube 09:08 Where does Payload fit in the tech stack? KeystoneJS Supabase Retool 11:22 Is Payload using TypeScript? 13:44 Why did you pick Drizzle? Drizzle ORM 18:08 Do you have to maintain MongoDB and Drizzle? SvelteKit 26:31 Does Payload have visual editing elements? 30:34 Do you build a custom UI for users? 35:10 What is Payload Cloud? 38:12 Where is the Rails for JavaScript? Next.js by Vercel Laravel Spark Deploy your Laravel PHP application painlessly RedwoodJS: The App Framework for Startups | RedwoodJS.com 41:39 How do you manage contributions from open source? 43:46 GitHub + AI 48:18 Syntax Brought to you by Sentry Error Management Magic: Introducing the Sentry Plugin for Payload 50:26 Supper Club questions Shameless Plugs Payload on GitHub Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
699: Potluck × TypeScript's Longevity × Canvas-Rendered Apps × Learning Rust × Executing Untrusted JS Code
In this potluck episode of Syntax, Wes and Scott answer your questions, including: Will TypeScript ever go away? Should I write canvas-rendered web apps? How can I execute untrusted JS code in node? How can I use continuous integration with WordPress? Any advice for learning Rust? Show Notes 00:09 Welcome 01:16 How to ask questions for potluck episodes Ask a question for Syntax potluck episodes 02:19 Syntax Brought to you by Sentry 04:34 Will TypeScript ever go away? Migrating millions of lines of code to TypeScript 08:12 What is your opinion on entirely canvas-rendered web apps, such as those built with Flutter? Flutter on the Web Flutter Gallery html2canvas - Screenshots with JavaScript 13:43 Tailscale VPN is cool Tailscale · Best VPN Service for Secure Networks Tunnel | Zero Trust App Connector | Cloudflare 16:36 What is Bandcamp? Bandcamp Stream and listen to music online for free with SoundCloud 18:56 How can I execute untrusted JS code with node? WebAssembly Cloudflare Workers® Deno, The next-generation JavaScript runtime Fastly 23:46 I’d love to get your thoughts on modern devops and continuous integration for building out WordPress websites. Supper Club × Fabian Kägy - Modern WordPress - Blocks, Page builders, Headless, Custom Fields Vite | Next Generation Frontend Tooling Alpine.js 30:39 How do I orchestrate color adapting icons for use inline and in background images? svg.wesbos.com svg.wesbos.com/cat.svg 35:53 Are there any publicly available libraries for web components? Shoelace: A forward-thinking library of web components. Open UI 40:20 What’s a good project idea for learning Rust? Tauri Apps 45:17 Do you ever plan to do more podcasts with Scott’s wife or another psychologist / psychiatrist? 47:02 Have you tried MongoDB vector search for AI embeddings? Atlas Vector Search | MongoDB Vector Database for Vector Search | Pinecone Xata 49:44 Syntax highlighting in VS Code Comment tagged templates - Visual Studio Marketplace 52:38 Sick Picks Sick Picks Scott: The Spider-Man of Paris (2023) - IMDb Wes: Amazon.ca : instant read digital thermometer 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
698: Why You Should Be Using CSS @Layers
What are @Layers in CSS, when and where should you be using them, how do you write them, and who’s using them already? Show Notes 00:23 Welcome 01:49 Syntax Brought to you by Sentry 02:55 Where is this supported? 07:21 How do we write layers? 10:47 How do you write your CSS? 16:20 Nesting 20:35 Who else is using @Layer? Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
697: What is DevRel with Salma Alam-Naylor
In this supper club episode of Syntax, Wes and Scott talk with Salma Alam-Naylor all about her role in DevRel, what’s involved in working in DevRel, avoiding burnout, which platforms to focus on, and so much more. Show Notes 00:31 Welcome 01:07 Syntax Brought to you by Sentry 01:52 New jobs and onboarding 03:34 What is Devrel? 11:34 How much of devrel is using your own product? Dogfooding the service? 14:49 What are things devrel people do? 20:32 Devrel burnout issues 24:53 Once you put a number on something, you’re measuring that number 29:31 Is there any way to know if devrel is working? 33:47 How could someone get into devrel? 37:37 What platforms should you focus on? 44:12 What’s something devrel gets wrong? 47:50 What do you think about speaking at conferences? 51:58 What do you use to stay up on with tech? 53:59 Sick picks Sick Picks Wikipedia on Hell.com Web Archive of Hell.com Fffffound https://twitter.com/webdesignmuseum Shameless Plugs Follow Salma on Twitch Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
696: How to Build a Website or App
In this episode of Syntax, Wes and Scott answer a listener’s question about their process for building a website in 2023. Do you start with design? With code? How do you decide on which CMS or if you need a CMS? How do you choose a backend framework? And where do you host it? Show Notes 00:10 Welcome 02:12 Syntax Brought to you by Sentry 03:06 How do you build a website? 04:57 Start with the design Figma Design Systems with Brad Frost 11:12 Choose a Frontend / Components Pug EJS React Svelte Remix Storybook 25:16 Real data or fake data? Polypane DrizzleORM 29:34 Do you need a CMS or not? Statamic Syntax 254: Headless CMS Break Down & Roundup WordPress.org Astro 35:16 Choosing a backend language or framework 39:56 Testing 44:50 Where do you host your website? Vercel Netlify Drop Glitch CodePen 50:04 Sick Picks Sick Picks Scott: Chip clips Wes: Soft close used toilet seat Amazon Warehouse Deals 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
695: 5 New CSS Features You Should Know
In this episode of Syntax, Wes and Scott talk about 5 new CSS features :nth-child(4 of .neat), CSS Motion Path, Scroll Snap, Scroll Driven Animations, and Margin Trim. Show Notes 00:25 Welcome 01:10 :nth-child(4 of .neat) selector list argument of :nth-child and :nth-last-child CSS pseudo-classes | Can I use 06:43 CSS Motion Path 10:38 Scroll Snap Practical CSS Scroll Snapping 14:36 Scroll Driven Animations Scroll-driven Animations Supper Club × Bramus Van Damme on CSS 16:58 Margin Trim Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
694: What's Up With Angular with Mark Techson
In this supper club episode of Syntax, Wes and Scott talk with Mark Techson about the recent Angular announcements and updates. How did Angular implement signals? What’s new in Angular 17? How does Angular handle CSS or UI component libraries? Show Notes 00:30 Welcome 01:11 Syntax Brought to you by Sentry 01:39 What’s changing with Angular? Special Angular Event Angular 03:19 What happened to Angular.js, and what’s happening now? StackBlitz Analog | Analog Supper Club × Self Hosted Backend-as-a-service with Brandon Roberts 08:19 What makes Angular special? 13:21 How did Angular implement signals? 17:17 What is a computed value? 18:54 What’s new in Angular 17? 25:10 What’s the meta framework story with Angular? Angular Material UI component library CDK | Angular Material Angular - Angular elements overview 27:40 Adding close to the metal if statements 31:03 View transitions 32:34 How does Angular handle CSS? 39:31 How does Angular integrate with UI component libraries? 41:07 What are headless components? 41:45 Does Angular work well with web components? 42:43 Supper Club Questions Accessibility in Visual Studio Code Technology Radar Thoughtworks RedMonk – The developer-focused analyst firm Mermaid | Diagramming and charting tool 49:38 Sick Picks Sick Picks Godot Engine - Free and open source 2D and 3D game engine Shameless Plugs #goodmorningwithmark on Twitter #goodmorningwithmark on YouTube Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
693: Lessons Learned & Bugs Fixed from Launching Syntax.fm
In this episode of Syntax, Wes and Scott talk about the lessons they learned while launching the new Syntax website including launching now, transcription bugs, error monitoring, black text on black backgrounds, and more. Show Notes 00:10 Welcome to Syntax 01:41 Syntax Brought to you by Sentry 02:43 Don’t wait. Launch! 04:28 Transcript bug Most Powerful Speech-to-Text API | Deepgram 09:01 Error monitoring is a must 12:36 Timestamp error 16:20 Black text on black background might hide things 17:33 WASM Vercel file system 21:18 Things have gotten easier to launch PlanetScale: The world’s most advanced database platform — PlanetScale 23:36 Switching from OpenAI to Anthropic Claude and AI Responses aren’t always JSON 25:34 Local dev is fast Navigation API 31:37 Mind your payloads 32:41 GitHub Milestones 33:57 Almost forgot the Robots.txt 36:17 Chron job timeout Inngest 40:06 TypeScript errors don’t need to be zero to launch 42:25 GitHub Actions pipeline bug 43:23 Basic testing will do Playwright 44:56 Have a designer to work with Airbase 52:07 Sick Picks Sick Picks Scott: Dog Poop Bags With Dispenser Wes: Resistance band 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
692: You Need Stale While Revalidate
In this episode of Syntax, Wes and Scott explain what Stale While Revalidate is, why you should use it, and explore whether you should use it all the time on all the things. Show Notes 00:25 Welcome 01:05 Syntax Brought to you by Sentry 01:34 What is Stale While Revalidate? 03:13 Why is caching important? Max age calculator Can I Use 05:09 Where does a cache live? 07:05 Limit how often an API is being hit 11:51 What about Stale while Revalidate? 18:30 Why wouldn’t you just use Stale While Invalidate on everything? Syntax 484: Cache Control Headers Explained Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
691: Cloudflare Workers Are Next Level With Rita Kozlov And Brendan Irvine-Broque
In this supper club episode of Syntax, Wes and Scott talk with Rita Kozlov And Brendan Irvine-Broque about Cloudflare Workers, Cloudflare AI, browser rendering API, Cloudflare’s D1 database, WinterCG, miniflare, and more! Show Notes 00:32 Welcome 01:53 Syntax Brought to you by Sentry 02:20 What are Cloudflare Workers? Announcing WinterJS Cloudflare Workers® Puppeteer | Puppeteer 06:23 How long did Workers take to ship? 07:31 Can you run your entire business on Cloudflare Workers? 10:52 Interesting use cases for Cloudflare Workers 12:33 What makes the edge important? 18:05 Managing GDPR compliance 19:02 What are the tradeoffs of building with Cloudflare Workers? Cloudflare Queues 20:22 How does Workers pricing work? 26:54 What are situations where you might need longer times? 28:50 Browser rendering API Browser Rendering docs 29:43 What is Cloudflare D1 database product? Cloudflare D1 31:05 Cloudflare Hyperdrive Hyperdrive “Serverless” Databases 34:27 Cloudflare Workers don’t use a Node.js runtime Introducing workerd: the Open Source Workers runtime 37:13 What is WinterCG? WinterCG 45:09 Will we ever see a standard for server routing? TCP sockets · Cloudflare Workers docs 49:30 What is miniflare? 🔥 Miniflare · Miniflare 54:05 Can I run Python on Cloudflare? 55:49 Cloudflare AI Partnering with Hugging Face to make deploying AI easier Cloudflare + AI WebGPU API Cache · Cloudflare Workers docs 57:04 Supper Club questions 59:38 Sick Picks Sick Picks Get a bench scrape Shameless Plugs Cloudflare Discord Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
690: How To Dark Mode and Beyond
In this episode of Syntax, Wes and Scott talk about the process they are using for extending the Syntax website with themes, including a dark mode and secret custom themes. They also talk about issues encountered with theming and CSS, including flashes of un-themed content. Show Notes 00:00 Syntax + Sentry Announcement! 01:35 Welcome 02:23 Syntax Brought to you by Sentry 03:16 How to implement a theme 10:27 Writing the CSS 11:38 Glasses wearers protip 13:02 Class on the body and server side rendering issue 14:02 CSS Variables 15:05 Color variables in CSS 21:07 Working in half pixel sizes 22:40 Variable usage 25:23 Naming variables after what they style 30:42 Component level variables 33:27 Using zones 38:41 Themes should be defined as light or dark 39:20 Issues: Moving from light to dark 42:29 Issues: Drop shadow in dark mode 44:00 Issues: Flash of unthemed content 44:40 Issues: Opacity values 49:45 Issues: SVG need change color 55:56 Help is on the way! 59:57 SIIIIICK ××× PIIIICKS ××× website/src/styles/themes/level-up.css at v2 The 2023 State of CSS Survey Part 2 × CSS Frameworks × Tooling × Browser Usage “color-contrast” | Can I use… Support tables for HTML5, CSS3, etc The Future of CSS: Easy Light-Dark Mode Color Switching with light-dark() – Bram.us ××× SIIIIICK ××× PIIIICKS ××× Scott: Kala (@engineer.everything) Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
689: You Should Be Using JavaScript Maps & Sets
In this episode of Syntax, Wes and Scott talk about why you should be using JavaScript maps sets, whether you can access them directly, what makes them great, and what weak versions of both are. Show Notes 00:26 Welcome 01:34 Syntax Brought to you by Sentry 01:54 What makes Maps a spicy buffalo object? 07:46 API of Map 08:51 Looping over items in a Map 09:27 Can you change the size of a map after it’s been created? 10:07 Can you access properties directly? 12:13 Where have we used a map as a cache? 13:32 What makes a set an array honey garlic array? 17:28 When should you be using sets instead of an array? Proposed Highlight API is built on Sets 21:47 Can you spread sets like an array? 22:40 Weak versions of map and set WeakMap and Garbage collection Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
688: Ex-npm Employee Making a New Package Manager?! Vlt with Darcy Clarke
In this supper club episode of Syntax, Wes and Scott talk with Darcy Clarke about his career path in tech, working with Wes back in the day, why he decided to build vlt volt, and the biggest sick pick list yet! Show Notes 00:32 Welcome 01:38 Building a tweet wall back in the day 08:54 How did you land at npm? npm 19:40 Why do we need another package manager and registry? 22:11 What is vlt volt? vlt: a new home for open source vlt /vōlt/ (@vltpkg) / X Shipping ESM with Mark Erikson Bun Yarn Nx 27:18 Do you see a future where we don’t pre-compile before shipping? 29:32 Why would pnpm be faster than npm? 31:14 What are the problems with symlinking? 33:08 What’s happening with Yarn? Verdaccio Cloudsmith jfrong Sonatype socket.dev Snyk.io Dependency Confusion 37:42 What do you think about config files? antfu Config of File Nesting for VS Code The massive bug at the heart of the npm ecosystem WebTorrent 41:02 VS Code tip - file nesting patterns 41:59 How does on-prem registry work? 47:29 Where does Socket.dev and Snyk security fit? 52:46 Sick Picks 04:41 How did you get vlt.sh? 05:30 How did you get @Darcy? Sick Picks Flat Coat Goldendoodle Scientific American Nespresso BlackBerry (2023) - IMDb BlackBerry (2023) Letterboxd Matthias Wandel Blink-182 Official Site Moneen Bring Me The Horizon Shameless Plugs vlt: a new home for open source Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
687: Hosting NextJS × Spicy Sidedishes × Modern Forms × Abandoning TypeScript
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 🌶️ Spicy Sidedish: Stop calling Firefox the new IE Jen Simmons 16:40 Can you compare Database as a service and provide your recommendation and suggestions? “Serverless” Databases — Syntax Podcast 551 PlanetScale Firebase 20:00 How do I do native forms outside of CMS like WordPress? Builder.io 28:01 Why have Svelte and Turbo abandoned Typescript? 32:17 Why are companies hesitant to migrate to Next? 33:36 Is React Native dead? 38:33 Do I use the keyword “new” when throwing an Error or not? 41:59 touch-action use case Announcing Quina Quina - Menu Announcing Hondo Hondo - a word game in 100 words or less 42:57 Subgrid and the :has selector usage 46:02 Is it okay to be a front end developer and not be as interested in CSS? Tool Academy (American TV series) 51:12 Could you explain what are workers, processes, jobs, tasks, and deamons? 56:29 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Infamous International: The Pink Panthers Story Wes: PowerBlock Adjustable Dumbbells For Home Gym & Commercial Use Syntax episode 3 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
686: We Need Your Help With The Secret Sauce
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
685: Jason Lengstorf on Live Streaming, Creating Content, and Building a Studio Space
In this supper club episode of Syntax, Wes and Scott talk with Jason Lengstorf about his journey in video creation, live streaming, and tech education. What’s up with Jason’s new studio? How does he prep for a live stream? Show Notes 00:32 Welcome 02:21 Syntax Brought to you by Sentry 02:39 Who is Jason Lengstorf? 05:43 Why did you decide to go full time on Learn with Jason? 10:04 Jason’s new YouTube series idea 13:36 Jason gets a special delivery 14:30 What’s in Jason’s new studio? 20:14 What’s the ideal medium for content in 2023? 24:28 Treat decisions as forever, for now. 26:01 Is live streaming as difficult to get into as it seems? 29:21 How do you prepare for a live stream? 32:58 How do you decide what to create? 38:23 How do you feel about React? 40:21 What are your thoughts on AI? 49:08 Supper Club questions 56:25 Sick Picks Sarah Drasner’s Site Animation With Svelte (with Scott Tolinski) — Learn With Jason Gatsby Netlify Jessica Kobeissi ANDREW HUANG Theo Browne Cassidy Williams Bytes - The Best JavaScript Newsletter ZSA Moonlander: ErgoDox EZ Operator Fonts Night Owl SyntaxFM by SyntaxFM MD IO ILME-FX3 | Interchangeable-lens Cameras FE 24-70 mm F2.8 GM Sick Picks Synergy - Share one mouse & keyboard across computers Shameless Plugs LearnWithJason.dev: Learn. Build. Grow. Together. Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
684: Spooky Coding Horror Stories 2023 - Part 2
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
683: Spooky Coding Horror Stories 2023 - Part 1
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
Design Systems with Brad Frost
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
681: What's New in AI for Web Developers
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
680: Getting jQuery’d × Honourable Deaths of libraries We Don’t Use Anymore
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
679: Creator of Swift, Tesla Autopilot & Tensorflow. New AI language Mojo with Chris Lattner
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 🔥: Programming language for all of AI 15:12 Are Python libraries compatible with Mojo? 15:26 Why did you choose Python? 16:49 Why is AI so Python focused? 19:19 Should web developers learn Python? 21:40 Where does Mojo run? 25:05 How did you use the flame emoji for the Mojo file extension? 29:05 How does machine learning actually work? 37:36 Will Mojo be open source in some way? 39:16 How do you start developing a new programming language? 43:14 What is the future of developer jobs? 45:30 What are you excited about with AI in the future? 47:24 Supper Club questions Welcome to a World of OCaml 52:59 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Exercise Shameless Plugs Mojo 🔥: Programming language for all of AI 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
678: The 2023 State of CSS Survey Part 2 × CSS Frameworks × Tooling × Browser Usage
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
677: Home Office Tips
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
676: Google IDX - VS Code in the Browser with David East
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
675: Potluck × Bun Thoughts × Guesting on Syntax × Why Rust?
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
674: A11y Treats - Heading Design
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 🦊 Firefox (en-US) 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
673: Getting Hired, Interviewing, and Why Recruiters Suck with Taylor Desseyn
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
Reacting to State of CSS Survey
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
Tauri Vs Electron - Desktop Apps with Web Tech
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
Ep 670Anxiety and Uncertainty with Dr. Courtney Tolinski
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
The Svelte + SvelteKit Show
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
Hacking the Tonal - Proxying, Intercepting + Debugging Traffic?
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
Supper Club × How To Get Your First Dev Job With Stuart Bloxham
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
Hackweek Projects - Realtime Markdown Editor and a Hardware Recording Button
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
CSS Nesting is Here!
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 👇 04:10 How does CSS nesting work? 09:23 What the ampersand does in nesting 21:05 It works with media queries 25:29 How does it work on all the browsers? 29:32 Lightning CSS Lightning CSS 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
Supper Club × What's New With Astro with Fred Schott
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 🌟 Build documentation sites with Astro 31:28 How often do you release updates? 33:47 Marketing open source Time to suit up | Astro Shop SvelteKit • Web development, streamlined 36:18 Making major version numbers less scary 40:04 Does Astro use Vite? Vite | Next Generation Frontend Tooling 42:01 Is it different working on a framework than a tool like Snowpack? 43:53 Thoughts on cloud text editors Project IDX 47:02 How do you keep up to date? 48:43 Do you write in TypeScript? 51:31 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Factorio Shameless Plugs Astro (@astrodotbuild) 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
Potluck × Soft Skills × Release Notes × Headless CMS × Organizing Code × Inet CSS?
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 🔥 Chromium F12 Profiler: The Main Thread Pane Agent Creation has a large CPU time · Issue #915 · bluesky-social/atproto 25:27 Why do we need .d.ts files in TypeScript? 30:15 What is inset in CSS? inset - CSS: Cascading Style Sheets | MDN 35:06 Is there a way to use AI/chat gpt to more quickly and easily understand technical documentation? Anthropic \ Home Getting Started 🚀 Astro Documentation ChatGPT Plugin - AskTheCode | GPTStore.ai ChatGPT Plugin - Scraper | GPTStore.ai Overview | TanStack Query Docs Custom instructions for ChatGPT 40:59 why is the following true: the string “undefined”.includes(undefined)? 43:27 How do you organize your code directories? 48:50 Is there any good reason in 2023 why we should still be loading JS files with all our script tags at the bottom of the body element? 54:32 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Surge power bar Wes: Little Hippo Alarm 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
JavaScript Closures & Scope Explained
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
Supper Club × Shipping ESM with Mark Erikson
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
Anything but Coding - Landscaping, Fitness, and more!
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
OG Image Options
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
Supper Club × Make React 70% Faster! Million.js with 18 Year Old Aiden Bai
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

Rust for JS Devs — Part 2
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("[email protected]"), 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

8 Tricks When Using the Fetch() API
In this Hasty Treat, Scott and Wes talk about 8 tricks to try when using the Fetch() API. Show Notes 00:23 Welcome 02:14 1) Stream The Result // Create a new TextDecoder instance const decoder = new TextDecoder(); // Make the fetch request fetch('https://api.example.com/streaming-data') .then(response => { // Check if the response is valid if (!response.ok) { throw new Error('Network response was not ok'); } // Stream the response data using a TextDecoder const reader = response.body.getReader(); // Function to read the streamed chunks function read() { return reader.read().then(({ done, value }) => { // Check if the streaming is complete if (done) { console.log('Streaming complete'); return; } // Decode and process the streamed data const decodedData = decoder.decode(value, { stream: true }); console.log(decodedData); // Continue reading the next chunk return read(); }); } // Start reading the chunks return read(); }) .catch(error => { // Handle errors console.log('Error:', error); }); 06:05 2) Download Progress Download progress example 09:40 3) Cancel Streams - Abort Controller // Create an AbortController instance const controller = new AbortController(); // Set a timeout to abort the request after 5 seconds const timeout = setTimeout(() => { controller.abort(); }, 5000); // Fetch request with the AbortController fetch('https://api.example.com/data', { signal: controller.signal }) 11:32 4) Testing if JSON is returned 13:18 5) async + await + catch const data = await fetch().catch(err => console.log(err)); 14:42 6) to awaited - return error and data at top level const [err, data] = collect(fetch()) if(err) // .... await-to-js - npm 16:58 7) Dev tools - Copy as fetch 17:54 8) You can programatically create a Request, Response and Headers objects const myRequest = new Request('https://traffic.libsyn.com/syntax/Syntax_-_641.mp3', { headers: { 'Content-Type': 'text/plain', } }); fetch(myRequest)
Supper Club × How Descript Built A Next Gen Video Editor In The Browser With Andrew Lisowski
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