PyCon UK 2023

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
11:00
11:00
30min
Welcome and Introductions
Ann Barr

Welcome and Introduction

Assembly Room
11:30
11:30
60min
Technical Neglect
Kevlin Henney

Unmanaged technical debt weighs down many codebases, exerting drag on their schedules, but it is more often an effect than a cause. We will look at what technical debt is (and is not) with a view to properly attributing the root and recurring cause as technical neglect than technical debt.

Keynote
Assembly Room
13:30
13:30
30min
Domain Driven Design and Python
David Seddon

Have you heard of Domain Driven Design? Not well known in the Python world, it's an influential development approach that aims to 'tackle complexity in the heart of software'. If you're working on complex problems, come find out more: it may change the way you think!

Assembly Room
13:30
90min
Maths in Motion: Python-Powered Modelling for Real-World Phenomena
Thomas Gregory, Gurjot Singh

Join us for an exciting journey into the world of mathematical modelling with Python. From the mechanics of pendulums to the spread of diseases, financial market dynamics, and weather forecasting, we'll explore, experiment, and learn together in this interactive session.

Classroom
Room B
13:30
90min
Treasure Challenge
Sarah Townson, Carlos Pereira Atencio

Why should young coders get all the fun? Join us to let off some STEAM and create a security system using BBC micro:bits, cardboard, crocodile clips and plenty of fake treasure!

Classroom
Room L
14:00
14:00
30min
What on earth is a code sprint?
Daniele Procida

Monday at PyCon UK is dedicated to our code sprints. We'd love to have you joining in!

Assembly Room
14:30
14:30
30min
Adventures in Unicode: the `str` less travelled
Alistair Lynn

Python 3's str was a leap forward but not a panacea. Join me to dive into the strange world of unicode, how it can bite you, and what to do about it.

Assembly Room
15:00
15:00
30min
Interactive web pages with Django or Flask, without writing Javascript
Coen de Groot

Bring your Django, Flask, etc. pages to life using htmx.

No Javascript, nor refreshing the page. Create, update and delete data; change the date range for a chart; drill down using a sequence of dropdowns; create an interactive search box, an infinite scrolling page or a sortable drag & drop table.

Assembly Room
15:30
15:30
90min
Introduction to Data Analysis Using Pandas
Stefanie Molin

Working with data can be challenging: it often doesn’t come in the best format for analysis, and understanding it well enough to extract insights requires both time and the skills to manipulate and visualize it. This session will teach you to effectively use pandas to make this process easier.

Classroom
Room L
15:30
90min
Using Python and Anvil in an FE College
Matthew Davies

Explore the potential of Anvil in the education sector. Discover how Anvil enables the development of powerful systems to streamline processes, enhance efficiencies, and support students and staff. Examine real-world examples showcasing the impact of Anvil in revolutionising education management and empowering educational institutions.

Lecture
Room D
16:00
16:00
30min
I plugged a Z80 into a Pi Pico, here's how it happened
Emma Delescolle

I've always wanted to build a retro computer based on an old-stock Z80 cpu. The biggest roadblock for me in this endeavor has always been finding a way to manage I/O and a modern display.

The Pi Pico solved all this for me.

Assembly Room
16:30
16:30
30min
Vulnerability Management with CVSS
Tomas Horacek

Do you find it difficult to keep up with the increasing number of reported vulnerabilities? Are you unclear about the severity of a vulnerability in your system? Look no further than the Common Vulnerability Scoring System (CVSS).

Assembly Room
17:00
17:00
60min
Lightning Talks
Mark Smith

Lightning Talks

Assembly Room
18:30
18:30
180min
Board games & manual technology evening
Becky Smith

An evening of board games, manual technology (knitting, crochet, needle felting etc)

Social
Lower Hall West
09:00
09:00
60min
Create artwork with Python Turtle & EduBlocks
Josh Lowe

Let's get creative using the Turtle library and EduBlocks, a block-based tool for Python!

Young Coders
Lower Hall East
09:00
420min
DjangoGirls Workshop

DjangoGirls and Young Coders Workshops

Django Girls
Lower Hall West
09:00
30min
Welcome and Introductions
Ann Barr

Welcome and Introductions

Assembly Room
09:30
09:30
60min
If you can’t give me poetry, can’t you give me poetical science?
Emily Holyoake

Technology is often hidden backstage at the theatre – a toolkit to enhance performance, not something artists make plays about. But generations of audience members have ‘grown up online’. To tell contemporary stories, don’t we need to put tech centre stage? What is digital theatre – and is it still theatre?

Keynote
Assembly Room
10:30
10:30
60min
Physical Computing with a Raspberry Pi
Scott Morgan

Physical computing involves building systems that interact with the world around them. Using a Raspberry Pi and the gpiozero Python library, you can sense information about the environment and display this information in a variety of formats.

Young Coders
Lower Hall East
11:00
11:00
90min
Geodesy for Pythonistas (or How I Learned to Stop Worrying and Love Coordinate Reference Systems)
Paul Haesler

The surface of the Earth is curved, so all flat maps of it contain distortions. Specific types of distortions can be eliminated, but other distortions remain. What are these mathematical tradeoffs and how are they made? And more importantly, how can we as Pythonistas make use of this cartographic wizardry?

Lecture
Room D
11:00
30min
Investigating Environmental issues with Python
Mx Chiin-Rui Tan

Earth's sustainability is on the brink. However, with today's information wars this situation isn't universally accepted. This talk democratises citizen environmental investigation by applying Python to selected Green issues. By separating facts from fiction humanity can be better informed to safeguard our existence.

Assembly Room
11:00
90min
The ⚡️ Talk Workshop
Mark Smith

Want to give a lightning talk, but don't know how to get started? Maybe you have an idea and want some time to work on it, with some help if necessary? This workshop will help you to get a great proposal sketched out and in the beginner's bucket.

Classroom
Room L
11:30
11:30
60min
Stop the Treasure Thieves
Sarah Townson, Carlos Pereira Atencio

Use your coding and engineering skills to design a foolproof security system to protect your hoard of treasure.

Young Coders
Lower Hall East
11:30
30min
The Accidental Conference Director
Ann Barr

TBC

Assembly Room
12:00
12:00
30min
How to keep your database happy
Karen Jex

5 simple things you can put in place to make sure you have a database that runs smoothly and performs well.

Assembly Room
12:30
12:30
30min
The Sound of Your Footsteps can Predict for Dementia
Debayan Das

This talk will present how one can use acoustic-based clinical gait analysis to predict onset & progression of cognitive decline as well as assess increase in risk of falls in highly frail and vulnerable demographics of the population, especially older adults who live alone and with multiple co-morbidities.

Assembly Room
13:30
13:30
60min
Turn Satellite Images into Digital Art with Python
Mx Chiin-Rui Tan

Code your own Satellite Art! In this scientific computing lab you will choose images of Earth collected by space agencies like NASA as your canvas, then let your creative tech imagination go wild using Python to transform colours and apply filters to produce digital art featuring real planet landscapes.

Young Coders
Lower Hall East
14:00
14:00
30min
Live highlights in BBC iPlayer
Ben Nuttall

How we built a prototype to allow journalists to add highlight markers to interesting moments on BBC News in iPlayer, and how we went from idea to prototype to production.

Assembly Room
14:00
90min
Practical tools for documentation at scale
Daniele Procida

In a hands-on workshop I'll introduce some of the tools and methods I have developed to help an organisation improve documentation consistently and effectively, at scale.

Classroom
Room B
14:00
90min
Scaling the PyData Ecosystem with Dask
Jacob Tomlinson

Dask is a flexible library for parallel computing in Python. Dask provides high-level interfaces to extend the PyData ecosystem to larger-than-memory or distributed environments, as well as lower-level interfaces to customise workflows. No previous experience is required, though knowledge of Python, NumPy and pandas is preferred.

Classroom
Room L
14:00
90min
Subclassing, Composition, Python, and You
Hynek Schlawack

Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? Seen code go overboard with composition that the result didn’t resemble Python anymore? Let’s take a stroll together through patterns & trade-offs and discuss them afterwards!

Lecture
Room D
14:30
14:30
30min
Multi-Objective Linear Programming to find the Best Pokémon Team
Geraint Palmer

What is the best Pokémon team? Who should I pick? What attacks should they learn? Here, I use multi-objective linear programming, and a bit of simulation, to figure it out.

Assembly Room
15:00
15:00
30min
Open-source, developer-friendly observability in only a few lines code
Brett Beutell

I want a clear picture of how my application is performing in production, but proper observability involves a lot of faff. So let's look at how to add metrics to an application with only a few lines of code and an open-source library called autometrics-py.

Assembly Room
16:00
16:00
30min
How I used PostgreSQL® to find pictures of me at a party
Tibs

At an event, a photographer can take many photos. Which ones do you appear in? Find out how to search for faces using Python, OpenCV, OpenAI and, yes, PostgreSQL®.

Python ties it all together, and PostgreSQL's pgvector extension allows making SQL queries to find photos with my face.

Assembly Room
16:30
16:30
30min
Young Coders Presentations
Scott Morgan

Young Coders Presentations

Assembly Room
17:00
17:00
60min
Lightning Talks
Mark Smith

Lightning Talks

Assembly Room
09:00
09:00
30min
Welcome and UKPA AGM
Owen Campbell

Welcome and Introduction

Assembly Room
09:30
09:30
60min
3 Lessons Data Scientists Can Learn from World War II
Alon Nir

We’ll revisit three stories from WWII where statisticians for the Allied forces got things perfectly right - and terribly wrong. We'll explore the flaws of averages, survivorship bias, and the German tanks problem. Drawing parallels to modern business situations, we'll discuss the takeaways for modern day data scientists.

Keynote
Assembly Room
11:00
11:00
90min
Effective teaching of Python
Lisa Carpenter

There's no doubt that Python is fantastic and a wonderful tool - but how do we teach the joys of Python to those that are new? How do we ensure that our teaching is effective, are we teaching the right things and in the right way?

Round table
Room L
11:00
90min
Monte Carlo Simulations for Testing Tabletop Games
CJ Shearwood

Simulating a complex tabletop game using the Monte Carlo method can calculate complex probabilities just random numbers. This workshop will work through an example game, explain the maths behind the simulation, and how this can be expanded to other domains such as event or capacity planning.

Classroom
Room B
11:00
30min
Optimizing GraphQL Performance: Tips and Techniques
Patrick Arminio

In this talk, we'll explore techniques to optimize GraphQL performance for snappy, scalable, and resource-efficient APIs. Attendees will learn about batching queries with DataLoader, managing query complexity and depth, leveraging persisted queries for reduced network overhead, and implementing
caching strategies on both server and client-side.

Assembly Room
11:30
11:30
30min
SIGN-TO-TEXT:Unleashing the Power of Google AI for real time ASL transcription
Atieno Ouma

In this talk, we will delve into how leveraging Google's cutting-edge tools and frameworks, combined with Python, can revolutionize the way we bridge the communication gap between sign language users and the wider world.

Assembly Room
12:00
12:00
30min
Secure, Modern, and Simple Dependency Management with PDM and Friends
Dom Weldon

What actually happens when you import a package? Let's find out, then explore recent packaging developments, including the new tool PDM, comparing it to pip and poetry. We'll also cover some (opinionated) best practices for handling metadata, and building secure, modern applications using third party libraries in python.

Assembly Room
12:30
12:30
30min
The Magic of Self: How Python inserts self into methods
Sebastiaan Zeeff

Have you ever wondered how self works? Whenever you call a method, self seems to magically appear as an argument. But behind this dark magic lies a well-defined protocol, the descriptor protocol, that you can implement yourself. Join me and learn how Python inserts self into methods!

Assembly Room
14:00
14:00
90min
Data visualisation with Seaborn
Myles Mitchell, Parisa Gregg

Ever wish you could create beautiful, publication-worthy graphics in a few lines of code? Welcome to Seaborn, Python’s visualisation library which builds on the Matplotlib package. This tutorial will provide a hands-on tour of Seaborn’s statistical functions, from regression plots to multipanel facet grids and more!

Classroom
Room B
14:00
30min
Fear the mutants. Love the mutants.
Max Kahan

Developers often use code coverage as a target, which makes it a bad measure of test quality. Mutation testing changes the game and fixes the problem.

Come and learn to use it in your CI/CD process. I promise, you'll never look at penguins the same way again!

Assembly Room
14:00
90min
The internet of borrowed things
Gail Ollis, James Williams

Smart home automation provides many benefits. But for how long, and at what cost, financial and otherwise? In this session we discuss the current state of vendor lock-in, a utopian open solution and the very practical solutions delegates have built for themselves.

Round table
Room L
14:30
14:30
30min
The Standard Library Tour
Mia Bajić

Tired of complex code? Python's standard library has tools to simplify your tasks! Join us for a tour of the standard library where we'll dive into less-known modules that do well-known things and well-known modules that do less-known things.

Assembly Room
15:00
15:00
30min
The programmer's imagination
Daniele Procida

As creators of software, we're repeatedly told that we're not merely imagining the future of the world, but bringing it into being. Let's suppose that's true. What, exactly, are we imagining, and why does it matter?

Assembly Room
16:00
16:00
30min
Well well. ML is not the answer to everything.
Kane Swartz

Datasets with potential to predict contaminated water are more than just numbers. They can mean the difference between drawing safe drinking water from a well and drawing unsafe levels of arsenic. This talk compares ways of generating a predictive model and addresses the ethical importance of application over technological ideology.

Assembly Room
16:30
16:30
30min
When to rebuild things that already exist
Jacob Tomlinson

This year I built a library that already exists. The existing solutions didn’t quite meet my needs, I wanted something that ticked all of my boxes. When thinking about building something new people referred me to xkcd #927. But I did it anyway.

Assembly Room
17:00
17:00
60min
Lightning Talks
Mark Smith

Lightning Talks

Assembly Room
No sessions on Tuesday, Sept. 26, 2023.