This page lists some of the talks I've presented at conferences, user groups etc.
Pytest is Awesome
A look at the popular Python testing framework, what makes it good and how to approach common testing tasks and problems. Also discussed are some potential areas of confusion around pytest's use of "magic".
This talk was presented at the August 2023 Christchurch Python meetup.
All About (Python) Iteration
A fairly deep look at different kinds of iteration in Python including
iterators, iterables, generator functions, list expressions and the various
language protocols involved with iteration. The
while loop also gets brief
Storing & Exchanging Data with Python
Mike Kittridge and I put together a talk for the Christchurch Python meetup covering numerous ways Python programs can store and exchange data. We covered the ins and outs of binary files, text files, buffering, text encoding, newline ending, mmap, pickle, JSON and friends, MessagePack, Protobuf, tabular data formats, multi-dimensional data formats and key-value stores (phew!).
New Features in Python 3.8 and 3.9
A tour of a host of things that appeared in Python 3.8 and 3.9. Python certainly keeps on evolving.
Never Write Shell Scripts Again
A discussion of the strengths and weaknesses of shell scripts and why you might want to consider using Python instead.
Go For Pythonistas
An introduction to the Go programming language from the perspective of a Python developer. Presented at the Christchurch Python meetup.
Advice for Success as a Technology Geek
A lecture I gave to University of Canterbury Data Science students about career in the workforce.
A discussion of the problem that virtualenvs solve, some gotchas and the tools people use to create and manage them. Presented at the Christchurch Python meetup.
A tour of Python's (then) new asynchronous programming features. Presented at the Christchurch Python meetup.
IMAPClient: Easy IMAP for Python
An introduction to the IMAPClient project which I maintain. Presented at the Christchurch Python meetup.
Application Development Using IronPython
An introduction to creating desktop applications using IronPython. Presented at the 2nd PyCon Italia in 2008.
Python on the Openmono Neo FreeRunner
Developing applications for the (now defunt) Openmoko Neo FreeRunner open phone platform. Presented at PyCon UK in 2008.