Remote talk “Pydon'ts – Write elegant Python code” @ EuroPython 2021Remote talk “Pydon'ts – Write elegant Python code v1.1” @ DjangoCon US 2021Remote tutorial “Implementing a Neural Network from Scratch” @ EuroPython 2021Remote talk “Pydon'ts – Write elegant Python code v2” @ Pyjamas Conf 2021Remote tutorial “Your first Python class” @ New Zealand Python User GroupRemote tutorial “Python objects under the hood” @ New Zealand Python User GroupRemote talk “Fifty shades of sign” @ PyCascades 2022Remote talk “Pydon'ts – Write elegant Python code v3” @ PyCon Sri Lanka 2022Remote talk “Why APL is a language worth knowing” @ FnConf 2022Tutorial “Python objects under the hood” @ EuroPython 2022Remote talk “Comprehending Comprehensions” @ PyOhio 2022Remote talk “Pydon'ts – Write elegant Python code v4” @ PyCon Portugal 2022Remote talk “Describing Descriptors” @ PyCon Sri Lanka 2023Talk “How dunder methods rule Python under the hood” @ EuroPython 2023Poster presentation “You DON'T know comprehensions” @ EuroPython 2023Tutorial “Practical introduction to descriptors” @ EuroPython 2023Tutorial “Build a terminal TODO app with Textual” @ EuroPython 2023Remote talk “How APL made me a better Python developer” @ Func Prog Sweden meetupTalk “Comprehending Comprehensions” @ PyCon Portugal 2023Tutorial “Mastering comprehensions” @ PyCon Portugal 2023Talk “Describing Descriptors” @ PyCon Ireland 2023Tutorial “How to implement a Python-like programming language” @ PyCon Ireland 2023Remote tutorial “Terminal-based user interfaces (TUIs) with ease using Textual” @ New Zealand Python User GroupRemote tutorial “More Textual” @ New Zealand Python User GroupTalk “What are descriptors and why does Django need them?” @ PyCon Lithuania 2024Talk “503 days working full-time on FOSS: lessons learned” @ PyCon Lithuania 2024Talk “525 days working full-time on FOSS: lessons learned” @ PyCon DE & PyData Berlin 2024Tutorial “The Pokémon trainer's guide to pandas & matplotlib” @ PyCon US 2024Talk “Descriptors made easy” @ PyCon Italy 2024Talk “503 days working full-time on FOSS: lessons learned” @ PyCon Italy 2024Talk “Animations from first principles” @ EuroPython 2024Tutorial “Reinventing the itertools wheel for fun and profit” @ EuroPython 2024Talk “503 days working full-time on FOSS: lessons learned” @ PyCon Portugal 2024Remote talk “Understanding Polars data types” @ PyData Global 2024Talk “503 days working full-time on FOSS: lessons learned” @ PyCon US 2025Tutorial “Reimplementing the module itertools for fun & profit” @ PyCon US 2025Talk “Dipping my toes in metaprogramming” @ PyCon Italy 2025Talk “A tour of the module itertools” @ PyCon Italy 2025Tutorial “Mastering decorators” @ EuroPython 2025Talk “A tour of the module itertools” @ EuroPython 2025Talk “A tour of the module itertools” @ PyCon Portugal 2025Tutorial “The Pokémon trainer's guide to Polars” @ PyCon Portugal 2025Tutorial “Advanced decorators – classes & decorators” @ PyCon Portugal 2025Talk “The paradox of itertools.tee” @ PyCon Lithuania 2026Talk “And now for something completely different” @ PyCon Lithuania 2026

Talks & tutorials

48 36 12
talks & tutorials events countries

I'm passionate about explaining technical concepts with engaging explanations and clear analogies. You can check my previous talks below to find examples of my live coding or colourful diagrams.

Reach out to me if you'd like me to speak at your event or company.

Talks

The paradox of itertools.tee

PyCon Lithuania 2026

NP-completeness

Dayton Dynamic Languages Group

A tour of the module itertools, part 2

Stockholm Python User Group

The paradox of itertools.tee

Python Users Berlin

A tour of the module itertools

PyCon Portugal 2025

A tour of the module itertools

PyCon Italia 2025

Understanding Polars data types

PyData Global 2024

Descriptors made easy

PyCon Italia 2024

Describing Descriptors

PyCon Ireland 2023

Comprehending comprehensions

PyCon Portugal 2023

Describing Descriptors

PyCon Sri Lanka 2023

Fifty shades of `sign`

PyCascades 2022

Tutorials

If you would like me to give any of my conference tutorials at your company, reach out to me.

Mastering decorators

EuroPython 2025

More Textual

New Zealand Python User Group

Mastering comprehensions

PyCon Portugal 2023

Python objects under the hood

New Zealand Python User Group

Your first Python class

New Zealand Python User Group

⚡ Lightning talks

Lightning talks are one of my favourite parts of any Python conference. This table lists most of the lightning talks I've given at conferences over the years.

Date Conference Talk title Watch Reference
10-04-2026 PyCon Lithuania 2026 What the Python? TBA
08-04-2026 PyCon Lithuania 2026 Who wants to be a millionaire: iterables edition TBA
24-07-2025 PyCon Portugal 2025 What the Python? YouTube -
29-05-2025 PyCon Italia 2025 What the partial? YouTube Blog
16-05-2025 PyCon US 2025 Meta lightning talk YouTube -
17-10-2024 PyCon Portugal 2024 Python light: now with 0% sugar YouTube Blog
18-09-2024 PyData Amsterdam 2024 Who wants to be a millionaire: PyData edition YouTube -
12-07-2024 EuroPython 2024 Who wants to be a millionaire YouTube -
24-05-2024 PyCon Italia 2024 Elegant (line of) code YouTube Blog
18-05-2024 PyCon US 2024 Counting to 698,438,863,898,480,640 in <1ms YouTube Blog
03-04-2024 PyCon Lithuania 2024 Hold my parentheses - Blog
11-11-2023 PyCon Ireland 2023 Elegant (line of) code YouTube Blog
11-11-2023 PyCon Ireland 2023 How to draw a fractal with Python YouTube Blog
08-09-2023 PyCon Portugal 2023 (More) Animations from first principles in 5 minutes YouTube Link
07-09-2023 PyCon Portugal 2023 Animations from first principles in 5 minutes YouTube Link
20-07-2023 EuroPython 2023 What APL taught me about Python YouTube Link
14-07-2022 EuroPython 2022 Smoosh all the things YouTube Link

Map by simplemaps.