PyCon UK 2019

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
09:00
09:00
30min
Introduction
Daniele Procida

Friday Introduction

Assembly Room
09:30
09:30
60min
Reproducible Science: The Good, The Bad, The Ugly and The Untold
Dr. Tania Allard

Coming soon...

Keynote
Assembly Room
10:30
10:30
30min
Astro Pi: Python on the International Space Station
Ben Nuttall

A collaboration between the Raspberry Pi Foundation and the European Space Agency put two Raspberry Pi computers augmented with sensor boards and camera modules on the International Space Station in 2015.

Assembly Room
10:30
90min
Demystifying Neural Networks
Michal Grochmal

Let's write a (tiny but working) Neural Network library from scratch!
Well, almost from scratch, we will still use NumPy.
And we will try to do it in less than 1000 lines of code.

Room C
10:30
90min
Intro to integrating search into your Django app
Emanuil Tolev

A hands-on tutorial for people who want to start learning about and integrating search & discovery into their apps.

Room J
10:30
180min
Just Visiting
David Spademan

A visit to Her Majesty's Prison, Cardiff

Jail
10:30
90min
Step Into the AI Era: Deep Reinforcement Learning Workshop
Charlotte Feather, Cheuk Ting Ho

By engaging in the revolution of AI and deep learning, reinforcement learning has also evolved from being able to solve simple game puzzles to beating human records in Atari games. It has also opened up the possibility of using reinforcement learning in making real life decisions.

Room B
11:30
11:30
30min
Logging Rethought 2: The Actions of Frank Taylor Jr.
Markus Holtermann

We build services, potentially used by millions of people. And despite all the testing we do, some interactions with these services will not work out the way we hope. Wouldn’t it be great to reconstruct what let to a problem and analyze if the problem occurred at other times?

Room D
11:30
30min
Optimizing Input: Building your own customized keyboard
Daniel Rios

Keyboards, the main way we interact with computers, have remained unchanged for a century, despite being free from mechanical necessity. Alternatives made possible by recent technology can optimize the way we input text and interact with our devices.

Ferrier Hall
11:30
30min
You are in a maze of twisty little passages
David R. MacIver

You are a robot tasked with mapping a maze, but a lot of these rooms look weirdly similar. What do you do? A light hearted introduction to some neat algorithms.

Assembly Room
12:00
12:00
30min
Code walk this way
Mary Chester-Kadwell

How can you help Pythonistas learn a new code base more quickly and level up their Python skills? One way is with a 'code walk' — talking through a code base while reading the code together. I will talk about how I like to structure a code walk and its benefits.

Ferrier Hall
12:00
30min
Python in Medicine: A toolkit for exploring neonatal ventilator data
David Chong, Gusztav Belteki

Modern ventilators generate large amounts of pressure and flow data that clinicians cannot realistically monitor over long periods of time. A toolkit for segmentation and extracting breath-wise features would provide a means for summarising this information and investigating the relationship of different ventilator and patient characteristics to individual breaths.

Room D
12:00
30min
Sans I/O programming patterns – what, why, and how
Alex Chan

Programmers have plenty of powerful, flexible libraries – and yet we often end up reinventing the wheel. Why? Because they’re not reusable – code gets trapped by its I/O model.

In this talk, we’ll look at the benefits and techniques for writing “sans I/O” code.

Assembly Room
12:30
12:30
30min
Asynchronous Web Development with Flask
Miguel Grinberg

A common misconception is that traditional frameworks such as Flask and Django are incompatible with asynchronous web servers. In this talk I'm going to show you how to write an asynchronous web application using Flask.

Assembly Room
12:30
30min
Static Typing in Python
Dustin Ingram

In this talk, we'll discuss the advantages and disadvantages to a static type system, as well as recent efforts to introduce static typing to Python via optional "type hints" and various tools to aid in adding types to Python code.

Ferrier Hall
14:30
14:30
30min
Awesome live API docs for under-resourced teams
Emanuil Tolev

Since all software dev teams are under-resourced, let's see how to get pretty good "living" docs with as little effort as possible. These allow the API to be used directly from the docs. We'll look at a real open source app built with Flask, Swagger and SwaggerUI.

Ferrier Hall
14:30
30min
Technical Debt Remediation in a Massive Python Codebase
Irit Katriel

The Quartz engineering team at Bank of America hosts one of the world's largest python codebases. Changes in core components of the platform can have high impact.

Assembly Room
14:30
30min
The dos and don'ts of task queues
Petr Stehlík

Let’s talk about our experience with Celery and intentions to switch to RQ which failed. We’ll show our setup of larger apps than the ones presented in doc examples together with useful tips&tricks on the orchestration of such apps.

Room D
15:00
15:00
30min
Automating Code Review As Much As Possible
Qasim K

While the best code is no code at all, we do need to deal with the rest of it

Room D
15:00
30min
Syntactic sugar vs maintainability
Richard Terry

Is it ever worth committing coding sins for the greater good? We'll look at techniques which can make your code easier to use at the cost of being harder to maintain, and when the effort is worth the reward.

Ferrier Hall
15:00
30min
Training my dog with Python
Vince Knight

This talk will cover a range of topics around a tool I have built to enhance work sessions with my dog.

Assembly Room
15:30
15:30
30min
More Than You Ever Wanted To Know About Python Functions
Mark Smith

Let's talk about functions, methods, callables and closures - what they are, what you can do with them ... and what's inside.

Afterwards you'll know more about callables, along with techniques both practical and so extreme your colleagues will never let you merge them to master.

Assembly Room
15:30
30min
Regexplained - Understanding the theory of Regular Expressions
Samathy Barratt

This talk aims to break down Regular Expressions to their base concept as finite automata.
Attendees will leave this with an understanding of the theory of Regular Expressions,
allowing them to better understand and construct complex regexes.

No prior knowledge of regexes or finite automata is required.

Ferrier Hall
16:30
16:30
60min
DjangoGirls Setup Helpdesk
Ann Barr

Help with laptop setup for DjangoGirls workshop

Lower Hall
16:30
30min
Philosophy of Refactoring
Jacob Unna

Many of us can recite the advantages of well factored code, yet in practice it is easy to let standards slide. This talk explores the mindset one should adopt to have a well factored codebase, complete with examples of how this looks in practice.

Ferrier Hall
17:00
17:00
30min
How to write readable tests
David Seddon

So often, our tests are much harder to understand than the rest of our code. This is a shame! Find out how to write tests that act as living documentation from which you can gain deeper understanding of your system.

Assembly Room
17:30
17:30
60min
Lightning talks
Mark Smith

Lightning talks.

Assembly Room
19:30
19:30
150min
Board Games and Manual Technology Evening
Sandy, Becky Smith

Not a screen or keyboard in sight!

Social
Lower Hall
09:00
09:00
30min
Introduction
Daniele Procida

Saturday Introduction

Assembly Room
09:30
09:30
45min
**Young Coders** Anagrams & Python
Avni Balan

We will be making anagrams and playing with our friends as a game

Young Coders
Room I
09:30
45min
**Young Coders** Will it rain in Cardiff this weekend?
Spencer Organ

A hands-on workshop building a simple barometer which can be used to predict the weather. We will use a Raspberry Pi and the SenseHat to make a mini weather station to not only look at the current weather but to predict the weather ahead.

Young Coders
Ferrier Hall
09:30
60min
Leadership and Identity in the Pan-African Python movement
Marlene Mhangami

In this talk, I will be discussing three lessons about leadership that I learned during my time chairing Pycon Africa 2019. I will also be sharing how personal and group identity played a consistent and significant role throughout the process.

Keynote
Assembly Room
10:15
10:15
45min
**Young Coders** Mission to Mars Rover Microbit Radio Control
Robert Wiltshire

This workshop utilises rovers used in Software Cornwall's work experience.

Young Coders
Ferrier Hall
10:30
10:30
30min
Depression in the Workplace; Let's talk.
Chloe Parkes

Depression affects a surprising amount of people, and despite the common belief that your personal issues shouldn't come to work with you, it does. This talk will touch on what depression is, how it affects someone's life and ways to communicate with someone who suffers from it.

Assembly Room
10:30
90min
Get to grips with pandas and scikit-learn
Sandrine Pataut

This session will be an exposition of data wrangling with pandas and machine learning with scikit-learn. It will cover a classification project, from importing the data to evaluating model performance.
This hands-on workshop is aimed at a "beginner" Data Science audience (but small experience in python is preferable).

Room A
10:30
90min
Implementing a simple API using Django REST Framework
Miles Cook, Devang Mehta

Django REST Framework “… is a powerful and flexible toolkit for building Web APIs.” This workshop will give you a overview so you can get started your own APIs, and you can explore just how powerful it is.

Room B
10:30
90min
Let's make a talk
Gail Ollis

How do you write a talk? In this practical workshop you will find out. You’ll receive some guidance, techniques and principles, but there will also be time to prepare a lightning talk and present it.

Room C
10:30
30min
Unleashing Python from the Computer Science Curriculum
Spencer Organ

Python is very well established in Secondary School Computer Science lessons but it also has a wider appeal across the whole curriculum. Join my journey in introducing Python across different areas of a secondary school curriculum and how it helped a school with no IT and CS teachers.

Room D
11:30
11:30
45min
**Young Coders** Cracking Codes with Python
Luke Spademan

What is encryption? How does it work?

Young Coders
Room I
11:30
45min
**Young Coders** Geometries & Python Turtle
Aaron Balan

Understanding geometry and python can be learnt alongside.

Young Coders
Ferrier Hall
11:30
30min
One weird trick for improving your communication
David Sim

The best advice I've been given on technical communication is "understand what you want to achieve before you think about what you want to say". I'm going to discuss why I think this is important, with examples ranging from planning meetings to writing documentation.

Room D
11:30
30min
Robotic Microscopy for Everyone
Joel Collins

The OpenFlexure Microscope is an open-source, 3D-printed motorised microscope targeted towards medical applications in sub-Saharan Africa. This talk will introduce our work with local innovation hubs, research institutions, and clinics to develop control software that encourages contributions across all communities, from school pupils to professors.

Assembly Room
12:00
12:00
30min
Clean Architectures in Python
Leonardo Giordani

What is a good software architecture? Why should we bother structuring the code and spending time testing it? The clean architecture is a good way to structure an application to make it easy to develop, debug, maintain, and change.

Assembly Room
12:00
30min
Extracting tabular data from PDFs with Camelot & Excalibur
Vinayak Mehta

Extracting tables from PDFs is hard. The Portable Document Format was not designed for tabular data. Sadly, a lot of open data is shared as PDFs and getting tables out for analysis is a pain. Camelot and Excalibur can help you extract tabular data fr

Room D
12:15
12:15
45min
**Young Coders** Astro Pi Mission Zero
Ben Nuttall

Write a program for the Raspberry Pi Sense HAT and send it to space!

Young Coders
Ferrier Hall
12:15
45min
**Young Coders** Mutating Monsters
Patrick Barry

Making a pokemon style monster generator and evolver using turtle

Young Coders
Room I
12:30
12:30
30min
Code Styles Aren’t Black and White
Mika Naylor

We all have a code style. We all have opinions how code should look. We all seem to love (and hate) having long arguments about which code styles are better. What if there was a way out of the bikeshedding?

Assembly Room
12:30
30min
Rapid prototyping scalable Python services using AWS Chalice
Mashhood Rastgar

Looking to deploy Python code on AWS Lambda? Getting started with serverless can be a bit daunting at times with creating the functions, configuring them, configuring api gateways and what not. In this talk you will learn about the magic of rapid serverless api development using AWS Chalice.

Room D
13:15
13:15
15min
A tour of data viz in Python
Éléonore Mayola

On my poster I’ll do a tour of libraries available for visualising data using Python by showing and discussing examples.

Marble Hall
13:30
13:30
15min
NeXus Constructor: Visualising the Configurations of Neutron Experiments with Qt for Python
Jack Harper, Dolica Akello-Egwel

The NeXus data format provides a way of describing neutron, muon and x-ray experiments. In this poster we illustrate how our NeXus Constructor tool utilises Python and Qt in order to allow programming-unsavvy researchers to visualise and modify the contents of these files with minimal assistance.

Marble Hall
13:45
13:45
15min
Active Learning with Bayesian Nonnegative Matrix Factorization for Recommender Systems
Gönül Aycı

In most of the systems, collecting data is not always free. In this poster session, I will show an approach for a matrix completion problem that learns a distribution of data where information is incomplete or collecting it has a cost.

Marble Hall
14:00
14:00
60min
**Young Coders** Gettin' GUI with it
Martin O'Hanlon

Creating graphical user interfaces (GUI) with Python. Connect up LEDs and Buttons to your GUI and make it control your world.

Young Coders
Ferrier Hall
14:00
150min
**Young Coders** Hackathon & presentation prep
Ben Nuttall

Hackathon for intermediate track of the children's day

Young Coders
Room I
14:30
14:30
30min
Data Scientist Career Path: How to find your way through the data science maze
Solveiga Vivian-Griffiths, Natalie Jakomis

The demand of data science is huge and employers are investing significant time and money in Data Scientists. During this talk we will share our experiences, and provide a survival guide to help get you started in your data science career.

Assembly Room
14:30
30min
Dev On Wheels: The Ultimate Computer Game
Tom Easterbrook

Come and witness the live action video game of a graduate software developer’s journey. But not just any graduate. This is Tom, dev_on_wheels!

Room D
14:30
90min
TDD in Python with pytest
Leonardo Giordani

Test-Driven Development is a methodology that can greatly improve the quality of your software. I strongly believe that developing software without following as much as possible a test-driven approach leads to massive delays and greater issues when requirements change (always, that is).

Room L
15:00
15:00
30min
**Young Coders** Make stuff with junk
Laura Sach

Take what you learned and use it to build a project out of electronics, arts and craft

Young Coders
Ferrier Hall
15:00
30min
The Fastest Way to Learn Data Science
Rebecca Vickery

It's not about what you know it's about what you can do

Assembly Room
15:00
30min
Writing Beautiful Python. An overview of PEP 8
Luke Spademan

Writing code that looks nice can be hard. Why do we need nice looking code anyway? In this talk I'll give you a tour of PEP 8 (The Style Guide for Python Code) and show you how you can force yourself to write code that looks nice.

Room D
15:30
15:30
60min
**Young Coders** Presentation prep
Laura Sach

Get ready to present your project on the main stage

Young Coders
Ferrier Hall
15:30
30min
Lies, Damned Lies, and Statistics
Marco Bonzanini

We are exposed to the use of statistics in everyday life, but it is quite easy to fall victim of statistical fallacies. This talk will help you recognise these fallacies, so you can protect yourself from the misuse of statistics, ultimately becoming a better citizen.

Assembly Room
16:30
16:30
30min
**Young Coders** Show and Tell
Ben Nuttall

Children's Day Show and Tell

Young Coders
Assembly Room
17:00
17:00
30min
UKPA AGM
Owen Campbell

Annual General Meeting of the UK Python Association

Assembly Room
17:30
17:30
60min
Lightning talks
Mark Smith

Lightning talks

Assembly Room
19:30
19:30
150min
Conference Dinner
Daniele Procida

Conference Dinner

Social
Lower Hall
09:00
09:00
30min
Introduction
Daniele Procida

Sunday Introduction

Assembly Room
09:30
09:30
60min
Do we have a diversity problem in Python community?
Cheuk Ting Ho

Python community cares about diversity. So do we still have a problem in, especially gender, diversity? We will look at some data and see if there’s a true problem, discuss what the problem may be and how to fix it.

Keynote
Assembly Room
10:30
10:30
90min
Automating web applications with Selenium WebDriver
Colin Bell

Selenium WebDriver is a popular open-source cross-platform browser automation framework. This workshop will cover using Selenium to create automated tests, including topics such as object identification, adding verifications and synchronisation, parameterising a script, creating a page model

Room C
10:30
90min
But I never wanted to do DevOps! A practical, hands-on introduction to containerised web deployment for Django developers who would rather just create applications
Daniele Procida

A practical, hands-on introduction to containerised web deployment for Django developers who would rather just create applications.

Room B
10:30
30min
Choosing the right Deep Learning Framework: A Deep Learning Approach
Nick Acosta

This talk will demonstrate how deep learning can be used to identify a deep learning framework such as TensorFlow or PyTorch that would best help a developer build out deep neural networks based on how they write and the problems they solve.

Assembly Room
10:30
90min
Python on Hardware Community Showcase (Open Session)
Carlos Pereira Atencio

Do you have a hardware project you'd like to showcase?


From tiny to massive, everything and everyone are welcomed!

An open session for any conference attendee to bring their hardware projects.

Don’t have anything to show? Come around at anytime to check it out!

Room A
10:30
90min
What are they talking about? Mining topics in documents with topic modelling and Python
Marco Bonzanini

This tutorials is a practical introduction to topic modelling in Python, tackling the problem of analysing large data sets of textual data, in order to identify topics of interest and related keywords.

Room K
10:30
30min
Writing micro-services in Python... Sure! But which framework?
Emma Delescolle

When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.

But how do they scale in the "real" world? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?

Ferrier Hall
11:30
11:30
30min
Benefits of competition based libraries for beginners in Python
Can Ersoz, Sedat yalcin, Yaşar İdikut, Yoel Kastro

How can using a competition specific library enhance the learning of beginners in programming and what to keep in mind when developing one?

Room D
11:30
30min
Don't Cross The Streams: An Introduction to Virtual Environments
Hannah Hazi

Let's learn about virtual environments - why it's useful, how it works, getting started.

Assembly Room
11:30
30min
Mutability for good not evil
Nick Sarbicki

Mutability is a common GOTCHA for new pythonistas. So where is it a good idea to use mutability? And more importantly where is it a bad idea?

Ferrier Hall
11:30
90min
Writing micro-services in Python... Sure! But which framework?
Emma Delescolle

When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.

But how do they scale to "real" world applications? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?

Room I
12:00
12:00
30min
Dash: Interactive Data Visualization Web Apps with no Javascript
Dom Weldon

From the team that makes Plotly, Dash is a library for producing interactive web apps with Python. This talk introduces Dash and will discuss how it may fit into your team!

Room D
12:00
30min
Stranger things in Twitterverse
Pallavi, Konark Modi

Uncovering Twitter troll armies by monitoring and analyzing millions of tweets using Python to identify suspicious entities that intended to skew online conversations and spread misinformation.

Ferrier Hall
12:00
30min
What does PEP 517 mean for packaging?
Thomas Kluyver

Packaging Python code is a thorny area, but it's getting better.
PEP 517 is a dry, technical specification for an important step:
allowing packagers to choose alternatives to setuptools.
I'll talk about how projects can take advantage of this, and the
fun of writing your own packaging tools.

Assembly Room
12:30
12:30
30min
Dictionaries, behind the scenes
Gisela Rossi

Have you ever wondered how Python’s dictionaries work behind the scenes? For the curious minds: we will unveil some of the magic, things ranging from performance to security, and some surprises. For the pragmatists: we’ll see cases where understanding the internals can have practical applications

Room D
12:30
30min
I am telling you 3 things about Chatbot (so you don't have to learn it the hard way)
Cheuk Ting Ho

Now we can talk to our gadgets as if it’s a real human. It makes you wonder when you chat with the “customer service” online, is that a real person or a robot on the other side? I built a chatbot, and here’s 3 things that I discovered.

Ferrier Hall
12:30
30min
Machine Learning on the Edge
Frank Kelly

An introduction to the Jetson Nano Developer kit by a data scientist

Assembly Room
13:00
13:00
90min
Jobs Fair
Owen Campbell

Jobs Fair

Marble Hall
14:30
14:30
30min
Blue Dot - its a bluetooth dot
Martin O'Hanlon

Blue Dot is a bluetooth remote and Python library to allow anyone (from new learner up) to remove the wires from their Python project.

Ferrier Hall
14:30
30min
Mock Object Library: Common Pitfalls and Best Practices
Sunaina Pai

This talk is an introduction to the mock object library along with a detailed discussion on common pitfalls associated with patching objects with mocks and the best practices for it. The talk would present code examples, common pitfalls, and best practices to demonstrate how to use mocks effectively.

Room D
14:30
90min
Plug & train: flexible customisation and extension of python's deep learning frameworks
Jan Freyberg, Isobel Weinberg

Python is growing quickly partly due to its popularity in the data science and machine learning community. Python's flexibility is well suited to new statistical frameworks such as deep learning which are successful because they are modular. This is the story of the success of python in deep learning.

Room J
14:30
30min
Research Software Engineers: Who, What, Why and a Django API
Teri Forey

This talk will describe my experience of leaving academic research to become a Research Software Engineer (RSE). As an example of the kind of work RSEs do, I’ll describe a recent project that used Django, a REST API and a mobile app built with Ionic.

Assembly Room
15:00
15:00
30min
Automated report writing using data from a relational database
Dani Papamaximou

As part of the Development Consent Order submission for large infrastructure (Highways scheme), a book of reference needs to be submitted. The user previously needed to export spreadsheets from a database and populate the document manually. We have automated this process on a jupyter notebook.

Assembly Room
15:00
30min
Import as an antipattern - Demystifying Dependency Injection in modern Python
Yeray Díaz Díaz

Dependency Injection in Python is commonly seen as over-engineering, but I think this is a myth. DI is simple and powerful and can yield great benefits to the overall quality of your code.

Ferrier Hall
15:00
30min
Using Pomelo to Enhance Algorithmic Thinking
Yoel Nasi, Sedat yalcin, Can Aydin, batuhan bayraktar, Rana Taki

We have designed Pomelo, an interactive robot that teaches algorithmic thinking through collaborative tasks and games. With Pomelo we aim to drag the interest of young children into programming both in and outside of classroom environments.

Room D
15:30
15:30
30min
Here's Your Mistake...
Tobias Kohn

Lessons learned from teaching Python; or why learning to program is surprisingly hard, even with a language as simple as Python.

Ferrier Hall
15:30
30min
Is Django too Complicated?
Daniel Hepper

When you start a new project, typically the choice between a big framework like Django and a microframework like Flask comes up. This talk will show you that the difference is not as big as one might think and that Django is suitable for projects of all sizes.

Assembly Room
16:30
16:30
30min
A Tour of Matplotlib: From Bar Charts to XKCD-Style Plots
Susam Pal

This is a tour of Matplotlib that starts with a gentle introduction involving simple plots like bar charts, line graphs, etc. and ends with fun stuff like XKCD-style plots. During the talk, we will see the popular techniques to customize the plots with axes, grid, labels, legends, spines, etc.

Ferrier Hall
16:30
30min
So you want to be a manager
Gil Goncalves

Many developers will eventually make the choice of becoming a manager, the goal of this talk to help them make that decision.

Assembly Room
17:00
17:00
30min
FastAPI from the ground up
Chris Withers

What comes next after Django and it's Django REST Framework? This talk shows how to build a simple REST API for a database from the ground up using FastAPI.

Ferrier Hall
17:00
30min
What do travel, food & health websites have in common? Auditing websites & apps for privacy leaks
Konark Modi

Organizations with digital products that lack even the most basic data security practices are living in a utopian world where people leave their safe open and never expect a burglar to walk in.

Assembly Room
17:30
17:30
60min
Lightning talks
Mark Smith

Lightning talks

Assembly Room
19:30
19:30
150min
Code Dojo
Tom Viner, Daniel Pope

A Python Code Dojo, based on the long-running London Python Code Dojo series.

Social
Lower Hall
09:00
09:00
30min
Introduction
Daniele Procida

Monday Introduction

Assembly Room
09:30
09:30
60min
while history: continue
Tobias Kunze

History is full of weird events. Because we're human (and weird), these events tend to have their reasons in social dynamics that are still around today.

Keynote
Assembly Room
10:30
10:30
30min
Battles with reproducibility and collaboration in large organisations
Richard Louden

Reproducibility and collaboration are difficult aspects of any business-based analytics, speaking from personal experience, where a project is likely shared between a technical analyst and a business analyst. This talk aims to show examples of how this can be improved through aspects of the Python / R toolset.

Ferrier Hall
10:30
90min
Build a full-stack web app in Python with Anvil
Shaun Taylor-Morgan

We'll create a full-stack web app using Anvil. Anvil is a platform for rapidly developing and deploying web apps using Python on the client and server side. It's like Visual Basic for the web.

You’ll need a laptop to follow along.

Room J
10:30
90min
Hardware Hacking Workshop
Sarah Townson

Interested in programming hardware with MicroPython or CircuitPython? This drop-in workshop will help you to get started. We will have a range of activities for you to try, ranging from complete-beginner-friendly to more advanced topics. Come by and get started!

Room C
10:30
90min
Telling Stories With Python and Ren'Py
Hannah Hazi

Make your own interactive fiction game using Ren'Py

Room A
10:30
30min
The Fallacy of Meritocracy
Nikoleta Glynatsi

The Fallacy of Meritocracy

Assembly Room
11:30
11:30
30min
Charming the Snake - Writing Secure Python Code
Kashish

Python, being dynamic and not type safe, is hard to write securely. Vulnerabilities such as injections, XSS, CSRF etc. are hard to find through static analysis tools. This talk is a comprehensive guide on how to write secure code in Python and also how to catch bugs.

Ferrier Hall
11:30
30min
The world's cheapest, simplest plotter
Daniele Procida

I present an ultra-cheap (€12.50 for all parts, including a Raspberry Pi) Python-powered drawing machine, constructed from cardboard, assembled using basic tools and glue.

Assembly Room
12:00
12:00
30min
An Introduction to Hardware Drivers in (Micro)Python
Carlos Pereira Atencio

Have you ever been curious about how device drivers control the hardware in your computer, phone, or IoT widget? Have you always thought you would needed to learn C or other low-level language to write a driver? Thanks to MicroPython we can control the physical world with Python code!

Assembly Room
12:00
30min
Massively Multiplayer Online Games with Python
Dmitry Karpov

In Wargaming we make real-time high load apps with python. Here I’d tell you some issues which might appear when using it for real-time apps with some examples.

Ferrier Hall
12:30
12:30
30min
Real-time data acquisition, from Arduino to the web, using PubSub with Redis, Django and other friends
Mario Orlandi

I'll apply PubSub to collect data in real-time from TCP-enabled peripherals, like Arduino or others, and deliver them to a data server for storage, processing, and broadcasting to remote clients (typically smartphones or tablets) for real-time monitoring and inspection

Assembly Room
14:30
14:30
30min
Automated Timeseries Analysis with Gaussian Processes
Joe Hall

How to automatically identify, and describe, interesting patterns in timeseries data, such as trends, change-points and periodic behaviour.

Assembly Room
14:30
30min
Concurrent asyncio and sanity
Martijn Pieters

Do you find programming with asyncio daunting? Are you wondering how you'd build a real-world network-connected service with this and not die trying? In this talk I want to share some best practices and tips to help you create reliable, maintainable applications using concurrency.

Ferrier Hall
15:00
15:00
30min
How to use Python to expose politicians?
Rafael Garcia-Dias

This talk presents a project that uses an API of the Brazilian government to retrieve data from congresspeople and expose how they are spending people's money. I use Pandas to manipulate the data and, Lektor and Chart.JS to create a website that makes this data accessible and comprehensible.

Assembly Room
15:00
30min
Managing Big Data in Machine Learning projects
V Vishnu Anirudh

My talk will focus on Version Control Systems (VCS) for big-data projects. With the advent of Machine Learning (ML) , the development teams find it increasingly difficult to manage and collaborate on projects that deal with huge amounts of data and ML models apart from just source code.

Ferrier Hall
15:30
15:30
30min
Adversarial Robustness Toolbox: How to attack and defend your machine learning models
Beat Buesser

Adversarial samples and poisoning attacks are emerging threats to the security of AI systems. This talk demonstrates how to apply the Python library Adversarial Robustness Toolbox (ART) to create and deploy robust AI systems.

Ferrier Hall
15:30
30min
Python in the browser
Shaun Taylor-Morgan

You don't have to write JavaScript to write front-end code. There are a lot of options to run Python in the browser. We'll look at how this is achieved - there's more than one way to do it!

Assembly Room
16:30
16:30
30min
Hangar; git for your data
Richard Izzo

Software development is entering an era where the behavior of programs critically depends on the data they were trained on. In this setting, data is the new source code, and this opens the door to challenges like versioning and collaboration on numerical data. Hangar, git for your data

Ferrier Hall
16:30
30min
Typed attrs dataclasses with cattrs converters for JSON REST microservices.
Damian Swistowski

Do you have confidence in your data without painful explicit checks? Use types in your code - attrs is a smart solution to make life easier.

Assembly Room
17:00
17:00
90min
Lightning talks
Mark Smith

Lightning talks

Assembly Room