bash.im ithappens.me zadolba.li

Образование

2165

Зверские байты

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

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

Ладно, не первый день за рулём. Запускаю отладчик и медленно, смакуя каждую команду, прогоняю код перед глазами. Вуаля, всё работает, если файл есть — удаляется, если нет — появляется сообщение об этом. Если же просто запускать программу, старая история повторяется. Ба, да исполняемый файл весит ровно 666 байт — нехорошее число преследует меня!

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

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

2157

Смерть понарошку

Дело было на втором курсе. Учился я на программиста-сисадмина-вебдизайнера — в общем, почти на все профессии, связанные с компьютером.

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

— Лекции есть?
— Нет.
— Тогда за ответ ставлю на два балла ниже.

Вопрос, ответ — четыре минус два равно двум. Одногруппник уже мысленно готовится к пересдаче, но тут преподователь говорит ему, что поставит «отлично», если он сможет сделать скриншот BSoD.

Идея пришла в голову минут через десять. Одногруппник быстро скачал из интернета виртуальную машину, а диск с виндой нашёлся у меня. Дальше дело техники — сносить библиотеки по очереди, пока винда не выпадет. Добившись своего, находчивый студент нажал Alt+PrintScreen, сохранил картинку в файл и идёт к преподу за заслуженной оценкой.

2121

Что-то вы темните

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

Сажусь я за стол, переворачиваю билет и чуть не матерюсь вслух. Дело в том, что из всех билетов мне попался именно тот единственный, который я (по извечному разгильдяйству) не решал дома и, следовательно, почти не знал. Шансы успешно сдать экзамен резко упали. Пересаживаться за другой стол тоже было поздно: рядом крутился препод.

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

Смекнув, что это мой шанс, я попросил разрешения пересесть за другой стол, где лежал, конечно, уже другой билет. Экзамен я сдал, причём с весьма хорошим результатом, а монитор удалось включить через несколько минут после моего перемещения.

2097

Коротко и ясно

Дело было на первом курсе, когда вместо давно и хорошо знакомого Паскаля мне пришлось заняться С/С++. Язык этот показался мне довольно странным, однако, наскоро выучив синтаксис, я сумел-таки написать необходимые для зачёта программы. Нюанс был в том, что в одной из них, касавшейся обработки массива, я сумел посадить маленькую и весьма неочевидную багу: не выдавая никаких ошибок на этапе компиляции и не влияя на правильность вычислений, она зверским образом пожирала память. На школьном Паскале с его искусственно ограниченными размерами массивов такое построение программы прокатывало, как говорится, на «ура» — но всякому овощу своё место...

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

Увидев мой индийский код, дедок переменился в лице, вскочил из-за стола и на всю аудиторию возопил: «Это ещё что за х@#ня?!»

Гробовая тишина. Преподаватель, осознав, что он не один, тоном значительно пониже добавил: «Вы уж простите мою терминологию».

Больше такой ошибки я никогда не допускал.

2082

Встал не с той ноги

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

Вернувшись, я увидел пустой рабочий стол: ни единого ярлыка, ни панели инструментов. В голове промелькнула мысль о несданном экзамене. К слову, я не очень хорошо разбираюсь в ОС. В непонятках я стал пробовать различные команды, но кроме диспетчера задач (в котором не было explorer.exe) не открывалось ничего, даже командная строка комбинацией клавиш.

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

Полоска ползла медленно, время шло. Вся информация по экзамену на харде; в восемь утра субботы помощи ждать неоткуда. Когда комп ушел в ребут, я с надеждой смотрел в монитор. Долгожданное приветствие и... пустой рабочий стол.

Ну, всё, думаю, хана. Ан нет, появилось окно: «Не удалось восстановить систему от 19 ноября 2009». Закрываю окно без всякой надежды на чудо, и вдруг на рабочем столе появляются все ярлыки, файлы и панель инструментов. Неудачное восстановление?

2075

Стриженый щенок

В одном из районо произошла такая история. Жила-была база по материалам, и пришла пора для внесения в неё документа по приобретению наименования «голый кабель». Сотрудница, будучи человеком воспитанным и принадлежащим к кругам отечественного образования, ненадолго задумавшись, поменяла «кобель» на «щенок». Через несколько минут в компьютере произошло ещё одно изменение: «голый» стал «стриженым» и был поставлен на учёт.

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

2071

Преведствие

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

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

А ларчик просто открывался. Мы научили пользовательшу пользоваться клавишей «Print Screen» и отловили... собачку-помощника из Office 2003.

2067

Ежемесячный вредитель

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

— Нам по приказу министерства/вышестоящего руководства необходимо установить у вас программу %software%. К вам подъедет наш специалист, предоставьте ему, пожалуйста, всё необходимое.
— Хорошо.

«Специалист» приезжает и требует дать ему полный доступ ко всему: три подсети, около 80 машин, пара вайфай-точек. После непродолжительных танцев с известным всему IT-миру инструментом вся эта сеть ложится просто наглухо — даже точки доступа виснут! «Специалист» делает отмороженное лицо и со словами «У вас система неправильно настроена» быстро сваливает с последующим выходом в отпуск или на больничный месяца на два. Я же заселяюсь в серверную на трое суток, пока всё не подниму на место. Живёт сеть ровно до следующего прихода вредителя.

И так пять лет подряд.

2036

Мужики, вы ещё не видели инфракрасных писсуаров!

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

Ближе к концу учебного года учителя начали замечать непонятную тенденцию — «мальчуковая» половина класса начала постоянно тянуть руку, причём даже отъявленные двоечники. Самое странное заключалось в том, что отвечающие ученики ничего не знали! В попытках разгадать странное поведение учеников родились различные теории: от «они чувствуют отвественность» до «пьяные, что ли, на уроки ходят».

А разгадка была проста. Для охраны будущих компьтеров была установлена сигнализация с простейшим датчиком движения, который на любое мельтешение в подконтрольной зоне отвечал загорающимся красным диодом. Мы такое видели только по телевизору, это вызвало бурный восторг, и мы постоянно поднимали руки и раскачивали ими лишь для того, чтобы загорелся светодиод.

Когда очередной нерадивый ученик на этом попадался, учителя принимали поднятую руку за желание ответить; так как ученик чаще всего ничего не знал, он старался выкрутиться и садился под дружный хохот одноклассников, понимающих, что на самом деле произошло.