Partially Applied

I speak at software conferences and meetups a few times each year. Many of my talks are about metaprogramming or numerical programming in Python.

Playing With Python Bytecode
Delivered at PyCon 2016.

This is the talk that I'm most proud to have been involved in. Joe Jevnik and I were looking for a way to give a presentation about codetransformer, a Python bytecode manipulation library that we co-maintain. We both wanted to give the talk, but neither of us wanted to do the usual boring format of "you talk for five minutes, then I talk for five minutes".

We eventually hit on the idea of telling the audience that Joe and Scott couldn't make it, and that I was a conference organizer trying to give the talk in their place. The rest of the talk fell into place quickly after that that, and the final result was a unique presentation that still gets me recognized occasionally at conferences.

Foundations of Numerical Computing
Delivered at PyCon 2018.

I gave this tutorial at PyCon 2018 with the goal of creating a useful first course for NumPy, the foundational library of the numerical Python ecosystem.

The tutorial is broken up into six sections, each of which has a set of exercises that go along with the lecture material. You can try the exercises in a live Jupyter notebook hosted on Binder by clicking here.

Hosting Jupyter Notebooks for 100,000 Users
Delivered at JupyterCon 2017, JupyterDay Boston. (Slides)

This talk describes work that I did to build a hosted Jupyter Notebook platform for Quantopian. It provides an overview of JupyterHub, and it shows how we customize Jupyter for the Quantopian platform.

The PyData Toolbox
Delivered at Boston Algorithmic Trading. (Slides)

This talk is a highly-condensed version of my numpy tutorial that also covers some of the basics of pandas.

Unspeakably Evil Hacks in Service of Marginally Improved Syntax
Delivered at PyBay 2016. (Slides)

This talk explores a variety of non-standard techniques for Python metaprogramming. It begins with a general introduction to metaprogramming before jumping off the deep end to discuss custom encodings, import hooks, and runtime bytecode manipulation.

A Class is a Poor Man's Loop
Delivered at PyCon 2018 (Lightning Talks).

This lightning talk is a demo of cloop, a horrifying "library" I created for writing C-style for-loops using Python class bodies.