Разрабатываем онлайн-проект. Как это бывает, серверная часть на пре-альфе ложится по пять раз на дню.
За два дня до альфы мне дают задание сделать так, чтобы сервер пахал всегда. За двадцать минут пишу заглушку: прога проверяет наличие запущенного сервера и, если что, поднимает его снова. За оставшиеся два дня думаю и расширяю заглушку: теперь это сервер-дубль, который общается с оригиналом и всегда находится в том же состоянии, что и оригинал, но на пакет раньше. В случае, если оригинал отвалился, дубль запускает оригинал и сам биндит нужные сокеты: теперь он оригинал, а поднятый — дубль. Замена происходит так быстро, что никто не успевает заметить. Ну, естественно, первый вариант заглушки смотрит, чтобы те два пахали.
Альфа! Волосы дыбом, латаем дыры, правим баги, пишем контент. И вот сейчас, когда первая суета уже улеглась, проходит собрание глав отделов (да, в выходной, да, в воскресенье, да, у одного из нас на даче). Планируем, чем дальше будем заниматься. Спрашиваю, что будем делать с падениями сервера. У всех круглые глаза. Начальник отдела тестирования выполняет фаталити:
— А на фига, если мои ребята так и не смогли его уронить?
Мораль: хорошо сделанный костыль становится протезом.