Pull to refresh
36
0.3
Send message

"о, я вижу ты купил XXX который тебе понадобится один раз в жизни, теперь я буду весь месяц предлагать тебе купить XXX"

Это все равно сильно лучше и интереснее, чем просто случайные вещи. Недавний пример из жизни: не знаю уж почему, но алиэкспресс решил мне на главной странице показывать в основном женское нижнее белье (около 80% рекомендаций, остальное тоже не интересно, но, хотя бы, другое). Это, конечно, штука очень полезная, только вот я мужчина и на алиэкспрессе (особенно недавно) в основном заказывают велозапчасти и компьютерные мелочи. Вероятность того, что я хоть что-то из этого куплю ровно 0. С тем, что я недавно купил есть хоть какая-то вероятность (может хочется еще, может сломалось или не понравилась конкретная вещь и т.д.), но есть много вещей, которые я не куплю никогда. Как мне кажется, попасть может и не попадает, но вот промахнуться можно так, что весь бюджет без результатов сгорит.

Сразу же вспомнилось:

Hidden text

Для yt-dlp есть много интерфейсов, в том числе и для телефона (на android я использую Seal, есть ли что-то для Ios не знаю).

Если бы это был какой-то реальный пример то да, вариантов могло бы быть много, но это просто иллюстрация общей картины. Скорее если у чиновников из управы (или управляющей компании ЖК) есть контакты в фирме, которая может в тендере на перекладку участвовать, то перекладывают. А если нет - то какой смысл.

Так и я про тоже самое! Бюджет на распил в Москве, конечно, значительно больше, тут спорить бессмысленно и на те крохи, которые остаются на реальное благоустройство остается больше, чем в других городах. Это делает жизнь в Москве лучше, но не хорошей и точно не соответствующей расходам.

Вообще это друг другу не противоречит. Если в Москве отъехать на пару километров от центра, то очень не сложно найти разбитые тротуары, укладывание асфальта прямо в лужи (или в снег) и прочие прелести. Просто в условном Мурманске (в котором я до этого жил) достаточно пешком минут 10 пройтись от центральной площади города для того, чтобы найти дома, которые уже десятилетия стоят в очереди на расселение с соответствующим видом (про дороги и тротуары даже говорить не приходится). В Москве явно лучше, но видеть, как в одном месте тротуарную плитку меняют раз в год-два, а в соседнем дворе её не меняли вообще ни разу и она больше на американские горки похожа очень сюрреалистично.

Можно вместо "церемониальности и осознанности" сделать нормально работающий механизм с, например, реестром этих бумаг, где можно проверить конкретную или проверить все подобные бумаги, выданные на твое имя. А то вон ЭЦП может чуть ли не кто угодно подучить, сам человек даже не узнает. И ходи потом доказывай, что не верблюд.

Любая пауза и лишнее действие в этом деле - хорошо

Да, но печать это не тот способ. Проще было бы сделать все "серьезные" операции по-умолчанию невозможными и нужно получить бумагу для этой операции. Даже не обязательно какую-то проверку проводить или еще что-то сложное (хотя не помешает, зависит от операции), просто выдавать её неделю. "Серьезные" вещи не такие частые, сильно не помешает, но вот это точно даст паузу подумать. Печать только добавить лишней бюрократии и за неё еще и платить надо самому, бумагу же можно легко выдавать бесплатно, она сама по себе ничего не стоит и если ничего не проверять, то и человеко-часов на неё не потрачено.

"А еще возьмите свою печать" - это будет все изменение в скрипте мошенников. Кусок дерева точно не даст гарантии того, что человек подумал. Я как-то не встречал историй про мошенников, которые напрыгивают на мирно гуляющих по парку людей и убалтывают их переписать на них квартиру. Другого примера, когда отсутствие печати с собой может помочь я придумать не смог.

Судя по вашим комментариям вы хотите ID + подпись + печать, я правильно понимаю? И каким образом это сделает жизнь хоть кого-то лучше? ID однозначно идентифицирует, подпись подтверждает намерение совершить действие, печать то что дает? Я могу понять печать для организации или госоргана, обычным физлицам она зачем нужна?

Тут же проблема в том, что вместо нормального "артефакта" используется архаичное нечто, что не несет никакой идентифицирующей информации (типа фотографии, ФИО и т.д.). Толку от него нет никакого.

Насколько я понимаю, этих штампов штук 7 разных видов и каждый для своей цели. Только (насколько я сумел найти) jitsuin регистрируется и он нужен только для определенных операций (разные сайты указывают разный список, так что не уверен, какие конкретно). Для более простых вещей используется mitomein, который как раз и продается.

А то, что подписать ничего нельзя, не взяв это с собой - это плюс, если дело касается серьёзных документов.

Вот только касается оно не только серьезных документов. Проблем сильно больше, да и заново все документы делать для, например, покупки квартиры прост потому, что кто-то свою печать забыл все равно тупо и только тратит время.

Видать, не доводилось "подписывать" какой-нибудь японский контракт на 20 листах с местом для подписи под каждым абзацем.

Я все равно предпочту их подписывать ручкой, чтобы ситуации, когда надо поставить одну подпись, а ханко нет.

Муж на работе, ему некогда, она брала его печать, шла в банк, в госучреждение и т. п. всякие формальности оформлять

А подскажите, где же здесь плюс? Это гораздо лучше решается доверенностью. Она дается с явного согласия, имеет ограниченные полномочия и ограниченное время жизни.

А с ханко что не так?

А что с ними так? У них ни одного преимущества перед подписью ручкой нет. Для популярных фамилий эти штампы продаются в магазине на пару сотен йен (пара долларов, а то и меньше). Чтобы подделать подпись нужно хоть какое-то умение, а не только умение ходить в магазин.

Но когда имя не популярное, то все еще хуже. Теперь, если человек этот штамп забыл и ему надо что-то подписать, то сделать он это не сможет. А если он в командировке, то это еще веселее.

Я периодически смотрю связанные с Японией видео и не помню, чтобы хотя бы раз слышал хоть что-то хорошее о ханко, от японцев или приезжих. Вот 2 примера, которые я смог быстро найти в истории: Japan's Signature Stamps are Actually POINTLESS, What NO-ONE Tells You About Japan

Не хочется вас расстраивать, но это не так. Есть там и объект (сами объекты, конечно во время компиляции удаляются и остаются только внутренности), и дискриминант никуда не девается. Есть много крутых штук, вроде хранения дискриминанта в паддинге (и Option<bool> занимает столько же места, как и bool), но для обычного i32 впихнуть его некуда. Rust, конечно, крутой, но такое просто невозможно сделать безопасно. Для енумов без дискриминанта (и лишнего места) есть union, но его использование - unsafe.

например, что Result и Option занимают ровно столько памяти, сколько голые лежащие в них данные

Насколько я помню они не вырезаются никуда, это обычные енумы с дискриминантом Как ж их вырезать, если надо для внешних данных понять, они ок или нет. Для Option есть оптимизация, которая позволяет ему занимать столько же места, сколько и ссылка т.к. ссылка не может быть null, но чего-то большего я не помню.

А доклад мой, в чём, видимо и ирония :)

Тогда может я чего-то не понял, но как-то странно в одном месте говорить, что все не найдется, а в другом, что найдется. Это немного путает, особенно людей, кто прочитают этот комментарий в отрыве от всего остального.

Кстати, отличный доклад, с удовольствием посмотрел. Повезло еще, что его в видео выложили вот буквально недавно.

Вы прямо сейчас наверняка отвечали мне в браузере, написанном на C++, содержащем кучу UB

Технически это совсем не обязательно, 1 post запрос можно было бы и из Rust отправить (естественно я этого не делал).

Не программа?

Почему бы и нет. Раз уж стандарт C++ так определяет, то пусть так и будет. Я же не заказчик кода, которому нужен какой-то результат, а программист. А то, что что-то не является программой не значит, что это что-то бесполезное, велосипед тоже не программа, а штука очень крутая и полезная.

Ну а если заниматься ещё и динамическим анализом вроде Address Sanitizer/Valgrind, то найдётся абсолютно всё

Было бы хорошо, но увы, это не так. Насколько я понимаю разницу, в C++ флаги, санитайзеры и прочее выводят ошибки для кода, который они считают неправильным, в Rust же компилятор не компилирует программу если не может доказать её корректность. И это принципиально разный подход.

Если нет багов в unsafe-библиотеках, компиляторе, borrow checker...

А давайте без этого, в вышеупомянутом видео достаточно примеров багов C и C++ компиляторов, санитайзеров и прочего. Если так рассуждать, то и Python сразу unsafe, ведь в его реализации тоже баги могут быть. С таким подходом лучше сразу на кладбище ползти, там уже не до багов в коде будет. И довольно большая часть Rust'а так вообще формально верифицирована.

там полностью убраны проверки при разыменовании указателей

Нельзя убрать то, чего нет. Разыменование указателей это всегда unsafe операция, для safe кода гораздо чаще используются ссылки.

вопрос веры

Это не вопрос веры, это вопрос данных. И в Rust новые контрибьютеры делают в 70 раз меньше ошибок, чем в C++. Не на 70%, в 70 раз. Какая тут вера.

Буквально позавчера видел баг на Rust

А я сегодня видел пачку багов на C++, и что?

Люди пишут на Си и C++ с удовольствием и не парятся про какое-то там UB, несоответствие стандарту и прочая, прочая, прочая

Только тогда возникает проблема, эти люди - не разработчкики на C++. Код с UB - не программа, а называть программистом людей, которые не пишут программы, а код, мне кажется странным. Это как за количество символов в коде платить.

rust отключит оптимизацию

UB используется для оптимизаций, но это не значит, что для оптимизаций нужно UB. какие там инструкции на разных платформах будут генерироваться не подскажу, не знаю, с точки зрения программиста и кода программы оператор + на всех платформах сделает одно и тоже.

Ну это же настоящий межплатформенный UB, на одной платформе получим одно, на другой - другое

А вот тут стоп, это очень важно. Далеко не каждое "плохое", "не очевидное", "странное", " вредное" и т.д. поведение является неопределенным. У вам вообще оксюморон получился, определенное (если на платформе А выполняется Х, а на платформе Б выполняется У, то поведение очень даже определено) неопределенное поведение. Это было бы platform dependent behavior (или implementation-defined behavior, я не уверен, я не программирую на C++). А еще есть unspecified behavior и compiler specific behavior. И это все разные сорта грабель на любой вкус и цвет. Про UB в комментариях под этой статьей много кто много чего полезного рассказал, можно их посмотреть. Еще в комментариях под моей статьей тоже много про это писали, там тоже можно много полезного узнать.

Да и разные инструкции процессору при разных обстоятельствах даже implementation-defined behavior, если компилятор вместо простого сложения чисел в цикле сразу на этапе компиляции это вычислит и оставит от функции только ret 100 это же не UB. С точки зрения программы это эквивалентно, результат то один и тот же.

добавить лишних инструкций на другой платформе

Опять же, не готов тут что-то сказать, понятия не имею что может быть на разных платформах. Нo в Rust числа не только оператором + складывать можно, есть еще пачка методов, типа checked_add, overflowing_add, saturating_add, unchecked_add, wrapping_add, wrapping_add_unsigned, а если этого мало, то есть еще интринсики, в которых (возможно, я не проверял) можно прям нужные инструкции +- напрямую использовать. Так что если хочется под конкретную платформу заоптимизироваться, то в этом никаких проблем нет.

Не обязательно, можно поставить вторым контуром тепловой насос и так греть что угодно до нужной температуры. Так что все возможно, было бы желание)

1
23 ...

Information

Rating
2,089-th
Registered
Activity