memory heap
365 subscribers
2.51K photos
512 videos
52 files
3.1K 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
Наконец-то появилась штука наподобие Doxygen для Scheme, которая парсит комментарии и docstrings из кода в формате Texinfo и создаёт на базе этого документацию по API проекта:
https://luis-felipe.gitlab.io/guile-documenta/

Автор Luis Felipe.

#guile #scheme #tools
3
Сделал сегодня небольшой кусок работы по Guile-SSH — исправил работу процедур из (ssh popen), чтобы они совпадали по поведению с open-pipe*:
https://github.com/artyom-poptsov/guile-ssh/issues/39

#projects #guile_ssh
🔥2
Выпустил релиз Guile-QR-Code v0.2.0, где реализовал возможность генерировать SVG-изображения:
https://github.com/artyom-poptsov/guile-qr-code/releases/tag/v0.2.0

Пример использования:
(use-modules (oop goops)
(qr-code))

(define (main args)
"Entry point."
(let* ((qr (qr-encode-text "hello world" #:ecl ECC-HIGH))
(svg (qr-code->svg-image qr)))
(display svg)
(newline)))


#guile #qr_code #generator #projects
🔥1
memory heap
Another Guile-PNG generative art: https://gist.github.com/artyom-poptsov/72fe27b7441f984262c99ee2b27082a8 #generative_art #art #guile_png #scheme
Экспериментальным способом получено изображение с повышенной шакальностью.

#generative_art #guile_png #scheme
🎃4
Смог добиться сборки Guile-SSH вместе с libssh 0.11. Изменения уже на ветке master и будут включены в следующий релиз.

#projects #guile #guile_ssh
🔥4
memory heap
#guix_patches Мой первый коммит в GNU Guix: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=e032a0f38ff3394816fdc29554933ce77c545eff Спасибо Sharlatan Hellseher за помощь.
#guix_patches #guile_ssh

Первый чужой патч, который я обработал и замёржил:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=36c794c0ed058ee414cbb90c577f6ade5170470a

Патч обновляет Guile-SSH до версии 0.17.0 в GNU Guix и подготовлен пользователем Herman Rimm.
🔥2
#dev #guile_ssh

Работаю над допиливанием изменений в Guile-SSH перед следующем релизом. Добавил в GitHub CI задачу сборки с libssh 0.8.3 для тестирования изменений.

Благодаря GNU Guix это сделать достаточно просто. [1, 2]

Выявил проблему в обратной совместимости, исправил. Таким образом, Guile-SSH сейчас должен поддерживать libssh 0.8.3+, 0.9, 0.10 и 0.11. Учитывая, что libssh 0.8 был выпущен в 2018-м, считаю достаточно неплохим результатом.

В libssh 0.7.4 и более старых был выявлен CVE-2016-0739, поэтому смысла поддерживать такое старое ископаемое не вижу (хотя пока теоретически Guile-SSH может с ними собраться, но я даже это не проверяю теперь.) Думаю, что поддержку версий libssh старше 0.8.3 стоит вообще выкинуть, так будет честнее.
🔥4👀1
Выпустил релиз Guile-SSH 0.18.0:
https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.18.0

В новой версии:

1. Убрана поддержка libssh версий старше 0.8.0 (например, libssh 0.7)

2. Изменён интерфейс модуля (ssh popen): процедуры open-remote-pipe*, open-remote-input-pipe* и open-remote-output-pipe* теперь работают также, как и open-pipe*. Также это делает их поведение соответствующим тому, что описано в документации Guile-SSH.

Зарепорчено пользователем graywolf в #39.

3. make-session теперь правильно обрабатывает параметр #:config со значением #f. Теперь выставление данного параметра в #f (false) выключает чтение стандартных конфигурационных файлов SSH (как и должно было быть по документации Guile-SSH). При использовании старых версий libssh (до 0.9) выставление параметра #:config в #f приводит к тому, что используется файл /dev/null в качестве конфигурационного (таким образом, предотвращая чтение стандартных конфигурационных файлов.)

Зарепорчено пользователем graywolf в #38.

4. Исправление ошибки компиляции из-за использования ключевого слова bool в качестве имени переменной.

Зарепорчено и исправлено пользователем Peter Tillemans в #43.

5. Исправлена сборка с libssh < 0.8.3. Также добавлены новые тесты в GitHub CI, проверяющие работу Guile-SSH на старых версиях.

6. Проект получил новое лого, более минималистичное и лаконичное! Спасибо дизайнеру, художнику и моему другу (в одном лице) Darya Sev. за ценные советы по поводу дизайна нового логотипа.

7. Обновлена и дополнена документация.

8. Обновлены и исправлены тесты.

9. Добавлен файл CODE_OF_CONDUCT.org в репозиторий.

#projects #guile_ssh #guile #scheme
🔥5