Я частично сам ответил на свой риторический вопрос. Проблема же ещё и в гражданах. Если в компанию можно отобрать желаемых сотрудников, то государству нужно существовать с теми людьми, которые в нём есть. А попытка упорядочить жизнь граждан в нужном направлении приведёт к тоталитарному режиму.
Логично, что mydiv отрабатывает очень шустро. Ведь там первым этапом идёт факторизация, а выбранные «огромные» тестовые числа являются степенями 10, то есть состоят из простых делителей 2 и 5, отчего факторизация проходит за O(log N). Последующему циклу, который находит все комбинации простых множителей, приходится при этом оперировать небольшим массивом из 2*lg(n) элементов, то есть максимум 100 при n=10^50. При этом sqrtdiv честно делает sqrt(N) итераций, а prchoosediv хоть и факторизует число, но оперирует строками, а это ужасно неоптимально.
Тем не менее я не поленился и проверил работу алгоритмов на других значениях:
А возможно ли в принципе спроектировать государство с инженерной точки зрения? Чтобы учесть «прочность», «отказоустойчивость», «эффективность» и так далее? Есть предположение, что либо для этого всё гражданское общество должно обладать намного более высоким уровнем политической сознательности, чтобы поддерживать стабильность самого общества и государства (лично у меня это ассоциируется с пресловутыми «бирюзовыми организациями» в масштабе государства, или же «правильным коммунистическим» строем), либо это будет ультратоталитарное государство, где общество порабощено роботами, которые попросту не дают обществу разрушить это государство.
Это ещё не значит, что написать такое приложение невозможно.
Я не специалист по криптопротоколам, но идея есть. На уровне словесного описания во всяком случае.
Даже если разработать такой протокол и приложения к нему возможно, это ещё не означает, что это «очень просто».
мне кажется это куда лучше современных, абсолютно непрозрачных процедур
Процедуры голосования, описанные в законах о выборах, достаточно понятные и прозрачные. Если бы буква и дух этих законов соблюдались, проблем никаких бы не было. Сейчас, фактически, комиссии могут нарисовать любые цифры. Но криптосистема работает как чёрный ящик для абсолютного большинства населения. Вы не сможете наверняка узнать, не содержится ли в алгоритмах закладки.
Только ИНОГДА. К счастью очень нечасто.
А если всё-таки надо? Что тогда?
для избирателей придется вводить какие-то цензы
Это гарантированно приведёт к недовольству поражённой в правах группы людей, которым сможет воспользоваться оппозиция.
Так оформить цифровую подпись и сейчас можно. А родительский сертификат удостоверит, что это действительно тот самый наблюдатель, а не просто однофамилец. Ведь государству теоретически ничего не мешает выпустить произвольную ЭЦП на имя любого лица, в том числе и зарегистрированного наблюдателя, а на претензии реального наблюдателя заявить: «Вы, наверное, просто забыли, что вчера получили новую ЭЦП».
Но на практике в большинстве случаев используют алгоритм сортировки из стандартной библиотеки, и это скорее всего будет какая-то гибридная сортировка: Timsort, Introsort, Powersort. То есть чистого квиксорта всё-таки недостаточно.
Во-первых, такого клиентского приложения никто ещё не написал :) Может быть вы предложите криптографически устойчивую децентрализованную систему голосования? Хотя бы прототип. Заявить, что всё «очень просто» может или дилетант, или действительно знающий специалист.
Во-вторых, как доказать корректность работы такой системы неспециалистам? Сейчас базовые принципы понятны даже школьнику: вот есть бланки, люди подсчитывают галочки, кто набрал больше — победил. Понятны и возможные уязвимости системы: подбросили бюллетени, неправильно посчитали и т.д. Объяснить же, как именно компьютеры честно подсчитают голоса всех граждан — совершенно непонятно. Совершенно справедливо возникнет скептицизм вплоть до теорий заговора.
В-третьих, метод «тысячи раз перепроверенного кода» на практике не работает, особенно в криптографии, что подтверждается и примером уязвимости SSH, и Телеграмом. В SSH уязвимость долгое время оставалась незамеченной, а криптопротокол Телеграма и его реализацию реально проверили единицы специалистов. Вдобавок, если в протоколе будет уязвимость, то нет гарантии, что нашедший публично обнародует её, а не продаст заинтересованным лицам, в том числе спецслужбам. Кроме того, может быть вариант ложных приложений, которые голосуют как надо их авторам. Как среднестатистический гражданин удостоверится, что код приложения на его айфоне соответствует опубликованному исходному коду?
В-четвёртых, как обеспечить равные права граждан на доступ к голосованию? Данная система предполагает, что у каждого дееспособного гражданина есть компьютер или смартфон, которыми владеет конкретно этот гражданин, и отдаёт голоса самостоятельно без посредников, подсказчиков, советчиков и т.д. Тут мошенники по телефону убалтывают людей перевести крупные суммы денег на «безопасный счёт» или вкладывать деньги в непонятные схемы, проповедники загоняют в секты, а вы предлагаете дать возможность бесконтрольно голосовать. Условно, приходят люди на работу, а начальник им говорит: все достали телефоны и голосуем за/против Васи Пупкина, иначе не дам премию, а за бабушку нужный лайк/дизлайк поставят добрые консультанты.
Как только власть накопит критическое количество дизлайков, она уходит в отставку и назначаются новые выборы.
Это плохая система, которая приведёт к популистским решениям. Иногда действительно полезные реформы могут быть болезненными, но их нужно провести правильно и до конца. Например, политика «шоковой терапии» в России и Польше начала 1990-х годов. Либо кажущиеся справедливыми решениями на самом деле будут бессмысленными. Например, вброшенное в массы предложение «всё отнять и поделить». Любая разумная власть откажется от такого предложения, за что может получить внезапный и критический шквал дизлайков.
Самое грустное, что у центральной избирательной комиссии есть возможность «нарисовать» любые результаты выборов, независимо от того, насколько добросовестно работали наблюдатели в местных избирательных комиссиях.
А что мешает в таком случае сразу публиковать результаты местных комиссий, как только ими были утверждены результаты? Подсчитывается результат, бумажный протокол подписывается наблюдателями. Фотография протокола и файл с данными выгружается на сайт ЦИК, где с ними может ознакомиться любой человек и сравнить суммарный результат голосования с результатами каждой из комиссий.
Для любителей криптографии можно предложить вариант подписывать фотографии и файл с данными ЭЦП наблюдателей. Притом желательно, чтобы сама ЭЦП генерировалась каждым избирательным штабом независимо в виде дочернего сертификата от соответствующего избирательного штаба. Сертификаты ЭЦП в таком варианте заранее должны быть опубликованы на сайте ЦИК.
не меньше 10 лет стажа в органах власти или менеджменте
Это сильно усложнит систему рандома. Будет довольно трудно сформулировать критерии, которые позволят компьютеру отфильтровать претендентов, если целью является именно поиск кандидатов с опытом руководства. Например, человек с 10 годами стажа в органах власти может оказаться простым линейным сотрудником. Какой-нибудь «руководитель отдела» фактически может быть сотрудником без подчинённых. «Директор фирмы» запросто может быть «таксистом». Да и вообще получается, что государство должно обладать БД с полноценной трудовой историей всех её граждан за последние 35 лет.
Кстати если кому-то интересно, то по статистике ООН в России в возрасте от 35 до 70 лет — 56% населения. С определённой долей допущения можно считать, что это примерно соответствует количеству российских граждан этого возраста.
медсправка как на оружие, сдать онлайн типа ЕГЭ по родному языку и обществознанию
Для полноценной рандомизации, конечно, не годится, поскольку подготовка данных документов сразу требует явного намерения участвовать в процессе случайного выбора. Притом это требует существенных затрат времени и сил. С одной стороны это покажет амбициозность кандидатов. С другой — многие вполне достойные этой должности люди посчитают маловероятным свою вероятность победить (многие и в возможность победить в лотерее Green Card не верят), либо преуменьшат свои способности (эффект Даннинга-Крюгера), либо могут просто постесняться («Ты что, правда веришь, что сможешь выиграть в этой лотерее?»).
Кроме того, а что должна показать медсправка? Что человек в настоящее время вменяем и способен выполнять должностные обязанности президента?
Пусть будет рандом+выборы. Случайно выбираем 10 кандидатов и из них проводим выборы.
Кажется, что при наличии денег, влиятельные круги даже за месяц смогут сформировать нужное общественное мнение вокруг всех кандидатов. То есть выберут наиболее перспективного из десяти и начнут работать над его положительным имиджем, а остальных публично очернять. Если только другие влиятельные круги не выберут себе второго кандидата. Может это и не плохо, но, вероятно, преимуществом на короткой дистанции в части сбора сведений здесь может обладать именно действующая власть благодаря административному ресурсу. Тем более, если кандидат работал в органах власти.
Наверное можно. Но такую игру будет очень сложно отладить в плане геймплея. Плюс нужно будет так решить проблему ассетов, чтобы игроки не обвиняли авторов в копипасте. Наконец, пока ещё нейросети не могут удержать в памяти большой контекст, поэтому могут быть странные сюжетные баги.
А что делать, если на собеседовании спросят именно перечислить способы хвата молотка. Даже общие для отрасли знания будут спрашивать с учётом терминологии и особенностей конкретной технологии.
Сейчас вариантов несколько для перегруженных функций. Но поскольку они по принципу наименьшего удивления в целом делают одинаковую задачу, то различие по большей части в том, как используются аргументы функции. Если же у вас множество абсолютно разных операторов для всевозможных вещей, то это будет похоже, как буддто вы вертикально видите алфавит, а на каждую букву будете листать список сущностей для неё.
То, что человек будет знать о функции, не означает, что он будет использовать её правильно. С этой точки зрения написать комментарий для ИИ: «Сделай вот тут мне такое» даст больше эффекта.
Я частично сам ответил на свой риторический вопрос. Проблема же ещё и в гражданах. Если в компанию можно отобрать желаемых сотрудников, то государству нужно существовать с теми людьми, которые в нём есть. А попытка упорядочить жизнь граждан в нужном направлении приведёт к тоталитарному режиму.
Если не ошибаюсь, контекстные тулбары появились в Office 97, как и плоские кнопки на них.
Логично, что mydiv отрабатывает очень шустро. Ведь там первым этапом идёт факторизация, а выбранные «огромные» тестовые числа являются степенями 10, то есть состоят из простых делителей 2 и 5, отчего факторизация проходит за O(log N). Последующему циклу, который находит все комбинации простых множителей, приходится при этом оперировать небольшим массивом из 2*lg(n) элементов, то есть максимум 100 при n=10^50. При этом sqrtdiv честно делает sqrt(N) итераций, а prchoosediv хоть и факторизует число, но оперирует строками, а это ужасно неоптимально.
Тем не менее я не поленился и проверил работу алгоритмов на других значениях:
Легко видеть, что даже неоптимальная реализация prchoosediv примерно в 3 раза быстрее, чем (неоптимальная) реализация авторского алгоритма.
А возможно ли в принципе спроектировать государство с инженерной точки зрения? Чтобы учесть «прочность», «отказоустойчивость», «эффективность» и так далее? Есть предположение, что либо для этого всё гражданское общество должно обладать намного более высоким уровнем политической сознательности, чтобы поддерживать стабильность самого общества и государства (лично у меня это ассоциируется с пресловутыми «бирюзовыми организациями» в масштабе государства, или же «правильным коммунистическим» строем), либо это будет ультратоталитарное государство, где общество порабощено роботами, которые попросту не дают обществу разрушить это государство.
Даже если разработать такой протокол и приложения к нему возможно, это ещё не означает, что это «очень просто».
Процедуры голосования, описанные в законах о выборах, достаточно понятные и прозрачные. Если бы буква и дух этих законов соблюдались, проблем никаких бы не было. Сейчас, фактически, комиссии могут нарисовать любые цифры. Но криптосистема работает как чёрный ящик для абсолютного большинства населения. Вы не сможете наверняка узнать, не содержится ли в алгоритмах закладки.
А если всё-таки надо? Что тогда?
Это гарантированно приведёт к недовольству поражённой в правах группы людей, которым сможет воспользоваться оппозиция.
Так оформить цифровую подпись и сейчас можно. А родительский сертификат удостоверит, что это действительно тот самый наблюдатель, а не просто однофамилец. Ведь государству теоретически ничего не мешает выпустить произвольную ЭЦП на имя любого лица, в том числе и зарегистрированного наблюдателя, а на претензии реального наблюдателя заявить: «Вы, наверное, просто забыли, что вчера получили новую ЭЦП».
Но на практике в большинстве случаев используют алгоритм сортировки из стандартной библиотеки, и это скорее всего будет какая-то гибридная сортировка: Timsort, Introsort, Powersort. То есть чистого квиксорта всё-таки недостаточно.
Ну то есть просто должны соблюдаться законы о выборах?
Во-первых, такого клиентского приложения никто ещё не написал :) Может быть вы предложите криптографически устойчивую децентрализованную систему голосования? Хотя бы прототип. Заявить, что всё «очень просто» может или дилетант, или действительно знающий специалист.
Во-вторых, как доказать корректность работы такой системы неспециалистам? Сейчас базовые принципы понятны даже школьнику: вот есть бланки, люди подсчитывают галочки, кто набрал больше — победил. Понятны и возможные уязвимости системы: подбросили бюллетени, неправильно посчитали и т.д. Объяснить же, как именно компьютеры честно подсчитают голоса всех граждан — совершенно непонятно. Совершенно справедливо возникнет скептицизм вплоть до теорий заговора.
В-третьих, метод «тысячи раз перепроверенного кода» на практике не работает, особенно в криптографии, что подтверждается и примером уязвимости SSH, и Телеграмом. В SSH уязвимость долгое время оставалась незамеченной, а криптопротокол Телеграма и его реализацию реально проверили единицы специалистов. Вдобавок, если в протоколе будет уязвимость, то нет гарантии, что нашедший публично обнародует её, а не продаст заинтересованным лицам, в том числе спецслужбам. Кроме того, может быть вариант ложных приложений, которые голосуют как надо их авторам. Как среднестатистический гражданин удостоверится, что код приложения на его айфоне соответствует опубликованному исходному коду?
В-четвёртых, как обеспечить равные права граждан на доступ к голосованию? Данная система предполагает, что у каждого дееспособного гражданина есть компьютер или смартфон, которыми владеет конкретно этот гражданин, и отдаёт голоса самостоятельно без посредников, подсказчиков, советчиков и т.д. Тут мошенники по телефону убалтывают людей перевести крупные суммы денег на «безопасный счёт» или вкладывать деньги в непонятные схемы, проповедники загоняют в секты, а вы предлагаете дать возможность бесконтрольно голосовать. Условно, приходят люди на работу, а начальник им говорит: все достали телефоны и голосуем за/против Васи Пупкина, иначе не дам премию, а за бабушку нужный лайк/дизлайк поставят добрые консультанты.
Это плохая система, которая приведёт к популистским решениям. Иногда действительно полезные реформы могут быть болезненными, но их нужно провести правильно и до конца. Например, политика «шоковой терапии» в России и Польше начала 1990-х годов. Либо кажущиеся справедливыми решениями на самом деле будут бессмысленными. Например, вброшенное в массы предложение «всё отнять и поделить». Любая разумная власть откажется от такого предложения, за что может получить внезапный и критический шквал дизлайков.
А что мешает в таком случае сразу публиковать результаты местных комиссий, как только ими были утверждены результаты? Подсчитывается результат, бумажный протокол подписывается наблюдателями. Фотография протокола и файл с данными выгружается на сайт ЦИК, где с ними может ознакомиться любой человек и сравнить суммарный результат голосования с результатами каждой из комиссий.
Для любителей криптографии можно предложить вариант подписывать фотографии и файл с данными ЭЦП наблюдателей. Притом желательно, чтобы сама ЭЦП генерировалась каждым избирательным штабом независимо в виде дочернего сертификата от соответствующего избирательного штаба. Сертификаты ЭЦП в таком варианте заранее должны быть опубликованы на сайте ЦИК.
Это сильно усложнит систему рандома. Будет довольно трудно сформулировать критерии, которые позволят компьютеру отфильтровать претендентов, если целью является именно поиск кандидатов с опытом руководства. Например, человек с 10 годами стажа в органах власти может оказаться простым линейным сотрудником. Какой-нибудь «руководитель отдела» фактически может быть сотрудником без подчинённых. «Директор фирмы» запросто может быть «таксистом». Да и вообще получается, что государство должно обладать БД с полноценной трудовой историей всех её граждан за последние 35 лет.
Кстати если кому-то интересно, то по статистике ООН в России в возрасте от 35 до 70 лет — 56% населения. С определённой долей допущения можно считать, что это примерно соответствует количеству российских граждан этого возраста.
Для полноценной рандомизации, конечно, не годится, поскольку подготовка данных документов сразу требует явного намерения участвовать в процессе случайного выбора. Притом это требует существенных затрат времени и сил. С одной стороны это покажет амбициозность кандидатов. С другой — многие вполне достойные этой должности люди посчитают маловероятным свою вероятность победить (многие и в возможность победить в лотерее Green Card не верят), либо преуменьшат свои способности (эффект Даннинга-Крюгера), либо могут просто постесняться («Ты что, правда веришь, что сможешь выиграть в этой лотерее?»).
Кроме того, а что должна показать медсправка? Что человек в настоящее время вменяем и способен выполнять должностные обязанности президента?
Кажется, что при наличии денег, влиятельные круги даже за месяц смогут сформировать нужное общественное мнение вокруг всех кандидатов. То есть выберут наиболее перспективного из десяти и начнут работать над его положительным имиджем, а остальных публично очернять. Если только другие влиятельные круги не выберут себе второго кандидата. Может это и не плохо, но, вероятно, преимуществом на короткой дистанции в части сбора сведений здесь может обладать именно действующая власть благодаря административному ресурсу. Тем более, если кандидат работал в органах власти.
Наверное можно. Но такую игру будет очень сложно отладить в плане геймплея. Плюс нужно будет так решить проблему ассетов, чтобы игроки не обвиняли авторов в копипасте. Наконец, пока ещё нейросети не могут удержать в памяти большой контекст, поэтому могут быть странные сюжетные баги.
Пованивает, да? )
И не знал, что smoke testing идёт из радиоэлектроники, а не от «трассировки» дымом.
А что делать, если на собеседовании спросят именно перечислить способы хвата молотка. Даже общие для отрасли знания будут спрашивать с учётом терминологии и особенностей конкретной технологии.
Это хорошо, если такой способ ещё актуален в 2024.
в Польше визу сейчас не дадут, а по шенгенской визе другой страны не пустят
Сейчас вариантов несколько для перегруженных функций. Но поскольку они по принципу наименьшего удивления в целом делают одинаковую задачу, то различие по большей части в том, как используются аргументы функции. Если же у вас множество абсолютно разных операторов для всевозможных вещей, то это будет похоже, как буддто вы вертикально видите алфавит, а на каждую букву будете листать список сущностей для неё.
Почему бы вам самому тогда не написать для Идеи плагин, который бы выводил в дереве информацию о сущности?
То, что человек будет знать о функции, не означает, что он будет использовать её правильно. С этой точки зрения написать комментарий для ИИ: «Сделай вот тут мне такое» даст больше эффекта.