Выбрать главу

Как-то раз случился между означенными студентами холивар: во сколько строчек кода можно реализовать сортировку пузырьком в самом простом варианте? Физматик утверждал, что меньше чем в полсотни не уложиться; Раздолбай общеобразовательный стоял на том, что 20 — это максимум.

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

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

Итак, программы набиты, указательные пальцы замерли над клавишами F9… Старт! «Раздолбайская» программа молча скомпилировалась, скушала поданный массив, отсортировала его и ждала, когда милостивый хозяин нажмёт что-нибудь, дабы она могла удалиться на покой. «Физматская» никак не желала компилироваться: ошибки пёрли из всех щелей. Даже после того, как они были побеждены, борьба за результат продолжалась почти до конца пары.

В дальнейшем пути студентов разошлись: Физматик перевёлся в самый крутой вуз страны, Раздолбай отчислился из-за академической неуспеваемости (любите физкультуру — и будет вам счастье) и более никогда не пытался получить заветную корочку диплома (вру, нагло вру: на третьем курсе я).

К чему я всё это вам рассказываю? Да к тому, что пишу я эту грустную повесть, а в углу экрана тихонько булькает отладчик, прогоняя через себя очередной кусок оптимизированного кода, который был передан мне на фрилансерских основаниях из фирмочки, где Физматик командует шайкой кодеров. Грустно мне не из-за плохой погоды и не из-за времени, потраченного на выкидывание всего ненужного из кода, а из-за того, что этот самый код должен стать частью большой программы, очень нужной пользователям. Мне их заранее жаль: нет у меня уверенности, что весь код будет проверен и оптимизирован Раздолбаями.

#6548: О патчинге штакетников

20:45 23.06.2011, IT happens

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

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

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

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

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

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

Лезут через макросы? Запретите запись в папку с normal.dot на уровне NTFS.

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