<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GM8RR9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GM8RR9</pentabarf:event-slug>
            <pentabarf:title>Welcome and Introductions</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T110000</dtstart>
            <dtend>20230922T113000</dtend>
            <duration>003000</duration>
            <summary>Welcome and Introductions</summary>
            <description>Welcome and Introduction</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/GM8RR9/</url>
            <location>Assembly Room</location>
            
            <attendee>Ann Barr</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PCPYJ8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PCPYJ8</pentabarf:event-slug>
            <pentabarf:title>Technical Neglect</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T113000</dtstart>
            <dtend>20230922T123000</dtend>
            <duration>010000</duration>
            <summary>Technical Neglect</summary>
            <description>Many developers evoke the mischievous spirit and day-to-day burden of technical debt to explain the misfortunes and troubles of their codebase and delivery. While unmanaged technical debt weighs down many codebases and exerts drag on their schedules, it is more often an effect than a cause. In this talk, we will look at what is and is not meant by technical debt &#8212; and other metaphors &#8212; with a view to properly attributing the root and recurring cause as technical neglect than technical debt. Without seeing technical neglect for what it is, we will continue to misattribute our problems to an effect rather than a cause.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/PCPYJ8/</url>
            <location>Assembly Room</location>
            
            <attendee>Kevlin Henney</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZA9ZHU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZA9ZHU</pentabarf:event-slug>
            <pentabarf:title>Domain Driven Design and Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T133000</dtstart>
            <dtend>20230922T140000</dtend>
            <duration>003000</duration>
            <summary>Domain Driven Design and Python</summary>
            <description>I&apos;ve been writing code for 25 years. Over that time I&apos;ve been through a few, rare, exhilarating paradigm shifts where my thinking as a developer suddenly changed. One was early on, when I suddenly understood object oriented programming. Test driven development was another. And then, six years ago, I read Eric Evan&apos;s 2003 book _Domain Driven Design_.

The book opened up for me a whole new way of thinking about the practice of software development. It is focused not on traditional technical concerns we&apos;re used to reading about, but on the conceptual world of modelling. It views an application&apos;s _domain model_ as one of its most important assets, and presents a wealth of wisdom about how to orient our thinking, code and working practices around that model.

But, for some reason, these ideas are not well known in the Python community. 

I now work on a highly complex project: Kraken, a Python monolith of tens of thousands of modules, serving energy and utility companies in a variety of countries. Domain Driven Design has, for me, been an invaluable influence.

In this talk, I&apos;ll outline the key ideas of Domain Driven Design, ideas that are beyond any one language, technology or architecture. I&apos;ll also ground it with some practical examples of how it can look in Python. Are you looking for your next paradigm shift? Perhaps this could be it!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/ZA9ZHU/</url>
            <location>Assembly Room</location>
            
            <attendee>David Seddon</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LKQLQ8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LKQLQ8</pentabarf:event-slug>
            <pentabarf:title>What on earth is a code sprint?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T140000</dtstart>
            <dtend>20230922T143000</dtend>
            <duration>003000</duration>
            <summary>What on earth is a code sprint?</summary>
            <description>Code sprints are a fantastic way to get started as an open-source software contributor, in a friendly, supportive environment where experienced contributors are on hand to help others get started.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LKQLQ8/</url>
            <location>Assembly Room</location>
            
            <attendee>Daniele Procida</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9WJELU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9WJELU</pentabarf:event-slug>
            <pentabarf:title>Adventures in Unicode: the `str` less travelled</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T143000</dtstart>
            <dtend>20230922T150000</dtend>
            <duration>003000</duration>
            <summary>Adventures in Unicode: the `str` less travelled</summary>
            <description>In Python 3 we finally got a Unicode-native `str` type throughout, and there was much rejoicing. But Unicode is a tricky beast, difficult to tame, and there are still plenty of ways it can bite you if you are not careful.

We will look at some of these ways, the eldritch abominations looming in shadowy corners of Python&apos;s text; we will discover how the siren-song of seemingly innocuous strings can dash you upon the rocks, the deep peculiarity of the humble flag, and finally come to inner peace and harmony as we understand true grapheme-nature.

We will then touch on the deeper mysteries of bidirectional text, and our hearts will turn to despair. It will be a fun time.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/9WJELU/</url>
            <location>Assembly Room</location>
            
            <attendee>Alistair Lynn</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RXQTHF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RXQTHF</pentabarf:event-slug>
            <pentabarf:title>Interactive web pages with Django or Flask, without writing Javascript</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T150000</dtstart>
            <dtend>20230922T153000</dtend>
            <duration>003000</duration>
            <summary>Interactive web pages with Django or Flask, without writing Javascript</summary>
            <description>Python has many excellent back-end frameworks, but we can&apos;t use it yet for mainstream front-end development. How do we bring our web pages to life without having to write Javascript, and without learning a front end framework like React or AngularJS?

The htmx library uses simple tag attributes to add behaviour to HTML tags. It gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML for modern user interfaces. 

Learn how, without refreshing the page, you can: create, update and delete data; change the date range for a chart; drill down using a sequence of dropdowns; and create an interactive search box.

Discover how to use htmx with any Python web framework. The examples will mostly use Django, plus a single example of how to use the same ideas in Flask.

You will also see how to create an infinite scrolling page, a sortable drag and drop table, and more.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/RXQTHF/</url>
            <location>Assembly Room</location>
            
            <attendee>Coen de Groot</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>77TPKP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-77TPKP</pentabarf:event-slug>
            <pentabarf:title>I plugged a Z80 into a Pi Pico, here&apos;s how it happened</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T160000</dtstart>
            <dtend>20230922T163000</dtend>
            <duration>003000</duration>
            <summary>I plugged a Z80 into a Pi Pico, here&apos;s how it happened</summary>
            <description>Introducing the Raspberry Pi Pico Z80-Based Retro Computer: A Revolutionary Fusion of Modern Technology, geekiness and Nostalgic Computing!

Prepare to be blown away by this project, where the almighty Pi Pico take on the role of the ultimate multitasker &#8212;a graphics card, clock, ROM, and keyboard controller&#8212; for a Z80-based retro computer. Did I ignite your inner geek yet?!

Imagine a Z80 cpu, like the one that powers the BBC micro but with vibrant 8-bit color graphics coming to life on a VGA screen! All thanks the Raspberry Pi Pico and its PIO capabilities. The Pico in this project has been turned into a somewhat efficient graphics card, enabling smooth rendering of retro-style visuals on modern screens. Experience the nostalgia of blocky pixels.... **in 4K** (with an HDMI adapter)

The Raspberry Pi Pico&apos;s versatility extends beyond its graphics capabilities. Acting as the clock, it allows for varying the speed of the cpu and do &quot;fancy&quot; things like step by step debugging of Z80 assembly.

One of the most delightful aspects of the project is using the Pico as a ROM. Gone are the days of meticulously erasing and rewriting chips, as this setup allows you to effortlessly load files instead.

And with the Pico acting as a USB host, you are free to plug in modern hardware directly into this fancy retro computer! USB keyboard and mouse, SD-card reader, you name it!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/77TPKP/</url>
            <location>Assembly Room</location>
            
            <attendee>Emma Delescolle</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>79F89H@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-79F89H</pentabarf:event-slug>
            <pentabarf:title>Vulnerability Management with CVSS</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T163000</dtstart>
            <dtend>20230922T170000</dtend>
            <duration>003000</duration>
            <summary>Vulnerability Management with CVSS</summary>
            <description>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). 
This standardized framework provides an objective method for scoring security vulnerabilities on a scale from 0 to 10, enabling you to prioritize resources and improve your system&apos;s security and resilience. Our talk will demonstrate how to utilize CVSS in Python projects, enabling you to efficiently prioritize efforts and set up automated vulnerability reports. Don&apos;t let vulnerabilities go unnoticed - utilize CVSS to enhance your software security today.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/79F89H/</url>
            <location>Assembly Room</location>
            
            <attendee>Tomas Horacek</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SSSGR9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SSSGR9</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T170000</dtstart>
            <dtend>20230922T180000</dtend>
            <duration>010000</duration>
            <summary>Lightning Talks</summary>
            <description>I Regret Using CalVer @Jacob Tomlinson
SVCS: The Most Exciting Python Package of the Past 42 Days @hynek
Programming + Maths + Video Games = Mod @Isaac O
Deploy a Simple Python Rest API using SST to AWS (Ben)
Relax Your Body &amp; Mind @irispea
Multiprocessing with AsyncIO (No name given!)
Kendo: The Japanese Martial Art of Hitting People With a Stick @Alex Willmer
Metaclasses in 5 Minutes (Michael Foord)
Custom AI Dog Art (of your dog!) @boots
Django - The Enabler @russ
Yay Zip Files!!! @Bjarni R&#250;nar
Punch Cards &amp; Jacquard Looms @Eli Holderness (they/them)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/SSSGR9/</url>
            <location>Assembly Room</location>
            
            <attendee>Mark Smith</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DUHJZF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DUHJZF</pentabarf:event-slug>
            <pentabarf:title>Maths in Motion: Python-Powered Modelling for Real-World Phenomena</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T133000</dtstart>
            <dtend>20230922T150000</dtend>
            <duration>013000</duration>
            <summary>Maths in Motion: Python-Powered Modelling for Real-World Phenomena</summary>
            <description>Ever wondered how mathematics can help us predict the spread of diseases, forecast the weather, or understand the dynamics of financial markets? Join us as we unravel the fascinating world of mathematical modelling and its real-world applications.

In this interactive session, Tom and Gurjot will guide you through the intriguing models from Classical Physics and Mathematical Biology through to Mathematical Finance and Chaos Theory. You&apos;ll not only learn the maths behind these models but also get hands-on experience in how we can translate these models into Python code and make use of this code to explore behaviour. 

Each section will cover an area of application the mathematical models can be helpful for. Tom and Gurjot will lead a brief introduction to the maths before allowing you a chance to get stuck in with the notebook yourself as we&apos;re on-hand to give suggestions.

We&apos;ll cover the relatively familiar territory of Mechanics, exploring how simple tweaks to traditional models can lead to surprising results.  We&apos;ll delve into Mathematical Biology, where we&apos;ll discuss the role of modelling in tracking the spread of infectious diseases like coronavirus.

In the Mathematical Finance section, Gurjot will share insights from his career and introduce you to the complex models that drive modern finance. Finally, we&apos;ll explore the world of Chaos Theory and its implications in Weather Forecasting, where Tom will introduce you to the tools used to understand models of the oceans or the atmosphere (on Earth or any other planet!) and provide some simple accessible code to get you started on understanding what really happens when we forecast the weather .

By the end of this session, you&apos;ll have a deeper understanding of mathematical models and how to use Python to experiment with them. You&apos;ll also have access to prepared notebooks for further exploration. So, whether you&apos;re a maths enthusiast or a Python aficionado, join us for a journey of discovery and learning!

Link to the Jupyter notebooks\; https://github.com/ThomasGregory/pycon-maths_in_motion/tree/main</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/DUHJZF/</url>
            <location>Room B</location>
            
            <attendee>Thomas Gregory</attendee>
            
            <attendee>Gurjot Singh</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3MVAF7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3MVAF7</pentabarf:event-slug>
            <pentabarf:title>Using Python and Anvil in an FE College</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T153000</dtstart>
            <dtend>20230922T170000</dtend>
            <duration>013000</duration>
            <summary>Using Python and Anvil in an FE College</summary>
            <description>Join this captivating presentation as we explore the world of Anvil; a relatively simple Python tool for building apps. You will leave this session with a good understanding of its features and potential applications.

To kick things off, we&apos;ll introduce you to the essence of Anvil. Developed with simplicity in mind, Anvil empowers users to create web applications. It uses an intuitive drag-and-drop interface, with Python-based backend and enables individuals of a wide range of skill levels to bring their app ideas to life effortlessly.

This talk will focus on real-world experiences and success stories from Bridgend College, showcasing how Anvil has transformed their educational landscape. From streamlining administrative processes to enhancing collaboration among students and staff, Anvil has proven to be a game-changer in our educational institution. Explore the various ways Anvil can be harnessed to create systems that benefit students and faculty, making education more efficient, engaging, and impactful.

The session will conclude with a live demonstration. Brace yourself as we create an app in real-time using Anvil, highlighting its flexibility and power. Experience the rapid development process firsthand as we showcase how Anvil&apos;s components, database integrations, and event-driven programming come together seamlessly to build a fully functioning application. Witness the ease with which Anvil allows you to iterate, test, and deploy your apps, empowering you to bring your ideas to fruition without unnecessary barriers.

If you&apos;re an educator or simply curious about the potential of Anvil, this presentation is designed to inspire and equip you with the knowledge and tools needed to leverage this remarkable platform. Join us to discover how Anvil can revolutionise the way we approach app development. Anvil&apos;s capabilities are immense, empowering individuals and organisations to create powerful web applications with ease. Don&apos;t miss this opportunity to unlock your creative potential with Anvil!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lecture Room Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/3MVAF7/</url>
            <location>Room D</location>
            
            <attendee>Matthew Davies</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TJRJUE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TJRJUE</pentabarf:event-slug>
            <pentabarf:title>Treasure Challenge</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T133000</dtstart>
            <dtend>20230922T150000</dtend>
            <duration>013000</duration>
            <summary>Treasure Challenge</summary>
            <description>BBC micro:bits are microcontrollers programmable in MicroPython via online software. They have a built-in LED display, speaker, accelerometer, radio communication and much more.
I&apos;ll give you a run-through of all the available inputs and outputs, a pile of supplies, and lots of ideas and enthusiasm for your creations.

Want to challenge your colleagues? New to microcontrollers and interested in learning the basics in a relaxed environment? Just want to do something fun that still technically counts as work? Everyone is welcome, just bring a laptop and an open mind.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/TJRJUE/</url>
            <location>Room L</location>
            
            <attendee>Sarah Townson</attendee>
            
            <attendee>Carlos Pereira Atencio</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YLGFCE@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YLGFCE</pentabarf:event-slug>
            <pentabarf:title>Introduction to Data Analysis Using Pandas</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T153000</dtstart>
            <dtend>20230922T170000</dtend>
            <duration>013000</duration>
            <summary>Introduction to Data Analysis Using Pandas</summary>
            <description>Pandas makes it possible to work with tabular data and perform all parts of the analysis from collection and manipulation through aggregation and visualization. While most of this session focuses on pandas, during our discussion of visualization, we will also introduce at a high level Matplotlib (the library that pandas uses for its visualization features, which when used directly makes it possible to create custom layouts, add annotations, etc.) and Seaborn (another plotting library, which features additional plot types and the ability to visualize long-format data).

#### Section 1: Getting Started With Pandas
We will begin by introducing the Series, DataFrame, and Index classes, which are the basic building blocks of the pandas library, and showing how to work with them. By the end of this section, you will be able to create DataFrames and perform operations on them to inspect and filter data.

#### Section 2: Data Wrangling
To prepare our data for analysis, we need to perform data wrangling. We will learn how to clean and reformat data (e.g. renaming columns, fixing data type mismatches), restructure/reshape it, and enrich it (e.g. discretizing columns, calculating aggregations, combining data sources).

#### Section 3: Data Visualization
The human brain excels at finding patterns in visual representations of the data; so in this section, we will learn how to visualize data using pandas along with the Matplotlib and Seaborn to help us better understand our data.

---

#### Target Audience
This tutorial is for anyone with basic knowledge of Python and an interest in learning how to analyze data in Python. We will be working with Jupyter Notebooks, so attendees should familiarize themselves with the interface (i.e., know how to run/edit a cell) beforehand.

#### Environment Setup
Please setup your environment prior to the session by following the instructions [here](https://github.com/stefmolin/pandas-workshop#setup-instructions).</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/YLGFCE/</url>
            <location>Room L</location>
            
            <attendee>Stefanie Molin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LKS7K8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LKS7K8</pentabarf:event-slug>
            <pentabarf:title>Board games &amp; manual technology evening</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230922T183000</dtstart>
            <dtend>20230922T213000</dtend>
            <duration>030000</duration>
            <summary>Board games &amp; manual technology evening</summary>
            <description>Join your fellow pythonistas for an informal evening of board games and manual technology!

Bring your own board game or crafting project, or learn a new one. There will be supplies and willing teachers on hand for a variety of crafts (knitting, crochet, needle felting, more TBC).</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Round Table Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LKS7K8/</url>
            <location>Lower Hall West</location>
            
            <attendee>Becky Smith</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>S38SR9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-S38SR9</pentabarf:event-slug>
            <pentabarf:title>Welcome and Introductions</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T090000</dtstart>
            <dtend>20230923T093000</dtend>
            <duration>003000</duration>
            <summary>Welcome and Introductions</summary>
            <description>Welcome and Introductions</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/S38SR9/</url>
            <location>Assembly Room</location>
            
            <attendee>Ann Barr</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>P9KLPW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-P9KLPW</pentabarf:event-slug>
            <pentabarf:title>If you can&#8217;t give me poetry, can&#8217;t you give me poetical science?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T093000</dtstart>
            <dtend>20230923T103000</dtend>
            <duration>010000</duration>
            <summary>If you can&#8217;t give me poetry, can&#8217;t you give me poetical science?</summary>
            <description>Ada Lovelace was the daughter of a social reformer and a mad/bad/dangerous-to-know poet. She grew up to be a mathematician, an analyst, a musician, a gambler, and the first computer programmer. But the engine she coded for was never built &#8211; and she didn&#8217;t live to see whether her programme worked or not. 

I&#8217;m the daughter of an English tutor and a &#8216;works in software&#8217;. I&#8217;ve grown up to be a playwright and a digital theatre-maker. I was also commissioned to research, write, and develop a play about Ada Lovelace, music, AI, and poetical science. But it was never staged &#8211; and I have no idea if it works in performance or not.  

Luckily I&#8217;m not dead yet, and I have actually managed to stage other work exploring how tech-y themes, online communities, and virtual spaces work in live theatre. My theatre-making overlaps with gaming, radio, film, and livestreaming. I love thinking about how staging the tech can create restrictions/opportunities, feeding into the form and the theme of a story. And I&#8217;m especially interested in how theatre &#8211; an artform that had to change dramatically to survive lockdown &#8211; might move forwards now that audiences are more reluctant to leave their homes than ever.

If you&#8217;re not the kind of person who goes to the theatre then you might be the kind of person who&#8217;s up for digital theatre &#8211; poetical science, maybe, rather than just poetry. If, of course, we can agree on what digital theatre even is&#8230;</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/P9KLPW/</url>
            <location>Assembly Room</location>
            
            <attendee>Emily Holyoake</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YVHGQC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YVHGQC</pentabarf:event-slug>
            <pentabarf:title>Investigating Environmental issues with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T110000</dtstart>
            <dtend>20230923T113000</dtend>
            <duration>003000</duration>
            <summary>Investigating Environmental issues with Python</summary>
            <description>Existential threats to humanity as a result of decades of damage inflicted to the planet are already in motion. From the first climate refugees in 2014, to escalating public health crises of air pollution and food insecurity around the world, Earth becomes less inhabitable every day.

And yet concern isn&apos;t as widespread as is warranted. Many parties profit from unsustainable practices, and therefore have motive to obfuscate the long-term harmful consequences. In today&apos;s post-truth world, exacerbated by generative AI and other mis-used tech, public opinion is the battleground between multiple opposing influences, only to the detriment of society.

This talk aims to better equip citizens to bypass/counter the deliberate informational noise and investigate environmental issues themselves, being more empowered to come to their own conclusions about the actual state of our world. 

A selection of scientific workflows, using open-source Python and publicly available resources, will be presented, each delving into a topical environmental issue to produce actionable insight. Designed to be accessible and reproducible by tech literate citizens without domain expertise, the audience will takeaway transferable Python skills for undertaking similar scientific computing exploration. 

Let&apos;s democratise Python&apos;s potential for citizen access to discovery of environmental facts, so that humanity can be better informed to better influence the safeguarding of our planet, and ultimately our existence.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/YVHGQC/</url>
            <location>Assembly Room</location>
            
            <attendee>Mx Chiin-Rui Tan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZRPYFB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZRPYFB</pentabarf:event-slug>
            <pentabarf:title>The Accidental Conference Director</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T113000</dtstart>
            <dtend>20230923T120000</dtend>
            <duration>003000</duration>
            <summary>The Accidental Conference Director</summary>
            <description>TBC</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/ZRPYFB/</url>
            <location>Assembly Room</location>
            
            <attendee>Ann Barr</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7TRX8C@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7TRX8C</pentabarf:event-slug>
            <pentabarf:title>How to keep your database happy</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T120000</dtstart>
            <dtend>20230923T123000</dtend>
            <duration>003000</duration>
            <summary>How to keep your database happy</summary>
            <description>You don&apos;t want to spend too much time looking after your database; you&apos;ve got better things to do with your time. You do, however, want your database to run smoothly and perform well. Fortunately, there are a few simple things that you can do to make sure your database ticks along nicely in the background.
I&apos;ve put together my top 5 tips, based on things that have been useful to me as a DBA and as a database consultant. These are things you can put in place, without too much effort, to make sure your database works well. The focus will be on PostgreSQL, but most of the tips are also relevant to other databases.
You&apos;ll come away with some simple ways to keep your database happy, leaving you free to concentrate on developing your application.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/7TRX8C/</url>
            <location>Assembly Room</location>
            
            <attendee>Karen Jex</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WTSLRP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WTSLRP</pentabarf:event-slug>
            <pentabarf:title>The Sound of Your Footsteps can Predict for Dementia</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T123000</dtstart>
            <dtend>20230923T130000</dtend>
            <duration>003000</duration>
            <summary>The Sound of Your Footsteps can Predict for Dementia</summary>
            <description>Do you know how the sound of your footsteps can be used to predict the likelihood of a fatal fall? Do you know that they can also be used to predict whether you will develop dementia in the next 6 months or so?

This talk will be a gentle introduction to the world of clinical gait analysis and how your gait (a.k.a the way you walk) is a digital biomarker for predicting physical and cognitive health. We will take an strong multidisciplinary approach where we will combine know-how of clinical science, remote monitoring, assistive technology and state-of-art acoustic AI engineering to showcase how this is possible.

The topics that we will cover are as follows:

Digital Biomarker Engineering : We will discuss the framework of how you can feature engineer health indictors (&quot;biomarkers&quot;) from data collected by sensors in an IOT ecosystem like PIR, magnetic sensors and even microphones/audio recorders.
Gait Analysis : We will do a crash course on Human Gait to set the foundation required to use gait data to predict for neurodegenerative conditions and cognitive decline.
Acoustic Gait Analysis : We will spend majority of our time here to understand how acoustics engineering and machine learning can help in analysing human gait from just audio recordings to predict for cognitive decline discussed in #2 earlier.
To demonstrate a real life application, I will share how this concept was used to track the progression of dementia of an older adult over the past 2 years.

I will showcase the tech stack to make this possible.
I will showcase the challenges we faced along the way in undertaking niche research, architecture development, AI development and real-life feedback from the older adult, family members and care-givers.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/WTSLRP/</url>
            <location>Assembly Room</location>
            
            <attendee>Debayan Das</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SRGNUR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SRGNUR</pentabarf:event-slug>
            <pentabarf:title>Live highlights in BBC iPlayer</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T140000</dtstart>
            <dtend>20230923T143000</dtend>
            <duration>003000</duration>
            <summary>Live highlights in BBC iPlayer</summary>
            <description>In BBC News Labs, we work closely with journalists and we try to come up with innovative approaches to meeting their needs - either to improve or automate internal processes or to enhance the audience experience.

An idea was born from discussions with a BBC News editor to add markers to indicate to users where the big important moments are on the news channel. We built a minimum viable product, and extended the reach of the prototype over the next few months. We launched our first audience facing trial on news live pages, and then it was used on Eurovision, Springwatch, Glastonbury and Wimbledon.

The project was built using AWS lambda functions (Python), FastAPI and postgres, a React / TypeScript frontend and an iPlayer plugin (also TypeScript).

This talk will cover our rapid prototyping process, the tech stack used, as well as how we managed to deliver a production audience-facing project - and where we go from here.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/SRGNUR/</url>
            <location>Assembly Room</location>
            
            <attendee>Ben Nuttall</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>39QKMK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-39QKMK</pentabarf:event-slug>
            <pentabarf:title>Multi-Objective Linear Programming to find the Best Pok&#233;mon Team</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T143000</dtstart>
            <dtend>20230923T150000</dtend>
            <duration>003000</duration>
            <summary>Multi-Objective Linear Programming to find the Best Pok&#233;mon Team</summary>
            <description>Here I give an example of using Python to solve a combinatorial problem from the mathematical field of Operational Research: How to find the best Pok&#233;mon team. Using a variety of Python libraries a mulit-objective linear programming problem is used to find the best combination of Pok&#233;mon, and their attacks. PuLP is used to formulate and solve the multi-objective linear programming problems, and a Pareto front is found by varying the importance of each objective. Then, a third objective, a Pok&#233;mon team&apos;s performance in a Monte Carlo simulation of Pok&#233;mon battles, is used to differentiate between Pareto optimal solutions and find the definitive best team of Pok&#233;mon. I relate how this fun problem is related to more serious scheduling and timetabling problems.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/39QKMK/</url>
            <location>Assembly Room</location>
            
            <attendee>Geraint Palmer</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7RPBSW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7RPBSW</pentabarf:event-slug>
            <pentabarf:title>Open-source, developer-friendly observability in only a few lines code</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T150000</dtstart>
            <dtend>20230923T153000</dtend>
            <duration>003000</duration>
            <summary>Open-source, developer-friendly observability in only a few lines code</summary>
            <description>Marie Curie said, &#8220;Nothing in life is to be feared, it is only to be understood.&#8221;

For developers, writing code is a big part of our lives. And if we want to understand how the code we write is actually performing out in the wild, then we need to use techniques and tooling from the world of observability.

This poses a problem for many of us, including myself: Observability tooling is itself fear-inducing! 

Yes, I would love to understand how my code is doing after I release it onto the scary internets. (Please. Tell me. I have no idea.)

However, the path to an observable codebase is full of easy-to-take wrong turns and very confusing signage. Speaking personally, I needed to get to know the the quirks of a time-series database, determine what to measure (and how to measure it), label my data correctly, and then learn a new query language to generate charts that would help me understand whether or not my app is doing as well as I (really, really) hope it is.

I am a developer. I&#8217;ve been creating web applications for a decade. And yet, before working for an observability company, I still relied mostly on carefully placed log statements to debug my production code.

This is why I started contributing to autometrics-py, which is a small, open source micro-framework that exposes a cute little python decorator to make implementing observability best practices much, much simpler for developers. (To be clear: I am by no measure an expert in observability, but that&#8217;s exactly why I&#8217;m excited to share what I&#8217;ve learned while helping to make it easier for others.)

In this talk, we&#8217;ll cover what makes observability tricky, especially for devs, and how we can do away with this trickiness by making some smarty-pants assumptions about the type of data we are most interested in. We&#8217;ll focus on the unique power of getting metrics at the function level (because who doesn&#8217;t love functions?!), and emerge with the confidence of Marie Curie when it comes to understanding the health of our codebase in production.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/7RPBSW/</url>
            <location>Assembly Room</location>
            
            <attendee>Brett Beutell</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8N9DCQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8N9DCQ</pentabarf:event-slug>
            <pentabarf:title>How I used PostgreSQL&#174; to find pictures of me at a party</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T160000</dtstart>
            <dtend>20230923T163000</dtend>
            <duration>003000</duration>
            <summary>How I used PostgreSQL&#174; to find pictures of me at a party</summary>
            <description>Nowadays, if you attend an event you&apos;re bound to end up with a catalogue of photographs to look at. Formal events are likely to have a professional photographer, and modern smartphones mean that it&apos;s easy to make a photographic record of just about any gathering. It can be fun to look through the pictures, to find yourself or your friends and family, but it can also be tedious.

At our company get-together earlier in the year, the photographers did indeed take a lot of pictures. Afterwards the best of them were put up on our internal network - and like many people, I combed through them looking for those in which I appeared (yes, for vanity, but also with some amusement).

In this talk, I&apos;ll explain how to automate finding the photographs I&apos;m in (or at least, mostly so). I&apos;ll walk through Python code that extracts faces using OpenCV, calculates vector embeddings using imgbeddings and OpenAI, and stores them in PostgreSQL&#174; using pgvector. Given all of that, I can then make an SQL query to find which pictures I&apos;m in.

Python is a good fit for data pipelines like this, as it has good bindings to machine learning packages, and excellent support for talking to PostgreSQL.

You may be wondering why that sequence ends with PostgreSQL (and SQL) rather than something more machine learning specific. I&apos;ll talk about that as well, and in particular about how PostgreSQL allows us to cope when the amount of data gets too large to be handled locally, and how useful it is to be able to relate the similarity calculations to other columns in the database - in our case, perhaps including the image metadata.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/8N9DCQ/</url>
            <location>Assembly Room</location>
            
            <attendee>Tibs</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MQSPPD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MQSPPD</pentabarf:event-slug>
            <pentabarf:title>Young Coders Presentations</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T163000</dtstart>
            <dtend>20230923T170000</dtend>
            <duration>003000</duration>
            <summary>Young Coders Presentations</summary>
            <description>Young Coders Presentations</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/MQSPPD/</url>
            <location>Assembly Room</location>
            
            <attendee>Scott Morgan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>X38HNK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-X38HNK</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T170000</dtstart>
            <dtend>20230923T180000</dtend>
            <duration>010000</duration>
            <summary>Lightning Talks</summary>
            <description>Lightning Talks</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/X38HNK/</url>
            <location>Assembly Room</location>
            
            <attendee>Mark Smith</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LZXMR8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LZXMR8</pentabarf:event-slug>
            <pentabarf:title>Practical tools for documentation at scale</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T140000</dtstart>
            <dtend>20230923T153000</dtend>
            <duration>013000</duration>
            <summary>Practical tools for documentation at scale</summary>
            <description>At Canonical, I lead documentation practice - the way we (1000+ people working on dozens of projects) do documentation. That means establishing a shared understanding of standards, and how to reach them. 

To help do this I have developed a number of adaptable tools and methods to help all of us understand our progress and achieve it faster.

In this hands-on workshop I will introduce some of them, and help you start to adapt to your own needs, in your own organisation.

I hope that this workshop will be of value to anyone working in an engineering organisation where documentation discipline and success seems harder to obtain than it should be.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LZXMR8/</url>
            <location>Room B</location>
            
            <attendee>Daniele Procida</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3ZBWTP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3ZBWTP</pentabarf:event-slug>
            <pentabarf:title>Geodesy for Pythonistas (or How I Learned to Stop Worrying and Love Coordinate Reference Systems)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T110000</dtstart>
            <dtend>20230923T123000</dtend>
            <duration>013000</duration>
            <summary>Geodesy for Pythonistas (or How I Learned to Stop Worrying and Love Coordinate Reference Systems)</summary>
            <description>Modern webmaps and GPS technologies allow representations of the Earth&#8217;s surface to a precision and accuracy beyond the dreams of the cartographers of old. But whether in a browser window or on sheets of parchment, a completely accurate representation of the curved surface of the Earth on a flat surface is fundamentally impossible.  Certain narrowly defined kinds of accuracy, or accuracy in a particular small area are possible, but every map represents trade-offs and compromises.  

In this lecture I will explain what coordinate reference systems are and how they work.  I will describe the various classes of map projection and walk through a number of specific example coordinate reference systems, including the ones everyone working in GIS needs to know, as well as a few more esoteric examples and the kinds of scenarios where you might need to use them.  And finally I will discuss how to convert between coordinate reference systems and the potential pitfalls to keep in mind when working with multiple coordinate systems.

Do you want to take your geospatial python skills beyond simply using the GoogleMaps API?  Do you have clients in government or civil engineering that insist on the use of locally specialised datums or coordinate systems in their maps and databases?  Have you ever wondered why Google Maps uses Mercator projection &#8211; haven&#8217;t they seen all those blog posts and YouTube videos about how misleading it is? Or are you just generally interested in maps?  

If you answered yes to any of the above questions, this lecture is for you. I&#8217;ll be discussing mathematical concepts, but no equations - just Python code that implements them.

Content/Trigger Warning: Flat-Earthers may find this lecture confronting

A review of practice run-through of this lecture from a real geodesist:

&quot;AMAZING and suberb presentation!! You are a wizard! I spent three years going to geodesy and cartography lectures and I&apos;d like to know WHERE you were then Paul?! This was the BEST &apos;lecture&apos; I have seen on this topic and a wonderful summary/introduction of this fascinating subject. So spot on (IMHO) and very cleverly delivered.&quot;</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lecture Room Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/3ZBWTP/</url>
            <location>Room D</location>
            
            <attendee>Paul Haesler</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YWNQJX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YWNQJX</pentabarf:event-slug>
            <pentabarf:title>Subclassing, Composition, Python, and You</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T140000</dtstart>
            <dtend>20230923T153000</dtend>
            <duration>013000</duration>
            <summary>Subclassing, Composition, Python, and You</summary>
            <description>Ever seen a code base where understanding a simple method meant jumping through tangled class hierarchies? We all have! And while &quot;Favor composition over inheritance!&quot; is almost as old as object-oriented programming, strictly avoiding all types of subclassing leads to verbose, un-Pythonic code. So, what to do?

The discussion on composition vs. inheritance is so frustrating because far-reaching design decisions like this can only be made with the ecosystem in mind &#8211; and because there&apos;s more than one type of subclassing!

Let&apos;s take a dogma-free stroll through the types of subclassing through a Pythonic lens and untangle some patterns and trade-offs together. By the end, you&apos;ll be more confident in deciding when subclassing will make your code more Pythonic and when composition will improve its clarity.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lecture Room Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/YWNQJX/</url>
            <location>Room D</location>
            
            <attendee>Hynek Schlawack</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>STF3G7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-STF3G7</pentabarf:event-slug>
            <pentabarf:title>The &#9889;&#65039; Talk Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T110000</dtstart>
            <dtend>20230923T123000</dtend>
            <duration>013000</duration>
            <summary>The &#9889;&#65039; Talk Workshop</summary>
            <description>You turn up to your first PyCon UK to discover that lightning talks exist, and they&apos;re amazing! Very much the best part of the conference, and the MC seems like just the sort of person you&apos;d like to buy a pint in the pub.

You&apos;re inspired and you&apos;ve got a vague idea for a lightning talk, but you&apos;re not sure it&apos;s good enough, and how do you actually write a talk? How many slides should you have? And what should you write on the index card so that you get selected?

And there&apos;s _so much_ going on at PyCon UK that you just can&apos;t seem to find some time to yourself to actually write the talk. And maybe it would be nice if you could get some feedback on your idea.

_Now there&apos;s the Lightning Talk Workshop!_ We&apos;ll begin with about 30 minutes of advice from that nice Lightning Talk MC on how to write and give a lightning talk, and then we&apos;ll get everyone set up in small groups to help each other brainstorm ideas,
write an outline, and an index card for the beginner&apos;s bucket.

If we have time, you may be able to put together some slides  (if you want slides) for your first lightning talk.

Attending the workshop doesn&apos;t guarantee that your lightning talk proposal will be accepted,
but it&apos;s almost certainly going to help immensely,
and it should be fun and interesting along the way!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/STF3G7/</url>
            <location>Room L</location>
            
            <attendee>Mark Smith</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EYTZY3@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EYTZY3</pentabarf:event-slug>
            <pentabarf:title>Scaling the PyData Ecosystem with Dask</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T140000</dtstart>
            <dtend>20230923T153000</dtend>
            <duration>013000</duration>
            <summary>Scaling the PyData Ecosystem with Dask</summary>
            <description>This tutorial is aimed at people who are new to parallel and distributed computing, and to using PyData libraries at scale. The primary focus is on Dask&#8217;s commonly used features and building an intuition for distributed workflows. However, since Dask is a powerful tool with a lot more capabilities, we also include an overview of the breadth of APIs and deployment options provided by Dask.

Tutorial outline :

1. Overview [10 minutes]
Quick showcase of using Dask for a larger-than-memory dataset.
Give a brief overview of what Dask is, why it&apos;s needed, and where it fits into the PyData ecosystem.
How to start a Dask client and access the dashboard.

2. Diagnostic tools for understanding performance [10 mins]
Need for visualization tools in distributed computing.
Quick overview of visualizing task graphs and widgets for local computations.
Deep dive into Dask Dashboard for distributed computations.

3. Parallel DataFrames using Dask DataFrame [30 mins ]
Introduction to Dask DataFrames. Discuss how Dask DataFrame mirrors pandas.
Common pandas operations with Dask (reading, groupby, apply, map_partitons).

4. Parallel Arrays using Dask Array [ 30 mins ]
Introduction to Dask Arrays. Discuss how Dask collections mirror their single-threaded counterparts (e.g. Dask Array mirror NumPy).
Visualizing task graphs and using widgets to understand the computation in detail.
Best Practices around choosing chunks.

5. Brief introduction to Delayed, Distributed, and Deployments [ 10 minutes ]
When to choose low-level collections.
What are the Delayed and Futures APIs?
Dask&#8217;s LocalCluster and other deployment options.
Additional resources to learn more about the topics in this section.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/EYTZY3/</url>
            <location>Room L</location>
            
            <attendee>Jacob Tomlinson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WYWJU3@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WYWJU3</pentabarf:event-slug>
            <pentabarf:title>DjangoGirls Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T090000</dtstart>
            <dtend>20230923T160000</dtend>
            <duration>070000</duration>
            <summary>DjangoGirls Workshop</summary>
            <description>DjangoGirls and Young Coders Workshops</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/WYWJU3/</url>
            <location>Lower Hall West</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7ANPYB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7ANPYB</pentabarf:event-slug>
            <pentabarf:title>Create artwork with Python Turtle &amp; EduBlocks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T090000</dtstart>
            <dtend>20230923T100000</dtend>
            <duration>010000</duration>
            <summary>Create artwork with Python Turtle &amp; EduBlocks</summary>
            <description>In this session, we&apos;ll be getting creative with the Turtle library in Python to create our own artwork! Best of all, you don&apos;t need to know anything about Python or Turtle. We&apos;ll be using EduBlocks, a free drag-and-drop tool just like Scratch but designed for making it easy to get started with Python. 

We&apos;ll start by getting to know the basics of Python, Turtle and EduBlocks and use what we&apos;ve learnt to create our own unique project. Then, we&apos;ll end the session with a showcase of participants&apos; creations.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Young Coders Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/7ANPYB/</url>
            <location>Lower Hall East</location>
            
            <attendee>Josh Lowe</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YKEBHJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YKEBHJ</pentabarf:event-slug>
            <pentabarf:title>Physical Computing with a Raspberry Pi</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T103000</dtstart>
            <dtend>20230923T113000</dtend>
            <duration>010000</duration>
            <summary>Physical Computing with a Raspberry Pi</summary>
            <description>This session will introduce you to the fundamentals of physical computing using a Raspberry Pi. With Python and the gpiozero library, we will cover key concepts and allow you the freedom to explore a variety of input devices (buttons, sensors), output devices (LEDs, buzzers, displays) and other electronic components (resistors, switches). You will leave the session with a broad knowledge of the types of projects you can take on and, hopefully, some next steps in mind for your own ideas following the conference.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Young Coders Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/YKEBHJ/</url>
            <location>Lower Hall East</location>
            
            <attendee>Scott Morgan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GZ7RZZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GZ7RZZ</pentabarf:event-slug>
            <pentabarf:title>Stop the Treasure Thieves</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T113000</dtstart>
            <dtend>20230923T123000</dtend>
            <duration>010000</duration>
            <summary>Stop the Treasure Thieves</summary>
            <description>Learn how to program a BBC micro:bit in Python to use pressure-sensors, motion detection, flashing lights and sound effects, and construct a cunning programme that will sound the alarm if activated by sneaky thieves! Get creative with cardboard and electronics, and design a super-secure safe for your treasure hoard.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Young Coders Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/GZ7RZZ/</url>
            <location>Lower Hall East</location>
            
            <attendee>Sarah Townson</attendee>
            
            <attendee>Carlos Pereira Atencio</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GT9FFC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GT9FFC</pentabarf:event-slug>
            <pentabarf:title>Turn Satellite Images into Digital Art with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230923T133000</dtstart>
            <dtend>20230923T143000</dtend>
            <duration>010000</duration>
            <summary>Turn Satellite Images into Digital Art with Python</summary>
            <description>The wealth of satellite Earth Observation data captured and made publicly available by space agencies like NASA are not just valuable research resources, but also represent a huge supply of meaningful digital canvases for a range of creative STEAM purposes. In this hands-on scientific computing lab, participants will transform chosen images of Earth into eye-catching Satellite Art by applying selected data tools from Python&apos;s open-source ecosystem. Through experimenting with accessible Machine Learning and other computational image processing methods for editing colours, textures, and other visual effects, participants ultimately create a piece of digital artwork they can take home and show others, whilst also engaging with core Math and Science and learning about the varied landscapes of our planet.

**IT requirements**    
A laptop with moden browser (e.g. Firefox, Chromium/Chrome, Opera) is needed to participate in the workshop. [This](https://rhozetaai.github.io/satellite-art/) is the JupyterLite platform loaded with materials that will be used for the workshop.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Young Coders Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/GT9FFC/</url>
            <location>Lower Hall East</location>
            
            <attendee>Mx Chiin-Rui Tan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WRDGVY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WRDGVY</pentabarf:event-slug>
            <pentabarf:title>Welcome and UKPA AGM</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T090000</dtstart>
            <dtend>20230924T093000</dtend>
            <duration>003000</duration>
            <summary>Welcome and UKPA AGM</summary>
            <description>Welcome and Introduction</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/WRDGVY/</url>
            <location>Assembly Room</location>
            
            <attendee>Owen Campbell</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LMD9DT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LMD9DT</pentabarf:event-slug>
            <pentabarf:title>3 Lessons Data Scientists Can Learn from World War II</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T093000</dtstart>
            <dtend>20230924T103000</dtend>
            <duration>010000</duration>
            <summary>3 Lessons Data Scientists Can Learn from World War II</summary>
            <description>World War II, the largest armed conflict in human history, not only required unfathomable firepower but also unprecedented brain power. Data scientists - or statisticians as they were called back in the day - worked tirelessly to advance military technology and produce indispensable intelligence reports. Eighty years on, the lessons they learned remain relevant and are important for anyone doing data science or analysis at present.

In this talk, we&#8217;ll visit three stories from WWII and discuss how the lessons learned then apply for modern day business settings. We&#8217;ll explore:
- How the flaw of averages made the scientifically optimised cockpit to be a perfect fit for no-one.
- How survivorship bias impacted the armour placed on bomber planes.
- How the need to assess the monthly rate of German tank production bred a simple solution.

In the second part of the talk we&#8217;ll discuss how learnings from these stories can be used in a business environment, working through business use-cases with real (looking) data and some basic Python manipulations.

While the talk was prepared with data scientists and analysts in mind, anyone with a curious mind may find it worthwhile. Basic familiarity of Python is helpful but not required. By the end of this talk audience members will be familiar with several common pitfalls in data science and equipped to handle business problems in a more mature and well-rounded way.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LMD9DT/</url>
            <location>Assembly Room</location>
            
            <attendee>Alon Nir</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SSGQDT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SSGQDT</pentabarf:event-slug>
            <pentabarf:title>Optimizing GraphQL Performance: Tips and Techniques</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T110000</dtstart>
            <dtend>20230924T113000</dtend>
            <duration>003000</duration>
            <summary>Optimizing GraphQL Performance: Tips and Techniques</summary>
            <description>API performance is crucial for delivering a smooth and responsive user
experience. GraphQL has gained popularity as a flexible and efficient query
language, but without proper optimization, it may underperform or even become a
bottleneck in your application.

In this talk, we&apos;ll dive into the essential techniques and best practices to
optimize GraphQL performance, ensuring that your APIs are snappy, scalable, and
resource-efficient. Attendees will learn:

- The importance of batching queries and how to implement it using DataLoader or
  similar libraries.
- The concept of query complexity and depth, and how to set up limits to prevent
  resource abuse.
- Leveraging persisted queries to reduce network overhead and improve caching
  capabilities.
- Implementing caching strategies, both on the server and client-side, to
  minimize redundant requests and reduce load times.
- Exploring monitoring and observability tools that can help you identify
  performance bottlenecks and continuously optimize your GraphQL implementation
  for maximum efficiency.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/SSGQDT/</url>
            <location>Assembly Room</location>
            
            <attendee>Patrick Arminio</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>G8KQCM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-G8KQCM</pentabarf:event-slug>
            <pentabarf:title>SIGN-TO-TEXT:Unleashing the Power of Google AI for real time ASL transcription</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T113000</dtstart>
            <dtend>20230924T120000</dtend>
            <duration>003000</duration>
            <summary>SIGN-TO-TEXT:Unleashing the Power of Google AI for real time ASL transcription</summary>
            <description>Communication barriers between the deaf and hard-of-hearing community and the wider world have created significant challenges in effective interaction.However the good news is cutting-edge AI technologies can revolutionize the way we transcribe American Sign Language (ASL) and enable inclusive communication.

Using the power of Python libraries and Google&apos;s AI tools, including the Google Cloud Vision API for hand and finger tracking, TensorFlow for deep learning models, and AutoML for data scarcity challenges, I will demonstrate Sign_To_Text, a revolutionary system that transforms how sign language users connect with the world.

Witness live demonstrations as I seamlessly integrate Google AI technologies to translate fingerspelled letters in real time into textual representations, empowering individuals and fostering inclusive communication.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/G8KQCM/</url>
            <location>Assembly Room</location>
            
            <attendee>Atieno Ouma</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>JX9HDP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-JX9HDP</pentabarf:event-slug>
            <pentabarf:title>Secure, Modern, and Simple Dependency Management with PDM and Friends</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T120000</dtstart>
            <dtend>20230924T123000</dtend>
            <duration>003000</duration>
            <summary>Secure, Modern, and Simple Dependency Management with PDM and Friends</summary>
            <description>Python has a rich ecosystem of open source packages available to assist with almost any conceivable requirement. Installing, using, and updating these packages should be quick, easy, and secure, however, dependency management and python packaging has historically been a source of frustration for developers, particularly with the added complications of virtual environments, and subtle differences between python versions. Furthermore, software supply chain security has attracted particular importance of late as increasing numbers of major vulnerabilities have been discovered requiring fast, sometimes immediate, mitigation.

In recent years, efforts have been made to improve packaging and dependency management in python, and we have seen the release of a number of developer tools, including poetry, pipenv, and pipx. These work alongside pip and earlier tools such as disutils, setuptools, and easy_install, and offer higher level interfaces for developers to work with. In 2020, a new tool was released called PDM (Python Dependency Manager), and is gaining traction amongst developers in recent months. 

This talk will start by giving an overview of how python imports work, before moving on to cover a brief history of package management in python, and an overview of the current state of play, and the vulnerabilities that we are exposed to by supply chain attacks. We&apos;ll then give a brief introduction to PDM, before discussing what practical steps we can take to both improve our developer experiences, and ensure the code we write is modern, secure, and maintainable.

We&apos;ll ask questions including some of the below.

* What actually happens &apos;under the hood&apos; when we use the import statement?
* How many different ways can we import a package in python?
* What does a dependency manager do, and how does it work?
* What does a supply chain attack look like, and how do we try and stop them happening?

Finally, the speaker will offer an opinionated guide to some of the best python tooling and package management setups available to python developers in 2023.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/JX9HDP/</url>
            <location>Assembly Room</location>
            
            <attendee>Dom Weldon</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UKND3F@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UKND3F</pentabarf:event-slug>
            <pentabarf:title>The Magic of Self: How Python inserts self into methods</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T123000</dtstart>
            <dtend>20230924T130000</dtend>
            <duration>003000</duration>
            <summary>The Magic of Self: How Python inserts self into methods</summary>
            <description>A phrase that I hear a lot is that &#8220;Python is easy to learn but hard to master&#8221;. In a way that&#8217;s true: Python&#8217;s many abstractions allow you to focus on the business logic of your code instead of the lower-level implementation details.

At the same time, most of Python&#8217;s abstractions aren&#8217;t *magical*: Its versatile data model allows you to hook into almost every aspect of the language to implement objects that behave just as Python&#8217;s built-in objects do. This enables you to create new types of objects that have high-level interfaces of their own.

In this talk, I want to entice you to explore the wonderful landscape of Python&#8217;s data model by diving into an especially magical feature: The automatic insertion of `self` into methods.

When you first came across `self` in a method signature, chances are that you learned that inserting the instance into methods is just something Python does for you; that you shouldn&#8217;t worry too much about it. I will go one step further and show you that there&#8217;s a well-defined protocol behind this magic, the descriptor protocol.

By the end, not only should you be able to implement descriptors of your own, but you should also be able to recognize that some well-known features of Python, such as properties and classmethods, are implemented using the same descriptor protocol.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/UKND3F/</url>
            <location>Assembly Room</location>
            
            <attendee>Sebastiaan Zeeff</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>D8ZCWV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-D8ZCWV</pentabarf:event-slug>
            <pentabarf:title>Fear the mutants. Love the mutants.</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T140000</dtstart>
            <dtend>20230924T143000</dtend>
            <duration>003000</duration>
            <summary>Fear the mutants. Love the mutants.</summary>
            <description>Code coverage (the percentage of your code tested by your tests) is a great metric. However, coverage doesn&#8217;t tell you how good your tests are at picking up changes to your codebase - if your tests aren&#8217;t well-designed, changes can pass your unit tests but break production.

Mutation testing is a great (and massively underrated) way to quantify how much you can trust your tests. Mutation tests work by changing your code in subtle ways, then applying your unit tests to these new, &quot;mutant&quot; versions of your code. If your tests fail, great! If they pass&#8230; that&#8217;s a change that might cause a bug in production.

In this talk, I&#8217;ll show you how to get started with mutation testing and how to integrate it into your CI/CD pipeline. After the session, you&#8217;ll be ready to use mutation testing with wild abandon. Soon, catching mutant code will be a routine part of your release engineering process, and you&#8217;ll never look at penguins the same way again!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/D8ZCWV/</url>
            <location>Assembly Room</location>
            
            <attendee>Max Kahan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UFVAH3@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UFVAH3</pentabarf:event-slug>
            <pentabarf:title>The Standard Library Tour</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T143000</dtstart>
            <dtend>20230924T150000</dtend>
            <duration>003000</duration>
            <summary>The Standard Library Tour</summary>
            <description>The Standard Library Tour is designed to provide attendees with an understanding of Python&apos;s standard library less known features. Have you ever found yourself writing complex code only to discover that Python has tools available within its library that could have made your job easier? Then this talk is for you!

The outline of the talk:
* Basic information about the library
* Well-known modules which do less-known things
  * functools less-known features: @singledispatch, partial(), @cache
  * itertools less-known features: product(), filterfalse(), zip_longest()
  * collections less-known features: ChainMap, defaultdict
* Less-known modules which do well-known things
   * doctest for testing: testmod()
   * Difflib &amp; Filecmp for comparison: Difflib.SequenceMatcher, Filecmp.cmpfiles()
   * contextlib for tasks involving the with statement: @contextmanager, @asynccontextmanager


By attending this session, you&apos;ll gain a deeper understanding of Python&apos;s standard library and you&apos;ll discover the &quot;unknown unknowns&quot; - tools that you may not even know exist within Python&apos;s standard library. By becoming familiar with the library and all of its capabilities, you&apos;ll be better equipped to solve problems and build applications more efficiently, without reinventing the wheel. You&apos;ll also receive recommendations on where to find additional resources and information so you can continue learning and exploring Python&apos;s tools after the conference has ended.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/UFVAH3/</url>
            <location>Assembly Room</location>
            
            <attendee>Mia Baji&#263;</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ULFP8G@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ULFP8G</pentabarf:event-slug>
            <pentabarf:title>The programmer&apos;s imagination</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T150000</dtstart>
            <dtend>20230924T153000</dtend>
            <duration>003000</duration>
            <summary>The programmer&apos;s imagination</summary>
            <description>Of all our faculties, imagination is usually considered the freest, the seat of creation. I&apos;m interested in what we are doing with this freedom, and I am suspicious of it.

At the same time, I believe that our imagination tells us truths we might not always want to hear, forcefully. 

In this talk I want to pay attention to the programmer&apos;s imagination, and show how the imagination draws lines between things as disparate as Django&apos;s success page for new projects and [Dracoraptor hanigani](https://en.wikipedia.org/wiki/Dracoraptor), the recently discovered Welsh dinosaur (on view at the National Museum, next door to Cardiff City Hall). 

As programmers, our imagination conjures up new worlds on blank pages, but I think that imagination can always be traced back to assumptions, prejudices and desires that are active right now - the programmer&apos;s imagination isn&apos;t telling us about the future, but about *now* - and what&apos;s wrong with it.

I want to show what the imagination has meant for what we do with the software we create, and what it means for the future. I will use it to identify some of the things we have lost in the last decades, and how we can find them again.

Amongst other things I&apos;ll discuss dinosaurs and birds, palaeoart and 1980s computer programming books, David H Ahl and Joseph Wiezenbaum, to help make sense of what we&apos;re doing, what we think we&apos;re doing, the relationship between them - and what, perhaps, we *should* be doing.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/ULFP8G/</url>
            <location>Assembly Room</location>
            
            <attendee>Daniele Procida</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZKBTPU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZKBTPU</pentabarf:event-slug>
            <pentabarf:title>Well well. ML is not the answer to everything.</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T160000</dtstart>
            <dtend>20230924T163000</dtend>
            <duration>003000</duration>
            <summary>Well well. ML is not the answer to everything.</summary>
            <description>Between 1970 and the year 2000, the United Nations Children&apos;s Fund (UNICEF) worked with the Bangladesh government to provide safe drinking water to 80% of the population by the year 2000. The strategy was to achieve this goal by installing tubewells within the country. Unfortunately, many of these wells produced water contaminated with harmful arsenic content. 

When applying machine learning to this problem, the complexities of providing clean drinking water to an entire country highlight the limitations of foundational technological principles. I experienced this when contributing to the project iArsenic, which used data from these wells to predict a well&apos;s arsenic content.

Using iArsenic, individuals can submit data about their own well in Bangladesh and have a prediction generated to classify the safety of this well. Armed with fundamental principles of data science, I came into this project keen to enlighten the geoscience team about the data science sins they had committed. 

Where was the evaluation? 
Where was the train and test split? 
Why does it matter if the model is opaque or transparent? 

Ultimately, the question I was not asking gave the most valuable insight. Do these data science fundamentals matter? Surely, if we have a model that is 51% accurate all the time, it would be beneficial to use this model to tell people whether they should drink from a well or not, because 1% of people would benefit. In reality, these models are over 80% accurate.

Sitting in front of a MacBook Pro in a university library doing this data science project, it can look obvious that this model can be used to tell these people what is good for them and to give them the opportunity to make over 80% of the problem disappear in a take it or leave it fashion. So why is this seemingly simple and effective approach never deployed? When considering whether you would trust your health to a model with a 51% accuracy, does it still seem so simple or is the problem being underestimated by a colonial mindset?

This talk explores the computing culture shocks experienced when different fields collaborate, discussing how the convictions that help people navigate within a field can raise barriers between fields. Perhaps learning to embrace our convictions with flexibility will break barriers instead of building them.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/ZKBTPU/</url>
            <location>Assembly Room</location>
            
            <attendee>Kane Swartz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UGV7TJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UGV7TJ</pentabarf:event-slug>
            <pentabarf:title>When to rebuild things that already exist</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T163000</dtstart>
            <dtend>20230924T170000</dtend>
            <duration>003000</duration>
            <summary>When to rebuild things that already exist</summary>
            <description>For the last 6 years I&#8217;ve maintained dask-kubernetes, a Python library for deploying Dask clusters on Kubernetes. In that time I&#8217;ve tried nearly every Python Kubernetes client library on PyPI. In fact dask-kubernetes today uses over five different libraries and tools to interact with the Kubernetes API. Each one has different strengths and weaknesses, features and bugs. To satisfy all of the needs of Dask Kubernetes there is no one library that can do it alone.

Should I continue to build wrappers and shims in dask-kubernetes to homogenize the various dependencies? Should I contribute to an existing one to fill in the blanks? Or can I build one library to rule them all?

Earlier this year I decided to build exactly the library I needed. Not a perfect universal library to supersede everything, not a wrapper for everything that exists. Just the library I need to solve my problems, to reduce complexity in my projects and to help me learn the things I need to know to maintain these projects into the future. 

In this talk I will dig into my perspective on when to wrap a dependency, when to contribute to a dependency and when to build a new dependency from scratch.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/UGV7TJ/</url>
            <location>Assembly Room</location>
            
            <attendee>Jacob Tomlinson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LSTGLR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LSTGLR</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T170000</dtstart>
            <dtend>20230924T180000</dtend>
            <duration>010000</duration>
            <summary>Lightning Talks</summary>
            <description>Lightning Talks</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LSTGLR/</url>
            <location>Assembly Room</location>
            
            <attendee>Mark Smith</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DWJLMJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DWJLMJ</pentabarf:event-slug>
            <pentabarf:title>Monte Carlo Simulations for Testing Tabletop Games</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T110000</dtstart>
            <dtend>20230924T123000</dtend>
            <duration>013000</duration>
            <summary>Monte Carlo Simulations for Testing Tabletop Games</summary>
            <description>Monte Carlo simulations are a valuable tool for calculating probabilities, relying on the law of large numbers to prove that the odds of a complex random event can be estimated by doing the random thing hundreds of thousands of times and finding the average result.

In this workshop, we will work to build a simulation in basic python for an example fictional tabletop board game and explain how the results can be used to inform further development, as well as discussing how the same techniques can be applied to other fields such as capacity planning. No understanding of mathematics beyond GCSE Maths is required to follow this tutorial.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/DWJLMJ/</url>
            <location>Room B</location>
            
            <attendee>CJ Shearwood</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LTDKXA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LTDKXA</pentabarf:event-slug>
            <pentabarf:title>Data visualisation with Seaborn</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T140000</dtstart>
            <dtend>20230924T153000</dtend>
            <duration>013000</duration>
            <summary>Data visualisation with Seaborn</summary>
            <description>20 years on from its first stable release, Matplotlib remains the pillar of static data visualisations in the Python ecosystem. And it&#8217;s not hard to see why: it offers a vast array of plot types and flexible customisation options. However, one caveat is that detailed statistical figures, including multi-panel grids and regression plots, can often require many lines of finely-tuned code. Seaborn mitigates this by providing wrapper functions which allow complex data visualisations to be produced in just a few lines.

This hands-on tutorial will cover:

- Seaborn&#8217;s statistical functions (kernel density estimation, regression models, etc)
- customisation of Seaborn figures with Matplotlib

By the end, you will be able to:

- use a range of techniques for communicating your data insights
- leverage the best aspects of Seaborn and Matplotlib to create beautiful graphics with concise code
- create detailed facet and pair grid plots

Some basic familiarity with Python programming and data structures including Pandas DataFrames would be helpful. The tutorial will be run using a virtual environment with all dependencies pre-installed.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Classroom Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/LTDKXA/</url>
            <location>Room B</location>
            
            <attendee>Myles Mitchell</attendee>
            
            <attendee>Parisa Gregg</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GGDZWK@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GGDZWK</pentabarf:event-slug>
            <pentabarf:title>Effective teaching of Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T110000</dtstart>
            <dtend>20230924T123000</dtend>
            <duration>013000</duration>
            <summary>Effective teaching of Python</summary>
            <description>This round table discussion invites those who teach Python or who are thinking of teaching Python to discuss best practices in teaching Python. Share your ideas, tips &amp; tricks, learn new things and find out how other educators are approaching Python education. The discussion is participant-led and focuses on what is relevant and important to those present.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Round Table Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/GGDZWK/</url>
            <location>Room L</location>
            
            <attendee>Lisa Carpenter</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RKCLZP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RKCLZP</pentabarf:event-slug>
            <pentabarf:title>The internet of borrowed things</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230924T140000</dtstart>
            <dtend>20230924T153000</dtend>
            <duration>013000</duration>
            <summary>The internet of borrowed things</summary>
            <description>This is a highly interactive session, so although it begins with a talk on the pitfalls of the current state of affairs, delegates are very welcome to contribute their own stories to the overall picture. 

Some delegates will have used their skills to build their own home automation solutions, so the middle section is a kind of show-and-tell of what&apos;s possible, the pros and cons and a sharing of ideas.

Finally, we look at what a more open off-the-shelf solution might look like for people without the software and electronics skills to build their own. Getting it adopted is another matter, but can we propose an outline design for a platform that offers consumers more control?</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Round Table Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/RKCLZP/</url>
            <location>Room L</location>
            
            <attendee>Gail Ollis</attendee>
            
            <attendee>James Williams</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AJ8UT9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AJ8UT9</pentabarf:event-slug>
            <pentabarf:title>Sprints</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20230925T090000</dtstart>
            <dtend>20230925T163000</dtend>
            <duration>073000</duration>
            <summary>Sprints</summary>
            <description>Sprints</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Main Stage Event</category>
            <url>https://pretalx.com/pyconuk-2023/talk/AJ8UT9/</url>
            <location>Assembly Room</location>
            
            <attendee>Mark Smith</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
