Does Jesus Love Technologies? – Telegram
Does Jesus Love Technologies?
270 subscribers
64 photos
1 video
4 files
57 links
Персональный блог с техническим уклоном.
Контакт: https://news.1rj.ru/str/t43RRY
Download Telegram
Как же круто, когда с обновлением Gnome стягивается новый монитор! Очень приятно 😍
🎉7
Does Jesus Love Technologies?
Нет, я знал, что boost частично разрабатывают не иначе как no-life аутсайдеры, но это уже вопиющее ЧСВ. Морозить PR 2 недели от 2х людей, чтобы потом скопировать изменения, которые были предложены и залить их ПОД СВОИМ именем, да еще и НЕПРАВИЛЬНО, это конченый…
Я уж было думал, что это конец истории, но нет!

https://github.com/boostorg/process/pull/378#issuecomment-2436521784

Почти полгода висел мой PR, про который я забыл и забил - почти полгода! 🤡 Как тут объявляется Клеменс Моргерштерн, снова заливает мой патч под своим именем и просит протестировать его изменения. 🤡 Я-то протестирую, мне эти изменения нужны, но пусть сначала в baseline vcpkg протащит. В общем, через полгода и поговорим.

Определенно хорошо то, что они, изменения, хотя бы произошли, но отменяет ли это факт, что Клеменс ведет себя как клоун?
Please open Telegram to view this post
VIEW IN TELEGRAM
💩2
Поздравьте меня с малварой на сервере!
😐3
Does Jesus Love Technologies?
Поздравьте меня с малварой на сервере!
Штош, это было быстро и неинтересно..

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

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

Основная причина: кривая конфигурация постгри
Контейнер: 6c6e1ad36106 postgres:14.1-alpine

Какая симптоматика?

- Утилизация CPU 100%
- Процесс из memfd, куда же без него
- Дерево процессов: /var/lib/postgresql/data/postmaster -> /tmp/cpu_hu -> memfd

Что нагуглил:
- https://habr.com/ru/articles/810591/
- https://www.aquasec.com/blog/pg_mem-a-malware-hidden-in-the-postgres-processes/
- https://vms.drweb.ru/virus/?i=25889632
🔥1
Давно ничего не писал, не было ни идей, ни времени, но вот теперь есть повод. (идеи тоже есть, но о них позже).

Недавно я получил первый патент, принимаю поздравления. Сам патент TLDR, да и технический-юридический язык нечитаемый, поэтому вкратце о том, что было придумано и запатентовано.

Так как я являюсь разработчиком EDR, приходится иметь дело с сотнями тысяч событий в минуту, а иногда в несколько секунд. Далеко не все события можно логически отсеять просто не собирая, так как они попадают в логическую группу событий, которую нельзя исключать. Чаще всего это спам от забикса, кубера, баз данных и прочего серверного софта, который делает уж очень много того, что так же может делать и любой другой процесс. Само собой серверная часть такое количество событий тоже не очень любит, так как их приходится хранить, индексировать, обрабатывать детектирующей логикой и так далее. Да и у бекенда к тому же таких хостов не одна сотня тысяч. Приходится выкручиваться.

Когда-то давным-давно мы использовали JSON как формат событий, с ним было много проблем, но главной была то, его нужно парсить. Потом перешли на protobuf, который тоже нужно парсить, но делать это можно кратно быстрее. Храним мы все события в БД, которая поддерживает KQL и тут до меня дошло, что и protobuf из запросов KQL имеют AST, которые можно друг на друга наложить и тут понеслось. Что если выполнять фильтрацию событий по KQL выражениям прямо в рантайме и до того, как событие будет отправлено на сервер?

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

Очень хочу написать обо всем подробно, так что если интересно, то ставьте 👍 (или не ставьте, а я всё равно напишу).

Посмотреть на патент можно по ссылке
1👍31
Сходил на этот ваш, как его... Хайлод++

Впечатления смешанные, особенно если брать во внимание ценник за билет за 100к. Очень много докладов было либо про склеивание в разном порядке разных баз данных и готовых решений, либо сводилось к "не пишите HTTP запросы в контексте транзакции". В общем, после первого идти на второй уже не хотелось. И да, я понимаю, что это не мой профиль, но, как мне кажется, не обязательно заниматься делом, чтобы о нем было интересно слушать, так как интерес вызывает не сам технологический стек, а человеческая идея, мысль, интеллектуальный труд. А тут рассказывают то, что может посоветовать GPT и гугл.

Но это всё про первый день (с исключениями), но вот второй! В общем, просто оставлю здесь сочные доклады, на которых удалось побывать и какие-то свои мысли.

- Как понимание работы RAM ускорило на 30% пакетный шлюз 4G/5G-сетей и позволило обрабатывать 4M пакетов в секунду на одном ядре и 100 Gbps на NUMA node. Это просто превосходный доклад, такие работы вдохновляют. Человек показал, как скрупулезная отладка, простая (нет) prefetch инстукция, выравнивание по кешлайнам и алгоритмы могут без всяких там корутин распараллелить обработку данных на одном ядре. Результат - ускорение работы там, где я бы даже не подумал, что можно ускориться. Рецепт не универскальный, но запомнить стоит: берем профайлер (Intel vTune), смотрим количество тактов CPU на горячем месте, которые потерялись во время трансляции адресов из-за DRAM cache miss, делаем prefetch перед обращением к памяти, выравниваем всё по кешлайнам и наслаждаемся. Кстати, там был еще похожий доклад от гарды, они решали ту же задачу, но ускорялись за счет векторных инстукций.
- Хайлоад на ровном месте. Крутой доклад для чайников вроде меня, которые знать не знали как работать с БД нормально, прям гайдлайн по "бест практис". Подача спикеров отменная, даже немного театральная (хотя кому-то 100% пришлось не по вкусу), было интересно.
- Поймай меня, если сможешь: эффективный поиск региона, к которому принадлежит точка. Вот тут было прикольно заняться ментальной гимнастикой и помять мозги над задачей, с которой в жизни бы не столкнулся. Честно говоря, у меня есть сомнения в "максимальной эффективности" представленного. Осталось ощущение "недоделанности", есть мысли, как сделать быстрее. Но вот следить за ходом мысли спикера нравилось, да и задача интересная (по крайней мере для меня).
- Perforator: всеядный распределенный профилировщик. Вкуснятина, а не доклад. В отличии от всех докладов яндекса про склеивание очередной кафки с YDB и чего-то там еще, тут рассказывалось про что-то принципиально новое. Ребята придумали как снимать perf в промышленных масштабах без сильного влияния на производительность приложений и системы. Под всё это дело они запрягли eBPF, придумали свой DWARF (доработали GSYM), символизатор... и там вообще много всего. Советую ознакомиться с продуктом. А еще они там еще статью написали, которая по факту и есть весь доклад, тоже очень рекомендую (меня купили за футболку). Так же рад, что лично получилось немного пообщаться с парнями, они реально крутые,

Это не всё, что мне понравилось, а лишь то, что хотелось бы выделить. Стоило ли платить 100к (моей компании) за ~30% КПД - вопрос. Может, просто реально не мой профиль. С другой стороны для меня это как минимум свежий воздух, так как в основном я варюсь в ИБ. Да, я узнал что-то новое, да, эти знания уникальны в своем роде и вряд ли бы я на них наткнулся в готовом виде, и да, я могу их применять, но тот факт, что их приходилось искать с лупой на профильной конфе немного расстраивает. Как пример я тут вставлю SysConf, где сложность информации и ее крутость в каждом докладе была в среднем сильно выше медианы на хайлоде. Я уж молчу про ламповость самой конфы.

В любом случае, полученному опыту рад.
1👍84🔥3
Does Jesus Love Technologies?
Давно ничего не писал, не было ни идей, ни времени, но вот теперь есть повод. (идеи тоже есть, но о них позже). Недавно я получил первый патент, принимаю поздравления. Сам патент TLDR, да и технический-юридический язык нечитаемый, поэтому вкратце о том, что…
В целом, тут всё то же, что и в тексте патента, но человеческим языком. Рассказываю, как работает KQL фильтр в нашем продукте.

Затравочка: это не единственный патент. Остальные в процессе регистрации и рассказывать я о них не могу. Там тоже крутые технологии, которые мы применяем для работы с большими потоками данных. В ближайшее время, надеюсь, о них тоже получится рассказать :)

UPD:
Затравочка 2: больше крутостей вокруг этой технологии я планирую рассказать на конференции уже в следующем годy. Будет мясо.
🔥73👏1