Если это правильная лицензия на макось, то там есть:
Your rights under this License will terminate automatically without notice from Apple if you fail to comply with any term(s) of this License.
Как я понимаю, это что-то вроде проверки целостности. Не смогли выполнить любое условие, значит прав больше нет. А вот это похоже на ограничения для железа:
This License allows you to install and use one copy of the Apple Software on a single Apple-labeled computer at a time.
Как я понимаю, надо признать ничтожным оба пункта. Первый вообще сам в себе и никакому закону противоречить не может. А второй это не запрет, а разрешение. Признание ничтожным разрешения, это уже автоматический запрет.
Как мне недавно доходчиво объяснили на opennet, не надо путать изобретение велосипеда и создание другой реализации. Идея велосипеда одна: колёса, педали, крутим, едем. Но реализаций множество (горные, шоссейные, колхозные, спортивные, детские и т.д и т.п.)
Когда выпускают очередную модель/реализацию идеи велосипеда, почему-то никто не говорит: «велосипед изобрели!», но в мире ПО эти два понятия часто путают :)
Это немного оскорбительно. У японца наверняка семь потов сошло, пока он научил софт правильно соединять фотографии и убирать искажение линзы, а заценили убунту :)
В облаках дорого, пока есть большая нагрузка, а как она прошла, опять дёшево. Такая ценовая политика всегда найдёт своего клиента.
И, я надеюсь, мы оба понимаем, что бенчмаркать надо в том же окружении, в котором потом будет продакшн. Как раз именно для того, чтобы бенчмарк выявил проблемы и окружения и используемых инструментов.
И, если ваш любимый инструмент вдруг показал себя в каком-то тесте, в каком-то окружении плохо, надо просто признать проблему. Да, здесь не работает. А не называть дибилами тех, кто его запустил. Иначе это уже баттхёрт.
Похож на старый добрый facetracknoir, известный любителям авиа-симуляторов, только работает по другому алгоритму и отслеживает положение губ.
Судя по личному опыту, facetracknoir прилично отнимает CPU даже на 30fps, а также очень капризен к освещению. Неравномерное освещение (окно сбоку), и летать уже спокойно нельзя.
> Ммм? Когда f(f(p)) = f(p)? f это хеш-функция которая не делает ничего?
моя условная запись «H = H1» — означает что там одно и то же число разных вариантов. Это вроде бы называют мощность множества. К примеру в первом 2^160, значит и во втором тоже 2^160. Т.е. любой хеш из H переводится в свой собственный хеш из H1.
Очевидно мощность H1 может быть или равна или меньше мощности H. Больше, не может.
И только если мощность равна, только тогда f(f(P)) выдаст тоже самое число разных вариантов, что и f(P), а значит и тоже самое число коллизий.
> Что хеш-функция должна магическим образом избавляться от коллизий если вычисляет хеш от хеша? Хеш ничем не лучше и не хуже пароля от которого он получен в плане коллизий.
Вот в этом и суть. Каждая последующая f() работает с результатом от предыдущих вызовов (т.е. уже накопившиеся коллизии никак не уменьшатся) и при этом добавляет свои.
f() — хеш функция
P — множество всех паролей
H — множество всех хешей
f(P) -> H
f(H) -> H1
f(f(P)) не хуже чем f(P) только тогда, когда H = H1. Т.е. хеш функция переводит свои хеши в хеши без коллизий.
С точки зрения безопасности принято считать верным пессимистичный вариант. Поэтому пока не доказано, что хеш функция переводит хеши в хеши без коллизий считается, что они там есть. А значит в хеше от хеша от хеша от хеша… они накапливаются.
Сломали сайт? Всегда считайте этот пароль скомпрометированным, не разбираясь что там утекло. Меняйте этот пароль везде, где он использовался, а потом уже свой бывший пароль можете проверять где угодно, хоть на хабр писать.
А вот если вы вошли на какой-то левый сайт, ввели свой текущий пароль, увидели «не найдено» и успокоились, это вы зря. Даже если проверка работает без ошибок, а база полная, всё равно вы только что отдали непонятно кому свой пароль или хеш сумму от него. (даже обрезанная хеш сумма всё равно является хеш суммой и годится для брутфорса)
О! А если прикинуть, что таким эффективным для себя и неэффективным для инвесторов IPO, Марк затруднил эту дорогу для остальных социальных сетей (вконтакте?), то он дважды выиграл: сам деньги получил, и конкурентам не дал получить :)
Ох уж этот принцип «чтобы было». Кто-то, может, реально рассчитывал на эту подписку, чтобы своим трудом помноженным на эти знания перевернуть мир, а теперь мир так и останется ущербным без этого, возможно, гениального шедевра.
Думаю, если Оракл отведёт судью, после того, как он так раскритиковал позицию адвоката, то в глазах присяжных это будет окончательное фиаско и признание своей неправоты. Присяжные же простые люди, а не юристы, они не думают законами :)
И где Гугл такой подарок откопал? Это случайно получилось или специально было подготовлено?
Позвонил в саппорт Apple, и там запись голоса реальной девушки, не синтезированный, хотя и робот. В каком месте Apple не прав? ;)
Как я понимаю, это что-то вроде проверки целостности. Не смогли выполнить любое условие, значит прав больше нет. А вот это похоже на ограничения для железа:
Как я понимаю, надо признать ничтожным оба пункта. Первый вообще сам в себе и никакому закону противоречить не может. А второй это не запрет, а разрешение. Признание ничтожным разрешения, это уже автоматический запрет.
Поправьте, если я неправ :)
Как мне недавно доходчиво объяснили на opennet, не надо путать изобретение велосипеда и создание другой реализации. Идея велосипеда одна: колёса, педали, крутим, едем. Но реализаций множество (горные, шоссейные, колхозные, спортивные, детские и т.д и т.п.)
Когда выпускают очередную модель/реализацию идеи велосипеда, почему-то никто не говорит: «велосипед изобрели!», но в мире ПО эти два понятия часто путают :)
И, я надеюсь, мы оба понимаем, что бенчмаркать надо в том же окружении, в котором потом будет продакшн. Как раз именно для того, чтобы бенчмарк выявил проблемы и окружения и используемых инструментов.
И, если ваш любимый инструмент вдруг показал себя в каком-то тесте, в каком-то окружении плохо, надо просто признать проблему. Да, здесь не работает. А не называть дибилами тех, кто его запустил. Иначе это уже баттхёрт.
Судя по личному опыту, facetracknoir прилично отнимает CPU даже на 30fps, а также очень капризен к освещению. Неравномерное освещение (окно сбоку), и летать уже спокойно нельзя.
А IO если и перекособочивает, то для всех одинаково.
Но также я согласен, что с точки зрения как бы посильнее затруднить брутфорс, можно разменять мощность множества на время вычисления.
моя условная запись «H = H1» — означает что там одно и то же число разных вариантов. Это вроде бы называют мощность множества. К примеру в первом 2^160, значит и во втором тоже 2^160. Т.е. любой хеш из H переводится в свой собственный хеш из H1.
Очевидно мощность H1 может быть или равна или меньше мощности H. Больше, не может.
И только если мощность равна, только тогда f(f(P)) выдаст тоже самое число разных вариантов, что и f(P), а значит и тоже самое число коллизий.
> Что хеш-функция должна магическим образом избавляться от коллизий если вычисляет хеш от хеша? Хеш ничем не лучше и не хуже пароля от которого он получен в плане коллизий.
Вот в этом и суть. Каждая последующая f() работает с результатом от предыдущих вызовов (т.е. уже накопившиеся коллизии никак не уменьшатся) и при этом добавляет свои.
Коллизии на каждом этапе суммируются.
f() — хеш функция
P — множество всех паролей
H — множество всех хешей
f(P) -> H
f(H) -> H1
f(f(P)) не хуже чем f(P) только тогда, когда H = H1. Т.е. хеш функция переводит свои хеши в хеши без коллизий.
С точки зрения безопасности принято считать верным пессимистичный вариант. Поэтому пока не доказано, что хеш функция переводит хеши в хеши без коллизий считается, что они там есть. А значит в хеше от хеша от хеша от хеша… они накапливаются.
Где ошибся?
Сломали сайт? Всегда считайте этот пароль скомпрометированным, не разбираясь что там утекло. Меняйте этот пароль везде, где он использовался, а потом уже свой бывший пароль можете проверять где угодно, хоть на хабр писать.
А вот если вы вошли на какой-то левый сайт, ввели свой текущий пароль, увидели «не найдено» и успокоились, это вы зря. Даже если проверка работает без ошибок, а база полная, всё равно вы только что отдали непонятно кому свой пароль или хеш сумму от него. (даже обрезанная хеш сумма всё равно является хеш суммой и годится для брутфорса)
Ох уж этот принцип «чтобы было». Кто-то, может, реально рассчитывал на эту подписку, чтобы своим трудом помноженным на эти знания перевернуть мир, а теперь мир так и останется ущербным без этого, возможно, гениального шедевра.
И где Гугл такой подарок откопал? Это случайно получилось или специально было подготовлено?