А ещё добавьте, что создание NFT токенов не бесплатное. Для NFT на Etherium цена может доходить до $80. Вы готовы выкладывать такую сумму для каждого скидочного купона или пропуска в фан-клуб? В двух компаниях, где мне доводилось работать, была система бейджиков, которые выдавались сотрудникам за заслуги. Зачем применять сложную, дорогую, медленную систему блокчейна для такого, если можно написать самому за месяц?
Я наблюдал подобную ситуацию при появлении Scala и Kotlin. Матёрые Java программисты с опытом 10+ лет посмеивались над новыми языками, ведь всё тоже самое можно сделать на Java. Но вот уже вышла Scala 3 и нашла своё приминение в Kafka, Spark, BigData, а Kotlin постепенно захватывает Android разработку.
В современно ИТ нет одного языка, который объединит все остальные. Наоборот каждый пишет на том, что удобнее. Я думаю найдутся любители Rust во фронтэнде, и от этого никому не будет хуже.
По поводу актёрской игры, думаю это выбор режиссёра Дени Вильнёва. У него в фильмах всегда сдержанные эмоции, чтобы на контрасте действительно важные сцены выстреливали сильнее. Если видели "Blade Runner 2049", "Прибытие", "Пленницы", то можете сравнить стиль режиссёра с Дюной.
Приходится работать на макбуке. Не буду рассказывать про малое количество портов и необходимость таскать переходники. Меня смутило малое количество инструментов для MacOS. Для Windows есть утилиты Sysinternals (https://docs.microsoft.com/en-us/sysinternals/), незаменимые для программиста.
Process Explorer, например, может
Посмотреть нагрузку на CPU, RAM, сеть, IO
Поменять приоритет
Посмотреть полный путь к исполняемому файлу
Посмотреть переменные окружения, с которыми работает процесс
Посмотреть список открытых портов
Посмотреть список DLL, используемых процессом (бывает нужно узнать, какая верси Java загружена процессом)
Посмотреть список открытый файлов
Чем заменить его на MacOS?
Посмотреть нагрузку на CPU, RAM, сеть, IO - Activity monitor
Поменять приоритет - через консоль renice -n "-20" -p <PID>
Посмотреть полный путь к исполняемому файлу - через консоль ps -o comm= -p <PID>
Посмотреть переменные окружения, с которыми работает процесс - через консоль ps eww <PID>
Посмотреть список открытых портов - через консоль lsof -i 4tcp -p <PID>
Посмотреть список DLL, используемых процессом (бывает нужно узнать, какая верси Java загружена процессом) - не знаю
Посмотреть список открытый файлов - через консоль lsof -p <PID>
Если на Windows Я могу из одного GUI получить исчерпывающую информацию о запущенных процесса, то в MacOS приходиться через консоль запускать кучу разных команд (не забудьте держать в голове все это команды, не будете же гуглить каждый раз), главное не забудьте PID нужного процесса пока он не закроется. И это Я ещё не упоминал про дерево процессов, и как найти нужный Java процесс среди 5 запущенных.
Здорово, что в MacOS есть консоль с нативным Docker, менджером пакетов Brew и прочим. Но чем заменить Far, WinMerge, Sysinternals и другие Windows утилиты?
А если у меня открыто несколько окон одного приложения (например несколько проектов в IntelliJ IDEA), то клика по иконке в доке недостаточно. В Windows переключение между окнами проще реализовано.
Заболеваемость в Израиле растёт последние 2 недели. И пока рано делать какие-либо выводы. Надо получить статистику: какой процент вакцинированных среди заражённых и какой процент заражённых среди вакцинированных? сколько людей госпитализируют с поражением лёгких? сколько заболевшиъ скончается? сколько людей получит осложнения от нового штама? как быстро новая волна пойдёт на спад?
Если Израиль сможет пройти новую волну без локдаунов и проблем для экономики, то значит — вакцина работает. Будем наблюдать.
Остался сущий пустяк — соль. Но какая соль правильная? Придется ее перебирать и проверять — но это возможно только если вы точно знаете, что пароль правильный.
Если взломщику известны логин и пароль, то перебор секретного слова почти ничем не отличается от обычного перебора пароля. Просто вместо одного запроса к серверу нужно делать два: 1) запрос соли по логину и секретному слову 2) запрос на вход с посоленным паролем.
Современные алгоритмы хеширования достаточно быстрые. Можно генерировать 70 000 SHA-512 хэшей в секунду. Сервер будет дольше обрабатывать запросы, чем хакер отправлять варианты. Можно взять медленную функцию ALG2, но всё равно если пароль известен, то слабое место — это секретное слово.
Правильно ли Я понял, что пользователю для входа на сайт нужно вводить два пароля? То есть вместо классических Логин+Пароль вы требуете Логин+Секретное слово+Пароль (при регистрации и при входе с нового браузера). Во-первых, не совсем понятно, какие ограничения накладываются на секретное слово. Может это быть пустая строка, может ли секретное слово совпадать с паролем? Во-вторых, вход на сайт будет состоять из нескольких страниц: сначала страница для ввода логина и секретного слова, а потом отдельная страница для ввода пароля?
С точки зрения взломщика, перебор конечно усложняется, но не становится невозможным. Просто вместо N паролей из словаря придётся перебирать N*N паролей из того же словаря. И для каждой пары будет делаться два запроса: сначала запрос на получения соли, потом запрос на вход с паролем.
Идея интересная, но боюсь будет сложно объяснить среднестатистическому пользователю зачем ему вводить два пароля, когда на всех других сайтах достаточно одного.
По-моему некорректно сравнивать Threema.ch с сервисами openfire, tox, xmpp. Threema — платный сервис с закрытым исходным кодом клиентов Android и iOS. Серверный код тоже закрытый. Установить на свой сервер его невозможно. В то время как openfire сервер открытый, клиентов много, протоколы открыты.
Насчёт обратной совместимости в инструментах Apple Я бы поспорил. Apple регулярно требует от разработчиков поддержки последний версий iOS угрожая не пропускать такие программы в App Store. А про их новый язык программирования Swift, который обновляет major версию каждый год:
Module stability (being able to compile against binaries compiled with a different Swift version) is also only coming in Swift 5.1, which means that you still can't link against a library (system or third party) compiled with Swift 5.0 or earlier. So replacing the Swift version in current releases with 5.1 could be a big, breaking change.
Здорово, что Apple повернулась в OpenSource сообществу лицом. Но у меня есть претензии к тому, как они организовали свой Github репозиторий:
1. Зачем создавать tag и release каждый день? Для кого эта информация? Например если открыть теги Go, то можно понять какая сейчас самая свежая версия и увидеть, что 1.15 уже в статусе Release Candidate.
2. Как понять, в какой ветке ведётся разработка новых фич, а в какой только багфикс? В репозитории Swift 335 веток. В чём разница между "master-next" и "master-rebranch"? Ветка "release/5.3" — это ветка следущего релиза? Почему она отстаёт от "master-next" на 5224 коммита?
Помимо этого меня конечно смущает, что у языков Go (2009 г.р.) и Kotlin (2017 г.р.) всё ещё версия 1.x, а у Swift (2014 г.р.) уже v5.3.
Я проверил утверждение №5 по поводу того, что Давид Гильберт опубликовал свою работу раньше Эйнштейна. Википедия говорит:
Двое учёных при подготовке своих рукописей вели оживлённую переписку, часть которой сохранилась; из неё ясно видно, что оба исследователя оказывали друг на друга взаимное и плодотворное влияние. В литературе уравнения поля называются «уравнения Эйнштейна».
А ещё:
В 1997 году были обнаружены новые документы, а именно корректура статьи Гильберта, датированная 6 декабря. Из этой находки сделавший её Л. Корри с соавторами сделали вывод, что Гильберт выписал «правильные» уравнения поля не на 5 дней раньше, а на 4 месяца позже Эйнштейна. Оказалось, что работа Гильберта, подготовленная к печати раньше эйнштейновской, в двух отношениях существенно отличается от своего окончательного печатного варианта
Остальные утверждения из вашего комментария не проверял. Но хочу заметить, что СТО и ОТО прекрасны тем, что объясняют экспериментальные отклонения от Ньютоновских законов с помощью набора непротиворечивых аксиом, из которых выводятся все остальные законы и формулы. Например Лоренц вывел знаменитые преобразования, относительно которых уравнения Максвелла остаются инвариантными в любом порядке по скорости v. Но сам автор не изобрёл физических законов (аксиом), объясняющих эти преобразования.
Теория Эйнштейна же пошла гораздо дальше формул, и объясняет фундаментальные свойства вселенной: причинность, относительность законов движения, взамиосвязь между материей и пространством («Space-time tells matter how to move; matter tells space-time how to curve»). За это ему и поставили прижизненный нерукотворный памятник.
Вопрос в том, сколько лет нужно, чтобы получить такое количество мутаций? В лабораториях удаётся получить несколько десятков мутаций в год. Это меньше 0.01% от всего генома (Я опираюсь на ту же статью из N+1). Если люди заразились при контакте, у них не может быть разница в 1-2% в геноме возбудителя.
В статье на N+1 ”Сам ты искусственный” есть примеры утечек вируса сибирской язвы в 79-м и SARS-COV в 2003. Такие утечки обычно быстро локализуют, а виновных вычисляют. Я не исключаю версию утечки, но считаю её маловероятной.
И ещё в статье приводится сравнение геномов RaTG13 и SARS-CoV-2. Есть отличающиеся участки по 2-3 нуклеотида, которые объяснить простой склейкой не получается. Это результаты мутации.
Выглядит футуристично, как в научнофантастическом кино. Но боюсь многие привычные действия превратятся в таком UI будут делаться дольше. Как, например открыть две папки одновременно и перетаскивать файлы между ними? В случае с окнами это просто и понятно.
Постите одновременно в два блога? ?
https://tjournal.ru/analysis/651413-krah-celsius-pochemu-dazhe-pornomodel-v-komande-kripto-banka-ne-pomozhet-zarabotat-18-godovyh
А ещё добавьте, что создание NFT токенов не бесплатное. Для NFT на Etherium цена может доходить до $80. Вы готовы выкладывать такую сумму для каждого скидочного купона или пропуска в фан-клуб? В двух компаниях, где мне доводилось работать, была система бейджиков, которые выдавались сотрудникам за заслуги. Зачем применять сложную, дорогую, медленную систему блокчейна для такого, если можно написать самому за месяц?
С таким подходом не придумать Фундаментальную теорему Кубологии!
А вообще, разломанный кубик-рубика — это лишь повод, чтобы поговорить про математику ?
Я наблюдал подобную ситуацию при появлении Scala и Kotlin. Матёрые Java программисты с опытом 10+ лет посмеивались над новыми языками, ведь всё тоже самое можно сделать на Java. Но вот уже вышла Scala 3 и нашла своё приминение в Kafka, Spark, BigData, а Kotlin постепенно захватывает Android разработку.
В современно ИТ нет одного языка, который объединит все остальные. Наоборот каждый пишет на том, что удобнее. Я думаю найдутся любители Rust во фронтэнде, и от этого никому не будет хуже.
По поводу актёрской игры, думаю это выбор режиссёра Дени Вильнёва. У него в фильмах всегда сдержанные эмоции, чтобы на контрасте действительно важные сцены выстреливали сильнее. Если видели "Blade Runner 2049", "Прибытие", "Пленницы", то можете сравнить стиль режиссёра с Дюной.
Приходится работать на макбуке. Не буду рассказывать про малое количество портов и необходимость таскать переходники. Меня смутило малое количество инструментов для MacOS. Для Windows есть утилиты Sysinternals (https://docs.microsoft.com/en-us/sysinternals/), незаменимые для программиста.
Process Explorer, например, может
Посмотреть нагрузку на CPU, RAM, сеть, IO
Поменять приоритет
Посмотреть полный путь к исполняемому файлу
Посмотреть переменные окружения, с которыми работает процесс
Посмотреть список открытых портов
Посмотреть список DLL, используемых процессом (бывает нужно узнать, какая верси Java загружена процессом)
Посмотреть список открытый файлов
Чем заменить его на MacOS?
Посмотреть нагрузку на CPU, RAM, сеть, IO - Activity monitor
Поменять приоритет - через консоль
renice -n "-20" -p <PID>
Посмотреть полный путь к исполняемому файлу - через консоль
ps -o comm= -p <PID>
Посмотреть переменные окружения, с которыми работает процесс - через консоль
ps eww <PID>
Посмотреть список открытых портов - через консоль
lsof -i 4tcp -p <PID>
Посмотреть список DLL, используемых процессом (бывает нужно узнать, какая верси Java загружена процессом) - не знаю
Посмотреть список открытый файлов - через консоль
lsof -p <PID>
Если на Windows Я могу из одного GUI получить исчерпывающую информацию о запущенных процесса, то в MacOS приходиться через консоль запускать кучу разных команд (не забудьте держать в голове все это команды, не будете же гуглить каждый раз), главное не забудьте PID нужного процесса пока он не закроется. И это Я ещё не упоминал про дерево процессов, и как найти нужный Java процесс среди 5 запущенных.
Здорово, что в MacOS есть консоль с нативным Docker, менджером пакетов Brew и прочим. Но чем заменить Far, WinMerge, Sysinternals и другие Windows утилиты?
А если у меня открыто несколько окон одного приложения (например несколько проектов в IntelliJ IDEA), то клика по иконке в доке недостаточно. В Windows переключение между окнами проще реализовано.
do{}while
цикл, наверное, можно заменить поиском ненулевого значения в массиве:Если Израиль сможет пройти новую волну без локдаунов и проблем для экономики, то значит — вакцина работает. Будем наблюдать.
Современные алгоритмы хеширования достаточно быстрые. Можно генерировать 70 000 SHA-512 хэшей в секунду. Сервер будет дольше обрабатывать запросы, чем хакер отправлять варианты. Можно взять медленную функцию ALG2, но всё равно если пароль известен, то слабое место — это секретное слово.
С точки зрения взломщика, перебор конечно усложняется, но не становится невозможным. Просто вместо N паролей из словаря придётся перебирать N*N паролей из того же словаря. И для каждой пары будет делаться два запроса: сначала запрос на получения соли, потом запрос на вход с паролем.
Идея интересная, но боюсь будет сложно объяснить среднестатистическому пользователю зачем ему вводить два пароля, когда на всех других сайтах достаточно одного.
1. Зачем создавать tag и release каждый день? Для кого эта информация? Например если открыть теги Go, то можно понять какая сейчас самая свежая версия и увидеть, что 1.15 уже в статусе Release Candidate.
2. Как понять, в какой ветке ведётся разработка новых фич, а в какой только багфикс? В репозитории Swift 335 веток. В чём разница между
"master-next"
и"master-rebranch"
? Ветка"release/5.3"
— это ветка следущего релиза? Почему она отстаёт от"master-next"
на 5224 коммита?Помимо этого меня конечно смущает, что у языков Go (2009 г.р.) и Kotlin (2017 г.р.) всё ещё версия 1.x, а у Swift (2014 г.р.) уже v5.3.
А ещё:
Остальные утверждения из вашего комментария не проверял. Но хочу заметить, что СТО и ОТО прекрасны тем, что объясняют экспериментальные отклонения от Ньютоновских законов с помощью набора непротиворечивых аксиом, из которых выводятся все остальные законы и формулы. Например Лоренц вывел знаменитые преобразования, относительно которых уравнения Максвелла остаются инвариантными в любом порядке по скорости v. Но сам автор не изобрёл физических законов (аксиом), объясняющих эти преобразования.
Теория Эйнштейна же пошла гораздо дальше формул, и объясняет фундаментальные свойства вселенной: причинность, относительность законов движения, взамиосвязь между материей и пространством («Space-time tells matter how to move; matter tells space-time how to curve»). За это ему и поставили прижизненный нерукотворный памятник.
И ещё в статье приводится сравнение геномов RaTG13 и SARS-CoV-2. Есть отличающиеся участки по 2-3 нуклеотида, которые объяснить простой склейкой не получается. Это результаты мутации.