4

Discrete and computational geometry [electronic resource] : Japanese conference, JCDCG 2004, Tokyo, Japan, October 8-11, 2004, revised selected papers / Jin Akiyama, Mikio Kano, Xuehou Tan (eds.)

Berlin ; New York : Springer, [2005]




4

Developments in language theory [electronic resource] : 11th International Conference, DLT 2007, Turku, Finland, July 3-6, 2007 : proceedings / Tero Harju, Juhani Karhumäki, Arto Lepistö (eds.)

Berlin ; New York : Springer, [2007]




4

Developments in language theory [electronic resource] : 8th International Conference, DLT 2004, Auckland, New Zealand, December 13-17, 2004 : proceedings / [Cristian S. Calude, Elena Calude, Michael J. Dinneen (eds.)]

Berlin : Springer, [2005]




4

Developments in language theory [electronic resource] : 9th international conference, DLT 2005, Palermo, Italy, July 4-8, 2005 : proceedings / Clelia De Felice, Antonio Restivo (eds.)

Berlin ; New York : Springer, [2005]




4

Diagrammatic representation and inference [electronic resource] : 4th international conference, Diagrams 2006, Stanford, CA, USA, June 28-30, 2006 : proceedings / Dave Barker-Plummer, Richard Cox, Nik Swoboda (eds.)

Berlin ; New York : Springer, [2006]




4

The evolution of carbon markets [electronic resource] : design and diffusion / edited by Jørgen Wettestad and Lars H. Gulbrandsen




4

Review of the implementation of the Regional Forest Agreement for the south-west forest region of Western Australia for the period 2009 - 2014 / Graham Wilkinson, independent reviewer

Wilkinson, Graham, author




4

Amazon sees loss in Q2 as it forecasts $4 bn in coronavirus related costs

Internationally, the pandemic has hit Amazon the hardest in India, where the company has had to forgo sales to comply with the government restricting delivery to essential goods such as groceries




4

India has over 500 mn active Internet users, 14% aged 5-11: Report

According to IAMAI's 'Digital in India' report, India had 504 million active Internet users, who logged onto the web at least once in the last one month, at the end of November 2019




4

West Bengal: Trinamool MP took Rs 4 crore from Saradha’s Sen



  • Cities
  • DO NOT USE West Bengal

4

Haunted by ‘mistakes’ of 34 yrs in Bengal



  • DO NOT USE West Bengal
  • India

4

14-year-old girl returns home 80 days after being abducted and allegedly raped



  • DO NOT USE West Bengal
  • India

4

Chronicling America: Historic American Newspapers: Checking Out Baseball’s World Series in Washington 1924, 1925 and 1933

Game 3 of the 2019 World Series gets underway in Washington, DC, tonite and we're excited! Not since 1933 has Washington hosted the championship games of “America’s great pastime,” baseball! In 1924, Washington’s then-home baseball team, the Washington Senators, won the series and earned bragging rights in 7 games against the New York Giants. Not quite so successful in 1925 and 1933 against the Pittsburgh Pirates and the Giants again, respectively, the nation’s press still covered the sport in detail and with drama. Check out the newspaper coverage for each of these series or earlier World Series and read more about it! And be sure to follow us on Twitter @librarycongress #ChronAm for more fun snippets of old news!




4

Chronicling America: Historic American Newspapers: 119 YEARS AGO: "The Gobble," San Francisco Call," Nov. 24, 1901

Not enjoying the Thanksgiving spirit? Here's an unusual poem by Clarence V. Odell describing the turkey-eat-turkey dynamic of a 'gobble,' another name for a flock of the big birds (also known as a 'rafter').

"NINE greedy gobblers having a fete,
One ate his head off, then there were eight...."

Pity the turkeys... it rarely ends well for them!

Read more about it and follow us all the time on Twitter @librarycongress #ChronAm!




4

Improving and optimizing operations : things that actually work! : Plant Operators Forum 2004 / edited by Edward C. Dowling, Jr. and John I. Marsden

Plant Operators Forum (2004 : Denver, Colo.)




4

Magnesium : science, technology and applications : proceedings of the International Conference on Magnesium - Science, Technology and Applications, September 20-24, 2004, Beijing, China / edited by W. Ke ... [et al.]

International Conference on Magnesium : Science, Technology and Applications (2004 : Beijing, China)




4

Pressure Hydrometallurgy 2004 : 34th Annual Hydrometallurgy Meeting of CIM, October 23 rd--27th, 2004, Banff, Alberta, Canada : proceedings of the International Conference on the Use of Pressure Vessels for Metal Extraction and Recovery / editors, M.J.Col

Hydrometallurgy Meeting (34th : 2004 : Banff, Alta.)




4

Seventh Mill Operators' Conference, 12 - 14 October 2000 Kalgoorlie, Western Australia [electronic resource]

Mill Operators' Conference (7th : 2000 : Kalgoorlie, Western Australia)




4

ALTA 1996 Copper Hydrometallurgy Forum : October 14-15, 1996, Sheraton Hotel, Brisbane, Australia / organised by ALTA Metallurgical Services

Copper Hydrometallurgy Forum (1996 : Brisbane, Qld.)




4

ALTA 2002 Copper conference : May 23-24, 2002, Rendezvous Observation City Hotel, Perth, Australia




4

ALTA 2007 Copper Conference : May 24-25, 2007, Rendezvous Observation City Hotel, Perth, Australia




4

Nickel/Cobalt Pressure Leaching & Hydrometallurgy Forum : May 13-14, 1996, Hyatt Hotel, Perth, Western Australia / organised by ALTA Metallurgical Services

Nickel/Cobalt Pressure Leaching & Hydrometallurgy Forum (1996 : Perth, W.A.)




4

ALTA 1995 nickel/cobalt laterites, the how to's of project development : May 4-5, 1995, Le Meridian Hotel, Melbourne, Australia




4

ALTA 2000 SX/IX-1 : technical proceedings : 4th & 5th October 2000, the Stamford Grand Hotel, Glenelg Beach, South Australia




4

ALTA 2007 Uranium Conference : May 24-25, 2007, Rendezvous Observation City Hotel, Perth, Australia

ALTA Uranium Conference (3rd : 2007 : Perth, W.A)




4

Impurity control and disposal in hydrometallurgical processes : 24th annual Hydrometallurgical Meeting : proceedings of the International Symposium on Impurity Control and Disposal in Hydrometallurgical Processes, Toronto, Ontario, Canada, August 21-24, 1

International Symposium on Impurity Control and Disposal in Hydrometallurgical Processes (1994 : Toronto, Ont.)




4

Impurity control & disposal : proceedings of the CIM 15th Annual Hydrometallurgical meeting, held in conjunction with the CIM 24th Annual Conference of Metallurgists, Vancouver, Canada, 1985

Hydrometallurgical Meeting (15th : 1985 : Vancouver, B.C.)




4

Hydroprocess 2008: II International Workshop on Process Hydrometallurgy : 14-16 May 2008, Santiago, Chile / editors, Jorge Menacho & Jesús Casas

International Workshop on Process Hydrometallurgy (2nd : 2008 : Santiago, Chile)




4

World Gold 2007 : 22-24 October 2007, Cairns, Australia / edited by Jim Avraamides, Guy Deschênes and David Tucker

World Gold 2007 (2007 : Cairns, Australia)




4

ALTA 2010 Nickel/Cobalt/Copper Conference : May 24-26, 2010, Sheraton Hotel, Perth, Australia

ALTA Nickel/Cobalt/Copper Conference (1st : 2010 : Perth, W. A.)




4

Hydrometallurgy of nickel and cobalt 2009 : proceedings of 39th annual Hydrometallurgy Meeting held in conjunction with the 48th Conference of Metallurgists, August 23-26, 2009, Sudbury, Ontario, Canada / editors, J.J. Budac ... [et al.]

Hydrometallurgy Meeting (39th : 2009 : Sudbury, Ont.)




4

Iron control technologies : proceedings of the third International Symposium on Iron Control in Hydrometallurgy, Montreal, Canada, October 1-4, 2006 / editors, J.E. Dutrizac and P.A. Riveros

International Symposium on Iron Control in Hydrometallurgy (3rd : 2006 : Montréal, Québec)




4

Forex reserve cover for imports increases to 11.4 months

The country’s foreign exchange reserves cover for imports increased to 11.4 months as of end December 2019 from the 10.4 months in September 2019, the




4

004 JSJ Backbone.js with Jeremy Ashkenas

The panelists discuss Backbone.js with Jeremy Ashkenas.




4

014 JSJ SVG and Data Visualization with Chris Bannon

The panelists talk about SVG and data visualization with Chris Bannon.




4

024 JSJ Strata.js with Michael Jackson




4

034 JSJ Ember.js

Panel Trek Glowacki (twitter github Trek by trek) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Discussion 02:18 - Ember.js (twitter, github, site) 03:17 - Based on/Inspired by SproutCore? 05:39 - The Rails of JavaScript? “Magical” 06:29 - todomvc Backbone.js    11:21 - Pulling pieces of Ember.js 12:07 - Struggles with using Ember.js Learning API can and does change frequently The applications that Ember.js targets are new New patterns 18:45 - Developer style 22:59 - Rendering 24:42 - Philosophy of Ember.js 27:00 - Ember.js router State machines 32:31 - Spending time learning Ember.js 35:06 - Frameworks and Wordpress 41:57 - Event loop 42:49 - API Object system Binding syntax Handlebars.js 46:38 - Rendering and nesting views Picks Promo Only (AJ) TinyToCS: Tiny Transactions on Computer Science (Jamison) HandBrake (Chuck) BitTorrent (Chuck) Transmission (Chuck) Presto 04213 Electronic Digital Timer (Chuck) Crafty.js (Trek) About Face 3: The Essentials of Interaction Design by Robert Reimann (Trek) Tucker Teaches the Clockies to Copulate by David Erik Nelson (Trek) Transcript  JAMISON: And I’m looking sexy. [This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.] [This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.] [Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net] CHUCK: Hey everybody and welcome to Episode 33 of the JavaScript Jabber show. This week on our panel we have AJ O’Neal. AJ: Yo, yo, yo. Comin’ at you live from DJ sphere of Orem, Utah. CHUCK: We also have Jamison Dance. JAMISON: Oh, gosh you get to ----. I'm sorry AJ; your intro was so good. [laughs] CHUCK: [laughs] I'm Charles Max Wood from devchat.tv and this week, we have a special guest and that is Trek Glowacki? TREK: Oh, very close. Good job. CHUCK: [laughs] Do you wanna straighten it up for us? TREK: You can just call me Trek. Everyone does. CHUCK: Ok. How many generations removed are you from Poland or whatever? TREK: So I'm a first generation American. My parents are foreign. But my dad is Belgian, not Polish nationally, but of a Polish decent. CHUCK: Oh, OK. That's interesting. TREK: Yeah. My driver’s license is weird and everything is misspelled. My voter registration is spelled wrong. It’s kind of a nightmare. It’s why I just go by Trek. I try to snag @trek as a user handle everywhere. So I'm @trek on Twitter-- just makes my life easier. CHUCK: Yeah. That makes sense. I have to say that, if your voter registration is messed up, I hope you are voting for that “other guy”. And I'm not going to be specific about my --- because I don’t wanna start a firestorm on a programing podcast for that, so we’ll just leave it there. Anyway, we are going to be talking about Ember.js today. Now, I know that Yehuda and Tom Dale work on it. Do you work on it too or are you just kind of an expert user? TREK: A little bit of both. I hang out on the secret volcano base that we have, with Yehuda and Tom and my contributions are-- JAMISON: That's why your audio quality is so good. TREK: Yeah, we are at the volcano base, it’s really is beaming to a satellite in space. CHUCK: Yeah volcano net is awesome. TREK: So,




4

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,




4

041 JSJ Single Page Applications

Panel Jamison 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 Conferences Broad Conferences vs Focused Conferences Utah Open Source/Open West Conference 2013 05:28 - Single Page Application Frameworks jQuery Backbone.js Ember.js pure.js plates.js AngularJS 15:10 - Path & Hash Routing Pushstate/Popstate sammy.js jquery.bbq localStorage == cookies history.js 22:23 - Synchronizing Your Data WebSocket Operational Transformation Lucidchart 24:51 - WebSockets cURL Socket.IO 32:44 - App Issues Memory 38:52 - When do you want a Single Page App? Jade LESS Picks Simple (AJ) Coding for Interviews (Jamison) Empirical Zeal: What does randomness look like? (Jamison) Aeron Chair by Herman Miller (Chuck) Allrecipes.com (Chuck) Book Club Effective 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.




4

042 JSJ CSS and CSS Superset Languages

Panel Brian 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 Gripes Sass Scalable and Modular Architecture for CSS (SMACSS) CSS3 16:32 - Preprocessors/Compilers LESS Sass Stylus Compass Chris Eppstein 20:34 - Basic Features of CSS Preprocessors nib mix-ins 23:02 - Usefulness 27:15 - Mathematics w/ Variables Susy 28:54 - Animation Using CSS animations 31:12 - Nesting 35:40 - Build Processes grunt.js 42:20 - Distinction Prefixing 47:35 - Tightly Coupled Picks Old 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 Club Effective 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.




4

043 JSJ Sinon.JS

Panel Christian Johansen (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Jamison Dance (twitter github blog) Discussion 00:45 - Christian Johansen Test-Driven JavaScript Development Sinon.JS Gitorious 01:26 - Sinon.JS 02:22 - Stubs, Mocks and Spies Mocks Aren’t Stubs: Martin Fowler Mocha 10:47 - History of Sinon.JS 12:25 - XHR, HML, HTTP 13:36 - Mocking the Clock Set Time Out 17:22 - Test-Driven JavaScript Development Andrea Giammarchi @WebReflection The Pragmatic Bookshelf Screencasts 21:43 - Test Framework Buster.JS js-test-driver 24:17 - Other Mocking Libraries mockjax 26:24 - Mocking Properties 27:22 - Matchers 30:46 - Sinon.JS Gotchas 33:10 - State of Test-Driven Development in JavaScript Strategies for Testing Picks Jack 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,




4

044 JSJ Book Club: Effective JavaScript with David Herman

Panel David 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 Introduction Mozilla Mozilla Research TC39 - ECMAScript 01:45 - Effective JavaScript by David Herman 04:27 - Reader Opinions & Controversy JavaScript:The Good Parts by Douglas Crockford 09:09 - ES3 Shimming 11:25 - Code: effectivejs/code 12:50 - Parts of the Book 15:54 - Blocking Web Gestures With getUserMedia: Part1: Aaron Frost 17:28 - Book Level of Difficulty Effective C++ by Scott Meyers 20:09 - Asynchronous APIs Recursion Tail-Call Optimization 26:51 - Programming Language Academics 30:55 - DOM Integration Effective C++ by Scott Meyers Effective STL by Scott Meyers 31:50 - Advice for JavaScript Beginners Eloquent Javascript by Marijn Haverbeke JavaScript Enlightenment by Cody Lindley How to Design Programs 33:16 - Advice for Programmers in General 34:53 - Performance 38:16 - The JavaScript Language 40:45 - Primitives Vs Wrapper Classes 42:37 - Semicolons 45:24 - -0/+0 Picks Jack (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,




4

045 JSJ jQuery

Panel AJ 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 MooTools 10:50 - JavaScript Going Mainstream Fast Browsers Firefox Web Developer Tools V8 Web Stack 13:21 - Usable JavaScript 17:05 - jQuery Pros Cross-Platform CSS Selection Chaining 20:16 - jQuery Mobile 20:48 - QUnit 21:21 - Running jQuery in Node Scraping 22:32 - CSS Manipulation 24:14 - jQuery UI 25:19 - jQuery Community 26:31 - jQuery Plugins AJ’s image Merrick’s image 29:52 - Ender & Zepto.js 33:44 - jQuery Cons Custom Selectors Plugin Documentation API is too large How to build your own jQuery 52:15 - AJ lied about jQuery Picks The 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.




4

046 JSJ Staying Current

Panel 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 03:19 - The Future of JavaScript and ES6 es-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 - Blogs Ben Alman James Burke LosTechies Alvin Ashcraft’s Morning Dew The Changelog reddit 17:02 - Filtering Readability Pocket (formerly Read It Later) Instapaper three.js UTOSC 2012 Machine Learning in JavaScript Jamison Dance VIDEO0023 23:21 - The Community Airbnb Meetups Addy Osmani: Articles for Developers Utah JS Utah Software Craftsmanship Group Ruby Rogues Parley 27:33 - Podcasts and Videos The 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 Blogs HTML5 Rocks A Minute With Brendan Eich John Resig 36:16 - Conferences CascadiaJS JSConf NodeConf Picks Sherlock 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!




4

047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale

Panel Tom 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 Introduction browserify 02:37 - Tom Dale Introduction iCloud Ember.js Big Data & Hadoop 04:47 - Specialized vs Monolithic github.com/tildeio Idiology Micro Libraries 14:13 - Learning Frameworks 18:04 - Making things modular 25:23 - Picking the right tool for the job 27:44 - voxel.js & emberjs emberjs / packages BPM - Browser Package Manager NPM - Node Packaged Modules testling-ci Backbone.js 38:19 - Module Systems CommonJS 41:14 - Cloud9 Use Case 43:54 - Bugs jQuery Source Code Picks jQuery 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.




4

048 JSJ Why JavaScript Is Hard

Panel Joe 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 learn 02:30 - This 05:30 - Bind 09:11 - Browsers 11:01 - Class-based inheritance Prototypal inheritance 16:37 - New function 18:51 - Closures 20:51 - JavaScript is asynchronous 22:14 - Variable scoping Hoisting 26:14 - Numbers and math (AJ joins the podcast) == ’s vs === ’s 32:15 - Things that make JavaScript hard after learning JavaScript Package 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 JavaScript 43:31 - Environmental reasons that make JavaScript Hard Tooling 48:25 - Few projects are primarily JavaScript 49:07 - Adolescence and the JavaScript Ecosystem 53:59 - Running JavaScript Picks Sharpie 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,




4

049 JSJ MooTools with Valerio Proietti and Arian Stolwijk

Panel Valerio 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 Introduction MooTools Developer Symbaloo 01:39 - Valerio Proietti Introduction MooTools Creator Spotify 02:21 - What is MooTools? Github - MooTools 07:04 - The Class System mootools / prime 09:36 - Milk 10:25 - Design Goals Ghost 11:19 - Prime mootools / wrapup CommonJS 14:18 - MooTools vs jQuery 19:53 - Using MooTools and jQuery together Object Oriented jQuery with MooTools @jQuery Conference: Ryan Florence 21:08 - MooTools for Frameworks epitome neuro Github - MooTools 23:48 - Chaining MooTools Demos - Chaining 26:59 - Request API for Ajax calls 29:11 - Favorite MooTools-using Websites Spotify 9GAG 29:45 - Accomplishments Class System wrapup arian / prime-util 31:36 - The history of MooTools script.aculo.us moo.fx Picks Wasteland 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 Proietti VALERIO:  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,




4

050 JSJ QUnit with Jörn Zaefferer

Panel Jörn Zaefferer (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:15 - Jörn Zaefferer Introduction jQuery QUnit 02:32 - QUnit jQuery Mobile Introduction to Unit Testing | QUnit 06:59 - Built-in support for HTML fixtures for your tests 08:50 - Unit Testing joshuaclayton / specit mmonteleone / pavlov 11:57 - Assertions fn:deep-equal 15:49 - Why use QUnit? unit testing - QUnit vs Jasmine - Stack Overflow stacktrace.js 023 RR Book Club: Smalltalk Best Practice Patterns with Kent Beck 26:01 - User experience for user interface 30:03 - Continuous integration setups Jenkins CI PhantomJS 023 JSJ Phantom.js with Ariya Hidayat jquery / testswarm jQuery's TestSwarm BrowserStack 36:55 - Testing in JavaScript Sauce Labs: Cloudified Browser Testing Testacular SeleniumHQ 43:35 - Add-ons Picks MYO - The Gesture Control Armband (Jamison) Mailbox (Jamison) Testing Clientside JavaScript (Joe’s Course) (Joe) DragonBox (Joe) Breeze.js (Joe) Anker Battery Pack (Chuck) App.net (Chuck) Leap Motion (Jörn) jQuery Validation Plugin Pledgie (Jörn) Next Week Finding a job Transcript JOE:  I'm really glad that I didn’t know you when Star Wars first came out....Dude! Vader’s Luke’s father. [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 50 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  We have Joe Eames. JOE:  Hey, everybody. CHUCK:  I'm Charles Max Wood from DevChat.tv. I'm the only person on this particular episode whose name does not start with J. We also have -- I know I'm going to destroy this name. Jorn Zaefferer. JORN:  Hi! Yeah, it’s me. You should have practiced the last name too. CHUCK:  Yeah. JOE:  You should pronounce that correctly for us so we know. JORN:  Jorn Zaefferer. CHUCK:  Alright. Well, I can say Jorn. So, I’m going to stick with that. JORN:  Yeah, that works. CHUCK:  Do you want to introduce your self for the people who aren’t aware of who you are and what you do? JORN:  Sure. I'm a freelance software developer since a little bit more than two years now. I am involved a lot in the jQuery project and have been involved in that for years. So far, I'm the only person on the Board of Directors of the jQuery Foundation outside of the US. And for the jQuery project, I'm working mostly on jQuery UI and the testing tools. So jQuery UI, I'm one of the lead developers. One was Scott Gonzalez. For the testing tools, I'm leading that team. So, I'm trying to get contributions from other people so things move along evenly. There’s usually much more work to do than I can handle myself. So, I’m trying my best to get open source going there. CHUCK:  So, you work on jQuery UI and QUnit? JORN:  I’m working on the jQuery UI and the testing tools which involves QUnit and a few other things. QUnit is the one that’s actually featured in the jQuery site. We also have TestSwarm and even smaller tools that eventually should get there as well. It’s much more influx than QUnit is. CHUCK:  Interesting. So, we brought you on the show to talk about QUnit. Joe is kind of our testing guru as far as JavaScript goes. Is QUnit just a unit testing framework or do you provide other tools for integration with a backend or other libraries? JORN:  QUnit focuses mostly on unit testing. But people usually end up using it for other things as well. I heard a story where someone was using QUnit to do performance regression testing.




4

054 JSJ JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya Hidayat

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel David Herman (twitter blog Effective JavaScript) Ariya Hidayat (twitter github blog) Tim Caswell (twitter github howtonode.org) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:48 - David Herman and Ariya Hidayat Introduction 044 JSJ Book Club: Effective JavaScript with David Herman 023 JSJ Phantom.js with Ariya Hidayat 01:54 - Parsing JavaScript and ASTs and Language Grammars 04:44 - Semantics 06:08 - Abstract Syntax Tree (AST) Esprima: Parser SpiderMonkey 10:37 - Lexer 12:16 - Writing your own language creationix / jack The C Programming Language 17:41 - Parser Generators JavaScriptCore 21:04 - Evolving a Syntax Automatic Semicolon Insertion Post correspondence problem Halting problem 28:05 - Language Design The Rust Programming Language 30:35 - Grammar Regular Expressions (Regex) Backus–Naur Form (BNF) Recursion How to Design Programs (HTDP) 38:00 - Recursive Descent Parsers 42:48 - Benefits of knowing language internals and syntax Apache Lucene - Apache Lucene Core LPeg - Parsing Expression Grammars For Lua 48:48 - Abstract Syntax Tree (AST) Picks Mass Effect 3 (Joe) A Beginner's Guide to Irrational Behavior | Coursera (Joe) Go write a programming language to learn one (Tim) Thumbs and Ammo (Jamison) ISM by Savant (Jamison) Vimcasts (Jamison) The iPhreaks Show (Chuck) Mozy (Chuck) Tech & Go Bright Pink Micro USB Cable (David) asm.js (David) Beyond Office Politics: The Hidden Story of Power, Affiliation & Achievement in the Workplace by Linda Sommer (Ariya) gotwarlost / istanbul (Ariya) Next Week Web Developer Skills Transcript JAMISON:  I am Linus Torvalds and I pronounce Linux, Linix. [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 54 of the JavaScript Jabber Show. This week on our panel, we have Tim Caswell. TIM:  Hello. CHUCK:  Jamison Dance. JAMISON:  Hi guys. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  Merrick Christensen. MERRICK:  Hey guys, what’s up? CHUCK:  I’m Charles Max Wood from DevChat.tv. And we have two special guests this week. We have Dave Herman. DAVID:  Hey there. CHUCK:  Ariya Hidayat. ARIYA:  Hello everyone. CHUCK:  And these guys are so smart that we brought them back. So, if you’re interested, we’ll put links to the episodes that they were on. David was on when we talked about his book ‘Essential JavaScript’ and Ariya was on when we talked about PhantomJS. JAMISON:  Effective JavaScript. CHUCK:  Effective? What did I say? MERRICK:  Essential. CHUCK:  Essential? Well, it’s an essential book on Effective JavaScript. How’s that? [Laughter] MERRICK:  Good save. DAVID:  At least, you didn’t say Defective JavaScript. [Laughter] CHUCK:  No, that’s what I write. I’m really good at writing defective JavaScript. ARIYA:  Actually, there’s a book about Essential on Defective JavaScript. CHUCK:  I also want to announce really quickly that Fluent Conf has given us a discount code. So, if you want to get 20% off on your registration for Fluent Conf, just enter JAVAJAB and you’ll get 20% off when you register for Fluent Conf. Alright. Well, let’s get started. This is going to be a really, really interesting topic and it’s something that I’ve wanted to know more about for a long time. And I just haven’t delved as deeply into it as I would like to. And that is,




4

064 JSJ Ember Tools with Ryan Florence

Panel Ryan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:28 - Ryan Florence Introduction Instructure Canvas Network 03:04 - Ember 101 05:03 - Ember.js Workflow 047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale ember-tools 07:14 - CommonJS vs RequireJS r.js browser-build 09:58 - prego 11:39 - Generators 14:45 - Testing 16:15 - Yeoman Yeoman generators 20:49 - Scaffolding Handlebars.js 21:33 - Ember blessing ember-tools Ember.js - Making Ember.js Easier 24:19 - Using ember-tools in Rails Creating Browser Apps as Part of Express of Rails (etc.) 25:27 - Scaffolding (cont’d) 26:53 - Adapting an existing project to ember-tools 29:59 - Dbmon 30:59 - Canvas Edu Apps (learning apps built on LTI™) 32:44 - node.js 34:24 - Modules 38:59 - Contributing to ember-tools 41:46 - State Picks vim-clutch (Merrick) Star Wars: Heir to the Empire by Timothy Zahn (Joe) America’s Got Talent (Joe) Man of Steel (Joe) The Internship (Joe) Help Save Podcasting! | Electronic Frontier Foundation (Chuck) Stuff You Should Know (Chuck) Fringe (Chuck) Capgras Syndrome: You Are Not Who You Think You Are (The Stuff You Should Know Podcast) (Ryan) MIDI.js (Ryan) JS Bin (Ryan) Lifetime Products Swing Sets (Ryan) Uncooked Flour Tortillas (Ryan) Next Week JavaScript Jabber: Javascript Application Build Tools with Adam Hawkins Transcript MERRICK:  What’s up gentlemen? JOE:  Like I said, just making toot lips. JAMISON:  Isn’t toot lip like a flower of some kind? The JavaScript flower? JOE:  Doesn’t smell like a flower. CHUCK:  [Laughter] [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.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google closure compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody, and welcome to Episode 64 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  Merrick Christensen. MERRICK:  What’s up? CHUCK:  I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Ryan Florence. RYAN:  Hey, how’s it going? CHUCK:  So, you haven’t been on the show before. Do you want to introduce yourself? RYAN:  Sure. Ryan Florence. I’m from Utah like a lot of you guys. I’ve been writing JavaScript for five years now or something like that. I just picked it up. I was sick of the engineers at my company telling me that things were impossible. So, I started to show them that it was possible and then ended up getting paid more money. CHUCK:  Is that at Instructure or is that somewhere else? RYAN:  No, that was at a company actually in Idaho. CHUCK:  Ah, I see. RYAN:  So now, I work at Instructure. We build a learning management system for schools and universities. We also have Canvas.net, which is open courses for anyone to take. There are some pretty interesting ones on there like gender and comic books, things like that. It’s a fun place to work, fun product to work on. CHUCK:  Yeah, you inherited a lot of my old coworkers. I used to work for Mozy. RYAN:  Yeah, half our engineering team used to be Mozy. But I think we have offset them at this point.