LINUX.ORG.RU

Сообщения PPP328

 

Отчего всё так плохо с отношением родитель-ребенок?

Форум — Development

Вот представьте, есть у вас некое приложение, если придумывать какую-то аналогию, не связанную с оригинальной задачей, то давайте представим что у нас есть некий GUI для конвертации видео. Пусть будет конвертер видео-DVD дисков в нормальный формат.

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

Ну так как мы люди умные, а есть люди ещё умнее, то мы будем пользовать блага что они сделали. GUI нарисуем сами, а конвертировать будем через ffmpeg. Т.е. пользователь выбирает диск, дорожку, сабы, звук, а мы вызываем под капотом бинарь ffmpeg с нужными параметрами.

И вот казалось бы, все рады, всё работает. Но представим, что по какой-то причине наш GUI упал. Плевать как - кривой программист написал всё на си, нас пристрелил ООМ, нам прислали kill -9. Это всё не важно, нас пристрелили принудительно, не дав нам вызвать нужные деструкторы.

Что тогда происходит по умолчанию? Если мы успели запустить какой-нибудь рендеринг-конверт отдельным процессом - то ВНЕЗАПНО, этот процесс не умрёт. Его усыновит ближайший по проходу по дереву запусков процесс, у которого установлен флаг SUBREAPER. Обычно проверка доходит до init, если мы не запущены в каком-нибудь специфичном контейнере.

Ну нам же такое поведение не нужно. А если там рендеринг на 4 часа? Сидеть ждать пока дочешет? И вот выхожу я такой в интернет с этим вопросом и получаю два ответа, для windows и для linux. Для оффтопика существует специальный механизм, который пошлёт «смерть» дочерним процессам в случае смерти родителя:

JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE (см. подробности на MSDN)

Независимо ни от чего, все запущенные нами побочные процессы (ffmpeg, probe, и так далее) - грохнутся вместе с нами. У виндов, правда, особое отношение к терминации процесса, если у него нет главного окна (чтобы система виртуально нажала там «крестик») или если оно не запущено в терминале (чтобы система виртуально послала там «ctrl+c») - то процесс просто будет убит.

А вот под linux… Под linux все на stackoverflow наперебой орут, что такой механизм есть. И показывают:

    if (prctl(PR_SET_PDEATHSIG, SIGTERM, 0, 0, 0) == -1) {
        // ашипка
    } // там еще проверка ppid, но для контекста это не важно

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

      PR_SET_PDEATHSIG (since Linux 2.1.57)
              Set  the parent-death signal of the calling process to arg2 (ei‐
              ther a signal value in the range  1..maxsig,  or  0  to  clear).
              This  is  the  signal that the calling process will get when its
              parent dies.

              Warning: the "parent" in this  case  is  considered  to  be  the
              thread  that  created  this process.  In other words, the signal
              will be sent when that  thread  terminates  (via,  for  example,
              pthread_exit(3)),  rather  than  after all of the threads in the
              parent process terminate.

Ну вы поняли, да? Вы должны запускать все субпроцессы из главного треда приложения. Вы не можете создать какой-нибудь отдельный тред и там выполнить запустить что-то и забыть. Потому что ведро не может определить, вы в субтреде запустили процесс или нет. И по цепочке дойти до основного пида процесса и установить его там. Фигушки. Как только тред помрёт - все процессы, запущенные вами из этого треда будут прибиты. Ну то есть решили вы архитектурно организовать запуск рендеринга в одном треде, запуск приложений в другом (вы ж не бобо блокировать главный тред для этого), запустили отдельным тредом приложеньку, чекнули, что она форкнулась, всё там хорошо, внутри форка проставилм PDEATHSIG, завершили тред-запускалку… И получили прибитый ffmpeg. Ну разве это не прекрасно? И варианта у нас три:

  • Все процессы, которые мы хотим запустить форкать из main-треда (ЩИТО?)
  • Иметь какой-то отдельный тред, который будет получать какие-то инструкции для запуска и каждый раз запускать новый экземпляр ffmpeg через себя И НЕ УМИРАТЬ! ПОЖАЛУЙСТА, НЕ УМИРАЙ! #ТРЕДЖИВИ
  • Не иметь отдельный тред для всех, но каждый раз для запуска создавать отдельный тред и держать его пока форкнутое приложение 100% не завершило работу.

И вроде бы по логике 3й пункт и ничего так, но он подходит далеко не всегда. Фиг с ним, что если мы запускаем 50 субсервисов - то нам надо будет держать 50 тредов, плевать. Иногда нам нафиг не нужно сидеть и ждать (waitpid), чо там с процессом. Ну для нашей DVD-риделки это еще может быть критично (ну там прогресс-бар нарисовать, постоянно читая ffmpeg или сразу сказать, что процесс сдох), а вот для некоторых других запусков - нет. Ну вот у меня в рабочем проекте я вообще не чекаю статус запущенного сервиса. Я с ним иногда по сокету общаюсь и если он подох туда ему и дорога - то я просто его заново запущу (когда он понадобится) и в логи стрельну, что такое было. Мне вообще плевать на его состояние после транзакции.

А разрабы ядра мне выбора не оставили. Или сиди и смотри на процесс в отдельном треде (и запускай сто тредов если запустил сто приложений. Как пример - какой-нибудь thumbnailer для файлового менеджера) или запускай процессы форкая main.

Горит. Немыслимо горит. Почему в windows сделано нормально, а тут вот такой цирк? (Про который еще и никто из индусов на SO не упоминает)

Выдохнул. Сабж. Какие еще есть варианты умирания без модификации child-программы? С модификацией любой дурак сможет - создал пайп в паренте, передал в child и сиди в child’e пырь в read. Пришёл 0 - делай роскомнадзор.

 ,

PPP328
()

А помогите подобрать ИБП

Форум — Desktop

В общем есть такие вводные:

Стационарный компьютер с:

  • Palit RTX 3060 (StormX V1)
  • Intel Core i7-10700
  • Блок питания на 650 W
  • (остальная незначащая мелочь)

Стоит сейчас ИБП от какого-то китайца «Sigma VP1000» на 500 W. Я так полагаю, что мне его не хватает (плюс китаец врёт по цифрам).

Есть проблема с этим ИБП - напряжение тут скачет как всем известная представительница древней профессии на панели - от 150 до 230 В, причем 150 может быть весь день или в течение нескольких минут показывать красивую «пилу».

Каждый раз при просадке ИБП может увести мне всю систему в ребут, может задорно щелкать релюшками на каждую просадку посреди ночи (тоже мерзко). Монитор тоже уходит в ребут.

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

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

Подскажите, пожалуйста, какой фирмы и какой ИБП мне сегодня стоит брать? Есть условие - живу в отдаленном районе и единственное что есть из магазинов электроники - это доставка wildberries в соседнее село. Я зашел в их магаз, посмотрел на список - там какие-то абсолютно незнакомые мне названия типа Энергия, CyberPower, для меня ничего не значат. Купить в другом месте возможности считай нет. Ехать за 220 км в город ради этого а) тратить весь день и +1500 - +3000 к тратам, б) этот ИБП куплен в городе в специализированном магазине enter.kg, где мне все мамой клялись, что он нормальный.

Бюджет - до 25к. Помогите найти что-то плюс минус надёжное на Wildberries по этим характеристикам и бюджету.

 , wildberries

PPP328
()

Написал скриптец, чтобы резать мультимедиа

Форум — Multimedia

Хай

Часто попадаются образы DVD-дисков с музыкой или клипами или просто видео-сборки с youtube, в которых в одном файле слили вместе больше одного трека.

Достаточно часто под таким видео добрые люди пишут:

00:00 Entering the void
03:15 Warm abyss
06:11 ---
07:21 The end

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

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

$ cat config.txt
00:00 Entering the void
03:15 Warm abyss
06:11 ---
07:21 The end
$ nippers.sh -i /mnt/music/void.avi -c ./config.txt -o /mnt/music/Void
- Extracting: "Entering the void"
  - Time info: 0 + 195 s
- Extracting: "Warm abyss"
  - Time info: 195 + 154 s
- Skipping:
  - Time info: 394 + 92 s
- Extracting: "The end"
  - Time info: 441 + 110 s
$ ls /mnt/music/Void
'Entering the void.avi' 'Warm abyss.avi' 'The end.avi'

Да, есть shnsplit, но он, вроде как, опирается на внутреннюю структуру с метаданными, а я писал отталкиваясь от того, что она утеряна.

Ссылка на проект:

 ,

PPP328
()

А отчего тут не кидают тухлым в Recall?

Форум — Talks

Сабж:

Recall представляет собой функцию, которая позволяет выполнять поиск по прошлым действиям пользователя, записывая экран. Инструмент собирает всю активность владельца устройства, включая файлы, фотографии, электронные письма и историю просмотров. Функция делает скриншоты каждые несколько секунд.

В Microsoft отметили, что пользователи смогут отказаться от захвата определённых сайтов и настроить приватный просмотр в браузере Edge.

Специалисты уже назвали Recall «кошмаром для конфиденциальности». Эксперт по данным и конфиденциальности Keystone Law Дэниел Тозер сравнил функцию c сюжетом антиутопического сериала Netflix «Чёрное зеркало».

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

Вроде как аналогичную байду для linux пишет китайский разраб, но найти ссылку не получается.

 recall,

PPP328
()

Список дел + список покупок в одном.

Форум — Desktop

Вводные:
Живу в удаленном поселке, поэтому чтобы купить что-то сложнее гвоздей нужно ехать в город 4 часа, поэтому нужно заранее выписывать список покупок и следовать ему.

Параллельно в доме где живу делаю мелкий ремонт вроде «поменять розетки», «положить плитку» и проч.

Проблема:
Я веду список дел в google keep, там есть возможность вести список с древовидной структурой. Там же веду текущий стек покупок, который руками набираю перед каждой поездкой. Из-за этого там появляются лишние пункты, недостает части пунктов и приходится срочно вспоминать что забыл, потому что маршрутка от вокзала отходит через час.

Что хочу:
Программу, где можно вести древовидный список дел

Дом
+ Спальня
  + Мебель
    + Купить #(Пила циркулярная с рег., 1)
    + Шкаф
      + Купить #(ЛДСП 170х250, 4)
      + Распилить ЛДСП
      + Собрать шкаф
  + Электричество
    + Розетки
      + Купить #(Розетки 1х2 евро, 3)
      + Проштробить новую линию
      + Вырезать под коробку
      + Установить коробку
        + Купить #((песок) или (гипс))
      + Установить розетки
+ Зал
...
Сад
+ Собрать углехранилище

Ну и так далее.
Основная мысль - что я указываю в каком-то формате что мне нужно купить, а программа ведет отдельный список и при желании его экспортирует в вариант где я могу его распечатать или открыть в виде списка:

[ ] Пила циркулярная с рег. х 1
[ ] ЛДСП 170х250 х 4
[ ] Розетки 1х2 евро х 3
[ ] или
    [ ] песок
    [ ] гипс

Есть что-то готовое или надо самому писать? Самое важное - синхронизация элементов для списка.

Ещё на постоянной основе использую zim. Если для него есть такой плагин - вообще хорошо

 

PPP328
()

Hannah Montana Linux

Галерея — Скриншоты

Короче, захожу я такой на сорсфордж, скачиваю себе mingw, vlc, filezilla, хотел программы обновить. Ну естественно обновлять нужно всё сразу, иначе какой хакер упустит тебя хакнуть. Скачиваю я программы и понимаю, что можно ж просто поставить нормальный дистрибутив. Открываю я заново sourceforge и тут вижу, что передо мной https://hannahmontana.sourceforge.net/ . Никогда раньше маргинальные дистрибутивы не ставил, а тут вдруг захотелось.

Устанавливаю я, такой, дистрибутив and suddenly everything turned into techicolors. Loud music is playing, everyone is singing and laughing off-screen, I don’t understand anything. Then Miley Cyrus pops up from underground, shouting that we are all cheese jerkies and urging to believe in ourselves. Show’s been dead for ages! Ain`t it no more room in your grave? Now I can’t listen to anything besides «The Best of Both Worlds». It seems to me, the ISO was cursed.


  • Ubuntu 9.04
  • Qt 4.5

Практически на все сайты выбивает ошибку невалидных сертификатов, большинство серверов на себя не пускает.

>>> Просмотр (1920x1080, 1243 Kb)

 , ,

PPP328
()

А в этих ваших линуксах планируют использовать NPU?

Форум — Talks

Я, канеш, понимаю, что в линуксе даже эра аппаратного ускорения в браузере еще не наступила (из-за чего ютуб с галкой ambient mode уводит проц в 70С), но всё же, есть ли какие-то планы по использованию NPU?

Вообще какая инфа есть по NPU? Спеки? Дрова? Под виндой в зумколле вроде пишут что уже фон размывает за счёт NPU.

Алсо, можно ли на этой тварюшке какие-то сетки считать? Ну там лламу например.

P.S. На фокс переходить не буду, часть сайтов криво рендерится или не работает, тот же linkedin. Плюс мазила скатилась.

 ,

PPP328
()

Майкрософт убирает рабов из Linux

Форум — Talks

Тихо и незаметно Microsoft отправила огромный патч в ядро, где убирает все «оскорбительные» термины типа master, slave, man in the middle, DMZ, whitelist, blacklist и прочие.

https://www.phoronix.com/news/Microsoft-Linux-More-Inclusive
https://lore.kernel.org/dri-devel/20240329170038.3863998-1-eahariha@linux.microsoft.com/T/

При этом коммиттер ссылается на то что это на самом деле изменения в документации I2C, но мейнтейнеры пишут, что это всё выдумки:

The word «client» does not even appear in the documentation (only one instance in the i3c document), so that the change is not related to the document as stated in the commit log. Unless, of course, I am missing something.

Есть несколько человек, кто против, но единицы:

hfi1 and qib work perfectly fine with the current terminology. There is no need to change old code just for the sake of change. Let’s drop this patch. Thanks

 , ,

PPP328
()

Предлагаю запретить вопросы по kali

Форум — Linux-org-ru

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

Профит: уберет 50 топиков в день от школьников с вопросами «я поставил кали, где тут кнопка взломать вайфай» и «я поставил кали, как тут залогиниться».

 , ,

PPP328
()

Опечатки в help

Форум — Linux-org-ru

https://www.linux.org.ru/help/markdown.md

Вложенные списки создаются при помощи отсупа в 4 пробела.

отсупа

 

PPP328
()

Нужно ли оставить только markdown как единственный вариант разметки на LOR?

Форум — Linux-org-ru

По моему мнению LORCODE после появления возможности использовать Markdown стал ненужным. MD это de facto стандарт, который подсвечивается в каждом первом редакторе оффлайн и онлайн, который можно создать на локалке заранее если нужен длинный пост или сложное форматирование.

Lorcode - это такой очень сильно обрезанный BBcode, где даже заголовков нет. Кажется, что если выкинуть из движка его поддержку и сконвертить старые посты (могу помочь со скриптом (там sed -e xxx -e yyy -e zzz…), как, думаю, и 50% форума), то станет проще поддерживать в порядке код парсера, меньше вопросов будет при создании постов новыми лицами (а если еще и кнопки с форматированием добавить, то…).

В общем ваше мнение. Нужно ли прикопать очень устаревший BBcode с ограниченным функционалом в пользу MD?

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

 , ,

PPP328
()

А как насчет открыть донаты?

Форум — Linux-org-ru

Тут недавно (либо у меня эффект Манделы) предлагали продавать ЛОРовый мерч. А если открыть boosty/patreon? Даст возможность кому не стыдно задонить на развитие сервера. Там же и мерч можно загнать.

Перемещено leave из talks

 ,

PPP328
()

На чем сделать легковесный граф.редактор с кроссплатформой?

Форум — Development

«Граф.редактор» - это если что громкое название, загрузить бинарный файл особого формата, натыкать мышкой пикселей, нарисовать линию и прямоугольник. По таймеру сменить ограниченную палитру (канва должна уметь рисоваться в какой-то ФПС).

Нужно под linux и windows. Чем легковеснее оно будет - тем лучше (gtk/Qt идут нафиг, особенно Qt). Опенсорс, хорошо, если можно всё скомпилить в один бинарник.

Конечная лицензия программы - GPL/LGPL.

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

Еще раз требования:

  • Кнопки (button)
  • вкладки хоть в каком-то виде (Tabs)
  • канва для прямого рисования пикселей.
  • Развязанный от однопотока (чтобы логика не была в коде гуя).

Под С. На крайняк С++

 , ,

PPP328
()

Программка для генерации таблиц анимации плавности (easing)

Форум — Development

Понадобился мне инструмент генерации дискретных координат для анимации - написал программку.
Заодно прикрутил графический режим, чтобы можно было поиграться с параметрами перед генерацией таблиц координат

https://github.com/codemeow/doner / LGPL

Пример результирующих анимаций: https://github.com/codemeow/doner/raw/master/readme/output.gif

Нужна для генерации координат положения объекта по времени согласно заданной функции.

Режим генерации таблиц:

    doner -m table -e insine -f "   .byte $%02x, " -c "$%02x, " -l "$%02x" -k 255
   .byte $00, $00, $00, $00, <...> $0b, $0d, $0f, $12
   .byte $14, $14, $17, $19, <...> $3c, $40, $44, $48
   .byte $4d, $4d, $52, $56, <...> $8b, $90, $96, $9c
   .byte $a2, $a2, $a8, $ae, <...> $ec, $f2, $f9, $ff

Режим графика:

$ ./doner -e inelastic
Easing:
    inelastic
Graph :
    Min:   -0.373
    Max:    1.000

⠀⠀⡆⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⠀⡀⠀⠀⡀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀
⠀⠀⡇⠀⣴⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀
⠀⠀⡇⠀⠻⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠒⠉⠉⠉⠒⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠐⠒⡗⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠚⠛⠛⠛⠛⠒⠒⠒⠶⠶⣒⣒⣒⣒⠶⠖⠚⠓⠒⠒⠒⠒⠒⠒⠒⠲⠒⠒⠒⠒⠒⠒⠒⠒⠚⠒⠒⠒⠒⠒
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠡⠀⠀⠀⠀⠀⠀⢀⠁⠀⠀⠀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⡀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀
⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢄⠀⠀⡐⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀

Имеет настройку выбора функции из 30 вариантов х 4 модификации входных координат (orig/inv X, orig/inv Y). Множитель и слагаемое для функции (F(x +a) + b), размер генерируемой таблицы, printf-форматтер для первого значения строки таблицы и последнего отдельно, автоматический парсинг входящей fmt для правильного приведения типа (всё считается в double, при выводе в int-округляется).

tldr;
Вместо того чтобы жмыхаться в excel каждый раз когда надо что-то перегенерировать можно поменять параметр в консоли и получить уже отформатированную под ваш язык программирования таблицу.

Критика принимается, issue принимаются.

 ,

PPP328
()

Перестались удаляться цепочки комментариев или баг?

Форум — Linux-org-ru

 

PPP328
()

В чем рисовать временные диаграммы в Linux?

Форум — Desktop

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

В принципе как крайнее средство - draw.io, но он браузерный, в нем нельзя интегрироваться с какими-то локальными файлами (я активно пользуюсь Zim).

Нужно что-то примерно такое: https://i.postimg.cc/9MCG2GfM/2023-11-19-17-32-28.png (это сделано в draw.io)

Насчет визуальности. Я не против текстового описания блоков, если оно будет по команде\кнопке адекватно рендериться в картинку для демонстрации. И желательно не в кашу как graphviz, я еще ни разу не видел диаграмму у нем, которую можно читать. Плюс он вроде как не умеет строить временные линии с выносками. На самом деле текстовое описание исходного формата будет даже плюсом, ибо так удобнее сдвигать несколько блоков, вставлять их в какого-то родителя и пр.

 ,

PPP328
()

Как побороть хром и его самовольство?

Форум — Desktop

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

chrome://policy

BrowserGuestModeEnabled false Платформа Локальный компьютер Обязательная ОК Показать больше… 
ComponentUpdatesEnabled false Платформа Локальный компьютер Обязательная ОК Показать больше…

Из-за этого он мне везде пишет что мой браузер управляется моей организацией.

И из-за этого он блокирует скачивание архивов с бинарями или библиотеками: http://mirrors.slackware.com/slackware/slackware-15.0/slackware/n/openssl-1.1.1m-i586-1.txz -> «Ваша организация заблокировала скачивание файла, так как он нарушает политику безопасности»

Судя по всему это из-за вот этого: https://www.zdnet.com/article/google-chrome-engineers-want-to-block-some-http-file-downloads/

The plan is to block insecure downloads on sites that appear to be secure (loaded via HTTPS) but where the downloads take place via plain ol’ HTTP.

Как это принудительно разрешить?

Я пробовал зайти на замок на панели адреса, настройки сайта - небезопасный контент, разрешить. Всё равно блокируется. Потому что сайт packages.slackware.com, а качается с mirrors. Даже если разрешить mirrors, то все равно блокирует. Походу блокирует вообще все бинари с http.

--allow-running-insecure-content тоже не работает - «вы используете неподдерживаемый флаг командной строки»

Как разрешить это для всех сайтов?

Версия 117.

 

PPP328
()

А почему никто не обсуждает BSOD в Linux?

Форум — Talks

Там в systemd добавили BSOD с QR кодом. А все спят и никто не обсуждает.

https://github.com/systemd/systemd/pull/28077

https://github.com/systemd/systemd/releases/tag/v255-rc1

  • A new component «systemd-bsod» has been added, which can show logged error messages full screen, if they have a log level of LOG_EMERG log level.

 , ,

PPP328
()

Ссылка web-сервис с динамическим IP в локальной сети.

Форум — Desktop

Есть две машины, линуксовая (xU20.04) и виндовая (W10). Обе сидят в локальной сети, которую поднял смартфон (redmi note 10 pro), раздавая им wifi.

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

Проблема в том, что после ребута телефона (не отключения вайфая, а именно ребута) - он скремблит третий байт для всех адресов. Т.е. если раньше сеть была 192.168.10.х, то после ребута будет, например, 192.168.100.х. В телефоне в принципе нет настройки так не делать, сторонние тулзы не помогли, видимо только рутование.

При этом остальные байты остаются как есть, даже если устройства коннектятся в другом порядке. Если до ребута винда была 192.168.10.223, то после ребута она будет 192.168.100.223

Так вот. Телефон ребутается достаточно часто (либо из-за того что отрубают свет когда он на зарядке с малым процентом либо из-за того что я куда-то уехал и там его посадил в 0), соответственно скремблинг подсети бывает тоже достаточно часто, из-за чего неудобно пользоваться веб-сервисом - надо заново смотреть, какая теперь подсеть, менять IP в адресной строке.

Есть способ на линуксовой машине вводить в браузер что-то типа myservice.local/ и попасть на нужный адрес? Может можно как-то пошаманить с /etc/hosts или /etc/sysconfig/network например?

 ,

PPP328
()

Вот вы спите, а там перевод Ubuntu опошлили

Форум — Talks

Интересно знать, как вообще происходит процесс принятия переводов в апстрим, если такое пролезло в мастер:

  "telemetryLegalLabel": "Легальне смоктання єврейського члену",
  "@telemetryLegalLabel": {},
  "telemetryReportTitle": "Повідомити про спідозних підрил",
  "@telemetryReportTitle": {},
  "privacyLocationSubtitle": "Дозволити додаткам знаходити вашу гейську сраку.\nВи можете змінити це в будь-який час в налаштуваннях устрою.",
  "@privacyLocationSubtitle": {},
  "welcomePageTitle": "Підорський устрій",
  "@welcomePageTitle": {},
  "welcomePageHeader": "{distro} для круглих педерастів",
  "@welcomePageHeader": {},
  "welcomeStartTitle": "Станьте круглим педерастом користуючись цим устроєм",
  "@welcomeStartTitle": {},
  "welcomeStartSubtitle": "Підтримка чистого підорства.",
  "@welcomeStartSubtitle": {},
  "welcomeStoreTitle": "Новий підорський акцент у крамниці єврейського лайна",
  "@welcomeStoreTitle": {},
  "telemetryLabelOn": "Так, поділитися статевими захворюваннями з ракохворими розробниками цього {distro}",

https://github.com/canonical/ubuntu-desktop-provision/pull/171/commits/1ab9963d5180232b76b12ae1af8fb99fd9f46235

По итогам Ubuntu 23.10 сначала выкатили в паблик, а потом, спустя пару часов, закатили обратно

 , ,

PPP328
()

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