Python 3.6 f-strings rant

Python 3.6 introduced a new way to format strings, called Formatted string literals, or just f-strings. Everyone on the internet seem to be happy about it. I'm definitely not.

For starters, Python 3 already had 3 built-in ways of doing it before. Just think about it... 3 ways to format strings in language that declares simplicity as a goal:

There should be one-- and preferably only one --obvious way …

more ...

Refreshing slow internet experience

I've just returned from a vacation, and I've got quite refreshing experience of using slow internet there.

The thing is, we, as engineers, are used to fast internet, fast development environment, powerful laptops/smartphones, etc.

Unfortunately this is still not the case of a huge part of the world, and it's really important for us to try and walk in their shoes from time to time. And one of my …

more ...

What I read on the internet (2017 edition)

About a year ago I was asked in comments what do I read on the internet. Back then, the list consisted from blogs of open-source products I've been using (like Atom, Elasticsearch, Icinga, Grafana), some personal blogs (Lennart Poettering, Aphyr, Julia Evans), some company blogs (Github Engineering) and basic tech press (Ars Techica, The Verge, Phoronix, LWN). And two mail lists - Devops Weekly and Golang Weekly.

Now I've been asked …

more ...

Вопросы от Дениса

Пришло письмо от читателя по имени Денис по форме обратной связи. Поскольку никаких данных для связи с ним Денис не оставил, отвечу здесь.

Привожу письмо полностью (надеюсь, автор не против):

Александр, здравствуйте! Не смог найти вашу электропочту, пишу через форму обратной связи вашего домена на рег.ру :)

С огромным удовольствием читаю твой блог, очень жаль, что больше не обновляешь его.

Помоги, пожалуйста, советом. У меня примерно 12 виртуальных серверов с …

more ...

How I became a programmer

After reading a lot of blog posts about becoming a programmer recently, I've decided to write my own.

It will be a bit different because of two factors:

  • I'm not a Software Engineer, but a Production Engineer/SRE/Admin;
  • I'm from Russia, where CS education is vastly different.

School years

School in Russia is 10 or 11 years and you start at the age of ~7 and end it at …

more ...

Board games are awesome

I's been awhile since I wrote anything in my blog, mostly because I was moving to Ireland and was busy at my new job at Big Company™.

So as I can't write about all the cool technical things we have there, I'll try to make this blog less tech-savvy and more personal and fun.

As a normal IT person I spend whole working day staring at the computer's screen. While …

more ...

Notes about type systems in popular languages

I've been kind of out of my comfort zone last 3 weeks, and was trying to use as many new languages and technologies as possible.

I've used C++, JavaScript, React, PHP and Hack to name a few, and I've noticed really cool thing - many popular programming languages are moving towards mixing best of static and dynamic typing.

  • C++ (statically typed language) now has auto keyword, specifying that compiler should deduce …
more ...

Python Type Hints are awesome

I really love Julia Evans's blog, she writes with such excitement and enthusiasm about every new bit of technology she learns. For me, this is what makes our job so great - we can learn something new and cool almost every day.

And recently I've felt very excited with some of new abilities Python now have. I'm talking about including of PEP 484, which describes Type Hints, in Python 3.5 …

more ...

Moving from Fish shell to zsh

Date Category IT Tags Fish / Zsh Lang ru

I've been using Fish shell as my daily driver for more than 2 years. I don't want to insult Fish - this awesome shell provided me with wonderful out-of-the-box experience, introduced me to autosuggestions, and required almost no configuration.

But now, after 2 years of heavy usage, I've dropped it in favor of zsh.

The main reason for the switch is simple - Fish shell is not POSIX-compatible. And while many people …

more ...

Утилита gotests и плагин для Atom

Поскольку последнее время я все больше пишу на Go, мой workflow потихоньку обрастает различными полезными утилитами.

Одним из лучших открытий (после изумительного go-plus для Atom, который превращает Atom в полнофункциональную IDE для Go) стала утилита gotests, которая позволяет генерировать табличные тесты. При этом для нее есть плагины для Sublime Text 3 и Emacs.

Я большой сторонник юнит-тестирования, и потому возможность создавать шаблоны для тестов одной командой меня очень обрадовала.

Выглядит …

more ...