Search
Write a publication
Pull to refresh

Почему лентяям не лень давать советы?

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

Люди не боятся нового, ими даже не движет консерватизм.

Им тупо лень.

Такое качество, как лень, вообще очень часто присуще работникам IT-сферы. Вспомните сентенции «настроил и забыл», «работа админа должна быть незаметна» и всё в том же роде.

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

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

Что из этого выходит? Да ничего хорошего.


1. Замечательная утилита iproute2 вышла уже давным-давно и официально рекомендована для замены net-tools.

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

ifconfig eth0:X бла-бла-бла...

Ну и что, что алиасы, да и вообще злосчастный ifconfig уж скоро 10 лет как объявлены deprecated? Ну и что с того, что багов вагон с тележкой, и исправлять в объявленном устаревшим продукте их никто особо не рвётся? Что хорошо работало когда-то — работает и сейчас!

Как правильно добавить второй адрес на интерфейс:

ip addr add

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

2. Признанный сервер Игоря Сысоева под названием nginx. Гуглим инструкции по настройке под Drupal. Не столь массово, как в предыдущем примере, но всё же довольно часто в мануалах продолжает всплывать конструкция:

if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?$1 last;
}


Ну и что, что это не актуально для nginx начиная с 0.7 (если мне не изменяет память)? Ну и что, что Сысоев сам назвал вышеупомянутую конструкцию «достойной всяческого порицания»? Ну и что, что друпал с ней некорректно отрабатывает множественные аргументы адресной строки? Ведь когда-то это работало!

Как правильно прописать конфиг для Drupal:

location / {
try_files $uri $uri/ @drupal;
}

location @drupal {
fastcgi_pass ...;

fastcgi_param SCRIPT_FILENAME /path/to/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param QUERY_STRING q=$uri&$args;

... прочие fastcgi_param
}

Но до сих пор люди по советам всяких чудаков пишут if (!-e $request_filename …
Потому что авторам «инструкций» лень читать ченджлоги.

3. Способ echo 0/1 >/proc/sys/куда-то там — это трюк из разряда «быстро и грязно», чтобы «попробовать, как оно будет». Для чего-то более-менее постоянного есть sysctl.conf.

Однако, повсеместно нули и единицы в разнообразных мануалах их горе-авторы отправляются в /proc подобным способом в стартовых скриптах, в директивах up файла /etc/network/interfaces, в rc.local…

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

Я мог бы долго ещё продолжать на эту тему. Но, пожалуй, на первый раз достаточно.

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

Но вы всё равно их пишете, пишете и пишете. И не лень же вам…
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.