NodeJS meetup and conference recordings from Q4 2017: NodeConfEU and Node.js Interactive

NodeJS Q4 2017This post lists all the Node meetup & conference recordings I could find from the latest quarter of 2017. Browse around 86 videos with descriptions on one page. This is the last post from Q4 on MeetupFeed, I will be posting new roundup posts from 2018 later in April. Subscribe for a monthly summary (newsletter).

Orlando Backend Developers Meetup (Orlando, FL)

Serverless Architecture & Node.js: A Beautiful World

Taylor Jones & Doug Woodrow

This is an uncut recording from the meetup with two talks. Jump to:

Taylor Jones: Serverless Architecture

Show description

Have you ever wondered why people keep talking about serverless architecture? What are they even? Have you ever wanted to understand why people are embracing services like AWS, Heroku, and DigitalOcean more? In this talk, we’ll explore what serverless architecture is, how you’re probably using it, and how we can all get better at it.

Taylor Jones is a Software Engineer over at IZEA. He loves Ruby, Rust, Rails, and other things that start with “r”. He owns way too many animals and is happily addicted to coffee.

Doug Woodrow: A Beautiful World, Async-flavored

Show description

How Node is running the machines & processes of today and tomorrow With at least 10 apps that do the same thing, 1,000,000 + 1 options of software-as-a-service platforms to choose from, and less technologies that connect them all together, developers and users are often left high-n-dry, with difficult decisions when buying hardware devices and software services. What if my new phone, new CRM, and Project Management Tool don’t all integrate? Node.js in many ways has become that solution. See how a once humble Javascript framework created a revolution of software and hardware that will re-stitch the very fabric of tomorrow’s home and office.

Doug Woodrow is a JavaScript and Java developer that is building the technology that will power the home and business of tomorrow. With a history in big data, enterprise and IoT, Doug has spent his last 13 years as a developer focusing his time bringing together an automated world that gives anyone the ability to make an impact, from anywhere at anytime.

Node.js Denver (Denver, CO)

JWTs Suck (and Are Stupid)

Randall Degges (Okta)

JSON Web Tokens (JWTs) are all the rage in the security world. They’re becoming more and more ubiquitous in web authentication libraries, and are commonly used to store a user’s identity information. In this talk, Randall will explain why you shouldn’t use JWTs, and why everyone who tells you to is wrong. Randall Degges is the Head of Developer Advocacy at Okta, where he spends his time writing security software and educating developers on security best practices. In his free time, Randall works on open source software and builds API services.

London Node.js User Group (London, UK)

Scalable Scraping in Node and a bit of GO

Bartlomiej Specjalny (Pad Innovations)

A story of moving a monolithic Python Twisted application into NodeJs and micro services. Will discuss what problems we have faced, how we resolved particular issues and arrived at truly modular structure on AWS. Will highlight pain points and place we see for future improvements. Bartlomiej Specjalny, Lead NodeJs Software Engineer at Pad Innovation Limited, a fullstack software engineer with background in computer graphics and multimedia.

London Node.JS Meetup (London, UK)

Re-implementing even more with ES2015 Proxies

João Jerónimo (TravelCorp)

Following James Wright’s talk about ES2015 Proxies, here are three more ideas of what could be re-implemented with ES2015 proxies: – an ORM, – an Immutableobject library and – a spy/mock library With code walkthroughs of course. João is a principal developer at The Times, has previously worked at YLD and CrowdProcess. He has ran node.js in production on all of them over the past 7 years.

Implementing a Worker Queue using Child Processes

James Wright (YLD)

Given Node.js’ single-threaded nature, CPU-heavy computation can hamper the performance of our software. Fortunately, we can use the child_process module to offload work onto a number of different processes. Together, we’ll see how we can use this capability to create a worker queue, as well as discussing its performance gains and caveats. James is a full-stack software developer at YLD with a passion for web technologies. He is currently working with JavaScript and C#, and has engineered solutions for the likes of Sky, Channel 4, Trainline, and NET-A-PORTER.

WarsawJS Meetup (Warsaw, Poland)

Clean Architecture in NodeJS

Piotr Błaszczak (SlackMap)

In this talk, I’ll show you my implementation of Clean Architecture in NodeJS. If you are not familiar with the concept, you should look for Rober C. Martin talks. Due to the time limit, I’m going to do only the short introduction to CA, enough to inspire you to go deeper on the subject. Next, I’ll show you some useful tools in our JavaScript world to achieve good architecture design. We will use TypeScript to model your domain, IversifyJS to connect your application layers, TSOA to expose your REST API and generate Swagger contract. Swagger will allow you to generate great documentation and API clients in around 20+ other languages. In the end, you will be able to create testable, frameworks independent application. This talk is based on SlackMap development and it’s still ongoing process, to check current state of the project see: https://github.com/SlackMap Bio: Full-Stack Web Developer since 2007. Founder & CTO at SlackMap. Senior JavaScript Developer at Center for Informatics Technology (COI). Fan of TypeScript, NodeJS and Angular. Slackliner & organizer of Urban Highline Festival in Lublin.

NodeConfEU (Kilkenny, Ireland)

Building a radio data network with Node.js

Thomas Watson (Elastic)

A nerdy talk introducing the audience to the concept of encoding bits onto a radio wave. We’ll learn how to pack data tightly to achieve high bandwidth and how to recover from data loss without retransmission. The theories will be put to the test using a Software Defined Radio built using nothing but Node.js and a few radio parts. Thomas Watson is a computer programmer, public speaker, and open source hacker. He works on Application Performance Management at Elastic, the company behind Elasticsearch, Kibana, and Logstash. Thomas has published hundreds of Node modules and mad science projects and is a member of the Node.js Diagnostics Working Group at the Node.js Foundation.

Grokking Asynchronous Work in Node.js

Thorsten Lorenz (NodeSource)

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?? 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 source efforts like browserify to which he added source map support. Lately he has been focusing on understanding the Node.js stack in more depth, focusing on libuv and v8. He’s most interested in improving the debuggability and inspectability of Node.js.

Look mum, no hands!

Charlie Gerard (The New York Times)

Just to be clear…, this is not about bicycles and JavaScript, this is about mind control. Disappointed? Don’t be. Being able to control objects or interfaces using your body movements is already possible with devices like the Leap Motion, the Myo armband or the Kinect, but what if I told you that you could have that same control, using only using your thoughts? I have been tinkering with a brain sensor for about a year and this talk will be about how I built an open-source JavaScript framework for it, so that I (or anyone else) can control other devices or web interfaces using facial expressions or mental commands. Charlie Gerard is a software developer by day and a maker of things by night. She spends her personal time tinkering with hardware and experimenting with creative technologies. When she’s not prototyping projects mixing art and technology, she likes to mentor young developers and contribute to open-source.

Show more talks from NodeConfEU...

Sharing is Caring… At Scale!

Sarah Saltrick Meyer (Buzzfeed)

Sharing code is hard. And it’s even harder when you have hundreds of developers! At BuzzFeed, we’ve built a library of shared components to support our busy engineers and high-traffic site. We already knew how to build a useful styleguide – but now we were sharing not just SCSS, but templates, JavaScript, analytics, icons, and more! We needed designers and developers across multiple teams to choose consistency over control. When should a component be shared? What standards should a shared component meet? How can we gain the benefit of each others’ work without stepping on each other’s toes? These are the answers we’ve come to. Sarah is a native New Yorker who’s spent her whole career doing web development for startups in the New York-Boston corridor. She likes good websites, reading books, and her cat Petra.

WebAssembly and Node.js

Ben Smith (Google)

Node 8 supports WebAssembly! WebAssembly is portable, size, and load-time efficient binary format for the web, supported by multiple browser vendors. Learn how WebAssembly has the potential to unlock a class of applications that run at near native speeds. This talk details what WebAssembly is, the problems it is trying to solve, exciting future features, and how you can use it in Node. Ben is a software engineer at Google working on Chrome, V8 and WebAssembly. He’s the creater and maintainer of wabt, a suite of tools for working with WebAssembly modules. Prior to Google, he made video games for the PC, Wii, DS and Gameboy Advance.

After After Dark: Building Strange Screensavers with Javascript

Rachel Weil (Microsoft)

Starfields, rainbow-hued beziers, and flying toasters: the whimsical sights of screensavers are iconic, nostalgic, and increasingly obsolete. Historian-turned-developer Rachel Weil discusses how screensavers influenced her work, spurring a years-long obsession with putting screensavers where they don’t belong. Weil will share some of her projects, including a Node.js-powered tool that allows anyone to build a custom screensaver for the 1980s Nintendo Entertainment System (NES) game console. Rachel Weil is an experimental designer whose work offers alternate visions of computer and video game history. She is the founder of FEMICOM Museum, co-organizer of indie games collective JUEGOS RANCHEROS, and a technical evangelist at Microsoft in Austin, Texas.

Build a tiny art gallery!

Rachel White (Microsoft)

Ever wanted your own personal art collection but don’t want to spend a ton of cash? Well, you’re in luck! Learn how to build your own tiny pixel art gallery with a led matrix powered by a raspberry pi running node. Pair the device with a separate node web app for choosing the art, real-time. :) Rachel is currently a Technical Evangelist at Microsoft, but is also a self-taught programmer & occasional artist. She is currently working on multiple video game projects, a VR cat cafe, and thinking about what IoT devices she can build for her two black cats. Her other interests include glitch art, 80s horror, and indie games. Her aesthetic is fog machines, laser lights, and broken VHS tapes.

Back pressure, or, how to not accept it if you can’t handle it right now

Sam Roberts (IBM)

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, store data without bounds if the data can’t be acted on (yet), and 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. 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) networking systems. He eventually found Node.js, a sweet combination of event-driven programming and a dynamic language. He has primarily been working on Node.js support and production tooling, first at StrongLoop, and now at IBM Canada.

The memory footprint of node modules

David Martin (Red Hat)

Node modules are ubiquitous in Node applications. Requiring a node module in an application loads it into memory, even if its not used. Maybe only parts of the module are used. What happens if you need to scale an application? How much can you scale before you reach physical memory limits? In this talk, learn how to identify the memory footprint of node modules, and how it can be reduced through module choice, sub-modules and rewriting module parts. David is a Senior Software Engineer at Red Hat. He was heavily involved with the FeedHenry mobile startup from the early days through to acquisition by Red Hat in 2014. His passion is in testing, performance and simplifying code. He has been developing with Node.js since version 0.4.

Cryptominoes. Secure P2P dominoes game

Eduardo Sorribas Canela (Founders)

DOMINOES! Not the pizza, the game. It’s really popular in my home country of the Dominican Republic. But in Europe, people don’t play it so much. I could always play online with my friends back home, but that would mean trusting a centralised server to shuffle the pieces fairly, and I don’t trust centralised authorities, I’m Dominican. So I decided to build a fully P2P, secure dominoes game in javascript. I’ll show how I used weird cryptography, cool npm modules, and new exciting things like WebAssembly to do this. Eduardo Sorribas is a software developer based in Copenhagen. He works for startup studio Founders, being involved in the development of several of the startups created here. He also works on several open source node.js modules such as mongojs and phantom-render-stream. On his spare time, he likes to play around with different technologies such as p2p and cryptography.

Hop on the serverless adventure with NodeJS

Simona Cotin (Microsoft)

Serverless is the new black – I can deploy my application to the cloud without ever worrying about infrastructure. We all remember the days when we had to spend hours and hours configuring and debugging web servers when all we wanted was to just code and test our app. Those days are long gone and it’s time for us to unlearn how to provision and manage infrastructure while focusing on building and scaling applications. Simona is an enthusiastic full stack developer with experience in building rich data visualization for network data and more recently in the cloud. Communities power her up and that’s why she is co-organising the Javascript London meetup. Passionate about knowledge sharing, she has also mentored at workshops for Women Who Code and NgGirls encouraging women to learn more about programming.

High Performance JS in V8

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. Peter finished his degree in Software Engineering at the Australian National University and moved to Munich to work on V8 in 2016. He works in the Tools and Embedders sub-team, and has been focusing on the performance of ES6 features and Node.js.

Deep Learning in the browser

Nikhila Ravi (Facebook)

Machine Learning (ML) and Artificial Intelligence are becoming ubiquitous in websites, chatbots and mobile apps. While Node.js may not be the language of choice for building and training ML models, it is an excellent option for building the user-facing server layer that brings ML product to life. In this talk learn about the ways that JS and ML can work together – we’ll show you how to build a chrome extension that runs an ML model in the browser using WebAssembly and WebGPU. Nikhila is a software engineer at Facebook in Menlo Park. After finishing her degree at Cambridge University she learnt how to code through the Founders and Coders program in London and then went to Harvard to study Computer Science as a Kennedy Memoral Scholar. She enjoys giving talks at conferences and working on side coding projects outside of work.

Yes! Your site can (and should) be accessible

Laura Carvajal (The Financial Times)

In 2016, we at The Financial Times launched a new version of our website to great success. It broke ground on key areas in which we’d set out to excel and measured very closely, like performance, resilience and usability. But one day, and rather serendipitously, we realised we had largely forgotten to measure one thing: accessibility. And you can’t improve what you don’t measure. In this talk I will go over how we went from being generally oblivious about accessibility to making it a core part of our process across multiple divisions. I will share the roadblocks we found and the lessons we learned, along with tangible solutions you can integrate them into your own project today, regardless of available time, budget or support. Laura Carvajal is a senior developer at the Financial Times building FT.com. She has been working in web development for the past 15 years.

Continuous Deployment in a heavily regulated environment

Lisa Gagarina (JP Morgan Chase & Co)

Continuous Deployment is a trendy term used to describe the approach of constantly delivering software to users in an efficient and reliable manner. But it’s easier said than done. There’s no go-to strategy to achieve this, and approaches vary wildly among different companies and teams. Now, to complicate matters further, imagine you are working for one of the world’s largest investment banks, with endless regulations for developers to comply with before they can release software to end users. Our team is the first in the company to get Node.js application Continuously Deployed to Production. In this talk we would like to share our experience, discuss the perks — and pitfalls — of Continuous Deployment, and look at the future development of our approach. Lisa Gagarina is an Application Developer at JPMorgan Chase & Co. in Glasgow, UK. Focusing on developing Node.js applications for the last few years of her career she is also closely engaged in frontend JavaScript development. She likes the dynamic nature of the language and its ability to grow in line with developers’ needs. Lisa believes that JavaScript and its vigorous community give you numerous tools to develop amazing software. Being part of the huge financial institution, she is challenging herself to constantly contribute to company’s technology growth, in which Node.js and JavaScript are definitely big players.

N-API – next generation Node API for native modules

Michael Dawson & Arunesh Chandra

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. 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 code coverage reporting). Within IBM he leads the Node.js team driving IBM’s Node.js runtime deliveries and their contributions to Node.js and v8 within the Node and google communities. Past experience includes building IBM’s Java runtime, building and operating client facing e-commerce applications, building PKI and symmetric based crypto solutions as well as a number of varied consulting engagements. In his spare time he uses Node.js to automate his home and life for fun. Arunesh Chandra is working on growing Node.js by extending it to use the ChakraCore engine. He is also working on supporting new ideas in the community like VM Neutrality for Node.js and bringing innovative diagnostic tooling like Time-Travel Debugging to Node developers. https://twitter.com/AruneshC

Node.js: What’s Next?

James Snell (nearForm)

Want to know what is next for Node.js core? New features? Major changes? Key initiatives? While Node.js core does not have an official roadmap, there are a number of very important initiatives that are driving innovation and moving Node.js forward. This talk will pull back the curtain and give a peak at what is coming. James has over 19 years of professional enterprise development experience. He is a member of the Node.js Core Technical Committee (CTC) and Technical Steering Committee (TSC) and is among the most active individual contributors to Node.js core. Prior to joining nearForm, James spent 16 years working on emerging technologies, open source, and open standards at IBM. James lives and works in Fresno, CA and is the founder of the local FresNode.js meetup group.

npm: paster, presenter, futurer

Rebecca Turner (npm Inc.)

UJavaScript has an exciting future ahead of it and npm will continue to be in the thick of it. Join Rebecca Turner of npm as she speaks about what led to npm version 5 and what to expect from npm v6 and beyond. You’ll learn not just about the command line tool but also exciting new website and registry features. Rebecca Turner is technical lead for the npm open source project and command line tool. When you type `npm install` you’re running the code that she’s responsible for. She’s worked on projects ranging from billing systems to mobile games and once founded an ISP. When she’s not doing work for npm, her time is spent with her with her nesting partner and their two puppies working on programming, fanfic, and programming for fanfic.

Everything is better with Bluetooth

Gordon Williams (Pur3 Ltd.)

Looking at Bluetooth LE, beacons, and what happens when they meet JavaScript. What could you do with an ultra-low power wireless device which you can script in JS? Gordon’s worked in 3D graphics, compiler, and website design, but has been making JavaScript-powered embedded devices for the last 5 years, running 3 successful KickStarter campaigns from the Oxfordshire countryside and shipping over 20,000 Espruino-powered devices.

Node.js Meetup Berlin (Berlin, Germany)

The Need for Speed and WebAssembly

Willian Martins (Foodora)

Willian Martins talks about idea underlying WebAssembly, including a brief history of its creation. He also discusses why WebAssembly can be faster than javascript and it’s advantages over native module.

Maps and Spatial Data in Node.js

Fidel Thomet (Urban Complexity Lab)

Fidel Thomet will give us an introduction to cartographical tools and libraries for spatial analysis, hosting your own maps and creating spatial apis.

Async Testing | KOA with JEST

Robin Pokorny (NewStore)

Robin Pokorny talks about the next generation web development framework KOA and the unit testing framework JEST. He gives a brief overview of both, and then dives into two scenarios where they could be used: Testing Middleware and Testing an API.

Node.js Streams in Action

Max Kharandziuk

Max Kharandziuk speaks about three types of Node.js streams: readable, writable, and transform. He focuses on giving concrete and functional examples of how each are used.

Node.js Interactive (Vancouver, BC)

Node.js Performance and Highly Scalable Micro-Services

Chris Bailey (IBM)

The fundamental performance characteristics of Node.js, along with the improvements driven through the community benchmarking workgroup, makes Node.js ideal for highly performing micro-service workloads. Translating that into highly responsive, scalable solutions however is still far from easy. This session will discuss why Node.js is right for micro-services, introduce the best practices for building scalable deployments, and show you how to monitor and profile your applications to identify and resolve performance bottlenecks. About Chris Bailey Chris is a senior architect in the Runtime Technologies team at IBM, contributing to the Node.js, Java and Swift runtimes. He works on performance monitoring and application visibility, allowing developers to optimize code, infrastructure to scale, operations teams to manage, and business owners to analyze an applications success. He has worked on virtual machine development for over 15 years, and is a recognized author and speaker on the topics of scalable deployments, performance and troubleshooting.

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. About Yang Guo: Yang is a developer on V8 at Google, working on debugger, snapshotting, and Node.js.

KEYNOTE- The V8 Engine and Node.js

Franzi Hinkelmann (Google)

V8 is the JavaScript engine developed by Google used in Chrome. V8 is also the JavaScript runtime in Node.js. Learn what the Chrome V8 team is doing to continue to support Node.js. Franzi Hinkelmann is located in Munich, Germany where she works at Google on Chrome V8. Franzi, like James and Anna, is a member of the Node.js Core Technical Committee. She speaks across the globe on the topic of JavaScript virtual machines. She has a PhD in mathematics, but left academia to follow her true passion: writing code. Franzi will discuss her perspective on Chrome V8 in Node.js, and what the Chrome V8 team is doing to continue to support Node.js. Want to know what the future of browser development looks like? This is a must-attend keynote. To get a better idea of what to expect, check out a few presentations from past events, including Express State of the Union with Doug Wilson (Core Maintainer of Express), Node.js at Netflix with Kim Trott (Director of UI Platform Engineering at Netflix) and Home Automation with Node.js and MQTT with Michael Dawson (Senior Software Developer at IBM and Collaborator and Core Technical Committee Member of Node.js). If you want to keep abreast on all the latest news happening around Node.js and this event, follow us on Twitter, Facebook, LinkedIn, Medium and subscribe to our newsletter.

The Node.js Event Loop: Not So Single Threaded

Bryan Hughes (Microsoft)

You’ve heard Node.js is single threaded. It’s true that all JavaScript executed by Node.js is run in a single thread, but JS isn’t all. The event loop, written in C++, is multi-threaded! Come learn how the event loop works, how it affects performance, and how you can use it your advantage! Bryan Hughes is a technical evangelist at Microsoft and long-time member of the Node.js and NodeBots communities. Bryan is the creator of Raspi IO which provides Raspberry Pi support for the Johnny-Five JavaScript robotics library. Bryan also created Raver Lights, a distributed wireless lighting system designed for festivals, and Request Inspector, a Node.js performance diagnostics tool. Outside of tech, Bryan is an amateur photographer, occasional writer, a once upon a time pianist, and a wine aficionado.

Show more talks from Node.js Interactive

High Performance JS in V8

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. Peter is working on making JavaScript fast in Chrome and Node.js. New ES6 features beware.

KEYNOTE: Welcome and Node.js Update

Mark Hinkle (Node.js Foundation)

Mark is the Executive Director of the Node.js Foundation. He works with members of the Node.js Foundation to articulate priorities for the Foundation for the foreseeable future. He also focuses on membership growth from both a corporate and individual standpoint.

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. 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 solid software along the way. He also writes about the practice of software engineering. You can find him on twitter @ayasin, and on medium at medium.com/@ayasin.

WebAssembly and the Future of the Web

Athan Reines (stdlib.js)

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. 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.js and JavaScript. For his latest open source project, see stdlib, a standard library for Node.js and Javascript: https://github.com/stdlib-js/stdlib

Take Your HTTP Server to Ludicrous Speed

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. 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 at nearForm, where he consults for the top brands in world. Matteo is also the author of the Node.js MQTT Broker, Mosca, the fast logger Pino and of the LevelGraph database. Since 2015, he is a Node.js collaborator, where he helps maintaining Streams. Matteo spoke at several international conferences: Node.js Interactive, NodeConf.eu, NodeSummit, LXJS, Distill by Engine Yard, and JsDay to name a few. He is also co-author of the book “Javascript: Best Practices” edited by FAG, Milan. In the summer he loves sailing the Sirocco.

TypeScript – A Love Tale with JavaScript

Bowden Kelly (Microsoft)

Around 5 years ago, we embarked on a journey to create TypeScript. It all began with our love and passion to help JavaScript developers create applications that scale. TypeScript has come a long way since then. This session will dive head first on a demo driven tour of what Typescript is and the value it brings for JavaScript developers. You’ll walk away knowing how to quickly add TypeScript to your own apps, see some of the latest features in action and most importantly, get a first-hand experience of the productivity gains it brings to your JavaScript apps. About Bowden Kelly: Like you, Bowden Kelly has spent a lot of time seeking better development workflows. Which editor should you use? Which tech stacks will have longevity? How do I ship faster, but with less bugs? A few years ago Bowden packed up his web development career to pursue building better developer tools at Microsoft. Since then he has been working on the TypeScript language, Node.js editing tools, and trying to share best practices with JavaScript developers worldwide.

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.

Using minikube (Kubernetes) for Local Node.js Development

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.

Troy Connor is a Cloud Software Developer for CloudReach. He helps 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.

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. 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 (acquired by GoDaddy in 2015). An open source enthusiast and community builder, he is the author of many popular Node libraries, the creator of the EmpireJS and EmpireNode conferences in New York City, and an advisor to several technology startups. Charlie is a graduate of McGill and holds a Master’s degree from Columbia University.

Understanding and Debugging Memory Leaks in Your Node.js Applications

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. 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.

A Brief History of Streams

Jessica Quynh Tran

From spew streams to suck streams, Streams are a little understood corner of Node.js that are utilized in almost every internal module and across thousands of NPM packages. How exactly did Streams come to exist? How do they vary from version to version of Node.js? This talk will cover the technical history of “Streams” ranging back to UNIX pipes, and describe along the way how “Streams” derive from fundamental concepts of information technology.

KEYNOTE: One Week in the Life of Node.js

Anna Henningsen

Would you have guessed that the Node.js Github organization generates more than ten thousand comments per month? Probably not! Anna sheds some light on what is happening in the everyday life of the Node.js project and gives insight into the challenges of developing an open software on this scale. Anna is a math student from Düsseldorf, Germany. When Anna is not studying, she is contributing to Node.js or participating in the Node.js Core Technical Committee – Node.js is her current hobby. Anna also helps mentor at Code & Learn events. Code & Learn events allow developers to get started (or go further) with Node.js core contributions. Experienced contributors help guide developers through their first (or second or third or fourth) commit to Node.js core. If you are interested, a Code & Learn event will take place on October 6 during Node.js Interactive.

The State of Node.js Security

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. About Tim Kadlec: 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 #4: New Perspectives on Web Design, and the Web Performance Daybook Volume 2.

Keeping JavaScript Safe: Security & the npm Registry

C J Silverio (npm Inc.)

Who really published this package? Am I getting the same package this person published? Does this package have vulnerabilities? Is this package malware? These are questions we all ask about packages on the npm registry, and the answers are important to us as we develop services and applications with the code shared there. C J Silverio, CTO of npm, Inc, tells you how you can answer these questions and what npm is doing to allow the node world to share code with confidence.

N-API – Next Generation Node API for Native Modules

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.

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.

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 code coverage reporting). Within IBM he leads the Node.js team driving IBM’s Node.js runtime deliveries and their contributions to Node.js and v8 within the Node and google communities. Past experience includes building IBM’s Java runtime, building and operating client facing e-commerce applications, building PKI and symmetric based crypto solutions as well as a number of varied consulting engagements. In his spare time he uses Node.js to automate his home and life for fun.

VS Code: Optimize Your Node.js Development “Inner Loop”

Chris Dias (Microsoft)

VS Code…Maybe you’ve heard about it, or you’ve seen your friends using it… Maybe you’ve tried it once or twice, or maybe you use it every single day. No matter what camp you fall into, in this session you’ll learn something new about using VS Code and how to quickly build and deploy node.js applications and micro-services. We’ll configure VS Code for the “inner loop” of development – the edit, compile, debug cycle. See how VS Code provides great code editing and code navigation experiences such as semantic IntelliSense, GoTo Definition, Find All References, Linting (e.g. ESLint), and more. We will configure VS Code to enable single file debugging, gulp file debugging, mocha debugging, and both client and server side debugging in a single session. You will see how easy it is to create Docker artifacts with VS Code, how to build and deploy images, and even how to debug your node.js applications running in containers. All of this from within a lightweight editor, in under 30 minutes! Chris Dias is a Program Manager, Microsoft. Chris is a member of the VS Code team at Microsoft, where he gets to work with an incredible group of engineers who are passionate about developer tools and changing the way Microsoft does development in the open.

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. 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 go pretty well together and I’ve been able to make a career out of them. I’ve spoken at Node.js Interactive, Digiforge and other community events. I would like to share with the Node.js community some of the lessons I’ve learned in my journey scaling an online game from just hundreds, up to millions of active players.

GraphQL in the Wild

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.

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. 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.

KEYNOTE: You Know What They Say About Good Intentions…

Kim Crayton

Kim Crayton has years of experience working with learners of all ages, skill level, and abilities and is now using her knowledge to develop technical people, ideas, organizations, and communities. Her current efforts focus on creating environments that support the safe sharing of common attitudes, interests, and goals, which she is doing with “The Community Engineering Report” podcast (@CommEngReport), “Taming the Wild West: Strategies For Successfully Transitioning Into A Technology Career” workshop, public speaking, and #WeCanDoBetter. She is currently pursuing a Doctor’s of Business Administration – Technology Entrepreneurship

Modules Modules Modules

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. 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.

Node.js at Alibaba

Joyee Cheung (Alibaba)

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. 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.

Effective Typed JavaScript

Jeremy Morrell (Heroku)

Simply adding a type system to an existing JavaScript codebase using Flow or TypeScript can help document your code and avoid bugs. While you can treat types as simply an additional layer on top of the code you would normally write, to get the most out of a type system it’s worth approaching it as a new language with its own idioms and patterns. To understand the real power of these new tools we’ll explore patterns from other strongly typed languages like Rust, Elm, and OCaml and see how we can apply them in our JavaScript codebases. Learn how to leverage the type system to help you refactor your code, ship changes with confidence, and never see `undefined is not a function ever again. About Jeremy Morrell: Jeremy builds furniture, climbs mountains, and makes Node happen at Heroku.

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. 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 much as code, he splits his time between engineering and evangelism/advocacy at IBM. Joe Sepi joined IBM as the Lead Developer Evangelist for the StrongLoop Team but has since joined the NYC Team of Developer Advocates. He also plays in two punk rock bands, hits the dirt trails on his enduro and enjoys time with his family.

KEYNOTE: Developer Efficiency and Production Success for Node.js Applications

Michael Dawson (IBM)

Developer efficiency, production-level performance, support and easy-to-use tooling are critical to the success of Node.js at an enterprise-scale. For years, IBM has been committed to making Node.js enterprise ready through key contributions to the community. Join Michael Dawson as he shares how IBM is building on those efforts to provide tooling (many open source) and support throughout the entire development life cycle, so Node.js can power business critical enterprise applications. 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 code coverage reporting). Within IBM he leads the Node.js team driving IBM’s Node.js runtime deliveries and their contributions to Node.js and v8 within the Node and google communities. Past experience includes building IBM’s Java runtime, building and operating client facing e-commerce applications, building PKI and symmetric based crypto solutions as well as a number of varied consulting engagements. In his spare time he uses Node.js to automate his home and life for fun.

KEYNOTE: The Node.js Technical Roadmap

James Snell (nearForm)

James M Snell will layout and discuss the future of the Node.js platform including a look at the key technical objectives, initiatives, and features that are coming to Node.js 9, 10 and beyond.

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. About Nicola Del Gobbo: I’m very passionate about 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 that I use everyday. I love to share my knowledge so I write technical articles. I’m a Co-Founder of Nacios Technologies and now I work as developer at Packly. My real happiness consists in resolving very difficult problems with simplicity and sometimes going for a long walk.

Hooray for Arrays! Tips and Tricks for JavaScript’s Best Object

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. Erin McKean is a Developer Advocate for IBM and 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 APIs! In her spare time she sews clothes and makes Twitterbots.

Don’t Starve the Event Loop: Measuring and Monitoring Node.js for Performance

Nathan White (NodeSource)

As more and more Node.js are pushed into production there is a critical need to define what it means for a Node.js application to be healthy and performant. We will identify critical metrics “under the hood” involving the Event Loop and GC (garbage collection). Finally we will explore how to quantify and interpret your application metrics to proactively prevent performance issues.

KEYNOTE: The Case for Node.js

Justin Beckwith (Google)

Node.js has had a transformational effect on the way we build software. However, convincing your organization to take a bet on Node.js can be difficult. My personal journey with Node.js has included convincing a few teams to take a bet on this technology, and this community. Let’s take a look at the case for Node.js we made at Google, and how you can make the case to bring it to your organization. Justin is a product manager, web developer, and geek dad working on the developer experience for Google Cloud. He leads Google’s Node.js product efforts, and this one time he served on the Node.js Foundation board of directors. Before joining Google, he filled various developer and architect roles with startups, healthcare companies, and universities. He blogs at http://jbeckwith.com and twitters as @justinbeckwith

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. 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 Computer Science and Mathematics from Virginia Commonwealth University, and an MBA from Portland State University.

KEYNOTE: The Creative Side of Node.js

Rachel White (Microsoft)

Rachel is a self-taught developer and designer who is interested in new uses for old hardware, robots, VR/AR/MR and bots. She’s spoken internationally about JavaScript Robotics, Twitter Bots, browser based video games and Node.js. Rachel is currently working on multiple video game projects and a VR cat cafe. We often hear about how Node.js is fueling digital transformation within businesses, but what about the creative work (and there’s plenty of it) being done with Node.js? Rachel will explore creativity with Node.js and provide a glimpse into the art pieces people are working on that are powered by Node.js, how they are using it and what services they are incorporating.

KEYNOTE: JS Foundation Panel: The Many Facets of Sustaining an Open Source Ecosystem

VA

KEYNOTE: JS Foundation Panel: The Many Facets of Sustaining an Open Source Ecosystem- Jory Burson, Bocoup (Moderator); Maggie Pint, Microsoft; Tracy Hinds, Node.js; Erin McKean, IBM This panel of open source community members discusses the many aspects of creating, supporting and sustaining open source projects. The panel will discuss everything from the corporate-open source relationship to diversity’s role in truly sustainable ecosystems.

Grokking Asynchronous Work in Node.js

Thorsten Lorenz (NodeSource)

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. 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 source efforts like browserify to which he added source map support. Lately he has been focusing on understanding the Node.js stack in more depth, focusing on libuv, v8 and is helping out with the addition of the async hooks feature to Node.js core itself. Please find previous talks of Thorsten at http://thlorenz.com/talks/

Node.js Does 30 Billion Transactions Per Day

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. 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. He is based at the IBM Toronto Software Lab, in Markham, ON, Canada. Since joining IBM in 2004, he has been developing dynamic compilation technology for z Systems.

Programming Best Practices: Memory Efficiency with Closures

Gireesh Punathil (IBM)

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. 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 software modules. He has spoken at JavaOne and few Node conferences. He does not possess personal affinity towards specific languages or platforms, instead is passionate about how the compilers and language runtimes interplay between high level semantics and the underlying hardware.

Back Pressure, or, Don’t Accept Work Before You’re Ready [I]

Sam Roberts (IBM)

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. 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) networking systems. He eventually found Node.js, a sweet combination of event-driven programming and a dynamic language. He has primarily been working on Node.js support and production tooling, first at StrongLoop, and now at IBM Canada.

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. About Jenna Zeigen: 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 party or helping keep engineers happy, Jenna enjoys climbing, coffee, and cat gifs. Her best party trick is that she wrote the most serious academic paper of her life on puns.

Functionality Abuse: The Forgotten Class of Attacks

Nwokedi Idika (Google)

If you were given a magic wand that would remove all implementation flaws from your web application, would it be free of security problems? If it took you more five seconds to say “No!” (or if, worse, you said “Yes!”), then you’re the target audience for this talk. If you’re in the target audience, don’t fret, much of the security community is there with you. After this talk, attendees will understand why the answer to the abovementiond question is an emphatic “No!” and they will learn an approach to decrease their chance of failing to consider an important vector of attack for their current and future web applications. Nwokedi Idika is a member of Nightwatch, Google’s product-focused privacy team. Prior to engaging product teams on privacy issues at Google, he spent a couple of years building solutions to malicious automated threats at Shape Security and a few years at MIT Lincoln Lab working on quantifying trust and approaches to improve cyber defenders’ situational awareness. He earned his Ph.D. and Master’s in CS from Purdue University and a B.S. in CS from the University of Maryland, Baltimore County.

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. About Gregor Martynus: Node Developer by day, Open Source Community Engineer by night.

KEYNOTE: Node.js Wave 6- Myles Borins, Node.js TSC Chair, Google

Myles Borins (Google)

Node.js has evolved a number of times as the project moved between stewards, experienced a fork with io.js, and a reunification in v4.0.0. Within the stewardship of the Node.js Foundation the project has found itself in a fairly stable position when it comes to how the project moves forward technically. As the project finds itself spending less time reacting to problems, we find ourselves in the position to be more proactive about the future of Node.js. This talk will present a vision of what the next wave of Node.js may look like. 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.

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) About Yosuke Furukawa: 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 Redux.

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! 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.

When AI Makes Mistakes

David Luecke (FeathersJS)

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. About David Luecke: 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 led to the creation of FeathersJS. When David is not thinking about APIs, he is trying to teach his open-source virtual assistant useful new things to do.

KEYNOTE- The Node Movement and How to Play a Part

Matteo Collina & James Snell (nearForm)

As with every significant movement, the node movement will be marked in the history books. This talk covers how open source is really an art and best practices in making it a sustainable art throughout time.

JSF Architect: Lambda on Easy Mode

Brian LeRoux (Begin.com)

AWS Lambda enables developers to focus entirely on their application logic free of infrastructure concerns. Lambda functions can be developed in isolation, deployed in seconds, immediately available with zero downtime, and are (at least theoretically) endlessly scalable. If these properties aren’t enough to excite developers the cost is also remarkably cheap. 1 million invocations a month are free. Brian is a former member of the Adobe PhoneGap team and helped to foster the Apache Cordova project. He is also responsible for wtfjs. Lately he has been building begin.com with AWS infra using arc.codes

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? 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.

Building Foundations of the Node.js Community

Tierney Cyren (NodeSource)

Node.js is a community centric platform. It grew with individuals and startups into something that’s used at a massive scale today. With the io.js split and the resulting Node.js Foundation, where is that integral community now? Where is it going? And, most importantly, how can you get involved? About Tierney Cyren: Tierney is a Co-chair of the Node.js Community Committee, and a member of the Node.js Evangelism Working Group. He worked on contributing to Node.js at college in his spare time, and now writes tutorials and articles for the Community, with the goal of always enabling and empowering those who want to learn about Node.js and its vibrant ecosystem.

Panel: What Module Developers Would like Node.js Core Developers to Know

VA

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? Moderated by James Snell, nearForm

Maintainer Burden Group Therapy

VA

Small group discussion on tips for reducing maintainer burden. Jory Burson, Bocoup; Tracy Hinds, Node.js; Erin McKean, IBM

World-changing JS from Developing World Healthcare: HospitalRun and the JS Foundation

Joel Worrall (HospitalRun)

In 2014, a small, global team of JavaScript developers [working within an NGO] began to leverage technologies like Ember, Node.js, and Electron as well as concepts like offline-first to offer free, easy-to-use, open source software for developing world healthcare. The result is HospitalRun, a recently added member project to the JS Foundation. Through the genesis of the project, the objectives that bind the community, and the impact goals and achievements thus far, consider how open source projects like HospitalRun could drive world-changing technology and human impact from the bottom up. Joel Worrall currently serves as the Chief Technologist for Masterworks, an agency focused on serving local and global relief and rescue nonprofit organizations. He’s also a part of the core team for HospitalRun, a JavaScript-based open source project focused on delivering free, easy-to-use software for developing world healthcare. Previously, Joel spent 8 years as the CTO and head of marketing for CURE International, a global medical nonprofit which inspired and incubated the HospitalRun project. You can read more at joelworrall.com, or you can reach Joel everywhere on the Interwebs @tangollama

Journey to Node.js Core Using End-to-End Workload Node-DC-EIS

Anil Kumar (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.

About Anil Kumar: Anil is one of the earliest contributors to Java virtual machines GC, large pages, profiling etc. He has great experience in performance optimization as well as benchmarks development and standardization. He comes with an extensive industry network, being the Intel representative for 5 years in the JCP Executive Committee (Java Community Process) and a member in the SPEC committee where he chairs the OSGjava subcommittee, which owns the benchmarks SPECjms2007, SPECjvm2008, SPECjEnterprise2010 and SPECjbb2015. In addition to being a key player in SPEC (www.spec.org) with many well-known OEMs and enterprise companies, Anil has been one of the key architects for SPECjvm2008, SPECjbb2005/2015, SPECpower_ssj2008 benchmarks. More details can be found here https://www.linkedin.com/in/anil-kuma…. Anil has delivered many talks at conferences like JavaOne and keynotes at SouJava Brazil, ICPE in Dresdon, Node Summit 2017. Currently he is project owner for https://github.com/Node-DC where main charter is to develop Node.js workloads for Data Center. In spare time, he loves mentoring young kids for STEM and judging science fairs in particularly for emerging trends in computers.

KEYNOTE: The Foundation for a Sustainable JavaScript Ecosystem

Kris Borchers (JS Foundation)

The JavaScript ecosystem is massive, growing, and touches every corner of technology from client to server, IoT to cloud and everything in between. Kris will briefly share with you why and how the JS Foundation is taking on the enormous task of creating infrastructure and providing guidance to that ecosystem in order to support and sustain projects long term across all stages of the project lifecycle. Kris is a champion and proponent of open source and open governance. As Executive Director of the JS Foundation, Kris leads the organization in its goal to drive broad adoption and ongoing development of key JavaScript solutions and related technologies. The JS Foundation also helps facilitate collaboration within the JavaScript development community to ensure those projects maintain the quality and diverse contribution bases that provide for long-term sustainability.

 

Support us with a RT if you like this post.

Leave a Reply

Your email address will not be published. Required fields are marked *