on 202 JSJ DoneJS + CanJS with Justin Meyer By devchat.tv Published On :: Wed, 09 Mar 2016 09:00:00 -0500 Check out and get your tickets for React Remote Conf! May 11th-13th, 2016. 02:30 - Justin Meyer Introduction Twitter GitHub Bitovi JavaScriptMVC 03:02 - DoneJS and CanJS @DoneJS @CanJS 05:44 - Versus Meteor 07:41 - Versus React Set Algebra 12:06 - Getting Started with DoneJS donejs.com/place-my-order.html 18:04 - Can <=> Done MVVM (Model–View–Viewmodel) Observables Pagination Preventing Loop Issues 25:39 - MVC => MVVM 28:24 - Flux vs MVVM 32:20 - Use Cases 39:19 - App Size StealJS Picks Beautiful Eyes Album by Taylor Swift (AJ) When Amazon Dies (AJ) PROTODOME (AJ) City Libraries (AJ) The Crucible of Doubt: Reflections On the Quest for Faith (AJ) Learn X in Y Minutes (Aimee) Which cat is your JavaScript framework? (Aimee) @johnpapa Tweet (Joe) SumoMe (Chuck) Drip (Chuck) 7 Wonders (Chuck) Shadow Hunters (Chuck) Calamity (The Reckoners) by Brandon Sanderson (Chuck) Staked (The Iron Druid Chronicles) by Kevin Hearne (Chuck) BB-8™ by Sphero (Justin) Hyperion Cantos Series (Justin) UtahJS (Justin) Full Article
on 204 JSJ Free Code Camp with Quincy Larson By devchat.tv Published On :: Wed, 23 Mar 2016 09:00:00 -0400 03:10 - Quincy Larson Introduction Twitter GitHub 03:20 - Free Code Camp @FreeCodeCamp 04:47 - Quincy’s Background 06:43 - Curriculum and Non-Profit Projects 09:47 - Keeping the Curriculum Updated 10:30 - Enrollment; Starting & Finishing 12:20 - Resources for Learning Gitter 15:39 - Funding 16:06 - Working Through a Self-Paced System vs Structure 17:17 - Nonprofits 19:51 - Learning to Work on Non-Greenfield Code 21:47 - Getting Hired After the Program 23:21 - Marketing and Media Medium: Free Code Camp Camper News Twitch.tv: freecodecamp 26:07 - Sustaining Living While Running This Program 27:31 - The Future of Free Code Camp Free Code Camp Wiki 28:34 - Long-term Sustainability 29:44 - Hypothetical Monetization and Contribution 33:51 - Coding as a form of art or function? 36:55 - Partnerships Project Management Institute 37:53 - Making Free Code Camp More Effective 39:18 - Criticism? 40:29 - Curriculum Development and Evolution 43:02 - Is Free Code Camp for everybody? Read, Search, Ask 46:09 - The Community 51:07 - Getting Involved in Free Code Camp Free Code Camp Volunteer Quiz Picks Our Greatest Fear — Marianne Williamson (AJ) The Rabbit Joint - The Legend of Zelda (AJ) Nintendo (Twilight Princess HD Soundtrack) (AJ) Steve Wozniak: The early days @ TEDxBerkeley (AJ) Favor of the Pharaoh (Joe) The Goldbergs (Joe) The Best Podcast Rap (Chuck) Word Swag (Chuck) Cecily Carver: Things I Wish Someone Had Told Me When I Was Learning How to Code (Quincy) Code for the Kingdom (Aimee) diff-so-fancy (Aimee) Full Article
on 211 JSJ Ember and EmberConf with Michael North By devchat.tv Published On :: Wed, 11 May 2016 09:00:00 -0400 02:22 - Michael North Introduction Twitter GitHub Levanto Financial 04:10 - Ember vs React or Angular JavaScript Jabber Episode #203: Aurelia with Rob Eisenberg 07:13 - Convention Over Configuration 09:39 - Changes in Ember SproutCore iCloud Ember CLI Performance glimmer 16:04 - Ember FastBoot Building a performant real-time web app with Ember Fastboot and Phoenix 18:53 - EmberConf Opening Keynote by Yehuda Katz & Tom Dale 22:47 - Mobile/Native Experience & Optimization Service Worker Hybrid Apps 29:52 - Electron 30:46 - Open Source Empowerment; The Ember Learning Team 33:54 - Michael North's Frontend Masters Ember 2 Series 37:11 - The Ember Community Picks React Rally (Jamison) Embedded (Jamison) Remy Sharp: A debugging thought process (Jamison) NashDev Podcast (Aimee) JS developers who don’t know what closure is are fine. (Aimee) Sublime Text (Chuck) DesktopServer (Chuck) MemberPress (Chuck) Frontend Masters (Mike) Wicked Good Ember Conf (Mike) Debugging Node.js with Visual Studio Code (Mike) Full Article
on 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
on 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
on 221 JSJ Visual Studio Code with Wade Anderson Live From Microsoft Build 2016 By devchat.tv Published On :: Wed, 20 Jul 2016 09:00:00 -0400 This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Wade Anderson of Microsoft about Visual Studio Code. You can follow him on Twitter, or check out what he’s done over on GitHub. Picks Parks and Recreation (Wade) VidAngel (Wade) A special thanks again goes out to Richard Campbell and Carl Franklin from .NETRocks for putting this podcast series together! You rock! Full Article
on 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
on 230 JSJ Node at Capital One with Azat Mardan By devchat.tv Published On :: Wed, 21 Sep 2016 08:00:00 -0400 00:51 Jameson is looking for clients who need front and back end code for apps; @Jergason (Contact him via Direct Message) 04:40 An explanation of Capital One and its operations 6:06 How many Capital One developers are using Node and how it is being implemented 10:30 Process of approval for app/website development 14:15 How the culture at Capital One affects technology within the company 18:25 Using Javascript libraries to manage different currencies 19:40 Venmo and its influence on banking 22:32 Whether banks are prepared to operate in a cashless society 29:44 Using HTML and Javascript for updating projects or creating new ones 35:21 Who picks up Javascript easily and why: “It’s more about grit than raw intelligence.” 44:00 Upgrading via open source codes 45:40 The process for hiring developers 51:35 Typescript vs. non-typescript PICKS: “Nerve” Movie Brave Browser “Stranger Things” on Netflix Angular 2 Class in Ft. Lauderdale, Discount Code: JSJ “Strategy for Healthier Dev” blog post Health-Ade Beet Kombucha “The Adventure Zone” podcast On the Cruelty of Really Teaching Computer Science article by E.W. Dijkstra “The Freelancer Show” podcast “48 Days” podcast Node.university Azat Mardan’s Website Azat Mardan on Twitter CETUSA – Foreign exchange program Full Article
on 233 JSJ Google Chrome Extensions with John Sonmez By devchat.tv Published On :: Wed, 12 Oct 2016 08:00:00 -0400 02:50 The definition of a plug-in 03:31 The definition of an extension 05:09 The way to determine the plug-ins and extensions you are running 08:22 How to create an extension file 11:02 The appeal of creating extensions 13:26 How John got into creating extensions 15:48 Ways to organize extensions 19:38 Aspects of chrome that will affect extensions 23:23 Packaging for the Chrome store 26:22 Using dev tools 29:42 Conflicting plug-ins/extensions and how to deal with them 31:30 Open source extensions 32:32 A quick way to create an extension QUOTES: “I teach software developers how to be cool.” –John Sonmez “There wasn’t an ability to extend the dev tools, but now there is.” –John Sonmez “One quick way to create an extension is just to take one of these sample apps…and then just start modifying it…” –John Sonmez PICKS: “Django Unchained” Website “Using Angular 2 Patterns in Angular 1.x” Apps Egghead Course Girls’ Life vs. Boys’ Life on Refinery29 Webinar Jam Software “Five Mistakes That are Keeping You From Getting Hired” Webinar Screencastify Chrome Extension How to Fail at Almost Everything and Still Win Big Book on Amazon The Complete Software Developers Career Guide Book in Progress Simple Programmer Website Simple Programmer on Youtube Full Article
on 235 JSJ JavaScript Devops and Tools with Donovan Brown and Jordan Matthiesen By devchat.tv Published On :: Wed, 26 Oct 2016 08:00:00 -0400 00:50 Intro to guests Donovan Brown and Jordan Matthiesen 1:14 Javascript and Devops 3:49 Node JS and integrating with extensions 11:16 Learning Javascript coming from another language 15:21 Visual Studio Team Services at Microsoft, integration and unit testing Visualstudio.com Donovanbrown.com 25:10 Visual Studio Code and mobile development Apache Cordova open source project 31:45 TypeScript and tooling 33:03 Unit test tools and methods 38:39 ARM devices and integration QUOTES: “It’s not impossible, it’s just a different set of challenges.” - Donovan Brown “Devops is the union of people, process and products to enable continuous delivery of value to your end users” - Donovan Brown “Apps start to feel more native. They can actually get form.” - Jordan Matthiesen PICKS: Veridian Dynamics (AJ) Jabberwocky Video (AJ) Hard Rock Cafe - Atlanta (Charles) CES (Charles) 3D printers (Donovan) High-Yield Vegetable Gardening (Jordan) taco.visualstudio.com Jordan on Twitter @jmatthiesen Visualstudio.com Donovanbrown.com Donovan on Twitter @donovanbrown SPONSORS: Front End Masters Hired.com Full Article
on 243 JSJ Immutable.js with Lee Byron By devchat.tv Published On :: Wed, 21 Dec 2016 08:00:00 -0500 1:05 - Introducing Lee Byron Ruby Rogues episode 1:55 - Immutable.js 4:35 - Modifying data and operations using Immutable.js 7:40 - Explaining Big-O notation in layman’s terms 11:30 - Internal tree structures and arrays 15:50 - Why build with Immutable.js? 23:05 - Change detection with a mutable 25:00 - Computer science history 34:35 - Other positives to using mutables 37:50 - Flux and Redux 39:50 - When should you use a mutable? 46:10 - Using Immutable.js instead of the built-in Javascript option 51:50 - Learning curves and learning materials Docs 54:50 - Bowties Knotty Co Picks: Contractor by Andrew Ball 17 Hats (Charles) Asana (Charles) Call of Duty Infinite Warfare (Joe) LEGO Star Wars (Joe) Advent of Code (Lee) Full Article
on JSJ 245 Styled Components and react-boilerplate with Max Stoiber By devchat.tv Published On :: Tue, 17 Jan 2017 06:00:00 -0500 On today's episode, Aimee and Chuck welcome Maximillian "Max" Stoiber to the show. Max hails from Austria and is an expert in open source development at Think Mill. Tune in to JSJ 245 Styled Components and React-Boilerplate with Max Stoiber. Full Article
on 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
on 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
on JSJ 250 Celebration By devchat.tv Published On :: Tue, 28 Feb 2017 06:00:00 -0500 JavaScript Jabber turns 5! On today's episode, Charles Max Wood, AJ ONeil, and Aimee Knight travel down memory lane to reminisce the highlights of the show. Tune in and enjoy the celebration! Full Article
on MJS #008: Jon Schlinkert By devchat.tv Published On :: Thu, 09 Mar 2017 05:00:00 -0500 On today's episode of My JS Story, Charles Max Wood welcomes Jon Schlinkert. Jon was on JavaScript Jabber episode 98 where he talked about Assemble.io. Tune in to My JS Story Jon Schlinkert to learn how his journey began in programming and what's keeping him busy these days. Full Article
on JSJ Special Episode: Azure with Jonathan Carter By devchat.tv Published On :: Fri, 17 Mar 2017 07:00:00 -0400 On today's episode, Aimee Knight, AJ O'Neal, Cory House, Joe Eames, and Charles Max Wood discuss Azure with Jonathan Carter. Jonathan has been working at Microsoft for 10 years. He currently focuses on Node.js and Azure. Tune in to learn how you can use Azure in building applications and services. Full Article
on JSJ 254 Contributor Days with Tracy Lee By devchat.tv Published On :: Tue, 21 Mar 2017 07:00:00 -0400 On today's JavaScript Jabber Show, Aimee Knight and Charles Max Wood discuss Contributor Days with Tracy Lee. Tracy is a Google Developer Expert and a co-founder of This Dot Media and This Dot Labs. She's passionately into helping startups create a connection with investors. Part of what she's been up to lately is what this episode is about. Tune in to learn about it! Full Article
on JSJ 258 Development in a Public Institution with Shawn Clabough By devchat.tv Published On :: Tue, 18 Apr 2017 06:00:00 -0400 On today's JavaScript Jabber Show, Charles and Aimee discuss Development in a Public Institution with Shawn Clabough. Shawn is a developer and developer manager at Washington State University. He works with the research office, and has been in the industry for 20 years. Tune in to this exciting episode! Full Article
on JSJ 260 Practical JavaScript with Gordon Zhu By devchat.tv Published On :: Tue, 02 May 2017 06:00:00 -0400 On today's episode, Charles, Joe, and Cory discuss Practical JavaScript with Gordon Zhu. Gordon is the founder of Watch and Code, and teaches the Practical JavaScript online course. His mission is to help beginners become developers through tutorials. Tune in! Full Article
on JSJ 262 Mozilla Firefox Developer Tools with Jason Laster By devchat.tv Published On :: Tue, 16 May 2017 06:00:00 -0400 Join AJ, Aimee, and Joe as they discuss Mozilla Firefox Developer Tools with Jason Laster. Jason just started working at Mozilla since March. But even before that, he has been working on Chrome's dev tool extension called Marionette. That's when he discovered that the browser is an open source that anyone can play with. Now, he is working on a new debugger in Firefox. Tune in! Full Article
on JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code By devchat.tv Published On :: Tue, 13 Jun 2017 06:00:00 -0400 JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code! [00:01:20] – Introduction to Ramya Rao and Wade Anderson Ramya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft. Questions for Wade and Ramya [00:02:00] – Elevator Pitch for Visual Studio Code Our vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron. [00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on? Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to. Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product. [00:05:30] What is Emmet? Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that. [00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML? In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things. [00:07:42] Is Emmet an extension or does it come with Visual Studio Code? Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better. [00:08:21] – What’s new in Visual Studio Code? One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor. We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code. We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features. Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench. [00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code? Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works. [00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products? That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products. When electron came out, we saw an opportunity of, “Hey, can we port this Monaco editor to Electron and we could then, run it on Mac and Linux.” [00:19:45] – What are the performance things that you’ve done? One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time? We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy. Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension. The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance. [00:25:55] – Do you have problem on the desktop? Are all the modules just load at once? We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process. We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions. [00:28:25] – What’s coming next for Visual Studio Code? Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month. Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier. Picks AJ O’neal Breath on the Wild Microsoft’s Intelligent Edge Charles Max Wood Boom Beach Bluetick.io Emacs key binding extension for Visual Studio Code Wade Anderson Kindle Paperwhite Twitter @waderyan_ Ramya Rao Open source Twitter @ramyanexus Full Article
on 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
on MJS #024 Aaron Frost By devchat.tv Published On :: Wed, 05 Jul 2017 06:00:00 -0400 MJS 024 Aaron Frost This episode can double as a My JavaScript Story and a My Angular Story and features Aaron Frost. Aaron has been on both JavaScript Jabber and Adventures in Angular. He has been a principal engineer for four years and recently organized his fourth NG-Conf. How did you get into programming? Aaron was working as a loan officer when he decided he needed a new career. He went to work at an accounting support phone center. There he discovered he was good at Sequel. He tried out for the QA team; the UA automation made sense to him. He became a senior QA and in 2010 jumped to working in development full time. He knew JavaScript; which made everyone wanted to hire him. He learned JQuery too. What was it about JavaScript that really got you excited about it? In Utah when he was working for a company, he had never learned JavaScript; he was told he had to learn jQuery to do browser extensions. The first night he learned jQuery he decided he loved the language. He stuck with it for three to four months. After that, he learned actual JavaScript. He explains that it just “fits in his head,” and made him feel well equipped and powerful. How do you get to Angular? He worked for a big, local corporation in Utah with powerful developers. The JavaScript community was strong there. They used Backbone and one day he emailed the developers. He suggested they Angular. One of the developers asked Aaron to help with the conversion. They were writing less code in Angular than in Backbone. It saved time. Sometime after that, his friend Kip Lawrence suggested that they go to an Angular Conference. When they looked up conferences they couldn’t find any. They decided to start their own Angular conference after that. How do you become a GDE? There is a GDE app where you nominate yourself. In order to be picked, you have to meet a lot of criteria. You have to answer a lot of questions. There are things they want you to have done to prove you stand out and are a leader in the community. They want more than someone who is just smart. They want people who have presented at conferences, made open source contributions, written books, etc. What else have you done in JavaScript or Angular? One of the very first projects Aaron did is one that he considers one of the coolest. He built a browser extension for his twin brother’s real estate website that solved a captcha. He then marketed it to other people. He believes it is one of the most fun problems to solve. What are you working on these days? Aaron has a side project, which is a remote communication app for remote workers to use. He is working on how to make the NG-Conf bigger and better each year. He is also spending time being a dad. Is there an overarching thing you’ve learned over the last 7 or so years of programming? The thing that keeps recurring is that there is a need for engineers to focus on solving problems for users and less on having perfect code. He has noticed that developers make decisions to try to make perfect code that can sink a company. Developers should be more business focused than tech problems. It is more responsible for making a business profitable. Solve problems for the user first and don’t try to replace a language that’s working. Picks Aaron: Superpowers https://www.amazon.com/gp/bookseries/B00YU1C4ZY/ref=dp_st_0141321342 Yarn www.yarnpkg.com Samsung SmartThings www.smartthings.com Charles: Nimble www.nimble.com Bluetick www.bluetick.io Visual studio code www.code.visualstudio.com Wade Anderson interview, Microsoft build https://devchat.tv/js-jabber/jsj-265-wade-anderson-ramya-rao-visual-studio-code www.zapier.com Links Twitter: https://twitter.com/js_dev GitHub: https://github.com/aaronfrost Full Article
on JSJ 269 Reusable React and JavaScript Components with Cory House By devchat.tv Published On :: Tue, 11 Jul 2017 06:00:00 -0400 JSJ 269 Reusable React and JavaScript Components with Cory House On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in! [00:01:35] – Overview We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done. Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issue The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components. Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are dead No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library. Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about. [00:17:05] – Libraries making reusable components There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well. As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there [00:21:20] – Why opt for reusable components Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse. As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder. We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough. Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later. [00:36:00] – Reusable components The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously. We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue. [00:42:45] – Component development on teams Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need. [00:47:45] – Mobile to web crossover Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application. [00:50:00] – Challenge Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?" Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember. Picks Cory House Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss Joe Eames UI-Router Persistence Aimee Knight Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta Charles Max Wood Upwork.com JSJ 269 Reusable React and JavaScript Components with Cory House On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in! [00:01:35] – Overview We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done. Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issue The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components. Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are dead No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library. Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about. [00:17:05] – Libraries making reusable components There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well. As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there [00:21:20] – Why opt for reusable components Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse. As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder. We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough. Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later. [00:36:00] – Reusable components The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously. We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue. [00:42:45] – Component development on teams Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need. [00:47:45] – Mobile to web crossover Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application. [00:50:00] – Challenge Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?" Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember. Picks Cory House Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss Joe Eames UI-Router Persistence Aimee Knight Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta Charles Max Wood Upwork.com Full Article
on JSJ 270 The Complete Software Developers Career Guide with John Sonmez By devchat.tv Published On :: Tue, 18 Jul 2017 06:00:00 -0400 JSJ 270 The Complete Software Developers Career Guide with John Sonmez This episode features a panel of Joe Eames, AJ O’Neal, as well as host Charles Maxwell. Special guest John Sonmez runs the website SimpleProgrammer.com that is focused on personal development for software developers. He works on career development and improving the non-technical life aspects of software developers. Today’s episode focuses on John’s new book The Complete Software Developers Career Guide. Did the book start out being 700 pages? No. My goal was 200,000 words. During the editing process a lot of questions came up, so pages were added. There were side sections called “Hey John” to answer questions that added 150 pages. Is this book aimed at beginners? It should be valuable for three types of software developers: beginner, intermediate, and senior developers looking to advance their career. The book is broken up into five sections, which build upon each other. These sections are: - How to get started as a software developer - How to get a job and negotiate salary - The technical skills needed to know to be a software developer - How to work as a software developer - How to advance in career Is it more a reference book, not intended to read front to back? The book could be read either way. It is written in small chapters. Most people will read it start to finish, but it is written so that you can pick what you’re interested in and each chapter still makes sense by itself. Where did you come up with the idea for the book? It was a combination of things. At the time I wanted new blog posts, a new product, and a new book. So I thought, “What if I wrote a book that could release chapters as blog posts and could be a product later on?” I also wanted to capture everything I learned about software development and put it on paper so that didn’t lose it. What did people feel like they were missing (from Soft Skills) that you made sure went into this book? All the questions that people would ask were about career advice. People would ask things regarding: - How do I learn programming? - What programming language should I learn? - Problems with co-workers and boss - Dress code What do you think is the most practical advice from the book for someone just getting started? John thinks that the most important thing to tell people is to come up with a plan on how you’re going to become educated in software development. And then to decide what you’re going to pursue. People need to define what they want to be. After that is done, go backwards and come up with a plan in order to get there. If you set a plan, you’ll learn faster and become a valuable asset to a team. Charles agrees that this is how to stay current in the job force. What skills do you actually need to have as a developer? Section 3 of the book answers this question. There was some frustration when beginning as a software developer, so put this list together in the book. - Programming language that you know - Source control understanding - Basic testing - Continuous integration and build systems - What kinds of development (web, mobile, back end) - Databases - Sequel Were any of those surprises to you? Maybe DevOps because today’s software developers need to, but I didn’t need to starting out. We weren’t involved in production. Today’s software developers need to understand it because they will be involved in those steps. What do you think is the importance of learning build tools and frameworks, etc. verses learning the basics? Build tools and frameworks need to be understood in order to understand how your piece fits into the bigger picture. It is important to understand as much as you can of what’s out there. The basics aren’t going to change so you should have an in depth knowledge of them. Problems will always be solved the same way. John wants people to have as few “unknown unknowns” as possible. That way they won’t be lost and can focus on more timeless things. What do you think about the virtues of self-taught verses boot camp verses University? This is the first question many developers have so it is addressed it in the book. If you can find a good coding boot camp, John personally thinks that’s the best way. He would spend money on boot camp because it is a full immersion. But while there, you need to work as hard as possible to soak up knowledge. After a boot camp, then you can go back and fill in your computer science knowledge. This could be through part time college classes or even by self-teaching. Is the classic computer science stuff important? John was mostly self-taught; he only went to college for a year. He realized that he needed to go back and learn computer science stuff. Doesn’t think that there is a need to have background in computer science, but that it can be a time saver. A lot of people get into web development and learn React or Angular but don’t learn fundamentals of JavaScript. Is that a big mistake? John believes that it is a mistake to not fully understand what you’re doing. Knowing the function first, knowing React, is a good approach. Then you can go back and learn JavaScript and understand more. He states that if you don’t learn the basics, you will be stunted and possibly solve things wrong. Joe agrees with JavaScript, but not so much with things algorithms. He states that it never helped him once he went back and learned it. John suggests the book Algorithms to Live By – teaches how to apply algorithms to real life. Is there one question you get asked more than anything else you have the answer to in the book? The most interesting question is regarding contract verses salary employment and how to compare them. It should all be evaluated based on monetary value. Salary jobs look good because of benefits. But when looking at pay divided by the hours of work, usually a salary job is lower paid. This is because people usually work longer hours at salary jobs without being paid for it. What’s the best place for people to pick up the book? simpleprogrammer.com/careerguide and it will be sold on Amazon. The book will be 99 cents on kindle – want it to be the best selling software development book ever. Picks Joe Wonder Woman AJ The Alchemist Charles Artificial Intelligence with Python John Algorithms to Live by: The Computer Science of Human Decisions Apple Airpods Links Simple Programmer Youtube Full Article
on JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen By devchat.tv Published On :: Tue, 25 Jul 2017 07:00:00 -0400 JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript. [00:01:28] Mike Ammerlaan introduction Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team. [00:01:52] Vesa Juvonen introduction Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework. [00:02:18] What is the SharePoint Framework? This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort [00:03:32] What is SharePoint? File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution. [00:05:56] What extensions can you build for SharePoint? You can build widgets for your front page or intranet. You can also add user management or data management or document management. Examples: Dashboards Mini Applications Scheduling and Time Tracking Document Storage Source code repositories [00:07:39] What is WebDAV and how does it relate? WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents. [00:08:36] Do I have to build front-end and back-end components to get full functionality? You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems. It really does take multiple skill sets to build extensions for SharePoint. [00:11:10] SharePoint on Mobile There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application. [00:12:08] Building extensions with standard Angular or React component libraries There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does. Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds. [00:14:30] Getting around sandboxing Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways. [00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings There are guides for a lot of this. React does a bunch of the isolation work. Addons are iframed in and an API token is given to grant access to the data and APIs. Microsoft also reviews and approves plugins. [00:18:30] How do you get started and make money at this? Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store. You can request a SharePoint tenant installation from the Microsoft Dev Tools for free. Then you can build into the tenant site. The rest of the tools are available on npm. SharePoint Developer Tools [00:22:13] Automated testing for SharePoint extensions Unit testing is built in for JavaScript. Testing the UI's require you to sign into Office 365. There are people doing it, though. [00:22:54] Building internal-only extensions SharePoint is an enterprise tool, so a lot of enterprises may not want to install extensions from the store. You can definitely build and install private plugins for SharePoint setups. They also have their own backend systems that will require custom development. [00:25:50] Office 365, SharePoint, and OneDrive Office 365 is used by people across many different sized organizations and SharePoint is much more enterprise. Office 365 tools store files and information in SharePoint. What about OneDrive versus Sharepoint? OneDrive is focused for one person. SharePoint is focused around a team. But they have the same APIs and use the same technology stack. [00:29:05] The history and future of SharePoint It started out on premises and has moved to the cloud. The SharePoint team is working to keep it available and useful in the modern cloud based era. [00:30:25] What does the API footprint look like? It spans modifying lists, data objects, attributes, items in a list, put Web Parts on a page, modify the experience, and manage and modify access, users, and documents. SharePoint is a way of building a way of conveying information. SharePoint is layers of data and scopes. [00:35:26] Tutorials and Open Source dev.office.com The Sharepoint framework is not open source yet, but they're working on that. They also need to open source the Yeoman templates. Open source samples are available at github.com/sharepoint. Picks Charles Max Wood BlueTick Zapier ScheduleOnce Moo.com Advice: Take the time to go talk to people. Vesa adds that you should go to a session that's on something completely outside your experience. AJ O'Neal The Circle Spontaneity/Happiness: AJ tells a story about a woman he saw running through sprinklers. Oh the places you'll go by Dr. Seuss: AJ talks about a journal entry he read at a yard sale. Mike Ammerlaan Super hot VR on Oculus Rift Vesa Juvonen Family A big thanks to Microsoft, DotNetRocks, and Build! Full Article
on MJS #027 Chris Anderson By devchat.tv Published On :: Wed, 26 Jul 2017 06:00:00 -0400 MJS 027 Chris Anderson This episode is a My JavaScript Story with guest Chris Anderson. Chris works at Microsoft, specifically on Azure Functions and WebJobs SDK. Hear how he got his start, how he has contributed to the community, as well as a bit about what it’s like being a Program Manager for Microsoft. [00:01:50] ]How did you get into programming? In college Chris was an aerospace engineer. His first taste of working with code was at an internship at Lockheed Martin. Most of his daily work was with spread sheets so he learned Visual Basic to help handle that. He found himself interested in writing code more so he took an intro in C summer course and then things snowballed. When he finished that semester, he talked to advisor about switching to Computer Science. Immediately landed into JavaScript. Chris talks about having a ‘clicking moment’ while in a topics class. A classmate was talking about NodeJS and so he tried it out and hasn’t stopped using it since. [00:03:36] What about programing appealed to you? Chris says that programming made him have a sense of having superpowers. In aerospace he learned how planes worked and that was fun, but programming had an immediately feedback on what he was working on. He adds that it made sense in the way that programming is a universal toolset for no matter what field you’re in. Charles adds that he dug into coding after working in tech support and needing it. [00:05:22] Have you worked with JavaScript before learning about Node? Chris’ first real coding experience was with his internship. He taught himself JavaScript on the job and after a few months found himself really liking it. He felt like JavaScript felt more natural and expressive. Javascript empowered him to work on the client side and the server side and he felt empowered to do full stack. [00:06:55] Was this before Microsoft? Microsoft’s hiring process for college graduates you apply the year you graduate and go through a handful of interviews. He got hired into a team working on databases, working in SQL server. He wanted to work in developer tools and learned how to use power shell and SQL works and how powerful it was. He started moving back and pushing NodeJS onto SQL. There was a driver for SQL purely in JavaScript called TDS and he would make pull requests and contributed to that. He talks about searching internally looking for other work and finding a mobile services team that needed a NodeJS person so he started there. Later he started WebJobs and then later Functions, as an effort to make NodeJS technology work with a .Net technology called Webjobs SDK. Functions exists because he wanted to add a NodeJS to a .Net product. [00:11:07] ] Did you find pushing NodeJS into a well developed language ecosystem risky? Chris talks about helping push adoption of .Net and creating prototype ideas, and it sparking from that. His goal was to make customers more productive. [00:12:02] Having fun at work Chris talks about the team culture being fun at times. Sometimes as a developer you get buffered by Project Managers, but in the case developers spend a lot of time talking to customers. They are excited so they have loads of interactions, helping develop diverse ideas. Charles adds that the preconception to how the environment feels in Microsoft tends to be negative but from talking to people who work there, things seem to be more open than expected. Chris points to open source concepts that really makes working with Microsoft great. [14:40] What does a Program Manager do on a team? Chris talks about how his job is to explore the issues and talk to customers and then prioritize how to make things better. He talks about doing whatever he can to make the product successful with the customers, including building a prototype of an idea, taking a sort of position similar to an entrepreneur. Charles adds that it’s refreshing to find that someone in the Program Manager also being technical sufficient and hands on. Chris talks about how teams are built naturally and pulled together with a group of people who love what they are doing. [00:16:52] Does the Azure Functions team use Azure Functions to make Azure Functions work? Chris talks about not using Azure functions under the covers, for the most part it’s built on top of the app service technology stack like web apps and mobile apps. Things that power that is what powers the Azure functions, like Angular. A lot of the engineering pieces are on top of that. They do use Azure for various Microsoft internal things. All of the tests they build are functions to test functions. [00:18:24] How did you and your team come to use Angular? Chris was working on the prototype for Azure Functions. Amed had experience with working on front end applications and he wanted to try out Angular 2 even though it was still in beta. He found that had the right amount of stuff out of the box. Additionally it had typescript which meshed well. They tend to pick things that people on the team know well and not as much as trying to stay tied into Microsoft supported systems. Chris talks about doing one or two major refactoring. How much Angular have you worked on yourself? Amed works the most on Angular, Chris’ job as Program Manager puts in him in a place where his commits don’t go into production, but he will often write prototypes. He played around a lot with the Monaco editor and adding features for that. As far as outside of that, he has written a few tutorials for using Functions plus Angular as well as written his wedding website with Angular. [00:22:33] What other extracurricular projects have you worked on? Chris talks about doing a lot of side projects for a while. One working with ExpressSocket.io. He also built a middleware project where you can write middleware into Functions. Plenty of little projects he puts on GitHub and never finishes. Chris talks about wishing he could switch hats between being the Program Manager and a developer. [00:23:42] Is there anything in particular you feel like you’ve contributed to Angular? Chris talks about improving by putting in loads of pull requests for tons of JavaScript libraries and a few NodeJS libraries. He would like to be more involved in the start of those processes. Chris says he hopes to maybe be involved in the next Node version update. He really likes the Node community. Picks Chris Mountain Dew Pitch Black The Expanse Series on SciFi Application Insights Charles Wheel of Time Coolage Dog Company Data Dog Links Twitter GitHub Full Article
on 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
on JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin By devchat.tv Published On :: Tue, 08 Aug 2017 06:00:00 -0400 JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. Special guests Sean Merron and Kevin Griffin discuss how to live frugally. Tune in to hear their advice! [00:02:14] Introduction to Sean and Kevin Sean and Kevin are the hosts of the 2 Frugal Dudes Podcast. They are middle class software engineers. Sean works a 9 to 5 job, while Kevin owns a small business called Swift Kick. Swift Kick is a company that focuses on independent consulting, software development, and training companies for software development. [00:05:50] Different Types of Financial Advisors There is no legal reason that financial advisors have to work in your best interest. On the 2 Frugal Dudes Podcast, Sean and Kevin advise people to use fiduciary advisors. These types of advisors are not legally allowed to accept kickbacks from different funds. This means that they are more likely to help you to the best of their ability. They get paid for their services. Laws are currently changing so that everyone has to be a fiduciary advisor unless clients sign a specific form. [00:10:00] What do I do with money left over at the end of the month that I can’t put into a 401K and Roth IRA? They suggest that you put only the amount of money in your 401K that your company will match. Then, put the rest into a Roth IRA and max that out. Before you decide to do what next, you need to decide why you are saving money. When will you need the money? What will you need it for? Once you know the answer to these questions, you will be able to assess what your money will best be placed. For example, if you are saving to buy a house you need to put your money in a safe investment. A Roth IRA can be used as a savings vehicle or as an emergency fund. Sean believes that a Bank CD is the safest return you can get. [00:14:30] Best Way to Save For those who are self-employed, it is a good idea to have two emergency funds – a personal and a business fund. Business emergency funds should have five months of personal salary. Kevin built his up over two or three years and uses it as self-insurance. Sean says that the employee world is different. For him, he only keeps the minimum amount in his emergency fund. He knows that he is in a field where his job is in high demand, so feels comfortable with being able to get a job quickly. For others, this may not be the case. Have to evaluate how much to save based on how long you think you may need the money. [00:18:50] What is the first thing people should be doing for their own financial well being? Kevin follows Dave Ramsey’s advice. Basic emergency fund. He uses $1,000. Most emergencies fall under that amount of money. Get rid of all consumer debt. This includes car payments, credit cards, and student loans. Mortgage is not consumer debt. Grow an emergency fund to three or six months of expenses. Investments. Setting up retirement funds, paying for college, or mortgages. Sean values early retirement so he focuses on that. What does retirement mean to me? What does rich mean? You should always track your money through a budget. Then you can funnel money towards emergency funds and tackling debt. Self-insurance means that you don’t have to worry about funds. It helps lower your stress knowing that you have your finances in order. It is a peaceful place to be and opens up opportunities for you. If someone has stressors in their life – for example, their car breaks down – and they have no money to fix it, they now have car and money problems. This stress can then potentially lead to other problems such as marriage problems. If the money to fix the broken car would have been there, it would alleviate stress. [00:28:23] Difference between 401k, IRA, and Roth IRAs A 401k is an employer provided, long-term retirement savings account. This is where you put in money before it is taxed. With this plan you are limited with the funds you can choose from to invest in. IRAs are long-term retirement plans as well. The first type of IRA is a Traditional IRA, which is similar to a 401k. You get tax reduction for the money you put in the account. You pay taxes once you withdraw money. A Roth IRA is where you already pay taxes on money that you are putting in, but don’t have to pay taxes when withdrawing money. You can withdraw contributions at anytime without being penalized, you just can’t take out any earnings. Another thing that is potentially good for early retirement is a Roth IRA conversion ladder. This is where you take money from a 401k and convert it into a Roth IRA and use it before 60 years old to fund early retirement. Traditional IRAs are good for business owners looking for tax deductions now. An HSA (Health Savings Account) can also be used as a retirement device. It goes towards medical expenses if needed. [00:34:20] Are there tools or algorithms I can use to figure this stuff out? There are some. Portfolio Visualizer allows you to choose different portfolio mixes and put different amounts of money in each one. Portfolio Charts is similar to Portfolio Visualizer but gives nice graphics. Sean created a JavaScript website to help people use to figure out early retirement. The hardest part is calculating return because you have to estimate what your return will be each year. [00:39:00] Put Your Money Somewhere The only bad investment is not making an investment. Even making a bad investment is better than not having any at all. Inflation eats away at money that is just sitting. [00:42:05] If you get one of these advisors what advice should you be looking for? Need someone that tries to understand your particular situation. “It depends” is very true and your advisor should know that. No two people will have the same financial goals. They should want to help reach your goals in the least costly way possible. Other things they should be able to do is be honest and help you control your emotions during upswings and downswings. [00:47:08] Why index funds? As an investor, you can buy an index fund cheaper than buying the whole index. A mutual fund will try to buy and sell the stocks in that index in order to follow the index's performance. As an investor, you have the opportunity to buy into a mutual fund that handles it for you. You don’t have to independently invest in companies either. You can invest in an index instead that will look at, for example, top performing technology companies. It is usually a better value. [00:53:33] How much do I invest in my business verses putting money into a Roth IRA or 401k? Sean thinks it comes down to retirement goals. At some point you will want money to come in passively and retire in the future. If you can passively put X amount of dollars into your company then it can be looked at as a form of investment. Kevin evaluates his business goals every quarter. He creates a business budget based off of those goals. Picks Cory Random Walk Down Wall Street by Burton Malkiel Rich Dad, Poor Dad by Robert Kiyosaki Ego is the Enemy by Ryan Holiday Aimee Hacker News Thread – How to Not Bring Emotions Home With You Phantogram Charles Money Master the Game by Tony Robbins ELPs (Endorsed Local Providers) Dave Ramsey Sean The Little Book of Common Sense Investing by John Bogle Mr. Money Mustache Blog www.mint.com Kevin Unshakable by Tony Robbins YNABS The Millionaire Next Door by Thomas Stanley Links 2 Frugal Dudes Twitter Sean's Twitter Kevin's Twitter www.swiftkick.in www.kevgriffin.com http://earlyretirementroadmap.com/ 2 Frugal Dudes Podcast Full Article
on JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith By devchat.tv Published On :: Tue, 15 Aug 2017 06:00:00 -0400 JSJ 274 Amazon Voice Services and Echo Skills with Terrance Smith On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He’s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services! [01:00] – Introduction to Terrance Smith Terrance is from Hacker Ferrer Software. They hack love into software. [01:30] – Amazon Voice Service What I’m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker’s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It’s there when you’re not. [04:35] – Capabilities Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon’s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything. [05:50] – Skills Kit Skills Kit is different with AVS. Skills Kit, you can install it on any device. You’re spinning up a web service and register it on Amazon’s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth. [07:00] – Steps for programming With the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is “Car Starter.” “Alexa tell Car Starter to start the car.” At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the “tell” or “ask” and the name of the skill to do whatever. It’s also going to be publicly accessible. For the most part, it’s literally a web service. [10:55] – Boilerplates for AWS Lambda Boilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you’re a developer, you’re probably going to do the spin up a web service and deal it that way. [11:45] – Do you have to have an Amazon Echo? At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options. [12:35] – Machine learning There are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That’s where you can build a custom device and take it apart. So the API that we’re working with here is just using JSON and HTTP. [16:40] – Amazon Echo Show You have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API’s and docs for that are not available yet. [27:20] – Challenges There’s an appliance in this house that listens to everything I say. There’s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn’t pre-programmed to do. There isn’t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There’s also a learning curve involved. [29:35] – Is your product layered in an Echo or is your product a separate device? Terrance’s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can’t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can’t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit. [32:00] – Could you set it up through a web server? Yes. There are examples out there. There’s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way. [33:10] – Monetization Amazon isn’t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, “Alexa, [tell the name of the app].” It will do a lazy load of the actual skill and it will add it to your available skill’s list. However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you’re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you. [36:25] – More information, documentation, walkthroughs The number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It’s one of the safe and simpler options. There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi. If not that, there’s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there. Picks Joe Eames Cosmic Engineers by Clifford D. Simak Aimee Knight Conference: React Rally Pancakes Charles Max Wood Conference: Angular Dev Summit Conference: React Dev Summit JavaScript Jabber Slack Terrance Smith Language: Elm Youtube channel: The School of Life Game: Night in the Woods Hacker Ferret Software Hackerferret.com Full Article
on JSJ 275: Zones in Node with Austin McDaniel By devchat.tv Published On :: Tue, 22 Aug 2017 06:00:00 -0400 JSJ 275: Zones in Node with Austin McDaniel The panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic! [00:01:11] Introduction to Austin Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept. [00:02:00] The Way it Works NodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context. There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down. [00:05:40] Zone Uses One way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague. Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information. [00:08:40] Is installing the library all you need to get this started? Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at. [00:09:50] So did you create the Zone library or did Google? The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development. [00:10:12] Is the TC39 proposal based on the Zone library? While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure. [00:10:39] What stage is the proposal in right now? Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development. [00:11:50] Is there an easy way to copy the information from one thread to another? Yes. The best way would probably be to manually copy the information. Forking it may also work. [00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent? Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.” [00:16:21] If I’m using New Relic, is it using Zone JS under the hood? Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts. [00:17:22] What are the nuances? Why isn’t everybody doing this? Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult. Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward. [00:21:44:] Does this affect your ability to test your software at all? No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems. Picks Cory: Apple AirPods Aimee: Blackmill Understanding Zones Charles: Classical Reading Playlist on Amazon Building stairs for his dad Angular Dev Summit Austin: NGRX Library Redux Links Twitter GitHub Full Article
on JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly By devchat.tv Published On :: Tue, 05 Sep 2017 20:43:00 -0400 JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2. [00:02:03] Introduction to Dylan Schiemann Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit. [00:02:22] Introduction to Kitson Kitson is the CTO at Sitepen and project lead for Dojo 2. [00:02:43] Elevator Pitch for Dojo Dojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community. Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications. [00:04:29] How is Dojo different from other frameworks? There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience. [00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa? Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community. With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years. The update was held up by adoption of ES6 and other technologies. Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now. People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities. Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it. It's also easier if all of your packages have the same version number. Call out to Angular 4 vs Angular 2. [00:12:44] AMD Modules Why use AMD instead of ES6 modules? You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo. ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup. The Dojo CLI build tool uses webpack, so it's mostly invisible at this point. So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD? With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly. [00:16:00] Are you using Grunt? Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack. For package builds and CI, Grunt is used. [00:18:30] What is the focus on Enterprise all about? There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting this right. Many other systems don't handle all the edge cases. Internationalization in Angular 2 or 4 seems unfinished. Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better. [00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at? The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this? React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue. In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points. Producing code right is a strong case for TypeScript and they pull that through to the end user. Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else... Dojo tried to make sure it had the entire package in a clear, easy to use way. You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance. [00:29:00] Where is Dojo's sweet spot? The Sitepen Blog series on picking a framework The biggest reason for using Dojo over the years is the data grid component. They also claim to have the best TypeScript web development experience. You may also want a component based system with the composition hassles of React. The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on. Theming systems is another selling point for Dojo. [00:34:10] Ending the framework wars Try Dojo out and try out the grid component and then export it to your Angular or React app. There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition. Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc. [00:39:01] The Virtual DOM used by Dojo 2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on Maquette. The more you deal with the DOM directly, the more complex your components and libraries become. Makes things simpler for cases like server side rendering getting fleshed out in BETA 3. It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM. They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS that they're not using. [00:46:40] What's coming next? They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year. They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows. [00:49:08] Testing They've got intern. It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc. It's rewritten in TypeScript to take advantage of modern JavaScript. The Dojo CLI uses intern as the default test framework. Kitson build the test-extras library to help with Dojo testing with intern. Dojo Links dojo.io github.com/dojo/meta sitepen.com/blog gitter channel github.com/dylans twitter.com/dylans twitter.com/sitepen twitter.com/dojo github.com/kitsonk twitter.com/kitsonk Picks Cory Amateur vs Professional Aimee DevFest Florida (use code 'jsjabber') Chuck Taking some time off AudioTechnica ATR2100 How to define your life purpose in 5 minutes Dylan zenhub HalfStack Conference How to choose a framework series on the Sitepen Blog Kitson Dunbar Number Full Article
on JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump By devchat.tv Published On :: Tue, 12 Sep 2017 07:00:00 -0400 Tweet this episode JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump In this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump. [00:37] Michael Crump Introduction Michael is on the developer experience team for Azure. [00:52] Jeremy Likness Introduction Jeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience. The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities. They're focused on building documentation and creating great experiences [02:54] What is it about Azure that people should be getting excited about? Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure. Azure is growing to embrace the needs of developers as they solve these problems. The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want. Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure. You don't have to be an operations expert. Chuck mentions this messaging as he heard it at Microsoft Connect() last year. It's not about bringing you to .NET. It's about making it easy where you're at. Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers. A lot of these features are available across command lines, tools, and much more. The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs. [12:04] Web Apps on Linux Web application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application. Web Apps has traditionally been on Windows. Web Apps on Linux is in preview. You can choose the size of your infrastructure. You only get billed for what you use and can scale up. Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy. You can also scale across multiple datacenters around the world. [15:06] Why Linux? What's hard about Windows? Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows. The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows. This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel. Aimee gives the example of trying to set up ImageMagick on Windows. Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically. [19:12] Supported Runtimes Web Apps on Linux supports Node, PHP, Ruby, and .NET Core. You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container. Web Apps on Linux is build on Docker. The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container. If you can build a container, you can also run it on this service. At certain levels, there's automatic scaling. [22:06] Consistency between containers? Shared ownership of state or assets It depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state. There's a system called kudu that makes this really simple. You can also pull logs across all systems. You can also use SSH in the browser [25:23] What's painful about Linux and containers? How is the application built and how does it manage state so that you can isolate issues. If you have 20 containers, can you connect to the right one. It's up to you to manage correlation between containers so you can find the information you need. Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science. [28:28] How should you manage state? A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state. [30:34] CosmosDB (was DocumentDB) It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy. You may need to open up some firewall rules, but it should be pretty straightforward. [34:14] Third Party Logging Management Apps Azure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well. [36:06] How do people use Web Apps on Linux? Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure. Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB. You can also use any images on DockerHub. [40:06] Continuous Integration and Continuous Deployment Whether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction. Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic. [42:02] Process files and workers with PM2 format You can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers. Why did you use PM2? What other uses are there for this kind of setup? You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file. [45:38] How to get started Getting started with Node docs.microsoft.com Trial account with a few hundred dollars in Azure credit. Michael's Links michaelcrump.net @mbcrump github.com/mbcrump Jeremy's Links bit.ly/coderblog @jeremylikness github/jeremylikness Picks Aimee Having a little bit of mindfulness while waiting on code and tests to run. Joe Ozark on Netflix Star Wars: Rogue One Chuck Travelers on Netflix Jeremy Ozark filming in Woodstock, GA Autonomous Smart Desk LED light strips Michael Conference Call Bingo Life (Movie) Get Out (Movie) Full Article
on MJS #034 John-David Dalton By devchat.tv Published On :: Wed, 13 Sep 2017 07:00:00 -0400 Tweet this Episode MJS 034: John-David Dalton Today’s episode is a My JavaScript Story with John-David Dalton. JD talked about his contributions to the JavaScript community like Lo-Dash, Sandboxed Native, etc. Listen to learn more about JD! [01:15] – Introduction to JD JD has been on JavaScript Jabber. He talked about Lo-Dash. [02:00] – How did you get into programming? First website This was when JD was a junior in high school. Then, he got involved with a flight squadron for a World War 1 online game. They needed a website so he created a GeoCities website for them. That’s what got him into JavaScript. He’d have to enhance the page with mouseover effects - cursor trail, etc. JavaScript From there, JD started created a Dr. Wiley little-animated bot that would say random things in a little speech bubble with the HTML on your page like a widget. He also passed an assignment turning a web page into an English class paper. He used to spend his lunch breaks learning JavaScript and programming. He also created a little Mario game engine – Mario 1 with movable blocks that you could click and drag and Mario could jump over it. That was back with the document.layers and Netscape Navigator. Animation JD wanted to be an animator in animation so he started getting into macro media flash. That led him to ActionScript, which was another ECMAScript-based language. He took a break from JavaScript and did ActionScript and flash animations for a while as his day job too. PHP and JavaScript JD started learning PHP and they needed to create a web app that got him right back into JavaScript in 2005. That was when AJAX was coined and that’s when Prototype JS came up. He was reading AJAX blog posts back then because that was the place to find all of your JavaScript news. JS Specification JD remembers being really intimidated by JavaScript libraries so he started reading the JavaScript specification. It got him into a deeper understanding of why the language does what it does and realized that there’s actually a document that he could go to and look up exactly why things do what they do. [06:45] – What was it about JavaScript? JD has been tinkering with programming languages but what he liked about ActionScript at the time was it is so powerful. You could create games with it or you could script during animations. He eventually created a tool that was a Game Genie for flash games that you could get these decompilers that would show you the variables in the game, and then, you could use JavaScript to manipulate the variables in the flash game. He created a tool that could, for example, change your lives to infinite life, grow your character or access hidden characters that they don’t actually put in the game but they have the animations for it. JD was led to a page on the web archive called Layer 51 or Proto 51. That was a web page that had a lot of JavaScript or ActionScript snippets. There were things for extending the built-in prototypes - adding array methods or string methods or regex methods. That was how JavaScript became appealing to him. He has been doing JavaScript for almost 20 years. PHP also made him appreciate JavaScript more because, at the time, you couldn’t have that interface. [09:30] – Lo-Dash, Sandboxed Native, Microsoft Lo-Dash Eventually, JD grew to respect jQuery because I became a library author. jQuery is the example of how to create a successful library. It’s almost on 90% of the Internet. He likes that right now but before, he was a hardcore Prototype fanboy. He didn’t like new tools either. He liked augmenting prototypes but over time, he realized that augmenting prototypes wasn’t so great whenever you wanted to include other code on your page because it would have conflict and collisions. Later on, he took Prototype, forked it, and he made it faster and support more things, which is essentially what he did with Lo-Dash. Sandboxed Native JD created something called Sandboxed Native, which got him into talking on conferences. Sandboxed Native extends the prototypes for the built-ins for your current frame. It would import new built-ins so you got a new array constructor, a new date constructor, a new regex, or a new string. It wouldn’t collide or step on the built-ins of the current page. Microsoft After that, JD ended up transitioning to performance and benchmarking. That landed him his Microsoft job a couple years later. Picks John-David Dalton JS Foundation Sonarwhal Twitter / Github: @jdalton Charles Max Wood Aaron Walker Interview Valet Full Article
on JSJ 279: ES Modules in Node Today! with John-David Dalton By devchat.tv Published On :: Tue, 19 Sep 2017 07:02:00 -0400 Tweet this Episode John-David Dalton is probably best known for the Lodash library. He's currently working at Microsoft on the Edge team. He makes sure that libraries and frameworks work well in Edge. The JavaScript Jabber panel discusses the ECMAScript module system port to Node.js. John wanted to ship the ES module system to Node.js for Lodash to increase speed and decrease the disk space that it takes up. This approach allows you to gzip the library and get it down to 90 kb. This episode dives in detail into: ES Modules, what they are and how they work The Node.js and NPM package delivery ecosystem Module loaders in Node.js Babel (and other compilers) versus ES Module Loader and much, much more... Links: Lodash ES Module Loader for Node Node CommonJS Babel TypeScript FlowType Microsoft ESM Blog Post Meteor Reify ESM Spec PhantomJS zlib module in Node AWS Lambda NPM Webpack Rollup John-David Dalton on Twitter Picks: Cory: Trending Developer Skills The Devops Handbook Aimee: Nodevember ES Modules in Node Today (blog post) Dating is Dead Aaron: Ready Player One trailer breakdown Jim Jefferies Show I Can't Make This Up by Kevin Hart Work with Aaron at SaltStack Chuck: Angular Dev Summit ZohoCRM Working on Cars - Therapeutic working with your hands doing physical work John: TC39 Proposal for Optional Chaining ToyBox 3D Printer Full Article
on JSJ 280: Stackblitz with Eric Simons and Albert Pai By devchat.tv Published On :: Tue, 26 Sep 2017 06:00:00 -0400 Panel: Joe Amy Charles Special Guests: Eric Simmons Albert Pai In this episode, JavaScript Jabbers talk to Eric Simmons and Albert Pai, the co-founder of thinkster.io, where their team teaches the bleeding edge of javascript technology’s various frameworks and backend. Also, with the recent creation of Stalkblitz, which is the center topic of today discussion. Stackblitz it an online VS Code IDE for Angular, React, and a few more others are supported. This is designed to run web pack and vs code inside your browser at blazing fast speeds. Eric and Albert dive into the many different advantages and services available by StackBlitz and thinker.io. In particular, we dive pretty deep on: Similarities and differences to Heroku System JS Stacklets Testing and creating an in-browser system file system Creating a type of VS Code experience, Working Off Line Updating of the Stacklets Deployment tools or exporting Hot Reloading Integrated terminals Monaco Language Services How do you architect this implementation The innovation of browsers Guy Bedford Financing vs. Chipotle Burritos Will this product in the future cost money Links thinkster.io https://medium.com/@ericsimons/stackblitz-online-vs-code-ide-for-angular-react-7d09348497f4 @stackblitz stackblitz.com Picks Amy Promises Series by Andrew Del Prete Crossfit Joe Wholesome Meme Sara Cooper Charles Pivotal Tracker MatterMost asana.com Zapier Eric realworld.io David East Albert thinkster.io Thing Explainer Full Article
on JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho By devchat.tv Published On :: Wed, 18 Oct 2017 06:00:00 -0400 Panel: Amiee Knight Charles Max Wood Joe Eames Special Guests: Matthew Creager and Peter Cho In this episode, JavaScript Jabbers speak with Matthew Ceager and Peter Cho. Matthew and Peter are part of the team at Manifold. Manifold is a marketplace for developer services. Matthew takes care of growth and relations, and Peter oversee products at Manifold. The panel discusses with Peter and Matthew what Manifold does and the benefits of a Cloud Service. Matthew gives perspective on how developers can get their cloud product on the market compared to open source. Further discussion goes into how this will help the developer to get their products or services turned into a business quicker and save time Also learn about when it is the ideal time to move to cloud services vs. running a server yourself. In particular, we dive pretty deep on: Different kinds of definition of Cloud Services Anything you would rely on as a third party service What is the cloud service ecosystem - Services that connect to an application Independent market place - because it is difficult to turn a product into a business Where are people using cloud services or running their own server Spinning up a version of it is easier. Time verses doing it yourself? Experts running the services Focusing on your product instead of managing the server and such Where does the data live and who has access to that? Lock In’s? Tourist - Credentials management How do I get this setup? Command Line or register online And much more! Links: Manifold https://github.com/mattcreager @manifoldco @etcpeter @matt_creager blog.manifold.com Picks: Amiee Ryan McDermott Charles GitLab AdminLTE Joe What You Can’t Say Matt Star Trek Puppeteer Peter Player Unknown Battle Ground Sourdough by Robin Sloan Full Article
on 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
on 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
on MJS 040: Kitson Kelly By devchat.tv Published On :: Thu, 21 Dec 2017 20:02:00 -0500 Panel: Charles Max Wood Guest: Kitson Kelly This week on My JavaScript Story, Charles speaks with Kitson Kelly. Kitson is a return guest, previously on JavaScript Jabber 277. Kitson is the CTO at SitePen, and has been working and maintaining Dojo 2 for the last couple years. Kitson talks about his journey as a developer. First, sparking his interest with old Atari games and getting his first computer in his early years. Kitson talks about his education background and introduction to computers in high school and hang out with other in the same programming niche. Kitson talks about his challenges not having a degree in computer science, but still very successful as a developer after climbing the corporate latter. In particular, we dive pretty deep on: Atari Games and old first computer Hangout with the computer nerds Community college No actual formal computer science degree Tech Support and Self Taught Challenges with not degree Climbing the latter Troubles even with a degree Is a degree in computer science really needed? Experience verses degree Working with other people is important Getting into JavaScript and Dojo What kept you working in JavaScript How do you get to being CTO and SitePen? What are you most proud of with the work on Dojo Contributions Side Projects - Dojo 2 and much, much more! Links: https://github.com/kitsonk Kistson Kelly https://www.sitepen.com https://dojo.io Picks: Kitson SVG Noun Project Charles adminlte.io Ruby on Rails, Jquery podwrench.com Full Article
on MJS 046: Donovan Brown By devchat.tv Published On :: Wed, 31 Jan 2018 23:46:00 -0500 Panel: Charles Max Wood Guest: Donovan Brown This week on My JavaScript Story, Charles speaks with Donovan Brown. Donovan is a principle DevOps Manager at Microsoft. Donovan talks about his journey into programming starting in the 8th grade with Cue Basic to college and writing games in Cue Basic. Donovan talks about different avenues of programming and working independently, and being entrepreneurial, and finally getting a call from Microsoft. Donovan tells many great high energy stories and shares his enthusiasm in his career in DevOps. This is a great episode to hear the possibilities in the programming and developer world. In particular, we dive pretty deep on: How did you get into programming? 8th grade Cue Basic Computer Math Cue Basic Selling notes - Chemistry class Board Game creation Teach yourself C in 21 days Change majors Work at Compaq Computers and go promoted as a software engineer Independent, then into Dev Ops Notion Solutions Ending up in Microsoft doing DevOps Hot Topic - Dev Opts - Release BrianKellerVM Demos DevOps and the Process Visual Studio and people Pain Points Programmers - Permission to do your job? JQuery Yeoman Generator Power Shell Plugin Open source and Contributions to the community DevOps Interviews Podcast and much, much more! Links: http://donovanbrown.com https://github.com/DarqueWarrior @DonovanBrown DevOps Interviews Podcast Picks Donovan Visual Studio Code Charles Installing Windows 10 Docker Support for Windows Full Article
on JSJ 300: Celebration By devchat.tv Published On :: Tue, 13 Feb 2018 19:35:00 -0500 Panel: Charles Max Wood Aimee Knight Cory House AJ O'Neal Joe Eames Special Guests: None In this episode, the JavaScript Jabber panelists speak on where they are what they are up to today. Aimee is still in Nashville, Tennessee, and it is currently working at Built Technologies and is working with JavaScript. Cory is still authoring courses for Pluralsite, has more recently been doing consulting with React, and is the principal engineer at Cox Automotive. Joe is doing a lot of Pluralsight work, puts together conferences, and is working on a new podcast with Charles. AJ recently did some side work with Dash, is interested in working on a new domain service, and recently got married. Charles is currently at ngATL conference, and has been attending a lot of conferences recently. He is also starting to head over to the video realm and is creating a new podcast called React Roundup and a View Podcast with Joe. They also talk about what they each have planned in the upcoming year for their careers and their lives. In particular, we dive pretty deep on: Built Technologies JavaScript Front End and Full Stack Pluralsite React consulting Cox Automotive Front end apps View and React podcast Angular JS to Angular Pluralsight courses Big Picture React courses Fork of Bitcoin called Dash New domain service ngATL React Roundup Podcast New podcasts on artificial intelligence, IOT, augmented and virtual reality game development, python Node, JavaScript, and Rust And much, much more! Links: Linode Built Technologies Pluralsite Cox Automotive Dash ngATL DevChat.tv Youtube FreshBooks Picks: Charles ATR2100 Microphone Zoom H6 Apple AirPods ngATL ngGirls Aimee Improving Ourselves to Death What Does Code Readability Mean? Cory JavaScript Tip Tweet AJ How to Start a Startup YouTube Series Singham Movie Joe WebFlow.com Full Article
on JSJ 301: CSS Grids: The Future of Frontend Layout with Dave Geddes By devchat.tv Published On :: Tue, 20 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight Cory House AJ O'Neal Joe Eames Aaron Frost Special Guests: Dave Geddes In this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way. In particular, we dive pretty deep on: CSS Mastery games FlexboxZombies.com GridCritters.com Uses spaced repetition and delayed recall to learn CSS Grid Flexbox CSS Grid as the cake and Flexbox as the frosting Edge spec What Flexbox can do Sub-Grids Geddski.com Nesting Grids Old Grid vs New Grid layout Why would you move from Flexbox to CSS Grid? CSS Grid tools GridByExample.com Education and Gamification Pick a UI that interests you For a discount on Grid Critters: enter JS Jabber for 20% off And much, much more! Links: Linode FlexboxZombies.com GridCritters.com Geddski.com GridByExample.com FreshBooks @Geddski Picks: Charles R Pods Earphones Aimee NEU Cleanse “At Age 6, Girls Are Less Likely to Identify Females As ‘Really, Really Smart’” Cory Cory Tweet AJ How to Start a Startup Made in America by Sam Walton Joe The Dungeoneers by John David Anderson NG Conf Aaron Fire and Fury by Michael Wolff Dave They Are Billions Full Article
on MJS 049: Sean Merron By devchat.tv Published On :: Wed, 21 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Guest: Sean Merron This week on My JavaScript Story, Charles speaks with Sean Merron. Sean is currently in Austin, Texas and is originally from Virginia Beach, Virginia. He is a full-time software engineer, and has been for a little over 15 years now, and runs a podcast called 2 Frugal Dudes. He first got into programming when he was in high school and went to a trade school for computer networking. This trade school really gave him a leg up with his certifications and led him to his first job where he did tech support for an office. Sean urges new programmers to always have a project and to never be afraid to learn something new. In particular, we dive pretty deep on: 2 Frugal Dudes How did you get into programming? CCNA and A+ certification Frist experience learning programming AP Computer Science C++ and Java How did you get into JavaScript? Gaming led to him wanting to build websites GeoCities HTML files HTML application Any advice for new programmers? Scripting Life-long learning What have your contributed to the programming community? Teaching, meetups, and conferences How did 2 Frugal Dudes come about? The importance of learning about finances The goal of podcasts His podcast audience demographics They discuss finances in layman’s terms What are you working on now and what are your future plans? And much, much more! Links: Linode 2 Frugal Dudes EarlyRetirementRoadmap.com @SeanMerron Picks Charles React and View Podcast coming up PodWrench.com Sean Mr. Money Mustache BogleHeads The Little Book of Common Sense Investing by John Bogle Full Article
on 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
on JSJ 303: Test Coverage Tools with Ben Coe, Aaron Abramov, and Issac Schleuter By devchat.tv Published On :: Tue, 06 Mar 2018 06:00:00 -0500 Panel: Charles Max Wood Aimee Knight Corey House AJ O'Neal Special Guests: Ben Coe, Aaron Abramov, and Issac Schleuter In this episode, the JavaScript Jabber panelists talk with Ben Coe, Aaron Abramov, and Issac Schleuter about test coverage and testing tools. They talk about the different tools and libraries that they have contributed to the coding community, such as NYC, conf, and Jest. They also discuss what test coverage is actually about and when using test coverage tools is necessary. In particular, we dive pretty deep on: What have you contributed to the testing tools community? npm NYC tool and instanbul project conf Jest These libraries were developed to be easy and have “batteries included” False positives with test coverage Encourage testing practices that don’t practice in a superficial way Test coverage is about making sure you test every state a public API can get into Think through the test you’re writing first Barriers against testing Don’t spike the code too quickly Provides guardrails for newer developers to contribute to open source projects Use tests to understand the system How to spend your time better When you need tests Value is very short term TDD And much, much more! Links: @BenjaminCoe @AaronAbramov_ Issac’s GitHub Picks: Charles React Roundup Views on Vue Adventures in Angular React Dev Summit 2018 Aimee Galentine’s Day Dnote CLI AJ The Hero of Ages by Brandon Sanderson Corey We are hive project guidelines Tip: You can install node as a dependency on your project Ben Hack Illinois 2018 C8 Aaron Reason Issac The Tap 100 Krypton App Friendly Fire Podcasts Full Article
on 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
on MJS 053: Quincy Larson By devchat.tv Published On :: Wed, 21 Mar 2018 06:00:00 -0400 Panel: Charles Max Wood Guest: Quincy Larson This week on My JavaScript Story, Charles speaks with Quincy Larson. Quincy created Free Code Camp, whose goal is to build a huge community of people who will then contribute to the project so that they can help more people learn code for free. Quincy first got into programming when he wanted to find a way to get teachers out from behind the computer and into the classrooms. This revealed to him how powerful technology was and really got him interested in learning more code. He feels very strongly about the importance of accessibility and strived to make his camp as accessible as he could so he could reach the most people with it. In particular, we dive pretty deep on: Free Code Camp How did you first get into programming? Previously a school director and teacher AutoHotkey How did you get into JavaScript? Focused on the problem of learning the code Free Code Camp was his main focus as a programmer The importance of accessibility Free Code Camp curriculum New update launching soon Build projects in order to get a certificate 6 certificates in total What is the work breakdown with Free Code Camp? Editorial staff now Free Code Camp YouTube Channel Writes on Medium Loves the fact that he gets to help others and positively affect their lives What else are you working on now? Beta.freeCodeCamp.org Expanding Free Code Camp Directory And much, much more! Links: Free Code Camp AutoHotkey JavaScript Free Code Camp YouTube Channel Quincy’s Medium Beta.freeCodeCamp.org @Ossia Free Code Camp Medium Picks Charles VRBO Mesquite, Nevada Upside.com Quincy The state of machine learning in JavaScript Tensor Fire Full Article
on MJS 054: Gordon Zhu By devchat.tv Published On :: Wed, 28 Mar 2018 06:00:00 -0400 Panel: Charles Max Wood Guest: Gordon Zhu This week on My JavaScript Story, Charles speaks with Gordon Zhu. Gordon is the founder of Watch and Code. The mission of the company is to take total beginners and turn them into amazing developers. He first got into programming by trying to avoid programming. He studied business in college and was really interested in the internet, leading him to have to learn coding. He talks about the importance of being focused, especially in the beginning, and the ability to figure things out. In particular, we dive pretty deep on: Watch and Code How did you first get into programming? Studied business in college Peak Two different eras of programmers There is more than one way to get into programming Culture is promoting a new way of thinking about technology Black Mirror How did you get into JavaScript? Marketing, product management, and engineering Angular Tried to avoid JS and focused on Python Importance of focus The ability to figure things out How to spend your time in the beginning Current focus Focus gives you freedom Reading a lot of code What are you proud of? And much, much more! Links: JavaScript Watch and Code Peak Black Mirror Angular Python @Gordon_Zhu Practical JavaScript Picks Charles 4k Camcorder 25 ft XLR Cables Zoom H6 Roland R-09 USB-C Dongle Docking Station ScreenFlow PB Works Gordon How I Built This podcast Stay Tuned with Preet podcast Full Article