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)

047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale

047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale

PanelTom Dale (twitter github blog Tilde Inc.) James Halliday (twitter github substack.net) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:52 - James Halliday Introductionbrowserify 02:37 - Tom Dale IntroductioniCloud Ember.js Big Data & Hadoop 04:47 - Specialized vs Monolithicgithub.com/tildeio Idiology Micro Libraries 14:13 - Learning Frameworks18:04 - Making things modular25:23 - Picking the right tool for the job27:44 - voxel.js & emberjsemberjs / packages BPM - Browser Package Manager NPM - Node Packaged Modules testling-ciBackbone.js38:19 - Module SystemsCommonJS41:14 - Cloud9 Use Case43:54 - BugsjQuery Source Code PicksjQuery 2.0 (Merrick) ECMAScript 6 Module Definition (Merrick) AMD (Merrick) Yiruma (Joe) Elementary (Joe) Miracle Berry Tablets (AJ) The Ubuntu You Deserve (AJ) Bravemule (Jamison) RealtimeConf Europe (Tim) visionmedia / cpm (Tim) Why I Love Being A Programmer in Louisville (or, Why I Won’t Relocate to Work for Your Startup: Ernie Miller (Chuck) Is Audio The Next Big Thing In Digital Marketing? [Infographic] (Chuck) testling-ci (James) voxel.js (James) CAMPJS (James) Discourse (Tom) Williams-Sonoma 10-Piece Glass Bowl Set (Tom) The Best Simple Recipes by America’s Test Kitchen (Tom) Next Week Why Javascript is Hard Transcript JAMISON:  You can curse but we will just edit it out and replace it with fart noises.TOM:  I’ll be providing plenty of my own.[Laughter]JAMISON:  Okay, good.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 47 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal.AJ:  Yo! Yo! Yo! Coming at you not even live!CHUCK:  [Laughs] Alright, Jamison Dance.JAMISON:  Hi guys, it’s tough to follow that.CHUCK:  Merrick Christensen.MERRICK:  Hey.CHUCK:  Joe Eames.JOE:  Howdy!CHUCK:  Tim Caswell.TIM:  Hello.CHUCK:  I’m Charles Max Wood from DevChat.tv. And this week, we have two guests. The first one is Tom Dale.TOM:  Hey, thanks for having me.CHUCK:  The other is James Halliday.JAMES:  Yep. Hello.CHUCK:  Welcome to the show, guys. We were having a conversation a while back, I don’t remember if it was during another episode or after another episode. But we were having a discussion over code complexity and having like small simple libraries or small simple sets of functionality versus large monolithic sets of functionality, and how to approach those and when they’re appropriate. So, we brought you guys on to help us explore this because you're experts, right?TOM:  I don’t think that’s a fair analysis of the situation, but we can certainly fumble our way through something.[Laughter]CHUCK:  Alright. So, why don’t you guys, real quick, just kind of introduce yourselves? Give us a little background on what your experience is so that we know which questions to ask you guys.James, why don’t you start? I know you’ve been on the show before.JAMES:  Hello. I suppose I wrote Browserify which is relevant here. It’s a common JS style, bundler packager thing that just uses NPM. And I have a bunch of other libraries. And I really like doing data development as just a bunch of little modules put together. They are all published completely independently on NPM. I think I’m up to like 230-ish some odd modules on NPM now. So, I’ve been doing that and I really like that style.Special Guests: James Halliday and Tom Dale. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

15 Helmi 201357min

046 JSJ Staying Current

046 JSJ Staying Current

PanelJoe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 03:19 - The Future of JavaScript and ES6es-discuss -- Discussion of ECMAScript @esdiscuss six ES6 in node.js @brendaneich (Brendan Eich)@rwaldron (Rick Waldron)10:18 - Getting News about JavaScript@derickbailey (Derick Bailey) @tjholowaychuk (TJ Holowaychuk aka Vision Media) @substack (James Halliday) @maxodgen (Max Ogden) Peter Cooper’s JavaScript Weekly Peter Cooper’s HTML5 Weekly @badass_js (Badass JavaScript) @seb_ly (Seb Lee-Delisle) 12:43 - BlogsBen Alman James Burke LosTechies Alvin Ashcraft’s Morning Dew The Changelog reddit 17:02 - FilteringReadability Pocket (formerly Read It Later)Instapaperthree.jsUTOSC 2012 Machine Learning in JavaScript Jamison Dance VIDEO002323:21 - The CommunityAirbnb Meetups Addy Osmani: Articles for Developers Utah JS Utah Software Craftsmanship Group Ruby Rogues Parley 27:33 - Podcasts and VideosThe Changelog YUI Theater (Yahoo Theater) Google Tech Talks Coursera InfoQ Talks to Help You Become A Better Front-End Developer in 2013: Addy Osmani How To Stay Up To Date on Web Technology: Chris Coyier RubyTapas The JavaScript Show Wide Teams Emacs Rocks! The Breakpoint with Paul Irish and Addy Osmani NodeUp 35:53 - More BlogsHTML5 Rocks A Minute With Brendan Eich John Resig 36:16 - ConferencesCascadiaJS JSConf NodeConfPicksSherlock Holmes Consulting Detective (Joe) Might & Magic Clash of Heroes (Joe) Diet Coke (Merrick) Noah Gundersen (Merrick) Anis Mojgani (Merrick) How to create a bookmarklet (and load jQuery anywhere)! (AJ) So I installed Ubuntu Linux... Now what? (AJ) Doctor Who Sonic Screwdriver of the 10th Doctor (Chuck) Powermat Power Dual 1200 Rechargeable Backup Battery (Chuck) Next Week Monolithic vs Modular Design w/ Tom Dale and James Halliday Transcript AJ: I ate a lot of pickle chips this morning.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 46 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Howdy!CHUCK: We have Merrick Christensen.MERRICK: Hey guys!CHUCK: AJ O'Neal.AJ: I was informed that I'm not actually live.CHUCK: [laughs] Charles Max Wood from Devchat.tv. And real quick I just want to mention...I know that most of the people who listen to this show are JavaScript developers, but if you're interested in learning Ruby on Rails, then I'm going to be teaching a course. It starts in March and you basically get unlimited access to me during the course, access of forms. It's going to be online live training and then coding and Q&A. So if you're interested in that, go to railsrampup.com and sign up.AJ: Now what is "unlimited" mean when you talk about access to you?MERRICK: [scoffs] Come on, man!CHUCK: [laughs] If I'm awake, I'm probably available to answer to all your questions.MERRICK: Do panelists get discounts?CHUCK: If you're interested, I can probably work something out.JOE: Interesting.CHUCK: In fact, I'm offering a discount for anyone who listens to the podcast. If you go and sign up and you enter the coupon code podcast, it'll give you $200 off.MERRICK: Oh nice! Nice!AJ: Panelists only get $50 off, though.CHUCK: That's right. It's like my dad when he graduated from demo school, his cousin came up to him and said "So, do we get a family discount?" and he says "Yeah, I'll charge you 50% more".MERRICK: [laughs] No, kidding! Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

8 Helmi 201344min

045 JSJ jQuery

045 JSJ jQuery

PanelAJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:11 - jQuery vs Prototype vs MooTools10:50 - JavaScript Going MainstreamFast Browsers Firefox Web Developer Tools V8 Web Stack 13:21 - Usable JavaScript17:05 - jQuery ProsCross-Platform CSS Selection Chaining 20:16 - jQuery Mobile20:48 - QUnit21:21 - Running jQuery in NodeScraping 22:32 - CSS Manipulation24:14 - jQuery UI25:19 - jQuery Community26:31 - jQuery PluginsAJ’s imageMerrick’s image29:52 - Ender & Zepto.js33:44 - jQuery ConsCustom Selectors Plugin Documentation API is too large How to build your own jQuery52:15 - AJ lied about jQuery PicksThe Robert C. Martin Clean Code Collection (Joe) Old Man’s War by John Scalzi (Joe) Human Connectome Project (Merrick) pahen / node-madge (Merrick) Hype Machine (Merrick) Nothing to Envy: Ordinary Lives in North Korea by Barbara Demick (Jamison) Men’s Medium Tall (AJ) Ubuntu Phone (AJ) Interpreted Dance (AJ) Aaron Frost (AJ) aaronfrost / getusermedia-gestures-preso (AJ) AJ’s Blog (AJ) Hydrofarm Thirsty Light (Chuck) Powermat Power Dual 1200 Rechargeable Backup Battery (Chuck) Joe’s Pluralsight Page Transcript: MERRICK:  Do you want to see my face?[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 45 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal.AJ:  Yo! Yo! Yo! Coming at you live from the screencastosphere of Provo, Utah.CHUCK:  So, I have to ask, AJ. You realize this is a podcast and that it’s coming to no one live, right?[Laughter]AJ:  He’s got a good point.CHUCK:  We also have Merrick Christensen.MERRICK:  Yeah, I’m Merrick.CHUCK:  Joe Eames.JOE:  I’m not Merrick, I’m Joe.MERRICK:  He’s Joe.CHUCK:  Jamison Dance.JAMISON:  Hello friends.CHUCK:  And I’m Charles Max Wood from DevChat.tv. And this week, we’re going to be talking about jQuery.So, I’m assuming we’ve all used jQuery at least a little bit.JAMISON:  Yes.MERRICK:  Yup.CHUCK:  If you’re doing web stuff, it’s pretty handy.MERRICK:  Actually, the first JavaScript code I ever wrote was messing with somebody’s little jQuery stuff on a form. And I remember I couldn’t get it to all work right. So I just had to set async to false. And I was like, “Man, this JavaScript language is stupid!”CHUCK:  [Laughs]AJ:  I wish my first experience had been with jQuery because I was not using jQuery when I was first using JavaScript and it was terribad. It’s like, “This works properly in no browsers!” Because each tutorial is wrong.CHUCK:  Yeah. Well, I remember back in the day when I was using Prototype for my web app. So, jQuery was a huge step up from Prototype, I have to say.MERRICK:  Why?CHUCK:  It’s just that the interface of the API felt better to me. I can’t really quantify how.MERRICK:  That’s fair. I was a big MooTools fan and I was kind of a hate Query, if you will.AJ:  As you should be, actually.MERRICK:  I didn’t hate jQuery per se, but I really loved MooTools just because the APIs were just so beautiful. And also, all of this new age, these structural libraries like Backbone and all that kind of thing was really natural in MooTools already, right? Because everything was so class-oriented and I’m not saying classes are the only way to organize your code. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

1 Helmi 201353min

044 JSJ Book Club: Effective JavaScript with David Herman

044 JSJ Book Club: Effective JavaScript with David Herman

PanelDavid Herman (twitter blog Effective JavaScript) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:01 - David Herman IntroductionMozilla Mozilla Research TC39 - ECMAScript 01:45 - Effective JavaScript by David Herman04:27 - Reader Opinions & ControversyJavaScript:The Good Parts by Douglas Crockford09:09 - ES3 Shimming11:25 - Code: effectivejs/code12:50 - Parts of the Book15:54 - BlockingWeb Gestures With getUserMedia: Part1: Aaron Frost 17:28 - Book Level of DifficultyEffective C++ by Scott Meyers 20:09 - Asynchronous APIsRecursion Tail-Call Optimization 26:51 - Programming Language Academics30:55 - DOM IntegrationEffective C++ by Scott Meyers Effective STL by Scott Meyers 31:50 - Advice for JavaScript BeginnersEloquent Javascript by Marijn HaverbekeJavaScript Enlightenment by Cody LindleyHow to Design Programs33:16 - Advice for Programmers in General34:53 - Performance38:16 - The JavaScript Language40:45 - Primitives Vs Wrapper Classes42:37 - Semicolons45:24 - -0/+0 PicksJack (Tim) Putting Constants on the Left (AJ) Getting Started with Amazon AWS EC2 (1 year free VPS web hosting) (AJ) Notes on Distributed Systems for Young Bloods: Jeff Hodges (Jamison) Hurdles getting started with Ember.js (Jamison) Grieves (Merrick) The Scala Programming Language (Merrick) Antoine Dufour (Joe) Torchlight II (Joe) Appliness Digital Magazine (Joe) Powermat Home & Office Mat (Chuck) Une Bobine (Chuck) The Rust Programming Language (David) mozilla/servo (David) Roominate Toy (David) OpenWest Conference Call For Papers (AJ) Transcript CHUCK:  The most effective way to hack is quickly.[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 44 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON:  Hello.CHUCK:  AJ O’Neal.AJ:  Yo! Yo! Yo! Coming at you live from the living roomisphere of Provo, Utah.CHUCK:  We have Joe Eames.JOE:  Hi.CHUCK:  Merrick Christensen.MERRICK:  What’s up guys?CHUCK:  Tim Caswell.TIM:  Hello.CHUCK:  I'm Charles Max Wood from devchat.tv and this week, we have a special guest, Dave Herman.DAVE:  Hi there.CHUCK:  So Dave, you haven’t been on the show before. Do you want to introduce yourself?DAVE:  Sure. I work for Mozilla. I have sort of helped create this new department called Mozilla Research where we do a whole bunch of web platform experiments and new technology for the web. And I also am on the horribly named TC39, the standards organization for ECMAScript, working on the next edition of the JavaScript standard.CHUCK:  Cool.DAVE:  Oh, and I wrote this book.CHUCK: You did this book.TIM:  You didn’t just read it and then become an expert on the book and then talk on a podcast about it?[Laughter]CHUCK:  So, I heard about this book. I’m a little curious when you started writing the book, I mean, what was the idea behind it? What inspired it?DAVE:  To tell you the truth, I had no intention of writing a book, it didn’t occur to me. But the publishers reached out to me, I guess they heard of me through TC39, maybe ‘es-discuss’ or something. But they said, “Okay we’ve got this series, this Effective series.” And I was very familiar with Effective C++ which I think is a great book and I really like the format. And just when they approached me, I kind of thought, “You know,Special Guest: David Herman. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

25 Tammi 20131h 1min

043 JSJ Sinon.JS

043 JSJ Sinon.JS

PanelChristian Johansen (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Jamison Dance (twitter github blog) Discussion 00:45 - Christian JohansenTest-Driven JavaScript Development Sinon.JS Gitorious01:26 - Sinon.JS02:22 - Stubs, Mocks and SpiesMocks Aren’t Stubs: Martin Fowler Mocha10:47 - History of Sinon.JS12:25 - XHR, HML, HTTP13:36 - Mocking the ClockSet Time Out 17:22 - Test-Driven JavaScript DevelopmentAndrea Giammarchi @WebReflection The Pragmatic Bookshelf Screencasts 21:43 - Test FrameworkBuster.JS js-test-driver24:17 - Other Mocking Librariesmockjax 26:24 - Mocking Properties27:22 - Matchers30:46 - Sinon.JS Gotchas33:10 - State of Test-Driven Development in JavaScriptStrategies for Testing PicksJack Reacher (Joe) Torchlight II (Joe) Effective JavaScript by David Herman (Merrick) Rdio (Merrick) Adventure Time (Jamison) How to implement an algorithm from a scientific paper: Emmanuel Goossaert (Jamison) Advanced Vim registers (Jamison) Emacs Rocks! (Christian) Simple Made Easy (Christian) LEGO Lord of the Rings (Christian) Testing Clientside JavaScript (Joe) Transcript MERRICK:  Classy guy.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]JAMISON:  Hello friends. Welcome to JavaScript Jabber. This is Episode number 43. Today, we have Joe Eames.JOE:  Howdy!JAMISON:  Merrick Christensen.MERRICK:  Hey guys!JAMISON:  And Christian Johansen. And also me, Jamison Dance. But Christian is the special guest today. Do you want to talk a little bit about yourself? Introduce yourself for those of us that don’t know you?CHRISTIAN:  Yeah, sure. First of all, hi! I'm in Oslo, Norway up in the cold north. So, I wrote a book about testing JavaScript a couple of years back called ‘Test-Driven JavaScript Development’. And I've done a few open source libraries. Perhaps the one that most people know about is Sinon.JS. And currently, I work at Gitorious.org. So, that’s the brief introduction about me, I guess.JAMISON:  Great! Chuck is gone today. He’s at CES, I believe. So, that’s why I'm filling in for him. I think we want to talk mainly about Sinon.JS today. Do you want to just give an overview of it?CHRISTIAN:  Sure.JAMISON:  For those who have never heard of Sinon.JS, what is it?CHRISTIAN:  Sinon.JS is a stubbing and mocking library which means that when you're writing automated tests for your JavaScript, Sinon provides a tool kit to help you test functions and callbacks and stuff like that, to track how they're being used throughout the system. And then, it also provides some utilities to test asynchronous stuff through timers, like Set Time Out and Set Interval and those kinds of things.And it also has a fake XMLHttpRequest implementation. So, it allows you to test your client side JavaScript completely decoupled from the server and it gives you an API to mimic the role of the server in your tests. So, you can focus a test on how the client side reacts to various kind of behavior from the server.JAMISON:  So, you talked about stubbing and mocking. And I think, that means we have to get into the hairy discussion of the difference between stubs and mocks?MERRICK:  And spies.JAMISON:  And spies, yeah. Do you want to explain that a little bit?CHRISTIAN:  Sure. I can explain my take on it because I know there are more than just mine.MERRICK:  Sure.CHRISTIAN:  I'm using the terminology pretty much like Martin Fowler did and he has a famous article called ‘Spies are Not Mocks’ or something like that. So,Special Guest: Christian Johansen . Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

18 Tammi 201346min

042 JSJ CSS and CSS Superset Languages

042 JSJ CSS and CSS Superset Languages

PanelBrian Turley (twitter blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:11 - CSS GripesSassScalable and Modular Architecture for CSS (SMACSS)CSS316:32 - Preprocessors/CompilersLESSSassStylusCompassChris Eppstein20:34 - Basic Features of CSS Preprocessorsnib mix-ins 23:02 - Usefulness27:15 - Mathematics w/ VariablesSusy28:54 - AnimationUsing CSS animations31:12 - Nesting35:40 - Build Processesgrunt.js42:20 - DistinctionPrefixing 47:35 - Tightly Coupled PicksOld Man’s War by John Scalzi (Joe) X-Wing Miniatures Game (Joe) Dave Crowe (Merrick) Utah Software Craftsmanship Group (AJ) Effective JavaScript by David Herman (AJ) SD Card (Chuck) New Media Expo (Chuck) Consumer Electronics Show (Chuck) iOS Development Podcast (Chuck) Grid Systems in Graphic Design by Josef Muller-Brockmann (Brian) IFTTT (Brian) Book ClubEffective JavaScript by David Herman Transcript MERRICK:  You have more technical problems than any other nerd I know.[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 42 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.MERRICK:  He’s out to a phone call, terrible timing.CHUCK:  We also have Merrick Christensen.MERRICK:  That’s me.CHUCK:  AJ O’Neal.AJ:  Yo! Yo! Yo! Coming at you live from the snow sphere of Provo, Utah.CHUCK:  And we have a guest, that’s Brian Turley.BRIAN:  That’s right. I’m a designer friend of AJ’s.CHUCK:  We’re talking about CSS today so we brought in a designer to set us all straight.And I’m Charles Max Wood from devchat.tv. And like I said, we’re talking about CSS today. One of the things I think that’s interesting about CSS is that it converges with JavaScript. Well, there are a couple of things but one is systems like LESS, that kind of compile, they give you some sane options for dealing with some of the dumb stuff that CSS doesn’t include. Then the other one is, I’ve also wound up fighting designers for selectors in the HTML. And so, I thought we could talk through that a little bit as well.BRIAN:  Hey, Chuck?CHUCK:  Yes?BRIAN:  I think those are two like really good points but I think there’s even more areas we can discuss in terms of how JavaScript and CSS are coupled. Like computed styles from JavaScript and also all the CSS methods from JavaScript. And the fact that your JavaScript sometimes doesn’t work, your UI doesn’t work unless the CSS is set up. I think the two tend to be a lot more coupled than people like to think.CHUCK:  I agree. That’s fair. So, which avenue or which aspect do you want to tackle first? Should we talk about just CSS and where it kind of doesn’t give us what we want?BRIAN:  I would love to complain about CSS. I got some bitterness in that sphere.CHUCK:  I know some people consider it programming but it doesn’t have any of the things that classic programming has like variables and functions or methods or anything like that. And I think that’s where a lot of us get frustrated is that we’re used to being able to reuse things, we’re used to being able to set things up that will define the behavior that we want. And in CSS, you really don’t have that. It’s really just simple markup.JOE:  So, do we consider the CSS languages, like Sass and LESS and all those to be part of CSS because then we talk about actually having those things.CHUCK:  Yes. I don’t know if you can call them CSS.Special Guest: Brian Turley. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

11 Tammi 201359min

041 JSJ Single Page Applications

041 JSJ Single Page Applications

PanelJamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:09 - Follow Up to 040 JSJ ConferencesBroad Conferences vs Focused Conferences Utah Open Source/Open West Conference 2013 05:28 - Single Page Application FrameworksjQueryBackbone.jsEmber.jspure.jsplates.jsAngularJS15:10 - Path & Hash RoutingPushstate/Popstatesammy.jsjquery.bbqlocalStorage == cookieshistory.js22:23 - Synchronizing Your DataWebSocket Operational Transformation Lucidchart 24:51 - WebSocketscURLSocket.IO32:44 - App IssuesMemory 38:52 - When do you want a Single Page App?JadeLESSPicksSimple (AJ) Coding for Interviews (Jamison) Empirical Zeal: What does randomness look like? (Jamison) Aeron Chair by Herman Miller (Chuck) Allrecipes.com (Chuck) Book ClubEffective JavaScript by David Herman Transcript AJ:  Yeah, I think I'm 26 still, for another 6 months.CHUCK:  Yeah. You have to count on your toes to figure it out.AJ:  Yeah, twice actually. Because once I'm already bent over, I just keep counting on my toes. I don't start back at my fingers.CHUCK:  [laughs][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Widge Mo. If you need stunning UI elements or awesome graphs and charts, then go to WidgeMo.com and check them out.]CHUCK:  Hey everybody and welcome to Episode 41 of the JavaScript Jabbers show. I almost said Ruby Rogues. How tired am I?JAMISON:  Don't cheat on us, Chuck.CHUCK:  It's right after Christmas.JAMISON:  We know you have another family but we love you when we have you.CHUCK:  Oh, my gosh! Yeah, we had family here for two days and my wife panics when people are coming over and has to have the house immaculate. And then she kept getting tired or sick or having some other issues. So, I kept forcing her to go to bed and then staying up until 2:00 AM, cleaning the house. So, I’m totally worn out.Anyway, so this is JavaScript Jabber, it's not Ruby Rogues. If you want Ruby Rogues, go to RubyRogues.com and see what we were talking about over there.Last week, we talked about conferences and I know that AJ wanted to say something. I guess we usually do the introductions first. So, let's do that and then let AJ say his piece and then we’ll move onto our topic for today.So, this week on our panel, we have Jamison Dance.JAMISON:  Hi, guys! Merry Belated Christmas.CHUCK:  We have AJ O'Neil.AJ:  Yo! Yo! Yo!  Coming at you from the green Christmasphere of Virginia.CHUCK:  Oh, you're in Virginia?AJ:  Yes, I am. Visiting family.CHUCK:  Cool. And I'm Charles Max Wood from DevChat.tv. I just want to put a quick plug in for my Rails course. If you want to learn Ruby on Rails, go to RailsRampUp.com. It's kind of a guided course and you get a lot of access to me to learn it.So AJ, what was it that you wanted to chime in with, with the conferences that we couldn't get you in last week to say?AJ:  Okay. So, both Merrick and myself have had this same experience. So, we were talking about having the broad conference versus the focused conference, the broad talk or workshop versus the more focused one. And we both have come to the conclusions that having it more focused is better. With the conference, it's fun to go to a broad conference but even in that, like it’s nice to have the focused talks like the ‘Utah Open Source Conference’ which this year is ‘Open West Conference’. It's expanding out and they've got some big surprise. I'm guessing they got some nice speakers. And the call for papers for that opens on January 2nd supposedly. So, that's a really nice conference but it's broad but it’s still fun. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

4 Tammi 201359min

040 JSJ Conferences

040 JSJ Conferences

Panel Trevor Tingey (twitter blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:16 - Conferences Attended Visual Studio Live (VS Live) (Joe) Utah Open Source (Joe & Chuck) Utah JS (Joe) MountainWest RubyConf (Trevor & Chuck) JSConf (Trevor) UberConference (Trevor) Web 2.0 (Trevor) RailsConf (Chuck) RubyConf (Chuck) Aloha Ruby Conference (Chuck) New Media Expo (Chuck) 03:24 - Preparing/Planning for Conferences 08:39 - Chatting with Others/Making Contacts at Conferences Hackathons Social Activities 14:36 - Hackathons/Code Retreats/Workshops Global Day of Coderetreat DevTeach 18:46 - Methodology Conferences Agile Roots 22:42 - Industry Conferences vs Local/Regional Conferences Multiple Tracks Networking 28:12 - Making the Most out of Sessions Taking Notes Follow Along in Code Sessions Seating Choice 33:02 - Lightning Talks Speaking Exposure 35:37 - Speaking at Conferences (Tim Joins) Veteran Speakers vs Unique Speakers 41:00 - Submitting Proposals Interesting Title 42:56 - Mistakes People Make Speaking at Conferences Underestimating Time Practice Your Talk Be Excited 45:24 - Preparing Slides Bullet Points Color/Contrast 50:03 - Watch Your Audience Picks The Hobbit (Joe) RiffTrax (Joe) Pluralsight (Joe) Blue Microphones: Yeti (Tim) Closure Compiler Service (Chuck) Headline Hacks (Chuck) Once Upon a Time (Trevor) Sublime Text 2 (Trevor) Jack Reacher (Trevor) Foo Fighters (Trevor) Transcript CHUCK:  From the meat lockers of Domo. [This episode today is sponsored by Component One. Makers of Wijmo. If you need stunning UI elements or awesome graphs and charts then go to Wijmo.com and check them out.] [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] CHUCK:  Hey everybody and welcome to episode 40 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE: Howdy! CHUCK:  I’m Charles Max Wood from devchat.tv and we have a special guest, that’s Trevor Tingey. TREVOR:  Hello. CHUCK:  He’s joining us from Domo. We had some folks on vacation and stuff and we were short a few people. So, Joe invited one of his co-workers. I don’t really have co-workers per se since I’m doing contract stuff most of the time. Anyway... JOE:  Is your cat your co-worker, Chuck? CHUCK:  What was that? JOE:  Is your cat your co-worker? CHUCK:  I don’t have a cat. JOE:  A dog? CHUCK:  Nope, I don’t have a dog either. I’m allergic to cats. But yeah, no cats. Anyway, we’re going to talk this week about making the most of conferences. I’m a little curious, what conferences have you guys been able to attend over the last few years or over your career? JOE:  I was a Microsoft developer before I went fully front end. So I went to several Microsoft development conferences, VS Live was probably my favorite one. Recently, I’ve been to the Utah Open Source conference and the Utah JavaScript conference, really liked those. CHUCK:  Yeah, the local conferences are fun. What about you, Trevor? TREVOR:  I’ve been to a lot of conferences. Recently, I went to the Mountain West Ruby Conference. That was entertaining. I went to the JavaScript, JS Conf and that was the first Node Conf also was kind of dependent on the end of the JS Conf and that was up in Portland. I really liked that one. Like Joe, I used to do some Microsoft stuff. So, I’ve been to Microsoft before and several other ones in between, Uber Conf, Web 2.0 in New York. JOE:  Does Comdex count? I went to Comdex once. [laughs] CHUCK:  Yeah, I didn’t really start going to conferences until I gotten into Ruby. So, most of the conferences I’ve been to were Ruby related, though I did go the Utah Open Source and some of those. Yeah,Special Guest: Trevor Tingey. Support this podcast at — https://redcircle.com/javascript-jabber/donationsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

28 Joulu 201257min

Suosittua kategoriassa Liike-elämä ja talous

sijotuskasti
psykopodiaa-podcast
mimmit-sijoittaa
rss-rahapodi
herrasmieshakkerit
ostan-asuntoja-podcast
hyva-paha-johtaminen
taloudellinen-mielenrauha
rss-lahtijat
sijoituskaverit
rss-rahamania
rss-huomisen-talous
rss-merja-mahkan-rahat
rss-sisalto-kuntoon
rss-lentopaivakirjat
rss-vaikuttavan-opettajan-vierella
rss-neuvottelija-sami-miettinen
kasvun-kipuja
rss-bisnesta-bebeja
rss-paasipodi