LINUX.ORG.RU

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

IWYU 0.21

 , iwyu

Группа Разработка

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

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

>>> Подробности (github.com)

NickNotNick
()

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

 , , ,

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

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

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

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

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

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

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

PcheloBiaka
()

Simple Viewer GL v3.2.4

 , , ,

Группа Open Source

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

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

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

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

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

>>> Simple Viewer GL on GitHub (github.com)

andreyu
()

GNU libunistring 1.4

 , libunistring,

Группа 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

>>> Сообщение в списке рассылки (gnu.org)

cetjs2
()

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

 ,

Группа KDE

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

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

>>> Подробности (kde.org)

DrRulez
()

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

 , , ,

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

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

smola0609
()

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

 

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

esperantisto
()

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

 ,

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

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

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

archpeak
()

Gmail всё?

 ,

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

michwill
()

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

 

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

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

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

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

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

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

NeoX
()

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

 ,

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

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

Behem0th
()

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

 ,

Сто лет назад прочитал 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
()

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

 , ,

Привет, ЛОР!

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

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

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

hateyoufeel
()

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

 , , ,

Группа Open Source

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

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

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

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

>>> Репозиторий (github.com)

ahdenchik
()

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

 , ,

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

pinjaz
()

Делаем из Vim IDE

 , ,

Делаем из Vim IDE

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

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

rtxtxtrx
()

20-30 книг в год

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

moriz
()

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

 ,

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

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

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

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

ox55ff
()

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

 ,

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 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
()

Что почитать по машинному обучению?

 

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

В связи с этим вопрос: что почитать? Литературы по машинному обучению огромное количество, но с чего начать…

andalevor
()