Logo
    Search

    Podcast Summary

    • Springtime and Garage OrganizationScott and Wes discussed the joys of organizing their garage using a slat wall system, shared thoughts on pricing options, and highlighted their podcast sponsors.

      Scott and Wes, the hosts of Syntax podcast, had a long overdue "Stumped" episode where they answered random interview questions and shared their thoughts on various topics. They discussed the beauty of spring and the joy of organizing their newly acquired garage. They talked about different garage storage solutions, particularly a slat wall system, and the pros and cons of various pricing options. They also mentioned their podcast sponsors: Content by Kentico, LogRocket JavaScript session replay, and FreshBooks Cloud Accounting. Wes expressed his excitement about the potential of transforming their garage into an organized space, but acknowledged the importance of proper preparation for painting and epoxy flooring. Overall, the episode showcased the hosts' enthusiasm for web development and home improvement projects.

    • JavaScript Interview Questions: Uncommon TopicsInterview questions can test deep knowledge of a language, but it's impossible to know everything. Honesty and a willingness to learn are important.

      Interview questions in JavaScript can be quite challenging, even for experienced developers. During a recent exercise, the team randomly selected a GitHub repository filled with various programming questions, and one of them asked about the methods available on a WeekMap in JavaScript. While the interviewer was confident in their knowledge of JavaScript, they admitted that this was a less commonly used topic and they couldn't recall all the methods off the top of their head. Another question asked about making an object iterable in JavaScript, which the interviewer also admitted to having little knowledge about. These examples demonstrate that while interview questions can test a candidate's understanding of the language, it's impossible to know everything, and it's important to be honest about what you don't know. The team does these exercises to show that interview questions can be difficult and to encourage listeners to keep learning and expanding their knowledge.

    • Manipulating Strings, Determining Variable Types, and Utilizing New Features in JavaScriptJavaScript's flexibility allows for string manipulation using methods like toUpperCase(), determining variable types with the Type of operator, and utilizing new features like classes for cleaner object creation

      JavaScript is a dynamic and flexible programming language, which allows developers to manipulate strings, understand variable types, and utilize new features like classes, all with ease. To make the first letter of a string uppercase, instead of using CSS, developers can reference the string by its index and apply the toUpperCase() method. For instance, using the example given, the code would look like: name.charAt(0).toUpperCase() + name.slice(1). The Type of operator is a useful tool to determine the type of a variable. JavaScript has loose types, meaning variables can transform into different types easily. By using the Type of operator, developers can ensure the variable is what it should be, especially when transitioning to TypeScript. ES6 introduced classes as a syntactic sugar over JavaScript's existing prototype-based inheritance. Classes provide a more readable and cleaner way to create objects and extend their prototypes with custom properties and methods. Enumerating key-value pairs in an object can be done using various methods. For in loop is a popular choice, as it allows developers to iterate over the object and access its values. To get the keys, developers can use object.keys() or object.entries(). In summary, understanding these concepts, such as manipulating strings, determining variable types, and utilizing new features like classes, is essential for mastering JavaScript and effectively writing clean, efficient, and well-structured code.

    • Understanding the Event Loop and its role in handling tasks and events in JavaScriptThe event loop is a mechanism in JavaScript that manages the order of tasks and events, allowing the browser to handle them efficiently. Events are added to a queue and processed based on their order and task source, with the user agent responsible for handling these tasks.

      An event queue is a mechanism in JavaScript where events, such as clicks or hovers, are added and waiting to be processed by the browser. The browser handles these events in the order they were received, and certain tasks may also fire new events or callbacks, which are added to the queue. The user agent, or browser, chooses which task to execute next from various task queues. This process is known as the event loop. During the discussion, Wes mentioned his experience working on a project using SvelteKit and dealing with iterating over objects. He also talked about Content by Kinetico, a headless CMS that supports various frameworks and offers features like live editing and APIs hosted on a CDN. Wes then explained the concept of an event queue, stating that events are added to the queue and processed based on their order and task source. He mentioned that the user agent, such as a browser, is responsible for handling these tasks and events. To better understand the event loop and its relation to the call stack, Wes suggested checking out a YouTube video explaining the topic. This video illustrates how web APIs and the call stack interact with the event loop to process tasks and events in a web application.

    • Managing Asynchronous Tasks with JavaScript Event QueuesJavaScript event queues handle multiple tasks, but understanding the event loop and managing task order is crucial for mission-critical events. JSON is a lightweight, versatile format for data transfer.

      JavaScript event queues play a crucial role in handling multiple asynchronous tasks. These tasks, including Ajax requests and set intervals, are added to the callback queue in the order they are fired off. However, when dealing with mission-critical events or complex scenarios, it's important to understand the event loop and how to manage the order of execution. For instance, awaiting 0 milliseconds can help ensure that certain tasks are executed after others, preventing potential issues. Another key takeaway is the importance of JSON (JavaScript Object Notation) in data transfer between different systems. JSON is a lightweight, easy-to-use format for structured data, making it an ideal choice for sending and receiving data between various applications and programming languages. Despite its widespread use, there are ongoing debates about the need for more advanced features like comments in JSON, which can make the format even more versatile and convenient for developers.

    • Handling asynchronous code with Promises and validating HTML formsPromises enable non-blocking asynchronous code execution and handling of multiple requests. HTML forms can be validated using the validity object.

      When dealing with asynchronous code in JavaScript, Promises are the best approach. They allow the code to continue running without being blocked, and they can handle multiple requests at once. When working with HTML forms, the validity object can be used to check if inputs are valid, including checking for range overflow or underflow. To find all matches of a regular expression in a string, use the match method with the g flag for global. Alternatively, there's a new feature in JavaScript called dot match all that allows passing a string directly instead of a regex. However, if using match all, the g flag is not necessary.

    • Understanding the 'g' flag in JavaScript and Thunk functionsThe 'g' flag is necessary for finding all matches in a string with 'matchAll'. Thunk functions delay evaluation and are commonly used in libraries like Redux for handling data objects.

      When working with regular expressions in JavaScript, the 'g' flag is required when using the 'matchAll' method to find all matches in a string. However, it's important to note that in some cases, such as with MDN Plus examples, the 'g' flag may also be used with other methods, but its purpose may not be clear without additional context. Another concept discussed was the idea of a thunk function, which is a function that delays the evaluation of a value. It's commonly used in libraries like Redux, but the speakers admitted they had never personally used it. Thunk functions are useful for handling data objects and can be thought of as functions that are set up and ready to go but not yet called until invoked with parameters. Additionally, it was clarified that 'let' and 'const' variables cannot be redeclared in JavaScript, and in strict mode, 'var' variables cannot be redeclared either. Lastly, the show's sponsor, LogRocket, was highlighted as a valuable tool for debugging and understanding user behavior on websites. It provides a scrubbable video replay dashboard, allowing developers to see and step through bugs, issues, and errors as they occur, along with performance metric tracking.

    • Understanding variable redeclaration and alternativesAvoid redeclaring variables, use shorthand methods, enhanced object literals, and arrow functions instead for better readability and efficiency.

      In JavaScript programming, redeclaring variables is not recommended, and there are various shorthand methods and enhanced object literals to simplify the syntax. Call, apply, and bind are functional techniques to manipulate functions, but in modern programming, arrow functions offer more readability and ease of use. During the discussion, we explored the concept of not redeclaring variables, emphasizing that it is generally a bad practice to do so. Instead, we should utilize shorthand methods for object properties and new method syntax for object methods. Enhanced object literals are a more advanced feature, allowing for dynamic property names and more concise syntax. Call, apply, and bind are functional techniques that allow developers to manipulate functions, either by running them or preparing them with specific arguments. While these methods have their uses, they are less frequently employed in modern JavaScript programming due to the convenience of arrow functions. In summary, understanding the basics of object literals, shorthand methods, and functional techniques like call, apply, and bind, as well as their modern alternatives, is essential for mastering JavaScript programming.

    • Managing Finances and Coding with FreshBooks and ModulesFreshBooks simplifies financial management, while coding modules offer organization, maintainability, and performance benefits. The new destructuring assignment feature makes swapping variables easy, and recycled plastic outdoor furniture is eco-friendly and trendy.

      FreshBooks offers various features to help manage finances for businesses, including accepting payments, tracking time and expenses, and even converting expenses into invoices for clients. Additionally, modules in coding help encapsulate and organize code, prevent naming conflicts, and improve performance. A new technique in destructuring assignments allows for easily swapping variables without the need for a temporary holder. Lastly, recycled plastic outdoor furniture is a popular and eco-friendly option for buying outdoor furniture. FreshBooks simplifies financial management with its all-in-one solution, while coding modules offer organization, maintainability, and performance benefits. The new destructuring assignment feature makes swapping variables a breeze, and recycled plastic outdoor furniture is an eco-friendly and trendy choice for homeowners.

    • Investing in durable outdoor furniture saves time and money in the long runInvesting in high-quality, weather-resistant outdoor furniture, like CR Plastics or Polywood, saves time and money by requiring minimal maintenance and lasting longer than traditional wood or wicker furniture.

      Investing in high-quality, weather-resistant outdoor furniture, such as CR Plastics or Polywood, is a worthwhile investment despite the higher upfront cost. These types of furniture, made from composite materials, can withstand various weather conditions and require minimal maintenance compared to traditional wood or wicker furniture. The speaker shared his personal experience of using these chairs for over 7 years, which still look new, while his other furniture made of different materials requires frequent replacement and maintenance. The long-term savings and convenience of not having to constantly purchase and dispose of new furniture outweigh the initial investment. Additionally, the speaker's recommendation of the "Who Arted" podcast as an engaging and informative resource for learning about art history and the lives of various artists is an interesting and enriching side note.

    • Exploring Art and Learning New Technologies with Podcasts and CoursesListen to 'Who Arted?' podcast for art education and try Level Up Tutorials' JavaScript browser APIs course for practical skills in creating and modifying SVG files with vanilla JavaScript

      The speaker is a fan of the art podcast "Who Arted?" hosted by a teacher, which explores various paintings, artists, and art history in an approachable and engaging way. The speaker also promotes several learning resources, including his own courses on web development concepts and a new tutorial course on JavaScript browser APIs from Level Up Tutorials. The JavaScript browser APIs course covers both basic and advanced techniques, allowing learners to create, modify, and save SVG files directly in the browser using only vanilla JavaScript. Overall, the speaker encourages listeners to expand their knowledge and skills through education and podcasts, while also highlighting the practical applications of learning new technologies.

    Recent Episodes from Syntax - Tasty Web Development Treats

    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

    780: Cloud Storage: Bandwidth, Storage and BIG ZIPS

    780: Cloud Storage: Bandwidth, Storage and BIG ZIPS

    Today, Scott and Wes dive into cloud storage solutions—why you might need them, how they use them, and what you need to know about the big players, fees, and more.

    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

    779: Why SQLite is Taking Over with Brian Holt & Marco Bambini

    779: Why SQLite is Taking Over with Brian Holt & Marco Bambini

    Scott and CJ dive into the world of SQLite Cloud with special guests Brian Holt and Marco Bambini. They explore why SQLite is gaining traction, its unique features, and the misconceptions surrounding its use—let’s get into it!

    Show Notes

    • 00:00 Welcome to Syntax!
    • 01:20 Who is Brian Holt?
    • 02:26 Who is Marco Bambini?
    • 05:12 Why are people starting to talk so much about SQLite now?
    • 08:47 What makes SQLite special or interesting?
    • 09:46 What is a big misconception about SQLite?
    • 11:13 Installed by default in operating systems.
    • 12:03 A perception that SQLite is intended for single users.
    • 13:36 Convincing developers it’s a full-featured solution.
    • 15:11 What does SQLite do better than Postgres or MySQL?
    • 17:30 SQLite Cloud & local first features.
    • 20:38 Where does SQLite store the offline information?
    • 23:08 Are you typically reaching for ORMs?
    • 25:00 What is SQLite Cloud?
    • 27:29 What makes for an approachable software?
    • 29:18 What make SQLite cloud different from other hosted SQLite options?
    • 32:13 Is SQLite still evolving?
    • 34:40 What about branching?
    • 37:37 What is the GA timeline?
    • 40:04 How does SQLite actually work?
    • 41:19 Questions about security.
    • 44:28 But does it scale?
    • 45:52 Sick Picks + Shameless Plugs.

    Sick Picks

    Brian: Trainer Road
    Marco: Tennis

    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

    JavaScript Promises with Brandon Martinez

    JavaScript Promises with Brandon Martinez
    Jason and Carl talk about why they started the podcast. Jason gets excited about new hardware, and talks about setting up the show. We have special guest Brandon Martinez, and he talks about JavaScript promises. He was also the musical genius behind our intro music and logo.

    TPDP008: Asynchronous and Event-Based Programming with RxJS

    TPDP008: Asynchronous and Event-Based Programming with RxJS
    In this episode I am joined by Ben Lesh, a senior software engineer at Netflix. Ben is one of the lead developers for RxJS, a reactive extension set for JavaScript, and a core component in the software stack at Netflix. Here we discuss everything from what is RxJS, to how it differs from common promises and callbacks in JavaScript. We also discuss who is using it and how it is playing a critical role in Angular 2. A writeup to this episode can be found via https://www.thepolyglotdeveloper.com/2016/08/asynchronous-event-based-programming-rxjs/ If you have questions that you'd like answered in the next episode, visit https://www.thepolyglotdeveloper.com/podcast-questions and fill out the form.

    STUMP'D - Coding Interview Questions

    STUMP'D - Coding Interview Questions

    In this episode of Syntax, Scott and Wes are back with another edition of Stump’d! where they try to stump each other with interview questions.

    Freshbooks - Sponsor

    Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the “How did you hear about us?” section.

    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.com/syntax.

    Auth0 - Sponsor

    Auth0 is the easiest way for developers to add authentication and secure their applications. They provide features like user management, multi-factor authentication, and you can even enable users to login with device biometrics with something like their fingerprint. Not to mention, Auth0 has SDKs for your favorite frameworks like React, Next.js, and Node/Express. Make sure to sign up for a free account and give Auth0 a try with the link below. https://a0.to/syntax

    Show Notes

    03:10 - What is STUMP’D?

    04:27 - What is a first class function?

    06:27 - What is the purpose of using object is method?

    09:31 - What is the purpose of Error object?

    11:00 - What are the advantages of minification?

    12:37 - How do you declare namespace?

    15:38 - What are JS labels?

    19:20 - List the methods that are available on a WeakSet?

    • What is the difference between a set and a WeakSet?

    23:33 - What is the use of preventDefault method?

    26:15 - What is a spread opperator?

    27:35 - What is the output of below spread operator array?

    • [...'John Resig']

    30:19 - How do you load CSS and JS files dynamically?

    32:00 - What are tasks in event loop?

    34:15 - What is a WeakMap?

    37:35 - How do get query string values in JavaScript?

    40:50 - What is the purpose of some method in arrays?

    42:15 - How do you delete a cookie?

    Links

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    • Scott: All Courses - Sign up for the year and save 25%!
    • Wes: All Courses - Use the coupon code ‘Syntax’ for $10 off!

    Tweet us your tasty treats!

    120 Async TDD & Other Pyramids of Doom

    120 Async TDD & Other Pyramids of Doom

    Justin Searls chats with us on testing Asynchronous JavaScript as well as best practices for Continuous Integration, Unit testing vs. Integration testing, and tools we can use to help us understand how to test code.

    Resources


    Guests


    Panel

    Javascript Promises and Beyond

    Javascript Promises and Beyond

    In this episode we dive into Javascript Promises.  If you’re used to the olden way of doing an async call with a callback, you’ll definitely want to give this episode a listen as you could improve your mental sanity 10 fold by learning how to use promises in your application!