Category: it

Category was added automatically. Read all entries about "it".

Программизм

Загонная охота: завершение

Пофиксил сегодня баг, о котором писал здесь.

Ошибка оказалась не в асемблере, как я думал, а в формировании байтиков. При пересчёте длины новая длина писалась немного не туда, но в большинстве случаев это прокатывало. В норме эта ошибка дала бы классический эффект записи вне выделенного буфера и привела бы к падению программы куда раньше, и valgrind бы об этом рассказал — но тут нужный буфер из соображений упаковки структуры был размером в 16 байт, а использовали первые 13. Запись в 14-й, соответственно, никого не смущала.

Отладка сожрала примерно полтора рабочих дня и оставило ощущение собственного идиотизма, которое перешло в ощущение собственной гениальности после того, как удалось найти кусок кода, в который вкралась опечатка — до того я вылизывал соседнюю функцию, пока не убедился, что она в порядке. Ну а дальше сработало всё по Конан-Дойлю — исключение всех невозможных мест указало на истинного виновника.

Давно так не был доволен. This entry was originally posted at https://beldmit.dreamwidth.org/944351.html. Your comment? (comment count unavailable comments)
Программизм

Метажизнь

Конвеевскую «Жизнь» IT-шники нашего поколения знают примерно все. Про Тьюринг-полноту «Жизни» тоже слышали.

Попались несколько красивых ссылок на эту тему, спасибо maksa за поиски.

Ролик про то, как «Жизнь» смоделировали на «Жизни». В описании видео несколько полезных ссылок.

Описание элементарной ячейки этой вот метамодели

Библиотека, которую для этого моделирования использовали

Логические элементы, построенные на «Жизни»

Тетрис средствами «Жизни»

Вообще безумно прикольно, конечно. This entry was originally posted at https://beldmit.dreamwidth.org/943147.html. Your comment? (comment count unavailable comments)
Программизм

QUIC стандартизирован

Если кто не заметил, протокол QUIC стандартизован и получил номер RFC 9000. Если его внедрят массово, это даст очень забавный эффект, который мне оценить пока слабо. Он решает проблемы быстродействия и безопасности одновременно, то есть революция будет посильнее, чем TLS 1.3, но TLS 1.3 так и не дорос до 50% сайтов за несколько лет. К сожалению, в OpenSSL QUIC пока не поддерживают (но есть ветка), в Nginx - не знаю. Как к нему прикрутить российскую криптографию, к слову сказать, никто и не думал скорее всего.

Я тем временем посмотрел, как обстоят дела с прочими RFC с тремя нулями на конце. Несколько штук пропущено, 8000 про какой-то конкретный протокол, важность которого оценить не берусь, а ещё несколько - метауровень, определение протоколов Internet в целом. Так что заявка достаточно серьёзная. This entry was originally posted at https://beldmit.dreamwidth.org/942389.html. Your comment? (comment count unavailable comments)
Программизм

И ещё про эмодзи

Ко вчерашнему посту [personal profile] alexott принёс интересную ссылку с описанием того, что там под капотом. Очень интересно, и какое счастье, что это (пока?) не моя проблема. This entry was originally posted at https://beldmit.dreamwidth.org/940473.html. Your comment? (comment count unavailable comments)
Программизм

FizzBuzz revisited

Как выжать максимум производительности из FizzBuzz на C

Любопытно, хотя я бы остановился гораздо раньше, потому что я считаю, что maintainability в норме ценнее, чем производительность. This entry was originally posted at https://beldmit.dreamwidth.org/939388.html. Your comment? (comment count unavailable comments)
Манул

Опять про атаку на Supply chain

Если кто не видел.

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

Выявившие проблему исследователи смогли выполнить свой код на внутренних серверах 35 компаний, среди которых PayPal, Micrоsoft, Apple, Netflix, Uber, Tesla и Shopify. This entry was originally posted at https://beldmit.dreamwidth.org/936169.html. Your comment? (comment count unavailable comments)
Программизм

Профайлинг

Натравил сегодня профайлер на непосещённый ранее кусок кода. Профайлер интеловский, из бесплатной версии System Studio.

VTune не показал ничего интересного. Ну да, что-то он на процессорах AMD не умеет, но то, что шифровалка бОльшую часть времени проводит, шифруя, я знал и так. Остальное оказалось в неподконтрольной мне обвязке.

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

Самое удивительное, конечно, это то, что рост производительности после оптимизации не привязан к статистике, которую выдают эти утилиты. Точнее, привязан, но странно. Ну ок, я там в одном месте транспонировал массив и получил 10% прироста производительности — вероятно, потому что какой-нибудь хитрый префетчинг в кеш, и теперь ему префетчить меньше. Тут понятно, тут надо или более другой инструмент, или пользоваться этими учиться, профайлер не показывает неоптимальный доступ. А вот там, где был хотспот, профайлер показывал 10% в этом месте, а после расчистки, пусть даже частичной, получилось ускорение на все 20. Не понимаю. This entry was originally posted at https://beldmit.dreamwidth.org/926948.html. Your comment? (comment count unavailable comments)
Манул

Новости госрегуляции

Проект о разрешении блокировки сайтов, если они сопротивляются блокировке.

Когда-то давно все адреса сайтов и страниц в интернете передавались открытым текстом. Когда в России вводили блокировки сайтов, предполагалась фильтрация по URL.

Через год после внедрения произошли разоблачения имени Сноудена, и мир быстро завернулся в HTTPS. Теперь URL уже стал недоступен и пришло время блокировки по hostname — благо оно шло открытым текстом для установления соединения, в запросе и в ответном сертификате.

Публичная доступность доменного имени тоже в некотором смысле подставляет клиента и во всех смыслах выдаёт сайт. Поэтому сейчас разрабатываются и внедряются технологии (DNS over TLS, DNS over HTTPS, Encrypted Client Hello), которые прячут от внешнего наблюдателя и hostname.

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

Что можно сделать, если есть желание. Пройти по исходной ссылке, залогиниться через госуслуги, проголосовать против. This entry was originally posted at https://beldmit.dreamwidth.org/926327.html. Your comment? (comment count unavailable comments)