Вопрос на известном hardware-форуме:
У меня клавиатура Chicony, но я не знаю, какая модель. На самой клавиатуре написано: «Genius».
Вопрос на известном hardware-форуме:
У меня клавиатура Chicony, но я не знаю, какая модель. На самой клавиатуре написано: «Genius».
Работаю в банке на поддержке АБС. Звонит операционист: «Набираю дату рождения, и программа не даёт ничего сделать: не пропускает дальше, не делает отмену операции, тупо не выходит из поля ввода даты».
Подключилась через Радмин, смотрю: вроде всё правильно. Перебила дату лично, так, на всякий случай: 31.04.1957. Так, стоп, с каких это пор у нас в апреле 31 день?.. Попыталась указать операционистке на её тупость. Однако это не она умом обделённая оказалась. Не то паспортисты рехнулись, выдав документ с такой датой, не то клиентка, счастливо празднующая день рождения 31 апреля, не то все они вместе взятые.
Если уж все пошли вспоминать своих институтских преподов, то вспомню и я. Первый же день моей учёбы в универе был омрачён парой по информатике (или как её там), где женщина солидного возраста объясняла поточной аудитории, что в течении двух семестров мы будем изучать с ней язык программирования Turbo (тут она сверилась с бумажкой) Basic. Тут мой здравый смысл ушёл на покой, разбудив во мне подросткового быдлокодера, который выучил C++ по книжке и ещё в школе писал всем зачётные-выпускные по информатике — двумерные аркады с подробными комментариями, которые потом были дисквалифицированы за единый стиль. «Бейсик — не язык, а обучающая программа. Для высшего образования это слишком слабо! Да он проходится за неделю! Он не соответствует современным концепциям!»
Короче, меня хватило на две лекции, где оказалось, что «правильный» — только тот код, который в её тетрадке. Реализовать по-своему мы не способны в принципе, а код, что мы написали, если он короче её реализации, «не заработает, мы пробовать не будем — это и так понятно». В самом начале третьей лекции я ушёл, заявив на всю аудиторию:
— Мне надо! Я пойду пиво пить. Не то чтобы мне не нравился предмет — мне он очень нравится, — просто то, что вы рассказываете, это бред. Он делает меня только глупее, так что я не вижу смысла в своем присутствии на ваших лекциях.
— Встретимся на экзамене, — тихо ответила женщина.
Группа какое-то время смотрела на меня, как на прокажённого, но после пары семинаров, которые вёл другой препод, стала просить о помощи. Три человека в свободное время ходили ко мне на занятия в свободной аудитории два раза в неделю. Преподавать оказалось непросто, особенно если тебе семнадцать и ты не на одной волне с окружающими.
В день экзамена я зашёл в кабинет с опозданием на час и с порога затребовал задание на «отлично», на что закономерно получил ответ: «Сначала посмотрим, знаешь ли ты хотя бы на тройку». Предлагалось написать программу на бумажке. Не проблема: «Эту задачу можно решить так, но в соответствии с концепцией структурированного программирования... А с точки зрения процессорного времени...» Задание на пятёрку я таки получил и написал код в тетрадь — короткий, оптимизированный, а не тот, которому она учила.
— Садись за компьютер, набирай программу. Если заработает — «отлично». У тебя полчаса.
— Мне хватит пяти минут.
Методом десятипальцевого слепого копипаста я набрал код и запихнул его в менюшку: все задания в одной проге. Всё оформил, проверяю. С примером из задания — ОК. С «введите вручную» — ОК. С значениями из генератора случайных чисел, в том числе знакопеременными — неправильный результат! Я покрываюсь холодным потом: время заканчивается... Убираю из менюшки вариант со случайными числами.
— Всё готово. Проверяйте.
— Результаты сошлись?
— М-м-м... Да!
— Ну, не мне вас проверять. Пять.
Ошибку я нашёл позже. На потоке пятёрки получили всего несколько человек: я и моя «группа».
* * *
Позже я помогал «за еду» пересдавать экзамен у той же преподши своей знакомой. Подтолкнув в класс знакомую за талию, я пояснил, что она «очень боится не пересдать, и я её поддерживаю». Через пять минут после раздачи заданий преподша вышла «попить чаю». За минуту я помог подопечной, ещё 15 минут ушло на остальных — сдали все.
По пути домой из ресторана я наткнулся на шумную компанию студентов, отмечавших халяву — оказалось, те самые, которым я помог. Вскладчину ребята выставили мне три ящика пива, которые мы коллективно и распили. На этом воспоминание оканчивается.
Дисциплина «компьютерная безопасность», преподаватель — начальник отдела по разработке ПО какого-то завода. Лабораторка, рассчитанная на две пары, написана за двадцать минут. Преподаватель с удивлёнными глазами садится проверять. Вводит данные, программа высчитывает всё правильно. Он сидит, думает, открывает программу, вводит в поле вместо цифр буквы — программа выдаёт исключение о невозможности конвертации строки в число. Препод уходит.
Исправляю все недочёты — и тут начинается. Каждая попытка защиты разбивается об аргументы: программа считает неверно, алгоритм не тот и так далее. Начинаются пререкания с преподом, вывод доказательств мелом на доске, указание на эти же методики расчёта у него в лекциях и прочих книгах — всё равно неправильно...
Учитывая, что это была первая пара практики в семестре, защитил я лабораторную уже после того, как все одногруппники сдали зачёты. Объяснение было простым: «Программа была правильная с самого начала, но будь ты моим подчинённым, я бы тебя уволил — слишком сильно с начальником пререкаешься».
1997 год, курсы бухов. Новый компьютерный класс из дров, похожих на компы, стасканных со всего технаря, и всё это нужно к утру привести в единообразное состояние.
Ну, винду с настроенными прогами мы уже умели с винта на винт копировать, после этого только дрова корректировали. Но вот кабель на одном мониторе чего-то заупрямился: мамы-папы в норме, а цвета бегают. Танцы с карточками (кто помнит S3 и Trident?) показали, что карты ни при чём. Глазуальный анализ показал: таки да, шнур. Носили, включали, таскали, перетыкали, мониторы тасовали... Страшное слово «дедлайн» мы услышали годами позже, но «к утру» стучало в висках не менее страшно.
Не-е-ет, изоленты и паяльников мы, как истые «компьютерщики нового поколения», при себе не имели. Вскрыли корд, соединили жилки, скрепили жвачкой, между жилками для изоляции вложили лист какого-то растения с подоконника. Кабель сдох только вечером — лист высох.
Физика, химия и биология — не лишние науки для компьютерщика.
В этом году в Черноземье стояла дикая жара: нормальной температурой считались +40 ˚C. В серверной, забитой оборудованием, было бы ещё жарче, если бы не промышленные кондиционеры. Но и они в конце концов сдались. Главный «Дед Мороз» переставал запускаться, если за бортом было теплее +30, что объяснялось наличием защитной бипластины. Приходилось выключать на ночь.
Сам техотдел спасался замороженной в холодильнике водой, минеральной и обычной. Она-то и натолкнула на гениальную мысль: почему бы пораньше утром не обложить внешний блок кондишна бутылками с замороженной водой, а когда охладится, запустить его?
Так и сделали. Кондиционер охлаждается, мы стоим внизу ждём. Тут одна из бутылок падает с четвёртого этажа и разбивается с характерным ледяным хрустом. Налицо потенциальная производственная травма! Стали ржать по поводу возможной формулировки: «В разгар жары прибило сосулькой».
Сейчас я программлю на 1С, но во времена студенчества работал на Delphi и C++. Денег у студента нету, зато есть куча людей, у которых они есть, и они готовы ими делиться ради написанных программ. Брался я с охотой, делал максимально хорошо. Проблем с заданиями не возникало, тем более если они были толково составлены преподом.
В пору сессий «подфартило» мне взяться за задачи каких то ПТУшников. Профит ожидался небольшой, но студенту три задачи по 40 рублей, помноженные на 40 человек в группе ПТУ, могли только сниться. Естественно, меры предосторожности я принял, сперва взявшись за задачи лишь одного человека. Полчаса — и две готовы, а взглянув на третью, я понял, что задания надо читать сразу. Не буду приводить точный текст, но требовалось написать программу, которая парсит и вычисляет логические выражения.
Была убита неделя. За другие задачи я даже браться не хотел после этого. Добило то, что человек платить отказался: программа «не работала», то бишь он не смог объяснить преподавателю, что происходило на экране.
Прошло много времени, но калымить желания так и не появилось. Лёгких денег не бывает.
Речь пойдёт о многострадальной локальной сети, созданной задолго до того, как я пришел работать в контору. Сетевой шкаф находится у меня в кабинете. Ни один из проводов, которых насчитывается около полусотни, не подписан. Понять, как работает эта чудо-сеть, я честно пытался — не помогло даже пиво.
Я всегда боялся, что один из свитчей умрёт смертью храбрых. Захожу в кабинет утром — из сетевого шкафа доносится предсмертный писк. Я был в ужасе, ибо денег на новый свитч мне точно не дадут. Вынул, разобрал, прочистил кулеры, заменил один конденсатор, включил — не пищит. Ставлю в шкаф, включаю. Идиллия.
Через два часа история с писком повторяется. Вынимаю второй свитч, чищу кулеры, один заменяю, перепаиваю кучу конденсаторов (состояние было куда хуже, чем у первого), включаю — работает. Через несколько часов история повторяется. Проверяю питание — нет ли «упса» рядом? Осматриваю всё, что только может пищать, разбираю оба свитча в поисках встроенного динамика... Всё впустую. Тут меня осенило: как только я начинаю производить какие-либо действия со свитчами, производя шум, писк прекращается.
Обе живности (то ли тараканы, то ли сверчки какие-то) были пойманы и посажены в банки. Назвал Дилинком и Зайкселом.
Дело было во времена появления Pentium II — одних из первых массово продававшихся RISC-CISC-трансляторов, а не классических CISC-процессоров, как Pentium и Pentium MMX. Да, именно тогда свет увидели оптимизация очереди выполнения команд, подстановочные регистры и разбиение команд на подкоманды.
Писали мы как-то с одногруппником одну задачку на ассемблере x86. По нажатии определённой комбинации клавиш надо было вывести на экран надпись: «Привет от агента 009!» Задача простая: резидент с обработчиком прерывания от клавиатуры; перехват комбинации, вывод надписи на экран, задержка и её стирание методом восстановления того, что было под ней. Да, примитивно, да, клавиатура «вставала колом» на время этой задержки, но нам для изучения прерываний больше и не нужно было.
Надпись в упор не хотела выводиться целиком. «Привет от агента» появлялось, а «009!» — ни в какую. Было выпито много пива и потрачено полдня. Уже и задержку в пять секунд вставили — не хочет.
Прихожу домой, запускаю на своём компьютере. Работает, выводит строчку целиком. Оказывается, Celeron 333 приятеля оптимизировал код на лету, и первые 16 байт строки выводились сразу, а последние 5 — непосредственно перед стиранием. Естественно, их мелькание на экране было совершенно незаметным. Мой же старенький Pentium 200 MMX ничего не изобретал — выводил всё целиком, а только потом исполнял цикл задержки. Стоит ли говорить, что ещё более древний институтский 80286 тоже не стал ничего изобретать, и лабу мы защитили успешно?
Дело было еще в Советском Союзе, когда при слове «электроника» благоговейно трепетали. Завидя некий электронный агрегат, работяги реагировали примерно следующим образом: «У-у-у, электроника! А давай-ка мы по ней кувалдой ударим, что будет?»
На одном АТП внедрили систему электронного заполнения путевых листов. Процесс заполнения путевых листов шайтан-машиной проходил так: в щель агрегата просовывался бланк путевого листа, внутренности гремели, звенели, и после изъятия путевого листа работяги лицезрели выбитые время-дату. Когда на предприятии появился чудо-агрегат, водители не обрадовались: ни тебе премиальных, ни левака. С человеком, заполняющим бланки, всегда можно было договориться, а с электроникой...
Недолго длилось горе шофёрское. Придумали они, как обойти систему. В щель автомата мужики всунули вместе с бланком лист жести. Автомат крякнул и заглох.
На этом опыт внедрения системы электронного заполнения путевых листов закончился. Следующая попытка была уже в новом веке.