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(734)

Can You Really Trust AI-Generated Code? - JSJ 699

Can You Really Trust AI-Generated Code? - JSJ 699

AI is writing more of our code than ever before—but should we actually trust it? In this episode of JavaScript Jabber, I sat down with Itamar Friedman from Codo (formerly Quoto) to dig into one of the biggest questions developers are wrestling with right now: What happens when AI is generating code, reviewing code, and shaping how we ship software?We explore where AI fits into modern code review, whether developers should be worried about job security, and how human responsibility still plays a critical role—even in an AI-powered workflow. From guardrails and quality standards to the future of agent-driven development, this conversation goes beyond hype and gets into what’s actually working today (and what still needs a human in the loop).AI isn’t replacing developers—it’s changing how we build, review, and take ownership of software. If you enjoyed this conversation, make sure to rate, follow, share, and review JavaScript Jabber. It really helps the show, and it helps more developers join the conversation. Thanks for listening—and we’ll see you next time!Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Joulu 46min

The Real State of Tech Hiring: AI, Ghosting, and the Developer Drought - JSJ 698

The Real State of Tech Hiring: AI, Ghosting, and the Developer Drought - JSJ 698

In this episode of JavaScript Jabber, Steve Edwards and I kick things off by catching up on life — from winter weather and marathon training to health journeys, CrossFit, and some behind-the-scenes personal stories that shaped how we think about wellness and longevity. After warming up, we shift our focus to the state of the tech job market, something both of us have been watching closely and experiencing firsthand.We dive into the challenges developers are facing today — especially juniors — and compare our hiring and job-hunting experiences, the impact of AI on resumes and screening, the slowdown in bootcamps, and why the industry feels different than it did even a few years ago. We also unpack economics, incentives, and business realities affecting hiring, plus what developers should be doing right now to stand out.Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

10 Joulu 1h 4min

Why Astro Is Winning Developers Over with Sagi Carmel - JSJ 697

Why Astro Is Winning Developers Over with Sagi Carmel - JSJ 697

In this episode, I sit down with developer and speaker Sagi Carmel to dive deep into Astro, why it’s gaining so much traction, and how it compares to frameworks like Next.js, Nuxt, Remix, and SvelteKit. We explore what makes Astro uniquely powerful — from its server-first approach and island architecture to its simplicity, speed, and ability to integrate with any front-end framework you want.Sagi also walks me through real-world use cases, including how he built Israel’s official Census website with Astro, why scoped CSS and server components simplify the development experience, and how tools like HTMX and view transitions make web UX buttery smooth. If you’ve been curious about Astro, this conversation is a terrific deep dive into both its fundamentals and its advanced capabilities.🔗 Links & ResourcesAstro Documentation: https://astro.buildHTMX: https://htmx.orgLooker (Google Cloud): https://cloud.google.com/lookerBigQuery: https://cloud.google.com/bigquerySagi Carmel on YouTube: @SagiCarmelSagi Carmel on LinkedIn: Search “Sagi Carmel”Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

23 Marras 1h 3min

The Truth About AI in Everyday JavaScript Development - JSJ 696

The Truth About AI in Everyday JavaScript Development - JSJ 696

It feels great to finally be back on the mic after a stretch of travel, work, and general chaos, and in this episode we’re diving into a topic that’s been coming up more and more in everyday developer conversations: how to actually use AI in your JavaScript development workflow. This isn’t about adding AI features to your app — it’s about using LLMs and AI-powered tools as part of your day-to-day coding practice.We talk through the tools we each rely on, how they’ve changed the way we write code, where they fall short, and where they can save hours of work. We also dig into the real differences between “AI-assisted coding” and “vibe coding,” the unexpected pitfalls of having AI write your tests, and the growing concerns juniors are facing in a job market that looks very different than it did just a few years ago. If you’re trying to figure out how to work with AI without losing your sanity (or your code quality), this one’s worth a listen.Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

14 Marras 1h 15min

Guarding the JavaScript Supply Chain: Preventing NPM Attacks with Feross Aboukhadijeh - JSJ 695

Guarding the JavaScript Supply Chain: Preventing NPM Attacks with Feross Aboukhadijeh - JSJ 695

Hey everyone—it’s Steve Edwards here, and in this episode of JavaScript Jabber, I’m joined by returning guest Feross Aboukhadijeh, founder of Socket.dev, for a deep dive into the dark and fascinating world of open source supply chain security. From phishing campaigns targeting top NPM maintainers to the now-infamous Chalk library compromise, we unpack the latest wave of JavaScript package attacks and what developers can learn from them.Feross explains how some hackers are even using AI tools like Claude and Gemini as part of their payloads—and how defenders like Socket are fighting back with AI-powered analysis of their own. We also dive into GitHub Actions vulnerabilities, the role of two-factor authentication, and the growing need for “phishing-resistant 2FA.” Whether you’re an open source maintainer or just someone who runs npm install a little too often, this episode will open your eyes to how much happens behind the scenes to keep your code safe.🔗 Links & ResourcesSocket.dev – Protect your open source dependenciesFeross Aboukhadijeh on X (Twitter)GitHub Actions Security Best PracticesTruffleHog Blog – On secrets exposure in Git reposBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

1 Marras 1h

Making Monorepos Breakproof with Anton Stoychev - JSJ 694

Making Monorepos Breakproof with Anton Stoychev - JSJ 694

In this solo-hosted episode, I (Steve Edwards) dive deep into the world of modern monorepos with special guest Anton Stoychev from Yotpo. Anton shares his journey from the early days of PHP and IE6 nightmares to his current work in front-end infrastructure, performance optimization, and developer tooling.We talk about the challenges of managing dependencies, upgrading tools without breaking your codebase, and the evolution of developer experience across teams and companies. Anton also introduces Breakproof, Yotpo’s open-source monorepo template designed to make dependency management and tool upgrades painless—even when working with multiple Node.js versions, runtimes like Bun and Deno, and complex CI environments.If you’ve ever struggled with upgrading Jest, ESLint, or TypeScript in a large monorepo, or you’re curious how to isolate dependencies to keep your codebase maintainable over time, this episode is a must-listen.🔗 Links & Resources🔧 Breakproof on GitHub: breakproof.dev🧠 Yotpo LTD on GitHub: Yotpo Breakproof Base Monorepo💬 Follow Anton Stoychev: stoychev.dev on BlueSkyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

24 Loka 1h 13min

Spec-Driven Development and the Future of AI IDEs with AWS’s Kiro - JSJ 693

Spec-Driven Development and the Future of AI IDEs with AWS’s Kiro - JSJ 693

In this episode of JavaScript Jabber, I sit down with AWS’s Clare Liguori and Erik Hanchett to talk about Kiro, a brand-new AI-powered IDE that’s reimagining the way developers build software. We dive into how Kiro takes “AI-assisted coding” to a new level through spec-driven development — a process that focuses on defining requirements and collaborating with AI to break projects into clear, manageable tasks.We unpack what sets Kiro apart from tools like Cursor and Copilot, explore its supervised vs. autopilot coding modes, and even talk about how it handles UI design, planning, and complex legacy codebases. Clare and Erik share behind-the-scenes insights on how Kiro was built using Kiro itself, what’s coming next for the platform, and how developers can join the early-access community to help shape its future.🔗 Links & Resources:🌐 Kiro Official Site🧠 AWS Developer Advocate TeamBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

9 Loka 43min

Modern JavaScript Testing: Integration, Contract Testing & AI Tools - JSJ 692

Modern JavaScript Testing: Integration, Contract Testing & AI Tools - JSJ 692

In this episode of JavaScript Jabber, I sit down with Dan Shapir and our special guest, Yoni Goldberg, to dive deep into the ever-evolving world of JavaScript testing. Yoni, a consultant who’s worked with over 40 organizations to refine developer workflows, shares valuable lessons learned from helping teams design efficient and reliable tests.We explore emerging trends in testing, including the rise of browser-based test runners, the shift from unit testing toward more integration and component testing, and how modern frameworks like Playwright, Vite Test Browser Mode, and Storybook are changing the way developers think about confidence in their code. We also tackle the role of AI in writing and maintaining tests, the pros and cons of mocking vs. real backends, and why contract testing is becoming essential in 2025.If you’ve ever struggled with flaky end-to-end tests, wondered how to balance speed with confidence, or wanted a clear breakdown of modern testing tools, this conversation will give you practical insights and fresh perspectives to take back to your projects.Links & ResourcesYoni Goldberg’s GitHubGoldbergYoni.comBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

29 Syys 1h 6min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
rss-rahapodi
ostan-asuntoja-podcast
mimmit-sijoittaa
pomojen-suusta
rss-bisnesta-bebeja
rss-sisalto-kuntoon
rss-seuraava-potilas
taloudellinen-mielenrauha
rss-porssipuhetta
rss-lahtijat
rss-startup-ministerio
rss-paasipodi
pari-sanaa-lastensuojelusta
bakkari-tarinoita-tapahtumien-takahuoneista
rss-markkinointiradio
rss-karon-grilli
rss-podcast-podcasteista
rss-yritys-ja-erehdys