memory heap
373 subscribers
2.53K photos
514 videos
52 files
3.12K 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
#guix_patches

Обновил свою книгу в GNU Guix до версии 4.0.0.
🔥3
🎃2
Выявил проблему с реализацией алгоритма Брезенхэма в Guile-PNG — в пятом октанте по ошибке выполнялось вычитание вместо деления, из-за этого угол линии был ~32 градуса вместо необходимых 30.

На скриншоте показано, как я в GIMP смотрел, где появляется ошибка в тестовом примере.

Исправил, теперь могу рисовать шестигранники-соты.

#guile #projects #guile_png
memory heap
Выявил проблему с реализацией алгоритма Брезенхэма в Guile-PNG — в пятом октанте по ошибке выполнялось вычитание вместо деления, из-за этого угол линии был ~32 градуса вместо необходимых 30. На скриншоте показано, как я в GIMP смотрел, где появляется ошибка…
Media is too big
VIEW IN TELEGRAM
Вжух!

#generative_art

(use-modules (oop goops)
(png)
(png image)
(png graphics))

(define (main args)
"Entry point."
(let* ((image (make <png-image>
#:color-type 2
#:bit-depth 8
#:width 1000
#:height 1000))
(color #vu8(255 255 255))
(diameter 400))
(for-each (lambda (d)
(draw! image
(make <hexagon>
#:color (list->u8vector
(list (remainder (random d) 255)
(remainder (random d) 255)
(remainder (random d) 255)))
#:center (make <point> #:x 500 #:y 500)
#:diameter d)))
(iota 900 10 1))
(let ((port (open-output-file "hex.png")))
(scm->png image port)
(close port))))
🔥4
memory heap
Вжух! #generative_art (use-modules (oop goops) (png) (png image) (png graphics)) (define (main args) "Entry point." (let* ((image (make <png-image> #:color-type 2 #:bit-depth…
А вот кстати вылезла новая проблема: фигура не центрирована внутри изображения.
🕊3🔥1
memory heap
А вот кстати вылезла новая проблема: фигура не центрирована внутри изображения.
Переписал алгоритм отрисовки шестигранника, используя вот этот пример. Теперь кстати можно в целом многогранники реализовать, и сделать просто шестигранник частным случаем.

Красными точками отмечена стартовая точка.

#guile_png #scheme
Media is too big
VIEW IN TELEGRAM
Творчество моих студентов на курсе по системному программированию (язык C.)
🔥8👀21
Решил смоделировать и распечатать недостающие "нахлобушки" (не знаю, как по-другому их назвать) для старой советской вешалки, которая в хакерспейсе сейчас просто так валяется. Глядишь, смогу куда-нибудь её пристроить.

#freecad #3dprinting
🔥3
Qualcomm выпустили свой линковщик под названием ELD, нацеленный на встраиваемые системы:
https://www.qualcomm.com/developer/blog/2025/04/eld-new-open-source-embedded-linker-tool-for-embedded-systems

Распространяется под лицензией BSD-3. По возможностям обещают:
- Полная совместимость со стандартами GNU.
- Поддержка архитектур AArch32 и AArch64, Qualcomm Hexagon NPU, RISC-V.
- Поддержка возможностей, подобных таковым в GNU-совместимых линковщиках: частичная линковка, динамическая линковка, статическая линковка, оптимизация на этапе линковки.

Дополнительно:
- Легкочитаемые файлы линкера.
- Лёгкое воспроизведение проблем линковки.
- Расширенные опции диагностики.

Репозиторий:
https://github.com/qualcomm/eld

#tools
🔥1