js

056 JSJ Marionette.js with Derick Bailey

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel Derick Bailey (twitter github blog) AJ O’Neal (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:03 - Derick Bailey Introduction Kendo UI 02:11 - Marionette.js Backbone.js Zombie Views 06:57 - How backbone.js helps with large-scale applications Scalability 08:42 - High-level application architecture path with Marionette.js BBCloneMail BBClone Mail Source Code 13:02 - Breaking down Marionette.js marionettejs / backbone.babysitter marionettejs / backbone.wreqr 16:02 - The value of using Marionette.js Tree views Table rendering 18:23 - Application Structure 20:17 - backbone.wreqr 26:20 - Memory Management Single-page applications Simplicity & maintainability 34:23 - Routing Single responsibility principle boazsender / backbone.routefilter 41:40 - Compatibility Issues Thorax Chaplin tbranyen / backbone.layoutmanager backbone.stickit Composition vs Inheritance 48:57 - Layouts, region managers, and regions Picks Raynos / continuable (Tim) asm.js (Joe) Arrested Development (Joe) Learn CSS Layout (Merrick) Data in Gapminder World (Merrick) BYU Easter Prank (AJ) Ryan and Bryndi Engagement Story (AJ) Ryan and Bryndi Wedding Day (AJ) Libsyn (Chuck) Get Clicky (Chuck) Arduino (Derick) Johnny-Five (Derick) BackboneRails Screencasts (Derick) Settler's Of Catan (Derick) Ticket To Ride (Derick) Carcassonne (Derick) JavaScript Patterns by Stoyan Stefanov (Derick) Patterns For Large-Scale JavaScript Application Architecture: Addy Osmani (Derick) Learning JavaScript Design Patterns by Addy Osmani (Derick) Developing Backbone.js Applications: Addy Osmani (Derick) Next Week Functional Programming with Zach Kessin Transcript MERRICK:  Tim, is there anything that you don’t follow up with, "I actually wrote that a few years ago?" [Laughter] TIM:  Yeah. AJ:  I was wondering the same thing. [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 56 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ:  Yep, I’m here. CHUCK:  Tim Caswell. TIM:  Howdy? CHUCK:  Joe Eames. JOE:  Hey, everybody. CHUCK:  Merrick Christensen. MERRICK:  What’s up? CHUCK:  And we have a special guest, Derick Bailey. DERICK:  Hey, how’s it going? CHUCK:  I guess, I should say I’m on here too. I’m Charles Max Wood from Devchat.tv. Derick, do you want to introduce your self really quickly? DERICK:  Sure. Derick Bailey, obviously. I work for Kendo UI at the moment. We build HTML 5 and JavaScript controls for the web and global and all kinds of fun stuff. I’ve been working in JavaScript off and on for, let’s see, it was released in ’94. So, about 19 years, I guess. I got into it right when it was first out in Netscape 2.0 and it was a love/hate relationship for a long, long time until I finally found that I really do love it in the last couple of years and started working with it full time. I’m just enjoying the heck out of it at the moment with all of this server side stuff we can do in Node.js and all the big apps we can build with Backbone and Ember and Angular and everything else. CHUCK:  Nice. JOE:  That was a lot of enthusiasm, I liked it. MERRICK:  Yeah. CHUCK:  Yeah. It’s like JavaScript’s cool again or something. DERICK:  Yeah, it’s crazy. Everything old is new again. MERRICK:  Why can’t I be that happy?




js

057 JSJ Functional Programming with Zach Kessin

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel Zachary Kessin (twitter github Mostly Erlang Podcast) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:55 - Zach Kessin Introduction Programming HTML5 Applications Building Web Applications with Erlang Product Structure Mostly Erlang Podcast 03:01 - Functional Programming Haskell LISP Scheme Erlang Underscore.js chain 06:44 - Monad q Maybe monad 11:33 - Functional Languages vs JavaScript No side effects 18:09 - Why Functional Programming? 037 JSJ Promises with Dominic Denicola and Kris Kowal Higher order functions Ext JS 24:35 - Tail_call Recursion cdr car 044 JSJ Book Club: Effective JavaScript with David Herman 32:54 - Programming Languages Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) by Bruce Tate 33:38 - Functional Programming Libraries valentine Maybe.coffee q 36:13 - What do you miss in JavaScript? Pattern Matching Picks Vi Hart on Normalcy of Pi (Jamison) Sport Balls Replaced With Cats (Jamison) JavaScript Allongé by Reginald Braithwaite (Merrick) BonsaiJS (Merrick) Wringing out Water on the ISS - for Science! (Chuck) RequireJS (Chuck) Mostly Erlang (Zach) Boston PD (Zach) Iron Dome (Zach) Next Week Building Accessible Websites on a Podcast with Brian Hogan Transcript [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 57 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello, friends. CHUCK:  Merrick Christensen. MERRICK:  Hi. CHUCK:  I’m Charles Max Wood from Devchat.tv and this week, we have a special guest and that’s Zach Kessin. ZACH:  Hey everybody. CHUCK:  Did I say your name right, Zach? ZACH:  Yep, you got it right. CHUCK:  Alright. This week, we’re going to be talking about functional programming in JavaScript. You want to give us a little bit of a background on you, so that you can kind of explain, I don’t know, who you are and your expertise here? ZACH:  Oh, okay. So yeah, I’m Zach Kessin. I’ve been a software developer for close to 20 years, on the web, close to 20 years now. My first web app in PHP version -- oh, not PHP, in Perl version 4 with mSQL, because MySQL didn’t exist yet. That was, like, 1994. And let’s see, I’ve been doing web applications ever since. Worked in Boston area, in London and then in Israel for about 10 years now. I’m also the author of ‘Programming HTML5 Applications’ and ‘Building Web Applications with Erlang’, both published by O’Reilly. And my interests include functional programming, code generation and concurrency in Erlang. So, well, that’s a different show. That’s sort of my background. And I work at a small Tel Aviv startup called Product Structure that we build [inaudible] components and workflows that will be self-optimizing on your website. So, that’s what we’re doing. We’re launching it soon. CHUCK:  Cool. MERRICK:  Very cool. CHUCK:  You just launched your own podcast, didn’t you? ZACH:  Yeah. I just launched my own podcast called ‘Mostly Erlang’. It’s going to cover Erlang and occasionally other functional languages like Haskell and OCML. We had our first, we recorded our first episode last week. And the first episode is called ‘Building Skynet’. And the second episode will be on the Webmachine framework, which is an HTTP framework, backend framework though, to do semantically correct Webmachine.




js

058 JSJ Building Accessible Websites with Brian Hogan

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel Brian Hogan (twitter github blog) AJ O’Neal (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:55 - Brian Hogan Introduction HTML5 and CSS3: Develop with Tomorrow's Standards Today by Brian Hogan tmux: Productive Mouse-Free Development by Brian Hogan Web Development Recipes by Brian P. Hogan, Chris Warren, Mike Weber, Chris Johnson, Aaron Godin Development Editor with Pragmatic Bookshelf Professor at Chippewa Valley Technical College 01:48 - What Accessibility Means 02:56 - Making Websites Accessible YSlow People vs Users 06:06 - “The Right Things” VersaBraille Responsive Web Design 09:00 - Tools & Techniques Fahrner Image Replacement (FIR) Web Fonts ⌘+ 14:56 - Manipulating the DOM ARIA - HTML5 Ember.js 16:54 - Screen Resolution 19:24 - Typeahead 20:58 - Testing Jaws VoiceOver 23:11 - Resources WebAIM Web Content Accessibility Guidelines (WCAG) Section 508 25:00 - Dealing with different kinds of impairments Transcripts Text Color 28:08 - Ease of Accessibility & Empathy 31:41 - Interactive Pages 35:26 - Making things accessible vs not making things accessible Making experiences better for everyone, period 42:09 - Resources Cont’d Web Content Accessibility Guidelines (WCAG) Pro HTML5 Accessibility by Joe O Conner Design Accessible Web Sites: 36 Keys to Creating Content for All Audiences and Platforms by Jeremy Sydik 42:46 - Understanding Others’ Difficulties Picks Leviathan: Warships (Joe) Star Command (Joe) That Conference (Joe) Lowes (AJ) Friends (AJ) Ticket to Ride (Chuck) 4 Pics 1 Word (Chuck) Continuum (Chuck) AngularJS (Brian) Presentation Manager from Woojijuice (Brian) Next Week JavaScript Jabber: jQuery Mobile with Todd Parker Transcript MERRICK:  Fine, don’t come to my talk. CHUCK:  I won’t. I won’t even come to the conference. [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 58 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ:  Coming at you semi-live from ORM. CHUCK:  Joe Eames. JOE:  Hey everybody. CHUCK:  Merrick Christensen. MERRICK:  What’s up? CHUCK:  I’m Charles Max Wood from Devchat.tv. And this week, we have a special guest. And that is Brian Hogan. BRIAN:  Hello. CHUCK:  Since you haven’t been on the show before, do you want to introduce your self really quickly? BRIAN:  Sure, my name is Brian Hogan and I’m a web developer and I like to spend a lot of time hacking on code in Ruby and JavaScript. I also am an author. I’m a development editor with The Pragmatic Bookshelf. And I have a fabulous new gig where I get to teach brand new programmers how to get started programming now. So, that’s what I’m doing myself. CHUCK:  So where’s that at? AJ:  Cool. BRIAN:  That’s at a little technical college in Eau Claire, Wisconsin called Chippewa Valley Technical College. CHUCK:  Oh, cool. Yeah, speaking of your reviewing books for The Pragmatic Bookshelf, Ruby Rogues, we actually interviewed Bruce Williams and John Athayde about The Rails View this morning. They mentioned you, and I was like “Oh, we’re talking to him in a couple of hours.” BRIAN:  Oh, those are some great guys and that’s a great book. CHUCK:  Yup. So, the reason we brought you on the show is because, at least in my case, I know absolutely nothing about building accessible websites.




js

059 JSJ jQuery Mobile with Todd Parker

Panel Todd Parker (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:53 - Todd Parker Introduction Filament Group 01:21 - DevChat.tv Indiegogo Campaign 01:55 - jQuery Mobile jQuery UI 04:13 - Responsive web design 06:17 - Mobile & Proxy Browsers WebKit Opera & Opera Mini Amazon Silk 14:06 - Enhancements 17:11 - Plugging jQuery Mobile into Desktop Applications 19:11 - Using client-side MVC frameworks AngularJS jQuery Mobile Resources Page 21:52 - Filament Group and jQuery projects ThemeRoller The Filament Group on Github Microsoft Contributions 28:26 - Theming Structure vs Style Object-oriented CSS Widget Factory 37:25 - Accessibility 058 JSJ Building Accessible Websites with Brian Hogan ARIA 44:18 - Progressive Enhancement Bootstrap Designing with Progressive Enhancement: Building the web that works for everyone by The Filament Group Visualize Picks Disenchanted by Robert Kroese (Joe) Sid Meier's Ace Patrol (Joe) Zeds Dead & Omar LinX (Merrick) RequireJS (Merrick) Ember 101 Screencasts (Jamison) Gifsicle (Jamison) vundle (Jamison) D-Link SharePort Go Mobile Companion with Rechargeable Battery (Chuck) E-3lue Cobra Type-M EMS131BK High Precision Gaming Mouse (Chuck) TotalMount - Apple TV Universal Mounting Kit (Chuck) Sonos (Todd) Sketch App (Todd) GitHub (Todd) iOctocat (Chuck) Grunt (Todd) LEGO Batman: DC Super Heroes (Todd) Next Week Development Environments Transcript [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 59 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hey everybody. CHUCK:  Jamison Dance. JAMISON:  Hello. CHUCK:  Merrick Christensen. MERRICK:  Hey guys. CHUCK:  I’m Charles Max Wood from DevChat.tv. And we have a special guest, Todd Parker from the jQuery UI team. TODD:  Hey everyone. CHUCK:  You want to introduce yourself really quickly? TODD:  Sure. My name is Todd Parker. I am a partner here at Filament Group in Boston. We’re a small web design shop. And I’m also the project lead for the jQuery Mobile team. And previous to that, I was on the jQuery UI team as well. So, I’m both covered. CHUCK:  Did I say jQuery UI? I meant jQuery Mobile. TODD:  You did. I was covering for you though, it’s okay. CHUCK:  [Laughs] Awesome. Before we get too far into this, I want to make one announcement and that is that I’ve set up an Indiegogo campaign for the network of podcasts that this is a part of. So, we’re trying to build a website that has all the features that people have been asking for. Mostly it has to do with search and some RSS feed management stuff. So, if you would like to support the show, then by all means do so. You can do it by going to Indiegogo.com/projects/DevChat-tv. And I’ll put a link to the show notes so that you can find it. Alright. Well, let’s talk about jQuery Mobile here. I’m a little curious. I’ve played with it a little bit, but I haven’t really had to build too many Mobile sites. So, can you explain a little bit about what the focus is and how it’s different from the jQuery that we all know and love? TODD:  Sure. So, jQuery Mobile started its life, it’s very similar in concept to jQuery UI, so it’s a user interface framework that’s built on top of jQuery core. The difference between UI and Mobile is obviously UI is much more desktop focused, and Mobile is mobile focused. That said, jQuery Mobile, from the beginning,




js

060 JSJ Development Environments

Panel AJ O’Neal (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:09 - Mac, Windows or Linux? tmux Emacs Homebrew DigitalOcean 05:41 - Tools Jenkins CI TeamCity 07:49 - Editors and IDEs Vim MacVim MacVim Alloy Fork The NERD tree Sublime Text Chocolat TextMate JetBrains WebStorm David Laing: Customise your .gitattributes to become a Git Ninja 16:03 - Software & Tools cont’d Grunt.js RequireJS Test Runner Mocha Karma istanbul Compass Google Chrome Git Tower Kaleidoscope 20:26 - Terminal Setups and Databases iTerm2 tmux tmuxinator oh-my-zsh bash-it nvm Homebrew MacPorts Postgres.app 25:03 - Music Google Play Explosions in the Sky Sigur Rós Album Leaf Spotify OverClocked ReMix "Masters of Classical Music" on iTunes Joe Satriani Aurgasm 30:04 - Equipment Bose QuietComfort 15 Acoustic Noise Cancelling Headphones Performance MX Mouse Ultrasone HFI-580 S-Logic Surround Sound Professional Headphones GOgroove BlueSYNC OR3 Rechargeable Bluetooth Portable Wireless Speaker Jawbone JAMBOX Wireless Bluetooth Speaker 32:17 - GitHub 33:42 - Office Furniture Mirra Chair by Herman Miller Aeron Chair by Herman Miller VendorGear Headrest for Herman Miller Aeron Chair Ergotron LX Desk Mount LCD Arm 37:42 - Laptop Bags Leather Round Satchel | Saddleback Leather Co. (Merrick’s Bag) Samsonite Leather Expandable Briefcase (Chuck’s Bag) 39:45 - Vagrant VMware Fusion VirtualBox Parallels 42:38 - Travel Equipment Anker Battery Pack D-Link SharePort Go Mobile Companion with Rechargeable Battery 44:20 - Chrome DevTools Firebug 45:11 - Task Management, Collaboration & Social Media Tweetbot OmniFocus Getting Things Done: The Art of Stress-Free Productivity by David Allen Asana Trello 48:46 - Laptop Bags Cont’d Blue Novell Laptop Bag Picks Aurgasm (Joe) MLS LIVE (Joe) The Michael J. Fox Show (Joe) Brett Victor - Drawing Dynamic Visualizations (Merrick) Rabbit Mini Portable Stand (Chuck) The Pragmatic Bookshelf (Chuck) Raspberry Pi (AJ) Pandaboard (AJ) Linaro (AJ) Next Week Reactive Functional Programming in Javascript with Juha Paananen and Joe Fiorini Transcript CHUCK:  Are you un-indisposed? MERRICK:  Oh, yeah. I’ve been un-indisposed for years now. [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 60 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ:  Yo! Coming at you live from roughly an hour outside of Philly. CHUCK:  Awesome. We also have Joe Eames. JOE:  Hey there. CHUCK:  Merrick Christensen. MERRICK:  Hey guys. CHUCK:  And I’m Charles Max Wood from DevChat.tv. This week, we’re going to be talking about our development environments, setups, desk space, chairs, whatever. I’m really curious to see what way you guys have and what wisdom you have to offer. Yeah, let’s get into it. The first thing that I want to ask is, the semi-holy war between Windows machines and Macs and Linux machines. What are you guys all using for your development? MERRICK:  I use Mac. I feel so lost anytime I’m on a Windows machine and set. AJ:  I only use operating systems. So, the only two that I know of that are readily available are Mac and Linux. CHUCK: [Laughter] How about you, Joe? JOE:  I use both, significantly. CHUCK:  Both, meaning both Windows and Mac? JOE:  OSX and Windows. I don’t use Linux. CHUCK:  Awesome. I mostly use Macs.




js

061 JSJ Functional Reactive Programming with Juha Paananen and Joe Fiorini

Panel Juha Paananen (twitter github blog) Joe Fiorini (twitter github blog) AJ O’Neal (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:20 - Joe Fiorini Introduction Interaction Developer at Designing Interactive in Cleveland, OH 01:42 - Juha Paananen Introduction Software Developer at Reaktor in Helsinki, Finland 02:30 - Functional Reactive Programming (FRP) vs Functional Programming 057 JSJ Functional Programming with Zach Kessin 04:25 - Declarative Programming 05:55 - Map and Filter 07:05 - bacon.js Flapjax 09:10 - Mapping and filtering event streams 10:40 - Asynchronicity and Promises 14:28 - Using FRP ReactiveCocoa Complex UIs TodoMVC with Bacon.js, Backbone.js and Transparency.js by pyykiss 20:02 - Ember.js and FRP 22:04 - MVC frameworks and FRP Juha Paananen: FRP, Bacon.js and stuff: Chicken, Egg and Bacon.js 24:35 - Learning FRP 25:49 - Where did FRP come from? What is (functional) reactive programming? - Stack Overflow Conal Elliott: Composing Reactive Animations Haskell Reactive-banana - HaskellWiki 29:07 - Going beyond visual media substack/stream-handbook 32:18 - Wrappers 33:31 - How to build things with FRP libraries Juha Paananen @ MLOC.JS: Functional Reactive Programming in JavaScript using Bacon.js Picks SlideShare: Functional Reactive Programming in JavaScript (AJ) Valve: The AI Systems of Left 4 Dead by Michael Booth (Jamison) programming is terrible (Jamison) Simple Made Easy: Rich Hickey (Jamison) AngularJS Fundamentals (Joe's Pluralsight Course) (Joe) Open Source Bridge (Joe) That Conference (Joe) Star Trek: Into Darkness (Joe) ServerBear (AJ) rainwave (AJ) rwbackend (AJ) Mesa Boogie Lone Star Guitar Amplifier (Merrick) backburner.js (Merrick) messageformat.js (Merrick) Digital Ocean (Chuck) Emacs (Chuck) emacs_libs (Chuck) Tmux (Chuck) GitLab (Chuck) Flight by Twitter (Joe F.) Ember.js (Joe F.) CodeMash (Joe F.) fantasy-land (Juha) The Bacon.js postings featuring Phil Roberts (Juha) Iron Sky (Juha) Reaktor Dev Day (Juha) Next Week Dojo with Dylan Schiemann Transcript MERRICK:  How come nobody acknowledges when I talk? What about that? JAMISON:  That’s a deeper problem than a microphone. [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 61 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ:  Yo, yo, yo. Coming at you live from Iowa. CHUCK:  Again? AJ:  Oh, I guess I was there last time, huh? It’ll be New York soon. CHUCK:  We have Jamison Dance. JAMISON:  Howdy, guys. CHUCK:  Joe Eames. JOE E:  Hey there. CHUCK:  Merrick Christensen. MERRICK:  What’s up? CHUCK:  I’m Charles Max Wood from DevChat.tv. This week, we have two special guests. We have Joe Fiorini. JOE F:  Hello everyone. CHUCK:  And Juha Paananen. JUHA:  Yeah. Hi everybody. Juha Paananen. CHUCK:  Thank you for straightening that up for me. We’re going to have you guys introduce yourself real quick, since you haven’t been on the show before. Joe, why don’t you start us off? JOE F:  Sure. My name is Joe Fiorini and I am an Interaction Developer at Designing Interactive in Cleveland, Ohio. I do a decent amount of JavaScript development every week. I’ve discovered Functional Reactive Programming three or four months ago and it’s changed my world. CHUCK:  Awesome. And Juha, do you want to introduce yourself as well? JUHA:  Yeah, why not? I’m Juha. I’m from Finland. Helsinki.




js

062 JSJ Dojo with Dylan Schiemann

Panel Dylan Schiemann (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:57 - Dylan Schiemann Introduction The Dojo Toolkit CEO of SitePen 01:14 - Dojo TD Ameritrade The Wall Street Journal JPMorgan Chase & Co TD Bank voro.com Esri 04:40 - Why is Dojo relevant today? Peter Higgins: #dadt (Dojo already did that) 07:00 - AMD and RequireJS Performance Benefits CommonJS 10:34 - Dijit Form Controls Layout Widgets Other Widgets (i.e. grids, rich text editor controls, trees, etc.) Polymer 15:32 - Browser Support The Awesome Bar Removing Code Aspect-oriented Programming 20:01 - Dojo 2 Dojo Mobile Responsive Dijits Local Storage Better Grid Widgets Cleaner APIs 32:52 - Marketing Dojo Dojo Tutorials Good APIs Demos Target Environments 27:55 - Graded Support Graded Browser Support - YUI Library 30:56 - Maintaining the old version while moving ahead with the new version 33:01 - Strict Mode dojo.declare 34:15 - Dojo and Node.js dojo/request 36:20 - The Dojo Foundation lodash The Intern 40:21 - Testing D.O.H.: Dojo Objective Harness Sauce Labs Chai 42:56 - Charting and Graphing & Vector Graphics DojoX voro.com GFX D3 Raphaël 46:41 - The History of Dojo and Prototype Picks Sexism in Video Games - This Female Gamer is Fed Up / from a woman's view / woman / Rape is in Grand Theft Auto Game (AJ) My Fair Lady (AJ) Moon (Jamison) Dr. Dog (Jamison) Warhammer Quest (Joe) Knights of the Old Republic (Joe) Ruins by Orson Scott Card (Joe) AngularJS Fundamentals (Joe’s Pluralsight Course) (Joe) Commit (Chuck) Authority | Nathan Barry (Chuck) The Intern (Dylan) FrozenJS (Dylan) hammer throw: 1986 Youri Sedykh's World Record Series (Dylan) Kundalini Yoga (Dylan) Arcosanti (Dylan) Ubud, Bali (Dylan) Insadong, Seoul, South Korea (Dylan) Next Week Burnout Transcript JAMISON:  This is my voice. CHUCK:  You keep it with you at all times, don’t you? JAMISON:  I do. Unless I go to a rock concert or something. Then I leave it there. [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 62 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hi, guys. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  AJ O’Neal. AJ:  Not coming at you live. Not at all. CHUCK:  I’m Charles Max Wood from DevChat.tv and we have a special guest this week. That’s Dylan Schiemann. So, do you want to introduce yourself real quick, Dylan? DYLAN:  Sure. Thanks Charles. I’m Dylan. I’m one of the founders of an open source project called the Dojo Toolkit. I’m also the CEO at SitePen, a company that builds web apps and provides JavaScript training and support. CHUCK:  Awesome. Dojo’s been around for a long time, hasn’t it? DYLAN:  Nine years. CHUCK:  Nine years. DYLAN:  Oh, yeah. Three lifetimes in the Internet age, I guess. CHUCK:  Does that make it older than jQuery? DYLAN:  It does, yes. JQuery, I think, started about seven years ago, maybe. Six or seven years ago. CHUCK:  I remember seeing a couple of websites built in Dojo way back in the day. I don’t remember exactly which ones they were. For some reason, I got the impression that it was a framework, but it’s more of a toolkit. It’s much more like jQuery than it is like, say, Backbone or Ember or any of those. DYLAN:  It’s kind of everything. You can use it as a simple toolkit like jQuery. You have DOM manipulation,




js

063 JSJ Burnout

Panel 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:47 - Burnout Google: define burnout 04:57 - Pair Programming 06:19 - Burnout Guilt Thought-workers vs Laborers 10:15 - Positive Reinforcement 11:18 - Causes of Burnout Prolonged periods of high stress Crappy jobs Long hours OCD Organizational challenges Fighting Bikeshedding Difficult work environment Twitter Comparison 20:41 - Overcoming Burnout Rest Do something else Gratitude Talk to your boss Twitter / @bmf: Burnout is not caused by working hard. Burnout is caused by not shipping. Measurable progress 28:17 - Short-term Burnout Exercising You Are Your Own Gym (YAYOG) Meditation Take lunch 32:17 - Reaching out to others who may be burning out 35:50 - Preventing Burnout Positive environments Motivation Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink [YouTube] Drive: The surprising truth about what motivates us Picks America's Got Talent (Joe) Storm Front (Derrick Storm) by Richard Castle (Joe) Derandomized - Khan Academy: Machine Learning -> Measurable Learning (Jamison) Get On Top (Jamison) Ben Bernanke to Princeton Grads: The World Isn't Fair (and You All Got Lucky) (Merrick) General Assembly (AJ) AJ needs a room to rent in San Francisco (AJ) You Are Your Own Gym (YAYOG) Run 10k (Chuck) Nike+ Running (Chuck) Transcript [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 63 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hello there. CHUCK:  Merrick Christensen. MERRICK:  Hey. CHUCK:  And I’m Charles Max Wood from DevChat.TV. This week we’re going to be talking about burnout, I’m assuming you’ve all experienced burnout? MERRICK:  Does anybody else feel weird saying hello into a microphone? I feel like Joe sounded like this Texan guy. Like you never know what you’re supposed to say. JOE:  Howdy, partner. MERRICK:  Yeah, exactly. More like a response coming, you know. It’s funny. CHUCK:  Yeehaw! JAMISON:  You’re just rolling the dice. MERRICK:  Yeah. I feel like [inaudible] or something, so people know it’s me. JAMISON:  You just never know what’s going to come out. MERRICK:  You really don’t. Sometimes, I’m like, “Maybe I’m going to go Little John on this thing and I don’t know. [Chuckles] JOE:  From now on, instead of saying hello, I’ll do this one, [sound] [Laughter] JAMISON:  Let’s get a soundboard. JOE:  I’ve got a soundboard here. CHUCK:  Oh, nice. MERRICK:  We could really, really degrade the quality of the show, or improve it, with cool sound. JAMISON:  I think we just have. [Laughter] CHUCK:  I’ve thought about getting soundboards for the different segments, like the picks and stuff, but nah. JAMISON:  It took us 30 seconds to wander off topic. CHUCK:  I know. JAMISON:  Let’s talk about burnout. CHUCK:  Burnout. JAMISON:  Can we get a definition of burnout, to channel Josh Susser. JOE:  You define it, Jamison. JAMISON:  I was reading on Wikipedia, as one does when you’re trying to learn about something. It says it’s a psychological term for long-term exhaustion and diminished interest in work. CHUCK:  Ooh, that’s very good. MERRICK:  I like that. JOE:  A long-term exhaustion. Okay. JAMISON:  So, it’s not just like, “I’m feeling lazy today.” It’s, “I’m feeling lazy this month or lazy when I’m at work this month.”




js

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.




js

066 JSJ Transitioning to JavaScript

Panel Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:10 - Making the transition from one primary language to JavaScript 01:30 - Merrick’s Experience ActionScript 03:32 - Joe’s Experience .NET Microsoft 07:46 - Moving from C# to JavaScript Misconceptions 09:25 - JavaScript Misconceptions 10:59 - Chuck’s Experience Ruby on Rails 14:25 - Rails and JavaScript Avoidance 15:25 - Microsoft and JavaScript Avoidance 16:58 - JavaScript Development in General Browsers and Problems 23:38 - Libraries and Tools 044 JSJ Book Club: Effective JavaScript with David Herman Effective JavaScript by David Herman 24:45 - Code Structure 27:03 - node.js 28:00 - Learning core concepts behind JavaScript 29:11 - Understanding Clojures, Scoping & Context 29:53 - Testing 31:35 - Deviating off the common path 33:10 - Idiomatic JavaScript Picks Dart (Merrick) ES6 Plans (Merrick) Defiance (Joe) America's Got Talent (Joe) StarCraft II World Championship Series (WCS) (Joe) Continuum (Chuck) Fringe (Chuck) CleanMyMac (Chuck) Book Club JavaScript Allongé with Reginald Braithwaite!  He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week Testem with Toby Ho Transcript CHUCK:  Yeah, I can pretend I’m getting better at JavaScript. [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 frontend 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 66 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hi there. CHUCK:  And Merrick Christensen. MERRICK:  Hey guys. CHUCK:  I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about, I think it’s kind of a blend of making the transition from one primary language to JavaScript, it usually happens through web development, and some of the mistakes that people make when their primary language is not JavaScript. Let’s go ahead and get started. Merrick, you’re kind of the expert guy that I always look at and go, “Man, he’s awesome at JavaScript.” So, I’m wondering, did you start out at JavaScript or did you come in from somewhere else? MERRICK:  Oh, that’s really nice of you, man. I actually started out with ActionScript. I really loved Flash developments, but it’s the same thing, really. They’re both based off of ECMAScript. So, I guess you could say I’ve always done JavaScript. JOE:  So, ActionScript is nearly identical to JavaScript? MERRICK:  Well, not anymore. ActionScript 3 developed classes and they typed it and they did some interesting things to make it more of a full-featured language. It’s got more [inaudible] than JavaScript now, I think. But I ended up getting into JavaScript when I was like 17 or so. I came across the MooTools framework and ever since then, it’s been all JavaScript all the time. CHUCK:  You’re pretty young. Wasn’t that last year? [Laughter] MERRICK:  Close. No, about six years, five years of JavaScript. JOE:  You’re also, though, like a real student of languages. You love studying other languages. MERRICK:  I love programming languages, yeah. JOE:  I think you’re a pretty funny, not necessarily unique,




js

067 JSJ Testem with Toby Ho

Panel Toby Ho (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:53 - Aaron Frost Introduction Domo 1.21 Gigawatts - Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) 02:45 - Toby Ho Introduction testem Toby Ho - Testem: Interactive JS Test Runner Toby Ho: Better TDD Workflow via Exclusive Tests in Jasmine and Mocha 03:06 - testem Autotest guard Jasmine Mocha QUnit Buster.JS PhantomJS node.js 04:43 - Integration Tests 038 JSJ Jasmine with Justin Searls capybara 06:32 - guard 07:49 - The testem UI node-charm 09:55 - The Browser Launcher 11:40 - CI Mode Jenkins TeamCity 12:27 - Is it a Global Installer? npm 13:39 - Workflow Grub Filtering testem.json/testem.yml Devmode Exclusive Tests in Mocha Karma .only Console Logging 21:27 - Debugging Git Hooks Minification 25:25 - testem vs Karma AngularJS 28:08 - Testing JavaScript Jasmine Mocha QUnit 29:50 - Browsers Chrome 30:54 - Configurations 32:11 - Contributors Jake Verbaten (Raynos) Derek Brans Justin Searls David Mosher lineman 33:33 - Grunt.js grunt-testem 35:09 - Testing & TDD Bryan Liles: TATFT - Test All the F***in Time Picks The Rithmatist by Brandon Sanderson (Joe) Call of Duty: Black Ops 2 (Aaron) Amazon Prime (Chuck) Big Bang Theory (Chuck) HandBrake (Chuck) Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz (Toby) Giles Bowkett - Secrets Of Superstar Programmer Productivity: Flow (Toby) Book Club JavaScript Allongé with Reginald Braithwaite!  He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week ES Next with Aaron Frost Transcript [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 67 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hey there. CHUCK:  We also have Aaron Frost filling in for us. AARON:  Hello. CHUCK:  And we have a special guest and that is Toby Ho. TOBY:  Hi everyone. CHUCK:  I’m Charles Max Wood from DevChat.TV. Guys, why don’t we have you introduce yourselves really quick? Let’s start with you, Aaron. AARON:  Okay. So, I’m a frontend developer at Domo. JOE:  Open-source evangelist. AARON:  Well, you can call me whatever you want. [Laughter] AARON:  I’ve worked here for a few months. I love it. I’m writing a book on the next version of ECMAScript and a dad with three kids. So yeah, that’s me. JOE:  Aaron’s too modest. He’s also a big-time conference speaker. He’s a regular presenter at local user groups. And like I said before, he’s one of our evangelists, so he was hired as a really high-level frontend engineer here at Domo to help us take our JavaScript and frontend work into the next level, really. CHUCK:  Yeah, I also showed up late to a workshop that he was putting on using Node and Twilio and that was pretty cool. JOE:  Yeah, that thing has been the bomb. Also, Aaron’s presentation at Fluent Conf with Dave Geddes was apparently the hit of the entire show, the best received. The organizer said he thought it was definitely one of the best presentations done at Fluent Conf. AARON:  Yeah. They said it was the most entertaining and Simon said he wished we could cut it down in ten minutes and that they had made us keynote, because it was pretty fun. We had a lot of fun with it. CHUCK:  Cool. JOE:  Yeah, it’s up on YouTube. We’ll put links in the show notes. It’s really great.




js

068 JSJ ES6 with Aaron Frost

Panel Aaron Frost (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Discussion 01:36 - Aaron Frost Introduction Web Developer at Domo 1.21 Gigawatts – Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) JS.next: A Manager’s Guide by Aaron Frost 02:21 - ECMAScript and JavaScript Brendan Eich talking about the Lord Of The Rings Comparison JScript ActionScript 06:02 - TC39 on ECMA Notes from the TC39 Meetings 06:44 - ECMAScript:Harmony 09:59 - ES6 Features Arrow Functions/Lambdas Lexical Scoping Destructioning Spreading Sets & Maps Equivalent Detection Generators Binary Data 12:17 - Arrow Functions 14:23 - Data Proofing Functions 15:35 - Destructuring Paths/Nested Destructuring Destructuring Patterns 17:59 - Default Values 18:49 - Rest & Default Parameters 20:39 - Let Variable Hoisting Traceur Compiler grunt-traceur Let Expressions & Statements Blocks & Block Scopes temporal-dead-zone.js 27:20 - Generators 28:39 - The Module System 29:48 - Template Strings 32:05 - Aaron’s Opinion of Internet Explorer 36:01 - Using ES6 Today Tracer Compiler 39:18 - Designing a New Language Picks Pacific Rim (Joe) That Conference (Joe) PHOX (Merrick) Sqwiggle (Jamison) NodeConf (Jamison) Jon Hopkins - Immunity (Jamison) Tombstone (Aaron) Justin Timberlake - The 20/20 Experience (Aaron) Book Club JavaScript Allongé with Reginald Braithwaite!  He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th. Next Week The Application Cache with Jake Archibald Transcript JAMISON:  Are you guys going to do a doo-wop chorus? I feel like with you all sharing the same microphone, we need some sick vocal harmony. MERRICK:  I wouldn’t mind starting a JS Jabber a cappella group. [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:  Hey everybody and welcome to JavaScript Jabber Episode 68. I am your guest host, Jamison Dance. Chuck is at LoneStar Ruby Conf this week. We have Merrick Christensen. MERRICK:  What’s up? JAMISON:  We have Joe Eames. JOE:  Hey there. JAMISON:  And we have an incredibly special guest, Aaron Frost. AARON:  Hello. MERRICK:  [Laughter] What? JAMISON:  And he is not British. AARON:  Coming from across the pond. MERRICK:  Once you’re gone, I’m going to start using that as my greeting. AARON:  Well, I wish my name was like that one guy, the Allonge, Reginald Braithwaite. [Laughter] AARON:  Where it’s like your name’s in British. JOE:  Yes. Your accent, no. Oh, I would have my name be Benedict Cumberbatch. AARON:  That’s pretty British too, that name. JOE:  That’s a very British name, yeah. AARON:  Wellington something. [Laughter] JAMISON:  Then you would be the archduke of JavaScript. AARON:  Yeah. JOE:  Oh, that would be an awesome title. AARON:  That’d be great. It’s a good title. MERRICK:  So Jamison, do you want to talk about why we have Aaron on the show? JAMISON:  Yeah, I was going to ask him to introduce himself. AARON:  Oh, great. I’m a web developer at an awesome company called Domo. JOE:  But what’s your official title? AARON:  Officially, I don’t know. What are you playing at? [Laughter] AARON:  Maybe an open web strategist. JOE:  There you go. JAMISON:  Social media expert? AARON:  I don’t know. But I work on our UI team and we’re getting ready to push out a really awesome release that everyone’s going to love. I’m also an author. I’ve published a short book with O’Reilly in May and working on another book.




js

069 JSJ The Application Cache with Jake Archibald

Panel Jake Archibald (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Jake Archibald Introduction Works on Developer Relations on the Google Chrome Team 01:57 - The Application Cache Eric Bidelman: A Beginner's Guide to Using the Application Cache - HTML5 Rocks Down Fall 07:12 - Working with Single Page Apps 08:40 - Detecting Connectivity Express.js Yehuda Katz: Extend the Web Forward 15:42 - Running Offline 19:55 - Generating Manifest Files Grunt Task for App Cache Manifests 26:34 - NavigationController 28:49 - Progressive Enhancement Jake Archibald: Progressive enhancement is still Important 059 JSJ jQuery Mobile with Todd Parker 058 JSJ Building Accessible Websites with Brian Hogan Feature Detection Modernizr SEO Picks Arduino (Jamison) Draft (Jamison) RoboRally (Chuck) Adobe Audition CS6 (Chuck) Blue Microphones Yeti USB Microphone - Silver Edition (Chuck) async-generators (Jake) Rick Byers: DevTools just got a cool new feature in Chrome canary (Jake) johnny-five (Jamison) Next Week Book Club: JavaScript Allongé with Reginald Braithwaite Transcript CHUCK:  Maybe we’ll just talk about your general smarty-pants-ness. [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 69 the JavaScript Jabber Show. This week on our panel we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  I’m Charles Max Wood from DevChat.TV. And we have a special guest and that is Jake Archibald. JAKE:  Hello. CHUCK:  Jake, do you want to introduce yourself for the folks who haven’t heard of you before? JAKE:  Sure thing. I work on the Google Chrome team as part of DevRel. What I’m doing there is a combination of speaking at conferences about particular stuff. I got to do a lot in performance at the moment, but I also do a lot of standards work where I’ve done a lot with an alternative to application cache, which we’ll be talking about, but also looking at things like script loading and some of the resource priority stuff. CHUCK:  Cool. So it sounds like you’re smart on a number of levels then. JAKE:  Or dumb at all. [Chuckles] I can only see what I work on. I don’t know if I’m any good at it. [Chuckles] CHUCK:  So we brought you on to talk about the application cache. I’m not completely sure I know what is totally involved there. Is it just the cache like you clear the browser cache cache or is it something else? JAKE:  Well. the aim for the application cache was to let you make a site that works offline. So we’ve got the http cache and that works, in a manner of speaking. But if you have, say a website where you’ve cached your JavaScript, you’ve cached your CSS. You’ve cached your html page and some images. That’s great, but the user will visit another website and the browser will go and delete the CSS file from your site from the cache just to make room for the stuff from this other site. That means that if we were just going to use the http cache for making things work offline, people go to your site, your html’s there, your images are there, your JavaScript’s there, but your CSS is not and that’s going to break your site.




js

070 JSJ Book Club: JavaScript Allongé with Reginald Braithwaite

Panel Reginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:08 - Reg Braithwaite Introduction Github 03:46 - JavaScript Allongé by Reginald Braithwaite 06:43 - The Y Combinator Kestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite 14:26 - Book Summary/Perspective Functions QED, The Strange Theory of Light and Matter by Richard P. Feynman 21:37 - Footnotes Flashman: A Novel by George MacDonald Fraser 26:42 - allong.es Michael Fogus 29:15 - Sharing Knowledge & Information 33:01 - The Coffee Theme CoffeeScript Ristretto by Reginald Braithwaite 37:42 - Favorite Parts of the Book How Prototypes Work Combinators 42:18 - Writing the Beginning 44:41 - Reg’s Programming Background One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow Picks ng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald) Special Offer! JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY! Next Week JavaScript Strategies at Microsoft with Scott Hanselman Transcript MERRICK:  Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!” [Laughter] AJ:  Nice. REG:  That behavior is always acceptable if you are dressed for the part. [Laughter] CHUCK:  Since this is pure audio, you don’t even have to be dressed. JOE:   I have a pair of parachute pants. MERRICK:  I actually record most of this show while I'm in the bathtub. [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 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  AJ O’Neal. AJ:  Still coming at you almost live from San Francisco. CHUCK:  Merrick Christensen. MERRICK:  What’s up guys? CHUCK:  There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite. REG:  Pleased to be here with you. MERRICK:  That was a real voice if I’ve ever heard one. JOE:  Yeah. Awesome. CHUCK:  No kidding. We should have you do some voice overs for us. MERRICK:  We should. CHUCK:  You’re listening to JavaScript Jabber. [Chuckles] AJ:  Say, “In a world…” [Chuckles] REG:  In a world… CHUCK:  Anyway… [Laughter] AJ:  Derailed, derailed. CHUCK:  Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly? REG:  Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,




js

071 JSJ JavaScript Strategies at Microsoft with Scott Hanselman

Panel Scott Hanselman (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Scott Hanselman Introduction Community Program Manager for Web Tools at Microsoft Azure and Web Tools ASP.NET Runtime 03:17 - Microsoft and JavaScript Microsoft Build Developer Conference Scott Hanselman: Angle Brackets, Curly Braces, One ASP.NET and the Cloud Json.NET 13:40 - The Cost of Web Development Tooling Sublime Text Visual Studio 18:17 - Libraries and Frameworks Knockout 24:14 - Innovation in Software Befunge 29:48 - Apps Supporting JavaScript Create your first Windows Store app using JavaScript (Windows) Visual Studio Express 34:14 - Windows and Internet Explorer Chakra 40:42 - Microsoft’s Attitude Towards JavaScript Scott Hanselman: Azure for the non-Microsoft Person - How and Why? 45:58 - Open Source 49:12 - asm.js 52:05 - Angle Brackets Conference Picks The Wolverine (Joe) ng-conf (Joe) Cancún (Aaron) @ngconf (Aaron) Wistia (Chuck) Mumford And Sons 'Hopeless Wanderer' Music Video (Scott) Beyoncé Joins the Short Hair Club (Scott) Next Week Screencasting: Sharing What You Know Through Video Transcript [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 71 the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey. CHUCK:  Aaron Frost. AARON:  Hello. CHUCK:  I’m Charles Max Wood from DevChat.TV. And we have a special guest that is Scott Hanselman. SCOTT:  Hello. CHUCK:  Since you’re new to the show, do you want to introduce yourself really quickly? SCOTT:  My name is Scott Hanselman. You can learn more about me on the internet by googling for Scott. I’m in an epic battle right now with the Scott toilet paper people. You’ll find me just below Scott toilet tissue. I’ve been blogging for ten years. More than ten years, 13 years. I work at Microsoft right now. Before that I worked in finance at a company called Corillian that is now Fiserv. I’ve been building big systems on the web for as long as the web’s been around. CHUCK:  Wow. What do you do at Microsoft? SCOTT:  I work in Azure and Web Tools. I’m a program manager. I’m in charge of the experience from file new project until deployment. I call myself the PM of miscellaneous. I spend time going through that experience making sure that it doesn’t suck. My focus is on web tools but also ASP.NET Runtime and what the experience is when you deploy something into Azure. That might be everything from what’s it like editing JavaScript in Visual Studio and I’ll find some issue and go and work with the guys that own that, or it might be someone’s trying to do something in Node on Azure and that experience is not good. I’m like an ombudsman or a customer liaison. But the simplest way would be to say I’m the community PM, community program manager, for web tools at Microsoft. CHUCK:  Okay. AARON:  Cool. CHUCK:  So, is JavaScript your primary focus? SCOTT:  I would say that my primary focus is just anything that makes the web better and moves the web forward. While I work for ASP.NET and most of my work is in C#,




js

072 JSJ Screencasts

Panel Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:31 - Screencasting Experience Pluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck 02:44 - Getting into Screencasting 06:16 - Screencasting and JavaScript Jabber Sharing Knowledge RailsCasts (Ruby) NSScreencast (iOS) 09:45 - JavaScript Screencasts Embercasts egghead.io (Angular) PeepCode YouTube 10:54 - Conference Talks vs Screencasts 14:34 - Blog Posts vs Screencasts 17:58 - Recording Screencasts (Tools) Camtasia ScreenFlow Jing 22:59 - Voiceovers vs Typing and Talking 26:17 - Audio Quality Blue Snowball Blue Yeti Shure SM58 28:53 - Editing Software Adobe Premier Pro Final Cut Pro Video Hive 33:27 - Preparing for Screencasts Large Font Closed-Captioning 40:23 - Videos of Yourself with Screencasts Wistia Transcripts Picks RequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck) Next Week React with Jordan Walke and Pete Hunt Transcript JOE:  Well, you can represent the newbie perspective then. CHUCK:  Yup. JAMISON:  That’s my default job on this podcast. [Laughter] CHUCK:  No, that’s my job, believe me. JOE:  Au contraire, mon frère. [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 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON:  Hello. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done? JAMISON:  None. JOE:  [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting. CHUCK:  Nice. JAMISON:  When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this? JOE:  Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that. CHUCK:  Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right? JOE:  [Chuckles] Yeah. Exactly when I’ll be an expert. CHUCK:  That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.




js

073 JSJ React with Pete Hunt and Jordan Walke

Panel Pete Hunt (twitter github blog) Jordan Walke (twitter github) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Pete Hunt Introduction Instagram Facebook 02:45 - Jordan Walke Introduction 04:15 - React React - GitHub 06:38 - 60 Frames Per Second 09:34 - Data Binding 12:31 - Performance 17:39 - Diffing Algorithm 19:36 - DOM Manipulation 23:06 - Supporting node.js 24:03 - rendr 26:02 - JSX 30:31 - requestAnimationFrame 34:15 - React and Applications 38:12 - React Users Khan Academy 39:53 - Making it work Picks Ben Mabey: Clojure Plain & Simple (Jamison) JSConf 2013 Videos (Jamison) Kittens (Jamison) PBS Idea Channel (AJ) Free Trial SSL (AJ) OSX Wifi Volume Remote Control (AJ) js-git (Merrick) vim-airline (Merrick) MLS LIVE (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Hire Chuck (Chuck) GoToMeeting (Chuck) ScreenFlow (Chuck) syriandeveloper (Pete) jsFiddle (Pete) Hotel Tonight (Pete) Green Flash Brewery Beer: Palate Wrecker (Jordan) All Things Vim (Jordan) Next Week Grunt.js with Ben Alman Transcript JAMISON:  Joe is Merrick’s personal assistant. CHUCK:  [Laughter] MERRICK:  No, we’re just in this little room and he had, he was like, “Yeah” JOE:  Want me to freshen up your coffee, sir? [Chuckles] JAMISON:  Feed me some tacos, Joe. [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 atJjetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to episode 73 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hey there. CHUCK:  AJ O’Neal. AJ:  Live again from Provo. CHUCK:  Jamison Dance. JAMISON:  Hey friends. CHUCK:  Merrick Christensen. MERRICK:  Hey guys. CHUCK:  I’m Charles Max Wood from DevChat.TV and we have two special guests this week. Pete Hunt. PETE:  Hey guys. CHUCK:  And Jordan Walke. JORDAN:  Hi. CHUCK:  Since you guys haven’t been on the show before, do you want to introduce yourselves? We’ll have Pete go first. PETE:  Sure. So my name’s Pete. I work on general React stuff these days. But my day job is building the Instagram web experience. If you go to Instagram.com, we have a bunch of frontend stuff you can play with and a bunch of backend infrastructure that supports all that. That’s what I mostly work on. We’re big users of React at Instagram so I ended up contributing a lot to the React core as well. JAMISON:  So did you come from Instagram or from Facebook and then to work on Instagram? PETE:  Well it was actually a pretty good story just in terms of the integration of the two companies. I was originally at Facebook for a couple of years and we acquired Instagram and they came in and they wanted to build a web presence. Facebook’s core competency is definitely web technologies and Instagram hasn’t historically focused on that. So we were able to take the Facebook web expertise and get Instagram up and running really quickly. I came from the Facebook side but the team is still very much a separate team, their own building, that kind of thing. So that’s my background. CHUCK:  Awesome. JAMISON:  Sweet. CHUCK:  And Jordan?




js

074 JSJ Grunt with Ben Alman

Panel Ben Alman (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Ryan Florence (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:34 - Ben Alman Introduction Bocoup 02:54 - “Cowboy” Cowboy Coder 06:53 - The Birth of Grunt Ender make rake jake 14:34 - Installing Globally & Plugins JSHint grunt-cli lodash async 20:43 - Managing the project and releasing new versions 22:32 - What is Grunt? What does it do? jQuery libsass SASS stylus 26:39 - Processes & Building Features node-task guard grunt-contrib-watch node-prolog 35:29 - The Node Community and reluctance towards Grunt 41:35 - Why the separation of task loading and configuration? 46:18 - Contributions and Contributing to Grunt 55:18 - What Ben would have done differently building Grunt Ease of Upgrade Picks Web Components (Ryan) Eliminate Sarcasm (Ryan) Bee and PuppyCat (Jamison) MONOPRICE (AJ) AJ O'Neal: Moving to GruntJS (AJ) The Best Map Ever Made of America’s Racial Segregation (Chuck) Clean Off Your Desk (Chuck) Polygon (Ben) My Brother, My Brother and Me (Ben) Echofon (Ben) Bocoup (Ben) Next Week Maintainable JavaScript with Nicholas Zakas Transcript RYAN:  We’re potty training my son right now. So, I was up like eight times cleaning poo off of everything. [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 frontend 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 74 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal. AJ:  I’m eating beef jerky. CHUCK:  Jamison Dance. JAMISON:  Hello. CHUCK:  We have a special guest. I guess you’re a guest in filling in for Merrick and Joe and that’s Ryan Florence. RYAN:  Hey, how’s it going? I don’t know if I can fill two shoes, but I will try. CHUCK:  Well, you have two feet, right? RYAN:  Okay. Well, that’s four shoes. CHUCK:  [Chuckles] I’m Charles Max Wood from DevChat.TV. We also have another special guest and that is Ben Alman. BEN:  Yo! What’s up, everyone? CHUCK:  So, do you want to introduce your self, Ben, since you haven’t been on the show before? BEN:  I’m Ben Alman. Oh, okay. [Laughter] AJ:  That’s not conceited. RYAN:  That’s really all he needs. BEN:  That’s it. The show’s over, roll credits. So yeah, I’m Ben. You can find me online as @cowboy on Twitter or GitHub and I’m at BenAlman.com. And if you Google me, I have finally got enough SEO juice to beat the other Ben Alman who’s the Orthopedic Surgeon for sick children in Canada. So screw you, guy who helps sick kids. [Laughter] BEN:  No, it’s cool. It’s cool, right? But for a while, I was like, “Damn this guy.” But I can’t do anything because he helps sick children. So there’s another Benjamin Alman out there doing things for society and me, I just code. So, I work at Bocoup. We’re at Bocoup.com. Our logo is a rooster, Bob the Rooster, and we make a lot of cool web and open web and open source stuff. And so, I do training there. I teach people JavaScript and jQuery. But I also work on open source tools. I spend a lot of my time, actually, behind the scenes in Node writing JavaScript, experimenting, R&D, writing tools, et cetera. CHUCK:  Awesome. So,




js

075 JSJ Maintainable JavaScript with Nicholas Zakas

Panel Nicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:24 - Nicholas Zakas Introduction Box Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo 02:19 - What Makes Maintainable JavaScript? Code Layout Clever Solutions (“Chicken Blood Solutions”) 04:39 - Formatting Thinking, Fast and Slow by Daniel Kahneman Broken Window Theory 07:33 - Architecture aura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation 14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge 19:17 - Important conventions for a team to follow Styles Mini Design Patterns Readability 26:14 - Tools & Techniques Style Guide 28:31 - Breaking the continuous integration build 31:14 - Linting JSLint 32:35 - Developing skills for architecting things Experience Personal Trait of Curiosity Component-based and Systems-based software engineers 37:52 - Architecture and Maintainability Testability Backbone.js 43:28 - Creating common conventions that will apply across projects Picks Domo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas) Next Week Meteor.js with Marcus Phillips and Fred Zirdung Transcript [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 frontend 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 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey, everyone. CHUCK:  AJ O’Neal. AJ:  I can hit unmute. I'm here. CHUCK:  Jamison Dance. JAMISON:  Hello, friends. CHUCK:  Merrick Christensen. MERRICK:  Hey, guys. CHUCK:  I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas. NICHOLAS:  Yup, you got it. CHUCK:  So, since you haven’t been on the show before, do you want to introduce yourself? NICHOLAS:  Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts. CHUCK:  Yes, you're being modest. You have a book,




js

076 JSJ Meteor.js with Marcus Phillips and Fred Zirdung

Panel Marcus Phillips (twitter github) Fred Zirdung (twitter github) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:30 - Marcus Phillips and Fred Zirdung Introduction Hack Reactor 03:31 - Experience with Meteor 05:45 - Intro to Meteor Client-side Environment Tethered Queries minimongo 09:56 - Websockets 11:29 - Deployment Support 14:51 - The Cloud 16:43 - Meteor and Server-side JavaScript Engines Meteor Devshop 7 - LIVE 19:48 - Meteor and Windows 22:43 - Package Management System 23:49 - Building Meteor Apps 29:04 - Meteor Methods 33:02 - Open-Source Meteor Apps 34:15 - Hack Reactor Education Training Developers Removing Complexity Picks ng-conf (Joe) Ben Kamens: “Shipping Beats Perfection” Explained (Jamison) Evan Goer: Writing for Developers — Some Rational Techniques (Jamison) BOXEN (Chuck) Book Yourself Solid Illustrated: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) meteor / packages / deps / deps.js (Marcus) Underscoreboard (Marcus) actionHero.js (Fred) Satellite (Fred) Tilden (Fred) rethink-livedata (Marcus) Next Week Monacle with Alex MacCaw Transcript JAMISON:  Speaking of single and [working] 30 hours a week after your job, is Merrick there?   [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 frontend 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 76 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance. JAMISON:  Hello friends. CHUCK:  Joe Eames. JOE:  Hey there. CHUCK:  I’m Charles Max Wood from DevChat.TV. We’ve also got two special guests and that is Fred Zirdung. FRED:  Hello. CHUCK:  Did I totally butcher that? FRED:  Yeah, you got it right. CHUCK:  Okay. And Marcus Phillips. MARCUS:  Hi everybody. CHUCK:  Since you guys haven't been on the show before, do you want to introduce yourself? We’ll have Marcus go first. MARCUS:  Sure. I'm Marcus Phillips. I'm a JavaScript enthusiast. I've been in it for a long time. Really excited about framework architecture and lately, all about teaching what I've learned over the course of time that I've been working in the Bay Area and working on the frontend of Twitter and things like that. Nowadays, I teach at Hack Reactor full time which is an immersive school for learning to become a developer over a period of three months. JAMISON:  Cool. CHUCK:  And which technologies do you teach at Hack Reactor? MARCUS:  We use JavaScript as our teaching language. Fundamentally, what we’re trying to do is teach people software engineering principles. So, JavaScript just turns out to be one of the most useful languages we can use to do that. But from there, we kind of want to give people practical skills that they can use immediately on the job. So, we definitely drive the entire curriculum out of GitHub repos and teach them some practical things like Backbone and Node and deployment strategies. So yeah, we kind of cover the gambit from frontend to backend with a focus on JavaScript in particular. CHUCK:  Awesome. That sounds really cool. JOE:  Yeah, it does. MARCUS:  It’s a lot of fun. CHUCK:  Fred,




js

077 JSJ Monocle with Alex MacCaw

Panel Alex MacCaw (twitter github blog) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:13 - Going Rogue Video 02:12 - Alex MacCaw Introduction 029 JSJ Bower.js with Alex MacCaw and Jacob Thornton JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client by Alex MacCaw The Little Book on CoffeeScript: The JavaScript Developer's Guide to Building Better Web Apps by Alex MacCaw 02:44 - Monocle Alternative for Hacker News 03:39 - Speed Alex MacCaw: Time to first tweet sinatra MVC Framework Synchronicity 10:48 - SEO Google Webmaster Tools The Google Webmaster Video on Single-page Apps / SEO Alex MacCaw: SEO in JS Web Apps 14:01 - The Social Aspect of Monocle/Community 17:09 - Caching 17:47 - Google Website Optimizer 18:26 - Responsiveness 21:00 - Client-side & Server-side 25:11 - Testing for Performance PageSpeed Insights 28:39 - The Design Process sinatra sequel 31:44 - Sourcing.io Sourcing.io Signup 34:15 - Inspiration Picks MicroFormat Tool (AJ) Google Markup Helper (AJ) Gmail Markup Schemas (AJ) OUYA (AJ) TowerFall (AJ) Final Fantasy 7 (emulator) Final Fantasy 7 (PC) (AJ) Sunlounger (Joe) Pebble Watch (Joe) ng-conf (Joe) Book Yourself Solid: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) Coder (Alex) List of Ig Nobel Prize winners (Alex) Next Week Working From Home Transcript ALEX:  The rain in Spain falls mainly on the plain. [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 frontend 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 77 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey there. CHUCK:  Jamison Dance. JAMISON:  Hey friends. CHUCK:  AJ O’Neal. AJ:  It'sa mia, it'sa AJ. CHUCK:  I’m Charles Max Wood from DevChat.TV. And before I introduce our guest, I just want to make a quick announcement. Tomorrow as we’re recording this, so when you get this episode it will be last Friday, is my Freedom Day. It’s the day I got laid off from my last full-time job and went freelance. So in honor of that, I’m putting together a video. I’ve called it ‘Going Rogue’. Yes, I know that there’s a political thing around that, whatever. Anyway, I called it ‘Going Rogue’. You can get it at GoingRogueVideo.com. It’s basically the first year of me going freelance. I’ve just talked through how it all went. The mistakes I made, the things I learned, the things I did right, and just gave general advice to anyone who’s looking to go freelance. Or if you’re interested in some of the challenges that come with that, it’s a video that I’m putting together to kind of explain that. Like I said, it’s free. You can get it at GoingRogueVideo.com. Yeah, I’m pretty excited about it. I’m also excited about Freedom Day. Anyway, we also have a special guest today, and that’s Alex MacCaw. ALEX:  How do you do? Thank you for having me. CHUCK:  You’ve been on the show before, but it’s been almost a year. Do you want to introduce yourself again? ALEX:  Well, I’m mostly a JavaScript programmer.




js

080 JSJ - Impact.js with Dominic Szablewski

Dominic Szablewski joins the Jabber gang to talk about Impact.js, game development, html5, and strategy.




js

081 JSJ Promises for Testing Async JavaScript with Pete Hodgson

Pete Hodgson crosses over from the iPhreaks podcasts to talk with the Jabber gang about testing asynchronous Javascript with promises.




js

082 JSJ JSHint with Anton Kovalyov

Anton Kovalyov joins the Jabber gang to talk about JSHint, linting, parsing, lexing and much more.




js

083 JSJ FRP and RxJS with Matthew Podwysocki

In this episode, the panelists talk to Matthew Podwysocki about Functional Reactive Programming and RxJS.




js

084 JSJ Node with Mikeal Rogers

In this episode, the panelists talk Node with Mikeal Rogers.




js

085 JSJ Huxley with Pete Hunt

The panelists discuss Huxley with Pete Hunt




js

086 JSJ Ember.js & Discourse with Robin Ward

The panelists discuss Ember.js and Discourse with Robin Ward




js

087 JSJ TC39 with Alex Russell

The panelists discuss TC39 with Alex Russell.




js

088 JSJ Lazy.js with Daniel Tao

The panelists talk to Daniel Tao, maintainer of Lazy.js.




js

089 JSJ The Node Security Project with Adam Baldwin

The panelists talk to The Node Security Project founder and organizer, Adam Baldwin.




js

090 JSJ Users Groups

The panelists talk about how to create and maintain Users Groups.




js

091 JSJ JSON APIs

The panelists discuss JSON APIs.




js

092 JSJ The MEAN Stack with Ward Bell and Valeri Karpov

The panelists discuss the MEAN stack with Ward Bell and Valeri Karpov.




js

093 JSJ The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons

The panelists discuss The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons.




js

094 JSJ BonsaiJS with Tobi Reiss

The panelists talk to Tobi Reiss, the creator of BonsaiJS.




js

095 JSJ AngularUI with Dean Sofer

The panelists talk to Dean Sofer about AngularUI.




js

096 JSJ The Challenges of Large Single Page JavaScript Applications with Bart Wood

The panelists talk to Bart Wood about large single page JavaScript applications.




js

097 JSJ Gulp.js with Eric Schoffstall

The panelists talk to Eric Schoffstall, the creator of Gulp.js.




js

098 JSJ Assemble.io with Brian Woodward and Jon Schlinkert

The panelists speak with Brian Woodward and Job Schlinkert about Assemble.io.




js

099 JSJ npm, Inc. with Isaac Schlueter, Laurie Voss, and Rod Boothby

The panelists discuss npm, Inc. with Isaac Schlueter, Laurie Voss, and Rod Boothby.




js

100 JSJ Centennial Episode Celebration

The panelists celebrate their 100th episode!




js

101 JSJ js-git with Tim Caswell

The panelists talk to Tim Caswell about js-git.




js

102 JSJ Angular and Open Source Projects with Brad Green

The panelists talk to Brad Green of Google, about Angular.js and managing open source projects.




js

103 JSJ Robots with Raquel Vélez

The panelists talk to Raquel Vélez about robotics and JavaScript.




js

104 JSJ Hypermedia APIs with Steve Klabnik

The panelists discuss hypermedia APIs with Steve Klabnik




js

105 JSJ JSConf and Organizing Conferences with Chris Williams

The panelists discuss JSConf and conference organization with Chris Williams.




js

106 JSJ Protractor with Julie Ralph

The panelists talk to Julie Ralph about AngularJS's protractor.




js

107 JSJ ClojureScript & Om with David Nolen

The panelists talk to David Nolen about ClojureScript and Om.




js

108 JSJ AngularJS with Igor Minar

The panelists have Igor Minar back on the show to discuss AngularJS in detail.