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)

Unlocking Vue and Nuxt Potential: New Tools, Best Practices, and more - JSJ 652

Unlocking Vue and Nuxt Potential: New Tools, Best Practices, and more - JSJ 652

In this episode, AJ and Steve dive deep into the world of Vue.js and API integration with a special guest, Daniel Kelly, a seasoned lead instructor at Vue School. this episode is packed with valuable discussions on using the useFetch Vue component for seamless API requests, navigating the challenges of migrating from Vue 2 to Vue 3, and embracing TypeScript for a more robust development experience.They also explore the impactful updates coming with Nuxt 4 and Vue 3.5, the benefits of Vue.js certifications for career growth, and how tools like Nitro and auto-import features in Nuxt 3 can enhance your development workflow. Plus, enjoy a range of recommendations from books and music to tech innovations and humorous dad jokes.So, whether you're a seasoned Vue developer or just starting, this episode offers something for everyone. Tune in, and  elevate your JavaScript journey!SocialsLinkedin: Daniel KellyPicksDaniel - Fairy TaleDaniel - Believe by Yellowcard Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

8 Loka 202458min

Interactive Coding Tutorials with Tomek Salkowski: Enhancing Developer Experiences - JSJ 651

Interactive Coding Tutorials with Tomek Salkowski: Enhancing Developer Experiences - JSJ 651

AJ and Steve dive deep into the world of interactive coding tutorials alongside guest, Tomek Sułkowski. They kick off with a brief chat about the weather before delving into Tomek's expertise in creating engaging and interactive tutorials—shedding light on everything from the history of coding tutorials to the technical wonders of web containers, brought to prominence by platforms like Stackblitz.They explore the innovative "tutorials kit dot dev," a revelatory tool for developers, and discuss the triumphs and challenges in building these interactive learning experiences. Plus, discover amazing tech insights from AJ, development updates from Tomek, and a whole lot more. SocialsLinkedIn: Tomek Sułkowski PicksAJ - Rocky Mountain ATVAJ - pg-essentialsAJ - SSH now has IncludeAJ - DeepSeek-Coder-v2Tomek - Component partyTomek - IconesBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

1 Loka 202457min

Optimizing SQL and ORM Practices for High-Performance Applications - JSJ 650

Optimizing SQL and ORM Practices for High-Performance Applications - JSJ 650

In today's episode, Charles, Steve, and AJ, are joined by back-end engineer and team lead at Homebound, Stephen Haberman. We delve into the fascinating world of SQL c and its revolutionary approach to managing SQL queries with dedicated SQL files, delivering benefits such as reduced typing errors and pre-deployment checks. Stephen also walks us through the advantages and limitations of ORMs versus query builders like Prisma and Drizzle, sharing insights into Joyce ORM's unique philosophy and simplified CRUD operations.They explore the intricacies of Domain Driven Design (DDD), its emphasis on ubiquitous language, and how it shapes business logic and storage management. AJ contributes by discussing the potential of SQL c and Slonik for dynamic query building. Additionally, they discuss Steven's innovative work with GraphFileWorker and GrafAST, highlighting the performance improvements in GraphQL backends. Whether you're intrigued by the technicalities of ORMs, the evolution of database tools, or just love a good anecdote, this episode packed with technical insights and lively discussions is one you won't want to miss. Join them on this journey into the world of database management and development!SocialsLinkedIn: Stephen HabermanPicks AJ - TypeScript to JSDocAJ - MySQL to TypeScriptAJ - sqlcAJ - Slonik (Node + Postgres)AJ - SwiftUI EssentialsAJ - Introduction to SwiftUI AJ - Trump, but not saying dumb thingsCharles - Biblios | Board GameCharles - FreeStyle Libre 3 System | Continuous Glucose MonitoringStephen - Grafast | GrafastBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Syys 20241h 31min

Mentorship in Tech: Balancing Professionalism and Friendship for Maximum Growth and Accountability - JSJ 649

Mentorship in Tech: Balancing Professionalism and Friendship for Maximum Growth and Accountability - JSJ 649

They dive deep into the world of mentorship, personal growth, and problem-solving with our special guests, Joao and Manny, alongside our insightful panelists, AJ and Charles.In this episode, they explore the transformative power of weekly accountability meetings (WAM), where tasks are committed and followed up with a yes or no, no excuses allowed. Joao and Manny share their journey of mentorship that crossed borders, forging a strong bond through adversity and mutual respect. We'll also delve into how their dynamic friendship amplifies professional standards, and the importance of balancing personal and professional relationships.We discuss the profound impacts of structured problem-solving methods, specifically George Polya's renowned four-step process. Joao and Manny highlight how this systematic approach has refined their coding skills and overall problem-solving abilities. Alongside, we touch upon the fascinating intersection of human learning and AI, emphasizing the unique capacity humans have for generalizing new problems from limited data.In addition, our speakers will share their roadmap for continuous learning, curriculum development, and practical exercises—highlighting tools like Trello for task management and Anki for reinforcing learning. AJ O'Neil offers his unique perspective on the talent it takes to thrive in programming and how personal enjoyment is crucial for sustained success.Later, we'll transition to our Picks section, where AJ, Charles, and the guests share their latest recommendations, from essential productivity tools and engaging books to top-notch apps and board games.Finally, we'll wrap up with some valuable insights on time management, consistent study habits, and the importance of finding a mentor who truly cares about your growth. Whether you're a seasoned developer or just starting out, this episode is packed with practical advice and inspiring stories that you won't want to miss. So, tune in for all this and more on Top End Devs!PicksAJ - Apple EarpodsAJ - SwiftUICharles - Biblios | Board GameCharles - FreeStyle Libre 3 SystemManny - Jaco: The Extraordinary and Tragic Life of Jaco PastoriusManny - Baldur's Gate 3 on SteamBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

17 Syys 20241h 19min

Unpacking Deno 2: Code Stability, Free Speech, and more - JSJ 648

Unpacking Deno 2: Code Stability, Free Speech, and more - JSJ 648

Today, Charles, Dan, AJ, and Steve dive into a range of fascinating discussions. Joining this episode is special guest, Ryan Dahl, the visionary creator behind Node.js and Deno.In this episode, they traverse an eclectic mix of topics, from humorous offbeat news and dad jokes to in-depth tech discussions. They explore the complexities and legalities surrounding free speech, offering diverse perspectives on its implications in the modern digital landscape.But the heart of our discussion is Ryan Dahl's exploration of Deno 2, the latest evolution in JavaScript's runtime environment. You'll hear about its distinctive features, including the revolutionary JSR project, and how it aims to simplify and secure modern JavaScript development, addressing challenges and limitations found in Node.js. They also discuss the intricacies of TypeScript support, Deno’s security model, and the future potential of JavaScript in data science.Join them for a lively conversation packed with insights, technical deep-dives, and plenty of humor. Whether you're a seasoned developer or just starting your coding journey, this episode is sure to offer valuable takeaways and an entertaining ride through the world of modern web development.Sponsors Wix StudioSocialsLinkedIn: Ryan DahlTwitter: @deno_landDenoPicksAJ - SwiftAJ - DenoCharles - Challengers! | Board GameRyan - GrainBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

10 Syys 20241h 34min

Opinionated Core Web Vitals - JSJ 647

Opinionated Core Web Vitals - JSJ 647

Dan Shappir takes the lead this week to discuss Core Web Vitals and how Google is pushing the web to be faster.He leads Chuck, Aimee, and AJ through the ways that developers can measure and improve the performance of websites based on the statistics specified by Google as components of Google rankings.Sponsors Wix StudioLinksWeb VitalsPicksAimee- GitHub | treosh/lighthouse-ci-actionAimee- GitHub | GoogleChrome/lighthouse-ciAJ- Classless CSSAJ- One FinanceAJ- JCS - Criminal Psychology - YouTubeAJ- Auth Library Live StreamCharles- Atlas Shrugged Charles- Dev Influencers | Devchat.tvDan- Core Web Vitals Technology ReportDan- Math Has a Fatal Flaw - YouTubeBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

3 Syys 20241h 10min

Beyond JavaScript: Master TypeScript at Scale at SquiggleConf  - JSJ 646

Beyond JavaScript: Master TypeScript at Scale at SquiggleConf - JSJ 646

Dan together with Josh Goldberg, a prominent open-source maintainer and author of "Learning TypeScript, dive into the world of TypeScript and JavaScript with a special focus on the upcoming Squiggleconf. In this episode, they'll detail the conference format, including its dedicated days for talks and workshops, and highlight the impressive lineup of speakers who will cover topics like ASTs, TypeScript at scale, and essential documentation practices.Josh also shares insights into the evolution and practical application of TypeScript ESLint. Expect a deep dive into TypeScript's latest features, such as generics and specific lint rules that enhance code quality and developer experience.SocialsLinkedIn: ‌Josh ‌GoldbergPicksDan - Dan's favorite standalone fantasy booksDan - Despicable Me and MinionsJosh - NeuromancerJosh - WitcherBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Elo 20241h 10min

Deep Dive into Metrics and Monitoring with Prometheus and Grafana - JSJ 645

Deep Dive into Metrics and Monitoring with Prometheus and Grafana - JSJ 645

Dive into a fascinating discussion blending the worlds of literature, gaming, and tech. In this episode, Chuck and Dan explore the intriguing connections between The Hobbit and The Lord of the Rings, including an extraordinary tale about Israeli pilots translating The Hobbit during wartime. They share insights into Guy Gavriel Kaye’s standalone novel Tigana, inspired by Renaissance Italy, and discuss the complexities and strategies of board games like Monopoly and Letters from Whitechapel.But that’s not all. The episode takes a technical turn as the speakers delve into the dynamic world of application monitoring with Prometheus. They unpack the mechanics of event loop lag, heap usage, and GC storms, and share how Prometheus's query language (PromQL) and integration with Grafana can proactively manage and solve performance issues. Hear about real-time alerting, sophisticated querying, and the practical applications of these tools in companies like Next Insurance and Sisense.This episode is packed with information - from managing performance metrics and alerting systems to insightful discussions on favorite standalone fantasy novels and the productivity hacks that keep our hosts on top of their game. So, sit back and join us for an engaging and informative session on Top End Devs!SocialsLinkedIn: Chuck WoodLinkedIn: Dan ShappirPicksCharles - Letters from Whitechapel | Board GameCharles - TrainingPeaks | Empower Your TrainingBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

20 Elo 20241h 25min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
ostan-asuntoja-podcast
herrasmieshakkerit
rss-lentopaivakirjat
leadcast
rss-paasipodi
taloudellinen-mielenrauha
pomojen-suusta
hyva-paha-johtaminen
rss-rahamania
rss-laakispodi
rss-merja-mahkan-rahat
rss-sisalto-kuntoon
rss-startup-ministerio
rss-huomisen-talous
rss-lounastauko
rss-vaikuttavan-opettajan-vierella