This week we welcome Roman Sirokov as our PyDev of the Week! He is the author of pywebview, which is a cross-platform lightweight native wrapper around a web view component. You can basically create a desktop user interface using web technologies and frameworks. He is quite active on Github where you can see all the projects he is involved with. Let’s take a few moments to learn more about our fellow Pythonista!
Can you tell us a little about yourself (hobbies, education, etc):
I am a software engineer from Helsinki, Finland. I currently work for Siili Solutions as a full-stack developer doing various client projects.
I have two master degrees, one in computer science from Aalto University and the second one in bioinformatics from University of Helsinki. The first degree was about graduating and the second one about actually wanting to learn something.
I have traveled quite a bit and the longest I have spent on the road was nine months. On one occasion I cycled about 3000km around Baltic Sea during a very rainy summer. I am an avid cross-country skier and try to get as much as skiing as possible with very little snow we get nowadays. I practice ashtanga yoga and vipassana meditation too and try to attend a vipassana retreat once a year. Other than that I dj mostly cosmic music and try to keep my cats entertained. Some of my mixes can be found here.
Why did you start using Python?
I got into Python around 2004 during my university days. In school they taught a combination of Java, Scheme and C, which were an important learning experience, but not very fun or practical for my own needs. I heard about Python from a friend and it blew me away on how easy and straightforward it was. While Java forced you to perform some arbitrate voodoo to achieve trivial things, Python got straight to the point with as little code as possible. Sometime later I had this aha moment that I could actually solve my own problems by programming, instead of relying on ready-made software. Python was an integral part of this realisation.
What other programming languages do you know and which is your favorite?
I have mostly worked with Python, Javascript, Java and C#. Python is my favorite language for its straightforwardness and simplicity. Javascript is a combination of love, frustration and general confusion. I like C# and have a sweet spot for WPF (hands down, the best GUI library I have ever worked with), but haven’t done anything with either for a while. I am happy to see the recent cross-platform developments in .NET. Shame that WPF is still Windows only.
What projects are you working on now?
Currently I devote my free time to these projects
- pywebview – a simple GUI library that lets you use a HMTL/JS/CSS stack as your GUI without a browser.
- Latukartta – a cross-country ski trail map for Finland with the real-time trail status of ski trails.
- Next for Traktor – An app for Traktor DJ software that helps you to choose a next track to play and to keep track of good transitions
- Traktor Librarian – Another app for Traktor for cleaning up and exporting music library.
All of these projects are done with Python as back-end and web stack as front-end. What I like about this approach is that I can re-use code and employ the same set of tools, no matter if it is a web or desktop project.
Which Python libraries are your favorite (core or 3rd party)?
I guess Flask deserves a mention, but I don’t really have any favorites. What I love about Python that there’s a library for everything and it is usually dead-easy to take one into use.
Where do you see Python going as a programming language?
I am glad to see that Python 3 is finally getting more widely adopted. Hopefully in five years the Python 2/3 mess will be history. I would like to see Python would make a bigger impact in the mobile world. A recent announcement about Sailfish making Python a first-class citizen was a welcoming news, I wish Android would follow the suit. Finally I hope Python would bundle tools for producing an executable out of a Python script out of the box and simplify the whole building process.
Thanks so much for doing the interview!
As a new Python developer, I really did not understand the fuss about Python 2/3, I guess I have not been coding long enough to have an opinion on the matter. I code mostly in Python2 because that’s what most of the projects i work on are written in, on the other hand there’s a lot of development and new features being added to 3. I believe developers should not be dogmatic about the version of Python they use but should use whatever works for them and their team/project.
From reading this interview and the last one, it appears developers have keen interest in tools to make Python apps easier to build and distribute. Mike, when you get time, could you consider writing a blog post on the latest developments in this area( building and packaging python applications). I am not sure if you have blogged about it before.
I have written a bit on various ways to build executables with Python via cx_freeze, py2exe, PyInstaller and more, but it’s been a few years. There are some new projects now and I don’t really have a comprehensive article on the topic. I’ll start putting some ideas together and see if I can get something written up this month.
Thank you.
We are also congratulate the young boy Roman Sirokov. We believed that such kind of people can developed the job of us and we found more passion from him. Thank you so much for your great work bro.