После того как 12 часов работал только РОР3 на почтовом сервере, а служба поддержки после каждого звонка отвечала: "Проверяйте, всё работает", я написал в рассылку по ИТ холдинга письмо следующего содержания:
"Люди! До кого дошло моё письмо – ответьте, пожалуйста!"
Первые три письма были примерно одинакового содержания:
"Всё нормально, дошло, работает..."
А потом пришло четвертое.
"Здраствуйте. Перечитал два раза. Недошло........"
13 ноября 2008, 20:30. рейтинг: 1782
Некая молодая семья подключилась к нашему провайдеру. Мама, папа, семилетний сын. Сыну как-то не понравилось, что родители стали больше времени уделять инету, чем ему, любимому, позвонил провайдеру. Трубку берет один из техников:
– Да!
– Надо нас от интернета отключить и договор разорвать!
– Адрес?
Мальчик сообщает адрес. Техник берет инструменты и идет по адресу. Звонит в дверь. Мальчик из-за двери:
– Кто там?
– Интернет отключать пришел!
– А мне родители сказали никого незнакомого не впускать!
– Ладно, не важно, витуха сюда идет. Интернет вы у себя хотели отключить?
– Да, мы.
Техник берет кусачки и перерезает витую пару. В ДВУХ местах. Мало того, что ему потом пришлось тянуть провод по-новой (когда родители вернулись с работы) – он перерезал кабель, по которому в этот момент шли пакеты, поскольку родители оставили включенным мю-торрент. Одно гнездо в свитче сожгло нафиг.
13 ноября 2008, 20:30. рейтинг: 2473
Была у шефа беспроводная клавиатура, да кончилась вся – много кофе и колы на неё пролито было, пару дорожек и разъело.
Пробовали починить, заштриховывая разъеденную дорожку грифелем – теоретически он электропроводный. Но то ли плохо пробовали, то ли теория не верна – не помогло. Унесли её, бедную, в сисадминскую, свалили в кучу хлама.
А шефу поставили другую, тоже, в общем, красивую, чорную.
Но на следующий день началось странное – клавиатура начала беспрерывно генерировать букву "r".
Ни в систему не войти, ничего.
Ну ладно, бывает. Воткнули другую.
И что бы вы думали – она тоже генерирует букву "r".
Воткнули третью. То же самое.
Что за дела ?
И с USB, и с PS/2-клавиатурами – одно и тоже.
Продолжалась эта чертовщина до тех пор, пока не догадались выдернуть шнур от приёмника старой, беспроводной клавиатуры. В куче хлама что-то зажало на ней кнопку "r". Исправно играть в призрака она собиралась явно до тех пор, пока не закончилась бы батарейка...
#156: Порождение изначального хаоса
13 ноября 2008, 20:30. рейтинг: 1137
Занимался я пару лет назад поддержкой одной CMS, написанной на PHP в течении лет 4-5 несколькими сменявшими один другого программистами.
CMS платная, исходники сначала никому не давали. А потом в один прекрасный момент гендиректор почему-то стал относиться к раздаче исходников совершенно спокойно. "С энкодером проблемы? Высылай как есть, ничего страшного". На мой вопрос о том, что случилось, ответом было имя одного файла и предложение заглянуть.
Посмотрел. Файл по сути является ядром CMS – принимает данные от пользователя из админской части, хитро распихивает их по куче XML-файлов и просто текстовых файлов, что-то кладет в реляционную базу, предварительно проверив права доступа и так далее. Взгляд останавливается на 4х строках:
// TODO: фигня какая-то написана
$respondent = $respondent;
global $preLoadExternals;
$preLoadExternals = .....;
Комментарий имеет логический смысл. Первая строка – чтоб точно запомнил, да. Вторая – оно и так исполнялось только в global scope. Третья – строка длиной в пару килобайт с несколькими закрывающимися скобками в конце, после чего $preLoadExternals далее в скрипте нигде не используется.
И такой фигни на три тысячи строк
Да, действительно. Стоит ли бояться, что исходники попадут в чужие руки, если сами разобраться не можем.
#157: Распознавание образов
14 ноября 2008, 09:00. рейтинг: 2586
Велик и могуч Русский Язык!
А все началось с простой задачи: принять на входе строку, введенную пользователем, и найти информацию в БД по ключевым словам.
Будь это какой-нибудь английский – задача решается в два счета.
Но ведь у нас как всегда все иначе, у нас есть падежи, склонения, спряжения, окончания, рода, а поэтому простое слово "трансклюкатор" может иметь множество форм, включая "трансклюкаторное оборудование".
Вспомнив уроки русского языка в школе – набросал табличку с падежами, табличку с окончаниями, и сел заполнять табличку с корнями, подставляя к словам подходящие варианты. Получилось долго и трудно.
Надоело. Написал скрипт, который анализирует слово, сам подбирает подходящие варианты на выбор – остается только выбрать из нескольких.
Стало легче, но все равно работы много.
Подумалось: а откуда Я знаю, как правильно? Видел-читал-запомнил, так?
Написал скрипт, который вводит слова, подбирает варианты, если вариантов несколько – записывает слово в отдельную табличку. Когда там накопятся несколько форм – выбор вариантов сужается, и так до тех пор. пока непонятых слов не останется.
Осталось только слов побольше туда набить. Посадил ЭТО на сервер, читать книги из библиотеки Мошкова. Пусть набирается ума-разума.
Чувствую, следующим шагом научу его пользоваться Гуглом...
14 ноября 2008, 09:00. рейтинг: 2689
Лет 6-7 назад, будучи еще студентом первого курса, подрабатывал я летом совсем не по специальности – кровельщиком.
И, помнится, в тот волнительный день, когда я пришел на работу в первый раз, бригадир (колоритная, надо сказать, личность: маленький, сухонький, суетливый, двух слов без "етить" не мог связать), подзывает меня к себе и спрашивает, на кого, мол, студент, учишься?
Я, не вдаваясь в подробности определений информационных систем и САПРа, коротко отвечаю, что на компьютерщика.
Бригадир: Компьютерщик, етить? Отлично! Иди, етить, сюда. Вот это, етить, бетономешалка. Вот это, етить, кнопка "ВКЛ", вот это "ВЫКЛ". Будешь нажимать! По специальности работать будешь, етить!
Добро пожаловать в мир высоких технологий.
14 ноября 2008, 09:00. рейтинг: 2373
Внедряем у себя ip-телефонию.
Asterisk.
Читаем список звуковых файлов, использующихся в голосовом меню.
1 – agent-alreadyon.gsm – That agent is already logged on. Please enter your agent number followed by the pound key. – Этот оператор уже зарегистрирован. Пожалуйста, введите ваш номер оператора и нажмите на клавишу "решетка".
2 – agent-incorrect.gsm – Login incorrect. Please enter your agent number followed by the pound key. Неверное имя пользователя. – Пожалуйста, введите ваш номер оператора и нажмите на клавишу "решетка".
3 – agent-loggedoff.gsm – Agent Logged off. – Оператор разрегистрирован.
И так двести сорок девять файлов.
А потом мы умерли.
250 – tt-monkeys.gsm – [sound of monkeys screaming] [звуки орущих обезьян]
251 – tt-monkeysintro.gsm – They have been carried away by monkeys – Их унесли обезьяны.
252 – tt-somethingwrong.gsm – Something is terribly wrong – Что-то сильно не так.
253 – tt-weasels.gsm – Weasels have eaten our phone system – Хорьки сожрали нашу телефонную систему.
Пытаемся понять, в какой ситуации нам должны это сказать...
#160: Вертолет, как средство удаленного администрирования
14 ноября 2008, 11:00. рейтинг: 1003
Работал с одним банком, %bankname%, большим и известным.
У них есть какое-то отделение, не то в дальней сибири, не то вообще за полярным кругом.
Обновление специального программного обеспечение идёт по RAdmin'у из крупного города %bigcityname%, на 16ти цветах и прочей экономии ресурса скорости, ибо далеко.
И должны же были совпасть так звёзды, что начальник ИТ-отдела местного удалённого на край света отделения отправился в отпуск, забрав ключи от всех дверей с собой, а мы как раз накатывали апдейт приложения. В %bigcityname% было выслано письмо с подробнейшей инструкцией по установке апдейта.
В общем-то девочка, накатывавшая по бумажке апдейт, сделала всё правильно, за исключением одного маленького момента. Она решила, что покуда она все дела закончила, машину можно выключить, и вместо log off сделала shut down.
Включать через RAdmin сервер, находящийся в центре очередной снежной бури в восьми сотнях километров, оказалось сложно.
14 ноября 2008, 11:00. рейтинг: 1965
Ремонт в офисе.
На стене висит свитч, подключен к бесперебойнику. Равшанам было приказано "вот это" накрыть пленкой и не трогать. "А если нам розетка нужна?". Хорошо, выдернули, включили свое, просверлили-отпилили-перемешали, вернули обратно. Делать быстро, пару минут, не больше, поняли?
Поняли.
Полдня все было хорошо.