Python Conference 2022
We are very excited to welcome you in person to our Python Conference in Utrecht. If you are interested in the newest technologies, interesting subjects in the Python domain in general, would like to be inspired and meet other Python developers, please join us
When: April 5th, 2022
Where: Jaarbeurs Utrecht
Who: Python developers
The venue this year is at Jaarsbeurs Utrecht in the Media Plaza and Supernova conference centers. It is conveniently located next to Utrecht Central Station. But is also easily accessible by car. Click the "Location" button below for a detailed description on how to get to the venue.
14:00 - Opening
by Esther Roghair
14:05 - Trojan Source Malware - Can we trust open-source anymore?
by Cheuk Ting Ho
After researchers at the University of Cambridge published a paper about a malicious attack named Trojan Source, which exploited the fact that some program interpreters, like CPython, can handle Unicode. This has caused concerns in the open-source community about the malicious contribution that looks totally legitimate in human eyes but contains invisible attacks. As a member of the Python community, we should all be aware of that and understand how we can prevent this attack to happen.
In this talk, Cheuk will decode the finding in this paper to a level that can be understood by everyone. She will start with a joke example who you can mess up someone by using Unicode. She will explain what Unicode is and why it causes trouble. Afterward, she will explain the Python examples from the paper and why they can be dangerous. Lastly, she will open up a discussion on how we should defend ourselves from those attacks and what we can do as a community.
14:40 - MLOps
by Christiaan Lamers
Up to this day, when using machine learning in a project, the ad hoc approach is still taken. More often than not, data sets are not version controlled, results of experiments are lost and deployment of models is painstakingly done by hand. The result is that only 22 percent of companies using machine learning have successfully deployed a model.
MLOps addresses this issue by formalising a streamlined process. MLOps combines Machine Learning, DevOps and Data Engineering. It automates and streamlines the full development process of Machine Learning models from raw data to deployed models.
Various MLOps frameworks exist. This talk shows how such frameworks can be used in MLOps.
15:25 - Break
Drinks, snacks and chatter
15:45 - Useful collections in Python that you should know
by Laysa Uchoa
Containers are objects that store data. For example, lists and dictionaries are familiar containers, but Python goes beyond and offers us advanced containers from its collections module. These containers each specialize in a specific job. The collections module can be directly imported into your code as it is a Python built-in module
In this talk, we will learn some of the most common containers, such as deque, namedtuple, Counter, defaultdict and others. Let's learn how they can make your code easier to write and more optimized!
16:15 - Docker all the way
by Johan Vergeer
One of the promises of Docker is that you will work with the same configuration everywhere, whether it is during development, testing or a production deployment. Since each of these stages has their own requirements, they each come with their own challenges. How do you prevent having to do a rebuild of the Docker container after every change during development? How do you run your tests inside the Docker container? And how do you keep your Docker image for production as small as possible? All while having an environment in each of the stages that is as close to production as possible.
We’ll go through some examples step-by-step, starting with a very naive approach, moving to Dockers multi-stage builds to create full-blown containers for development, containers for testing and lightweight containers for production. Finally, we’ll learn how to leverage docker-compose to configure a database and a proxy using Nginx.
17:00 - Break
Drinks, snacks and chatter
17:20 - Identity and nothingness in Python
by Daniele Procida
As Python programmers, we’re blessed - we have several different kinds of nothingness and identity at our fingertips. There’s something rich, beautiful and mysterious in them. It’s the same richness and mystery that logicians and philosophers have discovered in those concepts. Programmers are in fact working with key ideas that are also crucially important to ontology, epistemology and metaphysics.
Knowing about these connections might not make us better programmers, but it can add another dimension to our understanding of the discipline, and make the joy of programming even deeper.
18:10 - Ugly Type Annotations Hint At Ugly Code
by Łukasz Langa
You got on the type hints bandwagon? You annotate your functions away but sometimes typing is just so annoyingly verbose, isn't it? Sure, it is, a little! But more often than not, it's not the type hints that are ugly. It's your code!
In this talk I'll be sharing some software design principles that long-time typing users grew with experience. I'll be showing a few common Python coding anti-patterns that result in overly verbose type annotations, and how to refactor them. Finally, we'll talk about a few deliberate limitations of static typing and why they're good for you in the long term.
19:00 - After-party
Take a sip and a bite, share impressions or just relax.
Manager of Pythoneers Business Unit at Ordina Software Development.
Cheuk Ting Ho
After having a career in data science, Cheuk now brings her knowledge in data and passion for the tech community into TerminusDB as the developer relations lead. Cheuk constantly contributes to the open-source community by giving free tutorials on Twitch and organizing sprints to encourage diversity contributions.
Christiaan is a Software Engineer at Ordina with a background in Computer Science. He is passionate about the new problem solving possibilities brought by Machine Learning and Data Science. Christiaan is a PhD candidate at the Natural Computing Group at the Leiden Institute of Advanced Computer Science (LIACS) and a fellow of the Norwegian research institute NORCE.
Laysa is a developer working towards a more diverse and fun Python community by organizing Pyladies Munich Chapter. Her passion for sharing knowledge and OSS has led her to work as developer advocate for Aiven. She help users understand databases and do cool things with them. Besides Python, she like cyberpunk movies, tea, and human languages.
Johan is a software engineer at Ordina Pythoneers Python and clean code. He maintains his own blog, teaches at Ordina, has presented at several meetups and is a content creator at Real Python. He loves to share knowledge and help other software developers.
Daniele is a Director of Engineering at Canonical. He loves: Django (core developer), documentation (creator of the Diátaxis documentation framework) and the pan-African Python movement (enthusiastic co-organiser of PyCon Namibia and PyCon Africa).
Łukasz is equally interested in music and software engineering, as a classically-trained pianist and a long-time contributor to the Python programming language. He builds software for musical instruments. Łukasz makes music as RPLKTR. He is also the Release Manager for Python 3.8 and 3.9 and the creator of the popular code auto-formatter Black. He is currently the only one Python Developer in Residence at the Python Software Foundation.