memory heap
367 subscribers
2.51K photos
511 videos
52 files
3.09K links
science ∩ art = wonder

all memory blocks here are allocated by @a_v_p

GitHub: https://github.com/artyom-poptsov
Mastodon: https://fosstodon.org/@avp

https://memory-heap.org/~avp/
Download Telegram
Достаточно приятные цвета.
Forwarded from Hacker News
Nord – An Arctic, north-bluish color palette (🔥 Score: 158+ in 1 hour)

Link: https://readhacker.news/s/5qesX
Comments: https://readhacker.news/c/5qesX
Я и голубь Аркадий.

UPD: Я справа. Не перепутайте.
Forwarded from Влад
4
This media is not supported in your browser
VIEW IN TELEGRAM
Два типа людей перед грядущими праздниками

r/#FunnyAnimals
Выпустил релиз Guile-SSH 0.16.1:
https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.16.1

В новом релизе по-умолчанию выключены все тесты, которые требуют поддержки алгоритма DSA для публичных ключей. Дело в том, что начиная с версии libssh 0.10, поддержка DSA выключена в библиотеке по-умолчанию, и поскольку Guile-SSH использует libssh "под капотом", то при использовании libssh 0.10 тесты падали.

Теперь же, если поддержка DSA всё же нужна, то необходимо добавить опцию --enable-dsa при запуске скрипта configure.

В целом, Guile-SSH 0.16.1 не вносит изменения в API, однако стоит учитывать, что поддержка DSA будет полностью убрана из libssh в следующих релизах (пока что её можно включить при сборке libssh, через опцию -DWITH_DSA=on.)

#gnu #guile #projects #ssh
memory heap
Выпустил релиз Guile-SSH 0.16.1: https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.16.1 В новом релизе по-умолчанию выключены все тесты, которые требуют поддержки алгоритма DSA для публичных ключей. Дело в том, что начиная с версии libssh 0.10…
commit 194fd7d3e4e16c5bbd64062d55fa98b4d79e69df
Author: Artyom Poptsov <[email protected]>
Date: Sun May 12 01:30:36 2013 +0400

Initial commit.

12 мая 2013 года был сделан первый коммит в репозитории Guile-SSH. Более 1600 коммитов за 9 лет, 7 разработчиков, включая меня. Наличие в репозиториях GNU Guix, Ubuntu, Arch, Parabola, openSUSE, macOS и возможно каких-то других систем. Неожиданно успешный проект.

#projects #guile #ssh
4
Ломаю голову о дальнейшем развитии компилятора машин состояний Guile-SMC.

В библиотеке есть понятие контекста — то есть, некоторого объекта, который передаётся в обратные вызовы (callbacks) внутри ДКА.

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

На данный момент у меня получилось выделить следующие виды контекстов:
- Символьный (char) — для чтения потока символов (реализован.)
- Бинарный (binary) — для чтения потока байт (в процессе реализации.)
- Токенизатор (token) — для чтения потока токенов, разделённых согласно определённым правилам (например, символами-разделителями.)
- Построчный (line) — для построчного чтения данных.

Если брать этот набор контекстов, они должны покрывать большинство задач обработки данных (а если и не хватит их, то всегда можно создать свой контекст.)

Но при этом события, обрабатываемые ДКА, могут являться не только неким потоком данных, но и вообще чем угодно. Например, для ДКА чат-бота входные события — это поступающие запросы от пользователя; для обработчика сетевого протокола — это запросы по сети, по некоторому протоколу.

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

Конечная цель проекта — автоматизировать написание автоматов путём кодогенерации на основе выскокоуровневого описания ДКА в формате PlantUML. Это даёт возможность сразу же получать визуализацию направленного графа переходов, а не пост-фактум, как часто бывает при ручном написании кода.

#projects #fsm #guile #scheme #dev
1
Vagrant Cascadian нашёл ещё одну проблему в Guile-SSH, связанную с поддержкой libssh 0.10, пришлось править тесты, чтобы не падали, и выпускать новую версию Guile-SSH 0.16.2:
https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.16.2

Кстати, Vagrant Cascadian — сопровождающий пакета Guile-SSH в Debian и Ubuntu:
- https://tracker.debian.org/pkg/guile-ssh
- https://launchpad.net/ubuntu/+source/guile-ssh

Отправил в GNU Guix патч с обновлением Guile-SSH до 0.16.2:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60502

Теперь, насколько вижу, можно обновить libssh 0.10 в GNU Guix, не нарушая сборку Gule-SSH и без "грязных хаков" с патчингом кода Guile-SSH перед сборкой.

#gnu #guix #guile #ssh #projects
3