bash.im ithappens.me zadolba.li

Образование

11108

Менделеевский подход к образованию

Лекционный зал. За столом преподавателя сидит обворожительная девушка модельной внешности. Я сижу перед ней за первой партой.

— Молодой человек, сколько уже можно? Вы будете отвечать, в чём отличие декларативного подхода к программированию от императивного?

(Про себя.) Думай, думай, думай…

— Ох, это ужасно! Императивный подход описывает процесс вычисления в виде инструкций. Это последовательность команд для исполнения компьютером. А вот декларативный подход описывает, что вам нужно в конечном итоге получить, а не как выполнять программу. Это набор логических правил.

— Ну поймите, я не могу всё помнить!

— Да чего тут помнить? Это нужно понимать! Какой же ты, Дима, всё-таки у меня глупый!

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

11106

Проблем нет, но их две

Звонит школа. Тётка в истерике:

— Всё пропало, всё плохо, интернет не работает!

— Поясните, пожалуйста, что, как и при каких условиях не работает?

— Не работает, всё плохо, надо Важному Начальнику что-то отсылать, Необходимые Контрольные проводить…

— У вас есть кто-нибудь, разбирающийся в компьютерах?

— Есть.

— Ну вот пусть он нам позвонит, а мы попробуем ему помочь по существу.

Через пару часов звонит молодой человек.

— Здравствуйте, мне тут сказали вам позвонить. Зачем?

— Ну, говорят, у вас там проблемы с доступом в интернет.

— А, это… Вообще-то проблем нет. Хотя их на самом деле две. Но вы всё равно не сможете мне помочь.

— Почему же?

— Понимаете, тут у некоторых учителей есть личные ноутбуки с Windows 7. Они приносят их в школу, шибко умный Windows находит в окрестных домах незапароленные вайфай-сети, соединяется с ними и пытается расшарить в проводную сеть, поднимая DHCP-сервер. Из-за этого получаются очевидные проблемы.

— А вторая проблема какая?

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

Бедняге можно было только посочувствовать.

11093

Не жилец, но есть нюансы

Источниками быдлокода являются не только неопытные программеры, но и люди, прямого отношения к программированию давно не имеющие.

Отучился я на специальности «Программное обеспечение ВТ и АС», но потом подался в ремонтники железа. Полученные знания потихоньку утрачивались, а новые касались совершенно других проблем. В один прекрасный момент хорошие знакомые попросили в сжатые сроки написать диплом по специальности, на которой я учился. Тема: «Сетевая реляционная БД». Отмазаться не получилось. Так как на работу отводили неделю, об изучении чего-то нового речи быть не могло: на одну пояснительную записку и плакаты ушло бы три-четыре дня. Писать предлагалось на Delphi 6. Надо отметить, что во время моего обучения на предмете «Базы данных» мы проходили досовский FoxPro 2.6, соответственно, про SQL я только слышал, а о сетевых БД знал только то, что они есть.

Поставленная задача была выполнена. Результатом стал клиент-серверный программный комплекс. Программа-сервер открывала файл MDB через ADO и ждала запросов от клиентских приложений. Клиентские приложения общались с сервером через DirectPlay (компонент DirectX, предназначенный для простой реализации сетевых игр), используя самопальный язык запросов. Получив от клиента запрос, сервер мог искать в БД данные методами FindFirst/FindNext либо создавать новые записи из полученных данных. Все запросы попадали в некое подобие FIFO-буфера, в котором происходила «сборка» фрагментированных запросов, а также отбрасывание огрызков. Контроль доступа к базе осуществлялся методами всё того же DirectPlay. Защита от одновременного редактирования записи была реализована путём добавления специального поля в корневой таблице: если значение в нём равно единице, то запись уже кто-то редактирует.

Как ни странно, весь этот кошмар работал. Тест проводили четыре добровольца. За десять минут активной манипуляции данными сбоев не было, а для диплома больше и не надо. Диплом был сдан на отлично, так как в текст программы никто не заглядывал, а на экране всё выглядело вполне пристойно.

Самый смак был после диплома: человек, сдававший эту работу, додумался действительно внедрить её на предприятии, где проходил практику. По его словам, всё работало; единственное — иногда приходилось пользоваться интерфейсом прямого редактирования данных в серверной части программы, чтобы снимать признак редактирования записи при повисании клиента (механизм транзакций я реализовать не успел).

Если кому это чудо попадётся — пожалуйста, не обижайтесь. Я не думал, что этим кто-то будет реально пользоваться.

11090

Хорошо, не ломом

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

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

Юное чудо молча выдёргивает шнур из розетки. Бесперебойник вздрагивает и начинает пищать. Стажёр недрогнувшей рукой жмёт кнопку.

— А где журнал для записей?

11058

Производственная слабость

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

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

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

Я минут пятнадцать объяснял преподавателю, почему РГР послана не через сайт, а на бумажке.

11050

Возраст дури не помеха

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

Не успел отзвенеть последний звонок, сданы все три ЕГЭ: русский, математика и информатика. Тебе уже звонят ни свет ни заря:

— Меня вскрыли злые хацкеры! Подписали на странный паблик «Вконтакте».

Конечно. Злые хацкеры спят и видят, как бы подписать тебя на паблик. Светоча айти видят даже в такой вот, как я, которая пока только и умеет, что тихонько писать на Бейсике и Паскале и лепить простенькие веб-странички в Блокноте.

А как это чудо под мою диктовку скачивало Яндекс-версию «Касперского» на полгода? Оно заходило на сайт «Касперского» и говорило: «Ой, но она же на месяц!»

А как оно доказывало мне, что кнопки «Подробнее» нет…

Взрослые, вы ещё верите в светлое будущее? Пожалуйста, не надейтесь на чужих детей. Заводите своих и не давайте им вырастать бревенчатыми брёвнами.

11044

Пиксель влево, пиксель вправо

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

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

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

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

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

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

О том, что подписи к рисункам (по ГОСТу должны быть по центру) и к таблицам (по ГОСТу должны быть справа) программа перечёркивает с утверждением «N параграфов выровнены не по ширине», думаю, читатель уже догадался.

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

После внесения всех исправлений файл был-таки принят программой, но оформление превратилось в такое страхо#$%ище, что добрым людям показать стыдно.

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

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

11009

Точка, блин, с запятой

Вполне себе рядовым с точки зрения учебного процесса весенним утром будущие специалисты, успешно прогрызающие гранит Турбо-Паскаля, обнаружили в интегрированной среде разработки этого продукта новейшую (и совершенно немыслимую по тем временам) функцию — автоматическое комментирование написанного ими кода. После каждой точки с запятой, завершающей очередной оператор, автоматически вставлялся текст {блин}.

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

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

10995

Вспомни, как это было

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

На тот момент я уже прекрасно знал, как устроен DOS. Из обыкновенного Паскаля выяснил, что просто в памяти затёрта запись о диске. Легко! Написал простую программку, восстанавливающую в памяти status quo, — дисковод появился.

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