This week we would like to welcome Kevin Ollivier as our PyDev of the Week. He’s helped me (and many others) lots of times on the wxPython mailing list. Let’s spend some time getting to know him a bit better.
Can you tell us a little about yourself (hobbies, education, etc):
I got my Bachelor’s in Computer Science from University of Maryland University College. My hobbies pretty much run the gamut of nerdy things, like gaming (video and card), Sci-Fi, superheroes, and fantasy. I’m also interested in all things Japanese after having been exposed to anime and manga as a kid. 🙂
Why did you start using Python?
Way back in the late 90s (!), I was working on a project using VB / Access and as my needs grew it felt like those tools didn’t really fit the bill. I went looking for something more powerful, but also quick to develop in, and I stumbled upon Python. I’ve been using it ever since. It has always felt to me like it has the best balance of power and simplicity of all the languages I’ve worked with.
What other programming languages do you know and which is your favorite?
Besides Python, over the years I’ve worked in C++, C#, JavaScript, Obj-C, and VB. As you might have guessed from my previous response, Python is hands-down the winner for me. For me productivity is the key metric and I’ve not found a language that makes me feel as productive as I am in Python. There are tons of great modules that enable you to quickly add functionality to your project, and the core language and modules seem in my experience to have less quirks and unexpected behaviors than most.
What projects are you working on now?
I’ve been doing a lot of consulting work recently, so I haven’t spent as much time on open source / public stuff as I would like, but in terms of Python and open source, I’m in the process of trying to put together a little project I’m tentatively calling PyEverywhere (PEW for short :). The idea is to create a wrapper module around wxPython (Win/Mac), Pythonista (iOS), and Kivy (Android) so that you can write one codebase that targets all these platforms. To speed up GUI development and leverage the fact that lots of people have some background in web dev, it uses WebKit as the main UI engine. This way there’s not a huge upfront effort to get a new platform working (e.g. no requirement to wrap dozens of native controls), and we can expand its capabilities by exposing specific native functionality as the need arises. It uses a little bridge layer to send messages between the web UI and the native app.
My work on PEW is actually part of a bigger project I’m undertaking, which I’ve codenamed Sleeping Dragons. It’s a project to build an open source learning engine to bring new opportunities for learning to people who may not have access to a traditional education. You can learn a bit more about it at my website but basically PyEverywhere is what I’m using to develop the client-side GUI portion. It’s early days, though, so nothing ready to put out there yet.
Which Python libraries are your favorite (core or 3rd party)?
Django, wxPython, pubsub, virtualenv, pip.
Where do you see Python going as a programming language?
That’s a great question. Right now the major growth areas I see for Python are in scientific programming (e.g. scipy, numpy, nltk, etc.) and in web app development with great libs like Django and friends. I do a lot of client-side GUI development with Python but I haven’t seen a lot of growth in that area. I think part of that is due to the rise in mobile, an area where Python is not showing much official presence in currently, and part is due to the challenges in creating a polished UI dev environment that matches the tools provided by Microsoft and Apple.
Is there anything else you’d like to say?
Thanks for doing this series, and for all the help you’ve given on the wxPython mailing list and to Python programmers everywhere! 🙂
Thank you!
The Last 10 PyDevs of the Week
Pingback: PyDev of the Week: Lacey Williams Henschel - Mouse Vs Python