Основая идея в том, что пароль передаётся для доказательства владения, а в private-public криптографических протоколах секрет никуда не передаётся, а вы доказываете владение секретом без его раскрытия при помощи хитрой математики (без знания секрета — невозможно вычислить некоторые преобразования за любое разумное время).
Чем плохи пароли? Если соединение с сайтом не безопасно по какой-то причине (например, использование недоверенного компьютера в интернет-кафе или уязвимость протокола), то злоумышленник может узнать ваш пароль и использовать его в будущем без вашего ведома снова, чтобы авторизоваться на этом сайте. С одной стороны от этого помогает 2-фактор авторизация, но это тоже не панацея. С приватным-публичным ключом же вы никогда не раскрываете секрет, можете кликнуть на iphone «разрешить это соединение по qr коду» в интернет кафе и потом не менять пароль.
тряпочкой обернули и после дня рядом с этой штукой врач выжил, не помер. Это достаточно далеко от «почти пучком».
300 килограмм свинца нужно чтобы он не помер и через десять лет работы с этой штукой, а желательно даже вероятность рака не увеличилась. Вот это «пучком».
Нужно действительно один раз настроить при помощи «about:profiles» или менеджера профайлов «Firefox — Choose your profile» (запускать как firefox -p из командной строки/ярлыка). Я создал несколько профилей: развлечения, рабочий, etc и в каждом залогинился в свою почту для синхронизации (личная, рабочая, и тд соответственно) назначил профиль по умолчанию «развления».
Когда запускаю firefox — запускается по умолчанию профиль «развлечения». Если нужно открыть рабочий — печатаю «firefox -p work» и стартует рабочий профиль; можно создать ярлыки и запускать напрямую без командой строки.
`firefox -p` запусть менеджер профайлов
`firefox` запустить firefox с профилем по умолчанию
`firefox -p NNN` — запустить профиль NNN
Не забыть поставить галочку в менеджере профилей «Use the selected profile without asking at startup».
Занимает больше времени чем chromium чтобы сконфигурировать первый раз, зато синхронизация работает без плясок.
если сглаживание включено, то на основании технологии сжатия это добавляет дополнительные бит или пару в фингер-принт и может деаномизировать пользователя, это не просто включено/выключено, но и разные ОС/платформы/экраны/настройки сглаживания в ОС.
Кстати, если по умолчанию оно выключено, то включеное руками — это тоже намного больше одного бита информации, потому что маленькое количество пользователей сделало это.
Я бы не рекомендовал включать, да и вообще трогать любые настройки без критической необходимости, только если анонимность не важна/не критична
всё так, но порог входа у Вьетнамского "20 минут" для того чтобы прочитать название улицы или надпись вместо китайских "очень много недель чтобы запомнить 400 самых популярных", а потом всё равно обломаться если встретить что-то редкое
> Скорость енкодинга в большинстве случаев не очень важна.
В большинстве случаев не важна, но всегда будут случаи, когда это узкое место. Например, в случае встроенной электроники и ограниченных ресурсов это критично.
Ну и всегда будут случаи, когда скорость копирования картинки незначительно быстрее скорости сжатия - это будет плюсом для проекта, например захват экрана для удалённого рабочего стола с минимальным оверхедом который работает даже на древнем селероне. Или в случае если графического ускорителя нет вообще, а поэтому сжимать картинки на лету - только CPU, который хорошо бы использовать для чего-то более полезного чем перекладывать пиксели.
Для реализации хипа не нужен динамический список на умных указателях, следует использовать плоский массив. Поэтому перформанс получился не очень.
shared_ptr
shared_ptr даёт дополнительное замедление ввиду блокировок внутри, он расчитан на использование в multi-threading окружении. В этой задаче, если уж никак не получается без указателей и динамической памяти (а надо!) — уж лучше unique_ptr использовать, оверхед будет меньше.
Если map хранит всё (насколько мне известно) не на указателях, а подряд, то в моей куче это пока не так (и есть над чем поработать в будущем).
Как раз хранит всё на указателях, там обычно красно-чёрное дерево.
В случае если нужно без указателей обойтись, есть структуры данных `flap_map` (десятки сторонних библиотек).
Если хочется готовую структуру — в С++ есть std::priority_queue (основано на плоском std::vector), который будет в 3-10 раз быстрее и эффективнее по памяти чем это решение или std::map
Все технические детали из этой статьи пропущены, видимо потому что переводчик не справился.
Коротко перевод в двух словах: Superpack сжимает лучше, чем zip на 20% и заметно лучше чем xz (lzma).
Выглядит как будто Superpack смотрит на AST код промежучной компиляции, чтобы найти похожие группы кода и группирует их вместе перед непосредственно сжатием, а потому сжатие получается более эффективным.
Учитывается контекст ассемблерных команд, чтобы добиться болшей плотности на бит — про многие опкоды известно, что они встречаются чаще/реже других в зависимости от контекста.
В целом в статье указывается на близость сжатия к алгоритму LZ, но благодаря тонкому тюнингу под машинный код получилось достичь заметных улучшений.
www.ncbi.nlm.nih.gov/pmc/articles/PMC6388756
The efficacy and safety of dutasteride compared with finasteride in treating men with androgenetic alopecia: a systematic review and meta-analysis.
Метаисследование 2019 года, утверждает что побочные эффекты Финастерида и Дутастерида сравнимы, но эффективность Дутастерида выше.
> Dutasteride seems to provide a better efficacy compared with finasteride in treating AGA. The two drugs appear to show similar rates of adverse reactions, especially in sexual dysfunction.
Никто не будет писать просто так без причин «overflow_check int» вместо каждого «int» как здесь и в тысяче других мест: `for (overflow_check int i = 0; i < n; ++i)`. А где будет осознанно написано — так человек уже понимает чем это может быть плохо.
а если никто не будет писать специально, значит ничего не изменится. Если поменять молча «int» на «overflow_check int», то производительность внезапно может где деградировать. Куда не плюнь — будут отрицательные side-effects.
Основая идея в том, что пароль передаётся для доказательства владения, а в private-public криптографических протоколах секрет никуда не передаётся, а вы доказываете владение секретом без его раскрытия при помощи хитрой математики (без знания секрета — невозможно вычислить некоторые преобразования за любое разумное время).
Чем плохи пароли? Если соединение с сайтом не безопасно по какой-то причине (например, использование недоверенного компьютера в интернет-кафе или уязвимость протокола), то злоумышленник может узнать ваш пароль и использовать его в будущем без вашего ведома снова, чтобы авторизоваться на этом сайте. С одной стороны от этого помогает 2-фактор авторизация, но это тоже не панацея. С приватным-публичным ключом же вы никогда не раскрываете секрет, можете кликнуть на iphone «разрешить это соединение по qr коду» в интернет кафе и потом не менять пароль.
Как следствие, б/у байки 5летней давности с документами стоят примерно как новые в России (а пошлины в России тоже отнюдь не маленькие).
Будете и дальше жить на Б/У, просто платить будете в 2 раза больше чем сейчас.
в предыдущем посте писали, что это касается топ-менеджеров, нет?
300 килограмм свинца нужно чтобы он не помер и через десять лет работы с этой штукой, а желательно даже вероятность рака не увеличилась. Вот это «пучком».
Нужно действительно один раз настроить при помощи «about:profiles» или менеджера профайлов «Firefox — Choose your profile» (запускать как firefox -p из командной строки/ярлыка). Я создал несколько профилей: развлечения, рабочий, etc и в каждом залогинился в свою почту для синхронизации (личная, рабочая, и тд соответственно) назначил профиль по умолчанию «развления».
Когда запускаю firefox — запускается по умолчанию профиль «развлечения». Если нужно открыть рабочий — печатаю «firefox -p work» и стартует рабочий профиль; можно создать ярлыки и запускать напрямую без командой строки.
`firefox -p` запусть менеджер профайлов
`firefox` запустить firefox с профилем по умолчанию
`firefox -p NNN` — запустить профиль NNN
Не забыть поставить галочку в менеджере профилей «Use the selected profile without asking at startup».
Занимает больше времени чем chromium чтобы сконфигурировать первый раз, зато синхронизация работает без плясок.
Кстати, если по умолчанию оно выключено, то включеное руками — это тоже намного больше одного бита информации, потому что маленькое количество пользователей сделало это.
Я бы не рекомендовал включать, да и вообще трогать любые настройки без критической необходимости, только если анонимность не важна/не критична
не нашёл в статье ссылку на саму статью:
https://arxiv.org/abs/2203.17207
Вот доступная на текущий момент: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.14.8917&rep=rep1&type=pdf
A New Data Structure for Cumulative Frequency Tables
peter m. fenwick
В 17ом веке таки волновало! Спасибо Александру де Роду из Франции (в случае Вьетнама)
всё так, но порог входа у Вьетнамского "20 минут" для того чтобы прочитать название улицы или надпись вместо китайских "очень много недель чтобы запомнить 400 самых популярных", а потом всё равно обломаться если встретить что-то редкое
> Скорость енкодинга в большинстве случаев не очень важна.
В большинстве случаев не важна, но всегда будут случаи, когда это узкое место. Например, в случае встроенной электроники и ограниченных ресурсов это критично.
Ну и всегда будут случаи, когда скорость копирования картинки незначительно быстрее скорости сжатия - это будет плюсом для проекта, например захват экрана для удалённого рабочего стола с минимальным оверхедом который работает даже на древнем селероне. Или в случае если графического ускорителя нет вообще, а поэтому сжимать картинки на лету - только CPU, который хорошо бы использовать для чего-то более полезного чем перекладывать пиксели.
Коротко перевод в двух словах: Superpack сжимает лучше, чем zip на 20% и заметно лучше чем xz (lzma).
Выглядит как будто Superpack смотрит на AST код промежучной компиляции, чтобы найти похожие группы кода и группирует их вместе перед непосредственно сжатием, а потому сжатие получается более эффективным.
Учитывается контекст ассемблерных команд, чтобы добиться болшей плотности на бит — про многие опкоды известно, что они встречаются чаще/реже других в зависимости от контекста.
В целом в статье указывается на близость сжатия к алгоритму LZ, но благодаря тонкому тюнингу под машинный код получилось достичь заметных улучшений.
и ждите 24 года!
The efficacy and safety of dutasteride compared with finasteride in treating men with androgenetic alopecia: a systematic review and meta-analysis.
Метаисследование 2019 года, утверждает что побочные эффекты Финастерида и Дутастерида сравнимы, но эффективность Дутастерида выше.
> Dutasteride seems to provide a better efficacy compared with finasteride in treating AGA. The two drugs appear to show similar rates of adverse reactions, especially in sexual dysfunction.
а если никто не будет писать специально, значит ничего не изменится. Если поменять молча «int» на «overflow_check int», то производительность внезапно может где деградировать. Куда не плюнь — будут отрицательные side-effects.