JavaScript Jabber

JavaScript Jabber

Download on the App Store

JavaScript Jabber episodes

  • JSJ 280: Stackblitz with Eric Simons and Albert Pai
    Panel:Joe AimeeCharles  Special Guests: Eric Simmons Albert PaiIn 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
     PicksAimee
    • 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
    Special Guests: Albert Pai and Eric Simons .

    Support this podcast at — https://redcircle.com/javascript-jabber/donations

    Privacy & Opt-Out: https://redcircle.com/privacy

    Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
    52 min
  • MJS 035: John-Daniel Trask
    Tweet this Episode
    John-Daniel Trask is the CEO and developer at Raygun.io.

    JD and Chuck talk in this episode about learning to program as a kid, the arc of JD's career, and entrepreneurship.

    Links:

    • 154 JSJ Raygun.io Error Reporting and Workflow with John-Daniel Trask
    • JSJ 263 Moving from Node.js to .NET and Raygun.io with John-Daniel Trask
    • C
    • C++
    • Delphi
    • NetScape Navigator
    • VBScript
    • JQuery
    • Mindscape
    • Raygun.io
    • CoffeeScript
    • Visual Studio
    • Scott Hanselman on Dark Matter Developers
    • Tensorflow
    • Stripe
    • @traskjd
    • Picks:

      JD:

      • Keygen.sh
      • Octopus Deploy
      • JavaScript x86
      • Chuck:

        • The Miracle Morning
        • Meditations App
        • Vision Board App
        • LootCrate
        • Game of Thrones Journal
        • Zelda Theme Journal
        • 29 min
        • JSJ 279: ES Modules in Node Today! with John-David Dalton
          Tweet this EpisodeJohn-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
          Special Guest: John-David Dalton.

          Support this podcast at — https://redcircle.com/javascript-jabber/donations

          Privacy & Opt-Out: https://redcircle.com/privacy

          Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
          58 min
        • MJS #034 John-David Dalton
          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
            •  

              49 min
            • JSJ 278 Machine Learning with Tyler Renelle
              Tweet this EpisodeTyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks.The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs.This episode dives into:
              • Whether machine learning will replace programming jobs
              • Economic automation
              • Which platforms and languages to use to get into machine learning
              • and much, much more...
              Links:
              • Raspberry Pi
              • Arduino
              • Hacker News
              • Neural Networks (wikipedia)
              • Deep Mind
              • Shallow Algorithms
              • Genetic Algorithms
              • Crisper gene editing
              • Wix
              • thegrid.io
              • Codeschool
              • Codecademy
              • Tensorflow
              • Keras
              • Machine Learning Guide
              • Andrew Ng Coursera Course
              • Python
              • R
              • Java
              • Torch
              • PyTorch
              • Caffe
              • Scikit learn
              • Tensorfire
              • DeepLearn.js
              • The Singularity is Near by Ray Kurzweil
              • Tensorforce
              • Super Intelligence by Nick Bostrom
              Picks:Aimee
              • Include media
              • Nodevember
              • Phone cases
              AJ
              • Data Skeptic
              • Ready Player One
              Joe
              • Everybody Lies
              Tyler
              • Ex Machina
              • Philosophy of Mind: Brains, Consciousness, and Thinking Machines
              Special Guest: Tyler Renelle.

              Support this podcast at — https://redcircle.com/javascript-jabber/donations

              Privacy & Opt-Out: https://redcircle.com/privacy

              Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
              49 min
            • JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump
              Tweet this episodeJSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael CrumpIn 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 IntroductionMichael is on the developer experience team for Azure.[00:52] Jeremy Likness IntroductionJeremy 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 LinuxWeb 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 RuntimesWeb 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 assetsIt 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 AppsAzure 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 DeploymentWhether 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 formatYou 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 startedGetting started with Nodedocs.microsoft.comTrial 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
              PicksAimee
              • 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)
              Special Guests: Jeremy Likness and Michael Crump.

              Support this podcast at — https://redcircle.com/javascript-jabber/donations

              Privacy & Opt-Out: https://redcircle.com/privacy

              Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
              1 hr
            • MJS #033 Dylan Schiemann
              MJS 033: Dylan Schiemann

              Today's episode is a My JavaScript Story with Dylan Schiemann. Dylan talked about his contributions to the JavaScript community to what JavaScript is back in 2004. Listen to learn more about Dylan!

              [01:10] – Introduction to Dylan Schiemann

              Dylan was on episode 62 of JavaScript Jabber, which was about 4 years ago. We had him on to talk about the Dojo Toolkit.

              [02:00] – How did you get into programming?

              When Dylan was 7 or 8 years old, he and his father took basic programming class together. In Junior high, probably mid-1980’s, he received his first Commodore 64 computer. He picked up the Programmer’s Reference Guide, toppled on Assembly, and tried to write data to a tape drive. It got updated to a floppy drive. And then in high school, he took some Pascal classes. He learned the basics - ranging from BASIC, Pascal, and to Assembly.

              [03:00] – How did you get into JavaScript?

              As an undergraduate, Dylan studied Chemistry and Mathematics. He did some basic HTML and discovered the web roughly when he was a junior year in college. And then, he went to graduate school and studied Physical Chemistry at UCLA. He was studying the topology and reality of quasi-two-dimensional phone. If you imagine a bunch of beer bubbles at the top of a glass, and you spin it around really quickly, you watch how the bubbles rearrange as force is applied to it. He wanted to put his experiments on the web so he started learning this new language that had just been invented called JavaScript. So, he dropped out of graduate school a few years later. Eight years after that point in time, it was possible to show his experiments with Dojo and SVG.

              [04:25] – How did you get into Dojo and the other technologies?

              SitePen

              Right after grad school, Dylan helped start a company called SitePen. That let him really learn how JavaScript works. He started doing some consulting work. And he started working with Alex Russell, who had a project called netWindows at the time, which is a predecessor to any JavaScript framework that most people have worked with.

              Dojo

              Dylan got together and decided to create a next generation version of the HTML toolkit, which ended up becoming Dojo back in 2004. Things that they created back then are now part of the language - asynchronous patterns such as Promises, or even modules, widgets, which led to the web components pack. Over the years, they’ve built on that and done various utilities for testing and optimizing applications.

              [06:20] – Ideas that stood the test of time

              A lot of the things that Dylan and his team did in Dojo were on the right path but first versions ended up iterating before they’ve met their way into the language. Other things are timing. They were there very early and but to tell people in 2005 and 2006 that you need to architect the front-end application met some confusion of why you would want to do that. According to him, they never created Dojo to say that they want to create the world’s leading framework.

              [07:45] – JavaScript

              Dylan no longer answers the question of, “Oh, JavaScript, you mean, Java?”

              The expectations of 2004 were the hope of making something that might work in a browser. The expectation today is we are competing against every platform and trying to create the best possible software in the world, and do it in a way that’s distributable everywhere in the browser. The capabilities have grown. There are audio, video and real-time capabilities. They were ways to do those things but they were brutal and fragile. And now, we have real engineering solutions to many of those things but there are still going to be ways to do this. There were few people who are interested in this and maybe this wasn’t even their day job. But now, literally hundreds and thousands of engineers who write code in JavaScript every day.

              Picks

              Dylan Schiemann

              • JavaScript user groups
              • JavaScript conferences
              • SeattleJS
              • Phoenix TypeScript Meet-up
              • London HalfStack
              • Charles Max Wood

                • Focuster
                • BusyCal
                • Asana
                • Trello
                • 37 min
                • JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly
                  JSJ 277: Dojo 2 with Dylan Schiemann and Kitson KellyThis 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 SchiemannDylan 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 DojoDojo 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 ModulesWhy 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? https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/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 warsTry 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 Dojo2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on http://maquettejs.org/.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] TestingThey've gothttp://theintern.io.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 https://github.com/dojo/test-extras library to help with Dojo testing with intern.Dojo Links
                  - http://dojo.io
                  - http://github.com/dojo/meta
                  - http://sitepen.com/blog
                  - https://gitter.im/dojo/dojo2
                  - http://github.com/dylans
                  - http://twitter.com/dylans
                  - http://twitter.com/sitepen
                  - http://twitter.com/dojo
                  - http://github.com/kitsonk
                  - http://twitter.com/kitsonk
                  PicksCory
                  - https://www.farnamstreetblog.com/2017/08/amateurs-professionals
                  Aimee
                  - https://www.eventbrite.com/e/devfest-florida-2017-tickets-31833188925?discount=JSJABBER (use code 'jsjabber')
                  Chuck
                  - Taking some time off
                  - http://amzn.to/2j8VKRJ
                  - https://www.youtube.com/watch?v=vVsXO9brK7M
                  Dylan
                  - https://www.zenhub.com/
                  - http://halfstackconf.com
                  - https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/
                  Kitson
                  - https://en.wikipedia.org/wiki/Dunbar%27s_number
                   Special Guests: Dylan Schiemann and Kitson Kelly.

                  Support this podcast at —

                  Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                  1 hr 3 min
                • MJS #032 Feross Aboukhadijeh
                  MJS 032: Feross Aboukhadijeh

                  Today's episode is a My JavaScript Story with Feross Aboukhadijeh. Feross talked about his contributions to the JavaScript community to the decentralized web. Listen to learn more about Mike!

                  [01:00] – Introduction to Feross Aboukhadijeh

                  Feross was on episode 155 and he talked about Webtorrent. It was 2 years ago.

                  [01:35] – How did you get into programming?

                  Toddler

                  Feross has always been interested in computers and technology. His mom told him a story about how when he was a toddler, he was always watching people whenever they’re using technology – the television, the microwave, or the VCR. She said that he’s trying to imitate what he saw.

                  HTML and Web proxies

                  According to Feross, he became seriously interested when he was in middle school when he learned about HTML and wanted to make a personal site. In high school, there was this class that you could take. It’s a tech team where they went around and fixed teachers’ computers because they were understaffed. Some of the computers have administrator privileges turned on for the student accounts as well because some of the software that was required for certain classes needed it. The computers always had viruses on them because people would install first-person shooters and play during class time. They actually have school-wide filtering system so students can’t access certain sites. One of the categories they blocked was downloading sites. In order to even do their job, they have to figure out web proxies to get around the filters. He ended up setting up one of those on his own server.

                  First website

                  Feross’ real programming experience was PHP. It was in his junior year of high school. He bought a book in Barnes & Noble about PHP and MySQL. He wanted to build a site to host his favorite flash animations. That project was a database-driven website where people can segment their flash animations and soundboards, prank phone calls, and other internet humor. The site was called freetoflash. That was the first website that he built.

                  [07:10] – How did you get into JavaScript?

                  Feross thinks JavaScript is one of those languages that you don’t actually really bother to sit down and learn. There weren’t any good resources. According to him, He really didn’t know JavaScript until he started a company right after he graduated from college. He started taking JavaScript seriously because he was learning Node.js and realized that you can build real things from it. The start-up is called PeerCDN. They’re trying to make a content delivery network that would work in the browser using WebRTC. The idea is you would add a script tag to your website and then we would try to find other people visiting your site that already has the content that you want, you’ll fetch it from them over a peer-to-peer connection to save on your hosting build to reduce your CDN bill. That was a big Node application. It also has intense front-end component. He started learning about NPM, how you build things with microservices, and how do you deploy a JavaScript application. That was in 2013.

                  [09:35] – Webtorrent

                  Feross has been trying to transition Webtorrent into a distributed contribution model. It’s always been something that he would give out commit rights. If someone makes a good contribution, he’ll just add them to the Github for it. He recently made it into an organization on Github. He’s hoping to make it something that’s not completely dependent on him in order for it to continue existing. He’s going to be involved with it for the foreseeable future but he’s also trying to do new projects as well besides that. The good news is Webtorrent is mostly done in some sense. It works well. There are bugs. But if you use Webtorrent, especially if you use the desktop application to torrent things, it’s really polished and works nicely.

                  Picks

                  Feross Aboukhadijeh

                  • Decentralized web
                  • Dat Project
                  • Beaker Project
                  • IPFS
                  • Secure Scuttlebutt
                  • Patchwork
                  • Brave
                  • Twitter: @WebTorrentApp
                  • Twitter: @feross
                  • Charles Max Wood

                    • Let’s Encrypt
                    • Digital Ocean
                    • 30 min
                    • JSJ 276: Vue.js with Maximilian Schwarzmüller
                      JSJ 276: Vue.js with Maximilian Schwarzmüller          This episode of JavaScript Jabber features panelists AJ O’Neal, Aimee Knight, and Charles Max Wood. They talk with special guest Maximilian Schwarzmüller about Vue.js. Tune in to find out more![00:02:21] Introduction to MaximilianMaximilian lives in Germany and is a self-taught web developer. He mostly teaches web development on Udemy and his YouTube channel. Vue.js is just one topic that he teaches. He enjoys teaching and passing on information to other web developers: he believes it is the best thing you can do.[00:03:10] What other courses do you teach?He tries to cover basic web development topics. On Udemy Maximilian teaches Angular and generic JavaScript courses. He also teaches courses on Angular and Node.js. On his YouTube channel he teaches more back-end development and Node.js courses.[00:04:00] Elevator Pitch for Vue.jsVue.js is a new framework that is popular because it is similar to React but also has Angular features. It is easier to learn than React: not everything is in JavaScript and JXS is not included. It is more also flexible and has better performance than Angular 1. Vue.js is easier than Angular 2 both to learn and master. It is still a JavaScript framework, where developers build single page applications or drop in existing applications to enhance views, control parts of a page with JavaScript, get rid of jQuery, and have an easier time creating applications.[00:05:10] What are some challenges people run into as they learn it?If developers are brand new to Vue.js, getting started is easy. It has one thing that a lot of frameworks lack which is awesome documentation. Vuejs.org has a comprehension guide that makes getting started simple. There is a general idea that developers still need to learn of how to structure the app, which is similar to React. Developers have to learn how to build components which is used to build the application. The build template is where everything is controlled with Vue.js. JavaScript code is used as well as template syntax.[00:06:27] So you build the template and then tell it how each part is supposed to behave with JavaScript?Yes. To get started use Vue instances, which are JavaScript objects, control parts of the page and it is marked by an id on an HTML element. Then, write a Vue template, which is basically HTML code where extra features can be used to easily output a variable. It makes it much easier to control via Vue instance. Then add a code, add a method which changes the property of Vue instance. It works together and is easy to build up templates and control your page with Vue. [00:11:12] Vue’s Advantages That depends on the application. Vue.js is easier to learn, which is an advantage when trying to get new developers. The documentation on the website is excellent, which helps when learning the language. Vue also has it’s own single team that develops it’s products, such as the Vue Router and Vue X. It has better performance, but for extremely big projects Angular 4 may be better.[00:13:38] Does Vue have routing in it?Vue.js has its own router. The core Vue team develops it, which is a different package that is downloaded separately. The advantage to this is that if you don’t need the router, then you don’t have it in your bundle but can easily add it. Once it is added it integrates nicely.[00:14:16] How does the Vue router compare to the React router?The Vue router offers the same features as the React router: nested routes, passing parameters, route guards, etc. The Vue router integrates nicely into the Vue package. It also injects into every component you have and is very simple. All that has to be done is just to execute one line of code and then the router is in the project.[00:17:10] How often is Vue.js upgraded and how hard is it to keep up?Vue.js only has two versions. Upgrading from Vue 1 to Vue 2 is easy. The base syntax and framework is still the same, you just need to adjust and move on. Since Vue 2 they released bigger upgrades. There so far haven’t been any issues upgrading, they have added new features, and still use the old code.[00:19:09] What is the feature with Vue as far as adoption goes?It is hard to predict but there are indicators that Vue.js has a good future. Vue.js probably will not overtake Angular but it is becoming important for companies in Asia, which is an important market. They have developed an Ionic version of Vue.js. There has also been an ongoing trend on GitHub.[00:21:20] Why do we keep having new frameworks and versions?The language of JavaScript itself is seeing rapid development. New features have been added, new web technologies developed, etc. One reason is that developers do more on the web. They want easier ways of building applications. There is no perfect framework so there has to be tradeoffs between the frameworks. There is no perfect solution for every application so need a framework for every application.[00:23:16] What is left undone in Vue.js?It is complete as far as something can be complete. Developers are working on service rendering to improve search engine optimization and initial rendering performance. They are also working on progress web app support. [00:28:02] What drives the way that Vue grows?There is simplicity in their documentation. While the documentation is simple, the framework is also easy to learn. Maximilian believes that the reason Vue.js took off is because the documentation and framework work together nicely.[00:31:19] What is going to keep Vue around?The support is not based on corporation, but there is an Asian company that is developing a framework that uses Vue to with their own product. Because of this, can draw an assumption that they will keep Vue.js around. Vue.js also has a strong community and core team, giving it a good support system.[00:34:15] What are people using if they want to use Native Apps but they want to use Vue?They are having a hard time right now. Frameworks for Quasar and Weex are in the early stages. A Vue.js app needs to be built but there are packages that are working in that direction.[00:37:25] How do you structure your Udemy courses and what do you think of that as a whole?Maximilian started teaching Udemy courses about one and a half years ago. He really enjoys teaching. Each course follows a similar pattern. He starts with a rough topic, researches the topic to see what is in demand, and builds a course around projects. He then fits all the things he wants to teach into the project, plans the course curriculum, records and edits the lecture videos, and then finally releases the course.[00:39:22] What do you get the most questions about with your Vue course?Questions are mixed. Students dive into the course quickly but then pause. Most questions are about the basics. They usually have something to do with the first few sections of the course or setup problems.Picks          AJ:
                      • Broke Eatery 
                      • Dream Dinners
                      Aimee:
                      • Julie Evans blog 
                      • Nodevember
                      Charles:
                      • The Ketogenic Diet
                      • 2 Keto Dudes Podcast 
                      Max:
                      • Nuxt.js Framework 
                      • Slack “Chat with yourself” Channel
                      Links
                      • Onsen UI for Vue
                      • Twitter
                      • Youtube
                      • https://academind.com/
                      • Utemy Vue.js Course 
                      Special Guest: Maximilian Schwarzmüller.

                      Support this podcast at — https://redcircle.com/javascript-jabber/donations

                      Privacy & Opt-Out: https://redcircle.com/privacy

                      Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                      51 min

                    About JavaScript Jabber

                    From the publisher's feed

                    Stay current on JavaScript, Node, and Front-End development. Learn from experts in programming, careers, and technology every week.

                    Become a supporter of this podcast:

                    More shows like JavaScript Jabber

                    Freakonomics Radio by Freakonomics Radio + Stitcher

                    Freakonomics Radio

                    31,924 Listeners

                    The Tim Ferriss Show by Tim Ferriss: Bestselling Author, Human Guinea Pig

                    The Tim Ferriss Show

                    16,046 Listeners

                    The Changelog: Software Development, Open Source by Changelog Media

                    The Changelog: Software Development, Open Source

                    286 Listeners

                    Ruby Rogues by Charles M Wood

                    Ruby Rogues

                    45 Listeners

                    The Freelancers' Show by Charles M Wood

                    The Freelancers' Show

                    23 Listeners

                    The a16z Show by Andreessen Horowitz

                    The a16z Show

                    1,093 Listeners

                    Software Engineering Daily by Software Engineering Daily

                    Software Engineering Daily

                    623 Listeners

                    Talk Python To Me by Michael Kennedy

                    Talk Python To Me

                    581 Listeners

                    iPhreaks by Charles M Wood

                    iPhreaks

                    17 Listeners

                    React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

                    React Native Radio

                    67 Listeners

                    Adventures in Angular by Charles M Wood

                    Adventures in Angular

                    15 Listeners

                    JavaScript Jabber by Charles M Wood

                    JavaScript Jabber

                    62 Listeners

                    Ruby Rogues by Charles M Wood

                    Ruby Rogues

                    21 Listeners

                    My JavaScript Story by Charles M Wood

                    My JavaScript Story

                    4 Listeners

                    My Ruby Story by Charles M Wood

                    My Ruby Story

                    0 Listeners

                    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                    Syntax - Tasty Web Development Treats

                    983 Listeners

                    The Indicator from Planet Money by NPR

                    The Indicator from Planet Money

                    9,516 Listeners

                    Tech Brew Ride Home by Morning Brew

                    Tech Brew Ride Home

                    960 Listeners

                    All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

                    All-In with Chamath, Jason, Sacks & Friedberg

                    10,177 Listeners

                    Deep Questions with Cal Newport by Cal Newport

                    Deep Questions with Cal Newport

                    1,345 Listeners

                    Dwarkesh Podcast by Dwarkesh Patel

                    Dwarkesh Podcast

                    549 Listeners

                    Latent Space: The AI Engineer Podcast by Latent.Space

                    Latent Space: The AI Engineer Podcast

                    104 Listeners

                    BG2Pod with Brad Gerstner and Bill Gurley by BG2Pod

                    BG2Pod with Brad Gerstner and Bill Gurley

                    454 Listeners

                    AI + a16z by a16z

                    AI + a16z

                    31 Listeners