Послеобеденная наркомания
У меня почему-то все гениальные мысли приходят в ванной.
Серьезно. Могу несколько дней биться над каким-нибудь багом, перепробовать вообще все, а потом залезть в ванну и минут через 10 внезапно:
- БЛЯТЬ! Ну конечно.
И вот сегодня лежал я в ванной и почему-то задумался о людях, которые утверждают, что помнят свои прошлые жизни.
Я в реинкарнацию особо не верю, но тут в голову пришла одна мысль.
А что если они реально что-то помнят?
Только это вообще не их жизнь.
Смотрите.
Когда мы удаляем файл с жесткого диска, данные ведь не обязательно тут же физически исчезают. Система просто помечает место как свободное. Поэтому удаленные данные иногда можно восстановить, пока поверх них не записали новые.
С оперативной памятью аналогия даже лучше.
Объект уничтожили, память освободили, но это же не значит, что все байты там моментально превратились в нули. Старые данные могут лежать там до тех пор, пока эта память не понадобится кому-нибудь еще.
А теперь допустим на минуту, что мы реально живем в какой-нибудь симуляции.
Есть человек.
Допустим:
Person #58321
У него есть тело, мозг, сознание, память и куча какого-то другого состояния.
Человек умирает.
Система делает что-нибудь типа:
destroy(Person #58321)
Ресурсы освободились.
Но нахрена обнулять несколько гигабайт (терабайт? хрен знает) памяти, если можно просто пометить эту область как свободную?
Потом создается новый человек.
Person #91744
Ему выделяется память.
И частично та самая, в которой до этого лежал Person #58321.
В нормальной ситуации новый объект постепенно перезапишет все своими данными и никаких проблем.
Но где-то что-то пошло не так.
Ошибка адресации, кривой указатель, баг аллокатора... хрен его знает.
И новый человек внезапно получает доступ к кускам старой памяти.
Не ко всей.
Просто к каким-то фрагментам.
И ребенок вдруг говорит:
- Я раньше жил в другом городе.
- У меня была жена.
- Дом был вот такой.
- Меня звали вот так.
- А умер я вот так.
Все вокруг:
- РЕИНКАРНАЦИЯ!!!
А разработчик симуляции где-то снаружи:
- Блять. Опять use-after-free.
Причем такая модель забавно объясняет еще одну вещь.
Почему эти якобы воспоминания о прошлой жизни обычно какие-то обрывочные?
Почему человек не помнит всю жизнь предыдущего человека от рождения до смерти?
Ну так потому что большая часть памяти уже перезаписана.
Новый объект работает.
В него постоянно пишутся новые данные.
Мама. Папа. Детский сад. Школа. Первый велик. Упал. Разбил колено. Получил двойку.
И постепенно остатки старых данных затираются.
Поэтому мелкий ребенок еще может рассказывать:
- Я помню какой-то дом возле реки.
А лет в 15 уже:
- Чего? Какой дом?
И тут я еще подумал про дежавю.
А вдруг это вообще какой-нибудь кривой флаг?
Ты заходишь в совершенно незнакомое место и внезапно ловишь совершенно иррациональное ощущение:
"Я здесь уже был".
Хотя прекрасно знаешь, что никогда здесь не был.
Может сама сцена новая.
А вот хэш состояния почему-то совпал со старым.
И система такая:
already_seen = true
Сознание:
- О! Знакомо.
Короче, если мы все-таки живем в Матрице, то реинкарнация может оказаться не религией, не переселением душ и вообще ничем мистическим.
Просто разрабы решили сэкономить ресурсы и повторно используют освобожденную память.
А некоторые люди случайно получают доступ к данным предыдущего объекта.
Не прошлая жизнь.
Просто утечка памяти наоборот.
P.S. Если после смерти я очнусь перед монитором, первое, что спрошу у разработчиков:
"Вы там вообще Valgrind запускали?"
Архимед???