Loading…
December 11-12 | Montreal, Canada
View More Details  & Register Here
Testing and Tools [clear filter]
Wednesday, December 11
 

11:40am EST

Robust Tests for Unconventional Environments - Carolina Pinzon, Dapper Labs
Writing robust tests for Dapper, a smart contract Ethereum wallet built as a Chrome extension was a difficult task because of its unusual architecture. Since Dapper users trust them with their valuable tokens and assets, tests were necessary for their team to deliver high-quality code. However, they were almost discouraged from implementing those tests because of the unique blockers they faced while setting up their testing environment. In her talk, Carolina will highlight the nuanced patterns and approaches her team took to facing those challenges, in the hopes of giving other teams the tools to overcome obstacles when adding tests.

Some of the topics that she will describe are: how to build integration tests for an application that communicates with other webpages using a background script, or how to check security vulnerabilities when dealing with client-side generated keys.

Speakers
avatar for Carolina Pinzon

Carolina Pinzon

Frontend Engineer, Dapper Labs
Carolina is a Colombian Software and Electronics Engineer living in Vancouver. She enjoys both low and high-level programming languages, but her passion is Frontend Engineering. She works at Dapper Labs, where she helped build CryptoKitties, the most popular blockchain game in history... Read More →



Wednesday December 11, 2019 11:40am - 12:10pm EST
513A-D
  Testing and Tools

4:40pm EST

Workshop: Build your First VS Code Extension - Nicolas Carlo, Busbud & Florent Vilmart, Shutterstock (Limited Seating; First-come, First-Served Basis)
Visual Studio Code is a text editor that has become very popular. A reason for such fame is Extensions. You can pick and install just the ones that fit your needs. You can customize VS Code to be super-productive. That's cool.

But have you ever considered going further, and extend VS Code at your will?
Have you ever thought about becoming the author of your own VS Code Extension?

Nicolas and Florent will guide you through this hands-on. You'll learn how to create, configure, package and publish a VS Code Extension.

In this workshop, you will understand how you can manipulate the structure of your code, using the Abstract Syntax Tree (AST). Together, we'll build your first VS Code Extension that will perform your own, custom, automated refactorings.

After this session, you'll know how to control your editor to give you (and your team) coding super-powers!

Speakers
avatar for Nicolas Carlo

Nicolas Carlo

Senior Tech Lead, Busbud
Nicolas loves to work with others to craft high-quality softwares that will delight end-users. He helps developers meet & improve their skills by organizing a monthly meetup called "Software Crafters Montréal". His current side-project is named "Abracadabra": a VS Code Extension... Read More →
avatar for Florent Vilmart

Florent Vilmart

Senior Engineer, Shutterstock
Florent Vilmart, M.Sc. is a full stack engineer in Montreal. Born in France, he moved to Montreal short before graduating looking for exciting opportunities in the francophone metropole of North-America. He honed his skills with Objective-C before jumping to Swift when it was released... Read More →



Wednesday December 11, 2019 4:40pm - 5:50pm EST
512D
  Testing and Tools, Workshop

5:20pm EST

Beyond npm Install... - Darcy Clarke, npm Inc.
Discover capabilities of npm & the npm registry you never knew existed.

Speakers
avatar for Darcy Clarke

Darcy Clarke

Engineering Manager for Community & Open Source, npm Inc.
I build products & experiences, communities & culture; ❤️ web+foss+ux. Engineering Manager, Open Source @npmjs & Mentor @nodeschoolto [he/him/his]


Wednesday December 11, 2019 5:20pm - 5:50pm EST
513A-D
 
Thursday, December 12
 

10:20am EST

Rethinking JavaScript Test Coverage - Benjamin Coe, Google
In 2017 the V8 engine introduced built-in code coverage; the ability, during runtime, to track the executed lines, branches, functions, etc., of a program. This information is useful for: analyzing bottlenecks, finding unused code, and finding parts of a codebase that need more tests.

Realizing how valuable native coverage could be to the community, Ben made it a mission to expose this functionality in Node.js.

In JavaScript coverage had traditionally been facilitated by a clever hack; tools, like Istanbul, parse the code inserting no-op counters... While this parsing-based approach works, it has shortcomings: as the language evolves, parsers play catch up; counters decrease performance; counters sometimes break applications.

Implementing native coverage in Node.js, was an amazing opportunity for V8, Node.js, and the npm community to work together, and is an exciting success story.

Speakers
avatar for Benjamin Coe

Benjamin Coe

Senior Engineer, Google
Ben was the third employee at npm, Inc, where he became involved with open-source and the Node.js community. Ben maintains the open source library yargs, is a collaborator on Node.js, and contributes to other projects, such as v8. Ben currently works on the client libraries team at... Read More →



Thursday December 12, 2019 10:20am - 10:50am EST
513EF
  Testing and Tools

11:20am EST

Why You Should Maintain Type Definitions for Your JavaScript Project - Ethan Arrowood, Microsoft
TypeScript support is one of the most sought-after features for any popular open source JavaScript project.

Fastify, a fast and low overhead web framework for Node.js, strives to treat TypeScript developers as first-class citizens even in a library written entirely in JavaScript. Since TypeScript 2.8 the Fastify team has been able to write and maintain our own type definition file shipped directly from Fastify itself. This has enabled our developers to rely on a single dependency and trust what they are using is always up-to-date.

This talk will share some of the lessons we've learned thus far, and it will explore some of the interesting changes we are making in the v3 refactor.

Speakers
avatar for Ethan Arrowood

Ethan Arrowood

Software Engineer, Microsoft
I am a Software Engineer for Microsoft on the Commercial Software Engineering team. I work with Microsoft's top Azure customers and help them solve their business problems. I am also an avid open source developer in the realm of JavaScript, TypeScript, and Node.js. Most of my open... Read More →



Thursday December 12, 2019 11:20am - 11:50am EST
513EF
  Testing and Tools

2:00pm EST

Work Less and Do More: Google Sheets for JavaScript Developers - Franziska Hinkelmann & Leah Cole, Google
Say goodbye to the days of TPS reports, and come learn how to automate the tedious tasks in your work day. Thanks to the extensibility of Google Sheets (and a special JavaScript client library for Sheets), as well as Cloud Functions, that’s easy. You can have all kinds of data, for example GitHub, Jira, uptime health, and even sales data combined and imported into a Sheet, analyzed, and output as an email report or slide deck-without ever opening the Sheet.

Speakers
avatar for Leah Cole

Leah Cole

Developer Programs Engineer, Google
Leah Cole is a developer programs engineer at Google, working on Composer, Google Cloud’s hosted version of Apache Airflow. Previously, she worked at GE for on multiple projects in the industrial IoT space. Leah is a graduate of Carleton College, where she studied computer science... Read More →
avatar for Franziska Hinkelmann

Franziska Hinkelmann

Engineer, Google
Franziska has a Ph.D. in mathematics and is a senior engineer at Google working on the Cloud Platform team in New York City. She’s a member of the Node.js Technical Steering Committee and an expert on JavaScript performance. When she's not working hard on making Node.js better on... Read More →



Thursday December 12, 2019 2:00pm - 2:30pm EST
513EF
  Testing and Tools

2:00pm EST

Workshop: How to Use Powerful Feature Flags and Controlled Rollouts - Asa Schachar & Justina Nguyen, Optimizely (Limited Seating; First-come, First-Served Basis)
We'll focus on the beginning of the product experimentation journey -- feature management and feature rollouts. When used strategically and thoughtfully, feature flags can be powerful tools in mitigating risk in your development cycle. Feature flags give us a high degree of control over the features we release — but what ensures we have a high degree of control over our feature flags?

In this hands-on technical workshop, attendees will learn how to strategically create feature flags in multiple development environments and roll them out to a subset of their customers. We'll talk briefly about the possibilities feature flags open up, and then describe how to use best practices of visibility and accountability to align those different flags into a cohesive feature flagging system.

Speakers
avatar for Justina Nguyen

Justina Nguyen

Developer Evangelist, Optimizely
Justina is the Developer Evangelist Lead at Optimizely, the world-class experimentation platform. In this role, she fosters relationships with developers to help them become aware of and understand Optimizely's platform. Prior to joining Optimizely, Justina was a Senior Developer... Read More →
AS

Asa Schachar

Developer Advocate, Optimizely
Asa is the lead Developer Advocate for Optimizely. Previously, Asa was the engineering manager for Optimizely's FullStack product, responsible for leading multiple cross-functional engineering teams in charge of Optimizely’s fastest growing product to enable companies to experiment... Read More →


Thursday December 12, 2019 2:00pm - 3:00pm EST
512D

3:20pm EST

CLI Tools for All the Things - Ruy Adorno, npm
Come learn how to build cli tools to enhance your day-to-workflows & change your life for the better.

Speakers
avatar for Ruy Adorno

Ruy Adorno

Senior Software Developer, Google
Immigrant to beautiful CanadaOpen Source Software Developer @npmjs • JavaScript • UI/UX • CLI [he/him]



Thursday December 12, 2019 3:20pm - 3:50pm EST
513EF
  Testing and Tools
  • Session Slides Included Yes
 
Filter sessions
Apply filters to sessions.