Logo
    Search

    Potluck Part 2 - Magic GQLess × Are classes dead? × Custom Hooks × Staying Up To Date × CSS × More!

    enApril 29, 2020

    Podcast Summary

    • Using Cloudinary for Image Optimization in GatsbySign up for Cloudinary, install its library, update image URLs, use image transformations, and consider auto-optimization for effective image optimization in Gatsby.

      Cloudinary is an effective image optimization platform for websites, particularly those with a large number of images like a Gatsby site. However, maximizing its potential can be unclear from the documentation. Here are some steps to effectively use Cloudinary: 1. Sign up for a Cloudinary account and obtain your API key and secret. 2. Install the Cloudinary library for your specific technology stack (e.g., Gatsby, React, etc.). 3. Update your image URLs in your codebase to include the Cloudinary URL format, which includes your API key, the image transformation options, and the original image URL. 4. Use Cloudinary's image transformation options to optimize your images for various use cases, such as different screen sizes, formats, and quality levels. 5. Consider using Cloudinary's auto-optimization features, such as automatic format and resolution, to further simplify the process. Additionally, the hosts, Scott and Wes, shared their experiences with their own audio setup mishaps and the importance of having specific settings for good audio quality. They also mentioned their sponsors, Sentry and FreshBooks, which provide error and exception tracking and invoicing and expense tracking services, respectively.

    • Cloudinary vs Gatsby Image: Image Optimization in Web DevelopmentCloudinary and Gatsby Image offer image optimization for websites, but differ in how they process images: Cloudinary on-demand on the server, Gatsby Image during build process. Choose based on use case, image library size, and desired control and convenience.

      Cloudinary and Gatsby Image serve similar purposes in handling and optimizing images for websites, but they have distinct differences. Cloudinary is a third-party image management service that can resize, compress, format, and apply filters to images on-demand. It's particularly useful when dealing with a large number of images, as it offloads the image processing from the local computer or server. On the other hand, Gatsby Image is a feature in the Gatsby framework that handles image optimization and loading. It allows for efficient image handling, including automatic optimization, lazy loading, and responsive images. The main difference lies in the way they process images: Cloudinary does it on the server, while Gatsby Image does it during the build process. The speaker shared their experience using both, mentioning that they've used Cloudinary on their site due to its ability to handle images on-demand and its useful features like the f_auto parameter. However, they noted that if you're using Gatsby, Gatsby Image is a more convenient option, as it integrates seamlessly with the framework and doesn't require additional build times. The choice between the two ultimately depends on the specific use case, the size of the image library, and the desired level of control and convenience.

    • Google Chrome supports smaller image files with WebP formatGoogle Chrome uses WebP for smaller image files, while other browsers receive the actual image. Use Cloudinary for resizing and stripping metadata from Instagram photos.

      Google's Chrome browser will support smaller file size images in the WebP format, while browsers that don't accept it will receive the actual image. The speaker prefers using auto quality and format settings for images and intends to use Cloudinary to resize and strip metadata from Instagram photos for use on his website. CSS preprocessors like Sass and Less offer additional features to enhance CSS writing, and while Sass is less popular now, it provides more advanced features compared to Less, which is essentially a simplified version of Sass. The choice between preprocessors depends on personal preference and project requirements.

    • Be mindful of build processes and potential for overwriting changes when using preprocessorsWhen using preprocessors like Sass or Post CSS, ensure awareness of build processes and avoid overwriting changes to maintain project progress.

      When using preprocessors like Sass or Post CSS for web development projects, it's essential to be aware of the build process and the potential for overwriting changes. A client once experienced this issue when using a PHP library for compiling Less in a WordPress site, resulting in lost edits. However, the choice between Sass, Post CSS, or even Stylus ultimately depends on personal preference and the specific project requirements. As for sharing projects and getting feedback, Reddit is a recommended platform due to its dedicated web development subreddits and active communities. Social media platforms like Twitter can also be effective, especially when using relevant hashtags and engaging with communities like "100 Days of Code" or "CodeNewbies."

    • Engaging with developer communities for growth and learningConnecting with like-minded developers through communities enhances web development journey. Opinions on classes vs functional programming vary, but both have value.

      Engaging with communities of like-minded developers is an invaluable resource for growth and learning in web development. Whether through weekly Q&A sessions, Discord channels, or platforms like Reddit, finding a community to share ideas, receive feedback, and discuss challenges can significantly enhance your development journey. As for the use of classes versus functional programming in JavaScript, opinions vary widely. While some developers have moved entirely to functional programming and prefer it, others still find value in classes. Ultimately, the decision may depend on personal preference, team dynamics, or the specific project requirements. Classes are not strictly necessary, but they can be useful, especially for developers coming from other programming languages. Tools like React Hooks and functional programming have gained popularity, but classes remain a valid option. In terms of resources for web development, communities provide a wealth of knowledge and support. Platforms like Discord and Reddit offer opportunities to connect with others, learn from their experiences, and stay updated on industry trends. Additionally, tools like Sentry can help developers track bugs and exceptions, ensuring a more efficient and effective development process.

    • Effectively managing application issues with error handling toolsPrepare for unexpected errors, have a centralized platform to monitor and resolve them efficiently, and keep up-to-date with the latest JavaScript iterations like ES2020.

      Error and exception handling tools, like Sentry, are crucial for developers to effectively manage and address issues in their applications, especially when deploying new features. The discussion highlighted the importance of being prepared for unexpected errors, even small ones, and the value of having a centralized platform to monitor and resolve them efficiently. Regarding the ES2020 query, the conversation clarified that ES2020 is the latest iteration of JavaScript, following the annual release schedule, and that it includes the use of 'var', along with other new features. The shift to annual releases aims to prevent lengthy version names and keep the language up-to-date with the latest developments.

    • JavaScript evolves continuously, with new features and the option to use let or const instead of var.JavaScript continually adds new features while offering the choice between using let, const, or var for variable declarations.

      JavaScript is not like separate versions where you lose old features. Instead, it continually adds new ones, with the exception of strict mode, which took away some features. Opinions vary on using var versus let or const. A new GraphQL client called gqls was mentioned, but it hasn't been tried yet due to its lack of support for functions and features needed. Working in a software agency versus a software product company has its pros and cons. In an agency, you work on projects for clients, often bidding for them and completing them by a certain timeline. The pros include variety and the ability to work on different projects. The cons include not having a long-term connection to the product and potential instability due to client demands. In a product company, you work on the same product or software continually, which can lead to a deeper understanding and longer-term commitment. The pros include the ability to see the impact of your work over time and the potential for career growth. The cons include the potential for monotony and the need to adapt to changing requirements.

    • Product vs Agency: Different Advantages and ChallengesWorking in a product company provides ownership and consistency, but financial stability can be a concern. Agencies offer new projects and technologies, but financial instability is a risk. Experiencing both can make a developer more well-rounded. Consider a simpler stack like Gatsby for a static blog to avoid dependencies and security warnings.

      Working in a product company versus an agency comes with its own unique advantages and challenges. In a product company, you have the ownership and consistency of working on the same codebase, which can be exciting or monotonous depending on your preference. However, financial stability can be a concern if the codebase isn't performing well. On the other hand, agencies offer the opportunity to work on new projects and technologies frequently, but financial instability can be a risk due to the unpredictability of project inflow. Furthermore, having experience with both types of work environments can make a developer more well-rounded. Working on a single product for an extended period can limit one's perspective, making it harder to understand different approaches and tools. Regarding building a static blog with minimal moving parts, the speaker shared their past experience of getting bogged down by dependencies and security warnings with a previous stack consisting of Jigsaw, server-side generated Laravel, Vue JS, and Balmo CSS. They suggested considering a simpler stack like Gatsby, which has a built-in CMS and fewer dependencies. However, they cautioned that keeping the blog up-to-date with the latest security patches is still essential.

    • Simplify website development with markdown and JS frameworksFor hobby coders, consider using markdown files and JavaScript server-side generate frameworks like Gridsum or 11ty to simplify website development and reduce dependencies on heavy tools like Netlify CMS and CSS frameworks.

      For hobby coders looking to simplify their website development process, consider dropping heavy dependencies like Netlify CMS and CSS frameworks. Instead, opt for markdown files and a JavaScript server-side generate framework like Gridsum or 11ty. These options can help reduce the need for extra languages and dependencies, making updating content more manageable. Micro frontends, which involve breaking up a frontend into smaller, independent components, can be a solution for integrating different technologies into legacy applications, but may not be necessary for all use cases. For those interested in exploring more static site generators, the staticgen.com website offers a comprehensive list and comparison of various options based on technology, popularity, and other factors.

    • Importance of learning fundamentals and specializingFocus on learning JavaScript fundamentals first, then specialize in a specific area to become an expert. Continuous learning is crucial for contributing to open-source projects and staying updated with new technologies.

      Keeping up with the ever-evolving world of JavaScript and web development can be overwhelming, especially for beginners. However, the key is to focus on learning the fundamentals first and then specializing in a specific area to become an expert. The podcast discussed the difficulty of contributing to open-source projects when using newer technologies, but emphasized the importance of continuous learning and specialization. The speakers also shared their experiences with micro front end setups, which they found to be a challenging and less enjoyable way to handle large website rewrites. Instead, they recommended tackling such projects component by component, as demonstrated by a listener who successfully migrated a legacy website using React and Cloudflare Workers. Overall, the conversation underscored the importance of persistence, expertise, and effective problem-solving in the world of web development.

    • Expanding horizons as a developerHaving a solid foundation in JavaScript and being open-minded to new techniques can help developers expand their skills and knowledge through open source projects, while custom hooks in React can be organized and broken down for clearer code.

      Being proficient in one technology or framework does not limit your growth as a developer. It's natural to feel overwhelmed by the ever-evolving landscape of programming, but having a solid foundation in the basics of JavaScript and being open-minded to new techniques and approaches can help expand your horizons. Open source projects can be a valuable resource for learning new skills and techniques. However, it's essential to approach them with the right mindset. If you're feeling uncomfortable or don't have the time to dive deep, it might be best to move on. But if you're curious, open source code can offer unique insights into how other developers solve problems. Regarding custom hooks in React, there's no one-size-fits-all answer to whether you should keep all hooks in one file or break them up into separate files. The key is to keep things organized and understandable. As your hooks grow in complexity, consider breaking them down into smaller, more manageable pieces. Custom hooks can be thought of as functional components for handling state and side effects. They're similar to React components, but for functionality. Keeping things modular and breaking down complex hooks into smaller ones can help maintain a clear and organized codebase.

    • Organizing custom hooks and related utilitiesMaintain a clear and organized codebase by finding the right balance between reusing hooks and keeping them separate. Communicate effectively with non-technical project managers to set clear expectations and reduce mental drain.

      When it comes to organizing custom hooks and related utilities in a project, there's no one-size-fits-all approach. The decision to use a custom hook within a custom hook or keep them separate depends on the specific use case and personal experience. When writing a custom hook, if it's needed in multiple components, moving it into its own file can be beneficial. Similarly, styles and utilities should also be organized based on their reusability. The key is to find a balance between maintaining a clear and organized codebase and efficiently using resources. Working with non-technical project managers can be challenging, especially when it comes to managing time and budgets. It's important to maintain a positive attitude and communicate effectively. Training the project manager to trust your judgment and expertise in estimating time requirements is crucial. Setting clear expectations and boundaries can help reduce the mental drain caused by excessive communication and meetings. Remember, every project and team dynamic is unique, so it's essential to adapt and find solutions that work best for your specific situation.

    • Clear communication and documentation are essential for successful projectsEffective communication and documentation help ensure that everyone involved in a project understands changes and keeps projects on track.

      Effective communication and having documentation are crucial when working on projects, especially when dealing with developers or project managers. If things don't go as planned, such as missed deadlines or unclear commit messages, it's essential to be upfront and aggressive in addressing the issues. However, it's also important to maintain a professional and respectful tone. For developers, writing clear and descriptive commit messages can help ensure that everyone understands the changes being made. Effective project managers understand timelines and allow developers to do their work, while those who are not as competent may require more communication and documentation to keep projects on track. Ultimately, it's essential to do your best to communicate clearly, document your work, and be prepared to adapt when things don't go as planned.

    • Writing clear commit messages is important for team collaborationFrequent commits with detailed messages make codebase easier to understand. Avoid squashing commits after pushing to master.

      Writing clear and descriptive commit messages is crucial when working on a team or collaborating on a project. Committing frequently and then squashing and rewriting commit messages before merging or sending a pull request is a recommended workflow. This allows for more detailed and meaningful commit messages that explain the changes made, making it easier for future developers to understand the codebase. Avoid squashing commits after pushing to master as it can lead to rebase hell. Additionally, the speaker shared a recommendation for a YouTube channel called Gelsmarble Runs, where marbles are raced like sports teams, providing an entertaining and addicting way to experience "sports" during downtime. For tools, the speaker mentioned a Hyundai-made air compressor and nail gun kit that is a cost-effective option for occasional use.

    • Transforming a low-quality toolWith some troubleshooting and DIY fixes, even a low-quality tool can be transformed into a reliable one. Don't discard it, put in the effort to repair or improve it.

      Even a seemingly low-quality or problematic tool can be transformed into a reliable one with some troubleshooting and DIY fixes. The speaker in this discussion encountered issues with a staple gun he purchased, but after identifying the root cause and applying some Teflon tape to the leaking fittings, the tool performed exceptionally well. The speaker was surprised by the tool's affordability and functionality, considering the cost was lower than that of an air compressor. This experience serves as a reminder that it's worth putting in the effort to repair or improve tools rather than discarding them and purchasing new ones. Additionally, the speaker shared some shameless plugs for his courses on web development, encouraging listeners to continue learning new skills during downtime.

    Recent Episodes from Syntax - Tasty Web Development Treats

    799: Hot New and Under-Utilized Browser APIs

    799: Hot New and Under-Utilized Browser APIs

    Scott and Wes serve up the latest and most under-utilized browser APIs that are changing the game for web development. From the @starting-style CSS API to scroll-snap and popovers, they break down how these tools can elevate your projects with minimal effort.

    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

    798: Self Hosting: Reverse Proxy Servers

    798: Self Hosting: Reverse Proxy Servers

    Scott and Wes serve up an episode on reverse proxy servers. They discuss popular options like CF Tunnels, Caddy, Nginx, Apache, and more, explaining why you might need one for load balancing, SSL certificates, security, and managing multiple servers.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 01:30 Brought to you by Sentry.io.
    • 02:25 What is reverse proxy?
    • 03:16 Some examples of reverse proxies.
    • 05:04 Why do you need a reverse proxy?
    • 15:55 Caddy × websocket support.

    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

    797: Drizzle: The TypeScript SQL ORM

    797: Drizzle: The TypeScript SQL ORM

    Scott and Wes chat with Alex Blokh and Andrew Sherman, the co-founders of Drizzle ORM, about building a modern ORM from the ground up. They dive into the importance of type safety, creating filters with Drizzle, and the differences between Drizzle and other ORMs like Prisma.

    Show Notes

    Sick Picks

    Andrew - Smart Swim Goggles.

    Shameless Plugs

    Andrew - Savelife, United24.
    Scott - Syntax × Drizzle Swag.

    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

    796: Do We Need JS Frameworks × Are You Over-Engineering? × Webview vs Native

    796: Do We Need JS Frameworks × Are You Over-Engineering? × Webview vs Native

    Scott and Wes tackle a variety of audience questions, from the nuances of over-engineering to the energy consumption of AI LLMs. They also discuss the pros and cons of monorepos, frameworks, and the ever-important question: Do you really need to learn all the developer tooling?

    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

    795: Hosting Private Fonts on the Edge With Cloudflare

    795: Hosting Private Fonts on the Edge With Cloudflare

    Scott and Wes dish out the intricacies of hosting private fonts using Cloudflare Pages. They explore the challenges of font security, the benefits of a font server, and the nuances of caching and whitelisting to keep your fonts secure and efficient.

    Show Notes

    Check out the font Syntax uses! MD-IO.

    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

    794: Prettier JavaScript with Vjeux

    794: Prettier JavaScript with Vjeux

    Scott and Wes sit down with Vjeux from Meta to dive deep into the origins and evolution of Prettier, the widely-used code formatter. They discuss the challenges faced, the decision-making process behind its features, and what the future holds for this indispensable tool in the developer’s toolkit.

    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

    793: The Local First Landscape

    793: The Local First Landscape

    Scott and Wes dive into the local first landscape, exploring the benefits and possibilities of local first apps. They highlight some of their favorite tools and discuss why local first is gaining traction among developers.

    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

    792: Perfect Sitemaps for SEO

    792: Perfect Sitemaps for SEO

    Scott and Wes break down the importance of sitemaps for SEO. They dive into the different file formats, essential fields, and common pitfalls to avoid when creating and submitting your sitemap to search engines.

    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

    791: LLRT The Serverless Runtime w/ Richard Davison

    791: LLRT The Serverless Runtime w/ Richard Davison

    Scott and Wes chat with Richard Davison from AWS about LLRT, a new runtime tailored specifically for Lambda. They dive into the benefits of using LLRT, challenges with JavaScript in serverless, and why Rust was chosen for its development.

    Show Notes

    Sick Picks

    Shameless Plugs

    • Richard: Javascript

    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

    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

    Related Episodes

    Hasty Treat - Wes' New Personal Website

    Hasty Treat - Wes' New Personal Website

    In this Hasty Treat, Scott and Wes talk about Wes’ new website - its first update since 2014!

    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

    05:04 - The stack

    • Gatsby
    • Styled components
    • React
    • MDX

    07:04 - The content

    • Blog posts
    • Twitter Hot Tips

    09:54 - Styling

    • Styled components
    • Less

    16:54 - MDX

    17:45 - Serverless functions

    Links

    Tweet us your tasty treats!

    Demystifying React Hooks: Usage, Examples, and Common Mistakes

    Demystifying React Hooks: Usage, Examples, and Common Mistakes

    This story was originally published on HackerNoon at: https://hackernoon.com/demystifying-react-hooks-usage-examples-and-common-mistakes.
    Unleash the full potential of React Hooks! Discover how to leverage this powerful feature to enhance your React applications with examples and common pitfalls.
    Check more stories related to programming at: https://hackernoon.com/c/programming. You can also check exclusive content about #reactjs, #nextjs, #react-hook, #javascript, #reactjs-development, #remix, #gatsby, #gatsbyjs, and more.

    This story was written by: @kishansheth. Learn more about this writer by checking @kishansheth's about page, and for more stories, please visit hackernoon.com.

    React is a JavaScript library used for building user interfaces. Hooks are functions that allow you to use state and other React features in functional components. The useState hook is a built-in React hook that allows you to add state tofunctional components. In this example, we will create an input field that updates the state variable as the user types.

    #40 - Kyle Mathews - How To Know If You Should Start a Startup

    #40 - Kyle Mathews - How To Know If You Should Start a Startup

    Kyle Mathews is the founder and CEO of Gatsby, one of the most popular frameworks around for creating websites with React. After authoring Gatsby as an open source project in 2015, he later started a company of the same name to take it even further. He's fascinated by technology, open source, and making the web better.

    Kyle's Links

    Gatsby
    Kyle and Twitter
    Kyle's Website

    Transcript
    [0:00] [music]

    Ryan Chenkie: [0:07] My guest today is Kyle Mathews. Kyle is the founder and CEO of Gatsby one of the most popular frameworks around for creating websites with React. After offering Gatsby as an open source project in 2015, he later started a company of the same name to take it even further.

    [0:22] He's fascinated by technology, open source, and making the Web better. Kyle, welcome to the show.

    Kyle Mathews: [0:28] Yeah, thanks. Glad to be here. Thanks for inviting me.

    Ryan: [0:31] Absolutely. I have been following your work for quite some time. I've been seeing the great things that have been going on in the Gatsby world. We did some interview stuff a couple years back, which was a lot of fun. I'm excited to chat to you today about startups more in general.

    [0:47] One thing that piqued my curiosity was a tweet that you had recently where it sounded like you had done a talk at your college perhaps, and you mentioned in the tweet that you were giving the advice or wanting to give the advice that may be startups aren't a great idea for everybody. Maybe it's not everyone that should go out and start a startup.

    [1:11] I was hoping to chat with you on that. Give me some of the background around that sentiment. Why is it the case do you think that maybe not everyone should be looking to do a startup?

    Kyle: [1:25] The scenario was that there was a technology club at my college that's part of the major I did. They invited me like, "Hey, Kyle. You created Gatsby. Come talk about it. Gatsby is cool." I guess the person inviting me has been using it recently. That was fun, and a weird trip, like, "Oh, college. I remember that. That was fun." Then like, "Why y'all look younger than I used to," sort of thing.

    [1:52] [laughter]

    Kyle: [1:54] Been just long enough that all these weird like, "I'm getting old" feelings are coming into play. Anyways, they had some question about Gatsby, but a lot of people in the Q&A started asking about startups. They were like, "How did you come up with the idea," on and on?

    [2:13] It was funny because I had this thought a lot, but it just afterwards, I don't know. Talking about startups is weird because there's this really strong glamour field around doing the startup that is not...The lived reality of doing a startup is not actually how it's perceived a lot of the time from the outside.

    [2:44] Anyway, I always have this feeling when people are asking about startups because I downplay it a lot and discourage people more because, startups are absolutely right. Doing a startup, having a startup, absolutely the right decision for some people. For a lot of people, if they get into it, it'd be actually a very difficult, dispiriting, unpleasant experience for them. That was an interesting reaction.

    [3:14] Having all these people like, "Oh," fascinated by the idea of startups, and me, cringing a little bit like, "I don't know. You're probably better off getting a nice job and going home and having fun with your friends and family, and doing side projects and stuff like that."

    [3:34] The actual lived reality of a startup is, it's hard. It's emotionally super intense. Intellectually, it's very challenging. It depends, of course, but there's often very difficult challenges that you have to figure out immediately or the whole thing goes kaput.

    [4:02] There's tons of uncertainty. That's the emotional stuff. It takes a lot of courage to do anything in a startup because there's a lot of pressure to make the right decision. You just don't know enough to figure that out. There's a whole bunch of things that...Unless you sort of weirdly tuned to enjoy that.

    [4:23] [laughter]

    Kyle: [4:25] You're going to have an unpleasant time. There's really no point.

    Ryan: [4:29] That makes a lot of sense. I wonder, in your experience, are those things that you had in mind going into founding Gatsby as a company? You're working on the open source projects, decided to build a company around it. Did you have those things in mind when you entered this venture, or are these things they have become apparent to you over the course of time?

    Kyle: [4:52] I've done startup pretty much my whole career. I started my first startup in college. I moved out to SF and joined an early-stage startup there. Did another startup before Gatsby. I knew I liked startups and enjoyed that space before going into Gatsby, for sure. No new discoveries per se, just all the same.

    Ryan: [5:20] Got it. A lot of people who listen to this podcast, they are the indie hacker types. They're people that want to do stuff. Business wise, they want to create products and release products. They are people that might want to do startups, or maybe they're doing startups or whatever.

    [5:37] For those people who have it in mind, in the future they would like to do a startup around whatever, what would you say is the best way to assess whether or not it would be a good fit for you?

    [5:50] It's possible that you've got these lofty goals of like, "Yeah, I'm going to do a start up. Maybe it'll be a little tough, but it'll be awesome eventually." Then, of course, reality hits when you settle into the thing. Any advice you'd give for people that are trying to make that assessment now?

    Kyle: [6:11] A lot of it's knowing yourself and learning about what makes you tick. To me, life should be lived to the fullest. What is the answer to living your life to the fullest? It depends on who you are. The first question's like, "What should I do with my life? What do I enjoy? What matters to me?"

    [6:36] The answer's very different for every person. There's no one right answer. You shouldn't make decisions based on, that's what I was saying, like the glamour field. People are like, "Ooh, doing a stripe looks glamorous." It's not actually what it is.

    [6:49] You have to understand what makes you tick. You have to understand where to put yourself so that you're going to be enjoying your life.

    [6:57] I would say the type of person that enjoys a startup, and there's a few types, but a lot of it boils down to a desire for adventure, for intense experience, for life being interesting, and prioritizing that over comfort and security.

    [7:28] When I was a kid, I read a lot of kid adventure novels. I loved them. I devoured them and read them over and over again. All these stories about trudging through jungles and exploring outer space and inventing rockets and whatever, I don't know.

    [7:46] Tom Swift, I don't know if there's anyone out there that's read that, I loved those books. The idea of adventure and inventing things and doing things is really fun.

    [8:02] Another good clue for me was I've had one normal job-ish. It was even at an early-stage startup, and I still found it kind of boring. I would go in, fix an issue or two, write a new component. It was like, "Man, this is boring and predictable."

    [8:25] It was a great job. It was a super-good company. The founders are awesome, really cool product. Everything could have, should have been perfect, maybe, but I was still dissatisfied with the whole thing. I wanted more.

    [8:41] If that's what you want and you're comfortable with the risk associated with it, but your soul might be crushed by...

    Meet Benni Mack Part 1, TYPO3 Project Lead, Germany

    Meet Benni Mack Part 1, TYPO3 Project Lead, Germany

    Benni Mack has been working with TYPO3 since 2007, and he’s currently the TYPO3 Core Development Lead. He also co-founded b13, based in Stuttgart, Germany, which builds web-based solutions for customers around the world using open source technologies like TYPO3.


    Read the full post and transcript, and catch up on all our episodes on typo3.org.


    Listen, like, subscribe:

    Connect:

    Thank you:

    License

    Application, the TYPO3 Community Podcast by the TYPO3 Association, Open Strategy Partners, and Jeffrey A. McGuire is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

    Supper Club × What's New With Astro with Fred Schott

    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

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats