es 107 JSJ ClojureScript & Om with David Nolen By devchat.tv Published On :: Wed, 07 May 2014 09:00:00 -0400 The panelists talk to David Nolen about ClojureScript and Om. Full Article
es 110 JSJ Zones with Brian Ford By devchat.tv Published On :: Wed, 28 May 2014 09:00:00 -0400 The panelists discuss zone.js with Brian Ford. Full Article
es 115 JSJ The ES6 Module Loader Polyfill, SystemJS, and jspm with Guy Bedford By devchat.tv Published On :: Wed, 02 Jul 2014 09:00:00 -0400 the panelists discuss the ES6 module loader polyfill, SystemJS, and jspm with Guy Bedford. Full Article
es 127 JSJ Changes in npm-Land with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter By devchat.tv Published On :: Wed, 24 Sep 2014 09:00:00 -0400 The panelists discuss changes in the npm package manager with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter. Full Article
es 131 JSJ Conferences & Meetups with Dave Nugent By devchat.tv Published On :: Wed, 29 Oct 2014 09:00:00 -0400 The panelists talk to Dave Nugent about organizing conferences and Meetups. Full Article
es 135 JSJ Smallest Federated Wiki with Ward Cunningham By devchat.tv Published On :: Wed, 26 Nov 2014 09:00:00 -0500 The Panelists talk to the creator of the Smallest Federated Wiki, Ward Cunningham. Full Article
es 139 JSJ The Mozilla Developer Network with Les Orchard and David Walsh By devchat.tv Published On :: Wed, 24 Dec 2014 09:00:00 -0500 The panelists talk about the Mozilla Developer Network with Les Orchard and David Walsh. Full Article
es 140 JSJ Using Art to Get and Keep People Interested in Programming with Jenn Schiffer By devchat.tv Published On :: Wed, 31 Dec 2014 09:00:00 -0500 The panelists talk to Jenn Schiffer about using art to get and keep people interested in programming. Full Article
es 158 JSJ Roots with Jeff Escalante By devchat.tv Published On :: Wed, 06 May 2015 09:00:00 -0400 02:30 - Jeff Escalante Introduction Twitter GitHub Carrot Creative 03:15 - Roots [GitHub] roots 05:20 - Static Sites vs Dynamic Sites Resource: Static vs Dynamic Websites Scale SEO (Search Engine Optimization) 13:47 - Plugins 15:48 - Multipass Compile Functionality JSX 20:27 - Roots vs Other Static Site Generators Technical Debt 22:31 - Netlify 26:22 - HTTPS Mathias Biilmann: Five Reasons you want HTTPS for your Static site Let's Encrypt Extended Validation Certificate (EV Certificate) Picks ECMAScript 6 — New Features: Overview & Comparison (Aimee) Jacob Kaplan-Moss: Keynote at Pycon 2015 (Aimee) Dr. Who (AJ) Power Rangers (AJ) Marvel Digital Comics Unlimited (Joe) GoFundMe (Joe) Netlify (Jeff) accord (Jeff) Contentful (Jeff) Full Article
es 162 JSJ ESLint with Jamund Ferguson By devchat.tv Published On :: Wed, 03 Jun 2015 11:00:00 -0400 02:15 - Jamund Ferguson Introduction Twitter GitHub Blog PayPal Jamund Ferguson: JavaScript Linting for Code Quality & ESLint Overview 02:47 - Lint (Background) JSLint Douglas Crockford JSHint ESLint [GitHub] eslint Nicholas Zakas [Gitter] eslint 04:48 - Keeping ESLint Up-to-date Esprima Ariya Hidayat espree Babel babel-eslint ES6 (ECMAScript 6) 08:09 - Abstract Syntax Tree (ASTs) Jamund Ferguson: Don’t be scared of abstract syntax trees Minification UglifyJS 13:28 - Using Lint Tools Context Switching Aspects to Linting: Code Standardization Catching Bad Mistakes JSCS (JavaScript Code Style) “Extends” 20:42 - Are there a downsides to linting? The Social Problem 23:40 - Establishing Rules Bikeshedding Consistency 25:12 - Cool ESLint Features handle-callback-err Not Throwing Literals No Restricted Modules Jamund Ferguson: Error Handling in Node.js @ MountainWest JavaScript 2014 30:45 - How ESLint Works Internally eslint-plugin-angular Configuration and Defaults 40:07 - Getting Started with Linting 43:03 - Autofixer 44:41 - Plugins 46:47 - Linter Feedback From the Panel Picks Mozilla (AJ) We Will All Be Game Programmers (Aimee) Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (and World Peace) by Chade-Meng Tan (Aimee) Good Mythical Morning (Dave) Salt Lake City (Dave) BB King Calls This One Of His Best Performances (Jamison) json-server (Jamison) Austenland (Joe) Supergirl (Joe) A Short History of Nearly Everything by Bill Bryson (Jamund) The Book of Mormon (Jamund) Full Article
es 167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle By devchat.tv Published On :: Wed, 08 Jul 2015 11:00:00 -0400 02:27 - Alex Eagle Introduction Twitter GitHub Google 02:54 - Jonathan Turner Introduction Twitter GitHub Microsoft [Talk] Jonathan Turner: TypeScript and Angular 2 @ ng-conf 2015 [Talk] Jonathan Turner: TypeScript and Angular 2 @ Angular U 2015 03:30 - What is TypeScript? 04:40 - Google + Microsoft = <3 (Angular Adopting TypeScript) Rob Eisenberg AtScript Jonathan Turner: Angular 2: Built on TypeScript 07:18 - TypeScript Accommodating Angular TC39 Yehuda Katz Aurelia 09:28 - Surge of Interest in Adopting a Typechecker, Type System 14:21 - Angular: Creating a New Language Killing Off Wasabi - Part 1 (FogBugz Article) traceur 16:46 - The Angular 2 Component System and How it Uses New Annotations for Classes 18:01 - Annotations and Decorators 22:06 - TypeScript and Babel?; Adding New Features 25:25 - Non-Angular Users Adopting TypeScript Visual Studio Code 34:55 - Tooling and Setting Modes for Linting and Static Analysis 36:58 - Using Libraries Outside the TypeScript Ecosystem 38:11 - Type Definition Files 40:15 - Content of the Type System 43:19 - Duck Typing 45:12 - Getting People to Care about TypeScript 49:16 - The Angular and TypeScript Relationship Picks f.lux (Aimee) Jafar Husain: Functional Programming in Javascript (learnrx) (Aimee) Startup Timelines (Jamison) Friday Night Lights (Jamison) React Rally (Jamison) Evan Farrer: Unit testing isn't enough. You need static typing too. (Dave) AngularConnect (Joe) ng-click.com (Joe) mdn.io (Joe) Sonic Pi (Chuck) Error Prone (Alex) AudioScope-ng2 (Jonathan) The Nintendo World Championships (Jonathan) Full Article
es 169 JSJ Property-based Testing (QuickCheck) with Zach Kessin By devchat.tv Published On :: Wed, 22 Jul 2015 11:00:00 -0400 02:20 - Zach Kessin Introduction Twitter GitHub Zach's Books Parrot JavaScript Jabber: Episode #057: Functional Programming with Zach Kessin Testing Erlang With Quickcheck Book 04:00 - Mostly Erlang Podcast 05:27 - Property-based Testing (QuickCheck) 07:22 - Property-based Testing and Functional Programming jsverify 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) Full Article
es 172 JSJ NodeSchool with Jason Rhodes By devchat.tv Published On :: Wed, 12 Aug 2015 11:00:00 -0400 Check out Angular Remote Conf! 02:22 - Jason Rhodes Introduction Twitter GitHub Blog SparkPost NodeSchool @nodeschool GitHub: NodeSchool charmCityJS @charmcityjs 03:46 - NodeSchool Jason Rhodes: A Story About NodeSchool and Community Building at CascadiaJS 2014 Jason Rhodes: NodeSchool Trying Node AND Contributing @ Empire Node 2014 06:05 - “Workshopper(s)” 07:13 - How Meetups Run (Format), Target Audience 11:09 - Pair Programming and Peer Learning 14:34 - Starting a NodeSchool Chapter 15:53 - Implementing Diversity 18:07 - Mentoring and Mentorship 20:49 - Time Commitment and Effort 24:02 - Appealing to All Experience Levels of Attendees 26:48 - The NodeSchool Community 30:45 - Being a Member of an Open Source Community Picks Better Off Ted (Joe) Cat Exercise Wheel (Aimee) That Conference (Joe) primitive.io (Joe) React Rally (Aimee) Falcor YouTube Playlist (Aimee) javascriptjabber.com/15minutes (Chuck) Entreprogrammers Retreat 2015 (Chuck) Love Letter (Jason) charmCityJS (Jason) Mad Max: Fury Road (Jason) Full Article
es 174 JSJ npm 3 with Rebecca Turner and Forrest Norvell By devchat.tv Published On :: Wed, 26 Aug 2015 11:00:00 -0400 Don’t miss out! Sign up for Angular Remote Conf! 02:28 - Forrest Norvell Introduction Twitter GitHub 02:37 - Rebecca Turner Introduction Twitter GitHub Blog 03:05 - Why npm 3 Exists and Changes in npm 2 => 3 Debugging Life Cycle Ordering Deduplication 08:36 - Housekeeping 09:47 - Peer Dependency Changes The Singleton Pattern 15:38 - The Rewrite Process and How That Enabled Some of the Changes Coming Out CJ Silverio: Npm registry deep dive @ Oneshot Oslo 22:50 - shrinkwrapping 27:00 - Other Breaking Changes? Permissions 30:40 - Tiny Jewels 33:24 - Why Rewrite? 36:00 - npm’s Focus on the Front End Bower npm Roadmap 42:04 - Transitioning to npm 3 42:54 - Installing npm 3 44:11 - Packaging with io.js and Node.js 45:16 - Being in Beta Picks Slack List (Aimee) Perceived Performance Fluent Conf Talks (Aimee) Paul Irish: How Users Perceive the Speed of The Web Keynote @ Fluent 2015 (Aimee) Subsistence Farming (AJ) Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck) Elevator Saga (Chuck) BrazilJS (Forrest) NodeConf Brazil (Forrest) For quick testing: `npm init -y`, configure init (Forrest) Where Can I Put Your Cheese? (Or What to Expect From npm@3) @ Boston Ember, May 2015 (Rebecca) Open Source & Feelings Conference (Rebecca) bugs [npm Documentation] (Rebecca) docs [npm Documentation] (Rebecca) repo [npm Documentation] (Rebecca) Full Article
es 178 JSJ Tech Education and The Business of Running Front End Masters with Marc Grabanski By devchat.tv Published On :: Wed, 23 Sep 2015 11:00:00 -0400 03:01 - Marc Grabanski Introduction Twitter GitHub Blog 03:35 - The jQuery UI Datepicker 04:29 - Frontend Masters @FrontendMasters 07:26 - The Live Streaming Phenomenon Twitch.tv 09:17 - Scalability 11:25 - Value, Feedback Cycle 14:43 - Structuring Courses and Workshops 16:09 - Online vs In-Person Prerequisites 18:11 - Booking Workshops 19:02 - Scaling (Cont’d) 20:00 - Online Education (eLearning) in General egghead.io CodeCombat NodeSchool 21:40 - The Business Model Licensing 24:12 - Hot Sellers Kyle Simpson: Advanced JavaScript 25:28 - Technical Setup Livestream Firebase 27:27 - Selecting Topics 29:41 - Future Topics / Topics in Production 30:38 - Individual / Company Attendees frontendmasters.com/workshops 31:45 - Upcoming Plans for Frontend Masters 32:32 - Advice For Starting Something Like Frontend Masters 34:23 - Keeping Content Up-to-date 36:14 - eLearning Experiments Untrusted exercism.io NodeSchool A Better Way to Learn JavaScript My Tech High 39:30 - Giveaways marc@frontendmasters.com 40:07 - Getting Started with Programming 43:03 - Marketing 45:20 - Teacher Compensation Picks Jessica Kerr: Functional Principles In React @ React Rally 2015 (Jamison) thought-haver (Jamison) [Frontend Masters] Angular Application Development (Aimee) [Frontend Masters] JavaScript the Good Parts (Aimee) LÄRABAR (Aimee) Taking time off (Chuck) The Man from U.N.C.L.E. (Joe) BB-8 by Sphero (Joe) ng-conf (Joe) The Tim Ferriss Show (Marc) CodeCombat (Marc) Untrusted (Marc) Full Article
es 181 JSJ The Evolution of Flux Libraries with Andrew Clark and Dan Abramov By devchat.tv Published On :: Wed, 14 Oct 2015 11:00:00 -0400 Sign up for JS Remote Conf! Dan and Andrew's super awesome, helpful document that they made for the show during preparation 03:22 - Andrew Clark Introduction Twitter GitHub OpenGov flummox 03:39 - Dan Abramov Introduction Twitter GitHub JavaScript Jabber Episode #179: redux and React with Dan Abramov 04:03 - Flux Flux vs MVC 09:36 - Data Flow Why FluxComponent > fluxMixin Mixins Are Dead. Long Live Composition. Higher-order Components Sebastian Markbåge's Tweet 22:52 - Conceptualizing React and Flux React.js Conf 2015 - Flux Panel Does redux limit ambiguity that exists in Flux? 27:50 - Documentation 30:38 - The Elm Programming Language 32:34 - Making Patterns Explicit in Frameworks Tom Dale @ TXJS 2015 Let a 1,000 flowers bloom. Then rip 999 of them out by the roots. Sebastian Markbåge: Minimal API Surface Area @ JSConf EU 2014 36:31 - Getting Started with React and Flux Classes 42:42 - Where Flux Falls Short 58:23 - Keeping the Core Small; Making Decisions Picks Strange Loop 2015 Videos (Jamison) Typeset In The Future (Jamison) Open-source as a project model for internal work (w/ speaker notes) by Kevin Lamping (Jamison) Explanation of Zipf's Law (Dave) Will Conant's talk at UtahJS 2015 on Flux (Dave) The Legend of ZERO (3 Book Series) by Sara King (Joe) Camel Up (Joe) The Elm Programming Language (Joe) Boundaries: A talk by Gary Bernhardt from SCNA 2012 (Aimee) Nodevember (Aimee) TV Fool (Chuck) RCA Outdoor Digital HDTV VHF UHF Yagi Type Antenna (Chuck) The Michael Vey Book Series (Chuck) BusinessTown (Dan) Elon Musk: The World’s Raddest Man (Dan) Professor Frisby's Mostly Adequate Guide to Functional Programming (Dan) Abiogenesis (Dan) react-future (Dan) The Righteous Mind (Andrew) lodash-fp (Andrew) Inside Amy Schumer (Andrew) dataloader (Andrew) Careers at OpenGov (Andrew) Full Article
es 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
es 189 JSJ PureScript with John A. De Goes and Phil Freeman By devchat.tv Published On :: Wed, 09 Dec 2015 11:00:00 -0500 02:54 - John A. De Goes Introduction Twitter GitHub Blog SlamData 06:34 - Phil Freeman Introduction Twitter GitHub Blog 07:38 - What is PureScript? 09:11 - Features Extensible Effects 12:24 - Overcoming the Vocabulary Problem in Functional Programming Gang of Four Book (Design Patterns) purescript-halogen 20:07 - Prerequisites to PureScript 26:14 - PureScript vs Elm JavaScript Jabber Episode #175: Elm with Evan Czaplicki and Richard Feldman No Runtime General Purpose vs UI-Focused Generic Containers 40:37 - Similar Languages to PureScript 44:07 - PureScript Background Roy 47:48 - The WebAssembly Effect 51:01 - Readability 53:42 - PureScript Learning Resources PureScript by Example by Phil Freeman PureScript Conf 2015/6 55:43 - Working with Abstractions purescript-aff Audrey Popp: Fighting Node Callback Hell with PureScript Picks Philip Robects: What the heck is the event loop anyways? @ JS Conf EU 2014 (Aimee) loupe (Aimee) The Man in the High Castle (Jamison) Nickolas Means: How to Crash an Airplane @ RubyConf 2015 (Jamison) Lambda Lounge Utah (Jamison) Michael Trotter: Intro to PureScript @ Utah Haskell Meetup (Jamison) Utah Elm Users (Jamison) Screeps (Joe) Most Likely to Succeed: Preparing Our Kids for the Innovation Era by Tony Wagner (Joe) Dark Matter (Joe) LambdaConf (John) @lambda_conf (John) ramda (John) Proper beef, ale & mushroom pie (John) Tidal (Phil) purescript-flare (Phil) The Forward JS Conference (Phil) Full Article
es 193 JSJ Electron with Jessica Lord and Amy Palamountain By devchat.tv Published On :: Wed, 06 Jan 2016 11:00:00 -0500 Get your JS Remote Conf tickets! Freelance’ Remote Conf’s schedule is shaping up! Head over here to check it out! 02:17 - Jessica Lord Introduction Twitter GitHub Blog 02:40 - Amy Palamountain Introduction Twitter GitHub Blog 03:14 - Electron Atom 04:55 - Cross-platform Compatibility 05:55 - Electron/Atom + GitHub 07:16 - Electron/Atom + React ? 07:57 - Use Cases for Electron muan/mojibar mafintosh/playback npm-scripts-gui Amy Palamountain: Building native applications with Electron @ Nordic.js 2015 15:09 - Creating Electron Apps on Phones 17:25 - Running a Service Inside of Electron Visual Studio Code Adventures in Angular Episode #44: Visual Studio Code with Erich Gamma and Chris Dias 19:46 - Making an Electron App Photon conors/photon Photon Components N1 24:09 - Sharing Code 27:40 - Plugins for Functionality electron-accelerator electron-packager electron-prebuilt 31:08 - Keeping Up-to-date/Adding Features 33:14 - Pain Points NuGet 36:22 - Using Electron for Native JavaScript Jabber Episode #186: JSJ NativeScript with TJ VanToll and Burke Holland PhoneGap Reactive Native NativeScript 39:48 - What is a “webview”? 42:12 - Getting Started with Electron 43:28 - Robotics/Hardware Hacking with Electron JIBO Picks Autolux - Future Perfect (Jamison) Move Fast and Break Nothing (Aimee) [egghead.io] Getting Started with Redux (Dave) Destructuring and parameter handling in ECMAScript 6 (Dave) JS Remote Conf (Chuck) Freelance Remote Conf (Chuck) React Remote Conf (Chuck) Pebble Time Steel (Chuck) UglyBaby Etsy Shop (Amy) Jimmy Fallon: Kid Theater with Tom Hanks (Jessica) Full Article
es 209 JSJ TypeScript with Anders Hejlsberg By devchat.tv Published On :: Wed, 27 Apr 2016 09:00:00 -0400 This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Anders Hejlsberg of Microsoft about Typescript. You can follow him on Twitter, or check out what he’s done over on GitHub Resources TypeScript Picks Writing Code (Anders) Full Article
es 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
es 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
es 224 JSJ Cypress.js with Brian Mann By devchat.tv Published On :: Wed, 10 Aug 2016 09:00:00 -0400 Angular Remote Conf and React Remote Conf 03:18 - Brian Mann Introduction Twitter GitHub 03:33 - Cypress.io 04:09 - Selenium 08:56 - Cypress vs Selenium 16:54 - Similarities: Cypress and Protractor 18:22 - Mocking API Data 20:40 - Getting Started with Cypress and The Migration Process 21:54 - Testing 30:31 - Handling Data on the Backend 34:16 - What’s coming next in Cypress? Full Article
es 225 JSJ Functional Programming with John A. De Goes By devchat.tv Published On :: Wed, 17 Aug 2016 09:00:00 -0400 03:08 - John A. De Goes Introduction Twitter GitHub Blog SlamData 04:07 - PureScript JavaScript Jabber Episode #189: PureScript with John A. De Goes and Phil Freeman 04:58 - “Purely Functional” 09:18 - Weaknesses With Functional Programming Object-oriented Programming Procedural Programming 14:36 - Organizing a FP Codebase John A. De Goes: A Modern Architecture for FP 17:54 - Beginners and Functional Programming; Getting Started Learning About the History of Functional Programming Hiring Junior Devs to do FP 28:20 - The Rise of Functional Programming in JavaScript-land 32:08 - Handling Existing Applications 36:03 - Complexity Argument 41:53 - Weighing Language Tradeoffs; Alt.js Picks Nadia Odunayo: The Guest: A Guide To Code Hospitality @ RailsConf 2016 (Aimee) React Rally (Jamison) Cleanup Algorithm (Jamison) PostgreSQL Exercises (Jamison) iPad Pro (Chuck) Smart Keyboard for iPad Pro (Chuck) Apple Pencil (Chuck) GoodNotes (Chuck) John A. De Goes: Halogen: Past, Present, and Future (John) slamdata (John) Full Article
es 226 JSJ Test Doubles with Justin Searls By devchat.tv Published On :: Wed, 24 Aug 2016 09:00:00 -0400 React Remote Conf and Angular Remote Conf 03:15 - Justin Searls Introduction Twitter GitHub Blog Test Double JavaScript Jabber Episode #038: Jasmine with Justin Searls 04:13 - Testing testdouble.js teenytest Sinon.JS 08:44 - Mocking Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce Jim Weirich 14:45 - Starting These Concepts as a Junior Developer Test-driven Development 17:55 - testdouble.js vs. sinon.js NIH = Not Invented Here 26:39 - Duck Typing, Monkey Patching, Duck Punching 32:22 - Node.js Negativity Design, Resources Martin Fowler’s Refactoring and Patterns Books Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans 42:52 - Community 45:08 - The AAA Rule: Arrange, Act, Assert 51:19 - Error Messages Picks Unemployment (Jamison) React Rally (Jamison) Julia Evans' Tweet: how to be a wizard programmer (Jamison) See the good in people (Aimee) Sinon.JS (Joe) How to Stay Motivated: Developing the Qualities of Success by Zig Ziglar (Chuck) The Harry Potter Series (Chuck) RetroPie (Justin) How Elm can Make you a Better JavaScript Programer (Justin) NEJS Conf (Justin) Full Article
es 232 JSJ GunDB and Databases with Mark Nadal By devchat.tv Published On :: Wed, 05 Oct 2016 08:00:00 -0400 03:45 What makes the Gun database engine special 07:00 Defining a database 12:58 The CAP Theorem 22:56 What Graphs are and how they function (circular references) 30:32 Gun and rotational disk systems 32:08 Gun’s optimizations for performance in ensuing versions 39:55 The prevalence of open source companies 42:45 Further discussing the CAP Theorem and its nuances 50:33 Gun’s purpose and design 52:13 What a Firebase is 54:22 How to get started with Gun - Visit Gun Tutorial, Gun's Github Page, and Gun Node Module QUOTES: “I think the database should bend to your application’s demands, rather than you having to bend to the database’s demands.” –Mark Nadal “…The protocol that GUN defines is something that can be implemented in any language. Because GUN is in the language, you don’t have the context which latency of having to make an HTTP call or socket request…” –AJ O’Neill “Let’s demystify the black magic of CAP.” –Mark Nadal PICKS: Dan North’s Deliberate Learning Video 8Tracks Internet Radio Pokemon Indigo League on Netflix Daplie Personal Cloud Young Frankenstein Movie Mystic Vale Card Game JS Remote Conference React Remote Conference Farm Heroes Super Saga Game App Full Article
es 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
es JSJ 248 Reactive Programming and RxJS with Ben Lesh By devchat.tv Published On :: Tue, 07 Feb 2017 06:00:00 -0500 On today's episode, Charles Max Wood, Joe Eames, and Tracy Lee discuss Reactive Programming and RxJS with Ben Lesh. Ben works at Netflix and also has a side job for Rx Workshop with Tracy. He is the lead author of RxJS 5. Tune in to learn more about RxJS! Full Article
es MJS #005: Joe Eames By devchat.tv Published On :: Thu, 16 Feb 2017 06:00:00 -0500 On today's episode of My JS Story, Charles Max Wood welcomes Joe Eames. Joe is both into JavaScript Jabber and Adventures in Angular. Tune in to My JS Story Joe Eames to learn more about his journey into getting where he is now. Full Article
es 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
es JSJ 257 Graphcool with Johannes Schickling By devchat.tv Published On :: Tue, 11 Apr 2017 06:00:00 -0400 On today's JavaScript Jabber Show, Charles, Aimee, and AJ discuss Graphcool with Johannes Schickling. Johannes is based in Berlin, Germany and is the founder of Graphcool, Inc. He also founded Optonaut, an Instagram for VR, which he sold about a year ago. Tune in to learn more about GraphQL and see what's in store for you! Full Article
es JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen By devchat.tv Published On :: Tue, 27 Jun 2017 06:00:00 -0400 JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in. [1:56] Is Node 8 just an update or is there more? More than just an update Two main points: Improved Prana support Native API Native APIs are helpful for Native Add-ons. For both the consumer and the developer side. Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs. Causes these modules to be updated or reconciled every time these modules are rereleased. Creates burden for module maintainers. Creates friction in upgrading Node versions in production departments. If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node. Creates compatibility issues with Node users not using Node 8 Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible. Important milestone for the module ecosystem. You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front. Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that. As a side benefit, you can have another VM to take advantage of that. Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated. Deep dependency wise, about 30% depends on a Native module somewhere In the future, with the Native API, you’ll be able to update Node without breaking modules. [5:51] What kind of work went into this? Most of the work was in C++ First thing that was done was, they looked at the top dependent Native modules in the ecosystem. Looked for what kind of V8 exposure they had and cataloged it Looked at how these APIs and what their purposes were Looked for a way to extract them so that they are part of Node Core Created neutral APIs, now part of the Node core. All C APIs Also has a C++ wrapper to improves usability of the API. [7:17] What’s an example of what you can do with these APIs? Native modules allows for tighter integration and better module performance Specific APIs that you can use in V8 that isn’t available through JavaScript If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API Having it bound directly to the VM was something they wanted for a long time Google controls V8 and they bind to V8 Created a better relationship with Google starting in IOJS Also worked with Microsoft with their Node Shocker work. Same with SpiderMonkey SpiderNode is in the works [9:23] Have you guys done any testing for performance? Some. There is a performance working group. There is a need to stay on top of V8 V8 team has focused on new language features Many features have been added over the years Many didn’t come in optimized The performance profile has changed with these features If you’re using new language features, you will see a performance boost In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer Turbo C compiler hasn’t landed yet, but is to come. Will have a completely different performance profile In most real world applications it will be faster Waiting on the release to take a version of V8 to make it easier to upgrade features in the future [11:28] Are the new features picked up from V8 or implemented in Node? It’s all in V8 Better longterm support Promises are made better in Node as a platform Added new method called util.promisify() Implementation comes from V8 Allows for more optimization for promises in Node core Promise support for the one-deprecated domains module. [13:02] Is there anything more than NMP 5? First off, delete your NMP cache. It’s in your home directory usually with a .npm extension [14:09] What are the new features in V8? Unlimited heap sizes, previously had a 4gb limit. No fixed limit. [14:09] Will you see things like chakra come out tuned for servers? Profiles of a server for application process are getting smaller Getting cut into containers and VMs and micro services Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future Yes, especially if you’re using cloud functions V8 is optimized for phones, but Chakra is even more so Looking for opportunities for VMs can be solely optimized for a device target Node take advantage of that VM VM neutrality is an interesting concept VM Vendors trying to optimize it based on workloads of a server Opens opportunities for Node Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store Node is not just for servers anymore Node doesn’t take a long time configuring it When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works. VM neutrality gives a new vector, so you can swam a whole different VM [18:44] When running different engines like iOS vs Android, does the profile change? What it comes down to is if it’s eventive programming The browser is an eventive environment, is very efficient waiting for things to happen before it does something The way that we program servers and nodes are the same as well the basics are the same generally environmental differences exist but the programming model is usually the same What does impact it is memory and processor and hardware and things like that That is where tuning the VM comes into play [20:29] What is the new Async Hooks API used for? Node has been lacking for automated inspection of Async Hook No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that it’s a way for developers to write debugging features Node tells the application that it’s working with Asynchronous way. The embedded inspector has been embedded since Node 6 Now has a JavaScript API to use it You can use things like Chrome debugger inside the running node process Old debugging protocol has been removed VM.run is still there but in the process of being deprecated [22:34] How like is the experimental Node API will change? Marked as experimental because it’s the first time in the open Hopefully out of experimental soon Soon can port API to the existing LTS Looking for more people to participate with the new API and give feedback Fix any concerns before it goes to LTS Some other experimental things are in the works like ASync Hooks and how it interacts with promises Renaming some features Another new feature - serializer and deserializer that comes with V8 experimental but will most likely stay [25:31] what is your standard for going to LTS? Major releases every 6 months Next Oct Node 9 will come out and then Node 8 will be LTS Documentation, updates, additions etc will be ready then Plan to do it for 2.5 years Every even releases come out to LTS as the odd release comes out Helps keeps a current line while having something new in the release line Node 6 is the current LTS version [27:26] What are you taking out or deprecating in Node 8? Use the word deprecate sparingly If many people use features, it’s hard to get rid of Security issue with Buffer, constructor argument was ambiguous Had added APIs that were more explicit over time and pushed those Now it will be deprecated [28:43] 21% - 33% Performance increase with some Node updates Someone online updated their React app to Node 8 and found an 21% - 33% increase Benchmarking group tests to make sure things are getting faster V8 is always getting faster as well Code changes fast and so there is a chance performance slows down so they have people to check Benchmark test are all automated by a team [30:47] Is it safe to just switch to Node 8? For front-end, yes clear your NPM cache Back use cases will usually wait until LTS [31:28] Where any of the features hard to implement? The API work took about a year It was a collaboration which made it interesting IBM, Intel, Google were involved The collaboration took a while Also Async hooks took at least a year. Async hooks used to be called async wraps and has been in the work for almost 3 years many of the changes were the accumulation of small chances [33:07] It’s the little things Letting people get small changes in accumulate into a big difference the product gets much better that way [33:57] What versions of Node are you actively updating? Current releases of Node 8 for a half of year Node 6 is LTS Additional year of maintenance of previous LTSs. Schedule is at http://github.com/node8js/lts in a chart Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8 Node 7 doesn’t get much support unless it’s vital security supports. If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore [35:42] Where do you see things going from here? Mostly still working out Async hooks Maybe add some web worker or worker support for Node JS ES module support Working to make promises better Working on the performance profile and internal systems [20:29] What is the adoption like of Node 8? Node team gets better at getting people to adopt quickly but about 5% - 6% will not upgrade community doubles each year at 8 million users right now Here is a graph on Twitter posted by NPM Limiting breaks and softly deprecating things makes it’s easier to upgrade [40:11] How can people contribute and get involved? NodeToDo.org shows how to make contribution Occasionally major conferences have information on how to contribute Test it out and help make it stronger [42:08] If people install Node 8 and have issues what can they do? If it’s an NPM problem check with them clear cache! install newest version with: npm install -g npm@latest Report problems to either NPM or Node If you’re not sure where the problem is, check github.com/nodejs/help Links Node8 Node’s Twitter Node’s Medium Node Evangelism Group Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter Picks AJ Overclocked Remix Super Mario RPG Window to The Stars Amiee Blogpost RisingStack on Node 8 2 Frugal Dudes Charles Homeland House of Cards Joe Shimmer Lake Mikael Blake2b-wasm Aremesh Current Nightly News Full Article
es MJS #025 Helen V. Holmes By devchat.tv Published On :: Wed, 12 Jul 2017 06:00:00 -0400 MJS 025: Helen V. Holmes This episode features a My JavaScript story with Helen V. Holmes. Helen has never before been a guest on the show. She is both a designer and front-end programmer who previously worked for Mozilla. In January, she started her own freelancing business. Listen to Charles Max Wood and Helen discuss how she got into programming, what made her decide to open a freelance business, and more! How did you get into programming? Helen started by making themes for herself and friends in LiveJournal using other people's CSS themes. Once she got to college she realized that although this wasn't a career, it was an aspect of a career. She then majored in graphic design, going on to do internships in both front-end development and design. Since college, she has gone back and forth between front-end development and design work. How long ago was that? Helen graduated college in 2013. Did you graduate in computer science? Helen did not even minor in computer science. At the time, she was focused on making stuff. The computer science major was too heavily focused on theory. She did take a couple of classes in it, but the graphic design major was more focused on building prototypes. Her graphic design major didn't teach her how to do anything - she said that you're on your own, and you have to figure out how to show off your ideas. The major appealed to her at the time because of that reason. Now Helen thinks majoring in computer science would have been really helpful for her career. Charles points out that you don't have to have a computer science degree to do this work. Helen agrees; it can be wasted on you if you don't have the right enthusiasm to learn everything. Both say that you can get the education you want through self-education. Helen explains that so much of successful programming is good communication - this can be learned in college, while the specifics of how to code can be learned later. How do you get from a graphic design major to "serious programming?" Helen doesn't know how serious the programming she does is now. Her first real job was at Capital One as a front-end developer on their design team. She was doing prototypes and communicating between the design and production/engineering teams. She realized that nobody knew how to write JavaScript when trying to communicate between the two teams, so she decided that she should learn. A lot of the engineers came to the same realization at the same time. She started to write React as she was leaving Capital One. Everyone was trying to improve his or her JavaScript chops at the same time. Did you get into Angular or React at Capital One? When she first started at Capital One everyone was writing Angular. She wrote a lot of Angular in the beginning of her work. Most of the prototypes could be solved with React. Near the end of her time, she started using a lot of React. What do you see is the difference between Angular and React? Angular solves a lot more problems than React. It brings logic to the client side. React is only about solving visual problems. That's why it appealed to Helen. The design team she worked with was all about solving visual problems. Why did you choose the front end? Helen mainly chose it because she was a graphic design major. She believes that because the web is so accessible that it is the easiest thing. She also thinks the front end is fun. How'd you wind up at Mozilla? She met James Long through a mutual friend. Once they met, he thought she'd be a good addition to their team. He told her why it'd be a good switch for her - they were doing React work and they were looking for someone to understand problems that engineers go through. What do they use React on? She was on the browser team. The front-end of the developer tools was a JavaScript application that wasn't Angular. They were working on moving it to become a more documented framework. They wanted to use Redux and React. The team was converting it panel by panel. What made you decide you were going to go freelance? Helen had been missing things that she had done in college such as branding and illustration work. She had done some illustration work while at Firefox. She ultimately wanted to do a variety of different things instead of just product work. What gave her courage to go into freelance work was that James Long was also going freelance at the same time, so she thought that she was in good company. She also is related to a lawyer, so it wasn't as scary filing the paperwork because she had someone to ask for help during the process. What contributions do you feel like you've made to the JavaScript community? Helen believes that the highest impact work she has done has been on the Firefox browser. She didn't write a lot of code, but feels like what she did write is being used by a lot of people. She is most proud of the CSS grid because she says that it is exciting for people who do layout stuff on the web. What are you working on now? Helen started her own business at the beginning of the year. She is figuring out how she wants her skills to grow and with what kind of clients she wants to work. She has a lot of side projects, one being what she calls an art project. She is translating JPEG to Pixel art. She is taking NeoPixels, which are little programmable LEDs, and taking a matrix of values and displaying them on a sight board. With everything that's out there in JavaScript, how do you keep current? Helen answers that she doesn't. She tries to stay current with the tools she is using, which is React. She doesn’t try to be good at everything because she is also a designer, so she says that she has to pick and choose what she stays current on. Charles says that is what he tells people to do. There is so much out there that there is no way that anyone is going to stay current on everything. He says to keep current on what you are doing specifically. Picks Helen: Wonder Woman http://wonderwomanfilm.com Debt: The First 5,000 Years https://www.amazon.com/Debt-First-5-000-Years/dp/1612191290 Charles: JavaScript Jabber Slack Room https://devchat.tv/javascript-jabber-slack Monthly Webinars https://devchat.tv/webinars Angular Remote Conf https://devchat.tv/conferences/angular-remote-conf-2017 Links Helen V Holmes Twitter https://twitter.com/helenvholmes Full Article
es 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
es JSJ 272: Functional Programming and ClojureScript with Eric Normand By devchat.tv Published On :: Tue, 01 Aug 2017 06:00:00 -0400 JSJ 272: Functional Programming and ClojureScript with Eric Normand This episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more! [00:1:14] Introduction to Eric Normand Eric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well. [00:02:22] Address that quickly Functional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby. So yes, people are using it and it is influencing the mainstream programming industry. [00:3:48] How do you build an application? A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code. [00:05:56] Can you expand on that a little? There are four steps to the process of structuring an application. Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code? Develop the operations. What are their properties? Example: will have to sort records chronological. Develop relationships between the operations. Run tests and refactor the program. Once you have that, you can write the prototype. [00:13:13] Why can’t you always make the code better? Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier. [00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read? He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code. [00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop? He thinks people should think about it before, although always be making experiments that do not touch production. [00:23:33] Is there a trade off between using ClojureScript and functional JavaScript? In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support. [00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree? Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox. [00:31:40] If this is a better way to solve these problems, why aren’t people using it? There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable. [00:40:58] If people want to get started with it, is there an easy way in? Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you. Picks Aimee: The Hidden Cost of Abstraction What Functional Language Should I Learn Eric Steven King, On Writing Youtube Channel: Tested Charles Ionic Framework Links Purely Functional TV Blog Building Composable Abstractions Full Article
es MJS #028 Zach Kessin By devchat.tv Published On :: Wed, 02 Aug 2017 06:00:00 -0400 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 Full Article
es JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin By devchat.tv Published On :: Tue, 08 Aug 2017 06:00:00 -0400 JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. Special guests Sean Merron and Kevin Griffin discuss how to live frugally. Tune in to hear their advice! [00:02:14] Introduction to Sean and Kevin Sean and Kevin are the hosts of the 2 Frugal Dudes Podcast. They are middle class software engineers. Sean works a 9 to 5 job, while Kevin owns a small business called Swift Kick. Swift Kick is a company that focuses on independent consulting, software development, and training companies for software development. [00:05:50] Different Types of Financial Advisors There is no legal reason that financial advisors have to work in your best interest. On the 2 Frugal Dudes Podcast, Sean and Kevin advise people to use fiduciary advisors. These types of advisors are not legally allowed to accept kickbacks from different funds. This means that they are more likely to help you to the best of their ability. They get paid for their services. Laws are currently changing so that everyone has to be a fiduciary advisor unless clients sign a specific form. [00:10:00] What do I do with money left over at the end of the month that I can’t put into a 401K and Roth IRA? They suggest that you put only the amount of money in your 401K that your company will match. Then, put the rest into a Roth IRA and max that out. Before you decide to do what next, you need to decide why you are saving money. When will you need the money? What will you need it for? Once you know the answer to these questions, you will be able to assess what your money will best be placed. For example, if you are saving to buy a house you need to put your money in a safe investment. A Roth IRA can be used as a savings vehicle or as an emergency fund. Sean believes that a Bank CD is the safest return you can get. [00:14:30] Best Way to Save For those who are self-employed, it is a good idea to have two emergency funds – a personal and a business fund. Business emergency funds should have five months of personal salary. Kevin built his up over two or three years and uses it as self-insurance. Sean says that the employee world is different. For him, he only keeps the minimum amount in his emergency fund. He knows that he is in a field where his job is in high demand, so feels comfortable with being able to get a job quickly. For others, this may not be the case. Have to evaluate how much to save based on how long you think you may need the money. [00:18:50] What is the first thing people should be doing for their own financial well being? Kevin follows Dave Ramsey’s advice. Basic emergency fund. He uses $1,000. Most emergencies fall under that amount of money. Get rid of all consumer debt. This includes car payments, credit cards, and student loans. Mortgage is not consumer debt. Grow an emergency fund to three or six months of expenses. Investments. Setting up retirement funds, paying for college, or mortgages. Sean values early retirement so he focuses on that. What does retirement mean to me? What does rich mean? You should always track your money through a budget. Then you can funnel money towards emergency funds and tackling debt. Self-insurance means that you don’t have to worry about funds. It helps lower your stress knowing that you have your finances in order. It is a peaceful place to be and opens up opportunities for you. If someone has stressors in their life – for example, their car breaks down – and they have no money to fix it, they now have car and money problems. This stress can then potentially lead to other problems such as marriage problems. If the money to fix the broken car would have been there, it would alleviate stress. [00:28:23] Difference between 401k, IRA, and Roth IRAs A 401k is an employer provided, long-term retirement savings account. This is where you put in money before it is taxed. With this plan you are limited with the funds you can choose from to invest in. IRAs are long-term retirement plans as well. The first type of IRA is a Traditional IRA, which is similar to a 401k. You get tax reduction for the money you put in the account. You pay taxes once you withdraw money. A Roth IRA is where you already pay taxes on money that you are putting in, but don’t have to pay taxes when withdrawing money. You can withdraw contributions at anytime without being penalized, you just can’t take out any earnings. Another thing that is potentially good for early retirement is a Roth IRA conversion ladder. This is where you take money from a 401k and convert it into a Roth IRA and use it before 60 years old to fund early retirement. Traditional IRAs are good for business owners looking for tax deductions now. An HSA (Health Savings Account) can also be used as a retirement device. It goes towards medical expenses if needed. [00:34:20] Are there tools or algorithms I can use to figure this stuff out? There are some. Portfolio Visualizer allows you to choose different portfolio mixes and put different amounts of money in each one. Portfolio Charts is similar to Portfolio Visualizer but gives nice graphics. Sean created a JavaScript website to help people use to figure out early retirement. The hardest part is calculating return because you have to estimate what your return will be each year. [00:39:00] Put Your Money Somewhere The only bad investment is not making an investment. Even making a bad investment is better than not having any at all. Inflation eats away at money that is just sitting. [00:42:05] If you get one of these advisors what advice should you be looking for? Need someone that tries to understand your particular situation. “It depends” is very true and your advisor should know that. No two people will have the same financial goals. They should want to help reach your goals in the least costly way possible. Other things they should be able to do is be honest and help you control your emotions during upswings and downswings. [00:47:08] Why index funds? As an investor, you can buy an index fund cheaper than buying the whole index. A mutual fund will try to buy and sell the stocks in that index in order to follow the index's performance. As an investor, you have the opportunity to buy into a mutual fund that handles it for you. You don’t have to independently invest in companies either. You can invest in an index instead that will look at, for example, top performing technology companies. It is usually a better value. [00:53:33] How much do I invest in my business verses putting money into a Roth IRA or 401k? Sean thinks it comes down to retirement goals. At some point you will want money to come in passively and retire in the future. If you can passively put X amount of dollars into your company then it can be looked at as a form of investment. Kevin evaluates his business goals every quarter. He creates a business budget based off of those goals. Picks Cory Random Walk Down Wall Street by Burton Malkiel Rich Dad, Poor Dad by Robert Kiyosaki Ego is the Enemy by Ryan Holiday Aimee Hacker News Thread – How to Not Bring Emotions Home With You Phantogram Charles Money Master the Game by Tony Robbins ELPs (Endorsed Local Providers) Dave Ramsey Sean The Little Book of Common Sense Investing by John Bogle Mr. Money Mustache Blog www.mint.com Kevin Unshakable by Tony Robbins YNABS The Millionaire Next Door by Thomas Stanley Links 2 Frugal Dudes Twitter Sean's Twitter Kevin's Twitter www.swiftkick.in www.kevgriffin.com http://earlyretirementroadmap.com/ 2 Frugal Dudes Podcast Full Article
es JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith By devchat.tv Published On :: Tue, 15 Aug 2017 06:00:00 -0400 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 Cosmic Engineers by Clifford D. Simak Aimee Knight Conference: React Rally Pancakes Charles Max Wood Conference: Angular Dev Summit Conference: React Dev Summit JavaScript Jabber Slack Terrance Smith Language: Elm Youtube channel: The School of Life Game: Night in the Woods Hacker Ferret Software Hackerferret.com Full Article
es JSJ 275: Zones in Node with Austin McDaniel By devchat.tv Published On :: Tue, 22 Aug 2017 06:00:00 -0400 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: Apple AirPods Aimee: Blackmill Understanding Zones Charles: Classical Reading Playlist on Amazon Building stairs for his dad Angular Dev Summit Austin: NGRX Library Redux Links Twitter GitHub Full Article
es JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump By devchat.tv Published On :: Tue, 12 Sep 2017 07:00:00 -0400 Tweet this episode JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump In this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump. [00:37] Michael Crump Introduction Michael is on the developer experience team for Azure. [00:52] Jeremy Likness Introduction Jeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience. The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities. They're focused on building documentation and creating great experiences [02:54] What is it about Azure that people should be getting excited about? Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure. Azure is growing to embrace the needs of developers as they solve these problems. The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want. Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure. You don't have to be an operations expert. Chuck mentions this messaging as he heard it at Microsoft Connect() last year. It's not about bringing you to .NET. It's about making it easy where you're at. Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers. A lot of these features are available across command lines, tools, and much more. The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs. [12:04] Web Apps on Linux Web application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application. Web Apps has traditionally been on Windows. Web Apps on Linux is in preview. You can choose the size of your infrastructure. You only get billed for what you use and can scale up. Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy. You can also scale across multiple datacenters around the world. [15:06] Why Linux? What's hard about Windows? Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows. The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows. This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel. Aimee gives the example of trying to set up ImageMagick on Windows. Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically. [19:12] Supported Runtimes Web Apps on Linux supports Node, PHP, Ruby, and .NET Core. You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container. Web Apps on Linux is build on Docker. The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container. If you can build a container, you can also run it on this service. At certain levels, there's automatic scaling. [22:06] Consistency between containers? Shared ownership of state or assets It depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state. There's a system called kudu that makes this really simple. You can also pull logs across all systems. You can also use SSH in the browser [25:23] What's painful about Linux and containers? How is the application built and how does it manage state so that you can isolate issues. If you have 20 containers, can you connect to the right one. It's up to you to manage correlation between containers so you can find the information you need. Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science. [28:28] How should you manage state? A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state. [30:34] CosmosDB (was DocumentDB) It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy. You may need to open up some firewall rules, but it should be pretty straightforward. [34:14] Third Party Logging Management Apps Azure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well. [36:06] How do people use Web Apps on Linux? Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure. Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB. You can also use any images on DockerHub. [40:06] Continuous Integration and Continuous Deployment Whether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction. Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic. [42:02] Process files and workers with PM2 format You can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers. Why did you use PM2? What other uses are there for this kind of setup? You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file. [45:38] How to get started Getting started with Node docs.microsoft.com Trial account with a few hundred dollars in Azure credit. Michael's Links michaelcrump.net @mbcrump github.com/mbcrump Jeremy's Links bit.ly/coderblog @jeremylikness github/jeremylikness Picks Aimee Having a little bit of mindfulness while waiting on code and tests to run. Joe Ozark on Netflix Star Wars: Rogue One Chuck Travelers on Netflix Jeremy Ozark filming in Woodstock, GA Autonomous Smart Desk LED light strips Michael Conference Call Bingo Life (Movie) Get Out (Movie) Full Article
es JSJ 279: ES Modules in Node Today! with John-David Dalton By devchat.tv Published On :: Tue, 19 Sep 2017 07:02:00 -0400 Tweet this Episode John-David Dalton is probably best known for the Lodash library. He's currently working at Microsoft on the Edge team. He makes sure that libraries and frameworks work well in Edge. The JavaScript Jabber panel discusses the ECMAScript module system port to Node.js. John wanted to ship the ES module system to Node.js for Lodash to increase speed and decrease the disk space that it takes up. This approach allows you to gzip the library and get it down to 90 kb. This episode dives in detail into: ES Modules, what they are and how they work The Node.js and NPM package delivery ecosystem Module loaders in Node.js Babel (and other compilers) versus ES Module Loader and much, much more... Links: Lodash ES Module Loader for Node Node CommonJS Babel TypeScript FlowType Microsoft ESM Blog Post Meteor Reify ESM Spec PhantomJS zlib module in Node AWS Lambda NPM Webpack Rollup John-David Dalton on Twitter Picks: Cory: Trending Developer Skills The Devops Handbook Aimee: Nodevember ES Modules in Node Today (blog post) Dating is Dead Aaron: Ready Player One trailer breakdown Jim Jefferies Show I Can't Make This Up by Kevin Hart Work with Aaron at SaltStack Chuck: Angular Dev Summit ZohoCRM Working on Cars - Therapeutic working with your hands doing physical work John: TC39 Proposal for Optional Chaining ToyBox 3D Printer Full Article
es JSJ 283: A/B Testing with Nick Disabato By devchat.tv Published On :: Tue, 17 Oct 2017 06:00:00 -0400 Panel: Amy Knight Charles Max Wood Special Guests: Nick Disabato In this episode, Java Script Jabbers talk with Nick Disabato. Nick is a newbie to JavaScript Jabber. Nick is the founder of Draft, an interaction design agency where he does research driven A/B testing of E-commerce business. This is a practical episode for those who are running a business and doing marketing for the products and services. Nick talks about A/B testing for a number scenarios within the company, such as for websites, funnels, and various marketing mechanisms. Nick further goes into how this helps companies strategically increase revenue by changing things such as websites design or building funnels. In particular, we dive pretty deep on: Testing of changes of Copy, Websites, etc. What does it mean of changes, Tools, Framework, Plugins, etc Does it matter what tools you use? Framework that works within your stack How do make we company money Researching for the next test Testing for conversion rate to decide which design to go implement - Variant Responsibility for the designs Feature and getting pay for the service Learn more about the resources and Copy Hackers Large organization or developers, or a QA department Optimization teams Usability tests and coming up with A/B tests Expertise Why should be care? And much more! Links: Draft Nick Disabato @nickd ConversionXL AB Testing Manual Wider Funnels Copy Hackers Picks: Amiee Nodevember Charles Mike Gehard Admin LTE Nick HotJar.com Full Article
es JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho By devchat.tv Published On :: Wed, 18 Oct 2017 06:00:00 -0400 Panel: Amiee Knight Charles Max Wood Joe Eames Special Guests: Matthew Creager and Peter Cho In this episode, JavaScript Jabbers speak with Matthew Ceager and Peter Cho. Matthew and Peter are part of the team at Manifold. Manifold is a marketplace for developer services. Matthew takes care of growth and relations, and Peter oversee products at Manifold. The panel discusses with Peter and Matthew what Manifold does and the benefits of a Cloud Service. Matthew gives perspective on how developers can get their cloud product on the market compared to open source. Further discussion goes into how this will help the developer to get their products or services turned into a business quicker and save time Also learn about when it is the ideal time to move to cloud services vs. running a server yourself. In particular, we dive pretty deep on: Different kinds of definition of Cloud Services Anything you would rely on as a third party service What is the cloud service ecosystem - Services that connect to an application Independent market place - because it is difficult to turn a product into a business Where are people using cloud services or running their own server Spinning up a version of it is easier. Time verses doing it yourself? Experts running the services Focusing on your product instead of managing the server and such Where does the data live and who has access to that? Lock In’s? Tourist - Credentials management How do I get this setup? Command Line or register online And much more! Links: Manifold https://github.com/mattcreager @manifoldco @etcpeter @matt_creager blog.manifold.com Picks: Amiee Ryan McDermott Charles GitLab AdminLTE Joe What You Can’t Say Matt Star Trek Puppeteer Peter Player Unknown Battle Ground Sourdough by Robin Sloan Full Article
es JSJ 284 : Helping Developers Build Healthy Bodies By devchat.tv Published On :: Wed, 25 Oct 2017 14:08:00 -0400 Panel: Amiee Knight Charles Max Wood Special Guests: JC Hiatt In this episode, JavaScript Jabbers speak with JC Hiatt. JC is a software consultant, and working a starting a company called DevLifts. DevLifts is a company that helps developers learn to live healthier lives. JC mentions this business was base on this health journey. JC and the panel discuss output and mental clarity to get work done in a healthy fashion. Also, the benefits of eating a healthy diet, rather it is the Keto Diet or others types of healthy clean eating, there is a physical and mental benefit. JC and the panel talk about count macros, healthy food intake, and a basic outline of getting into ketosis. Also, the panel discusses finding the motivation to get into a healthy lifestyle to benefit work and your lifestyle. In particular, we dive pretty deep on: Mental Clarity Keto Diet Cutting out processed foods Counting Macros Getting into Ketosis Supporting brain function Motivation for a healthy lifestyle Gaining energy Getting started - Walking, Eat Whole. Etc. Pack your own lunch Mindset change - you are responsible for anyone else’s healthy choices Drink Water You can find a healthy balance and practice moderation Cheat day? Sugar Sitting to0 long at work Sleep - brain wave activity, caffeine, and light Naps And much more! Links: @jchiatt @devlifts devlifts.io Picks: Amiee https://www.womenwhotech.com/panelist-bios https://github.com/AllThingsSmitty/css-protips Charles Gunnar blue blockers Flux ReactDevSummit.com JSDevSummit.com JC American Vandal Confession Tapes Qalo https://lodash.com Full Article
es JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood By devchat.tv Published On :: Wed, 01 Nov 2017 17:09:00 -0400 Panel: Charles Max Wood In this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for those looking for a job as a developer and how to prepare your resume for your career search. Charles covers the core pieces of the course and specific areas of tailoring your credentials for the job you want to acquire. In particular, we dive pretty deep on: How do I get a great job? Companies are only hiring Senior Devs. Your selling point as a Jr. Dev. Framing your experience for the companies to better see your experience. I don’t want a ( this kind of boss) Feeling like you are making a difference in your job. Who do you want to work for, with, where, and how, etc? Working in a facility or remotely. What do you want? Check out the meet-up places or workplaces (WeWork), Glassdoor Check out the people who work that these companies, LinkedIn. Check out company’s Slack rooms, forum, etc. to make connections Visit the companies personally Look into contacting the Meetup Organizers Building rapport Resume mistakes - how to properly format it so it is skim-able Top 3 bullet points and tailor you resume for each job Unnecessary material in your resume - again tailor to the company Important material to include on your resume, contributions on projects The cover letter - How to do this correctly with a personal touch What to do when you get the interview - the offer! And much more! Links: devchat.tv/get-a-coder-job-full-accessfull-access WeWork Expert Salary Negotiation Full Article
es JSJ 288: TypeScript with Amanda Silver By devchat.tv Published On :: Tue, 21 Nov 2017 20:22:00 -0500 Charles Max Wood Special Guests: Amanda Silver In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Amanda Silver. Amanda is deemed the TypeScript and future of JavaScript guru, and this year's speakers at Microsoft Connect with Visual Studio Live Share. Amanda shares what is new with TypeScript and how that is a kind of subscript to JavaScript. Amanda explains the big picture of TypeScript’s inception and where she believes the language will be most efficient and effective for JavaScript and TypeScript developers. In particular, we dive pretty deep on: What is new in TypeScript? Keep JavaScript and TypeScript aligned TypeScript is implemented to create larger scaled applications Integration with VS Code, etc. Building better tools for JavaScript Developers When would this be taken on by users Defaults in Visual Studio TypeScript replacing JavaScript type service TypeScript is written in TypeScript Chakra runtime Diaspora The different faces of JavaScript Optimized JavaScript runtime Languages should be created with tooling A satisfying tooling experience Foot Guns New Tokens Eco-systems and metadata Multi-phase Minimum common denominator constantly changing Collaborating on the same code Open Source and the impact How to move to open source Contributing The next thing for TypeScript The future of JavaScript And much more! Links: @amandaksilver Picks: Amanda Visual Studio Live Share Instinct of learning technology Charles Visual Studio Live Share AI Full Article
es 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
es JSJ 296: Changes in React and the license with Azat Mardan By devchat.tv Published On :: Tue, 16 Jan 2018 11:47:00 -0500 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: http://azat.co https://node.university https://devchat.tv/js-jabber/230-jsj-node-at-capital-one-with-azat-mardan Picks: Cory Axel Rauschmayer post Prettier Charles Indiegogo for Dev Chat forum.devchat.tv Aimee Dev Tees Hacker News - Question on Stack Exchange and Estimates Joe Heroku El Camino Christmas Azat PMP Azat - Short Lecture Full Article
es JSJ 298: Angular, Vue and TypeScript with John Papa By devchat.tv Published On :: Tue, 30 Jan 2018 21:35:00 -0500 Panel: Charles Max Wood Cory House Joe Eames Aimee Knight Special Guests: John Papa In this episode, JavaScript Jabber panelist speak with John Papa. John has been doing web programming for over twenty years on multiple platforms and has been contributing to the developer communities through conferences, authoring books, videos and courses on Pluralsight. John is on the show to discuss an articles he wrote on A Look at Angular Along Side Vue, and another article on Vue.js with TypeScript. John talks about the new features with the different versions of Angular technologies, anxiety in the different features, comparisons between the technologies and use case with Angular. In particular, we dive pretty deep on: A look at Angular Along Side Vue - Article Angular 5, Amber,Vue, React, Angular Angular 2 - different features CLI Spell Webpack Comparisons - Why the anxiety? Opinions of Angular and sprinkling in other technologies Vue is the easy to use with Angular Are there breakpoints with the uses case? Choosing technologies Talk about working with Vue and Angular DSL - Domain Specific Language Vue and 3rd party libraries Talk about Vue working with TypeScript Vue.js with TypeScript Vue with TypeScript looks similar to Angular Vetur What does 2018 have in store for Angular? Native apps and web functionality And much more! Links: https://johnpapa.net Vue.js with TypeScript A Look at Angular Along Side Vue @john_papa https://github.com/johnpapa Picks: Corey cypress.io Charles E Myth Revisited Profit First Dunkirk Aimee Crucial Conversations Ripple or XRP Joe The Greatest Showman Better Late Then Never Vue 7 Languages In 7 Weeks - Book John Jumanji 2017 Emotional Intelligence Full Article
es JSJ 301: CSS Grids: The Future of Frontend Layout with Dave Geddes By devchat.tv Published On :: Tue, 20 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight Cory House AJ O'Neal Joe Eames Aaron Frost Special Guests: Dave Geddes In this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way. In particular, we dive pretty deep on: CSS Mastery games FlexboxZombies.com GridCritters.com Uses spaced repetition and delayed recall to learn CSS Grid Flexbox CSS Grid as the cake and Flexbox as the frosting Edge spec What Flexbox can do Sub-Grids Geddski.com Nesting Grids Old Grid vs New Grid layout Why would you move from Flexbox to CSS Grid? CSS Grid tools GridByExample.com Education and Gamification Pick a UI that interests you For a discount on Grid Critters: enter JS Jabber for 20% off And much, much more! Links: Linode FlexboxZombies.com GridCritters.com Geddski.com GridByExample.com FreshBooks @Geddski Picks: Charles R Pods Earphones Aimee NEU Cleanse “At Age 6, Girls Are Less Likely to Identify Females As ‘Really, Really Smart’” Cory Cory Tweet AJ How to Start a Startup Made in America by Sam Walton Joe The Dungeoneers by John David Anderson NG Conf Aaron Fire and Fury by Michael Wolff Dave They Are Billions Full Article