ng 173 JSJ Online Learning with Gregg Pollack By devchat.tv Published On :: Wed, 19 Aug 2015 11:00:00 -0400 Check out Angular Remote Conf! 02:55 - Gregg Pollack Introduction Twitter GitHub Envy Labs @envylabs Code School @codeschool Starter Studio 05:19 - Code School Rails for Zombies Try Ruby 06:49 - Course Content Code School Angular.js Courses Breaking the Ice with Regular Expressions The Fundamentals of Design 09:42 - Plots & Storylines 11:40 - Code School vs Pluralsight 14:09 - Structuring Courses Frontend vs Backend Building Blocks of Express.js Real-Time Web with Node.js Security & Sandboxing abecedary Mocha 18:21 - JavaScript.com Try jQuery Contributing to JavaScript.com Let Us Know Try JavaScript Resources 22:47 - Designing Exercises & Challenges abecedary Chai 30:31 - The Future of Online Learning Thinkful Bloc.io AirPair HackHands Smarterer 34:01 - Teaching Best Practices Picks Mr. Robot (Gregg) #ILookLikeAnEngineer (Aimee) Why we Need WebAssembly An Interview with Brendan Eich (Aimee) Raspberry Pi 2 Model B (AJ) Periscope (Chuck) Full Article
ng 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
ng 180 JSJ Finding a Job By devchat.tv Published On :: Wed, 07 Oct 2015 11:00:00 -0400 02:14 - 15 Minute Podcast Listener chat with Charles Wood 03:23 - Amy’s Upcoming Talk at Nodevember 04:45 - Junior, Mid-level, and Senior Developers 08:00 - Advice for Devs Straight Out of Boot Camp (How Job Hunts Work) 14:28 - Looking For the Right Job For YOU The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler 23:22 - Mentorship & Company Culture 27:16 - Nailing the Interview Salary Expectations Get to Know Potential Team Members Confidence 32:57 - Be Prepared: Coding is HARD Work 35:27 - Getting To Know People & Networking Hackathons Open Source Contribution Don’t Be Afraid … APPLY! Apprenticeships Saron Yitbarek: CodeNewbie Conferences 46:45 - Communication and People Skills Conway’s Law Get in touch with Aimee or Chuck! Tweet @cmaxw Fork Aimee’s Ask Me Anything! Picks JS Remote Conf (Chuck) Rails Remote Conf (Chuck) Remote Conference Talks (Chuck) Standing Desks (Aimee) We have a problem with promises (Aimee) Interview Cake (Aimee) Nodevember (Aimee) A standing desk for $22 (Chuck) SmartCells Anti-Fatigue Comfort Mat (Chuck) Pebble Time (Chuck) Pebble.js (Chuck) Full Article
ng 207 JSJ Growing Happy Developers with Marcus Blankenship By devchat.tv Published On :: Wed, 13 Apr 2016 09:00:00 -0400 02:51 - Marcus Blankenship Introduction Twitter Blog 03:09 - Panelist Worst Boss Experiences 13:06 - Developer Anarchy vs Having a Hierarchy SE-Radio Episode 253: Fred George on Developer Anarchy The Valve Playbook 20:57 - Transitioning Managers Impostor Syndrome 26:05 - Manager Influence 28:33 - Management vs Leadership Leader-Member Exchange Theory 34:37 - Interpersonal Relationships and Happiness 38:24 - What kind of feedback do managers want from their employees? Timesheets 46:17 - Am I manager material? Am I ready to go into management? 48:06 - Following a Technical Track 51:55 - Why would anyone ever want to be a department manager? Picks A Plain English Guide to JavaScript Prototypes (Aimee) Oatmega (Aimee) Luck by Tom Vek (Jamison) The 27 Challenges Managers Face: Step-by-Step Solutions to (Nearly) All of Your Management Problems by Bruce Tulgan (Marcus) React Rally Call for Proposals (Jamison) React Rally (Jamison) Multipliers: How the Best Leaders Make Everyone Smarter by Liz Wiseman (Dave) Soft Skills Engineering Podcast (Dave) Full Article
ng 212 JSJ Horizon.js with Horizon.js with Michael Glukhovsky: Live from ng-conf! By devchat.tv Published On :: Wed, 18 May 2016 09:00:00 -0400 02:34 - Michael Glukhovsky Introduction Twitter RethinkDB @rethinkdb 02:35 - horizon-js 04:52 - Versus Open Source Firebase 06:15 - The Security Model Horizon.io 07:56 - The Admin Interface 09:16 - RethinkDB + Horizon 10:56 - Versus Meteor 13:35 - Message Format 14:26 - Getting Started 19:01 - Real-time 21:24 - Security 26:56 - The Grand Vision; Use Cases 32:17 - Managing Deployment with Redundancy Picks That Conference (Joe) AngularConnect (Joe) React Rally (Joe) Soft Skills Engineering Podcast (Dave) May the 4th (Chuck) The Developer Preview (Mike) The Art Spirit Paperback by Robert Henri (Mike) React Rally (Jamison) Uncanny Valley Podcast (Jamison) Kishi Boshi (Jamison) David R. MacIver: On criticizing programming languages (without criticizing their users) (Aimee) Full Article
ng 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
ng 216 JSJ Angular with Rob Wormald Live from Microsoft Build 2016 By devchat.tv Published On :: Wed, 15 Jun 2016 09:00:00 -0400 This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Rob Wormald of the Angular Core team at Google about Angular. You can follow him on Twitter, or check out what he’s done over on GitHub. Picks Visual Studio Code (Rob) Service Workers (Rob) Richard Campbell and Carl Franklin from .NETRocks (Chuck) Full Article
ng 219 JSJ Learning JavaScript in 2016 By devchat.tv Published On :: Wed, 06 Jul 2016 09:00:00 -0400 Check out Newbie Remote Conf! 02:44 - What it Takes to Learn JavaScript in 2016 04:03 - Resources: Then vs Now 09:42 - Are there prerequisites? Should you have experience? 20:34 - Choosing What to Learn The iPhreaks Show Episode #153: Using Mobile Devices to Manage Diabetes with Scott Hanselman 28:19 - Deciding What to Learn Next 31:19 - Keeping Up: Obligations As a Developer 34:22 - Deciding What to Learn Next (Cont’d) 42:01 - Recommendations You-Dont-Know-JS gulp.js webpack The Little Schemer Designing Data-Intensive Applications by Martin Kleppmann Picks accidentally nonblocking (Jamison) choo (Jamison) Web Rebels (Jamison) React Rally (Jamison) Grab The Gold (Aimee) node-for-beginners (Aimee) Procrastinate On Purpose by Rory Vaden (Chuck) Newbie Remote Conf (Chuck) Get A Coder Job (Chuck) Full Article
ng 220 JSJ Teaching JavaScript with Kyle Simpson By devchat.tv Published On :: Wed, 13 Jul 2016 09:00:00 -0400 02:25 - Kyle Simpson Introduction Twitter GitHub Blog “Getify” You-Dont-Know-JS [Pluralsight] Advanced JavaScript by Kyle Simpson 04:43 - Development => Teaching Front End Masters 16:20 - Inheritance and Delegation 29:40 - Evolving a Language 36:23 - Cohersion Weak Typing, Dynamic Typing The Politics of JavaScript by Angus Croll 50:37 - Performance The Width Keyword 54:33 - Developer Education Programs and The Skill of Teaching Picks Adam Tornhill: Code, Crime, Complexity: Analyzing software with forensic psychology @ TEDxTrondheim (Aimee) Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs by Adam Tornhill (Aimee) Planet Money Episode 704: Open Office (Jamison) Zooko's Triangle (Jamison) The Barkley Marathons (Jamison) React Rally (Jamison) X-Men: Apocalypse (Joe) America's Got Talent (Joe) Overwatch (Joe) Stack (Kyle) Jeremy Keith: A web for everyone (Kyle) Jeremy Keith: Regressive Web Apps (Kyle) Full Article
ng 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
ng 227 JSJ Fostering Community Through React with Benjamin Dunphy, Berkeley Martinez, and Ian Sinnott By devchat.tv Published On :: Wed, 31 Aug 2016 09:00:00 -0400 03:08 - Benjamin Dunphy Introduction Twitter GitHub 04:07 - Berkeley Martinez Introduction Twitter GitHub Free Code Camp 04:19 - Ian Sinnott Introduction Twitter GitHub Blog TruSTAR Technology 05:19 - The React Codebase 12:38 - Other Important Parts of the React Ecosystem 14:22 - The Angular vs the React Ecosystem and Community The Learning Curve create-react-app 22:07 - Community Developer Experience Functional Programming 26:56 - Getting Connected to the React Community Meetup: Real World React @rwreact ReactJS San Francisco Bay Area Meetup Meetup Eventbrite Calagator Twitter Dan Abramov: My React List 29:34 - Conferences React.js Conf React Rally ReactNext ReactiveConf ReactEurope 33:28 - Technology From the Community redux ThunderCats.js 38:23 - Choices Are Expanding; Not Shrinking Linting 40:19 - The Future of React 42:39 - Starting More Communities Picks This Developing Story (Aimee) Nashville (Aimee) Nodevember (Aimee) egghead.io: React in 7 Minutes (Ben) Lee Byron: Immutable User Interfaces @ Render 2016 (Ben) Nick Schrock: React.js Conf 2016 Keynote (Ben) create-react-app (Ian) Functional Programming Jargon (Ian) The Serverless Framework (Ian) Ben's Blog (Berkeley) Isaac Asimov’s Robot Series (Berkeley) Vsauce: The Zipf Mystery (Berkeley) Kinesis Advantage for PC & Mac (Dave) Full Article
ng 237 JSJ CLls - Ember Angular and React with Tracy Lee By devchat.tv Published On :: Wed, 09 Nov 2016 08:00:00 -0500 TOPICS: 3:57 The exciting facets of CLI’s 8:25 Advantages of CLI projects 11:25 Coding in RAILS 14:18 Disagreeing with conventions encoded in a CLI 19:30 How REACT CLI functions 20:43 Is Ember cheating by using REACT CLI? 26:52 Which CLI is easiest to use 29:00 How to add commands to a CLI 34:00 The future of current CLI’s 35:30 How well CLI’s are working for their respective communities 37:00 The impact of WebPac PICKS: “How Break Points are Set” Hacker News Article Chocolate Mint Tea Ten Things Wise Parents Know Book Strong Fathers, Strong Daughters Book Boys Should Be Boys Book “How Half of America Lost its Effing Mind” Blog Post Elementary TV Show Recommendation Form for Topics and Guests Amazon Smile Angular Cruise Sweet Licorice Mint Tea by Choice Organic Teas Van’s Nintendo Sneakers RESOURCES AND CONTACT INFO: Tracy's E-mail Full Article
ng JSJ 247 Building a Development Environment with Cory House By devchat.tv Published On :: Tue, 31 Jan 2017 06:00:00 -0500 On today's episode, Charles Max Wood, AJ O'neal, Joe Eames, and Aimee Knight discuss Building a Development Environment with Cory House. Pluralsight recently added a course on this. Tune in to know more! Full Article
ng 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
ng JSJ 249 Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross By devchat.tv Published On :: Tue, 14 Feb 2017 06:00:00 -0500 On today's episode, Charles Max Wood, Joe Eames, and Aimee Knight discuss Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross. Tune in to their interesting talk, and learn how you can improve user experience and performance with better loading! Full Article
ng 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
ng JSJ 263 Moving from Node.js to .NET and Raygun.io with John-Daniel Trask By devchat.tv Published On :: Tue, 23 May 2017 06:00:00 -0400 This episode features Moving from Node.js to .NET and Raygun.io with John-Daniel Trask. John-Daniel is the Co-founder and CEO of Raygun, a software intelligence platform for web and mobile. He's been programming for many years, and is originally from New Zealand. Tune in and learn what prompted them to move to the .NET framework! Full Article
ng 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
ng JSJ 268 Building Microsoft Office Extensions with JavaScript with Tristan Davis and Sean Laberee By Published On :: Tue, 04 Jul 2017 06:00:00 -0400 JSJ 268 Building Microsoft Office Extensions with Javascript with Tristan Davis and Sean Laberee This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Tristan Davis and Sean Laberee from the Office Team at Microsoft. Tune in and learn more about what’s new with Microsoft Office Extensions! [00:01:25] – Introduction to Tristan Davis and Sean Laberee Tristan Davis and Sean Laberee are Program Managers on the Microsoft Office team, focused on Extensibility. Questions for Tristan and Sean [00:01:45] – Extending Office functionality with Javascript Office isn’t just an application on Windows that runs on your PC. It is running on iPhone, iPad, Android tablet, and apps on the browser with Office Online. The team needs a new platform, add-ins, which allow you to build apps that run across all places. It’s HTML and Javascript. HTML for all the UI and a series of Javascript module calls for the document properties. Sometimes we call it OfficeJS. [00:03:20] – This works on any version of Office? It works on Office on Windows, Mac, Online and iPad. [00:03:55] – HTML and CSS suck on mobile? There are things that you’re going to want to do when you know you’re running on a mobile device. If you look at an add-in running on Outlook for iPhone, the developer does a lot of things to make that feel like part of the iPhone UI. Tristan believes that you could build a great add-in for Office using HTML and JavaScript. [00:05:20] – Are these apps written with JavaScript or you have a Native with WebView? Office itself is Native. All of it is Native code but the platform is very much web. The main piece of it is pointing at the URL. Just go load that URL. And then, you can also call functions in your JavaScript. [00:06:35] – Why would you do this? How does it work? The add-in platform is a way to help developers turn Word, Excel and PowerPoint into the apps that actually solve user’s business problems. The team will give you the tools with HTML and JavaScript to go and pop into the Word UI and the API’s that let you go manipulate the paragraph and texts inside of Word. Or in Excel, you might want to create custom formulas or visualizations. The team also let people use D3 to generate their own Excel charts. And developers want to extend Office because it’s where a lot of business workers spend their days 0 in Outlook, Teams, Word, Excel. [00:10:00] – How did this get delivered to them? There are 2 ways to get this delivered. One, there’s an Office Store. Second, if you go into Word, Excel, and PowerPoint, there’s a store button and you can see tons of integrations with partners. For enterprises, IT can deploy add-ins to the users’ desktops without having stress about deploying MSI’s and other software deployments that the web completely rids off. The add-ins make a whole lot of pain the past completely go away. [00:11:00] – Everybody in the company can use a particular plug-in by distributing it with Office? That’s right. You can go to Office 365 add-in experience. Here’s the add-in and you can to specific people or everyone who’s part of a group. For the developer’s perspective, if you have the add-in deployed to your client, you could actually push updates to the web service and your users get the updates instantly. It’s a lot faster turn-around model. [00:14:20] – What about conversations or bot integrations? There’s the idea of connectors at Teams. You can subscribe to this web book and it’ll publish JSON. When the JSON is received, a new conversation inside of Teams or Outlook will be created. For example, every time someone posts on Stack Overflow with one of the tags that team cares about, it posts on Outlook. It’s a great way to bring all the stuff. Rather than have 20 different apps that are shooting 20 different sets of notifications, it’s just all conversations in email, making do all the standard email things. And in the connector case, it’s a push model. The user could choose what notifications they want. You’d also learn things like bots. You can have bots in Teams and Skype. The users can interact with them with their natural language. [00:18:40] – How about authentication? As long as you’re signed into Office, you can call JavaScript API to give you an identity token for the sign in user and it will hand you a JWT back. That’s coming from Azure Active Directory or from whatever customer directory service. That’s standard. If you want to do more, you can take that identity token and you can exchange that for a token that can call Microsoft graph. This app wants to get access to phone, are you okay with that? Assuming the user says yes, the user gets a token that can go and grab whatever data he wants from the back-end. [00:20:00] – Where does it store the token? That’s up to the developer to decide how they want to handle that but there are facilities that make sure you can pop up a dialog box and you can go to the LO-flow. You could theoretically cache it in the browser or a cookie. Or whatever people think is more appropriate for the scenario. [00:20:55] – What does the API actually look like from JavaScript? If you’re familiar with Excel UI, you can look at Excel API. It’s workbook.worksheets.getItem() and you can pass the name of the worksheet. It can also pass the index of the worksheet. [00:22:30] – What’s the process of getting setup? There’s a variety of options. You can download Office, write XML manifest, and take a sample, and then, side loads it into Office. You can also do that through web apps. There’s no install required because you can go work against Office Online. In the Insert menu, there’s a way to configure your add-ins. There’s upload a manifest there and you can just upload the XML. That’s going to work against whatever web server you have set up. So it’s either on your local machine or up in the cloud. It’s as much as like regular web development. Just bring your own tools. [00:24:15] – How do you protect me as a plug-in developer? There’s an access add-in that will ask your permission to access, say, a document. Assume, they say yes, pipes are opened and they can just go talk to those things. But the team also tries to sandbox it by iframes. It’s not one page that has everybody’s plug-ins intermingle that people can pole at other people’s stuff. [00:27:20] – How do you support backward compatibility? There are cases where we change the behavior of the API. Every API is gated by requirement set. So if a developer needs access to a requirement set, he gets an aggregate instead of API’s that he can work with but it isn’t fixed forever. But it’s not at that point yet where we end up to remove things completely. In Office JS, we’ve talked about API’s as one JavaScript library but really, it’s a bootstrap that brings in a bunch of other pieces that you need. [00:30:00] – How does that work on mobile? Do they have to approve download for all components? You can download components by using the browser that the operating system gives. It’s another one of the virtues of being based on the web. Every platform that has a web browser can have JavaScript execution run-time. It allows for the way that their app guidelines are written. [00:33:15] – How about testing? It’s a place where there’s still have work to do. There’s a bunch of open-source projects that partners have started to do that. What they’ve done is they’ve built a testing library. Whatever the mock is, it's just a thing on Github. It is open-source friendly. So the team could be able to contribute to it. “Here’s an interesting test case for this API. I want to make sure that it behaves like this. [00:35:50] – Could you write it with any version for JavaScript e.g. TypeScript? A Huge chunk of the team is big TypeScript fans. They’ve done a lot of work to make sure that TypeScript experience is excellence. Type is basically a collection of typing files for TypeScript. There’s a runtime process that parses your TypeScript, gives you feedback on your code, and checks for errors. You can also run it in the background. There’s an add-in called Script Lab. Script Lab is literally, you hit the code button and you get a web IDE right there. You can go start typing JavaScript code, play with API’s, and uses TypeScript by default. It’ll just actually load your code in the browser, executes, and you can start watching. [00:39:25] – Are there any limitations on which JavaScript libraries you can pull in? There a no limitations in place right now. There are partners that use Angular. There are partners that are big React fans. If you’re a web dev, you can bring whatever preferences around frameworks, around tools, around TypeScript versus JavaScript. [00:45:20] – What’s the craziest thing you’ve seen done with this API? Battleship was pretty cool. There’s also Star Wars entering credits theme for PowerPoint. [00:46:40] – If a developer is building a plug-in and get paid for it, does Microsoft take credit for that? There are 2 ways that folks can do it. You can do paid add-ins to the store. Either you do the standard perpetual 99 cents or you can do subscriptions, where it’s $2.99/month. Tristan encourages that model because integrations are just a piece of some larger piece of software. But Microsoft is not in the business of trying to get you to pay me a little bit of 10 cents a dollar. It’s really in the business of making sure that you can integrate with Office as quickly as possibly can. When the users go to the store, they can use the same Microsoft account that you use to buy Xbox games or movies in the Xbox, Windows apps in the Windows store. [00:52:00] – The App Model If folks are interested in the app model, they should go to dev.office.com to learn more about it because that’s where all the documentation is. Check out our Github. Right there in the open, there’s the spec. Literally, the engineers who are coding the product are reading the same marked-down files in the same repo that you, as a developer, can come and look at. And you can comment. You can add issues like you could have a dialogue with that PM. Under the OfficeDev, you’ll find a tunnel repository that contains samples. Our docs are there. Picks AJ O'Neal Lithium Charles Max Wood Miracle Morning by Hal Erod Clean Code by Uncle Bob Martin Ketogenic diet Tristan Davis Amazon Echo Microbiome Sean Laberee Running Garmin watch Full Article
ng 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
ng JSJ 278 Machine Learning with Tyler Renelle By devchat.tv Published On :: Tue, 12 Sep 2017 08:00:00 -0400 Tweet this Episode Tyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks. The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs. This episode dives into: Whether machine learning will replace programming jobs Economic automation Which platforms and languages to use to get into machine learning and much, much more... Links: Raspberry Pi Arduino Hacker News Neural Networks (wikipedia) Deep Mind Shallow Algorithms Genetic Algorithms Crisper gene editing Wix thegrid.io Codeschool Codecademy Tensorflow Keras Machine Learning Guide Andrew Ng Coursera Course Python R Java Torch PyTorch Caffe Scikit learn Tensorfire DeepLearn.js The Singularity is Near by Ray Kurzweil Tensorforce Super Intelligence by Nick Bostrom Picks: Aimee Include media Nodevember Phone cases AJ Data Skeptic Ready Player One Joe Everybody Lies Tyler Ex Machina Philosophy of Mind: Brains, Consciousness, and Thinking Machines Full Article
ng 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
ng 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
ng 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
ng JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger By devchat.tv Published On :: Tue, 07 Nov 2017 22:33:00 -0500 Panel: Amiee Knight Charles Max Wood Special Guests: Kye Hohenberger In this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notable works and library is Emotion, a CSS and JS library. Kye talks about what CSS and JS library is about in the context of the Emotion library system. Kye discusses why this is practical for the writing process, in comparison to other types of tools that do similar jobs. Kye explains the how this tool reduces the number of lines of code and is compact and clearer. In particular, we dive pretty deep on: What is a CSS and JS library? Controlling CSS with JS, what does this solve? Style bugs What kind of styling are you using vs. complex styles? Media query A more declarative style Using Sass Where do you see people using this? Class names and you can apply to anything How Emotion works! Style tags Object styles What are some of the problems you are solving React Emotion - dynamic styles How does this compare to other style components? Glamor Styles How do you test something like this? Just Glamor React with Emotion Can people use the Babel plugin Pure flag and function calls And much more! Links: Emotion.sh Emotion-js/emotion emotion.now.sh @TKH44 Picks: Amiee Article on Medium Antibiotics and Steroids RX Bars Charles Disney Emoji Blitz How To Get A Job - JavaScriptJabber.com Kye Styled System Face Paint Aussie Bites Full Article
ng JSJ 289: Visual Studio Code and Live Sharing with Chris Dias and PJ Meyer LIVE at Microsoft Connect 2017 By devchat.tv Published On :: Tue, 28 Nov 2017 20:53:00 -0500 Panel: Charles Max Wood Special Guests: Chris Dias PJ Meyer In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more. In particular, we dive pretty deep on: Demo of Live Collaborative Editing and Debugging explained New Features with VS Code Developer productive Debugging pain points Getting feedback New in VS Code Language support and Java Debugger Live Share Debugging from different machines and platforms Multi-Stage Docker File TypeScript compiler More on debugging with Cosmos db Debugging in the Cloud? Docker Extensions Data Bricks Updated python tools Coming up with Visual Studio Code in the next 6 months TypeScript and Refactoring Getting the word out about code - Word of mouth? Number of people using VS Code? Envision for what VS Code is becoming? Preparing for a keynote and processes? And much more! Links: https://code.visualstudio.com https://github.com/chrisdias GitHub.com/microsoft @code Picks: Chris Pizza PJ Deli Charles Coupon Pass for tourist in NYC Full Article
ng 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
ng JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce By devchat.tv Published On :: Tue, 23 Jan 2018 18:45:00 -0500 Panel: Charles Max Wood Joe Eames Aimee Knight Special Guests: Russell Goldenberg and Adam Pearce In this episode, JavaScript Jabber panelist speak with Russell Goldenberg and Adam Pearce Russell creates visualizations, interactive graphics, and documentaries for the web. Currently an editor at The Pudding. Adam is a graphics editor at The New York Times and a journalist engineers/developer Russell and Adam are on the show to talk about what Scrollytelling is, as well as Scrollama. Scrollama is a modern and lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. This is a great episode to understand another technology/tool created with JavaScript. In particular, we dive pretty deep on: What is Scrollytelling! Graph Scroll library What is the intersection Observerable? How long does it take to build an interactive graphic…? How do you test something like this? Test on a lot of different devices Can you do automated testing? Do you have to understand the use cases or can you implement quickly? Recommendation for getting started? Is this a skill set people have to have before that some on board? How do design these interactions? Scroll jacking What JS developers should know about this technology. Position sticky What are other uses cases? What can devs use it for? Tax calculator And much more! Links: https://github.com/russellgoldenberg/scrollama https://pudding.cool/process/introducing-scrollama/ @codenberg @adamrpearce https://pudding.cool/ http://russellgoldenberg.github.io https://github.com/1wheel?direction=desc&sort=created&tab=stars https://roadtolarissa.com Picks: Adam Dominion - Broad Game Charles Smoker Tiny Epic Galaxies Indiegogo Dev Chat TV Aimee Deadlines Quest Protein Powder Joe Giving! Board Game - Azul Russel Crokinole Bust Out Full Article
ng 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
ng JSJ 302: Evaluating Web Frameworks with Kitson Kelly By devchat.tv Published On :: Tue, 27 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight AJ O'Neal Special Guests: Kitson Kelly In this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier. In particular, we dive pretty deep on: Articles on web frameworks How do you pick a JavaScript framework to use? The framework depends on your changing needs Recommending less popular frameworks Angular, Ember, React React vs Redux Certain domains with different frameworks? Each framework takes a different approach How to decide which framework to use? Only give it a couple days to see if your app works with the framework Is it ever appropriate to not use a certain framework? Frameworks are there to make your job easier Don’t be afraid to try new frameworks Choose a framework that will “be there tomorrow” What is the future for frameworks? Experiment and be honest with what you need And much, much more! Links: Linode ThoughtWorks Kendo UI LootCrate @KitsonK Kitson’s GitHub Picks: Charles Facebook The 12 Week Year by Brian P. Moore Google Drive for Business Aimee Would College Students Retain More If Professors Dialed Back The Pace? URL to PDF Converter CSS History AJ Tylenol Cold and Flu Severe Kitson Microsoft Azure Zype Full Article
ng JSJ 305: Continuous Integration, Processes, and DangerJS with Orta Therox By devchat.tv Published On :: Tue, 20 Mar 2018 06:00:00 -0400 Panel: Charles Max Wood Aimee Knight Joe Eames AJ O'Neal Special Guests: Orta Therox In this episode, the JavaScript Jabber panelists talk about the tool Danger with Orta Therox. Danger allows you to create cultural rules about your pole request workflow. They discuss what Danger is, how it works, and how it can help you to catch errors and speed up code review. Danger lets you erase discussions so that you can focus on the things that you should really be focusing on, like the code. They also compare Danger to other ways of doing test converge. In particular, we dive pretty deep on: What is DangerJS? Think of it as being on the PR level Provides an eval context Used on larger projects React, React Native, Apollo, and RxJS Experimenting with moving Danger onto a server Danger can run as a linting step Pre-commit hooks Prettier How do you use Danger on your own machine? Danger Ruby vs Danger JS NPM install How is using Danger better that other ways of test coverage? What kinds of rules can you write for this system? Can use with Ruby or JavaScript React Storybooks Retrospectives And much, much more! Links: React Dev Summit JS Dev Summit Danger JS React React Native Apollo RxJS Prettier Danger Ruby Ruby JavaScript Orta’s GitHub Artsy Blog Picks: Charles Hogwarts Battle Board Game Sushi Go Party! Game NYC tips Aimee Max Stoiber Blog The Ultimate Guide to Kicking Ass on Take-home Coding Challenges Joe SaltCON Stuffed Fables Board Game AJ UniFi AC Lite Fullmetal Alchemist Orta The Wire Worm Web Serial Full Article
ng MJS 055: Johannes Schickling By devchat.tv Published On :: Wed, 04 Apr 2018 11:47:00 -0400 Panel: Charles Max Wood Guest: Johannes Schickling This week on My JavaScript Story, Charles speaks with Johannes Schickling. Johannes is the CEO and Co-Founder of GraphCool and works a lot on Prisma. He first got into programming when he started online gaming and would build websites for gaming competitions. He then started getting into creating websites, then single page apps, and has never looked back since. He also gives an origin story for GraphCool and the creation of Prisma. In particular, we dive pretty deep on: Johannes intro How did you first get into programming? Always been interested in technology PHP to JavaScript Creating single page apps Self-taught The problem-solving aspect keeps people coming back to programming Always enjoyed math and physics Programmers make up such a diverse community How did you find JavaScript? Has used a wide range of front-end frameworks Node WebAssembly Opal What drew you into doing single page apps? Like the long-term flexibility of single page apps Don’t have to worry about the back-end right off the bat GraphQL What have you done in JavaScript that you are most proud of? Open source tooling GraphCool origin story What are you working on now? Prisma And much, much more! Links: JavaScript GraphCool Prisma PHP Node WebAssembly Opal GraphQL @_Schickling @GraphCool GraphCool Blog Picks Charles PopSocket DevChat.tv/YouTube Johannes Gatsby GraphQL Europe GraphQL Day Full Article
ng JSJ 310: Thwarting Insider Threats with Greg Kushto By devchat.tv Published On :: Tue, 24 Apr 2018 06:00:00 -0400 Panel: Charles Max Wood Cory House AJ O’Neal Aimee Knight Special Guests: Greg Kushto In this episode, the JavaScript Jabber panelists discuss thwarting insider threats with Greg Kushto. Greg is the vice president of sales engineering for Force 3 and has been focused on computer security for the last 25 years. They discuss what insider threats are, what the term includes, and give examples of what insider threats look like. They also touch on some overarching principles that companies can use to help prevent insider threats from occurring. In particular, we dive pretty deep on: Greg intro Insider threats are a passion of his Most computer attacks come from the inside of the company Insider threats have changed over time What does the term “insider threats” include? Using data in an irresponsible manner Who’s fault is it? Blame the company or blame the employee? Need to understand that insider threats don’t always happen on purpose How to prevent insider threats Very broad term Are there some general principles to implement? Figure out what exactly you are doing and documenting it Documentations doesn’t have to be a punishment Know what data you have and what you need to do to protect it How easy it is to get hacked Practical things to keep people from clicking on curious links The need to change the game Fighting insider threats isn’t fun, but it is necessary And much, much more! Links: Force 3 Greg’s LinkedIn @Greg_Kushto Greg’s BLog Picks: Charles HaveIBeenPwned.com Plural Sight Elixir podcast coming soon NG conf MicroConf RubyHack Microsoft Build Cory Plop VS code sync plugin Aimee Awesome Proposals GitHub AJ O’Neal Fluffy Pancakes The Mind and the Brain by Jeffrey M. Schwartz Greg StormCast Full Article
ng JSJ 311: Securing Express Apps with Helmet.js with Evan Hahn By devchat.tv Published On :: Tue, 01 May 2018 06:00:00 -0400 Panel: Charles Max Wood Special Guests: Evan Hahn In this episode, the JavaScript Jabber panelists discuss securing Express apps with Helmet.js with Evan Hahn. Evan is a developer at Airtable, which is a company that builds spreadsheet applications that are powerful enough that you can make applications with. He has also worked at Braintree, which does payment processing for companies. They talk about what Helmet.js is, when you would want to use it, and why it can help secure your Express apps. They also touch on when you wouldn’t want to use Helmet and the biggest thing that it saves you from in your code. In particular, we dive pretty deep on: Evan intro JavaScript What is Helmet.js? Node and Express Why would you use the approach of Middleware? Helmet is not the only solution Http headers Current maintainer of Helmet.js npm Has added a lot to the project, but is not the original creator Outbound HTTP response headers Helmet doesn’t fully secure your app but it does help secure it How does using Helmet work? Are there instances when you wouldn’t want to use Helmet? No cash middleware Where do you set the configuration options? Top level Helmet module 12 modules What is the biggest thing that Helmet saves you from? Content security policy code And much, much more! Links: Airtable Braintree JavaScript Helmet.js Node Express npm Evan’s Website @EvanHahn Evan’s GitHub Picks: Charles Camera Zoom H6 Shure SM58 DevChat.tv Youtube React Round Up Evan Clojure Fortune Kantaro: The Sweet Tooth Salaryman Full Article
ng MJS 063: Fred Zirdung By devchat.tv Published On :: Wed, 30 May 2018 06:00:00 -0400 Panel: Charles Max Wood Guest: Fred Zirdung This week on My JavaScript Story, Charles speaks with Fred Zirdung. Fred is currently the head of curriculum at Hack Reactor, where he essentially builds all of the tools and learning materials for the students there. He is also an instructor and has been there for five years. Prior to that, he worked for multiple companies such as Walmart Labs as well as many small startups. He first got into programming with the Logo programming language in the 6th grade and he had always been interested in working with computers since a young age. They talk about what got him into web programming, what enthralled him about JavaScript and Ruby on Rails, and what he is proud of contributing to the JavaScript community. In particular, we dive pretty deep on: JavaScript Jabber Episode 76 Fred intro How did you first get into programming? Coding professionally for 20+ years Coding prior to college graduation Logo programming language QNX operating system Were you always interested in programming? Always interested in computers Commodore 64 Basic programming in high school Programming didn’t click for him until high school In college when the web became popular Computer engineering degree in college What was it that appealed to you about software over hardware? Software vs hardware Embedded systems software How did you get into web programming? Dolby Laboratories What technologies got you excited? JavaScript, Perl, and Ruby on Rails Loved the flexibility of JS and Rails Found something he could be productive with What are you proud of contributing to the JavaScript community? What are you working on now? And much, much more! Links: JavaScript Jabber Episode 76 Hack Reactor Walmart Labs Dolby Laboratories JavaScript Perl Ruby on Rails @fredzirdung Fred’s GitHub Fred’s Medium Picks Charles React Developer Tools plugin PluralSight React Round Up and Views on Vue Framework Summit Fred Navalia Koa Vue Full Article
ng JSJ 317: Prisma with Johannes Schickling By devchat.tv Published On :: Tue, 12 Jun 2018 06:00:00 -0400 Panel: Charles Max Wood AJ O’Neal Special Guests: Johannes Schickling In this episode, the JavaScript Jabber panelists discuss Prisma with Johannes Schickling. Johannes is the CEO and co-founder of GraphCool and works with Prisma. They talk about the upcoming changes within GraphCool, what Prisma is, and GraphQL back-end operations. They also touch on the biggest miscommunication about Prisma, how Prisma works, and much more! In particular, we dive pretty deep on: JSJ Episode 257 MJS Episode 055 Raised a seed round Rebranding of GraphCool What are you wanting to do with the seed money you raised? Focused on growing his team currently Making GraphQL easier to do The change in the way people build software What is Prisma? Two things you need to do as you want to adopt GraphQL Apollo Client and Relay GraphQL on the back-end Resolvers Resolving data in one query Prisma supports MySQL and PostgreSQL How do you control access to the GraphQL endpoint that Prisma gives you? Biggest miscommunication about Prisma Prisma makes it easier for you to make your own GraphQL server Application schemas How do you blend your own resolvers with Prisma? And much, much more! Links: JSJ Episode 257 MJS Episode 055 GraphCool Prisma GraphQL Apollo Client Relay MySQL PostgreSQL @schickling Johannes’ GitHub Schickling.me Prisma Slack Sponsors Kendo UI Linode FreshBooks Picks: Charles Audible The 5 Love Languages of Children by Gary Chapman Facebook Backyard Homesteader Groups CharlesMaxWood.com Sling TV Roku Express AJ The Legend of Zelda: Breath of the Wild Johannes Figma Netlify Functions GraphQL Europe Full Article
ng JSJ 320: Error Tracking and Troubleshooting Workflows with David Cramer LIVE at Microsoft Build By devchat.tv Published On :: Tue, 03 Jul 2018 06:00:00 -0400 Panel: Charles Max Wood Alyssa Nicholl Ward Bell Special Guests: David Cramer In this episode, the JavaScript Jabber panelists talk to David Cramer about error tracking and troubleshooting workflows. David is the founder and CEO of Sentry, and is a software engineer by trade. He started this project about a decade ago and it was created because he had customers telling him that things were broken and it was hard to help them fix it. They talk about what Sentry is, errors, workflow management, and more! In particular, we dive pretty deep on: David intro Founder and CEO of Sentry What is Sentry? Working with PHP De-bugger for production Focus on workflow Goal of Sentry Triaging the problem Workflow management Sentry started off as an open-source side project Instrumentation for JavaScript Ember, Angular, and npm Got their start in Python Logs Totally open-source Most compatible with run-time Can work with any language Deep contexts Determining the root cause And much, much more! Links: Sentry JavaScript Ember Angular npm Python Sentry’s GitHub @getsentry David’s GitHub David’s Website @zeeg Sponsors Kendo UI FreshBooks Loot Crate Picks: Charles Socks as Swag David VS Code Kubernetes Full Article
ng JSJ 322: Building SharePoint Extensions with JavaScript with Vesa Juvonen LIVE at Microsoft Build By devchat.tv Published On :: Tue, 17 Jul 2018 06:00:00 -0400 Panel: Charles Max Wood Special Guests: Vesa Juvonen In this episode, the JavaScript Jabber panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more! In particular, we dive pretty deep on: Vesa intro What is SharePoint? Has existed since 2009 People either know about it and use it or don’t know what it is Baggage from a customization perspective Why JavaScript developers? Modernizing development SharePoint Framework Microsoft Ignite Conference Is there a market for it? System integrators Angular Element and React React for SharePoint Framework back-end Supports Vue React Round Up Podcast How do you maintain isolation? What’s the best way to get started with SharePoint extensions? Office 365 Developer Program SharePoint documentation SharePoint YouTube What kinds of extensions are you seeing people build? And much, much more! Links: SharePoint JavaScript SharePoint Framework Microsoft Ignite Conference Angular Element React Vue React Round Up Podcast Office 365 Developer Program SharePoint documentation SharePoint YouTube @OfficeDev @vesajuvonen Vesa’s blog Vesa’s GitHub @SharePoint Sponsors Kendo UI Sentry Digital Ocean Picks: Charles Zig Ziglar Conversations with My Dog by Zig Ziglar Pimsleur Lessons on Audible Vesa Armada by Ernest Cline Full Article
ng JSJ 323: "Building a JavaScript platform that gives you the power to build your own CDN" with Kurt Mackey By devchat.tv Published On :: Thu, 26 Jul 2018 15:50:00 -0400 Panel: Charles Max Wood AJ ONeal Special Guests: Kurt Mackey In this episode, the JavaScript Jabber panel talks to Kurt Mackey about Fly.io. At Fly.io, they are "building a JavaScript platform that gives you the power to build your own CDN." They talk about how Fly.io came to fruition, how CDN caching works, and what happens when you deploy a Fly app. They also touch on resizing images with Fly, how you actually build JavaScript platforms using Fly, and more! In particular, we dive pretty deep on: Fly.io Building a programmable CDN High level overview of Fly.io How did this project come together? CDNs didn’t work with dynamic applications Has been working on this since 2008 Extend application logic to the “edge” Putting burden of JavaScript “nastiest” onto the web server Fly is the proxy layer Getting things closer to visitors and users CDN caching Cache APIs Writing logic to improve your lighthouse score Have you built in resizing images into Fly? Managing assets closer to the user Can you modify your own JavaScript files? What happens when you deploy a Fly app Having more application logic DOM within the proxy Ghost React and Gatsby Intelligently loading client JavaScript How do you build the JavaScript platform? And much, much more! Links: Fly.io JavaScript Ghost Gatsby React @flydotio @mrkurt Kurt at ARS Technica Kurt’s GitHub Sponsors Kendo UI Sentry Digital Ocean Picks: Charles GitLab AJ Gitea Black Panther Kurt Packet.net The Three-Body Problem by Cixin Liu Full Article
ng JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank By devchat.tv Published On :: Tue, 07 Aug 2018 06:00:00 -0400 Panel: Aimee Knight Joe Eames AJ ONeal Special Guests: Jeremy Fairbank In this episode, the JavaScript Jabber panel talks to Jeremy Fairbank about his talk Practical Functional Programming. Jeremy is a remote software developer and consultant for Test Double. They talk about what Test Double is and what they do there and the 6 things he touched on in his talk, such as hard to follow code, function composition, and mutable vs immutable data. They also touch on the theory of unit testing, if functional programming is the solution, and more! In particular, we dive pretty deep on: Jeremy intro Works for Test Double What he means by “remote” What is Test Double? They believe software is broken and they are there to fix it His talk - Practical Functional Programming The 6 things he talked about in his talk Practical aspects that any software engineer is going to deal with Purity and the side effects of programming in general Hard to follow code Imperative VS declarative code Code breaking unexpectedly Mutable data VS immutable data The idea of too much code Combining multiple functions together to make more complex functions Function composition Elm, Elixir, and F# Pipe operator Scary to refactor code Static types The idea of null The theory of unit testing Is functional programming the solution? His approach from the talk And much, much more! Links: Test Double His talk - Practical Functional Programming Elm Elixir F# @elpapapollo jeremyfairbank.com Jeremy’s GitHub Jeremy’s YouTube Sponsors Kendo UI Sentry Digital Ocean Picks: Aimee American Dollar Force with lease AJ Superfight Joe The 2018 Web Developer Roadmap by Brandon Morelli Svelte Jeremy Programming Elm The Secrets of Consulting by Gerald M. Weinberg Connect.Tech Full Article
ng JSJ 328: Functional Programming with Ramda with Christine Legge By devchat.tv Published On :: Tue, 28 Aug 2018 06:00:00 -0400 Panel: Joe Eames Aimee Knight AJ O'Neal Joe Eames Special Guests: Christine Legge In this episode, the JavaScript Jabber panel talks to Christine Legge about functional programming with Ramda. Christine is a front-end software engineer and just recently got a new job in New York working at Google. Ramda is a utility library in JavaScript that focuses on making it easier to write JavaScript code in a functional way. They talk about functional programming and what it is, using Ramda in Redux, and referential transparency. They also touch on why she first got into Ramda, compare Ramda to Lodash and Underscore, and more! In particular, we dive pretty deep on: Chirstine intro Works as a front-end software engineer What is Ramda? JavaScript Utility library like Lodash and Underscore Lodash and Underscore VS Ramda Functional programming Ramda and Functional programming as a mindset Ramda at ZenHub Ramda with Redux and React What is referential transparency? Why would you use Ramda VS Lodash or Underscore? Why she first got into Ramda Didn’t always want to be a programmer Background in Math Learning functional programming as a new programmer Erlang DrRacket and Java Ramda makes it easy to compose functions Creating clean and reusable code How do you start using Ramda? And much, much more! Links: Ramda Lodash Underscore ZenHub Redux React Erlang DrRacket @leggechr Chirstine’s GitHub Sponsors Kendo UI Sentry Digital Ocean Picks: Charles Home Depot Tool Rental Podcast Movement CES VRBO Aimee Apple Cider Vinegar Jeremy Fairbank Talk – Practical Functional Programming AJ Goat’s Milk Joe Topgolf Framework Summit Christine Dan Mangan Reply All Podcast Full Article
ng JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman By devchat.tv Published On :: Tue, 18 Sep 2018 06:00:00 -0400 Panel: AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guests: Vitali Zaidman In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest. Show Topics: 1:32 – Chuck: Let’s talk about testing JavaScript in 2018. 1:53 – Vitali talks about solving problems in JavaScript. 2:46 – Chuck asks Vitali a question. 3:03 – Vitali’s answer. 3:30 – Why Jest? Why not Mocha or these other programs? 3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features. 4:31 – Chuck to Joe: What are you using for testing nowadays? 4:43 – Joe: I use Angular, primarily. 6:01 – Like life, it’s sometimes easier to use things that make things very valuable. 7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program. 8:22 – Vitali: Check out my article. 8:51 – Aimee: There are too many problems with the program that we use at work. 9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs? 10:12 – Vitali: “Test Café and Cypress are competing head-to-head.” Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp. 11:25 – Chuck: I see that you use sign-on... 12:29 – Aimee: Can you talk about Puppeteer? It seems promising. 12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers. 13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now? 14:51: Vitali answers the above question. 15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems. 15:56 – Panelist: I agree with this. 16:02 – Vitali continues this conversation with additional comments. 16:17 – Aimee: “I see that Safari is the new Internet Explorer.” 16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?” 17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that. 17:33 – Question to Vitali by Panelist. 17:55 – Vitali answers the question. 18:30 – Panelist makes additional comments. 18:43 – If you use Safari, you reap what you sow. 18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident. 19:38 – Panelist makes comments. 19:52 – Vitali tells a funny story that relates to this topic. 20:45 – There are too many standards out there. 21:05 – Aimee makes comments. 21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content. 22:16 – Aimee makes additional comments about this topic of Brutalist Web Design. 22:35 – Panelist: I like it when people go out and say things like that. 22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article. 23:37 – Vitali chimes in. 24:01 – Back to the topic of content on websites. 25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application. 26:10 – Is the website easy enough for the user to scroll through and get the content like they want to? 26:19 – Advertisement. 27:22 – See how far off the topic we got? 27:31 – These are my favorite conversations to have. 27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say. 28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles? 29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too! 29:37 – Panelist: You broke down the article, and it’s a 22-minute read. 30:09 – Vitali: I wrote the article for my company, and they ad to read it. 30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job. 30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself. 31:17 – Did you edit and review? 31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback. 32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?” 32:52 – Vitali: “Find something that works for them. Read the article and start writing code.” He continues this conversation from here on out. 34:03 – Chuck continues to ask questions and add other comments. 34:16 – Vitali chimes-in. 34:38 – Chuck. 34:46 – Vitali piggybacks off of Chuck’s comments. 36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs? 38:15 – Vitali comments on the panelist’s question. 38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself? 40:30 – Vitali comments on this great question. 40:58 – Panelist asks questions about features about Jest. 41:29 – Vitali talks about this topic. 42:14 – Let’s go to picks! 42:14 – Advertisement. Links: Vitali Zaidman’s Facebook Vitali Zaidman’s Medium Vitali Zaidman’s GitHub Vitali Zaidman’s NPM Vitali Zaidman’s LinkedIn Vitali Zaidman’s Medium Article JavaScript Brutalist Web Design Jasmine Cypress React jQuery Jest Protractor – end to end testing for Angular Test Café Intern Sinon XKCD Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks: AJ O’Neal Continuous from last week’s episode: Crossing the Chasm – New Technologies from Niche to General Adaptation. Go Lang Joe Eames Board Game: Rajas of the Ganges Framework Summit Conference in Utah React Conference Aimee Knight Hacker News – “Does Software Understand Complexity” via Michael Feathers Cream City Code Chuck E-Book: How do I get a job? Express VPN Vitali Book: The Square and The Tower: Networks and Power, from the Freemasons to Facebook by Niall Ferguson My article! Full Article
ng JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown By devchat.tv Published On :: Tue, 02 Oct 2018 06:00:00 -0400 Panel: Aimee Knight Joe Eames Charles Max Wood Special Guests: Ethan Brown In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy! Show Topics: 2:38 – Chuck: We are here to talk about the software side of things. Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this. 3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?! It’s funny to see how I things have changed. 4:47 – Panel: Could you talk about symbols? 4:58 – Aimee: Are they comparable to Ruby? 5:05 – Ethan talks about what symbols are and what they do! 5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too. 6:04 – Aimee: I haven’t used them in JavaScript, yet. When have you used them recently? 6:15 – Ethan answers the question. 7:17 – Panelist chimes in. 7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge. 11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list? 11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed. 12:25 – Chuck: Most of these things are what people are talking. 12:47 – Aimee: Web Assembly. Why is this on the list? 12:58 – Ethan: I put on the list, because I heard lots of people talk about this. What I was hearing the echoes of the JavaScript haters. They have gone through a renaissance. Along with Node, and React (among others) people did get on board. There are a lot of people that are poisoned by that. I think the excitement has died down. If I were to tell a story today – I would 14:23 – Would you put block chain on there? And AI? 14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with. 15:18 – Chuck: I haven’t really played with it... 15:27 – Panel: If you wrote this today would you put machine learning on there? 15:37 – Ethan: Machine Learning... 16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for... 17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on. 18:18 – Chuck and panel chime in. 18:39 – Chuck: I did think the next two you have on here makes sense. 18:54 – Panel: Functional programming? 19:02 – Ethan: I have a lot of thoughts on functional programming and they are mixed. I was exposed to this in the late 90’s. It was around by 20-30 years. These aren’t new. I do credit JavaScript to bring these to the masses. It’s the first language I see the masses clinging to. 10 years ago you didn’t see that. I think that’s great for the programming community in general. I would liken it to a way that Ruby on Rails really changed the way we do web developing with strong tooling. It was never really my favorite language but I can appreciate what it did for web programming. With that said...(Ethan continues the conversation.) Ethan: I love Elm. 21:49 – Panelists talks about Elm. *The topic diverts slightly. 22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit. I want to take the side of someone who does NOT like functional programming. 24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out. If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart. 27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job 28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way.... What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs. You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process. 30:18 – Ethan: Having the right tools in your toolbox. 30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts. I think as developers we are being dragged in... 33:55 – Panelist: Is this the RIGHT tool to use in this situation? 34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first. 34:28 – That’s the only reason why I keep watching DC movies. 34:41 – Chuck: Functional programming and... I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...? 35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable. 35:42 – Ethan: Give things a fair shake. This is going back a few years when React was starting to gain popularity. I had young programmers all about React. I tried it and mixing it with JavaScript and...I thought it was gross. Everyone went on board and I had to make technically decisions. A Friend told me that you have to try it 3 times and give up 3 times for you to get it. That was exactly it – don’t know if that was prophecy or something. This was one of my bigger professional mistakes because team wanted to use it and I didn’t at first. At the time we went with Vue (old dog like me). I cost us 80,000 lines of code and how many man hours because I wasn’t keeping an open-mind? 37:54 – Chuck: We can all say that with someone we’ve done. 38:04 – Panel shares a personal story. 38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing! 39:12 – Ethan: Why should you do automated testing? Here is why... You have to not be afraid of testing. Not afraid of breaking things and getting messy. 39:51 – Panel: Immutability? 40:00 – Ethan talks about this topic. 42:58 – Chuck: You have summed up my experience with it. 43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when... 44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later. 44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience. As I am working in a system that is NOT a pleasure. 45:31 – Chuck: It’s called legacy code... 45:38 – What is the code year? What constitutes a legacy application? 45:55 – Panel: 7 times – good rule. 46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year. 46:27 – Just like cars. 46:34 – Chuck chimes in with his rule of thumb. 46:244 – Panel and Chuck go back-and-forth with this topic. 47:14 – Dilbert cartoons – check it out. 47:55 – GREAT QUOTE about life lessons. 48:09 – Chuck: I wish I knew then what I know now. Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out around the same time? 48:51 – Ethan answers question. 51:17 – Panel chimes in. 52:01 – Picks! Links: JavaScript jQuery React Elixir Elm Vue Automerge - GITHUB Functional – Light JavaScript Lego’s Massive Cloud City Star Wars Lego Shop The Traveler’s Gift – Book Jocks Rule, Nerds Drool by Jennifer Wright 2ality – JavaScript and more Cooper Press Book – Ethan Brown O’Reilly Community – Ethan Brown’s Bio Ethan Brown’s Twitter Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks: Aimee Pettier Joe Lego - Star Wars Betrayal at Cloud City Functional-Light JavaScript Charles The Traveler’s Gift The Shack The Expanse Ethan Jocks Rule, Nerd Drool JavaScipt Blog by Dr. Axel Rauschmayer Cooper Press Full Article
ng MJS 082: Benjamin Hong By devchat.tv Published On :: Wed, 24 Oct 2018 06:00:00 -0400 Panel: Charles Max Wood Guest: Benjamin Hong This week on My JavaScript Story, Charles speaks with Benjamin Hong who is a Senior UI Developer at Politico where he lives in the Washington, D.C. area. He has worked with other companies including Treehouse, Element 84, and Udacity. Charles and Benjamin talk about his past and current projects, and how it’s different working for the government vs. working for a business. Check it out! In particular, we dive pretty deep on: 1:06 – Chuck: Tell us a brief introduction, please. 1:23 – Ben: I am a lead frontend developer at Politico. 1:43 – Chuck: It’s an area that can affect everyone. How did you get into developing? 1:52: Ben: I had everything you can think of to develop at first. 2:10 – Chuck: For me it was a TI90 calculator! 2:18 – Chuck: Was it somebody or something that pushed you towards this area? 2:32 – Ben: I wanted to change something with the theme, Googled it, and it went from there, and the Marquis Tag. 2:51 – Chuck: And the Blink Tag! The goodies. So you got the he HTML book – and what website did you build that was your first big project? 3:07 – Ben: It was fiddling around, but it was fortune cookie universe. 3:20 – Chuck: You will have to recreate it! 3:27 – Ben: I think this was 1993/1995 timeframe. 3:40 – Chuck: Yep, me too same time frame. If you had something move on your website it was so cool. You went to building... 4:02 – Ben: JavaScript was a roadblock for me. There was nobody to correct me. I had a JavaScript book and it was a massive failure. 4:33 – Chuck: You took a break and you came back? 4:40 – Ben: Oh – people will PAY you to do this?! 4:54 – Chuck: Did you go to college? 5:01 – Ben: Yes, I have a Master’s in a different field. I was always a tech junkie. I just wanted to put things together. 5:20 – Chuck: Take us through your journey through JS? 5:30 – Ben: I started off with the jQuery piece of it. I needed Java, and it took me awhile to wrap my head around it at first. Through the trial and process of trying to get into Angular and React, too. 6:19 – Chuck: Did you play with Backbone, Knockout, or Ember? 6:32 – Ben: I did do SOME Ember and some Knockout. Those were my first interactions. 6:49 – Chuck: What got you into the profession? How did you get from your Master’s to being a tech guy? 7:14 – Ben: From the Master’s field I learned a lot about human experience, and anted to breed the two together. Also, consulting and helping to build things, too. 7:44 – Charles: What was the career change like? 7:53 – Ben: I went to the federal government at first around the recession – it was good having a stable job. I was bored, though. While I was working for the government I was trying to get my foot in the door. From there I have been building my way up. 8:30 – Ben: I was working on Medicare.gov and then later... 8:46 – Charles: We won’t use the word “disaster”! What is it like to work for the government? 9:20 – Ben: Yep. The federal government is a different area because they are stake holders. They were about WHO owned the content, and who do we have to talk to get something approved. It was not product oriented like a business. I made my transition to Politico, because I wanted to find solutions and diversify the problems I was having. 10:31 – Chuck: Have you been there from the beginning? 10:39 – Ben answers the question. Ben: They were looking for frontend developers 10:54 – Chuck: You are the lead there now. What was that like with the transition? 11:08 – Ben talks about the beginnings stages of his time with Politico and the current situation. He talks about the different problems, challenges, and etc. 11:36 – Chuck: Do you consider yourself a news organization or? 11:47 – Ben: We have Politico Pro, too. I have been working with this site more so. There are updates about campaign and voting data. People will pay a fee. 12:25 – Chuck: Do they pain themselves as leaning one way or another or nonpartisan? 12:38 – Ben: We are objective and nonpartisan. 12:51 – Chuck: I know, I was hesitant to ask. What’s the mission of the company and into what you do? 13:09 – Ben: The projects get dumped to us and we are about solving the problems. What is the best route for solving it? I had to help pioneer the new framework into the tech staff is one of my roles. 13:48 – Chuck: What’s your tech stack? 13:55 – Ben: JavaScript and Vue.js. We are experimenting with other software, too. 14:16 – Chuck: We should get you talking about Vue on the other show! Are you working at home? 14:32 – Ben answers the question. Ben: One thing I am helping with Meetup. Community outreach is important and I’m apart of that. 15:09 – Chuck: Yep, it’s interesting to see various fields into the tech world. I am not one of those liberal arts majors, I do have a computer science degree. It’s interesting to see the different perspectives. How little it is for someone to be able to dive-in right away. What are you working on? 16:09 – Ben: Meetup population and helping with the work at Politico. 16:27 – Chuck: Reusable components. Are those opensource or only internal? 16:41 – Ben: They are now opensource but we are seeing which portions can be opensource or not. 17:01 – Chuck: Different companies have come out and offered their opensource. Where do they find you? 17:20 – BenCodeZen! They are more than welcome to message me. 17:36 – Chuck: Any advice on newbies to this field? 17:46 – Ben: Attending those meetings and making those connections. 18:18 – Chuck: I have been writing a book on HOW to get a job as a coder. That’s the same advice that I am giving, too. 18:46 – Chuck: Picks! 18:51 – Advertisement – Fresh Books! 30-Day Trial! Links: React Angular Vue.js JavaScript Ember Elm jQuery BenCodeZen Ben’s LinkedIn Ben’s Crunch Base Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Framework Summit – UT (Ember, Elm, and tons more!) Microsoft Ignite Code Badge Ben Conference in Toronto Conference in Atlanta, GA (Connect Tech) Conference in London – Vue Full Article
ng JSJ 339: Node.js In Motion Live Video Course from Manning with PJ Evans By devchat.tv Published On :: Tue, 13 Nov 2018 06:00:00 -0500 Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: PJ Evans In this episode, the panel talks with PJ Evans who is a course developer and an instructor through Manning’s course titled, “Node.js in Motion.” This course is great to learn the fundamentals of Node, which you can check out here! The panel and PJ talk about this course, his background, and current projects that PJ is working on. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: KENDO UI 0:36 – Chuck: Welcome and our panel consists of Aimee, AJ, myself, and our special guest is PJ Evans. Tell us about yourself and your video course! NODE JS in Motion is the title of the course. Can you tell us more? 1:29 – PJ: It’s a fantastic course. 2:25 – Chuck: You built this course and there is a lot to talk about. 2:36 – Aimee: Let’s talk about Node and the current state. 2:50 – Chuck: Here’s the latest features, but let’s talk about where do you start with this course? How do you get going with Node? What do people need to know with Node? 3:20 – Aimee. 3:24 – PJ talks about Node and his course! 4:02 – PJ: The biggest headache with Node is the... 4:13 – Chuck. 4:19 – PJ: I am sure a lot of the listeners are familiar with callback hell. 4:50 – Aimee: Let’s talk about the complexities of module support in Node! 5:10 – PJ: It’s a horrible mess. 5:17 – Aimee: Maybe not the tech details but let’s talk about WHAT the problem is? 5:31 – PJ: You are talking about Proper Native ES6 right? They are arguing about how to implement it. 6:11 – PJ: My advice is (if you are a professional) is to stick with the LT6 program. No matter how tensing those new features are! 6:46 – Aimee: It could be outdated but they had to come back and say that there were tons of complexities and we have to figure out how to get there. 7:06 – PJ: They haven’t found an elegant way to do it. 7:15 – Panel: If it’s a standard why talk about it? Seriously – if this is a standard why not implement THE standard? 7:38 – PJ. 8:11 – Panel. 8:17 – Aimee: I would love to talk about this, though! 8:24 – Chuck: I want to talk about the course, please. 8:30 – PJ. 8:54 – Chuck: We will keep an eye on it. 9:05 – PJ. 9:16 – PJ: How is it on the browser-side? 9:33 – Aimee: I don’t want to misspeak. 9:41 – Chuck: I don’t know how complete the forms are. 9:49 – Aimee: I don’t want to misspeak. 9:56 – PJ: I just found the page that I wanted and they are calling it the .MJS or aka the Michael Jackson Script. You can do an import from... Some people think it’s FINE and others think that it’s a TERRIBLE idea. 10:42 – Chuck: “It sounds like it’s a real THRILLER!” 10:52 – Panel. 11:25 – Panel: When you start calling things the Michael Jackson Solution you know things aren’t well. 11:44 – Aimee: Just to clarify for users... 11:57 – Chuck: I want to point us towards the course: NODE.JS. Chuck asks two questions. 12:34 – PJ: The concepts aren’t changing, but the information is changing incredibly fast. The fundamentals are fairly settled. 13:22 – Chuck: What are those things? 13:28 – PJ talks about how he structured the course and he talks about the specifics. 15:33 – Chuck: Most of my backend stuff is done in Ruby. Aimee and AJ do more Java then I do. 15:55 – Panel: I think there is something to understanding how different Node is. I think that Node is a very fast moving train. Node has a safe place and that it’s good for people to know about this space. 16:34 – Aimee: Not everyone learns this way, but for me I like to understand WHY I would want to use Node and not another tool. For me, this talk in the show notes really helped me a lot. That’s the core and the nature of NODE. 17:21 – PJ: Yes, absolutely. Understanding the event loop and that’s aimed more towards people from other back ends. Right from the beginning we go over that detail: Here is how it works, we give them examples, and more. 18:08 – Aimee: You can do more than just create APIs. Aimee mentions Vanilla Node. 18:50 – PJ: To get into frameworks we do a 3-line server. We cover express, and also Sequelize ORM. 19:45 – Advertisement – Sentry.io 20:43 – Chuck: I never used Pug. 20:45 – PJ: PUG used to be called JADE. 20:56 – Aimee. 21:14 – PJ: Express does that for you and I agree with you. I advocate a non-scripted approach, I like when frameworks have a light touch. 22:05 – Aimee: That’s what I liked about it. No offense, Chuck, but for me I didn’t like NOT knowing a lot of what was not happening under the hood. I didn’t want to reinvent the wheel, but I wanted to build at a lower level. 22:40 – PJ: I had the same experience. I wanted to figure out why something wasn’t working. 23:24 – Panel: I had a friend who used Rails...he was cautious to make a switch. This past year he was blown away with how much simpler it was and how fast things were. 24:05 – Aimee: I feel like if you want to learn JavaScript then Node might be easier on the frontend. 24:21 – Chuck: No pun intended. No, but I agree. I like about Rails is that you had well-understood patterns. But the flipside is that you have abstractions... To a certain degree: what did I do wrong? And you didn’t follow the pattern properly. 25:57 – Panel: With Node you get a little bit of both. To me it’s a more simple approach, but the downside is that you have 100’s of 1,000’s of modules that almost identical things. When you start reaching out to NPM that... 26:29 – PJ: Yes the module system of NPM is the best/worst thing about NODE. I don’t have an answer, honestly. There is a great article written that made me turn white. Here is the article! 28:12 – Panel: The same thing happened with the ESLint. That was the very problem that he was describing in the article. 28:50 – PJ: Yep, I put that in the chat there – go ahead and read it! It’s not a problem that’s specific to Node, there are others. It’s the way we do things now. 29:23 – Chuck: We have the NODE Security project. A lot of stuff go into NPM everyday. 29:43 – PJ: We cover those things in the course. 29:53 – Chuck: It’s the reality. Is there a place that people get stuck? 30:00 – PJ answers the question. 30:23 – Aimee. 30:55 – PJ: I am coding very similar to my PHP days. 31:20 – Aimee. 32:02 – PJ: To finish off my point, I hope people don’t loose sight. 32:18 – Aimee. 32:20 – PJ: I am working on a project that has thousands of requests for... 32:53 – Chuck: Anything you WANTED to put into the course, but didn’t have time to? 33:05 – PJ: You can get pretty technical. It’s not an advanced course, and it won’t turn you into a rock star. This is all about confidence building. It’s to understand the fundamentals. It’s a runtime of 6 hours and 40 minutes – you aren’t just watching a video. You have a transcript, too, running off on the side. You can sit there and type it out w/o leaving – so it’s a very interactive course. 34:26 – Chuck: You get people over the hump. What do you think people need to know to be successful with Node? 34:38 – PJ answers the question. PJ: I think it’s a lot of practice and the student to go off and be curious on their own terms. 35:13 – Chuck: You talked about callbacks – I am thinking that one is there to manage the other? 35:31 – PJ answers the question. PJ: You do what works for you – pick your style – do it as long as people can follow you. Take the analogy of building a bridge. 36:53 – Chuck: What are you working on now? 37:00 – PJ: Educational tool called SCHOOL PLANNER launched in Ireland, so teachers can do their lesson planning for the year and being built with Express. Google Classroom and Google Calendar. 39:01 – PJ talks about Pi and 4wd. See links below. 40:09 – Node can be used all over the place! 40:16 - Chuck: Yes, the same can be said for other languages. Yes, Node is in the same space. 40:31 – PJ: Yep! 40:33 – Chuck: If people want to find you online where can they find you? 40:45 – PJ: Twitter! Blog! 41:04 – Picks! 41:05 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Node Security Project Node Security Project - Medium Manning Publications: Course by PJ Evans PUG JSConf EU – talk with Philip Roberts Medium Article by David Gilbertson Hackster.io – Pi Car Pi Moroni Holding a Program in One’s Head PJ Evans’ Twitter Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Paul Graham - Blog AJ Rust Charles Tweet Mash-up The Diabetes Code PJ Music - Max Richter Full Article
ng JSJ 341: Testing in JavaScript with Gil Tayar By devchat.tv Published On :: Tue, 27 Nov 2018 06:00:00 -0500 Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind Full Article
ng JSJ 344: Inclusive Components with Heydon Pickering By devchat.tv Published On :: Mon, 17 Dec 2018 21:02:00 -0500 Panel: Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames Special Guest: Heydon Pickering In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out. 1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript! 2:13 – Chuck: We are talking today about...? 2:22 – Chris: He’s talking about “inclusive components” today! 2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.” If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine. 5:40 – Panel. 5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one. 9:52 – Panel: The hard book did it get published? 10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version. 11:54 – Panel. 11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to TFS – it’s Microsoft’s. 12:23 – Guest: There was this argument on Twitter about the different processors. 13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding. 18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people. 19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this. 26:00 – Panel: That’s a great guideline. 26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic? 27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says. Guest mentions Léonie Watson and her talks about this topic. 29:26 – (Guest continues.) 29:36 – Advertisement – Sentry.io 30:31 – Chris. 30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is. The guest talks about not throwing ARIA onto everything. 36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility. 37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities. 39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options? 43:50 – Guest: It’s the progressive enhancement element. 44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely. 46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not? 47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those. 47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job. 47:29 – Guest: I am the other way around – interesting. 52:50 – Chuck: Picks! 52:55 – Advertisement – Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter Sponsors: DevLifts Kendo UI Sentry CacheFly Picks: Joe Chris Ferdinandi's Blog Luxur board game Cypress.io Aimee Blog about interviewing Birthday Cake Quest Bar Chris Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream Netflix Web Performance case study Charles Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber Heydon Bruck What is Mastodon and why should I use it? Full Article
ng JSJ 352: Caffeinated Style Sheets: Supporting High Level CSS with JavaScript with Tommy Hodgins By devchat.tv Published On :: Mon, 18 Feb 2019 23:37:00 -0500 Sponsors Sentry- use the code “devchat” for $100 credit Netlify Clubhouse CacheFly Episode Summary In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth. He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools. Links JS in CSS – Event driven virtual stylesheet manager Qaffiene Deqaf Tommy’s Twitter Fizzbuzz Picks Joe The Captain Is Dead Aimee Developer on Call Tip – Try to follow a low-sugar diet Chris Tommy’s snippets on Twitter – JS in CSS All things frontend blog Gulp project Charles Coaching by Charles in exchange of writing Show Notes or Tags Tommy JS in CSS Full Article
ng JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy By devchat.tv Published On :: Tue, 02 Apr 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Charles Max Wood Joined by Special Guest: Anatoliy Zaslavskiy Summary Anatoliy Zaslavskiy introduces pickle.js and answers the panels questions about using it. The panel discusses the automated testing culture and employee retention. The panel discusses job satisfaction and why there is so much turn over in development jobs. Charles Max Wood reveals some of the reasons that he left past development jobs and the panel considers how the impact of work environments and projects effect developers. Ways to choose the right job for you and how to better a work situation is discussed. Anatoliy finishes by advocating for junior developers and explaining the value they bring to a company. Links https://github.com/storybooks/storybook https://www.picklejs.com/docs/getting-started https://opencv.org/ https://itunes.apple.com/us/app/snapcrap/id1436238261 https://tolicodes.com/ https://www.facebook.com/tolicodes https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks AJ O’Neal The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim How to Diagnose and Fix Everything Electronic, Second Edition by Michael Jay Geier Charles Max Wood https://andyfrisella.com/blogs/mfceo-project-podcast https://www.garyvaynerchuk.com/the-askgaryvee-show-podcast/ The 1-Page Marketing Plan: Get New Customers, Make More Money, And Stand out From The Crowd by Allan Dib Skyward by Brandon Sanderson Anatoliy Zaslavskiy Acro yoga http://www.cuddleparty.com/ Full Article
ng JSJ 367: Pair Programming By devchat.tv Published On :: Tue, 04 Jun 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel Aimee Knight AJ O’Neal Chris Ferdinandi Episode Summary In this episode of JavaScript Jabber, the panelists discuss each one’s definition of the term ‘pairing’ in programming, including factors like being remote or local, having different seniority levels and the various approaches of going about it in general. They talk about how valuable pairing is, in terms of benefiting the individual as well as how productive it is for the company or the overall business. The panel also discuss prototyping, pseudo-coding and the advantages and trade-offs involved in pair programming. They talk about their own experiences in which pairing had proven to be extremely beneficial and the ones where it went completely wrong, thereby helping listeners understand the dos and don’ts of the technique. In the end, they elaborate on what actually happens in pairing interviews and the overall hiring process while sharing anecdotes from their own lives. Links Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Enso Rings Vanilla JS Projects AJ O’Neal: Salt and Pepper Grinder set Peppercorn blend Pink Himalayan salt Aimee Knight: Enneagram test Kittyrama Full Article