Logo
    Search

    Podcast Summary

    • Web development horror stories: bugs, errors, and critical infrastructureUse reliable tools like Sentry for error logging and Linode for DNS management to prevent web development horror stories

      Web development can come with its own share of horror stories, from encountering bugs and errors without proper testing to attempting to manage critical infrastructure on your own. In this episode of Syntax, hosts Wes Bos and Scott Tolinski shared some spooky stories they've gathered from the web development community, highlighting the importance of thorough testing and utilizing reliable tools and services. One of the sponsors for this episode, Sentry, was discussed as a solution for managing and logging errors and bugs in applications. By using Sentry, developers can easily catalog and address issues, helping to prevent the accumulation of "spooky crawlies" in their code. The other sponsor, Linode, was mentioned as a better alternative for managing DNS infrastructure, as demonstrated by a story of someone at Facebook accidentally taking down the entire DNS and causing an outage. By using Linode's DNS management solution, developers can avoid potential disasters and ensure their websites remain accessible. The episode served as a hasty amuse bouche for a full course on web development horror stories, with many more tales planned for the Wednesday release. So, buckle up and be prepared for a few cringeworthy moments as we learn from the experiences of other developers. Don't forget to use the coupon code "tasty treat" at Sentry.io for 2 months free and squash those bugs before they become real-life horror stories.

    • Mistakes in Tech: Small Actions, Big ConsequencesBe cautious when using technology, as even the smallest mistakes can lead to significant consequences for your reputation or clients' data.

      Even the smallest mistakes or actions can lead to significant consequences in the tech industry. In the first story, a developer unintentionally added an inappropriate verse to their Bible app's Instagram-like feature, causing embarrassment and potential damage to the company's reputation. In the second story, a cat deleted a client's entire production site via FTP, demonstrating how easily mistakes can be made when working with technology. The third story involved a developer DDoS-ing their own production server by pushing an update to multiple clients, resulting in a flood of requests and server overload. Lastly, a developer's marketing emails were affected when Grammarly injected code into the inputs, highlighting the risks of using third-party tools. These stories serve as reminders to be vigilant, double-check your work, and be aware of the potential risks associated with technology.

    • Making mistakes in technology can lead to significant consequencesPrioritize backups and version control systems to prevent mistakes and save time and resources. Learn from others' experiences to avoid unintended consequences.

      Making mistakes in technology, particularly in email communications and code deployment, can lead to significant consequences. An error in an email can result in hundreds of unnecessary responses, while a mistake in code deployment can cause important data to be lost or misplaced. For instance, sending an apology email after a spelling mistake in an email can be time-consuming and embarrassing. Similarly, saving an image to the wrong S3 bucket can result in losing all the images, which can be a significant issue if they are important. Another example is accidentally deleting a client's website that has been under development for weeks. This can lead to a significant loss of time and resources. Sending out overdue account emails days after they have already been sent can also result in a deluge of angry customer calls. Moreover, making changes to automated systems without proper testing can also lead to unintended consequences. For instance, a corrupted file while updating styles via FTP can require the developer to start from scratch. Therefore, it is essential to prioritize backups and version control systems like Git to prevent such mistakes. Learning from others' experiences and investing time in mastering these tools can save significant time and resources in the long run.

    • Thorough testing and double-checking code before deployment prevent significant issuesNeglecting thorough testing and double-checking code can lead to frustrated users, wasted resources, and office-wide internet outages

      Even the smallest coding mistakes can lead to significant issues, from preventing user access to causing office-wide internet outages. The anecdotes shared illustrate the importance of thorough testing and double-checking code before deployment. The first story involved accidentally leaving a feature that required manual approval active on a live application, leading to frustrated users and a wasted marketing budget. The second story detailed an infinite download loop test that caused a DDoS attack and internet outage. The third story involved removing a crucial "where" clause in an SQL trigger, causing updates to affect all records and slow down the application significantly. These incidents serve as reminders to carefully test code and consider the potential consequences of even the smallest mistakes. It's essential to learn from these experiences and implement measures to prevent similar issues from occurring in the future.

    • Small oversights can lead to significant issues in software developmentDouble-check assumptions, test thoroughly, and ensure all components work together seamlessly to prevent issues in software development.

      Even the smallest oversight or assumption can lead to significant issues in software development. The speakers shared various anecdotes of bugs they encountered throughout their careers, which ranged from simple oversights like case sensitivity in databases to more complex issues like hardcoded checks in views. One speaker mentioned an instance where a client's aggressive swear filter blocked the CSS file, resulting in broken styles. Another speaker shared an experience where they accidentally wrote an infinite recursion in an alarm system, causing both their phones to be bombarded with text messages. These issues may seem trivial, but they can cause significant headaches and disrupt the user experience. It's essential to double-check assumptions, test thoroughly, and ensure that all components of the software work together seamlessly. These anecdotes serve as a reminder that software development is an iterative process, and even the most experienced developers can make mistakes. However, it's crucial to learn from these mistakes and strive to prevent them in the future.

    • The consequences of seemingly minor mistakes in development can be severeThorough testing, documentation, and error handling are crucial to prevent significant issues in development projects. Be aware of potential risks when integrating third-party services and take appropriate security measures.

      Even small mistakes or oversights in development can lead to significant issues down the line. The Twilio billing issue and the incorrect data type usage resulted in a high cost and application downtime. In another instance, a misconfigured Google Analytics implementation led to an entire university's student information system crashing. A seemingly harmless decision to change backup frequency for a large forum ultimately resulted in the loss of 28 days worth of data due to a hacker's actions. These stories serve as reminders that the consequences of seemingly minor mistakes can be severe, and it's crucial to prioritize thorough testing, documentation, and error handling in development projects. It's also important to be aware of the potential risks associated with integrating third-party services and to take appropriate security measures to mitigate those risks.

    • Facebook outage: A complex mishap involving physical and digital barriersLarge tech systems can experience unexpected disruptions, highlighting the intricacies of maintaining them

      The Facebook outage in question was not just a simple issue, but a complex one involving both physical and digital barriers. The team behind the podcast, Syntax, even managed to predict the outage on Twitter before it happened. The day was filled with various mishaps and outages, making for an entertaining episode. This incident serves as a reminder of the intricacies involved in maintaining large tech systems, and the potential for unexpected disruptions. For those interested in hearing more dev stories, tune in to Syntax.fm every Wednesday for their podcast, and don't forget to subscribe and leave a review if you enjoy the content.

    Recent Episodes from Syntax - Tasty Web Development Treats

    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

    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

    Related Episodes

    Spooky Web Dev Horror Stories

    Spooky Web Dev Horror Stories

    In this episode of Syntax, Scott and Wes talk about web dev horror stories — things you can only hope will never happen to you!

    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.

    Sanity - Sponsor

    Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

    Show Notes

    2:09 - Scott’s Disastrous Git Clean

    4:35 - Magic Updates the Gathering

    8:52 - YAAAAS

    9:37 - Token Trouble

    12:16 - jQuery Plugins

    15:22 - Success!

    18:00 - Parental Advisory

    21:47 - Students Changing Grades

    22:46 - Lorem Sh!tsum

    26:22 - Drowning in a Waterfall

    28:53 - Magneto Upgrades

    30:00 - JOHN CENA

    33:24 - Migration Migraine

    35:39 - Primary Key Nightmare

    36:26 - The $20,000 YAML formatter

    Links

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats!

    Backups zijn cruciaal voor je securitystrategie. Test jij weleens een recovery?

    Backups zijn cruciaal voor je securitystrategie. Test jij weleens een recovery?

    Dat je als organisatie backups moet maken is algemeen bekend. Het is inmiddels waarschijnlijk de "last line of defense" in je security-strategie. Wat we echter zien is dat veel bedrijven hun backupstrategie niet op orde hebben. De taak van een backupadministrator is namelijk veel complexer geworden. Daarnaast vergeten veel bedrijven om de staat van hun backups te verifiëren, ze testen maar zelden door een recovery uit te voeren.

    Het maken van backups is moeilijker geworden, vroeger moest de administrator gewoon alles op het bedrijfsnetwerk backuppen. Als er applicaties en data bijkwamen was dat overzichtelijk en werden die ook meegenomen. Vandaag de dag zien de infrastructuur en het applicatielandschap er heel anders uit. Organisaties maken niet langer enkel gebruik van het eigen on-premise netwerk, maar ze gebruiken ook SaaS-applicaties, denk bijvoorbeeld aan Microsoft 365, Salesforce, SAP, Slack, Teams, Box, Dropbox en zo kunnen we nog wel even doorgaan. Al die applicaties zijn als het ware data silo's. Hier bevindt zich data van je organisatie en die is in veel gevallen net zo cruciaal als de data die vroeger on-premises stond opgeslagen. Saas-leveranciers maken in principe nooit backups van je data, die verantwoordelijkheid ligt bij de gebruiker. Ook Microsoft en Salesforce leggen die verantwoordelijkheid bij de klant. Je moet als organisatie dus een goed backupplan hebben, en zichtbaarheid binnen de organisatie welke data essentieel is en hoe die gebackupd kan worden. 

    Ook zijn backups een onderdeel geworden van de securitystrategie. Steeds meer bedrijven worden slachtoffer van ransomware en dan zijn backups vaak een laatste redmiddel. Helaas hebben cybercriminelen dat ook in de gaten, dus backups zijn nu ook een doelwit van criminelen. Daarmee ontstaat de behoefte vanuit organisaties om backups nog veiliger op te slaan. Zaken als air-gapped en immutable backups zijn noodzakelijker geworden. Dit soort technieken komen er op neer dat backups niet meer toegankelijk of aangepast kunnen worden door cybercriminelen.  Ook het controleren van de integriteit van je backups is noodzakelijker geworden. Dit en meer bespreken we allemaal in deze Techzine Talks.