
Gatsby vs Next
In this episode, Wes and Scott debate Gatsby vs Next — how they compare, the pros and cons of each, why you might chose one over the other for your next project, and more! 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 replayer and a performance monitor. Get 14 days free at https://logrocket.com/syntax. The Armoury - Sponsor The Armoury is a men’s clothing and accessories retailer that provides some of the highest quality clothing you can buy. Designed for those of you who want the highest quality clothing that feels great and will last forever. Buy less, buy better. Follow them on Instagram @thearmourynyc and check out their website TheArmoury.com. Show Notes 5:07 - Server Side Rendering Next.js will render on demand — this allows you to have server rendered pages on demand. Think of a blog website — publish a new blog post and it will immediately start working. Authenticated pages can be server rendered, and thus, pre-loaded for better performance. Gatsby runs at build time only — so you need to have all of your data ready at build time. Pro: This makes for very fast page load. Con: Large websites can take a long time to build. Con: Gatsby can do network fetches from the client, but these lose the benefit of SSR. Ease of SSR: Next.js requires a complicated document.js file if you are fetching data anywhere other than a page component. This will probably get easier with Suspense. Demos are simple, but any real application requires harder config. Gatsby is Easy Peeezy! 11:09 - Data Next.js is unopinionated. Like React, it doesn’t care where your data comes from. getInitalProps(); Gatsby has a number of “source” plugins which will pull in data from sources — markdown, WordPress, API, file system. Once you have that data sourced, you can query it with GraphQL. 22:50 - Routing and Creating Pages Next.js makes you create a page in a pages directory. You can nest these as deep as you like. If you want to pass query params, you must do so with a ?query=string. There are several third-party options for getting around this that require a node server. Gatsby allows you to programmatically create pages with their createPage API. For both navigating between pages, they make a Link Component available. 30:49 - Plugins In Gatsby, everything goes through the Gatsby pipeline. This makes things like image compression, pagination, sass, service workers and many other progressive web app pieces very easy. Gatsby makes building a really good website easy. Gatsby Image is SOOOOO amazing. The scope of Next.js is much smaller. They give you a few things, but you generally bring your own approach for most things Routing Linking and prefetching Dynamic Importing 38:42 - Deploying and Hosting Gatsby is just HTML, CSS, and JS at the end of the day, so it can be deployed almost anywhere — Netlify, Github Pages, cheap PHP hosting, etc. Next.js is a Node app. It can be integrated into an existing Express app, or run by itself. Requires a Node server to run it. Next.js has a static generation option, but you’re better off using Gatsby for that. 44:41 - The verdict? Us Next.js for Apps, Gatsby for Websites Links LogRocket The Armoury Next.js Gatsby Netlify Node Express ××× SIIIIICK ××× PIIIICKS ××× Scott: Motion LED Lights Wes: The Dream Podcast Shameless Plugs Scott’s Pro Gatsby 2 Course Wes’ Courses 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
20 Helmi 201952min

Hasty Treat - Better Living Through Side Projects
In this Hasty Treat, Scott and Wes talk about side projects — what you can learn, why they’re great, how to come up with ideas, and more! Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 2:17 - Why? Keeps you sharp It’s actually useful Try new technology 5:28 - How to come up with ideas What sucks in your life? How do you get a competitive advantage in life? 12:10 - Quick and dirty tech Next.js Express diskDB Meteor 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
18 Helmi 201916min

The Smart Home
In this episode, Wes and Scott talk about the Smart Home — all the different tech available, how it works together, pitfalls to avoid, hardware, software, and more! Sanity.io - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get up and running by typing npm i -g @sanity/cli && sanity init in your command line. Get an awesome supercharged free developer plan on sanity.io/syntax. Stackbit - Sponsor Build modern JAMStack websites in minutes. Stackbit lets you combine any theme, site generator and CMS without complicated integrations. Join the beta today by visiting stackbit.com/syntaxfm. Show Notes 2:25 - The tech Wifi devices Zigbee Can operator on low power Usually Cheaper Water Sensor, door sensor, temperature iOS HomeKit sucks You need an Apple TV or iPad to access outside of your house 9:13 - Controlling your smart home Smart Things Home Assistant Host your own Lots of add-ons You need to babysit it Android Google Assistant Google Pixel squeeze to assistant is way better than saying “Hey Google”. Google Home Google Home is awesome Custom sayings with IFTTT Custom via Routines Alexa 23:52 - Software Stringify IFTTT Basic automations Makers accounts Web hooks to trigger actions Homebridge Make non-iOS stuff work with HomeKit Swipe up control is nice 28:15 - Hardware Light Switches Leviton Lutron Bulbs LIFX Philips Hue AMAZING Much cheaper now than before Blinds Chromecast — turn the TV off Plugs Wemo Leviton Sonoff Power strip Change each plug or have timers Thermostat Ecobee 3 Lite Ecobee 4 with Alexa Nest Nest-E Cameras Ring Doorbells Ring Flood Light Camera Super slow to open the app Wyze cameras Small one Larger Panning Camera Mesh Wifi Google Wifi Amplifi Fire Alarms / CO2 Nest Protect Dumb Lithium Garage Door Opener Non-connected “smart items” Solar powered lights on a timer. No app needed, no WiFi connection needed Roomba - meh. We play “find the body” when it comes home. Locks - Code based lights 67:32 - What we want in the future Scott Motion sensors Door sensors Locks Blinds More bulbs Wes Fireplace Constantly recording cameras Sensors galore Windows open Doors open Garage door Zigbee Hub Xiaomi Sensors Gear Best Links Sanity Stackbit Google Home Mini Amazon Echo Google Pixel Apple Homepod Raspberry Pi GearBest ××× SIIIIICK ××× PIIIICKS ××× Scott: Philips Hue Wes: All the recommendations from above Shameless Plugs Scott’s Level Up Pro Wes’ Courses 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
13 Helmi 20191h 11min

Hasty Treat - How To Email Busy People
In this Hasty Treat, Scott and Wes tackle email, specifically, how to email busy people — how to write emails that actually get read, and don’t just get tossed in the archive. Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 4:05 Subject lines 11:26 The body 14:33 Best practices 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
11 Helmi 201923min

Potluck - Changing careers × Repo organization × CSS Grid × Certifications × Freelancing × Spammers × More
It’s another potluck episode in which Wes and Scott answer your questions! This month - organizing your Git repos, the difference between freelancing and contracting, changing careers, how to deal with spammers and more! Sanity.io - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get up and running by typing npm i -g @sanity/cli && sanity init in your command line. Get an awesome supercharged free developer plan on sanity.io/syntax. Techmeme Ride Home Podcast From Techmeme.com, Silicon Valley’s most-read news source, The Techmeme Ride Home podcast is a short daily podcast about the day’s tech news. Mark Zuckerberg called Techmeme the one news source he definitely follows. New episodes are published every day at 5p.m. You can check out the show here, or search for “Techmeme Ride Home” in your favorite podcast player. Show Notes 1:55 Q: Do you prefer to have your backend and frontend in separate Git repos or together? What are the trade-offs? 5:12 Q: In web dev, what’s the difference between a freelancer and independent contractor? 9:45 Q: Default export vs named export? 11:35 Q: I’m looking to change careers, but I’m 41 this year. Is it too late? 16:12 Q: Have you guys made much use of multicolumn layout? If so, only for text, or have you come up with (or seen elsewhere) any interesting out-of-the-box uses? 20:11 Q: Since you publish your courses’ source code on Github, what do you think about people using that to learn instead of buying your course? Is it an intentional decision, or is it a compromise you’re willing to make? 23:52 Q: When is a certification needed for both jobs and side-projects? 29:35 How do you deal with spammers filling out forms? 34:05 Q: Could you better explain what a slug is? I’ve heard the term thrown around on a number of your episodes, but I don’t really know what it means. 37:44 Q: I am currently going through some currency conversion stuff for a project, what would you recommend to use for international conversions? Links Sanity Techmeme Ride Home Podcast Concurrently Rachel Andrew CSS Grid auto height of elements? Cloudflare Intl.NumberFormat ××× SIIIIICK ××× PIIIICKS ××× Scott: Voxon Screwdriver Set Wes: Technology Connections Shameless Plugs Scott’s Level Up Pro Wes’ Courses 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
6 Helmi 201950min

Hasty Treat - Code Quality Tooling Part 2
In this Hasty Treat, Scott and Wes continue their discussion about code quality tooling - how to get your code extra nice and clean, and the tools that will help you along the way. 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 replayer and a performance monitor. Get 14 days free at https://logrocket.com/syntax. Show Notes 2:28 Typescript and Types 5:42 Jest and Testing 7:48 Exceptions & Error Tracking Links Sentry Log Rocket Rollbar Jest 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
4 Helmi 201913min

The Freelance Client Lifecycle - Part 2
In this episode Scott and Wes continue their discussion about the freelance client lifecycle—from design and development, to project hand-off, and everything in between. Sanity.io - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get up and running by typing npm i -g @sanity/cli && sanity init in your command line. Get an awesome supercharged free developer plan on sanity.io/syntax. 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. Show Notes 1:47 - Design Collect all assets from your client Logo Brand guidelines List of likes and dislikes Create initial look and feel Don’t show client too early—they can be distracted by little unfinished things Back up the “whys” of what you did. Otherwise, it’s just a pretty picture and and the client only thinks about it in terms of taste. Remember, you are the expert they hired, so it’s not totally subjective—you have the expertise and you need to flex that. This button is teal because it’s your call to action—this is the button that makes you money so we want to highlight that Grey text on white background is hard to read—you’ll be leaving people out if you do this. When possible, draw circles or golden ratio lines around everything ;) Be prepared for non-standard feedback E.g. this feels cloudy, can it look more sunny? Please make it pop, etc. Don’t get offended by feedback on creative work Clients didn’t go to art school and don’t know about good feedback. Clients will ignore all finished aspects of a design and only focus on the one minor thing that’s incorrect. Revisions 17:58 - Development Clear requirements make development much easier. Sometimes this starts at the same time or in the process of design. Only show dev progress if client is capable of understanding dev process. Showing a developed site too early can cause clients to worry about visual aspects that aren’t yet in line with the design. Showing to early is also a recipe for a feedback list of things you already know. Give regular progress updates, as previously established. Make it happen on a schedule so expectations are set and so you won’t forget. Stick to your timeline! Clients don’t care about technical jargon. Don’t tell clients about Gatsby/React as much as telling them about the benefits, how fast the site is, etc. 23:48 - Feedback and revisions Feedback is done in revisions or rounds. For smaller projects, have your client email (one email) a list of feedback. For larger projects, and more technical clients, use bug tracking software, such as Github issues, Trello, etc. Write down everything, and then have a follow-up call to discuss the feedback. 30:08 - Deployment Get your client to pay for domains and hosting. Make sure their old website has everything off of it, or host the website somewhere else. If you’re moving servers, best to just point the A records at the new server. If changing nameservers for DNS, make sure the client doesn’t have email or any other apps on that server that will be nuked or broken when moving. Many clients use their server to uploaded PDFs and other files that may still need to be accessible. If you are changing URL structure, you’ll need to be aware of any redirects. Backup strategies Restoration strategies 40:05 - Handoff Create a video detailing how to do each thing Don’t give more options than they need in the back end. Do in-person training when possible. Only teach them the things that are important for their day to day usage. 44:28 - Bug fixes and support Very common for clients with wrong idea of project guidelines to want to add on at the end of a project. Not about adding new, non-established features. Emergency bugs require an emergency response if they are your fault Set expectations and be careful what you promise. 48:03 - What to do when things go to shit There should be a trail of communication leading up to things going awry. Project is behind. Product is not met with acceptance. Client isn’t paying. When to fire your client. Links Syntax 112: The Freelance Client Lifecycle - Part 1 Syntax 088: Pre-launch Checklist ××× SIIIIICK ××× PIIIICKS ××× Scott: Synology 4 bay NAS DiskStation DS918+ Wes: Backblaze Shameless Plugs Scott’s Level Up Pro Wes’ Advanced React Course 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
30 Tammi 20191h 2min

Hasty Treat - Code Quality Tooling
In this Hasty Treat, Scott and Wes talk about code quality tooling - how to get your code extra nice and clean, and the tools that will help you along the way. Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 3:11 - ESLint / JSHint / Linters in general Eslint took over as a flexible solution for code style and quality Use plugins and presets to set your rules for different types of project Don’t be afraid to tweak rules, they are not the word of god 10:55 - Prettier Strictly formatting Can work with or without ESLint Provides an enforceable standard for teams Configurable Prettier for CSS, PHP, GraphQL, etc. 18:46 - VS Code Red underlines like spellcheck for code Tooltip for lint errors Fix on save vs fix on command Links ESLint JSHint Prettier Wes’ dotfiles 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
28 Tammi 201926min