Ну так к ним и возникли вопросы, конкретнее к табрице подстановок. Создатели кузнечика утверждают, что для создания s-box использовалась псевдослучайная последовательность, но они, пардон, просрали seed и теперь не могут её повторить. А сторонние исследователи нашли закономерности, которые ставят под сомнения заявления про случайность s-box.
какой был фатальный недостаток у Delphi, что оно ушло в забвение
Наверное, фатального нет, но:
«Как jQuery» — когда использование отличного инструмента с огромным комьюнити и кучей дополнений внезапно стало табу потому что инструмент позволяет писать плохой код.
Жлобская ценовая политика. Бесплатная Delphi Community Edition появилась только в 2018 (?!). VS Express была уже в мохнатом 2005.
C# откусил кусок пирога.
Поздно завезли поддержку юникода.
Javascript, кстати, может наступить на те же грабли. Можно говнокодить — да, распухший npm — да. Дойдёт ли до стадии «помогите где найти кампанент Vue которым можно зделать табличьку с кнопками в ячейках»? :D
Мы переписали X на Rust чтобы улучшить ваш developer experience.
Очередное булшит-бинго с медиума в копилку к
другим шедеврам
1 mistakes I've made during React Native.
4 Main JavaScript Development Trends in 2019.
4 Tricks to Debug JavaScript in 2019.
5 things that you'll learn when you start to use React Native.
5 TypeScript features you might not know.
5 Ways to animate a React app in 2019.
The Five Top Reasons to Use JavaScript.
6 Reasons Why To Use Ember In 2019.
Six Things About JavaScript Which If You Don't Know.
7 bad excuses for not using TypeScript.
7 things you didn't know about JavaScript.
9 React Styled-Components UI Libraries for 2019.
10 reasons Quasar is great tool for Vue.js.
10 TypeScript Pro tips/patterns with (or without) React.
Top 10 Reason: Why You Should Use Node.JS?
11 Javascript Data Visualization Libraries for 2019.
11 React UI Component Libraries you Should Know in 2019.
12 React UI Layout Grid Components and Libraries for 2019.
12 things about JavaScript business owners and recruiters MUST know.
15 JavaScript concepts that every (JavaScript) Programmer must know.
19 Best Practices For Automation testing With Node.js.
19 ways to become a better Node.JS developer in 2019.
20 Things You Must Learn Before Writing Your First React App.
Мне кажется, многие не поняли про что это всё (либо суть потерялась при переводе). «Я продаю лук через интернет» — это не про лук, цифры и детали, а про человека, которому повезло делать то, что нравится. И, кажется, у него получается делать это действительно хорошо. Это очень «американская» статья, её тепло встретили на Hacker News. Среди комментариев, например:
Это статья на тему «американской мечты» про мальчика и доменное имя. Мальчик видит красивое доменное имя на аукционе и выигрывает его. Они проводят время вместе, доменное имя отвечает ему взаимностью. В конце концов они добиваются успеха и приносят в этот мир лук.
Читаю это в автобусе на 280 шоссе, глядя на закат над Сан-Франциско. Ты чертовски прав. Я только что уволился с работы чтобы делать мебель. Меня взяли в действительно хорошую школу в красивом прибрежном городишке, расположенном прямо «посреди ничего», куда я сейчас и перебираюсь вместе со своим партнером. Ни за что не упущу этот шанс.
Есть и противоположные мнения:
«Я веб-чувак, а не фермер» — уже с первых слов чувствуется стиль, как бы это лучше сказать, SEO-шника, рекламщика. Рассказ ведётся от первого лица, и нам с самого начала пытаются показать, что, во-первых, автор — простой человек, пишущий о своей жизни, а во-вторых, что человек этот очень успешный, безусловно эксперт в той области, о которой собирается вам поведать.
Заменой ASCII на тайлы не получится познакомить с игрой более широкую аудиторию. Более того, я уверен, что разглядывая в стиме скриншоты в стиле «JRPG по мотивам бомбермена» (пускай даже с самыми качественными тайлами) у этой самой сферической широкой аудитории в вакууме ход мылсей будет примерно следующий: «Опять какая-то индюшатина, карточек нет, да у нас такие игры в школе на C# писали»:
«Вау, что это? Надо попробовать» получилось у Cogmind. Тут вам и тайлы-но-как-бы-не-тайлы, и подсказки для чайников, и мышь, и стильный модный интерфейс с анимациями:
Что есть «открытый бинарник»? Теоретически же возможна ситуация, когда этот-самый открытый бинарник, видя, что компилирует сам себя, будет добавлять в результат компиляции закладку? Именно об этом пишет Кен Томпсон в очень старой статье статье «Reflections on Trusting Trust»: читать исходники бесполезно, если вы не можете их понять и собственными руками транслировать их в бинарный код.
Да, это вполне можно считать «крайне маловероятным сценарием атаки», «радикальной столлмановщиной» и т.п., но тем не менее существуют bootstrappable.org и reproducible-builds.org. Есть проекты «бутстрапа с нуля» вроде asmc или stage0, авторы которых пытаются создать тулчейн, позволяющий начать с минимального загрузчика (который действительно можно понять и набрать хоть в машинных кодах) и последовательно собирать инструменты всё возрастающей сложности, заканчивая компилятором C, способным собрать gcc 4.7, способным собрать gcc 4.7+, способным собрать что угодно*.
* кроме Rust
Статья «переходит на личности» в отношении Rust, однако шевеление проблемы compiler bootstrapping — хорошее и полезное дело. Оно может пригодиться, если вы делаете процессор из песка и камушков или пишете какую-нибудь Haiku OS под Байкал (не сарказм).
P.S. mrustc описанную Томпсоном проблему «trusting trust attack» решает частично т.к., если я правильно понимаю, результатом работы mrustc будут собираемые, но не слишком читаемые транслированные исходники на С (но это уже из разряда философии).
Не знаю как там сейчас обстоят дела, но раньше под виндой Chrome использовал DPAPI. Там примерно такая шляпа:
— Для каждой учётной записи Windows существует свой мастер-ключ.
— Если учётная запись Windows защищена паролем, мастер-ключ дополнительно им шифруется.
— Если учётная запись Windows НЕ защищена паролем и разработчик не озаботился эту ситуацию обработать (попросить пароль для хранилища), то данные будут «немножко зашифрованы» — от других пользователей на этой же системе.
Таким образом чтобы спереть пароли из хрома простым копированием профиля, нужно чтобы учётка была не запаролена (либо знать пароль) и вместе с профилем забрать ключи из %APPDATA%\Microsoft\Protect.
В Python (точнее, CPython) модули часто прибиты к конкретному питону (не к версии, а именно к кокретной сборке) гораздо сильнее, чем пакеты в ноде. Аналог node_modules местами просто неприменим, см. #comment_19919970
Этот PEP решает только часть проблем (точнее, одну), из-за которых существует virtualenv. Если он не будет допилен до состояния, в котором сможет virtualenv заменить, и они продолжат существовать параллельно — то это лишь всё усложнит (there should be one — and preferably only one — obvious way to do it, ага). Если же будет допилен — естественным образом станет таким же костылём.
Вот, навскидку:
Virtualenv позволяет создать несколько окружений с одной и той же версией python под разные архитектуры.
В virtualenv Python может быть собран с разными флагами (да, CPython часто собирают под специфичные задачи, в отличие от языка, из которого автор притащил этот PEP). В одном окружении может быть собран Python 3.6 с отладкой, во втором — без, а в третьем — какая-нибудь сборка прямо из HEAD, в четвёртом вообще MinGW.
Пакеты могут тащить с собой бинарники, которые сейчас попадают в venv/bin. Что предлагают авторы? Правильно, скопировать подход, используемый там — npmx (или что щас вместо него), и использовать pipx. Ух, как всё упростилось-то!
Ну так к ним и возникли вопросы, конкретнее к табрице подстановок. Создатели кузнечика утверждают, что для создания s-box использовалась псевдослучайная последовательность, но они, пардон, просрали seed и теперь не могут её повторить. А сторонние исследователи нашли закономерности, которые ставят под сомнения заявления про случайность s-box.
Javascript, кстати, может наступить на те же грабли. Можно говнокодить — да, распухший npm — да. Дойдёт ли до стадии «помогите где найти кампанент Vue которым можно зделать табличьку с кнопками в ячейках»? :D
… и антенну
Говорят, выучить английский и стать лингвистом легко. Правда?
Но тем не менее DeepFake для работы нужно два здоровых датасета, а алгоритму из статьи лицо «донора» сгодится даже в количестве 1 фотка.
В mintty проблемы с работой приложений, которые используют "виндовое" консольное API (FAR, например, там просто не работает, ЕМНИП).
Туда же https://bash.im/quote/394695
Ясно-понятно, опять AMP пропихивают.
Думаю, "засунуть в браузер антивирус" — это точно не "проще".
Очередное булшит-бинго с медиума в копилку к
4 Main JavaScript Development Trends in 2019.
4 Tricks to Debug JavaScript in 2019.
5 things that you'll learn when you start to use React Native.
5 TypeScript features you might not know.
5 Ways to animate a React app in 2019.
The Five Top Reasons to Use JavaScript.
6 Reasons Why To Use Ember In 2019.
Six Things About JavaScript Which If You Don't Know.
7 bad excuses for not using TypeScript.
7 things you didn't know about JavaScript.
9 React Styled-Components UI Libraries for 2019.
10 reasons Quasar is great tool for Vue.js.
10 TypeScript Pro tips/patterns with (or without) React.
Top 10 Reason: Why You Should Use Node.JS?
11 Javascript Data Visualization Libraries for 2019.
11 React UI Component Libraries you Should Know in 2019.
12 React UI Layout Grid Components and Libraries for 2019.
12 things about JavaScript business owners and recruiters MUST know.
15 JavaScript concepts that every (JavaScript) Programmer must know.
19 Best Practices For Automation testing With Node.js.
19 ways to become a better Node.JS developer in 2019.
20 Things You Must Learn Before Writing Your First React App.
Меня вот больше всего удивило, что
Есть и противоположные мнения:
«Вау, что это? Надо попробовать» получилось у Cogmind. Тут вам и тайлы-но-как-бы-не-тайлы, и подсказки для чайников, и мышь, и стильный модный интерфейс с анимациями:
Да, это вполне можно считать «крайне маловероятным сценарием атаки», «радикальной столлмановщиной» и т.п., но тем не менее существуют bootstrappable.org и reproducible-builds.org. Есть проекты «бутстрапа с нуля» вроде asmc или stage0, авторы которых пытаются создать тулчейн, позволяющий начать с минимального загрузчика (который действительно можно понять и набрать хоть в машинных кодах) и последовательно собирать инструменты всё возрастающей сложности, заканчивая компилятором C, способным собрать gcc 4.7, способным собрать gcc 4.7+, способным собрать что угодно*.
* кроме Rust
Статья «переходит на личности» в отношении Rust, однако шевеление проблемы compiler bootstrapping — хорошее и полезное дело. Оно может пригодиться, если вы делаете процессор из песка и камушков или пишете какую-нибудь Haiku OS под Байкал (не сарказм).
P.S. mrustc описанную Томпсоном проблему «trusting trust attack» решает частично т.к., если я правильно понимаю, результатом работы mrustc будут собираемые, но не слишком читаемые транслированные исходники на С (но это уже из разряда философии).
Интегрировай!
— Для каждой учётной записи Windows существует свой мастер-ключ.
— Если учётная запись Windows защищена паролем, мастер-ключ дополнительно им шифруется.
— Если учётная запись Windows НЕ защищена паролем и разработчик не озаботился эту ситуацию обработать (попросить пароль для хранилища), то данные будут «немножко зашифрованы» — от других пользователей на этой же системе.
Таким образом чтобы спереть пароли из хрома простым копированием профиля, нужно чтобы учётка была не запаролена (либо знать пароль) и вместе с профилем забрать ключи из %APPDATA%\Microsoft\Protect.
Подробнее: habr.com/ru/post/148602
Вот, навскидку: