z

New Zealand Veterinary Association (NZVA) Special Interest Branch Proceedings [electronic resource].

Publisher New Zealand : New Zealand Veterinary Association
Location World Wide Web
Call No. SF605




z

Proceedings of the Deer Branch of the New Zealand Veterinary Association.

Publisher Palmerston North, N.Z. : Deer Branch, the Association, 1984-
Location World Wide Web
Call No. SF401.D3




z

014 JSJ SVG and Data Visualization with Chris Bannon

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




z

022 JSJ Node.js on Azure with Glenn Block

The panelists talk to Glenn Block about Azure.




z

026 JSJ Code Organization and Reuse

The panelists talk about code organization and reuse.




z

047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale

Panel Tom Dale (twitter github blog Tilde Inc.) James Halliday (twitter github substack.net) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:52 - James Halliday Introduction browserify 02:37 - Tom Dale Introduction iCloud Ember.js Big Data & Hadoop 04:47 - Specialized vs Monolithic github.com/tildeio Idiology Micro Libraries 14:13 - Learning Frameworks 18:04 - Making things modular 25:23 - Picking the right tool for the job 27:44 - voxel.js & emberjs emberjs / packages BPM - Browser Package Manager NPM - Node Packaged Modules testling-ci Backbone.js 38:19 - Module Systems CommonJS 41:14 - Cloud9 Use Case 43:54 - Bugs jQuery Source Code Picks jQuery 2.0 (Merrick) ECMAScript 6 Module Definition (Merrick) AMD (Merrick) Yiruma (Joe) Elementary (Joe) Miracle Berry Tablets (AJ) The Ubuntu You Deserve (AJ) Bravemule (Jamison) RealtimeConf Europe (Tim) visionmedia / cpm (Tim) Why I Love Being A Programmer in Louisville (or, Why I Won’t Relocate to Work for Your Startup: Ernie Miller (Chuck) Is Audio The Next Big Thing In Digital Marketing? [Infographic] (Chuck) testling-ci (James) voxel.js (James) CAMPJS (James) Discourse (Tom) Williams-Sonoma 10-Piece Glass Bowl Set (Tom) The Best Simple Recipes by America’s Test Kitchen (Tom) Next Week Why Javascript is Hard Transcript JAMISON:  You can curse but we will just edit it out and replace it with fart noises. TOM:  I’ll be providing plenty of my own. [Laughter] JAMISON:  Okay, good. [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK:  Hey everybody and welcome to Episode 47 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal. AJ:  Yo! Yo! Yo! Coming at you not even live! CHUCK:  [Laughs] Alright, Jamison Dance. JAMISON:  Hi guys, it’s tough to follow that. CHUCK:  Merrick Christensen. MERRICK:  Hey. CHUCK:  Joe Eames. JOE:  Howdy! CHUCK:  Tim Caswell. TIM:  Hello. CHUCK:  I’m Charles Max Wood from DevChat.tv. And this week, we have two guests. The first one is Tom Dale. TOM:  Hey, thanks for having me. CHUCK:  The other is James Halliday. JAMES:  Yep. Hello. CHUCK:  Welcome to the show, guys. We were having a conversation a while back, I don’t remember if it was during another episode or after another episode. But we were having a discussion over code complexity and having like small simple libraries or small simple sets of functionality versus large monolithic sets of functionality, and how to approach those and when they’re appropriate. So, we brought you guys on to help us explore this because you're experts, right? TOM:  I don’t think that’s a fair analysis of the situation, but we can certainly fumble our way through something. [Laughter] CHUCK:  Alright. So, why don’t you guys, real quick, just kind of introduce yourselves? Give us a little background on what your experience is so that we know which questions to ask you guys. James, why don’t you start? I know you’ve been on the show before. JAMES:  Hello. I suppose I wrote Browserify which is relevant here. It’s a common JS style, bundler packager thing that just uses NPM. And I have a bunch of other libraries. And I really like doing data development as just a bunch of little modules put together. They are all published completely independently on NPM. I think I’m up to like 230-ish some odd modules on NPM now. So, I’ve been doing that and I really like that style.




z

050 JSJ QUnit with Jörn Zaefferer

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




z

057 JSJ Functional Programming with Zach Kessin

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




z

075 JSJ Maintainable JavaScript with Nicholas Zakas

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




z

076 JSJ Meteor.js with Marcus Phillips and Fred Zirdung

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




z

080 JSJ - Impact.js with Dominic Szablewski

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




z

088 JSJ Lazy.js with Daniel Tao

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




z

103 JSJ Robots with Raquel Vélez

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




z

105 JSJ JSConf and Organizing Conferences with Chris Williams

The panelists discuss JSConf and conference organization with Chris Williams.




z

110 JSJ Zones with Brian Ford

The panelists discuss zone.js with Brian Ford.




z

127 JSJ Changes in npm-Land with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter

The panelists discuss changes in the npm package manager with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter.




z

139 JSJ The Mozilla Developer Network with Les Orchard and David Walsh

The panelists talk about the Mozilla Developer Network with Les Orchard and David Walsh.




z

156 JSJ Soft Skills and Marketing Yourself as a Software Developer with John Sonmez

Check out ReactRally: A community React conference in Salt Lake City, UT from August 24th-25th!

03:36 - John Sonmez Introduction

04:29 - Mastermind Groups

05:53 - “Soft Skills”

  • Why Care About Soft Skills?
    • People Skills
    • Finances
    • Fitness

11:53 - Learned vs Innate

  • Lifting Limited Beliefs
  • Practice

14:14 - Promotion (Managerial) Paths

17:52 - “Marketing”

29:53 - Get Up and CODE!

33:47 - Burnout

Get John’s How to Market Yourself as a Software Developer Course for $100 off using the code JSJABBER

Comment on this episode for your chance to win one of two autographed copies of Soft Skills: The Software Developer's Life Manual by John Sonmez

Picks

The Recurse Center (Jamison)
Code Words Blog (Jamison)
DayZ Player Sings (And Plays Guitar) For His Life (Jamison)
Demon (Jamison)
Mastodon: Leviathan (Jamison)
Jan Van Haasteren Puzzles (Joe)
Hobbit Tales from the Green Dragon Inn (Joe)
AngularJS-Resources (Aimee)
Superfeet Insoles (Aimee)
Good Mythical Morning (AJ)
The Magic of Thinking Big by David J. Schwartz (Chuck)
Streak (John)
The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber (John)
Influence: The Psychology of Persuasion, Revised Edition by Robert B. Cialdini (John)
Do the Work by Steven Pressfield (John)
The War of Art: Break Through the Blocks and Win Your Inner Creative Battles by Steven Pressfield (John)

 




z

169 JSJ Property-based Testing (QuickCheck) with Zach Kessin

02:20 - Zach Kessin Introduction

04:00 - Mostly Erlang Podcast

05:27 - Property-based Testing (QuickCheck)

07:22 - Property-based Testing and Functional Programming

09:48 - Pure Functions

  • Shrinking

18:09 - Boundary Cases

20:00 - Generating the Data

23:23 - Trending Concepts in JavaScript

32:33 - How Property-based Testing Fits in with Other Kind of Testing

35:57 - Test Failures

Panel

Nolan Lawson: Taming the asynchronous beast with ES7 (Aimee)
Nodevember (Aimee)
Hipster Sound (Jamison)
Om Next by David Nolen  (Jamison)
Gallant - Weight In Gold (Jamison)
React Rally (Jamison)
Better Off Ted (Joe)
Armada: A Novel by Ernest Cline (Joe)
Testing Erlang With Quickcheck Book (Zach)
Parrot Universal Notification Interface (Zach)
The Famine of Men by Richard H. Kessin (Zach)




z

171 JSJ Babel with Sebastian McKenzie

02:28 - Sebastian McKenzie Introduction

02:53 - Babel (Pronunciation Clarification)

05:56 - History

09:14 - The State of Babel

09:59 - Babel and the TC39 Process

11:54 - Features That Can’t Be Transpiled

  • Weak Maps and Proxies    

13:45 - Readability and Performance Output

18:12 - Plugin Architecture

19:58 - ES6/2015 Feature Implementation

  • Blockscoping
  • Labels
  • Exceptions
  • Destructuring

25:49 - The Birth of Babel

26:45 - Babel vs Traceur

28:08 - Future Babel Features

  • Code Optimization
  • Minification
  • Linting

30:15 - The Status of ES2015 and ES2016

31:01 - Browser Support

35:03 - Marketing

35:59 - TypeScript

37:24 - Babel Development and Labor

Picks

Primitive.io (Joe)
Armada: The Novel by Ernest Cline (Joe)
How to Win Friends & Influence People by Dale Carnegie (AJ)
Web Security Warriors Podcast (AJ)
Nodevember (Aimee)
The Hitchhiker's Guide to the Galaxy by Douglas Adams (Dave)
Yellowstone National Park (Dave)
React Rally (Dave)
Iterativ: AngularJS Kurs (Chuck)
Hire Thom Parkin! (Chuck)
The Martian by Andy Weir (Sebastian)
Five Guys Burgers and Fries (Sebastian)




z

175 JSJ Elm with Evan Czaplicki and Richard Feldman

02:27 - Evan Czaplicki Introduction

02:32 - Richard Feldman Introduction

02:38 - Elm

04:06 - Academic Ideas

05:10 - Functional Programming, Functional Reactive Programming & Immutability

16:11 - Constraints

24:24 - Compilation

27:05 - Signals

36:34 - Shared Concepts & Guarantees at the Language Level

43:00 - Elm vs React

47:24 - Integration

52:23 - Upcoming Features

54:15 - Testing

56:38 - Websites/Apps Build in Elm

58:37 - Getting Started with Elm

59:41 - Canonical Uses?

01:01:26 - The Elm Community & Contributions

Extras & Resources

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)




z

212 JSJ Horizon.js with Horizon.js with Michael Glukhovsky: Live from ng-conf!

02:34 - Michael Glukhovsky Introduction

02:35 - horizon-js

04:52 - Versus Open Source Firebase

06:15 - The Security Model

07:56 - The Admin Interface

09:16 - RethinkDB + Horizon

10:56 - Versus Meteor

13:35 - Message Format

14:26 - Getting Started

19:01 - Real-time

21:24 - Security

26:56 - The Grand Vision; Use Cases

32:17 - Managing Deployment with Redundancy

 

Picks




z

218 JSJ Ember.js with Yehuda Katz

Check out Newbie Remote Conf!

 

02:38 - Yehuda Katz Introduction

05:37 - Batching Updates

10:04 - Naming

14:19 - Communication

16:21 - Decorators

19:46 - “Junior Developer” and Knowledge Bias

28:25 - Termanology in Tech

29:23 - Diversity

 

Picks




z

227 JSJ Fostering Community Through React with Benjamin Dunphy, Berkeley Martinez, and Ian Sinnott

03:08 - Benjamin Dunphy Introduction

04:07 - Berkeley Martinez Introduction

04:19 - Ian Sinnott Introduction

05:19 - The React Codebase

12:38 - Other Important Parts of the React Ecosystem

14:22 - The Angular vs the React Ecosystem and Community

22:07 - Community

Developer Experience

26:56 - Getting Connected to the React Community

29:34 - Conferences

33:28 - Technology From the Community

40:19 - The Future of React

42:39 - Starting More Communities

 

Picks




z

230 JSJ Node at Capital One with Azat Mardan

00:51 Jameson is looking for clients who need front and back end code for apps; @Jergason (Contact him via Direct Message)

04:40 An explanation of Capital One and its operations

6:06 How many Capital One developers are using Node and how it is being implemented

10:30 Process of approval for app/website development

14:15 How the culture at Capital One affects technology within the company

18:25 Using Javascript libraries to manage different currencies

19:40 Venmo and its influence on banking

22:32 Whether banks are prepared to operate in a cashless society

29:44 Using HTML and Javascript for updating projects or creating new ones

35:21 Who picks up Javascript easily and why: “It’s more about grit than raw intelligence.”

44:00 Upgrading via open source codes

45:40 The process for hiring developers

51:35 Typescript vs. non-typescript

PICKS:

“Nerve” Movie

Brave Browser

“Stranger Things” on Netflix

Angular 2 Class in Ft. Lauderdale, Discount Code: JSJ

“Strategy for Healthier Dev” blog post

Health-Ade Beet Kombucha

“The Adventure Zone” podcast

On the Cruelty of Really Teaching Computer Science article by E.W. Dijkstra

“The Freelancer Show” podcast

“48 Days” podcast

Node.university

Azat Mardan’s Website

Azat Mardan on Twitter

CETUSA – Foreign exchange program




z

233 JSJ Google Chrome Extensions with John Sonmez

02:50 The definition of a plug-in

03:31 The definition of an extension

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

08:22 How to create an extension file

11:02 The appeal of creating extensions

13:26 How John got into creating extensions

15:48 Ways to organize extensions

19:38 Aspects of chrome that will affect extensions

23:23 Packaging for the Chrome store

26:22 Using dev tools

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

31:30 Open source extensions

32:32 A quick way to create an extension

QUOTES:

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

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

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

PICKS:

“Django Unchained” Website

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

Girls’ Life vs. Boys’ Life on Refinery29

Webinar Jam Software

 

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

Screencastify Chrome Extension

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

The Complete Software Developers Career Guide Book in Progress

Simple Programmer Website

Simple Programmer on Youtube




z

238 JSJ Intellectual Property and Software Forensics with Bob Zeidman

TOPICS:

03:08 The level of difficulty in determining code creators on the Internet

04:28 How to determine if code has been copied

10:00 What defines a trade secret

12:11 The pending Oracle v Google lawsuit

25:29 Nintendo v Atari

27:38 The pros and cons of a patent

29:59 Terrible patents

33:48 Fighting patent infringement and dealing with “patent trolls”

39:00 How a company tried to steal Bob Zeidman’s software

44:13 How to know if you can use open source codes

49:15 Using detective work to determine who copied whom

52:55 Extreme examples of unethical behavior

56:03 The state of patent laws

PICKS:

Cognitive Bias Cheat Sheet Blog Post

Bagels by P28 Foods

Let’s Encrypt Indigogo Generosity Campaign

Super Cartography Bros Album

MicroConf 2017

MindMup Mind Mapping Tool

Words with Friends Game

Upcoming Conferences via Devchat.tv

Good Intentions Book by Bob Zeidman

Horror Flick Book by Bob Zeidman

Silicon Valley Napkins




z

241 JSJ Microsoft Docs with Dan Fernandez

0:55 - Dan Fernandez and his work

7:50 - Walkthrough of the doc experience

15:00 - Editable nature of the doc

21:00 - Test driving a language

26:30 - Catering to the user

32:30 - Open Source

34:40 - User feedback

37:30 - Filters and Tables of Content

40:45 - Form submissions

41:50 - Community contributors

Picks:

Ghostbusters (AJ)

Daplie (AJ)

Daplie Wefunder (AJ)

.NET Rocks (Charles)

ScheduleOnce (Charles)

Devchat.tv 2017 Conferences (Charles)

Disable HTML5 Autoplay (Dan)

Visual Studio Code (Dan)

JSJ episode Visual Studio Code with Chris Diaz and Eric Gamma (Charles)




z

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

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




z

JSJ Special Episode: Azure with Jonathan Carter

On today's episode, Aimee Knight, AJ O'Neal, Cory House, Joe Eames, and Charles Max Wood discuss Azure with Jonathan Carter. Jonathan has been working at Microsoft for 10 years. He currently focuses on Node.js and Azure. Tune in to learn how you can use Azure in building applications and services.




z

JSJ 260 Practical JavaScript with Gordon Zhu

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!




z

MJS #017: Bob Zeidman

On this week's episode of My JS Story, Charles Max Wood interviews Bob Zeidman. Bob focuses on software forensics, but he also does consultations whenever he sells the intellectual property of a startup. He was on episode 238 and talked about intellectual property and software forensics. How did his life navigate towards programming? Tune in!




z

JSJ 262 Mozilla Firefox Developer Tools with Jason Laster

Join AJ, Aimee, and Joe as they discuss Mozilla Firefox Developer Tools with Jason Laster. Jason just started working at Mozilla since March. But even before that, he has been working on Chrome's dev tool extension called Marionette. That's when he discovered that the browser is an open source that anyone can play with. Now, he is working on a new debugger in Firefox. Tune in!




z

JSJ 270 The Complete Software Developers Career Guide with John Sonmez


JSJ 270 The Complete Software Developers Career Guide with John Sonmez

This episode features a panel of Joe Eames, AJ O’Neal, as well as host Charles Maxwell. Special guest John Sonmez runs the website SimpleProgrammer.com that is focused on personal development for software developers. He works on career development and improving the non-technical life aspects of software developers. Today’s episode focuses on John’s new book The Complete Software Developers Career Guide.


Did the book start out being 700 pages?

No. My goal was 200,000 words. During the editing process a lot of questions came up, so pages were added. There were side sections called “Hey John” to answer questions that added 150 pages.

Is this book aimed at beginners?

It should be valuable for three types of software developers: beginner, intermediate, and senior developers looking to advance their career. The book is broken up into five sections, which build upon each other. These sections are: - How to get started as a software developer - How to get a job and negotiate salary - The technical skills needed to know to be a software developer - How to work as a software developer - How to advance in career

Is it more a reference book, not intended to read front to back?

The book could be read either way. It is written in small chapters. Most people will read it start to finish, but it is written so that you can pick what you’re interested in and each chapter still makes sense by itself.

Where did you come up with the idea for the book?

It was a combination of things. At the time I wanted new blog posts, a new product, and a new book. So I thought, “What if I wrote a book that could release chapters as blog posts and could be a product later on?” I also wanted to capture everything I learned about software development and put it on paper so that didn’t lose it.

What did people feel like they were missing (from Soft Skills) that you made sure went into this book?

All the questions that people would ask were about career advice. People would ask things regarding: - How do I learn programming? - What programming language should I learn? - Problems with co-workers and boss - Dress code

What do you think is the most practical advice from the book for someone just getting started?

John thinks that the most important thing to tell people is to come up with a plan on how you’re going to become educated in software development. And then to decide what you’re going to pursue. People need to define what they want to be. After that is done, go backwards and come up with a plan in order to get there. If you set a plan, you’ll learn faster and become a valuable asset to a team. Charles agrees that this is how to stay current in the job force.

What skills do you actually need to have as a developer?

Section 3 of the book answers this question. There was some frustration when beginning as a software developer, so put this list together in the book. - Programming language that you know - Source control understanding - Basic testing - Continuous integration and build systems - What kinds of development (web, mobile, back end) - Databases - Sequel

Were any of those surprises to you?

Maybe DevOps because today’s software developers need to, but I didn’t need to starting out. We weren’t involved in production. Today’s software developers need to understand it because they will be involved in those steps.

What do you think is the importance of learning build tools and frameworks, etc. verses learning the basics?

Build tools and frameworks need to be understood in order to understand how your piece fits into the bigger picture. It is important to understand as much as you can of what’s out there. The basics aren’t going to change so you should have an in depth knowledge of them. Problems will always be solved the same way. John wants people to have as few “unknown unknowns” as possible. That way they won’t be lost and can focus on more timeless things.

What do you think about the virtues of self-taught verses boot camp verses University?

This is the first question many developers have so it is addressed it in the book. If you can find a good coding boot camp, John personally thinks that’s the best way. He would spend money on boot camp because it is a full immersion. But while there, you need to work as hard as possible to soak up knowledge. After a boot camp, then you can go back and fill in your computer science knowledge. This could be through part time college classes or even by self-teaching.

Is the classic computer science stuff important?

John was mostly self-taught; he only went to college for a year. He realized that he needed to go back and learn computer science stuff. Doesn’t think that there is a need to have background in computer science, but that it can be a time saver.

A lot of people get into web development and learn React or Angular but don’t learn fundamentals of JavaScript. Is that a big mistake?

John believes that it is a mistake to not fully understand what you’re doing. Knowing the function first, knowing React, is a good approach. Then you can go back and learn JavaScript and understand more. He states that if you don’t learn the basics, you will be stunted and possibly solve things wrong. Joe agrees with JavaScript, but not so much with things algorithms. He states that it never helped him once he went back and learned it. John suggests the book Algorithms to Live By – teaches how to apply algorithms to real life.

Is there one question you get asked more than anything else you have the answer to in the book?

The most interesting question is regarding contract verses salary employment and how to compare them. It should all be evaluated based on monetary value. Salary jobs look good because of benefits. But when looking at pay divided by the hours of work, usually a salary job is lower paid. This is because people usually work longer hours at salary jobs without being paid for it.

What’s the best place for people to pick up the book?

simpleprogrammer.com/careerguide and it will be sold on Amazon. The book will be 99 cents on kindle – want it to be the best selling software development book ever.


Picks

Joe

Wonder Woman

AJ

The Alchemist

Charles

Artificial Intelligence with Python

John

Algorithms to Live by: The Computer Science of Human Decisions Apple Airpods


Links

Simple Programmer Youtube




z

MJS #028 Zach Kessin

MJS 028 Zach Kessin

In this episode we have another JavaScript Story, this time our guest is Zach Kessin. Zach is a Developer and consultant. On the server side he works with Erlang and Elixir. On the front end he works on Elm. He also also written a few books for O’Reilly and a video course for Manning available sometime in the fall. He was a guest on episode 57 and is here with us today to tell us his story. Stay tuned!

[2:48] How did you get into programming.

Zack tells the story about how when he was 7 he asked his mother for a computer. She agreed that if he paid for half of it somehow, then she would help him get it. He Gathered his half by calling relatives and gathering funds. His mom taught him Basic and Logo. He also learned Pascal. While in University he picked up the book Structure and Interpretation of Computer Programs and loved it. He talks about remembering writing a HTML forum but not knowing how to submit entries. After college he started working.

[4:38] Resources then vs now.

Charles adds that if you’re tenacious enough to call your family members to find funding to buy a computer to learn, then you probably have the drive it takes to be a programmer. Charles and Zack talk about how in the 80s it was rare to have access to a computer, and now homes have multiple computers throughout. The resources are more readily available now with the internet. If you’re looking to get into development, there are plenty of great resources.

[7:45] How did you get into JavaScript and Erlang?

Zach starts explaining by telling how he get into JavaScript before the internet really existed. His first JavaScript program exposure was a loan calculator at a bank. Early on the only thing you could do was validate forms, but over time it grew. He started working for a company writing php. He felt like it wasn’t as functional or elegant as he was hoping for. He found various languages and landed on Erlang. Erland was designed to work for programming telephone switches. Due to phone services nature, It handles high scale, high reliability, has to be upgraded on the fly, etc. Zach talks about how server programming looks very similar to phone line programming. Zach adds that a few years ago he wanted work on some front end and after looking around finally he learned about Elm. He says that he is always looking for what’s new and useful.

[14:26] Programming Languages Change the Way We Think

Charles points out that it’s very interesting out about how functional programming has played out. He mentions that many JavaScript programmers use functional style programming to help with speed or efficiency. He adds that a fully functional programming language is very interesting and could be helpful. Zach talks about how learning new languages helps adjust the way we think.

[16:45] How have you contributed to the development community?

Charles starts off with mentioning Zach’s podcast that was called Mostly Erlang. Zach adds that he has wrote two books for O’ Reilly, one on HTML5 and Erlang. He has done some blogging and is creating a video course called Startup Elm. He mentions that he spends most of his time teaching. He admires people who write libraries and sustains them over years, but it isn’t something he sees himself getting into. He adds that having the libraries are useless unless you have someone to communicate about it and teach it. Charles mentions that contributions come in various ways and the community needs those sort of teachers. Zach mentions that he often speaks at conferences and meet ups. Public speaking can be a great way to progress your career. Charles brings up the idea of “Sweeping the dojo floor”. He was introduced to this idea by Dave Hoover. Sweeping the dojo floor means that you’ve got enough experience to talk about the topic, but maybe not fully contribute and so you do things like document code, or write articles and outreach for the topic. Talks can lead to work. You can easily find research papers and do talks on that. Zach adds that sometimes in a community, you see the same speakers over and over and new speakers are needed. Zach also mentions that there are plenty of opportunities to do talks in something other than english.

[26:36] What are you working on now?

Zach talks about the list of things he is working on. Starting with Startup Elm and it’s live course that will be happening in October. He is also working on a SaSS product for Instagram marketers called SquareTarget. He adds that he has a day job as well.

Picks

Zach

Intrepid Large Format Camera Kickstarter

Charles

Toast Masters
Zapier
Javascriptjabber.com/slack




z

JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith

JSJ 274 Amazon Voice Services and Echo Skills with Terrance Smith

On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He’s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services!

[01:00] – Introduction to Terrance Smith

Terrance is from Hacker Ferrer Software. They hack love into software.

[01:30] – Amazon Voice Service

What I’m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker’s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It’s there when you’re not.

[04:35] – Capabilities

Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon’s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything.

[05:50] – Skills Kit

Skills Kit is different with AVS. Skills Kit, you can install it on any device. You’re spinning up a web service and register it on Amazon’s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth.

[07:00] – Steps for programming

With the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is “Car Starter.” “Alexa tell Car Starter to start the car.” At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the “tell” or “ask” and the name of the skill to do whatever. It’s also going to be publicly accessible. For the most part, it’s literally a web service.

[10:55] – Boilerplates for AWS Lambda

Boilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you’re a developer, you’re probably going to do the spin up a web service and deal it that way.

[11:45] – Do you have to have an Amazon Echo?

At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options.

[12:35] – Machine learning

There are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That’s where you can build a custom device and take it apart. So the API that we’re working with here is just using JSON and HTTP.

[16:40] – Amazon Echo Show

You have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API’s and docs for that are not available yet.

[27:20] – Challenges

There’s an appliance in this house that listens to everything I say. There’s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn’t pre-programmed to do. There isn’t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There’s also a learning curve involved.

[29:35] – Is your product layered in an Echo or is your product a separate device?

Terrance’s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can’t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can’t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit.

[32:00] – Could you set it up through a web server?

Yes. There are examples out there. There’s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way.

[33:10] – Monetization

Amazon isn’t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, “Alexa, [tell the name of the app].” It will do a lazy load of the actual skill and it will add it to your available skill’s list.

However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you’re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you.

[36:25] – More information, documentation, walkthroughs

The number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It’s one of the safe and simpler options.

There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi.  If not that, there’s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there.

Picks

Joe Eames

Aimee Knight

Charles Max Wood

Terrance Smith




z

JSJ 275: Zones in Node with Austin McDaniel

JSJ 275: Zones in Node with Austin McDaniel

The panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic!

[00:01:11] Introduction to Austin

Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept.

[00:02:00] The Way it Works

NodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context.

There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down.

[00:05:40] Zone Uses

One way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague.

Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information.

[00:08:40] Is installing the library all you need to get this started?

Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at.

[00:09:50] So did you create the Zone library or did Google?

The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development.

[00:10:12] Is the TC39 proposal based on the Zone library?

While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure.

[00:10:39] What stage is the proposal in right now?

Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development.

[00:11:50] Is there an easy way to copy the information from one thread to another?

Yes. The best way would probably be to manually copy the information. Forking it may also work.

[00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent?

Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.”

[00:16:21] If I’m using New Relic, is it using Zone JS under the hood?

Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts.

[00:17:22] What are the nuances? Why isn’t everybody doing this?

Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult.

Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward.

[00:21:44:] Does this affect your ability to test your software at all?

No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems.

Picks

Cory:

Aimee:

Charles:

Austin:

Links




z

JSJ 276: Vue.js with Maximilian Schwarzmüller

JSJ 276: Vue.js with Maximilian Schwarzmüller         

This episode of JavaScript Jabber features panelists AJ O’Neal, Aimee Knight, and Charles Max Wood. They talk with special guest Maximilian Schwarzmüller about Vue.js. Tune in to find out more!

[00:02:21] Introduction to Maximilian

Maximilian lives in Germany and is a self-taught web developer. He mostly teaches web development on Udemy and his YouTube channel. Vue.js is just one topic that he teaches. He enjoys teaching and passing on information to other web developers: he believes it is the best thing you can do.

[00:03:10] What other courses do you teach?

He tries to cover basic web development topics. On Udemy Maximilian teaches Angular and generic JavaScript courses. He also teaches courses on Angular and Node.js. On his YouTube channel he teaches more back-end development and Node.js courses.

[00:04:00] Elevator Pitch for Vue.js

Vue.js is a new framework that is popular because it is similar to React but also has Angular features. It is easier to learn than React: not everything is in JavaScript and JXS is not included. It is more also flexible and has better performance than Angular 1. Vue.js is easier than Angular 2 both to learn and master. It is still a JavaScript framework, where developers build single page applications or drop in existing applications to enhance views, control parts of a page with JavaScript, get rid of jQuery, and have an easier time creating applications.

[00:05:10] What are some challenges people run into as they learn it?

If developers are brand new to Vue.js, getting started is easy. It has one thing that a lot of frameworks lack which is awesome documentation. Vuejs.org has a comprehension guide that makes getting started simple. There is a general idea that developers still need to learn of how to structure the app, which is similar to React. Developers have to learn how to build components which is used to build the application. The build template is where everything is controlled with Vue.js. JavaScript code is used as well as template syntax.

[00:06:27] So you build the template and then tell it how each part is supposed to behave with JavaScript?

Yes. To get started use Vue instances, which are JavaScript objects, control parts of the page and it is marked by an id on an HTML element. Then, write a Vue template, which is basically HTML code where extra features can be used to easily output a variable. It makes it much easier to control via Vue instance. Then add a code, add a method which changes the property of Vue instance. It works together and is easy to build up templates and control your page with Vue.

 

[00:11:12] Vue’s Advantages

That depends on the application. Vue.js is easier to learn, which is an advantage when trying to get new developers. The documentation on the website is excellent, which helps when learning the language. Vue also has it’s own single team that develops it’s products, such as the Vue Router and Vue X. It has better performance, but for extremely big projects Angular 4 may be better.

[00:13:38] Does Vue have routing in it?

Vue.js has its own router. The core Vue team develops it, which is a different package that is downloaded separately. The advantage to this is that if you don’t need the router, then you don’t have it in your bundle but can easily add it. Once it is added it integrates nicely.

[00:14:16] How does the Vue router compare to the React router?

The Vue router offers the same features as the React router: nested routes, passing parameters, route guards, etc. The Vue router integrates nicely into the Vue package. It also injects into every component you have and is very simple. All that has to be done is just to execute one line of code and then the router is in the project.

[00:17:10] How often is Vue.js upgraded and how hard is it to keep up?

Vue.js only has two versions. Upgrading from Vue 1 to Vue 2 is easy. The base syntax and framework is still the same, you just need to adjust and move on. Since Vue 2 they released bigger upgrades. There so far haven’t been any issues upgrading, they have added new features, and still use the old code.

[00:19:09] What is the feature with Vue as far as adoption goes?

It is hard to predict but there are indicators that Vue.js has a good future. Vue.js probably will not overtake Angular but it is becoming important for companies in Asia, which is an important market. They have developed an Ionic version of Vue.js. There has also been an ongoing trend on GitHub.

[00:21:20] Why do we keep having new frameworks and versions?

The language of JavaScript itself is seeing rapid development. New features have been added, new web technologies developed, etc. One reason is that developers do more on the web. They want easier ways of building applications. There is no perfect framework so there has to be tradeoffs between the frameworks. There is no perfect solution for every application so need a framework for every application.

[00:23:16] What is left undone in Vue.js?

It is complete as far as something can be complete. Developers are working on service rendering to improve search engine optimization and initial rendering performance. They are also working on progress web app support.

 

[00:28:02] What drives the way that Vue grows?

There is simplicity in their documentation. While the documentation is simple, the framework is also easy to learn. Maximilian believes that the reason Vue.js took off is because the documentation and framework work together nicely.

[00:31:19] What is going to keep Vue around?

The support is not based on corporation, but there is an Asian company that is developing a framework that uses Vue to with their own product. Because of this, can draw an assumption that they will keep Vue.js around. Vue.js also has a strong community and core team, giving it a good support system.

[00:34:15] What are people using if they want to use Native Apps but they want to use Vue?

They are having a hard time right now. Frameworks for Quasar and Weex are in the early stages. A Vue.js app needs to be built but there are packages that are working in that direction.

[00:37:25] How do you structure your Udemy courses and what do you think of that as a whole?

Maximilian started teaching Udemy courses about one and a half years ago. He really enjoys teaching. Each course follows a similar pattern. He starts with a rough topic, researches the topic to see what is in demand, and builds a course around projects. He then fits all the things he wants to teach into the project, plans the course curriculum, records and edits the lecture videos, and then finally releases the course.

[00:39:22] What do you get the most questions about with your Vue course?

Questions are mixed. Students dive into the course quickly but then pause. Most questions are about the basics. They usually have something to do with the first few sections of the course or setup problems.

Picks         

AJ:

Aimee:

Charles:

Max:

Links




z

JSJ 280: Stackblitz with Eric Simons and Albert Pai

Panel:

Joe 

Amy 

Charles 

 

Special Guests: 

Eric Simmons 

Albert Pai

In this episode, JavaScript Jabbers talk to Eric Simmons and Albert Pai, the co-founder of thinkster.io, where their team teaches the bleeding edge of javascript technology’s various frameworks and backend. Also, with the recent creation of Stalkblitz, which is the center topic of today discussion. 

Stackblitz it an online VS Code IDE for Angular, React, and a few more others are supported. This is designed to run web pack and vs code inside your browser at blazing fast speeds. Eric and Albert dive into the many different advantages and services available by StackBlitz and thinker.io

In particular, we dive pretty deep on:

  • Similarities  and differences to Heroku 
  • System JS 
  • Stacklets  
  • Testing and creating an in-browser system file system
  • Creating a type of VS Code experience, Working Off Line 
  • Updating of the Stacklets
  • Deployment tools or exporting 
  • Hot Reloading
  • Integrated terminals
  • Monaco
  • Language Services 
  • How do you architect this implementation 
  • The innovation of browsers
  • Guy Bedford 
  • Financing vs. Chipotle Burritos 
  • Will this product in the future cost money

Links

 

Picks

Amy

Joe

Charles

Eric 

Albert 




z

JSJ 296: Changes in React and the license with Azat Mardan

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: Azat Mardan

In this episode, JavaScript Jabber panelist speak with Azat Mardan. Azat is a return guest, previously on JSJ Episode 230. Azat is an author of 14 books on Node JS, JavaScript, and React JS. Azat works at Capital One on the technology team. Azat is the founder and creator of Node University.

Azat is on the show to talk about changes in React and licensing. Some of the topics cover Facebook,  licensing with React, using the wrong version of React, patent wars, and much more in-depth information on current events in React.

In particular, we dive pretty deep on:

  • Facebook - Licensing with React
  • Using the Wrong version of React in some companies
  • BSD licensing
  • Patent wars
  • Facebook developing React
  • Difference in Preact and Inferno
  • Rewriting applications
  • What did Capital One do about the changes?
  • React 16
  • Pure React
  • Was the BSD patents - Med and Sm Companies
  • Patents explained
  • React Developers at Facebook
  • Fiber - New Core Architecture
  • And much more!

Links:

Picks:

Cory

Charles

Aimee

Joe

Azat




z

MJS 050: Azat Mardan

Panel: Charles Max Wood

Guest: Azat Mardan

This week on My JavaScript Story, Charles speaks with Azat Mardan. Azat is the author of 14 books on Node JS, JavaScript, and React JS. He also founded Node University, speaks at conferences, and works at Capitol One. Azat first got into programming when he was in college and his major was Informatics in eastern Europe and then when he graduated, he taught himself JavaScript and PHP and did some freelance work. Once he came to the United States, he got his master’s degree in Information Systems Technology and was building websites for country embassies. His main advice to people new to programming and IT is to just focus on one thing and give yourself enough time to get comfortable with that technology, and then move on to a new technology to conquer.

In particular, we dive pretty deep on:

  • How did you get into programming?
  • Major in informatics
  • PHP, JavaScript, CSS, and HTML
  • Freelancing
  • Masters in Information Systems Technology
  • C++ class
  • FDIC
  • Advice to new programmers
  • The importance of focus
  • His startup experience
  • Ruby on Rails
  • Mac vs Windows
  • Taught himself different frameworks and languages
  • Location matters
  • MongoDB
  • The best way to learn is to teach others
  • What was it about JavaScript that really clicked for you?
  • JavaScript has expressiveness
  • The Talent Code
  • What led you to React?
  • Which contributions are you most proud of?
  • And much, much more!

Links: 

Picks

Charles

Azat




z

MJS 054: Gordon Zhu

Panel: Charles Max Wood

Guest: Gordon Zhu

This week on My JavaScript Story, Charles speaks with Gordon Zhu. Gordon is the founder of Watch and Code. The mission of the company is to take total beginners and turn them into amazing developers. He first got into programming by trying to avoid programming. He studied business in college and was really interested in the internet, leading him to have to learn coding. He talks about the importance of being focused, especially in the beginning, and the ability to figure things out.

In particular, we dive pretty deep on:

  • Watch and Code
  • How did you first get into programming?
  • Studied business in college
  • Peak
  • Two different eras of programmers
  • There is more than one way to get into programming
  • Culture is promoting a new way of thinking about technology
  • Black Mirror
  • How did you get into JavaScript?
  • Marketing, product management, and engineering
  • Angular
  • Tried to avoid JS and focused on Python
  • Importance of focus
  • The ability to figure things out
  • How to spend your time in the beginning
  • Current focus
  • Focus gives you freedom
  • Reading a lot of code
  • What are you proud of?
  • And much, much more!

Links:

Picks

Charles

Gordon




z

JSJ 307: Apollo with Peggy Rayzis

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal

Special Guests: Peggy Rayzis

In this episode, the JavaScript Jabber panelists talk about Apollo with Peggy Rayzis. Peggy is an open source engineer on the Apollo team where she primarily focuses on client stuff, working on Apollo Client, and also other libraries. Previously, she was a UI engineer at Major League Soccer where she worked primarily with React and React Native. She discusses what GraphQL is and how it is used, as well as how they use it in the Apollo team to make their lives as developers easier. They also touch on when it would work best to use GraphQL and when it is not ideal to use it.

In particular, we dive pretty deep on:

Links:

Picks:

Charles

Aimee

AJ

Peggy




z

JSJ 309: WebAssembly and JavaScript with Ben Titzer

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:

Picks:

Charles

Cory

Aimee

Ben

  • American Politics




z

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

Panel:

  • Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Matt

Amanda




z

MJS 062: Zachary Kessin

Panel: Charles Max Wood

Guest: Zachary Kessin

This week on My JavaScript Story, Charles speaks with Zachary Kessin. Zach is a web developer who has written Programming HTML5 Applications and Building Web Applications with Erlang. Currently, he works a lot with functional programming. He first got into programming because his mother used to write in Lisp and he earned his first computer by begging his relatives to help pitch in to get him one when he was seven. They talk about what led him to Erlang and Elm, why he wanted to be a programmer from a young age, and what he is most proud of in his career.

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 57
  • JavaScript Jabber Episode 169
  • Zach intro
  • Elm and Erlang
  • How did you first get into programming?
  • Mother was writing Lisp when he was a kid
  • RadioShack color computer
  • Mother taught him Basic
  • Pascal and AP Computer Science
  • Studied CS originally in college and then switches to Physics
  • First web app written in Pearl 4
  • Did PHP for a living for a while and hated it
  • Elm saves him time and effort
  • What was it that made you want to program from a young age?
  • Don’t be afraid to jump into programming at a late age
  • Elm error messages
  • Writes fewer tests in Elm code that JS code
  • What are you most proud of?
  • Loves mentoring
  • Making a difference in the community
  • It’s not just about the code, it’s about the people
  • What are you doing now?
  • And much, much more!

Links:

Picks

Charles

Zach




z

MJS 063: Fred Zirdung

Panel: Charles Max Wood

Guest: Fred Zirdung

This week on My JavaScript Story, Charles speaks with Fred Zirdung. Fred is currently the head of curriculum at Hack Reactor, where he essentially builds all of the tools and learning materials for the students there. He is also an instructor and has been there for five years. Prior to that, he worked for multiple companies such as Walmart Labs as well as many small startups. He first got into programming with the Logo programming language in the 6th grade and he had always been interested in working with computers since a young age. They talk about what got him into web programming, what enthralled him about JavaScript and Ruby on Rails, and what he is proud of contributing to the JavaScript community.

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 76
  • Fred intro
  • How did you first get into programming?
  • Coding professionally for 20+ years
  • Coding prior to college graduation
  • Logo programming language
  • QNX operating system
  • Were you always interested in programming?
  • Always interested in computers
  • Commodore 64
  • Basic programming in high school
  • Programming didn’t click for him until high school
  • In college when the web became popular
  • Computer engineering degree in college
  • What was it that appealed to you about software over hardware?
  • Software vs hardware
  • Embedded systems software
  • How did you get into web programming?
  • Dolby Laboratories
  • What technologies got you excited?
  • JavaScript, Perl, and Ruby on Rails
  • Loved the flexibility of JS and Rails
  • Found something he could be productive with
  • What are you proud of contributing to the JavaScript community?
  • What are you working on now?
  • And much, much more!

Links:

Picks

Charles

Fred




z

JSJ 318: Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Ori Zohar and Gopinath Chigakkagari

In this episode, the JavaScript Jabber panelists discuss Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari at Microsoft Build. Ori is on the product team at VSTS focusing on DevOps specifically on Azure. Gopinath is the group program manager in VSTS primarily working on continuous integration, continuous delivery, DevOps, Azure deployment, etc. They talk about the first steps people should take when getting into DevOps, define DevOps the way Microsoft views it, the advantages to automation, and more!

In particular, we dive pretty deep on:

  • Ori and Gopi intro
  • VSTS – Visual Studio Team Services
  • VSTS gives developers the ability to be productive
  • Developer productivity
  • What’s the first big step people should be taking if they’re getting into DevOps?
  • The definition of DevOps
  • The people and the processes as the most important piece
  • DevOps as the best practices
  • Automating processes
  • What people do when things go wrong is what really counts
  • Letting the system take care of the problems
  • Have the developers work on what they are actually getting paid for
  • Trend of embracing DevOps
  • Shifting the production responsibility more onto the developer’s
  • Incentivizing developers
  • People don’t account for integration
  • Continuous integration
  • Trends on what customers are asking for
  • Safety
  • Docker containers
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Ori

  • Fitbit
  • Pacific Northwest Hiking

Gopinath

  • Seattle, WA




z

JSJ 321: Babel and Open Source Software with Henry Zhu

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal
  • Joe Eames

Special Guests: Henry Zhu

In this episode, the JavaScript Jabber panel talks to Henry Zhu about Babel and open source software. Henry is one of the maintainers on Babel, which is a JavaScript compiler, and recently left this job to work on doing open source full time as well as working on Babel. They talk about where Babel is today, what it actually is, and his focus on his open source career. They also touch on how he got started in open source, his first PR, and more!

In particular, we dive pretty deep on:

  • Henry intro
  • Babel update
  • Sebastian McKenzie was the original creator of Babel
  • Has learned a lot about being a maintainer
  • What is Babel?
  • JavaScript compiler
  • You never know who your user is
  • Has much changed with Babel since Sebastian left?
  • Working on open source
  • How did you get started in pen source?
  • The ability to learn a lot from open source
  • Atrocities of globalization
  • More decentralization from GitHub
  • Gitea and GitLab
  • Gitea installer
  • Open source is more closed now
  • His first PR
  • JSCS
  • Auto-fixing
  • Prettier
  • Learning more about linting
  • You don’t have to have formal training to be successful
  • Codefund.io
  • Sustainability of open source
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Aimee

AJ

Joe

Henry




z

MJS 069: Lizzie Siegle

Panel: Charles Max Wood

Guest: Lizzie Siegle

This week on My JavaScript Story, Charles speaks with Lizzie Siegle. Lizzie is a senior computer science major at Bryn Mawr College, works for Twilio as a contracting developer evangelist, and also contributes to their documentation. She first got into programming when her AP calculus teacher told some of her classmates to attend a one day all girls coding camp at Stanford and she overheard and was interested by it. She was inspired at this camp to pursue a career in coding because she loved that you can build anything with code and be creative. They talk about what got her hooked on coding, why she chose JavaScript, why she chose to work as a developer evangelist, and more!

In particular, we dive pretty deep on:

  • Lizzie intro
  • Computer Science Major
  • Works at Twilio
  • Greg Baugues was her assigned mentor this past summer
  • How did you first get into programming?
  • Grew up in Silicon Valley
  • Hated STEM growing up
  • Was inspired at a one day all girls coding camp at Stanford
  • Loves being able to be creative with code
  • What was the coding camp like?
  • Camp was for high-schoolers
  • HTML and CSS
  • What was it that got you interested in code?
  • Seeing the application of code in the real world
  • Why JavaScript?
  • Works also in Python, Swift, and Haskell
  • Loves how versatile JS is
  • Why developer evangelism?
  • Internship at PubNub
  • Loves being able to teach others as an evangelist
  • What have you done in JavaScript that you’re proud of?
  • Eon.js
  • What are you working on currently?
  • Get comfortable with being uncomfortable
  • And much, much more!

Links:

Sponsors:

Picks

Lizzie

  • The importance of a mentor or a sponsor