List of videos

Radoslav Georgiev - Practical Debugging - Tips, Tricks and Ways to think
"Practical Debugging - Tips, Tricks and Ways to think [EuroPython 2017 - Talk - 2017-07-14 - Arengo] [Rimini, Italy] When we write code, oftentimes things are not working as expected. We followed the tutorial and yet we got an error. We introduce a new feature but something else broke. Having to deal with bugs is inevitable. Trying to ""debug"" what happened or what caused the problem can be really frustrating and timewasting. The aim of this talk is go give ways to think & steps to take when we are faced with the process of debugging. The language for the examples is going to be Python & the tools used - from the python ecosystem. The talk will be practical, with a lot of real-world examples. The goal is to cover the following scenarios by showing different ways to approch the problem: You followed a tutorial but it's not working. What to do? You introduce new feature but things broke somewhere else in the project. What to do? You are using a popular 3rd party library but something breaks. What to do? A bug occurs and you have no idea what or who caused it. What to do? You can't fix or find the bug. What now? You want to generalize your debugging skills. How to do that? We will be talking about critical changes, binary search, problem isolation, interactive debuggers, printing, testing, greping and other interesting things. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Mark Shannon - Finding bugs for free: The magic of static analysis.
"Finding bugs for free: The magic of static analysis. [EuroPython 2017 - Talk - 2017-07-14 - Arengo] [Rimini, Italy] Overview Static analysis is a powerful technique for improving the quality of software. It allows you to find bugs in your Python code without any the need for any annotations. At lgtm.com we provide state-of-the-art static analysis for a number of languages including Python. Our Python analysis can find bugs without the annoyance of many false positives. We have already found bugs in the standard library, requests, numpy and many others. In this talk I will briefly describe what static analysis is, how it can be useful to you, and then give an overview of the techniques we use. Intended Audience This talk is aimed at all Python developers, although I expect that those who have used pyflakes, pep8, pylint or mypy in the past will find it the most accessible. I hope that this talk will inspire developers to start using static analysis tools (hopefully ours) and to produce better code as a result. I will assume that the audience knows Python well, but knows little or nothing about static analysis. (lgtm.com is a commercial project that is free to use for open-source software) License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Ben Nuttall - Physical computing with Raspberry Pi and Python
"Physical computing with Raspberry Pi and Python [EuroPython 2017 - Talk - 2017-07-14 - PythonAnywhere Room] [Rimini, Italy] The Raspberry Pi Foundation is working to put the power of digital making in the hands of people all over the world, and is well known for its series of small, cheap single board computers. The Raspberry Pi runs a well supported Linux distro based on Debian, which ships with a variety of programming tools and educational software. Python is the main supported language on the platform, used in many educational resources, and many Python libraries exist for making the most of the Pi platform with other devices. I will cover: Raspberry Pi Foundation mission Raspberry Pi hardware specs Raspbian desktop GPIO pins GPIO Zero (Python library) Picamera Astro Pi (ESA space mission) & Sense HAT More HATs Pi projects Raspberry Pi community License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Wilhelm Van Der Walt - Lessons learnt building a medical chatbot in Python
"Lessons learnt building a medical chatbot in Python [EuroPython 2017 - Talk - 2017-07-14 - Anfiteatro 2] [Rimini, Italy] ""To put an accessible and affordable health service in the hands of every person on earth."" Thats our mission at babylon. Leveraging the powers of AI, python and micro services we took a step towards that vision by building a medical chatbot that we shipped in November last year. In this talk I would like to share with you all the things we learnt in the process. This talk is our story. Its a story that starts with an idea and meanders through the dark and dangerous land of things like Graph databases, machine learning and async programming in python. The story is far from over, but we have come to a point where we would like to reflect and share with the community all that we have learnt. More specifically I will cover: - Architecture decisions we made and why we made them - lessons learnt doing async in python at scale - testing chatbots - clinical governance and safety (literally 2 sentences, I promise) - The drawbacks of REST - Why I am glad we did most of it in Python And then of course some time for questions at the end :) License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
EuroPython 2017 - Closing Session
Closing Session [EuroPython 2017 - - 2017-07-14 - Anfiteatro 2] [Rimini, Italy] License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Enrico Carbognani - A robotic platform for natural and effective human-robot interaction
"A robotic platform for natural and effective human-robot interaction [EuroPython 2017 - Talk - 2017-07-14 - Anfiteatro 1] [Rimini, Italy] This talk deals with the usage of artificial intelligent techniques in humanoid robotics. The focus is on human–robot interaction with the goal of building a robotic platform which embodiments are able to interact in natural and effective way with humans through speech, gestures, and facial expressions. The system is fully implemented in Python and based on the Robotic Operating System (ROS). The talk will describe the hardware and software configuration of our currently NAO based humanoid platform. The strategy has been to use available high level Python libraries for spoken language processing, sentiment analysis, vision, interfacing with Artificial Intelligence applications in order to provide current edge technologies performances. The overall system architecture is based on finite state machines nodes interacting via the ROS communication layer. The main fields of applications that the platform is targeting are: - Entertainment - Education - Field robotics - Home and companion robotics - Hospitality - Robot Assisted Therapy (RAT) We will present the latest status of the platform together with a NAO based demo. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Thomas Kluyver - Jupyter notebooks for teaching and learning
"Jupyter notebooks for teaching and learning [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 1] [Rimini, Italy] The Jupyter Notebook (formerly IPython Notebook) has been used to support learning in different scenarios, including taught courses, self-directed learning and reference material such as software documentation. People have used it to learn how to program, and to learn about diverse subjects where computer code is important to human understanding. The aim of this talk is to dive into where and how notebooks can be used most effectively for education. I will first describe notebook-based learning material created by a variety of people for different purposes, deliberately taking a broad definition of ‘education’, along with my own experiences using notebooks to teach Software Carpentry sessions and conference tutorials. I’ll pull out both strengths and limitations of notebooks as an educational tool to explore how they can be used most effectively. In the second part of the talk, I’ll talk about several extra software tools which can make the notebook more valuable in educational settings, including Jupyterhub, with which a teacher can provide notebook servers for a group of students, nbgrader, which allows notebooks to be used as assignments, and cite2c, which can insert academic citations into notebooks. I’ll also touch on commercial offerings integrating the notebook, such as SageMathCloud. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Justin Mayer - Replacing passwords with multiple factors: email, OTP, and hardware keys
"Replacing passwords with multiple factors: email, OTP, and hardware keys [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 1] [Rimini, Italy] Passwords have formed the cornerstone of I.T. system authentication for decades, but recent high-profile breaches have underscored the risks of password-based authentication systems. The good news is that we can replace passwords with other factors: email-based authentication one-time passwords (OTP) hardware keys (Yubikeys/U2F, etc.) These factors can be used independently or in conjunction with one another to provide vastly greater security than the traditional username-plus-password combination. Attendees of this talk will walk away with a detailed understanding of: why the traditional username-plus-password combination is failing us why email-based authentication provides no less security overview of one-time passwords and TOTP how to store/retrieve OTP codes, including password manager support state of hardware keys in general, and FIDO U2F standard in particular Attendees will learn how to implement these multi-factor authentication methods in their own Python-based web applications, with primary focus on methods for integrating email-based authentication, one-time passwords, and U2F hardware keys into Django-based projects. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch
Elizaveta Shashkova - Debugging in Python 3.6: Better, Faster, Stronger
"Debugging in Python 3.6: Better, Faster, Stronger [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 1] [Rimini, Italy] Python 3.6 was released in December of 2016 and it has a lot of new cool features. Some of them are quite easy for using: a developer can read, for example, about f-strings and they can start using them in their programs as soon as possible. But sometimes features are not so evident, and a new frame evaluation API is one of them. The new frame evaluation API was introduced to CPython in PEP 523 and it allows to specify a per-interpreter function pointer to handle the evaluation of frames. It might not be evident how to use this new feature in everyday life, but it’s quite easy to understand how to build a fast debugger based on it. In this talk we are going to explain how standard way of debugging in Python works and how a new frame evaluation API may be useful for creating the fast debugger. Also we will consider why such fast debugging was not possible in the previous versions of Python. If someone hasn’t made a final decision to move to Python 3.6 this talk will provide some new reasons to do it. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/
Watch