
Главный сервер
Список каналов уже не пугал – глаза привыкли к этим названиям. «safe_zone» подсвечивался жирнее остальных: внутри было непрочитанное.
Она кликнула.
Пост оказался не длинным. Пара строк от пользователя с мягким ником «снежныйшум»:
«Сорок минут назад вышла от психиатра. Сказал, что то, что со мной, – это „не болезнь, а характер“, и что „надо просто собраться“. Я третий год не могу встать с кровати нормально, но, видимо, я просто… ленивая. Извините, что вообще сюда пишу».
Под ним висели реакции – сердечки, «с тобой», «обнимаю». Пара человек уже ответили «это звучит очень больно» и «ты не обязана извиняться за свои чувства», но всё равно ощущалось, будто текст повис в воздухе, как человек, ступивший на мост и не уверенный, есть ли перила.
Соня уставилась в экран, ощущая, как привычный ком в горле поднимается выше.
Фраза «это не болезнь, а характер» ударила особенно больно. Слишком знакомо.
Пальцы сами опустились на клавиатуру.
Первый импульс был написать: «твой психиатр – идиот».
Она даже набрала это. Посмотрела. Стерла.
Если тут есть какие-то свои негласные законы, вряд ли они включают прямое оскорбление чужих врачей.
Она выдохнула, заставила себя формулировать иначе.
«Снежныйшум, мне очень жаль, что тебе сказали такую фразу. Она звучит обесценивающе. Три года тяжело вставать с кровати – это не „ленивый характер“. Это действительно тяжело. Ты уже сделала много просто тем, что дошла до врача и написала сюда. Если захочешь, можем вместе подумать, искать другого специалиста или хотя бы собрать вопросы, с которыми идти дальше. Но даже если нет сил – ты всё равно не „просто ленивая“. Ты человек, которому сейчас очень плохо».
Она перечитала. Пальцы дрожали. Слишком серьёзно? Слишком много «ты»? Слишком… вообще?
Привычная часть мозга зашептала: «кто ты такая, чтобы лезть со своими умными мыслями, ты даже себе помочь не можешь».
Но синяя кнопка «отправить» уже светилась, как красная.
Соня прикусила губу, нажала «отправить».
Сообщение улетело.
Через пару секунд под ним появилась маленькая серо-зелёная галочка: доставлено.
Через ещё несколько – реакция в виде благодарного смайлика.
Ник «снежныйшум» не ответил словами. Но сама реакция была чем-то вроде слабого кивка.
В личке мигнуло новое сообщение:
«root_wolf: Вот поэтому я и звал Архитектора».
Она закатила глаза, хотя улыбка сама поползла вверх.
«Я просто первая проснулась», – написала она.
«Ты первая сказала то, что я бы попытался превратить в три абзаца про статистику, – ответил он. – Иногда людям нужен не анализ, а человеческое „я верю, что с тобой правда тяжело“».
Она задумалась.
«Слушай, – добавила через пару секунд, – а твой закреп в safe_zone… Он очень правильный, но довольно сухой. Как инструкция на микроволновке. Можно я попробую его… переписать? С твоего, конечно, благословения».
Минуту он не отвечал. Она уже успела представить, как он на том конце напрягся, как допустил ошибку в идеальном коде доверия: «пришла, ничего не понимает, и уже хочет переписать мой первый канал».
Потом всплыло:
«Я как раз собирался просить тебя об этом. Архитектор же. Я могу сделать логические правила, но мне тяжело с формулировками, которые не звучат как техзадание».
Она почувствовала облегчение почти физически.
– Тогда открывай блокнот, Волк, – пробормотала она вслух и перешла в голосовой.
Они сидели в пустом голосовом канале вдвоём, как в полутёмной комнате с одной настольной лампой. На экране был открыт текст закреплённого сообщения.
Старый вариант гласил примерно следующее: «Канал для выражения эмоциональных состояний. Запрещено обесценивание, газлайтинг, советы без запроса. Модерация осуществляется…» – дальше шёл мини-юридический трактат.
– По сути – всё идеально, – сказала Соня. – По ощущениям – как инструкция на стене цеха.
– Я боялся звучать навязчиво тёплым, – признался Ден. – И боялся обещать того, чего не смогу гарантировать.
– Давай сделаем так, чтобы в первом абзаце человек понял, что он имеет право сюда зайти, даже если ещё не придумал «правильные» слова, – предложила она.
Пальцы быстро набрали новый текст:
«Это место, куда можно прийти с любыми чувствами – даже если ты сам считаешь их „глупыми“, „слишком сильными“ или „недостаточно серьёзными“. Здесь не требуют „собраться“ и не сравнивают, у кого хуже. Здесь можно просто сказать „мне плохо“ – и этого достаточно, чтобы тебя услышали».
Ден молчал так долго, что Соня успела трижды пожалеть, что лезет со стилем в его святыню.
Потом он тихо сказал:
– Вот. Вот это то, что я хотел, но не мог… сформулировать.
– Я просто перевела с языка чувств на язык текста, – отмахнулась Соня. – Дальше можно оставить твои пункты про триггеры и газлайтинг, только разбить на строки, чтобы не слипалось.
Они вместе раскладывали правила так, чтобы каждое выглядело не как приговор, а как обещание.
«Мы не будем говорить „сам виноват“» – вместо «запрещено обвинять пострадавшего».
«Ты не обязан отвечать на вопросы, если устал» – вместо «не злоупотреблять вниманием».
Каждое такое «мы» немного удивляло Соню. Привычнее было видеть в правилах «администрация оставляет за собой право». Здесь администрация почему-то включала себя в общее «мы» вместе с теми, кто едва держится.
– Хочешь, покажу одну штуку? – вдруг сказал Ден.
– Ты уже показываешь, – напомнила она.
– В смысле, реакцию людей в реальном времени, – пояснил он. – Я сейчас обновлю закреп, а ты посмотри, что будет.
Он нажал пару клавиш. Закреплённое сообщение сменилось прямо у неё на глазах, словно кто-то сменил вывеску над дверью.
Через пару минут под закрепом начали появляться реакции: сердечки, «спасибо», «как будто про меня». Один из участников написал: «я три дня не решался сюда написать, потому что не знал, достаточно ли у меня „по шкале страданий“. Сейчас стало легче нажать на поле ввода».

Соня прикусила губу.
– Вот, – тихо сказал Ден. – Ради такого я вообще всё это и городил. Архитектура!
– Это не архитектура, это просто пару слов, – возразила она.
– Слова вообще не бывают «просто словами», – отозвался он. – На них тут многое держится.
Она хотела сказать что-то саркастическое, но не получилось: в горле встал ком.
– Раз уж ты официально вмешалась в святая святых, – Ден сделал вид, что кашляет строго, – давай я познакомлю тебя с теми, кто вообще помогал это поднимать.
– Это чтобы они сразу могли пожаловаться на меня главному? – буркнула Соня.
– Это чтобы ты поняла, что дом строил не один человек, – спокойно ответил он.
Они перешли в голосовой «кухня». Там уже кто-то был.
– Волк, ты привёл строителя или ревизора? – первым откликнулся Феникс.
Голос был всё такой же живой, чуть ироничный.
– Архитектора, – поправил Ден. – Лиса, знакомься: это Феникс.
– Привет, Лиса, – дружелюбно сказал тот. – Двадцать лет, официально считаюсь «сначала всё сломал, потом выжил». Здесь почти с самого начала. Следить, шутить, иногда вытаскивать людей за шкирку из «я никому не нужен».
Соня улыбнулась:
– Звучит как должностная инструкция супергероя-реалиста.
– Скорее супергероя-уставшего, – поправил он. – Но тут хотя бы можно быть уставшим вслух.
– Хаос? – позвал Ден.
– Я… тут, – очень тихо откликнулся другой голос. – Привет. Я Хаос. Мне шестнадцать. Я мало говорю.
– Но много слышит, – вмешался Феникс. – И умеет не делать вид, что ему не страшно. Это, между прочим, супернавык.
– Ненавижу, когда меня спрашивают «почему ты такой тихий», – выдохнул Хаос. – Здесь спрашивают «хочешь, чтобы я посидел с тобой в тишине?». Поэтому… я здесь.
Соня кивнула, хотя знала, что никто этого не видит.
– Очень хорошо понимаю, – ответила она. – Мне всегда казалось, что молчание – это преступление. Приятно знать, что есть места, где оно – формат.
В чат параллельно упало сообщение от «Тихого»:
«Я Тихий. Мне 22. Я не говорю, но читаю почти всё. иногда пишу. Если что – могу быть тем, кто просто рядом в чате, когда все остальные уже легли».
Соня набрала:
«Рада знакомству. Такие „просто рядом“ очень ценны».
– А я Зеркало, – ещё один голос, с лёгкой хрипотцой. – У меня… нас несколько. Официально это записано как диагноз, неофициально – как «здесь нас любят каждого и всех».
– Зеркало помогает видеть разных себя, – пояснил Ден. – И напоминать, что «я сегодня другой» – это не повод для расстрела.
Соня рассмеялась:
– Я уже не успеваю записывать ваши формулировки.
– А ты запоминай ощущениями, – предложил Феникс. – Если ты архитектор, тебе важнее, как пространство дышит, чем как оно подписано.
Незаметно для себя она перестала сутулиться. Спина выпрямилась сама собой, плечи напряглись.
Когда все разошлись кто куда, они остались опять вдвоём.
– Они приняли тебя, – констатировал Ден.
– С чего ты взял? – Соня попыталась не выдать слишком сильную надежду.
– Хаос вообще не всегда здоровается вслух, – ответил он. – Тихий не всегда сразу пишет. А Феникс сдержался и не выдал ни одной дурацкой шутки про «дизайнера от бога». Это высшая форма доверия.
Она фыркнула:
– Ну всё, теперь придётся соответствовать.
– Не придётся, – возразил Ден. – В этом смысл дома. Здесь можно не соответствовать. Можно быть.
Слово «быть» повисло в воздухе и осталось тяжёлым, но тёплым.
Соня выключила микрофон, откинулась на спинку стула и впервые за долгое время поймала странное состояние. Ей по-прежнему было тяжело. Никуда не делись ни пустота, ни привычное «а смысл?». Но к этому добавилось ещё что-то странное и непривычное – лёгкое ощущение, что без неё здесь было бы чуть-чуть иначе.
Не спасительница, не центр вселенной. Просто человек, у которого сегодня получилось кому-то пригодиться. Для её последних месяцев этого было непривычно много.
Глава 6. Ремонт
Утро у Дена началось с ошибки. Не в коде – в интерфейсе.
Код как раз давно вёл себя прилично: тесты проходили, логов с красными строчками не было, сервер не падал. Зато панель управления ролями выглядела тесной, кривой и без логики.
Он сидел над этой панелью уже третий час.
Слева – дерево каналов. Справа – таблица: роли, галочки, права. В голове всё складывалось в ясную конструкцию: сверху – админы, ниже – модераторы, ещё ниже – участники, у каждого свой набор флажков «можно / нельзя».
Логично. Стройно. И – абсолютно нечитаемо.
– Это невозможно, – пробормотал он. – Всё же понятно.
В ответ внутри ехидно хмыкнул голос, очень похожий на Соню: «Понятно кому?»
Он скривился и всё-таки открыл вчерашний чат.
На экране всплыл её скриншот этой самой таблицы с подписью: «Волк, честно, это похоже на схему метро для людей без глаз».
Вчера он отшутился. Сегодня это уже чувствовалось не как шутка, а как баг-репорт.
В правом нижнем углу мигнуло новое уведомление: входящий голосовой вызов.
«Лиса».
Он машинально поправил наушники, щёлкнул «принять».
– Доброе утро, архитектор, – голос Сони был ещё сонный, но в нём уже слышался азарт, а не пустота.
– Оно не доброе, – честно сообщил Ден. – Мой интерфейс официально признан преступлением против человечества.
– Это я ещё мягко выразилась, – отозвалась девушка. – Давай картинку сюда, я буду страдать по делу.
Он включил демонстрацию экрана. Таблица с ролями заняла половину монитора: мелкий шрифт, тонкие границы, в каждом столбце – цепочки галочек. Для него это была аккуратная схема прав доступа. Для всех остальных – визуальный белый шум.
Соня молчала дольше обычного.
– Скажи честно, – выдала она наконец, – ты это для людей делал или чтобы тебе самому было спокойно?
– Для системы, – автоматически ответил Ден.
– Вот, – вздохнула Соня. – А люди – это побочный эффект у системы, да?
Он поморщился.
– Формулируй, – попросил он. – Что именно не так?
– То, что ты рисуешь электрический щиток, а не план квартиры, – сказала Соня. – Пользователь не мыслит категориями «роль имеет флаг на чтение в этом канале». Пользователь мыслит «мне сейчас страшно, я хочу просто почитать» или «мне плохо, я хочу куда-то вывалить» или «у меня есть ресурс поддержать других».
Ден задумался.
– То есть схема по правам – норм, – медленно произнёс он, – но интерфейс должен говорить не языком прав, а языком сценариев?
– Ура, – фыркнула она. – Ты сейчас почти сказал слово «опыт», но не будешь, да?
– Не буду, – согласился Ден. – Слишком маркетинговое.
– Тогда пусть будет так: у каждого есть свой маршрут по серверу, – предложила Соня. – И ты, как главный архитектор сети тоннелей, должен не только разложить провода, но и повесить таблички «сюда, если страшно», «сюда, если хочешь помогать», «сюда, если ищешь уголок интроверта».
Ден невольно хмыкнул. Образ оказался слишком точным.
– Давай по шагам, – сказал он. – Приходит новый человек. Что он говорит?
– В идеале – ничего, – ответила Соня. – В реальности: «я не знаю, что тут делать». Но если он всё-таки решится сформулировать, то будет что-то из серии:
– «Я хочу просто посидеть и почитать, мне пока страшно писать».
– «Мне хреново, но я не уверен, что это „достаточно хреново“, чтобы грузить».
– «Я хочу быть полезным, если могу».
– Так, – Ден откинулся в кресле. – Под сценарий «посидеть и почитать» я бы отдал safe_zone, ночное_уединение и творческий – если просто смотреть.
– Вот, – оживилась она. – Значит, это маршрут «наблюдатель». Для него в интерфейсе эти комнаты должны быть первыми в списке.
– А если «мне хреново»?
– Тогда safe_zone, шёпот, поддержка. И рядом можно объяснить, чем они отличаются: «сюда, если сил писать мало», «сюда, если ты готов расписать, что происходит», – Соня задумалась. – Чтобы человек не чувствовал, что делает «неправильный выбор».
В глубине мыслей щёлкнул знакомый тумблер: «задача принята».
– Это реально граф, – пробормотал Ден себе под нос. – Один и тот же набор узлов, разные веса рёбер, разные стартовые точки.
– Волк, – перебила Соня. – Людей «узлами» называть запрещено правилами приличия.
– Хорошо, – сдался Ден. – Это граф комнат. Люди – это… агенты маршрутизации.
– Всё равно жутко звучит, – фыркнула она. – Но направление верное.
Они переключились в совместное управление, и мышь плавно переехала к Соне.

– Смотри, – Лиса раздвинула таблицу, – вот у тебя «гость», «участник», «проверенный», «модератор», «ядро». Для тебя это уровни доступа. Для обычного человека это ничего не значит.
– Эти названия уже обсуждались, – напомнил он. – Роль «ядро» придумал Феникс, я не могу её трогать, это священное.
– Спокойно, паника отменяется, – усмехнулась Соня. – Я не про сами названия, а про то, как это показывается. Ты же можешь дополнить. Типа:
– «Гость – можно заходить почти везде, лучше молча».
– «Участник – можно писать в открытых комнатах».
– «Проверенный – ещё и помогать другим».
– «Ядро – те, кто тут таскают кирпичи и чинят трубы».
– Какой ужас, – сказал он. – Меня записали в сантехники.
– Это лучше, чем в богов, – заметила Соня. – В бога ты и так играешь по умолчанию, когда решаешь, кому куда можно и нельзя.
Ден промолчал.
С одной стороны, его радовало, что кто-то вообще видит этот слой работы. С другой – от фразы «играешь в бога» руки сразу захотелось убрать от настроек.
Дальше спор перешёл к тому, что Ден считал священным: к плотности информации на квадратный сантиметр экрана.
– Убери, пожалуйста, этот микрошрифт, – попросила Соня уже третий раз. – Люди не обязаны включать орлиный режим зрения, чтобы понять, куда им можно писать.
– Если сделать крупнее, всё перестанет влезать в один экран, – возразил он. – Уйдёт общая картина.
– И что? – она искренне удивилась. – Скролл придумали не только для бесконечных лент с мемами.
– Скролл – это потеря контекста, – упрямо сказал Волк. – Ты видишь только кусок схемы и не понимаешь, как он связан с остальным.
– Микрошрифт – это потеря глаз, – так же упрямо отрезала Лиса. – Ты не понимаешь, как от него болит голова, когда у тебя и так мозг на минималках.
Ден раздражённо щёлкнул по одному из ползунков, окно поехало вниз больше, чем нужно.
– Ты сердишься, – спокойно констатировала Соня.
– Я… – он задержал дыхание, потом шумно выдохнул. – Меня бесишь не ты. Меня бесит, что всё, что я делал «удобным», оказывается удобным только для меня.
– Ну, да, – кивнула она. – Ты строил это как консоль для админа. А мы пытаемся превратить её в дом для людей.
– Прекрасно, – буркнул Ден. – Админ остаётся без консоли.
– Админ остаётся с каркасом, – поправила Соня. – Ты уже сделал большую сложную часть: настроил, чтобы ничего не ломалось, чтобы права не пересекались, чтобы никто не мог случайно увидеть чужие тайные комнаты. А мы сейчас вешаем таблички на двери. И передвигаем пару стульев, чтобы не спотыкались.
Повисла неловкая пауза.
– И да, – добавила она тише, – ты вообще-то имеешь право злиться, когда тебе влезают в любимую консоль. Это не отменяет того, что консоль нужно подкрутить.
Ден почувствовал, как напряжение в плечах чуть отпускает.
– Ладно, – сказал он. – Давай твой крупный шрифт.
– Ну вот, эмпатия победила твои пиксели, – удовлетворённо заключила Соня.
К обеду таблица перестала быть «схемой метро» и стала хоть отдалённо похожа на карту комнат.
Рядом с названиями ролей появилось короткое человеческое описание. Каналы сгруппировали не только по технической логике, но и по «режимам»: «почитать», «поговорить о себе», «поддержать других», «техническая подложка».
В паре мест Ден всё равно упрямо оставил тонкие линии – чтобы видеть структуру. В паре других Соня настояла на разносе: «сюда человек зайдёт первым делом, поэтому никаких страшных слов в названии».
Вечером всплыло первое внешнее подтверждение, что они вообще не зря ковырялись.
В «кухне» кто-то из старичков написал: «Карта прав стала меньше походить на ад. Спасибо тем, кто это сотворил».
Феникс тут же отозвался: «Это Лиса. Волк, сними уже с неё тег „тестовый архитектор“. Она уже деплоится в боевую».
Соня фыркнула в микрофон:
– Я не просила теги.
– Это не тег, – возразил Ден. – Это метка ответственности.
– Ты сейчас звучишь как техдир, – заметила она.
– Мне, к сожалению, не платят как техдиру, – сухо парировал он.
– Запишем это в список глобальных несправедливостей.
Розовая идиллия длилась недолго.
Через пару часов в той же «кухне» появился Феникс с пометкой «непопулярное мнение».
– Народ, я очень уважаю всех, кто тут строит красоту, но новый серый шрифт в «шёпоте» – гадость. На телефоне глаза вытекают.
Соня вздрогнула, и в груди коротко кольнуло.
– В смысле гадость?.. – вырвалось раньше, чем она успела подумать.
– В смысле, – спокойно объяснил Феникс, – идея с тёплым текстом супер. Но на тёмной теме этим цветом читать тяжело. Я после трёх сообщений вижу только кашу.
Внутри тут же поднялось знакомое: «всё испортила». Уже привычной дорогой оно двинулось к горлу.
– Хочешь, я верну, как было, – быстро сказала она. – И всё.
– Не хочу, – отрезал Феникс. – Я хочу, чтобы стало лучше. А лучше – это когда и текст живой, и глаза потом не болят. Можно подобрать другой оттенок? Я не дизайнер, но…
Он говорил спокойно и по делу, без «кто это вообще придумал». Это сбивало внутренний сценарий «меня разоблачили как фейкового специалиста».
– Архитектор? – тихо спросил Ден.
Соня глубоко вдохнула, отследила, как воздух заходит, выходит, и только потом ответила:
– Архитектор может признать, что выбрал мертвый оттенок серого. Поехали искать живой.
Феникс расхохотался:
– Вот это я понимаю – храм гибкой архитектуры.
Они втроём десять минут гоняли ползунок цвета, пока не остановились на чуть более светлом и тёплом варианте. Ден ворчал, что теперь контраст в разных режимах будет вести себя по-другому, но всё-таки нажал «сохранить».
Хаос молча поставил под новым закрепом в «шёпоте» две реакции: «глаз» и «сердечко».
Соня посмотрела на эти два символа и внезапно поняла, что привычный ком «я всё сломала» в этот раз поднялся, но не доехал до горла – застрял где-то по пути и потихоньку рассосался.
Позже, уже перед сном, комната снова утонула в привычной полутьме, подсвеченной только экраном. Соня листала историю дня в каналах, как хронику небольшого ремонта.
Вот они с Деном спорят про шрифт.
Вот Феникс шутит про «деплой архитектора».
Вот «снежныйшум» пишет: «спасибо за новый закреп, зашёл сюда впервые».
Вот Хаос кидает одинокое «+++» под чужим сообщением, и этого достаточно, чтобы человек на том конце ответил: «мне стало немного легче».
Сегодня они не делали ничего «великого». Не спасали мир, не запускали новые разделы, не проводили масштабные реформы. Они переназывали роли, перетаскивали каналы, перекрашивали текст. Спорили, проглатывали раздражение, признавали: где-то сбоит – и тут же чинили.
Как ни странно, именно эта совместная возня – когда каждый брался за какой-то мелкий кусок и доводил его до терпимого состояния – грела сильнее, чем любые пафосные речи про «миссию проекта».
Где-то между строками кода и ячейками таблиц постепенно вырисовывалось нечто, что уже с трудом можно было назвать «личным сервером одного аутиста-кодера».
Каркас всё ещё был его – с его паранойей, логикой, аккуратностью.
Но стены, подписи на дверях, цвет шрифта и даже то, как звучат закреплённые сообщения, они теперь доделывали вместе: он, Лиса, Феникс, Хаос, Тихий, Зеркало и ещё пара десятков голосов, которые иногда умели только нажать реакцию, но и это что-то меняло.
Для Дена это было страшно: слишком много было в его жизни ситуаций, когда «отдать контроль» означало «позволить другим всё сломать».
Факт, что здесь люди не ломали, а аккуратно доделывали, приходилось заново прописывать в голове, как новую аксиому.
Для Сони это было непривычно: она долгие годы была «контентом» – тем, что смотрят, лайкают, жалуются и блокируют. Здесь она внезапно оказывалась человеком, чьи слова могут поменять правила, а не только им подчиняться.
Сервер медленно перестраивался: из закрытого «проекта Дена» он превращался в странный, но живой дом. Дом, где комнаты можно было чуть-чуть двигать, если кому-то от двери дуло; где правила писались так, чтобы по ним можно было дышать; где баги обсуждались вслух, а не прятались в логах.
Глава 7. Люди остаются
Сначала Соня думала, что сервер – это про Дена. Про его код, его паранойю, его желание спасти всех, кого он когда-то сам не смог спасти.
Чем дольше она смотрела, тем больше понимала: сервер – про людей, которые почему-то не ушли.
Утром в «safe_zone» висел новый пост от Феникса.
«Вчера был семейный ужин. Решили поговорить «по-взрослому».
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Приобретайте полный текст книги у нашего партнера: