NationJS Node Day Schedule

Aimee Knight

Aimee Knight

@Aimee_Knight

Aimee Knight is a former figure skater, and software engineer at Kuali.co. Outside of work, she’s a weekly panelist on the JavaScript Jabber podcast, and co-organizer of CharmCityJS! In her spare time, she’s usually playing with a new library or technology, running along the Baltimore harbor, or trying out the latest flavor of Kombucha. Find her, and her contagious enthusiasm on Twitter @Aimee_Knight!

Getting Comfortable Being Uncomfortable - Lessons Learned One Year After the Nashville Software School

There’s no denying that engineers are in high demand. Bootcamps are popping up everywhere, and while they’re churning out highly motivated juniors, often it’s seniors that companies are really after. So how do we bridge this gap together? On the surface it often looks like we’ve ‘naturally’ developed into our current roles. And, as we progress it’s incredibly easy to forget what it was like being new. Rest assured however, for most the journey has been filled with a whole lot of grit, determination, and discipline.

In this talk, we’ll discuss lessons learned one year after going from a bootcamp grad, to a full time JavaScript developer. Plan to walk away empowered, and with renewed passion for the incredible industry we’re all a part of!

Azat Mardan

Azat Mardan

@azat_co

Azat Mardan is a Technology Fellow at Capital One. Prior to joining Capital One, he worked as a Team Lead at DocuSign, where his team rebuilt a 50-million-user product, the DocuSign web app. Azat has also taught technical trainings at Cisco, Walmart Labs, Hack Reactor, and other organizations. Before that, he worked on software development and web projects at Storify, National Institutes of Health, National Center for Biotechnology Information, Lockheed Martin, and the Federal Deposit Insurance Corporation, where he worked on the highly popular Electronic Deposit Insurance Estimator (EDIE).

Azat has published several online courses and nine books on JavaScript, Node.js and web development including React Quickly (Manning, 2016), Full Stack JavaScript (Apress, 2015), Practical Node.js (Apress, 2014) and Pro Express.js (Apress, 2014).

Azat is passionate about technology and finance, as well as new disruptive ways of educating and empowering people. In his spare time, Azat writes on his tech blog webapplog, speaks at conferences and contributes to open-source.

You Don't Know Node

This talk will give a sneak peek of the most interesting and powerful Node.js features. Node.js is quickly capturing the programming world not just in web, but in IoT, drones, robots and embedded systems.

This talk dives deep into the core mechanisms of the Node.js platform and some of its most interesting features such as:

  • Event Loop: Brush-up on the core concept which enables the non-blocking I/O
  • Streams and buffers: Effective way to work with data
  • Process and global: How to access more info
  • Event emitters: Crash course in the event-based pattern
  • Clusters: Fork processes like a pro
  • AsyncWrap, Domain and uncaughtException: Handling async errors
  • C++ addons: Contributing to the core and writing your own C++ addons
Artur Paikin

Artur Paikin

@arturi

Artur is a web developer and traveler. He writes stories about his adventures in Russian and English on his site and runs a small technology cooperative called Baguette, where he works on cool projects, currently building an ambitious next generation file uploader called Uppy with Transloadit. He rides a foldable bicycle, teaches web development and sometimes gardens on his balcony.

The House Is Not On Fire

In this talk I’ll tell a story about how I’ve designed & built a home automation robot called Koti (means "home" in Finnish). It’s in charge of controlling my apartment in Moscow, while I explore the world. Koti robot is powered by an Arduino microcontroller with a few sensors, Raspberry Pi, MQTT protocol for messaging, Node.js & web sockets. You can interact with it via React (such virtual dom) control panel, Telegram App chat bot and even your own voice through a browser. I’ll explain how I turned this project into reality — the tech used and the challenges faced. "From a blinking LED to a voice controlled home automation robot".

Jordan Kasper

Jordan Kasper

@jakerella

Shortly after it arrived at his home in 1993, Jordan began disassembling his first computer - his mother was not happy. She breathed more easily when he moved from hardware into programming. Jordan's experience includes companies large and small, universities, and numerous OSS projects. He also speaks at, and helps organize, local user groups, barcamps, hackathons, and conferences. Jordan's primary mission for the last 10 years has been to evangelize technology of all sorts and share what he has learned to help others grow. He is currently a Developer Evangelist for IBM working on StrongLoop and various Node.js solutions. In his down time he enjoys puzzles of all sorts and board games!

Debugging and Profiling Node.js

Having trouble figuring out where things went wrong in your new Node.js application? Have a slow memory leak dragging down your app? Not sure where to start looking? You're not alone! While Node.js may still be in its adolescence, the tools to properly build, debug, monitor, profile, and scale applications are advancing quickly. This session will introduce developers to proper debugging techniques for Node including understanding the console and other logging mechanisms, the debug console and node-inspector, and some profiling tools. By the end of the talk developers will be better prepared to tackle those nagging bugs and be confident that their applications are performing well.

Samantha Quiñones

Samantha Quiñones

@ieatkillerbees

Samantha Quiñones is a polyglot hacker and systems architecture expert. Over the course of her 17-year career, she has built software and led teams for some of the largest names in financial services and digital media and is currently a Principal Software Engineer on the content platform team at AOL. Samantha is an accomplished writer and frequent speaker at technology conferences, a participant in the White House Data Jam on STEM Workforce Quality, Flow, and Diversity and has been recognized by the Huffington Post as one of the top Latinas in American Media.

Node.js Microconsumer Architecture

Collecting and moving over a billion data records through a pipeline each day is a heavy job, but when it comes to turning that stream of raw data into useful applications, smaller is better. Let's explore how tiny, containerized Node.js apps can work together to process megabytes of information every second, swarming to meet rapidly changing needs while minimizing compute costs.

Rey Bango

Rey Bango

@reybango

Rey is a lover of the web and an advocate for web standards. At Microsoft, he’s focused on helping developers build awesome cross-browser experiences and being a feedback conduit for the community. He’s privileged to be an original member of the jQuery Project Team.

From Node n00b to not so Node n00b

Having been focused for many years on client-side development, I knew I needed to round out my skills and get back to some server-side development. Node.js seemed like the best path allowing me to leverage my skills to jump into the back-end. But nothing is ever as easy as it looks and in this presentation, I plan to touch on some of the hurdles I encountered and how I solved some of them.

Ben Ilegbodu

Ben Ilegbodu

@benmvp

Ben is a Christian, a husband and a father with over 10 years of experience developing for the Web. He currently is a Senior Frontend Engineer on Eventbrite’s Frontend Platform team. On the side, Ben also enjoys playing basketball, watching movies, and blogging (benmvp.com) / tweeting (@benmvp) about his experiences with new web development technologies.

Sweet ES6

ECMAScript 6 is the new version of JavaScript and is already available in the engines of our modern browsers and servers. Many of its features are just a little syntactic sugar to help make our JavaScript code clearer and more concise. Experience with JavaScript will help you get the most out of this session, but you don’t have to have a JavaScript black belt to leave feeling confident in ES6. Learn how to write cleaner code using arrow functions, destructuring, rest parameters, and other sweet ES6 features. Oh, and don’t worry if you didn’t understand any of those terms — you soon will after this session.

James Halliday

James Halliday

@substack

James Halliday has written lots of tiny node modules including dnode, browserify, optimist, and seaport. He draws silly cartoons and always has dozens of mad science experiments laying about. James built underwater robots in Alaska and then moved to Oakland and co-founded browserling.com and testling.com. He says he is on a mission to empower developers to write lots of tiny modules and tiny services instead of giant monoliths. Beep boop.

p2p in the browser

Browsers have some powerful new features that completely change what we can build on the web. In this talk I will show how to build cooperative infrastructure that users provide for each other instead of depending so much on large centralized providers and what work we still have to do to fully realize the dream of the distributed web.

Colin Ihrig

Colin Ihrig

@cjihrig

Colin is a member of the Node.js Core Technical Committee, as well as a hapi core team member. Colin works as a software engineer at nearForm, and is a co-founder of Continuation Labs. Colin is also the author of Pro Node.js for Developers.

Election 2016: Vote Node.js

Node.js is moving faster than ever, and trying to keep up with all of the recent developments can be challenging. This talk explores recent and upcoming changes in Node, with a focus on core.

Juan Caicedo

Juan Caicedo

@_juancaicedo

Juan has always been fascinated by language, having grown up speaking three. He finds refactoring therapeutic, problem solving exhilarating, and being an organizer for his local JS community fulfilling. He is lucky enough to work as a full-stack Javascript developer for Fluencia, making the world's best Spanish-English online dictionary. When not programming, Juan likes playing all types of board games and he never grew out of climbing trees.

Better JSON through streams

Streams provide the tools for building powerful and efficient web applications that scale to handling large amounts of data effortlessly. However, knowing how to leverage them in your web application can be daunting! This talk will introduce an architechture that uses streaming as its main means of communication. It will explore three frontiers of streaming: how to stream from module to module in the back end, sending a stream response from the server to the client, and receiving/processing a stream response on the client. By the end, developers will learn the basics of UNIX streams, how to use them with Node.js scripts, and how to write web applications that profit from all the benefits of streams.

Nick Heiner

Nick Heiner

@nickheiner

Nick is a senior software engineer on the Web Platform team at Opower. He builds the platform that enables Opower’s web content to reach utility customers and use behavioral psychology to convince them to reduce their energy consumption. Prior to Opower, he interned at Google and Microsoft, and graduated from Cornell University. Nick has contributed to open source projects such as Bower, Foundation, and Chai, and he writes on Medium.

Sane and Insane Functional JavaScript

Functional Programming is very fashionable, and for good reason: applying concepts from functional programming to your code can make it easier to write, reason about, and test. With its closures and functions-as-values semantics, JavaScript is amenable to functional programming. However, many implementations of functional programming we see today are earnest but ultimately doomed attempts to shoehorn well-loved idioms from other languages into JS. Let’s stop the insanity, and learn how to use functional programming concepts in an authentically JavaScript-y way.

Gleb Bahmutov

Gleb Bahmutov

@bahmutov

Gleb Bahmutov is JavaScript ninja, image processing expert and software quality fanatic. After receiving a PhD in computer science from Purdue University, Gleb worked on laser scanners, 3D reconstruction, and panorama-based virtual tours at EveryScape. Later Gleb switched to writing browser data visualization software at MathWorks. After a year, Gleb went back to the startup environment and developed software quality analysis tools at uTest (now Applause).

Today Gleb is developing real-time financial analysis tools at Kensho. He blogs about software development and links his projects at glebbahmutov.com. You can follow him and his work @bahmutov.

Remove the boilerplate

In this talk I will show how to remove lots and lots of unnecessary code from your application. Counter variables, wrapper functions, callbacks - they can all be removed using utility libraries or even built-in JavaScript ES5 language features. In particular I will show how to remove

  • callbacks and pyramids of doom
  • extra functions just to massage the arguments
  • wrapper functions
  • manual iterations
  • special emphasis on removing boilerplate code from the unit tests

In each instance there will be a lot less code, but it will be more robust, manageable and simpler to reason about and test.