Отправили меня в подвал к электрикам. У тех обнаружилось трансформаторное масло в огромной канистре, а другой тары не было. Выход нашёлся быстро: из-за пазухи мужики достали 0,25 известно чего, содержимое быстро уничтожили, а мне вручили бутылку с маслом. Надо ли говорить, что встретили меня взрывом смеха?
#4979: Нет на сайте
#4980: Археологические раскопки в Древней Индии
12:00 18.12.2010, IT happens
Итак, все ругают плохо написанный код. Давайте-ка посмотрим...
Если в коде много goto, возможно, программу перетащили с Фортрана; чем их больше, тем древнее версия.
Если в названиях идентификаторов присутствуют дикие сочетания букв, разбавленные подчёркиванием, возможно, исходно это был Фортран БЭСМ-6, где позволялись русские буквы.
Если все переменные в программе глобальные — скорее всего, программа «познакомилась» с третьей версией микрософтовского Фортрана, где надо было распихать переменные по 64-килобайтным common-блокам.
Если сишный код плохо отформатирован, скорее всего, код был знаком как с Борландом (три пробела на отступ), так и с Микрософтом (одна табуляция).
Если в коде на С++ много указателей на функции, значит, изначально код был сишным.
Если системные вызовы завёрнуты во множество вложенных «обёрток», которые просто перекладывают параметры из пустого в порожнее и ничего не делают, это годовые кольца: их столько, сколько платформ сменил продукт.
Если имена переменных совпадают с названиями регистров процессора, значит, кусок, написанный на ассемблере, пытались утянуть на другой процессор.
Если всё сказанное выше замешано в крутой коктейль с кусками вменяемого кода, значит, пытались рефакторить.
Если не используются очевидные фичи, значит, в исходном фреймворке их не было.
Если встречается эмуляция RTTI и интерпретируемого кода, в предках кода было что-то типа Клиппера.
Ну и, естественно, в коде присутствуют следы идеологической борьбы между разными фракциями программистов и архитекторов, следы модных некогда концепций из Прологa и Смоллтока, попытки имитировать одну платформу на другой...
Такая вот занимательная археология. Если прикинуть, в каких условиях нормальный человек может написать такую муть, много становится очевидным — даже убивать никого не хочется.
#4981: Под мышкой
12:00 18.12.2010, IT happens
Работаю я в одной маленькой, но значимой для города организации. Сталкиваться приходится со всякими проблемами, но сейчас не об этом. Есть у нас удалённый от основного корпуса отдел, в котором трудится одна тётушка пожилого возраста. Что же в ней такого, вы спросите? Так вот, в то время, когда большинство юзверей слёзно просит выдать им коврик для мыши и не желает думать, как обойтись без него (конечно, мелочь, но по каждому запросу бегать не будешь), она взяла да вырезала из линолеума квадрат удобного ей размера. Мышь, к слову, чувствует себя на новом месте очень комфортно. Вот так: учитесь, товарищи юзвери! А айтишникам я желаю побольше таких сообразительных пользователей.
#4982: Чё, самый умный?
12:00 18.12.2010, IT happens
Недавно подруге нужно было пройти один онлайн-тест по учёбе — я вызвался помочь. Открываю, значит, несравненную «лисичку», ввожу адрес, логин и пароль. Начинается дикий экшн. Слева — меню, с которого нужно начинать. Пытаюсь нажать на пункт — не выходит. «Лиса» отказывается воспринимать пункты как кнопки и отображает их простым текстом. Вдохновившись историей про регистрацию на Ютьюбе, открываю исходный код — там всё правильно. Сам тест, естественно, так не пройти.
Ковырялся примерно час. Уже сонный мозг выдал логическую цепочку: «Тест по учёбе > учёба > старенькие машинки в аудиториях > Internet Explorer». Решил проверить догадку. Открываю противный Эксплорер, ввожу адрес, логин, пароль и всё такое — работает!
В общем, когда я прошёл тест и рассказал обо всём подруге, она долго злилась, а я мысленно слал разработчику теста респект: поковырявшись в исходном коде, я ответил правильно на все вопросы.
#4983: Продолжайте получать удовольствие
14:00 18.12.2010, IT happens
Работаю в техподдержке местного провайдера. Звонок. Поднимаю трубку.
— Техподдержка, добрый вечер.
— М-м-м... Здравствуйте, м-м-м... Звонит ваш абонент, м-м-м... Ну, который, м-м-м, ну-у... имеет ваш интернет, м-м-м... Что мне делать?
#4984: Гугл хром, осёл туп
15:45 18.12.2010, IT happens
История знает массу случаев неожиданных рождений вторых смыслов, когда за манипуляцию словами берётся программа. Кроме известного всем орфографического движка Ворда, любящего нежно вставлять пробел в слово «мультиканальный», мне встречалась ещё парочка интересностей.