10 things Four Digits will do differently after PyCon NL
We visited PyCon NL. Here's how we will use the things we learned today in our company.
This is actually the first time a "PyCon NL" conference is organized. And looking at the numbers in attendance, it fulfills a need.
Today we experienced several inspiring and interesting themes:
1. Programming Efficiency: Talks like "Improving Python Development with Bazel", "Efficient Python Project Set-Up" and "Functional Programming" highlight innovative ways to optimize Python workflows.
2. Advanced Python Practices: Sessions on "Event-Sourced Systems in Fintech" and "Parallelism in Python" focus on scaling and performance.
3. Community and Accessibility: Keynotes like Felienne Hermans' exploration of localized programming languages emphasize inclusivity in Python.
Without further ado, here's what we will do in the months to come:
- Build a custom Python version so we can use Dutch identifiers. This will make it easier to express ourselves, which is more inclusive and will lead to better code.
- Put all our code in a monorepository. This will make it easier to re-use code and onboard new hires.
- Rewrite expensive calculations using C extensions. This will make our websites a lot faster. Also, decline all merge requests introducing threading or multiple interpreters.
- ✅ Done: Use cookiecutter to generate the basic repository we need when we start a new project. This reduces the time to set up a new project.
- Write a program that emulates a physical object, exposing the object's interaction modes as a programming API. This makes us pay attention to what the object is, and to what programming is.
- Convert object methods to functions in all of our code in all projects. This will make it easier to detect bugs and difficult edge cases in an early stage.
- Remove all JavaScript from all projects.
- ✅ Done: Use Ansible for deployment. To do: Use PyPI Trusted Publishing.
- Use Event Sources instead of state machines when processing transactions
- Use
@singledispatchdecorators instead of adding the same method to several classes. Organize code in files according to functionality, not data.
We are, of course, not entirely serious here, but we learned many interesting things. Whether we'll be able to use any of it, time will tell.
To read more about the talks content in detail, see Reinout van Rees' excellent weblogs: https://reinout.vanrees.org/weblog/2024/10/10/index.html