memory heap
374 subscribers
2.54K photos
519 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
memory heap
Выпустил релиз Guile-SMC 0.5.0 — компилятора детерминированных конечных автоматов (ДКА) для GNU Guile: https://github.com/artyom-poptsov/guile-smc/releases/tag/v0.5.0 Официальный анонс в списке рассылки Guile: https://lists.gnu.org/archive/html/guile-user/2022…
И вот выяснилось, что логирование в Guile-SMC надо переделывать, поскольку при сборке в GNU Guix оказывается, что syslog недоступен, приходится патчить модуль логирования. Проблема решена, но осадок остался.

К сожалению, система логирования в Guile, на мой взгляд, находится в зачаточном состоянии — вот кстати, одна из возможных тем для полезного проекта: сделать нормальную систему логирования, как в популярных ЯП (стоит наверное посмотреть в сторону Java для вдохновения, или какого-нибудь C/C++.)

Если кто знает больше про системы логирования в GNU Guile/Scheme, киньте в меня ссылкой. Может, какой-то стандарт, мне неведомый есть (напр. SRFI)? Также интересен опыт использования подсистем логирования в других функциональных языках (Common Lisp, к примеру.)

Из достаточно интересных систем логирования для C/C++/C#/Python, с которыми довелось работать, могу назвать libP7-Baical:
https://baical.net/

Но официальный процесс разработки не прозрачен (библиотека распространяется в виде архивов с исходным кодом, доступа к репозиторию нет), и продвинутая часть инструментов анализа логов проприетарная (хотя сама библиотека под GNU LGPL.)

Немудрено, что появляются форки, вроде такого:
https://github.com/CMakePorts/libp7-baical

В общем, вроде и круто, но если копнуть глубже — есть недостаки (впрочем, как и везде.) Я бы мог написать обёртку вокруг P7 Baical для GNU Guile, однако это ещё один крупный проект, который сейчас тянуть в одиночку не хотелось бы (но, возможно, придётся.)

Из систем логирования ещё стоит отметить библиотеку Qt — у них там реально продуманная инфраструктура в плане модулей (взять тот же механизм IPC a.k.a. "сигналы/слоты", который просто огонь.)

Завершая данные размышления могу сказать, что двигателем для полезных и продуманных вещей обычно является практическая необходимость (и зачастую коммерческая, чего уж тут.) Когда GNU Guile выйдет на уровень популярности, сравнимый с JavaScript/Python, сразу вопросы с ключевыми модулями будут решаться быстрее (GNU Guix здесь имеет неплохой шанс способствовать этому.)

#gnu #guile #dev #thoughts
👍1
Ещё один генератор конечных автоматов:
https://en.wikipedia.org/wiki/Ragel

#fsm
Во FreeCAD параметр Shape.Volume задаётся в кубических миллиметрах.
Чтобы пересчитать это в систему СИ, надо умножить это число на 1E-9, или же разделить на 1'000'000.

Вот так это выглядит в консоли Python внутри FreeCAD:
>>> obj = doc.getObject("some-object")
>>> obj.Shape.Volume / 1000000
0.004515176998353076

#freecad #notes
👍3
memory heap
Во FreeCAD параметр Shape.Volume задаётся в кубических миллиметрах. Чтобы пересчитать это в систему СИ, надо умножить это число на 1E-9, или же разделить на 1'000'000. Вот так это выглядит в консоли Python внутри FreeCAD: >>> obj = doc.getObject("some-object")…
Попытка посчитать характеристики деталей сборки во FreeCAD.

Считается объём в кубических метрах, и масса в граммах.

Чтобы посчитать массу, использую формулу:
Shape.Volume / 1000 * 1.27

Где 1.27 — плотность PETG.

Сборка выполнена на верстаке A2Plus. Для вывода информации по сборке используется дополнение FreeCAD Reporting.

В общем виде, запрос выглядит так:
select Label, sourceFile as 'File', Shape.Volume / 1000000 as 'Volume (m^3)', Shape.Volume / 1270  as 'Mass (g)' from document where sourceFile != Null

#freecad #notes
memory heap
Попытка посчитать характеристики деталей сборки во FreeCAD. Считается объём в кубических метрах, и масса в граммах. Чтобы посчитать массу, использую формулу: Shape.Volume / 1000 * 1.27 Где 1.27 — плотность PETG. Сборка выполнена на верстаке A2Plus. Для…
Разумеется, нет цели напечатать полностью все детали сборки на 3D-принтере, это был просто эксперимент, чтобы понять процесс работы с верстаком A2Plus и дополнением FreeCAD Reporting.

Результат просто огонь, хотя я предполагаю, что где-то мог допустить ошибки.

Также при рассчёте веса гипотетической напечатанной детали не учитывается тот факт, что 3D-печать обычно не делается со 100%-м заполнением, и фактический вес изделия будет в несколько раз меньше.

На фото — вид сборки, по которой выполнялся запрос в Reporting.

Версия FreeCAD, кстати — 0.20.1, установлен из GNU Guix на Ubuntu 22.04.

#freecad #notes
#music

Opeth — "In My Time of Need" (Live 2018)
https://www.youtube.com/watch?v=LlrwHuIffGE

Очень красивая композиция, в красивом исполнении.

Текст песни:
I can't see the meaning of this life I'm leading
I try to forget you as you forgot me
This time there is nothing left for you to take
This is goodbye
Summer is miles and miles away
And no one would ask me to stay
And I should contemplate this change
To ease the pain
And I should step out of the rain
Turn away
Close to ending it all
I am drifting through the stages
Of the rapture born within this loss
Thoughts of death inside
Tear me apart from the core of my soul
Summer is miles and miles away
And no one would ask me to stay
And I should contemplate this change
To ease the pain
And I should step out of the rain
Turn away
At times the
Dark's fading slowly
But it never sustains
Would someone watch over me
In my time of need
Summer is miles and miles away
And no one would ask me to stay
And I should contemplate this change
To ease the pain
And I should step out of the rain
Turn away
Пробую смоделировать крышку на аккумуляторный отсек велосипеда. Работы ещё много, но вот промежуточный результат.

#freecad
Оригинал.
Очень красивый — в музыкальном и визуальном плане — клип Марии Франц и её проекта EUZEN:
https://www.youtube.com/watch?v=oq7oCR8l8Z0

Мария Франц также является вокалисткой в группе "техно-викингов" (как говорит один мой друг) — Heilung:
https://www.youtube.com/watch?v=GPV38e7yfSo

#music
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня приготовил соевое мясо -- можно сказать, одно из моих фирменных блюд.

#cooking
👍3
Как-то так.

#cooking
Forwarded from EVIL SPACE
Помни
2
memory heap pinned a photo
В ННГУ 8 сентября с 18:30 по 20:30 будет очередная научно-популярная лекция.

Владимир Сурдин, «Фантастика Жюля Верна: что сбылось, а что не сбылось?»
https://lobachevskylab.timepad.ru/event/2156233/

Думаю сходить. В своё время читал рассказы Жюля Верна, было интересно.

#science #lections