memory heap
373 subscribers
2.54K photos
521 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
#music Stray Cats — "Stray Cat Strut" (1981 live recording) https://www.youtube.com/watch?v=07BVrP5DbQA
#music

Stray Cats — "Stray Cat Strut" (official video)
https://www.youtube.com/watch?v=mbAyj1h9vI0

Ooh, ooh, ooh, ooh

Black and orange stray cat sittin' on a fence
Ain't got enough dough to pay the rent
I'm flat broke, but I don't care
I strut right by with my tail in the air

Stray cat strut, I'm a (Ladies' cat)
I'm a feline Casanova (Hey, man, that's where it's at)
Get a shoe thrown at me from a mean old man
Get my dinner from a garbage can

Meow
Yeah, don't cross my path

I don't bother chasing mice around, oh, no
I slink down the alley looking for a fight
Howling to the moonlight on a hot summer night
Singin' the blues while the lady cats cry
"Wild stray cat, you're a real gone guy
I wish I could be as carefree and wild
But I got cat class, and I got cat style"

I don't bother chasing mice around
I slink down the alley looking for a fight
Howling to the moonlight on a hot summer night
Singin' the blues while the lady cats cry
"Wild stray cat, you're a real gone guy
I wish I could be as carefree and wild
But I got cat class, and I got cat style"

Meow
memory heap
Полное интервью с Джоном Кармаком: https://www.youtube.com/watch?v=I845O57ZSy4
О! Джон Кармак читал книгу "Хакеры, герои компьютерной революции" Стивена Леви, несколько раз — говорит, что сильно повлияла на его взгляды, когда был подростком.

Часть "Hacker ethic" из интервью с Лексом Фридманом:
https://www.youtube.com/watch?v=I845O57ZSy4&t=7304s
Работаю над портированием Guile-ICS на мой компилятор детерминированных конечных автоматов (ДКА) Guile-SMC:
https://github.com/artyom-poptsov/guile-ics

Интересная задача, которая позволяет выявить недостатки Guile-SMC и понять сам процесс проектирования и реализации ДКА — чтобы впоследствии адаптировать Guile-SMC.

Поскольку проект Guile-SMC является для меня исследовательским, сразу не всегда понятно, как должны быть реализованы те или иные вещи. Чтобы это понять, надо использовать инструмент и смотреть, подходит ли он под решаемую задачу.

Проекты наподобие Guile-SMC мне интересны во-первых тем, что они являются "инструментами для создания инструментов", и во-вторых, что они потенциально позволят думать о решаемых задачах по-новому (следовательно, лучше контролировать сложность задач.)

В Guile-ICS будет использоваться два ДКА, один будет вложен в другой.

Первый (базовый) ДКА необходим для разбора строк формата iCalendar (RFC5545). Второй (высокоуровневый) ДКА необходим для разобора потока объектов iCalendar.

В целом, первая часть задачи портирования (разработка и реализация ДКА) уже реализована, тесты в процессе написания. Вторая часть портирования заключается в переносе старого кода Guile-ICS на использование Guile-SMC.

#guile #smc #fsm #projects #dev
Катались сегодня с другом в поля на велосипедах, впервые вживую увидел (и подержал в руках!) богомола. Не знал, что они у нас водятся.
🥰31
This media is not supported in your browser
VIEW IN TELEGRAM
Сыграл часть Opeth, "Lovelorn Crime".

#music #avp_music #covers #piano
Media is too big
VIEW IN TELEGRAM
«Крысиные бега» Стива Каттса о современном обществе.

Узнали?
r/#BeAmazed
memory heap pinned a video
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
This media is not supported in your browser
VIEW IN TELEGRAM
Печать тестового кубика 40х40х40мм на 3D-принтере REPLICADR. Сопло 1.0мм, высота слоя 0.4мм, PETG.

Временно поставили нагревательный стол от RepRap, пока ждём детали для нового большого нагревательного стола.

Печать идёт из OctoPrint, который развёрнут на одноплатном компьютере.

#REPLICADR #projects
memory heap
Полное интервью с Джоном Кармаком: https://www.youtube.com/watch?v=I845O57ZSy4
Досмотрел/дослушал интервью. ~5 часов Джона Кармака на 1.00x, 1.25x и 1.50x. Было очень интересно.
memory heap
Работаю над портированием Guile-ICS на мой компилятор детерминированных конечных автоматов (ДКА) Guile-SMC: https://github.com/artyom-poptsov/guile-ics Интересная задача, которая позволяет выявить недостатки Guile-SMC и понять сам процесс проектирования и…
Почти завершил работу по портированию Guile-ICS на Guile-SMC. Код получается более понятный и легко адаптируемый. Часть вопросов решается правкой ДКА в формате PlantUML, иногда даже без правки Scheme-кода.

По ходу дела похоже исправил недоработку в старой версии Guile-ICS — теперь парсер способен читать все поддерживаемые типы компонентов календаря, согласно RFC5545.

Одна из проблем, которые остались — сборка в отдельном каталоге при make distcheck не может найти некоторые файлы.

Ещё думаю, что надо в ближайшее время зарелизить новую версию Guile-SMC, чтобы было, от чего отталкиваться при работе над связанными проектами.

#guile #smc #dev #projects
Выпустил релиз 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-08/msg00071.html

Основные возможности:
- Таблица переходов между состояниями может быть автоматически проверена на наличие тупиковых и недостижимых состояний.
- ДКА Guile-SMC при работе собирают статистику — можно узнать, сколько шагов и переходов делала машина состояний при работе.
- Guile-SMC включает в себя профилировщик, который позволяет по логам работы ДКА узнать, сколько система провела в каждом состоянии времени и какой процент от общего времени работы это составляет. Это позволяет находить "узкие места" и оптимизировать ДКА на основе цифр, полученных в реальной работе.
- Поддержка разных "целей" для компиляции — есть три цели: обычная "guile", которая даёт на выходе код ДКА, который для работы будет требовать наличие Guile-SMC в целевой системе; "автономный" режим ("guile-standalone"), который позволяет получить на выходе код ДКА, который не зависит от наличия Guile-SMC в целевой системе (и также по виду близок к тому, который мог бы быть написан в ручном режиме, где переход между состояниями по сути представлен рекурсивным вызовом процедур, каждая из которых представляет одно из состояний ДКА); и наконец "автономный" режим с сохранением Guile-SMC основы ("guile-standalone-copy"), который копирует в вместе с ДКА часть Guile-SMC, которая необходима для его работы.
- Возможность запустить ДКА напрямую из PlantUML-файла (см. команду smc run)

Цель проекта — автоматизировать и упростить разработку ДКА для различных задач (в первую очередь различных парсеров, как раз одна из областей моих интересов), избежать дублирования работы.

Основные изменения в версии 0.5.0:
- Для цели компиляции guile-standalone добавлены недостающие зависимости в целевой код.
- Для цели компиляции guile-standalone также изменён API: теперь в целевом коде процедура для запуска называется fsm-run!, которая функционирует также, как и при цели компиляции guile — что позволяет обеспечить одинаковый интерфейс запуска ДКА, который не зависит от цели компиляции.
- При компиляции для цели guile-standalone выходной код теперь имеет более аккуратный вид.
- Команда smc context теперь позволяет генерировать промежуточный контекст, который можно использовать для обеспечения минимальной зависимости от внутренней структуры модулей Guile-SMC (это необходимо для совместимости различных целей компиляции, что опять же позволяет использовать разные цели без переписывания пользовательского кода.) В будущем рекомендуется использовать именно этот промежуточный контекст, а не прямой доступ к модулям Guile-SMC.
- smc context теперь может читать описание ДКА в PlantUML из файла.
- Модуль (smc core stack) удалён.
- Исправлены справочные сообщения от команд.
- В команду smc run добавлены дополнительные проверки корректности параметров запуска.
- Документация в Texinfo обновлена.

#guile #smc #fsm #dev #projects