1.82K subscribers
3.31K photos
132 videos
15 files
3.58K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Дети по-античному просты.

Я стоял в очереди в зоомагазине, а передо мной семилетний (скажем) мальчик что-то объяснял матери. Ребенку приходилось кричать, так как все звери в этом зоомагазине были полны энергии. Мама, отвлеченная щебетом попугаев, что-то переспросила, и ребенок разгневался.

— Птицы, молчите! — вскрикнул он голосом персидского царя.

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

На выходе из магазина он наступил в лужу и, клянусь, почти приказал матери ее высечь.
Forwarded from Segment@tion fault
​​​​Пошел купить лук, была очередь а касса самообслуживания зависла. От нечего делать полазил по сервисному меню, вышел в шелл. Все работает под админом. Тачскрин пашет. Дайте мне это развидеть.

In IoT S is for security. Но я человек честный, просто бутнул.
Forwarded from Segment@tion fault
Передовые разработки автоматизации
Forwarded from какография
У меня сегодня забавный паттерн получился.

&mut &[x, ref xs @ ..]

Пояснение: это был матч на &mut &[T]. x — копия первого элемента (T), xs — ссылка на последующие элементы (&[T]).
#prog #performancetrap #article

Статья (перевод, от PatientZero, офигенный переводчик) о неожиданных причинах медленного поведения программных систем. Вы вот, например, знали, что работу макбука можно ускорить, заряжая его портом с правой стороны, а не с левой?
#prog #csharp #article

Тут вот на Хабре недавно была статья про тестовое задание, суть которого сводилось к тому, чтобы распарсить расписание в cron-подобном формате и потом иметь возможность делать к нему запросы на ближайший описываемый расписанием момент времени относительно заданного аргумента, причём как в будущее, так и в прошлое. Аффтар Автор негодовал из-за того, что он это тестовое задание выполнил, но его решение завернули без внятного фидбека, поэтому он выложил свой вариант на всеобщее обозрение. Зрелище, мягко говоря, не для слабонервных: практически нулевая декомпозиция, куча сложной логики с копипастой и if-ы с семикратной (!) вложенностью. Вдобавок, автор почему-то оптимизировал парсинг, а не получение моментов времени.

Сама задачка, однако, всё же застряла у меня в голове, и у меня были идеи, как можно красиво сделать как минимум парсинг формата расписания. К сожалению, у меня так и не дошли руки до написания кода. А вот у PsyHaste, известного в телеге, как @Psilon — дошли. Используя тот же язык, что и у автора оригинальной статьи — C# — он написал своё решение, с монатками монадками и, внезапно, обоснованным goto (который, впрочем, потребовался исключительно в силу отсутствия в C# оператора continue по метке). Вышло на редкость понятно и читаемо. Об этом он написал свою статью, которую я вас и приглашаю прочитать — и не только в силу технических решений, но и потому, что у Алекса довольно приятный слог.

(тут должна быть рекомендация блога Алекса, но его нету)
#prog #rust #parsing #article

Почему-то в блоге не было ссылки на доходчивую статью про реализацию парсер-комбинаторов на Rust с нуля. Исправляюсь: оригинал, перевод на хабре.
#prog #rust #gamedev

Движок Bevy отмечает свой первый юбилей. Для тех, кто не в курсе — это движок, который изначально разрабатывался с фокусом на производительность и быстрые итерации разработки при помощи замены кода сцен на ходу (thanks @lomain за исправление). Когда Bevy только появился, он произвёл небывалый фурор в расто-геймдево кругах, и за год оброс крутыми фичами (о которых рассказано в посте) и сменил версии с 0.1 до 0.5 — и при этом скоро выходит 0.6! Всё во имя святого Грааля игровых движков, так сказать.

Из нетехнического — автор также упоминает о том, как разросся поток информации, с которым ему пришлось иметь дело, и о том, как он немного выгорел и теперь постепенно отпускает бразды правления.
Окей, гугл, как перестать эмоционально привязываться к малознакомым людям
#prog #soc #ml

Антон разобрался в теме лучше меня, тормоза, и весьма внятно расписал ситуацию. Спасибо, Антон.
Forwarded from Generative Anton
Forwarded from Generative Anton
Недавно некоторые СМИ писали и перевсполошились, что Apple теперь будет искать снимки и видео с насилием над детьми автоматически и сообщать куда надо. Но нас интересует не эта этически-правовая сторона вопроса, а техническая реализация.

Чтобы снимки никуда не отправлялись (представьте заголовки “Apple решила собрать самую большую библиотеку медиа насилия над детьми”), это будет происходить на устройстве. Для каждой фотографии будет считаться NeuralHash. И это такой вот алгоритм (Neural как бы уже говорит про ML), который умеет не обращать внимания на кропы/шумы/вотермарки и возвращать одинаковый хеш для двух одинаковых по контенту фотографий. Работает он на удивление хорошо. В идеале: помечаешь один раз непотребство, а потом оно само начинает мониториться по хешу. Но есть проблема.

Hash в названии алгоритма отвечает, как можно догадаться, за собственно хеш изображения/контента на фотографии/называйте как хотите. Мораль истории в том, что одна из самых прекрасных вещей в хеш-функциях (даже если они Neural) — коллизии.

Умные люди поковырялись и выяснили, что оказывается для NeuralHash существует два типа коллизий: естественные и искусственные.

С искусственными все просто: есть картинка и мы на нее таким образом накладываем шум, чтобы ее хеш был равен хешу необходимой картинки. В общем это все очень старо и применялось еще в безопасности, когда зараженные файлы пытались прикинуться здоровыми, добавляя себе такие байты, чтобы хеш был равен исходному, и антивирус считал, что с файлом все хорошо. Ну и все современные Adversarial Attacks создаются таким же механизмом.

Другое дело естественные коллизии. Только в ImageNet’e их нашлось аж 2 пары: топор-нематода и гвоздь-горная лыжа. Есть даже репозиторий с обновляемым списком найденных коллизий.

Интересно, когда уже Adversarial Attacks перестанут быть маргинальными игрушками (прости, Свят) и станут серьезной дыркой в безопасности крупных корпораций. Еще интереснее, как с этим будут бороться, потому что сейчас собираются затыкать человеком с другой стороны, который глазками отсмотрит всю непотребщину, что вызывает такие же этические вопросы, как и модераторы Facebook, страдающие от депрессии и шутящие над пришедшим на модерацию суицидом.
В СМЫСЛЕ УЖЕ СЕНТЯ а не, рано
xxx: Как приятно, когда пайплайны проходят 🙂
yyy: Если ваши пайплайны проходят, это значит что мало тестов написано 8))

#трудовыебудни