bash.im ithappens.me zadolba.li

Образование

1523

Хрупкие и нежные

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

В кабинете было около 15 машин: половина морально устаревших (еле тянули Win'98), вторая половина — вообще антиквариат. Мне попался старый комп с досом; в качестве оболочки был установлен DOS Navigator. Сажусь за машину; гляжу, за монитором лежит ста-а-арая квадратная шариковая мышь. Стало интересно. Подёргал я её — ага, курсора не видно. Недолго думая, набираю в командной строке mouse — грызун оживает, я в восторге. Сижу, значит, щёлкаю себе. Подлетает один из вышеописанных преподов и кричит, брызгая слюной:

— Ты что делаешь?!
— Мышку включил.
— Нельзя! Ты её сломаешь!
— Не переживайте, я не вандал.
— Нет!!! Сломаешь! Мы их даже в виндоусе не используем!

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

1514

[eq.pas

Дело было в школе, классе в 10-11. На уроках информатики мы учились программировать на турбо-паскале. Обычно я быстро справлялся с заданиями и большую часть урока страдал разными вариантами ничегонеделания. В один из таких дней я напрограммировал примитивную анимацию интересной части тела с поясняющей надписью из трёх букв. Проверил, сохранил под случайным именем и забыл.

Программа всплыла неожиданно спустя месяц. Был такой же урок, только я прохлаждался, сидя за другим компом. Учитель куда-то вышел; одноклассница, ничего не понимающая в предмете, искала в сохранённых файлах уже выполненное задание. Нашла, взглянула на код (исходник был похожим), запустила, тихо пискнула и в шоке чуть не сползла под стол. Я понял, что происходит что-то неординарное, когда вокруг неё столпились все, кто были в классе, издавая утробный гогот.

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

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

1508

Копирование с переподвыподвертом

В универе у нас был замечательный препод по информатике — большой оригинал.

Когда мы проходили MS Word, он рассказывал нам про чекбоксы в настройках, которых там не было, но «надо, чтобы они там были», причём спрашивал это на экзамене. Ещё он любил поменять местами клавиши на клавиатуре и попросить напечатать текст на скорость. Я, владея слепой печатью, на клавиатуру даже не глядел. Он пошёл дальше, поменяв знаки в самом ворде, но пока добрался до моего компьютера, я успел всё исправить.

Но это всё цветочки. Рассадил он как-то нас по парам; мне, благо, достался пацан, который отлично разбирался в предмете. Подходит к нам, говорит: «Покажите мне 7 способов копирования в Windows», — и даёт текстовый файл. Поехали: Ctrl+C/V, Ctrl/Shift+Ins, левой кнопкой, правой кнопкой, через меню окна, через меню файла — итого шесть. Думаем. Тут мой напарник подскакивает: «Я знаю!» — и делает копирование через командную строку.

Смотрим на препода. «Ага, я не подумал про командную строку — покажите восьмой способ». Сидим в ступоре. Через какое-то время мы всё же сдались и стали ждать откровения. Препод, издав победоносное «Смотрите!», открывает файл вордом, выбирает «Save as» и сохраняет файл в другом месте.

1487

Айти — дело тонкое

В Н-ском университете настолько умные деканы иногда попадаются!..

Командировка в столицу на предмет обмена опытом со свежеоткрывшимся универом (нашему уже за 55 перевалило). Дошло дело до обмена информацией. Свою мы на дисках привезли, а тут записать болванки не на чем — давай флешки из карманов выгребать. Начальник достает небольшой переносной винт и гордо демонстрирует собравшимся:

— У меня 500!

Декан факультета информационных технологий уточняет:

— Килобайтов?

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

— Иван Иванович, поясните людям, что такое килобайт, а то ведь не все вникают в эти технические тонкости!

Интересно, чему такое может кого-то научить и каким образом этот человек занял свою должность?

1477

Русский код, бессмысленный и беспощадный

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

Подзывает как-то меня на паре одна из одногруппниц, которая не отличалась особым умом и сообразительностью. Показывает мне синенькое окошко Turbo Pascal и спрашивает: «Что делает эта программа?»

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

Говорю, что тут я ничем не могу помочь. Она тут же открывает еще один аналогичный кусок «кода» и снова спрашивает, что делает программа. Я, офигев окончательно, всё-таки нахожу в себе силы спросить:

— Кто же это написал?!
(гордо) Я!

1444

Сделайте выводы

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

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

Пишу, компилирую, всё в порядке, но результата нет. Это ясно — хоть когда-нибудь программа начинала работать с первого раза?.. Значит, где-то я накосячила. Лезу разбираться в код — всё ОК. Отлаживаю «step by step» — программа считает, но результата по прежнему нет!

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

printf(result);

Иногда ларчик открывается очень просто.

1404

Учиться — так с музыкой

Устанавливаю программу для проверки знаний английского языка. Программа хорошая, лицензионная, но после третьего шага вдруг матюгнулась и заявила что-то вроде: «Работать не буду пока не установишь поддержку проигрывания файлов типа WAV. Систему, обнови, вот потом и поговорим».

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

Мучился ровно полдня. Перекопал весь установочный диск, WAV-файлов не нашёл. Тут меня осенило! Сунул наушники в разъем; вуаля — установщик тут же всё оформил в лучшем виде.

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

1400

С белой строки

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

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

Приезжаем, смотрим. Сбились поля. Текст должен быть посередине, а на деле съезжает вправо. Долго думали, что могло повлиять на это. Перерыли весь код — не нашли ничего. Решили проверить в режиме дебага, что может вызывать такие неполадки — всё работает как швейцарские часы. Ступор. Совершенное непонимание. Проверяем несколько раз, ответ очевиден: программа исправна.

Едем на место и просим показать, как сотрудники заполняют формы. Результат не заставил себя долго ждать: девушка-секретарь, стуча ногтями по пробелу, вручную сдвигала текст на середину экранного поля. Понятно, что при печати текст выравнивался по середине с учётом пробелов. Интересуемся у дамочки:

— Зачем вы это делаете? Ведь в инструкции написано, что при печати текст будет отформатирован автоматически.
— Инструкция — это вредная бумажка, которую читают законченные ламеры!

1381

Потоковый эксплойт

28 октября 2009, 09:00

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

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

cin >> SumString;
cout << "Сумма строк: " << SumString;

На экране же это выглядело так:

> Это полов <Enter>
> ина строки <Enter>
> Сумма строк: Это половина строки
> Press any key to continue...

Пока препод в ведомости не расписался, нажимать на Any Key я не давал.