mike

JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen


JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in.


[1:56] Is Node 8 just an update or is there more?
  • More than just an update
  • Two main points:
  • Improved Prana support
  • Native API
  • Native APIs are helpful for Native Add-ons. For both the consumer and the developer side.
  • Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs.
  • Causes these modules to be updated or reconciled every time these modules are rereleased.
  • Creates burden for module maintainers.
  • Creates friction in upgrading Node versions in production departments.
  • If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node.
  • Creates compatibility issues with Node users not using Node 8
  • Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible.
  • Important milestone for the module ecosystem.
  • You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front.
  • Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that.
  • As a side benefit, you can have another VM to take advantage of that.
  • Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated.
  • Deep dependency wise, about 30% depends on a Native module somewhere
  • In the future, with the Native API, you’ll be able to update Node without breaking modules.
[5:51] What kind of work went into this?
  • Most of the work was in C++
  • First thing that was done was, they looked at the top dependent Native modules in the ecosystem.
  • Looked for what kind of V8 exposure they had and cataloged it
  • Looked at how these APIs and what their purposes were
  • Looked for a way to extract them so that they are part of Node Core
  • Created neutral APIs, now part of the Node core.
  • All C APIs
  • Also has a C++ wrapper to improves usability of the API.
[7:17] What’s an example of what you can do with these APIs?
  • Native modules allows for tighter integration and better module performance
  • Specific APIs that you can use in V8 that isn’t available through JavaScript
  • If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API
  • Having it bound directly to the VM was something they wanted for a long time
  • Google controls V8 and they bind to V8
  • Created a better relationship with Google starting in IOJS
  • Also worked with Microsoft with their Node Shocker work.
  • Same with SpiderMonkey
  • SpiderNode is in the works
[9:23] Have you guys done any testing for performance?
  • Some. There is a performance working group.
  • There is a need to stay on top of V8
  • V8 team has focused on new language features
  • Many features have been added over the years
  • Many didn’t come in optimized
  • The performance profile has changed with these features
  • If you’re using new language features, you will see a performance boost
  • In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer
  • Turbo C compiler hasn’t landed yet, but is to come.
  • Will have a completely different performance profile
  • In most real world applications it will be faster
  • Waiting on the release to take a version of V8 to make it easier to upgrade features in the future
[11:28] Are the new features picked up from V8 or implemented in Node?
  • It’s all in V8
  • Better longterm support
  • Promises are made better in Node as a platform
  • Added new method called util.promisify()
  • Implementation comes from V8
  • Allows for more optimization for promises in Node core
  • Promise support for the one-deprecated domains module.
[13:02] Is there anything more than NMP 5?
  • First off, delete your NMP cache.
  • It’s in your home directory usually with a .npm extension
[14:09] What are the new features in V8?
  • Unlimited heap sizes, previously had a 4gb limit. No fixed limit.
[14:09] Will you see things like chakra come out tuned for servers?
  • Profiles of a server for application process are getting smaller
  • Getting cut into containers and VMs and micro services
  • Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future
  • Yes, especially if you’re using cloud functions
  • V8 is optimized for phones, but Chakra is even more so
  • Looking for opportunities for VMs can be solely optimized for a device target
  • Node take advantage of that VM
  • VM neutrality is an interesting concept
  • VM Vendors trying to optimize it based on workloads of a server
  • Opens opportunities for Node
  • Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store
  • Node is not just for servers anymore
  • Node doesn’t take a long time configuring it
  • When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works.
  • VM neutrality gives a new vector, so you can swam a whole different VM
[18:44] When running different engines like iOS vs Android, does the profile change?
  • What it comes down to is if it’s eventive programming
  • The browser is an eventive environment, is very efficient waiting for things to happen before it does something
  • The way that we program servers and nodes are the same as well
  • the basics are the same generally
  • environmental differences exist but the programming model is usually the same
  • What does impact it is memory and processor and hardware and things like that
  • That is where tuning the VM comes into play
[20:29] What is the new Async Hooks API used for?
  • Node has been lacking for automated inspection of Async Hook
  • No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that
  • it’s a way for developers to write debugging features
  • Node tells the application that it’s working with Asynchronous way.
  • The embedded inspector has been embedded since Node 6
  • Now has a JavaScript API to use it
  • You can use things like Chrome debugger inside the running node process
  • Old debugging protocol has been removed
  • VM.run is still there but in the process of being deprecated
[22:34] How like is the experimental Node API will change?
  • Marked as experimental because it’s the first time in the open
  • Hopefully out of experimental soon
  • Soon can port API to the existing LTS
  • Looking for more people to participate with the new API and give feedback
  • Fix any concerns before it goes to LTS
  • Some other experimental things are in the works like ASync Hooks and how it interacts with promises
  • Renaming some features
  • Another new feature - serializer and deserializer that comes with V8
  • experimental but will most likely stay
[25:31] what is your standard for going to LTS?
  • Major releases every 6 months
  • Next Oct Node 9 will come out and then Node 8 will be LTS
  • Documentation, updates, additions etc will be ready then
  • Plan to do it for 2.5 years
  • Every even releases come out to LTS as the odd release comes out
  • Helps keeps a current line while having something new in the release line
  • Node 6 is the current LTS version
[27:26] What are you taking out or deprecating in Node 8?
  • Use the word deprecate sparingly
  • If many people use features, it’s hard to get rid of
  • Security issue with Buffer, constructor argument was ambiguous
  • Had added APIs that were more explicit over time and pushed those
  • Now it will be deprecated
[28:43] 21% - 33% Performance increase with some Node updates
  • Someone online updated their React app to Node 8 and found an 21% - 33% increase
  • Benchmarking group tests to make sure things are getting faster
  • V8 is always getting faster as well
  • Code changes fast and so there is a chance performance slows down so they have people to check
  • Benchmark test are all automated by a team
[30:47] Is it safe to just switch to Node 8?
  • For front-end, yes
  • clear your NPM cache
  • Back use cases will usually wait until LTS
[31:28] Where any of the features hard to implement?
  • The API work took about a year
  • It was a collaboration which made it interesting
  • IBM, Intel, Google were involved
  • The collaboration took a while
  • Also Async hooks took at least a year.
  • Async hooks used to be called async wraps and has been in the work for almost 3 years
  • many of the changes were the accumulation of small chances
[33:07] It’s the little things
  • Letting people get small changes in accumulate into a big difference
  • the product gets much better that way
[33:57] What versions of Node are you actively updating?
  • Current releases of Node 8 for a half of year
  • Node 6 is LTS
  • Additional year of maintenance of previous LTSs.
  • Schedule is at http://github.com/node8js/lts in a chart
  • Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8
  • Node 7 doesn’t get much support unless it’s vital security supports.
  • If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore
[35:42] Where do you see things going from here?
  • Mostly still working out Async hooks
  • Maybe add some web worker or worker support for Node JS
  • ES module support
  • Working to make promises better
  • Working on the performance profile and internal systems
[20:29] What is the adoption like of Node 8?
  • Node team gets better at getting people to adopt quickly
  • but about 5% - 6% will not upgrade
  • community doubles each year at 8 million users right now
  • Here is a graph on Twitter posted by NPM
  • Limiting breaks and softly deprecating things makes it’s easier to upgrade
[40:11] How can people contribute and get involved?
  • NodeToDo.org shows how to make contribution
  • Occasionally major conferences have information on how to contribute
  • Test it out and help make it stronger
[42:08] If people install Node 8 and have issues what can they do?
  • If it’s an NPM problem check with them
  • clear cache!
  • install newest version with: npm install -g npm@latest
  • Report problems to either NPM or Node
  • If you’re not sure where the problem is, check github.com/nodejs/help

Links

Node8 Node’s Twitter Node’s Medium Node Evangelism Group

Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter


Picks

AJ

Overclocked Remix Super Mario RPG Window to The Stars

Amiee

Blogpost RisingStack on Node 8
2 Frugal Dudes

Charles

Homeland
House of Cards

Joe

Shimmer Lake

Mikael

Blake2b-wasm

Aremesh

Current Nightly News





mike

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

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

Mike Ammerlaan

Vesa Juvonen

  • Family

A big thanks to Microsoft, DotNetRocks, and Build!




mike

MJS 030: Mike North

MJS 030: Mike North

This episode is a My JavaScript Story featuring Mike North. Tune in to learn more about how Mike started his journey as a developer in JavaScript!

[00:01:15] Introduction to Mike

Mike has a Frontend Masters Series for Ember 2 and has two other courses that help developers stand out from the software perspective.

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

Mike describes that he has taken a non-linear path to get to where he is now. He started programming as a teenager. He was laying dry wall with a construction company when he was 15 or 16. At the end of the job, he built a training app for the company in order to decrease their paperwork. Mike states that the programming work he does day-to-day he only learned two or three years ago.

[00:04:13] Is that due to things changing so quickly?

Mike’s role and passion keeps evolving. People pick what is important to them. A goal of his is to always stay learning; he enjoys having a deep understanding of topics. He enjoys using brand new skills and calls himself a “perpetual beginner.” Mike is always talking about something that he has just figured out how to do.

[00:05:20] How do you approach keeping current?

Mike thinks that it is impossible to keep up with everything. It is a full time job to keep track of everything. Developers don’t need to spend so much time going through information. He goes to teams once every quarter and helps them absorb the information in a distilled way so they do not have to filter through stuff such as what frameworks are worth paying attention to. This condenses the information and frees them from having to learn everything. Instead, they are able to focus on their product.

[00:08:27] How did you get into JavaScript and web development?

When Mike entered college, he was going into mechanical engineering and did not want to write code. He thought it was boring. When he began getting into code, it was because he could use it to solve real world problems. When he first started, he wrote engineering simulation code for Formula One racecars. When the iPhone came out, it gave him clarity that he wanted to work with that. He began to work with jQuery Mobile. He liked doing this enough that he ran a consultancy at night. He ran projects that he had no previous experience with in order to learn skills that would help him make JavaScript his full-time job.

[00:13:29] Where does Ember fit in with all of this?

When Mike started working at Yahoo, he became very familiar with Ember. Ember allowed employees to treat engineers as resources towards the larger goal of building and merging all apps together instead of having separate pockets of different technology everywhere. There were only a few Ember experts at the time, so Mike took advantage and spent a lot of time to gain expertise with the framework.

[00:16:50] What kinds of contributions do you feel like you’ve made to the JavaScript community?

Mike believes the way he has contributed to the community has evolved over time. In the past, he wrote libraries and worked with issues in the framework itself. The impact he has now is representing newcomers to a technology. He does workshops at conferences. He loves teaching and enabling people.

[00:19:07] How do you structure the learning to make it that it is approachable for people? How do you address both audiences?

As far as newcomers to programming, there is an alarming statistic of companies hiring computer programmers at 400% of the rate at which CS majors can graduate. The demand for software engineers exceeds the ability to educate conventionality. This means companies have to take people seriously that were educated via boot camps. There is a lot of material for new beginners. For people who are established programmers but new to specific technologies, there is a huge gap of material. Video courses, tutorials, and books should be made more accessible for these people. Mike also believes it is the job of a senior engineer to spend time teaching people.

Books, tutorials, and trainings that scrape the surface disappoint Mike. This has informed the techniques he uses to teach during his workshops. Students spend 50% of their time solving problems. His students are given code tests and spend time working how to solve problems. It takes a long time to build his curriculum but it is his main focus right now.

Picks

Mike:

Charles

Links




mike

MJS #031 Mike Hostetler

MJS 031: Mike Hostetler

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

[00:50] – Introduction to Mike Hostetler

Mike was on episode 133 which was like 2.5 years ago.

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

First computer

Mike got their first computer when he was 5 or 6 years old. 286 IBM Clone had a command prompt that he spent several years trying to figure out how to code with it until he stumbled on a few basic books at their local public library in junior high. He began teaching himself how to code with QBasic and Borland C++. He, then, found the internet early high school and downloaded the Mosaic browser. He started coding HTML and early JavaScript, late 90’s. Then, he went off to college to get a Computer Science degree.

First job

When Mike was late high school, he decided that he knew enough coding that he was going to try to get a job. He ended up finding web development companies in the phone book and calling each one of them, trying to explain that his 16-year-old self could help them code and build websites. He ended up landing a job and was paid minimum wage to build HTML sites - a lot of 1x1 pixels transparent gifs, coding HTML by hand and notepad. Then, he ended up working for that company for his first couple of years of college as well.

[05:30] – How did you wind up doing JavaScript?

After college, the job that Mike landed was spent on learning Microsoft technologies and then half on the open-source side of learning the LAMP stack. At that time, it required hand-coding JavaScript. His next role is building a custom mapping application which was a single page application that heavily relied upon JavaScript. This was client-side object-oriented. There were no frameworks but it was enough script to build a URL that called a custom CGI to render the map. So, he immediately jumped in and started using the early JavaScript frameworks and prototypes.

The role that Mike was in next was building a touchscreen capable device. They needed custom plug-ins to provide the highlight focus effect around the button. He needed to write a plugin to do that and jQuery has just been released. So, he stripped all the prototype code, throw JQuery in there, and then, write a plug-in to navigate this interface by keyboard.

[09:20] – Contributions with JavaScript

jQuery

Mike’s first participation was on the JQuery project. If you ever use the JQuery plug-ins site, the old site, that was his contribution. He ended up running infrastructure for JQuery for several years. JQuery launched his business career. He switched into an entrepreneur around 2009. Since then, he’s contributed in numerous ways through speaking, leading training, and writing articles. He was a co-author of the JQuery Cookbook.

Node.js

As Node began to get more popular, Mike switched his attention to Node and found passion around the Sails.js project. It was a Node framework that made it easy to build Express-powered apps with Node and limit a lot of the convention over configuration elements of the Sails framework. That morphed into ES6 rewrite of Sails called the Trails framework. Currently, he is an organizer of the Chicago Node.js Meetup and he’s a contributor to the Trails framework.

[11:50] – JQuery challenges and experiences

jQuery 1.4

Mike and the team made community’s problems their problems so the gravity of what they were working didn’t hit them very much until jQuery 1.4. They had an online conference. They all recorded talks and they’re releasing a talk a day for jQuery that will be going to accommodate the 1.4 release. He remembered that he was setting up, managing the servers, and was doing some last-minute configuration. Then, John had tweeted that 1.4 was ready, pointing to jQuery.com. The web server just ground to a halt as he saw the traffic come in off a tweet.

Open-source community

Mike remain friends with a lot of them. According to Mike, they were just normal people who made a choice to lean in, contribute, where those contributions ended up becoming popular. Looking forward, he said that he’s going to continue to contribute to the open-source community. He wants to help the junior developer that is learning ES6 for the first time and is solving a syntax error. From Mike’s perspective, technologies come in waves. jQuery was a wave but jQuery’s wave focuses its energy into JavaScript’s wave. Certain people catch a contribution wave. React is on the upswing. Node is in an interesting spot because they’ve been on the upswing for many years but there’s new work that could be done. He said that had a shot to be at the forefront of the wave and got to see it.

Advice

For anybody else that maybe listening, find a spot where there’s new ground that you can contribute to and just dive in and do what you can to solve a problem to make it better. You’ll catch your wave.

[21:00] – How to pick frameworks

Node frameworks

There was a Reddit thread about Node frameworks in 2017 that listed out all the possible frameworks. The classic answer is to use the right tool for the right job but Mike’s answer is: Node has grown so big that different frameworks are built to different people on the learning curve of Node. The other thing that Node has done is they have this culture of really running away from any Monolithic one-size-fits-all solution. The community of Node has made sure that they make space for an incredible diversity of solutions and frameworks.

Antipattern

The anti-pattern is: what is the best framework of 2017. That’s the wrong question in the Node culture. Look at your team, look at your project, what framework can you be most productive in and what framework can you contribute back into the community with? That is one of the key reasons that Node itself has remained and continued to grow in popularity.

[23:40] – Role in Sails and Trails

Mike’s not contributing to the Sails project at the moment. He has been focusing on the Trails project. He has written a couple of Trails packs or the equivalent of plug-ins, messed around with GraphQL. He is also helping answer questions in the Gitter chat – small ways.

[24:25] – Best ways to contribute

Stack Overflow

Go on to Stack Overflow. Subscribe to tags where you can answer questions. Every answer on Stack Overflow is a contribution. Go, watch, subscribe to the issue queues for the projects that you use. Just even sharing your experience with how you solve a problem, there is somebody that you could reach down to and answer their questions that take their burden off.

Gitter

Get involved in the Gitter chat. Listen, watch, stand on the sidelines, and see what’s going on how the community works.

Pull request

The next step, if you see a problem, submit a pull request, listen to see what the roadmap is, and see what you can contribute.

Infrastructure

A lot of projects need help in infrastructure in their build scripts to produce better-written code. You can document for them. If you wait for the next sexy thing to do, you’ll never get there. Be humble.

Fun

Remember that open-source is fun. If it becomes a drag, you are doing it wrong. Look for the opportunities that are aligned with what you do so it’s a fun, happy experience.

[26:45] – What are you working on now?

Raise Marketplace

Currently, Mike is taking on a new role as Director of Front-end Engineering at Raise Marketplace. It is a marketplace start-up in Chicago. His focus is rebuilding the front-end of Raise on a micro service Node.js in Go service architecture. They have also been listed to help some folks at Google in the web performance team. They are always hiring. If you are looking for a remote role for a start-up. Feel free to reach out to him on Twitter or on Raise.

ModernWeb

Mike’s side-project now is a website called ModernWeb.com, where they help connect companies with teams of software developers and tell the stories of those software projects. A lot of developers are great at writing code but are terrible at telling the awesome things that we do. So, ModernWeb exists to tell the stories of development. The great side effect is companies want to work with you when you tell your stories. They help complete that circle. Go over to ModernWeb.com and you can contact them through the website or you can drop him an email at mike@modernweb.com.

Picks

Mike Hostetler

Charles Max Wood

  •  




mike

JSJ 366: npm with Mikeal Rogers

Sponsors

Panel

  • AJ O’Neal
  • Chris Ferdinandi
  • Aimee Knight
  • Charles Max Wood

Joined by special guest: Mikeal Rogers

Episode Summary

This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks.

Links

Follow JavaScript Jabber on Devchat.tvFacebook and Twitter.

Picks

Chris Ferdinandi:

Aimee Knight:

Mikeal Rogers:

Charles Max Wood:




mike

JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Joe Eames

  • AJ O’Neal

  • Charles Max Wood

With Special Guests: Josh Thomas and Mike Hartington

Episode Summary

Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems

The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system.

The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington.

Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Chris Ferdinandi:

Charles Max Wood:

Joe Eames:

Josh Thomas:

Mike Hartington:




mike

JSJ 395: The New Ember with Mike North

Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interface

The panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. 

Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites.

They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. 

Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. 

They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible.

The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. 

Panelists

  • Charles Max Wood

  • Steve Emmerich

  • Chris Ferdinandi

  • Aimee Knight

  • AJ O’Neal

  • Christopher Buecheler

With special guest: Mike North

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Chris Ferdinandi:

Steve Emmerich:

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Christopher Buecheler:

Mike North:




mike

MJS 128: Mike Hartington

In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

Host: Charles Max Wood

Joined by Special Guest: Mike Hartington

Links

Sponsors

Picks

 Mike Hartington

Charles Max Wood:




mike

Indian Ocean adventure / photographs by Mike Wilson ; text by Arthur C. Clarke

Clarke, Arthur C. (Arthur Charles), 1917-2008




mike

The Bible and disability : a commentary / Sarah J. Melcher, Mikeal C. Parsons, Amos Yong, editors




mike

Acts : a handbook on the Greek text / Martin M. Culy, Mikeal C. Parsons

Culy, Martin M., author




mike

Truth, growth, repeat [electronic resource] : (a business manual for generation why) / by Mike Edmonds with Ronnie Duncan

Edmonds, Mike, author




mike

Zip! tips [electronic resource] : ZIPs for Outlook, iPad, iPhone, Gmail, Google, and much, much more! / Mike Song ; edited by Rachel Metzger

Song, Mike, 1964-




mike

Networked press freedom: creating infrastructures for a public right to hear / Mike Ananny

Dewey Library - K3255.A958 2018




mike

Secrecy, privacy and accountability: challenges for social research / Mike Sheaff

Online Resource




mike

Cyber rights: defending free speech in the digital age / Mike Godwin

Online Resource




mike

Chinese social media : social, cultural, and political implications / edited by Mike Kent, Katie Ellis and Jian Xu




mike

VP Mike Pence's press secretary tests positive for coronavirus

President Donald Trump, who publicly identified the affected Pence aide, said he was "not worried" about the virus spreading in the White House. Nonetheless, officials said they were stepping up safety protocols for the complex.




mike

Cities in Asia by and for the people /: edited by Yves Cabannes, Mike Douglass, and Rita Padawangi.

Rotch Library - HT169.A78 C57 2018




mike

Coronavirus Q&A: Former Utah Governor and HHS Secretary Mike Leavitt

US states are taking the lead in managing the COVID-19 pandemic. What can state governors expect from the federal government and from the US Department of Health and Human Services? Governor Mike Leavitt from Leavitt Partners joins JAMA Editor Howard Bauchner, MD, in this live Q&A. Recorded April 8, 2020.




mike

Air demand in a dynamic competitive context with the automobile / RSG, Inc., with Matthew Coogan, Mark Hansen, Richard Marchi, Nancy McGuckin, Megan Ryerson, Mike Welch

Barker Library - TL725.3.P3 A37 2019




mike

Wakanda forever / writers, Nnedi Okorafor, Priest, Don McGregor & Reginald Hudlin ; artists, Alberto Alburquerque, Oleg Okunev, Mike Perkins, Daniel Acuna & Ken Lashley ; inkers, Ray-Anthony Height, Alberto Alburquerque, Juan Vlasco & Keith C

Barker Library - PN6728.W255 O36 2018




mike

The fearsome Doctor Fang / Tze Chun, Mike Weiss, Dan McDaid, Daniela Miwa

Barker Library - PN6728.F437 C48 2018




mike

Girl on film: a graphic novel memoir / written by Cecil Castellucci ; illustrated by Vicky Leta, Melissa Duffy, V. Gagnon & Jon Berg ; colored by Kieran Quigley & Joana Lafuente ; lettered by Mike Fiorentino

Barker Library - PN6727.C389 Z46 2019




mike

Maggio, Mike R




mike

Koulianos, Mike G




mike

Tampa Natives Show: wrestling - Mike Graham




mike

Tampa Natives Show: tribute to Mike White (Big Cracker)




mike

Tampa Natives Show: wrestling- Mike Graham Part II




mike

Mike Stuart




mike

Mike Salmon




mike

Mike Lott




mike

Mike Resnick collection




mike

Mike DiBona papers




mike

Marriage record of Willis, Mike and Liferidge, Ada




mike

Marriage record of Waters, Mike M. and Franklin, Julia A.




mike

Marriage record of Perry, Wayman and Mike, Lee




mike

Marriage record of Jones, Mike and McCloud, Lucinda




mike

Faithful Mike, the Irish hero




mike

Marriage record of Mikel, Henry and Bell, Carrie




mike

Marriage record of Larry, Arthur and Mike, Viola




mike

Marriage record of Mirabella, Mike and Marina, Santa




mike

Michael "Mike" Breen oral history interview




mike

Young Wild West and "Maverick Mike," or, Arietta and the round up




mike

Mike Perry Florida Dept of Forestry




mike

Prescribed fire crew Annie Schmidt, Jill Lehman, Sheryl Bowman, Mike Perry, and Ken Bradshaw




mike

Young Wild West and "Missouri Mike," or, The worst man in Wyoming




mike

How art made pop and pop became art / Mike Roberts

Lewis Library - ML3849.R62 2018




mike

United Nations Foundation Honors LexisNexis CEO Mike Walsh with Global Leadership Award for Advancing Rule of Law

New York, NY -- LexisNexis Legal & Professional, today announced that Mike Walsh, CEO of LexisNexis Legal & Professional, will receive a Global Leadership Award from the United Nations Foundation in recognition of the company's contributions to advancing the rule of law globally.




mike

Researching health : qualitative, quantitative and mixed methods / edited by Mike Saks & Judith Allsop