Archlinux i3-wm on a docking station

03 Jul 2017

I’m using Archlinux with i3 tiling window manager. On the hardware side, this laptop sometimes sits on a docking station with external monitor attached to it. Periodically, I take it away from my desk to work in a different environment. Here are several tips’n’tricks I found useful.

Consistency, causal and eventual

29 Jun 2017

In some previous blog post several consistency models were briefly described as well as what do they mean in terms of database transactions. With the following writing, I would like to further remove white knowledge gap and explain in simple terms some other well-known consistency models, such as eventual and causal. These are much more common within distributed systems rather than traditional databases, though, at the present time there is little difference between the two.

Hybrid Logical Clock (HLC)

26 Jun 2017

The notion of a time plays very important role in distributed systems. But, why do we worry so much about time? Perhaps, it’s pretty natural and easy for us humans to reason about everything with some sort of “time” in mind. As a programmer (and human) we are implicitly implying ordering on events, and it’s pretty convenient to have a notion of past, future, and present.

Transactions and consistency 101

14 Jun 2017

For a very long time, there were some white spots about transactions and different consistency models. Don’t get it wrong, my bet is that every engineer has some intrinsic understanding of what transaction is, knows that it somehow related to databases, that consistency has something to do with a system being in a predictable and understandable state. But being a complete self-learner, one has to skip some theoretical things and start doing practical things as soon as possible.

What is a Multiraft?

09 Jun 2017

In computer science, there is a well-known problem called “consensus”. In a nutshell, it’s a task of getting all participants in a group to agree on some specific value based on the votes of each member. There are also several algorithms that aim to solve this problem, namely Paxos, Raft, Zab, 2PC. What is Multiraft then?

Intro into database storage engines

07 Jun 2017

In this blog post, I’ll explore storage engines used in different database implementations, modern trends, and history legacy.

Small improvements for big advancement

20 Apr 2017

Kaggle competiton journey continues! After solving duplicate question challenge with simple stats-based techniques in my first post and investigating deep learning solutions in the second other approaches to improve the result were tried.

Training neural models for speech recognition and synthesis

22 Mar 2017

On the wave of interesting voice related papers, one could be interested what results could be achieved with current deep neural network models for various voice tasks: namely, speech recognition (ASR), and speech (or just audio) synthesis. Ultimately, Deepvoice text-to-speech (TTS) model is very intriguing but since there is no publicly available implementation (yet) one can’t perform experiments with it.

IMDB sentiment analysis with QRNN's

15 Mar 2017

Some time ago MetaMind published a paper on Quasi-recurrent neural networks. See their blog post for some nice explanations. My particular interest in QRNN was because deepvoice paper used them as “conditioning” part for synthesis model.


02 Mar 2017

This is 3rd post in a series of post about my way to implement Wavenet. In first two posts (one, two) I talked about implementing Gated PixelCNN that I considered prerequisite for myself before starting coding and training Wavenet.

Gated PixelCNN

24 Feb 2017

This is a follow-up post of this one. Here I’ll continue to describe my struggle implementing Conditional Gated PixelCNN.


22 Feb 2017

Some time ago Google’s Deepmind team announced of getting good audio generation results with their recent Wavenet model. That was particularly interesting for me and for educating and research purposes I decided to replicate their study (at least some parts of it) and implement WaveNet model by myself. In this post I’ll start my journey of implementing it.