• How to prepare videos for iCloud

    5 hours ago, 3 min read

    Old video tapes in archive

    Recently, I switched to the Apple ecosystem of devices almost entirely and transitioned all my data into iCloud for ease of usage. The main issue I encountered was that not all popular video formats are supported. It could have been a better experience moving years of photos and videos to the service. (But it’s not, haha!)

  • A new start (again!)

    2 days ago, 2 min read

    Actually a dawn, but think of it as of a sunset. Anyway, it's gorgeous!

    The past few years have been a tough time for me. I was in a deep life crisis and was no longer willing to work on my website. It was always a hobby without commercial or social use, a tiny factory for regular bills. I was in debt then, so I killed it without a second thought or regrets. But as time passed, I realized I needed a place to call my home online. But it was just a thought in my mind until today. Because today I saw my good old domain on sale and decided to get it back immediately.

  • How to use git strategies

    3 years ago, 2 min read

    pai sho

    Git rebasing is a helpful tool that allows developers to integrate changes from one branch into another in a cleaner and more streamlined way than merging. One of the main advantages is that it can help keep the Git history more organized and easier to follow. By replaying the changes from the feature branch onto the main branch, Git can create a linear history that shows the progression of the code over time in a more straightforward manner.

  • Using redux-form validation with redux-saga

    5 years ago, 3 min read

    5ade20d8413bapexels photo 860379

    If you work with redux apps a lot, you definitely heard about the redux-form package, because working with forms without it is a pain. If not, you should know it simplifies form creation a lot. Even the complex multi-step forms with nested fields could be implemented almost effortlessly using it. The API of the package was recently revamped and it’s super fun to use now, but it’s also pretty big and you definitely can use some hints on it! :) 

  • The road to wisdom

    5 years ago, 1 min read

    Well, it’s plain and simple to express: Err and err and err again, but less and less and less.

    --- Piet Hein

  • How to avoid concurrency issues in React

    5 years ago, 6 min read

    5adaf9bed8150valentino rossi alvaro bautista motogp racing 62686

    React proposes a simple declarative way to build an application’s view. It’s straightforward to write a hierarchy of stateless components or to change a state synchronously. The whole app works as an integration of two pure functions “state(event)” and “view(state)“. The behavior is testable and predictable. But you can’t make something complex without depending on an external data sources integration: side effects come into the stage. Beware, you’re approaching the Dark Zone of functional programming now :) 

  • Server-side Google Analytics

    5 years ago, 4 min read


    Usually, people integrate Google Analytics into their shops via simple pre-generated client-side javascript snippet. It’s pretty straightforward, easy to use and works most of the time correctly from the box. So why would anyone want to use a server-side integration? There could be a helluva lot of reasons for that. For example, you may want to track some events from your server-side workers — it would be ugly and unreliable to involve a browser here. Or you may want to implement a complicated funnel for your sales, mixing client-side events with your CRM events. So, is it possible? Sure, it is, and we’ll use Measurements Protocol for this. At the time, it’s a most modern way to save raw analytics data to Google Analytics from whatever environment you want. I’ll use PHP with Guzzle for code examples, but you surely can use any language and any library: there are no differences in principle at all. And let’s assume that you already have the perfectly working client-side integration.

  • Windows workspace with WSL and Docker

    5 years ago, 7 min read



    As a web developer, I frequently use a lot of command line tools to make my life easier. I prefer to be able to assemble a computer from whatever hardware I want, so I don’t like Macs and stuff like this. Linux desktops are good enough our days, but I love to play video games from time to time, and it wouldn’t be effortless to keep two different operating systems for work and entertainment. My best compromise was to use Windows.

  • Using Letsencrypt with Docker

    5 years ago, 2 min read

    5ada4af31481fpexels photo 892548

    Who needs all those paid certificate providers while we have such a brilliant project as Letsencrypt? It allows a domain owner to obtain a valid certificate for his domain in a matter of seconds without the boring stuff like generating CSR, making DNS verification records or even passing documents to the certificate issuer center. However, paid certificates most often have an expiration time of a year. And free Letsencrypt certificates live only for a couple of months. But it’s definitely not a huge problem if there is a way to automate the renewal process. And there it is.

  • Books

    6 years ago, 2 min read

    Books were hard to get at a time when I was a kid. They were expensive and, moreover, there was a complete lack of them. Many people owned no books at all, and some other copied them manually (by hand). But there always were a lot of books in our family, and it was shocking to me back then — to see no books at all in a room.

One is the pinnacle of evolution; another one is me

One on the picture is the pinnacle of evolution; another one is me: inspired developer, geek culture lover, sport and coffee addict