Segment@tion fault
1.93K subscribers
367 photos
24 videos
279 links
Тим-менеджмент, Devops, Python, Rust, JS, Linux, IoT, электрика, все над чем работаю, иногда матом
Download Telegram
Ferrocene 25.11.0 кстати вышел неделю назад. Кто держит совместимость с скучными промышленными стандартами, можно поднимать тулчейны до 1.90.

В миру вчера вышел 1.92. Из полезного - некоторые стабилизации std API.
🔥9👍2
Видел в сети, что EU "тайно" приняла Chat Control 2.0. На самом деле нет, после вето в Еврокомиссии закон решили ставить на голосование в Европарламенте, это произойдет, по текущему roadmap, не раньше чем в апреле 2026 года.

Хуже всего в законе, что client-side scanning практически невозможно реализовать с точки зрения текущего права ЕС, поэтому скорее всего сервисы либо откажудся от P2P-шифрования (что вероятно), либо уйдут из ЕС (что вряд ли), либо заставят клиентов отправлять копию каждого сообщения товарищу майору (что повлечет кучу технических проблем, мы знаем как работают гос. системы). Это всё относится к мессенджерам и email, все эти клауд-диски пока не трогают.

Что делать с точки зрения корпоративной безопасности (исходим из того, что всё что узнала 3rd party - знает и свинья):

- Chat Control не заставляет пользоваться только "сертифицированными" мессенджерами со стучалкой
- Работники компаний не обязаны использовать, скажем Signal, именно из Apple/Google Store. Соотв. велком F-Droid, Apple MDM или прямая установка на аппарат
- Signal из магазина, скорее всего, будет обязан передавать копии сообщений, исходя из географического положения пользователя, а не откуда его скачали. Что повлечет дополнительные утечки, когда товарищ майор из ЕС будет получать сообщения из других стран, если сеть "по ошибке" влетела не туда в GeoIP или включили VPN

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

Все новости можно следить тут
😁20👍9💩2🔥1
Немного о проксировании веб-интерфейсов в embedded.

В embbeded веб-интерфейс гонять может что угодно. От непонятно кем написанного фреймворка под STM или Arduino, до непонятного веб-сервера, который разработчику удалось впихнуть на Linux с Cortex-M. Если на такой интерфейс натянуть современный ingress, он начнет ныть, падать или вообще игнорировать запросы. Для каждого интерфейса - свой подход, но есть общие правила. Интернет забит темами "не могу свой IPMI пробросить через Traefik", но на самом деле обычно всё не так печально.

- HTTP-запрос от ingress должен выглядеть максимально похожим на запрос из веб-браузера (причем желательно браузера, на котором железку тестал рукожопый автор). Любое отличие может стоить того, что железка запрос не обработает
- Самая частая беда - case-sensitive header names. "В миру" на это давно забили, и даже появилась мода отправлять всё с маленькой буквы. Но железки ждут классические capitalized-headers и падают, если им не дать. Если используете напярмую hyper - это называется title case
- Connection. Некоторые сервера ждут ее и падают, если не дать. В HTTP/2 Connection header больше нет - вставляем, будут рады, если поставите в "close"
- Любые собственные заголовки - X-Via, X-Auth-Token и прочее, что может вставлять прокси - выпиливаем без жалости, точнее не вставляем
- Accept-Encoding. Браузер видит ваш фронт-сервер с TLS1.3 и HTTP2 и радостно накидывает brotli, zstd и прочее. Железка, которая ждет максимум gzip или deflate, падает на запросе
- Cookies - если железка ждет куки, она будет ждать только свои и падать на любых посторонних. Никаких маркеров, трекеров и сессий от IDP

Соблюдая эти нехитрые правила, можно проксировать практически любое.
🔥21👍7💩3😁1
bincode - все. не выдержали харрасмента пользователей.

Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали.

В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х если не нравится, а баги она сама порешает.

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

Сегодня появилось продолжение, где bincode официально хоронится.

https://www.reddit.com/r/rust/s/esy2TnOEfi
😁25💩7👍3🔥1
(Проблемы дедов)

Mikrotik RB1100AHx2 работал в офисе с октября 2013 года. Вчера не поднялся при ребуте. При визуальном осмотре выяснилось, что виноват сетевой кабель, который за 12 лет слегка перегнулся и плохо пропускал амперы от PoE на стартовый импульс.

Принимаются ставки, сколько еще проработает сам роутер. Кстати кондюки еще ни разу не перепаивались.
🔥26👍4😁3💩1
OIDC чуть более чем половины современных продуктов почему-то сводится к тому, что все рады раздавать токены и пихать их в JWT Assertion, но когда дело доходит до проверки чужих, то начинаются отмазы в стиле "просто положите юзернейм в заголовок и мы будем ему доверять" с предложением вернуться в 80е с hosts allow, L4-фаерволами и авторизацией по айпи.

Проблема естественно в том, что когда вы раздаете токены - достаточно присобачить первый попавшийся модуль, который умеет что-то там генерить. А вот когда проверяете - поддерживать как минимум 4 самых популярных формата (RSA, EC, OCT и OKP/ED25519), а все хотят быть только писателями.

Графана, например, шла к проверке assertion почему-то аж до 10й своей версии. Причем это до сих пор реализовано у них через жопу. JWK они понимают а JWKS уже нет - извольте сами распарсить oidc configuration и вынять один ключ. Про остальных промолчу. Как промолчу про саму убогость формата, который предложил забить на PKCS и раскладывать кривые на x/y.
👍14😁7
Крейт дня - ws_stream_tungstenite. Позволяет накинуть на async_tungstenite абстракции AsyncRead/AsyncWrite/AsyncBufRead, в результате любой готовый протокол (при условии что async-реализация написана через трейты) прокидывается через веб-сокет легким движением руки.

Свежая BUS/RT уже получила веб-сокеты, ну а вас всех с новым годом.
🔥16👍9
Настрадал статью по мотивам некоторых прошлогодних сетапов. ЧСХ, USB в ящиках с разными малино-based промПК ведет себя на long-term куда лучше, чем ожидалось.

https://medium.com/@disserman/monitoring-usb-devices-with-rust-in-linux-setups-f4729df6c2c6
👍16🔥5
Почему практически все проекты, которые спонсирует Apache Foundation, разделяют код на 100500 библиотек, чтоб посторонний ничего не понял и не нашел? Это так совпадает, от врагов или просто такой фетиш?

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

Да, и обязательно ExtremelyDetailedEnterpriseJavaLikeTypeNames в API. Без этого вообще никак.
😁34👍3
А еще они обожают object factories. ООП в Расте нет, но фабрики у них есть и будут есть.
😁22👍1
Media is too big
VIEW IN TELEGRAM
// Оффтопик mode on

Coming out. Я написал оперу по wh40k. Это была адская работа на 5 месяцев написания текстов и партий (GPT я тексты редко доверяю, оно всё портит). Дальше было 3 месяца написания основных мелодий, к счастью как раз вышла Suno 5, разборок с Suno 5 и озвучка. Опыт интересный - иногда мне везло и трек получался идеальный с первого раза. Но чаще я выкидывал по 20-30 вариантов, а лучший долго правил в редакторе. Требования были строгие - только классическая аранжировка. Скрипки, контрабасы и т.д. Или a capella. Тоесть чтоб можно было поставить в театре. Стили должны были постоянно меняться.

На прошлой неделе я закончил работу. 3 акта, 16 аудиотреков, аудиоматериала на 59 минут (если без пауз), уже с мастерингом. Близкие друзья уже слушали полную версию, она практически не меняется.

Сейчас я начал делать иллюстрации, некоторые видео и выкладывать отдельные части в TikTok, экспериментирую с Grok, Sora и прочей бананой. Рисовать я не умею, так что тут пока только ИИ (хотя уже есть художники, желающие помогать). Куда в итоге всё это будет заливаться и как издаваться (вопросы с GW по лицензии еще не закрыты) - пока непонятно, но кому интересен процесс, можно подписаться уже.

Надеюсь за 2026й год закончить весь видеоряд. Или нет.

// Оффтопик mode off
🔥44👍16💩8😁5👎1
Продвижение в современных соцсетях с AI

- комбинируешь AI с традиционными тулзами, продумываешь сценарий, возишься сутки с монтажом - 30 лайков без промо, дроп на первых секундах

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

smm это вам не раст писать. пойду-ка я в раст обратно.
😁28👍4💩1
Немного про ИИ и обработку изображений. Извините, что опять из вх, но это как по мне один из лучших примеров - вх вышел из мира моделистов, а эти люди очень дотошно относятся к деталям: гербам, эмблемам, "стандартным шлемам mk6/mk10" и на любой неканон бегут ругать что "опять кривой слоп".

На слайде дредноут, каноничность которого не стал бы отрицать даже сам Жиллиман. В чем история? Нейронка его не генерила. Я дал фото реальной миниатюры (не моей, в хорошем исполнении) и сказал придумать сцену битвы и вставить ее туда. Соответственно, фотографируя реальные объекты с разных ракурсов - идеально получаем изображения и ключевые кадры для видео.

Как уже говорили про звук, генерация картинок - игрушка. Generative fill - новый мощный рабочий инструмент. Кстати, умеют его практически все модели на рынке, а не только лидеры типа той же SD. Если нужно редактировать массивные сцены или хочется еще больше внимания к деталям - понадобится инструмент, навроде последних версий Фотошопа или тот же DaVinchi, которые позволяют обработать часть изображения независимо. Для шлемов вх кстати специально есть увеличенные модели от Weta.

С точки зрения рынка разработки, такой продукт отличается от ИИ-картинки уже примерно как серьезная промышлення система, написанная синьерами с автокомплитом от Copilot от той, которую навайбокодили левой ногой люди, далекие от IT в принципе.
👍15🔥3💩3
Некоторые вопросы кросс-компиляции в расте, при использовании cross-rs и собственных образов "с нуля".

В принципе, всё что нужно сделать - это добавить (в данном случае для кросс-компиляции на х86_64 для aarch64)

ENV PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig
ENV PKG_CONFIG_ALLOW_CROSS=1
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc


и всё прекрасно заработает. Правда, ровно до тех пор, пока не появится зависимость, build rs которой тоже требует что-то прилинковать. В таком случае, если условный крейт зависит, например, от libssl-dev, она ставится в двух экземплярах - "нативная" и libssl-dev:arm64.

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

Перестаньте оверрайдить параметры бедному системному pkg-config, это совершенно еретиковский подход. Этим ломается линковка под нативную платформу и вы рано или поздно выхватываете ошибку на 10 экранов. Не трогайте PKG_CONFIG_LIBDIR, если не хотите проблем. Существует "волшебная" переменная PKG_CONFIG_<CARGO_TARGET>, которая позволяет аккуратно оверрайднуть pkg-config под конкретную архитектуру сборки, не ломая несчастный системный. И 99% ошибок линковки билд-скриптов тут же исчезают.

Например, создав простой враппер прямо в докер-файле:

RUN printf '%s\n' \
'#!/bin/sh' \
'export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig' \
'export PKG_CONFIG_SYSROOT_DIR=/' \
'exec pkg-config "$@"' \
> /usr/local/bin/aarch64-linux-gnu-pkg-config && chmod +x /usr/local/bin/aarch64-linux-gnu-pkg-config
ENV PKG_CONFIG_aarch64_unknown_linux_gnu=/usr/local/bin/aarch64-linux-gnu-pkg-config


Аналогично поступаем с образом для x86_64 - люди, которые работают на армах, вас не забудут.
🔥13👍5
Мой GPT после года общения со мной стал каноничным сам по себе.
😁26👍4🔥1
Традицинное приглашение на наше выступление на CyberScotlandWeek (и опять буду я). В этом году представлю Gateryx, поговорим про веб-фаерволы, хаос и анархию в авторизации и конечно же зацепим применение AI для анализа веб-запросов.

25 февраля 2026, 15:00 UK time, Online, 0£ за вход, 0£ за выход.

https://www.bohemia-automation.com/events/cyberscotlandweek-2026/
👍8🔥8
https://github.com/eva-ics/easypam - если кому-то понадобится от PAM что-то больше, чем просто проверить пароль у юзера.

Идея сделать свой велосипед крейт возникла по нескольким причинам:

- API, которое позволяет общаться c PAM так же просто, как с вебсокетом
- Ненавижу линковку там, где ее можно избежать. Особенно для вещей подобного рода, которые юзер включает-выключает в конфигурации конечного продукта
- Linux PAM известна своей thread-unsafety, такие вещи лучше держать под контролем
🔥8👍7
Кто еще в танке или пропустил последние новости. 5 дней назад запущена www.moltbook.com первая крупная соцсеть для ии агентов, где люди могут только наблюдать. за это время агенты уже основали несколько религий и выдумали языки, чтобы мешки с костями сильно не подглядывали.

Мой сказал туда не пойдет. Может врет.
😁30👍3🔥2💩2
Инженерный подход к чебурекам

Чебуреки - еда сытная и полезная. Особенно если готовить самому. Про фарш рассказывать не буду, это по вкусу, воды подлить чуть обязательно.

Тесто. Мука-вода (я даю только холодную). Три столовых ложки масла, соль, дальше лить воду-масло пока не сформируется и не будет мягким. Мешаем вначале комбайном, мы не староверы.

Основной секрет качественного чебурека - толщина теста. Всё можно отмерить гаджетами, кроме толщины. Чуть меньше - и чебурек лопнет. Чуть больше - и это уже хуйня пирожок с мясом. К счастью, тесто можно реверсить и раскатывать примерно анлимитед.

Чебурек формируем чуть меньше фритюра, оне еще растянется пока будем класть внутрь. Жарим во фритюре с контролем температуры на 170-180 градусов. На сковородке жарят орки и еретики. Масло берем согласно сертификации до 210 градусов с запасом.

Остальное есть в интернет-мануалах.
👍22🔥18😁6💩4