LINUX.ORG.RU

Форум

Вялые гонки

Форум — Talks

Для !Ъ: Addressing global removal race in Wayland

Для Ъ:
Композитор wayland может добавлять и убирать глобальные объекты налету. Например, таким объектом может быть второй монитор, и при его отключении возникает состояние гонки.

Вопрос к специалистам по костылестроению. А как на самом деле нужно было сделать: чтоб клиент мог крашиться из-за гонки, или чтоб в сервере могла течь память из-за клиента?

 , ,

ratvier
()

Не работает команда в терминале

Форум — General

друзья, установил kali linux в VB. Ввожу команду sudo apt update в терминал, но никакой реакции нет. Ни ошибки, ни какого-либо другого ответа. С другими командами также. Подскажите, что делать?

 , , ,

erzu
()

Блеск и нищета AI на примере LM Studio.

Форум — Talks

Ну, серьёзно. Она использует 100500 тончайших настроек, там где, используя таки ж AI-шечку, можно было б сделать настройки в виде одной кнопки «настроить оптимально на моём железе». Сапожник без сапог, блин.

 , , , ,

tiinn
()

Аппарат лазерной сварки не для завода?

Форум — Science & Engineering

Смотрю у китайцев можно за 2К USD приобрести аппарат лазерной сварки с доставкой 100 кг до двери. Он ещё и резать сталь может. Насколько это реально или обманут узкоглазые? На чём сэкономили?

https://ae01.alicdn.com/kf/S2d53b0b17d584a00bfa914265f3b8708r.jpg

 ,

foror
()

Вакансия ИТ директор инфраструктуры

Форум — Job

Ищем IT-директора, который возьмет на себя развитие технологической архитектуры компании, управление инфраструктурой, безопасностью и жизненным циклом разработки. Важна сильная техническая база: от проектирования распределенных систем и Linux-инфраструктуры до криптографии, сетей, баз данных и DevOps-практик.

Задачи Формировать и развивать IT-стратегию компании. Проектировать и контролировать архитектуру решений: SOA, event-driven подход. Обеспечивать надежность, отказоустойчивость и высокую доступность ключевых систем. Курировать вопросы информационной безопасности, включая применение криптографии, PKI, сертификатов, TLS и защищенного взаимодействия сервисов.

Управлять Linux-инфраструктурой, сетевой связностью, контейнерной средой и процессами эксплуатации. Развивать процессы разработки: Git, CI/CD, стандарты качества, безопасная разработка, контроль релизов. Участвовать в выборе и развитии технологического стека, подходов к интеграции, хранению и обработке данных.

Руководить технической командой, выстраивать процессы взаимодействия разработки, инфраструктуры и ИБ. Требования

Глубокое понимание принципов проектирования программной архитектуры: SOA, микросервисы, event-driven.

Практический опыт работы с GNU/Linux, системным программированием и администрированием Linux-сред. Уверенные знания сетевых технологий: TCP/IP, HTTP/HTTPS, DNS, TLS, UDP, настройка сетевой фильтрации и NAT. Понимание криптографии и инфраструктуры открытых ключей: шифрование, хеширование, ЭЦП, PKI, CA, X.509, CRL, OCSP.

Опыт работы с реляционными СУБД, в первую очередь PostgreSQL, и понимание NoSQL-подходов, включая Redis. Практика контейнеризации и оркестрации: Docker, Kubernetes, LXD (LXC).

Опыт построения процессов SDLC, внедрения CI/CD, управления версиями и релизами.

Знание принципов безопасной разработки и основных угроз прикладного и системного уровня (в т.ч. патчи и рекомендации ИСП РАН). Понимание принципов высокой доступности, производительности и диагностики сложных систем. Будет плюсом

Опыт работы с openssl/libssl. Навыки низкоуровневой отладки и профилирования в Linux: gdb, strace, objdump, ldd, perf, valgrind, tcpdump. Опыт сборки и сопровождения ПО в Debian/Ubuntu, знание CMake, GNU Make, debhelper, dpkg.

Знание скриптовых языков автоматизации: bash, perl, awk.

Мы ожидаем Системное мышление и способность принимать архитектурные решения. Умение совмещать стратегический уровень управления с глубоким пониманием технологий. Опыт управления командой и доведения IT-инициатив до результата. Москва, офис. Территориально Войковская или Руднёво

ТГ A215424

Почта itisfive.ru [at] gmail.com

 ,

shimajima
()

Проект cssDoom — версия Doom, использующая для отрисовки только CSS

Форум — Games

Разработчик Нильс Ленхеер представил открытый проект под названием cssDoom. Это реализация игры Doom, использующая для отрисовки графики только CSS, без применения элемента canvas и технологии WebGL.

Оригинальный текст

Текст на Habr

Github

>>> Сразу поиграть

 , ,

unclestephen
()

Warcraft Orcs & Humans Remastered Ошибка OpenGL

Форум — Games

При попытке запуска выдает

Failed to initialize OpenGL 4.6. Please check that you are using the latest graphics drivers. (Wrong version. Found: 4.3, expected: 4.6)

При том, что glxinfo | grep «OpenGL version» выдает

OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.0.3-arch1.1

Arch и встройка Intel. Помогите,пожалуйста.

 , , , ,

Dog
()

кто знает о google workspace starter

Форум — Talks

стоит 7 долларов, но в России не продается, хотя google one покупай сколько хочешь.

Собственно вопрос, если я найду способ оплатить workspace, пользоваться им я смогу только через вчс?

 ,

IvanRia
()

zlib-static vs LTO

Форум — Development

В арче имеется пакет zlib-static. Гуглю чё будет, если прилинковать его с включённм LTO. Нагуглил, что он собирается с -ffat-lto-objects, который

instructs the compiler to generate object files that contain both the standard native object code and the intermediate representation (IR) for LTO

При этом про сам zlib-static гуглится следующее:

When building it or linking against it with Link Time Optimization (LTO) enabled, adding -ffat-lto-objects to CFLAGS is required to ensure compatibility and prevent LTO-related issues.

ВОПРОС: В чём смысл этого требования? Разве если у меня при линковке включён только -flto, линкер сам не догадается выбрать IR? И что там за возможные «LTO-related issues»?

 , ,

dimgel
()

Кто в какие игры играет в 2026?

Форум — Games

Кто в какие игры играет в 2026? не обязательно новые, но интересно, в какие вообще?

 

rasonatention1
()

Похоже я нащупал как обуздать Firefox и скармливать ему чуть-чуть памяти

Форум — Desktop

Фокс конкретно достал своим прожорством. Шестнадцать гигов, а я постоянно вижу как всё свапится из-за этого гада. (и не гыкайте мне тут, все браузеры ведут себя одинаково) Ладно бы я что-то сложное делал. Но он явно не отпускает страницы из памяти, хотя уже и выставил кучу всяких уловок. Но вот что мне не давало покоя - этот гад видит сколько в компе памяти и не собирается останавливаться пока не выжрет всё. В результате все программы должны по стеночкам обходить. А тут вы со своими спорами про systemd. И придумал я гадкое, засунул фокса в персональную группу с ограничениями. Сделал так: Создал директорию ~/.config/systemd/user/app-firefox@.service.d/ В ней файл override.conf со следующим содержимым

[Service]
MemoryHigh=1.5G
MemoryMax=4G
MemorySwapMax=0

Перезапустил всё и стало хорошо на душе, фокс стоит на полтора гигах, как вкопанный. Но только включил ютуб, переключился на другое окно с другой вкладкой в другом фоксовском контейнере и всё дико тормозить стало. Я поднял до 2.5G, стало полегче, но всё равно, дойдёт до черты и тормоза лютые сразу. И тут я понял, что он смотрит куда-то в meminfo насчёт доступного рама, но не видит ограничений системды. И поэтому сходу влетает в ограничение, полагая, что все 16 гигов его. Тогда я создал фейковый ~/.fake_meminfo в домашней папке где заменил MemTotal: 4194304 kB и произошло чудо. Всё стало вполне сносно. Но вдруг внезапно он стал падать после нескольких видео на ютубе. Видимо недостаточно я ему наврал. Тога я попросил у ИИ сгенерить meminfo чтобы было похоже, что мы подходим к границе доступной памяти. Вот такой файл ~/.fake_meminfo в итогу получился

MemTotal:        4194304 kB
MemFree:          350000 kB
MemAvailable:     512000 kB
Buffers:           50000 kB
Cached:           600000 kB
SwapCached:            0 kB
Active:          2500000 kB
Inactive:         800000 kB
Active(anon):    2000000 kB
Inactive(anon):     4000 kB
Active(file):     500000 kB
Inactive(file):   800000 kB
SwapTotal:      15580020 kB
SwapFree:       15580020 kB
Dirty:              1000 kB
Writeback:             0 kB
AnonPages:       2000000 kB
Mapped:           400000 kB
Shmem:            150000 kB
Slab:             300000 kB
CommitLimit:    22656768 kB
Committed_AS:   15171448 kB
DirectMap4k:      800000 kB
DirectMap2M:     3000000 kB

а файл override.conf стал таким

[Service]
MemoryHigh=2.5G
MemoryMax=4G
MemorySwapMax=0

# "Обман" - подмена файла для Firefox
BindReadOnlyPaths=/home/pchelobiaka/.fake_meminfo:/proc/meminfo

И… иии… вроде работает. Полноценный Фокс с контейнерами, по собственной воле держит около 2 гигов и не больше.

Спешу поделиться наблюдением. Пробуйте кому интересно. И может что дельное подскажете.

Впервые в жизни придумал как использовать systemd. Хоть и можно было без него, но раз уж он есть, то пусть хоть что-то делает для меня полезное.

Upd.: Важное дополнение. При рассчёте занимаемой памяти я беру не просто размер процесса firefox, но суммы всех процессов фокса вместе взятых. Как оказалось люди не поняли сразу и пфыкают :)

 , , ,

PcheloBiaka
()

для модератора в чем флуд на сайте ЛОР?

Форум — Linux-org-ru

написал ответ в тему на сайте ЛОР: Какую звуковую карту в PCIe 4.0 с 5.1 выходом купить для Linux?

Ответ на:

Спасибо. Интересно. Записал. Sound BlasterX AE-5 Plus

Пока кажется, что не смогу уговорить жабу на 16 000 рублей. Но может быть. Toxo2 ★★★★★ (12.03.26 16:15:10 GMT+04:00) автор топика Удаленный комментарий: Сообщение удалено Dimez по причине 4.7 Флуд (-7)

Пока кажется, что не смогу уговорить жабу на 16 000 рублей. Но может быть.

я написал:

ну так ты купи просто второй комп с интегрированной реалтек шд за 2-5 тыс руб и не парься вообще… как будто есть лучше… (или есть?)

тема новая, ответ вроде бы нормальный, почему флуд? меня специально пытаются завезти под бан? почему? нормальный же ответ и решение?

Перемещено CrX из general

 

rasonatention1
()

Стоит ли начинать занимать embedded разработкой в 2026 году?

Форум — General

Стоит ли начинать занимать embedded разработкой в 2026 году? Если да то какие ресурсы использовать для обучения? Купил esp32 devkit v1 и много разных датчиков)

 

justmson
()

Существует ли опенсорс аналог Spring для С++?

Форум — Development

«Ну кроме того, что это модно-стильно-молодежно, могу сразу сказать, что как только вы им хоть немного овладеете — вы поймете сколько всякой разной работы вам теперь не приходится делать, и сколько всего берет на себя Spring. Можно написать пару десятков строк конфигов, написать парочку классов — и получится работающий проект. Но как только начинаешь задумываться сколько там всего находится «под капотом», сколько работы выполняется, и сколько пришлось бы писать кода, если делать такой же проект на голых сервлетах или на сокетах и чистой Java — волосы встают дыбом :)»

Прочитал я это и задался вопросом $subj.

Для шарпа существует Spring.NET.

 ,

Lusine
()

Два socat-а как сделать?

Форум — Admin

Что-то вроде следующего хочется получить:

socat TCP-LISTEN:30010,bind=192.168.0.1,reuseaddr,fork TCP:127.0.0.1:20010
socat TCP-LISTEN:30011,bind=192.168.72.1,reuseaddr,fork TCP:127.0.0.1:20011

То есть, чтобы все что валится на 30010 порт по адресу 192.168.0.1 редиректилось на 127.0.0.1:20010, а на 30011 порт по адресу 192.168.72.1 на 20011 порт локалхоста.

По отдельности каждая из команд нормально работает, но если завести одну, а потом другую (в любом порядке), то сообщение, что «Cannot assign requested address»

Возможно какой-то правильный синтаксис нужен в bind= и fork

Это вообще можно сделать?

 ,

praseodim
()

Vimium в Трекере

Форум — Linux-org-ru

Привет! А можно попросить кого-нибудь починить в трекере возможность ходить по ссылкам тредов?:)

А то сейчас вимиум генерит переходы только в разделы - https://disk.yandex.ru/i/pkw5SBq1xeo8xg

 

mega_venik
()

Golang HTTP Middleware

Форум — Development

Пошаговая инструкция понимания Golang HTTP Middleware.

Вариант №1:

  1. Надо представить сервер как процесс с STDIN/STDOUT.
  2. Надо понять что STDIN/STDOUT обслуживаются объектами созданными по лекалу интерфейсов. И названными r/w. Ну и порядок перевернут w,r в сигнатуре.
  3. Вот ту ключевое - обрабатывается ОДНОЙ ФУНКЦИЕЙ которую вызывают. ТОЧКА.
  4. А дальше расширить понимание, что Эту функцию можно вызывать каскадом.
  5. И последнее уже переходное, то MiddleWare КОНСТРУИРУЕТ функцию. По этому каждый этап MiddleWare Возвращает валидный ServerHTTP! Который либо Пишет сам. Либо завет чужой хендлер по замыканию.

Вариант №2:

  1. Представить HTTP сервер как UNIX Процесс с STDIN/STDOUT.
  2. Понять что STDIN и STDOUT обрабатываются через инстансы созданные по «чертежам интерфейсов». STDIN - Resquest, STDOUT - Response. (STDIN=Request=Read):(STDOUT=Response=Write).
  3. Запрос обрабатывается одной функцией. Точка.
  4. Расширить понимание, функцию можно вызывать каскадом.
  5. Middleware не функция для вызова, это функция которая ВОЗВРАЩАЕТ функцию для Вызова.

🎆 Отливаем в бронзе, лаконичная формула от Qwen:

Middleware в Go — это не хук. Это фабрика функций.

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

🎆 От ChatGPT:

Middleware в Go — это не механизм перехвата, а функция высшего порядка, которая принимает handler и возвращает новый handler, формируя цепочку через замыкания и управляя моментом вызова следующего обработчика.

🎆 От DeepSeek:

Middleware в Go — это не цепочка вызовов. Это фабрика, которая конструирует один метод ServeHTTP как матрёшку из замыканий, где каждый слой хранит ссылку на следующий в своей области видимости.

🎆 От Grok:

Middleware в Go — это фабрика функций. Она принимает http.Handler, возвращает http.Handler, а внутри через замыкание решает, когда и как вызвать следующий (или прервать цепочку). Это не «добавление хука». Это оборачивание одного обработчика в другой, создающее конвейер (pipeline).

📀 P.S.

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

type HandlerFunc func(http.ResponseWriter, *http.Request)

func (f HandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    f(w, r)
}

По этому функцию можно приводить к типу этого интефейса Hanlder. Изюминка заключается в том, что http.HandlerFunc(hello) - это не вызов метода. Это приведение к типу (type conversion) HandlerFunc.

🎆 Полировка от DeepSeek:

Благодаря http.HandlerFunc любую функцию с сигнатурой (ResponseWriter, *Request) можно привести к типу http.Handler, что делает оборачивание элегантным и типобезопасным.

🎆 Полировка от Qwen:

http.HandlerFunc(f) — это статический адаптер, который превращает функцию в объект, реализующий интерфейс, через навешивание метода на тип-функцию.

🎆 Полировка от ChatGPT:

В выражении http.HandlerFunc(hello) происходит приведение обычной функции к функциональному типу HandlerFunc, что позволяет этому значению получить метод ServeHTTP и тем самым реализовать интерфейс http.Handler.

🎆 Полировка от Grok:

http.HandlerFunc — статический адаптер, который позволяет любой функции с правильной сигнатурой стать http.Handler и участвовать в этой цепочке.

Middleware в Go — это фабрика функций.

Она принимает http.Handler, возвращает http.Handler, а внутри через замыкание конструирует новый ServeHTTP, который решает, когда вызвать следующий слой.

Это не «добавление хука», а оборачивание одного обработчика в другой, создающее гибкий конвейер (pipeline).

📀📀 P.P.S.

Что еще важно, так как в итоге ServeHTTP метод который вызывается для обработки запроса представляет собой наслоение замыканий «кольцами», то из любого кольца можно принят решение о немедленном выходе, ни погружаясь дальше. Вот так вот изящно формируется в Golang единственная функция обработчик, которая в себе имеет сколь хватит памяти уровней, и к каждый уровень это Middleware или отдельный метод. Метод либо прерывающий цепочку и отвечающий в http.Response, или вызывающий следующий метод, переходя в новый слой.

🎆 Полировка от Qwen:

Middleware в Go — это управляемый конвейер с возможностью аварийной остановки. Каждый слой обладает полным правом вето: он может обработать запрос самостоятельно и завершить цепочку, не беспокоя следующие уровни.

🎆 Полировка от DeepSeek:

В итоге формируется единая функция-обработчик, которая в себе содержит сколько угодно уровней логики, а каждый уровень — это либо точка остановки, либо переход на следующий уровень.

🎆 Полировка от ChatGPT:

Итоговый ServeHTTP — это одна функция, собранная как композиция вложенных замыканий (цепочка middleware), где каждый слой принимает решение: вызвать следующий обработчик или завершить обработку немедленно.

В Go HTTP middleware формирует один итоговый обработчик через композицию замыканий. Каждый слой получает управление и решает: вызвать следующий обработчик или завершить обработку, сформировав ответ. Таким образом, вся цепочка — это одна функция с контролируемым потоком выполнения.

🎆 Полировка от Grok:

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

🐳 Итоговая формула (собранная из цитат) от DeepSeek:

Middleware в Go — это не цепочка вызовов и не система перехвата событий. Это фабрика, которая конструирует единый метод ServeHTTP как 🪆 матрёшку из замыканий.

 , ,

lbvf50txt
()

Перераспределение размеров разделов диска на OpenWRT роутере

Форум — General

Всем привет. Помогите пожалуйста. Проблема такая. Был у меня роутер билайн 128мб RAM и 128 мб flash. Размеры Storage: Disk space и Temp space примерно поровну 60мб. Всё бы ничего да захотелось роутер помощнее. Взял WAX206. Там 256 flash и 512 ram. Установил openWRT и такое разочарование… Disk space всего 17мб, зато Temp space 244мб. На 17 мб не поставишь что-то весомое. И usb нет у этого роутера. Можно ли как-то передвинуть размеры, уменьшить Temp и увеличить overlay?

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 5.0M      5.0M         0 100% /rom
tmpfs                   244.0M      1.8M    242.3M   1% /tmp
/dev/ubi0_1              17.0M      1.6M     14.5M  10% /overlay
overlayfs:/overlay       17.0M      1.6M     14.5M  10% /
tmpfs                   512.0K         0    512.0K   0% /dev
root@OpenWrt:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mtdblock0    31:0    0  512K  1 disk 
mtdblock1    31:1    0  256K  1 disk 
mtdblock2    31:2    0  512K  1 disk 
mtdblock3    31:3    0  512K  0 disk 
mtdblock4    31:4    0    1M  1 disk 
mtdblock5    31:5    0   38M  0 disk 
mtdblock6    31:6    0    6M  0 disk 
mtdblock7    31:7    0   32M  0 disk 
mtdblock8    31:8    0   38M  1 disk 
mtdblock9    31:9    0    8M  1 disk 
mtdblock10   31:10   0    4M  1 disk 
mtdblock11   31:11   0    1M  1 disk 
mtdblock12   31:12   0    4M  1 disk 
mtdblock13   31:13   0    2M  1 disk 
mtdblock14   31:14   0    1M  1 disk 
mtdblock15   31:15   0    1M  1 disk 
mtdblock16   31:16   0    5M  1 disk 
mtdblock17   31:17   0    1M  1 disk 
mtdblock18   31:18   0  6.3M  1 disk 
ubiblock0_0 254:0    0  5.1M  0 disk /rom

 ,

supercelt
()

CVSS 9.8 в Telegram

Форум — Security

Что-то совсем печальное нашли в Telegram

ZDI-CAN-30207

 ,

Belkrr
()

Что там с github'ом?

Форум — Development

Несколько лет как удалил там аккаунт, сейчас думаю закинуть туда один свой пет-проект. Краем уха слышал, что там появился не отключаемый ИИ который автоматом ищет ошибки, и автоматически создаёт issue, при том что часто там нет ошибок. Правда ли? И если да, то на сколько всё плохо?

 

Taetricus
()

RSS подписка на новые темы