This week we welcome Hameer Abbasi as our PyDev of the Week! Hameer works on the PyData Sparse project. You can check out what else Hameer is working on over on Github. Let’s take some time to get to know him better!
Can you tell us a little about yourself (hobbies, education, etc):
My hobby is, and has been for a while, scientific computing in general, the ecosystem and how to make it better. I’m lucky and grateful to have found a job in that same field, even though my formal education wasn’t in either Mathematics or Computer Science. Moving over to my education, I completed my Bachelors in Electrical (Telecommunications) Engineering from National University of Sciences and Technology, Pakistan in July 2014. After being a professional for a year at LMK Resources, Pakistan until September, 2015, I moved to Germany and completed my Masters in Information and Communication Engineering from Technische Universität Darmstadt (English: Technical University of Darmstadt) in October, 2015. I started with Quansight as a contractor then, and I’m continuing that to date.
Why did you start using Python?
I was doing a Hilfswissenschaftler job (sort of like a Research Assistant in the USA), and there I was presented the problem of scaling a sparse system to a larger space. I discovered the PyData/Sparse project back then (it was in Matthew Rocklin’s personal repository at the time), and was immediately fascinated by the idea of computational gains to be had if one moved to a sparse representation. I’m now the maintainer for that project, and I’m grateful I chose that path, as it landed me a talk at SciPy 2018 and a client in the form of Quansight.
What other programming languages do you know and which is your favorite?
I’ve dabbled in a lot of programming languages over the years. Started with Visual Basic 2000, moved on to Visual Basic .NET, HTML, Java, Javascript, C++. The ones I really feel I know, though are Python and C#, because I have hands on experience on real projects with these. I like Rust’s “do it right the first time” model.
My favourite of all these to work with is probably C#, because of the excellent tooling around it, but as a language I like Python more.
What projects are you working on now?
I’m working on a number of client projects with Quansight, along with others that are in their Labs division. These include uarray, a backend-dispatch system with various utilities, unumpy, a “backend-agnostic” version of NumPy, and udiff, an automatic differentiation library built on top of unumpy. I also recently started some research on PyData/Sparse again. I’d like to talk about the uarray family a bit more — It’s awesome that you can just take a piece of code, change out a with statement and/or an import, and watch the magic.
Which Python libraries are your favorite (core or 3rd party)?
Probably XND, it’s really well engineered and shows a lot of potential. Now if there was an active maintainer on it…
How did you get started with the PyData/Sparse project?
I, honestly, was slacking off from my thesis working on what interested me, the idea of huge computational gain just from moving to a sparse structure.
What makes PyData/Sparse great?
Well, try it and find out. ????
Can you describe any current challenges that you see for Python in data science?
The need for paid maintainers on projects that have core infrastructure. Travis Oliphant (CEO at Quansight and OpenTeams) has talked about this in length.
Thanks for doing the interview, Hameer!