Две весёлых буквы
Ситуация: у юзера не работает сайт на нашем VPS с нашим администрированием. Но на нашем же виртуальном хостинге копия этого сайта работает, как положено. И сидишь весь день, ковыряешь популярный CMS-движок на PHP, периодически огрызаясь на письма юзера о том, что у нас-де хостинг кривой, и я обязан решать эту проблему (хотя не обязан совершенно). Юзер c пеной у рта сообщает, что он всё перенёс один к одному, и тут работает, а вот тут не работает, намекая, что откажется от наших услуг хостинга.
Рабочий день кончился три часа назад. Сравниваю трассировки процессов Apache, вставляю die("fuck") то там, то сям в ядре движка, пытаясь понять, в каком месте определённая функция начинает себя вести иначе. И пофиг уже, что «fuck» появляется вместо главной страницы боевого сайта на несколько секунд.
В итоге приходит понимание, что в определённом месте функция на VPS не возвращает имя SQL-сервера из XML-файла c настройками. В результате из-за кривого условия, завязанном зачем-то на это имя, не создаётся файл кеша настроек, из которого берётся значение, из-за которого сайт криво работает.
Сравниваю XML-файлы настроек — и что же я вижу? На работающем сайте переменная прописана как SQLSERVER, на неработающем — SQLSREVER. И ведь опыт прошлых лет подсказывал, что в первую очередь нужно смотреть файлы конфигурации, но никак не ожидал такой кривизны при парсинге XML от разработчиков популярного платного продукта.
Исправляю опечатку — всё начинает работать. Отправляю письмо юзеру, в котором намекаю, что он — идиот с кривыми руками. Списываю с его счёта N рублей за сервисные услуги, выходящие за рамки администрирования VPS. Заодно пишу в техподдержку CMS (которая вместо того, чтобы оказать поддержку своего платного продукта, переводила стрелки на хостинг), что они — криворукие идиоты, понабравшие индусских программистов по объявлению.
Моё душевное состояние и выражение лица были такими же, как у Хауса, который нашёл объяснение очередному неведомому недугу.
Все юзеры — идиоты, и все они врут.