io

015 JSJ Open Discussion

The panelists have an open discussion.




io

026 JSJ Code Organization and Reuse

The panelists talk about code organization and reuse.




io

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.




io

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,




io

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?




io

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.




io

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.




io

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,




io

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.




io

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.




io

098 JSJ Assemble.io with Brian Woodward and Jon Schlinkert

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




io

100 JSJ Centennial Episode Celebration

The panelists celebrate their 100th episode!




io

109 JSJ Dependency Injection in JavaScript with Vojta Jína & Misko Hevery

The panelists discuss dependency injection with Vojta Jína & Misko Hevery.




io

114 JSJ Asynchronous UI and Non-Blocking Interactions with Elliott Kember

The panelists talk to Elliot Kember about asynchronous UI and non-blocking interactions.




io

122 JSJ Socket.IO with Guillermo Rauch

The panelists talk to Guillermo Rauch about Socket.io.




io

126 JSJ The Ionic Framework with Max Lynch and Tyler Renelle

The panelists discuss the Ionic Framework with Max Lynch and Tyler Renelle.




io

130 JSJ Browser Tools and Extensions

The panelists talk about browser tools and extensions.




io

144 JSJ Marionette.js 2.0 with Sam Saccone

The panelists talk to Sam Saccone about Marionette.js 2.0.




io

147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.




io

153 JSJ Careers for Junior Developers with Aimee Knight

02:26 - Aimee Knight Introduction

02:48 - Figure Skating => Programming

  • Persistence
  • Balance Between Mind and Body

05:03 - Blogging (Aimee’s Blog)

06:02 - Becoming Interested in Programming

08:43 - Why Boot Camps?

10:04 - Mentors

  • Identifying a Mentor
  • Continuing a Mentorship

13:33 - Picking a Boot Camp

16:23 - Self-Teaching Prior to Attending Boot Camps

20:33 - Finding Employment After the Boot Camp

26:27 - Being a “Woman in Tech”

30:57 - Better Preparing for Getting Started in Programming

  • Be Patient with Yourself

32:07 - Interviews

  • Getting to Know Candidates
  • Coding Projects and Tests

41:05 - Should you get a four-year degree to be a programmer?

Picks

Aarti Shahani: What Cockroaches With Backpacks Can Do. Ah-mazing (Jamison)
Event Driven: How to Run Memorable Tech Conferences by Leah Silber (Jamison)
The Hiring Post (Jamison)
Kate Heddleston: Argument Cultures and Unregulated Aggression (Jamison)
Axios AJAX Library (Dave)
Unbroken: A World War II Story of Survival, Resilience, and Redemption by Laura Hillenbrand (Dave)
[YouTube] Good Mythical Morning: Our Official Apocalypse (AJ)
Majora's Mask Live Action: The Skull Kid (AJ)
The Westin at Lake Las Vegas Resort & Spa (Joe)
Alchemists (Joe)
Valerie Kittel (Joe)
The Earthsea Trilogy: A Wizard of Earthsea; The Tombs of Atuan; The Farthest Shore by Ursula K. Le Guin (Chuck)
Traction: Get a Grip on Your Business by Gino Wickman (Chuck)
Freelancers’ Answers (Chuck)
Drip (Chuck)
Brandon Hays: Letter to an aspiring developer (Aimee)
SparkPost (Aimee)
Exercise and Physical Activity (Aimee)




io

154 JSJ Raygun.io Error Reporting and Workflow with John-Daniel Trask

02:35 - John-Daniel Trask Introduction and Background

04:57 - Raygun.io

06:23 - Crash Reporting The Right Way

  • Error Grouping
  • Suppress Notifications

10:06 - Most Common Errors

12:05 - Source Maps

19:16 - Managing Error Reporting in Gross Environments

22:17 - Determining Where The Issue Is

24:45 - Do People Write Their Own Errors?

26:23 - Frameworks Support

28:28 - Collecting Data: Privacy and Security

30:01 - Does working in error reporting make you judgemental of others’ code?

  • “DDOSing Yourself”

32:42 - Planning for Rare Exceptions

33:36 - Tactics to Cut Down on Messages

35:53 - Gathering Basic Debugging Information

37:58 - Getting the BEST Information

42:24 - The Backend: Node.js

43:24 - “Creating an Application”

Picks

LDS Connect (AJ)
LDS I/O (AJ)
TED Talk About Nothing (Dave)
OlliOlli 2 Soundtrack (Jamison)
Jurassic Park (Joe)
 
ng-vegas (Joe)
WASD CODE 87-Key Illuminated Mechanical Keyboard with White LED Backlighting - Cherry MX Clear (Chuck)
Grifiti Fat Wrist Pad (Chuck)
Thank You
Rails Clips Kickstarter Backers! (Chuck)
Mastery by Robert Greene (Chuck)
Ready Player One by Ernest Cline (Chuck)
The Pirates of Silicon Valley (John-Daniel)
littleBits (John-Daniel)




io

177 JSJ UI Validation with Oren Rubin

02:43 - Oren Rubin Introduction

05:43 - Testing

18:18 - Page Object(s)

  • Locators

27:10 - Protractor & Selenium

32:06 - Checking UI (Screenshots)

37:04 - End-to-end > Full Coverage?

40:03 - When should you start testing?

42:21 - Cucumber

45:39 - Debugging

Picks

Paul Ford: 10 Timeframes (Jamison)
Kishi Bashi - “In Fantasia” (Jamison)
Matt Zabriskie (Jamison)
http-backend-proxy (Aimee)
repl.it (Aimee)
React.js Training with Michael Jackson and Ryan Florence (Joe)
React Rally (Joe)
AngularConnect (Joe)
ng-conf (Joe)
Ruby Remote Conf Videos (Chuck)
Angular Remote Conf (Chuck)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
Dave Haeffner: Elemental Selenium (Oren)
CSS Secrets by Lea Verou (Oren)
Cloudinary (Oren)




io

178 JSJ Tech Education and The Business of Running Front End Masters with Marc Grabanski

03:01 - Marc Grabanski Introduction

03:35 - The jQuery UI Datepicker

04:29 - Frontend Masters

07:26 - The Live Streaming Phenomenon

09:17 - Scalability

11:25 - Value, Feedback Cycle

14:43 - Structuring Courses and Workshops

16:09 - Online vs In-Person

  • Prerequisites

18:11 - Booking Workshops

19:02 - Scaling (Cont’d)

20:00 - Online Education (eLearning) in General

21:40 - The Business Model

  • Licensing

24:12 - Hot Sellers

25:28 - Technical Setup

27:27 - Selecting Topics

29:41 - Future Topics / Topics in Production

30:38 - Individual / Company Attendees

31:45 - Upcoming Plans for Frontend Masters

32:32 - Advice For Starting Something Like Frontend Masters

34:23 - Keeping Content Up-to-date

36:14 - eLearning Experiments

39:30 - Giveaways

40:07 - Getting Started with Programming

43:03 - Marketing

45:20 - Teacher Compensation

Picks

Jessica Kerr: Functional Principles In React @ React Rally 2015 (Jamison)
thought-haver (Jamison)
[Frontend Masters] Angular Application Development (Aimee)
[Frontend Masters] JavaScript the Good Parts (Aimee)
LÄRABAR (Aimee)
Taking time off (Chuck)

The Man from U.N.C.L.E. (Joe)
BB-8 by Sphero (Joe)
ng-conf (Joe)
The Tim Ferriss Show (Marc)
CodeCombat (Marc)
Untrusted (Marc)




io

181 JSJ The Evolution of Flux Libraries with Andrew Clark and Dan Abramov

Sign up for JS Remote Conf!

 

Dan and Andrew's super awesome, helpful document that they made for the show during preparation

03:22 - Andrew Clark Introduction

03:39 - Dan Abramov Introduction

04:03 - Flux

09:36 - Data Flow

22:52 - Conceptualizing React and Flux

27:50 - Documentation

30:38 - The Elm Programming Language

32:34 - Making Patterns Explicit in Frameworks

36:31 - Getting Started with React and Flux

  • Classes

42:42 - Where Flux Falls Short

58:23 - Keeping the Core Small; Making Decisions

Picks

Strange Loop 2015 Videos  (Jamison)
Typeset In The Future (Jamison)
Open-source as a project model for internal work (w/ speaker notes) by Kevin Lamping (Jamison)
Explanation of Zipf's Law (Dave)
Will Conant's talk at UtahJS 2015 on Flux (Dave)
The Legend of ZERO (3 Book Series) by Sara King (Joe)
Camel Up (Joe)
The Elm Programming Language (Joe)
Boundaries: A talk by Gary Bernhardt from SCNA 2012 (Aimee)
Nodevember (Aimee)
TV Fool (Chuck)
RCA Outdoor Digital HDTV VHF UHF Yagi Type Antenna (Chuck)
The Michael Vey Book Series (Chuck)
BusinessTown (Dan)
Elon Musk: The World’s Raddest Man (Dan)
Professor Frisby's Mostly Adequate Guide to Functional Programming (Dan)
Abiogenesis (Dan)
react-future (Dan)
The Righteous Mind (Andrew)
lodash-fp (Andrew)
Inside Amy Schumer (Andrew)
dataloader (Andrew)
Careers at OpenGov (Andrew)




io

192 JSJ IoT with Peter Hoddie

Get your JS Remote Conf tickets!

 

02:10 - Peter Hoddie Introduction

02:36 - Kinoma     

03:28 - Embedded Development in C; Approachability

05:24 - IoT = Internet of Things; Embedded Devices and Systems

08:59 - Mesh Networking

10:41 - IoT and JavaScript

20:08 - Getting Started & Electrical Engineering

22:42 - Testing

24:56 - Security

31:07 - Bootstrap

34:16 - Community Resistance

35:56 - Where is IoT heading as far as applications go?

  • Scriptability

41:57 - Preparing Today for the Future

Picks

Let’s Encrypt (AJ)
The web accessibility basics (Jamison)
readthesource (Aimee)
Drip (Chuck)
Twilio (Chuck)
JS Remote Conf (Chuck)
All Remote Confs (Chuck)
Standard ECMA-262 (Peter)
The Future of the Internet--And How to Stop It by Jonathan Zittrain (Peter)
Software Freedom Conservancy (Peter)




io

198 JSJ 2015 Recap and 2016 Predictions

02:36 - Big Changes in the JavaScript Community in 2015

09:38 - Other Uses of JavaScript

10:56 - Functional Programming

19:16 - Elm / redux

22:40 - RxJS and Reactive Programming

25:00 - ES2015

27:43 - Types: TypeScript / Flow

30:59 - npm

33:00 - Junior Developers and Bootcamps

47:27 - Will other communities start looking at Node?

49:18 - Building Mobile Apps with JavaScript

50:09 - Text Editors or IDEs?

Picks

Victor Savkin: Managing State in Angular 2 Applications (Joe)
Desserts of Kharak (Joe)
The Prodigals Club (Joe)
AST explorer (Aimee)
Chyld Medford (Aimee)
Mazie's Girl Scout Cookie Digital Order Site (Aimee)
Mogo Portable Seat (Chuck)
Patt Flynn: How to Write a Book: The Secret to a Super Fast First Draft (Chuck)
React Remote Conf (Chuck)




io

199 JSJ Visual Studio Code with Chris Dias and Erich Gamma

Check out allremoteconfs.com to get in on all the conference action this year -- from the comfort of your own home!

 

02:13 - Chris Dias Introduction

02:21 - Erich Gamma Introduction

02:31 - Visual Studio Code

03:49 - Built on Electron

04:25 - Why another tool?

  • Visual Debugging
  • Keybinding Support

08:12 - Code Folding

09:00 - Will people move from Visual Studio to Visual Studio Code?

12:06 - Language Support

18:06 - Visual Studio Code and Microsoft Goals

22:47 - Community Support and Building Extensions

28:31 - The Choice to Use Electron

32:41 - Getting VS Code to Work on the Command Line

35:02 - Tabs

38:49 - Visual Studio Code Uptake and Adoption

40:11 - Licenses

44:46 - Designing a UX for Developers

58:15 - Design Patterns

Picks

LEGO Star Wars: The Force Awakens Video Game - Announce Teaser Trailer (Joe)
Firebase (Joe)
Progress bar noticeably slows down npm install: Issue #11283 (Jamison)
Darkest Dungeon (Jamison)
Trek Glowacki Twitter Thread (Jamison)
Mogo Portable Seat (Chuck)
Clear Acrylic Wall Mountable 10 Slot Dry Erase Marker & Eraser Holder Organizer Rack (Chuck)
Bitmap Graphics SIGGRAPH'84 Course Notes (Erich)
Salsa (Chris)

The Microsoft Band (Chris)
Making a Murderer (Chris)




io

221 JSJ Visual Studio Code with Wade Anderson Live From Microsoft Build 2016

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Wade Anderson of Microsoft about Visual Studio Code. You can follow him on Twitter, or check out what he’s done over on GitHub.

 

Picks

 

A special thanks again goes out to Richard Campbell and Carl Franklin from .NETRocks for putting this podcast series together! You rock!




io

225 JSJ Functional Programming with John A. De Goes

03:08 - John A. De Goes Introduction

04:07 - PureScript

JavaScript Jabber Episode #189: PureScript with John A. De Goes and Phil Freeman

04:58 - “Purely Functional”

09:18 - Weaknesses With Functional Programming

14:36 - Organizing a FP Codebase

17:54 - Beginners and Functional Programming; Getting Started

  • Learning About the History of Functional Programming
  • Hiring Junior Devs to do FP

28:20 - The Rise of Functional Programming in JavaScript-land

32:08 - Handling Existing Applications

36:03 - Complexity Argument

41:53 - Weighing Language Tradeoffs; Alt.js


Picks




io

233 JSJ Google Chrome Extensions with John Sonmez

02:50 The definition of a plug-in

03:31 The definition of an extension

05:09 The way to determine the plug-ins and extensions you are running

08:22 How to create an extension file

11:02 The appeal of creating extensions

13:26 How John got into creating extensions

15:48 Ways to organize extensions

19:38 Aspects of chrome that will affect extensions

23:23 Packaging for the Chrome store

26:22 Using dev tools

29:42 Conflicting plug-ins/extensions and how to deal with them

31:30 Open source extensions

32:32 A quick way to create an extension

QUOTES:

“I teach software developers how to be cool.” –John Sonmez

“There wasn’t an ability to extend the dev tools, but now there is.” –John Sonmez

“One quick way to create an extension is just to take one of these sample apps…and then just start modifying it…” –John Sonmez

PICKS:

“Django Unchained” Website

“Using Angular 2 Patterns in Angular 1.x” Apps Egghead Course

Girls’ Life vs. Boys’ Life on Refinery29

Webinar Jam Software

 

“Five Mistakes That are Keeping You From Getting Hired” Webinar

Screencastify Chrome Extension

How to Fail at Almost Everything and Still Win Big Book on Amazon

The Complete Software Developers Career Guide Book in Progress

Simple Programmer Website

Simple Programmer on Youtube




io

240 JSJ Visual Studio Code with Chris Dias

Previous Episodes with Visual Studio Code’s Team:

JSJ Episode 199, Visual Studio Code with Chris Dias and Erich Gamma

JSJ Episode 221, Visual Studio Code with Wade Anderson

1:45 - What’s new at Visual Studio Code

3:42 - Confusion with Javascript versus separate languages

7:15 - Choosing your tools carefully

8:20 - Integrated shell and docker extensions

12:05 - Agar.io Extensions and extension packs

16:15- Deciding what goes into Visual Studio Code and what becomes an extension

18:20 - Using Github Issues and resolving user complaints

22:08 - Why do people stray away from VS proper?

23:10 - Microsoft and VS legacy

27:00 - Man hours and project development

31:30 - The Visual Studio default experience

37:10 - What are people writing with VS Code?

39:20 - Community versus developer views of VS Code

41:40 - Using Electron

44:00 - Updating the system

44:50 - How is Visual Code written?

48:00 - The future of Visual Code Studios

Picks:

Don McMillan (AJ)

Daplie Wefunder (AJ)

Daplie (AJ)

Facebook feed blocker plug-in (Charles)

Tab Wrangler (Charles)

Smart Things (Chris)

Wood Pizza Ovens (Chis)

PJ Mark, Chris’ friend and marketer (Chris)




io

242 JSJ Visual Studio and .NET with Maria Naggaga

1:15 - Introducing Maria Naggaga

2:32 - .NET new developers

3:55 - NYC Microsoft bootcamp

6:25 - Building a community of .NET programmers

7:25 - Why would a Javascript developer care about .NET?

9:30 - Getting started with .NET

15:50 - The power of asking questions

22:45 - Recruiting new programmers to the industry

37:00 - Javascript and C#

48:30 - Running .NET on Raspberry Pi

Picks:

Super Cartography Bros album by OverClocked ReMix (AJ)

Daplie (AJ)

Daplie Wefunder (AJ)

The Eventual Millionaire (Charles)

Devchat Conferences (Charles)

15- Minute Calls (Charles)

Codeland Conference (Maria)

March by Congressman John Lewis (Maria)

Microsoft Virtual Academy (Maria)




io

244 JSJ Visual Studio with Sam Guckenheimer

1:05 - Introducing Sam Guckenheimer

2:45 - Continuous integration with Visual Studio

4:15 - Visual Studio on Macs

5:55 - Is Visual Studio just for C#?

8:45 - Container support and the Cloud

14:20 - Docker and Visual Studio

17:40 - Communicating with multiple services

24:15 - Talking to clients about change and working with transformation

33:00 - Telemetry and collecting data

37:50 - Xamarin forms

47:50 - Deployment with changed endpoints

Picks:

Daplie Wefunder (AJ)

Unroll.Me (Charles)

Focused Inbox on Outlook (Sam)

WhiteSource (Sam)

The Girl On The Train (Sam)

The Pigeon Tunnel by John le Carre (Sam)




io

JSJ 249 Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross

On today's episode, Charles Max Wood, Joe Eames, and Aimee Knight discuss Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross. Tune in to their interesting talk, and learn how you can improve user experience and performance with better loading!




io

JSJ 250 Celebration

JavaScript Jabber turns 5! On today's episode, Charles Max Wood, AJ ONeil, and Aimee Knight travel down memory lane to reminisce the highlights of the show. Tune in and enjoy the celebration!




io

JSJ 252 The 20th Anniversary of Visual Studio with Bowden Kelly

Javascript Jabber is hosted this week by Joe Eames, Aimee Knight, AJ O'Neal, Cory House, Charles Max Wood and their special guest Bowden Kelly. Bowden is a program manager at Microsoft and he shares some insight into the new features in Visual Studio 2017 RTM with Bowden Kelly.




io

MJS #009: Joe Fiorini

Welcome to the 9th My JS Story! Today, Charles Max Wood welcomes Joe Fiorini. Joe has been into programming since his teenage years. He discussed about functional reactive programming in episode 61 of JavaScript Jabber. Get to know him better at My JS Story Joe Fiorini.




io

JSJ 258 Development in a Public Institution with Shawn Clabough

On today's JavaScript Jabber Show, Charles and Aimee discuss Development in a Public Institution with Shawn Clabough. Shawn is a developer and developer manager at Washington State University. He works with the research office, and has been in the industry for 20 years. Tune in to this exciting episode!




io

JSJ 263 Moving from Node.js to .NET and Raygun.io with John-Daniel Trask

This episode features Moving from Node.js to .NET and Raygun.io with John-Daniel Trask. John-Daniel is the Co-founder and CEO of Raygun, a software intelligence platform for web and mobile. He's been programming for many years, and is originally from New Zealand. Tune in and learn what prompted them to move to the .NET framework!




io

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code!

[00:01:20] – Introduction to Ramya Rao and Wade Anderson

Ramya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft.

Questions for Wade and Ramya

[00:02:00] – Elevator Pitch for Visual Studio Code

Our vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron.

[00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on?

Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to.

Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product.

[00:05:30] What is Emmet?

Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that.

[00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML?

In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things.

[00:07:42] Is Emmet an extension or does it come with Visual Studio Code?

Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better.

[00:08:21] – What’s new in Visual Studio Code?

One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor.

We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code.

We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features.

Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench.

[00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code?

Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works.

[00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products?

That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products.  When electron came out, we saw an opportunity of, “Hey, can we port this  Monaco editor to Electron and we could then, run it on Mac and Linux.”

[00:19:45] – What are the performance things that you’ve done?

One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time?

We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy.

Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension.

The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance.

[00:25:55] – Do you have problem on the desktop? Are all the modules just load at once?

We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process.

We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions.

[00:28:25] – What’s coming next for Visual Studio Code?

Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month.

Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier.

Picks

AJ O’neal

  • Breath on the Wild
  • Microsoft’s Intelligent Edge

Charles Max Wood

  • Boom Beach
  • Bluetick.io
  • Emacs key binding extension for Visual Studio Code

Wade Anderson

  • Kindle Paperwhite
  •  Twitter @waderyan_

Ramya Rao

  • Open source
  • Twitter @ramyanexus




io

JSJ 268 Building Microsoft Office Extensions with JavaScript with Tristan Davis and Sean Laberee

JSJ 268 Building Microsoft Office Extensions with Javascript with Tristan Davis and Sean Laberee

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Tristan Davis and Sean Laberee from the Office Team at Microsoft. Tune in and learn more about what’s new with Microsoft Office Extensions!

[00:01:25] – Introduction to Tristan Davis and Sean Laberee

Tristan Davis and Sean Laberee are Program Managers on the Microsoft Office team, focused on Extensibility.

Questions for Tristan and Sean

[00:01:45] – Extending Office functionality with Javascript

Office isn’t just an application on Windows that runs on your PC. It is running on iPhone, iPad, Android tablet, and apps on the browser with Office Online. The team needs a new platform, add-ins, which allow you to build apps that run across all places. It’s HTML and Javascript. HTML for all the UI and a series of Javascript module calls for the document properties. Sometimes we call it OfficeJS.

[00:03:20] – This works on any version of Office?

It works on Office on Windows, Mac, Online and iPad.

[00:03:55] – HTML and CSS suck on mobile?

There are things that you’re going to want to do when you know you’re running on a mobile device. If you look at an add-in running on Outlook for iPhone, the developer does a lot of things to make that feel like part of the iPhone UI. Tristan believes that you could build a great add-in for Office using HTML and JavaScript.

[00:05:20] – Are these apps written with JavaScript or you have a Native with WebView?

Office itself is Native. All of it is Native code but the platform is very much web. The main piece of it is pointing at the URL. Just go load that URL. And then, you can also call functions in your JavaScript.

[00:06:35] – Why would you do this? How does it work?

The add-in platform is a way to help developers turn Word, Excel and PowerPoint into the apps that actually solve user’s business problems. The team will give you the tools with HTML and JavaScript to go and pop into the Word UI and the API’s that let you go manipulate the paragraph and texts inside of Word. Or in Excel, you might want to create custom formulas or visualizations. The team also let people use D3 to generate their own Excel charts.

And developers want to extend Office because it’s where a lot of business workers spend their days 0 in Outlook, Teams, Word, Excel.

[00:10:00] – How did this get delivered to them?

There are 2 ways to get this delivered. One, there’s an Office Store. Second, if you go into Word, Excel, and PowerPoint, there’s a store button and you can see tons of integrations with partners.

For enterprises, IT can deploy add-ins to the users’ desktops without having stress about deploying MSI’s and other software deployments that the web completely rids off. The add-ins make a whole lot of pain the past completely go away.

[00:11:00] – Everybody in the company can use a particular plug-in by distributing it with Office?

That’s right. You can go to Office 365 add-in experience. Here’s the add-in and you can to specific people or everyone who’s part of a group.

For the developer’s perspective, if you have the add-in deployed to your client, you could actually push updates to the web service and your users get the updates instantly. It’s a lot faster turn-around model.

[00:14:20] – What about conversations or bot integrations?

There’s the idea of connectors at Teams. You can subscribe to this web book and it’ll publish JSON. When the JSON is received, a new conversation inside of Teams or Outlook will be created. For example, every time someone posts on Stack Overflow with one of the tags that team cares about, it posts on Outlook.

It’s a great way to bring all the stuff. Rather than have 20 different apps that are shooting 20 different sets of notifications, it’s just all conversations in email, making do all the standard email things.

And in the connector case, it’s a push model. The user could choose what notifications they want.

You’d also learn things like bots. You can have bots in Teams and Skype. The users can interact with them with their natural language.

[00:18:40] – How about authentication?

As long as you’re signed into Office, you can call JavaScript API to give you an identity token for the sign in user and it will hand you a JWT back. That’s coming from Azure Active Directory or from whatever customer directory service. That’s standard.

If you want to do more, you can take that identity token and you can exchange that for a token that can call Microsoft graph. This app wants to get access to phone, are you okay with that? Assuming the user says yes, the user gets a token that can go and grab whatever data he wants from the back-end.

[00:20:00] – Where does it store the token?

That’s up to the developer to decide how they want to handle that but there are facilities that make sure you can pop up a dialog box and you can go to the LO-flow. You could theoretically cache it in the browser or a cookie. Or whatever people think is more appropriate for the scenario.

[00:20:55] – What does the API actually look like from JavaScript?

If you’re familiar with Excel UI, you can look at Excel API. It’s workbook.worksheets.getItem() and you can pass the name of the worksheet. It can also pass the index of the worksheet.

[00:22:30] – What’s the process of getting setup?

There’s a variety of options. You can download Office, write XML manifest, and take a sample, and then, side loads it into Office. You can also do that through web apps. There’s no install required because you can go work against Office Online. In the Insert menu, there’s a way to configure your add-ins. There’s upload a manifest there and you can just upload the XML. That’s going to work against whatever web server you have set up.

So it’s either on your local machine or up in the cloud. It’s as much as like regular web development. Just bring your own tools.

[00:24:15] – How do you protect me as a plug-in developer?

There’s an access add-in that will ask your permission to access, say, a document. Assume, they say yes, pipes are opened and they can just go talk to those things. But the team also tries to sandbox it by iframes. It’s not one page that has everybody’s plug-ins intermingle that people can pole at other people’s stuff.

[00:27:20] – How do you support backward compatibility?

There are cases where we change the behavior of the API. Every API is gated by requirement set. So if a developer needs access to a requirement set, he gets an aggregate instead of API’s that he can work with but it isn’t fixed forever.

But it’s not at that point yet where we end up to remove things completely. In Office JS, we’ve talked about API’s as one JavaScript library but really, it’s a bootstrap that brings in a bunch of other pieces that you need.

[00:30:00] – How does that work on mobile? Do they have to approve download for all components?

You can download components by using the browser that the operating system gives. It’s another one of the virtues of being based on the web. Every platform that has a web browser can have JavaScript execution run-time. It allows for the way that their app guidelines are written.

[00:33:15] – How about testing?

It’s a place where there’s still have work to do. There’s a bunch of open-source projects that partners have started to do that. What they’ve done is they’ve built a testing library. Whatever the mock is, it's just a thing on Github. It is open-source friendly. So the team could be able to contribute to it. “Here’s an interesting test case for this API. I want to make sure that it behaves like this.

[00:35:50] – Could you write it with any version for JavaScript e.g. TypeScript?

A Huge chunk of the team is big TypeScript fans. They’ve done a lot of work to make sure that TypeScript experience is excellence.

Type is basically a collection of typing files for TypeScript. There’s a runtime process that parses your TypeScript, gives you feedback on your code, and checks for errors. You can also run it in the background.

There’s an add-in called Script Lab. Script Lab is literally, you hit the code button and you get a web IDE right there. You can go start typing JavaScript code, play with API’s, and uses TypeScript by default. It’ll just actually load your code in the browser, executes, and you can start watching.

[00:39:25] – Are there any limitations on which JavaScript libraries you can pull in?

There a no limitations in place right now. There are partners that use Angular. There are partners that are big React fans. If you’re a web dev, you can bring whatever preferences around frameworks, around tools, around TypeScript versus JavaScript.

[00:45:20] – What’s the craziest thing you’ve seen done with this API?

Battleship was pretty cool. There’s also Star Wars entering credits theme for PowerPoint.

[00:46:40] – If a developer is building a plug-in and get paid for it, does Microsoft take credit for that?

There are 2 ways that folks can do it. You can do paid add-ins to the store. Either you do the standard perpetual 99 cents or you can do subscriptions, where it’s $2.99/month. Tristan encourages that model because integrations are just a piece of some larger piece of software.

But Microsoft is not in the business of trying to get you to pay me a little bit of 10 cents a dollar. It’s really in the business of making sure that you can integrate with Office as quickly as possibly can.

When the users go to the store, they can use the same Microsoft account that you use to buy Xbox games or movies in the Xbox, Windows apps in the Windows store.

[00:52:00] – The App Model

If folks are interested in the app model, they should go to dev.office.com to learn more about it because that’s where all the documentation is. Check out our Github. Right there in the open, there’s the spec. Literally, the engineers who are coding the product are reading the same marked-down files in the same repo that you, as a developer, can come and look at. And you can comment. You can add issues like you could have a dialogue with that PM. Under the OfficeDev, you’ll find a tunnel repository that contains samples. Our docs are there.

Picks

AJ O'Neal

  • Lithium

Charles Max Wood

Tristan Davis

Sean Laberee




io

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript.

[00:01:28] Mike Ammerlaan introduction
Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team.

[00:01:52] Vesa Juvonen introduction
Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework.

[00:02:18] What is the SharePoint Framework?
This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort

[00:03:32] What is SharePoint?
File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution.

[00:05:56] What extensions can you build for SharePoint?
You can build widgets for your front page or intranet. You can also add user management or data management or document management.

Examples:

  • Dashboards
  • Mini Applications
  • Scheduling and Time Tracking
  • Document Storage
  • Source code repositories

[00:07:39] What is WebDAV and how does it relate?
WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents.

[00:08:36] Do I have to build front-end and back-end components to get full functionality?
You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems.

It really does take multiple skill sets to build extensions for SharePoint.

[00:11:10] SharePoint on Mobile
There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application.

[00:12:08] Building extensions with standard Angular or React component libraries
There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does.

Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds.

[00:14:30] Getting around sandboxing
Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways.

[00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings
There are guides for a lot of this. React does a bunch of the isolation work.

Addons are iframed in and an API token is given to grant access to the data and APIs.

Microsoft also reviews and approves plugins.

[00:18:30] How do you get started and make money at this?
Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store.

You can request a SharePoint tenant installation from the Microsoft Dev Tools for free. Then you can build into the tenant site. The rest of the tools are available on npm.

SharePoint Developer Tools

[00:22:13] Automated testing for SharePoint extensions
Unit testing is built in for JavaScript. Testing the UI's require you to sign into Office 365. There are people doing it, though.

[00:22:54] Building internal-only extensions
SharePoint is an enterprise tool, so a lot of enterprises may not want to install extensions from the store. You can definitely build and install private plugins for SharePoint setups. They also have their own backend systems that will require custom development.

[00:25:50] Office 365, SharePoint, and OneDrive
Office 365 is used by people across many different sized organizations and SharePoint is much more enterprise. Office 365 tools store files and information in SharePoint.

What about OneDrive versus Sharepoint? OneDrive is focused for one person. SharePoint is focused around a team. But they have the same APIs and use the same technology stack.

[00:29:05] The history and future of SharePoint
It started out on premises and has moved to the cloud. The SharePoint team is working to keep it available and useful in the modern cloud based era.

[00:30:25] What does the API footprint look like?
It spans modifying lists, data objects, attributes, items in a list, put Web Parts on a page, modify the experience, and manage and modify access, users, and documents. SharePoint is a way of building a way of conveying information.

SharePoint is layers of data and scopes.

[00:35:26] Tutorials and Open Source
dev.office.com
The Sharepoint framework is not open source yet, but they're working on that. They also need to open source the Yeoman templates.
Open source samples are available at github.com/sharepoint.

Picks

Charles Max Wood

  • BlueTick
  • Zapier
  • ScheduleOnce
  • Moo.com
  • Advice: Take the time to go talk to people.
    Vesa adds that you should go to a session that's on something completely outside your experience.

AJ O'Neal

Mike Ammerlaan

Vesa Juvonen

  • Family

A big thanks to Microsoft, DotNetRocks, and Build!




io

JSJ 272: Functional Programming and ClojureScript with Eric Normand

JSJ 272: Functional Programming and ClojureScript with Eric Normand

This episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more!

[00:1:14] Introduction to Eric Normand

Eric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well.

[00:02:22] Address that quickly

Functional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby.

So yes, people are using it and it is influencing the mainstream programming industry.

[00:3:48] How do you build an application?

A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code.

[00:05:56] Can you expand on that a little?

There are four steps to the process of structuring an application.

  1. Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code?
  2. Develop the operations. What are their properties? Example: will have to sort records chronological.
  3. Develop relationships between the operations.
  4. Run tests and refactor the program. Once you have that, you can write the prototype.

[00:13:13] Why can’t you always make the code better?

Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier.

[00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read?

He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code.

[00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop?

He thinks people should think about it before, although always be making experiments that do not touch production.

[00:23:33] Is there a trade off between using ClojureScript and functional JavaScript?

In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support.

[00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree?

Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox.

[00:31:40] If this is a better way to solve these problems, why aren’t people using it?

There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable.

[00:40:58] If people want to get started with it, is there an easy way in?

Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you.

Picks

Aimee:

Eric

Charles

  • Ionic Framework

Links




io

JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood

Panel:

Charles Max Wood

In this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for those looking for a job as a developer and how to prepare your resume for your career search. Charles covers the core pieces of the course and specific areas of tailoring your credentials for the job you want to acquire.

In particular, we dive pretty deep on:

  • How do I get a great job? Companies are only hiring Senior Devs.
  • Your selling point as a Jr. Dev.
  • Framing your experience for the companies to better see your experience.
  • I don’t want a ( this kind of boss)
  • Feeling like you are making a difference in your job.
  • Who do you want to work for, with, where, and how, etc?
  • Working in a facility or remotely. What do you want?
  • Check out the meet-up places or workplaces (WeWork), Glassdoor
  • Check out the people who work that these companies, LinkedIn.
  • Check out company’s Slack rooms, forum, etc. to make connections
  • Visit the companies personally
  • Look into contacting the Meetup Organizers
  • Building rapport
  • Resume mistakes - how to properly format it so it is skim-able
  • Top 3 bullet points and tailor you resume for each job
  • Unnecessary material in your resume - again tailor to the company
  • Important material to include on your resume, contributions on projects
  • The cover letter - How to do this correctly with a personal touch
  • What to do when you get the interview - the offer!
  • And much more!

Links:




io

JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

Kye Hohenberger

In this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notable works and library is Emotion, a CSS and JS library.

Kye talks about what CSS and JS library is about in the context of the Emotion library system. Kye discusses why this is practical for the writing process, in comparison to other types of tools that do similar jobs. Kye explains the how this tool reduces the number of lines of code and is compact and clearer.

In particular, we dive pretty deep on:

  • What is a CSS and JS library?
  • Controlling CSS with JS, what does this solve?
  • Style bugs
  • What kind of styling are you using vs. complex styles?
  • Media query
  • A more declarative style
  • Using Sass
  • Where do you see people using this?
  • Class names and you can apply to anything
  • How Emotion works!
  • Style tags
  • Object styles
  • What are some of the problems you are solving
  • React Emotion - dynamic styles
  • How does this compare to other style components?
  • Glamor Styles
  • How do you test something like this?
  • Just Glamor React with Emotion
  • Can people use the Babel plugin
  • Pure flag and function calls
  • And much more!

Links:

  • Emotion.sh
  • Emotion-js/emotion
  • emotion.now.sh
  • @TKH44

Picks:

Amiee

  • Article on Medium
  • Antibiotics and Steroids
  • RX Bars 

Charles

Kye




io

JSJ 289: Visual Studio Code and Live Sharing with Chris Dias and PJ Meyer LIVE at Microsoft Connect 2017

Panel:

Charles Max Wood

Special Guests: 

Chris Dias

PJ Meyer

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more.

In particular, we dive pretty deep on:

  • Demo of Live Collaborative Editing and Debugging explained
  • New Features with VS Code
  • Developer productive
  • Debugging pain points
  • Getting feedback
  • New in VS Code
  • Language support and Java Debugger
  • Live Share
  • Debugging from different machines and platforms
  • Multi-Stage Docker File
  • TypeScript compiler
  • More on debugging with Cosmos db
  • Debugging in the Cloud?
  • Docker Extensions
  • Data Bricks
  • Updated python tools
  • Coming up with Visual Studio Code in the next 6 months
  • TypeScript and Refactoring
  • Getting the word out about code -  Word of mouth?
  • Number of people using VS Code?
  • Envision for what VS Code is becoming?
  • Preparing for a keynote and processes?
  • And much more!

Links:

Picks:

Chris

  • Pizza

PJ

  • Deli

Charles

  • Coupon Pass for tourist in NYC
 




io

JSJ 300: Celebration

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Special Guests: None

In this episode, the JavaScript Jabber panelists speak on where they are what they are up to today. Aimee is still in Nashville, Tennessee, and it is currently working at

Built Technologies and is working with JavaScript. Cory is still authoring courses for Pluralsite, has more recently been doing consulting with React, and is the principal engineer at Cox Automotive. Joe is doing a lot of Pluralsight work, puts together conferences, and is working on a new podcast with Charles. AJ recently did some side work with Dash, is interested in working on a new domain service, and recently got married. Charles is currently at ngATL conference, and has been attending a lot of conferences recently. He is also starting to head over to the video realm and is creating a new podcast called React Roundup and a View Podcast with Joe. They also talk about what they each have planned in the upcoming year for their careers and their lives.

In particular, we dive pretty deep on:

  • Built Technologies
  • JavaScript
  • Front End and Full Stack
  • Pluralsite
  • React consulting
  • Cox Automotive
  • Front end apps
  • View and React podcast
  • Angular JS to Angular
  • Pluralsight courses
  • Big Picture React courses
  • Fork of Bitcoin called Dash
  • New domain service
  • ngATL
  • React Roundup Podcast
  • New podcasts on artificial intelligence, IOT, augmented and virtual reality game development, python
  • Node, JavaScript, and Rust
  • And much, much more!

Links:

Picks:

Charles

Aimee

Cory

AJ

Joe




io

JSJ 305: Continuous Integration, Processes, and DangerJS with Orta Therox

Panel:

  • Charles Max Wood
  • Aimee Knight
  • Joe Eames
  • AJ O'Neal
  • Special Guests: Orta Therox

In this episode, the JavaScript Jabber panelists talk about the tool Danger with Orta Therox. Danger allows you to create cultural rules about your pole request workflow. They discuss what Danger is, how it works, and how it can help you to catch errors and speed up code review. Danger lets you erase discussions so that you can focus on the things that you should really be focusing on, like the code. They also compare Danger to other ways of doing test converge.

In particular, we dive pretty deep on:

  • What is DangerJS?
  • Think of it as being on the PR level
  • Provides an eval context
  • Used on larger projects
  • React, React Native, Apollo, and RxJS
  • Experimenting with moving Danger onto a server
  • Danger can run as a linting step
  • Pre-commit hooks
  • Prettier
  • How do you use Danger on your own machine?
  • Danger Ruby vs Danger JS
  • NPM install
  • How is using Danger better that other ways of test coverage?
  • What kinds of rules can you write for this system?
  • Can use with Ruby or JavaScript
  • React Storybooks
  • Retrospectives
  • And much, much more!

Links:

Picks:

Charles

Aimee

Joe

AJ

Orta




io

JSJ 313: Light Functional JavaScript with Kyle Simpson

Panel:

  • AJ ONeal
  • Aimee Knight
  • Joe Eames

Special Guests: Kyle Simpson

In this episode, the JavaScript Jabber panelists discuss light functional JavaScript with Kyle Simpson. Kyle is most well-known for writing the books You Don’t Know JS and is on the show today for his book Functional-Light JavaScript. They talk about what functional programming is, what side-effects are, and discuss the true heart behind functional programming. They also touch on the main focus of functional programming and much more!

In particular, we dive pretty deep on:

  • You Don’t Know JS
  • Functional-Light JavaScript
  • From the same spirit as first books
  • JavaScript
  • Documents journey of learning
  • What does Functional Programming mean?
  • Functional programming is being re-awoken
  • Many different definitions
  • History of functional programming
  • Programming with functions
  • What is a function?
  • “A collection of operations of doing some task” is what people think functions are
  • What a function really is
  • Map inputs to outputs
  • What is a side-effect?
  • Side-effects should be intentional and explicit
  • The heart of functional programming
  • Refactoring
  • Can’t write a functional program from scratch
  • What functional programming focuses on
  • Making more readable and reliable code
  • Pulling a time-stamp
  • Defining a side-effect
  • And much, much more!

Links:

Picks:

Aimee

AJ

Joe

Kyle




io

JSJ 314: Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more!

In particular, we dive pretty deep on:

  • Amanda intro
  • Matt intro
  • What’s new in VS Code?
  • VS Code core
  • VS Live Share
  • Shared Terminal
  • Now have Linux support
  • Live Share is now public to the world for free
  • What would you use Shared Terminal for?
  • Are there other things coming up in VS Code?
  • Constantly responding to requests from the community
  • Live Share works for any language
  • How does the Azure extension work?
  • Azure App Service
  • Storage extension
  • Azure Cosmos DB
  • What are log points?
  • All a part of a larger plan to create a better experience for JS developers
  • Visual debuggers
  • Is it the same plugin to support everything on Azure?
  • Want to target specific services that node developers will take advantage of
  • And much, much more!

Links:

Picks:

Charles

Matt

Amanda