(One of my summaries of the 2025 pycon.de conference in Darmstadt, DE).
PyData Rhein-Main, they’re looking for speakers.
https://barcamps.eu/python-barcamp-leipzig-2025, end of June, Leipzig (DE)
EuroScipy 2025, August, Kraków (PL)
Europython 2025, July, Prague (CZ)
PythonCamp Rügen (DE), nicely on the Baltic coast, https://pythoncamp.de, September
Swiss python summit, https://www.python-summit.ch/ , Rapperswill (CH)
NumFocus is hiring a new executive director. You have a week to apply (until May 2).
Note: I probably made errors with names and titles or missed them: live-blogging lightning talks is a tad of a challenge…
Dimensional modeling started around 1996. You probably use LLM, duckdb, mlflow, huggingface or whatever. You can use ye olde dimensional modeling to slay this complexity.
You have a central “fact table” and “dimension tables” that augment it. Just databases. Simple queries, simple joins.
Just (re-)read the old book by Ralph Kimball and Margy Ross: “the data warehouse toolkit”.
AI is the fastest growing technology. What can go wrong?
Apparently you can cross the English Channel by foot in 32 hours.
You should eat at least one rock per day.
If you lack cheese for your pizza, you can add non-toxic glue instead.
The most likely suggested copilot code comes from github, so it is probably crap.
https://github.com/SAP/flake8-tergeo is a flake8 plugin that adds many new rules to improve your code quality. It helps you clean up your code.
It also includes a curated list of other nice plugins.
Reinforcement learning: the art of training an agent to act autonomously using trial, error and profound regret. You give the agent reward/punishment.
Your agent just makes random movements at the start and then slowly learns from the punishments and rewards.
Pain + time = intelligence.
Recruiters hate this one weird trick: investing in the community for fun & profit.
She was hired via an external recruiter. Those are expensive. She was the first employee and there were 20 positions to fill. She took the money that would otherwise have gone to the recruiter and started sponsoring djangogirls. And organized 12 “code bars” in Berlin. They also helped the django Berlin meetup restart and got them to meet in their office.
This helped them to get more candidates. Who brought in friends.
What did it cost? Less than 5000 Euro, mostly food and drinks :-) And… they filled 90% of their positions.
It was so succesful that the company replicated it for their other location!
Yaml is simple! Everybody uses it! Easy to read! A great format for just about everything!
Simple? No, the yaml spec is longer than the one for xml!
The number of yaml parses that parse yaml in the same way: zero. Everyone implements different parts of the spec…
If you only use the simple parts, it might be readable. But you can do loads of weird things to make it unreadable.
Safe? There have been loads of security issues. The spec actually allows for arbitrary code execution…
What is left? Yaml is a format and everybody uses it.
His recommendation:
Code: use json.
Human-readable config: toml.
assert
and static checks - Łukasz¶from typing import assert_never
Regular asserts are removed when using -O
optimization. (I think I understood that
assert_never stayed, however).
When you start getting into a community, you might feel bad. Everybody seems to know a lot and you feel like an imposter. You hear everybody’s success story and not the bad parts.
So: tell about the low points. Not only the highs. Tell what you struggled with. So that everybody can feel the same.
There are python libraries like openpyxl, xlsxwriter, pandas that help. There’s even “microsoft python in excel”.
There’s something new, “xlwings lite”, https://www.xlwings.org/ . It looks quite nice. The code is stored in the sheet and there’s a vscode-compatible editor.
He demoed a sudoku solver in excel. Nice!
As a researcher, you start writing simple jupyter scripts. Then docker and suddenly you’re hip deep in kubernetes and helm charts. It is a one-way trip.
How can you simplify? Think about “idempotent” and “stateless systems”. You program your code to do a thing and not do it again. So you can call it multiple times and nothing can go wrong. Much safer. Even if colleagues have to use it later on.
If your code can’t survive a rerun, it does not deserve to be in production.
Idempotency is the killing curse for complexity!
Photo explanation: picture from our 2024 vacation around Kassel (DE)
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):