* [Comm] Отладочное логирование модулей alterator
@ 2025-09-22 17:34 Alexander Lubyagin
2025-09-23 6:06 ` Michael Shigorin
0 siblings, 1 reply; 7+ messages in thread
From: Alexander Lubyagin @ 2025-09-22 17:34 UTC (permalink / raw)
To: community
Добрый день.
Как включить и отслеживать логи альтератора, его модулей?
Например, если модуль не появляется в меню - и надо выяснить причину.
--
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Отладочное логирование модулей alterator
2025-09-22 17:34 [Comm] Отладочное логирование модулей alterator Alexander Lubyagin
@ 2025-09-23 6:06 ` Michael Shigorin
2025-09-23 6:27 ` [Comm] " Sergey V Turchin
0 siblings, 1 reply; 7+ messages in thread
From: Michael Shigorin @ 2025-09-23 6:06 UTC (permalink / raw)
To: community
On Mon, Sep 22, 2025 at 08:34:50PM +0300, Alexander Lubyagin wrote:
> Как включить и отслеживать логи альтератора, его модулей?
http://altlinux.org/alterator/debug
> Например, если модуль не появляется в меню - и надо выяснить причину.
Если alteratord был перезапущен -- значит, у конкретного модуля
нет реализации для конкретного вывода (попытки обобщить вывод
для gui и веба обдумывались, но в итоге были отброшены; по сути
это была задачка на js-тулкит либо webkit и в ~2007 она выглядела
так себе, да и сейчас реализации чудовищны).
--
Michael Shigorin
http://altlinux.org/elbrus
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Comm] Re: Отладочное логирование модулей alterator
2025-09-23 6:06 ` Michael Shigorin
@ 2025-09-23 6:27 ` Sergey V Turchin
2025-09-23 8:18 ` [Comm] " Alexander Lubyagin
2025-09-23 11:32 ` Michael Shigorin
0 siblings, 2 replies; 7+ messages in thread
From: Sergey V Turchin @ 2025-09-23 6:27 UTC (permalink / raw)
To: community
On Tuesday, 23 September 2025 09:06:38 MSK Michael Shigorin wrote:
> On Mon, Sep 22, 2025 at 08:34:50PM +0300, Alexander Lubyagin wrote:
> > Как включить и отслеживать логи альтератора, его модулей?
>
> http://altlinux.org/alterator/debug
>
> > Например, если модуль не появляется в меню - и надо выяснить причину.
>
> Если alteratord был перезапущен -- значит, у конкретного модуля
> нет реализации для конкретного вывода (попытки обобщить вывод
> для gui и веба обдумывались, но в итоге были отброшены;
Нет. Просто, остались неокончены. AFAIK Inger не переставал работать над
сведением обоих UI в один в своё время, но не доделал. После него оказалось
некому этим заниматься.
> по сути
> это была задачка на js-тулкит либо webkit и в ~2007 она выглядела
> так себе, да и сейчас реализации чудовищны).
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Отладочное логирование модулей alterator
2025-09-23 6:27 ` [Comm] " Sergey V Turchin
@ 2025-09-23 8:18 ` Alexander Lubyagin
2025-09-23 8:29 ` [Comm] " Sergey V Turchin
2025-09-23 11:51 ` [Comm] " Michael Shigorin
2025-09-23 11:32 ` Michael Shigorin
1 sibling, 2 replies; 7+ messages in thread
From: Alexander Lubyagin @ 2025-09-23 8:18 UTC (permalink / raw)
To: community
23.09.2025 09:27, Sergey V Turchin пишет:
>> Если alteratord был перезапущен -- значит, у конкретного модуля
>> нет реализации для конкретного вывода (попытки обобщить вывод
>> для gui и веба обдумывались, но в итоге были отброшены;
> Нет. Просто, остались неокончены. AFAIK Inger не переставал работать над
> сведением обоих UI в один в своё время, но не доделал. После него оказалось
> некому этим заниматься.
Вопрос немного в сторону. А почему для определения обработчиков событий
(<module>/ui/<name>/ajax.scm) выбрано задание списочной структуры на
Scheme (Guile)? Ведь древовидную структуру можно определить на любом
скриптовом языке, поддерживающем ООП (к примеру). Да и просто в
текстовом файле. А бэкенд нынче модно писать на Python. Правда, я не
знаю, насколько он безопаснее Scheme, т.к. под трассировщиком "сыплет"
много лишнего мусора при вызове своих библиотек. Возможно, Scheme в этом
смысле "чище" работает. А вместо Питона для бэкенда (если выбирать его)
я бы брал какую-то его минимализированную версию, из которой выкинуты
"опасные" функции.
Основная кодовая база, как я вижу, компилируется в бинарники
/usr/lib/alterator/interfaces/guile/*.go
Рассуждая таким образом, я пришёл к мысли, что Scheme как раз не
позволяет делать "опасные" вещи типа os.system(), а обращается "с миром"
только через прописанные в interfaces/ интерфейсы.
Из книжек по нему я нашёл:
- Eisenberg, Abelson. Programming in Scheme (MIT, 1988);
- An Introduction to Scheme and its Implementation (1997);
- Concrete Abstractions An Introduction to Computer Science Using Scheme
- Max Hailperin, Barbara Kaiser, and Karl Knight (1999);
- Programming With Hygienic Macros - R K Dybvig (1992);
- SICP (1996);
- Simply Scheme Introducing Computer Science 2d ed - Brian Harvey ,
Matthew Wright (1999);
- Teach Yourself Scheme in Fixnum Days - Dorai Sitaram (2004);
- The Little Schemer 4th Ed (1986, 1996);
- The Seasoned Schemer - Daniel P. Fridman.
P. S.
Было бы также интересно поглядеть на версии alterator <= 1.0.1, на
которые ссылается alterator/changelog.old
Хорошо, что есть alterator/doc/internals/*.html (там есть даже todo.html
и evolution.html)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Comm] Re: Отладочное логирование модулей alterator
2025-09-23 8:18 ` [Comm] " Alexander Lubyagin
@ 2025-09-23 8:29 ` Sergey V Turchin
2025-09-23 11:51 ` [Comm] " Michael Shigorin
1 sibling, 0 replies; 7+ messages in thread
From: Sergey V Turchin @ 2025-09-23 8:29 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Tuesday, 23 September 2025 11:16:02 MSK Alexander Lubyagin wrote:
[...]
> Вопрос немного в сторону. А почему для определения обработчиков событий
> (<module>/ui/<name>/ajax.scm) выбрано задание списочной структуры на
> Scheme (Guile)?
Потому, что alterator на нём написан.
[...]
> Было бы также интересно поглядеть на версии alterator <= 1.0.1, на
> которые ссылается alterator/changelog.old
https://git.altlinux.org/gears/a/alterator.git
[...]
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Отладочное логирование модулей alterator
2025-09-23 6:27 ` [Comm] " Sergey V Turchin
2025-09-23 8:18 ` [Comm] " Alexander Lubyagin
@ 2025-09-23 11:32 ` Michael Shigorin
1 sibling, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2025-09-23 11:32 UTC (permalink / raw)
To: community
On Tue, Sep 23, 2025 at 09:27:55AM +0300, Sergey V Turchin wrote:
> AFAIK Inger не переставал работать над сведением обоих UI
> в один в своё время, но не доделал.
Помню, что он смотрел на qtwebkit, когда тот появился (qt4?).
Ещё припоминаю, что они с legion@ обдумывали подход к текстовому
варианту интерфейса (отсюда ноги http://ndk-xx.sourceforge.net/).
Это который в итоге придумали делать через links -- очень плохая
была идея, поскольку чтоб пользоваться результатом, нужны были
навыки, с которыми быстрей залезть по ssh и сделать в консоли
(ну или дёрнуть тот же alterator backend из неё) -- а вот сам
alterator ui api из-за этого остался "однокнопочным" (лишённым
свойств объекта, что крайне бы пригодилось при той же разбивке,
чтоб к этому самому меню свойств не мотаться от каждого раздела
вниз на край формы; и заодно без js в тогдашнем fbi, чем уже
slazav@ потом занимался, если ничего не путаю).
И вот если бы кто-то задумал исправление выявленных косяков
дизайна, не начиная совершенно другую пляску от совершенно
другой печки -- это продолжение имело бы право на имя.
А так очередной "израиль", не имеющий отношения к смыслу
собственно названия (точнее, имеющий -- противоположное).
--
Michael Shigorin
http://altlinux.org/elbrus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Отладочное логирование модулей alterator
2025-09-23 8:18 ` [Comm] " Alexander Lubyagin
2025-09-23 8:29 ` [Comm] " Sergey V Turchin
@ 2025-09-23 11:51 ` Michael Shigorin
1 sibling, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2025-09-23 11:51 UTC (permalink / raw)
To: community
On Tue, Sep 23, 2025 at 11:18:11AM +0300, Alexander Lubyagin wrote:
> Вопрос немного в сторону. А почему для определения обработчиков
> событий (<module>/ui/<name>/ajax.scm) выбрано задание списочной
> структуры на Scheme (Guile)?
Scheme выбрали как встраиваемый вариант LISP, поскольку
изначально альтератор был проектом на C++ со скриптовыми
привязками -- насколько помню, как раз из-за того, что на
лиспе единообразны код и базовые структуры данных, то есть
сериализация и метапрограммирование естественны для языка
(с этим, правда, вылезли и неожиданные побочные эффекты,
когда sbolshakov@ перебирал движок через глушитель,
пока нужные ему правки добиралсь в очередной выпуск;
в итоге inger@ запретил обычные присваивания и сделал
API с геттерами/сеттерами).
> Ведь древовидную структуру можно определить на любом скриптовом
> языке, поддерживающем ООП (к примеру). Да и просто в текстовом
> файле. А бэкенд нынче модно писать на Python.
Ну вон модные и пишут -- на python с dbus. Не понимая и того,
что отдельная шина управления -- это тоже фича, а не бага
(сравнивать тут стоит с IPMI, причём dedicated).
> Правда, я не знаю, насколько он безопаснее Scheme, т.к. под
> трассировщиком "сыплет" много лишнего мусора при вызове своих
> библиотек. Возможно, Scheme в этом смысле "чище" работает.
За всё это время в альтераторе при стороннем аудите
была найдена ровно одна уязвимость (алгоритмическая);
тогда же исправлена (уже очень давно).
> А вместо Питона для бэкенда (если выбирать его) я бы брал
> какую-то его минимализированную версию, из которой выкинуты
> "опасные" функции. Основная кодовая база, как я вижу,
> компилируется в бинарники
> /usr/lib/alterator/interfaces/guile/*.go
Да; с портированием байткодовой машинки в виде guile 1.8
на эльбрус возникли нетривиальные проблемы в 2017 году,
но с тех пор и сам guile переехал на libgc, и апстрим
libgc принял поддержку e2k (более того, заинтересовался).
> Рассуждая таким образом, я пришёл к мысли, что Scheme как раз
> не позволяет делать "опасные" вещи типа os.system(), а
> обращается "с миром" только через прописанные в interfaces/
> интерфейсы. Из книжек по нему я нашёл:
Гляньте http://altlinux.org/scheme :)
> - SICP (1996);
Есть и на русском:
http://r-5.org/files/books/computers/languages/lisp/Harold_Abelson_Gerald_Sussman_Julie_Sussman-SICP-RU.pdf
> P. S.
> Было бы также интересно поглядеть на версии alterator <= 1.0.1, на
> которые ссылается alterator/changelog.old
> Хорошо, что есть alterator/doc/internals/*.html (там есть даже todo.html
> и evolution.html)
Это надо смотреть альтовые дистрибутивы ~2001 года,
хотя если мне не изменяет склероз -- то из них
первая итерация альтератора входила в ИВК Кольчугу
и имела весьма ограниченное хождение.
--
Michael Shigorin
http://altlinux.org/elbrus
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-09-23 11:51 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-22 17:34 [Comm] Отладочное логирование модулей alterator Alexander Lubyagin
2025-09-23 6:06 ` Michael Shigorin
2025-09-23 6:27 ` [Comm] " Sergey V Turchin
2025-09-23 8:18 ` [Comm] " Alexander Lubyagin
2025-09-23 8:29 ` [Comm] " Sergey V Turchin
2025-09-23 11:51 ` [Comm] " Michael Shigorin
2025-09-23 11:32 ` Michael Shigorin
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git