LINUX.ORG.RU

Избранные сообщения snake266

FireJail — краткое и ознакомительное практическое руководство

Статьи — Desktop
FireJail — краткое и ознакомительное практическое руководство

Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.

Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.

( читать дальше... )

 , , , ,

LINUX-ORG-RU
()

кто использует tree-sitter?

Форум — Development

Заметил, что очень многие сидят на надёжных, старых конфигурациях своих редакторов, vim и emacs.

В Neovim решили пойти по пути унификации и внедрили, кажется, с 4й версии tree-sitter.

В Emacs с тормозами, но впилили с 29 версии.

Результат впиливания в Emacs: все major modes идут на юга отдыхать (не нужны). Даже с csharp-mode, который приняли в ядро в 29 версии смешно получилось. Tree-sitter выполняет все задачи, описанные в этом примере.

С чем столкнулся я. Примеров в сети на данный момент практически нет, документация недооформлена, приходится обращаться к остаткам доки замороженных проектов, перенесённых в основную ветку разработки (привет Eglot и команды (или названия) для установки lsp сервера).

В сообществе Neovim с этим более чем полный порядок. Правда тут меня напрягает legacy и ублюдочный синтаксис конфига из-за vim. может после 0.11 версии станет легче, не знаю. И нам, осьминогам, Emacs ближе за возможность поменять всё на свете, даже Cthulhu!..

У кого есть истории успеха? Хорошие, годные статьи и (или) примеры конфигов с новыми фишками 29 версии? Их что-то маловато или я не там ищу.

 ,

Neuromagus
()

Процесс в userspace, возврат из ядра иногда задерживается

Форум — Development

Есть некий драйвер, который ловит прерывания с периодичностью несколько десятков миллисекунд, и судя по time stamp в логе dmesg, делает это очень надежно и регулярно, очень точно с точностью до десятков микросекунд

В ядре используется wait_queue_head_t, в обработчике прерывания wake_up_interruptible, далее wait_event_interruptible, после чего userspace процесс просыпается

Вот иногда в 1% случаев, оно делает это слишком поздно, мне надо успеть за 100-150 мкс, а оно в такие моменты может даже до миллисекунды скакнуть это время ожидания. А когда всё хорошо, оно успевает за 50 в среднем мкс, иногда за 115 что тоже нормально

Пробовал ставить nice -n 0, лочить процесс на ядро taskset -c. И ничего не помогло не улучшило ситуацию

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

Я так понимаю, это ядро просто не всегда хочет будить процесс в userspace?

Уже и nice использовал, что еще можно попробовать, чтобы сказать системе - вот это важные процессы в системе, их нельзя обижать и выгружать, вытеснять и так далее? Что мне все равно что будет со всеми прочими программами в системе

Как объяснить - вот эта программа это VIP, это священный процесс, он всегда должен быть бодряком. Ядро ради него отдам, два, три! Как то так

 , ,

I-Love-Microsoft
()

VDS за границей, оплата из РФ - 2023.

Форум — Admin

Как? Российские типа timeweb не интересуют, т.к. могут случайно или из-за санкций перекинуть на хостинг тут.

 , ,

c0unt0
()

Как кушать вилкой. ... или о fork() в двух словах

Статьи — Разработка

Статья о создании процессов в Linux

( читать дальше... )

 

PPP328
()

60 антипаттернов для С++ программиста

Форум — Development

Постоянно писать «как делать правильный код» надоедает. Поэтому для разнообразия и развлечения написал мини-книгу «60 антипаттернов для С++ программиста». Этакие вредные советы в духе «Книга для непослушных детей и их родителей».

На самом деле там, не только вредные советы, но и разбор почему они собственно вредны. Будет полезно почитать новичкам в программировании. Думаю, каждый знает кого-то, кому будет полезно почитать этот материал :). Впрочем, опытные программисты тоже смогут найти интересное для себя и узнать/освежить знания про некоторых тонкие моменты C++.

Там много букв. Приглашаю запастись кофе/энергетиком и приступать. Буду рад обсуждениям и дополнениям, основанном на вашем опыте.

Ещё я этот текст переработал для бумажного издания. Оно в подготовке для печати. Смысл там в целом тот же, но пришлось многое переделать или расписать подробнее. Ведь нельзя в бумажной книге дать 100500 ссылок на сторонние ресурсы «читать здесь про xxx подробнее». Надеюсь, успеем напечатать к осенним конференциям и будем раздавать на стенде, например по кодовым словам. Приходите на стенд и говорите, что с linux.org.ru и что там на тему бумажной книги :)

Парочка вредных советов для примера:

  • Пишите ваши .h-файлы так, чтобы они зависели от других заголовков, и при этом не включайте их в свой заголовочный файл. Пусть тот, кто инклудит, догадается, какие заголовки нужно заранее заинклудить перед использованием вашего файла. Развлеките коллег квестами!
  • Пишите код так, как будто его будет читать председатель жюри IOCCC и он знает, где вы живёте (чтоб приехать и вручить вам приз).

P.S. PDF, если кому-то так удобнее.

 , , , ,

Andrey_Karpov_2020
()

Игры в терминале

Форум — Games

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

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

Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.

Критерии отбора:

  1. Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
  2. Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
  3. Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.

Источники игорей:

  1. https://ttygames.wordpress.com/
  2. https://github.com/ligurio/awesome-ttygames
  3. https://inconsolation.wordpress.com/
  4. https://kmandla.wordpress.com/
  5. https://ibiblio.org/pub/linux/games/ Артефакты прошлого. Игры для терминала надо искать. Не всё собирается с современным компилятором.
  6. gopher://sdf.org/9/users/saahriktu/bttf/gamez_p0.tar.lzma (использовать lynx) - сборник ascii игр, собранный камрадом @saahriktu
  7. https://www.youtube.com/user/livibetter/videos
  8. https://zenway.ru/tag/ASCII
  9. https://blends.debian.org/games/tasks/console
  10. ASCII игры по Linux
  11. Поиск на github.com, gitlab.com по соответствующим запросам
  12. Поиск рогаликов на http://www.roguebasin.com/index.php?title=Category:Roguelike_games
  13. Все поисковики, даже малоизвестные иногда выдают страницы, на которые не попадешь с гугла или яндекса.

Сами игори:

!!!NEW!!! 1. 8f - Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

  1. Alienwave - Сложная Galaga-подобная игра с хорошим ascii-артом.
  2. Bricktick - Красивый клон арканоида с бонусами.
  3. CLines - Качественная реализация всеми известной офисной игры Color Lines.
  4. Dominoes - Реализация одного из вариантов игры Домино.
  5. Lwrace - Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».
  6. Morpion solitaire - Отличная реализация отличной же тетрадной игры Join Five.
  7. MyMan - Пакман для терминала с множеством настроек.
  8. Peg-solitaire.c - Добротная реализация одноименной настольной игры с 5-ю раскладками.
  9. XT gyoretsu - Воссозданная с любовью и с ncurses старая тетрадная игра.
  10. Ztrack - Псевдо-тридешные гоночки с красивым бэкграундом.
  11. to be continued

 , , ,

nab_linux
()

Какой делать объём корня / в Linux?

Форум — Desktop

Есть ssd на 480ГБ и hdd диск на 1ТБ, сколько выделять места под корень? 90ГБ будет слишком много? В игры особо не играю,но возможно буду

 ,

NoireMort
()

Предсказуемость математики и луа

Форум — Development
function hashStr (nome)
	hours, minutes = GetGameTime()
	count1=hours* 3,1415926535
	count2=minutes* 3,1415926535
	count3=count1*count2
	count3=string.sub(count3, 1, 3)
	count3=string.format("%03d",count3)
	hNik=string.byte(nome,1)
	hNik2=string.byte(nome,2)
	hNome=hNik*hNik2
	hNome=string.sub(hNome, 1, 3)
	hNome=string.format("%03d",hNome)
	r1=string.sub(count3, 1, 1)
	r2=string.sub(hNome, 1, 1)
	r3=string.sub(count3, 2, 2)
	r4=string.sub(hNome, 2, 2)
	r5=string.sub(count3, 3, 3)
	r6=string.sub(hNome, 3, 3)
	r=r1 .. r2 .. r3 .. r4 .. r5 .. r6
	return r
end

hours, minutes = GetGameTime() получает текущие час и минуту в формате: 01 22

Скармливаем слово на одном компе - получаем предсказуемо одинаковый результат. Скармливаем на другом компе получаем тоже предсказуемо одинаковый результат, но не такой, как на предыдущем компе. Это как вообще? Данные одинаковые. Ник один и тот же. Время одно и то же. Результат всегда разный. Это вообще законно?! Время возвращается серверное - одинаковое и там и там.

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

 ,

LightDiver
()

C++ от новичка до профи

Форум — Development

попался в гугло-новостях такой список ресурсов по сабжу.

Есть всякие ссылки на амазоны codeademy, но м.б. если кто-то даже не представляет, как влезть в С++, но очень хочет, может пригодиться.

https://www.codelivly.com/resources-to-learn-cpp-from-complete-beginner-to-advanced-level/

 ,

seiken
()

Самый простые способы шифрования папок?

Форум — General

Папки, или .tar-ы, перед их заливкой в облако-диск, надо бы зашифровать. Какие самые простые, ламповые, бесплатные и де-факто утилиты в Линуксе используются для этого?

Желательно бы, чтобы эти инструменты были также в Виндовс, потому что у меня 2 ОС-и.

 

Mutuzik
()

Ищу работу (C, Go)

Форум — Job

Всем привет!

В связи с Российский офис Zabbix будет распущен ищу работу.

Вкратце о своем опыте: преимущественно прикладная разработка на С (не разрабатывал kernel-space и embedded, но готов учиться и хотел бы), разработка на Go (но без современных штук вроде gRPC/protobuf, такие концепты я изучал вне работы для саморазвития).

У меня 10+ опыта с разными UNIX (как GNU/Linux, так и *BSD, и экзотика вроде HP-UX, IBM AIX, Solaris) и хороший бэкграунд (также 10+) в сетях (L1-L7).

Не ищу работы как Python-разработчик (не очень интересно), но умею и пишу с 2008.

Резюме: https://hh.ru/resume/9dd3884bff01c2aedc0039ed1f7735675a3956?hhtm

Вилка 200+.

Контакт в Telegram: @zerodivisionerror/+77753319757.

Спасибо!

 

GFORGX
()

Коррекция зрения

Форум — Talks

Шолом.

Сабж.

Собираюсь починить близорукость, а то танк не увижу. Глаза разбалансировались, некомфортно стало.

Кто себе корректировал и изучал вопрос перед этим:

  1. Посоветуйте самый годный метод коррекции
  2. Посоветуйте годную клинику в ДС-1.

UPD: всем откликнувшимся - спасибо. Понятное дело, что сначала к офтальмологу на обследование. Буду изучать.

 , ,

user42
()

Помощь Linux Desktop юзерам

Форум — Admin

Добрый день! Через какой продукт кроме VNC вы помогаете пользователям удалённо? Есть что нибудь централизованное как из платного, так и Free?

 

Dim0n_
()

Gentoo и BCM4312

Форум — Admin

Добрый день!

Много лет назад была неудачная попытка разобраться с gentoo. Недавно решил снова попробовать, и, вроде, что-то получилось, кроме wifi, шланг работает из коробки.

Подопытный: Acer Extensa 5630EZ (да, пожилой уже). Имеем модуль wifi BCM4312 (14e4:4315), который ни в какую не хочет заводиться. Пробовал с помощью b34-fwcutter и с помощью пакета broadcom-sta, успеха нет.

Прошу помощи. Выхлоп терминала, естественно, предоставлю, подскажите, какой.

Ядро 5.15.68.

 , ,

mrmilesprower
()

SquashFS вместо tar.gz для архива

Форум — General

От старых завершенных проектов остаются данные размером порядка пары сотен Гб, которые жалко сразу выбрасывать и приходится лет по 10 хранить просто на всякий случай. Раньше я запаковывал все в один .tgz (один файл легче копировать, нет риска случайно переписать аттрибуты), клал рядом контрольные суммы и убирал на полку.

Сейчас подумалось, что удобнее было бы использовать для этих целей squashfs – как минимум, с FUSE-дравером можно будет просматривать содержимое без полной распаковки. Оверхед и степень сжатия не так важны, возможность быстро и убедительно проверить сохранность всей копии нужна. С другой стороны, я подозреваю что этот формат не настолько окаменел, как TAR + GZIP, и лет через 20 для монтирования образа может потребоваться некоторая некромантия.

Какие еще есть подводные камни? Что мешает использовать SquashFS вообще везде, где раньше был TAR?

 , ,

Zeta_Gundam
()

Посоветуйте книгу про алгоритмы

Форум — Development

Сидел себе, говнокодил на всякой скриптухе, но вдруг осознал, что даже процедурную пирамидку в консоль вывести не могу, ибо сложно. А ещё не знаю про всякие пузырьковые сортировки. Посоветуйте книгу, в которой собраны важные/популярные/интересные алгоритмы. Желательно без привязки к языку, а то на условном Brainfuck писать желания нет вообще, мне ближе сишно-паскальное.

 ,

Original_1
()

Програмирование и математика

Форум — Talks

Всем привет. Наверняка, подобное уже было на форуме. К сожалению проще пересоздать тему, чем перебирать старые ссылки.

Если ты не дружишь с математикой, посмотри Essence of linear algebra на канале 3Blue1Brown. Очень наглядно, посмотри. Есть переводы на русском, легко можно найти в поиске. Возможно, на русский переведено не всё, визуализацию метода Крамера на русском так и не смог найти.

В добавок к видео, учебник «Лекции по аналитической геометрии.» П. С. Александрова (есть на libgen). Поможет научиться читать. Учебник старенький, наверняка есть и лучше. Мне лично нравится этот. Советую ещё задачник найти.

По комбинаторике и введению в теорию вероятностей, курсы Райгородского А.М.. Хороших ссылок не знаю, курсы (есть) на Courser’е, но по поиску, видимо, найти их нельзя. Учебник «Комбинаторика» Виленкина Н.Я.

Для тех, кто дружит с математикой, Сабитов И.Х., Гайфуллин А.М., Гайфуллин А.А.. Конкретные ссылки давать не вижу смысла. Если можете такое читать и понимать, то, во-первых, имеет смысл читать всё и, во-вторых, вы лучше меня разбираетесь. Лучше сами что-нибудь скиньте.

  • Поделитесь ссылками на полезные ресурсы. Особенно интересны ресурсы по дифференциальной геометрии (сбалансированная доступность/сложность).

У меня к сожалению таких источников нет. Поэтому приходилось тратить очень много времени и сил на понимание даже не очень сложных теорем (в результате это всегда разочаровывало, до сих пор есть подозрение, что в собственной глупости).

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

 ,

Hi
()

Системный блок на intel или amd до 120к?

Форум — Linux-hardware

Наконец-таки соблагоизволил собрать системный блок. Бюджет озвучен в шапке. И сразу же к целевому использованию и задачам: 75% кинцо\веб\сериальчики\ютубчик\виртуалочки, 25% игры.

На чём собрать ядро системы?

  • 12100f + 6500xt\3050 и ужаться в части остального железа? Придётся сидеть на более дешевом всём: корпусе, БП, памяти, кулерах, ссд, зато можно поиграть на 60fps во многие ААА-игори. Cейчас в основном провожу время в 3-4 старых нетребовательных играх.
  • 5600g\5700g и ни в чем (в рамках бюджета) себе не отказывать? БП с йепонскими конденсаторами, удобный корпус, тихие кулера, ссд под файлопомойку, писиай вифи, побольше памяти и т д.

Ну и не лишним будет отметить, не куда нужно прийти, а откуда я иду. В силу обстоятельств мое текущее железо это i7-4500U + 750m, так что оба варианта будут лучше нынешнего.

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

А, чуть не забыл про «интел vs amd»:

 , ,

chenbr0
()

Автоматическое выращивание НЁХ

Форум — Talks

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

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

Может кто таким упарывался - интересно послушать мнения.

  1. Что выращивать? Луковица, картошка, кактус, это понятно и несколько банально. Может быть что-то поинтересней? Но должно быть компактно, повторюсь. Ну и доступно в Казахстане, конечно.

  2. Не хочется, чтобы это было грязно, т.е. в идеале хочу обойтись без земли. Это получается что-то вроде гидропоники, значит нужна рециркуляция? Наверное нужен какой-то фильтр для циркулирующей воды? Как бюджетно и компактно его организовать? Знаю только про фильтрацию активированным углём, этого хватит?

Буду рад ссылкам на подобные проекты, может почерпну вдохновение.

Микроконтролер программировать буду под линуксом, чтобы не впадать в оффтопик.

 , садоводство,

Legioner
()