Надо заметить что это "китайские" 718 км, на их очень щадящем цикле. Предыдущие 688 км оказывались в США 337 милями, где-то 1.27 завышение. Так 718км окажутся после переезда из Китая 565км или 351 миля.
Так смысл правильного сквозного шифрования - оно позволяет пользоваться публичным облаком, не доверяя ему. Мне должно быть плевать что у них за серверная часть, и какие там риски (кроме конечно потери данных) - клиентское шифрование не должно давать серверу, чтобы там не происходило, узнать много больше чем самая общая метадата - примерные объемы файлов, число пользователей и так далее, или подделать файлы.
Как в мессенжерах с e2e, никто не выкладывает серверную часть, но валидация клиентской части позволяет проверить, что может а что не может сделать сервер.
Статья годная - как раз сделали валидацию клиентской части, нашли интересные и часто не тривиальные проблемы.
Они все шифруют локально. Они все делают при этом ошибки, раскрывающие часть информации и/или позволяющие серверу подменить часть информации (несмотря не шифрование).
По-моему это не про частные хранилища. Пробежал по ссылкам - вижу опцию self-hosting у Nextcloud, и у Seafile конечно открытый код можно у себя хостить. У остальных кажется только в их облаке, а если есть открытый код - то только клиентов.
Есть любители смотреть 24 кадра в секунду, которым фильмы снятые с нормальным битрейтом кажутся "телевизионными". И режиссеры снимающие на пленку, тот же Тарантино снимает на пленку, мол лучше картинка чем бездуховная цифра.
Да, для аналитики годится. Конечно для поиска если оптимизация уже поддержана, так что да - это ортогонально статье. В аналитике во многих движках history based optimizer прикрутили, но ML модели или LLM должны справляться лучше, и имеют шанс сделать это с первого раза.
глубоко не убеждён, что анализировать/модифицировать алгоритмы на этапе парсера (ака Clang) - есть хорошо. Ибо не его это функция.
Это не этап парсера в компиляторе, это отдельная программа, использующая результат парсера. Остальных частей компилятора там нет, а в случае рефакторинга - превращают AST дерево обратно в код.
Для чего-то монументального наверно можно и DSL прикрутить, но он должен работать точно так же - превращать AST Clang в дерево и скармливать его DSL.
Проблема тут что кроме доменного языка для поиску по AST, для рефакторинга нужно написать собственно код с логикой как найденный AST менять.
И тут придется либо делать этот DSL полным по Тьюрингу, и включать в него императивные элементы, что проект и похоронит. Либо делать что-то вроде встроенного SQL, когда доменный язык вызывается из императивной программы, что обычно тоже ужасно. Либо как в статье. Все решения довольно корявые. Я не видел решений делающих это сильно чище, чем в статье.
В первом запросе ещё интересный факт: Group by делается только по ключам одной таблицы из Join. То есть если эта таблица используется как Probe side - то все многочисленные строки, полученные из одной строки в Probe side на выходе Join, попадут в одну группу. Хеширование и поиск группы можно делать один раз на строку Probe side, а не на каждую строку вышедшую из Join. В конкретном случае это ускорило бы в тысячи раз, а не жалкий десяток, который даёт параллелизм. Интересно, использует ли какая-либо база такую оптимизацию.
Кредит кредиту рознь, и в этих примерах все кредиты разные.
Дом в кредит в США покупают потому что проценты по этому кредиту уменьшают налоги.
Машину это уже просто обычный кредит. Если есть деньги, и производитель не предлагает процент близкий к нулю, то кредит и не берут.
Покупки и бензин это кредитная карточка. Формально кредит, но на ней есть grace period - если вовремя платить, то ничего не теряете. Наоборот, могут ещё небольшой кешбэк подкинуть.
В местах где кучкуются программисты почасовая цена работы сантехников выше почасовой зарплаты сениора в FAANG. Но получают они эти деньги не все время.
Есть знакомый, бывший SDE/T в крупной американской корпорации. Сейчас электрик в тех же штатах. Как я понимаю, когда есть заказы - высокая почасовая оплата (установка зарядок для EV, генераторов, прокладка проводов, сетей у частников). Когда нет заказов - подработка на строительстве новых домой, почасовая в 10 раз меньше.
При чем тут вообще летный ресурс Союза? А если бы он был 10 лет, по вашему надо было бы по 10 лет на станции сидеть?
Даже древний Союз ТМА имеет летный ресурс 1 год.
Это сообщает только то, что длительность полета к МКС уже давным давно не определяется летным ресурсом, а оптимизируется по совсем другим критериям. И выжимают из станции и космонавтов тоже совсем другие ресурсы.
Списывание конкретным людям напрямую конечно лучше чем топ-менеджерам, но в долгосрочной перспективе имеет схожие результаты: всё больше людей берут займы, зная что можно будет не отдавать; менеджеры повышают цены, зная что студенты платят не своими и не чувствительны к цене; все больше студентов не могут расплатиться по долгам. То есть государство таки финансирует топ-менеджеров.
А почему тогда уже не просто SQL? Эти таблицы можно указать как источник данных, скажем в BigQuery, и писать SQL запросы любой сложности, использовать в витринах вроде Looker Studio, и так далее.
На Макбуке первыми появились первый и второй thunderbolt, с Mini DisplayPort разъемом. USB-C с thunderbolt 3 появились на Маке в 2016-ом, а на виндах на год раньше.
Надо заметить что это "китайские" 718 км, на их очень щадящем цикле. Предыдущие 688 км оказывались в США 337 милями, где-то 1.27 завышение. Так 718км окажутся после переезда из Китая 565км или 351 миля.
Так смысл правильного сквозного шифрования - оно позволяет пользоваться публичным облаком, не доверяя ему. Мне должно быть плевать что у них за серверная часть, и какие там риски (кроме конечно потери данных) - клиентское шифрование не должно давать серверу, чтобы там не происходило, узнать много больше чем самая общая метадата - примерные объемы файлов, число пользователей и так далее, или подделать файлы.
Как в мессенжерах с e2e, никто не выкладывает серверную часть, но валидация клиентской части позволяет проверить, что может а что не может сделать сервер.
Статья годная - как раз сделали валидацию клиентской части, нашли интересные и часто не тривиальные проблемы.
Они все шифруют локально. Они все делают при этом ошибки, раскрывающие часть информации и/или позволяющие серверу подменить часть информации (несмотря не шифрование).
По-моему это не про частные хранилища. Пробежал по ссылкам - вижу опцию self-hosting у Nextcloud, и у Seafile конечно открытый код можно у себя хостить. У остальных кажется только в их облаке, а если есть открытый код - то только клиентов.
Вообще-то у них на сайте честно написано
Мол шутка это первоапрельская
Есть любители смотреть 24 кадра в секунду, которым фильмы снятые с нормальным битрейтом кажутся "телевизионными". И режиссеры снимающие на пленку, тот же Тарантино снимает на пленку, мол лучше картинка чем бездуховная цифра.
Да, для аналитики годится. Конечно для поиска если оптимизация уже поддержана, так что да - это ортогонально статье. В аналитике во многих движках history based optimizer прикрутили, но ML модели или LLM должны справляться лучше, и имеют шанс сделать это с первого раза.
Это не этап парсера в компиляторе, это отдельная программа, использующая результат парсера. Остальных частей компилятора там нет, а в случае рефакторинга - превращают AST дерево обратно в код.
Для чего-то монументального наверно можно и DSL прикрутить, но он должен работать точно так же - превращать AST Clang в дерево и скармливать его DSL.
Проблема тут что кроме доменного языка для поиску по AST, для рефакторинга нужно написать собственно код с логикой как найденный AST менять.
И тут придется либо делать этот DSL полным по Тьюрингу, и включать в него императивные элементы, что проект и похоронит. Либо делать что-то вроде встроенного SQL, когда доменный язык вызывается из императивной программы, что обычно тоже ужасно. Либо как в статье. Все решения довольно корявые. Я не видел решений делающих это сильно чище, чем в статье.
В первом запросе ещё интересный факт: Group by делается только по ключам одной таблицы из Join. То есть если эта таблица используется как Probe side - то все многочисленные строки, полученные из одной строки в Probe side на выходе Join, попадут в одну группу. Хеширование и поиск группы можно делать один раз на строку Probe side, а не на каждую строку вышедшую из Join. В конкретном случае это ускорило бы в тысячи раз, а не жалкий десяток, который даёт параллелизм. Интересно, использует ли какая-либо база такую оптимизацию.
Кредит кредиту рознь, и в этих примерах все кредиты разные.
Дом в кредит в США покупают потому что проценты по этому кредиту уменьшают налоги.
Машину это уже просто обычный кредит. Если есть деньги, и производитель не предлагает процент близкий к нулю, то кредит и не берут.
Покупки и бензин это кредитная карточка. Формально кредит, но на ней есть grace period - если вовремя платить, то ничего не теряете. Наоборот, могут ещё небольшой кешбэк подкинуть.
Почему то правительство ни один запрет не оправдывает Китаем или Северной Кореей...
В местах где кучкуются программисты почасовая цена работы сантехников выше почасовой зарплаты сениора в FAANG. Но получают они эти деньги не все время.
Есть знакомый, бывший SDE/T в крупной американской корпорации. Сейчас электрик в тех же штатах. Как я понимаю, когда есть заказы - высокая почасовая оплата (установка зарядок для EV, генераторов, прокладка проводов, сетей у частников). Когда нет заказов - подработка на строительстве новых домой, почасовая в 10 раз меньше.
При чем тут вообще летный ресурс Союза? А если бы он был 10 лет, по вашему надо было бы по 10 лет на станции сидеть?
Это сообщает только то, что длительность полета к МКС уже давным давно не определяется летным ресурсом, а оптимизируется по совсем другим критериям. И выжимают из станции и космонавтов тоже совсем другие ресурсы.
Списывание конкретным людям напрямую конечно лучше чем топ-менеджерам, но в долгосрочной перспективе имеет схожие результаты: всё больше людей берут займы, зная что можно будет не отдавать; менеджеры повышают цены, зная что студенты платят не своими и не чувствительны к цене; все больше студентов не могут расплатиться по долгам. То есть государство таки финансирует топ-менеджеров.
В 1900 было 110 вольт, выбрано ещё Эдисоном, а нынче в США 120. Светит чуть ярче номинала.
А почему тогда уже не просто SQL? Эти таблицы можно указать как источник данных, скажем в BigQuery, и писать SQL запросы любой сложности, использовать в витринах вроде Looker Studio, и так далее.
В первых нет Чечни? И Адам не награждён за достижения в НТР? Чувствую кто-то из МинОбра скоро будет извиняться на камеру.
Вспомнилось почему-то другое устройство, управлявшееся геймпадом
На Макбуке первыми появились первый и второй thunderbolt, с Mini DisplayPort разъемом. USB-C с thunderbolt 3 появились на Маке в 2016-ом, а на виндах на год раньше.