Miroslav Šedivý



Reading time: 8 minutes

Tags:   postgresql (170)   python (9)   postgis (10)   openstreetmap (1)   opensource (20)   speaker (4)   conference (10)  
Category:   Interviews   
Interview conducted by: Andreas Scherbaum

PostgreSQL is the World’s most advanced Open Source Relational Database. The interview series “PostgreSQL Person of the Week” presents the people who make the project what it is today. Read all interviews here.

Please tell us about yourself, and where you are from.

My name is Miroslav Šedivý, but most people call me Miro, which allows them to avoid typing some letters they do not have on their keyboard. I was born in Czechoslovakia (yes, I am over 30 now), studied computer sciences in France and Germany, and now I am living in Austria.

Miroslav Šedivý

Miroslav Šedivý

How do you spend your free time? What are your hobbies?

Computers and programming were the hobbies that became my occupation. Another hobby, which is difficult to combine professionally with the first one, is human languages. As a Central European fascinated by travels, I speak a bunch of languages and enjoy using them every day.

Apart from this, I love spending time with my family, hiking, biking, fixing OpenStreetMap, camping, and woodworking.

Any Social Media channels of yours we should be aware of?

Last book you read? Or a book you want to recommend to readers?

Last book I read thoroughly and several times was the second edition of “Fluent Python” by Luciano Ramalho. I was one of the technical reviewers and had to understand the modern language concepts really deeply in order to give useful feedback to the author.

Currently I am reading through “Minden napra egy mese” (One story per day), a Hungarian storybook for kids. I am not a fluent Hungarian speaker, but I always wanted to learn the language, so I am dissecting it word after word just like the previous book, only without useful feedback to the author.

Any favorite movie, or show?

People buy their favorite music to listen to it again and again. I have a few favorite movies, or even short sequences, that I watch the same way with headphones for the overwhelming music and graphical scenery. Some scenes from “For a few dollars more” and “The Good, the Bad, and the Ugly” especially those with the watch chimes and the final triello bring me shiverings every time I rewatch them.

What does your ideal weekend look like?

That’s usually family time with discovering new places near and far. Or staying at the known ones doing fun stuff, tinkering and relaxing.

What’s still on your bucket list?

Before 2020, I managed to visit a new country every year for quite some time. There are still so many places in the world I’ve never seen and most probably never will. But hey, even Central Europe offers so much to see.

I wanted to take part in the Praha–Prčice March. It’s a notoriously known 70 kilometer hiking trip from the Czech capital to a small village (by the way, in Czech and Slovak they do not send you to hell, they send you to Prčice). Last winter I needed over 8 hours to walk 45 kilometers. I still need some training to get that done on a single day.

What is the best advice you ever got?

For PostgreSQL? Check your backups!

When did you start using PostgreSQL, and why?

Moved from MySQL and Oracle around fifteen years ago. And it was a good move. Over the years, I was learning about new features and I literally diffed the official documentation to check whether a feature I need works in the available version or I have to wait for the upgrade.

Do you remember which version of PostgreSQL you started with?

It was eight dot something. We did not upgrade for a while after it, and I remember discovering answers to my online searches that were not available in our version.

I did classical computer sciences studies at INSA Lyon, France. First time I saw a database was around 1999, it was Access. And we did some very basic stuff, and I wondered why we did not use Excel instead. Only with SQL and calling it from Pascal I discovered the endless possibilities of databases.

Oh, I haven’t touched any of those three aforementioned tools (A., E., P.) for over twenty years.

What other databases are you using? Which one is your favorite?

I used MySQL and Oracle in my work projects. More recently I added Redis, Elasticsearch, and MongoDB. But PostgreSQL is still my favorite.

Throw a stone at me, but currently I do not develop with PostgreSQL at all. But I am definitely looking forward to doing so again!

How do you contribute to PostgreSQL?

Not mentioning the whole production code involving PostgreSQL, I spoke at a few conferences.

One talk was about a self-designed and developed system of having time interval-related records that were valid for (a different) time interval. To remember WHEN we had a knowledge about WHEN something was true. So for instance, until today we knew that the value of x changed from 10 to 20 last Friday. But right now we learned that it was wrong and the value has changed already last Wednesday. With help of a B-tree index operator, we can make sure that there is no ambiguous information in our database and we keep track of history of state of the objects over the time and how our knowledge of it has changed.

At the Swiss PGDay 2018, Bruce Momjian gave his keynote right after my talk and mentioned cool stuff that could be done using PostgreSQL, “such as bitemporality” and pointed in my direction. Hey, I didn’t even know that my hack had such a cool and scientific name!

Another interesting topic are time zones. Most developers know how to work with them correctly, but it can be exciting to learn how they get into their computer and why do they change so often.

What is your favorite PostgreSQL extension?

PostGIS. I cannot imagine a more complete extension that covers one entire science domain so perfectly well.

What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?

The best thing about Python is its community. Does this mean that other software projects are more annoying? No. I cannot really think of a really annoying PostgreSQL thing.

What is the feature you like most in the latest PostgreSQL version?

I probably skipped a few recent versions, so I’ll have to get up to date again first. It’s fascinating to see what the authors and contributors come up with every time you look at the changelog.

Could you describe your PostgreSQL development toolbox?

I usually develop in Python, using PyCharm, with the IdeaVim plugin (I cannot reasonably edit more than five lines of text using a non-modal editor). I always used the psycopg2 library, but later with move to Python 3 and asynchronous code I switched to asyncpg in order not to block the runtime waiting for the query to run through.

I have also used some ORMs, such as SQLAlchemy. They are practical if you have plenty of objects and only need to manipulate them. Nothing compares to a beautifully complex SQL query though.

Which skills are a must have for a PostgreSQL developer/user?

Laziness, impatience, hubris. But this is valid for any developer.

Which PostgreSQL conferences do you visit? Do you submit talks?

I enjoy going to conferences, giving talks and running workshops, such as Swiss PGDay, pgDay Paris, PGDay Austria, and PG Day Russia. Not only did I learn a lot about my topics when preparing the talks: bitemporality and time zones. I also had the occasion to meet people from the community and visit wonderful places.

Do you think PostgreSQL has a high entry barrier?

While the installation and administration do require some knowledge and experience, a user gets a very powerful tool with lots of supporting tools and useful feedback.

What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?

You’ll find plenty of opportunities to contribute if you use PostgreSQL in your projects. Is the documentation clear? Can we have more examples? Did you find a bug? Start with what matters to you. Later you can help others.

Do you think PostgreSQL will be here for many years in the future?

I believe so. There are no fully-equivalent alternatives and as long as there are companies using it, someone will have (or will have to have) the resources to support those who fix the bugs and develop new features.

Would you recommend PostgreSQL for business, or for side projects?

For both, of course. It is a completely mature product with a rich environment and extensions.

Are you reading the -hackers mailinglist? Any other list?

No. I follow Planet PostgreSQL to get the latest updates and interesting articles, such as these interviews.

What other places do you hang out?

No, I prefer hanging out offline.

Which other Open Source projects are you involved or interested in?

I contributed to a few Python projects and I am quite active in the Python community. I have contributed to a few Python libraries, and occasionally speak at Python conferences. This is a natural neighbor to the PostgreSQL project.

Anything else you like to add?

Did I mention it? Check your backups!

And thanks, Andreas, for your community engagement!