List of videos

Ivana Kellyerova - How to Avoid Becoming a 10x Engineer

"How to Avoid Becoming a 10x Engineer EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Ivana Kellyerova The internet has never failed at being, among other things, a giant treasure of unsolicited advice by random people on all sorts of things, programming being no exception. Wanna become a better coder? Learn to maximize your WPM (c). Never look at documentation because that's just embarrassing. And for crying out loud, change your screen background to black! So there you are, a fairly okay programmer, looking for ways to become better at coding. How do you achieve that? Well I'm no 10x engineer myself (thank goodness), but I do believe that there's a handful of things we can safely rule out. 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
Danny Engelbarts - And now for something completely different.

"And now for something completely different. [EuroPython 2019 - Talk - 2019-07-12 - Singapore] [Basel, CH] By Danny Engelbarts The goal of this talk is to show the audience a different way of thinking about and developing regex statements. I have been working with UNIX for decades now and, although i always managed to avoid Perl, i have been intrigued with Regex constructs ever since my first encounter. These weird unreadable things that can transform text like nothing else or can find what i’m looking for in massive files, in no time at all. I’ve created regexes that only appeal to the most nerdiest of nerds and i’ve stunned colleagues by fixing their futile regex attempts in just a few keystrokes. But when Damian Conway showed me how regexes really work i was awestruck. And now i want to share this knowledge. This talk is aimed at pythonistas that have some experience with the re module. I will take some easy examples and explain in plain english how a regex engine searches for a match. This will show that a regex is not some mysterious incomprehensible pattern description or declarative blueprint. Instead it is a small program that is very good at comparing single characters. Like any programming language it turns out that once you understand the rules and structure it suddenly becomes so much easier to use. With this new found knowledge we will up the ante and try some more difficult stuff, adding other semantics and some tips and tricks. We’ll look at some pitfalls, maybe compare regex to python solutions and have a look at some regexes found in the wild (either on my drive or on github). 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Justin Mayer - Zen of Python Dependency Management

"Zen of Python Dependency Management [EuroPython 2019 - Talk - 2019-07-12 - Boston] [Basel, CH] By Justin Mayer Ensuring reliably repeatable dependency installation has long been an unsolved problem for many Python projects. Pinning dependencies via setup.py and requirements.txt has historically been met with extra work and unexpected results, particularly when managing the dependencies of dependencies. Thanks to PEP 518, Python projects can now more easily manage dependencies via the new pyproject.toml file specification. In its wake, a number of useful tools have arisen that use this file to provide enhanced dependency resolution, including Poetry, Hatch, and Pipenv. Attendees of this talk will take home the following knowledge and skills: how to replace three files (setup.py, requirements.txt, and MANIFEST.ini) with just one: pyproject.toml why dependency resolution is hard and why it matters how Poetry, Hatch, and Pipenv differ and when to use each why one might use a less magical alternative: pip-tools how to use pipx to isolate system-wide Python tools 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Lennart Regebro - Moving big projects to Python 3

"Moving big projects to Python 3 [EuroPython 2019 - Talk - 2019-07-12 - Boston] [Basel, CH] By Lennart Regebro Next year Python 2 is no longer maintained. But you have a monster code base with clever tricks and libraries that don't support Python 2, and your data may be stored in a format that is hard to move Python 3. And that's the easy bit. This talk focuses on the process of moving, not the code changes. Because it's the process that is the hard part. How do you get your code in a state where it's ready to move? How do you get the whole team on the boat to Python 3? All Python 3 talks I have seen, including those I have given, and all the texts on how to port, including the book I wrote, focus on the code changes. With increasing backwards compatibility in Python 3 and forward-compatibility in Python 2, this actually became a lesser problem for big code bases. The extra issues of large, old code bases Can you stop adding features? (1 min) Separate team vs getting everyone on it (2 min) Python 2 compatibility: You need it (1 min) The steps Fix your development process (2 min) Replace old libraries, or take over maintenance and port them (2 min) Make sure your tests are solid (1 min) Run 2to3 but only backwards compatible fixers (2 min) Run tests on Python 3 to stop backsliding (4 min) Run all tests: Expansive or slow Store passed tests Detect tests that change Turning it off adds a lot of extra work Port all your little utilities and tool scripts (1 min) Fix fix fix fix (1 min) Add tests with Python 2 data, to test migration (2 min) You might need migration scripts Extra careful staging tests (1 min) Production: Try, fail, repeat (1 min) Clean the code up (3 min) 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Grzegorz Kocjan - Don't start with a database

"Don't start with a database [EuroPython 2019 - Talk - 2019-07-12 - Shanghai] [Basel, CH] By Grzegorz Kocjan What you do when you start a new project? Usually, we begin with database design, then we prepare a migration system, user registration, and all different stuff that distracts us from doing what is most important - business logic. With the clean architecture, we can learn how to start a project in another way and this will be one of two main topics of my talk. The second one will be about new features in Python. You probably heard about typings, mypy, and dataclasses, but I will show you how they can be used in real life project that can be developed over many years in production lifecycle. There will be no ""hello world"" app, no copy & paste of documentation, only practical knowledge learned through many years of practice. 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://ep2019.europython.eu/events/speaker-release-agreement/ "

Watch
Alessandro Molina - Python Standard Library, The Hidden Gems

"Python Standard Library, The Hidden Gems [EuroPython 2019 - Talk - 2019-07-12 - Boston] [Basel, CH] By Alessandro Molina The Python Standard Library is a very rich toolset, which is the reason why Python is stated to come with ""batteries included"". In such an amount of features and tools it's easy to get lost and miss some of the less unknown modules or gems hidden within the whole load of functions and classes. This talk aims at showcasing some recipes, snippets and usages of standard library modules and functions that are less known or that are not covered in the most common books and tutorials available for Python. The talk will try to showcase a bunch of short examples in the hope to foster the ""oh, wow! I didn't think about that"" reaction at least once in the audience. We will see how frequently for tasks where you used third party libraries or frameworks a solution bultin into the standard library is already available, and such solution is guaranteed to be maintained and well working for the years to come thanks to the standard library reliability and stability. The showcased examples are took from the “Modern Python Standard Library Cookbook” book that I authored. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Peter Bittner - Modern Continuous Delivery for Python Developers

"Modern Continuous Delivery for Python Developers [EuroPython 2019 - Talk - 2019-07-12 - Shanghai] [Basel, CH] By Peter Bittner Deployment automation, cloud platforms, containerization, short iterations to develop and release software—we’ve progressed a lot. And finally it’s official: Kubernetes and OpenShift are the established platforms to help us do scaling and zero downtime deployments with just a few hundred lines of YAML. It’s a great time. Can we finally put all our eggs into one basket? Identify the cloud platform that fits our needs, and jump on it? That could well backfire: Vendor lock-in is the new waterfall, it slows you down. In future you’ll want to jump over to the next better platform, in a matter of minutes. Not months. This talk is about The Art of Writing deployment pipelines that will survive Kubernetes, OpenShift and the like. It’s for Python developers and Kubernetes enthusiasts of all levels – no domain specific knowledge required, all you need to understand will be explained. You’ll learn how to separate application-specific and deployment-specific configuration details, to maximize your freedom and avoid vendor lock-in. Come see a demo of a Django project setup that covers everything from local development to automatic scaling, flexible enough to be deployed on any of your favorite container platforms. Take home a working, future-proof setup for your Python 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Dmitry Figol - Optimizing Docker builds for Python applications

"Optimizing Docker builds for Python applications [EuroPython 2019 - Talk - 2019-07-12 - PyCharm] [Basel, CH] By Dmitry Figol Do you deploy Python applications in Docker? Then this session is for you! We will start by reviewing a simple Dockerfile to package a Python application and move to more complex examples which speed up the build process and reduce the size of the resulting Docker image for both development and production builds. 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch
Andrei Neagu - Better WebSockets - Server-Sent Events, a carefree alternative

"Better WebSockets - Server-Sent Events, a carefree alternative [EuroPython 2019 - Talk - 2019-07-12 - Osaka / Samarkand] [Basel, CH] By Andrei Neagu Have you ever found yourself in a situation where you: - had to use WbSockets? - had to to create a separate project and had the issue of interfacing both? - had to handle disconnections? - had to handle reconnections? - had to handle all the above and scale WebSockets? If your experience was horrible (like mine was), we shall take a look at Server-Sent Events, an alternative to WebSockets. The following arguments will be discussed: - intro to the subject - inner workings - differences from WebSockets - implementation explanation for a generic HTTP server in Python - use cases 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://ep2019.europython.eu/events/speaker-release-agreement/

Watch