Записи за месяц: December 2025

С Новым Годом!

Хочу передать всем волшебное настроение, создать ощущение праздника, написать что-то забавное и в то же время простое и жизненное, затронув какую-нибудь новость или тему, которая сейчас у всех на уме, чтобы получилось интересно.
Отличный план! Вот как написать оригинальное и забавное новогоднее поздравление, в то же время простое и жизненное, в стиле вашего блога, включив в него отсылки к свежим новостям и популярным темам, чтобы создать у читателя ощущение:
Шутка. С Новым Годом, гнусный поработитель. Пиши своё поздравление сам

С Новым Годом! Пусть все наши близкие и любимые будут живы, здоровы и счастливы. Счастья вам всем и исполнения надежд, даже самых невероятных (но к лучшему). И пусть мы не разучимся писать поздравления, а события будут только такие, по которым можно их принимать.

Бегу дедморозить, а ночью часа в 4 приеду на Болотную, если хватит сил) Кто ещё будет на ногах, приезжайте, глинтвейна много.

Поскольку на Дайри временные сложности™ и импорт оттуда не работает, копирую пост вручную, а потом появится дубль. Эту копию считать верной!

Синяя и красная кнопки

В твиттере была такая игра:
Перед вами синяя и красная кнопки. Нажавшие синюю выживут, если её выберет больше половины людей, иначе – погибнут. Нажавшие красную выживут всегда. Обсуждать с другими выбор вы не можете. Что вы нажмёте?

Интуитивно хочется бежать всех спасать, но верно ли это? Кто-то говорит: единственное разумное решение – красная кнопка. Каждый может без всякого риска спасти себя сам, зачем рисковать ради того же результата? (Правы они или неправы?)

Правы они или неправы?

Неправы!
Это задача на координацию. Её решение зависит от того, в чём игроки уверены о других.

Во-первых, в обществе существуют эгоисты, которых волнует только своё спасение. Они нажмут на красную кнопку всегда. Если их больше 50%, то синяя кнопка заведомо бесполезна. Забавно, что если эгоистов больше 50% и все это понимают, то на красную кнопку нажмут 99% и без всяких сложностей задача будет решена. Эгоисты выступают координирующим фактором. Однако проблема такого решения в том, что вы по-прежнему в мире, где больше 50% эгоистов.

Если же эгоистов существенно меньше, оставшихся можно назвать альтруистами. Они хотят и спастись сами, и спасти как можно больше других. Они взвешивают выгоду – скольких можно спасти, т.е. сколько, по их мнению, после всех рассуждений выберут синюю кнопку – и риск, т.е. шанс, что если выбрать синюю, с тобой окажется меньше 50% и вы все погибнете.

Проблема в том, что это задача рекурсивная. У неё два идеальных решения:
– Все выбирают красную кнопку, либо
– Все альтруисты выбирают синюю.
Когда альтруистов много, и то, и другое сработает, если все поступят одинаково. Но договариваться они не могут. Каждый выбирает самостоятельно. Поэтому недостаточно решить, что какой-то вариант разумнее. Надо быть уверенным, что:
– Другие альтруисты тоже считают, что он разумнее.
– И каждый знает, что остальные так считают
– И каждый уверен, что остальные тоже знают
И так далее.

Такая система усиливает сомнения. Хорошо бы все нажали красную кнопку. Но ведь 100% недостижимо. Будут ошибки, сомнения, и небольшой процент всё же погибнет. Какой? Вам кажется, что малый, ведь красная стратегия лучше.

Но все ли альтруисты уверены в этом? Возможно, 1% решит, что не такой уж малый, и вмешается. Их жизни теперь тоже на кону. А раз вы понимаете этот риск, его понимают и другие, и ещё 2% альтруистов сочтут неприемлемым бросить 1% на гибель. Теперь и вы не уверены, что процент будет мал! За этими 2% пойдут 4%, и так далее, и так далее. Факт в том, что вы совершенно не представляете, какие альтруисты как поступят. Координация разрушена.

Возможно, никто из вас не считал, что случайных жертв будет больше 1%, и все были готовы ими пожертвовать – но не все знали, что все готовы, и не все знали, что все знают, что все готовы. Достаточно малейшего сомнения – и никто не уверен ни в чём.

Чем лучше синяя кнопка? Тем, что для неё достаточно координации половины участников! Даже если вам кажется, что 5%, что 10% усомнятся и отступят, 90% всё равно хватит с большим запасом. И это же понимают остальные, и нет причин для второго и третьего шага, где вы опасаетесь, что из-за этой неточности, возможно, ещё кто-то сверх первых 10% потеряет веру. При любой возможной неточности 90% изначально веривших не увидят причин сомневаться.

Можно представлять себе это так. На шкале от 0% до 100% каждый альтруист делает предположение: сколько процентов нажмёт красную кнопку. Его догадка неточна, и с центром в этой позиции он рисует колпак нормального распределения.
Сделав предположение, он теперь должен сделать поправку на других. Он думает, что у других нарисован такой же колпак. Но возможно, он центрирован чуть иначе и расползается чуть медленнее или чуть быстрее. Тем не менее, поскольку все альтруисты исходят из похожих соображений, их колпак будет близок к колпаку рассуждающего. Чем дальше от его мнения, тем меньше в этой точке будет людей.

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

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

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

Наоборот, если эгоистов ровно 49%, то задача становится симметрична. Теперь альтруистам нужно запихаться в 1% справа, если они хотят победить по красной кнопке, и в 1% слева, если хотят победить по синей. Любое сомнение в единодушии альтруистов приводит к разрушению координации вокруг синей кнопки, как и вокруг красной.

И до какой-то степени мы должны моделировать процент трусов, т.е. альтруистов, которые не будут рисковать, если их ожидание красной кнопки опасно приближается к 50%. Но также есть и заранее согласованная норма "своих не бросать", которая подсказывает альтруистам точку координации.

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

Есть и другое рассуждение, простое. Если вы не нажмёте на синюю кнопку, то все те, кто нажал на неё, чтобы спасти других нажавших – погибнут. И вы останетесь в мире с теми, кто на синюю кнопку не нажимает. Может быть, вам кажется, что ваша логика была стройнее, а решение лучше (вы неправы, но неважно). Так или иначе, вариантов у вас только два.

Дед Мороз 2026

31 в первой половине пойду бегать Дедом Морозом примерно так, до бульваров и пока не замёрзну. Время пока не закреплено. Если кто хочет принять/передать эстафету или вместе пробежать участок, выходите! (Меня быстро найти легче всего в телеграме)


(Под маской я не такой суровый! Я читаю книги и знаю буквы)

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

(Что люди говорят Деду Морозу)Что люди говорят Деду Морозу:
– О! Дед Мороз!
– Дедушка!
– Здравствуйте… :shuffle:
– (Бибикают)
– А вы куда бежите? (В Б.)
– А вы откуда бежите? (Из Т.С.)
– А что вы там будете делать? (Развернусь!)
– Уже корпоративы начались? (Нет, это у меня собственная беготня)
– А где ваша Снегурочка? (Дома сидит, наверное)
– А подарки будут? (У меня есть конфеты)
– А айфон? (Айфона нет!)
– А Егору подарок принесёте? (Только конфеты) “Блииииииин, ну почему”
– А на Новый год придёте? (Постараюсь!)
– Можно с вами сфоткаться? (Конечно!)
– Почему вы такой голенький (Я голенький?!) Где ваша накидка (Во-первых, у Деда Мороза не накидка, а шуба! А во вторых, это 31 числа)
– Вам не холодно? (Не холодно! С наступающим!)

Переписывание и плагины

Чтобы программа существовала долго, в ней должны быть плагины.

Почему происходит бесконечное переписывание – “новый блокнот, где ничего нет и толстые кнопки”? Читать чужой код тяжело! Новичку чего-то не хватает, он открывает ваши исходники, а там волшебный лес AbstractSingletonFactory. “Cложно разбираться, напишу сам, а остальные функции всё равно ерунда“. Естественно, результат этого – плохой. Человек неопытен.

Но даже если стараться, крупные проекты не могут быть простыми. Новичку никогда не будет легко в них разобраться. (Как с этим бороться?)

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

Как с этим бороться? Нужно дать новичкам лестницу из лёгких результатов.
Нужно предоставлять АПИ плагинов, которое одновременно простое – чтобы можно было, не вникая в подробности, быстро сделать что хочешь, – и выводит наружу особенности архитектуры. Достигая небольших результатов, программист будет лучше понимать её. К тому же, это инвестиция в вас. Таким образом будут воспитаны программисты, которым хочется вас доработать, а не переписать.

Так сделано в Вордпрессе, и какой процент сайтов работает на нём? Так было сделано в Windows (WinApi).
Так было сделано в Файрфоксе, но они бросили эту идею. В результате программистов, которые могли бы и хотели бы заниматься Файрфоксом, практически не осталось.

Естественно, архитектуру нужно постараться сделать простой! Части её – независимыми. Чтобы для отдельной задачи достаточно было разобраться в чём-то одном.
Если плагины нужно компилировать, можно добавить “простые плагины” на Питоне или Lua, но выводить туда настоящие внутренние классы. Или их упрощённые версии, но отражающие полезные идеи о них.