github gitlab twitter
Talks

2020

Composition over inheritance in Python πŸ§€πŸ…πŸ§„πŸ₯¦

Python Pizza; Online - April 2020

Both inheritance and composition are tools for code re-use in object-oriented programming. I explained the different concepts inheritance and composition follow for modelling relationships between types. I demonstrated how we can refactor an application from my python-super blog post, that was based on cooperative multiple inheritance, to use composition instead to achieve a more flexible and robust design.

Code πŸ’» | Blog post πŸ“ | Recording πŸ“Ί

2019

Introduction to automated testing with pytest

PyCon DE & PyData; Berlin, Germany – October 2019

I gave an introduction into automated testing in Python with pytest by live-coding on the earth project. We learned about pytest features for skipping tests, generating code-coverage reports, selecting tests with markers, generating tests for different parameters, and more.

Abstract πŸ“‹ | Tutorial πŸ“ | Recording πŸ“Ί

Advanced pytest

EuroPython; Basel, Switzerland – July 2019

My talk was centered around test suite customizations with pytest. I demonstrated how to automatically add markers to slow running tests, run only tests that use a fixture which can be specified on the CLI, generate test reports in a custom format, and automatically create GitHub issues for test regressions. I wrapped up my talk with using cookiecutter to create ready-to-publish Python packages from these customizations.

Abstract πŸ“‹ | Recording πŸ“Ί

Customizing your pytest test suite

PyBerlin; Berlin, Germany – February 2019

I gave an introduction into automated testing in Python with pytest by live-coding on the earth project. We looked into developing automated tests, writing pytest plugins and explored ideas for test suite customizations, that can help teams manage a growing test suite.

My talk at PyBerlin was not recorded, however another version of this talk was live streamed on YouTube and the recording is now available on our Mozilla YouTube channel. I also wrote a tutorial based on this talk and published it here on my blog.

Abstract πŸ“‹ | Tutorial πŸ“ | Recording πŸ“Ί

2018

EuroPython; Edinburgh, UK – July 2018

Maintaining open-source projects can be incredibly rewarding and fun, but it can also be quite frustrating. It involves so much more than writing code or merging GitHub pull-requests, and yet sometimes it feels like that’s what most people think. I shared what it means to maintain a popular project like cookiecutter and gave practical advice for managing expectations of the community.

Abstract πŸ“‹ | Deck πŸ’¬ | Recording πŸ“Ί

2017

Hi, my name is README!

Write the Docs Europe; Prague, Czechia – Sept 2017

A good README file briefly and concisely explains what your software does, how it can be installed and describes its API. Ideally it also provides information on the technical requirements, the license it uses and how the project is managed. How to get in touch to report problems and give feedback? Where can potential users find the Code of Conduct for your project? I provided examples for good README files and shared my thoughts on how documentation can help newcomers as well as more experienced users with your project and encourage them to engage with your community.

Abstract πŸ“‹ | Deck πŸ’¬ | Recording πŸ“Ί

Hi, my name is README!

EuroPython; Rimini, Italy – July 2017

A good README file briefly and concisely explains what your software does, how it can be installed and describes its API. Ideally it also provides information on the technical requirements, the license it uses and how the project is managed. How to get in touch to report problems and give feedback? Where can potential users find the Code of Conduct for your project? I provided examples for good README files and shared my thoughts on how documentation can help newcomers as well as more experienced users with your project and encourage them to engage with your community.

Abstract πŸ“‹ | Deck πŸ’¬ | Recording πŸ“Ί

Kickstarting projects with Cookiecutter

PyData Berlin; Berlin, Germany – July 2017

I gave an introduction to the cookiecutter open-source project, how to install it from PyPI, use its command-line interface to generate boilerplate code for different types of applications from project templates, and finally how to author template projects.

Abstract πŸ“‹ | Deck πŸ’¬ | Recording πŸ“Ί

Testing Python Code with pytest

Weekly Python Chat; Online – April 2017

I was invited by Trey Hunner to give an introduction into testing Python code with pytest at the Weekly Python Chat live video chat event.

Deck πŸ’¬ | Recording πŸ“Ί

2016

What’s new in pytest 3.0

EuroPython; Bilbao, Spain – July 2016

I demonstrated new features, covered important bug-fixes, as well as backwards incompatible changes and deprecations of the pytest 3.0 release.

Abstract πŸ“‹ | Deck πŸ’¬ | Recording πŸ“Ί

Cookiecutter - or what we can learn from templates

Python Glasgow; Glasgow, UK – Feb 2016

I shared my thoughts on using cookiecutter templates for kickstarting new projects and how templates help with on-boarding new team members.

Deck πŸ’¬

2015

Cookiecutter: Come to the Dark Side!

EuroPython; Bilbao, Spain – July 2015

I spoke about my involvement in the cookiecutter open-source project, highlighted a range of useful cookiecutter templates, and demonstrated how to use the commmand-line tool to generate a kivy app for Android mobile devices.

Deck πŸ’¬ | Recording πŸ“Ί