I prefer 5 minute lightning talks and 3 hour workshops, but I do also sometimes give long-form 25-30 minute talks. You can find a few of my recorded talks below.
Meaningful Mentoring Moments
In this talk we'll discuss how to be a good coach at a programming workshop or while coaching a new hire.
Lazy Looping: The Next Iteration
In this talk we take a look at how generators can help us write more readable (and more efficient) looping code.
Python Oddities Explained
In this talk we dive into some common (and not so common) gotchas in Python. This talk was heavily inspired by questions asked by my corporate training students and tweets I made on the #pythonoddity hashtag.
Loop Better: a deeper look at iteration in Python
In this talk we take a look at how Python's
for loops work under the hood and in the process we learn about iterables, iterators, and lazy looping in Python.
You can find the Loop Better slides here.
Easier Classes: Python Classes Without All the Cruft
This is a tour of some of the built-in and third-party tools that make class creation a bit easier in Python.
This talk is on list comprehensions and generator expressions in Python. In this talk we take a look at how why Python has comprehensions, how they work, how to make them readable, and when to turn comprehensions into generator expressions.
You can find the Comprehensible Comprehension slides here.
In this talk we take a look at a few different important aspects of code style in Python.
You can find the Readability Counts slides here.
Python 2 to 3: How to Upgrade and What Features to Start Using
This talk explores the process of upgrading from Python 2 to Python 3 and the process and tours the tools that can help with this process.
You can find the Python 2 to 3 slides here.
Workshops & Tutorials
Interactive workshops and tutorials are my preferred in-person teaching style. Recorded workshops aren't as valuable as the in-person experience, but they can still be valuable! You can take a look at a few recordings of my workshops past below.
Using List Comprehensions and Generator Expressions for Data Processing
This is a 3 hour tutorial I taught at PyCon 2018 on some Python-specific looping constructs that are particularly helpful when processing data. The workshop material can be found at pycon2018.trey.io.
Lazy Looping in Python
This is a 3 hour tutorial I taught at PyCon 2019 on iterators and generators. The workshop material can be found at pycon2019.trey.io.
Readable Regular Expressions
This is a 3 hour tutorial I taught at PyCon 2017 on regular expressions. We discussed what regular expressions are good for, how to write them, how they work in Python specifically, and some often overlooked techniques for making regular expressions more readable. The workshop material can be found at pycon2017.regex.training.
Hands-On Introduction to Python
This is a 3 hour tutorial I taught at PyCon 2017 for new programmers. The workshop material can be found at intro2017.trey.io.
Test-Driven Web Development with Django
and at Ansir Innovation Center
Volunteers from the San Diego Python group taught a Django using test-driven development. I organized and co-created much of the tutorial. All teaching material we used is available online.
I love giving lightning talks. I've done many lightning talks at various meetups and conferences over the years. Here are some of the lightning talks I've given that have been recorded.