Teaching and Public Speaking

I enjoy teaching and public speaking — sharing what I do, and talking with people who want to learn.

I’ve presented at conferences, been a guest speaker in college Computer Science and high school programming classes, and appeared on podcasts.

I began my teaching career as a computer-savvy teenager, helping teachers at the Goddard College Teacher’s Center incorporate PCs into their teaching. Later, I taught web publishing to professional photographers for several years. Most recently, my talks have focused on Python, Django, and software engineering practices.

Below is a selection of talks and appearances over the past decade.


Defending dpaste.com from malicious users

NERD Summit, March 2024

dpaste.com serves thousands of legitimate users every day, but like most web apps it attracts its share of spam, probes, and attacks. This talk detailed techniques I use to mitigate these threats, including custom ratelimiting code and a blocklisting component I turned into an open source project.

Slide from defending-dpaste talk

Web Application Architecture

UMass Amherst COMPSCI 320, October 2023

An introduction to common web architecture styles: Monolithic, Layered, Microservices. With examples drawn from my recent work history.

Pydantic: Better Living Through Type Annotations

Boston Python, March 2023

A short talk introducing Pydantic, a popular Python validation library that leverages type annotations. (Watch)

Image from video of Pydantic talk

Working as a Software Engineer

UMass Amherst COMPSCI 320, November 2022

For these students building projects for real-world clients, an introduction to what that looks like in a professional context. Team communication, issue tracking, automated testing, coding standards, and effective remote work strategies.


Working on a Global Software Team

Springfield Lyceum College Prep, April 2021

In my ten years of remote work I’ve had co-workers all over the world. This talk for college-bound students painted a picture of what that’s like, while also helping them understand what software engineers actually do. (Watch)

Global map slide

Cool Stuff in Python 3 You Might Not Be Using

NERD Summit, March 2021

Python 3 lived for so long in the shadow of Python 2 that it was easy to miss its new features. This talk recapped some of the highlights (e.g. type annotations), with an emphasis on using them to write better Python. (Conference site)


Security Headlines podcast (interview)

August 2020

I was approached by Filip for this interview because he’s a dpaste.com fan. Our discussion ranged all the way from the origins of the site on Freenode, to using Django in enterprise. (Listen)


Porting 100,000 lines of Python 2 to Python 3

NERD Summit, March 2020 / Django Boston Meetup, September 2019

MassChallenge uses Python and Django for its core application “Accelerate”, the backbone of its operations. I led the upgrade to Python 3. Here’s how we did it and what we learned. (Watch)

Python 3 slide

Agile Software Engineering Process in Real Life

UMass Amherst COMPSCI 320, October 2019

This project-based Software Engineering class wanted to hear how the processes they were learning are used in industry.


Move Fast Without Breaking Things: Testing Python Applications

NERD Summit, Amherst MA, March 2019

An introduction to automated testing in general, and what it looks like in Python.

Testing slide

A Cautionary Tale of Analytics and Caching

Django Boston Meetup, October 2016

Some things I learned while connecting a complicated analytics system to a huge web publishing system. (Two engineers from MassChallenge attended this talk; I mentioned I was on the job market, and ended up joining their team as a result.)


20 Million Pageviews a Day with Django

NERD Summit, Amherst MA, September 2015

An overview of how we built the Cox Media Group web publishing platform. This talk was intended as a corrective to the widespread belief that “Python doesn’t scale.”


Introduction to Python/Django for Experienced Web Developers

NERD Summit, Amherst MA, September 2014

Targeted at an audience with experience in PHP and an interest in Python, this talk built on what they knew already to introduce Python and Django.


Adding content versioning to a Django web publishing system

Cox Media Group, August 2013

Demo of a development spike I did, adding content versioning to the web publishing platform at Cox Media Group. (Watch)


Using Django to Replace Proprietary Database Tools

Django Boston Meetup, December 2010

At the Hallmark Institute of Photography I built an integrated set of intranet web applications to replace several existing isolated solutions. I gave this talk from memory and notes when the laptop with my live demo couldn’t be connected to the projector. (Watch)

Speaking from notes