История о человеческой алчности
Ну штош, пришло время прийти времени и что-то о чём-то написать. На самом деле с момента создания канала произошло множество всяких приключений, причём одна часть аудитории знает об одних, другая знает о других, третья знает обо всех и один я ничего не знаю, но дело поправимое, благо будем неспеша разбираться что куда и зачем.
Итак, сегодняшний саундтрек – Nobody.one – Lifeline и дальше по списку его произведения. Вообще я люблю инструментальную музыку, позволяет сосредоточиться на поставленной задаче и не отвлекает смысловой нагрузкой (хаха, как бы не так, но сейчас не об этом, молчи наркоман)
Итак, повествование наше начнётся, пожалуй, с первых чисел июня. Будет оно на техническую тему с одной стороны и тему человеческой души с другой. Поскольку ходить вокруг да около дело прекрасное – заниматься этим мы не будем, а начнём издалека. Все мы знаем, что есть всевозможные защекоины разной степени волатильности. В основном высокой, конечно, но есть и те, которые вполне себе закрепились на одном уровне и сидят никого не трогая. Так вот, за защекоинами чаще всего стоят какие-нибудь корпорации, которые их выпускают и начинают листить на финансовые рынки, где первые успешно попадают в пары и начинают меняться на байтики другого цвета по тому или иному курсу. Конечно же, наверняка, все эти байтики подкреплены реальными деньгами, но их навыпущено уже столько, что я, лично, не уверен, что есть столько реальных денег, чтобы покрыть существующий долг по защекоинам. Ну то есть мне лично кажется, что тут как с банком. Приходишь, заказываешь на снятие огромную сумму со счетов и банк схлопывается, но я не финансовый гений и уж тем более не криптоэнтузиаст, а выдумывать каждый в этом мире горазд. Посему вернёмся к теме нашей сегодняшней длиннописи. с защекоинами разобрались, разноцветные байтики, которые обещают, что за их обмен вы получите байтики определённого цвета, которые можно обменять на бумажки, которые можно обменять на товары. Ключевое слово можно. А можно и нет. Соответственно дальше всё ещё интереснее. Есть криптоэнтуиасты которые энтузиируют, но не у себя в подвале, а вполне себе публично и народу даже нравится. В общем и целом даже мне нравилось до какого-то момента это поддерживать, но произошло очень интересное происшествие.
Давайте имагинируем дигитальную систему, в которой есть тысячи и/или миллионы узлов, общающихся и взаимодействующих друг с другом, обменивающихся какими-то данными, делающими рассчёт, эдакий суперкомпьютер поверх арендованных мощностей который жжёт ляктричество ради того, чтобы люди могли купить на хаях и уйти на лоях. И вот эта система вполне себе работает, иногда сбоит, но в целом быстро самовосстанавливается за счёт огромного количества нод и вообще вся такая из себя продуманная и проработанная. Но вдруг в эту систему начинают залезать с ногами люди, которые думаю, что вот здорово бы свои хотелки впихнуть в уже работающую систему, большая часть которой, к слову, независима от них и запущена совершенно у других людей. Но мы же мейнтейнеры, нам наплевать на ваши желания, ваши вложенные средства и усилия, мы решили, что хотим изменить camelcase на snakecase из-за чего все текущие установленные ноды перестанут работать. Сделать мы это решили потому что пришёл новыйэффективный и захотел в своём IDE видеть красивую подсветку синтаксиса, а не попытаться его настроить. В общем типичные проблемы типичного менеджмента.
Энивей, мейнтейнры захотели, мейнтейнеры сделали. А дальше развилка. Если мейнтейнеры хоть немного обременены зачатками разума они сохраняют обратную совместимость с уже существующими узлами, за счёт чего у людей есть возможность и время перейти на новую версию, обновить зависимости в своих приложениях, подготовиться хоть как-то к переезду, в общем типичный разработчик мыслящий. А есть вторая каста эффективных разработчиков, у которых есть эффективный ПМ и KPI вместо головного мозга. Так вот, эти разработчики в своей обычной манере объявляют за полтора дня до переключения, что они всё изменили и через полтора дня всё сломается, при этом изменения на столько кординальные (нет), что обновить узел заранее не представляется возможным, нужно дождаться, когда вся сеть произведёт блоки до определённого момента и только после этого появится возможность обновления. Как итог данного подхода это приводит к прекрасному. Мириады нод, сто тысяч мириад процессрных ресурсов в едином порыве вдруг оказывают никому не нужны (ах да, я забыл сказать, что вместо простой остановки на блоке и сообщении и том, что дальше не могу работать потому что что-то случилось приложение просто взрывается цветными искрами в лицо, если ты на него конечно смотришь в этот момент, ругается в консоль длиннющим стек трейсом и умирает) и никто ничего не может с этим поделать, потому что “корневая” сеть (дада, DeFi, но не совсем) ещё не обновлена и даже если ты обновляешь свою ноду – вся сеть лежит, все лежат, никто ничего не может поделать. И так продолжается около часа или полутора. Смысле обращаться за помощью нет, потому что у изобретателей по очевидным причинам что-то пошло не так и ты сидишь в своём маленьком мирке с неработающим узлом и отбиваешься от просящих тем, что поделать ничего не можешь.
Так вот, морали у этой басни как и у последующих конечно же не будет, но если ты что-то делаешь в системе, которая уже работает и в которой участвуешь не только ты – будь добр позаботиться об обратной совместимости или хотя бы постарайся предусмотреть все планы переключения чтобы минимизировать влияние на остальных участников сети. Это относится на самом деле не только к любителям защекоинов, но и в целом ко всей разработке. Однако с другой стороны, опять же, в некоторых проектах есть множество устаревших методов потому что полторы калеки не хотят переезжать на новый api по множеству несуществующих причин. В общем я думаю вы сами выберете свою сторону, а я, будучи одновременно и разработчиком, и инфраструктурщиком, и строителем, и бес его ещё знает кем, буду просто одновременно ненавидеть и презирать обе стороны вопроса.
Энжой ёр опинион.