Феномен Баадера-Майнхоф

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

Этот процесс в 2005 году описал с научной точки зрения Арнольд Цвики, профессор лингвистики Стэнфордского университета. Он назвал его иллюзией частотности.

Её легко объяснить двумя известными в психологии явлениями: избирательным вниманием и предвзятостью подтверждения (confirmation bias).

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

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

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

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

 

Аналитический паралич

Переизбыток анализа до такой степени, что прогресс и действия останавливаются.

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

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

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

 

Почему плохо

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

Как избежать

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

Примеры и признаки

Месяцы и годы, проведённые в анализе требований проекта, интерфейса или структуры БД.

В чём сложность

Бывает сложно понять, когда пора переходить от планирования, анализа требований и дизайна к реализации и тестированию.

Слишком длинно, не читал

Вместо чрезмерного анализа и спекуляций используйте пошаговое развитие.

Байкшеддинг

«Эффект велосипедного сарая» — bike-shed

Спорить о цвете велосипедного сарая намного проще, чем об атомной энергии.

 

«Эффект велосипедного сарая» или «закон тривиальности Паркинсона» был сформулирован Сирилом Норткотом Паркинсоном в 1957 году. Он привел в пример совещание на атомной электростанции, на котором большую часть времени участники потратили на обсуждение мелких и простых для понимания вопросов, таких как цвет велосипедного сарая, а не конструкции самой электростанции. Как объяснил инженер Карл Фогель, «время, потраченное на обсуждение пункта, обратно пропорционально его сложности и важности».

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

Закон нашёл применение в разработке программного обеспечения и других областях. В англоязычной литературе появился термин bike-shed effect (дословно «эффект велосипедного сарая»), ставший метафорой закона тривиальности.

 

Как избежать

Напоминайте другим членам команды об этой склонности, и о том, что в этих случаях главное – быстрее принять решение (бросить монетку, проголосовать, и т.п.). Если речь идёт о вещах вроде пользовательского интерфейса, обратитесь к A/B тестированию, вместо того, чтобы обсуждать это в команде.

Примеры и признаки

Часы или дни проводятся в обсуждениях цвета фона или расположения кнопки в интерфейсе, или использования табуляции вместо пробелов в коде.

В чём сложность

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

Слишком длинно, не читал

Не тратьте много времени на простейшие решения.

VNSTAT

 

vnstat — очень простой способ считать трафик на сервере. Утилиту удобно использовать в случаях, когда провайдер, по каким-то причинам, статистику по трафику не предоставляет, а лимиты при этом, устанавливает (Aruba, например).

Ставим vnstat из репозитория EPEL:

# yum install epel-release
# yum install vnstat

При необходимости, редактируем конфигурационный файл /etc/vnstat.conf, например, параметром SaveInterval задаём интервал, с которым данные будут записываться в базу, по умолчанию там установлено значение 5 минут. Параметром MonthRotate указываем день в месяце, когда статистика будет обнуляться, параметром UnitMode задаём единицы измерения трафика (0 — KiB/MiB/GiB/TiB, 1 — KB/MB/GB/TB). Здесь же можно указать пользователя, от которого будет работать сервис, пути для логов, формат даты и времени, директорию для баз и многое другое.

Запускаем подсчёт с vnstat.

Отредактированный конфиг сохраняем, сервис перезапускаем:

# systemctl restart vnstat

Создаём базу данных для нужного нам интерфейса:

# vnstat -u -i eth0

И продолжаем пользоваться сервером\интернетом в обычном режиме. Спустя указанный в интервале SaveInterval промежуток времени, проверяем что статистика ведётся:

# vnstat

Запуск команды с ключом —help покажет дополнительные возможности вывода статистики, например, ключи -h, -d, -w, -m позволяют вывести часовую, дневную, еженедельную и ежемесячную статистику. Для получения статистики в реальном времени, запускаем программу с -l.

Администратор так же имеет возможность вывести статистику по трафику в виде изображения, делается это с помощью vnstati:

# vnstati -vs -o ~/vnstat01.png

Как видим, утилита простая, в использовании очень удобная, свою задачу решает отлично, так что если вопрос подсчёта трафика и ведения его статистики на сервере стоит — к vnstat имеет смысл присмотреться.

window.location.href not working

После некоторых плясок с бубном и поиску в интернете, было найдено универсально работающее во всех браузерах решение.

window.location.href = "page.html"
заменить на

setTimeout(function(){document.location.href = "page.html";},500);