Author Archives: ivan

Hofstadter’s Law:
It always takes longer than you expect, even when you take into account Hofstadter’s Law.

— Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid

Catch22 of closed-mindedness

For the Nth time have found myself referring back to an exceptionally vivid infographics on how many Ukrainians have ever been abroad:



There are three parts of the country represented on the picture — the West, Center, and South-East. The colour code is as follows:

  • The purple area represents percentage of people who have never been outside Ukraine
  • The green area corresponds to those who visit other countries less that once per two years
  • The blue — once every two years
  • The white — once a year
  • and the red for those who go abroad more than once a year.

It was a staggering revelation for me that almost 8 people out of every 10 have never been abroad in their life! Even more, another poll reveals that 37% of people never travelled outside their region (county) within Ukraine!

That data correlates neatly with the hostility or indifference towards the EU integration as well. In the west we see about 11% of people are regularly travelling abroad and support there for EU integration is the strongest. Compare this with a meagre 5-6% in the East with the most vocal opposition towards Europe. Indeed, the less people know the easier it is to manipulate them.

My zenburn-based terminal colour palletes

I was a great fan of standard linux terminal colour palette. Initially, the default was a saturated version and later it shifted to pastel colours. I still enjoy the way it looks – bright and clear; it also works great if you are giving a demo over a beamer, opposed to dark backgrounds.

With my current job I started to spend even more time in terminal than before, however. It hadn’t taken long for my eyes to rebel refusing to carry the burden of the bright background stress. I had to seek the alternative. The black as a background colour doesn’t really work for me: it’s cold and repelling, not the kind of feeling you want to experience while working. Instead, it makes sense to have a colour palette that makes you comfortable, even cozy, a bit warmish, and still calm.

One of the first options I explored was Solarized – a much-hyped palette claimed to be designed with science underpinning (although I haven’t found any detailed description of that science). The problem with that palette is that it was designed for text editors, not terminals. I couldn’t come to terms with the fact that bright yellow, green, blue, and cyan were nowhere close to these colours.

I revelled when I discovered Zenburn – that very close to what I found comfortable with. There were still few issues with it: green, yellow, magenta, and cyan were too bright, black wasn’t really black but rather a light grey, while red and blue where too dark.

After few hours of tweaking colours I’ve got the palette so comfortable to me that I’ve been using it without a change for last 4 years.

Mac OS X Terminal:

Screen Shot 2016-01-16 at 19.02.41



Screen Shot 2016-01-05 at 00.33.59

You might be surprised, but at the moment I don’t use iTerm2, so I don’t have a scheme for it. Mostly this is because my work environment is Windows with PuTTY. And for the remaining uses, default is completely adequate.

The font that works best for me is Monaco:

monaco smiley shortcuts

While everybody on the internet seem to be concerned with how to turn off emoji auto-substitution in Messages, I’m quite fond of it. Here is the list of working shortcuts for emojis:

😊  Smile :) :-) ^_^
😉  Wink ;) ;-)
😟  Sad :( :-(
😐  Speachless :-|
😕  Annoyed :/ :-/
😩  Weary D:
😮  Surprised :o :-o
😃  Laughing :D :-D
😋  Yummy :d :-d
😘  Kiss :* :-*
😛  Tongue :p :-p
😏  Smirk :> :->
😠  Angry >:o >:-o
😎  Cool B) B-)
😇  Saint 0:) 0:-0
😈  Evil/Devil >:) >:-)
😶  Mouthless :x :-x
😬  Grimace :! :-!
😳  Flushed/Blushing :[ :-[
😜  Drunk/Frolicking %) %-)
😖  Uneasy :S :-S
😷  Medical mask :@ :-@
❤️  Heart <3
👍  Yes (y)
👎  No (n)
😺  Cat face :3

Phonetic Alphabet – reference

Chr Word Chr Word
A Alpha N November
B Bravo O Oscar – Orange
C Charlie P Papa – Prince
D Delta Q Quebec – Queen
E Echo R Romeo – Radio
F Foxtrot S Sierra – Sunday
G Golf T Tango – Tiger
H Hotel U Uniform
I India V Victor
J Juliett – Juliet W Whiskey – Water
K Kilo X X-ray
L Lima – London Y Yellow
M Mike Z Zebra – Zulu

Multitasking in System Administration

Just a quick thought on multitasking in SA (or DevOps, if you prefer). There is a common knowledge that multitasking is bad, it hurts your performance, quality, and whatnot.

Here is a nice chart to illustrate the idea:


Obviously, the above is more of a rule of thumb and here is a nice summarisation. However, there was another study on the matter by Harward’s professors S.Wheelwright and K.Clark that draw slightly different picture:


What’s important here is that the percent of time on tasks or performance actually maximises at 2 concurrent tasks. This is actually much more in line with my personal observations. You can also argue that in the field of SA we often have tasks that require significant amount of “wait time” when you kick something off and then simply wait for it to complete, so the latter graph has even more sense.

Links: 17th May

“He [Galton] even measured the life spans of sovereigns and clergymen, which, being similar to the life spans of people in other professions, led him to conclude that prayer brought no benefit.”
— Leonard Mlodinov

Mlodinov’s “The Drunkard’s Walk…” is a fantastically good book. I couldn’t pull myself away of it, I’d read it in the morning before the work starts and right after I wrap it up for a day. A captivating overview of mathematics of chance, random, and statistics put in a very comprehendible form and language, intertwined with amusing digressions into history of mathematical thought, it connects randomness with our everyday life.  Scientific American’s comment reflect my feelings: “Delightfully entertaining”.

Recommend it wholeheartedly:

The Drunkard's Walk: How Randomness Rules Our Lives: Leonard Mlodinow: 9780307275172: Books

The Drunkard’s Walk: How Randomness Rules Our Lives: Leonard Mlodinow: 9780307275172: Books’s an interesting subject, and sometimes we don’t believe that many things in life are random, but as it is shown in this book, most of it is, even if we call it something…









  • Very handy github-hosted automatic page refresher, will update a given URL in an iframe at a specified interval.
  • For those who seldom face a task of configuring SSL, here’s an SSL config generator for various web servers. The point is this generator gives you a config that matches current demands in terms of security, i.e. vulnerable cyphers would be disabled, etc.
  • If you accidentally downloaded a huge file from an svn repo that you don’t want to keep in your working copy, you can remove and ignore them in the following

    You can later re-enable the folder with svn update --set-depth infinity bigFolder
  • This has been sitting in my notes for a long time: why DNS root record cannot have CNAME and how to live with it: CloudFlare’s DNS flattening. Frankly, they should just add this bit into DNS specification.
  • Bleep peer-to-peer instant messenger got released. It’s frustrating to see the industry failing at producing a modern advanced and convenient IM really. If Bleep is going to maintain (semi-)direct connections with your contact list, sending updates and notifications, that would dry your battery on mobile devices.
  • Reminder for myself: iOS firmware downloads.
  • And finally, is a very odd platform. I’ve joined it few months earlier cause we organised a group and now for some reason, decided I’m some sort of a fraudster or spammer and limited my account so I virtually cannot do anything, neither send a message, nor edit my profile. After googling I found I’m not the only one suffering: Meetup automatic fraud systems out of control. Support doesn’t seem to be cooperative at all with the only one suggestion: remove your existing account and register a new one. Well, thanks Meetup, I’ll remove my account; not sure I’ll be registering again though.

Links: Oct 24th

Computer Science is no more about computers than astronomy is about telescopes
— Edsger Dijkstra

Let me start this post with two very powerful articles in The Economist:

  • Philosopher kings. Business leaders would benefit from studying great writers.
    This resonates a lot with me, and is easily transposed onto politics. I can’t get rid of despair how shallow and primitive our politicians are en mass; all the more lame sound our journalists referring to them as ‘elite’.
  • Wealth without workers, workers without wealth. The digital revolution is bringing sweeping change to labour markets in both rich and poor worlds.
    The overview of a silent revolution that is happening around us. Engaging parallels with two previous Industrial revolutions, opportunities, trends, and the role of IT knowledge in the future.


  • Bedford’s law (here in Russian), something I was unknowingly bumping into before when trying to fairly evenly split the list of hostname. First thought of splitting by first character was obviously naive as hostnames tend to follow some patterns. Then I decided to calculate some hash function on the hostname and pick the first figure. I thought that would be fairly evenly distributed, but to my surprise it wasn’t. Now I have an explanation — Benford’s law.
  • On rpm-based system you can use following commands to restore file’s permissions and ownerships:
  • To reserve a CPU core for some particular process and make the scheduler avoid placing other processes on that CPU you need to use cpusets. There is a generic tutorial here on shielding a CPU (Serge, thanks:), but it’s much more fun to use cset tool. Just look how cool it is in the examples on stackoverflow and in this tutorial.
  • Some handy information on editing with ed, an undeservedly underused tool these days
  • A standard way to implement Redis sharding and (!) make Redis utilise multiple cores: twemproxy.
  • Compact 100-line implementation of netcat in perl. Works perfectly in pair with ssh ProxyCommand.
  • HTTP/2 is coming: RFC2616 is dead.
  • In the light of recent security vulnerabilities, even more useful site with instructions on web-server encryption configuration:
  • Say ‘Hello’ to hidepid= option in Linux; a way to hide processes from other users.
  • And as a titbit, shell niceties:
    • Progress bars and spinners: here and here, my favourite is this:
    • Best ever pidtree shell implementation (from superuser):