Talks
This page lists some of the talks I've presented at conferences, user groups and the like.
Python's Early History
This talk covers the history of Python from it's creation until around version 2.3, diving into inspirations for the language and the various features. An obligatory photo of a very young Guido Van Rossum is included!
This talk was presented at the October 2024 Christchurch Python meetup.
Poetry
This talk was presented at the From virtual envs to my reality session (October 2024) of the Python NZ Online meetup.
This presentation was one of four that evening with multiple speakers covering various approaches to managing Python versions, virtual environments and project dependencies. It positioned Poetry within the wider ecosystem and talks about some of its strengths and weaknesses.
Introduction to Axum
This talk provided an introduction to the Axum web framework for Rust, covering what the framework does and doesn't do, and some common usage patterns.
This talk was presented at the October 2024 Christchurch Rust meetup.
Security for Python Developers
This talk covered a number general security concerns from a Python perspective and some very Python-specific security issues.
This talk was presented at the February 2024 Christchurch Python meetup.
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
mention.
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.
Python virtualenvs
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.
Python async
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.