This week we welcome Julien Palard (@sizeof) as our PyDev of the Week! Julien is a core developer of the Python programming language and a Python trainer. Julien is also the creator of HackInScience, a Python learning platform as well as an organizer for AFPy, the French Python user group. Julien did the French translation of the Python documentation!
Let’s spend some time getting to know Julien better!
Can you tell us a little about yourself (hobbies, education, etc):
As far as I can remember I started writing code around age 16, by writing games on calculators to share with fellow students. It was already kind of free and open-source, shared from calculators to calculators (but I had nothing to upload to a computer, so I have no backup, I’m sad, but the code was probably particularly ugly anyway).
At this time I also learned dancing, which become a big big hobby: I started with Rock’n Roll, then Lindy Hop, Boogie, Charleston Tandem, Balboa, … then I shifted to Latin dances for a few other years. At my “top” I was dancing for 24h a week, I don’t have as much “free” time now 🙁 Fun fact (I bet) for me dancing moves were stored in my mind as a digraph, like “I can go from this position to this position using any of those moves”, dancing were then just a random walk of the digraph. It’s probably the “developer view of dancing” (if it’s a thing) but it gave me more movement liberty using this representation than the normal “named sequence of moves” everyone is using.
After writing a ton of bad code, I then learned C at school and enjoyed it a lot! I wrote a few more or less interesting things in C, like logtop. Back then I also wrote a vt100-emulator during my daily commute in the Paris subway, for fun (or to better understand vt100? I don’t remember).
Why did you start using Python?
Haha! After learning C I set myself a challenge: learn a new language every year, just to open my mind. I started learning Erlang (I loved it!) then Lisp because why not, and then Python, if I remember the order correctly. I loved Python so much that I stopped learning a new language per year (I bet I should continue).
What other programming languages do you know and which is your favorite?
I had to write some Java (never appreciated it), some ASM (at school mainly, appreciated it), and another language that I won’t even name (some will guess it, please don’t name it, they don’t deserve it. Here’s a single hint: they use women in sexy outfits to advertise their IDE…).
My favorite? I think I don’t remember how to write many things with it, but I have great memories of using Erlang, it was enlightening, if you are bored: learn it.
What projects are you working on now?
I don’t know. I think I can’t really focus on a “project”, I think my github reflects that well so I’ll not try to be exhaustive here.
The biggest is maybe the revival of the translation of the Python documentation in french. I say revival because it really started around year 2000, while I revived it around year 2015. I’m proud of this project because it paved the way for people around the world to translate the Python doc in other languages, and as of 2022 docs.python.org lists 7 translations! I’m also proud because it’s now used by many french schools to teach Python to many french students that at their age are not fluent enough in English to read the doc in English.
I also work on https://hackinscience.org, a free, open-source, ad-less, tracker-less, collection of Python exercises with live feedback, as of 2022 I have around 1k active users monthly, and see 10k resolved exercises per month, try it! I’m proud of this project because it starts to be used by many schools, in France but in other countries too!
But when I say I can’t really focus I’m serious: I contribute to OpenStreetMap, to a list of french public domain names, I help the French PUG (AFPy) with their infra and organizing meetups, I’m currently trying to create a sphinx-linter to replace `make -C Doc suspicious` and cpython/Doc/tools/rstlint.py with something more reusable and with more contributors…
Which Python libraries are your favorite (core or 3rd party)?
I’d say, in the stdlib: argparse, and out of the stdlib: tqdm.
Both make a very good job to hide the complexity of the task they handle, which I appreciate. For argparse I appreciate the fact that it make us describe the arguments instead of providing us instructions to parse them. We need more of this kind of abstraction of complexity.
But I bet if you ask me this question every week you’ll have a different answer every week!
How did you end up translating the Python documentation to French?
That’s a good question! I bet I was bored in the Parisian subway and was searching for a useful thing to kill the time. Translating is a perfect time killer: it’s many micro-tasks, so it can be done without caring about context switching. Or it was a trick to force me to read the whole doc, I won’t tell, but I learned a lot while doing so!
What challenges did you overcome during the translation process?
To stop thinking I can do it alone. I’m probably not “an introvert dev” but it’s not my first idea to build a social group around a project neither. But at least this project taught me human interaction are priceless (a big thanks to everyone that jumped in the translation project!!).
To conclude I’d like to say: « Writing code is like writing poetry: if you don’t share it there’s a problem
Thanks for doing the interview, Julien!