Speaking Engagements and Podcasts

I love to share my knowledge and experiences with audiences on stage and on the Internet. Below is a list of conferences I've spoken at, as well as the topics I discussed. You'll also find a smattering of podcast appearances. Videos and links are given when available. Enjoy!

StarCon 2018

Keynote Address

All Things Open 2017

Keynote Address

Write/ Speak/ Code 2017

Keynote Address

JupyterCon 2017

How to cross the asteroid belt

A 3-hour tutorial on developing extensions and kernels for the Jupyter ecosystem.

MidwestJS 2017

A Deep Dive Into the Crankshaft Compiler

Crankshaft is the V8 JavaScript engine’s optimizing compiler, a helpful little fellow built into the V8 engine that is designed to improve the performance of our JavaScript applications. But how does it work? In this talk, we’ll deconstruct the internals of the Crankshaft compiler, discuss the process it goes through to optimize our code and the results of these optimizations, and examine how we might leverage our understanding of the internals in our day to day development work.

WeRise Tech Conference 2017

Keynote Address

AlterConf Chicago 20017

Deconstructing the Code of Conduct

Codes of Conduct are necessary documents in open source communities, but implementing them can be a tough process for many open source communities. In this talk, I'll list out the numerous benefits for codes of conduct in open source and present counterarguments to the numerous fallacies that are used to prevent them from being implemented in open source communities. Attendees will leave this talk with an understand of open source culture, the importance of open source communities, and how CoC-like documents can be helpful in online communities, offline communities, and work environments.

Video

OSCON 2017

It's all business: How contributing to OSS prepares you for entrepreneurship

A large, successful open source project runs a lot like a business. Indeed, some large, successful open source projects are businesses. In this talk, I explain why open source is the best playground and laboratory for new entrepreneurs and why this is a good thing for open source projects.

Podcast

CodeNewbies

Listen

Mobile Web Developer Conference

Keynote Address

Dont't overreact: it's just React

React is a front-end JavaScript framework that’s grown popular over the past few years. Perhaps you’ve used React for a project before or perhaps you're familiar with other front-end frameworks? This talk will explore the technical implementation of React, go through the pros and cons of the framework, and leave the audience with a technically-backed understanding of the best situations to use React in their web applications.

Video

Node Interactive 2016

Let's Crank Up the Volume: A Deep Dive into the Crankshaft Compiler

Crankshaft is the V8 JavaScript engine’s optimizing compiler, a helpful little fellow built into the V8 engine that is designed to improve the performance of our JavaScript applications. But how does it work? In this talk, I deconstruct the internals of the Crankshaft compiler, discuss the process it goes through to optimize our code and the results of these optimizations, and examine how we might leverage our understanding of the internals in our day to day development work.

Video

PLOTCON 2016

Storytelling for Society's Sake

Data is a powerful storytelling tool and data visualizations are one of the most approachable storytelling forms. In this presentation, I discuss how a combination of storytelling and computational narratives can be leveraged to present impactful and approachable information about social issues.

Video

Podcast

Hanselminutes

Listen

PyCon Canada 2016

Keynote Address

Video

PyData Chicago 2016, JupyterDays Boston 2016, PyTennesse 2015

Popping Kernels: An Exploration of Kernel Development for Jupyter Notebooks

Jupyter Notebooks allow users to create interactive documents with text, images, executable code, and interactive widgets. These documents can be backed by a variety of programming languages such as Python, R, and Julia. In this presentation, I discuss the architecture that powers this functionality.

Video

Abstractions Con 2016

Flunking the Turing Test

In popular culture, the Turing Test is often depicted as the absolute test for determining machine intelligence. However, there are numerous alternatives that capture the nuances of intelligence more effectively, such as the Winograd Schema Challenge. In this talk, I discuss the shortcomings of the Turing test and alternative metrics for measuring machine intelligence.

MidwestJS 2016, CascadiaFest 2016, JSConf BP 2016

The Hitchhiker's Guide to All Things Memory in JavaScript

Unlike lower level languages, JavaScript protects us from the frustrations of managing memory on the system. Nonetheless, it is important for developers to have a comprehensive understanding of memory allocation and how the memory allocator in JavaScript works so that they can develop memory-performant code. In this talk, I discuss garbage collection techniques and explain how memory management works in the Node V8 engine.

JSConf BP, CascadiaJS

Twilio SIGNAL 2016

How ZeroMQ Makes Science Possible

The Jupyter Messaging Protocol is at the heart of all things Jupyter. In this talk, I'll give a basic run-down of the Jupyter ecosystem, how the protocol (built on zeroMQ) works, and some of the challenges associated with the architecture. In this talk, I explore how communication is done in the scientific world from both a technical and non-technical perspective.

Video

Do Good Data 2016

Things They Never Told You About Cleaning Your Data

Cleaning data is often described as the "unsexy" part of data science. I don't think this is true. Scrubbing a messy data set can reveal volumes about the context, history, and flaws of the dataset collected and inform the data analytics process. In this talk, I cover techniques that should be used when approaching data cleaning and provide practical exercises for attendees to complete.

Podcast

Becoming A Data Scientist

Listen

Codemash 2016

Making Magic with Meteor.js

Meteor.js is an open-source framework for developing web, desktop, and mobile applications. In this talk, I guide users through the process of building an anonymous mobile forum in 2 hours using Meteor.

PyLadies Chicago

Introduction to Data Science with Python

In this 9-part workshop series, I guided students through a cursory overview of the data science using the Python programming language. The series covered the fundamentals of programming in Python, data visualization using Python tools, and machine learning techniques such as Bayesian classifiers, decision trees, and neural networks.

MidwestIO, Chicago Association of Computing Machinery

A Gentle Guide to Genetic Algorithms

Genetic algorithms are one of the most interesting search heuristics in the field of artificial intelligence and go back as far as the 1950s. In this presentation, I cover the history of genetic algorithms, the implementation of a simple genetic algorithm, interesting use cases of genetic algorithms, and the future of the technique in academia and industry.

Video

Beyond the Code 2015

Empathetic Teaching Techniques

Learning is the doorway to magical revelations and exciting journeys. Technical education is evolving beyond lecture halls and classrooms and into conference rooms and Meetup spaces. As education expands into non-traditional boundaries, it's important that educators of all kinds foster diversity, curiosity, and empathy in the classroom, especially in the technical discipline. In this talk, I explore tips and techniques learned through a variety of experiences in technical education, including developing empathy in the learning process, fostering student collaboration, and encouraging continued exploration.

DePy 2015

Free the Research Papers

What's even funner than reading interesting research papers? Implementing some of the techniques they describe! For some programmers, this can be a daunting and nerve-wrecking process. The strange symbols and the stranger jargon can be off-putting to the newly-minted research paper reader. In this talk, I discuss practical techniques for creating prototypal code for algorithms discussed in research papers.

Video