May. 5th, 2024

avva: (Default)
Виталий Дубровнер пишет (в фейсбуке, цитирую только концовку):

"ИМХО, есть только один способ как-то оправдать ранения и смерти тех, кто пошёл воевать за нас.
Это - уничтожение ХАМАСа.
На сегодняшний день (как и три месяца назад) - это означает "Рафиах".
К сожалению, с теми, кто всё это время был и остаётся у власти, боюсь, нас ждёт лишь унизительная сделка "живые убийцы - за несколько заложников и сотню гробов".
Dixi."

Мой ответ:

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

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

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

Если я неправ в своем пессимизме и все неверно понимаю, объясните, я только рад буду.
avva: (Default)
Ивритская буква ס (самех) и греческая буква σ (сигма) звучат одинаково, пишутся почти одинаково, но имеют разное происхождение. Сигма неожиданно происходит от древнесемитской буквы шин (в греческом языке не было звука ш, они произносили его как с, поэтому например Машиах-Мессия, Ешу - Иисус итд.). А буква самех писалась в древнем алфавите совсем по-другому, как три горизонтальные черты, перечеркнутые вертикальной, и из нее произошла греческая кси.

Кириллическая буква С и латинская буква C пишутся идентично, звучат часто одинаково (латинская C звучит по-разному в разных языках и перед разными буквами, но нередко как с), но имеют разное происхождение. Кириллическая C заимствована неожиданно от той самой греческой сигмы, которую в ее исходном прописном варианте Σ в средних веках одно время писали как С, "выпрямляя" изгиб посередине; этот вариант назывался "серповидная сигма", а на латинском sigma lunata, луновидная.

А латинская C, как и латинская G, происходят еще более неожиданно из древнесемитской буквы гимель (через финикийцев, греков и этруссков). В древнем латинском алфавите C использовали как для звука [k], так и для [g] - в этрусском языке они не различались и разные буквы были не нужны. В латинском различались и поэтому в конце концов придумали добавить зазубрину, чтобы вышло G, и разделить между ними эти два звука. А уже позже C от звука [k] в некоторых словах и языках перешел в ц или с под влиянием хорошо известных фонетических сдвигов.

Есть что-то особенное, видимо, в этом звуке сссссссссс....
avva: (Default)
Подвожу итоги этого соревнования.

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

Всего было около 20 решений, с следующим разбросом по языкам: 8 питон, 3 C, 4 C++, и по одному: Perl, Kotlin, C#, Clojure, Rust. Если я забыл или не учел чей-то вариант, прошу простить, мне их приходилось собирать из четырех источников (три блоггинг-платформы и мой мейл). Все исходники вместе я решил не собирать, вряд ли этоочень интересно; почти все можно найти в комментариях к записи о конкурсе в ЖЖ, ФБ и ТГ.

Помучившись немного, я решил присудить приз анонимному участнику, приславшему решение на C++, делающее все вычисления
в темплейтах во время компиляции, так что программа компилируется 6 секунд, но при запуске сразу выводит результат. Можноспорить с тем, отвечает ли это условиям - наверное да, т.к. я вроде и запретил "выводит сразу готовый результат", но
объяснил это тем, что надо его честно вычислить, а это тут происходит, просто во время компиляции. В конечном итоге, участник сделал ту же работу, что и почти все остальные (см. ниже), но вдобавок извратился с записью ее в compile-time
metaprogramming, и выжал максимально возможный для C/C++ перформанс, так что заслужил эти $100, так я решил. Этот код я выложил здесь: https://gist.github.com/avorobey/bc3f8128392a731a8bb65ea2edd8c0bd

Update: победитель - блоггер epimorphisms-split на DreamWidth: https://epimorphisms-split.dreamwidth.org/

Вместе с тем, хочу отметить несколько других достижений:

1. Почти все решения отслеживали число игр с перевесом X для всех X одновременно и для растущего числа бросков (обычно
добавляя по одному броску в конец, изредка расщепляя длинные цепочки пополам). Однако в комментариях в телеграм-каналекрутые и дотошные комментаторы (горжусь) добили решение через возведение в степень матрицы перехода цепи Маркова, через
алгоритм NTT (обобщение дискретной трансформации Фурье), позволяющий побить квадреатичный подход. На 100 бросках у этогокода нет шанса победить, но на многих тысячах он уже работает быстрее квадратичного. Посмотрите, если вам интересно:
https://t.me/avvablog/2257?comment=327710 и немного до и после этого комментария

2. Телеграм-юзер [personal profile] satorin первым прислал решение (на Котлине), через 33 минуты после того, как я отправил запись! https://pl.kotl.in/dnSEA_QyB Он пишет: "Кстати, никому не нужен фронтендер или фуллстек? :)" Работодателям советую
обратить внимание :)

3. Это решение ЖЖ-юзера jsn на Clojure чисто по coolness factor, ну посмотрите сами на исходный код и поймете, о чем я:
https://gist.github.com/jsn/b0cec248603fbf47bc3a3e776917ad5b

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

June 2026

S M T W T F S
  1 23 456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 6th, 2026 08:15 pm
Powered by Dreamwidth Studios