RRU 079: State Machines and State Charts with Farzad Yousef Zadeh
React Round Up17 Syys 2019

RRU 079: State Machines and State Charts with Farzad Yousef Zadeh

Episode Summary Today’s guest is Farzad Yousef Zadeh, a developer from Iran with a unique path into computer programming. He started by studying astrophysics and aerospace engineering in college, then dropped out in his last semester because it wasn’t the right path. He then taught himself to code, working mostly in web programming and frontend development. Despite his change in course, Farzad remains passionate about observing the night sky. Farzad is here today to talk about the ideas in his talk Explicitness and Consistency in UI, where he talks about the difficulties of developing a user interface and how the experience can be improved by using state machines and state charts. He talks about his inspiration for the talk and how he has implemented state machines and state charts into his work. The panel backtracks and talks about the definition of state machines and state charts. A state machine, from an academic background, is a model for computing something. It's for managing and controlling, taking over branching and managing a finite amount of state declaratively. State machines are not so much about sharing or reusing, but about how your communicate a certain behavior. Despite the fact that event driven programming permeates the programming consciousness, thinking about state charts and state machines is actually more natural than it first appears. The panel explains how it’s the same principle as whiteboarding to solve a problem. Lucas asks how state charts are different from pure React. Farzad talks about how it’s important not to just treat your static states as first class, but also the transitions between them. Otherwise, you would end up with something that looks like a map with cities and towns, but no roads. Using statecharts and state machines makes testing an application much easier, and in some ways you let the machine test itself. The machine will know what to do with your states because you define the path, and the machine will take the path for you. They again talk about the difference between state machines and state charts. A state machine defines a finite set of states and defining the events that the machine can take and respond to when transitioning from state A to B. If you use only this, you will encounter a snag called ‘state explosion’ because not non-concrete things cannot be modeled. So, state charts were invented to compensate for this. A state chart brings the idea of an extended state, or the context and data you need to hold and reason from. Farzad talks about other types of machines and supports that exist for branching, entry actions, and exit actions. This is similar to the use effect hook in React. He gives examples of where you would use this logic and how it would be worked into frameworks. Farzad talks about how your machine is just a definition, a declarative model of how something is supposed to behave, and how having that separation between the definition of the logic and behavior vs the implementation of API has given us so much more freedom and portability The panel talks about how using state machines and charts is an investment in the long term maintainability of your code. They agree that using state machines and charts makes it easier to communicate with other developers, new team members, and even non developers. They talk about Cerebral.js and its contributions and model. As with everything in programming, state machines are not a silver bullet and don’t work in every situation. Farzad talks about situations where state machines can be unhelpful. It is still valuable to consider state machines and charts because it forces you to dedicate time thinking and organizing your thoughts so that you can build something maintainable that won’t just be thrown away. The panel discusses how thinking things out before starting to code can be beneficial. They finish by talking about how React Hooks has started them on the path to implement state machines and charts into their code. Panelists
  • David Ceddia
  • Lucas Reis
  • Leslie Cohn-Wein
  • Thomas Aylott
With special guest: Farzad Yousef Zadeh Sponsors Links Follow DevChatTV on Facebook and Twitter Picks David Ceddia: Thomas Aylott: Lucas Reis: Leslie Cohn-Wein: Farzad Yousef Zadeh: Special Guest: Farzad Yousef Zadeh.

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

Jaksot(310)

Mastering Component Reusability with  Gilad Shoham - RRU 251

Mastering Component Reusability with Gilad Shoham - RRU 251

Gilad Shoham is a developer and open-source leader at Bit. They dive deep into the world of software development. They share insights on the shift from building R&D structures around applications to focusing on components. Discover the philosophy and methodology behind the transformation of feature development, and explore the technology's language-agnostic nature with specific language features. Alongside discussions about component lifecycles and versioning, learn about the challenges and potential solutions of using design systems, as well as a new type of CI system aimed at component-level testing and propagation of changes. Join them as they explore the plans for supporting non-JavaScript languages and delve into cutting-edge developments in component reuse, speed of development, and consistency.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Gilad ShohamLinkedIn @GiladShoham https://www.linkedin.com/in/shohamgilad/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

20 Maalis 202455min

Exploring Functional Programming: Tools, Techniques, and Industry Insights - RRU 250

Exploring Functional Programming: Tools, Techniques, and Industry Insights - RRU 250

Lucas, Peter, and Chris delve into a fascinating discussion about functional programming, its application in the industry, and personal experiences working with related tools and technologies. From exploring the knowledge gap in functional programming to sharing anecdotes about learning new languages, they provide valuable insights into the world of functional programming. They also touch on the challenges and benefits of adopting functional programming techniques in development, along with recommendations for resources and tools in this space. Join them as they embark on a deep dive into the world of functional programming.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksFunctional Programming Made EasierCode VideoSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

13 Maalis 202446min

Exploring Jotai: Atomic State Management in React - RRU 249

Exploring Jotai: Atomic State Management in React - RRU 249

Mohammad Bagher Abiyat is a senior full-stack developer & consultant. He is the co-founder of XQuad and Pheno Agency. They engage in a detailed discussion about Jotai, a library designed for atomic state management in React. They also delve into comparisons with established state management libraries like Redux, exploring the intricacies of Jotai's organization and architecture.Whether you're a seasoned developer or a tech enthusiast, this episode promises to deliver valuable insights and thought-provoking discussions on the evolving landscape of state management in React applications.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksJotaiSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Mohammad Bagher AbiyatGitHub Mohammad Bagher Abiyat @Aslemammad https://github.com/AslemammadAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

28 Helmi 202437min

Material UI Matters: Unpacking the Flexibility and Accessibility of the Library - RRU 248

Material UI Matters: Unpacking the Flexibility and Accessibility of the Library - RRU 248

Dmitriy Kovalenko is a software engineer. They explore the practical considerations and implications of using UI systems such as Material UI and Radix for various web applications. They engage in insightful discussions about the delicate balance between time, money, and personal preference when selecting a UI system and the potential future concerns for frameworks, shedding light on the challenges and opportunities in the UI development landscape. Join them as they unravel the complexities of UI customization, accessibility, and the essential need for flexibility in choosing the right UI framework.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksMaterial-uiSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Peter OsahGitHub Dmitriy Kovalenko @dmtrKovalenko https://github.com/dmtrKovalenkoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

21 Helmi 202445min

Gherkin with Chris Frewin from InClub - RRU 247

Gherkin with Chris Frewin from InClub - RRU 247

Today we talk with Chris Frewin, a full-stack software engineer at private experience startup InClub, located in Zurich, Switzerland. Involved with all coding aspects, from the back-end, mobile app, CMS, and everything in-between, we learn about the challenges of being a solo developer at a startup. We learn a lot about Gherkin, the format for cucumber specifications.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsDeveloper Book Club startingLinksHomeGherkin SyntaxJest10 Minute Tutorial - Cucumber DocumentationDetoxcypress.ioThe Clean Code BlogAdvanced Code Organization Patterns: The Case For One Function Per FileOne Year as the Chief Technology Officer at InClubStructure and Interpretation of Test Cases - Kevlin HenneyChris' Full Stack BlogPicksChris- The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful BusinessesChris- The Complete Isaac Asimov's Foundation Series Books 1-7 (Foundation, Foundation and Empire, Second Foundation, Foundation's Edge, Foundation and Earth, Prelude to Foundation, Forward the Foundation)Jack- Millennium Falcon™ 75192 | Star Wars™ | Buy online at the Official LEGO® Shop USPaige- Amazon.com : plastic wrap dispenser with cutterTJ- Amazon.com: Amazon GoAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

7 Helmi 202436min

Assessing UI Libraries for Web Development Flexibility and Accessibility - RRU 246

Assessing UI Libraries for Web Development Flexibility and Accessibility - RRU 246

Chris, Lucas, and Peter dive into the world of UI libraries and the important considerations when selecting one for web development projects. They discuss the pros and cons of using popular libraries, emphasizing the importance of accessibility, internationalization, and long-term implications when making a choice. They also share their preferred libraries and promote their projects, providing valuable insights for developers navigating the diverse landscape of UI libraries. Stay tuned for an engaging discussion on the challenges and best practices of utilizing UI libraries for web development. SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

31 Tammi 202433min

Unveiling 𝗥𝘅𝑓𝑥: Concurrency Control and Error Handling in User-Centered Development- RRU 245

Unveiling 𝗥𝘅𝑓𝑥: Concurrency Control and Error Handling in User-Centered Development- RRU 245

Dean Radcliffe is a senior software engineer at Optum. They explore the groundbreaking new library 𝗥𝘅𝑓𝑥, designed to revolutionize the handling of asynchronous effects in code for enhanced user experience and code stability. They lead a discussion on the significance of cancellation, concurrency, and error recovery for user experience and code stability, drawing analogies to a circuit breaker panel for managing async effects in code. They delve into practical implementations, the framework-agnostic nature, and the potential of 𝗥𝘅𝑓𝑥 in simplifying reactivity features within React.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipLinksRxfxSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Dean RadcliffeGitHub @deanrad https://github.com/deanradTwitter @@DeanDevDad https://twitter.com/DeanDevDadAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

24 Tammi 20241h 11min

React Tooling and Technology Stack Diversity - RRU 244

React Tooling and Technology Stack Diversity - RRU 244

Chris, Lucas, and Peter engage in a deep technical discussion about package managers, testing tools, and technology preferences in React projects. The conversation emphasizes the extensive tech stacks used in React projects and the importance of functional programming and TypeScript. Additionally, they share valuable insights on UI libraries, JavaScript packages, and software and design team extension services, hinting at the potential for a future follow-up episode dedicated to front-end technologies. Whether you're a seasoned developer or a newcomer to the field, this episode offers in-depth insights into the ever-evolving world of front-end development.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsDeveloper Book Club startingSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

17 Tammi 202450min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
rss-rahapodi
mimmit-sijoittaa
ostan-asuntoja-podcast
herrasmieshakkerit
rss-rahamania
rss-neuvottelija-sami-miettinen
rss-bisnesta-bebeja
rss-lentopaivakirjat
inderespodi
taloudellinen-mielenrauha
leadcast
rss-turvacast
rss-what-the-hair
rss-sisalto-kuntoon
rss-seuraava-potilas
rss-johtajien-tyonhakusirkus
rss-rahataito-podcast
sijoituskaverit