Logo
    Search

    Podcast Summary

    • Wes and Scott play 'Stumped' on Syntax PodcastContinuous learning and community engagement are essential for developers, as shown in Wes and Scott's 'Stumped' game on the Syntax Podcast, sponsored by Log Rocket, a session replay tool.

      Wes Ballas and Scott Tolinski, the hosts of the Syntax podcast, had a long-overdue game of "Stumped," where they challenge each other with Internet-related questions from various categories like HTML, CSS, JavaScript, React, Node, and Security. The game is sponsored by Log Rocket, a session replay tool that provides detailed information about bugs and errors as they occur, making it easier for developers to solve problems. The hosts used a website called 30seconds.org to generate random questions and admitted they might make fools of themselves. Despite the latency issues making the game challenging, they were determined to give it their best shot. The game serves as a reminder of the importance of continuous learning and the value of having a community to engage in fun and educational activities.

    • HTML vs React event handling and JavaScript data typesHTML uses lowercase event names with quotes and runs functions on event, React uses camelCase event names and passes function references, JavaScript has 7 primary data types: Number, String, Object, Undefined, Null, Symbol, Boolean, and a promise can be in 3 states: resolved, rejected, or initialized.

      HTML and React handle events differently, especially when it comes to inline event handlers. While HTML uses lowercase event names and requires quotes around the function with parentheses at the end, React uses camelCase event names and passes the function reference without parentheses. Additionally, React runs the function as soon as it's defined, whereas HTML only runs the function when the event is triggered. Regarding JavaScript data types, there are seven primary data types: Number, String, Object, Undefined, Null, Symbol, and Boolean. A promise in JavaScript can be in three states: resolved, rejected, or initialized. It's important to understand these differences to effectively use HTML and React for event handling and work with JavaScript data types and promises.

    • HTML specification vs browser implementationHTML specification sets rules, browser implementation varies, leading to cross-browser issues. Understand stateless components and pure functions in web development.

      During the discussion, we learned about the differences between an HTML specification and a browser's implementation of it. The HTML specification is a set of rules and guidelines proposed by the standards body and browser developers, which should be followed for proper HTML rendering. On the other hand, a browser's implementation refers to how each browser interprets and executes the HTML specification. While they are supposed to align, inconsistencies may occur, leading to cross-browser issues. Another key concept discussed was the definition of a stateless component in React. A stateless component is a functional component that doesn't maintain any state and only takes in props to return the same output every time it's called. It's like a dog without a collar, a mason jar without cold brew, or a function that takes in data and always returns the exact same result without any side effects. Additionally, we touched upon the idea of a pure function. A pure function is a function that, given its inputs, will always return the same output without any side effects. It's a crucial concept to understand when working with programming languages and frameworks like React. In summary, understanding the differences between HTML specifications and browser implementations, as well as the concepts of stateless components and pure functions, are essential for anyone looking to delve deeper into web development.

    • Comparing arrays and strings with double equalsUsing double equals with arrays and strings can lead to unexpected results due to their different comparison rules. Arrays are compared based on references, while strings are compared based on values.

      The use of double equals (==) in comparing variables with different data types, such as arrays and strings, can lead to unexpected results. The discussion revolved around three variables: a, b, and c. Variables a and b were arrays with the same items (1, 2, 3), while c was a string of the same items (1, 2, 3, separated by commas). The first question was about the output of 'a == c'. Since arrays are converted to strings when using double equals, the output was true. The second question was about the output of 'a == b'. Since arrays are compared based on their references rather than their values, the output was false. This concept is known as memoization, where a function remembers previous results to avoid recomputing them. The discussion emphasized the importance of understanding the quirks of using double equals, especially when dealing with different data types.

    • Improve performance with caching and HTML5 web storageCaching reduces redundant work and improves response times by serving data from a cache. HTML5 web storage lets web apps store data locally for faster access and improved user experience.

      Caching is an essential technique to improve performance by storing and reusing results from previous computations or requests. In the context of programming, when multiple requests are made for the same data, caching allows the system to avoid redundant work and serve the data from a cache instead. This can significantly reduce the load on servers and improve response times. Another key point discussed was passing arguments to event handlers in React. When defining an event handler function in React, you can include the argument in the function definition by adding parentheses at the end of the function name. Alternatively, you can use an inline arrow function to directly call the method with the argument. Lastly, HTML5 web storage was explained as a feature that allows web applications to store data locally in the user's browser. There are two types of storage: local storage and session storage. Local storage data persists even after the browser is closed, while session storage data is cleared when the tab or browser is closed. This makes session storage useful for storing data that is only needed for the current session, while local storage is suitable for longer-term storage. The exact timing of when session storage is cleared was clarified as being when the tab is closed, not when the browser is closed.

    • JavaScript Session Storage: Separate for Each Tab?Session storage is a local data storage feature in JavaScript that allows data to be saved across pages, but its behavior when multiple tabs of the same website are open remains unclear.

      During a discussion about session storage in JavaScript, it was unclear if having multiple tabs open would result in separate session storage. The speakers also touched upon different JavaScript books and their authors, leading to some confusion. The key takeaway from this conversation is that session storage is an essential feature of JavaScript that allows data to be stored locally within the browser. However, the behavior of session storage when multiple tabs of the same website are open remains unclear. It's important to note that session storage is not the same as local storage, which stores data persistently even after the browser is closed. Additionally, during the discussion, there was some confusion regarding different JavaScript books and their authors. For instance, Douglas Crockford's "JavaScript: The Good Parts" was mistakenly referred to as "Eloquent JavaScript" by Martin Haverbeck. This highlights the importance of double-checking facts and being clear in communication. Overall, the conversation provided some interesting insights into JavaScript session storage and the importance of clarifying facts to avoid confusion. It's essential to understand the nuances of session storage and its behavior in different scenarios to build effective web applications.

    Recent Episodes from Syntax - Tasty Web Development Treats

    790: State of JS 2023 Reactions

    790: State of JS 2023 Reactions

    Scott and Wes dive into the 2023 State of JavaScript survey, breaking down the latest trends and pain points in front-end frameworks, build tools, and JavaScript runtimes. Tune in for their hot takes and insights on what’s shaping the JavaScript landscape this year!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    789: Do More With AI - LLMs With Big Token Counts

    789: Do More With AI - LLMs With Big Token Counts

    Join Scott and CJ as they dive into the fascinating world of AI, exploring topics from LLM token sizes and context windows to understanding input length. They discuss practical use cases and share insights on how web developers can leverage larger token counts to maximize the potential of AI and LLMs.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    Advice for New Developers, Imposter Syndrome and Interviewing at Google

    Advice for New Developers, Imposter Syndrome and Interviewing at Google

    Scott and Wes dish out some tasty advice to developers who are new to web development. How do you get better? How do you deal with imposter syndrome?

    • Freshbooks - Get 30 days free. Make sure to enter SYNTAX into the "How did you hear about us" section.

    Shameless Plugs

    Show Notes

    This show is light on links :)

    Sick Picks

    Tweet us your tips!

    Hasty Treat - Web Dev Resource Sick Picks

    Hasty Treat - Web Dev Resource Sick Picks

    In this Hasty Treat, Scott and Wes talk about all of their favorite web dev resources — a full episode of sick picks!

    LogRocket - Sponsor

    LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at LogRocket.

    Show Notes

    2:03 - Twitter Accounts

    5:00 - Web Dev Resources

    7:37 - Design Resources

    11:36 - Desktop Tools

    14:59 - YouTube

    Links

    Tweet us your tasty treats!

    Tech Interview 101: Crack The Coding Interview

    Tech Interview 101: Crack The Coding Interview

    Parth's YouTube: https://www.youtube.com/DestinationFAANG/ 

    Most asked Technical Questions: https://docs.google.com/spreadsheets/d/1hzP8j7matoUiJ15N-RhsL5Dmig8_E3aP/edit#gid=1377915986

    Github Repo with all the Solutions: https://github.com/DestinationFAANG/Destination-FAANG-Java-Solution 
     
    Book: Cracking the Coding Interview, Programming interviews exposed

    Preparation Schedule: https://www.techinterviewhandbook.org/coding-interview-study-plan/

    Master Technical Interviews: https://youtu.be/-LVmKNvflnY?si=jrXIS8uzf9haBVED

    In this episode, Parth joins me to delve deep into the heart of technical interviews, a critical gateway in the tech industry. Our comprehensive discussion covers the various formats of technical interviews across different companies, highlighting the diversity and commonalities in these crucial assessments. We explore the typical pitfalls and mistakes that candidates often encounter, providing practical advice on how to avoid them. Our conversation also navigates through effective strategies for tackling tough technical questions, even when the answer seems elusive. 

    Potluck - Where to start with JS × Freelancing × Cron jobs × Split testing × Frameworks in 2019 × More

    Potluck - Where to start with JS × Freelancing × Cron jobs × Split testing × Frameworks in 2019 × More

    It’s another potluck episode in which Wes and Scott answer your questions! This month - thoughts on frameworks for 2019, React Native, when should you start freelancing, where to start with JS, cron jobs, split testing and more!

    DevLifts — Sponsor

    DevLifts - Thad and JC are on a mission to make web developers healthy. They’re currently offering two options: The first is Fit.Start - perfect for beginners or those looking to get back at it.
    Use the coupon code “syntax” to get 50% off the fit.start plan. The second is DevLifts Premium - for those looking for a laser-focused approach and maximum accountability. Use the coupon code “tasty” to get 50% off the premium plan. Check it out today! Just for January their eight-week plan is back. Use the coupon code “newyear19” to get $50 off.

    Kyle Prinsloo’s Freelancing & Beyond — Sponsor

    Kyle Prinsloo teaches you everything you need to know about freelancing, including how to quit your job, earn a side-income and start taking control of your life. Check it out at https://studywebdevelopment.com/freelancing and use the coupon code “syntax” at checkout to get 25% off.

    Show Notes

    1:40

    • Where is the best place to start with JS coming from WordPress?

    5:36

    • How do you set up cron jobs? What are the best tools to use, should they run on their own server or on the application server, etc.?

    17:13

    • What new skills, frameworks, projects are you look forward to learning in 2019?

    21:35

    • Do you use any software for tracking analytics on your site and do you ever use this data to run split tests? If so, what is your preferred method for running split tests?

    28:24

    • What’s your best tip for young coders to stay productive and not lose time?

    32:08

    • I’m 17 and learning web dev. I’m pretty concerned about my skills and feeling some impostor syndrome. Is it ok to start freelancing?

    37:26

    • What is React Native? How do people tend to use it? If you want a native and web app, do they share code?

    Links

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats!