Социальные сети — благоприятная среда для фишинга и распространения вирусов, как и любое другое скопление больших масс людей.
Если кто-то что-то делает, значит ему это зачем-то да нужно, даже если мы не знаем его мотивов.
Другое дело, нужно ли это нам?
Вы смешиваете ряд понятий.
То, что дело делается некачественно, не имеет отношения к тому, нужно ли вообще само дело.
Так, по аналогии можно скзать, что закон запрещает убийства, грабежи, воровство, наркоторговлю, взятки, но… милиция/полиция и прочие слуги закона, как-то подозрительно часто сами бывают замешаны во всём этом. Значит ли это, что нужно отказаться от правил, запрещающих всё вышеперечисленное? Нет, нужно устранять действительные причины, а не маскировать проблему, стараясь избегать «встреч с законом».
Для врачей вакцина такая же своя, как и для Вас. Подавляющее большинство врачей не являются экспертами по выявлению некачественных препаратов, для этого есть соответствующие службы и ведомства.
Эпидемии не останавливаются другими способами. Вакцинация — единственный. А вот за тем, чтобы они действительно останавливались, а не превращались в наживу на чужом горе, должно следить общество, тщательно выбирающее ответственных специалистов на государственные руководящие должности.
Может ли Бог (да да, Тот Самый, Всемогущий), создать камень, который не сможет поднять? Это красивый парадокс, любимый атеистами и отлично иллюстрирующий в чём Вы в данном случае заблуждаетесь. Потому что в данном случае Вы прямо противоречите сами себе.
«У людей должен быть выбор» — зависеть или не зависеть от решений соседей (принятый закон). Но… «у людей должен быть выбор» — зависеть или не зависеть от решений соседей (персональный отказ от вакцинации). И это неразрешимый парадокс, если принять, что выбор — нечто абсолютное.
Здесь выше уже в комментариях разложили всё по полочкам: в случае инфекционных заболеваний — это не может быть личным выбором человека. При достижении определённых статистических показателей по прививкам, эпидемию удаётся предотвратить, а то со временем и искоренить болезнь. Есть люди, которым прививки делать нельзя. Вот эту группу людей нужно вписать в этот допустимый минимум непривитых и соблюсти этот минимум — фактически единственный способ их спасти в одних случаях от смерти, в других — от инвалидности (ну, кроме жёсткого карантина на неопределённый срок, что обществу обойдётся значительно дороже, чем всеобщие прививки, учитывая количество существующих заболеваний и не обязательно пересекающиеся множества тех, кому противопоказаны прививки).
Выбор — никогда не бывает изолированным. Если у Вас есть какой-то выбор, то наверняка найдётся кто-то, кого общество ограничивает, чтобы у Вас этот выбор был и может даже этот кто-то страдает от этого.
Личные мнения собирать не в пример проще. При этом множество людей выглядят как разные источники. Но, к сожалению количество не заменяет собой качество. Именно это играет злую шутку с человеком, инстинктивно набирающмся уверенности послушав мнения.
Эмоции — это вообще не самый лучший способ принимать решения. Но, так или иначе почти всё, что мы делаем, сводится к эмоциям (собственно, переведите на русский это слово и всё станет понятно).
Я сам ненавижу уколы с детства. Да, это проблема. Но я так же прекрасно знаю, что когда припрёт (а оно обязательно рано или поздно припрёт), это будет сильно хуже: колоть будут немилосердно и далеко не все уколы такие безболезненные как прививка.
Это не голые рассуждения. До 23 я был очень самоуверен насчёт своего здоровья, способности переносить холод. Как же, я был закалён, обливался ледяной водой зимой и всё такое. Но однажды прошёлся часик пешком под холодным ветром (причём ведь не первый раз) и на пол зимы загремел в больницу с фронтитом (болезнь, в чём-то родственная гаймориту). Страх перед уколом? Эка невидаль. Вот когда тебе сверлят лоб под местным наркозом (ты всё это частично видишь и слышишь) и цепляют нерв (а это ты ещё и ой как чувствуешь, несмотря на новокаин), когда тебе день за днём с громким хрустом (от одного только воспоминания меня до сих пор передёргивает) протыкают хрящ в носу, чтобы промыть пазухи, а ты видишь как изо лба льётся гной, отношение к рискам — словами не передать как меняется.
А какова для меня была цена вопроса? Всего то по холоду носить шапку. Но ведь со мной ничего плохого не случалось до этого, как-то справлялся с болезнями?
«Чёрный лебедь» — труднопрогнозируемое и редкое событие, которое имеет значительные последствия. Талеб описывает несколько типов заблуждений, приводящих к излишней уверенности в собственной способности анализировать будущее: нарративные (запоздалый поиск причины произошедшего во время его описания), игровые (использование игровых аналогий при моделировании) и ретроспективные (вера в успешное предсказание будущих событий на основании анализа произошедших)»
Когда все кругом здоровы и сам не болеешь, создаётся ложная уверенность, что это универсальное правило. Больные люди обычно не попадаются на глаза и не видишь, не чувствуешь, что происходит во время болезни. Кажется, что кругом здоровые люди. Ведь вспомнить здоровых, никогда (а никогда ли?) не болевших чем-то действительно опасным, значительно легче.
Это когнитивное искажение, свойственное всем людям. Так устроен наш разум. Значимым и вероятным мы считаем то, что легче можем вспомнить. А легче мы можем вспомнить либо то, что чаще случается (и тогда мы не рассматриваем всерьёз редкие события, особенно если никогда с ними не сталкивались), либо то, что вызвало сильный эмоциональный отклик, серьёзные переживания (и тогда мы впадаем в другую крайность).
Противники прививок сочетают оба этих искажения, не замечая массы болезней (ведь происходящее в больнице не видно) и замечая отдельные резонансные случаи негативных последствий прививок (но опять же не замечая массы позитивных, о которых и непонятно как узнать, о них ведь не говорят, они не вызывают резонанса и возмущений).
Ещё одно искажение — человек плохо осознаёт величины чисел, их пропорции, если они не обозначены наглядно. Десять, сто, тысяча, миллион — это одинаково «много». Десять против миллиона, если эти десять вызвали больше эмоций — вопреки всякой логике эти десять перевесят при принятии эмоционального решения. Таков, например, страх перед полётом на самолёте. Хотя на автомобиле погибнуть вероятность выше, но людей, боящихся автомобилей — значительно меньше, чем людей, боящихся самолётов. Смерть в самолёте очень и очень страшней, а каждая авиакатастрофа, вызывает значительно больший резонанс, чем банальное ДТП.
Поэтому анализировать нужно отстранённо и досконально. А эмоции накручивать уже потом, под полученный холодным рассудком результат.
А почему Вы решили, что Ваши дети — это именно «особый» случай, а не «среднепопуляционный»?
О результатах бездействия сожалеют не менее горько, чем о результатах действия.
Согласен, когда мы не упираемся в зависимость от медленных механизмов вроде диска или сети — это преимущество действительно сильно. И есть задачи не решаемые без выжимания всей производительности. Но, если будет зависимость от дорогих или медленных ресурсов, вперёд всё равно вырвутся «красивый» стиль и язык, позволяющие коду быть лаконичным и понятным (специально не делаю никаких выводов и допущений о единственно верном стиле и языке на все времена)
Дело в том, что как раз переделанная в генератор в PyPy отработала быстрее, чем полностью аналогичная без генератора. Но тут на самом деле удивляться нечему: просто выскользнуло из внимания, что без генератора нет механизма завершения выполнения и алгоритм выполняет бессмысленный перебор всех оставшихся вариантов. Из-за этого получается сильно заниженный результат. И вот тут как раз возникает другой парадокс: почему в CPython одинаковое время выполнения?
test_z_interval был интересен именно в контексте обсуждения «ну и что же считать самым быстрым». Всё относительно. Озвученные Вами результаты остальных тестов сильно не совпадают с полученными мною (и я говорю не об абсолютных числах), это хорошая тема для исследования и лишнее напоминание о бессмысленности преждевременной оптимизиации.
Сравнивать время исполнения с языками типа C++ бессмысленно, но когда время исполнения — в любом случае меньше секунды, значительно интереснее сравнивать трудозатраты программиста, которые для решения этой задачи явно не сопоставимы с затратами машинного времени и оптимизация требуется именно для них.
Именно об этом статья и именно поэтому и появилась эта ветка с питоном и последующие за ней.
Я вот от статьи действительно ожидал, что будет продемонстрирован подход позволяющий быстро писать лаконичный, понятный код, позволяющий проще реализовать сложные алгоритмы. Ждём продолжения или кому не терпится — ищем и изучаем самостоятельно )
Я специально проверил результат поменяв порядок выполнения функций, но нет, всё стабильно.
Различия между функциями минимальны и я ожидал бы, что _2 будет работать чуть дольше (как это и происходит в других версиях), но внезапно. В то же время у Вас, я так понимаю вполне оптимально выполнился код первого варианта?
Не стоит забывать, что кроме всего прочего ещё важна и версия интерпретатора и возможности процессора и насколько транслятор PyPy эффективно под процессор подстраивается.
Одним из вопиющих примеров разницы между вторым и третьим питоном, возмутившим меня в своё время, является range: xrange во втором обрабатывается раза в три (плюс/минус лапоть) быстрее range в третьем (и это касается и pypy).
Бенчмарки для того и пишутся, чтобы понять, что на самом деле эффективно, а ради чего не стоило мучаться.
Я там ещё один вариант добавил, которым эта задача на самом деле™ должна решаться и он «рвёт шаблоны» о производительности python и pypy (по крайней мере на моей машине) — интерпретатор обгоняет компилятор в пять раз.
Добавил вариант freuser и прогнал тесты через второй. Очень интересный результат в pypy2. Похоже сказывается его лучшая оптимизированность.
Ну и решение в десяток строчек против четырёх десятков — всё-таки, как ни крути, красиво.
Классика жанра bikeshedding en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality
Люди готовы уделять вопросу тем больше внимания, чем больше эмоций вызывает предмет обсуждения — суть всех холиваров.
Как пример — исследование с большим объёмом данных.
А в чём будет заключаться избыточность оптимизации, если время написания кода не увеличивается, а время выполнения — сокращается, увеличивая производительность процесса разработки в целом?
Если кто-то что-то делает, значит ему это зачем-то да нужно, даже если мы не знаем его мотивов.
Другое дело, нужно ли это нам?
То, что дело делается некачественно, не имеет отношения к тому, нужно ли вообще само дело.
Так, по аналогии можно скзать, что закон запрещает убийства, грабежи, воровство, наркоторговлю, взятки, но… милиция/полиция и прочие слуги закона, как-то подозрительно часто сами бывают замешаны во всём этом. Значит ли это, что нужно отказаться от правил, запрещающих всё вышеперечисленное? Нет, нужно устранять действительные причины, а не маскировать проблему, стараясь избегать «встреч с законом».
Для врачей вакцина такая же своя, как и для Вас. Подавляющее большинство врачей не являются экспертами по выявлению некачественных препаратов, для этого есть соответствующие службы и ведомства.
Эпидемии не останавливаются другими способами. Вакцинация — единственный. А вот за тем, чтобы они действительно останавливались, а не превращались в наживу на чужом горе, должно следить общество, тщательно выбирающее ответственных специалистов на государственные руководящие должности.
«У людей должен быть выбор» — зависеть или не зависеть от решений соседей (принятый закон). Но… «у людей должен быть выбор» — зависеть или не зависеть от решений соседей (персональный отказ от вакцинации). И это неразрешимый парадокс, если принять, что выбор — нечто абсолютное.
Здесь выше уже в комментариях разложили всё по полочкам: в случае инфекционных заболеваний — это не может быть личным выбором человека. При достижении определённых статистических показателей по прививкам, эпидемию удаётся предотвратить, а то со временем и искоренить болезнь. Есть люди, которым прививки делать нельзя. Вот эту группу людей нужно вписать в этот допустимый минимум непривитых и соблюсти этот минимум — фактически единственный способ их спасти в одних случаях от смерти, в других — от инвалидности (ну, кроме жёсткого карантина на неопределённый срок, что обществу обойдётся значительно дороже, чем всеобщие прививки, учитывая количество существующих заболеваний и не обязательно пересекающиеся множества тех, кому противопоказаны прививки).
Выбор — никогда не бывает изолированным. Если у Вас есть какой-то выбор, то наверняка найдётся кто-то, кого общество ограничивает, чтобы у Вас этот выбор был и может даже этот кто-то страдает от этого.
Я сам ненавижу уколы с детства. Да, это проблема. Но я так же прекрасно знаю, что когда припрёт (а оно обязательно рано или поздно припрёт), это будет сильно хуже: колоть будут немилосердно и далеко не все уколы такие безболезненные как прививка.
Это не голые рассуждения. До 23 я был очень самоуверен насчёт своего здоровья, способности переносить холод. Как же, я был закалён, обливался ледяной водой зимой и всё такое. Но однажды прошёлся часик пешком под холодным ветром (причём ведь не первый раз) и на пол зимы загремел в больницу с фронтитом (болезнь, в чём-то родственная гаймориту). Страх перед уколом? Эка невидаль. Вот когда тебе сверлят лоб под местным наркозом (ты всё это частично видишь и слышишь) и цепляют нерв (а это ты ещё и ой как чувствуешь, несмотря на новокаин), когда тебе день за днём с громким хрустом (от одного только воспоминания меня до сих пор передёргивает) протыкают хрящ в носу, чтобы промыть пазухи, а ты видишь как изо лба льётся гной, отношение к рискам — словами не передать как меняется.
А какова для меня была цена вопроса? Всего то по холоду носить шапку. Но ведь со мной ничего плохого не случалось до этого, как-то справлялся с болезнями?
«Чёрный лебедь» — труднопрогнозируемое и редкое событие, которое имеет значительные последствия. Талеб описывает несколько типов заблуждений, приводящих к излишней уверенности в собственной способности анализировать будущее: нарративные (запоздалый поиск причины произошедшего во время его описания), игровые (использование игровых аналогий при моделировании) и ретроспективные (вера в успешное предсказание будущих событий на основании анализа произошедших)»
Когда все кругом здоровы и сам не болеешь, создаётся ложная уверенность, что это универсальное правило. Больные люди обычно не попадаются на глаза и не видишь, не чувствуешь, что происходит во время болезни. Кажется, что кругом здоровые люди. Ведь вспомнить здоровых, никогда (а никогда ли?) не болевших чем-то действительно опасным, значительно легче.
Это когнитивное искажение, свойственное всем людям. Так устроен наш разум. Значимым и вероятным мы считаем то, что легче можем вспомнить. А легче мы можем вспомнить либо то, что чаще случается (и тогда мы не рассматриваем всерьёз редкие события, особенно если никогда с ними не сталкивались), либо то, что вызвало сильный эмоциональный отклик, серьёзные переживания (и тогда мы впадаем в другую крайность).
Противники прививок сочетают оба этих искажения, не замечая массы болезней (ведь происходящее в больнице не видно) и замечая отдельные резонансные случаи негативных последствий прививок (но опять же не замечая массы позитивных, о которых и непонятно как узнать, о них ведь не говорят, они не вызывают резонанса и возмущений).
Ещё одно искажение — человек плохо осознаёт величины чисел, их пропорции, если они не обозначены наглядно. Десять, сто, тысяча, миллион — это одинаково «много». Десять против миллиона, если эти десять вызвали больше эмоций — вопреки всякой логике эти десять перевесят при принятии эмоционального решения. Таков, например, страх перед полётом на самолёте. Хотя на автомобиле погибнуть вероятность выше, но людей, боящихся автомобилей — значительно меньше, чем людей, боящихся самолётов. Смерть в самолёте очень и очень страшней, а каждая авиакатастрофа, вызывает значительно больший резонанс, чем банальное ДТП.
Поэтому анализировать нужно отстранённо и досконально. А эмоции накручивать уже потом, под полученный холодным рассудком результат.
О результатах бездействия сожалеют не менее горько, чем о результатах действия.
Сравнивать время исполнения с языками типа C++ бессмысленно, но когда время исполнения — в любом случае меньше секунды, значительно интереснее сравнивать трудозатраты программиста, которые для решения этой задачи явно не сопоставимы с затратами машинного времени и оптимизация требуется именно для них.
Именно об этом статья и именно поэтому и появилась эта ветка с питоном и последующие за ней.
Я вот от статьи действительно ожидал, что будет продемонстрирован подход позволяющий быстро писать лаконичный, понятный код, позволяющий проще реализовать сложные алгоритмы. Ждём продолжения или кому не терпится — ищем и изучаем самостоятельно )
Upd. А собственно уже не ждём )
Обновил код.
1.324 sec; test_freuser_ft_alex
0.118 sec; test_freuser_ft_alex_2
Я специально проверил результат поменяв порядок выполнения функций, но нет, всё стабильно.
Различия между функциями минимальны и я ожидал бы, что _2 будет работать чуть дольше (как это и происходит в других версиях), но внезапно. В то же время у Вас, я так понимаю вполне оптимально выполнился код первого варианта?
Одним из вопиющих примеров разницы между вторым и третьим питоном, возмутившим меня в своё время, является range: xrange во втором обрабатывается раза в три (плюс/минус лапоть) быстрее range в третьем (и это касается и pypy).
Бенчмарки для того и пишутся, чтобы понять, что на самом деле эффективно, а ради чего не стоило мучаться.
Я там ещё один вариант добавил, которым эта задача на самом деле™ должна решаться и он «рвёт шаблоны» о производительности python и pypy (по крайней мере на моей машине) — интерпретатор обгоняет компилятор в пять раз.
Добавил вариант freuser и прогнал тесты через второй. Очень интересный результат в pypy2. Похоже сказывается его лучшая оптимизированность.
Ну и решение в десяток строчек против четырёх десятков — всё-таки, как ни крути, красиво.
gist.github.com/alexander-irbis/34828a5e9dc41940f506
При этом, самый читабельный вариант на удивление оказывается и самым быстрым
Люди готовы уделять вопросу тем больше внимания, чем больше эмоций вызывает предмет обсуждения — суть всех холиваров.
А в чём будет заключаться избыточность оптимизации, если время написания кода не увеличивается, а время выполнения — сокращается, увеличивая производительность процесса разработки в целом?
«Проще», не гарантирует «единственность» обязанности