POPULARITY
Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse 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 : Netlify 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 - Sentry - 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 - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan. 1:00:06 - Advertisement - Clubhouse 1:01:01 - Picks! 1:11:42 - END - Advertisement - CacheFly! Picks: Sarah DocSearch - Algolia AJ O’Neal The Legendary Profile by Modern Jazz Quartet Webcam Cover by Dcreate How Music Works - David Byrne Chris Tommy Hodgins Code Series Tom Scott - YouTube Future Man Joe Timeless A Christmas Carol narrated by Patrick Stewart Aimee Hacker News thread on working with Legacy Codebases Charles George Marathon Garmin Forerunner 235
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp Panel: Alyssa Nicoll Charles Max Wood Special Guest - Mike Hartington In this episode of Adventures in Angular, the panelists talk with Mike Hartington, who is a Developer Advocate at Ionic. They talk in depth about the recently released version of Ionic, future projects the Ionic team is working on and what’s out there for Angular developers. Show Notes: 0:22 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan. 1:21 - Mike introduces himself briefly and explains what exactly Ionic is. 3:15 - Charles asks about the new features of the recently released Ionic version 4.0. Mike explains that even though they love Angular, they wanted to decouple from any full framework like that and ship the components as JavaScript web components and then provide wrappings from any available framework. They spent a year on working on it and tried to double down on framework specific tooling. 5:50 - Charles asks if Alyssa has worked on Ionic. She answers that she hasn’t but has heard a lot of good things about it. She asks Mike if Ionic is the same as NativeScript. While explaining the difference, Mike replies that the team likes to work on the web technologies’ side, so even if Ionic is deployed on any available OS, everything is rendered in the browser. Charles also talks about the differences between NativeScript and Ionic. 7:38 - Alyssa asks if there is any specific popular framework or groups of people using Ionic. Mike answers that a lot of their user base consists of Angular developers, but they are seeing growth elsewhere too. 8:40 - Charles mentions that people like the fact they don’t have to learn different technologies for different platforms while developing apps, and prefer to do it by porting work from one platform to another. Mike agrees while saying that Ionic is a great option for that and it comes with a decent UI. 9:30 - Charles asks about Electron, if it’s the same codebase. Mike answers that Electron is quite new to them, but they are building an option for the native compiler that solves many technical issues and introduces new ideas on how to work with common APIs for IOS, Android and Electron. 12:02 - Alyssa asks how does Ionic compare to various UI themes and whether it can be customized. Mike answers that they have two themes - an iOS theme and a default material design theme. He says that they also have an option of creating custom themes using CSS variables. 13:30 - Charles asks if they have an update to the UI builder as well. Mike answers in affirmative and explains that they are working on a tool called Studio and proceeds to give some historical background on how they got there. He elaborates on the features of Studio. 15:40 - Alyssa asks if the tool is still under development or they are ready to start using it. Mike answers that a small group of users is using it and they are focusing on enterprise users currently. 16:50 - Charles asks about the next steps after Ionic 4.0. Mike explains in detail says that they want to work on some Angular tooling and on maintaining an update schematic. 18:17 - They discuss on how having different options help developers and users make flexible decisions leading to better products. 19:15 - Mike says that he is going to be at VueConf in Florida in March and Ng-Conf in Salt Lake City, and he is active on Twitter, Reddit and Instagram. 22:36 - Charles asks if there is any tutorial on Ionic for beginners. Mike asks users to search for “Ionic 4 Crash Course” - a 15-minute video encapsulating everything that they need to get it up and running. 22:35 - Advertisement - Angular Bootcamp 24:20 - Picks! 28:04 - END - Advertisement - CacheFly! Picks: Alyssa dto Charles Modern Medicine Keeping perspective on things in general Mike Tidying Up with Marie Kondo
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp Panel: Alyssa Nicoll Charles Max Wood Special Guest - Mike Hartington In this episode of Adventures in Angular, the panelists talk with Mike Hartington, who is a Developer Advocate at Ionic. They talk in depth about the recently released version of Ionic, future projects the Ionic team is working on and what’s out there for Angular developers. Show Notes: 0:22 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan. 1:21 - Mike introduces himself briefly and explains what exactly Ionic is. 3:15 - Charles asks about the new features of the recently released Ionic version 4.0. Mike explains that even though they love Angular, they wanted to decouple from any full framework like that and ship the components as JavaScript web components and then provide wrappings from any available framework. They spent a year on working on it and tried to double down on framework specific tooling. 5:50 - Charles asks if Alyssa has worked on Ionic. She answers that she hasn’t but has heard a lot of good things about it. She asks Mike if Ionic is the same as NativeScript. While explaining the difference, Mike replies that the team likes to work on the web technologies’ side, so even if Ionic is deployed on any available OS, everything is rendered in the browser. Charles also talks about the differences between NativeScript and Ionic. 7:38 - Alyssa asks if there is any specific popular framework or groups of people using Ionic. Mike answers that a lot of their user base consists of Angular developers, but they are seeing growth elsewhere too. 8:40 - Charles mentions that people like the fact they don’t have to learn different technologies for different platforms while developing apps, and prefer to do it by porting work from one platform to another. Mike agrees while saying that Ionic is a great option for that and it comes with a decent UI. 9:30 - Charles asks about Electron, if it’s the same codebase. Mike answers that Electron is quite new to them, but they are building an option for the native compiler that solves many technical issues and introduces new ideas on how to work with common APIs for IOS, Android and Electron. 12:02 - Alyssa asks how does Ionic compare to various UI themes and whether it can be customized. Mike answers that they have two themes - an iOS theme and a default material design theme. He says that they also have an option of creating custom themes using CSS variables. 13:30 - Charles asks if they have an update to the UI builder as well. Mike answers in affirmative and explains that they are working on a tool called Studio and proceeds to give some historical background on how they got there. He elaborates on the features of Studio. 15:40 - Alyssa asks if the tool is still under development or they are ready to start using it. Mike answers that a small group of users is using it and they are focusing on enterprise users currently. 16:50 - Charles asks about the next steps after Ionic 4.0. Mike explains in detail says that they want to work on some Angular tooling and on maintaining an update schematic. 18:17 - They discuss on how having different options help developers and users make flexible decisions leading to better products. 19:15 - Mike says that he is going to be at VueConf in Florida in March and Ng-Conf in Salt Lake City, and he is active on Twitter, Reddit and Instagram. 22:36 - Charles asks if there is any tutorial on Ionic for beginners. Mike asks users to search for “Ionic 4 Crash Course” - a 15-minute video encapsulating everything that they need to get it up and running. 22:35 - Advertisement - Angular Bootcamp 24:20 - Picks! 28:04 - END - Advertisement - CacheFly! Picks: Alyssa dto Charles Modern Medicine Keeping perspective on things in general Mike Tidying Up with Marie Kondo
Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse 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 : Netlify 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 - Sentry - 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 - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan. 1:00:06 - Advertisement - Clubhouse 1:01:01 - Picks! 1:11:42 - END - Advertisement - CacheFly! Picks: Sarah DocSearch - Algolia AJ O’Neal The Legendary Profile by Modern Jazz Quartet Webcam Cover by Dcreate How Music Works - David Byrne Chris Tommy Hodgins Code Series Tom Scott - YouTube Future Man Joe Timeless A Christmas Carol narrated by Patrick Stewart Aimee Hacker News thread on working with Legacy Codebases Charles George Marathon Garmin Forerunner 235
Sponsors Sentry use the code "devchat" for $100 credit Angular Bootcamp Panel: Alyssa Nicoll Charles Max Wood Special Guest - Mike Hartington In this episode of Adventures in Angular, the panelists talk with Mike Hartington, who is a Developer Advocate at Ionic. They talk in depth about the recently released version of Ionic, future projects the Ionic team is working on and what’s out there for Angular developers. Show Notes: 0:22 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan. 1:21 - Mike introduces himself briefly and explains what exactly Ionic is. 3:15 - Charles asks about the new features of the recently released Ionic version 4.0. Mike explains that even though they love Angular, they wanted to decouple from any full framework like that and ship the components as JavaScript web components and then provide wrappings from any available framework. They spent a year on working on it and tried to double down on framework specific tooling. 5:50 - Charles asks if Alyssa has worked on Ionic. She answers that she hasn’t but has heard a lot of good things about it. She asks Mike if Ionic is the same as NativeScript. While explaining the difference, Mike replies that the team likes to work on the web technologies’ side, so even if Ionic is deployed on any available OS, everything is rendered in the browser. Charles also talks about the differences between NativeScript and Ionic. 7:38 - Alyssa asks if there is any specific popular framework or groups of people using Ionic. Mike answers that a lot of their user base consists of Angular developers, but they are seeing growth elsewhere too. 8:40 - Charles mentions that people like the fact they don’t have to learn different technologies for different platforms while developing apps, and prefer to do it by porting work from one platform to another. Mike agrees while saying that Ionic is a great option for that and it comes with a decent UI. 9:30 - Charles asks about Electron, if it’s the same codebase. Mike answers that Electron is quite new to them, but they are building an option for the native compiler that solves many technical issues and introduces new ideas on how to work with common APIs for IOS, Android and Electron. 12:02 - Alyssa asks how does Ionic compare to various UI themes and whether it can be customized. Mike answers that they have two themes - an iOS theme and a default material design theme. He says that they also have an option of creating custom themes using CSS variables. 13:30 - Charles asks if they have an update to the UI builder as well. Mike answers in affirmative and explains that they are working on a tool called Studio and proceeds to give some historical background on how they got there. He elaborates on the features of Studio. 15:40 - Alyssa asks if the tool is still under development or they are ready to start using it. Mike answers that a small group of users is using it and they are focusing on enterprise users currently. 16:50 - Charles asks about the next steps after Ionic 4.0. Mike explains in detail says that they want to work on some Angular tooling and on maintaining an update schematic. 18:17 - They discuss on how having different options help developers and users make flexible decisions leading to better products. 19:15 - Mike says that he is going to be at VueConf in Florida in March and Ng-Conf in Salt Lake City, and he is active on Twitter, Reddit and Instagram. 22:36 - Charles asks if there is any tutorial on Ionic for beginners. Mike asks users to search for “Ionic 4 Crash Course” - a 15-minute video encapsulating everything that they need to get it up and running. 22:35 - Advertisement - Angular Bootcamp 24:20 - Picks! 28:04 - END - Advertisement - CacheFly! Picks: Alyssa dto Charles Modern Medicine Keeping perspective on things in general Mike Tidying Up with Marie Kondo
Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse 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 : Netlify 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 - Sentry - 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 - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan. 1:00:06 - Advertisement - Clubhouse 1:01:01 - Picks! 1:11:42 - END - Advertisement - CacheFly! Picks: Sarah DocSearch - Algolia AJ O’Neal The Legendary Profile by Modern Jazz Quartet Webcam Cover by Dcreate How Music Works - David Byrne Chris Tommy Hodgins Code Series Tom Scott - YouTube Future Man Joe Timeless A Christmas Carol narrated by Patrick Stewart Aimee Hacker News thread on working with Legacy Codebases Charles George Marathon Garmin Forerunner 235