Loading…
for Node Interactive North America 2017
View analytic
Wednesday, October 4
 

7:30am

Registration & Continental Breakfast
Wednesday October 4, 2017 7:30am - 9:00am
TBA

9:00am

Keynotes
Wednesday October 4, 2017 9:00am - 10:30am
West Ballroom A

10:30am

Break
Wednesday October 4, 2017 10:30am - 11:00am
TBA

10:30am

Technology Showcase
Wednesday October 4, 2017 10:30am - 7:30pm
TBA

11:00am

Session presented by Ashley Williams
TBA

Speakers

Wednesday October 4, 2017 11:00am - 11:30am
West Ballroom A

11:00am

Journey to Node.js Core Using End-to-End Workload Node-DC-EIS [I] - Priyanka Sulugodu Prakash Murthy, Intel
Node.js is excellent in handling asynchronous events but emerging enterprise use cases are becoming very complex as Node.js is being used for many adjacent areas also. We are developing an end-to-end workload https://github.com/Node-DC/Node-DC-EIS which is exercising many critical features of Node.js like async.js call, anonymous functions, connections to different schemas of mongo DB etc. We are using this workload to evaluate monolithic mode vs. cluster mode vs. micro-services as well as impact of different schema architecture, local caching etc. while monitoring internals of Node.js event loop. In addition to throughput, it reports 99 percentile of response time. We are also containerizing the workload to understand the impact on throughput and response time. Using top-down performance methodology, build-in Node.js monitoring as well as HW counters, we are working to understand the internals of Node.js and how different critical Node.js components exercise a typical Data Center resources. This will help Node.js developers and architects in understanding Node.js pitfalls and writing applications which will scale in an enterprise Node.js environment which is essential for long term success of Node ecosystem.

Speakers
avatar for Priyanka Prakash

Priyanka Prakash

Software Engineer, Intel Corporation
During her graduation, Priyanka worked as a Research Student at University of Southern California under Professor Cyrus Shahabi on a project iHealth, for clinical evaluation of patients with musculo- skeletal disorders using a 3D sensor(Microsoft Kinect). After graduating from Un... Read More →


Wednesday October 4, 2017 11:00am - 11:30am
West Meeting Room 120

11:00am

Everything You Wanted to Know About Logging - Charlie Robbins, GoDaddy
In software the act of logging is like breathing: you simply cannot avoid it. It is also (like one's own breathing patterns) quixotically nuanced. The expressions of this nuance can be seen in the number of ways it is used: in production server programs, in CLI tools, in web browsers, in native Mobile apps, just to name a few.

Winston is the most popular logging library for node. Released in early 2011, it is almost old as node itself. Over time there have been many other libraries that co-exist in the logging space: bunyan, bole, & pino. Yet the popularity of winston persists with over 6.5M monthly downloads and over 200 community contributed packages.

This talk will explore winston@3 and contrast it with other logging solutions that exist today. Not just from the perspective of performance, but from the perspective of flexibility across platforms.

Speakers
avatar for Charlie Robbins

Charlie Robbins

Director of Engineering, GoDaddy
Charlie has been a Gold Director of the Node Foundation, and is currently a Director of Engineering at GoDaddy where he is leading convergence around JavaScript and Node.js across several products through the UX Platform. Charlie was previously the founder and CEO of Nodejitsu (a... Read More →


Wednesday October 4, 2017 11:00am - 11:30am
West Meeting Room 122

11:00am

WORKSHOP: A Complete IoT Workshop (B) - Jeremy Foster, Microsoft
Time to learn some full spectrum IoT solution development!
In this hands on workshop, you'll work in a small group to hook a Raspberry Pi 3 and a simple electronic circuit and then write the code to send data to Azure IoT.
We'll read a camera, flash lights, push buttons, and learn a lot! If you like hacking on hardware and software, or if you have never done this but want to try, this workshop is for you.
In this workshop you will learn things like:
• Getting a Raspberry Pi up and running to code using Node.js
• Deploying code to your RP wirelessly
• Wiring up a basic electronic circuit on a breadboard
• Using the GPIO pins to read a button and flash an LED
• Capturing images from a camera and analyzing then using Microsoft Cognitive Services
• Sending data to Azure IoT Hub

Speakers
avatar for Jeremy Foster

Jeremy Foster

Senior Software Engineer, Microsoft
Jeremy loves his family, the outdoors in the Pacific Northwest, writing code, and even more talking about writing code.


Wednesday October 4, 2017 11:00am - 12:50pm
West Meeting Room 117

11:40am

Node.js Community Benchmarking Efforts [I] - Wayne Andrews, IBM
Benchmarks and the information they provide are important to ensure that changes going into Node.js don't regress key attributes like startup speed, memory footprint and throughput. Come and hear about some of the fundamentals of benchmarking, how to go about narrowing down the cause of a regression between versions of node along with the efforts underway in the community benchmarking workgroup (https://github.com/nodejs/benchmarking) to run/capture/report and act on benchmark information.

Speakers
WA

Wayne Andrews

Mr, IBM (UK) Ltd
Wayne Andrews is a software engineer in the Runtime Technologies group at IBM Hursley Park, UK. In the last few years, he led the team responsible for building the IBM Java SDK before moving on to specialise in SVT on Java, and later, the Python, and Ruby runtimes. In 2016 he mov... Read More →


Wednesday October 4, 2017 11:40am - 12:10pm
West Meeting Room 120

11:40am

12:20pm

Back Pressure, or, Don't Accept Work Before You're Ready [I] - Sam Roberts, IBM Canada
Back pressure is a network protocol concept that is key to writing node services that perform well under load, and that don't accept more work than they are ready to do or store data without bounds if the data can't be acted on (yet). Scalability is a strength of Node.js, but requires careful construction of data flow in your application to break up CPU processing so multiple large requests can make progress simultaneously. Learn how streams support back pressure and how you can take advantage of it in your applications.

Speakers
avatar for Sam Roberts

Sam Roberts

senior software engineer, IBM Canada
Sam Roberts is a Node.js collaborator, mostly contributing to child and cluster process handling, TLS, and documentation. He arrived at Node.js from C systems programming on undersea submersibles, through PKI and crypto SDK implementation, and then multi-language (Lua/C/Python) n... Read More →


Wednesday October 4, 2017 12:20pm - 12:50pm
West Meeting Room 122

12:20pm

On How Your Brain is Conspiring Against You Making Good Software - Jenna Zeigen, Digital Ocean
If there's anything that decades of psychology research have shown us, it's that human cognition is full of bias and fallacy. Even smart software engineers are not immune to being humans. In fact, there's so many things keeping us from being the best developers we could be, preventing us from planning our work effectively to assembling the best teams to being productive in that open office. This talk will go over pieces of psychological research in an effort to make people aware of how their minds work, how it’s making us worse at tech, and what we can do about it.

Speakers
avatar for Jenna Zeigen

Jenna Zeigen

Engineering Manager, DigitalOcean
One morning, Jenna awoke to find that she had transformed into a programmer. She's been psyched about coding ever since. She's currently swimming with JavaScript at DigitalOcean as the Engineering Manager for their Frontend Infrastructure team. When she's not teaching pixels to p... Read More →


Wednesday October 4, 2017 12:20pm - 12:50pm
West Meeting Room 120
  • Talk Difficulty Any

12:50pm

Lunch
Wednesday October 4, 2017 12:50pm - 2:20pm
TBA

2:20pm

Node And Learn: How to Create a Local Node.js Community [B] - Yosuke Furukawa, Recruit Technologies
Node Japanese User Group has over 3000 members, and we have meetups or workshops in every months. This talk provides how Japanese Node Community is grown up and how we interact with global community.

This talk includes the following topics:

- Introduction Node.js Japan User Group (Introduction Japanese famous Noder and libraries)
- How to create Node Developers in Japan (Code And Learn / NodeSchool)
- How to improve Node Community (NodeGirls in Japan / CodeOfConduct)
- How to collaborate with Global Node.js Community (NodeFest guests)

Speakers
avatar for Yosuke Furukawa

Yosuke Furukawa

Yosuke Furukawa, Recruit Technologies
Yosuke leads the Japan Node.js User Group and is an organizer of NodeFest. Yosuke has an interest in ESNext, new protocols like HTTP/2, WebRTC, and testing tools. He built the tower-of-babel, ES2015 tutorial tool and is now getting into universal web applications using React and... Read More →


Wednesday October 4, 2017 2:20pm - 2:50pm
West Ballroom A

2:20pm

Node.js Does 30 Billion Transactions Per Day [B] - Joran Siu, IBM
We all know that Node.js can scale, but how far and what's needed? Come learn how we scaled Node.js based AcmeAir to 30 billion transactions/day. The hardware, the software and the key challenges along the way that had to be overcome in order to get the 350,000 transactions per second! AcmeAir is one of the benchmarks used by the community to track Node.js performance, come learn more about this benchmark and how far it can scale.

Speakers
JS

Joran Siu

Senior Software Developer, IBM
Joran Siu is IBM Runtimes Architect for z Systems, responsible for the Node.js and Java runtimes on the platform. He was a key contributor in porting Node.js and V8 JavaScript engines to Linux on z Systems, and previously worked on IBM Testarossa Just-In-Time Compiler for Java. H... Read More →


Wednesday October 4, 2017 2:20pm - 2:50pm
West Meeting Room 122

2:20pm

Gold Sponsor Session
Wednesday October 4, 2017 2:20pm - 2:50pm
West Meeting Room 120

2:20pm

WORKSHOP: Data Science Survival Kit (I) - Philipp Burckhardt, Carnegie Mellon University & Athan Reines, Independent Software Engineer
One of the next frontiers for Node.js world domination is data science. Yet the field of data science can appear intractable and overwhelming, leaving newcomers at a loss for knowing where to begin. But once you learn basic principles, you will see many opportunities for applying data science techniques in your projects.

In this workshop, Athan Reines and Philipp Burckhardt will show you how to leverage Node.js for data science. We’ll run through a series of brief exercises, allowing you to get a hands-on introduction to analytics, machine learning, and exploratory data analysis and visualization.

By the end of this workshop, you’ll have a solid understanding of what kind of problems you can approach using data science techniques and you’ll have experience conducting a full analysis from start to finish.

Speakers
PB

Philipp Burckhardt

PhD Student, Carnegie Mellon University
Philipp Burckhardt is a PhD Student in the joint Statistics & Public Policy program at Carnegie Mellon University. He hold a Master's degree in Applied Statistics from the University of Oxford and a Bachelor's degree in Economics from Humboldt-University. Some of his interests ar... Read More →
avatar for Athan Reines

Athan Reines

Software Engineer, Independent
Athan Reines is a full-stack engineer and data scientist. He has a PhD in Physics, where he used machine learning and time series analytics to probe biological systems at the nanoscale. He currently works full-time on open source projects to facilitate numeric computing in Node.j... Read More →


Wednesday October 4, 2017 2:20pm - 4:10pm
West Meeting Room 117

3:00pm

The JS Ecosystem: Making Sense of the Madness - Ethan Brown, Pop Art
Being a JavaScript developer in 2017 is daunting. The proliferation of standards, frameworks, paradigms, tools, and services can be overwhelming. A lot of JavaScript developers don't even write JavaScript! This talk gives you practical advice on navigating the massive, chaotic JS ecosystem, and how to evaluate what technologies are most relevant and valuable to you.

Speakers
avatar for Ethan Brown

Ethan Brown

Director of Engineering, Pop Art
Ethan is Director of Engineering at Pop Art, a Portland, Oregon software company specializing in digital content management. He is author of two O'Reilly titles: Web Development with Node and Express, and Learning JavaScript, 3rd Edition. He holds undergraduate degrees in Compute... Read More →


Wednesday October 4, 2017 3:00pm - 3:30pm
West Ballroom A
  • Talk Difficulty Any

3:00pm

Node.js at Alibaba [A] - Joyee Cheung, Alibaba Cloud
In this talk I will cover the story of Node.js at Alibaba, a top Chinese Internet company consisting of many different subsidiaries, each with its own technical stack and business focus. I will talk about our effort to unify the Node.js development practices across the Alibaba group (frameworks, infrastructures, deployment, .etc), and how Node.js applications in Alibaba deal with the challenges of our Double 11 sales.

I will also talk about the open source Node.js projects from Alibaba (including egg.js and cnpm, two enterprise-facing projects born out of the unique environment of China), the public cnpm registry (funded by Alibaba Cloud, which serves millions of downloads from China per day), and the Chinese Node.js developer community.

Speakers
avatar for Joyee Cheung

Joyee Cheung

Developer, Alibaba Cloud
Joyee currently works on alinode at Alibaba Cloud. Alinode is an application management solution for Node.js in production, which has been used both inside and outside the Alibaba Group at scale. She is also a Node.js CTC member.


Wednesday October 4, 2017 3:00pm - 3:30pm
West Meeting Room 122

3:00pm

N-API - Next Generation Node API for Native Modules [I] - Michael Dawson, IBM & Arunesh Chandra, Microsoft
Until now, native module (add-ons) maintainers have had to recompile for each Node.js release as well as potentially updating their code to cope with the rapid pace of changes in the v8 APIs. The community API working group has been developing the N-API (Node-API) as a follow on to Nan to help solve this problem and insulate modules from changes in the v8 APIs.

By targeting the new API, modules will be able support a wide variety of Node.js releases without needing recompilation or abstraction layers such as Nan - reducing deployment time and maintenance effort for both module developers and Node.js end users.

With an initial version of the API slated to be part of Node version 8 as an experimental feature, it is a good time to come learn about the shape and usage of the new API from those working to implement it.

Speakers
avatar for Arunesh Chandra

Arunesh Chandra

Sr. Program Manger @ChakraCore, Microsoft
Arunesh Chandra is working on growing Node.js by extending it to use the ChakraCore engine. He is also working on supporting fresh ideas in the community like VM Neutrality for Node.js and bringing innovative diagnostic tooling like Time-Travel Debugging to Node developers.
avatar for Michael Dawson

Michael Dawson

Senior Software Developer, IBM
Michael Dawson is an active contributor to Node.js and a CTC member. He contributes to a broad range of community efforts including platform support, build infrastructure, N-API, LTS as well as tools to help the community achieve quality with speed (ex: ci jobs, benchmarking and... Read More →


Wednesday October 4, 2017 3:00pm - 3:30pm
West Meeting Room 120

3:40pm

Hooray for Arrays! Tips and Tricks for JavaScript's Best Object [B] - Erin McKean, IBM
Javascript arrays are special, in all senses of the word. In this talk, you'll learn everything you ever wanted to learn about arrays in Javascript (and probably more): what arrays actually are, fun ways to use arrays, array gotchas to avoid, differences in how arrays work in current and upcoming versions of Javascript, and (because this is Javascript) a few head-scratchers along the way.

Speakers
avatar for Erin McKean

Erin McKean

Developer Evangelist, IBM
Erin McKean loves talking about APIs to anyone who will stand still long enough. Before Node.js, she dabbled in Ruby, HyperCard, Perl, and Omnimark, and still finds herself writing bash scripts on a regular basis. Erin is also the founder of Wordnik.com, which has a lot of fun AP... Read More →


Wednesday October 4, 2017 3:40pm - 4:10pm
West Ballroom A

3:40pm

GraphQL in the Wild [I] - Steven Faulkner, Bustle
GraphQL is seeing rapid adoption in the JavaScript community. In part, thanks to an excellent reference implementation written in Node.js (graphql-js). Yet there are still many challenges to operating a GraphQL API in production and few real world examples of how to tackle them. Newcomers are often on their own for concerns such as:

- Authorization and authentication
- Extending built in types
- Sharing field definitions
- Deciding between Union and Interface types
- Custom default resolvers
- Project structure and organization

In this talk I'll discuss why Bustle rewrote our entire backend in GraphQL and how we solved these challenges along the way. I will also be open sourcing code extracted from our production GraphQL backend.

Speakers

Wednesday October 4, 2017 3:40pm - 4:10pm
West Meeting Room 122

3:40pm

Getting Involved in the Node.js Project - Bryan Hughes, Microsoft
Open source projects don't succeed on good code alone, they succeed because of a healthy and growing community. Over a thousand people have contributed to Node.js, and we're adding new contributors all the time.

The Node project is not one to rest on its laurels though. We have plans to make it easier for a larger, more diverse group of people to participate to the project.

Come hear the history of the Node.js project and why increasing participation has led to a better platform. Learn how the project makes it easy to contribute, and how we plan to make it even easier. Join us on our journey in creating a truly amazing platform!

Speakers
avatar for Bryan Hughes

Bryan Hughes

Technical Evangelist, Microsoft
Bryan Hughes is a technical evangelist at Microsoft, a member of the Node.js Technical Steering Committee, and chairperson of the Node.js Community Committee. Bryan is also the creator of Raspi IO, a Raspberry Pi plugin for the Johnny-Five JavaScript robotics library. Outside of... Read More →


Wednesday October 4, 2017 3:40pm - 4:10pm
West Meeting Room 120
  • Talk Difficulty Any

4:10pm

Break
Wednesday October 4, 2017 4:10pm - 4:40pm
TBA

4:40pm

My 20-Year Journey as a JS Engineer, Front to Back - Joe Sepi, IBM
As a self-taught JavaScript engineer who began his adventures in the web world from the design/front-end angle, I've always been a little intimidated by the backend, especially compiled languages like Java. I’ve been guilty of “throwing it over the fence” when it comes to the separation of front/back. However, with the awesomeness of Node.js, that fence has become much easier to see over. And now that I am familiar with the open source tool, LoopBack, I feel like I’m a Node.js API pro ... AND YOU CAN TOO! I literally want to API ALL THE THINGS!

I'd like to share with you my journey: my odd and late entry into programming, struggling with imposter syndrome, the search for community, overcoming the barrier between client/server and finding confidence to reside in that "full stack JavaScript" world. "My story" culminates in my current role as Lead Developer Evangelist for the StrongLoop team at IBM where I spend all day talking about and building APIs in Node.js using LoopBack. We'll look at how magical and awesome LoopBack is, which will make clear why I love my job.

Speakers
avatar for Joe Sepi

Joe Sepi

Developer Advocate, IBM
Joe Sepi is passionate about advancing the web forward through open source technologies and open communities. He has held engineering leadership positions at companies such as The New York Times, Adobe, Credit Suisse and Sears. Considering he enjoys interacting with people as muc... Read More →


Wednesday October 4, 2017 4:40pm - 5:10pm
West Ballroom A
  • Talk Difficulty Any

4:40pm

Take Your HTTP Server to Ludicrous Speed [I] - Matteo Collina, nearForm
Express, Hapi, Restify, or just plain Node.js core? Which framework should I choose? In my journey in nodeland, I always wonder about the cost of my abstractions. require(‘http’) can reach 25k requests/sec, Express 9k, and Hapi 2k.
I started a journey to write an HTTP framework with extremely low overhead, and Fastify was born. With its ability to reach an astonishing 20k requests/sec, Fastify can halve your cloud server bill.
How can Fastify be so.. fast? We will see start by analyzing flamegraphs with 0x, and then delve into --v8-options, discovering how to leverage V8’s feedback and optimize our code. We will discuss function inlining, optimizations and deoptimizations. We will discuss the tools and the libraries you can use to do performance analysis on your code. In Fastify we reach a point where even allocating a callback is too slow: Ludicrous Speed.

Speakers
avatar for Matteo Collina

Matteo Collina

Software Architect, nearForm
Matteo is a code pirate and mad scientist. He spends most of his days programming in Node.js, but in the past he worked with Ruby, Java and Objective-C. In 2014, he defended his Ph.D. thesis titled "Application Platforms for the Internet of Things". Now he is a Software Architect... Read More →


Wednesday October 4, 2017 4:40pm - 5:10pm
West Meeting Room 122

4:40pm

Node.js With Steroids: Make Better Node.js Application with Native Add-Ons - Nicola Del Gobbo, Packly S.R.L.
This talk is about creating Node.js interfaces for native libraries written in C or C++. It starts talking about various situations in which you need to build native addons and the common problems in doing that.
I'll discuss about the portion of the node.js documentation that describes native addons, the api fragmentation, and the reference provided by the Native Abstractions.
With all these tools and knowledge i'll show you how to build some addons from scratch and explain how to keep your code asynchronous.
Along the practical examples i will illustrate the best practice to follow in building native addon and give you some statistics about the performance improvements for the app that use native addons.
At the end i will show what will be the future developments will like and talk about new N-API.

Speakers
avatar for Nicola Del Gobbo

Nicola Del Gobbo

Developer, Packly S.R.L.
I'm very passionate in developing web & mobile application. I started my developer career as Java and PHP developer but in 2013 i discovered Node.js and i fell in love with JavaScript. Now I'm a fullstack JavaScript developer and I try to give my contribute to all technologies th... Read More →


Wednesday October 4, 2017 4:40pm - 5:10pm
West Meeting Room 120

4:40pm

WORKSHOP: Building Interactive Workshops with Electron - Seth Vincent, Development Seed
How do we best guide new developers through the initial steps of setting up a computer with needed dependencies? How might we write tutorials that guide the learner through using the same tools that they would use in their daily work in a gentle, incremental way? And how can we make this work cross-platform?

Adventuretron is a toolkit for building self-guided, interactive workshops with Electron. In this workshop, we'll complete the adventuretron-adventure workshop, which will guide you through creating a desktop app with localization, interactive & testable code blocks, and progress tracking that gives feedback on the learner's work.

Speakers
avatar for Seth Vincent

Seth Vincent

developer, Development Seed
Seth Vincent is a JavaScript developer, community organizer, and writer who also spends time on research, design, and usability testing. He recently joined the team at Development Seed, maintains open source projects like javascripting, a NodeSchool workshop for introductory Java... Read More →


Wednesday October 4, 2017 4:40pm - 5:50pm
West Meeting Room 117
  • Talk Difficulty Any

5:20pm

Panel: What Module Developers Would like Node.js Core Developers to Know - moderated by James Snell, nearForm
This panel discussion will feature module and ecosystem developers who will be asked to discuss the top things that Node.js Core developers should know about the ecosystem. What are their priorities? What makes their lives more difficult? What should core be doing better? What should we not be doing at all?

Speakers
JS

James Snell

nearForm


Wednesday October 4, 2017 5:20pm - 5:50pm
West Meeting Room 120
  • Talk Difficulty Any

5:20pm

High Performance JS in V8 [I] - Peter Marshall, Google
This year, V8 launched Ignition and Turbofan, the new compiler pipeline that handles all JavaScript code generation. Previously, achieving high-performance in Node.js meant catering to the oddities of our now-deprecated Crankshaft compiler.

This talk covers our new code-generation architecture - what makes it special, a bit about how it works, and how to write high performance code for the new V8 pipeline.

Speakers
avatar for Peter Marshall

Peter Marshall

Software Engineer, Google
Peter is working on making JavaScript fast in Chrome and Node.js. New ES6 features beware.


Wednesday October 4, 2017 5:20pm - 5:50pm
West Ballroom A

5:50pm

Booth Crawl
Wednesday October 4, 2017 5:50pm - 7:20pm
TBA

7:30pm

Evening Event
Wednesday October 4, 2017 7:30pm - 10:00pm
TBA
 
Thursday, October 5
 

9:00am

WebAssembly and the Future of the Web [I] - Athan Reines, Independent Software Engineer
WebAssembly has generated a significant amount of buzz since being first introduced and subsequently reaching cross-browser consensus. Several in the Node community have talked about WebAssembly allowing Node.js to fulfill the promise of the JVM, providing an efficient compile-to target with a single runtime. While WebAssembly is a significant development and will certainly affect how Node.js developers build their applications, some clarity is needed in helping developers better understand the implications WebAssembly will have on application development. To this end, this talk will inform developers as to what WebAssembly is and is not, help them understand why they should even care about WebAssembly in the first place, and enable them to make informed decisions when choosing whether to implement functionality in WebAssembly or as a Node.js add-on.

Speakers
avatar for Athan Reines

Athan Reines

Software Engineer, Independent
Athan Reines is a full-stack engineer and data scientist. He has a PhD in Physics, where he used machine learning and time series analytics to probe biological systems at the nanoscale. He currently works full-time on open source projects to facilitate numeric computing in Node.j... Read More →


Thursday October 5, 2017 9:00am - 9:30am
West Ballroom A

9:00am

What's a Wasm? - Paul Milham, WildWorks
WebAssembly (wasm) represents a potential sea change in the Javascript world. But what is it? Will it replace Javascript? Can it make my code magically faster? In this session we'll cover all the basics of wasm. We'll discuss what wasm is, how it interfaces with Javascript and how to use it. First, we'll cover wasm at a high level and walk through its binary and textual representation. Second, we'll see how it interfaces with Javascript by seeing calls to and from wasm modules. Third, we'll build a wasm module using wasm-init and C++. Wasm holds immense potential for many different applications. Developers will leave the session understanding how wasm could fit into their application and have the knowledge necessary to implement it.

Speakers
PM

Paul Milham

Lead Developer, WildWorks
My name is Paul Milham. I'm a lead developer at WildWorks where I spend my time using Node.js to keep the millions of kids who play Animal Jam safe. Keeping children safe online is an ever evolving challenge that requires adaptability. I love games and Javascript. Luckily the two... Read More →


Thursday October 5, 2017 9:00am - 9:30am
West Meeting Room 122
  • Talk Difficulty Any

9:00am

Break-Up With Your Server, But Don’t Commit to a Cloud Platform [B] - Linda Nichols, Emerging Technologies
Serverless applications are the future of lightweight, scalable, and performant application development. Developers are breaking apart their monolith applications into smaller, purpose-focused microservices. Moving to a “Serverless” environment really refers to migrating a fully-hosted application to use a Function as a Service (FaaS) offering from one of the big cloud platform providers. These functions can then be executed by HTTP, webhooks, and other events that are internal and external to the platform. They also have easy access to any services offered by the cloud platform on which they are deployed.

What if you want to go “serverless,” but don’t know which cloud provider is best for you, your company, or your clients? What if you’ve decided on a cloud platform, but there’s a chance that you may change your mind mid-project? If you change, does that mean that you have to rewrite your application code?

You shouldn’t have to make that commitment. Each provider is different, but the top four: Amazon Web Services, Microsoft Azure, IBM BlueMix, and Google Cloud Platform all have similar FaaS, security, database, and storage services. Just as data can be migrated between services, developers should be able to write Node.js microservices once and deploy them similarly on several platforms.

In this talk, I’m going to show how developers can go “serverless” with their Node.js applications and maintain the flexibility that they need in their deployment environment. Using Node.js, Serverless Framework, and provider-specific framework plugins, I’ll demonstrate how the same Node.js microservice can be deployed to four different cloud platforms. Once deployed, each service can then be executed to illustrate how seamless a provider change is to the end user. These tools and deployment methodologies should make developers should feel more confident in adopting a serverless architecture without the concern they may get locked into any particular cloud platform.

Speakers
avatar for Linda Nichols

Linda Nichols

Senior Software Engineer, Emerging Technology Advisors
Linda is a senior software developer at Emerging Technology Advisors. In addition to creating software, she has a passion for community involvement and education. She is a co-founder of Norfolk.js, NodeBots Norfolk, and RevolutionConf. She also teaches a variety of local robotics... Read More →


Thursday October 5, 2017 9:00am - 9:30am
West Meeting Room 120

9:00am

The Node.js Performance Workshop (I) - Matteo Collina & David Mark Clements, nearForm

We’ve been discovering how to write performant JavaScript in Node.js since the beginning.
Before we knew how it was it done it all seemed so magical. But as we became better at
understanding fast-scrolling text littered with hex addresses we began a journey to solidify our approach and share it with others. Our primary strategy? Build tools that make optimizing Node easier, then formalize a workflow process around those tools.
The workshop is extremely interactive. We make sure that each participant solves several performance issues in a given HTTP application. Our methods and tools include 0x for flamegraph generation, autocannon for HTTP/1.1 benchmarking, v8 trace analysis, and bytecode interpretation all within a structured analysis workflow.

The workshop is for intermediate Node.js developers with a minimum of 1 years experience. Participation requires a recent version of either Linux or macOs, or otherwise a VM running a recent Linux version.

Speakers
avatar for Matteo Collina

Matteo Collina

Software Architect, nearForm
Matteo is a code pirate and mad scientist. He spends most of his days programming in Node.js, but in the past he worked with Ruby, Java and Objective-C. In 2014, he defended his Ph.D. thesis titled "Application Platforms for the Internet of Things". Now he is a Software Architect... Read More →


Thursday October 5, 2017 9:00am - 11:10am
West Meeting Room 117

9:40am

High Performance Apps with JavaScript and Rust, It's Easier Than You Think - Amir Yasin, 2U
NodeJS is amazing at lots of things, but computationally intensive or low level tasks aren't among those things. How can you still leverage the ease of use of NodeJS and do things that are computationally expensive like machine learning, or low level things like computations on a GPU? By using Rust and Node together. Rust is a strongly typed cross platform language that is an excellent choice for handing these exact problems. It's easy to learn and works very well with Node. This talk will teach you Rust syntax and usage from a JS developers perspective, how to write a Rust library to make it callable from NodeJS and finally actually calling the library from NodeJS. After attending this talk you will:
- Have a basic grasp of writing a Rust library
- Know when and how to use Rust
- Understand how to use the foreign function interface to call out from NodeJS
- Execute callbacks to your Node code from your Rust lib.

Speakers
avatar for Amir Yasin

Amir Yasin

Engineer IV, 2U
Amir Yasin has been developing software for nearly 20 years. In that time he's written software in the aviation, defense, medical,. finance, and education industries. He's gone from embedded C to full stack Javascript. It's been quite a ride and he'e learned a lot about writing s... Read More →


Thursday October 5, 2017 9:40am - 10:10am
West Ballroom A

9:40am

Kill All Humans: Introducing Reliable Dependency and Release Management for npm Packages [I] - Gregor Martynus, Neighbourhoodie
“Versionsnummernerhöhungsangst” is the German word for the fear of increasing the major version number of a module, and just look at this word – it must be real! Let’s explore the reasons for this fear and how we, collectively, can overcome it. People think Semantic Versioning is an ambiguous concept, but we can learn how to work with it correctly, how to interpret the author’s intent (or express our own), and how to back up the whole process with automation, security layers and verification mechanisms. Let me introduce you to an automated, tool-backed process that unfolds the full potential of a small modules world, while leaving humans to what they’re needed for: creation, communication and decision making.

Speakers
avatar for Gregor Martynus

Gregor Martynus

Neighbourhoodie
Node Developer by day, Open Source Community Engineer by night.


Thursday October 5, 2017 9:40am - 10:10am
West Meeting Room 122

9:40am

Going Serverless with GraphQL - Steven Faulkner, Bustle
At Bustle we have transitioned our entire production platform to AWS Lambda and API gateway. But it didn't happen overnight. We got there iteratively and GraphQL was a huge part of the process. I'll talk specifically about the different approaches we used to transition services and data off of legacy infrastructure and how we used graphQL to do it.

Speakers

Thursday October 5, 2017 9:40am - 10:10am
West Meeting Room 120
  • Talk Difficulty Any

10:30am

Technology Showcase
Thursday October 5, 2017 10:30am - 4:30pm
TBA

10:40am

The Time My AI Assistant Broke the Code of Conduct - David Lueche, Quill
We all know that live demos in a conference talk don't always go as planned. But things went wrong in a very peculiar way when I introduced MySam, an open-source Siri-like "intelligent" assistant, at the JSConf in Iceland. In this talk I'd like to share the story of what happened and also dive a little into natural language processing in NodeJS and the browser.

Speakers
avatar for David Luecke

David Luecke

JavaScripter, Quill
David grew up on a goat farm in Bavaria and made his way across the world to his new home in Vancouver, BC. He spent the last decade helping companies create JavaScript applications, with a particular interest in the APIs connecting the two worlds of backend and frontend which le... Read More →


Thursday October 5, 2017 10:40am - 11:10am
West Ballroom A
  • Talk Difficulty Any

10:40am

The Future is Serverless: What That Means for Node.js - Christopher Anderson, Microsoft
Serverless computing is sweeping the cloud industry and transforming how we're building applications on the cloud. Node.js has been the first language each of the major serverless providers has supported from day 1. Node.js applications written for serverless are changing from their "server"ed past. We'll discuss why serverless went Node.js first, what impact this will have on Node.js developers, and finally, what consequences this might have on Node.js's ecosystem.

Speakers
avatar for Christopher Anderson

Christopher Anderson

Program Manager, Microsoft
Chris is one of the creators of and program managers for Azure Functions. He helps drive Serverless strategy at Microsoft. In the past, he's helped deliver and improve Node.js experiences for SQL, Mobile, and Web technologies on Microsoft Azure.


Thursday October 5, 2017 10:40am - 11:10am
West Meeting Room 120
  • Talk Difficulty Any

10:40am

Gold Sponsor Session
TBA

Thursday October 5, 2017 10:40am - 11:10am
West Meeting Room 122

11:10am

Break
Thursday October 5, 2017 11:10am - 11:40am
TBA

11:40am

New DevTools Features for JavaScript - Yang Guo, Google
Ever since v8-inspector has moved to V8's repository, we have been working on a number of new features for DevTools, usable for both Chrome and Node.js.

The talk will demonstrate code coverage, type profiling, and give a deep dive into how evaluating a code snippet in DevTools console works in V8.

Speakers
YG

Yang Guo

Software Engineer on V8, Google
Yang is a developer on V8 over at google.


Thursday October 5, 2017 11:40am - 12:10pm
West Meeting Room 122
  • Talk Difficulty Any

11:40am

The State of Node.js Security [I] - Tim Kadlec, Snyk
The Node ecosystem is thriving. But the more popular an ecosystem, the more interesting it looks to attackers. Let's look at the current state of security in Node. We'll talk about some of the interesting security improvements in Node in the past year. Drawing on original research, we'll also look at the frequency of vulnerabilities in npm packages, which types of vulnerabilities are the most frequent and the roles that enterprises, package owners and package managers all play in keeping Node.js secure.

Speakers
avatar for Tim Kadlec

Tim Kadlec

Developer Relations, Snyk
Time is the head of developer relations at Snyk—a company focused on making open source code more secure. He is the author of Implementing Responsive Design: Building sites for an anywhere, everywhere web, and was a contributing author for High Performance Images, Smashing Book... Read More →


Thursday October 5, 2017 11:40am - 12:10pm
West Ballroom A

11:40am

Two Problems - Sarah Meyer, Buzzfeed
There’s an old software joke that goes: “Some people, when confronted with a problem, reach for regular expressions. Now they have two problems.” Regular expressions are a web developer’s best friend and worst nightmare. Sure, you’re glad someone posted the regex pattern for a phone number on Stack Overflow, but when the intern asked you to explain what a “capture group” was, you broke into a cold sweat. So is a “regex” the same thing as a regular expression? How are regular expressions implemented in JavaScript? And just what do Alan Turing and Noam Chomsky have to do with all of this?

Speakers
SM

Sarah Meyer

Software engineer, BuzzFeed
Sarah is a native New Yorker who has spent her career developing websites and applications for startups in the New York-Boston corridor. She currently works at BuzzFeed.


Thursday October 5, 2017 11:40am - 12:10pm
West Meeting Room 120
  • Talk Difficulty Any

11:40am

WORKSHOP: Implementing DevOps - Claudia Mariana Rios Jasso & Erika Jisel Osuna, IBM
An introductory presentation about us and our experience on implementing Dev-Ops with our squad in IBM. Give an a real-life example of how, specially, Mariana felt about it by being a girl who studied Industrial Engineering but had the completely support from our squad. We knew we had the challenge on updating and expanding our knowledge area with completely new tools and technologies to us.
After the introduction, join us on a workshop on how to implement Node.js in a project with examples and exercises that might be helpful to you.

Speakers
CM

Claudia Mariana Rios Jasso

Engineer, IBM
Industrial Engineer, graduated from Monterrey Institute of Technology and Higher Education class 2015. Currently working for IBM as Cognitive IT Specialist in Guadalajara, Mexico. Has experience on Agile practices and DevOps which where implemented whithin the squad she works wit... Read More →
EJ

Erika Jisel Osuna

Engineer, IBM
Computer Science Engineer, Certified Cognos Solution Expert, 5 years of experience in Business Analytics tools. Iteration Manager of Cognitive Provisioning project & Co-Leader of the initiative Cognitive Academy@IBM.


Thursday October 5, 2017 11:40am - 12:50pm
West Meeting Room 117

12:20pm

Understanding and Debugging Memory Leaks in Your Node.js Applications [I] - Ali Sheikh, Google
Memory leaks are hard. This talk with introduce developers to what memory leaks are, how they can exist in a garbage collected language, the available tooling that can help them understand and isolate memory leaks in their code. Specifically it will talk about heap snapshots, the new sampling heap profiler in V8, and other various other tools available in the ecosystem.

Speakers
avatar for Ali Sheikh

Ali Sheikh

Software Engineer, Google
Ali is a member of the Node.js CTC and contributes to the V8 project. At Google he dedicates a large part of his time improving the experience of running Node.js on Google Cloud Platform.


Thursday October 5, 2017 12:20pm - 12:50pm
West Meeting Room 122

12:20pm

Gold Sponsor Session
TBA

Thursday October 5, 2017 12:20pm - 12:50pm
West Meeting Room 120

12:20pm

Using minikube (Kubernetes) for Local Node.js Development [I] - Troy Connor, Emerging Technologies
Learning Kubernetes is hard. Learning how to set up Kubernetes even harder. Developers have to provision a cluster from a cloud provider and have to start paying for that immediately. This can discourage developers who want to build scalable microservices. On big teams, usually, developers have a DevOps team who can take care of scalability and optimization.

When breaking apart monolithic applications, microservices will have to scale to handle the load of the incoming requests. As the application grows, so will the need for the microservices. When developing their applications, developers can run into the problem where it doesn’t work in different environments. The phrase “It works on my machine” points fingers at a bigger problem. Developers can find this frustrating and it slows down updates to the application. The developer’s workflow can prevent this by using minikube.

For large enterprise applications who use the cloud as their platform, Kubernetes has been one of the many solutions to these issues. Quickly deploy, scale, and modernize your microservices with simple commands. Minikube allows you to test this functionality without the cloud provider. As a NodeJS developer, having the functionality to develop a workflow that you would use for your production application is very valuable.

In this talk we will discuss what Kubernetes is, we will discuss the advantages of using minikube, and we will show the functionality of what Kubernetes can do with NodeJS. We will show how to scale your application, how to deploy multiple copies of your application based on metrics, and show how to master blue/green deployments to not lose any uptime during updating your application.

Speakers
avatar for Troy Connor

Troy Connor

Software Engineer, Emerging Technology Advisors (ETA)
Troy Connor is a software engineer for Emerging Technology Advisors. I help maintain the open source software that allows you to change node versions called N. In his spare time, he likes to play with robots, read, code, chase conferences and meetups and develop communities.


Thursday October 5, 2017 12:20pm - 12:50pm
West Ballroom A

12:50pm

Lunch
Thursday October 5, 2017 12:50pm - 2:20pm
TBA

2:20pm

How Build Infrastructure Powers the Node.js Foundation - Gibson Fahnestock, IBM
The build workgroup (https://github.com/nodejs/build/) has the mission to provide Node.js Foundation projects with solid computing infrastructure covering a wide range of platforms and different software stacks. In this talk we will introduce the general philosophy of how infrastructure is sourced, which has a strong focus on community donations, the overall picture of the substantial infrastructure we've managed to build using this approach, some of the interesting interactions and, just as important, how you might get involved. Come learn about the infrastructure that powers the delivery of Node.js!

Speakers
GF

Gibson Fahnestock

Software Developer, IBM
Gibson Fahnestock is a Node.js collaborator and an active member of several Node core teams, with a focus on Build and Test. By day he works on the IBM SDK for Node.js.


Thursday October 5, 2017 2:20pm - 2:50pm
West Meeting Room 120
  • Talk Difficulty Any

2:20pm

Gold Sponsor Session
TBA

Thursday October 5, 2017 2:20pm - 2:50pm
West Meeting Room 122

2:20pm

WORKSHOP: Serverless Bots with Node.js (I) - Alan Ho, Google & Amir Shevat, Slack
This talk will show you how to build both voice and chat bots using serverless technologies. Amir Shevat, Head of developer relations at Slack, has overseen 17K+ bots deployed on the platform. He will present a maturing model, as best practices, for enterprise bots covering all sorts of use cases ranging for devops, HR, and marketing. Alan Ho from Google Cloud will then show you how to use various serverless technologies to build these bots. He’ll give you a demo of Slack and Google Assistant bots incorporating Google’s latest serverless technology including Edge (API Management), CloudFunctions (Serverless Compute), Cloud Datastore, and API.ai.

Speakers
AH

Alan Ho

Product Marketing Manager, Google
Engineer and Entrepreneur in the field of mobile, bots, cloud computing, and quantum computing. Previously, founded a startup company that provides application performance management for mobile devices (acquired by Apigee and now part of Google). At Google, Alan loves building an... Read More →
AS

Amir Shevat

Head of Developer Relations, Slack
Amir Shevat is the head of developer relations at Slack. Previously Amir was the global Startup Outreach lead in Google Play and led scalable programs in Developer Relations and Google Campus TLV. Amir has also founded several startups. He is a developer at heart and the author o... Read More →


Thursday October 5, 2017 2:20pm - 4:10pm
West Meeting Room 117

3:00pm

Programming Best Practices: Memory Efficiency with Closures [I] - Gireesh Punathil, IBM India Pvt Ltd
Memory Leaks leading to undesired growth and exhaustion of memory are by far the most common production problem reported on enterprise scale Node applications. Closures, a powerful semantic feature in functional programs which are used pervasively in Node.js/Javascript programs to support their asynchronous and event driven programming model, are a prominent source of unanticipated memory leaks.
In this presentation, I will explain three of the most common use cases where Closures are used in Node. For each of the use cases, I will explain a) sample code, b) the life-span of the Closure context and which variables the closure keeps live, iii) what memory will be retained during the life-span of the Closure.

Speakers
avatar for Gireesh Punathil

Gireesh Punathil

Software Engineer, IBM India
Gireesh Punathil is a Software developer with IBM India Software Labs. In his 14 years of professional career he has been porting, developing and debugging web servers, virtual machines and compilers. His expertise is in problem isolation and determination of large and complex so... Read More →


Thursday October 5, 2017 3:00pm - 3:30pm
West Meeting Room 122

3:00pm

Modules Modules Modules [I] - Myles Borins, Google
ES Modules and Common JS go together like old bay seasoning and vanilla ice cream.

This talk will dig into the inconsistencies of the two patterns, and how the Node.js project is dealing with reconciling the problem. The talk will look at the history of modules in the js ecosystem and the subtle difference between them. It will also skim over how ecma-262 is standardized by the tc39, and how esmodules were developed.

Speakers
MB

Myles Borins

Modules Modules Modules, Google
Myles Borins is a developer, musician, artist, and inventor | | he works for Google as a developer advocate serving the Node.js ecosystem | | he graduated with a Master of Music Science and Technology from c.c.r.m.a.


Thursday October 5, 2017 3:00pm - 3:30pm
West Meeting Room 120

3:00pm

Gold Sponsor Session
TBA

Thursday October 5, 2017 3:00pm - 3:30pm
West Ballroom A

3:40pm

Grokking Asynchronous Work in Node.js [I] - Thorsten Lorenz, NodeSource
Grokking Asynchronous Work in Node.js

The ability to understand, inspect and debug asynchronous tasks in Node.js remains one of it's most glaring deficiencies. A typical production Node.js application will have hundreds of concurrent actions taking place under the hood simultaneously. This soup of activity results in a runtime that is difficult to inspect and debug.

But help is at hand via the new Async Hooks API is being enabled in Node.js to give us deeper insight to the mysteries of Node's asynchronous magic.

Thorsten Lorenz has worked closely with the primary author of Async Hooks, Trevor Norris to ready this new API for public release. In this talk he will explain how these new low-level features can be used to build tools and finally answer the question: what is my Node.js application doing??

The talk will include visual demos that expose the connected activity occurring inside your Node.js process in slow-motion.


Speakers
avatar for Thorsten Lorenz

Thorsten Lorenz

Senior Developer, NodeSource
Thorsten is a Jazz musician turned developer and is excited about Node.js and its community The fast turnaround from idea to working module has proven addictive for him and led to lots of modules which ended up on github and/or npm. He also contributes to other awesome open sourc... Read More →


Thursday October 5, 2017 3:40pm - 4:10pm
West Meeting Room 122

3:40pm

Goldilocks and Node.js Core [I] - James Snell, nearForm
This talk will discuss the various pressures and considerations for evolving Node.js core. We will look at the issues of stability vs. relevance, why deprecation can be good and bad, and why adding features can be difficult.

Speakers
JS

James Snell

nearForm


Thursday October 5, 2017 3:40pm - 4:10pm
West Meeting Room 120

3:40pm

Node.js Out of Town: Interfacing USSD Gateway with Node.js - Prudence Ogatcha, Pilby.com
Can Node.js helps in rural communities which generally have very limited internet access, if at all ? Why it seem to be a lot of renewed interest in USSD applications these days in Africa ? This time along, I will challenge you to get back to your feature phones (Nokia 3310 or Motorolla V10).
I will discuss secret things on the successful mobile payment wave’s in Africa. We’ll learn how to interface with USSD gateway with Node.js and HTTP/HTTPS protocol. And how effective this could be. This journey may seem old school but it still part of the global and large scale market. Let's rock Node.js out of Town.

Speakers

Thursday October 5, 2017 3:40pm - 4:10pm
West Ballroom A
  • Talk Difficulty Any

4:10pm

Break
Thursday October 5, 2017 4:10pm - 4:30pm
TBA

4:30pm

Closing Keynotes
Thursday October 5, 2017 4:30pm - 5:45pm
West Ballroom A
 
Friday, October 6
 

9:00am

Code & Learn
Code & Learn events allow you to get started (or go further) with Node.js core contributions. Experienced contributors help guide you through your first (or second or third or fourth) commit to Node.js core. They also are available to provide impromptu guided tours through specific areas of Node.js core source code.

Friday October 6, 2017 9:00am - 12:30pm
TBA

1:30pm

Collaboration Summit
Collaboration Summit is an un-conference for contributors to Node.js to get together and discuss Node.js. Various Working groups will be represented.

Friday October 6, 2017 1:30pm - 5:00pm
TBA