PyDev of the Week: Damián Avila

This week we welcome Damián Avila as our PyDev of the Week! Damián works for Anaconda, an open source distribution of Python and R with a heavy focus on data science. He is also the author of RISE, a Jupyter/IPython Slideshow Extension. You can get a feel for what Damián is up to over on Github or by checking out his website. Let’s spend some time getting to know our fellow Pythonista better!

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

Sure!

Nowadays, I am a Software Developer and team Leader at Anaconda, Inc. In my previous life, I graduated as Biochemist from the U.N.L.P, Buenos Aires, Argentina.

In fact, I currently live in Córdoba, Argentina with my partner Daniela and my cat, Bituinas, but every other week I travel to Buenos Aires (700 km away) where my 5 years old son, Facundo, lives with his mother and I spend some days with him.

My main focus of interests are Data Science, Finance, Data Visualization and the Jupyter/IPython ecosystem. In the Open Source area, I have made meaningful contributions to several projects, and now I am a core developer of popular projects, such as Jupyter, Nikola and Bokeh.

I have also started my own projects being RISE (a “live” slideshow machinery for the Jupyter/IPython notebook) the most popular one.

I have presented talks, tutorials and posters in several national and international conferences and I have also written and taught tutorials about the Scientific Python ecosystem. I am part of Python Argentina, Scientific Python Argentina and PyData Argentina communities and I am also a Jupyter Steering Council Member.

Fun fact, I have practiced Aikido for several years and I am currently trying to come back to the regular practice.

Why did you start using Python?

Well, this is fun to answer. A few year ago, circa 2011, I was playing with financial models as a hobby (weird hobby, isn’t it?). And I find out myself in need to create more complex models than the ones the end user software I was using provided (IIRC, I was using a soft called EasyReg). Then, I told myself, you should start to learn how to make your own models!!

I found an interesting course about “Numerical methods for scientists” where we had 3 introductory 4 hours classes about 3 programming languages: Fortran, C++ and… Python. And I found Python really easy to start playing with (don’t forget that I was a Biochemist working with cells from the immune system, nothing in silico, all experimental stuff, no programming stuff). So, I started from scratch trying to recreate my financial models in Python and attended to my first Argentinian PyCon by the end of 2011 and presented a talk about my models.

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

  • I have been programming in other languages such as JavaScript, CoffeeScript, a little bit of TypeScript.
  • I use bash frequently.
  • I played a lot with HTML and CSS.
  • I did a little bit of Fortran and C++.

And still my favorite is Python and I am starting see TypeScript as something very interesting.

What projects are you working on now?

In my work I am leading a team working in the Anaconda Enterprise Notebooks, a component of the Anaconda Platform, v4. Outside my work, in my free time, I usually contribute to the Jupyter ecosystem. And I also work a little bit in RISE, a popular notebook extension I wrote some years ago and used by a lot of people (probably more than I know, which is nice!!).

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

I am a little bit biased here, but I believe the Jupyter ecosystem libraries are my favorites ones, being the Jupyter Notebook application the preferred one. It is totally disruptive and useful in multiple areas. And its evolution into Jupyter Lab I believe would be a sort of “revolutionary”.

What was your motivation for creating the RISE package?

I thought it was important to “present” your ideas and even when when the notebook itself is a document that can achieve that aim, it is not well suited to share information in talks or classes. And the slideshow presentation concept have a lot of advantages in this context and I want to bring those into the Jupyter experience. My first idea was to generate a static presentation from the notebook document using nbconvert and that landed several years ago in that package.

But, I also saw a need to have the interactivity that the notebook experience gives you and this is why I started RISE which is, essentially, an “slidy” view of the notebook where you can execute code and experiment stuff, in the slide, right away, immediately, which I believe is super powerful at the time to share knowledge and insights.

What are the top three things that you have learned while maintaining this project?

1) People is great, I always receive appreciation from my work on RISE and seeing a lot of people find it useful feels very rewarding.

2) You are giving you time for free, you should care of your users, but your users should care of you as well. Don’t let the project maintenance burnout you. Take some time away if it is necessary.

3) Try to feed people whereas you interact with them. You have a new contributor around the corner if you give them context, feedback and discuss their ideas.

Is there anything else you’d like to say?

As part of the Jupyter community, I want to encourage you to helps us! There are multiples ways to help the project (not only with coding!), so ping us if you have some interest and time.

Finally, as you saw from my previous answers, I have experienced that you never know where the life will direct/redirect you. Be humble and learn… and everything will fall into place.

Thanks for doing the interview!