LINUX.ORG.RU

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

IWYU 0.21

Новости — Разработка
Группа Разработка

Вышел релиз IWYU (или include-what-you-use), программы позволяющей находить избыточные и предлагать недостающие #include в вашем коде на C/C++.

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

>>> Подробности

 , iwyu

NickNotNick
()

А научите правильно делать изолированные окружения?

Форум — Talks

Всё давно и очень сложно. Очень многое написано, но я почему-то не нахожу того, чего хочется мне и не понимаю как сделать. Я даже у ИИ спрашивали просто потратил время зря. Я опишу чего я хочу, а вы скажите,я хочу реального или нереального?

Я время от времени экспериментирую с софтом. Иногда пишу что-то, иногда качаю всякую дичь и пробую. Для таких приложений часто нужны какие-то библиотеки, утилиты и пр. Поэтому я ставлю их пакетным менеджером. Канпеляю, пробую, выкидываю, переделываю… И «убирать», конечно,лень. Да и не вспомнить когда я что ставил, чем всё закончилось. Хотелось бы иметь легко поднимаемое изолированное окружение, которое использовало бы общие с системой библиотеки и, главное, работало с иксами,или вяленным. И удалялось простым удалением этой папочки. Чтобы создавалась этакая дельта изменений, в которую я мог бы доустанавливать пакеты, канпелять и испражняться, и при надобности вышел из окружения и ничего не поменялось,в основной системе порядок и чистота.

Не из соображений безопасности, а ради порядка в основной системе.

Докеры, Подманы, Куемы, Виртуалбоксы и прочие Флатпаки не рассматриваю. Может быть chroot? lxc? Я чрутами пользовался давно и в консоли. А как сейчас это желается даже и не знаю. К тому же, чрут тоже будет пустой и ему всё надо доустанавливать своё, да? Мне так, чтобы базой была основная система, но изменения уходили именно в изолированное окружение.

Ближайшее, что знаю - это питоновское venv –system-site-packages Но я хочу для всей системы.

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

П.с. в толксы потому что не хочу умным людям засорять эфир.

 , , ,

PcheloBiaka
()

Simple Viewer GL v3.2.4

Новости — Open Source
Группа Open Source

Simple Viewer GL – лёгкий просмотрщик изображений.

Simple Viewer GL – это однооконное приложение. В строке статуса, которую можно отключать клавишей i, отображается базовая информация: формат, разрешение, размер в памяти, размер на диске. В режиме информации о пикселе, который включается клавишей p, отображается бабл с информацией о позиции, цвете пикселя, параметрах выделенной области.

Simple Viewer GL умеет определять тип файла по его сигнатуре (параметр -a), а не только по расширению файла. Поддерживается рекурсивный обход директории (параметр -r).

Есть возможность менять в рантайме тип фона (три базовых цвета + шахматная доска) окна или задавать кастомный цвет, что удобно при просмотре изображений с прозрачными пикселями.

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

>>> Simple Viewer GL on GitHub

 , , ,

andreyu
()

GNU libunistring 1.4

Новости — GNU's Not Unix
Группа GNU's Not Unix

Состоялся релиз GNU libunistring 1.4 — библиотеки, которая позволяет работать с Unicode-строками в программах на C, а также со строками C в соответствии со стандартом Unicode.

Изменения в этом выпуске:

  • Алгоритмы и таблицы с данными обновлены до стандарта Unicode 17.0.
  • Исправлены проблемы с работой функций u*_grapheme_next и u*_grapheme_prev для символов Indic, Emoji и индикаторов региона.

Проект поддерживает UTF-8, UTF-16 и UTF-32. Распространяется на условиях LGPL 2.1.

>>> Код (gnu.org) на savannah.gnu.org

>>> Сообщение в списке рассылки

 , libunistring,

cetjs2
()

KDE представила обновления Karton с интеграцией SPICE и новым пользовательским интерфейсом

Новости — KDE
Группа KDE

Менеджер виртуальных машин KDE Karton представляет собой SPICE-клиент на Qt с рендерингом дисплея и поддержкой аудио. Qt-альтернатива GNOME Boxes использует libosinfo для конфигурации ВМ.

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

>>> Подробности

 ,

DrRulez
()

Резервное копирование виртуальной машины QEMU/KVM с паузой и записью памяти

Статьи — Администрирование

В интернете есть статьи, где было описано как сделать бэкап работающей виртуальной машины (ВМ) с использованием гостевого агента QEMU (см. например https://bozza.ru/art-337.html ). Что же делать, если в ВМ нельзя установить этот агент? В таком случае поможет кратковременная пауза виртуальной машины и запись её памяти. Перерыв в доступности ВМ будет только на время записи её памяти на диск и чтения обратно.

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

 , , ,

smola0609
()

Определенные сайты через заданный прокси

Форум — Desktop

Добрый день, подскажите максимально простое и безопасное решение. Есть некий набор сайтов, которые нужно открывать через определенный прокси. Как сделать так, чтобы эти сайты(домены) автоматически открывались через прокси, а остальные - по-умолчанию, через директ соединение например.

 

esperantisto
()

Какую книгу по C++ выбрать?

Форум — Development

Какую книгу по с++ выбрать

  1. Герберт Шилдт. C++ для начинающих. Шаг за шагом
  2. Стивен Прата. Язык программирования C++. Лекции и упражнения
  3. Предложите свой вариант (учил джаву, с++ смотрел видео ну можно сказать не с нуля учу)

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

 ,

archpeak
()

Gmail всё?

Форум — Talks

Судя по всему, Google удалил возможность нормальной аутентификации в email-клиентах (на своём домене точно). Что делать, куда податься?

 ,

michwill
()

Программирование 2025. Полный Вкат.

Форум — Development

Продублирую свой вопрос на форуме.

Так какие книги на данный момент самые лучшие для полного вката в программирование?

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

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

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

вайбик: https://www.youtube.com/watch?v=WmnDcLGnYck

 

NeoX
()

Посоветуйте самую дешевую российскую VPS или отговорите

Форум — Talks

Решил я поселфхостить. Но провайдер держит меня за натом. И возник вопрос купить белый ИП у провайдера или арендовать максимально дешевую VPS в Росиии. Кинуть на нее тоннель из дома и через реверс проксю отдавать нужные мне ресурсы. От vps требуется впн сервер и nginx, так что думаю любых мощностей должно хватить.

Кто то стоял перед похожим выбором? Что можете посоветовать?

 ,

Behem0th
()

Накидайте книг для продвинутого Си под онтопик

Форум — Development

Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?

// друг спрашивает :)

UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:

  • modern c by jens gustedt
  • Thomas Mailund - Pointers in C Programming (2021)
  • Gustedt - Modern C (2020)
  • Kalin - Modern C Up and Running (2022)
  • King - C Programming. A Modern Approach, 2nd ed. (2008)
  • Хэзфилд «Искусство программировани на C»
  • «Язык C в XXI веке»
  • Экстремальный Си
  • extreme c programming
  • «UNIX. Профессиональное программирование» Уильям Ричард Стивенс, Стивен А. Раго
  • C Interfaces and Implementations: Techniques for Creating Reusable Software
  • Peter van der Linden, Expert C Programming: Deep C Secrets https://progforperf.github.io/Expert_C_Programming.pdf
  • Чан Теренс «Системное программирование на С++ для Unix»

 ,

pihter
()

Офлайновая документация, поиск по ней и навигация ☑️

Форум — Development

Привет, ЛОР!

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

Доки в основном в HTML (всякие CPP Reference, доки по Qt, Haddock и т.д.), но форматы вразнобой.

В общем, надеюсь на твою мудрость в этом вопросе, ЛОР. Вдруг тут кто-то нашёл волшебное средство, о котором я не знаю.

 , ,

hateyoufeel
()

Jobchan-chrome-extension — браузерное расширение для обсуждения вакансий

Новости — Open Source
Группа Open Source

Для браузера Chrome разработано расширение, которое дает возможность комментировать и обсуждать вакансии на известных российских сайтах по поиску работы.

Расширение не требует создания аккаунта и входа на сайт с вакансиями. Оно не собирает никакой идентифицирующей информации. Все, что расширение знает о пользователях, — это URL просмотренной вакансии.

В настоящее время поддерживаются сайты:

  • career.habr.com
  • hh.ru
  • rabota.ru
  • zarplata.ru

>>> Репозиторий

 , , ,

ahdenchik
()

Как пустить только steam игру через прокси?

Форум — Games

Дано: прокси с данными авторизации, steam игра запускаемая через proton/wine. ОСь, и проги прочие, включая стим, через проксю мне пускать не хочется. Не могу понять как решить эту проблему. Отпишитесь кто как бы решал.

 , ,

pinjaz
()

Делаем из Vim IDE

Статьи — Разработка
Делаем из Vim IDE

В стародавние времена когда деревья были большими, трава зеленее, а мороженное стоило по 10 копеек, на Земле жили динозавры, и эти динозавры программировали в Vim.

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

 , ,

rtxtxtrx
()

20-30 книг в год ☑️

Форум — Talks

прочитал на habrahabr.ru/post/118966/ что надо читать в 20-30 книг в год. Но как то я смутно представляю как можно прочитать и понять «Таненбаум компьютерные сети» менее чем за месяц. Что вы считайте по данному вопросу? И сколько реально прочитать в год книг типа: Таненбаум, Кауфман, Шнайдер и т.д [offtop]посоветуйте книгу по тех английскому чтобы читать в оригинале[/offtop]

moriz
()

Есть кто завел zapret на уровне роутера?

Форум — Admin

Отпишитесь.

Я, вроде, завел, но весь трафик уходящий в него пропадает, а я не так хочу.

Нужен для просмотра ТыЛевизора на уровне всей домашней сети (телевизоры, телефоны), а не только с компов.

 ,

pihter
()

Где взять заграничный VPS с оплатой российскими картами? ☑️

Форум — Talks

Собственно сабж. VPS нужен за пределами России. Хочу поднять себе VPN.

Например вижу предложение от RU VDS в Казахстане. Но не знаю что там с местной цензурой. А то из огня да в полымя.

Вопрос в догонку: какой протокол VPN выбрать и какое железо нужно, чтобы 50 мбит/с тянуло?

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

 ,

ox55ff
()

YT-DLP, очевидное-невероятное

Статьи — Desktop

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1 (mpv.io)).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)

 ,

krasnh
()