LINUX.ORG.RU

Сообщения Shushundr

 

grub2 + systemd + / ≠ rw

Форум — General

Мне кажется, что я нашел недоработку в systemd.

Факты:

  1. grub-mkconfig формирует строчки kernel с флагом ro
    (да, это можно поменять через GRUB_CMDLINE_LINUX_DEFAULT="rw", но там была мысль - сначала смонтировать в ro, затем позапускать fsck, затем перемонтировать в rw)
  2. существует сервис /lib/systemd/system/systemd-remount-fs.service
    который запускает программу
    ExecStart=/lib/systemd/systemd-remount-fs
    которая
# file /lib/systemd/systemd-remount-fs
/lib/systemd/systemd-remount-fs: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
  1. использовать fstab это вчерашний день, надо пользоваться функциональностью для монтирования из состава systemd
    в каталоге /etc/systemd/system/
    создаём директорию -.mount.d
    и в ней файл override.conf с содержимым
[Mount]
Options=rw

ну или просто один только файл /etc/systemd/system/-.mount

[Unit]
Description=Root Mount
Documentation=man:systemd.mount(5)
DefaultDependencies=no
Before=local-fs.target
After=systemd-fsck@dev-disk-by\x2duuid-XXXXXXXX.service

[Mount]
What=/
Where=/
Type=none
Options=bind

[Install]
WantedBy=local-fs.target
  1. сервис systemd-fsck@.service задокументирован
    но я не понимаю, как формируется то длинное имя с UUID
# ls -1 /dev/disk/by-uuid/ 
5614097b-ac18-4ee9-b87d-4fe05641332b
# blkid
/dev/vda2: LABEL="ROOT" UUID="5614097b-ac18-4ee9-b87d-4fe05641332b" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ROOT" 
# readlink /dev/disk/by-uuid/5614097b-ac18-4ee9-b87d-4fe05641332b
../../vda2

Пара команд на память:
journalctl -b -u systemd-remount-fs.service
systemctl status -- -.mount

Моя проблема в том, что у меня это всё не срабатывает. Корень в rw не перемонтируется, так в ro и остаётся.

 

Shushundr
()

app-text/atril и dev-libs/mathjax

Форум — General

С одной стороны

!!! into the dependency graph, resulting in a slot conflict:

dev-libs/mathjax:0

  (dev-libs/mathjax-3.2.2-r2:0/3.2.2::gentoo, ebuild scheduled for merge) USE="-doc" ABI_X86="(64)" pulled in by
    =dev-libs/mathjax-3.2.2-r2 (Argument)

  (dev-libs/mathjax-2.7.7-r1:0/0::gentoo, installed) USE="-doc -examples" ABI_X86="(64)" pulled in by
    <dev-libs/mathjax-3 required by (app-text/atril-1.28.0-r1:0/0::gentoo, installed) USE="caja dbus djvu dvi epub introspection keyring nls postscript tiff -debug -synctex -t1lib -test -xps" ABI_X86="(64)"
    ^                 ^     

# echo "<dev-libs/mathjax-3" > /etc/portage/package.mask/mathjax

!!! One of the following masked packages is required to complete your request:
- dev-libs/mathjax-2.7.7-r1::gentoo (masked by: package.mask)

(dependency required by "app-text/atril-1.28.0-r1::gentoo[epub]" [ebuild])
(dependency required by "atril" [argument])

# echo "=app-text/atril-1.28.1 ~amd64" >> /etc/portage/package.accept_keywords/atril

!!! All ebuilds that could satisfy "<dev-libs/mathjax-3" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/mathjax-2.7.7-r1::gentoo (masked by: package.mask)

(dependency required by "app-text/atril-1.28.1::gentoo[epub]" [ebuild])
(dependency required by "=app-text/atril-1.28.1" [argument])

С другой стороны, вроде atril с mathjax-3 работает:

https://forum.calculate-linux.org/t/solved-cldm-dev-libs-mathjax-3-forced-by-app-text-atril-1-26-2/11645

Что тут происходит?

 

Shushundr
()

Firefox подрывает стабильность

Форум — Talks

Пишет:

«Вы используете старую версию Firefox

Обновитесь до 14 марта 2025 г., чтобы продолжить использовать Firefox

Ваша версия Firefox скоро перестанет работать. Истечёт срок действия корневого сертификата, потоковое видео, дополнения и другие функции перестанут работать.»

И эти люди что-то говорят о зондах от Microsoft

 

Shushundr
()

как выложить сишные исходники на web?

Форум — Web-development

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

  1. на файл;
  2. на функцию;
  3. на оператор;
  4. на строку;
  5. на отрезок между двумя позициями;

Может быть даже это doxygen какой-нибудь. Но точно не gitweb, потому что сделать надо без git.

Это должна быть self-hosted программа, а не НАТО0вский github какой-нибудь.

Программа должна быть на Java. Желательно она должна позволять логиниться и добавлять комментарии к избранным местам исходников. И обсуждения к комментариям.

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

Теги: #Грабить_корованы.

 ,

Shushundr
()

Чем вы руководствовались, когда выбирали LXQT в качестве DE?

Форум — Talks

Ну понятно, что она «лёгкая», что на Qt.

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

А выбирать её из-за того, что она на Qt - это вообще в корне неверно. GNome и его GTK это истинно опенсорсная разработка (в отличие от Qt), и ПОЭТОМУ использовать её более идеологически верно.

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

 

Shushundr
()

LibgenDesktop

Форум — Desktop

«Libgen Desktop is a Windows application for browsing a local copy of LibGen catalog. The application uses embedded SQLite database engine to store and retrieve catalog data. Current LibGen catalog can be imported in the form of SQL dump. Faster incremental catalog updates for the main collection using JSON API are supported. You can search by title/authors/series/publisher or ISBN or DOI in case of scientific articles.»

А бывает ли такое же под linux? https://github.com/libgenapps/LibgenDesktop

 libgen

Shushundr
()

Идея по сохранению web-страниц в SVG

Форум — Web-development

По аналогии с web.archive.org

Суть такова:

  • можно HTML отрендерить в .svg
  • в svg можно вставлять растровые изображения непосредственно (элемент image), а данные в них в base64 через data uri.
  • svg позволяет гиперссылки изнутри куда попало
  • внутрь svg можно помещать JavaScript

Таким образом, можно

  • сохранить динамическую станицу из HTML в SVG, при этом можно её связать с локальными копиями других страниц
  • иметь по одному файлу на страницу
  • и возможно даже сохранить интерактивность (если она не требует серверной части)

Можно было бы сохранять в HTML точно так же (как делала программа Teleport), но svg дополнительно позволяет зафиксировать формат рендеринга (например печать на A4).

А ты печатай страницы в .pdf сразу, там тоже можно гиперссылки, javascript, внедрять изображения и устанавливать формат, скажете вы. Ну так в .pdf уже везде печать есть, а в .svg ещё не сделали.

Кроме того, .svg отображается движками браузера (то есть быстрее), а .pdf отображается через pdf.js (то есть медленнее). Ещё поиск в svg наверное проще сделать, чем в pdf, так как первый формат текстовый, а второй бинарный.

SVG использует более открытый стандарт шрифтов WOFF, а не закрытые всякие TrueType от Apple с Microsoft

UPD: уже придумали до меня

 

Shushundr
()

Шелл на Груви

Форум — Admin

Существует ли какой-нибудь shell (типа bash) на основе Apache Groovy ?

«the Groovy repl-like shell»
https://groovy-lang.org/groovysh.html

Если да, то где почитать сравнение с MS PowerShell (pash - это его независимая опенсорсная реимплементация) ?

Это я к тому, что кто-то недавно тут хотел делать новый дистрибутив. Ну вот идея - заменить в Gentoo bash на groovish.

Лучше бы, конечно, вместо Java и всего такого там был бы JavaScript (например на Deno), но там я не знаю нужные имена (Bun Shell, zx.js).

 , , pash,

Shushundr
()

какие сейчас флешки модные?

Форум — Linux-hardware

Хотел такую купить - TS64GJF750K, но там какой-то софт (для парольной защиты) под андроид, и я не знаю, опенсорсный он или нет.

Ещё видел флешки по 1TB с двумя разъёмами - Type A и Type C.

В общем, что посоветуете для обновления криокамеры? Опенхардварное желательно, под линукс, надёжное и всё такое.

 

Shushundr
()

Запилят ли в Firefox поддержку PJVG?

Форум — Talks

«Portable JSON Vector Graphics specification»

https://opengraphics.github.io/pjvg/

Если да, то как вы оцениваете сроки?
(1996-1998 - начата разработка SVG, 2011 - SVG начал более-менее поддерживаться браузерами, всего 15 лет)

Ранее по теме:
Векторная графика в Mozilla

 ,

Shushundr
()

Как вообще пользоваться Flexbox-ами?

Форум — Web-development

Вот требования к коду:

  1. Форма должна иметь ширину, достаточную для размещения всех ее элементов без переноса строк.
  2. Внутри формы должно быть одно поле ввода и две кнопки.
  3. Элементы формы (поле ввода и кнопки) должны быть расположены в две строки.
  4. Поле ввода должно занимать всю ширину формы.
  5. Две кнопки должны быть одинакового размера, независимо от длины их содержимого.
  6. «white-space: nowrap;» надо оставить, чтобы тексты кнопок не разрывались на несколько строк
  7. Не должно быть лишних стилей или элементов, которые не требуются для достижения этих целей.

Вот код:

<form style="display: flex; flex-direction: column; flex-grow: 1; flex-basis: auto; width: max-content;">
  <input type="text" placeholder="Текст" style="width: 100%;">
  <div id="buttons" style="display: flex; flex-basis: auto; width: calc (2 * max-content);">
    <button type="submit" style="white-space: nowrap; width: 50%;">Кнопка 1</button>
    <button type="submit" style="white-space: nowrap; width: 50%;">Длинная Кнопка</button>
  </div>
</form>

Что не так с этим кодом?
Почему элемент input не равен по ширине элементу с id=«buttons»?
как добиться одновременно ограниченного размером контента размера формы и кнопок одинаковой ширины?

 

Shushundr
()

Как создать БД при помощи FlyWay?

Форум — Development

я что-то её не вижу вообще:
http://gpo.zugaina.org/Search?search=flyway

чем flyway отличается от liquibase?
http://gpo.zugaina.org/Search?search=liquibase

Исходные тексты (для Maven) там:
https://github.com/flyway/flyway

Тема для Development, потому что предыдущая тема была про Web-Development.
А вот вопрос про включение в .war был в Development, а не в Web-Development.
Ещё тема.
Так-то для Admin, наверное, но это неточно.

 , ,

Shushundr
()

Экранный переводчик для иероглифов

Форум — Desktop

Читаете вы, к примеру, .pdf-файл, а в нём иероглифы картинками (не скопировать в поиск). Существует ли (опенсорсная) программа, в которой я мог бы выделить прямоугольником нужное место на экране, а она бы переводила этот иероглиф на русский язык. Какой пакет устанавливать в Gentoo ?

UPD: «Xrectsel» - это небольшая программа, которая позволяет пользователю выделять прямоугольник на экране мышью и выводить координаты этого прямоугольника в стандартный вывод.

Эти координаты можно затем использовать с программой «Capture2Text» для распознавания текста в выделенном регионе. «Capture2Text» - это консольная программа, которая позволяет пользователю указать координаты прямоугольника на экране, а затем она делает скриншот этого региона и распознает текст в нем с помощью Tesseract OCR.

Для работы с Tesseract OCR вам понадобится установить пакет «tesseract» в Gentoo. Кроме того, вам также понадобится пакет «tesseract-data-chi_sim» или «tesseract-data-chi_tra» для поддержки китайских иероглифов.

Ой-йёо, ОЙ-ЙЁО !!!

Нет в генте пакета для capture2text…

 ,

Shushundr
()

Как натренировать себе сеть?

Форум — General

Мне за последнее время локально гоняемые LLM’ки (llama, deepseek-coder, mistral и другие) очень бустанули прогресс

Что для этого нужно? У меня, допустим, есть библиотека в Calibre из .pdf и djvu-файлов.
Я же не смогу их загнать в такую сеть, потому что распознавание у tesseract низкокачественное, высококачественное надо руками доделывать и это гигантская работа.

Как потом использовать это локально, какие процессоры (только CPU или GPU тоже) и сколько памяти нужно?

Как долго займёт тренировка и можно ли её выполнить на арендованных мащностях, чтобы после себе только модель скачать? Где делать, сколько это стоит?

Если всё сложно, то организовывают ли люди для этого потребкооперативы, или может коммерческие организации какие есть?

UPD: Ещё нужен учебник, потому что люди вокруг разговаривают непонятными словами.

 ,

Shushundr
()

Что такое «денотационная семантика»?

Форум — Science & Engineering

Кто такой Окасаки и за что его надо почитать?

2016, Окасаки Крис, Чисто функциональные структуры данных
1996, Chris Okasaki, Purely Functional Data Structures, 162 страницы

Википедия совсем другое пишет:

Денотационная семантика (англ. denotational semantics) выражениям в программе ставит в соответствие настоящие математические объекты, то есть, выражения обозначают (англ. to denote — откуда «денотационная») их величины)
Важнейшие, в том числе пионерские, результаты построения денотационных семантик получены в работах Д. Скотта (Dana Scott) и К. Страчей (Christopher Strachey) в конце 1960-х — начале 1970-х в Оксфордском университете

Бестиповое λ-исчисление

1557, Роберт Рекорд (Recorde Robert), The Whetstone of Witte, 332 страницы (Оксфордский университет)
ввёл знак (символ) для обозначения равенства = в 1557 году (в 16-м (XVI) веке).
«В континентальной Европе знак = был введён Лейбницем только на рубеже XVII—XVIII веков, то есть более чем через 100 лет после смерти Роберта Рекорда.»

1936, Алонзо Чёрч, An Unsolvable Problem of Elementary Number Theory (Принстонский университет)
представил безтиповое лямбда-исчисление в статье «Унифицированная теория формальных систем», опубликованной в апреле 1936 года в журнале American Journal of Mathematics.

Переменные: x, y, z, … являются λ-термами.
Абстракция: Если M λ-терм и x — переменная, то (λx.M) — λ-терм (называется абстракцией).
Аппликация: Если M и N λ-термы, то (M N) — λ-терм (называется аппликацией).

само по себе λ-исчисление — это лишь синтаксис, набор правил для работы с символами.

Чтобы оно «обрело смысл» или «семантику», нужно связать эти символы с чем-то осмысленным, например, с математическими объектами.

Смысл (семантика) в данном контексте означает, что каждый термин λ-исчисления будет интерпретироваться как некоторый математический объект, а операции над терминами будут соответствовать операциям над этими объектами.

Двоичное и десятичное

Можно определить функции:

  • добавления единицы
  • удвоения
  • удесятирения

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

Аппликативный синтаксис

Аппликативный синтаксис эволюционировал из работ Шёнфинкеля, Карри и Чёрча. Функции обозначаются переменными или лямбда-абстракциями. Именование функций в аппликативном синтаксисе безтипового лямбда-исчисления осуществляется через присвоение переменным абстракций. Алонзо Чёрч (Alonzo Church), хотя и известен своей нотацией с лямбда-абстракцией и явными скобками, в некоторых своих работах также использовал более компактные формы записи, близкие к аппликативному синтаксису, особенно при работе с комбинаторами. Например, вместо того чтобы постоянно писать λx.x+1, он мог ввести сокращение f для этой функции, это записывалось в духе:

f≡λx.x+1

Таким образом, Чёрч ввёл операцию именования как связь между лямбда-выражением и символическим именем. Однако он ещё не привязал это к конкретному синтаксису, так как его работа была сосредоточена на чистой теории. Именование как операция — это идея Чёрча, использование для неё знака равенства закрепилось благодаря разработчикам функциональных языков, создатель MetaLanguage (ML) - Робин Милнер (1970-е годы).
Лямбда-абстракция (определение анонимной функции) записывается как λx.t, где x — аргумент, а t — тело функции.
Определим переменную f и присвоим ей лямбда-выражение (имеющее в безтиповом λ-исчислении единственный возможный для переменных тип «функция») в качестве значения, например функцию, которая возвращает переданный аргумент:

f=(λx.x)
f=λx.x

Теперь мы можем использовать переменную f в выражениях. Применим f к другому лямбда-выражению, например, (λy.y):

((λx.x) (λy.y))
((f) (λy.y))

В аппликативном синтаксисе приложение функции f к аргументу x записывается как

f λy.y

без скобок, a применение функции g к двум аргументам w и z — как

g w z 

Бесскобочность достигается за счёт соглашения о левоассоциативности (см. также Каррирование). Выражение g w z интерпретируется как (g w) z, то есть сначала g применяется к w, а затем результат применяется к z.

Семантика

Теоретико-множественный подход
Категорный подход

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

нужно:

  • Определить множество D, элементы которого будут значениями λ-выражений
    Без такого множества D мы не можем корректно описать, что означают выражения λ-исчисления. Мы не можем сказать, какие у них значения. А без возможности приписать выражениям значения нельзя говорить об их смысле. Без подходящего D мы не можем задать интерпретацию термов и операций λ-исчисления.
  • Интерпретировать функции как элементы этого множества
    (D должно содержать все функции из D в D, то есть D должно содержать множество всех функций D → D)

построение такого множества D - нетривиальная математическая задача (из-за парадокса Кантора). Ее решение привело к развитию теории доменов и других разделов математики.

идея фиксированной точки, когда D строится как фиксированное множество, удовлетворяющее

D≅D→D

И вот в этом месте я не осилил. Разъясните, бегом пожалуйста, люди злые добрые.

Как мне этим вашим лямбда-исчислением описать байт, его значения, и операции с ним? Нумералы Чёрча (функции с двумя параметрами) я могу написать, но дальше дело не идёт.

 ,

Shushundr
()

Категории пакетов и сторонние репозитории

Форум — Talks

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

Кроме этого ещё есть фича «репозитории сторонних разработчиков». Это когда команда дистрибутива настолько гадкая, что разработчики её сторонятся.

Сторонние репозитории делятся на два вида - либо по какой-нибудь технологии (типа Java, Haskell, Ruby), либо это персональные репозитории. Первые - командные, вторые - асоциальные.

Стандарта на то, как называть категории нет. Есть категория про текстовые редакторы, есть про серверы web-приложений и другие.

А что если категории называть по именам (командных) репозиториев? Какие ждут грабли, и чем это будет нехорошо?

 ,

Shushundr
()

Как работают сервисы youtube и rutube?

Форум — Talks

Хотелось бы опенсорсную утилиту, которая бы работала как сайт, я ей даю список URL-ов, она их там скачивает, я на следующий день получаю комплект файлов для просмотра. Мне на Java (а не через консоль с этими вашими youtube-dl).

Я спросил у LLM и она сказала мне:

  1. изучай протоколы DASH или HLS
  2. требуется собрать видео и аудио потоки вместе
  3. Некоторые видео защищены с помощью DRM, и их скачать практически невозможно
    (и это расстраивает меня)
  4. изучай YouTube Data API, YouTube Analytics API и YouTube Live Streaming API
    (а это сложно и надолго)
  5. ещё потребуется:
  • Использование HTTP-клиента (например, HttpURLConnection или библиотеки OkHttp).
  • Разбор HTML-кода страницы YouTube (с помощью библиотек вроде Jsoup).

Никто не видел готового для self-хостинга (чтобы без рекламы)?

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

 ,

Shushundr
()

Книги про то как пишут текстовые редакторы (посоветуйте)

Форум — Desktop

Я имею в виду графические текстовые редакторы, те, которые ещё не текстовые процессоры, но уже умеют изображать шрифты на экране (через X11).

По причинам неразвитости цифровых технологий, понятно, что по российским технологиям вроде редактора «Лексикон» таких книг нет.

Я даже не знаю, а существуют ли какие-то российские опенсорсные редакторы сейчас (как живые проекты).

Понятно, что софт в наше время продать нельзя (слишком много альтернатив, слишком мало российских магазинов, один только RuStore и есть).

Но можно было бы сделать веб-сервис. Хостинговые компании показывают, что в принципе на сайте принимать деньги можно.

 , , ,

Shushundr
()

Существуют ли альтернативы подсчёту количества ссылок?

Форум — Desktop

В составе Libre Office есть кусок
UNO Runtime Environment (URE)
который занимается тем, что обеспечивает взаимодействие между объектами разных процессов.

На мой взгляд в C# эта же штука (Remoting) была сделана лучше, так как позволяла плагинам работать в отдельных процессах и крашиться. Там были Lease, которые позволяли проверять - жив ещё соседний процесс или уже умер. Хотя в принципе без разницы, внутримашинная она или межмашинная, только типы каналов различаются - shared memory или tcp. При Reference Counting такого нет. Умер один процесс - легла вся программа. Что не позволяет допускать к разработке непроверенных разработчиков (например из России). Плохо, что в mono такую замечательную технологию протеряли.

Вопрос - а существует ли альтернатива этому UNO/URE, которая работает не на основе глобального RC, а на основе сборки мусора (хотя бы внутри одной оси / машины).

UPD: предлагают протокол JERI с сайта https://river.apache.org/
что скажете?

 , ,

Shushundr
()

Сколько книг из серии ЖЗЛ вы прочитали?

Форум — Talks

https://ru.wikipedia.org/wiki/Список_книг_серии_«Жизнь_замечательных_людей»

Про Стивена Джобса есть, №1857

Какие из них наиболее полезны для члена опенсорс-сообщества, и почему?

 

Shushundr
()

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