memory heap
373 subscribers
2.54K photos
522 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
Обновил и дополнил предметный указатель для книги.

#SPARC
Два с половиной дня бодался с установкой Lilyglyphs (пакета LaTeX, содержащий знаки музыкальной нотации) в GitHub Actions на образ Ubuntu Latest (22.04) для того, чтобы сделать непрерывную интеграцию книги и также автоматическую генерацию PDF.

Проблему решить удалось через ручную установку Lilyglyphs из CTAN (Comprehensive TeX Archive Network), и вот скрипт, который выполняет установку:
https://gist.github.com/artyom-poptsov/2d141d235a6773d964d371f70cc7775c

Собственно вот полученный результат:
https://github.com/artyom-poptsov/SPARC/actions/workflows/pdf.yaml

Может быть, кому полезно будет тоже.

#projects #latex #sparc #linux
1
Пробую сделать воспроизводимую сборку моей книги в GNU Guix:
https://github.com/artyom-poptsov/SPARC/blob/master/guix.scm

В GitHub Actions при сборке внутри Docker-образа с Ubuntu почему-то часть книги в конечном PDF отсутствует (~5 мегабайт получается объём файла вместо ~7), тогда как у меня на компьютере книга собирется прекрасно. При этом, в GitHub Actions ошибок при сборке не вижу. Возможно, не учитываю какие-то особенности моего локального окружения.

Вот как раз и пример, где воспроизводимые сборки нужны.

#sparc #guix
3
memory heap
Пробую сделать воспроизводимую сборку моей книги в GNU Guix: https://github.com/artyom-poptsov/SPARC/blob/master/guix.scm В GitHub Actions при сборке внутри Docker-образа с Ubuntu почему-то часть книги в конечном PDF отсутствует (~5 мегабайт получается объём…
Сборка книги через GNU Guix заработала:
https://github.com/artyom-poptsov/SPARC/actions/runs/6017439099

Благодаря GNU Guix теперь книга автоматически собирается через GitHub Actions, как и должна, в полном объёме.

\o/

Но воспроизводимости ещё не достиг, т.к. в том числе в книге используется генератор случайных (или псевдо-случайных) чисел для создания некоторых графиков, и по понятным причинам каждый PDF-файл немного отличается от предыдущего. Возможно, есть ещё какие-то недочёты.

Надо придумать какой-то способ сделать сборку повторяемой. Самый простой способ сделать повторяемые графики — это выставить начальную точку отсчёта генератора псевдослучайных чисел в какое-то одно значение, например в "42". Но тогда графики, которые должны показывать "белый шум", будут всегда одинаковые, что не интересно. Другой вариант, который я вижу — это взять коммит, с которого собирается книга, и из его хэша "сварить" начальную точку отсчёта для генератора псведослучайных чисел — тогда и график будет меняться в разных версиях книги, и повторяемость в рамках одного коммита будет. Но как это сделать, я до конца пока не придумал (идеи принимаются.)

#guix #sparc
2
Выпустил версию 1.0.0 своей книги "Автомато-программато-компарадио-кружок":
https://github.com/artyom-poptsov/SPARC

Книга посвящена соединению науки, программирования, искусства и радиоэлектроники в рамках самостоятельных занятий или же для ведения кружков и практик по программированию микроконтроллеров.

Моей любимой темой является, конечно же, программирование музыки на микроконтроллерной платформе Arduino, чему посвящена значительная часть книги. Этот материал базируется на многолетнем и увлекательном опыте ведения практик по программированию в колледже, а также на дополнительных занятиях со студентами и мастер-классах, проводимых в нашем хакерспейсе.

Книга распространяется под лицензией Creative Commons «Attribution-ShareAlike» («Атрибуция-СохранениеУсловий») 4.0 Всемирная (CC BY-SA 4.0) (https://creativecommons.org/licenses/by-sa/4.0/deed.ru)

Список ключевых изменений:

1 Версия 1.0.0 (2023-08-31)
===========================

1.1 Добавление раздела, посвящённого разработке игр
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Добавление раздела, посвящённого разработке игр на
жидкокристаллическом текстовом дисплее 20x4.


1.2 Добавление информации о синхронизации звука с двух Arduino
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

В раздел про программирование музыки добавлена информация о
синхронизации двух Arduino с целью одновременного воспроизведения двух
"дорожек" одной музыкальной композиции.


1.3 Добавление возможности воспроизводимой сборки книги
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Добавление возможности воспроизводимой (повторяемой) сборки книги
через GNU Guix (<https://guix.gnu.org>). Воспроизводимая сборка
производится при указании переменной окружения "REPRODUCIBILITY" в
значение "yes".

Опционально также через переменную окружения "RANDOMSEED" можно
указать начальное числовое значение для генератора псевдослучайных
чисел, для того, чтобы сделать графики "Белого шума" в книге
повторяемыми. Данная переменная используется только тогда, когда
"REPRODUCIBILITY" выставлен в "yes".


1.4 Включение хэша последнего Git-коммита в версию книги
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Если книга собирается из Git-репозитория, то хэш последнего
Git-коммита включается в версию книги.


1.5 Добавление полных примеров программ в приложения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Добавлен пример программы, воспроизводящей мелодию "Twinkle, Twinkle,
Little Star" простым способом и через массивы.


1.6 Дополнение существующих разделов книги
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


1.7 Добавление предметного указателя
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


1.8 Исправление опечаток и ошибок
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PDF-версию книги можно найти в репозитории:
https://github.com/artyom-poptsov/SPARC/blob/master/sparc.pdf

#projects #sparc
4
Распечатал и брошюратором подшил книгу для колледжа. В печатном виде она выглядит более весомо, чем в PDF.

#sparc_book
12
Прогресс по книге: сделал более наглядную "шпаргалку" по чтению нот в виде музыкального "графика".

#projects #sparc #book
2
memory heap
Прогресс по книге: сделал более наглядную "шпаргалку" по чтению нот в виде музыкального "графика". #projects #sparc #book
Прогресс по книге: сделал ещё одну "шпаргалку", теперь уже по чтению нот в басовом ключе в виде музыкального "графика".

#projects #sparc #book
1