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

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

1364

Пингвин против пингвина

Два раза с большим перерывом и в разных группах я наблюдал «линуксовые войны».

Война первая состоялось, когда я еще был несмышлёным школием. На информатике нас припахали ставить линукс на все машины в классе — про Ghost и прочий мирроринг учитель слыхом не слыхивал. Рутовый пароль был везде одинаков. Суть игры была простой: выключи машину противника раньше, чем он выключит твою. Атаковали, зайдя по SSH на чужую машину и сказав системе shutdown -h now. Блицкриг-вариант (halt) мы выучили позже. Была и возможность уйти в глухую оборону: init 1 с отключением сети.

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

#!/bin/sh

$0 &

$0 &


Другой с ней боролся: killall sh. Дело усугублялось отсутствием рута у обоих и грамотно выставленными лимитами. На уровне Nightmare можно одновременно пытаться залогиниться в KDE.

1359

Простите за ровный почерк

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

Если я скажу, что рисую как курица лапой — я не скажу ничего... Через десять минут размышлений решение проблемы было найдено. Я выцыганил у старшей сестры изрисованную от корки до корки контурную карту за 8–10. Сестра училась в художественной школе и от природы была очень аккуратна, что отразилось на картах.

Быстро найдя необходимый материал, я засунул карту в любимый МФУ HP, при помощи Paint закрасил шероховатости и стёр ненужные отметки с карт, а на диске «800 дизайнерских шрифтов» нашёл гарнитуру, наиболее похожую на мой почерк. Вуаля — карта готова!

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

1357

Дети цифрового века

У нас в семье в воспитании детей была извечная проблема — школьный дневник. Родители не рвались его проверять, а просто время от времени расписывались на каждой прошедшей неделе в графе «підпис батьків» — дескать, все замечания классрука прочитали, оценки видели, о прогулах знаем. Были, конечно, и случаи, когда на страницах дневника велся весьма оживленный чат с классруком, но наш рассказ не о том.

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

Я класса с восьмого, не мудрствуя лукаво, заполнял дневник под копирку. Брат раздобыл у отца наборный штамп и проштамповал дневник до конца года всеми предметами по очереди.

Но сестра все равно отличилась. Она пошла на переговоры с мамой-бухгалтером и дорвалась до принтера наклеек с ценниками/штрих-кодами. Программа была за шоколадку (или за красивые глаза, уж не знаю) изменена мамой и... дневник сестры был расклеен до конца года.

О дети цифрового века! Если им лень писать ручкой — они напечатают.

1305

Шестиразрядное сиденье

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

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

Щ-щёлк! В голове моей что-то отчётливо хрустнуло: «Переполнение!»

1302

Чёрный экран незачёта

Помнится, где-то полгода назад у нас на информатику пришло слишком много народу, поэтому компов на всех не хватило — за некоторыми машинами сидело по два человека. Мы с другом оказались в числе таких «парочек». Могли ли мы знать, что досталась нам одна из самых тормознутых машин?

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

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

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

1285

Ученье — свет, неученье — дисконнект

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

Откопал в шкафу старый роутер с Wi-Fi, подцепил в DMZ своего текущего роутера, сбросил безопасность и приготовился наблюдать «цирк с конями». За вечер за халявой ломанулось пятеро пионеров. Торренты лились гигабайтами, порно — десятками часов. Я усложнил задачу, закрыв порты и урезав диапазон допустимых IP. Детвора ломанулась конфигурировать железяку. Пошла борьба за власть — дошло до того, что меня самого отрубили! В общем, средний интеллектуальный уровень молодежи я повысил. WEP и MAC-фильтр победил только один, за что был премирован ночью халявного трафика.

Зато я успел собрать MAC-адреса, а потом прошёлся с КПК по подьезду и поискал Wi-Fi-локатором квартиры. В итоге я получил два резервных интернет-канала через точки доступа активистов (пароли «12345» и «qwerty123» вогнали в умиление) на случай скоропостижной кончины моего провайдера, а также узнал, куда идти бить морды, если молодёжь будет наглеть.

1284

Здоровое питание

В начале нулевых я учился на подготовительном курсе на одну из IT-специальностей в маленьком городе. Учреждение было довольно бедным: в компьютерном классе стояла дюжина пентиумов-233 с мониторами 17" и непонятно как туда попавший пентиум-100 с подслеповатым 14". Сеть на коаксиале; ни о каких бесперебойниках, конечно, и речи нет. Когда группа приходила на занятия, все старались занять «нормальную» машину для комфортной работы, а опоздавший бедняга попадал за тот самый «сотый», на котором процесс компиляции небольшой СУБД с десятком форм занимал четверть часа, а то и больше.

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

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

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

1271

Если это ваш программист, то какие же у вас охранники?

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

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

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

— А вы тоже в команде?

— Да, в некотором роде.

Бедолага-учитель начинает лихорадочно соображать, зачем EDV-фирме наёмный убийца. Директриса, услышавшая наш краткий диалог, сквозь смех объясняет, что герр такой-то, то есть ваш покорный слуга, собственно, и является автором представляемого продукта.

Пифагор был чемпионом Олимпийских Игр по боксу, а Нильс Бор — футболистом-любителем. Я в неплохой компании.

1268

Суровая ASCII-правда

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

Так вот, после очередного запуска программы я лезу проверять результат, нахожу в памяти нужную переменную и обнаруживаю, что записано в ней не что-нибудь, а «xy☺». И правда — результат был действительно неверным.

1241

d-_-b

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

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