
049 JSJ MooTools with Valerio Proietti and Arian Stolwijk
PanelValerio Proietti (twitter github) Arian Stolwijk (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:08 - Arian Stolwijk IntroductionMooTools Developer Symbaloo 01:39 - Valerio Proietti IntroductionMooTools Creator Spotify 02:21 - What is MooTools?Github - MooTools 07:04 - The Class Systemmootools / prime 09:36 - Milk10:25 - Design GoalsGhost 11:19 - Primemootools / wrapup CommonJS 14:18 - MooTools vs jQuery19:53 - Using MooTools and jQuery togetherObject Oriented jQuery with MooTools @jQuery Conference: Ryan Florence 21:08 - MooTools for Frameworksepitome neuro Github - MooTools 23:48 - ChainingMooTools Demos - Chaining 26:59 - Request API for Ajax calls29:11 - Favorite MooTools-using WebsitesSpotify 9GAG 29:45 - AccomplishmentsClass System wrapup arian / prime-util 31:36 - The history of MooToolsscript.aculo.us moo.fx PicksWasteland 2 (Joe) The Lost Fleet Series by Jack Campbell (Joe) MooTools (Merrick) People who can ride on airplanes for the first time (Merrick) ES6 Module Transpiler - Tomorrow's JavaScript module syntax today (Jamison) ajacksified / song-of-github (Jamison) Community Vote for OpenWest Conference 2013 (Jamison) walmartlabs / hapi (Jamison) Cornify (Chuck) Parade of Homes (Chuck) Dave Ramsey's Financial Peace University (Chuck) Floby / node-libspotify (Valerio) visionmedia / superagent (Valerio) kamicane / moofx (Valerio) Why Mozilla Matters: Brendan Eich (Arian) Ubuntu (source code) (Arian) Next Week QUnit with Jörn Zaefferer Transcript MERRICK: Yeah, call me Mer-rock, I’m cool with that.[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 49 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: Jamison Dance.JAMISON: Hello friends.CHUCK: And I'm Charles Max Wood from DevChat.tv. And I just want to remind you, if you're going to sign up for Rails Ramp Up, you have one week.We also have two special guests and that is Valerio ProiettiVALERIO: Hello.CHUCK: And Arian Stolwijk.ARIAN: Hello.CHUCK: And I think I got close on those names. Okay. So, why don't we have Arian go first? I'd like you just to introduce yourself really quickly for people who aren’t familiar with who you are?ARIAN: So, I’m Arian. I'm a MooTools developer mostly. Besides that, I work for a company called Symbaloo which is bookmark website page. Besides that, I'm actually still studying for my Master’s Degree in Embedded Systems. And that's about it.CHUCK: Cool. And Valerio, do you want to introduce yourself?VALERIO: Sure. Well, I created MooTools a few years ago and since then, a lot of cool people have joined the project like Arian who we have here today. I’m currently working in Sweden at Spotify.CHUCK: Oh, cool!MERRICK: Very cool!CHUCK: Yeah, we like Spotify.MERRICK: Is that the headquarters of Spotify is in Sweden?VALERIO: Yeah, this is the where the magic happens. They have other offices but they're not as important as the Swedish one.[Laughter]VALERIO: I'm kidding. Everybody’s important, not just the Swedish one.CHUCK: Very nice, very nice. Alright. So, do you guys want to just take a minute and explain what MooTools is? I think people have some idea, but just to get kind of a base line for the rest of the conversation.VALERIO: Yes,Special Guests: Arian Stolwijk and Valerio Proietti. 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 Mar 201346min

048 JSJ Why JavaScript Is Hard
PanelJoe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) AJ O’Neal (twitter github blog) Discussion 00:56 - Why JavaScript is hard to learn02:30 - This05:30 - Bind09:11 - Browsers11:01 - Class-based inheritancePrototypal inheritance 16:37 - New function18:51 - Closures20:51 - JavaScript is asynchronous22:14 - Variable scopingHoisting 26:14 - Numbers and math(AJ joins the podcast) == ’s vs === ’s 32:15 - Things that make JavaScript hard after learning JavaScriptPackage management 35:06 - Numbers (cont’d)Crypto Bitwise operations Strings Effective JavaScript by David Herman 044 JSJ Book Club: Effective JavaScript with David Herman 40:16 - Changing/Evolving JavaScript43:31 - Environmental reasons that make JavaScript HardTooling 48:25 - Few projects are primarily JavaScript49:07 - Adolescence and the JavaScript Ecosystem53:59 - Running JavaScript PicksSharpie Metallic Silver (AJ) The how and why of auto-executing functions (in JavaScript) (AJ) The JavaScript Unicycle (AJ) RSA (Tim) OUYA (Tim) Borderlands 2 (Joe) MechWarrior Tactics (Chuck) Testing Clientside JavaScript (Joe) Fire Up Ember.js | PeepCode (Chuck) Meet Chef (Part 2 of 2) | PeepCode (Chuck) Next Week MooTools with Arian Stolwijk and Valerio Proietti Transcript TIM: I’m just learning lots of math and attempting to do real math in JavaScript is a fun challenge.[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 48 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Howdy!CHUCK: We also have Tim Caswell.TIM: Hello!CHUCK: And I’m Charles Max Wood from DevChat.tv. And when this episode goes out, you’re going to have about two weeks left if you wanted to sign up for my Rails Ramp Up course. You’ll find that at RailsRampUp.com. I’ve been working hard on that.This week, we’re going to talk about why JavaScript is hard. And I think it was Tim that came on and said, “So, we’re talking about why JavaScript sucks?” And I didn’t want to call it that but at the same time, it’s one of the -- I think the reasons that people find JavaScript hard and the reasons some people say that JavaScript sucks are kind of the same thing. So, if you want to think of it that way, go right ahead.But I kind of wanted to talk about this for a couple of reasons. One was that I was at the users’ group meeting last week and they talked about some of the things that make JavaScript hard and I don’t remember what they all were. But there were a few things that, there are some concepts that are markedly different from what you find in other languages or at least some of the concepts exist in the other languages but they aren’t kind of as important or as in-your-face as they are in JavaScript.Anyway, the other reason is that I was thinking about when I first started this show. And when I first started the show, I was a web developer that was kind of like, “jQuery, whoo!” And thought jQuery and JavaScript, you know, were mostly the same in the sense that the only way to write sane JavaScript was to use jQuery. And so, I wanted to talk around some of the things that I’ve learned over the last year from the other panelists and help people who are coming into JavaScript understand the real power behind some of these other concepts.So that being said, let’s go ahead and get started. I’m a little curious as to what you guys think are some of the hard things that people run into in JavaScript, like why do they struggle with it?TIM: Alright. So, 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.
22 Feb 20131h 3min

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 Feb 201357min

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 Feb 201344min

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 Feb 201353min

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 Jan 20131h 1min

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 Jan 201346min

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 Jan 201359min