Знаете ли вы, что такое настоящий ночной кошмар программиста?
Два года назад дело было. Начальство решило по политическим причинам напичкать наш продукт такими фичами на тему секретности, какие были у продукта совсем другого класса и предназначения... ну, примерно, как если бы в торговом центре установить порядки режимного предприятия. Для нас, программистов, обернулось это понятно чем - сплошными трудностями на пустом (прежде) месте, срывом всех сроков, авралами и т.п.
Так вот.
Снится мне, что я захожу в автобус, с названием нашего продукта на борту. Беру у водителя на входе несколько security token-ов - на то, чтобы пройти в салон, на то, чтобы занять кресло и на то, чтобы оплатить проезд. Токены на вид как детские игрушечные монеты для игры в магазин. Мне еще говорят, мол, берите больше, они не всегда срабатывают.
А вот и кондуктор. Протягиваю ему мелочь за проезд и токен, подтверждающий мои права произвести оплату.
- Ваш токен не действителен! У него истек срок действия!
Протягиваю другой.
- Этот токен поддельный! Видите, позолота стерлась, под ней пластмасса!
Протягиваю третий.
- Этот вообще на проезд стоя. А надо на оплату проезда!
Озираюсь по сторонам - не завалялось ли у кого из коллег лишнего, ненужного security token-а? Но кондуктор пресекает мои поползновения: каждым токеном может пользоваться лишь то приложение, для которого он выпущен! Передача другому пассажиру не допускается!
Пока все это происходит, автобус уже проехал остановку и я, как не оплативший вовремя свой проезд, перехожу в статус безбилетника. Но штраф я оплатить не могу, т.к. для этого нужен соответствующий токен - а таких нет даже у водителя. И покинуть автобус, не заплатив, я тоже не могу. Происходит исключительная ситуация, не предусмотренная разработчиками. Единственный выход = экстренно проснуться, иначе рискую "зависнуть" в этом сне. Огромным усилием воли посылаю себе сигнал SIGTERM. Сработало, просыпаюсь! Последняя мысль перед пробуждением: "Эх, syslog надо было сохранить..."