Program 21.09.2023
This was last year's program
Time | Content |
---|---|
08:00 – 09:00 | Registration |
09:00 – 09:10 | Welcome |
09:15 – 09:45 |
With the introduction of PEP 484 type annotations, Python has made a big step towards making
programs safer by statically ruling out type errors. But what if we go five steps further and
prove that our programs don't crash for any reason at all and, moreover, do what we want them to
do?
In this talk, I will give an informal overview about formal verification, what it is and what it can (and can't) do. I'll show how to use the automated verifier Nagini to express what a program is supposed to do and prove that it does. Marco Eilers is a postdoctoral researcher at ETH Zurich working on formal verification. |
09:50 – 10:20 |
In this talk, I am going to expand on my NormConf Lightning Talk “How to stop crying when using
Matplotlib” https://youtu.be/vjQIaepijbE . Matplotlib is my tool of choice for custom data
visualizations and I have been teaching it for the last 2 years in a dedicated course at HSLU.
It is an extremely popular data visualization library among the Python data science community
and often the only one that can produce fully customized, complex visualizations. However, due
to its long history, API changes and lack of good educational resources, many people struggle to
harness all its capabilities, ending up frustrated, dissatisfied and with an ugly chart as an
output.
I’m going to explain why Matplotlib works the way it works and how to work with it instead of against it. I will also show some tips and tricks for writing sustainable code and and share a few recipes for making beautiful, complex data visualizations. I am a senior data scientist at the ETH Zurich/ETH Library and a data science freelancer with Xurce AG. I am teaching Data Visualization for ML and AI at HSLU as an external lecturer. My focus is on advanced analytics, data storytelling and data product design. My websites: a crude blog http://www.pythonviz.blog/ and a personal website http://www.teresa-kubacka.com/ |
10:20 - 11:00 | Coffee break |
11:00 - 11:30 |
"Kivy makes Pythonistas happier". Why?
Cause with Kivy you’ll drop any non-pythonic way to develop mobile and desktop apps, or it’ll help you to start a new career in app development, with Python. We will talk about GUI apps development with Kivy while keeping a focus on all the tools in the Kivy ecosystem which are making it possible to create, build and distribute fully-featured apps on all the supported platforms (Android, iOS, Linux, macOS, and Windows). After the talk, you’ll know how to:
Before being a Software Developer, I have been (not so secretly) tech-addicted, especially when it came to computers. Now, a few years later, during the week I code everything (more happily if it comes to Python), and during weekends I help to maintain Kivy as I’m proudly part of the Kivy Core Developers team. When I’m not in front of my laptop screen, you can find me traveling (hopefully more, in future). I love to listen to EDM music while stuck in traffic or during open-air festivals. |
11:35 - 12:05 |
Did you know that Python has a compiler even though it’s an interpreted language?
In this talk, we will embark on a step-by-step exploration of a simple program, unraveling the inner workings of CPython—the default reference implementation of Python. We’ll begin with the compiler, which performs the task of converting Python code into OPCODES. Next, we’ll explore the famous interpreter. We’ll uncover how it works with the generated OPCODES, executing the program line by line and talk about an example of optimisations it does along the way. We’ll explore how Python manages variables, function calls, and exceptions. Additionally, we’ll touch upon object creation and destruction. The primary aim of this talk is to provide a concise yet comprehensive overview of the components involved in executing a simple program within CPython. Through precise references to the CPython code base, attendees will be equipped to explore further on their own." Sadhana is a math graduate from BITS, Pilani with a keen interest in programming. She pursued a career as a data scientist, focusing on accelerating clinical trials and recently delving into modeling the impact of companies on the climate. With 10 years of Python experience, she has spent the past 2-3 years exploring CPython. Passionate about her work and CPython, Sadhana enjoys sharing insights about her projects. |
12:10 – 12:40 |
Yes, folks, software documentation is important! So far, you’ve benefited from well-documented
Python libraries, so it’s only natural to document your own code in order to keep your software
usable and maintainable.
However, the first step is often the most difficult. Therefore, this talk will provide an introduction to documenting Python code effectively. You will learn about the basic concepts of Docstrings, the Sphinx documentation generator, and the standard lightweight markup language reStructuredText. You will also learn about the benefits of a docs-as-code approach in general, and find an answer to the question of whether Python can also be documented using other markup languages. Christian Heitzmann is a Java-, Python- and Spring-certified software developer with a CAS in Machine Learning and owner of SimplexaCode in Lucerne. He has been developing software for over 20 years and has been teaching and lecturing for over 12 years in the areas of Java and Python programming, mathematics, and algorithms, among others. Today, as a Technical Writer, he documents software architectures for companies and regularly writes articles for IT journals. |
12:40 – 14:00 | Lunch Break |
14:00 – 14:30 |
In an era where autonomous robots, such as Boston Dynamics' quadrupedal robot, Spot, are
capable of navigating complex environments, it is crucial to ensure the safety of an operator.
Traditional control mechanisms, such as a remote control, may not be feasible or safe in harsh
or hazardous conditions.
Addressing this, we present a novel Python-based voice control module for Spot.
Our module enables hands-free operation of the robot, allowing it to execute verbally issued commands. To enhance the interaction between an operator and a robot, we've integrated an additional text-to-speech synthesizer, establishing a two-way communication channel. Our solution leverages state-of-the-art Python libraries for speech-to-text translation and lightweight command extraction, which significantly extends the possibilities of interaction. As a result, Spot can perform basic tasks such as standing up or navigating to specific coordinates using only voice commands. This novel approach, promotes safety and efficiency in operating autonomous robots, opening up new possibilities for their use in challenging environments. Finished my BSc in Mechanical engineering at OST. Currently pursuing my master's degree in Mechatronics and Automation. The talk is a slight modification of my first Focus Thesis. |
14:35 – 15:05 |
Python is currently a powerhouse when it comes to web development. But, how did it all start? We
explore Python's humble web development beginnings, from CGI to WSGI and the eventual rise of
large frameworks like Django, and smaller ones like Flask and FastAPI.
Nafiul Islam is a Software Engineer, Speaker and Author. With more than a decade of development experience, Nafiul loves talking about developer experience and how to make it better. Nafiul currently works at Sonar as the Developer Advocate for Python. Previously, he worked at JetBrains and Microsoft. |
15:05 – 15:45 | Coffee break |
15:45 – 16:15 |
With the increasing popularity of large machine learning models capable of solving complicated
tasks in the sphere of natural language processing, computer vision, etc., the need for
distributed computation has rocketed significantly. We would like to provide the "surgery" of
parallelization methods from one of the most popular deep learning frameworks - PyTorch.
Particularly, we would like to demonstrate two main approaches: data parallelization (when the
single module is trained asynchronically in streams) and model parallelization (both horizontal
– with several models trained simultaneously, and vertical – when the model parameters are split
into groups). Moreover, we will guide through the cases of different resources availability,
i.e. what could be done when having only CPUs, a single GPU, or multiple GPUs.
Our showing is to be done on an example of urban planning problem solution, where we are creating synthetic cities with deep convolutional generative adversarial neural networks. These models have complicated architecture and billions of parameters when generating images starting from mid-resolution like 256x256, which makes them perfect instances for distributed computation demonstration.
Furio Valerio Sordini: MSc in Architecture & Data Sceince. Innovates the real estate industry at Implenia.
|
16:20 – 16:50 |
We are happy to introduce Lightning Talks to this year's conference! They are open to everyone 😊
If you are interested, please note the following:
|
16:50 – 17:00 | Closing |
17:00 – 20:00 | Social Event / Apéro |