Однажды Линус Торвальдс шёл по пляжу, думал о том, что мы все живём в матрице, и грустно смотрел под ноги. В песке он заметил бутылку, подозрительно похожую на коньяк, и возрадовался. Но при ближайшем рассмотрении бутылка оказалась непрозрачной, с сургучной печатью, на которой проступал религиозный символ страны, с которой сложные отношения.
Линус конечно же применил брутфорс и открыл бутылку, из которой немедленно вылез джинн.
— Значит так, у тебя есть три желания, — сообщил джинн. — Но нельзя желать, чтобы кто-то умер, нельзя желать, чтобы кто-то влюбился в тебя, и нельзя желать больше желаний.
— А меньше желаний желать можно? — уточнил Линус, продолжая думать про матрицу.
Джин озадачился, почесал в затылке и решил, что можно.
— Тогда я хочу чтобы количество моих желаний уменьшилось на три.
— Зачем? — поинтересовался джинн.
— Потому что я думаю, что ваши джинновые серверы записывают количество желаний в целочисленные переменные и не хранят информацию об отрицательных значениях, так что когда количество моих желаний уменьшится на три, оно станет равно нулю, после чего тебе нужно вычесть ещё единицу за то желание, которое только что исполнилось, переменная переполнится и количество моих желаний станет равно максимальному возможному значению.
— Слушай, я из 900-х годов до нашей эры, я не понимаю, — покачал головой джинн. — Меня как царь Соломон запечатал сюда, я выпал из новостной ленты совершенно.
— Ты просто сделай так, как я говорю, — посоветовал Линус.
Джинн вырвал жменьку волос из бороды, пошептал, поводил руками в воздухе, и ничего не произошло. Тогда он достал из широких шаровар записной свиток из папируса.
— У тебя теперь три желания, — прокомментировал он, сверившись с папирусом.
— O shit, — удивился Линус.
— Но вообще довольно здорово, — попытался ободрить его джинн. — Я никогда раньше не видел, чтобы человек загадал желание, и у него осталось столько же желаний. Даже если бесполезное. Хороший фокус для вечеринок.
Здравствуйте, wl., Вы писали:
A>>— У тебя 65 535 желаний, — озадаченно сказал он.
wl.>с двухбитным счетчиком точно также можно сделать количество желаний бесконечным, главное не забывать переполнять счётчик
Линус — хороший программист, Он, в отличие от вас, оптимизировал процесс.
Здравствуйте, alexku, Вы писали:
A>— Значит так, у тебя есть три желания, — сообщил джинн. — Но нельзя желать, чтобы кто-то умер, нельзя желать, чтобы кто-то влюбился в тебя, и нельзя желать больше желаний.
Почему бы не пожелать другую бутылку с другим джином, который может выполнять бесконечное количество желаний без ограничений?
I>Почему бы не пожелать другую бутылку с другим джином, который может выполнять бесконечное количество желаний без ограничений?
джинн — синглтон, а конструкторы все приватные
...
- "error: ‘Djinn::Djinn()’ is private within this context" удивленно выругался Джинн
— "плюсы" — сказал Линус, и презрительно сплюнул
Как много веселых ребят, и все делают велосипед...
Здравствуйте, alexku, Вы писали:
A>— Потому что я думаю, что ваши джинновые серверы записывают количество желаний в целочисленные переменные и не хранят информацию об отрицательных значениях, так что когда количество моих желаний уменьшится на три, оно станет равно нулю, после чего тебе нужно вычесть ещё единицу за то желание, которое только что исполнилось, переменная переполнится и количество моих желаний станет равно максимальному возможному значению.
А если на сервере хранится знаковая целочисленная переменная, то будет -1. Т.е. желание джинна придётся выполнять Линусу.
Здравствуйте, alzt, Вы писали:
A>А если на сервере хранится знаковая целочисленная переменная, то будет -1. Т.е. желание джинна придётся выполнять Линусу.
A>-Полезай сам в эту бутылку.
И довольный джинн такой нравоучительно: "Ты знаешь, я вед сам придворным умником был, всякие абакусы изобретал, думал умнее всех, обману глупую систему. А в итоге пришлось 3 тысячи лет такого же умника дожидаться."
— Ты просто сделай так, как я говорю, — посоветовал Линус.
Джинн вырвал жменьку волос из бороды, пошептал, поводил руками в воздухе. Какое-то время ничего не происходило, внезапно мир вокруг Линуса как будто стал нарисованным на бумаге, затем его словно стерли большущим ластиком, оставив только сплошной серый свет вокруг.
— O shit, — успел удивиться Линус. — Похоже два бита были не отдельной переменной, а битами внутри записи в базе данных. Ну и кабздец котенку, все нафиг развалилось после замены.
— Читеры недоделанные, — ругался техник Матрицы, восстанавливая ее из бекапа и заменяя в редакторе в бутылке на пляже джинна на коньяк, — если вставили прямой доступ в обход системных привилегий, так хотя бы исключения лучше продумали.
A>— Тогда я хочу чтобы количество моих желаний уменьшилось на три.
И мог бездарно потерять все желания.
Самое разумное было начинать с деления на ноль, несуществующие ресурсы, закрытые порты.
А он даже не попросил дебаг-логи со стек трейсом.