4247

Блажен, кто верует

Вопрос на известном hardware-форуме:

У меня клавиатура Chicony, но я не знаю, какая модель. На самой клавиатуре написано: «Genius».

4246

Не совсем завтра

Работаю в банке на поддержке АБС. Звонит операционист: «Набираю дату рождения, и программа не даёт ничего сделать: не пропускает дальше, не делает отмену операции, тупо не выходит из поля ввода даты».

Подключилась через Радмин, смотрю: вроде всё правильно. Перебила дату лично, так, на всякий случай: 31.04.1957. Так, стоп, с каких это пор у нас в апреле 31 день?.. Попыталась указать операционистке на её тупость. Однако это не она умом обделённая оказалась. Не то паспортисты рехнулись, выдав документ с такой датой, не то клиентка, счастливо празднующая день рождения 31 апреля, не то все они вместе взятые.

4243

Исключив случайный фактор

Если уж все пошли вспоминать своих институтских преподов, то вспомню и я. Первый же день моей учёбы в универе был омрачён парой по информатике (или как её там), где женщина солидного возраста объясняла поточной аудитории, что в течении двух семестров мы будем изучать с ней язык программирования Turbo (тут она сверилась с бумажкой) Basic. Тут мой здравый смысл ушёл на покой, разбудив во мне подросткового быдлокодера, который выучил C++ по книжке и ещё в школе писал всем зачётные-выпускные по информатике — двумерные аркады с подробными комментариями, которые потом были дисквалифицированы за единый стиль. «Бейсик — не язык, а обучающая программа. Для высшего образования это слишком слабо! Да он проходится за неделю! Он не соответствует современным концепциям!»

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

— Мне надо! Я пойду пиво пить. Не то чтобы мне не нравился предмет — мне он очень нравится, — просто то, что вы рассказываете, это бред. Он делает меня только глупее, так что я не вижу смысла в своем присутствии на ваших лекциях.

— Встретимся на экзамене, — тихо ответила женщина.

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

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

— Садись за компьютер, набирай программу. Если заработает — «отлично». У тебя полчаса.

— Мне хватит пяти минут.

Методом десятипальцевого слепого копипаста я набрал код и запихнул его в менюшку: все задания в одной проге. Всё оформил, проверяю. С примером из задания — ОК. С «введите вручную» — ОК. С значениями из генератора случайных чисел, в том числе знакопеременными — неправильный результат! Я покрываюсь холодным потом: время заканчивается... Убираю из менюшки вариант со случайными числами.

— Всё готово. Проверяйте.

— Результаты сошлись?

— М-м-м... Да!

— Ну, не мне вас проверять. Пять.

Ошибку я нашёл позже. На потоке пятёрки получили всего несколько человек: я и моя «группа».

* * *

Позже я помогал «за еду» пересдавать экзамен у той же преподши своей знакомой. Подтолкнув в класс знакомую за талию, я пояснил, что она «очень боится не пересдать, и я её поддерживаю». Через пять минут после раздачи заданий преподша вышла «попить чаю». За минуту я помог подопечной, ещё 15 минут ушло на остальных — сдали все.

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

4241

Шеф всегда прав

Дисциплина «компьютерная безопасность», преподаватель — начальник отдела по разработке ПО какого-то завода. Лабораторка, рассчитанная на две пары, написана за двадцать минут. Преподаватель с удивлёнными глазами садится проверять. Вводит данные, программа высчитывает всё правильно. Он сидит, думает, открывает программу, вводит в поле вместо цифр буквы — программа выдаёт исключение о невозможности конвертации строки в число. Препод уходит.

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

Учитывая, что это была первая пара практики в семестре, защитил я лабораторную уже после того, как все одногруппники сдали зачёты. Объяснение было простым: «Программа была правильная с самого начала, но будь ты моим подчинённым, я бы тебя уволил — слишком сильно с начальником пререкаешься».

4240

На соплях и жвачке

1997 год, курсы бухов. Новый компьютерный класс из дров, похожих на компы, стасканных со всего технаря, и всё это нужно к утру привести в единообразное состояние.

Ну, винду с настроенными прогами мы уже умели с винта на винт копировать, после этого только дрова корректировали. Но вот кабель на одном мониторе чего-то заупрямился: мамы-папы в норме, а цвета бегают. Танцы с карточками (кто помнит S3 и Trident?) показали, что карты ни при чём. Глазуальный анализ показал: таки да, шнур. Носили, включали, таскали, перетыкали, мониторы тасовали... Страшное слово «дедлайн» мы услышали годами позже, но «к утру» стучало в висках не менее страшно.

Не-е-ет, изоленты и паяльников мы, как истые «компьютерщики нового поколения», при себе не имели. Вскрыли корд, соединили жилки, скрепили жвачкой, между жилками для изоляции вложили лист какого-то растения с подоконника. Кабель сдох только вечером — лист высох.

Физика, химия и биология — не лишние науки для компьютерщика.

4239

Жара, местами заморозки

В этом году в Черноземье стояла дикая жара: нормальной температурой считались +40 ˚C. В серверной, забитой оборудованием, было бы ещё жарче, если бы не промышленные кондиционеры. Но и они в конце концов сдались. Главный «Дед Мороз» переставал запускаться, если за бортом было теплее +30, что объяснялось наличием защитной бипластины. Приходилось выключать на ночь.

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

Так и сделали. Кондиционер охлаждается, мы стоим внизу ждём. Тут одна из бутылок падает с четвёртого этажа и разбивается с характерным ледяным хрустом. Налицо потенциальная производственная травма! Стали ржать по поводу возможной формулировки: «В разгар жары прибило сосулькой».

4238

ПТУшная логика

Сейчас я программлю на 1С, но во времена студенчества работал на Delphi и C++. Денег у студента нету, зато есть куча людей, у которых они есть, и они готовы ими делиться ради написанных программ. Брался я с охотой, делал максимально хорошо. Проблем с заданиями не возникало, тем более если они были толково составлены преподом.

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

Была убита неделя. За другие задачи я даже браться не хотел после этого. Добило то, что человек платить отказался: программа «не работала», то бишь он не смог объяснить преподавателю, что происходило на экране.

Прошло много времени, но калымить желания так и не появилось. Лёгких денег не бывает.

4237

Дилинк и Зайксел

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

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

Через два часа история с писком повторяется. Вынимаю второй свитч, чищу кулеры, один заменяю, перепаиваю кучу конденсаторов (состояние было куда хуже, чем у первого), включаю — работает. Через несколько часов история повторяется. Проверяю питание — нет ли «упса» рядом? Осматриваю всё, что только может пищать, разбираю оба свитча в поисках встроенного динамика... Всё впустую. Тут меня осенило: как только я начинаю производить какие-либо действия со свитчами, производя шум, писк прекращается.

Обе живности (то ли тараканы, то ли сверчки какие-то) были пойманы и посажены в банки. Назвал Дилинком и Зайкселом.

4236

Агент N/A

Дело было во времена появления Pentium II — одних из первых массово продававшихся RISC-CISC-трансляторов, а не классических CISC-процессоров, как Pentium и Pentium MMX. Да, именно тогда свет увидели оптимизация очереди выполнения команд, подстановочные регистры и разбиение команд на подкоманды.

Писали мы как-то с одногруппником одну задачку на ассемблере x86. По нажатии определённой комбинации клавиш надо было вывести на экран надпись: «Привет от агента 009!» Задача простая: резидент с обработчиком прерывания от клавиатуры; перехват комбинации, вывод надписи на экран, задержка и её стирание методом восстановления того, что было под ней. Да, примитивно, да, клавиатура «вставала колом» на время этой задержки, но нам для изучения прерываний больше и не нужно было.

Надпись в упор не хотела выводиться целиком. «Привет от агента» появлялось, а «009!» — ни в какую. Было выпито много пива и потрачено полдня. Уже и задержку в пять секунд вставили — не хочет.

Прихожу домой, запускаю на своём компьютере. Работает, выводит строчку целиком. Оказывается, Celeron 333 приятеля оптимизировал код на лету, и первые 16 байт строки выводились сразу, а последние 5 — непосредственно перед стиранием. Естественно, их мелькание на экране было совершенно незаметным. Мой же старенький Pentium 200 MMX ничего не изобретал — выводил всё целиком, а только потом исполнял цикл задержки. Стоит ли говорить, что ещё более древний институтский 80286 тоже не стал ничего изобретать, и лабу мы защитили успешно?

4235

Накормим железо железом

Дело было еще в Советском Союзе, когда при слове «электроника» благоговейно трепетали. Завидя некий электронный агрегат, работяги реагировали примерно следующим образом: «У-у-у, электроника! А давай-ка мы по ней кувалдой ударим, что будет?»

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

Недолго длилось горе шофёрское. Придумали они, как обойти систему. В щель автомата мужики всунули вместе с бланком лист жести. Автомат крякнул и заглох.

На этом опыт внедрения системы электронного заполнения путевых листов закончился. Следующая попытка была уже в новом веке.