Nikita Volobuev's Blog
Welcome! ... to the blog of an introverted self-taught programmer
My Dive into the world of Open Source

Hi there!

My name is Nikita Volobuev (nikitavbv) and I would like to tell you about how I began contributing to Wikimedia codebase.

read about Nikita's GCI experience
FLIF image format

How did I find out about FLIF

Recently I was reading Wikimedia Foundation mailing lists and found interesting discussion where Wikimedia Developers talked about advantages and disadvantages of FLIF image format. I haven't heard about this format before, so I decided to find out more and write about it here.

find out more about FLIF
Using multiple python versions

Recently, I was in a situation when it was needed to switch python versions for project test purposes. So I decided to write a blog post and describe a way of achieving this.

how to switch python versions
Competitive programming with Java

What is competitive programming?

Sometimes I attend competitive programming competitions or olympiads. I am not really experienced in this area, but I find it interesting and funny to participate in such events. During these competitions, participants are given tasks wich require coming up with a solution algorithm which meet the requirements of speed and memory consumption. Some examples of competitive programming contests are Google Code Jam, Facebook Hacker Cup (those two are online competitions) and a lot of others.


For solving competitive programming tasks they usually use C++ or Python. C++ is fast and gives some space for optimizations, while Python makes it simple to implement more complex algorithms.
But I usually choose Java, because I feel most comfortable and I have most experience using this language. I decided to write down in this blog post as many tips for competitve programming with Java as much as I could find and think of. Hopefully this will be useful for me later and maybe for some other people who cosider using Java at their contest.

read the tips
Telegram bots with nodejs


Telegram is a messenger app I really like and I use the most for communication. The two things which make it best for me are: native Linux application (which is important for me as my machine is running Ubuntu) and awesome bot platform with an easy and powerful API.
I developed and run couple of bots for Telegram which are used by me and some other people.


Sometimes people ask me to give them a quickstart on how to develop bot for telegram. So I decided to write this blog post to give some quick tips on this and give some code snippets.

read the quickstart
Creating simple systemd service

What is systemd and what is it needed for?

systemd is an init system used in Linux. It also manages system processes after booting. So you may need to use systemd if you want to make your own service.

read more about systemd services
Hello World!

Hi there!

I decided to create a personal blog, so I can share some thoughts and technical tips with other people in a convenient way.
I also hope it will be my way to document things I find interesting for my future self.

find out more about Nikita