PyDev of the Week: Carl Friedrich Bolz

This week we welcome Carl Friedrich Bolz (@cfbolz) as our PyDev of the Week! Carl is a core developer of PyPy, which is an RPython variant of CPython that runs faster in general than regular Python. If you’d like to know more about what Carl is up to, you can check out his Github profile.

Now let’s learn more about Carl!

Can you tell us a little about yourself (hobbies, education, etc):

I am Carl Friedrich Bolz-Tereick, I live in Duisburg (Germany) and work half time at the computer science department of Heinrich-Heine-Universität Düsseldorf doing teaching and research. I teach a Python introduction to non-computer science students which fits well with my interest in making Python more accessible and interdisciplinary (for example by improving PyPy’s error messages). I have a PhD in computer science, my research is on how to write JIT compilers for dynamic languages to improve their performance. I’m also the primary caregiver of two small children. My hobbies are urban hiking (nicely compatible with pandemic and children) and singing in a choir (not).

Why did you start using Python?

Because my C++ programs kept segfaulting.

What other programming languages do you know and which is your favorite?

Obviously, my favorite programming language is Python! But I have worked on implementing a number of other programming languages including Prolog, Squeak Smalltalk, Racket, PHP, SQL/Sqlite. Of these I like using Prolog the most, it requires you to really change your thinking compared to many other languages. As part of my occasional hobby of trying to understand computational art, I have also been writing a bit of bad Javascript. I’ve recently written a mini-essay on the video installation “City of Abstracts” by William Forsythe.

What projects are you working on now?

I’m working mainly on PyPy, the Python interpreter written in Python. I have worked on almost all components of PyPy, from the Python interpreter itself to RPython (the subset of Python we use as an implementation language), to the JIT infrastructure we use. My main focus has been on improving the performance of pure Python code. I’m also doing some PyPy project outreach, I have mentored new developers to PyPy and am currently trying out Twitch-streaming some PyPy development.

I’m also a Wikipedia, Wikimedia Commons and OpenStreetMap contributor. On these, I am focusing on documenting art in public space.

How did you join the PyPy project?

In early 2005, I was a math undergrad coming out of an extremely stressful third semester and wanted something to do during the semester break that was not math, so I started working on the PyPy project – it was a cool new project with efficient community outreach. Half a year later I dropped out of math and joined one of the companies that was doing the PyPy EU project. I’ve been working on the project ever since, sometimes with more, sometimes less intensity.

What are three things you’ve learned about Python while working on PyPy?

  • Python looks simple on the surface, but it’s behavior is really tricky underneath.
  • Python looks simple on the surface, but it’s behavior is really tricky underneath.
  • Python looks simple on the surface, but it’s behavior is really tricky underneath.

Which Python libraries are your favorite (core or 3rd party)?

I’m a huge fan of attrs, which makes writing classes a joy, and glom, which is a really ingenious library that makes it possible to access and restructure nested data structures (and I kind of want to write a JIT for it).

Is there anything else you’d like to say?

‘Tech is not neutral, nor is it apolitical’ – Kim Crayton

Thanks for doing the interview, Carl!