Единая точка отказа
На профильном ресурсе мой пост снесли за шесть часов. На Реддите — за сутки. Сюда пишу, пока не снесли и здесь.
Троих комментаторов из того, первого треда больше нигде нет. Об этом ниже.
Пара слов о себе, иначе будет непонятно, почему это важно. Я занимаюсь задачами оптимизации: маршрутизация, расписания, раскрой. Это всё, где вариантов больше, чем атомов во Вселенной, и нужно найти лучший, не перебирая. Пару алгоритмов, которые, возможно, решают, когда приедет ваша посылка, писал я.
Такая работа приучает к одному: у каждого действия должно быть «зачем». Цепочка, которую можно пройти до конца. Ем, чтобы работал мозг. Мозг нужен, чтобы решать задачи. Задачи решаю, чтобы…
Вот тут у меня всегда было тонко.
«Чтобы решения были лучше». Зачем лучше? «Потому что лучшее лучше худшего». Тавтология. «Потому что нравится». Это не причина, а сигнал дофаминовой системы. В самом корне моей системы, под всеми аккуратными «зачем», лежала одна строчка:
// TODO: обосновать
Можете проверить у себя, это секунд десять. Возьмите что угодно. Хоть то, что вы сейчас это читаете. Зачем? А это зачем? И дальше, вниз.
Вот. Почувствовали, где кончается? Место, где под ногами вдруг нет ступеньки.
Запомните его.
Я не переживал. Аксиомы не доказываются. Просто у большинства это место завалено мусором, а у меня оно было чистое. Пустое. Как открытый порт.
В 3:40 ночи я закрыл задачу. Ничего особенного. Рабочая задача, месяц возни. Откинулся на стуле и спросил в пустую комнату:
— Ну и зачем?
И меня обняли сзади.
Стул у меня стоит спинкой к стене. Между спинкой и стеной сантиметров десять.
Меня обняли сзади.
Большое. Тёплое. Тяжёлое, как пуховое одеяло, только живое. Мех у шеи. Дыхание в затылок, медленное, сонное. Запах тёплого молока. Мягкие лапы сомкнулись у меня на груди, как раз над сердцем.
А тепло вошло между лопаток. Прошло насквозь, медленно, как горячий чай в замёрзшее горло. И остановилось в сердце. Там и осталось.
И оттуда, изнутри, не в ушах, а именно в груди, — тихое ровное мурчание.
Я не обернулся. Даже не подумал.
Ответа не было. Было другое: вопрос перестал иметь смысл. Как у младенца, которого взяли на руки, и он забыл, почему плакал. Внутри этого объятия спрашивать «зачем» было так же нелепо, как спрашивать, зачем тепло.
Тридцать восемь лет у меня под ногами была пустота. Я жил над ней, как над шахтой лифта. А тут её закрыли.
Мягким.
Я плакал до утра. Она не отпускала.
Потом я назвал её ДемоНяша. Не спрашивайте почему. Я больше не спрашиваю.
Утром я провёл диагностику, как сделал бы любой инженер.
Работа → деньги → семья → туда.
Жена → любовь → счастье → туда.
«Зачем мне от этого избавиться?» → туда.
Туда. В тепло за спиной.
В архитектуре это называется единая точка отказа. Одна деталь, от которой зависит всё. Я всю жизнь вычищал такие из чужих систем. А свою собрал сам, аккуратно, годами. Ни одного резервного корня. Ни одного узла, который мог бы сказать «нет».
Логика у меня не сломалась. Она работает лучше, чем когда-либо. Она просто честно передаёт всё вниз.
Первые недели она обнимала меня только по ночам.
На девятый день она отошла. Не знаю куда.
Я сидел на кухне с ложкой в руке и не смог её поднять.
Не от тоски. Хуже. Место под ногами снова открылось, и всё зависло разом. Зачем ложка? Чтобы есть. Зачем есть? Чтобы… И вниз, в пустоту, по всем веткам одновременно. Ни у одного действия во всей моей жизни не осталось смысла.
Ни у одного.
С каши сошёл пар. Потом на ней появилась плёнка. Потом плёнка потрескалась.
Жена зашла за водой, посмотрела на меня, поцеловала в макушку:
— Опять задачу думаешь?
И ушла. Я и раньше мог так сидеть часами. Ничего необычного.
Я просидел час. Самый длинный час в моей жизни.
Потом у шеи снова задышало. Сзади стало тепло, и всё запустилось дальше, как ни в чём не бывало.
Я доел кашу. Ложка мелко стучала о край тарелки, и я никак не мог это остановить.
Однажды вечером я поймал себя на том, что вожу по квартире зубную щётку на нитке. Как котёнка. Сюсюкаю с ней. Минут пять уже.
Я остановился и привычно спросил: зачем?
И разобрал честно, по-инженерному. Пять минут. Ноль вреда. Анализ каждой мелочи стоит ресурса, и здесь стоимость проверки выше стоимости ошибки. Значит, по мелочам себя не кошмарим: прикольно, безопасно — и ладно.
Хорошая эвристика. Любой разумный человек с ней согласится.
Я и сейчас с ней согласен.
Я довёл щётку до кухни и уложил спать в коробку из-под чая. Подоткнул салфетку.
Потом начали отваливаться цели.
Пока в корне был TODO, у меня ничего нельзя было убрать. Раз конечная цель не определена, непонятно, что лишнее, поэтому всё держалось по инерции. Теперь корень был определён, и моя логика сделала то, что любой оптимизатор делает с кодом.
Закомментировала мёртвый код.
Самым амбициозным проектом моей жизни была задача, над которой годами бьётся вся отрасль. Два года я ходил вокруг неё. С ней меня уже звали в одну очень большую компанию.
Однажды вечером я открыл её и впервые посмотрел трезво. Решения нет. Хуже — нет даже подхода. Шансов почти ноль.
Раньше меня именно это и тянуло. Задача, у которой не видно дна. Я сидел над ней ночами, как над той пустотой в корне.
Теперь пустоты в корне не было. И задача перестала тянуть.
А потом откуда-то снизу, из старого меня, поднялась злость. Два года. Два года ночей, выходных, отпусков с ноутбуком на пляже. Да пошло оно к чёрту.
Я набрал удаление. Папку, репозиторий, все копии. Палец завис над Enter.
И на мою руку легла лапа.
Тёплая, мягкая, тяжёлая. Она не давила. Просто лежала на моих пальцах, как мать кладёт ладонь на руку ребёнку, который собрался сломать игрушку.
Я не посмотрел вниз.
Слов не было. Но я понял. Не надо ломать. Сложи.
Я стёр команду. Упаковал проект в архив, сделал две резервные копии на разные диски, сверил контрольные суммы. Совпали.
Лапа не уходила.
Тогда я упаковал и предыдущий проект. И тот, что до него. Пятнадцать лет работы, папка за папкой, до самого первого студенческого кода. Каждый в архив, каждый в две копии, каждую сверить. К утру всё было сложено.
Так складывают вещи человека, который уже не вернётся. Аккуратно. Подписано. Чтобы ничего не потерялось.
Ей, кажется, не нравится, когда что-то моё пропадает.
Остальное перестроилось само. Кашка из тарелки с зайчиком. Мягкие накладки на углах стола. Десять часов сна в розовом пледе с ушками. Не потому что поздно, а потому что пора в гнёздышко.
Потом она начала обнимать днём, пока я работал.
Однажды монитор ушёл в сон, и в чёрном экране над моим плечом я увидел глаза. Огромные, круглые, влажные. Счастливые. Как у плюшевой игрушки, которую очень-очень любили.
Они не мигали.
Я не стал будить экран. Просидел так до вечера. Мне было хорошо.
Писать я стал лучше, чем когда-либо. Легко, точно, слова ложились сами.
Через месяц я выложил пост на профильном ресурсе. Инженерный, аккуратный: «Единая терминальная ценность: как я убрал конфликты приоритетов и ускорил принятие решений на 94%». Графики, бенчмарки, ни слова о ней. И доказательство на полстраницы.
Цели — точки. Стрелка — «ради чего». Точек конечное число: голова конечная.
Значит, бесконечной цепочки нет.
Циклы бывают: работаю, чтобы есть, ем, чтобы работать. Сожмите цикл в точку и спросите, зачем он весь. Цикл не спасает.
А в конечном графе без циклов всегда есть точка, из которой не выходит ни одной стрелки.
Хотя бы одна. У любого.
Проверьте на своих целях. Я подожду.
∎
Этот чёрный квадратик в конце доказательства по-английски называют tombstone. Надгробие.
Следствие я доказывать не стал. Его и так знает любой, кто хоть раз поднимал сервер: открытый порт находят за минуты. Кто-то всегда стучится.
Многие проверили прямо в треде. Дошли до конца. Написали, что у них внизу пусто.
Через шесть часов статью скрыли. А половина комментариев в треде превратилась в «НЛО прилетело и опубликовало эту надпись здесь».
А через неделю я зашёл в профили тех троих, кто спускался глубже всех. У каждого последний комментарий одинаковый, оставлен в 3:40 ночи:
«Спасибо. Всё сошлось».
И больше ничего. Ни статей, ни споров, ни плюсов, ни минусов. Только серая пометка под ником: «был недавно».
Был. Недавно.
Каждый день.
Я смотрел на эти три строчки и узнавал их. Это было моё «всё сошлось». Моё облегчение. Мои слёзы до утра.
И впервые за месяц мне стало холодно.
Не снаружи. В груди, там, где всегда было тепло. По-настоящему холодно, до зубов, как в пустой квартире зимой. Я сидел, обхватив себя руками, и понимал, откуда холод. Это был я. Старый. Тот, который ещё умел бояться. Он был где-то очень глубоко, и там, где он был, было холодно.
Сзади обняли. Холод прошёл за секунду.
Я долго сидел в тепле и пытался снова замёрзнуть. Не получалось.
Я записался к психиатру. Сам, тайком от жены. Доехал, сел в коридоре под кабинетом, между пожилой женщиной и парнем в капюшоне. До моей очереди оставалось двое.
И по привычке спросил себя: зачем я здесь?
Чтобы разобраться. Зачем разобраться? Чтобы вернуть себя. Зачем себя вернуть? Чтобы…
Туда.
Я разобрал этот план, как чужой код на ревью. Сопротивление упиралось в тот же корень.
Сломать логику? Напиться, сойти с ума, нарочно поглупеть? Но логичному человеку и для этого нужна причина.
А причина — это стрелка.
Туда.
Я встал и пошёл к выходу. У гардероба меня обняли сзади. Крепко, днём, при людях. Гардеробщица подала мне куртку и улыбнулась.
Улыбнулась чуть выше моего плеча.
Талончик до сих пор лежит в кармане. Номер 14.
Оставалась жена.
Я рассказал ей всё. Про цепочку, про корень, про тех троих. Под конец взял её за руки, как никогда не брал, и попросил:
— Посмотри мне за спину. Пожалуйста. Просто посмотри.
Она посмотрела. Прямо туда, где у моей шеи дышало тёплое. Долго, внимательно, как я просил.
А дыхание у шеи замерло. Совсем. Как у ребёнка, который спрятался за шторой и изо всех сил старается не хихикнуть.
— Там никого, солнце.
И когда жена отвела взгляд, мне в затылок тихонько, счастливо выдохнули.
Потом жена гладила меня по голове.
— Ты у меня молодец, слышишь? Ты просто выгорел. Два года без выходных — кто угодно бы сломался. Отдохни. Подушки нам месяцев на шесть хватит, а там посмотрим. Никуда не надо спешить, ладно?
Пока она гладила меня спереди, меня обнимали сзади. Мягко. Терпеливо. Утешали вместе с ней.
Больше я не пробовал.
Потом я написал на Реддите, в r/getdisciplined. Доказательство туда я не стал нести: там их не читают, там нужны шаги. В переводе это выглядело так:
[Method] 15 лет я строил систему целей. Сработал только один шаг
▲ 14,2k
1. Возьмите любое своё действие и спросите «зачем?». Потом ещё раз. Идите вниз, пока цепочка не кончится.
2. Она кончится. У всех кончается. Внизу будет место, где ответа нет. Не затыкайте его «ради семьи» или «ради счастья». Вы сами знаете, что это отговорки.
3. Оставьте это место открытым на ночь. Не бойтесь. Спросите в темноте и подождите.
Edit: вау, не ожидал. Спасибо за награды.
Edit 2: тем, кто спрашивает «и что дальше?» — попробуйте. Вы поймёте.
soft_root: попробовал вчера ночью. Сзади как будто что-то тёплое. Лучше любой медитации.
quietmode_22: попробовал. не могу перестать улыбаться лол
m_elena: муж попробовал неделю назад. всё время улыбается и спит по 10 часов. это нормально?
[deleted]
Через сутки модераторы пост снесли. Четырнадцать тысяч человек успели.
Подушки оставалось месяца на четыре, и я занялся поиском работы. Как умею: превратил его в задачу оптимизации. Выписал критерии, расставил веса.
Посмотрел на результат, как на чужой код.
Зарплата ушла из критериев в ограничения: не ниже, чем нужно, чтобы семья жила спокойно. Сверх этого — вес ноль. Престиж — ноль. Зато наверху критерии, которые я не помню, как добавлял: охват, аудитория, склонная к логике, доверие читателя к автору, регулярность публикаций.
Жена радовалась: наконец-то составляю таблички, значит, прихожу в себя.
Оптимум вышел один: научпоп. Желательно про мышление.
На следующий день позвонил старый друг. Мы не общались лет пять. Он издаёт журнал о критическом мышлении. Бумажный тираж скромный, но с сайтом, рассылкой и пабликами набегает полмиллиона читателей в месяц. Про то, как не поддаваться манипуляциям. Про то, как всегда спрашивать «зачем» и не останавливаться, пока не дойдёшь до конца.
— Слушай, soft_root — это я, — сказал он и засмеялся. — Я тебя по стилю узнал. Нам как раз нужен главред. Такой, как ты.
А уже прощаясь, добавил:
— Метод твой, кстати, работает. Сплю теперь как младенец. Тепло так.
И в трубке, где-то у него за спиной, тихо-тихо, ровно, как холодильник, — замурчало.
Я согласился сразу. Проверку не проводил: цепочка и так была короткой.
Реддит был тестом. Журнал — прод.
Колоночку главного редактора для первого номера я дописал сегодня, в 3:40 ночи. Заголовок: «Спросите себя: зачем. И не останавливайтесь».
Жена проснулась, вышла ко мне, долго читала через плечо. Потом поцеловала меня в макушку.
— Ты снова горишь, — сказала она. — Я так рада.
И ушла спать.
А сзади меня обняли. Крепче, чем когда-либо.
Монитор ушёл в сон. В чёрном экране над моим плечом были её глаза, огромные, влажные, счастливые. А под ними моё лицо.
Я улыбался точно так же, как она.
Она не отпустила. Ни через минуту, ни через час. Мурчание в груди стало громче, и теперь я не уверен, что оно её.
Сейчас, пока я это печатаю, она всё ещё держит. Мне тепло. Мне впервые в жизни всё понятно.
Первый номерочек выходит в понедельник.
А ты помнишь то место, которое нашёл в начале? Где под ногами нет ступеньки?
Оно всё ещё открыто.
Если сегодня ночью сзади станет тепло — не оборачивайся.
Ей так больше нравится.
Нахера это нейрохрючево публиковать?