Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

PyDev of the Week: Moshe Zadka

DZone's Guide to

PyDev of the Week: Moshe Zadka

This week's PyDev of the Week is author and dev, Moshe Zadka! Find out more about Moshe, like how he got his start with Python and what he's working on these days!

· Web Dev Zone ·
Free Resource

Deploy code to production now. Release to users when ready. Learn how to separate code deployment from user-facing feature releases with LaunchDarkly.

This week we welcome Moshe Zadka (@moshezadka) as our PyDev of the Week! Moshe is a core developer of the Twisted project and he is also a co-author of Expert Twisted from Apress Publishing. He is also the author of a self-published book, From Python Import Better. You can find additional information about Moshe here where he includes links to his GitHub, Instagram, and blog.

Let's take a few moments to hear what he was to say.

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

I am originally from Israel, and I currently live in the Bay area with my wife and my two kids (5 yo and 3 yo). Until I got married and life got too busy, I used to perform as Dr. Scott in a Rocky Horror Picture Show shadowcast. I intend to get back into performance once the kids are older!

I started my life as a mathematician, published a paper ("Orbifolds as Diffeologies"), but then got into the software development world, and ended up as a DevOps Engineer.

Why did you start using Python?

In 1998 I wanted a language with good XML support. Python had great XML parsing libraries, and all other languages with good XML parsing libraries were ones I could not imagine using. I ended up really enjoying the aesthetics of the language and the conceptual simplicity.

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

"Know" is such a nebulous term. Let's limit it to ones I've used professionally - Java, C, C++, JavaScript, Perl, and PHP. Python is definitely my favorite, but if I had to choose among the others - I guess it would be C. C is a bad language, but it somehow is just good enough to hold the weight of the world on its shoulders.

What projects are you working on now?

Twisted will always be a project I'm involved with, in some capacity, I suspect. I've definitely contributed patches and reviews recently. NColony is my Twisted-based process supervisor, which is a weird hobby of mine (and has been for a while) - it is my 3rd system, after writing a couple of Twisted-based process supervisors which were not open source. Middlefield is my platform for custom developer tools, which I built because I love building developer tools!

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

attrs is the one Python library I could not live without. After getting used to it, it is impossible to imagine writing a class with way too much boilerplate again. I also love automat - it is "Finite state machines for Python, done right!"

What top three things have you learned contributing to open source projects like Twisted?

  • People come and go (and that's ok).
  • The mistakes you made ten years ago will come back to haunt you.
  • It is important to be humble and friendly online.

What is your motivation for working in open source?

Different things have different motivations. I think I started contributing to core Python because it seemed all the cool people were doing it, and I really wanted to be cool. I started contributing to Twisted because a bunch of my friends were doing something awesome, and it was fun doing it with them. I started NColony because I didn't like any of the alternatives, and I needed a process supervisor.

How did you get involved with writing a book on Twisted?

I wish I could say this was part of a big master plan, but the truth is that APress wanted a book about Twisted, and the editor realized he would have better luck asking people for a handful of chapters and stitching them into a book and asked me if I had an idea for a chapter to contribute. I ended up picking another chapter from another co-author when he realized he signed up for too many and found myself an official co-author on the book!

What have you learned from that experience?

Working with publishers is interesting. I've had mixed experiences with all of them, but at least with APress I really felt like I had a supportive environment. I also learned, viscerally, something I only knew cerebrally before (by way of reading Cory Doctorow's blog) - that the only real way to take notes for yourself for a future book is to write a blog for others. This way the notes are actually readable when you need them!

Is there anything else you'd like to say?

I will use this platform for raising an issue which I think we, as a global society, are failing at - doing open source sustainably. We are relying on a small number of overworked volunteers, or sometimes on one or two companies paying a small number of people, for our most critical infrastructure. I don't know a solution, but I do know it's a problem, and I think we need to acknowledge it publicly and have an open conversation about the solutions.

Thanks for doing the interview, Moshe!

Deploy code to production now. Release to users when ready. Learn how to separate code deployment from user-facing feature releases with LaunchDarkly.

Topics:
python ,web dev ,open source ,python libraries ,python web development

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}