Constantine Molchanov

20th Century Boy

Page 2


Слов порядок

Последнее время все чаще замечаю тенденцию менять порядок слов на английский манер. Выглядит это так: «разработчик на Android платформе», «сайт на Yii фреймворке».

Тот, кто так пишет, выглядит полным дураком ― по-русски ведь «платформа Android» и «фреймворк Yii». Не говорите же вы «Суворов генерал» и «Путин президент»? Чем провинились названия программ?

Попытки русифицировать этот ужас дефисом не работают: «Windows-платформа» — такой же маразм, как и «Windows платформа».

View →


Две странности русского языка

Есть в современном русском языке грамматически некорректные фразы, которые, тем не менее, широко применяются. Например, «я хуй знает» и «не суть важно».

Если вторую еще как-то можно считать валидной («суть» — это «есть» по множественном числе, но так никто не говорит), то первая — чистый фарш.

Бедные изучающие русский язык иностранцы, наверно, ломают голову, впервые их услышав.

View →


Sloth CI собирает собственные доки

С сегодняшнего дня Sloth CI сам собирает собственную документацию. Это важный момент — наконец-то можно использовать Sloth CI на продакшене без геморроя.

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

Хостинг — виртуалка A1 с Ubuntu 14.04 в Ажуре, бесплатная, потому что BizSpark. Спасибо Микрософту!

View →


Python: Будьте осторожны с .popitem()

Используйте .popitem(), только когда вы точно уверены, что элемент надо удалить.

Если надо получить значение, не удаляя элемент, используйте .copy().popitem().

View →


«Данный» → «Этот»

Практически всегда мы можем заменить слово «данный» на «этот». Смысл не потеряется, зато уйдет ненужный формализм.

View →


Одно кофе и псевдограмотность

Есть такие люди, которые любят поправлять другим людям речь. «Кофе — это он», «краси́вее, а не красиве́е», «звоня́т, а не зво́нят».

Они делают это по разным причинам: кто-то просто тешит свое самолюбие, кто-то искренне пытается помочь. Результат же обычно один — такой человек выглядит, как не в меру заебывающий зануда.

Поправлять устную и неформальную письменную речь — самое неблагодарное, бесполезное и раздражающее занятие, которое только можно себе представить при общении с человеком.

Профессионал не обращает внимания на мелочи там, где они не важны, он умеет видеть и ценить общую картину. Любитель доебывается до всего подряд, чтобы не подумали, что он не профессионал. Это не про язык, это вообще про все.

Особенно раздражает модный тренд последнего времени, что якобы слово «функционал» нельзя использовать в качестве синонима «функциональности», потому что это математический термин...

Continue reading →


Function type in Python

UPD: Function type in Python is types.FunctionType.

Running in the Python interactive interpreter this:

def spam():
    pass

print(type(spam))

produces:

builtins.function

The function type is builtins.function, quite logically.

Now, consider the following code you want to annotate:

def spam():
    def eggs():
        pass

    return eggs

How do we annotate the type of the output function spam?

Well, the first thing to try is:

def spam() -> builtins.function:
    def eggs():
        pass

    return eggs

Which is the wrong answer. Your code will crash with a NameError, because there’s no builtins.function declared.

Using function, __builtin__.function, from builtins import function, and import builtins.function won’t help.

So, what to do?

For example, this:

def spam() -> type(lambda: _):
    def eggs():
        pass

    return eggs

In fact, this is a pretty good...

Continue reading →


Multi-Language Documentation in Reverse

Note: This is a longer version of my lighting talk and Write the Docs EU 2014.

Delivering content in many languages is great. It’s also quite resource consuming. So, you have to decide what really needs multi-language support and what doesn’t.

My point is, products should be translated, dev docs should not (unless the docs are the product).

According to my experience:

  1. English docs are fresh, others are not, because there’s not enough community effort to support them
  2. Any developer can read technical stuff in English

In other words, supporting multi-language docs is expensive and unnecessary.

The real challenge is not to create content in other languages after the English orginal, but the opposite—to create content in English after the original in some other language or languages written by the developers.

Solution

Let people do what they can, but nothing over it. Developers can...

Continue reading →