va 048 JSJ Why JavaScript Is Hard By devchat.tv Published On :: Fri, 22 Feb 2013 07:00:00 -0500 Panel Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) AJ O’Neal (twitter github blog) Discussion 00:56 - Why JavaScript is hard to learn 02:30 - This 05:30 - Bind 09:11 - Browsers 11:01 - Class-based inheritance Prototypal inheritance 16:37 - New function 18:51 - Closures 20:51 - JavaScript is asynchronous 22:14 - Variable scoping Hoisting 26:14 - Numbers and math (AJ joins the podcast) == ’s vs === ’s 32:15 - Things that make JavaScript hard after learning JavaScript Package management 35:06 - Numbers (cont’d) Crypto Bitwise operations Strings Effective JavaScript by David Herman 044 JSJ Book Club: Effective JavaScript with David Herman 40:16 - Changing/Evolving JavaScript 43:31 - Environmental reasons that make JavaScript Hard Tooling 48:25 - Few projects are primarily JavaScript 49:07 - Adolescence and the JavaScript Ecosystem 53:59 - Running JavaScript Picks Sharpie Metallic Silver (AJ) The how and why of auto-executing functions (in JavaScript) (AJ) The JavaScript Unicycle (AJ) RSA (Tim) OUYA (Tim) Borderlands 2 (Joe) MechWarrior Tactics (Chuck) Testing Clientside JavaScript (Joe) Fire Up Ember.js | PeepCode (Chuck) Meet Chef (Part 2 of 2) | PeepCode (Chuck) Next Week MooTools with Arian Stolwijk and Valerio Proietti Transcript TIM: I’m just learning lots of math and attempting to do real math in JavaScript is a fun challenge. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody and welcome to Episode 48 of the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE: Howdy! CHUCK: We also have Tim Caswell. TIM: Hello! CHUCK: And I’m Charles Max Wood from DevChat.tv. And when this episode goes out, you’re going to have about two weeks left if you wanted to sign up for my Rails Ramp Up course. You’ll find that at RailsRampUp.com. I’ve been working hard on that. This week, we’re going to talk about why JavaScript is hard. And I think it was Tim that came on and said, “So, we’re talking about why JavaScript sucks?” And I didn’t want to call it that but at the same time, it’s one of the -- I think the reasons that people find JavaScript hard and the reasons some people say that JavaScript sucks are kind of the same thing. So, if you want to think of it that way, go right ahead. But I kind of wanted to talk about this for a couple of reasons. One was that I was at the users’ group meeting last week and they talked about some of the things that make JavaScript hard and I don’t remember what they all were. But there were a few things that, there are some concepts that are markedly different from what you find in other languages or at least some of the concepts exist in the other languages but they aren’t kind of as important or as in-your-face as they are in JavaScript. Anyway, the other reason is that I was thinking about when I first started this show. And when I first started the show, I was a web developer that was kind of like, “jQuery, whoo!” And thought jQuery and JavaScript, you know, were mostly the same in the sense that the only way to write sane JavaScript was to use jQuery. And so, I wanted to talk around some of the things that I’ve learned over the last year from the other panelists and help people who are coming into JavaScript understand the real power behind some of these other concepts. So that being said, let’s go ahead and get started. I’m a little curious as to what you guys think are some of the hard things that people run into in JavaScript, like why do they struggle with it? TIM: Alright. So, Full Article
va 049 JSJ MooTools with Valerio Proietti and Arian Stolwijk By devchat.tv Published On :: Fri, 01 Mar 2013 01:00:00 -0500 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, Full Article
va 054 JSJ JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya Hidayat By devchat.tv Published On :: Fri, 05 Apr 2013 03:00:00 -0400 Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel David Herman (twitter blog Effective JavaScript) Ariya Hidayat (twitter github blog) Tim Caswell (twitter github howtonode.org) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:48 - David Herman and Ariya Hidayat Introduction 044 JSJ Book Club: Effective JavaScript with David Herman 023 JSJ Phantom.js with Ariya Hidayat 01:54 - Parsing JavaScript and ASTs and Language Grammars 04:44 - Semantics 06:08 - Abstract Syntax Tree (AST) Esprima: Parser SpiderMonkey 10:37 - Lexer 12:16 - Writing your own language creationix / jack The C Programming Language 17:41 - Parser Generators JavaScriptCore 21:04 - Evolving a Syntax Automatic Semicolon Insertion Post correspondence problem Halting problem 28:05 - Language Design The Rust Programming Language 30:35 - Grammar Regular Expressions (Regex) Backus–Naur Form (BNF) Recursion How to Design Programs (HTDP) 38:00 - Recursive Descent Parsers 42:48 - Benefits of knowing language internals and syntax Apache Lucene - Apache Lucene Core LPeg - Parsing Expression Grammars For Lua 48:48 - Abstract Syntax Tree (AST) Picks Mass Effect 3 (Joe) A Beginner's Guide to Irrational Behavior | Coursera (Joe) Go write a programming language to learn one (Tim) Thumbs and Ammo (Jamison) ISM by Savant (Jamison) Vimcasts (Jamison) The iPhreaks Show (Chuck) Mozy (Chuck) Tech & Go Bright Pink Micro USB Cable (David) asm.js (David) Beyond Office Politics: The Hidden Story of Power, Affiliation & Achievement in the Workplace by Linda Sommer (Ariya) gotwarlost / istanbul (Ariya) Next Week Web Developer Skills Transcript JAMISON: I am Linus Torvalds and I pronounce Linux, Linix. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody and welcome to Episode 54 of the JavaScript Jabber Show. This week on our panel, we have Tim Caswell. TIM: Hello. CHUCK: Jamison Dance. JAMISON: Hi guys. CHUCK: Joe Eames. JOE: Hey there. CHUCK: Merrick Christensen. MERRICK: Hey guys, what’s up? CHUCK: I’m Charles Max Wood from DevChat.tv. And we have two special guests this week. We have Dave Herman. DAVID: Hey there. CHUCK: Ariya Hidayat. ARIYA: Hello everyone. CHUCK: And these guys are so smart that we brought them back. So, if you’re interested, we’ll put links to the episodes that they were on. David was on when we talked about his book ‘Essential JavaScript’ and Ariya was on when we talked about PhantomJS. JAMISON: Effective JavaScript. CHUCK: Effective? What did I say? MERRICK: Essential. CHUCK: Essential? Well, it’s an essential book on Effective JavaScript. How’s that? [Laughter] MERRICK: Good save. DAVID: At least, you didn’t say Defective JavaScript. [Laughter] CHUCK: No, that’s what I write. I’m really good at writing defective JavaScript. ARIYA: Actually, there’s a book about Essential on Defective JavaScript. CHUCK: I also want to announce really quickly that Fluent Conf has given us a discount code. So, if you want to get 20% off on your registration for Fluent Conf, just enter JAVAJAB and you’ll get 20% off when you register for Fluent Conf. Alright. Well, let’s get started. This is going to be a really, really interesting topic and it’s something that I’ve wanted to know more about for a long time. And I just haven’t delved as deeply into it as I would like to. And that is, Full Article
va 066 JSJ Transitioning to JavaScript By devchat.tv Published On :: Fri, 05 Jul 2013 03:00:00 -0400 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, Full Article
va 070 JSJ Book Club: JavaScript Allongé with Reginald Braithwaite By devchat.tv Published On :: Fri, 09 Aug 2013 12:47:00 -0400 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, Full Article
va 071 JSJ JavaScript Strategies at Microsoft with Scott Hanselman By devchat.tv Published On :: Fri, 16 Aug 2013 07:00:00 -0400 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#, Full Article
va 075 JSJ Maintainable JavaScript with Nicholas Zakas By devchat.tv Published On :: Fri, 13 Sep 2013 08:00:00 -0400 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, Full Article
va 081 JSJ Promises for Testing Async JavaScript with Pete Hodgson By devchat.tv Published On :: Fri, 25 Oct 2013 11:00:00 -0400 Pete Hodgson crosses over from the iPhreaks podcasts to talk with the Jabber gang about testing asynchronous Javascript with promises. Full Article
va 082 JSJ JSHint with Anton Kovalyov By devchat.tv Published On :: Fri, 01 Nov 2013 11:00:00 -0400 Anton Kovalyov joins the Jabber gang to talk about JSHint, linting, parsing, lexing and much more. Full Article
va 092 JSJ The MEAN Stack with Ward Bell and Valeri Karpov By devchat.tv Published On :: Fri, 17 Jan 2014 08:00:00 -0500 The panelists discuss the MEAN stack with Ward Bell and Valeri Karpov. Full Article
va 093 JSJ The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons By devchat.tv Published On :: Fri, 24 Jan 2014 08:00:00 -0500 The panelists discuss The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons. Full Article
va 096 JSJ The Challenges of Large Single Page JavaScript Applications with Bart Wood By devchat.tv Published On :: Fri, 14 Feb 2014 08:00:00 -0500 The panelists talk to Bart Wood about large single page JavaScript applications. Full Article
va 109 JSJ Dependency Injection in JavaScript with Vojta Jína & Misko Hevery By devchat.tv Published On :: Wed, 21 May 2014 09:00:00 -0400 The panelists discuss dependency injection with Vojta Jína & Misko Hevery. Full Article
va 112 JSJ Refactoring JavaScript Apps Into a Framework with Brandon Hays By devchat.tv Published On :: Wed, 11 Jun 2014 09:00:00 -0400 The panelists talk about refactoring JavaScript Apps Into a Framework with Brandon Hays. Full Article
va 116 JSJ jQuery UI vs KendoUI with Burke Holland and TJ VanToll By devchat.tv Published On :: Wed, 09 Jul 2014 09:00:00 -0400 The panelists discuss jQuery vs KendoUI with Burke Holland and TJ VanToll. Full Article
va 124 JSJ The Origin of Javascript with Brendan Eich By devchat.tv Published On :: Wed, 03 Sep 2014 09:00:00 -0400 The panelists talk to Brendan Eich, the creator of JavaScript. Full Article
va 159 JSJ Why JavaScript Is Hard By devchat.tv Published On :: Wed, 13 May 2015 09:00:00 -0400 02:54 - Everyone Gets It But Me Martin Fowler 04:06 - Tools You “Need” to Know 06:29 - Clojures 07:39 - JavaScript as “Object-Oriented” vs “Event-Oriented” Object-Oriented Programming 09:30 - Code That Can’t Be Serialized or Deserialized 10:49 - Clojures (Cont’d) 14:32 - The DOM (Document Object Model) [YouTube] Angular + React = Speed by Dave Smith @ ng-conf 2015 19:52 - Math Is Hard IEEE754 (Floating-Point Arithmetic) 22:39 - Prototypes Sebastian Porto: A Plain English Guide to JavaScript Prototypes 25:43 - Asynchronous Programming Debugging Gregor Hohpe: Your Coffee Shop Doesn’t Use Two-Phase Commit How Do You Learn It? 32:23 - Browser Environments 34:48 - Keeping Up with JavaScript 35:46 - Node Nesting Context Switching 42:48 - UTF-8 Conversion 44:56 - Jamison’s Stack React Koa RethinkDB io.js Webpack Check out and sign up to get new on React Rally: A community React conference on August 24th and 25th in Salt Lake City, Utah! Picks Jason Orendorff: ES6 In Depth (Aimee) Cat Strollers (Aimee) Stephano Legacy of the Void (Joe) A Gentleman's Guide to Love and Murder (Joe) Gregor Hohpe: Your Coffee Shop Doesn’t Use Two-Phase Commit (AJ) Firefox OS (AJ) Flame (AJ) OpenWest 2015 (AJ) 801 Labs Hackerspace (AJ) Stack Overflow Careers (AJ) Dota 2 (Jamison) Beats, Rye & Types Podcast (Jamison) JS Remote Conf Talks (Chuck) Workflowy (Chuck) Full Article
va 168 JSJ The Future of JavaScript with Jafar Husain By devchat.tv Published On :: Wed, 15 Jul 2015 11:00:00 -0400 03:04 - Jafar Husain Introduction Twitter GitHub Netflix TC39 03:29 - The Great Name Debate (ES6, ES7 = ES2015, ES2016!!) 05:35 - The Release Cycle What This Means for Browsers 08:37 - Babel and ECMAScript 09:50 - WebAssembly 13:01 - Google’s NACL 13:23 - Performance > Features? ES6 Feature Performance (JavaScript Weekly Article) Features Implemented as Polyfills (Why Bother?) 20:12 - TC39 24:22 - New Features Decorators Performance Benefit? 28:53 -Transpilers 34:48 - Object.observe() 37:51 - Immutable Types 45:32 - Structural Types 47:11 - Symbols 48:58 - Observables 52:31 - Async Functions asyncawait 57:31 - Rapid Fire Round - When New Feature Will Be Released in ES2015 or ES2016 let - 15 for...of - 15 modules - 15 destructuring - 15 promises - 15 default function argument expressions - 15 asyncawait - 16 Picks ES6 and ES7 on The Web Platform Podcast (AJ) Binding to the Cloud with Falcor Jafar Husain (AJ) Asynchronous JavaScript at Netflix by Jafar Husain @ MountainWest Ruby 2014 (AJ) Let's Encrypt on Raspberry Pi (AJ) adventures in haproxy: tcp, tls, https, ssh, openvpn (AJ) Let's Encrypt through HAProxy (AJ) Mandy's Fiancé's Video Game Fund (AJ) The Murray Gell-Mann Amnesia Effect (Dave) The Majority Illusion (Dave) [Egghead.io] Asynchronous Programming: The End of The Loop (Aimee) Study: You Really Can 'Work Smarter, Not Harder' (Aimee) Elm (Jamison) The Katering Show (Jamison) Sharding Tweet (Jamison) The U.S. Women's National Soccer Team (Joe) mdn.io (Joe) Aftershokz AS500 Bluez 2 Open Ear Wireless Stereo Headphones (Chuck) Autonomy, Mastery, Purpose: The Science of What Motivates Us, Animated (Jafar) Netflix (Jafar) quiescent (Jafar) Clojurescript (Jafar) Full Article
va 175 JSJ Elm with Evan Czaplicki and Richard Feldman By devchat.tv Published On :: Wed, 02 Sep 2015 11:00:00 -0400 02:27 - Evan Czaplicki Introduction Twitter GitHub Prezi 02:32 - Richard Feldman Introduction Twitter GitHub NoRedInk 02:38 - Elm @elmlang 04:06 - Academic Ideas 05:10 - Functional Programming, Functional Reactive Programming & Immutability 16:11 - Constraints Faruk Ateş Modernizr The Beauty of Constraints Types / Typescript 24:24 - Compilation 27:05 - Signals start-app 36:34 - Shared Concepts & Guarantees at the Language Level 43:00 - Elm vs React 47:24 - Integration Ports lunr.js 52:23 - Upcoming Features 54:15 - Testing Elm-Test elm-check 56:38 - Websites/Apps Build in Elm CircuitHub 58:37 - Getting Started with Elm The Elm Architecture Tutorial Elm Examples 59:41 - Canonical Uses? 01:01:26 - The Elm Community & Contributions The Elm Discuss Mailing List Elm user group SF Stack Overflow ? The Sublime Text Plugin WebStorm Support for Elm? Coda grunt-elm gulp-elm Extras & Resources Evan Czaplicki: Let's be mainstream! User focused design in Elm @ Curry On 2015 Evan Czaplicki: Blazing Fast HTML: Virtual DOM in Elm Picks The Pragmatic Studio: What is Elm? Q&A (Aimee) Elm (Joe) Student Bodies (Joe) Mike Clark: Getting Started With Elm (Joe) Angular Remote Conf (Chuck) Stripe (Chuck) Alcatraz versus the Evil Librarians (Alcatraz, No. 1) by Brandon Sanderson (Chuck) Understanding Comics: The Invisible Art by Scott McCloud (Evan) The Glass Bead Game: (Magister Ludi) A Novel by Hermann Hesse (Evan) The Design of Everyday Things: Revised and Expanded Edition by Don Norman (Richard) Rich Hickey: Simple Made Easy (Richard) NoRedInk Tech Blog (Richard) Full Article
va 176 JSJ RethinkDB with Slava Akhmechet By devchat.tv Published On :: Wed, 09 Sep 2015 11:00:00 -0400 02:20 - Slava Akhmechet Introduction Twitter GitHub Blog 02:41 - RethinkDB Overview @rethinkdb rethinkdb repo 04:24 - How It’s Used Compose.io 05:58 - Joins 12:50 - Returning Data JSON 13:53 - Getting Data to the Browser Quora Article Socket.IO 19:35 - Clustering Reliability & Performance Issues Jepsen (Call Me Maybe Series) Consensus Algorithms 26:37 - ReQL 30:53 - Indexes B-tree 32:18 - MapReduce 35:44 - The RethinkDB Community & Contributors 38:04 - Is it production ready? 40:08 - Differences Between Version 2.0 and 2.1 Extras JavaScript Jabber Episode #161: Rust with David Herman Steve Klabnik: Systems Programming for the Ruby Developer @ Ruby Remote Conf 2015 Picks Our World War (Dave) Quest Protein Bars (Aimee) You-Dont-Know-JS (Aimee) Angular Remote Conf (Chuck) Orphan Black (Chuck) Mr. Robot (Slava) Rick and Morty (Slava) The Rust Programming Language (Slava) Full Article
va 177 JSJ UI Validation with Oren Rubin By devchat.tv Published On :: Wed, 16 Sep 2015 11:00:00 -0400 02:43 - Oren Rubin Introduction Twitter GitHub LinkedIn TESTIM.IO 05:43 - Testing Unit Testing End-to-end Testing Acceptance Testing Functional Testing Performance Testing 18:18 - Page Object(s) Locators 27:10 - Protractor & Selenium Zombie 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) Full Article
va 186 JSJ NativeScript with TJ VanToll and Burke Holland By devchat.tv Published On :: Wed, 18 Nov 2015 11:00:00 -0500 Check out JS Remote Conf! Buy a ticket! Submit a CFP! 03:07 - Burke Holland Introduction Twitter GitHub Blog 04:01 - TJ Van Toll Introduction Twitter GitHub Blog 04:33 - Telerik Telerik Platform 04:57 - NativeScript JavaScriptCore JavaScript Jabber #128: JavaScriptCore with Cesare Rocchi React Native 07:41 - The Views 10:07 - Customizability, Styling, and Standardization 16:19 - React Native vs NativeScript 18:37 - APIs CocoaPods 21:17 - How NativeScript Works 23:04 - Edgecases? Message Passing Marshalling (Mapping) 26:12 - Memory Management 27:06 - UITableView 29:59 - NativeScript and Angular AngularConnect Talks on YouTube Sebastian Witalec: Building native mobile apps with Angular 2 0 and NativeScript 33:22 - Adding NativeScript to Existing Projects 33:51 - Building for Wearables and AppleTV Burke Holland: Apple Watch and the Cross-Platform Crisis 35:59 - Building Universal Applications 37:14 - Creating NativeScript Kendo UI 39:42 - Use Cases nativescript.org/app-samples-with-code 41:01 - Are there specific things NativeScript isn’t good for? npmjs.com search: nativescript 42:54 - Testing and Debugging 48:35 - Data Storage Picks Caddy (AJ) OC ReMix #505: Top Gear 'Track 1 (Final Nitro Mix)' by Rayza (AJ) Jamie Talbot: What are Bloom filters? A tale of code, dinner, and a favour with unexpected consequences (Aimee) Mike Gehard (@mikegehard) (Aimee) Joe Eames: Becoming Betazoid: How to Listen and Empathize with Others in the Workplace @ AngularConnect 2015 (Dave) Exercise (Chuck) Sleep (Chuck) electron (Aaron) The Synchronicity War Series by Dietmar Wehr (Aaron) PAUSE (Burke) Outlander (TJ) Full Article
va 187 JSJ Vue.js with Evan You By devchat.tv Published On :: Wed, 25 Nov 2015 11:00:00 -0500 JS Remote Conf will be held from Thursday, January 14th - Saturday, January 16th! Sign up today! 01:59 - Evan You Introduction Twitter GitHub Blog Meteor 02:34 - Vue.js vs Competitors and Motivators Behind the Framework Evan You: Vue.js: A (Re)introduction 07:18 - Use Cases 10:06 - Overlapping Elements and The Component System Getting Started Guide 11:21 - Pulling in Data 12:50 - DOM Manipulation 13:38 - Ease of Getting Started 15:33 - Directives 16:18 - Adoption awesome-vue vue (GitHub) 19:50 - The Future of Vue.js 21:59 - What is Vue.js Not Good At? 23:07 - Testing 24:06 - Vue, Angular, and React: Reactivity and Performance Knockout 29:06 - Tradeoffs 30:54 - Edgecases 32:14 - webpack 33:46 - Bundling 35:38 - Benchmarks js-repaint-perfs More on Vue.js Laravel Podcast Episode 37: I Love The Things You Are Saying Developer Tea: Part One: Paul Straw & Sean Washington (@paulstraw & @seanwashington) talk about focus, JavaScript frameworks, and rites of passage (starting around 16:25) Picks Daredevil (Dave) AlgoRythmics (Aimee) Relative Finder (Chuck) FamilySearch (Chuck) Hard Graft (Evan) Piano Phase (Evan) Full Article
va 188 JSJ JavaScript Code Smells with Elijah Manor By devchat.tv Published On :: Wed, 02 Dec 2015 11:00:00 -0500 Check out JS Remote Conf! 02:22 - Elijah Manor Introduction Twitter GitHub Blog LeanKit Eliminate JavaScript Code Smells (Elijah's Talk Abstract) A video containing the 30 min version of the talk: Eliminate JavaScript Code Smells The full slides (60 mins worth of material) 04:49 - What is a “Code Smell”? Martin Fowler: CodeSmell ESLint JSHint 10:21 - Copy/Paste Code Error jsinspect and jscpd ES6, ES7, Babel Support 13:11 - Using ES6 to Eliminate Code Smells 15:48 - Refactoring Case Statements The Strategy Pattern 21:29 - Juniors and Code Smells Code Reviews 27:29 - Isomorphic Code 31:12 - Framework Code Smells 33:47 - Identifying New Code Smells 36:33 - When Code Smells are OK 39:10 - Why use parameters? Picks Terms And Conditions May Apply (AJ) Nodevember (Aimee) Developer Tea (Aimee) Jake Shimabukuro (Joe) Screeps (Joe) react-styleguide-generator (Elijah) react-styleguidist (Elijah) The Phantom Menace - What it Should Have Been (AJ) Attack of the Clones - What it Should Have Been (AJ) Full Article
va 194 JSJ JavaScript Tools Fatigue By devchat.tv Published On :: Wed, 13 Jan 2016 11:00:00 -0500 JS Remote Conf starts tomorrow! Get your ticket TODAY! 03:59 - JavaScript Tools Fatigue Catalyst: Eric Clemmons: Javascript Fatigue Some Twitter Opinions and Perspectives: Ryan Florence Michael Jackson Jamison Vjeux Sebastian McKenzie 09:25 - Are popular technologies ahead of public consumability? Ryan Florence Tweet 12:53 - Adopting New Things / Churn Burnout 18:02 - Non-JavaScript Developers and Team Adoption 30:49 - Is this the result of a crowdsourced design effort? 35:44 - Human Interactions 45:00 - Tools 47:03 - How many/which of these tools do I need to learn? Picks Julie Evans: How to Get Better at Debugging (Jamison) Totally Tooling Tips: Debugging Promises with DevTools (Jamison) Making a Murderer (Jamison) Scott Alexander: I Can Tolerate Anything Except the Outgroup (Jamison) @SciencePorn (Dave) postcss (Aimee) Cory House: The Illogical Allure of Extremes (Aimee) Kerrygold Natural Irish Butter (Aimee) Star Wars (Joe) @iammerrick (Joe) Greg Wilson: What We Actually Know About Software Development, and Why We Believe It's True (Joe) The U.S. Military (Joe) Operation Code (Aimee) Ruby Rogues Episode #184: What We Actually Know About Software Development and Why We Believe It's True with Greg Wilson and Andreas Stefik (Chuck) Serial Podcast (Chuck) Full Article
va 210 JSJ The 80/20 Guide to ES2015 Generators with Valeri Karpov By devchat.tv Published On :: Wed, 04 May 2016 09:00:00 -0400 Check out React Remote Conf 01:56 - Valeri Karpov Introduction Twitter GitHub Blog JavaScript Jabber Episode #92: The MEAN Stack with Ward Bell and Valeri Karpov 02:17 - Booster Fuels 03:06 - ES2015 Generators The 80/20 Guide to ES2015 Generators by Valeri Karpov co 05:47 - try-catch 07:49 - Generator Function vs Object The Fibonacci Sequence 10:39 - Generator Use Cases 12:02 - Why in ES6 would they come out with both native promises and generators? Koa 14:04 - yield star and async await 17:06 - Wrapping a Generator in a Promise 19:51 - Testing 20:56 - Use on the Front-end 22:14 - The 80/20 Guide to ES2015 Generators by Valeri Karpov and Tech Writing nightmare Professional AngularJS Picks Why and How Testing Can Make You Happier (Aimee) Pitango Gelato (Aimee) The Primal Blueprint by Mark Sisson (Chuck) The Primal Blueprint 21-Day Total Body Transformation (Chuck) acquit (Valeri) nightmare (Valeri) now (Valeri) The 80/20 Guide to ES2015 Generators by Valeri Karpov (Valeri) Full Article
va 213 JSJ Developer Evangelism with Greg Baugues By devchat.tv Published On :: Wed, 25 May 2016 09:00:00 -0400 Check out Newbie Remote Conf! July 13-15, 2016 02:16 - Greg Baugues Introduction Twitter GitHub Blog Twilio Ruby Rogues Episode #258: Twilio with Greg Baugues 02:41 - Developer Evangelism 04:23 - Evangelism at Twilio Jeff Lawson 07:05 - “Evangelism” 10:56 - Getting the Word Out SIGNAL 13:28 - Keeping Up-to-Date Greg Baugues: Devs and Depression 18:28 - Skills to Have as an Evangelist Technical Credibility Patience Empathy Hustle 21:21 - Getting Help From Companies 25:39 - Handling Larger-scale Issues 27:15 - Building an Evangelist Team 29:44 - Panelist Experiences with Evangelism Picks Brené Brown: The power of vulnerability (Aimee) Udi Dahan: The Fallacy Of ReUse (Aimee) Calendly (Chuck) Gravity Forms (Chuck) Trello (Chuck) Slack (Chuck) Zoom (Chuck) Talky.io (Greg) SIGNAL (Greg) The Tim Ferriss Show (Greg) Billions (Greg) Full Article
va 219 JSJ Learning JavaScript in 2016 By devchat.tv Published On :: Wed, 06 Jul 2016 09:00:00 -0400 Check out Newbie Remote Conf! 02:44 - What it Takes to Learn JavaScript in 2016 04:03 - Resources: Then vs Now 09:42 - Are there prerequisites? Should you have experience? 20:34 - Choosing What to Learn The iPhreaks Show Episode #153: Using Mobile Devices to Manage Diabetes with Scott Hanselman 28:19 - Deciding What to Learn Next 31:19 - Keeping Up: Obligations As a Developer 34:22 - Deciding What to Learn Next (Cont’d) 42:01 - Recommendations You-Dont-Know-JS gulp.js webpack The Little Schemer Designing Data-Intensive Applications by Martin Kleppmann Picks accidentally nonblocking (Jamison) choo (Jamison) Web Rebels (Jamison) React Rally (Jamison) Grab The Gold (Aimee) node-for-beginners (Aimee) Procrastinate On Purpose by Rory Vaden (Chuck) Newbie Remote Conf (Chuck) Get A Coder Job (Chuck) Full Article
va 220 JSJ Teaching JavaScript with Kyle Simpson By devchat.tv Published On :: Wed, 13 Jul 2016 09:00:00 -0400 02:25 - Kyle Simpson Introduction Twitter GitHub Blog “Getify” You-Dont-Know-JS [Pluralsight] Advanced JavaScript by Kyle Simpson 04:43 - Development => Teaching Front End Masters 16:20 - Inheritance and Delegation 29:40 - Evolving a Language 36:23 - Cohersion Weak Typing, Dynamic Typing The Politics of JavaScript by Angus Croll 50:37 - Performance The Width Keyword 54:33 - Developer Education Programs and The Skill of Teaching Picks Adam Tornhill: Code, Crime, Complexity: Analyzing software with forensic psychology @ TEDxTrondheim (Aimee) Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs by Adam Tornhill (Aimee) Planet Money Episode 704: Open Office (Jamison) Zooko's Triangle (Jamison) The Barkley Marathons (Jamison) React Rally (Jamison) X-Men: Apocalypse (Joe) America's Got Talent (Joe) Overwatch (Joe) Stack (Kyle) Jeremy Keith: A web for everyone (Kyle) Jeremy Keith: Regressive Web Apps (Kyle) Full Article
va 235 JSJ JavaScript Devops and Tools with Donovan Brown and Jordan Matthiesen By devchat.tv Published On :: Wed, 26 Oct 2016 08:00:00 -0400 00:50 Intro to guests Donovan Brown and Jordan Matthiesen 1:14 Javascript and Devops 3:49 Node JS and integrating with extensions 11:16 Learning Javascript coming from another language 15:21 Visual Studio Team Services at Microsoft, integration and unit testing Visualstudio.com Donovanbrown.com 25:10 Visual Studio Code and mobile development Apache Cordova open source project 31:45 TypeScript and tooling 33:03 Unit test tools and methods 38:39 ARM devices and integration QUOTES: “It’s not impossible, it’s just a different set of challenges.” - Donovan Brown “Devops is the union of people, process and products to enable continuous delivery of value to your end users” - Donovan Brown “Apps start to feel more native. They can actually get form.” - Jordan Matthiesen PICKS: Veridian Dynamics (AJ) Jabberwocky Video (AJ) Hard Rock Cafe - Atlanta (Charles) CES (Charles) 3D printers (Donovan) High-Yield Vegetable Gardening (Jordan) taco.visualstudio.com Jordan on Twitter @jmatthiesen Visualstudio.com Donovanbrown.com Donovan on Twitter @donovanbrown SPONSORS: Front End Masters Hired.com Full Article
va MJS #011: Valeri Karpov By devchat.tv Published On :: Thu, 30 Mar 2017 06:00:00 -0400 Welcome to the 11th My JS Story! Today, Charles Max Wood welcomes Valeri Karpov. Valeri is a Platform Tech Lead at Booster Fuels, the author of Professional Angular JS and The 80/20 Guide to ES2015 Generators, and a blogger at codebarbarian.com. He is also the one who maintains mongoose JS. Stay tuned to My JS Story Valeri Karpov to learn more how he started coding and what he is currently up to! Full Article
va JSJ 256 Wordpress and Wordpress API for JavaScript Developers with Roy Sivan By devchat.tv Published On :: Tue, 04 Apr 2017 06:00:00 -0400 On today's JavaScript Jabber Show, Charles, Aimee, Joe, and Cory discuss Wordpress and Wordpress API for JavaScript Developers with Roy Sivan. Roy is a WordPress (WP) developer at Disney Interactive. He has long been a fan of JavaScript and WP. During a WordCamp, the WP Founder announced the need for WP developers to learn JavaScript. But, what's in WP that developers should be interested about? Tune in to learn! Full Article
va JSJ 259 Clean Code JavaScript with Ryan McDermott By devchat.tv Published On :: Tue, 25 Apr 2017 06:00:00 -0400 On today's JavaScript Jabber Show, Charles, Joe, Aimee, Cory, and AJ discuss Clean Code JavaScript with Ryan McDermott. Ryan is a UX Engineer at Google and has been a professional developer for 5 years. He's focused on frontend Angular and backend node.js. Stay tuned to learn more about his current project with JavaScript! Full Article
va JSJ 260 Practical JavaScript with Gordon Zhu By devchat.tv Published On :: Tue, 02 May 2017 06:00:00 -0400 On today's episode, Charles, Joe, and Cory discuss Practical JavaScript with Gordon Zhu. Gordon is the founder of Watch and Code, and teaches the Practical JavaScript online course. His mission is to help beginners become developers through tutorials. Tune in! Full Article
va JSJ 264 Mendel with Irae Carvalho By devchat.tv Published On :: Thu, 08 Jun 2017 23:22:00 -0400 Full Article
va JSJ 268 Building Microsoft Office Extensions with JavaScript with Tristan Davis and Sean Laberee By Published On :: Tue, 04 Jul 2017 06:00:00 -0400 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 Miracle Morning by Hal Erod Clean Code by Uncle Bob Martin Ketogenic diet Tristan Davis Amazon Echo Microbiome Sean Laberee Running Garmin watch Full Article
va JSJ 269 Reusable React and JavaScript Components with Cory House By devchat.tv Published On :: Tue, 11 Jul 2017 06:00:00 -0400 JSJ 269 Reusable React and JavaScript Components with Cory House On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in! [00:01:35] – Overview We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done. Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issue The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components. Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are dead No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library. Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about. [00:17:05] – Libraries making reusable components There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well. As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there [00:21:20] – Why opt for reusable components Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse. As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder. We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough. Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later. [00:36:00] – Reusable components The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously. We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue. [00:42:45] – Component development on teams Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need. [00:47:45] – Mobile to web crossover Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application. [00:50:00] – Challenge Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?" Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember. Picks Cory House Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss Joe Eames UI-Router Persistence Aimee Knight Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta Charles Max Wood Upwork.com JSJ 269 Reusable React and JavaScript Components with Cory House On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in! [00:01:35] – Overview We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done. Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issue The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components. Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are dead No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library. Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about. [00:17:05] – Libraries making reusable components There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well. As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there [00:21:20] – Why opt for reusable components Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse. As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder. We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough. Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later. [00:36:00] – Reusable components The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously. We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue. [00:42:45] – Component development on teams Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need. [00:47:45] – Mobile to web crossover Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application. [00:50:00] – Challenge Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?" Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember. Picks Cory House Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss Joe Eames UI-Router Persistence Aimee Knight Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta Charles Max Wood Upwork.com Full Article
va JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen By devchat.tv Published On :: Tue, 25 Jul 2017 07:00:00 -0400 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 The Circle Spontaneity/Happiness: AJ tells a story about a woman he saw running through sprinklers. Oh the places you'll go by Dr. Seuss: AJ talks about a journal entry he read at a yard sale. Mike Ammerlaan Super hot VR on Oculus Rift Vesa Juvonen Family A big thanks to Microsoft, DotNetRocks, and Build! Full Article
va JSJ 291: Serverless For JavaScript with Gareth McCumskey By devchat.tv Published On :: Tue, 12 Dec 2017 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight AJ O’Neal Joe Eames Special Guests: Gareth McCumskey In this episode, JavaScript Jabber speaks with Gareth McCumskey about Serverless For JavaScript. Gareth leads the dev team at Expat Explore in Cape Town, South Africa. Gareth and this team specialize in exploring the Serverless realm in JavaScript. The JavaScript Jabbers panel and Gareth discuss the many different types of serverless systems, and when to implement them, how serverless system work, and when to go in the direction of using Serverless. In particular, we dive pretty deep on: What does it mean to be Serverless? Since platform as a service. Microservice on Docker Firebase “no backend” Backend systems Cloud functions and failure in systems How do you start to think about a serverless system? How do decide what to do? AWS Lambda Working in a different vendor Node 4 Programming JS to deploy Using libraries for NPM How is works with AWS Lambda Where is the database? More point of failure? Calls to Slack? Authentication Micro Services Elastic Bean Stalk Static Assets, S3, Managing Testing the services Integration testing And much more! Links: @garethmcc @expatexplore gareth.mccumskey.com https://github.com/garethmcc serverless.com Picks: Aimee Serverless Architectures NG-BE Conference AJ Documentary on Enron Hard Thing about Hard Things Charles Serverless Framework The Storm Light Achieves Avengers: Infinity War Gareth Building MicroServices Skeptics Guide To The Universe Podcast Expate Explore Joe Wonder - Movie Gloom In Space - Board Game Full Article
va MJS 046: Donovan Brown By devchat.tv Published On :: Wed, 31 Jan 2018 23:46:00 -0500 Panel: Charles Max Wood Guest: Donovan Brown This week on My JavaScript Story, Charles speaks with Donovan Brown. Donovan is a principle DevOps Manager at Microsoft. Donovan talks about his journey into programming starting in the 8th grade with Cue Basic to college and writing games in Cue Basic. Donovan talks about different avenues of programming and working independently, and being entrepreneurial, and finally getting a call from Microsoft. Donovan tells many great high energy stories and shares his enthusiasm in his career in DevOps. This is a great episode to hear the possibilities in the programming and developer world. In particular, we dive pretty deep on: How did you get into programming? 8th grade Cue Basic Computer Math Cue Basic Selling notes - Chemistry class Board Game creation Teach yourself C in 21 days Change majors Work at Compaq Computers and go promoted as a software engineer Independent, then into Dev Ops Notion Solutions Ending up in Microsoft doing DevOps Hot Topic - Dev Opts - Release BrianKellerVM Demos DevOps and the Process Visual Studio and people Pain Points Programmers - Permission to do your job? JQuery Yeoman Generator Power Shell Plugin Open source and Contributions to the community DevOps Interviews Podcast and much, much more! Links: http://donovanbrown.com https://github.com/DarqueWarrior @DonovanBrown DevOps Interviews Podcast Picks Donovan Visual Studio Code Charles Installing Windows 10 Docker Support for Windows Full Article
va JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi By devchat.tv Published On :: Tue, 06 Feb 2018 20:10:00 -0500 Panel: AJ O’Neal Joe Eames Aimee Knight Special Guests: Chris Ferdinandi In this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript. In particular, we dive pretty deep on: Teaching JavaScript - Beginners and Design patrons Web Design and Web Development CSS Tricks Todd Motto How to do jQuery Things without jQuery Doing things like mentors (Todd) When JavaScript makes sense. CSS is easier to learn then JS? Being good at CSS and JS at the same time? How about Node developers? jRuby, DOM Documentation And much more! Links: https://github.com/cferdinandi https://gomakethings.com @ChrisFerdinandi https://www.linkedin.com/in/cferdinandi Picks: AJ Discover Card Mistborn Aimee Your Smart Phone is Making You Stupid… Crypto Currency Joe Mystic Vale Kedi Chris https://gomakethings.com Teva Mush Full Article
va JSJ 302: Evaluating Web Frameworks with Kitson Kelly By devchat.tv Published On :: Tue, 27 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight AJ O'Neal Special Guests: Kitson Kelly In this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier. In particular, we dive pretty deep on: Articles on web frameworks How do you pick a JavaScript framework to use? The framework depends on your changing needs Recommending less popular frameworks Angular, Ember, React React vs Redux Certain domains with different frameworks? Each framework takes a different approach How to decide which framework to use? Only give it a couple days to see if your app works with the framework Is it ever appropriate to not use a certain framework? Frameworks are there to make your job easier Don’t be afraid to try new frameworks Choose a framework that will “be there tomorrow” What is the future for frameworks? Experiment and be honest with what you need And much, much more! Links: Linode ThoughtWorks Kendo UI LootCrate @KitsonK Kitson’s GitHub Picks: Charles Facebook The 12 Week Year by Brian P. Moore Google Drive for Business Aimee Would College Students Retain More If Professors Dialed Back The Pace? URL to PDF Converter CSS History AJ Tylenol Cold and Flu Severe Kitson Microsoft Azure Zype Full Article
va JSJ 309: WebAssembly and JavaScript with Ben Titzer By devchat.tv Published On :: Tue, 17 Apr 2018 06:00:00 -0400 Panel: Charles Max Wood Cory House Aimee Knight Special Guests: Ben Titzer In this episode, the JavaScript Jabber panelists discuss WebAssembly and JavaScript with Ben Titzer. Ben is a JavaScript VM engineer and is on the V8 team at Google. He was one of the co-inventors of WebAssembly and he now works on VM engineering as well as other things for WebAssembly. They talk about how WebAssembly came to be and when it would be of most benefit to you in your own code. In particular, we dive pretty deep on: Ben intro JavaScript Co-inventor of WebAssembly (Wasm) Joined V8 in 2014 asm.js Built a JIT compiler to make asm.js faster TurboFan What is the role of JavaScript? What is the role of WebAssembly? SIMD.js JavaScript is not a statically typed language Adding SIMD to Wasm was easier Easy to add things to Wasm Will JavaScript benefit? Using JavaScript with Wasm pros and cons Pros to compiling with Wasm Statically typed languages The more statically typed you are, the more you will benefit from Wasm TypeScript Is WebAssembly headed towards being used in daily application? Rust is investing heavily in Wasm WebAssembly in gaming And much, much more! Links: JavaScript V8 WebAssembly asm.js TurboFan TypeScript Rust WebAssembly GitHub Ben’s GitHub Picks: Charles Ready Player One Movie DevChat.tv YouTube Alexa Flash Briefings: Add skill for “JavaScript Rants” Cory npm Semantic Version Calculator Kent Beck Tweet Aimee MDN 418 Status code Quantity Always Trumps Quality blog post Ben American Politics Full Article
va JSJ 311: Securing Express Apps with Helmet.js with Evan Hahn By devchat.tv Published On :: Tue, 01 May 2018 06:00:00 -0400 Panel: Charles Max Wood Special Guests: Evan Hahn In this episode, the JavaScript Jabber panelists discuss securing Express apps with Helmet.js with Evan Hahn. Evan is a developer at Airtable, which is a company that builds spreadsheet applications that are powerful enough that you can make applications with. He has also worked at Braintree, which does payment processing for companies. They talk about what Helmet.js is, when you would want to use it, and why it can help secure your Express apps. They also touch on when you wouldn’t want to use Helmet and the biggest thing that it saves you from in your code. In particular, we dive pretty deep on: Evan intro JavaScript What is Helmet.js? Node and Express Why would you use the approach of Middleware? Helmet is not the only solution Http headers Current maintainer of Helmet.js npm Has added a lot to the project, but is not the original creator Outbound HTTP response headers Helmet doesn’t fully secure your app but it does help secure it How does using Helmet work? Are there instances when you wouldn’t want to use Helmet? No cash middleware Where do you set the configuration options? Top level Helmet module 12 modules What is the biggest thing that Helmet saves you from? Content security policy code And much, much more! Links: Airtable Braintree JavaScript Helmet.js Node Express npm Evan’s Website @EvanHahn Evan’s GitHub Picks: Charles Camera Zoom H6 Shure SM58 DevChat.tv Youtube React Round Up Evan Clojure Fortune Kantaro: The Sweet Tooth Salaryman Full Article
va JSJ 313: Light Functional JavaScript with Kyle Simpson By devchat.tv Published On :: Tue, 15 May 2018 10:37:00 -0400 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: You Don’t Know JS Functional-Light JavaScript JavaScript Kyle’s GitHub @getify Picks: Aimee What Does Code Readability Mean? @FunctionalKnox HTTP 203 Podcast AJ IKEA Joe Barking Up the Wrong Tree by Eric Barker Workshops in general Kyle GDPR The start-up’s guide to the GDPR Hatch Fluent Conf Full Article
va JSJ 322: Building SharePoint Extensions with JavaScript with Vesa Juvonen LIVE at Microsoft Build By devchat.tv Published On :: Tue, 17 Jul 2018 06:00:00 -0400 Panel: Charles Max Wood Special Guests: Vesa Juvonen In this episode, the JavaScript Jabber panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more! In particular, we dive pretty deep on: Vesa intro What is SharePoint? Has existed since 2009 People either know about it and use it or don’t know what it is Baggage from a customization perspective Why JavaScript developers? Modernizing development SharePoint Framework Microsoft Ignite Conference Is there a market for it? System integrators Angular Element and React React for SharePoint Framework back-end Supports Vue React Round Up Podcast How do you maintain isolation? What’s the best way to get started with SharePoint extensions? Office 365 Developer Program SharePoint documentation SharePoint YouTube What kinds of extensions are you seeing people build? And much, much more! Links: SharePoint JavaScript SharePoint Framework Microsoft Ignite Conference Angular Element React Vue React Round Up Podcast Office 365 Developer Program SharePoint documentation SharePoint YouTube @OfficeDev @vesajuvonen Vesa’s blog Vesa’s GitHub @SharePoint Sponsors Kendo UI Sentry Digital Ocean Picks: Charles Zig Ziglar Conversations with My Dog by Zig Ziglar Pimsleur Lessons on Audible Vesa Armada by Ernest Cline Full Article
va JSJ 323: "Building a JavaScript platform that gives you the power to build your own CDN" with Kurt Mackey By devchat.tv Published On :: Thu, 26 Jul 2018 15:50:00 -0400 Panel: Charles Max Wood AJ ONeal Special Guests: Kurt Mackey In this episode, the JavaScript Jabber panel talks to Kurt Mackey about Fly.io. At Fly.io, they are "building a JavaScript platform that gives you the power to build your own CDN." They talk about how Fly.io came to fruition, how CDN caching works, and what happens when you deploy a Fly app. They also touch on resizing images with Fly, how you actually build JavaScript platforms using Fly, and more! In particular, we dive pretty deep on: Fly.io Building a programmable CDN High level overview of Fly.io How did this project come together? CDNs didn’t work with dynamic applications Has been working on this since 2008 Extend application logic to the “edge” Putting burden of JavaScript “nastiest” onto the web server Fly is the proxy layer Getting things closer to visitors and users CDN caching Cache APIs Writing logic to improve your lighthouse score Have you built in resizing images into Fly? Managing assets closer to the user Can you modify your own JavaScript files? What happens when you deploy a Fly app Having more application logic DOM within the proxy Ghost React and Gatsby Intelligently loading client JavaScript How do you build the JavaScript platform? And much, much more! Links: Fly.io JavaScript Ghost Gatsby React @flydotio @mrkurt Kurt at ARS Technica Kurt’s GitHub Sponsors Kendo UI Sentry Digital Ocean Picks: Charles GitLab AJ Gitea Black Panther Kurt Packet.net The Three-Body Problem by Cixin Liu Full Article
va JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank By devchat.tv Published On :: Tue, 07 Aug 2018 06:00:00 -0400 Panel: Aimee Knight Joe Eames AJ ONeal Special Guests: Jeremy Fairbank In this episode, the JavaScript Jabber panel talks to Jeremy Fairbank about his talk Practical Functional Programming. Jeremy is a remote software developer and consultant for Test Double. They talk about what Test Double is and what they do there and the 6 things he touched on in his talk, such as hard to follow code, function composition, and mutable vs immutable data. They also touch on the theory of unit testing, if functional programming is the solution, and more! In particular, we dive pretty deep on: Jeremy intro Works for Test Double What he means by “remote” What is Test Double? They believe software is broken and they are there to fix it His talk - Practical Functional Programming The 6 things he talked about in his talk Practical aspects that any software engineer is going to deal with Purity and the side effects of programming in general Hard to follow code Imperative VS declarative code Code breaking unexpectedly Mutable data VS immutable data The idea of too much code Combining multiple functions together to make more complex functions Function composition Elm, Elixir, and F# Pipe operator Scary to refactor code Static types The idea of null The theory of unit testing Is functional programming the solution? His approach from the talk And much, much more! Links: Test Double His talk - Practical Functional Programming Elm Elixir F# @elpapapollo jeremyfairbank.com Jeremy’s GitHub Jeremy’s YouTube Sponsors Kendo UI Sentry Digital Ocean Picks: Aimee American Dollar Force with lease AJ Superfight Joe The 2018 Web Developer Roadmap by Brandon Morelli Svelte Jeremy Programming Elm The Secrets of Consulting by Gerald M. Weinberg Connect.Tech Full Article
va JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov By devchat.tv Published On :: Tue, 04 Sep 2018 06:00:00 -0400 Panel: Charles Max Wood AJ O’Neal Aimee Knight Special Guests: Valeri Karpov In this episode, the panel talks with programmer, Valerie Karpov from Miami, Florida. He is quite knowledgeable with many different programs, but today’s episode they talk specifically about Async/Await and Promise Generators. Val is constantly busy through his different endeavors and recently finished his e-book, “Mastering Async/Await.” Check-out Val’s social media profiles through LinkedIn, GitHub, Twitter, and more. Show Topics: 1:20 – Val has been on previous episodes back in 2013 & 2016. 1:37 – Val’s background. He is very involved with multiple companies. Go checkout his new book! 2:39 – Promises generators. Understand Promises and how things sync with Promises. Val suggests that listeners have an integrated understanding of issues like error handling. 3:57 – Chuck asks a question. 6:25 – Aimee’s asks a question: “Can you speak to why someone would want to use Async/Await?” 8:53 – AJ makes comments. 10:09 – “What makes an Async/Await not functional?” – Val 10:59 – “What’s wrong with Promises or Async/Await that people don’t like it?” - AJ 11:25 – Val states that he doesn’t think there really is anything wrong with these programs it just depends on what you need it for. He thinks that having both gives the user great power. 12:21 – AJ’s background is with Node and the Python among other programs. 12:55 – Implementing Complex Business Logic. 15:50 – Val discusses his new e-book. 17:08 – Question from Aimee. 17:16 – AJ answers question. Promises should have been primitive when it was designed or somewhat event handling. 17:46 – The panel agrees that anything is better than Call Backs. 18:18 – Aimee makes comments about Async/Await. 20:08 – “What are the core principles of your new e-book?” – Chuck 20:17 – There are 4 chapters and Val discusses, in detail, what’s in each chapter. 22:40 – There could be some confusion from JavaScript for someone where this is their first language. Does Async/Await have any affect on the way you program or does anything make it less or more confusing in the background changes? 24:30 – Val answers the before-mentioned question. Async/Await does not have anyway to help with this (data changes in the background). 25:36 – “My procedural code, I know that things won’t change on me because it is procedural code. Is it hard to adjust to that?” – AJ 26:01 – Val answers the question. 26:32 – Building a webserver with Python. 27:31 – Aimee asks a question: “Do you think that there are cases in code base, where I would want to use Promises? Not from a user’s perspective, but what our preferences are, but actual performance. Is there a reason why I would want to use both or be consistent across the board?” 28:17 – Val asks for some clarification to Aimee’s question. 29:14 – Aimee: “My own personal preference is consistency. Would I want to use Promises in ‘x’ scenario and/or use Async/Await in another situation?” 32:28 – Val and AJ are discussing and problem solving different situations that these programs 33:05 – “When would you not want to use Async/Await?” – AJ 33:25 – Val goes through the different situations when he would not use Async/Await. 33:44 – Chuck is curious about other features of Async/Await and asks Val. 36:40 – Facebook’s Regenerator 37:11 – AJ: “Back in the day, people would be really concerned with JavaScript’s performance even with Chrome.” He continues his thoughts on this topic. 38:11 – Val answers the AJ’s question. 39:10 – Duck JS probably won’t include generators. 41:18 – Val: “Have anyone used Engine Script before?” The rest of the panel had never heard of this before. 42:09 – Windows Scripting Host 42:56 – Val used Rhino in the past. 43:40 – Val: “Going back to the web performance question...” 47:08 – “Where do you see using Async/Await the most?” – Chuck 47:55 – Val uses Async/Await for everything on the backend because it has made everything so easy for him. 48:23 – “So this is why you really haven’t used Web Pack?” – AJ 49:20 – Let’s go to Aimee’s Picks! 50:18 – AJ’s story, first, before we get to Promises. 54:44 – Let’s transition to Promises Finally. 54:53 – Val talks about Promises Finally. 59:20 – Picks Links: JavaScript Valeri Karpov’s GitHub Valeri Karpov’s Twitter Valeri Karpov’s LinkedIn New E-Book: Mastering Async/Await Node Python Windows Scripting Host Facebook’s Regenerator Rhino Sponsors: Kendo UI Sentry Digital Ocean Picks: Charles YouTube Video “IKEA” by Coulton Conference Amazon Prime Day Aimee Blog Post Article AJ IKEA https://ppl.family Val https://www.npmjs.com/package/serve http://bit.ly/ultimate-skiing http://asyncawait.net/jsjabber New E-Book: Mastering Async/Await Full Article
va JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman By devchat.tv Published On :: Tue, 18 Sep 2018 06:00:00 -0400 Panel: AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guests: Vitali Zaidman In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest. Show Topics: 1:32 – Chuck: Let’s talk about testing JavaScript in 2018. 1:53 – Vitali talks about solving problems in JavaScript. 2:46 – Chuck asks Vitali a question. 3:03 – Vitali’s answer. 3:30 – Why Jest? Why not Mocha or these other programs? 3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features. 4:31 – Chuck to Joe: What are you using for testing nowadays? 4:43 – Joe: I use Angular, primarily. 6:01 – Like life, it’s sometimes easier to use things that make things very valuable. 7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program. 8:22 – Vitali: Check out my article. 8:51 – Aimee: There are too many problems with the program that we use at work. 9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs? 10:12 – Vitali: “Test Café and Cypress are competing head-to-head.” Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp. 11:25 – Chuck: I see that you use sign-on... 12:29 – Aimee: Can you talk about Puppeteer? It seems promising. 12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers. 13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now? 14:51: Vitali answers the above question. 15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems. 15:56 – Panelist: I agree with this. 16:02 – Vitali continues this conversation with additional comments. 16:17 – Aimee: “I see that Safari is the new Internet Explorer.” 16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?” 17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that. 17:33 – Question to Vitali by Panelist. 17:55 – Vitali answers the question. 18:30 – Panelist makes additional comments. 18:43 – If you use Safari, you reap what you sow. 18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident. 19:38 – Panelist makes comments. 19:52 – Vitali tells a funny story that relates to this topic. 20:45 – There are too many standards out there. 21:05 – Aimee makes comments. 21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content. 22:16 – Aimee makes additional comments about this topic of Brutalist Web Design. 22:35 – Panelist: I like it when people go out and say things like that. 22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article. 23:37 – Vitali chimes in. 24:01 – Back to the topic of content on websites. 25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application. 26:10 – Is the website easy enough for the user to scroll through and get the content like they want to? 26:19 – Advertisement. 27:22 – See how far off the topic we got? 27:31 – These are my favorite conversations to have. 27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say. 28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles? 29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too! 29:37 – Panelist: You broke down the article, and it’s a 22-minute read. 30:09 – Vitali: I wrote the article for my company, and they ad to read it. 30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job. 30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself. 31:17 – Did you edit and review? 31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback. 32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?” 32:52 – Vitali: “Find something that works for them. Read the article and start writing code.” He continues this conversation from here on out. 34:03 – Chuck continues to ask questions and add other comments. 34:16 – Vitali chimes-in. 34:38 – Chuck. 34:46 – Vitali piggybacks off of Chuck’s comments. 36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs? 38:15 – Vitali comments on the panelist’s question. 38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself? 40:30 – Vitali comments on this great question. 40:58 – Panelist asks questions about features about Jest. 41:29 – Vitali talks about this topic. 42:14 – Let’s go to picks! 42:14 – Advertisement. Links: Vitali Zaidman’s Facebook Vitali Zaidman’s Medium Vitali Zaidman’s GitHub Vitali Zaidman’s NPM Vitali Zaidman’s LinkedIn Vitali Zaidman’s Medium Article JavaScript Brutalist Web Design Jasmine Cypress React jQuery Jest Protractor – end to end testing for Angular Test Café Intern Sinon XKCD Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks: AJ O’Neal Continuous from last week’s episode: Crossing the Chasm – New Technologies from Niche to General Adaptation. Go Lang Joe Eames Board Game: Rajas of the Ganges Framework Summit Conference in Utah React Conference Aimee Knight Hacker News – “Does Software Understand Complexity” via Michael Feathers Cream City Code Chuck E-Book: How do I get a job? Express VPN Vitali Book: The Square and The Tower: Networks and Power, from the Freemasons to Facebook by Niall Ferguson My article! Full Article