LINUX.ORG.RU

Сообщения PPP328

 

Десктопный текстовый LLM

Есть RTX3060 12ГБ. Есть ли в данный момент возможность на такую конфигурацию поставить standalone текстовый LLM? Чтобы хотя б на уровне ChatGPT 3.5 тупило (или лучше).

Параллельно вопрос - а контекст в такое-то количество токенов - это тоже какое-то фундаментальное ограничение? Нельзя его поставить больше? А то кидаешь кусками произведения для анализа, так оно начало забывает и делает мне смешно.

 , ,

PPP328
()

Нашел заставку «трубопровод» в мультфильме 85го

Разве она не в XP появилась? Неужели капиталистический Билли украл заставку у Советского союза?

https://i.postimg.cc/vZQ3vbjt/2024-09-25-02-51-22.png

https://youtu.be/HJDPXpi7s-M?t=500

 , ,

PPP328
()

Дуров арестован

⚡️По информации французского телеканала TF1, основатель и генеральный директор Telegram был задержан в субботу вечером в аэропорту Ле Бурже. 39-летнего предпринимателя сопровождали его телохранитель и женщина.

Издание утверждает, что Дуров прибыл из Азербайджана и был объявлен в федеральный розыск. На него якобы был выписан французский ордер на обыск, выданный OFMI (Национальным управлением судебной полиции) на основании предварительного расследования.

⚡️Ордер был выписан из-за того, что Дуров не сотрудничал с французскими силовиками, что делает его соучастником незаконного оборота наркотиков, и прочих тяжких преступлений — телеканал TF1

⚡️Следователи поместили Дурова под стражу — TF1

⚡️Павел Дуров должен быть представлен судье в эту субботу вечером, ему предъявят обвинение по множеству преступлений

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

 

PPP328
()

Как экспортировать в fb2?

Есть книжка в виде rtf, читалка плохо ее показывает, попробовал экспортнуть в epub - не настраивается размер шрифта в читалке тогда, видимо рендерится как страница (как в pdf). FB2 при этом рендерит отлично, хочу сконвертить в него. В либре не нашел такой опции. Пытался загуглить, но гугл внедрил ИИ, который игнорирует запрос и фантазирует: https://i.postimg.cc/SQt8VfM3/2024-08-24-15-22-14.png

Вопрос: как экспортнуть в fb2? Плевать, если заголовки слегка поедут.

 ,

PPP328
()

А можно завезти подсветку ассемблера?

А то ну вообще убого работает. В списке поддерживаемых языков асма вообще нет.

_get_type_msg:
        mov     eax, offset .L.str
        add     edi, -30
        cmp     edi, 11
        ja      .LBB0_6
        jmp     qword ptr [8*rdi + .LJTI0_0]
.LBB0_2:
        mov     eax, offset .L.str.1
        ret
.LBB0_3:
        mov     eax, offset .L.str.2
        ret
.LBB0_4:
        mov     eax, offset .L.str.3
        ret
.LBB0_5:
        mov     eax, offset .L.str.4
.LBB0_6:
        ret
.LJTI0_0:
        .quad   .LBB0_2
        .quad   .LBB0_3
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_6
        .quad   .LBB0_4
        .quad   .LBB0_5

.L.str:
        .asciz  "DEBUG"

.L.str.1:
        .asciz  "INFO"

.L.str.2:
        .asciz  "WARNING"

.L.str.3:
        .asciz  "ERROR"

.L.str.4:
        .asciz  "FATAL"

 , ,

PPP328
()

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

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

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

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

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

  • 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
()

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

Хай

Часто попадаются образы 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?

Сабж:

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

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

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

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

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

 recall,

PPP328
()

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

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

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

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

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

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

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

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

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

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

 

PPP328
()

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

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

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

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

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

 ,

PPP328
()

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

Тихо и незаметно 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

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

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

 , ,

PPP328
()

Опечатки в help

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

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

отсупа

 

PPP328
()

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

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

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

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

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

 , ,

PPP328
()

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

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

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

 ,

PPP328
()

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

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

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

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

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

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

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

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

 , ,

PPP328
()

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

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

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
()

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

 

PPP328
()

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

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

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

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

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

 ,

PPP328
()

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