Schedule

7:30am - 9:00am

Registration

9:00am - 9:15am

Opening and Announcements

Chesapeake

9:30am - 10:15am

NoSQL, No Server, No problem: Using ORM's in Javascript Applications

Jason Maggard (ChartIQ)
Blue Ridge AB
Description

In this talk we will cover what ORM (Object-relational mapping) frameworks are, and how they help you manage data from the client side with less code and no SQL. We will use MongoDB as our database, Breeze.js as our connector, and Knockout for 2 way data binding to show the creation a small Twitter clone. In addition we will show how easy it is to switch backends from MongoDB to LocalStorage.

React to React Native: How Hard Could It Be?

Kylie Stewart (Formidable)
Blue Ridge C
Description

So you know React! You can build beautiful and efficient in-browser applications. Now, you want to create a similarly beautiful and efficient mobile experience for your users. You've heard of React Native - how hard could it be to bring your React codebase to a native platform that's based on the same framework? You might be surprised to hear there are a few hurdles you'll need to jump through to get your new mobile app up and running. In this talk, I will highlight some of those pain points as well as give some pointers and resources to help you tackle them, in addition to discussing the past, present, and prospective future of React Native development.

Visualizing Large Datasets with JavaScript Using deck.gl

Marko Letic (Tech Speaker at Mozilla)
Blue Ridge DE
Description

When talking about data visualization and JavaScript your mind usually goes to D3.js. But if our data has a location-based representation, we are faced with a limited choice. The main topic of this talk is to introduce the audience with deck.gl, an open-source WebGL-powered library developed by Uber that allows us to create beautiful data visualizations of large datasets and raise the level of interactivity for the user on a whole new level. A short introduction to the library and it’s API will be demonstrated along with practical use-cases, live-code examples and it’s integration with popular frameworks such as Angular and React.

Key takeaways:
1. Leverage WebGL to create high performant solutions
2. Motivation to start thinking about new ways to visualize data
3. Knowledge on how to integrate these types of solutions to your already existing Angular/React/Vue projects

Sponsored - Micro Frontends in Enterprise Applications

Nick Holmstedt (CoStar)
Chesapeake
Description

In just the last few years, the world of Web Development has exploded with innovation. CoStar’s technology direction has grown the company towards horizontal scalability and growth through modularized and micro-service oriented architecture. This extends to Micro-FrontEnds, a burgeoning concept forgoing centralized, monolithic applications in exchange for atomic development units. Teams are enabled to work independently and effectively on well-defined sub-systems, and collaboratively deliver seamless user experience across CoStar products.

10:30am - 11:15am

Human Readable JavaScript: Using ES2015+ to Craft Better Code

Laurie Barth (Gatsby)
Blue Ridge AB
Description

Love JavaScript? Awesome! Hate JavaScript? That's ok! We know JavaScript hasn't always been easy to read.

The good news is that things have gotten better! In this talk we'll look at some of the syntax ES2015+ introduced to help us write more readable code for our coworkers and our future selves.

This talk will dive into a number of pieces of modern JavaScript syntax, and how they can help us write better code. This will include things like destructuring assignment from ES2015, through flatMap in ES2019. Come learn some new tools!

Introduction to GraphQL

Matt Lavin (LifeOmic)
Blue Ridge C
Description

GraphQL adoption has been increasing over the last couple of years due to its ability to speed up both development and runtime. Learn how GraphQL is different from REST and when you might want to use it. I’ll show you the advantages, and disadvantages, that GraphQL brings to your systems but most of the time we'll focus on how to implement a GraphQL design. I’ll walk through building a simple GraphQL based application using a Node.js backend and a React frontend. You’ll leave the talk knowing:

1. The high level concepts of GraphQL
2. The structure of a GraphQL schema and types
3. How to implement a Node.js GraphQL backend
4. How to build a React based frontend using GraphQL

jHipster: Building Something Vue-tiful

Leigha Dellinger (Capital One)
Blue Ridge DE
Description

There is no denying that Vue.Js has been in every JavaScript conversation lately. But why do developers prefer it over other frameworks? Then there is jHipster; where you have a complete and modern Web app or microservice architecture generated for you. Why combine them? I'm here to answer just that.

Sponsored - JavaScript: Adding a New Driver to your Golf Bag

Ben Nelson (SingleStone)
Chesapeake
Description

It’s no secret that JavaScript can be used to build incredibly powerful applications. But – what if your team's expertise is in .Net or Java? How do you thoughtfully and efficiently make the move to JavaScript without trampling months (or years) of team chemistry? Trust me, it’s possible - it all starts with knowing what you’re trying to accomplish and why. By the end of this presentation, you'll see that JavaScript is just another club in your team's bag of languages.

11:30am - 12:15pm

Delicious JavaScript: Delectable Explanations of the Power of JS

Adrienne Tacke (DebtTrader)
Blue Ridge AB
Description

map(), reduce(), filter(), oh my! Many new devs (or seasoned ones venturing into JavaScript) always tell me that these and other essential methods are difficult understand, let alone explain to someone else. Sure, you can read the official documentation (you should do that) to see how they are supposed to work and even get useful code samples. But when the time comes, either in an interview or a conversation with someone new to JavaScript, can you clearly and confidently explain how they work?

To solve this conundrum, I did what I do best and created dessert-based explanations of the essential and most commonly used methods! So if you're ready to hear how marshmallows and map() are totally a thing or why includes() and ice cream belong together in a JavaScript for beginners course, then stop by!

Supporting an Old-Fashioned AngularJS App in a Modern TypeScript World

Jennifer Wadella (Kansas City Women in Technology)
Blue Ridge C
Description

Full abstract:

You don't want to say this out loud at parties, but you're still supporting a legacy AngularJS app and are struggling to stay current with modern techniques. We've all been there and it's going to be ok! In this talk you'll learn how to take advantage of TypeScript and reactive programming with RxJS, but in the context of an AngularJS application 'cause AngularJS devs need love too!

The Web Audio Explanation I Wish I Had

Paul Rosen (Gracenotes, LLC.)
Blue Ridge DE
Description

I started working with JavaScript in 2008 and immediately started trying to dynamically create sheet music in a browser. That turned into an open source project, abcjs, that I've been supporting in my spare time ever since.

I've long wanted a simple way to play realistic sounding notes (not just sine waves) dynamically in the browser but it has taken a long time for the Web Audio standard to be widely available. I've tried libraries that have fallbacks to other sound-producing methods but none of them were performant enough for my needs. I found that the sound produced in those cases is more annoying than just being silent. Now, the only browser left that doesn't support Web Audio is IE11 and that has a pretty small market share.

Therefore, time finally seems right to add synthesized sound to my music notation library. This talk is an overview of the functionality that I added to abcjs, including the pitfalls and architecture of the sound generation, the gotchas encountered along the way, and about the performance and memory requirements.

12:30pm - 1:30pm

Lunch

Chesapeake

1:45pm - 2:30pm

A Tinder Love Story: How we created our WordPress blog in React...not PHP.

Kyle Boss (Tinder)
Blue Ridge AB
Description

Are you a React Developer who has been asked to create a Wordpress blog?

Don't dust off that PHP for Dummies book just yet! There is a new tool on the React scene that has been generating a lot of buzz recently. It's called GatsbyJS.

Come learn how Tinder used GatsbyJS to implement our heavy-traffic lifestyle blog (https://swipelife.tinder.com). We will also spill the tea on the challenges we faced while using this cutting edge technology. After attending this talk, you too will be able to go back to your epic engineering lives and create a website that non-engineers can edit themselves... all in React! 💪

Why React Hooks and How Did We Even Get Here?

Ryan Yurkanin (Guru)
Blue Ridge C
Description

As component code grows, stateful behaviors break apart. Hooks is here to fix that. After this talk you will know:

1. What did we do before hooks?
2. Why did the React team decide on the current implementation?
3. How do they work?
4. When should I use them?
5. and practical examples for each one!

Building Open-Source Cloud-Native Apps in JavaScript

Gary Sieling (Element 84)
Blue Ridge DE
Description

Cloud-native microservices are a popular architecture for applications that are inexpensive to maintain. This talk is a case study of a Javascript app on AWS Lambda built to acquire machine learning training data. It aims to help JavaScript developers learn DevOps skills to take advantage of AWS.

Sponsored - How Open Source Software Gives Commercial Vendors the Power to Protect Niche Interests

Terry Thorsen (ChartIQ)
Chesapeake
Description

Open source projects that we all depend upon, like Chromium and Electron, are managed by a small set of individuals who work for west coast technology firms. As big as the multinational banks are, their technology departments don't have the bandwidth or focus to ensure that their interests will be considered as those projects evolve. Vendors like us—though small—represent the entire finance industry, and because of our focus have the ability to stay tuned in with those projects.

As such, we can ensure that the needs of our constituents are considered in the evolution of those open source projects. This talk discusses this relationship and what it means when small commercial vendors have the power of influence in fintech open-source projects.

2:30pm - 3:30pm

Sponsor and Networking Time

Hallway

3:45pm - 4:30pm

Build Software like Pixar Makes Movies

John Athayde (PowerFleet/I.D.Systems & Meticulous, LLC)
Blue Ridge AB
Description

Pixar is a creative powerhouse. They're responsible for reinventing Disney animation, and it all comes down to creative process. But most people don't realize is that Pixar is a hardware and software company that made movies and shorts to figure out what they could do with their tools.

In this talk we'll look at Pixar's history, process, and how we can apply that to building our own products with intensive user research, constant refactoring, and infectious collaboration. Learn about the benefits of hiring varied discipline individuals and teaching them their jobs, with experience from similar programs at LivingSocial Engineering.

Testing React

Matt Crowder (Appian)
Blue Ridge C
Description

If you had to rewrite your tests when writing a hook in your React application, then you're writing tests wrong.

react-testing-library is what it sounds like, but more importantly, it encourages writing tests in the way that your end users will be using your components.

In this talk, I will first introduce react-testing-library, what it is, what it encourages, and what it does best. I'll then dive into how to effectively test a react component, first a smaller component, then a "larger" component with redux, i18n dependencies, etc., then I will show all of the different APIs that react-testing-library provides, and how to effectively use them. Then, I'll show how to write effective tests across an entire application (writing reusable, effective tests that are not brittle).

Ember Octane - Doing More With Less

Suchita Doshi (LinkedIn)
Blue Ridge DE
Description

There was a time when we had limited options to select which Javascript framework/library to choose for building ambitious web applications. One of the most common choice was often JQuery. In today's modern world, when it comes to selecting the best framework, we are fortunate enough to have an abundance of options such as ReactJS, AngularJS, EmberJS, VueJS, BackboneJS etc. Now the challenge for most of us becomes how to decide which framework would be the best suited for our web app. I have had the honor to work with most of the frameworks mentioned above and each of them has its own advantages and disadvantages. Even though there is no clear winner in the JS framework world, in my experience EmberJS is a great fit for large complex web applications. People often call EmberJS an opinionated framework and it also has a reputation for having a steep learning curve along with other issues like the size of the framework etc. Ember JS's newest edition "Ember Octane" addresses most of such concerns and rescues the troubled developers.

Ember Octane is a version of the framework that emphasizes on modern productivity and performance. This is a giant leap forward in terms of simplification, alignment with web standards and the implementation of components acting as the fundamental building block for the framework. These are some of the most exciting things to happen in the project's eight-year lifetime.

In my talk, I will be covering more details on Ember Octane and it’s features such as:
- Glimmer Components
- Tracked properties
- Native classes and decorators
- Event handling with modifiers and decorators
- Live Demo

4:45pm - 5:30pm

Future-proof your Web Apps with Web Components and LitElement

Kito Mann (Virtua, Inc.)
Blue Ridge AB
Description

Building a web app? Should you pick Angular, React, Vue, or the something else? Did you know that browsers have a built-in standard for building reusable components, called Web Components? With a little bit of help from LitElement and LitHtml — libraries from Google’s Polymer team — you can build powerful web apps that run natively in all modern browsers (and can even work in IE). This means faster performance, less overhead, and most importantly, long-term compatibility (once it’s in the browser, it stays in the browser). This session dives into LitElement and LitHtml, and explains how how you can build components and entire applications using property binding, templating, and other common framework features in a simple, performant, and standards-based manner.

How I Learned to Stop Worrying and Love TypeScript

Tommy O'Keefe (NPR)
Blue Ridge C
Description

TypeScript usage is on the rise. According to the 2018 “State of Javascript” survey, over 50% of javascript developers surveyed have used TypeScript. For those who have used it, 9 out of 10 say they would use it again. As a former TypeScript skeptic turned TypeScript fanboy, I would love to give the 50% of you who haven’t started using TypeScript yet some encouragement and advice that will hopefully make the process easier.
We’ll briefly talk about a few reasons why you should give TypeScript a try, then dive into a couple of specific use cases using examples from recent projects at NPR. First we’ll look at best practices around starting a new project with TypeScript, some common pitfalls to avoid, and a few tips for getting the most out of the experience. Then we’ll tackle adding TypeScript to an existing project. Here we’ll focus on ways to take an incremental approach and how to get past some of the painful challenges you might run into.
My hope is that everyone will leave with a clear sense of how they can start using TypeScript today. If you’re trying to decide whether or not to use TypeScript in a new project, we’ll cover some major points you should consider. If you’re thinking about the investment in implementing TypeScript in a legacy JavaScript app, you’ll leave with a better idea of how to approach what may seem like an overwhelming task.

Angular: Keeping it Fat, Dumb, and Happy: An Architectural Approach

Todd Palmer (Fujitsu)
Blue Ridge DE
Description

This talk provides an architectural approach to building your Angular application.

This talk will definitively answer your questions of how to structure your Angular application so it is readable, testable, and maintainable.

We will see the stumbling blocks of Angular Components and understand how to avoid them.

Learn how to keep your Angular application happy by making your Templates dumb and declarative, your Components smart and thin, and your services fat and specific.

This will not be an introduction to Angular. Attendees should have an understanding of at least the fundamentals of Angular Components, Templates, and Services.

5:30pm - 6:00pm

Raffle

Chesapeake