PyCon UK 2019
Friday Introduction
Coming soon...
A collaboration between the Raspberry Pi Foundation and the European Space Agency put two Raspberry Pi computers augmented with sensor boards and camera modules on the International Space Station in 2015.
Let's write a (tiny but working) Neural Network library from scratch!
Well, almost from scratch, we will still use NumPy
.
And we will try to do it in less than 1000 lines of code.
Small workshop how to build your first api's using flask restplus. Hands-on! Please make sure you have python 3.6+ and pip installed!
This will be the link to the workshop code: https://github.com/wbbraam/pyconFlaskRestplus
A hands-on tutorial for people who want to start learning about and integrating search & discovery into their apps.
A visit to Her Majesty's Prison, Cardiff
By engaging in the revolution of AI and deep learning, reinforcement learning has also evolved from being able to solve simple game puzzles to beating human records in Atari games. It has also opened up the possibility of using reinforcement learning in making real life decisions.
We build services, potentially used by millions of people. And despite all the testing we do, some interactions with these services will not work out the way we hope. Wouldn’t it be great to reconstruct what let to a problem and analyze if the problem occurred at other times?
Keyboards, the main way we interact with computers, have remained unchanged for a century, despite being free from mechanical necessity. Alternatives made possible by recent technology can optimize the way we input text and interact with our devices.
You are a robot tasked with mapping a maze, but a lot of these rooms look weirdly similar. What do you do? A light hearted introduction to some neat algorithms.
How can you help Pythonistas learn a new code base more quickly and level up their Python skills? One way is with a 'code walk' — talking through a code base while reading the code together. I will talk about how I like to structure a code walk and its benefits.
Modern ventilators generate large amounts of pressure and flow data that clinicians cannot realistically monitor over long periods of time. A toolkit for segmentation and extracting breath-wise features would provide a means for summarising this information and investigating the relationship of different ventilator and patient characteristics to individual breaths.
Programmers have plenty of powerful, flexible libraries – and yet we often end up reinventing the wheel. Why? Because they’re not reusable – code gets trapped by its I/O model.
In this talk, we’ll look at the benefits and techniques for writing “sans I/O” code.
A common misconception is that traditional frameworks such as Flask and Django are incompatible with asynchronous web servers. In this talk I'm going to show you how to write an asynchronous web application using Flask.
In this talk, we'll discuss the advantages and disadvantages to a static type system, as well as recent efforts to introduce static typing to Python via optional "type hints" and various tools to aid in adding types to Python code.
Since all software dev teams are under-resourced, let's see how to get pretty good "living" docs with as little effort as possible. These allow the API to be used directly from the docs. We'll look at a real open source app built with Flask, Swagger and SwaggerUI.
The Quartz engineering team at Bank of America hosts one of the world's largest python codebases. Changes in core components of the platform can have high impact.
Let’s talk about our experience with Celery and intentions to switch to RQ which failed. We’ll show our setup of larger apps than the ones presented in doc examples together with useful tips&tricks on the orchestration of such apps.
While the best code is no code at all, we do need to deal with the rest of it
Is it ever worth committing coding sins for the greater good? We'll look at techniques which can make your code easier to use at the cost of being harder to maintain, and when the effort is worth the reward.
This talk will cover a range of topics around a tool I have built to enhance work sessions with my dog.
Let's talk about functions, methods, callables and closures - what they are, what you can do with them ... and what's inside.
Afterwards you'll know more about callables, along with techniques both practical and so extreme your colleagues will never let you merge them to master.
This talk aims to break down Regular Expressions to their base concept as finite automata.
Attendees will leave this with an understanding of the theory of Regular Expressions,
allowing them to better understand and construct complex regexes.
No prior knowledge of regexes or finite automata is required.
Help with laptop setup for DjangoGirls workshop
Many of us can recite the advantages of well factored code, yet in practice it is easy to let standards slide. This talk explores the mindset one should adopt to have a well factored codebase, complete with examples of how this looks in practice.
So often, our tests are much harder to understand than the rest of our code. This is a shame! Find out how to write tests that act as living documentation from which you can gain deeper understanding of your system.
Lightning talks.
Not a screen or keyboard in sight!
Saturday Introduction
We will be making anagrams and playing with our friends as a game
A hands-on workshop building a simple barometer which can be used to predict the weather. We will use a Raspberry Pi and the SenseHat to make a mini weather station to not only look at the current weather but to predict the weather ahead.
To run a Django Girls workshop in line with the Django Girls organiser's manual for up to 60 women/non-binary attendees apply online via our website (https://djangogirls.org/pyconuk/).
In this talk, I will be discussing three lessons about leadership that I learned during my time chairing Pycon Africa 2019. I will also be sharing how personal and group identity played a consistent and significant role throughout the process.
This workshop utilises rovers used in Software Cornwall's work experience.
Depression affects a surprising amount of people, and despite the common belief that your personal issues shouldn't come to work with you, it does. This talk will touch on what depression is, how it affects someone's life and ways to communicate with someone who suffers from it.
This session will be an exposition of data wrangling with pandas and machine learning with scikit-learn. It will cover a classification project, from importing the data to evaluating model performance.
This hands-on workshop is aimed at a "beginner" Data Science audience (but small experience in python is preferable).
Django REST Framework “… is a powerful and flexible toolkit for building Web APIs.” This workshop will give you a overview so you can get started your own APIs, and you can explore just how powerful it is.
How do you write a talk? In this practical workshop you will find out. You’ll receive some guidance, techniques and principles, but there will also be time to prepare a lightning talk and present it.
Python is very well established in Secondary School Computer Science lessons but it also has a wider appeal across the whole curriculum. Join my journey in introducing Python across different areas of a secondary school curriculum and how it helped a school with no IT and CS teachers.
What is encryption? How does it work?
Understanding geometry and python can be learnt alongside.
The best advice I've been given on technical communication is "understand what you want to achieve before you think about what you want to say". I'm going to discuss why I think this is important, with examples ranging from planning meetings to writing documentation.
The OpenFlexure Microscope is an open-source, 3D-printed motorised microscope targeted towards medical applications in sub-Saharan Africa. This talk will introduce our work with local innovation hubs, research institutions, and clinics to develop control software that encourages contributions across all communities, from school pupils to professors.
What is a good software architecture? Why should we bother structuring the code and spending time testing it? The clean architecture is a good way to structure an application to make it easy to develop, debug, maintain, and change.
Extracting tables from PDFs is hard. The Portable Document Format was not designed for tabular data. Sadly, a lot of open data is shared as PDFs and getting tables out for analysis is a pain. Camelot and Excalibur can help you extract tabular data fr
Write a program for the Raspberry Pi Sense HAT and send it to space!
Making a pokemon style monster generator and evolver using turtle
We all have a code style. We all have opinions how code should look. We all seem to love (and hate) having long arguments about which code styles are better. What if there was a way out of the bikeshedding?
Looking to deploy Python code on AWS Lambda? Getting started with serverless can be a bit daunting at times with creating the functions, configuring them, configuring api gateways and what not. In this talk you will learn about the magic of rapid serverless api development using AWS Chalice.
On my poster I’ll do a tour of libraries available for visualising data using Python by showing and discussing examples.
The NeXus data format provides a way of describing neutron, muon and x-ray experiments. In this poster we illustrate how our NeXus Constructor tool utilises Python and Qt in order to allow programming-unsavvy researchers to visualise and modify the contents of these files with minimal assistance.
In most of the systems, collecting data is not always free. In this poster session, I will show an approach for a matrix completion problem that learns a distribution of data where information is incomplete or collecting it has a cost.
Creating graphical user interfaces (GUI) with Python. Connect up LEDs and Buttons to your GUI and make it control your world.
Hackathon for intermediate track of the children's day
The demand of data science is huge and employers are investing significant time and money in Data Scientists. During this talk we will share our experiences, and provide a survival guide to help get you started in your data science career.
Come and witness the live action video game of a graduate software developer’s journey. But not just any graduate. This is Tom, dev_on_wheels!
Test-Driven Development is a methodology that can greatly improve the quality of your software. I strongly believe that developing software without following as much as possible a test-driven approach leads to massive delays and greater issues when requirements change (always, that is).
Take what you learned and use it to build a project out of electronics, arts and craft
It's not about what you know it's about what you can do
Writing code that looks nice can be hard. Why do we need nice looking code anyway? In this talk I'll give you a tour of PEP 8 (The Style Guide for Python Code) and show you how you can force yourself to write code that looks nice.
Get ready to present your project on the main stage
We are exposed to the use of statistics in everyday life, but it is quite easy to fall victim of statistical fallacies. This talk will help you recognise these fallacies, so you can protect yourself from the misuse of statistics, ultimately becoming a better citizen.
Children's Day Show and Tell
Annual General Meeting of the UK Python Association
Lightning talks
Conference Dinner
Sunday Introduction
Python community cares about diversity. So do we still have a problem in, especially gender, diversity? We will look at some data and see if there’s a true problem, discuss what the problem may be and how to fix it.
Selenium WebDriver is a popular open-source cross-platform browser automation framework. This workshop will cover using Selenium to create automated tests, including topics such as object identification, adding verifications and synchronisation, parameterising a script, creating a page model
A practical, hands-on introduction to containerised web deployment for Django developers who would rather just create applications.
This talk will demonstrate how deep learning can be used to identify a deep learning framework such as TensorFlow or PyTorch that would best help a developer build out deep neural networks based on how they write and the problems they solve.
Do you have a hardware project you'd like to showcase?
From tiny to massive, everything and everyone are welcomed!
An open session for any conference attendee to bring their hardware projects.
Don’t have anything to show? Come around at anytime to check it out!
This tutorials is a practical introduction to topic modelling in Python, tackling the problem of analysing large data sets of textual data, in order to identify topics of interest and related keywords.
When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.
But how do they scale in the "real" world? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?
How can using a competition specific library enhance the learning of beginners in programming and what to keep in mind when developing one?
Let's learn about virtual environments - why it's useful, how it works, getting started.
Mutability is a common GOTCHA for new pythonistas. So where is it a good idea to use mutability? And more importantly where is it a bad idea?
When googling "python micro-service framework", there are plenty of "Hello world" examples out there for many (micro-)frameworks.
But how do they scale to "real" world applications? How can I connect framework X to a database or what do you need to do to use OAuth2 with framework Y?
From the team that makes Plotly, Dash is a library for producing interactive web apps with Python. This talk introduces Dash and will discuss how it may fit into your team!
Uncovering Twitter troll armies by monitoring and analyzing millions of tweets using Python to identify suspicious entities that intended to skew online conversations and spread misinformation.
Packaging Python code is a thorny area, but it's getting better.
PEP 517 is a dry, technical specification for an important step:
allowing packagers to choose alternatives to setuptools.
I'll talk about how projects can take advantage of this, and the
fun of writing your own packaging tools.
Have you ever wondered how Python’s dictionaries work behind the scenes? For the curious minds: we will unveil some of the magic, things ranging from performance to security, and some surprises. For the pragmatists: we’ll see cases where understanding the internals can have practical applications
Now we can talk to our gadgets as if it’s a real human. It makes you wonder when you chat with the “customer service” online, is that a real person or a robot on the other side? I built a chatbot, and here’s 3 things that I discovered.
An introduction to the Jetson Nano Developer kit by a data scientist
Jobs Fair
Blue Dot is a bluetooth remote and Python library to allow anyone (from new learner up) to remove the wires from their Python project.
This talk is an introduction to the mock object library along with a detailed discussion on common pitfalls associated with patching objects with mocks and the best practices for it. The talk would present code examples, common pitfalls, and best practices to demonstrate how to use mocks effectively.
Python is growing quickly partly due to its popularity in the data science and machine learning community. Python's flexibility is well suited to new statistical frameworks such as deep learning which are successful because they are modular. This is the story of the success of python in deep learning.
This talk will describe my experience of leaving academic research to become a Research Software Engineer (RSE). As an example of the kind of work RSEs do, I’ll describe a recent project that used Django, a REST API and a mobile app built with Ionic.
As part of the Development Consent Order submission for large infrastructure (Highways scheme), a book of reference needs to be submitted. The user previously needed to export spreadsheets from a database and populate the document manually. We have automated this process on a jupyter notebook.
Dependency Injection in Python is commonly seen as over-engineering, but I think this is a myth. DI is simple and powerful and can yield great benefits to the overall quality of your code.
We have designed Pomelo, an interactive robot that teaches algorithmic thinking through collaborative tasks and games. With Pomelo we aim to drag the interest of young children into programming both in and outside of classroom environments.
Lessons learned from teaching Python; or why learning to program is surprisingly hard, even with a language as simple as Python.
When you start a new project, typically the choice between a big framework like Django and a microframework like Flask comes up. This talk will show you that the difference is not as big as one might think and that Django is suitable for projects of all sizes.
This is a tour of Matplotlib that starts with a gentle introduction involving simple plots like bar charts, line graphs, etc. and ends with fun stuff like XKCD-style plots. During the talk, we will see the popular techniques to customize the plots with axes, grid, labels, legends, spines, etc.
Many developers will eventually make the choice of becoming a manager, the goal of this talk to help them make that decision.
What comes next after Django and it's Django REST Framework? This talk shows how to build a simple REST API for a database from the ground up using FastAPI.
Organizations with digital products that lack even the most basic data security practices are living in a utopian world where people leave their safe open and never expect a burglar to walk in.
Lightning talks
A Python Code Dojo, based on the long-running London Python Code Dojo series.
Monday Introduction
History is full of weird events. Because we're human (and weird), these events tend to have their reasons in social dynamics that are still around today.
Reproducibility and collaboration are difficult aspects of any business-based analytics, speaking from personal experience, where a project is likely shared between a technical analyst and a business analyst. This talk aims to show examples of how this can be improved through aspects of the Python / R toolset.
We'll create a full-stack web app using Anvil. Anvil is a platform for rapidly developing and deploying web apps using Python on the client and server side. It's like Visual Basic for the web.
You’ll need a laptop to follow along.
Interested in programming hardware with MicroPython or CircuitPython? This drop-in workshop will help you to get started. We will have a range of activities for you to try, ranging from complete-beginner-friendly to more advanced topics. Come by and get started!
Make your own interactive fiction game using Ren'Py
The Fallacy of Meritocracy
Python, being dynamic and not type safe, is hard to write securely. Vulnerabilities such as injections, XSS, CSRF etc. are hard to find through static analysis tools. This talk is a comprehensive guide on how to write secure code in Python and also how to catch bugs.
I present an ultra-cheap (€12.50 for all parts, including a Raspberry Pi) Python-powered drawing machine, constructed from cardboard, assembled using basic tools and glue.
Have you ever been curious about how device drivers control the hardware in your computer, phone, or IoT widget? Have you always thought you would needed to learn C or other low-level language to write a driver? Thanks to MicroPython we can control the physical world with Python code!
In Wargaming we make real-time high load apps with python. Here I’d tell you some issues which might appear when using it for real-time apps with some examples.
I'll apply PubSub to collect data in real-time from TCP-enabled peripherals, like Arduino or others, and deliver them to a data server for storage, processing, and broadcasting to remote clients (typically smartphones or tablets) for real-time monitoring and inspection
How to automatically identify, and describe, interesting patterns in timeseries data, such as trends, change-points and periodic behaviour.
Do you find programming with asyncio
daunting? Are you wondering how you'd build a real-world network-connected service with this and not die trying? In this talk I want to share some best practices and tips to help you create reliable, maintainable applications using concurrency.
This talk presents a project that uses an API of the Brazilian government to retrieve data from congresspeople and expose how they are spending people's money. I use Pandas to manipulate the data and, Lektor and Chart.JS to create a website that makes this data accessible and comprehensible.
My talk will focus on Version Control Systems (VCS) for big-data projects. With the advent of Machine Learning (ML) , the development teams find it increasingly difficult to manage and collaborate on projects that deal with huge amounts of data and ML models apart from just source code.
Adversarial samples and poisoning attacks are emerging threats to the security of AI systems. This talk demonstrates how to apply the Python library Adversarial Robustness Toolbox (ART) to create and deploy robust AI systems.
You don't have to write JavaScript to write front-end code. There are a lot of options to run Python in the browser. We'll look at how this is achieved - there's more than one way to do it!
Software development is entering an era where the behavior of programs critically depends on the data they were trained on. In this setting, data is the new source code, and this opens the door to challenges like versioning and collaboration on numerical data. Hangar, git for your data
Do you have confidence in your data without painful explicit checks? Use types in your code - attrs is a smart solution to make life easier.
Lightning talks
Tuesday Introduction
Get together to talk and work in person
Trans*Code is for trans* people, LGBTQAI+ and allies who want to draw attention to issues facing the transgender community and women. Participants drawn from all skill levels and backgrounds are welcome.