List of videos

Patrick Arminio - Django and Graphql
"Django and Graphql [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 1] [Rimini, Italy] The web is constantly evolving, that is even more true with the frontend world. You don’t have anymore the traditional webapp, in fact you now have two apps, backend and frontend. But how do they communicate? Traditionally we have always created REST APIs, but now, there’s a new player. GraphQL! 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
Peter Hoffmann - Infrastructure as Python Code: Run your Services on Microsoft Azure
"Infrastructure as Python Code: Run your Services on Microsoft Azure [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 1] [Rimini, Italy] Using Infrastructure-as-Code principles with configuration through machine processable definition files in combination with the adoption of cloud computing provides faster feedback cycles in development/testing and less risk in deployment to production. The Microsoft Azure Cloud (https://azure.microsoft.com/) allows different ways to provision, deploy and run your python service: The Azure Resource Manger Templates (https://azure.microsoft.com/en-us/resources/templates/) allows you to provision your application using a declarative template. With parameters, variables and Azure template functions, the same template can be used to deploy your application in different stages (dev, test, production) and environments for different customers. We open sourced the tropo library (https://pypi.python.org/pypi/tropo/) to create Azure Resource Templates from python. Azure SDK for Python (http://azure-sdk-for-python.readthedocs.io) for a low level access to manage resources in the Azure Cloud. An Azure Ansible Module (https://docs.ansible.com/ansible/guide_azure.html) based on the Azure SDK to automate software provisioning, configuration management, and application deployment in a single environment. Each of the alternatives has different strengths and drawbacks. Presenting our learnings from migrating our infrastructure into the Azrue Cloud will help to avoid common pitfalls and show deployment patterns that will ease the live of devops. 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
Sebastian Buczyński - Why you don't need design patterns in Python?
"Why you don't need design patterns in Python? [EuroPython 2017 - Talk - 2017-07-11 - PyCharm Room] [Rimini, Italy] Exactly 23 years have passed since release of one of the biggest IT classics - ""Design Patterns: Elements of Reusable Object-Oriented Software"". Contents of the book had considerable influence on dominant programming languages of those days. However, design patterns were not glorified by everyone. Voices of rational critic appeared, pointing out that design patterns are just ways to compensate for missing languages features by tons of clumsy code. If one implements design patterns in Python by the book, they will get code that looks awkward, at best. This talk is to present Python's features that either simplifies or eliminates need for implementing design patterns. Even if you don't know what design patterns are - don't worry. You still may see some new interesting Python's features and their usage. 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
Piotr Dyba - CyberSecurity.bootcamp()
"CyberSecurity.bootcamp() [EuroPython 2017 - Talk - 2017-07-11 - Arengo] [Rimini, Italy] Cyber-security is a critical part of all distributed applications. By understanding and implementing proper security measures, you guard your own resources against malicious attackers as well as provide a secure environment for all relevant parties. The purpose of the talk is to show starting points on how to improve security in python applications by destroying a few servers during the presentation. It will provide the most important information and will cover: Threat modeling Common attack vectors on Python applications. Why python is not vulnerable to some kinds of attacks. Why is eval so dangerous? Improving server deployment and security management. Automated security testing. Pentesting. Who is a CISO and why is cyber-security awareness in the company so important nowadays. Basic knowledge of networking, python and REST is advised. 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
Céline Boudier - Inspiring all children, a journey: diversity and computing education
"Inspiring all children, a journey: diversity and computing education [EuroPython 2017 - Talk - 2017-07-11 - PythonAnywhere Room] [Rimini, Italy] Do you remember when you wrote your first line of code? Do you remember who inspired you to become who you are when you were a child? But also, what the challenges might have been? I remember when I was a little girl with a strong interest in a lot of things, including science, and what and who helped me pursue an education and a career in science and technology. However, my journey in the industry from France to the UK, from software engineer student to team lead, from language processing to robots to online coding games, made me understand there is still a lot of work to be done in terms of diversity. I will talk about my own experiences, what shaped my dreams and inspirations, the reality check, and the project I’m now working on Code For Life. Code For Life is an initiative started at Ocado Technology in 2014, in response to the UK putting computing in the primary school curriculum. It comprises a small full time team and also a large group of dedicated volunteers who focus on creating free, open source games, mostly web games developed with Django, to teach all children how to program. We are all dedicated to inspire all children and give them the tools and opportunities they deserve. 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
Alberto Berti - Get over the boundaries between client and server in web app development
"Get over the boundaries between client and server in web app development [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 2] [Rimini, Italy] The practice in the development of advanced web applications is to break it into two main areas where the effort on the server, with the typical WSGI environments, focuses on data access configuration whereas the application logic is delegated mostly to the client through the use of JavaScript frameworks. The reason for this separation into two roles lies in the need to use JavaScript on the browser and the fact that the communication channel (HTTP) and the way in which the application state is handled on the server side is still that thought to serve full web pages. In this talk I'll show a framework and an application where the line between the two worlds is blurred and where it is possible to think of the application in terms of unity, with the two components that cooperate equally and communicate without thinking in terms of URLs or HTTP verbs . This is made possible by the asynchronous/reactive management of the processing from the database driver to the user interaction, the use of websocket for communication and the use of Python (optional) for the development of the client part. Some technologies used are: PostgreSQL, the ""asyncpg"" driver, the ""aiohttp"" web server, Crossbar (http://crossbar.io) for the websocket comms, pkg ""metapensiero.sphinx.patchdb"" for schema upgrades, the package ""metapensiero.reactive"" and ""metapensiero.signal"" for the management of reactive event streams,the package ""Javascripthon"" for Py3 to ES6 JS transpiling. 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
Michal Wysokinski - Running Python code in parallel and asynchronously
"Running Python code in parallel and asynchronously [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 2] [Rimini, Italy] My outline will be: 1) What does it mean to run code in parallel in Python? How does it differ from concurrency? Can they be applied at the some time? 2) GIL and why it complicates parallelism in Python (CPython), but only to some extent. 3) Difference between a thread and a process from the OS point of view. 4) When parallelism in Python is useful and when to avoid it. 5) Description of how to achieve parallel execution in CPython and how to do it properly. 6) Possible traps when using parallel programming in Python. 7) What happens if the code runs both in parallel and asynchronously? 8) Is it really beneficial? 9) How such execution can be achieved? As the outline shows I will focus on the parallel part as it is an important topic in our current time of multicore processors and multiprocessor systems. The topic has been discussed a lot of times but mainly from the scientific point of view, where it's been used for speeding up calulcations time. I will not go into these use cases (e.g. using MPI) but rather discuss it from web development point of view (e.g. multi worker applications). 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
Jan Willem Tulp - How to create inspiring data
"How to create inspiring data [EuroPython 2017 - Keynote - 2017-07-11 - Anfiteatro 2] [Rimini, Italy] Many times data visualizations need to communicate insights clearly and effectively. But sometimes the goals of a visualization go beyond that: they need to inspire and engage people. But how do you draw them in? What is the process behind creating a creative data visualization? During this talk, I will show some of my projects, and explain a little about the process behind it. Peter Hoffmann - Infrastructure as Python Code: Run your Services on Microsoft Azure "Infrastructure as Python Code: Run your Services on Microsoft Azure [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 1] [Rimini, Italy] Using Infrastructure-as-Code principles with configuration through machine processable definition files in combination with the adoption of cloud computing provides faster feedback cycles in development/testing and less risk in deployment to production. The Microsoft Azure Cloud (https://azure.microsoft.com/) allows different ways to provision, deploy and run your python service: The Azure Resource Manger Templates (https://azure.microsoft.com/en-us/resources/templates/) allows you to provision your application using a declarative template. With parameters, variables and Azure template functions, the same template can be used to deploy your application in different stages (dev, test, production) and environments for different customers. We open sourced the tropo library (https://pypi.python.org/pypi/tropo/) to create Azure Resource Templates from python. Azure SDK for Python (http://azure-sdk-for-python.readthedocs.io) for a low level access to manage resources in the Azure Cloud. An Azure Ansible Module (https://docs.ansible.com/ansible/guide_azure.html) based on the Azure SDK to automate software provisioning, configuration management, and application deployment in a single environment. Each of the alternatives has different strengths and drawbacks. Presenting our learnings from migrating our infrastructure into the Azrue Cloud will help to avoid common pitfalls and show deployment patterns that will ease the live of devops. 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
Anand Chitipothu - Writing Beautiful Code
"Writing Beautiful Code [EuroPython 2017 - Talk - 2017-07-11 - PyCharm Room] [Rimini, Italy] Writing code is hard. Writing beautiful code is even more so. How to write code that is pleasant to read, easy to understand and joy to maintain? Simple things like using right variable names, avoiding to much nesting, using white space and comments etc. makes a lot difference to readability of the code. Even though these things look very simple, even experienced programmers find it hard to put them in practice. In this talk, I’ll try summarise the age old wisdom of writing beautiful code and explain those ideas using practical examples written in Python. 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