This week we welcome Ruud van der Ham as our PyDev of the Week! Ruud is the creator of the Salabim project. Let’s take some time to get to know him a bit better!
Can you tell us a little about yourself (hobbies, education, etc):
I have always worked in the port industry as a professional in the field of terminal planning, algorithm design, data science (although we didn’t use that term yet). Now that I am semi-retired in the south of France I am active as a consultant and as a Python programmer. I graduated from Delft University in applied math and did a bachelor in Economics at Rotterdam University.
Why did you start using Python?
Actually, it was a friend of mine who was doing very interesting projects for the Dutch railroad who introduced me to Python. And although I found the syntax a bit strange, I fell in love with it. With my experience of other languages (see below) it was not difficult to make a quick start.
What helped me enormously was the excellent iPad Python implementation (Pythonista). Actually, I do a lot of development more or less simultaneously on iPad and Windows (with Wing IDE).
What other programming languages do you know and which is your favorite?
I started back in the '70s with Algol at university and Basic on my very first TRS80 computer. I did an enormous amount of programming in assembler (mostly x86), C, and professionally used Fortran, PL/1 (nobody remembers that one!). And then I developed my own simulation tool, ‘must,’ in Pascal. Later I did quite a lot of complicated professional work in VBA under Excel.
What projects are you working on now?
I am still working on my Salabim package, particularly fine tining the documentation. And I am starting a consultancy with my very own product. And I am still learning more advanced features to use in future packages.
Which Python libraries are your favorite (core or 3rd party)?
I like numpy, pandas, and matplotlib. And the standard modules collections and array.
How did the Salabim project come about?
I was looking for possibilities for my professional simulation projects which are nearly always done in high-end and very expensive dedicated products. Then I found the Python package SimPy but was not impressed and I missed functionality, particular in the API, and animation. So then I started my very own development, based on my previous experience with a Pascal package. Real-time animation was rather difficult to realize. After looking at several alternatives I decided to use tkinter as the animation engine. For Pythonista on iPad, I use another technique. It originally supported only Python 3.6 but recently backported it to 2.7 in order to run on PyPy under Windows. And for that reason, I also phased out numpy.
What lessons have you learned from running this open source project?
I had no experience with GitHub, PyPI, and Sphinx and getting everything together is not really easy. I found that there are a lot of resources, but they are not always consistent or even correct.
Is there anything else you’d like to say?
I really love the Python ecosystem and the community.
Thanks for doing the interview!