moose, transparent

задачка про числа

На бумаге написаны 10 натуральных чисел от 1 до 100, все десять разные. Доказать, что можно составить из них два набора с одинаковой суммой. Необязательно использовать все десять чисел в этих двух наборах, можно меньше.

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

Комментарии не скрываю, там без сомнения будут спойлеры, учтите. За условие спасибо spamsink.
moose, transparent

лабиринт

Моя любимая метафора сегодня —

"Эдипа кивнула. Она не могла оторвать взгляда от его глаз. Яркие черные глаза в невероятной сети морщинок, словно лабораторный лабиринт для изучения интеллекта слез."

(Перечитываю "Выкрикивается лот 49" Томаса Пинчона)

(в оригинале перечитываю. Вот эта цитата в оригинале:

"Oedipa nodded. She couldn’t stop watching his eyes. They were bright black, surrounded by an incredible network of lines, like a laboratory maze for studying intelligence in tears.")
moose, transparent

фаучи

Энтони Фаучи, директор американского института инфеционных заболеваний, стал, вскоре после начала эпидемии коронавируса в США, де-факто главным медийным представителем официально-экспертной точки зрения. Общественные опросы в прошлом году показывали неоднократно, что публика доверяет Фаучи в вопросах коронавируса больше, чем президенту Трампу. Со временем крайняя политическая поляризация привела к тому, что либералы особенно склонны доверять Фаучи, а консерваторы - особенно склонны не доверять, и до поражения Трампа на выборах призывы из правого лагеря "уволить Фаучи" стали практически ежедневным лозунгом.



Крайне полизитированное отношение к Фаучи не обязано помешать нам стремиться объективно оценить авторитетность его слов и решить, насколько следует им доверять. В целом то, что говорил Фаучи, всю дорогу более или менее соответствовало официальным рекомендациям от CDC и FDA, американских здравоохранительных агентств. Он просто был медийным лицом, наиболее эффективно озвучивавшим эти рекомендации. Когда в марте 2020 года Фаучи сказал в интервью, что не следует носить маску, если не знаешь, что болен, он был неправ, но эта неправота была официальной позицией CDC. В целом на протяжении 2020 года Фаучи говорил чаще разумные и полезные вещи, чем глупые и дурные, особенно на фоне постоянной клоунады Трампа, который то и дело обещал, что вирус вот-вот исчезнет, проповедовал гидроксилорохин, предлагал задуматься об инъекции отбеливателя, перекладывал вину на всех вокруг, итд. итп.

Вместе с тем, официальные действия и рекомендации, которые помогал формулировать и озвучивал Фаучи, далеко не всегда были достаточными, разумными и адекватными. Как самый яркий пример - я неоднократно писал о challenge trials, добровольных испытаниях вакцин, которые могли сэкономить нам много месяцев (напомню, что формула мРНК-вакцины Файзера была составлена за два дня и готова в январе 2020 года). Мог ли Фаучи предлагать ускорить процесс проверки вакцин и масштабировать их производство, идя против мейнстримного мнения в здравоохранительных органах? Наверное, если бы он был к такому склонен, то не дошел бы до поста главного официального эксперта. Об этом - о балансе экспертного мнения и политических соображеной - есть интересная запись Скотта Александра WebMD, And The Tragedy Of Legible Expertise, которую рекомендую прочитать; вторая часть там как раз посвящена Фаучи.

Вместе с тем в декабре прошлого года произошел любопытный эпизод, на мой взгляд полностью закрывающий тему Фаучи - но общественное мнение со мной в этом, похоже, не соглашается. В Нью-Йорк Таймс появилась статья о том, что Фаучи несколько раз сдвигал свою оценку того, какой процент населения должен быть вакцинирован или переболеть ковид-19, чтобы включился коллективный иммунитет (herd immunity) - он начал с 60-70 процентов, и постепенно поднялся до 80-90 (чем больше процент, тем пессимистичнее, потому что заведомо не все согласятся на прививку; у разных инфекционных болезней этот процент может быть разным, и для коронавируса никто его в точности не знает, вопрос спорный). Когда его спросили об этом, Фаучи прямо сказал, что сознательно менял эту оценку, потому что говорил то, что по его мнению публика готова была услышать, а не свое настоящее мнение. Когда он видел, что лишь половина американцев согласна вакцинироваться, он говорил про 60%; когда увидел, что готовых стало больше, решил сказать что-то ближе к истине, как ее понимал, итд.

Мне кажется, что после этой статьи вопрос о доверии к Фаучи должен быть закрыт раз и навсегда, отрицательным образом. Если человек сам рассказывает вам, что врет (пусть и "во спасение", с его точки зрения), как можно после этого ему доверять? Это принципиальный вопрос, и по-моему вполне черно-белый. Даже если вы согласны, что надо было говорить неправильную оценку, например, чтобы поддержать оптимизм у публики или что угодно еще, это все равно не меняет того факта, что глупо доверять этому человеку в будущем. Невозможно запихать эту зубную пасту обратно в тюбик. Никакие слова Фаучи не могут считаться проистекающими только из врачебных, экспертных соображений - по умолчанию они мотивированы политически и идеологически, и даже если это идеология, с которой я согласен, это ничего не меняет - степень моего априорного доверия упала до нуля. По-моему, это единственное разумное поведение в таком случае.

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

овощи-фрукты

Съездил в овощную лавку утром. Может, кому-то интересно, как закупается овощами типичная (???) израильская семья?

Привожу все цены в шекелях и в пересчете на доллары. Общая сумма покупки 300 шекелей / $92. Сравнения и язвительные замечания приветствуются :-)



Арбуз 8.50 шекелей / $2.30 за кг
апельсины 5 шекелей / $1.50 за кг
морковка 7.50 шекелей / $2.30 за упаковку
цветная капуста 6.90 шекелей / $2.10 за кг
кольраби 5.90 шекелей / $1.80 за кг
яблоки 12 шекелей / $3.70 за кг.



Картошка 1.90 шекелей / $0.6 за кг
белая сладкая кукуруза 15 шекелей / $4.6 за упаковку
огурцы 6.90 шекелей / $2.1 за кг.



Листья шпината 12 шекелей / $3.70 за упаковку
помидоры шерри 9.90 шекелей / $3 за кг
виноград 32 шекеля / $9.80 за кг
красный перец 8.90 шекелей / $3.25 за кг
корень петрушки 4.50 шекелей / $1.40 за единицу
шнитт-лук 5 шекелей / $1.50 за упаковку
израильская голубика 20 шекелей / $6.10 за упаковку.



Листья бейби (мини-салаты?) 8 шекелей/ $2.5 за упаковку
головка салата 6 шекелей / $1.80 за единицу
грибы портобелло 17 шекелей / $5.20 за упаковку.
moose, transparent

как организовать быт с помощью телеграма

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

Document and Organize Life using countless Telegram Groups

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

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

- Ежедневное селфи, или фотографии членов семьи. Я сделал группу, в которую каждый день посылаю фронтальную фотографию всех троих детей, жены и себя. Три месяца спустя я уже очень доволен, что это сделал, через десять лет буду супер благодарен себе.
- Все медицинские вопросы и события. Результат проверки крови? Щелкнул, послал. Заболел живот и стошнило? Записал, если потом почувствуешь, что часто происходит, легко будет проверить. Если есть дети, можно сделать отдельную группу для каждого ребенка. Диагнозы, прививки, направления к врачам, купленные лекарства, что угодно.
- Изучение чего-то, продвижение в чем-то. Личный пример: у меня есть группа, в которой документирую каждый день, сколько занимался музыкой и как именно. Любое хобби, любое занятие, в котором хочешь продвигаться и не забывать - это поможет. Занимаешься в спортзале? Щелкни экран беговой дорожки, когда закончишь.
- Сидишь на диете? Жесткое правило, ничего не брать в рот, пока тарелка не сфотографирована в группу еды. Это и поможет избежать некоторых соблазнов, и посмотреть потом, насколько действительно питался так, как хотел питаться.
- Квитанции на все покупки любого вида - в группу. Гарантийные талоны на любые товары - в ту же группу.
- Еще один личный пример, у нас есть группа "похвастаться работой по дому". Кто-то сделал что-то полезное в доме и хочет, чтобы заметили, посылает фотографию, остальные его хвалят.
- итд. итп., в статье есть еще разные примеры.

Надо сказать, что не всем из вышеперечисленного даже я лично пользуюсь. Я начал с двух-трех групп, постепенно увеличиваю, стараясь при этом не ошибиться в другую сторону и не забюрократизировать слишком бытовые дела. Но пока что эта идея была - сплошные достоинства, практически без недостатков. Одни только "ежедневные фотографии" всех членов семьи уже с лихвой оправдали всю затею. Попробуйте.
moose, transparent

задачка о квадратах

Красивая задачка попалась сегодня. Вместо того, чтобы писать код, строчил на бумаге всякие уравнения и неравенства, подбирал числа. Решил примерно за полчаса.

Пусть n, a, b, c, d - целые положительные числа, так, что n^2 < a < b < c < d < (n+1)^2. Доказать, что не может быть a*d = b*c.

Комментарии скрывать не буду, в них могут быть спойлеры. Если решили, кидайте свое доказательство и напишите заодно, за сколько времени решили, просто любопытно.
moose, transparent

джо роган и прививки

Свежий скандал в Америке связан со словами супер-известного подкастера Джо Рогана, который сказал во время очередного выпуска, что он бы не посоветовал здоровому 21-летнему человеку делать прививку от ковид-19, потому что для молодых и здоровых риск слишком мал.

Разумеется, риск смерти от коронавируса для здорового 21-летнего человека очень мал. Но риск смерти от прививки (Пфайзер или Модерна, прививки, использующиеся в США) еще намного намного меньше. Риск неприятных последствий от коронавируса ("длинный ковид") трудно оценить; для этой возрастной категории он тоже мал, но видимо уже заметен не в микроскоп, а в лупу, скажем. Риск неприятных последствий от прививки опять-таки несравнимо меньше. Плюс прививка означает огромное снижение опасности заразить коронавирусом родственников, друзей или случайных невакцинированных еще людей.

Все это нехитрые, не сложные соображения. В них нет ничего нового. Я не думаю, что Джо Роган преследует какую-то сложную стратегию, что за его словами стоит какой-то хитрый замысел. Я думаю, он просто глуп. Я не слушаю его подкаст, мысль о том, чтобы смотреть/слушать 2-3 часа такого неторопливого интервью ни о чем мне глубоко неприятна, но ничего не имею против его славы и категорически против попыток его "кэнсельнуть". Просто, наверное, для того, чтобы так раскрутиться, нужны всякие качества, помимо везения: харизма, хорошо подвешенный язык, чутье на правильный подбор собеседников, способность 2-3 часа вот так вот вести беседу и поддерживать интерес у слушателей. А уметь оперировать фактами и аргументами, взвешивать базисную статистику, шевелить мозгами - это, может быть, не так уж и нужно. Почему следует ожидать от Джо Рогана каких-то умных мыслей? Известен ли он в прошлом какими-то умными мыслями? Жаль, конечно, что он такую ерунду несет про прививки, но и преувеличивать его влияние на происходящее тоже, наверное, не стоит.

P.S. В Израиле в возрастной группе 20-29 вакцинировано на сегодня 75% человек и еще 9% переболели.
moose, transparent

полвека паскаля

А еще в прошлом году, оказывается, исполнилось 50 лет языку программирования Паскаль. В связи с этим Никлаус Вирт (дай бог долгой жизни) опубликовал ностальгически-историческую статью 50 Years of Pascal, которую я прочитал с интересом и рекомендую. Для сравнения: Паскаль появился в 1970-м году, язык Си в 1972-м, Питон в 1991-м, Java (первый публичный релиз) в 1996-м.

Я научился программировать в самом конце 80-х; как и многие в то время, я сначала научился писать на Паскале (и много работал в Turbo Pascal, потрясающе быстрой и удобной для того времени - да и для нашего, если подумать! - интерактивной среде), и только пару лет спустя перешел на Си. Время от времени задумывался о сравнительной популярности этих языков. Если вас тоже интересует этот вопрос, то одним из важнейших исторических документов, который и сейчас интересно перечитать, это Why Pascal is Not My Favorite Programming Language (1981) Брайана Кернигана.

Не все, о чем пишет Керниган, одинаково важно, и мне кажется, что его критическое эссе не дает достаточно полного представления о том, насколько Си и Pascal в те годы были на самом деле похожи - сходств намного больше, чем различий, если сравнивать с другими популярными тогда языками. Мне кажется, что наиболее существенными причинами того, что к середине 90-х Паскаль почти полностью перешел в нишевый статус (да, я помню про Дельфи, но это исключение, которое подтверждает правило) была относительная гибкость Си, легкость, с которой по сравнению с Паскалем в нем можно нарушать абстракции, и благодаря этому - то, как Си естественным образом был и системным языком, и языком для приложений более высокого уровня. Ну и C++ подключился в какой-то момент. Как-то так.
moose, transparent

oracle vs google

Еще пару недель назад американский Верховный Суд вынес окончательный вердикт в долгой судебной тяжбе - почти 11 лет! - между Oracle и Google.

В 2010-м году Oracle купил Sun Microsystems, главным образом - чтобы завладеть копирайтами и патентами, связанными с языком Джава. Уже через полгода после этой сделки Oracle подал в суд на Гугл за нарушение копирайта и патентов на Джаву в операционной системе Андроид для телефонов, тогда еще весьма новой. Главной претензией было то, что Гугл использовал в Андроиде программные интерфейсы (API) стандартных библиотек Джавы, чтобы программисты могли писать приложения для Андроида на Джаве. Гугл написал заново код, выполняющий функции этих интерфейсов, так что тут не было вопроса о копирайте (кроме одной крохотной и тривиальной функции rangeCheck, о которой в итоге написано в тысячи раз больше страниц судебных заседаний, чем в ней есть кода). Но Оракл утверждал, что сами заголовки функций, сам программный интерфейс - то, как они называются и какие аргументы принимают итд. - подлежит копирайту, и нельзя без разрешения Оракла этот интерфейс копировать и заново реализовывать.

У этого иска была долгая и запутанная история, он тянулся годами от инстанции к инстанции. Ему повезло с первым судьей, который им занимался, и вынес обоснованное решение (по слухам, судья научился программировать на Джаве, чтобы разобраться в сути вопроса); но потом апелляционная инстанция отменила решение и завертелось заново. В конце концов дошло до Верховного Суда, и совсем не было очевидно, что он скажет. При этом - и это то, что мне интересно в этой истории - я не знаю ни одного программиста, который не ощущал бы инстинктивно полную бредовость претензий Оракла в этом иске. То есть, оставив в стороне легализмы и формализмы, если спросить себя, должен ли API библиотеки, платформы, языка подлежать копирайту, так, чтобы нельзя было без спроса написать функции с такими же названиями и аргументами, но собственным новым кодом - и всем, кто собственно знает вкус устриц, т.е. имел дело с API и их реализацией, понятно, что это полный бред. Ну наверное не 100% программистов так считают, но близко к тому. Но стоит отойти чуть в сторону от профессии, и опросить, не знаю там, продакт менеджеров, и думаю, что уже не будет такого единогласия; что уж говорить об адвокатах или судьях.

И ведь не сказать, чтобы программный интерфейс был полностью тривиальным делом, все-таки это не так. Есть API получше, есть сильно похуже; даже в выборе названий и порядка аргументов требуется вкус и это играет свою роль, но главное - выбор самих функций, того, как они сочетаются друг с другом, как передают или хранят информацию, насколько низкий или наоборот высокий уровень абстракции предлагают использовать - все это требует серьезной работы ума, в том числе творческой. И все равно в самой идее "защищать" API с помощью копирайта есть что-то столь пронзительно фальшивое и неверное, столь идущее против самой идеи программных интерфейсов и профессиональной этики (не побоюсь громкого слова) программистов, что все эти десять лет судебных разборок мне казалось столь странным, что вообще можно принимать это все всерьез, тратить миллионы или десятки миллионов долларов на адвокатов обеих сторон этой тяжбы итд.

При этом, если бы Верховный Суд США вынес неправильный вердикт, и сказал бы, что API подлежит копирайту и не может быть "добросовестно использован" (fair use, исключения, позволяющие без разрешения использовать даже защищенные копирайтом вещи - например, небольшие цитаты или сатирические обработки подпадают под это) - тогда вредные последствия вообще во всех областях программного обеспечения (не только опенсорс!) были бы поистине гигантскими, подозреваю. В итоге ВС не постановил, подпадают API под копирайт или нет, но сказал, что в любом случае их использование является "добросовестным" и разрешенным. Так что все хорошо, что хорошо кончается.
moose, transparent

об утечке из фейсбука и моей фамилии

Пару недель назад в публичный доступ попала массивная утечка данных из Фейсбука: имя, фамилия, и номер телефона (плюс еще немного по мелочи, но не содержимое постов или что-то в этом духе) 500 миллионов пользователей - примерно 20% всех пользователей ФБ.

Я скачал быстро файлы по России и Израилю (там большой текстовый файл отдельно для каждой страны) и проверил, кто из семьи-друзей оказался там, а кто нет, просто из любопытства, а потом не знал особо, что с этим делать. Но потом все-таки придумал одну простую вещь. По сути, как кто-то остроумно заметил, эта утечка - первая общемировая телефонная книга, правда, неполная, но все равно, какие-то тренды по именам и фамилиям в ней можно отслеживать, например.

Моя фамилия - Воробей, но я давно привык к тому, что ее часто неправильно пишут Воробьев, потому что Воробьев - намного более частая фамилия, чем Воробей, по причинам, которые мне не вполне понятны. Но как минимум я смог это проверить по этой утечке из фейсбука. И действительно, суммируя по разным написаниям этих фамилий, а также женскому варианту (Воробьева), я посчитал, что кол-во людей с фамилией "Воробей" в этой базе данных из Фейсбука примерно 4% от кол-ва людей с фамилией "Воробьев/а", в 25 раз меньше.

Не сказать, чтоб супер важное исследование или супер полезные данные, но если кому-то нужно что-то такое, то да, это пол-миллиарда имен-фамилий-стран-городов-телефонов.