Nexi's channel
https://github.com/the-nexi/yggtray Некоторое время работаю над Yggtray - утилитой для управления демоном оверлейной сети Yggdrasil для GNU/Linux. Yggdrasil - по сути одна большая общемировая локальная ipv6 сеть, работающая поверх интернета, внутри которой…
Я кстати тоже приложил к этому проекту руки (и голову.)
Надо будет теперь упаковать в GNU Guix это.
#projects
Надо будет теперь упаковать в GNU Guix это.
#projects
🔥2
#projects
Примерно месяц назад мне прислали отчёт об ошибке в Guile-ICS. Вот наконец добрался до проекта. Потратил несколько часов на обдумывание и написание кода, запушил решение:
https://github.com/artyom-poptsov/guile-ics/commit/b141d51d4712290065fa61e2084fb1e2262b5cae
Если кратко, то теперь Guile-ICS должен правильно читать рекурсивные определения объектов, с произвольным уровнем вложенности.
Примерно месяц назад мне прислали отчёт об ошибке в Guile-ICS. Вот наконец добрался до проекта. Потратил несколько часов на обдумывание и написание кода, запушил решение:
https://github.com/artyom-poptsov/guile-ics/commit/b141d51d4712290065fa61e2084fb1e2262b5cae
Если кратко, то теперь Guile-ICS должен правильно читать рекурсивные определения объектов, с произвольным уровнем вложенности.
GitHub
Doesn't like nested components · Issue #3 · artyom-poptsov/guile-ics
Hi! First of all thanks for building this library, it's really useful! While making use of it in a Guile project of mine, I noticed that guile-ics doesn't seem to play well with .ics files ...
🔥1
memory heap
#projects Примерно месяц назад мне прислали отчёт об ошибке в Guile-ICS. Вот наконец добрался до проекта. Потратил несколько часов на обдумывание и написание кода, запушил решение: https://github.com/artyom-poptsov/guile-ics/commit/b141d51d4712290065f…
Парсер в Guile-ICS компилируется из описания конечного автомата в PlantUML, с помощью компилятора Guile-SMC, также написанного мной. Вот текущая диаграмма состояний для автомата.
#projects
#projects
🔥3
memory heap
#projects Примерно месяц назад мне прислали отчёт об ошибке в Guile-ICS. Вот наконец добрался до проекта. Потратил несколько часов на обдумывание и написание кода, запушил решение: https://github.com/artyom-poptsov/guile-ics/commit/b141d51d4712290065f…
Пример использования команды
#projects
ics describe из состава Guile-ICS на тестовых данных в формате iCalendar.#projects
🔥2
Выпустил релиз Guile-ICS 0.7.0:
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.7.0
Основные изменения:
- Guile-ICS теперь корректно читает объекты с более, чем двумя уровнями вложенности. Проблема была зарепорчена Sören Tempel.
- Также теперь парсер позволяет читать неизвестные компоненты объектов.
- Парсер теперь корректно обрабатывает EOF ("End Of File" — символ конца файла) внутри контент-строк. Вместо общей ошибки от Guile теперь выкидывается
-
- Расширен набор тестов.
#projects #guile_ics #guile
https://github.com/artyom-poptsov/guile-ics/releases/tag/v0.7.0
Основные изменения:
- Guile-ICS теперь корректно читает объекты с более, чем двумя уровнями вложенности. Проблема была зарепорчена Sören Tempel.
- Также теперь парсер позволяет читать неизвестные компоненты объектов.
- Парсер теперь корректно обрабатывает EOF ("End Of File" — символ конца файла) внутри контент-строк. Вместо общей ошибки от Guile теперь выкидывается
content-line-error.-
ics describe теперь печатает описание компонентов, в том числе, ссылку на соответствующий раздел RFC.- Расширен набор тестов.
#projects #guile_ics #guile
GitHub
Release v0.7.0 · artyom-poptsov/guile-ics
Table of Contents
Changes in version 0.7.0 (2025-03-02)
Allow to read ICS objects with arbitrary level of nesting:BUGFIX:API_CHANGE:
Properly handle EOFs in content lines
Expand the test suite
ic...
Changes in version 0.7.0 (2025-03-02)
Allow to read ICS objects with arbitrary level of nesting:BUGFIX:API_CHANGE:
Properly handle EOFs in content lines
Expand the test suite
ic...
⚡2
Реализовал в Guile-PNG консольную утилиту, позволяющую получать описание содержимого PNG-файлов.
#projects #guile_png
#projects #guile_png
⚡3🔥2
Выпустил релиз Guile-PNG 0.8.0:
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.8.0
Основные изменения в новой версии:
- Реализована утилита для вывода человеко-читаемой информации в формате org-mode об PNG изображении. Утилита снабжена man-страницей.
- Новый тип
- Новый модуль
#projects #guile #guile_png
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.8.0
Основные изменения в новой версии:
- Реализована утилита для вывода человеко-читаемой информации в формате org-mode об PNG изображении. Утилита снабжена man-страницей.
- Новый тип
<square> в модуле (png graphics rectangle).- Новый модуль
(png version), который содержит процедуры для получения информации о текущей версии Guile-PNG.#projects #guile #guile_png
GitHub
Release v0.8.0 · artyom-poptsov/guile-png
Table of Contents
Changes in version 0.8.0 (2025-03-29)
Implement a CLI tool for printing PNG data
New CODE_OF_CONDUCT.org file
(png version): New module
Changes in (png graphics rectangle)
<...
Changes in version 0.8.0 (2025-03-29)
Implement a CLI tool for printing PNG data
New CODE_OF_CONDUCT.org file
(png version): New module
Changes in (png graphics rectangle)
<...
🔥2
Выявил проблему с реализацией алгоритма Брезенхэма в Guile-PNG — в пятом октанте по ошибке выполнялось вычитание вместо деления, из-за этого угол линии был ~32 градуса вместо необходимых 30.
На скриншоте показано, как я в GIMP смотрел, где появляется ошибка в тестовом примере.
Исправил, теперь могу рисовать шестигранники-соты.
#guile #projects #guile_png
На скриншоте показано, как я в GIMP смотрел, где появляется ошибка в тестовом примере.
Исправил, теперь могу рисовать шестигранники-соты.
#guile #projects #guile_png
#projects #guile_ics #guile #scheme
Несколько дней работал над улучшением Guile-ICS (мне тут недавно написали issue на GitHub с просьбой реализовать нормальную поддержку
Теперь поддержка есть, только нехватает ещё вспомогательных процедур для работы с повторяющимися событиями.
Вот, как пример, вывод консольной утилиты для работы с форматом iCalendar, базирующейся на API библиотеки и поставляющейся вместе с ней. Здесь можно видеть разобранный и затем склеянный обратно (для красивого вывода) параметр
Значения параметров повторения теперь не только парсятся, но и проверяются на корректность. Библиотека не только бросается ошибками при некорректных значениях, но ещё и выдаёт справку по использованию данных параметров — по сути, куски RFC.
Несколько дней работал над улучшением Guile-ICS (мне тут недавно написали issue на GitHub с просьбой реализовать нормальную поддержку
RRULE — параметров повторяемости событий календаря.)Теперь поддержка есть, только нехватает ещё вспомогательных процедур для работы с повторяющимися событиями.
Вот, как пример, вывод консольной утилиты для работы с форматом iCalendar, базирующейся на API библиотеки и поставляющейся вместе с ней. Здесь можно видеть разобранный и затем склеянный обратно (для красивого вывода) параметр
RRULE:$ ./pre-inst-env ./utils/ics rrule.ics
BEGIN: VCALENDAR
BEGIN: VEVENT
RRULE (RECUR): FREQ=YEARLY; INTERVAL=2; BYMINUTE=30; BYHOUR=8,9,10; BYDAY=SU; BYMONTH=1
END: VEVENT
END: VCALENDAR
Значения параметров повторения теперь не только парсятся, но и проверяются на корректность. Библиотека не только бросается ошибками при некорректных значениях, но ещё и выдаёт справку по использованию данных параметров — по сути, куски RFC.
GitHub
GitHub - artyom-poptsov/guile-ics: iCalendar/vCard parser for GNU Guile.
iCalendar/vCard parser for GNU Guile. Contribute to artyom-poptsov/guile-ics development by creating an account on GitHub.
🔥1
Выпустил Guile-SMC 0.6.4 с исправлением ошибок:
https://github.com/artyom-poptsov/guile-smc/releases/tag/v0.6.4
Основное исправление — Make больше не запускает генерацию целевого файла
#projects #guile #guile_smc #scheme
https://github.com/artyom-poptsov/guile-smc/releases/tag/v0.6.4
Основное исправление — Make больше не запускает генерацию целевого файла
puml-fsm.scm из исходгого puml.puml, когда исходный поменялся. Вместо этого генерация запускается только тогда, когда puml-fsm.scm удалён. Это позволяет избежать иногда возникающих ситуаций, когда система сборки пытается сгенерировать puml-fsm.scm из puml.puml без наличия установленного Guile-SMC в системе, что приводило к ошибке (так как для этого нужен Guile-SMC.)#projects #guile #guile_smc #scheme
GitHub
Release v0.6.4 · artyom-poptsov/guile-smc
Table of Contents
Version 0.6.4 (2025-07-21)
Fix compilation of puml-fsm.scm from puml.puml
README.org: Improve the description of the manual installation process
Modernize guix.scm
Add a new tes...
Version 0.6.4 (2025-07-21)
Fix compilation of puml-fsm.scm from puml.puml
README.org: Improve the description of the manual installation process
Modernize guix.scm
Add a new tes...
Наконец-то добрался до своих FOSS-проектов. Замёржил в Guile-DSV патч от Denis 'GNUtoo' Carikli, добавляющий возможность указывать собсвтенную процедуру для нарезки строк при форматировании таблицы.
Попутно внёс ещё несколько небольших улучшений.
#guile #scheme #projects #guile_dsv
Попутно внёс ещё несколько небольших улучшений.
#guile #scheme #projects #guile_dsv
GitHub
modules/dsv/table: add 'string-slice" option by GNUtoo · Pull Request #12 · artyom-poptsov/guile-dsv
modules/dsv/table.scm (format-table, table-wrap, table-wrap-row):
Add "string-slice" option.
Signed-off-by: Denis 'GNUtoo' Carikli [email protected]
Add "string-slice" option.
Signed-off-by: Denis 'GNUtoo' Carikli [email protected]
Исправил баг в Guile-DSV:
https://github.com/artyom-poptsov/guile-dsv/commit/cdd573840c5c750be698543f289b1363abe2a631
#projects #scheme #lisp
https://github.com/artyom-poptsov/guile-dsv/commit/cdd573840c5c750be698543f289b1363abe2a631
#projects #scheme #lisp
GitHub
dsv/fsm/rfc4180.puml: Bugfix: Properly handle LFs in empty rows · artyom-poptsov/guile-dsv@cdd5738
Guile-DSV would fail to read RFC4180 format properly when faced with data that
uses empty rows with plain "LF" line endings. This patch fixes that
behavior.
Reported by mooseybo...
uses empty rows with plain "LF" line endings. This patch fixes that
behavior.
Reported by mooseybo...
Выпустил релиз Guile-DSV 0.8.0:
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.8.0
В новой версии:
- Исправлен баг с чтением данных в формате RFC4180, где строки заканчиваются символом "LF", вместо рекомендуемой в RFC комбинации "CRLF". Теперь данные читаются корректно. Хотя это поведение не соответствует стандарту RFC4180, в данном случае Guile-DSV придерживается принципа надёжности ("Будь корсервативен в том, что отправляешь — и либеральным в том, что принимаешь.")
- Новые параметры для процедур в модуле
- Обновлена документация: теперь в Info документации подробно расписаны параметры таблицы; кроме того, добавлено описание новых параметров процедур.
- Файл
#projects #scheme #lisp
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.8.0
В новой версии:
- Исправлен баг с чтением данных в формате RFC4180, где строки заканчиваются символом "LF", вместо рекомендуемой в RFC комбинации "CRLF". Теперь данные читаются корректно. Хотя это поведение не соответствует стандарту RFC4180, в данном случае Guile-DSV придерживается принципа надёжности ("Будь корсервативен в том, что отправляешь — и либеральным в том, что принимаешь.")
- Новые параметры для процедур в модуле
(dsv table): Процедуры format-table, table-wrap и table-wrap-row теперь принимают параметр string-slice, который позволяет контролировать, как столбцы таблицы вписываются в требуемую ширину. Процедуры table-wrap и format-table теперь принимают параметр calculate-cell-widths, который позволяет изменить поведение Guile-DSV при подсчёте ширины столбцов таблицы.- Обновлена документация: теперь в Info документации подробно расписаны параметры таблицы; кроме того, добавлено описание новых параметров процедур.
- Файл
README обновлён, теперь он более читаемый и информативный.#projects #scheme #lisp
GitHub
Release v0.8.0 · artyom-poptsov/guile-dsv
Table of Contents
Changes in version 0.8.0 (2025-11-02)
rfc4180.puml: Bugfix: Properly handle LFs in empty rows
(dsv table): Improve the API
New "string-slice" option
New "calcula...
Changes in version 0.8.0 (2025-11-02)
rfc4180.puml: Bugfix: Properly handle LFs in empty rows
(dsv table): Improve the API
New "string-slice" option
New "calcula...
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
Разработано крепление для рёбер жёсткости большого принтера REPLICADR-L, на основе резьбовых шпилек М8. Распечатали тестовый образец, скорректировали небольшие ошибки.
#projects #replicadr #freecad
#projects #replicadr #freecad
🔥2
Артём Попцов, "Yggdrasil: IPv6 в массы!":
https://www.youtube.com/watch?v=eicZHM5cE2A
Моё выступление в Нижнем Новгороде на конференции 20 сентября 2025 года от ITGorky (https://itgorky.ru/) про меш-сеть Yggdrasil.
Слайды презентации:
https://github.com/artyom-poptsov/talks/tree/master/yggdrasil
Проект Yggdrasil:
https://yggdrasil-network.github.io/
Проект Yggtray:
https://github.com/the-nexi/yggtray
Спасибо за видеозапись и помощь в проведении доклада Илье Ильиных (https://t.iss.one/kydavoiti).
#me #yggdrasil #yggtray #projects #talks
https://www.youtube.com/watch?v=eicZHM5cE2A
Моё выступление в Нижнем Новгороде на конференции 20 сентября 2025 года от ITGorky (https://itgorky.ru/) про меш-сеть Yggdrasil.
Слайды презентации:
https://github.com/artyom-poptsov/talks/tree/master/yggdrasil
Проект Yggdrasil:
https://yggdrasil-network.github.io/
Проект Yggtray:
https://github.com/the-nexi/yggtray
Спасибо за видеозапись и помощь в проведении доклада Илье Ильиных (https://t.iss.one/kydavoiti).
#me #yggdrasil #yggtray #projects #talks
YouTube
Артём Попцов, "Yggdrasil: IPv6 в массы!"
Моё выступление в Нижнем Новгороде на конференции 20 сентября 2025 года от ITGorky (https://itgorky.ru/) про меш-сеть Yggdrasil.
Слайды презентации:
https://github.com/artyom-poptsov/talks/tree/master/yggdrasil
Проект Yggdrasil:
https://yggdrasil-network.github.io/…
Слайды презентации:
https://github.com/artyom-poptsov/talks/tree/master/yggdrasil
Проект Yggdrasil:
https://yggdrasil-network.github.io/…
⚡2🔥1