Program 2022
Time | Content |
---|---|
08:00 – 09:00 | Registration + Coffee (open until 09:15) |
09:00 – 09:15 | Welcome |
09:15 – 10:00 |
I want to talk about my experiences as a woman of color just starting out in tech and the importance of being kind and welcoming to people from minority communities and how it helps them stick around in tech.
Mahe is a Software Engineer at Anaconda. Mahe wasn't particularly passionate about programming or software until she accidentally became a part of the Python community and in the process met brilliant people who were kind and warm to her, she eventually decided to stick around and accept the Python Community as her home.
|
10:00 – 10:40 |
What programming language are you choosing for a new project? This talk wants to explore why we choose a programming language over another one. We will look
at the languages Python and Rust to understand their strengths and weaknesses.
Rust is a fairly new language and offers distinct advantages over most other programming languages when it comes to performance and security. There are however clear drawbacks. We will look at side by side comparisons of code and learn how much harder it is to write a lot of simple things in Rust. Dave has been programming Python/JavaScript/TypeScript/Go at cloudscale.ch for the last seven years. He has created an Open Source autocompletion library called Jedi (420m downloads) that is available in most editors as well as IPython. To improve the performance in Jedi, Dave has spent the last two years rewriting Jedi in Rust. |
10:40 – 11:10 | Coffee break |
11:10 – 11:40 |
Have you ever deployed a machine learning project to production with the same principles as a software project? I did - I failed. But, on the way, I learned many essential factors to run ML in production environments successfully! So there is more to it than just deploying a data scientist Jupyter notebook to AWS.
This talk will go through some common pitfalls of running machine learning in production settings. We will start with the requirements and work through the data acquisition and model-building phase. We explore beyond the current MLOps hype and try to understand what it takes to run a successful project that is ready to ripe like a fine wine rather than old milk. Martin works as the vice-dean of studies for the post-diploma degree in “Machine Learning for Software Engineers” at the Ostschweizer Fachhochschule in Rapperswil. Over the past fifteen years, he has worked in multiple software industry engineering positions and applied research. He is passionate about Machine Learning and Software challenges “beyond CRUD”. |
11:40 – 12:10 |
As a DevOps engineer, when you write Python code, do you also write tests? If you're like the majority of the folks out there, chances are you don't. Why would you? It's usually just a script, even if it gets longer over time and starts feeling like Bash. – Deep inside you know that writing tests would be needed. It's the prerequisite for test automation, the foundation of release automation. But heck, who cares? It would be cumbersome to do.
You write scripts for your automation tasks – Python makes it easy to get started – and you have noticed that they get hard to maintain when they grow and accumulate logic? Sometimes you split up a large script into several files, but that feels like spaghetti code? Several plates of spaghetti. This talk explains why it makes sense to stop hacking glue code and start developing serious CLI applications, test-driven, with automated tests. Even if you have some experience with writing tests, it's not immediately obvious how to get started. You'll get to know the cli-test-helpers package and see a hands-on demonstration of developing a CLI application from scratch, TDD-style. We'll scratch the surface of some popular CLI frameworks (argparse, click, docopt), and you'll take home working code samples that will help you refuse the temptation of writing code without tests, in future. This talk will make you a TDD addict. Come get the drug! Peter is a Python developer, DevOps engineer and Agile coach. A developer of people, companies and code. |
12:10 – 12:40 |
Config management in larger applications can become quite complex: Information needs to be loaded from different sources like environment variables, config files and command line arguments, the loaded data needs to be validated to ensure all expected information is present and in the correct format and then distributed to different locations in the codebase. This holds true especially in data science projects, having rich model and training configurations.
To simplify this process, we developed and open-sourced ConfZ, a config management library for Python based on pydantic. It easily allows to load config values from heterogeneous sources, validates them and makes them accessible as Python dataclass-like objects with full IDE support. It furthermore supports in common use cases like having multiple environments, lazy loading and unit testing. Within two months, we already reached more than 100 stars on GitHub. In this talk, we show how ConfZ is used and how it compares to other config management solutions. We then dig into the pythonic details and see how meta classes drive the internals of the library. Silvan is a data scientist who really likes to get his hands on the full stack from cloud data pipeline setup over ML processing to frontend web development and data display. Since 2019, he works for Zühlke, where he focuses on computer vision and medical data science applications. |
12:40 – 14:00 | Lunch |
14:00 – 14:30 |
With a large selection of handheld devices running CircuitPython, it's natural to want to make games for them. But where to start? What are the options available for the hardware, the libraries and other resources? And how do you use all of that? This talk aims to give a gentle introduction for everyone.
Radomir (deshipu) is an enthusiastic user of MicroPython and CircuitPython from the very beginnings of those projects. He builds robots, handheld game consoles, keyboards and all sorts of other fun projects. |
14:30 – 15:00 |
Python is a dynamic language, which gives its users a lot of power. But, as we know, with great power comes great responsibility. Fortunately for us, we can incorporate a tool in our workflows - Mypy. Mypy allows developers to add a layer of safety in their programs - static type annotations.
During my talk, I will show you why PEP484 type annotations can be helpful, how to check them, and gradually introduce them in your codebase. Additionally, I want to show some tricks to make the dynamic parts safer. Finally, I will also show situations where Mypy falls short and how to avoid them. Michał's professional coding career started in 2014 in Ruby. Since that time, he has managed to work in Scala, Java, and Python. He is interested in security and open-source intelligence. In addition, he love's to have correct and well-tested software running on production. |
15:00 – 15:45 | Coffee break |
15:45 – 16:15 |
RP2040 is the Raspberry Pi Foundation's take on the microcontroller. It is fast, cheap and has some very neat features. MicroPython is a software implementation of a subset of the Python3 programming language, optimized to run on microcontrollers and in constrained environments.
After a short introduction of both technologies, we will present notable features and particularities of the RP2040, and how they can be easily accessed using MicroPython. This includes dual-core technology, PIO (programmable in-out) and DMA (direct memory access). Moreover, we will illustrate how some some of those features are used in real-world use cases, including a live demonstration. The talk will end with a discussion on the limits of the MicroPython approach with respect to the C/C++ SDK, and a question and answer session. Tobias, originating from just across the dam, performed his Masters studies in Neuchâtel and obtained a PhD in the field of optoelectronics from ETHZ in 2009. He then worked for a component manufacturer specialized in the quantum cascade laser, as responsible for the laser chip fabrication, and partly the IT department . In 2021 he decided to found his own company, tweax sàrl, where he acts as CEO and master tweaker. Tweax sàrl operates from Lausanne, and is specialized in developing custom IT solutions, based on open source hard- and software. |
16:15 – 16:45 |
Since autumn 2021, there is an "Automation in Python" course for first-semester IT students here at OST. This talk will tell the story on how it all came to be, what surprises you run into when you're suddenly responsible for 120 students, and how automating things in Python played a big role when teaching about automating things in Python.
Florian ("The Compiler") discovered Python in 2011 and fell in love with it. He is a long-time contributor and maintainer of pytest as well as various plugins. In 2013, he started the qutebrowser project, a keyboard-focused web browser based on Python and Qt, which grew from a hobby into a part-time job. Since 2021, he's responsible for teaching Python here at OST. |
16:45 – 17:00 | Closing |
17:00 – 20:00 | Social Event / Apéro |