JSJ 351: Dinero.js with Sarah Dayan
JavaScript Jabber12 Helmi 2019

JSJ 351: Dinero.js with Sarah Dayan

Sponsors
- https://www.netlify.com/
- http://sentry.io use the code "devchat" for $100 credit
- https://clubhouse.io/jsjabber
Panel:
- Joe Eames
- Aimee Knight
- Chris Ferdinandi
- AJ O’Neal
- Charles Max Wood
Special Guest - Sarah Dayan In this episode of JavaScript Jabber, the panelists talk to Sarah Dayan, who is a Frontend Software Engineer working for Algolia in Paris. They about the complications in handling money in software development and ask Sarah about the journey that led to the creation of Dinero.js, it’s implementation details, importance of maintaining good documentation, dealing with issues faced along the way, various features of Dinero and working with open source projects in general. Check it out!Show Topics:0.40 - Advertisement : https://www.netlify.com/ 1:44 - Sarah introduces herself and Chris talks about his interest in learning more about Dinero and compliments Sarah on its great documentation.3.10 - Sarah gives some background saying that she created and published Dinero around a year ago. She goes on to explain that the Dinero library helps in handling monetary values. It comes with several methods to parse, manipulate and format these values. The reason behind creating it is that there is no consensus on representing money in software development currently. She shares the story from her previous job where her work was to maintain legacy accounting software, and along the way they realized, that since JavaScript did not have a way to natively represent decimal values, it led to adding large numbers of rounded up numbers continuously, eventually leading to wrong computations.6:50 - Aimee asks about ways to handle different currencies in Dinero. Sarah answers that she has followed Martin Fowler’s money pattern where two different currencies were not allowed to be worked on directly, conversion was mandatory, just like in real life.7:50 - Charles talks about his old freelance work where he was overwhelmed while handling and representing money in software.8:25 - Aimee enquires if Dinero can be used for both frontend and backend. Sarah replies that it can be used anywhere and explains that there is no such thing as just a number when it comes to money, there must be a currency associated with it.9:30 - Charles asks how to figure out the direction to go to when dealing with money and to make sure that all use-cases are covered. Sarah answers that in cases such as floating-point math where the computations don’t end up being accurate as handling is not supported, numbers can be used if treated as subunits (for e.g. 100cents = 1$). However, even then, there are issues in dividing money. She then explains the procedure of “allocation” from the Fowler pattern and she says that Dinero helps in doing the same in such scenarios.12:54 - They discuss how they did not realize how difficult it was dealing with monetary values in development. Sarah talks about the fact that there are numerous aspects involved in it, giving the example of rounding off and stating that there are even factors such as different laws in different countries that need to be considered.16:00 - AJ asks details about crafting the library, maintaining the centralized code and covering of edge cases and using inheritance. Sarah explains the concept of domain driven development and the importance of being an expert in the respective domains. She talks about the library structure briefly, describing that is kept very simple with a module pattern and it has allowed her to manage visibility, make it immutable, include currency converters, formatters and so on.19:34 - AJ asks about the internal complexity of the implementation. Sarah answers that code wise it is extremely simple and easy, anyone with a limited JavaScript experience can understand it.20:50 - AJ asks if it’s open source to which Sarah answers in affirmative and says that she would like external help with implementing some features too.22:10 - Chris asks about Sarah’s excellent documentation approach, how has she managed to do it in a very detailed manner and how important it is in an open source project. Sarah says that she believes that documentation is extremely important, and not having good docs is a big hindrance to developers and to anyone who is trying to learn in general. She talks about her love for writing which explains the presence of annotations and examples in the source code.27:50 - Charles discusses how autogenerated documentation gives an explanation about the methods and functions in the code but there is no guidance as such, so it is important to have guides. Sarah agrees by saying that searching for exact solutions is much simpler with it, leading to saving time as well.29:43 - Chris speaks about Vue also being quite good at having guides and links and thanks Sarah for her work on Dinero.30:15 - Advertisement - https://sentry.io/welcome/ - Use code “devchat” to get two months free on Sentry’s small plan.31:23 - Chris asks what the process is, for creating and running Dinero in different places. Sarah explains that she uses rollup.js which is a bundler suited for libraries, it takes in the ES module library and gives the output in any format. She states that the reason for using the ES module library is that she wanted to provide several builds for several environments with a clean and simple source and goes on to explain that these modules are native, have a terse syntax, easy to read and can be statically analyzed. She also gives the disadvantages in choosing webpack over rollup.36:05 - Charles asks if anyone else is using Dinero. Sarah replies that around two or three people are using it, not much, but she is happy that it is out there to help people and she enjoyed working on it.37:50 - Joe asks if there are any interesting stories about issues such as involving weird currency. Sarah answers in affirmative and gives the example of the method “hasCents”. She explains that she had to deprecate it because the unit “cents” does not have any value in non-Western currencies, and has created “hasSubUnits” method instead. She explains some problems like dealing with currencies that don’t support the ISO 4217 standard.42:30 - Joe asks if social and political upheavals that affect the currencies have any effect on the library too. Sarah gives the example of Chinese and Japanese currencies where there are no sub-units and states that it is important to be flexible in developing stuff in an ever-changing domain like money. She also says that she does not include any third-party dependency in the library.46:00 - AJ says that BigInts have arrived in JavaScript but there is no way to convert between typed arrays, hexadecimal or other storage formats. But later (1:10:55), he corrects that statement saying that BigInts in fact, does have support for hexadecimals. Sarah talks about wanting to keep the code simple and keep developer experience great.49:08 - Charles asks about the features in Dinero. Sarah elaborates on wanting to work more on detecting currencies, improve the way it is built, provide better support for type libraries and get much better at documentation.52:32 - Charles says that it is good that Sarah is thinking about adopting Dinero to fit people’s needs and requirements and asks about different forms of outreach. Sarah says that she blogs a lot, is active on Twitter and attends conferences as well. Her goal is not popularity per se but to help people and keep on improving the product.55:47 - Chris talks about the flip side that as the product grows and becomes popular, the number of support requests increases too. Sarah agrees that open source projects tend to eat up a lot of time and that doing such projects comes with a lot of responsibility but can also help in getting jobs.59:47 - Sarah says that she is available online on her blog - https://frontstuff.io/, on Twitter as Sarah Dayan and on GitHub as sarahdayan.1:00:06 - Advertisement - https://clubhouse.io/ 1:01:01 - Picks!1:11:42 - END - Advertisement - https://www.cachefly.com/ Picks:Sarah
- https://community.algolia.com/docsearch/
AJ O’Neal
- https://en.wikipedia.org/wiki/The_Legendary_Profile
- https://www.amazon.com/Computer-Prevention-Ultra-Thin-Thinkpad-Protection/dp/B06XZMXPR7
- https://www.amazon.com/How-Music-Works-David-Byrne/dp/1936365537
Chris
- https://twitter.com/innovati/status/1068998114491678720
- https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A
- https://www.youtube.com/watch?v=OyJTF9z4-6Y
Joe
- https://www.imdb.com/title/tt5511582/
-

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Jaksot(735)

Transforming React Development: The Experimental Compiler’s Approach to Memoization and Performance - JSJ 636

Transforming React Development: The Experimental Compiler’s Approach to Memoization and Performance - JSJ 636

In this episode, they dive deep into the latest advancements in React with a special focus on the experimental React Compiler. Our guest speakers, Sathya Gunasekaran and Joe Savona, share their insights on how this cutting-edge tool aims to enhance performance and streamline development without disrupting existing code. They explore the goals of the React Compiler, including auto memoization, linting, and runtime optimizations, and how it plans to minimize unnecessary DOM updates. This is an in-depth discussion on subjects like referential equality, the complexities of memoization, API improvements for useEffect, and the compelling debate about whether React should introduce signals as a TC39 standard. Additionally, they discuss the potential transition for existing projects, the importance of community feedback, and the intriguing differences between React’s approach to UI as a function of state versus the signal-based model.Stay tuned to learn about the future of React, the practical benefits of the new compiler, and the ongoing experiments that could shape how we write and optimize JavaScript with React.SocialsLinkedn: Sathya GunasekaranPicksAJ - webinstall.devDan - Godzilla Minus One (2023)Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

18 Kesä 20241h 29min

Practical Strategies for Web Optimization: Using Chrome DevTools - JSJ 635

Practical Strategies for Web Optimization: Using Chrome DevTools - JSJ 635

Jack Franklin is a Senior Software Engineer at Google. They dive deep into the world of performance optimization. They explore the sophisticated capabilities of Chrome DevTools, focusing on the performance and insights panels. Jack shares invaluable tips on utilizing tools like Lighthouse and the flame chart to prioritize and analyze web performance, along with practical advice for maintaining a clean environment for accurate profiling.Join them as tehy decode the intricacies of debugging, from handling long tasks and layout thrashing to understanding the context of flame charts and network requests. Plus, they discuss the collaboration efforts between Chrome and Microsoft Edge, valuable educational resources, and even touch on topics like involvement in local politics and upcoming movie releases. Whether you're a seasoned developer or a tech enthusiast, this episode is packed with knowledge, humor, and practical advice to help you master web performance optimization. Tune in now!SocialsLinkedIn: Jack FranklinPicksCharles - Legendary: A Marvel Deck Building Game – SHIELD (2019)Dan - Dan Shappir: How to Maximize Web PerformanceJack - Sky Team | Board GameBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Kesä 20241h 24min

New Frontiers in Web Platform Development with Bruce Lawson - JSJ

New Frontiers in Web Platform Development with Bruce Lawson - JSJ

In this episode, they dive into the world of web development, featuring insightful discussions on the differences and costs associated with hiring React Native developers, the importance of understanding web standards and browser differences, and the ongoing efforts of the Open Web Advocacy organization. They share their experiences, concerns, and insights on Apple's impact on the open web, the EU's investigation into Apple's actions, and the implications of progressive web apps in light of Apple's policies. Join them as they unravel the complexities and controversies shaping the web development landscape, and explore the future of web app accessibility and competition across devices.SocialsLinkedIn: Bruce LawsonBruce LawsonPicksCharles - Harry Potter: Death Eaters Rising Charles - Vite | Next Generation Frontend ToolingDan - Barry Pollard | Google IODan - React Compiler: In-Depth Beyond React Conf 2024Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Kesä 20241h 19min

Building a Custom Front-end Framework - JSJ 633

Building a Custom Front-end Framework - JSJ 633

Zach Lankton is the Product Engineer at Signature Payments. They dive deep into the world of software development and tech innovations. In this episode, they explore a wide range of topics, the main focus is on ReZact, a cutting-edge front-end framework discussed by Zach, which shares similarities with React and Svelte. The conversation covers the framework's unique features, the challenges of customizing form inputs in the browser, and the value of leveraging native browser capabilities. Additionally, they delve into the concept of signals as a means of state management, the technical implementation of signals, and their benefits compared to other state management tools. And that's just scratching the surface! So, get ready to enrich your knowledge and dive into the latest trends in software development with this insightful discussion.SocialsLinkedIn: Zach L. PicksAJ - The Andromeda StrainZach - A Man in Full | Netflix Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Touko 20241h 21min

Sentry's Impact on Web Vitals Understanding - JSJ 632

Sentry's Impact on Web Vitals Understanding - JSJ 632

Lazar Nikolov is a Full-stack engineer. They engage in a deep exploration of diverse subjects, from historical veracity and book recommendations to crucial insights on web performance monitoring tools. Join the esteemed panelists as they navigate the complexities of understanding historical events, reflect on significant global issues such as Holocaust Memorial Day and ongoing conflicts, and delve into the intricacies of improving website performance with cutting-edge tools like Sentry. Stay tuned for an insightful and thought-provoking discussion that combines expert analysis with real-world applications in the realm of development and technology.Sponsors"Testim, who makes an end to end testing tool"Chuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Lazar NikolovGitHub: nikolovlazarBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

21 Touko 20241h 25min

Embracing Angular's Evolution with Santosh Yadav - JSJ 631

Embracing Angular's Evolution with Santosh Yadav - JSJ 631

Santosh Yadav is a Google Developer Expert for Angular. They dive into the world of JavaScript and development. The discussion centers around the topic of why Angular is considered the best framework, with insights from Santosh, Steve Edwards, and Charles Max Wood. They explore the history and evolution of Angular, its resurgence, and the recent improvements post-Angular 14. They also delve into Angular's migration process, state management options, and the future direction of the framework. Join them as they explore the technical aspects and practical implications of Angular in the development landscape. So, tune in and explore the world of Angular through the eyes of experienced developers.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Santosh YadavSantosh Yadav PicksCharles - The Crew: The Quest for Planet NineBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

7 Touko 20241h

Web3 with Nik Kalyani - JSJ 630

Web3 with Nik Kalyani - JSJ 630

Feel like you don’t know enough about Web3? Don’t worry, neither do we. That’s where these podcasts come in! In this new episode, the Jabberers sit down with Nik Kalyani, the founder of Decentology and overall Web3 expert. The gang discusses the “big D” of Web3 (and why you need to understand it), how Web3 changes the game for blockchain and the like, and how Web3 is going to make gaming bigger AND more lucrative.“For developers, Web3 equals a green field of opportunity!”- Nik KalyaniIn This Episode The “big D” that you NEED to know to understand Web3 (and why it’s about more than just the tech) The BIGGEST concern about Web2 that Web3 is trying to solve (and how it changes privacy for everyone) How to navigate NFTs, blockchain, and more buzzwords in Web3 The future of Java with Web3 (and why it’s easier than Web2!) How Web3 is changing the game for gamingSponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipPicksAJ- Genetically Modified Skeptic (Rational Atheist)AJ- AJ's Litmus Test (Contact me you're looking for work)Follow CoolAJ86 Live Streams: YouTube: https://youtube.com/coolaj86Twitch: https://twitch.tv/coolaj86Follow Beyond Code: YouTube: https://www.youtube.com/channel/UC2KJHARTj6KRpKzLU1sVxBATwitter: https://twitter.com/@_beyondcodeCharles- Wavelength | Board Game | BoardGameGeekCharles- Charles is Hiring! Charles- Best Tasting Protein Bars | BuiltBar.comNik- CATAN - CATANNik- Halt and Catch FireSteve- Twitter: Dad Jokes ( @Dadsaysjokes )Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

30 Huhti 20241h 24min

From Learning New Languages to Learning New Technologies - JSJ 629

From Learning New Languages to Learning New Technologies - JSJ 629

Tony Alicea is a Udemy and Pluralsight Instructor. They delve into the crucial topic of understanding and mastering technology, featuring insightful discussions and experiences from our speakers. From the shift in focus from technical problems to effective communication and marketing to the significance of deeply understanding a system rather than just focusing on coding, they provide valuable perspectives on building strong foundations, navigating challenges, and staying current in the ever-evolving tech landscape. They also touch on the importance of curiosity, learning by doing, and the potential impact of AI-generated code. Join them as they explore the nuances of learning and understanding technology in this engaging and thought-provoking episode.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinks https://understandingreact.com (coupon code JSJABBER)https://thesmythgroup.comSocialsTony AliceaTwitter: @AnthonyPAliceaPicksCharles - DoomlingsCharles - FinchCharles - Training PeaksCharles - 75 HardDan - RipleyTony - Forbidden IslandTony - Tales from the LoopBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Huhti 20241h 33min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
hyva-paha-johtaminen
taloudellinen-mielenrauha
sijoituskaverit
rss-rahamania
rss-lahtijat
rss-sisalto-kuntoon
rss-lentopaivakirjat
leadcast
rss-huomisen-talous
rss-merja-mahkan-rahat
rss-paasipodi
kasvun-kipuja
rss-startup-ministerio
rss-bisnesta-bebeja