Ученые переименовали 27 человеческих генов, потому что Excel их неправильно обрабатывал +14






Комитет по номенклатуре генов (HUGO Gene Nomenclature Committee, HGNC) в начале августа этого года анонсировал новые правила именования человеческих генов — теперь человеческие гены и экспрессируемые ими белки будут именоваться с учетом автоматического форматирования Excel.

На текущий момент изменения коснулись обозначения 27 генов.

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

Некоторые из переименованных генов были похожи на названия месяцев. Например, записанный в ячейку таблицы Excel ген «MARCH1» (сокр. от Membrane Associated Ring-CH-Type Finger 1) автоматически преобразовывается программой в 1 марта («1-Mar»). При выставлении вручную типа данных в отдельных столбцах Excel можно добиться нормального отображения названий генов. Но если этот файл открывать на других ПК с разными версиями офисного ПО, то таблица снова может интерпретировать наименования в даты. Microsoft за все время существования своего приложения не предложила решения этой ситуации, тем более, что в Excel нельзя отключить функцию автоматического форматирования.

Проблема с автоматической конвертацией научных символов в электронных таблицах Excel поднималась учеными неоднократно. Еще в 2004 году авторы научных работ предупреждали о том, что идентификаторы генов автоматически искажаются в программе Excel. За прошедшие пятнадцать лет проблема не была решена. Наоборот, стало выходить еще больше научных работ по биоинформатике с такими ошибками.



Чтобы избежать этой проблемы генетики провели процедуру переименования некоторых генов, например MARCH1 в MARCHF1, а SEPT1 в SEPTIN1. Старые названия также остались в работе. Их не будут использовать для других целей, чтобы избежать путаницы в будущем.

Вдобавок комитет по номенклатуре генов предложил отказаться от использования в обозначении генов обычных слов и наименований, чтобы минимизировать путаницу между ними и избежать ложных переходов при поиске в статьях. С текущего момента предполагается, что все обозначения генов должны быть уникальными, а их наименования — краткими и конкретными. Например, вместо WARS будет WARS1, а вместо MARS предложено обозначение MARS1. Новые наименования генов и обозначения для экспрессируемых ими белков не должны содержать оскорблений «в идеале на любом языке».

Исследователи поддержали процедуру переименования, так как им теперь будет проще работать и не нужно будет тратить часы на поиск и устранение таких банальных ошибок в таблицах Microsoft Excel.

Ранее в 2016 году исследование показало, что подобные ошибки в Excel встречались почти в каждой пятой из исследовательских работ, опубликованных в рецензируемых научных журналах.




Комментарии (81):

  1. v1000
    /#21932980 / +4

    Надо было не гены переименовывать, а исправить ошибку в генах у тех, кто придумал эту автозамену.

    • atomlib
      /#21933100 / -1

      Вообще не могу понять претензию.

      Программа электронных таблиц имеет чёткое применение в бизнесе и финансах. Поэтому данные она обрабатывает так, как принято в этих областях. Если в программу ввести «$100», то она подумает, что речь о валюте США. Ничего странного здесь нет.

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

      • Neusser
        /#21933162 / +2

        Вроде бы, даже Майкрософт не говорит, что эксель — исключительно для бизнеса и финансов.

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

        • atomlib
          /#21933224 / -1

          «Молодой человек! Это не для вас сделано. Не покупайте.» Это вот так должно звучать?

          Ну конечно же не говорит. Лишней покупке компания рада. Но вот менять ничего не меняет.

          • Neusser
            /#21933244

            Не говорит, потому что эксель уже давным-давно инструмент для работы со всевозможными данными. У него нет четкого применения исключительно для бизнеса и финансов. Да и не было никогда.

            • atomlib
              /#21933296

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

              Если кто-то хочет использовать программу для других целей, страшного ничего в этом нет. Но не надо удивляться странностям в работе.

              • mig126
                /#21933384

                В бизнесе он тоже косячит. У меня к примеру штрихкоды переводит непонятно во что, приходится каждый раз отключать эту хрень в нужных ячейках. Да и вообще не помню чтобы оно что то полезное делало, только мешает. А выключить как уже писали нельзя. Сильно раздражает.

              • VSOP_juDGe
                /#21933756 / +7

                Любой бизнес офигевает, увидев число в Е формате. А эксел так показывает большие числа по умолчанию :)

      • drWhy
        /#21933264 / +1

        КМК правильнее со стороны производителя ПО приучить пользователей набирать значения в определённом довольно строгом формате (тем более, что это совершенно не сложно), чем пытаться интерпретировать любой вводимый текст как число.

        Проблема существует, и она довольно нередко мешает использовать в остальном почти идеальный инструмент.
        Например, все следующие фрагменты текста будут насильно преобразованы в число 43831:
        1.1, 1-1, 1/1, 1мар, 1март
        И список этот далеко не полный.
        Ячейке, кроме того, будет навязан формат dd.mmm и при попытке редактировать её содержимое, не меняя формата (например, из макроса) можно получить сюрприз.
        Текст «мар1» преобразуется в 36951, т.е. дату 01.03.2001.
        Кому и для чего нужны все эти форматы? Хотелось бы большей детерминированности. Такое поведение программы действительно отнимает время и усилия пользователя на проверку и исправления, особенно при конвертации больших документов, отметая все разумные попытки автоматизации такой проверки.

        Плюс реакция на вводимые с клавиатуры или импортируемые из других форматов данные зависит от настроек ОС: разделителя десятичных знаков, языка ввода, формата чисел и т.д., что только усиливает бардак.

        Генетики пошли по принципу «если гора не идёт к Магомету, Магомет идёт к горе», это решило локальную проблему но создало опасный прецедент. А неудобство для остальных осталось.

        • Cekory
          /#21933562

          Насколько я понимаю, это привет из прошлого века. Был период, когда считалось, что компьютер должен пытаться понять, чего от него хочет человек. И Excel вот пытается. По этой же причине, как мне кажется, в JavaScript такое фантастическое приведение типов.


          Сейчас мировоззрение изменилось, но вряд ли будут что-то ломать из-за обратной совместимости.

          • DaemonGloom
            /#21933630 / +3

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

          • VSOP_juDGe
            /#21933784 / -2

            Если бы хорошо пытался, то вопросов бы не было.
            Попробуйте в Javascript с его «фантастическим приведением типов» сделать parseFloat(«195 784,34»).

            • Cekory
              /#21935616 / +1

              В том-то и штука, что по современным воззрениям хорошо сделать "угадайку" невозможно. Поэтому и появились разные "Явное лучше неявного" и "Должен быть только один способ".


              В приложении к Экселю это предполагает, что формат для даты только один и никто никуда ничего автоматически не конвертирует. А если надо преобразовать много дат в странном формате, то в контекстном меню для выделенных ячеек будет пункт "Попытаться преобразовать в даты". И явным образом по прямому указание преобразует. Как-то так.

  2. KonkovVladimir
    /#21932994 / -1

    • Mingun
      /#21933030

      Но если этот файл открывать на других ПК, то таблица снова может интерпретировать наименования в даты.

      • Tiriet
        /#21933160 / +1

        Это какое-то очень странное заявление. Ёксель на другом компьютере забудет обработать формат ячейки?

        • AlexZyl
          /#21933382 / +1

          Да, если они экспортируют таблицу в CSV

          • Wesha
            /#21944148

            "— Доктор, когда я делаю так (чешет левой рукой правое ухо), мне больно.
            — О, это легко исправляется: не делайте так."


            Особенно с учётом того, что XLSX формат открытый (основан на XML).

            • Chamie
              /#21944276

              Предлагаете учёным самостоятельно добавить его поддержку в весь используемый ими софт и железо?

              • Wesha
                /#21944588

                При чём тут учёные? Если я не ошибаюсь, это основной формат, в которои Excel сохраняет файлы с 2007 года.


                А про "железо, которое управляется XLS (не XLSX) файлами" впервые слышу, расскажите-ка.

                • Chamie
                  /#21949542 / -1

                  При чём тут учёные? Если я не ошибаюсь, это основной формат, в которои Excel сохраняет файлы с 2007 года.
                  Вы пост-то вообще читали, который комментируете?
                  А про «железо, которое управляется XLS (не XLSX) файлами» впервые слышу, расскажите-ка.
                  Откуда вы взяли «управляется»? Оно отдаёт данные в каком-то формате (и вряд ли это XLSX). Хотя, может и принимать их тоже.
                  А про железо, которое управляется XLSX-файлами мне бы и самому было интересно почитать.

      • ClearAirTurbulence
        /#21933388

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

        С другой стороны, их можно понять, это короткое действие форматирования в текст, если его выполнять постоянно, в итоге займет немало времени, уж точно больше, чем напечатать пару дополнительных символов в названии гена. А еще часто можно просто забыть сначала отформатировать как текст, тогда придется исправляьт, это еще дольше. А можно забыть и не заметить, тогда совсем плохо.

        • baldr
          /#21933432 / +1

          Просто людям лень каждый раз выставлять формат «текст».

          Особенно если в документе не три столбца, а, скажем, 10-15. А бывает и больше. И некоторые столбцы, действительно имеют свой формат — числовой или те же даты.

        • subcommande
          /#21933598

          уж точно больше, чем напечатать пару дополнительных символов в названии гена

          Но ведь значений (=строк) может быть (или не быть) в сотни и тысячи раз больше, чем столбцов, так что я не был бы так категоричен.

          • Chamie
            /#21934234

            Строки можно поиском с заменой поменять автоматически.

          • ClearAirTurbulence
            /#21935264

            Значения в огромных таблицах обычно заполняются не вручную.
            А если бы мне пришлось вводить их вручную, пришлось бы программируемую клаву покупать и делать на каждый ген по кнопке :)

        • /#21934174

          людям лень каждый раз выставлять формат «текст»

          Увы, сталкивался с тем, что Эксел часто игнорирует, что там стоит режим текст или режим число, и все равно пытается превратить всё в дату. :(

  3. Newbie2
    /#21933000 / +3

    Вот так компьютер оказался главней человека.

  4. ShuraorSasha
    /#21933022 / +1

    Также новые названия генов не должны содержать оскорблений «в идеале на любом языке».
    Молодцы, постарались закрыть все возможные проблемы

    • tvr
      /#21933058

      Также новые названия генов не должны содержать оскорблений «в идеале на любом языке».

      Нам не дано предугадать,
      Как слово наше отзовется, —
      Нам не дано предугадать, —
      На что SJW борцунство триггернется.

    • baldr
      /#21933068

      Белого цвета в ячейке гораздо больше чем черного в шрифте. Я ни на что не намекаю.
      Эта страница тоже сплошь белая с редкими темными символами. Ужас что творится!

      • LoadRunner
        /#21933188

        Dark theme matter?

        • baldr
          /#21933238

          Сразу видно проявление вашего мужского шовинизма… По-вашему только мужчины пользуются компьютером? ЛГБТитд тоже надо учесть.
          (Веганы и зоозащитники еще не решили на что обидеться, но тоже готовятся)

        • den_po
          /#21933710

          Одного учителя джаваскрипта за такое затравили вроде

    • BubaVV
      /#21933180

      Второй сезон будет, когда таки подберут такой язык

    • Alexey2005
      /#21934490

      Вот кстати интересно, как называется ген, который отвечает за чёрную окраску негров?

  5. dMac
    /#21933102

    А текстовый тип ячейки по умолчанию — «не наш путь» (с)?
    Много лет уже обрабатываю в экселе огромные массивы данных и эту проблему решаю установкой типа ячеек, и горя не знаю

    • Neusser
      /#21933136 / +1

      А текстовый тип ячейки по умолчанию

      где эта настройка?

      • DenimTornado
        /#21933236

        Правой кнопкой на клетка в левом верхнем угла, чтобы выделить ВСЕ ячейки и во всей таблице выставится формат.

        • Neusser
          /#21933286 / +4

          Это не по умолчанию. Это нужно делать в каждом документе.

        • Emulyator
          /#21933350 / +1

          А потом делаешь вставку из буфера обмена и формат меняется, а это частая операция.

          • ClearAirTurbulence
            /#21933864

            А вот для этого нужно делать Paste Values\Paste Formulas вместо простого Paste.
            В принципе, можно сделать клавиатурой (Ctrl+V, потом Ctrl, потом V). Чтобы не париться, сделал себе большую кнопку на ленту. Жалко, что нельзя настроить как действие по умолчанию на Ctrl-V.

            • Emulyator
              /#21934116

              В моем 2003 экселе при вставке таблицы из интернета ничего похожего сделать не получается. )

      • dMac
        /#21941756

        Вот тут кратко и по делу: https://angarec.livejournal.com/55211.html

        Цитирую:
        Итак, если вы хотите изменить формат по умолчанию для ячейки Excel, вам необходимо сделать следующее: Открываем наш файл в Excel, заходим в меню на вкладку Главная, далее ищем раздел Стили, потом в подразделе «Стили ячеек» находим стиль «Обычный», нажимаем правой клавишей мыши, в выпадающем меню выбираем «Изменить». В появившемся окне нажимаем кнопку «Формат» и во всплывающем окне выбираем необходимый нам числовой формат :) Я в данном случае выбрал формат «Общий».
        Надеюсь эта информация кому-нибудь да поможет и сократит время на поиски.

    • Emulyator
      /#21933278

      Это помогает, но не всегда. Я когда функцию «анализ отчета в MS Excel» делал (из MS Access она доступна), настрадался, ибо там не получится заранее тип ячеек выбрать, — все генерится.

  6. nerudo
    /#21933112 / +2

    — Папа, папа, а почему у меня один глаз синий, а другой оранжевый?
    — Видишь ли сынок, говорят в древности была такая программа Excel…

    • tvr
      /#21933130

      Мутатор мыть надо чаще!
      Дама рожает. Ребёнок, появившись на свет, через некоторое время начинает стремительно темнеть — ну как и положено негритёнку. Доктор, принимающий роды, успокаивает и персонал, и даму — мол, бывает — но дама в ужасе: за дверью ждёт отец, русский, как и она сама, и, узнав, кто родился, всех нафиг поубивает. Акушерка, уже готовая наплести про мутацию и гены, выглядывает в коридор, видит здоровенного мужика с мрачной рожей и огромными кулаками, и понимает: этот — точно поубивает.

      Посоветовавшись, зовут местного сторожа — он, мол, страха не ведает, да и не жалко, если что. Объясняют ему, что надо сказать отцу: мутация, гены, все дела, литр спирта за пять минут риска.

      Тот слушает, кивает и выходит в коридор:
      — Ты, что ли, Васильев будешь?
      — Ну я, — встаёт с лавки мужик.
      — Мутатор-то мыть надо, Васильев. Негр у тебя родился. Геной назвали.

  7. Emulyator
    /#21933216

    Не знаю как в последних версиях, но проблемы с автозаменой дат всегда очень раздражали в экселе. Особенно «радовало» когда выгружал в ексель данные из родного же ms access и номенклатура закодированная примерно как 1.2 или 1.2.3, превращалась в даты.

    • ZUZ
      /#21933362

      Меня убивает, что ТОЧНО ТАКАЯ же проблема присутствует и в Open/LibreOffice — там даже она заведена как баг и закрыта с формулировкой «неустранимо».
      После такого начинаешь верить во вселенские заговоры идиотов против здравого смысла.

  8. saege5b
    /#21933250

    А когда-то в Экселе была опция…

  9. McStrauth
    /#21933374 / +1

    Я, вполне возможно, чего-то не понимаю, но всё же…

    Если я ввожу в ячейку 5-10, оно преобразуется в 5 октября. Но ещё со времён чуть ли не 5 Excel учили (уж и не помню, где, но точно где-то в самом Excel), что если вы не хотите, чтобы Excel умничал, вводите '5-10 (с апострофом впереди) – тогда никто ничего ни во что преобразовывать не станет и запишет ровно тот текст, который вы ввели, и не важно, на что оно похоже.

    Я проверил – оно до сих пор работает. Уж извините…

    • baldr
      /#21933452

      Введите куда, простите? Вручную — да. Но, например, я получил результаты моделирования в csv — таблица 20 столбцов на 3000 строк.

    • Mingun
      /#21933454

      Значит, вставляете вы такой из буфера обмена текст строк тысяч на десять, а в некоторых ячейках оказались «похожие на дату» значения… Ну и как вам здесь поможет знание, что апостроф экранирует значение? Вручную будете по источнику бегать, апострофы расставлять?

    • hippohood
      /#21933456

      Когда открывается csv, там вообще что угодно может получиться на 5-10, если его сохранили неправильно или записали каким-то софтом или макросом. А если открыть в Power Xxx, или делать copy paste, то вообще ни за что поручиться нельзя. Даже я хорошо разбираясь в теме впадаю в отчаяние и пишу эдхок макрос для чтения текстовых файлов


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

      • McStrauth
        /#21933502

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


        Не хотелось бы ввязываться в дискуссию, но всё же… При импорте из CSV есть целый диалог, который позволяет задать форматы полям, разделители и т.д. Также мне кажется, что переносить десятки тысяч строк из программы в программу копипастом – немножко неправильно. Правильно было воспользоваться экспортом.

        Ну и, опять же, я, возможно, чего-то не понимаю, но мне кажется в XXI веке учёные должны так же хорошо знать свой инструмент, как и в XIX. Только тогда это было перо и астролябия, а сейчас – Excel, СУБД и т.д.

        Но я не настаиваю…

        • baldr
          /#21933540

          Все правильно, есть такой диалог. Но только в этом диалоге по-умолчанию стоит тип "General" (кажется) для всех столбцов. У меня LibreOffice и там оно называется "Standard". Это автоопределение. То есть для первых X строк вроде бы все правильно выглядит, а в середине оно заменит то что ему показалось на дату.

          • McStrauth
            /#21933576

            Но ведь я же знаю, какого типа данные в этом столбце у меня содержатся? Я же знаю, что здесь текст, или, наоборот, вещественное число, или совсем даже дата? То есть, я же могу этому столбцу поставить вместо Stadard тип Text или иной?

            • legolegs
              /#21933648

              Ну и почему бы вам не выставить на нужном вам столбце тип "дата" (в некотором гипотетическом исправленном экселе/либреофисе)? А у остальных чтобы даты не распознавались где не надо. Причём, если вы забудете указать тип "дата" — у вас ничего не побьётся, вы в любой момент можете сменить формат столбца. Или не менять, ведь вычисления над датами довольно редки, а без вычислений без разницы какой там формат — дата или текст.

              • DaemonGloom
                /#21934078 / +1

                Мы как-то наткнулись на суровое поведение экселя, когда он номера банковских счетов записывал в варианте с E и округлял. Округлял, чёрт возьми, последовательность цифр вместо того, чтобы сохранить как число без изменения.

                • drWhy
                  /#21934094 / +1

                  Ещё номера телефонов коверкает.

      • mayorovp
        /#21933720

        пишу эдхок макрос для чтения текстовых файлов

        А почему не сделать импорт данных из CSV ("Данные" — "из текстового файла" в моей версии)? Я понимаю что это не так просто, как открыть файл, но вряд ли сложнее написания макроса...

    • Darlock_Ahe
      /#21933626

      Это не работает при экспорте-импорте в другие форматы и при копировании в excel нескольких строк сразу.
      У меня подобная проблема постоянно, когда надо в таблицу 2-3 десятка ID скопировать, получается 1e100500+100500

  10. rostislav-zp
    /#21933508 / -2

    Часто возникают при работе подобные проблемы.решил просто.то, что не должно изменяться при любом формате ячеек и при автозаполнении, должно быть помещено в кавычки или другие символы типа " или *.да даже достаточно добавить этот символ в конец записи в ячейке. Если исходить из того, что ексель не так обрабатывает, как я хочу(например выгрузки из 1с), то там надо половину екселя переделывать.вопросы не к екселю, а к отсутствию навыков работы к тому, кто решил в нем работать и в нежелании искать решения

    • Emulyator
      /#21933712 / +2

      Можно конечно «технические» кавычки ставить там, где их быть не должно, можно еще, например, склеивать листики, если на один не влезло, или суммы на калькуляторе считать и в эксель вручную вводить. Все видел лично, это работает, но это не самые лучшие подходы.

  11. OnelaW
    /#21933514

    Я так понимая байка про европейскую железную колею не совсем байка).

  12. gadpaw
    /#21933614

    Круто, каждый ген будет иметь по 100+ наименований

  13. keydon2
    /#21933682

    Завтра выйдет новая версия excel в котором будет автозаменятся все кроме фразы «я тупица»

  14. akryukov
    /#21933688

    Как с этим дела в Open/Libre office?

    • mayorovp
      /#21933724 / +1

      Совместимо с Excel.

      • Am0ralist
        /#21946068

        Совместимо с Excel.
        нееет, там лучше.
        1-1
        1-2
        1-3
        Вставляю — у меня сразу импорт текста и на стандарте не преобразуется. А эксель — сразу в месяца преобразует. Либера 6.2.4.1 х64 vs Эксель 16

  15. baldr
    /#21933738 / +1

    На самом деле тут можно диссертацию написать по исследованию интеграции компьютеров в нашу жизнь. Возможно уже и написаны и не одна.
    Переименовали названия генов потому что компьютеру так удобнее…
    Вполне можно предсказать, например, что в ближайшие годы будет гораздо меньше детей названо именами "Siri", "Alexa", "Алиса". Потому что случайно позвав дочку можно активировать робота.

    • diogen4212
      /#21933832 / +1

      помню, была статья, как тяжело жить человеку в США с фамилией Null
      но можно представить жизнь какого-нибудь не менее грустного ирландца с фамилией O'Drop Database'…

      • keleg
        /#21933960

        Ну, были уже проблемы у голландок с фамилией hacker

  16. drWhy
    /#21934074 / +2

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

  17. Alexey2005
    /#21934526 / +1

    Ну, учёным не привыкать. Они и не с таким работали. Большинство научного расчётного софта — это какие-то убогие наколеночные поделки с нулевым юзабилити, как правило на древнем fortran'е, которые даже собрать из исходников тот ещё квест.
    Вменяемой документации к ним, конечно же, нигде никакой нет, в научных статьях пишут только о результатах, но уж точно не будут останавливаться на формировании правильных config-файлов, чтоб эта муть выдавала ошибки не при каждом запуске, а хотя бы через раз.
    И даже если исходники вдруг открыты, никто кроме разработчиков всё равно не сможет ими воспользоваться, потому что там лютое нагромождение костылей, и только двое дедушек во всей исследовательской группе знают, как их правильно обходить. Ну и 100500 скриптов где-то распихано, которые позволяют частично автоматизировать этот обход.
    Попробуйте, к примеру, с ROCKE-3D (программа для климатического моделирования) поработать, чтоб так сказать приобщиться к выхлопам научного программирования. Ну или к GAUSSIAN'у, к нему хоть что-то похожее на руководство имеется. И это ещё не худшие образчики научного софта, последний так за большие деньги продаётся.

  18. santjagocorkez
    /#21935186

    Гугл Документы:

    5-10 в ячейку по умолчанию — дата
    '5-10 в ячейку по умолачнию — текст
    paste 5-10 в ячейку, формат которой установлен в plain text — текст

    MAR1 в ячейку по умолчанию — дата
    'MAR1 в ячейку по умолчанию — текст
    paste MAR1 в ячейку plain text — текст

  19. sasha1024
    /#21936350

    Жуть какая…

  20. dbalabanov
    /#21942030

    интересно, с помощью алиасов никак нельзя было решить?

  21. dMac
    /#21943312

    Извините за повтор, просто не каждый будет искать комменты в середине этой простыни.

    https://habr.com/ru/news/t/514202/#comment_21941756