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's degrees, one in Computer Science from Aalto University and the second one in Bioinformatics from the 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 the 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 the 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 was 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 with how easy and straightforward it was. While Java forced you to perform some arbitrary voodoo to achieve trivial things, Python got straight to the point with as little code as possible. Some time 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 realization.
What Other Programming Languages Do You Know and Which Is Your Favorite?
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 an 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 the next track to play and keep track of good transitions.
- Traktor Librarian – Another app for Traktor for cleaning up and exporting music libraries.
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 is 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 welcome news, I wish Android would follow 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.