List of videos

Francesca Tedeschi - The Phantom of Radon

"The Phantom of Radon EuroPython 2020 - Poster session - 2020-07-24 - Poster 1 Online By Francesca Tedeschi This project contains an open source Python library for image reconstruction in Axial Computed Tomography (TAC), based on the analytical Radon transforms of some classes of phantoms. The package is available on GitHub at the following address: https://github.com/francescat93/Exact_sinogram. The mathematical phantoms are fictitious images, composed of very simple geometric figures (ellipses, squares and rectangles) that, sampled with the Radon transform allows to build a fictitious signal, called (exact) sinogram. Using a phantom gives the advantage to test the reconstruction algorithm on a zero-noise data so the error we get is only due to numerical inaccuracies in the algorithm itself. We want to calculate two reconstructed images from the approximated and exact sinograms, obtained applying the iradon function of the Python library scikit-image on both of them. We expect a smaller error on the exact reconstructed image. This turns to be true on continuous regions, but near the discontinuities of the phantom the Gibbs phenomenon prevents us to obtain the same enhancement. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Camila Maia - ScanAPI

"ScanAPI EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Camila Maia In the current IT scenario, the use of APIs is, without question, widely vast, popular, and significant. It seems at least prudent to ensure they are working properly, as expected. To guarantee the quality of the data that is being consumed or used. To ensure that communication between services is occurring as expected. To ensure the system does, in fact, what it should do. ScanAPI is an open-source library that was created to solve all these points. ScanAPI provides an easy way to create integration tests for REST APIs via configuration files. The three main reasons that led me to the creation of this library were: ol To be a firefighter in a scenario where most of the reported bugs were directly related to some API contract being broken or some endpoint having a behavior different from that expected by the consumer. To need to deal with APIs with outdated or mistaken documentation. To need to debug an endpoint in the middle of a ""chain"" of other endpoints. Where I needed to recreate a state that depends on the action of other endpoints. /ol Given a fictitious example: debug an endpoint to reserve seats on an airplane, which depends directly on the previous call of an endpoint for user registration. The ScanAPI is open-source and written in Python. However, it can be used in APIs created in any other programming language, since the tests provided by it are integration tests. With ScanAPI you can: Use environment variables Create variables Chaining requests - making a request from a result of previous responses Hide sensitive information of the requests and responses in the generated report Write Python code - if you want, it's not necessary :) Topics I intend to address in this talk: Motivation to create the library What problems the library solves How to test an API using a ScanAPI Show the documentation generated by ScanAPI An overview of how it is implemented Where it is currently being used Next steps Project Link: https://github.com/scanapi/scanapi Prerequisites: - Python - REST APIs - Integration tests 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Siddha Ganju - 30 Golden Rules of Deep Learning Performance

"30 Golden Rules of Deep Learning Performance EuroPython 2020 - Keynote - 2020-07-24 - Microsoft Online By Siddha Ganju 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Guido van Rossum - Guido van Rossum Q&A

"Guido van Rossum Q&A EuroPython 2020 - Keynote - 2020-07-24 - Microsoft Online By Guido van Rossum 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Adam Hopkins - Overcoming access control in web APIs

"Overcoming access control in web APIs EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Adam Hopkins Great, you've developed a great web API. Awesome, you are about to deploy it. But, how do you secure it and manage access? Learn about different approaches to securing a web API whether it is meant for third-party integrations or driving a modern single-page application. Not all APIs are the same, so we will explore different considerations to make when crafting a solution to handle token-based authentication, and scoping to define access levels. As one of the core developers of the async web framework Sanic, I will primarily focus on authentication and authorization tools inside Sanic to showcase how to address these issues. However, the concepts should be broadly applicable enough to take back and apply to any web API. The goal is to learn the hot spots, and identify strategies to overcome them. Core take aways will include: - how to implement various JWT strategies; - best practices for storing JWTs on a browser; and - controlling access privileges using structured scopes. Time permitting, we will even discuss some tools to be used to help ease the anxiety and make security more approachable. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Lilian Nandi - Creating the Next Generations of Billionaires - Part 2

"Creating the Next Generations of Billionaires - Part 2 EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Lilian Nandi Our generation of young people in school (aged 5-18) have noticed the connection between Computer pRogramming, Technology, Success and Billionaires. On mass they are clamouring to master the skill of Computer pRogramming. It has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. So, governments worldwide have launched initiatives to have it taught in schools from Kindergarten to all the way to high school. So, how do we best teach and motivate the next generation in acquiring this skill? We describe a successful working model for the teaching of Computer pRogamming. We have been building upon this model for a couple of years now. Last year at EuroPython 2019 in Basel, we spoke about this subject and this year we would like to share more findings with the Python community about what we are learning about the teaching of Computer Programming to children and young people. The talk will describe a case study whereby computer programming (Python) was introduced to a group of 110 young people from the ages of 11 to 18, in a U.K secondary school. The talk will include descriptions of the various teaching methodologies & the outcomes; & the challenges involved. The talk will conclude with helpful suggestions, on how to proceed in this area. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Reuven Lerner - How to sort anything

"How to sort anything EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Reuven Lerner Sorting is one of those things that we take for granted in Python. The built-in ""sorted"" function knows how to sort any iterable of objects that are themselves sortable. But hiding behind that simple description is a great deal of depth. In this talk, I'll go deep into what it means to sort, and how we can sort any collection of Python data. We'll see how you can use custom functions to sort built-in data structures in new and interesting ways. And we'll see how you can design your own custom classes such that they will sort in just the way you want. After watching this talk, you'll have a better understanding of sorting, built-in data structures, function objects, and how ""magic methods"" affect the our Python classes. Moreover, you'll be able to write clearer, shorter, and more easily understood code. Topics I'll address in this talk: ""sorted"" and Timsort Sorting a list of simple structures Reversing the direction with ""reverse"" Custom sorting with ""key"" Stable sort Sorting a list of dicts Using ""lambda"" Using operator.itemgetter Sorting a list of named tuples Sorting a list of objects Making your object sortable The functools.total_ordering decorator This is an intermediate-level talk; I'll assume that anyone attending knows how to write functions, classes, and methods. 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
Mark Smith - Everything You Know About MongoDB is Wrong!

"Everything You Know About MongoDB is Wrong! EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Mark Smith MongoDB is webscale, right? It's a JSON database, it's eventually consistent, and you use map-reduce to query it. Oh, and it's insecure. Let me clear up some things: MongoDB is an ACID-compliant database with transactions, schemas & relationships. It includes a powerful aggregation query language; map-reduce has been deprecated for some time now. MongoDB doesn't speak or store JSON, and nowadays it comes with pretty good security defaults (we think). There are many myths around about MongoDB - what it is, how it works, and what it does wrong. Like any database product, you need to know its capabilities and how to get the best out of it. On top of this, the product has changed ema lot/em over the years, but lots of information out there hasn't caught up. I'll cover 8 myths around MongoDB, explain how they're wrong, why the myth originated in the first place (some of them weren't originally myths). What exactly emis/em MongoDB? What is the current release of MongoDB? MongoDB is emnot/em a JSON database. MongoDB emhas/em transactions. MongoDB allows relationships. You should only consider sharding if you emmust/em. MongoDB emis secure/em. MongoDB stores your data reliably. MongoDB is a big product, with lots to learn. Along the way, I'll explain some of MongoDB's best-kept secrets, and provide practical tips and tricks for using it. The audience will leave with a good idea of what MongoDB is, what it isn't, and how to best develop with 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch
J.M. Ortega - Python Memory Management 101

"Python Memory Management 101 EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By J.M. Ortega I will review the main mechanims for memory allocation and how the garbage collector works in conjunction with the memory manager for reference counting of the python objects.Finally, I will comment the best practices for memory managment such as writing efficient code. These could be the main talking points: -Introduccition to memory management -Garbage collector and reference counting with python -Review the gc module for configuring the python garbage collector -Best practices for memory managment 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://ep2020.europython.eu/events/speaker-release-agreement/ "

Watch