Сергей Германский – Коллапс (страница 1)
Сергей Германский
Коллапс
КОЛЛАПС
ЧАСТЬ ПЕРВАЯ
ШУМЫ
Глава 1. Стук пальцев
Батарея под окном стучала. Не ритмично – просто стучала, как стучат старые батареи в старых домах на Васильевском острове: с характером, с претензией, словно напоминая, что она здесь была раньше тебя и останется дольше. Алексей давно перестал её слышать. Он вообще перестал слышать многое из того, что происходило в квартире, – скрип паркета в коридоре, гул холодильника, кашель соседа за стеной. Всё это существовало в другом слое реальности, параллельном тому, в котором жил он сам.
Его слой был экраном монитора, кодом и кофе.
Кофе уже остыл. Он не заметил.
22:47. За окном – Большой проспект, мокрый снег, фонари, которые в такую погоду не столько светят, сколько намекают на существование света. Редкие машины. Ещё более редкие прохожие. Январь в Петербурге – это месяц, когда город честно признаётся в своей природе: он всегда был немного умершим, немного прекрасным, немного слишком холодным для жизни.
Алексей Волков жил здесь один уже восемь месяцев.
До этого – не один. До этого была Катерина, её духи на полке в ванной, её привычка оставлять кружки где попало, её смех в соседней комнате, её злость, её молчание, её чемодан в прихожей в то утро в апреле. «Лёша, я не могу больше. Ты здесь – но тебя нет. Ты вообще где-то есть?»
Он тогда не нашёлся с ответом. Наверное, потому что ответа не было.
Теперь кружка всегда стояла на одном и том же месте – справа от клавиатуры, ровно на расстоянии вытянутой руки. Духов в ванной не было. Смеха тоже.
Зато был код. Код был всегда.
```python
def calculate_resonance(signal_array, base_freq):
"""
Вычисляет резонансные частоты для входящего сигнала.
Возвращает список пар (частота, амплитуда).
"""
if not signal_array:
raise ValueError("Пустой массив сигнала")
fft_result = np.fft.fft(signal_array)
frequencies = np.fft.fftfreq(len(signal_array))
```
Алексей смотрел на незаконченную функцию и думал. Не о коде – код он писал почти автоматически, руки знали, что делать, – а о том, правильно ли он выбрал имя переменной. `resonance`. Резонанс. Красивое слово. Точное.
Его пальцы без всякой команды с его стороны начали барабанить по столу.
Он этого не осознавал. Это просто происходило, как происходит дыхание или моргание. Пять ударов – пауза – три удара. Пять – пауза – три. Безымянный ритм, который жил в нём столько, сколько он себя помнил. Нервный тик, унаследованный то ли от матери, то ли от деда, то ли придуманный им самим в детстве и ставший с тех пор частью его архитектуры.
Пять – пауза – три.
Он потянулся к кружке, сделал глоток холодного кофе и поморщился. В Сантьяго был полдень.
Рабочие обедали – четверо из них сидели прямо под стрелой башенного крана, в тени, которую он давал. Это было удобно: стрела закрывала от солнца, и снизу всегда дул сквознячок. Они ели, разговаривали, смеялись над чем-то, чего уже никто не вспомнит.
Потом что-то сломалось в механизме поворота. Быстро и окончательно. Крановщик среагировал – дёрнул рычаг аварийного стопора – но было поздно. Стрела пошла вниз с той равнодушной неторопливостью, с которой падают очень тяжёлые вещи.
Четыре человека. Имена у всех были – у всех всегда есть имена. Хуан Карлос Вильяр, 34 года, двое детей. Андрес Молина, 28. Луис Каррера, 51, пенсию ждал через три года. Рикардо Фуэнтес, 22, первый месяц на стройке.
Через четырнадцать минут всё это было в прошедшем времени. Алексей ничего не знал.
Он дописал функцию, сохранил файл, встал, чтобы поставить кружку в раковину. По дороге снял с полки блокнот – толстый, в твёрдой обложке, купленный ещё до развода. Он вёл его с мая. Привычка, подхваченная от психолога, к которому ходил два месяца, пока не перестал: «Записывайте всё, что замечаете. Просто фиксируйте. Это помогает структурировать»
Он открыл на сегодняшней странице:
22:47. Стучал пальцами. Долго. Доделал функцию calculate_resonance. Кофе холодный. Батарея.
Он подумал секунду и добавил:
Восемь месяцев.
Поставил кружку. Вернулся к столу. Открыл браузер – беглый взгляд на новости, привычка последних лет, заменившая телевизор.
Новость из Чили стояла третьей в ленте. Он скользнул по ней взглядом – заголовок, фото, четыре жертвы, строительный кран – и пролистал дальше, к прогнозу погоды.
Завтра обещали снег. Снег был в порядке вещей.
Он закрыл браузер и вернулся к коду. Следующие три дня были обычными.
Потом – не совсем.
Это началось с выключателя на кухне.
Алексей уходил спать, как всегда, поздно – около двух ночи, иногда позже. Ритуал был всегда один: закрыть ноутбук, выключить монитор, пройти на кухню, выключить свет, дойти до спальни, лечь. Не в этом порядке – именно в этом, и никак иначе. После развода ритуалы стали важными. Они держали форму там, где раньше форму держало другое.
В ту ночь он щёлкнул выключателем на кухне и замер.
Ничего особенного не произошло. Просто стало темнее на одну кухню.
Но он не уходил. Стоял в темноте, опираясь плечом о дверной косяк, и смотрел в окно, за которым Петроградская сторона светилась размытыми огнями сквозь туман. Он не думал ни о чём конкретном. Просто стоял.
Потом открыл новости на телефоне.
Осака. Четыре минуты назад отключился один из энергетических блоков подстанции «Нанко». Причины устанавливаются. 340 000 домохозяйств без электричества.
Он не обратил на это внимания. Осака была далеко. Подстанции иногда отключаются.
Он щёлкнул выключателем обратно – включил свет на кухне.
Пошёл спать.
В Осаке свет не появился. Ещё через пять дней он вёл дневник по-другому.
Он сам не мог бы объяснить, когда именно сдвинулась точка отсчёта. Наверное, это было постепенно – как бывает, когда ты смотришь на картинку с двумя изображениями и не видишь второго, не видишь, не видишь – и вдруг видишь, и уже не можешь видеть только первое.
Блокнот теперь лежал всегда открытым, рядом с клавиатурой. Он расчертил страницу на две колонки. Левая – «Я». Правая – «Мир».
10 января, 23:14. Стучал пальцами, 5-3, примерно 40 секунд. – Обвал части скалы на дороге в Перу. Три машины. Пострадавших нет. Время совпадение?
11 января, 01:22. Переставил мышку с правой стороны на левую и обратно. – Система управления движением в аэропорту Дубая дала сбой на 90 секунд. Никто не пострадал.
11 января, 11:05. Щёлкал выключателем в туалете (дурацкая привычка). 7 раз подряд. – Семь кратковременных перебоев питания в сети Сиднея. Семь. Точно семь. Проверить.
Он проверял. Снова и снова. Обновлял страницы с новостями сразу после каждого своего действия. Смотрел время. Записывал.
Разум говорил ему: ты подбираешь данные. Confirmation bias. Ты видишь паттерн там, где его нет, потому что ты одинокий параноидальный программист, которому не хватает контакта с реальностью.