rxd_txd
301 subscribers
505 photos
31 videos
22 files
2.79K links
Download Telegram
Forwarded from Performance matters!
CPU Isolation: исследование в шести частях о применение техник CPU Isolation для задержкочувствительных нагрузок.

Недостаточно просто выгнать все процессы, кроме целевого, с ядра с помощью cpuset и привязать его к CPU через taskset. Надо не забыть и о фоновых задачах ядра, т.н. housekeeping work.

Housekeeping work – это совокупность фоновых операций, которые ядро Linux выполняет для поддержания своей внутренней инфраструктуры. Эти задачи включают обработку таймеров, обновление системного времени, управление очередями отложенной работы (workqueues), обработку прерываний, очистку ресурсов и прочее. Несмотря на то, что они обычно незаметны для пользователя, именно эти операции обеспечивают стабильность и корректное функционирование всей системы.


Оборотной стороной housekeeping work является то, что она привносит непредсказуемые задержки (jitter), прерывая выполнение пользовательских задач.

Борьба с этими задержками и есть центральная тема цикла.
1
Forwarded from Дзен-похуизм
👍2
Don’t become a forever junior who lets AI do all their work. If you want to become a programmer, learn to program yourself. Be curious, put in the time and effort to learn how things really work, and how things work in the layer below that. It really pays off. Learning how everything works under the hood and using that is amazing, just keep learning, don’t be a prompt engineer (if you can even call that engineering). Believe me, it’s more fun to be competent9.

Even though AI might be smarter than you, never blindly trust the AI output. Don’t build your whole workflow around it. Sometimes try to work without it for a few days. The better at programming you are, the more AI will get in your way for the more complex work.

If you learn to code now, keep building your skills instead of letting AI do all the heavy lifting, you’ll be capable of fixing the messes that vibe coding is now creating. I don’t want to sound elitist, but if you don’t want to learn to go beyond vibe coding, maybe coding isn’t for you. Because positions where all work can be done by vibe coding are the ones that will be eliminated first when AI becomes more powerful.

And remember: if you cannot code without AI, you cannot code.

Why I stopped using AI code editors
https://lucianonooijen.com/blog/why-i-stopped-using-ai-code-editors/
Forwarded from linkmeup
В эфире ваша любимая рубрика "С умным видом учим молодых фичам линукса и делаем вид, что всё это и так уже знаем".
Сегодня изучаем/вспоминаем про hidepid. Фичу, позволяющую прятать процессы от других пользователей.
Зачем? Ну, например, чтобы не палить всякие аргументы запуска. А то любят некоторые ключи API указывать, пароли и так далее.

https://www.cyberciti.biz/faq/linux-hide-processes-from-other-users/
Forwarded from linkmeup
Выступавший у нас как-то Дмитрий Путилин поделился, что пишет манускрипт не для слабых духом о том как собрать kubernetes не используя автоматику, но чтобы продакшн реди и прям как у взрослых.
Так что если скучаете по километрам конфигов и чтоб всё ручками, то вам сюда:
https://docs.b-cloud.online/blog/kubernetes-the-hard-way/
Forwarded from IT Friday (Sabbath)
DevOps Topologies - отличная статья про паттерны и антипаттерны ДевОпс команд от создателей Team Topologies. Причем в жизни оно не обязательно так, конкретной вашей модели может тут и не быть, но признаки указанные в статье могут присутвовать, как хорошие, так и плохие. Интересно сматчить свою команду с тем, что в статье 😏
Мне, например, не хватило модели DevOps как внутренний сервис - гибридная Enabling / Platform Team, которая делала платформенные инструменты и разносила бы добрые практики, не замыкая на себе и не изолируя себя от команд разработки и эксплуатации
https://devopstopologies.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from commit -m "better"
#gold

> Одмен, а в чем прикол делать дистр с фулл статик линковкой? У тебя пост на канальчике про это есть какой-нить?

У меня про это много чего написано, достаточно погрепать канал по "статическая".

В целом, аргументация такая:

* динлинковка - это вынужденная мера, появившаяся, когда у компухтеров было мало памяти
* динамическая линковка - сложнее, тулинг хуже (санитайзеры требуют, чтобы почти весь код (кроме того, что перехватывается), был собран статически, отладчик работает хуже, код ходит через GOT/plt, а не напрямую).
* динамическая линковка - сложнее, например, во взаимодействии с другими системами (fork(), threads, tls, etc)
* динамический загрузчик - сложный, а еще он suid, есть известные проблемы с безопасностью
* плагины лежат хз где, и часто их не хватает, потому что приложения не могут сказать, чтобы в gstreamer был такой-то #plugins
* в целом, загружать в runtime сторонний код в свое приложение (не в песочнице) - очень странная идея, потому что CI с ним, у вас, скорее всего, не было, и как он будет ездить по вашим данным - неизвестно. Для плагинов сейчас норм решение - #WebAssembly в песочнице, или там https://github.com/libriscv/libriscv
* code bloat, больше поверхность для rop
* #ABI - это бич C/C++
* #perf - 5 - 10% CPU на дороге не валяются
* динамически слинкованные бинари дольше запускаются

В общем, я не за статлинковку, я против динамической.

Статлинковка простая, как 5 копеек, и современные окружения (go, rust) это понимают.
Forwarded from Опенград
Честно говоря, давно я такую духоту во время написания не испытывал. В какой-то момент даже пожалел, что зашел на территорию безопасников и всего, что с этим связано. Хотя тут ничего такого из ряда вон и не было представлено. В общем в этот раз поговорим про подписание образов: немного теории для начала, а потом обзор на два, как мне кажется, самых популярных или распространенных инструмента для подписи образов (DCT не в счет). Без каких-либо интеграций, потому что сама статья и так вышла больше, чем я планировал, но вот как-то так.
📎 А вы знали, что в файле authorized_keys можно не только хранить ключи, но ещё и указать команду, которая будет выполнена при подключении, и даже описать условия, при которых команда будет выполняться?

Небольшая заметка по этому поводу - Using ~/.ssh/authorized keys to decide what the incoming connection can do...

https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/

#ssh #будничное
🤔2
Forwarded from Sijeko Tech
Консольное Линукс-открытие недели — multitail!

Удобно, когда у вас несколько процессов в разные логи пишет, и надо сразу все файлы видеть в реальном времени.

Например, в данном случае, мои четыре файла откроются в две колонки и два ряда.
multitail -s 2 storage/logs/queue-default-{1,2,3,4}.log


https://vanheusden.com/multitail/
https://github.com/folkertvanheusden/multitail

Раньше эмулировал это просто разбивая вкладку терминала на сколько мне надо кусочков и запуская по одиночному tail в каждом из сплитов, но одной командой удобнее.

В Дебиане/Убунте устанавливается как обычно: sudo apt install multitail
Forwarded from Код и Капуста
croc

Инструмент для простой и безопасной передачи файлов и папок между любыми двумя компьютерами. Насколько мне известно, это единственная консольная утилита для передачи файлов, которая поддерживает все перечисленные возможности: позволяет передавать данные между любыми устройствами через релей, обеспечивает сквозное шифрование с помощью PAKE, работает на всех основных платформах (Windows, Linux, Mac), поддерживает передачу нескольких файлов одновременно, возобновление прерванных загрузок, не требует настройки локального сервера или проброса портов, использует IPv6 с автоматическим переходом на IPv4 при необходимости, а также может работать через прокси, например Tor.

#golang #utils

https://kodikapusta.ru/news/15l5-croc
Forwarded from Код и Капуста
bore

Это минималистичный инструмент на Rust, который пробрасывает локальные порты на удаленный сервер, обходя NAT и фаерволлы. Ничего лишнего — только быстрый и надежный туннель без лишней магии.

#rust

https://kodikapusta.ru/news/vjd8-bore
Forwarded from Bash Days | Linux | DevOps (Роман Шубин)
Придёт серенький OOM и выебет тебя нахуй!

Сегодня поиграем в операционную систему. Ну как проиграем, ты сам примеришь шкуру операционной системы и попытаешься выжить.

Движуха называется «You are the OS».

Суть — ты отправляешь процессы на исполнение в доступные процессоры. Если не хватило памяти, отправляешь процессы на диск. Если что-то сделал не так — тебя выебали и высушили перезагрузили!

Поначалу нихуя не понятно, но спустя пару минут въезжаешь что нужно делать, этакий сапёр. Мой рекорд аптайма 50 секунд, не быть мне операционной системой.


Всё просто! Летс го 👇

https://plbrault.github.io/youre-the-os/

🛠 #games

@bashdays / @linuxfactory / @blog
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Forwarded from Ever Secure (Aleksey Fedulaev)
Друзья, это свершилось! 😱

Честно? Мы сами до конца не верили, что этот день настанет... но она — в печати!
Да-да, наша книга теперь существует в реальном, бумажном формате 📖🔥

Уже завтра мы забираем первую партию, и поверьте, она выглядит круче, чем мы ожидали!
А совсем скоро вы тоже сможете её заказать — предзаказ уже на подходе 👀

Следите за новостями, будет кое-что интересное… Может быть, даже небольшой сюрприз для первых заказов?🤔

👀@ever_secure
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2