4980

Археологические раскопки в Древней Индии

Итак, все ругают плохо написанный код. Давайте-ка посмотрим...

Если в коде много goto, возможно, программу перетащили с Фортрана; чем их больше, тем древнее версия.

Если в названиях идентификаторов присутствуют дикие сочетания букв, разбавленные подчёркиванием, возможно, исходно это был Фортран БЭСМ-6, где позволялись русские буквы.

Если все переменные в программе глобальные — скорее всего, программа «познакомилась» с третьей версией микрософтовского Фортрана, где надо было распихать переменные по 64-килобайтным common-блокам.

Если сишный код плохо отформатирован, скорее всего, код был знаком как с Борландом (три пробела на отступ), так и с Микрософтом (одна табуляция).

Если в коде на С++ много указателей на функции, значит, изначально код был сишным.

Если системные вызовы завёрнуты во множество вложенных «обёрток», которые просто перекладывают параметры из пустого в порожнее и ничего не делают, это годовые кольца: их столько, сколько платформ сменил продукт.

Если имена переменных совпадают с названиями регистров процессора, значит, кусок, написанный на ассемблере, пытались утянуть на другой процессор.

Если всё сказанное выше замешано в крутой коктейль с кусками вменяемого кода, значит, пытались рефакторить.

Если не используются очевидные фичи, значит, в исходном фреймворке их не было.

Если встречается эмуляция RTTI и интерпретируемого кода, в предках кода было что-то типа Клиппера.

Ну и, естественно, в коде присутствуют следы идеологической борьбы между разными фракциями программистов и архитекторов, следы модных некогда концепций из Прологa и Смоллтока, попытки имитировать одну платформу на другой...

Такая вот занимательная археология. Если прикинуть, в каких условиях нормальный человек может написать такую муть, много становится очевидным — даже убивать никого не хочется.

4978

Маслёнка с временным наполнителем

В начале моей админской работы был такой случай. Привезли из дальнего офиса комп с шумным кулером — еле крутился, не справлялся с охлаждением. Учреждение бюджетное, на новый кулер денег нет, потому решил я применить дедовский метод закапывания масла прямо в вентилятор.

Отправили меня в подвал к электрикам. У тех обнаружилось трансформаторное масло в огромной канистре, а другой тары не было. Выход нашёлся быстро: из-за пазухи мужики достали 0,25 известно чего, содержимое быстро уничтожили, а мне вручили бутылку с маслом. Надо ли говорить, что встретили меня взрывом смеха?

4977

Тормашками наизнанку

Есть у нас плоттер Xerox Wide Format. Та ещё шайтан-машина, надо сказать. Умеет печатать, сканировать и копировать, управляется встроенным компом с Core 2 Duo и сенсорным монитором.

Как-то раз этот самый монитор внезапно помер. В Xerox работают ушлые ребята: берут пример с Dell и подключить абы что к своему контроллеру не дают. Привязка к аппаратному id, понимаешь ли, поставить сторонний монитор нельзя. Ладно.

После пары дней напряжённого сервисного обслуживания дисплей наконец-то заработал, да только вот тачскрин начал воспринимать нажатия совсем не там, куда тыкали пальцем. Допрос сервисмена с пристрастием внятного ответа не дал. «Может, он это с мороза, надо подождать пару дней, скорее всего, само пройдёт», — молвил паренёк.

Уже собрались везти монитор обратно в сервис — это потеря нескольких дней, а время у нас нынче, как известно, деньги. И тут меня осенило. В глюке была чёткая закономерность: координаты точек касания и срабатывания отзеркаливались относительно середины монитора как по X, так и по Y. Далее было уже дело ловкости рук и глазомера: тыкая в область, противоположную нужной, зайти в панель управления, набрать пароль админа и вызвать калибровку экрана. Бинго! Осталось только на досуге догадаться, как монитор можно было так собрать.

4975

Бить, пока не затвердеет

Я инженер-конструктор. Работаю в офисе не один. Товарищ сидит за соседним компьютером, что-то химичит. Вдруг неожиданно грохает кулаком по столу со словами: «Сука, бл@#ь, &#@ный в рот, пид@#ас, на х#й!» — встаёт из-за стола и уходит из офиса.

Все молчат. Начальник отдела: «Предлагаю завести какую-нибудь мягкую фигню, назвать её SolidWorks и бить бейсбольной битой».

4974

Die another day

Середина семестра, препод что-то жужжит про автозагрузку в Win’98, мне скучно. От безделия начинаю пакостничать: по сети удаляю с половины машин файл System.ini. Заканчиваю и краем уха улавливаю фразу препода: «А теперь нажмите „Перезагрузить компьютер“». Меня прошибает электрошок: я не рассчитывал начинать веселье столь рано.

После перезагрузки половина группы лицезреет вместо автозагружаемой программы надпись на экране: «Теперь питание комппьютера можно отключить». Я еле сдерживаю злорадный смех, но финальную точку ставит сам препод:

— Это что? Вирус?.. Так, какое сегодня число? 20-е октября? Не-е-ет, сегодня вирусов быть не может!

Смысл его утверждения непонятен мне и по сей день.

4973

Высшая школа неучей

О балбесничестве в рядах студентов я был наслышан, но такого я не ожидал. Итак, студенты, страждующие помощи, делятся на две группы.

Первые являются непробиваемыми танками. Выдвигают тезис работы без более-менее подробного описания задания. На просьбы уточнить задание повторяют то же самое, но другими словами — это может продолжаться довольно долго. Примерно понимаешь, что ему нужно, объясняешь, как написать заданную прогу, но тут же сталкиваешься со стеной непонимания: «А мы такого не проходили». Ладно, Ктулху с тобой, пишешь код с краткими комментариями для этого балбеса, но тот опять ничего не понимает! Несколько минут исступлённо бьёшься головой об стену, пишешь полные, разжёванные до мельчайших подробностей комментарии. Это чудо сдаёт работу, получает оценку. Всё, я помог человеку!

Вторые воспринимают помощь как должное. Обычно пишут: «Очень срочно!!!» и «HELP» (всё это с кучей смайлов и восклицательных знаков). Вот этим объяснения не нужны: просто не поймут. Пишешь код, они его удачно копипастят и на «отлично» сдают работу. От таких даже «спасибо» не дождёшься.

Как часто бесит это недопонимание и расхлябанность! Ты попросил помощи, и я, рассчитывая на то, что страждущий — подготовленный человек, объясняю проблему... по сто раз. И не стыдно вам, товарищи студенты из крупных городов с хорошо развитой структурой образования, что материал вам втолковывает пятнадцатилетний мальчишка из маленького дальневосточного городка? Вы же будущие программисты! Научитесь отличать FASM от TASM, научитесь более-менее грамотно писать на C++, а то ваши посты «Где ошибка (прога выдаёт неправильный результат)?» смотрятся очень глупо: в них код, который в принципе не смог бы скомпилироваться.

4972

Молиться, поститься, в интернете находиться

Письмо в саппорт интернет-провайдера:

Досточтимая компания «*****»!

Прошу перерасчитать мне оплату ваших услуг за ноябрь в связи с тем, что я не имел доступа к интернету по причине сбоя в работе оборудования компании. Сразу же по обнаружении отсутствия соединения я связался с отделом технической поддержки компании и получил ответ, что проблема в моём оборудовании. Оборудование было протестировано и настроено, но безрезультатно. После неоднократных звонков в техотдел был прислан специалист, который установил, что проблема с оборудованием компании.

Прошу:

1. Перенести оплату за ноябрь на декабрь.

2. Компенсировать расходы на телефонную связь с техотделом и на привлечённых для проверки моего оборудования специалистов, а также неудобства, вызванные отсутствием доступа к интернету (упущенную выгоду).

Договор ####.

С глубоким уважением,

священник Ф. — список званий и регалий прилагается.

А ещё говорят, что монахи дают обет смирения, терпения и бессребреничества.

4971

Смешная горячая палочка

Калымил я некогда наполнением одного сайта, посвящённого региональной прессе. Без движка новостного, всё руками да через сканер, тем паче что газетёнки районные печатались ещё дедовскими средствами: никаких компьютеров, никакого офсета, — в общем, жуть. Официально я был устроен ночным сторожем.

Наработав на стороннем компе достаточное количество инфы для публикации на сайте, решил я всю эту инфу слить на рабочий комп. Дело простое: достал винт из одного ящика, вставил в другой, скопировал — и действуй. Ан нет: на рабочем компе IDE-шные шлейфы и прочие питающие проводочки стянуты в единый жгут пластиковым хомутом, да так, что второй винт никак не подцепить. Поторопился, жахнул лишка ножичком, да так, что срезал крайний проводок IDE-шлейфа. Что делать? Лишних шлейфов нет, анус на минус. Начал метаться по подведомственной территории. Нашёл старый проводной приёмник для радиоточки: на нём припоя лишнего аж на «Спектрум» хватило бы. Наскрёб ножичком нужное количество. Поглядел пристально на обитую дерматином входную дверь с декоративными латунными гвоздями. Выдернул гвоздик, с помощью медной проволоки приладил его к зажигалке — такой газовой, с форсункой, как у автогена. Перекрестясь, чтоб газу хватило, взялся за дело. Зажигалка — на старт, гвоздик раскаляется, стружечка оловянная плавится.. Перемычечка удалась. Включил — заработало. Инфу скинул, на сайт выложил, комп на место собрал — все довольны.

Не знаю, что сейчас с этим компом — может, списали давно. Но с тех пор я больше ничего не паяю: при виде паяльников смех разбирает.

4970

Не фиг на зеркало пенять

Появилась целая куча рассказов, где околокомпьютерные люди в той или иной форме жалуются на своих половин различной степени прекрасности, непонимание и прочие издержки семейной жизни.

Вот вы весь из себя айтишник (программер, кодер). В голове у вас код (не исключено, что индийский), на столе немытая годами чашка, на экране монитора «IT happens», в гардеробе джинсы и свитер, а в меню бутеры и «доширак» (по праздникам — пельмени). Ваш пол значения в данный момент не имеет. У вас есть половина, с которой вы живёте, спите, разговариваете (если есть время оторваться от компа), проводите время (если вас всё-таки оторвали от компа), изредка куда-то выбираетесь (если отрубился интернет). Вас раздражает и даже бесит тот факт, что она на вас не похожа, вас не понимает, рвётся вымыть чашку и хоть как-то отчистить заляпанные термопастой штаны, посидеть с вами в кафе и погулять по улице, — в общем, всячески хочет делать не то, что вы.

А куда вы смотрели, дорогие мои, раньше? Небось, прежде чем выбрать и поставить операционку, думаете, зачем и для чего, какие ресурсы ей нужны, какие задачи она будет выполнять. Прикидываете, во что это вам выльется, читаете мануал, если чего-то не понимаете. С выбором партнёра всё примерно так же. Требования у вас есть, смотрите: подходит ли? И подходите ли вы ему? Надолго ли установить отношения или так — поиграться и стереть из жизни? Хватит ли системных ресурсов или чего ещё докупать придется? А узнать человека не так уж и трудно: почаще разговаривайте с ним в жизни, ходите на свидания, а не думайте, как переспать с ним побыстрее и что из этого получится.

Всё почти как с компьютерами, только вот добавляется параметр «чувства». Он порой выходит на первый план и доминирует над потребностями и задачами. Хотя это, наверное, не про вас. Какие к чертям чувства, если «я её люблю, а она мне носки не постирала?»

Вы готовы отдавать своё внимание и свободное время высоким технологиям, а не тому, кто рядом с вами, потому что так вам интереснее. Готовы портить собственный организм «культовым питанием», потому что так быстрее и проще, а вам банально лень готовить.

Вы хотите, чтобы изменились под вас, — а сами вы готовы меняться? Сходить в театр с любящим вас человеком не в свитере (вот такой я весь из себя офигенский айтишник), а в костюме? Потратить деньги не на новую видюху, а на букет цветов, удочку или приятный сюрприз? В общем, не фиг на зеркало пенять.

Поймите правильно: я не хочу наехать на людей, связавших жизнь со сферой информационных технологий, нет. Большинство из них — отличные ребята, у которых и на работе, и в семье всё очень и очень неплохо. А вот эгоисты в принципиально нестиранных свитерах чем-то похожи на блондинок принципиально в розовом.

4968

Что-то там — и всё окей

Иногда пользователи формулируют возникшую у них проблему, скажем так, невнятно. Вот сейчас случился типичный пример:

— Главный бухгалтер просила передать (сейчас её нет, уехала), что у неё в программе что-то там не выгружается. Посмотри, пожалуйста.

Что не выгружается? Где? В какой, собственно, программе? И «не выгружается» ли? Может, сама главбух имела в виду что-то совсем другое? Впрочем, на такую заявку есть стандартный ответ:

— Передайте ей, пусть там что-то сделает, и всё будет нормально!