Истории с тегом: образование

Всего историй: 725

4236

Агент N/A

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

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

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

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

4224

Недолго музыка играла

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

Чуда не случилось.

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

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

Венцом мести стал поставленный посреди комнаты вантуз (без понятия, откуда он взялся в кабинете информатики), обёрнутый двумя дохлыми IDE-шлейфами, позаимствованными из личных запасов. Усталые, но довольные, мы поползли по домам.

4217

На костях предков

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

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

Сажусь на приём через час. Открываю, она тыкает — всё работает.

— Ну, у кого содрал?

— Сам написал.

— Код покажи.

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

4216

Видна рука поэта

Убедили препода, что прога всё-таки работает? Значит, препод был хоть минимально вменяем. Я стал отказывать в просьбах написать программку для зачёта после многодневной попытки помочь сдать зачёт по программированию студентке сельскохозяйственной академии.

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

Как неправильно? Результат же правильный?! Ах, не так учили подобного вида задачи решать... А как учили? Ах вот так, оказывается, правильно! Ничего, что в полтора раза длиннее и лишние итерации в цикле выполняются, зато так учили. Всё переписывается заново, и с третьего раза две из трёх задач всё-таки сдаются. На всё про всё убита неделя времени и нервы, которые не восстанавливаются даже пивом.

Теперь на вопросы по программированию я с удовольствием поделюсь ссылками на мануалы по языкам и алгоритмам, отвечу на любые вопросы, покажу, как поправить код, и объясню, зачем и почему. Но писать ничего не буду. Увы, чтобы воспользоваться моей помощью, надо обладать базовым навыком — умением думать, что для многих становится непреодолимым барьером. Может, у кого-то есть ссылка и на этот мануал?

4188

Тихо сам с собою

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

После беглого взгляда на работающую программку препод перешёл к просмотру кода, при этом приговаривая: «Ага... Понятно... Хорошо... Стоп! Ни фига не понятно!» Запустил, ввёл какие-то значения в поля формы и невозмутимо ушёл под звук вылетевшего виндового окошка: «Программа вызвала ошибку... Обратитесь к разработчику и отправьте отчёт такой-то матери».

Разработчик долго сидел и, держась за голову, медитировал над предложением обратиться к самому себе.

4187

Насильственное опортативливание

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

Препод обратился к начальству и попросил компьютер за казённый счёт. Ему не отказали, и буквально через час сказали забрать новую машину у завхоза. Разумеется, машина оказалась настольной: монитор 21" и системник в половину меня высотой. Таскать это чудовище с собой невозможно даже в теории. Препод поругался (безуспешно) с деканатом, да вроде успокоился.

Через неделю сидим на его паре. Сидим минут десять, его всё нет и нет (а он обычно пунктуален). Слышим какой-то гул и грохот — сначала тихий, потом всё более громкий. Когда гул достиг апогея, в нашу аудиторию въехало нечто.

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

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

4185

Пуантилизм

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

Оказалось, проще некуда: сперва девчонки нарисовали картину на миллиметровке. Код состоял из сотен команд point(X,Y).

4180

Компилятор не согласен

Учились мы с другом в одном московском вузе на факультете автоматики и вычислительной техники. Разумеется, наши друзья-подруги с других факультетов нередко просили помочь в написании какого-нибудь типового курсача в рамках своего урезанного курса программирования. Так случилось и в тот раз.

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

— Что-о-о? Как это нерабочий? А ну, пошли-ка к твоей преподше! — и уводит вяло сопротивляющуюся первокурсницу в корпус.

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

Вот такой был у меня друг. Светлая ему память.

4167

Конь на переправе

Здесь часто бывают истории о том, как доблестные школьники уничтожают школьную технику, лишь бы побыстрее заполучить ПК помощнее. Зачем такое варварство? Технику, даже старую, нужно любить, и вот почему.

Моё первое знакомство с компьютером состоялось в школе на уроках информатики. Тогда класс был оборудован машинами Yamaha MSX2 (также известными как КУВТ) с монохромными дисплеями, а учили нас ужасу под названием «Школьный алгоритмический язык», который был настолько заморочен в своей простоте, что я его так и не поняла. Потом у меня был на время очень древний японский ноутбук с DOS на борту и парой игрушек. Игрушки мне не были интересны: я изучала DOS. Доломав систему, я всё же её освоила, даже не смущаясь незнанием японского языка.

Тем временем в очередном классе мы наконец начали изучать MSX BASIC, и учёба пошла веселее: я быстро начала схватывать, и непонятные ранее концепции вдруг оказались на удивление простыми. На фоне мы занимались и на более новых машинах (первые «пни» с 16 метрами памяти на борту и Windows 95 OSR2), но там учили систему, Офис и прочие программы, не имеющие к программированию никакого отношения. Тут и начала разворачиваться классическая драма: народ не хотел садиться за старые машины, все упорно хотели учить программирование только на новых. На фоне непрерывного нытья случилась даже пара актов вандализма, но и это ни к чему не привело — старые машины списывать никто не собирался. Так и учились.

Однажды грянула городская олимпиада по информатике, которая должна была пройти у нас. Не шибко какое событие, но я решила принять участие с группой товарищей. Случилось чудо: учитель разрешил выбирать машину по вкусу, и основная масса народу радостно рванула к новым. Я же ввиду своей консервативности решила не менять коня на переправе и села писать программы на старой доброй «ямахе». Не скажу, что у меня всё было гладко, но со стороны новых машин так и веяло тёмной аурой. Да, оказалось, что QBasic очень сильно отличается от MSX BASIC, и народу пришлось разбираться в том, как оно работает, прежде чем осмысленно писать код.

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

Не издевайтесь над старыми компьютерами. Берегите то, что у вас есть.

4164

Семнадцать мгновений весны

Сдавал у меня товарищ на первом курсе лабораторную по предмету «алгоритмические языки программирования». Всё бы хорошо, но его программа вылетала с ошибкой ровно через 17 секунд после запуска. Лабораторную он сдавал таким образом: подзывал преподавателя, запускал программу и начинал мысленный отсчёт: 17, 16, 15... За секунду до вылета программу товарищ закрывал: «Ну, что тут ещё смотреть! Впрочем, давайте ещё поглядим», — и цикл повторялся.