Agenda

Jump to

Day 1 - Wednesday, July 26

8:00 AM

REGISTRATION & BREAKFAST

9:00 AM

OPENING REMARKS

Emcee:Raquel Velez, Engineering Manager, Services Team, npm

Host:Charles Beeler, General Partner, Rally Ventures

Location: Level 2, Main Stage

9:10 AM

Node.js is the Engine of Execution in UX

HomeAway is transforming its business. From a subscription service to a two sided marketplace, from private to public cloud, from monoliths to multiple new science driven experiences. To undertake this monumental task, application development must proceed at a rapid pace. Node.js is the key that unlocks the engine of execution between UX design and engineering.

Speaker:Trevor Livingston, Principal Architect, HomeAway

Location: Level 2, Main Stage

9:35 AM

The Evolution of the Node.js Ecosystem

Node.js started 8 years ago as a passion project of a single individual who had the courage to build the project with everyone who wanted to contribute. Now that little project has grown to more than 8 million users worldwide. Node.js is supplanting Java and .NET development as the web application server of choice. We'll explore the evolution along the way, how Node.js has grown and how companies across every industry have used Node.js to accelerate application development to deliver great user experiences rapidly.

10:30 AM

MORNING BREAK

Location: Level 1, Atrium

10:35 AM

IBM Sponsor Workshop: Node.js and IBM Watson: How Accenture Harnesses the Power of Cognitive AI

Come hear how Accenture builds rapid prototypes with clients using Node.js and the IBM Watson Developer Cloud. Watson provides a full developer kit for bringing Cognitive AI to your Node.js applications and we will look at client implementations using several IBM Watson services, explore Node.js frameworks in Watson projects, and show real client use case implemented with Watson and Node.js.

11:10 AM

N-API - next generation Node API for native modules

Until now, native module 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 to help solve this problem and insulate modules from changes in the v8 APIs. 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.

11:10 AM

Beginner's Mind: Writing Documentation and Tutorials for Newbies

How long does it take a new programmer to start using your codebase? What do you prioritize when you document your work? Do you even swagger, bro? Learn to create documentation, tutorials, walkthroughs, and examples that newbies (to code or just to your codebase) can use. Liz will go over formats and best practices, and include links to some open-source checklists and style-guides that she maintains, so you can review your documentation and get developers across the experience spectrum using your work!

Speaker:Liz Howard, Head of Technical Content, Enki

Location: Level 1, Fisher West

11:35 AM

Angular on the Server

With the latest version of Angular, it's easier than ever for developers to render their Angular applications on the server side. In this session you'll learn about: Getting started with Angular Universal, tools to help save you time, and example Node & Express configurations to get you started.

Speaker:Stephen Fluin, Developer Advocate, Google

Location: Level 2, Main Stage

11:35 AM

Four years in the life of a Node.js-based platform at Conde Nast

Follow the journey of re-imagining a traditional media company into a service-based content management platform, powered by Node.js. We'll discuss our thoughts on Node.js, the core platform architecture, as well as the team and organizational impact of our efforts.

Speaker:Ryan Juang, Engineering Manager, Condé Nast

Location: Level 1, Fisher West

11:35 AM

malcolm: Tighten the connection between your RAML/Swagger and your code

Stop writing web services that are described by RAML/Swagger but which do not use the semantics of that metadata within your implementation. This causes "drift" between your RAML/Swagger and reality, frustrating your API users. Stop writing web service implementation code that repeats the same boring, low-value parameter marshaling and validation code. Instead, embrace your RAML/Swagger as the basis of your web service implementation, and flow requests through a layer of software that "pre-processes" incoming requests and marshals all parameter values. Even more, get things like built-in fake data response support, dynamic API documentation, simple request/response statistics, and more.

Speaker:Mike Fine, Software Architect, Comcast

Location: Level 1, Fisher East

12:00 PM

Rise of the Machines

Rise of the machines, how we built Skynet, a platform that processes billions of messages a month, on microservices and microclusters using Node.js and Docker Swarm.

12:00 PM

0-60 with TypeScript and Node.js

Lately TypeScript has been popping up in developer surveys, language rankings, and news outlets as a powerful tool that all JS devs should consider, but what does TypeScript bring to the table for Node.js developers? This session will dive head first on a demo driven tour of TypeScript in Node.js applications. You'll walk away knowing how to quickly add TypeScript to your own apps and with first hand experience of the productivity gains available from putting TypeScript in action.

Speaker:Bowden Kelly, Program Manager, Microsoft

Location: Level 1, Fisher West

12:00 PM

Tightly Packed Parallelization To Get Happy Hour Back

It's Friday afternoon. You're white-knuckling a stress ball while your node script produces that data analysis your boss says is a 'must have' by day's end. Margarita dreams fade with each idle tick of unused cores. With happy hour on the line, squeezing every ounce of power out of a machine is a must. In this talk, we'll use node's 'cluster' and 'child_process' modules, and some clever planning, to tightly pack long-running jobs into an efficient schedule. We'll discuss iterative improvement and efficient parallelization in a distributed system. Finally, we'll try our scheduler out and, ultimately, get happy hour back.

Speaker:Cabell Maddux, Software Engineer, QxMD Software

Location: Level 1, Fisher East

12:30 PM

LUNCH BREAK

Sponsored by Scality

Location: Level 1 and Level 2

1:30 PM

Twitter Lite, powered by node

At twitter, we set out to transform mobile.twitter.com into the best progressive web app on the internet. With rare freedom to select any technologies we wanted, we went all in on node.js and haven't looked back. This talk will cover challenges both technical and organizational that we encountered in making this transition, with a look ahead at where we're going.

Speaker:James Bellenger, Software Engineer, Twitter

Location: Level 2, Main Stage

1:55 PM

Panel Discussion: Taking Node.js Benchmarking to the Next Level with Industry Collaboration and Community Contribution

The Node.js ecosystem is growing exponentially: Node.js is used by tens of thousands of organizations in more than 200 countries and amassing more than 7 million active users per month. Such rapid growth needs robust regression testing and benchmarks to ensure quality Node.js runtimes and packages for long-term success. In this context Node.js benchmarking is leapfrogging and further ramps up its efforts. This is a critical time as several companies are engaging to collaborate with the vibrant Node.js community to ensure well rounded coverage of Node.js stacks, packages and frameworks. This panel discussion will give the Node.js community the opportunity to learn about Node Benchmarking in order to best engage and contribute.

2:25 PM

Platform as a reflection of values: Joyent, node.js, and beyond

Since its inception, Joyent has sought to build robust services for elastic compute and storage infrastructure. For much of our history, our runtime of choice for these upstack services was node.js -- to the point that we were the steward of the project from 2010 until the formation of the Node Foundation in 2015. Today, however, while our engineering values remain centered around building robust services, we are no longer exclusive to node.js, finding ourselves looking beyond node.js to other platforms and communities. This talk will candidly describe where we've been, where we're going, and how our relationship with node.js has changed -- even as our values have remained the same.

Speaker:Bryan Cantrill, CTO, Joyent

Location: Level 2, Main Stage

2:50 PM

AFTERNOON BREAK

Location: Level 1, Atrium

3:20 PM

Open Source Governance Models: From BDFL to Consensus Seeking

Prior to the fork Node.js was run using a Benevolent Dictator for Life model. After merging with io.js the project adopted a consensus seeking model for landing all changes and governance.

The project has seen a resurgence in contribution in the new model, but it is not without it's own problems. This session will examine the reality of these different models and lessons learned.

Speaker:Myles Borins, Developer Advocate, Google

Location: Level 2, Main Stage

3:20 PM

Node's Event Loop From the Inside Out

Do you think Node is asynchronous because it uses a thread pool for network interactions? Do you think there is a relationship between ""event emitters"" and the ""event loop""? Sam will be working through these misunderstandings, showing how the Node.js event loop really works. Despite that its event loop that is key to Node's scalability and performance, it is misunderstood by many. Sam will show how it works - C code may be seen! - talk about why it works that way, and what some of the implications are for Node developers.

Speaker:Sam Roberts, Senior Software Developer, IBM Canada

Location: Level 1, Fisher West

3:20 PM

Long-running background processes in Node

This talk focuses on design methodologies used by Spanning to handle long-running Node processes that are scalable, fault-tolerant, and production-ready. How long is long? How about weeks or even a month? We'll reflect back on the decision to build a web application with long-running tasks using Node instead of Java (already familiar to us and in production), and why Brandon thinks the decision to use Node ultimately turned out for the best. Along the way we'll discuss some of the struggles we faced, lessons learned, and areas still open for improvement.

3:45 PM

Building one app which answers to all errors

In a microservices and multilayered architecture (like having lot of specialized single purpose Node apps handling one business use case), there is risk of introducing failures related to bad routing, bad VM in a pool... Having an app, which handles all such and other errors has been very fruitful for PayPal. This talk on how our centralized errors node application became the first place to go and hunt for any application configuration and routing errors.

Speaker:Sanjeev Koranga, Software Engineer, PayPal

Location: Level 2, Main Stage

3:45 PM

Machine Learning on JavaScript

In this talk I'll show you different algorithms that I've been researching for Javascript and NodeJS finally diving into neural networks using SynapticJS.

Speaker:Lucas Aragno, Software Developer, Moove-it

Location: Level 1, Fisher West

3:45 PM

WebAssembly: The What, Why, and How

WebAssembly is a portable, size, and load-time efficient binary format for the web. It is an emerging standard being developed in the WebAssembly community group, and supported by multiple browser vendors. This talk details what WebAssembly is, the problems it is trying to solve, exciting post-MVP features, and how to get involved

Speaker:Deepti Gandluri, Software Engineer, Google

Location: Level 1, Fisher East

4:10 PM

Easy cloud deployment of Node.js applications with Quilt

Deploying Node.js applications to the cloud is increasingly common, yet remains difficult and time-consuming, largely due to rigid YAML/JSON or RESTful APIs. In this talk, Kay will introduce Quilt (www.quilt.io), a research project out of UC Berkeley that aims to solve this issue with a new open source Node.js framework. Quilt provides a simple and flexible way to deploy anything from a MEAN stack application to complex distributed systems. This talk will include a live demo showing how to use Quilt to easily and quickly run a Node.js application in the cloud.

Speaker:Kay Ousterhout, Founding Engineer, Quilt

Location: Level 2, Main Stage

4:10 PM

Hunting for malicious modules in npm

Ever since the threat of an npm worm became public we've been thinking about how to detect malicious modules in our ecosystem and how to provide security teams auditing modules with tooling and intel to make informed decisions about module risk. We've built a system to analyze modules based on their installation behavior. This talk will discuss the results of this endeavor and share the interesting findings from this new and previously unexplored dataset and try to answer the question if a npm worm is lurking in the shadows.

Speaker:Adam Baldwin, Founder, ^Lift Security

Location: Level 1, Fisher West

4:35 PM

HTTP2 for Node.js Core

This talk will provide a snapshot of current development efforts to bring HTTP/2 support to Node.js core including working code, an exploration of APIs and capabilities, and --most important -- how users can get their hands on the code to start working with it.

10:15 AM

Debugging in 2017 w/ Node.js

While we've all used the trusty console.log for debugging our application, Node now has far more powerful debugging capabilities. Paul will demonstrate improved workflows for debugging, profiling and understanding your app using the DevTools Protocol. He will also share more advanced techniques for automating and monitoring Node.

Speaker:Paul Irish, Developer Advocate, Google

Location: Level 2, Main Stage

10:30 AM

MORNING BREAK

Location: Level 1, Atrium

10:35 AM

Google Sponsor Workshop: Build a chatbot for Google Assistant, Google Home and more

Google Assistant is the conversational user interface for Android, iPhone, and Google Home devices that helps you get things done in your world. Actions on Google let you extend Assistant with your own application to interact with your users. Come learn how to build a custom Action and see how the same tools can help you build a serverless chatbot for Slack, Facebook Messenger, Google Home and more using Google Cloud Platform.

Speaker:Bret McGowen, Developer Advocate , Google

Location: Level 1, Fisher West

11:10 AM

The Paved PaaS to Node.js Microservices

Traditionally, a tug of war has existed between service reliability (availability, consistency, and fault tolerance), and engineering velocity. Increasing speed to fuel product innovation has meant making reliability tradeoffs. In this talk Yunong will describe how abstracting away the infrastructure and common platform components by using a Platform as a Service (Paas) model can enable service owners to increase both velocity and reliability.

Speaker:Yunong Xiao, Principal Software Engineer, Netflix

Location: Level 2, Main Stage

11:10 AM

From Tarballs to Your Package Manager: Considerations for Packaging Node.js for Linux

The most popular operating system to run production Node.js applications on is, by a wide margin, Linux. One of the great strengths of the Linux ecosystem is the availability of good package management systems that make it easy to install software and associated dependencies. For these reasons, NodeSource has been sponsoring the creation of high quality Node.js packages for many years. In this talk, we'll look at some of the systems that are utilized in the creation of these packages, as well as some of the design considerations that are attached to the package ecosystem.

Speaker:Chris Lea, Senior Engineer, NodeSource

Location: Level 1, Fisher West

11:10 AM

Introducing Express Gateway: A Microservices API Gateway built on Express.JS

While Node.js developers use Express in static implementations, an emerging gap continues to grow in defining an Express instance dynamically configured to address the microservices and API use case. This session will discuss the Express Gateway Open Source Project, using examples and use cases from companies already using Express.js for an API use case like: Uber, Accenture, GoDaddy, Twitter and more.

11:35 AM

Node.js Microservices on AutoPilot

Too often microservices aren't designed to be resilient to changes from services they depend on. Even if services are resilient, most solutions retry connection attempts or make requests that will fail. There is a better way, one that can reduce unnecessary chatter and help ensure that services are responsive to upstream changes. The solution to this and other Node.js microservices issues is follows the Autopilot Pattern. This talk presents solutions to common pitfalls that developers face as they move to microservices and containers.

Speaker:Wyatt Preul, Product Engineer, Joyent

Location: Level 2, Main Stage

11:35 AM

Take your HTTP server to Ludicrous Speed

In my journey through nodeland, I always wonder about the cost of my abstractions. Express, Hapi, Restify, or just plain Node.js core? require 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 discover all the not-so-secret techniques that were used to optimize it. In Fastify we reach a point where even allocating a callback is too slow: Ludicrous Speed.

Speaker:Matteo Collina, Architect, nearForm

Location: Level 1, Fisher West

11:35 AM

How to Achieve Reusability with React Components

React's component model makes it easy to reuse UI code, but reusing components across projects, applications, and teams is only possible if developers can find, install, and rely on each other's code. @walmartlabs, we have hundreds of developers working across dozens of teams, and one of the biggest obstacles to their productivity is duplication of work that's already been completed elsewhere in the organization. In this talk, you'll learn about the technical means we used to achieve this goal, and the processes and policies that facilitate and encourage code reuse throughout @walmartlabs.

12:00 PM

That Post-Disruption Feeling

Node.js is introduced with a disruptive splash. Trumpets blare. Krakens roar. Feasting and so-on. Once the trumpets fade, and the disruptors move on to their next challenge, the initial buzz of adoption is replaced with problems of scaling, performance, upgrades, and the question of how to disrupt again. This isn't the end of a story, it's just the beginning.

Speaker:Matt Edelman, Manager, Node Infrastructure, PayPal

Location: Level 2, Main Stage

12:00 PM

Shared-Memory Parallelism in Node.js

Extended Memory Semantics (EMS) is a software implementation of the parallel programming and execution model built into the hardware of some Cray supercomputers. EMS targets problems too large for a single core but not big enough for a scalable cluster, exploiting the advantages of large memory multi-core servers. EMS.js is a native NPM module that provides OpenMP-like primitives for parallel programming, fine-grained synchronization of data access, persistence, and data sharing with Python and C/C++.

Speaker:Jace Mogill, Computer Scientist, Synthetic Semantics

Location: Level 1, Fisher West

12:00 PM

Isomorphic React sans Node??

React is JavaScript library for building user interfaces that has taken the web development industry by storm. Its declarative syntax and DOM abstraction for components not only make client-side development simple, but also enables server-side rendering of those same components, which enables improved SEO and initial browser load time. But how do you render JavaScript React components server-side if your backend doesn't run on Node? Learn how Eventbrite successfully integrated React with their Python/Django backend so that you can do the same in yours.

Speaker:Ben Ilegbodu, Engineer Manager, Eventbrite

Location: Level 1, Fisher East

12:30 PM

LUNCH BREAK

Sponsored by Scality

Location: Level 1 and Level 2

1:30 PM

Using Node.js to Enable Enterprise Innovation

Today, Node.js is used across the enterprise for a vast array of use cases. The rapid time from concept to production and Node.js' highly scalable architecture make it a perfect fit for cloud native deployments. With Node.js, teams are able to grow, adapt, build, iterate and even completely replace legacy systems with ease. We'll explore the unique needs defined by enterprise scale. Where does Node.js work best? How can you use Node.js, in the enterprise or anywhere, to enable innovation and deliver compelling experiences.

2:00 PM

Node.js Foundation Update

Node.js is growing at breakneck speed from 3.5 million instances in the beginning of 2016 to over 8 million instances today. With amazing development velocity and a thriving ecosystem Node.js is becoming the go to development framework for digital transformation. Thanks to data furnished by the Node.js community via survey we will review not only the success Node.js is having but a look at how Node.js is being used, what technologies are being used in conjunction with Node.js and how users are benefiting from deploying the world’s fastest growing web technology.

2:20 PM

Ch-Ch-Changes in the Node.js Community

The Node.js project is changing as much as ever, and with change comes so much opportunity to improve and thrive. There’s a lot of great momentum in so many of the working groups and in the ecosystem that has helped to drive the growth of Node.js. This year, we’re seeing a whole new set of leaders step up and help grant agency to those excited to take on more responsibility and help grow the project . We’ll hear some great new and old-hat contributors to the collaboration of Node.js who are helping lay the groundwork for success years to come.

2:50 PM

AFTERNOON BREAK

Location: Level 1, Atrium

3:20 PM

Node.js and the rapidly evolving Cloud Native landscape

Nearly seventy percent of organizations are exploring microservices in some form. As they embark of this journey, they are breaking apart monolithic applications, dealing with new architectural paradigms and digesting a myriad of shifting technologies and buzzwords like cloud native, containers, orchestration, polyglot, and serverless. Fortunately, Node.js and the ecosystem that surrounds it is helping the developers at these organizations to achieve amazing productivity and success. Learn how Microsoft is working with the community to help grow the Node.js development experience between Visual Studio Code and Azure, including efficient authoring and debugging tools, cloud and Docker-based deployments, and production diagnostics.

Speaker:Jonathan Carter, Principal Program Manager, Microsoft

Location: Level 2, Main Stage

3:20 PM

CI/CD for Node.js and Kubernetes

Building microservices with Kubernetes is fun, but deploying them by hand is not! It would be great if you could just run "npm deploy" and get your service deployed into a cluster. In this talk, I'll show you how to build a CI/CD pipeline that lets you test and deploy your Node.js apps into a production Kubernetes environment!

Speaker:Sandeep Dinesh, Developer Advocate, Google

Location: Level 1, Fisher West

3:20 PM

Bridging the Semantic Gap - How to build a natural language aware service for Alexa and Slack

Bots are the new apps and AI will solve all our human-computer-interface problems. Everyone that ever communicated with Siri or Alexa knows, that things still are not as easy as marketing tries to make us believe. Artificial intelligence tends to have more
to do with math and statistics and as such an AI based system can still feel more like Excel than like J.A.R.V.I.S. In this talk we will take the "buzz" out of recent emerging technologies and explore what we've learned when we created DAVIS, an open source natural language interface to our AI based product. Live coding is cool, so we will use this knowledge to create an
AWS Lambda Function that use Natural Language Processing (NLP) to transform fuzzy natural language data from Alexa or Slack into discrete commands and return responses that again sound natural to a human.

Speaker:Daniel Khan, Technology Lead, Dynatrace

Location: Level 1, Fisher East

3:45 PM

Real world Node.js workloads for Data Center

Node.js ecosystem is growing exponentially and despite explosive NPM growth, Node.js lacks real world benchmarks which can be used for evaluating various Node.js components as well as complete stack including Cloud and Data Center impact. This talk will discuss some real world Node.js workloads development in open source as well as share the challenges of defining meaningful metrics, deployment and how we all can collaborate to address this important component of Node.js.

3:45 PM

Scaling the Unscalable: introducing the Downtown Architecture

We were walking in Manhattan to another architecture workshop, and we noticed a pattern. Everyone in downtown is moving to a new breed of Full Stack development project. Large teams and complex projects are now the norm, how can we scale Full Stack software development to 100+ people, divided in 20+ teams? The “Downtown Architecture” combines in-the-large agile software development techniques with React, Node.js, NGINX and Kubernetes. We will dig deep into the “Downtown Architecture”, and see how you can adopt it for both brownfield and greenfield projects.

3:45 PM

Service Pipeline Framework Or How We Do Plumbing At eBay

Building a scalable framework can be challenging and time consuming and usually overlooked by application teams. As for those who strives for quality, it takes multiple iterations to be able to scale to 1000+ applications in terms of maintenance and ease of use. eBay platform team focuses on providing quality and uniform solutions that can be reused across different applications. The talk presents one of those solutions to manage web and service flows using eBay open-sourced Trooba framework https://github.com/trooba/trooba. In particular, we will focus on how service invocation pipeline is built using Trooba framework.

Speaker:Dmytro Semenov, Member of Technical Staff, eBay

Location: Level 1, Fisher East

4:10 PM

TypeScript: How I Learned to Stop Worrying & Trust the Compiler

At Slack, we use one JavaScript codebase to build a multi-threaded desktop application, routinely interacting with native code. Managing large JavaScript codebases is challenging - we need a guarantee that the individual pieces fit together. In the desktop world, a small mistake is likely to result in a crash. To that end, we adopted TypeScript and quickly learned to stop worrying and love the compiler. See an introduction and a detailed account of porting a large code base, learn why exactly TypeScript is so popular, what the downsides are, and how you would slowly adopt it in your development.

Speaker:Felix Rieseberg, Staff Engineer, Slack

Location: Level 2, Main Stage

4:10 PM

The future is serverless: what that means for Node.js

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.

Speaker:Chris Anderson, Senior Program Manager, Microsoft

Location: Level 1, Fisher West

4:35 PM

Securing your Serverless Node.js apps

Serverless means handing off server management to the cloud platforms - along with their security risks. With the "pros" ensuring our servers are patched, what's left for Node.js developers to protect? As it turns out, quite a lot. This talk discusses the aspects of security serverless doesn't solve, the problems it could make worse, and the tools and practices you can use to keep your serverless Node.js applications safe.