The Dr. Seuss Guide to Code Craftsmanship
Dr. Seuss had it all figured out. He would have made an excellent engineer. This talk will focus on common pitfalls along the development lifecycle and distill Dr. Seuss's excellent advice into concise steps developers can take before they write a single line of code.
The Death of Icon Fonts: Component-Based SVG Icon Systems
Icon fonts were convenient, but there are better alternatives in 2017 – especially if you're using modern build tools and component-based architecture. Learn how to build more robust, accessible icon systems using SVG, CSS, and React or Angular components.
If I unit test do I really need static typing?
There is a debate in the JS community about whether we need static typing or whether unit testing is sufficient. We’ve tried to resolve this argument with anecdotes, Medium posts, and sarcasm. There is a better way. Come learn what science has to say about dynamic vs. static typing.
Catching Cute Monsters with Immutable Patterns from Functional Programming
Functional Programming and Immutable Data Structures can be a challenging subject. This talk makes it fun and approachable by demonstrating collecting, training and dueling cute pocket sized monsters with side by side procedural, object oriented and functional programming techniques.
How to defuse a bomb… Wait, I mean a bug
Have you ever felt the pressure getting a story tested in a short deadline? It may even feel like you are trying to defuse a bomb. This talk will walk through useful processes like pair testing, bug scrubs, and daily backlog triage to let you test faster and get a better product to your users.
GraphQL and Microservices or: How I learned to be big and small at the same time
You've played with GraphQL -- maybe only read about it -- and you've tried to get through the docs. You've got questions: How is this better than microservices? IS it? Does it require a monolith? What does a production GraphQL system really look like? What are some best practices? Let's talk.
How can our language and behaviour be more inclusive?
Our words and actions can have a deep and profound effect on people in the community and within our teams. In this talk we will cover scenarios which put attendees in the shoes of those who receive unwanted and inappropriate language and/or behaviour. Today, what can we do to be more inclusive?
PWA Every Day: Progressive Web Apps vs Native Apps
In this talk, I will discuss the state of native mobile apps, why people write them, and why some of us would prefer to avoid them where possible. We'll go over some of the main features that might drive you to write a native app, what alternatives are available, and where browser support is for each. Where possible I'll demo each of the features so we can get a good sense for any tradeoffs we'll be making in the process.
UI and Unit Testing with Airbnb's Enzyme
An introduction to testing React components using Enzyme and chai-enzyme. Topics I'm planning on covering include assertions with chai-enzyme, when to use shallow/mount/render functions, selecting elements, simulating events, accessing instance methods, and accessing and manipulating props/state.
The 80/20 Guide to Async/Await
Async/await is now formally a part of the language, so it's time to help people master it. Without understanding promises and fundamentals you can easily shoot yourself in the foot. In this talk I'll cover the basics of async/await for beginners.
Fundamentals of Data Visualization
How you represent data matters - color, size, and even chart types can influence the way users see your data. This talk is designed to go over some basic data visualization fundamentals represent your data in an unbiased, accurate, and informative way.
Styling React for Reuse
The front-end programming sphere has exploded in recent years. Between state-based components, class naming conventions, and the inline versus stylesheet wars, it's difficult to wrap your head around your own components, let alone releasing them for reuse. My goal is to take all that information and distill it down into an easy to digest discussion for those who are looking to standardize their own components, or release their first components for public use. My goal is to help the community, at large, think about css in their OSS components in an extensible way, without sacrificing their favorite css approach.
There and back again.... Understanding Async/Await
This talk is about demystifying and understanding the new async/await pattern--its relationship with Promises, and best practices.
Dumber Components, Smarter Development
As UI developers, we plant weeds, then we're surprised when our web apps are full of dandelions. Building buggy UIs is too easy, and building robust UIs is nearly impossible. We all aspire to it, but the system is working against us. Using "dumb" components makes the system work for us instead.
Using Angular 2 components in a Non-Angular app
Migrating a large and complex JS application over to Angular can be a time consuming and daunting task. In this talk, we will walk through how we did a piecemeal migration of our Lucidpress app over to Ng without a complete rewrite of the app, by dynamically loading Angular components in a JS app.
Applying Code Standards Retroactively
One of the golden standards of programming is consistent code based on widely accepted standards. This session will cover the why and how of applying code standards retroactively across an existing code base and how to avoid needing to do it.
The Vue from up Here. Scaling with a Progressive JS Framework.
Vue is a true progressive framework. Its unobtrusive API makes it a perfect drop-in replacement for jQuery, yet it scales without compromise to a full SPA with advanced routing, Flux-style state management, and even server side rendering. Vue gives you what you need and gets out of the way.
Cool RxJS Tricks
Climbing Rocks and Coding Blocks
Have you ever been stuck between a rock and a code place? Learning to code can feel as challenging as defying gravity! Sometimes the problem that needs solving just needs a little real-world abstraction. Come hear stories of my battles with coding and how rock climbing taught me dev best practices.
Validation in an eventually-consistent world
0 to Nodebots in 45 Minutes
Abnormalities in the way JS handles asynchronous behavior can cause you to experience greater than normal discomfort when propagating your errors. Though JS error handling is chronic, with symptoms that usually recur, in this talk we’ll discuss the symptoms and common triggers of the condition.
10 Weird Applications of Public Key Cryptography
Plugging memory leaks with the Chrome Dev Tools
Garbage collection does not protect you from memory leaks. The Chrome Dev Tools have introduced a number of tools to help developers improve their apps' memory usage. Come learn how to find memory leaks, reduce time spent in garbage collection, and reduce overall memory usage in your apps.
The Birth and Evolution of AsyncHooks
Node v8.0 comes with the new native module “async_hooks”, but the development for this new feature did not start recently. The first commit landed back in September 2013, and between then and today the API has been removed, reintroduced and everything in between. The road was long and winding but async_hooks is finally available as a public API. I’ll give an overview of async_hooks development and reasoning behind the API’s design.