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
https://github.com/artyom-poptsov/SPARC/actions/runs/6017439099
Благодаря GNU Guix теперь книга автоматически собирается через GitHub Actions, как и должна, в полном объёме.
\o/
Но воспроизводимости ещё не достиг, т.к. в том числе в книге используется генератор случайных (или псевдо-случайных) чисел для создания некоторых графиков, и по понятным причинам каждый PDF-файл немного отличается от предыдущего. Возможно, есть ещё какие-то недочёты.
Надо придумать какой-то способ сделать сборку повторяемой. Самый простой способ сделать повторяемые графики — это выставить начальную точку отсчёта генератора псевдослучайных чисел в какое-то одно значение, например в "42". Но тогда графики, которые должны показывать "белый шум", будут всегда одинаковые, что не интересно. Другой вариант, который я вижу — это взять коммит, с которого собирается книга, и из его хэша "сварить" начальную точку отсчёта для генератора псведослучайных чисел — тогда и график будет меняться в разных версиях книги, и повторяемость в рамках одного коммита будет. Но как это сделать, я до конца пока не придумал (идеи принимаются.)
#guix #sparc
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/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)
Список ключевых изменений:
https://github.com/artyom-poptsov/SPARC/blob/master/sparc.pdf
#projects #sparc
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)PDF-версию книги можно найти в репозитории:
===========================
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 Исправление опечаток и ошибок
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://github.com/artyom-poptsov/SPARC/blob/master/sparc.pdf
#projects #sparc
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
⚡4
memory heap
Выпустил версию 1.0.0 своей книги "Автомато-программато-компарадио-кружок": https://github.com/artyom-poptsov/SPARC Книга посвящена соединению науки, программирования, искусства и радиоэлектроники в рамках самостоятельных занятий или же для ведения кружков…
Выпустил релиз книги 1.0.1 с исправлениями воспроизводимой сборки в GNU Guix:
https://github.com/artyom-poptsov/SPARC/releases/tag/v1.0.1
Подробный список изменений по сравнению с версией 0.0.0 можно найти в анонсе версии 1.0.0:
https://t.me/memory_heap/2102
Также отправил патч в GNU Guix с добавлением опакеченной книги:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65669
#book #sparc #guix_patches
https://github.com/artyom-poptsov/SPARC/releases/tag/v1.0.1
Подробный список изменений по сравнению с версией 0.0.0 можно найти в анонсе версии 1.0.0:
https://t.me/memory_heap/2102
Также отправил патч в GNU Guix с добавлением опакеченной книги:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65669
#book #sparc #guix_patches
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
memory heap
Выпустил версию 1.0.0 своей книги "Автомато-программато-компарадио-кружок": https://github.com/artyom-poptsov/SPARC Книга посвящена соединению науки, программирования, искусства и радиоэлектроники в рамках самостоятельных занятий или же для ведения кружков…
Патч с моей книгой приняли в GNU Guix!
\o/
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=16c05788947f456bf1c82955dd27938755272cb4
Установить можно командой:
Книга будет в
#sparc
\o/
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=16c05788947f456bf1c82955dd27938755272cb4
Установить можно командой:
guix install book-sparc
Книга будет в
~/.guix-profile/share/doc/sparc/sparc.pdf
.#sparc
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
⚡5
Распечатал и брошюратором подшил книгу для колледжа. В печатном виде она выглядит более весомо, чем в PDF.
#sparc_book
#sparc_book
⚡12
memory heap
Прогресс по книге: сделал более наглядную "шпаргалку" по чтению нот в виде музыкального "графика". #projects #sparc #book
Прогресс по книге: сделал ещё одну "шпаргалку", теперь уже по чтению нот в басовом ключе в виде музыкального "графика".
#projects #sparc #book
#projects #sparc #book
⚡1
Прогресс по книге: пишу раздел про шину I2C, которая часто используется для подключения ЖК-дисплеев к Arduino. Перерисовал вот схему из Википедии в LaTeX.
#sparc_book
#sparc_book
⚡7
#sparc_book
Выпустил релиз 1.1.0 книги "Автомато-программато-компарадио-кружок".
Список изменений и PDF-файл книги с моей цифровой подписью доступен по ссылке:
https://github.com/artyom-poptsov/SPARC/releases/tag/v1.1.0
Выпустил релиз 1.1.0 книги "Автомато-программато-компарадио-кружок".
Список изменений и PDF-файл книги с моей цифровой подписью доступен по ссылке:
https://github.com/artyom-poptsov/SPARC/releases/tag/v1.1.0
GitHub
Release v1.1.0 · artyom-poptsov/SPARC
Версия 1.1.0 (2023-11-21)
Удаление PDF-версии книги из репозитория
PDF-версию можно получить из исходников или же из страницы релизов на GitHub.
Также книга доступна из репозитория GNU Guix:
https:...
Удаление PDF-версии книги из репозитория
PDF-версию можно получить из исходников или же из страницы релизов на GitHub.
Также книга доступна из репозитория GNU Guix:
https:...
⚡4
memory heap
#sparc_book Выпустил релиз 1.1.0 книги "Автомато-программато-компарадио-кружок". Список изменений и PDF-файл книги с моей цифровой подписью доступен по ссылке: https://github.com/artyom-poptsov/SPARC/releases/tag/v1.1.0
Моя книга обновилась в GNU Guix. Поставить/обновить можно командой:
#sparc_book #gnu #guix
guix install book-sparc
#sparc_book #gnu #guix
⚡5
Добавил в книгу описание монитора порта Arduino и плоттера по последовательному соединению.
#sparc_book
#sparc_book
⚡1
Выпустил новую версию своей книги "Автомато-программато-компарадио-кружок":
https://github.com/artyom-poptsov/SPARC/releases/tag/v2.0.0
В новой версии:
- Новая глава "Язык общения машин". В данной главе рассматриваются протоколы коммуникации между микроконтроллером и внешними устройствами. На данный момент описан в достаточно подробных деталях протокол I2C, но в будущем планирую добавить описание COM-порта, SPI и 1-Wire.
- Переименована глава "Основные принципы электротехники" — теперь она называется просто "Основы электроники".
- Доработка раздела про ЖК-дисплей. В разделе подробнее расписано взаимодействие микроконтроллера с жидкокристаллическим дисплеем, добавлены ссылки на подраздел про I2C в главе "Язык общения машин". Общее улучшение изложения материала в разделе.
- Доработка раздела про последовательный порт: добавление скриншотов из Arduino IDE 1.8 с описанием, добавлен новый подраздел "Визуализация данных" с описанием плоттера по последовательному соединению.
- Добавлены задания для самостоятельного решения в раздел "Белый шум".
- Часть блоков исходного кода помещена в LaTeX-блок "listing", к ним добавлены подписи. Это позволило сформировать в конце документа список примеров кода.
- Исправление мелких ошибок
PDF-версия книги доступна на странице релиза, также скину копию в комментарии к этому посту.
#sparc_book
https://github.com/artyom-poptsov/SPARC/releases/tag/v2.0.0
В новой версии:
- Новая глава "Язык общения машин". В данной главе рассматриваются протоколы коммуникации между микроконтроллером и внешними устройствами. На данный момент описан в достаточно подробных деталях протокол I2C, но в будущем планирую добавить описание COM-порта, SPI и 1-Wire.
- Переименована глава "Основные принципы электротехники" — теперь она называется просто "Основы электроники".
- Доработка раздела про ЖК-дисплей. В разделе подробнее расписано взаимодействие микроконтроллера с жидкокристаллическим дисплеем, добавлены ссылки на подраздел про I2C в главе "Язык общения машин". Общее улучшение изложения материала в разделе.
- Доработка раздела про последовательный порт: добавление скриншотов из Arduino IDE 1.8 с описанием, добавлен новый подраздел "Визуализация данных" с описанием плоттера по последовательному соединению.
- Добавлены задания для самостоятельного решения в раздел "Белый шум".
- Часть блоков исходного кода помещена в LaTeX-блок "listing", к ним добавлены подписи. Это позволило сформировать в конце документа список примеров кода.
- Исправление мелких ошибок
PDF-версия книги доступна на странице релиза, также скину копию в комментарии к этому посту.
#sparc_book
GitHub
Release v2.0.0 · artyom-poptsov/SPARC
Table of Contents
Версия 2.0.0 (2024-01-04)
Новая глава "Язык общения машин"
Переименована глава "Основные принципы электротехники"
Доработка раздела про ЖК-дисплей
Доработка ...
Версия 2.0.0 (2024-01-04)
Новая глава "Язык общения машин"
Переименована глава "Основные принципы электротехники"
Доработка раздела про ЖК-дисплей
Доработка ...
🔥8
#guix_patches #sparc_book
Sharlatan Hellseher замёржил патч, обновляющий мою книгу "Автомато-программато-компарадио-кружок" до версии 2.0.0 в GNU Guix.
Поставить или обновить книгу в системе GNU Guix можно командой:
Sharlatan Hellseher замёржил патч, обновляющий мою книгу "Автомато-программато-компарадио-кружок" до версии 2.0.0 в GNU Guix.
Поставить или обновить книгу в системе GNU Guix можно командой:
guix install book-sparc
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
👾2
Для книги перевёл:
Может возникнуть вопрос, почему обычно
“Receive” сокращается до “Rx”, а “Transmit” до “Tx”. При-
чину этому можно найти в истории: во времена использо-
вания телеграфа, отправка символа точки требовало больше
усилий, чем отправка обычной буквы, из-за этого операторы
использовали букву “x” вместо точки.
Поскольку стоимость телеграфа была фиксированной: стои-
мость работы оператора, стоимость работы принтера, сто-
имость самой телеграфной линии между станциями. Чем
больше данных вы могли передать, тем больше денег вы
могли заработать. Это привело к появлению большого ко-
личества сокращений для часто используемых слов, осо-
бенно для длинных. Таким образом, вместо длиного слова
“Transmission” операторы телеграфа предпочитали писать
просто “T.” (зная, что на другом конце их поймут.) Однако
символ точки не был доступен в телеграфе, когда использо-
вался режим ввода букв. Из-за этого операторам приходи-
лось вводить символ “T”, потом переключаться в режим вво-
да чисел (для ввода точки) и потом обратно переключаться
в текстовый режим. Это занимало много времени. Поэтому,
каждый раз, когда требовалось ввести символ точки, телегра-
фисты вместо него использовали сивол “X”, который мож-
но было ввести, не переключаясь в режим ввода чисел. По-
скльку очень мало английских слов заканчиваются на “X”,
то данный символ оказался идеальной заменой точки.
Отсюда и пошли некоторые сокращения вроде “Rx” и “Tx”.
[источник]
#sparc_book
Может возникнуть вопрос, почему обычно
“Receive” сокращается до “Rx”, а “Transmit” до “Tx”. При-
чину этому можно найти в истории: во времена использо-
вания телеграфа, отправка символа точки требовало больше
усилий, чем отправка обычной буквы, из-за этого операторы
использовали букву “x” вместо точки.
Поскольку стоимость телеграфа была фиксированной: стои-
мость работы оператора, стоимость работы принтера, сто-
имость самой телеграфной линии между станциями. Чем
больше данных вы могли передать, тем больше денег вы
могли заработать. Это привело к появлению большого ко-
личества сокращений для часто используемых слов, осо-
бенно для длинных. Таким образом, вместо длиного слова
“Transmission” операторы телеграфа предпочитали писать
просто “T.” (зная, что на другом конце их поймут.) Однако
символ точки не был доступен в телеграфе, когда использо-
вался режим ввода букв. Из-за этого операторам приходи-
лось вводить символ “T”, потом переключаться в режим вво-
да чисел (для ввода точки) и потом обратно переключаться
в текстовый режим. Это занимало много времени. Поэтому,
каждый раз, когда требовалось ввести символ точки, телегра-
фисты вместо него использовали сивол “X”, который мож-
но было ввести, не переключаясь в режим ввода чисел. По-
скльку очень мало английских слов заканчиваются на “X”,
то данный символ оказался идеальной заменой точки.
Отсюда и пошли некоторые сокращения вроде “Rx” и “Tx”.
[источник]
#sparc_book
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
🔥7👀2
memory heap
Выпустил новую версию своей книги "Автомато-программато-компарадио-кружок": https://github.com/artyom-poptsov/SPARC/releases/tag/v2.0.0 В новой версии: - Новая глава "Язык общения машин". В данной главе рассматриваются протоколы коммуникации между микроконтроллером…
Выпустил новую версию своей книги "Автомато-программато-компарадио-кружок":
https://github.com/artyom-poptsov/SPARC/releases/tag/v2.1.0
В новой версии:
- Расширен раздел "Платформа Arduino".
- Дополнен раздел про последовательный порт в главе "Белый шум".
- В главе "Язык общения машин" добавлен новый раздел "Последовательный порт". Также доработано введение к главе.
- В главе "Диалоги с компьютером" дополнен раздел про работу с мультиметром, улучшен раздел "Работа с макетной платорй", добавление ссылок на другие связанные разделы.
- В главе "Синтез музыки и технологии" исправлены ошибки в реализации мелодии "Sweet Dreams".
- Добавлена библиография.
- Исправлены выявленные стилистические и орфографические ошибки. Значительная часть ошибок была выявлена Van0Mask, несколько ошибок были выявлены Антоном Шеффером (Agaffer). Множество рекомендаций по изложению материала и исправлений было предложено Петром Третьяковым, большинство из которых были в том или ином виде реализованы.
PDF-версия книги доступна на странице релиза, также скину копию в комментарии к этому посту.
#sparc_book
https://github.com/artyom-poptsov/SPARC/releases/tag/v2.1.0
В новой версии:
- Расширен раздел "Платформа Arduino".
- Дополнен раздел про последовательный порт в главе "Белый шум".
- В главе "Язык общения машин" добавлен новый раздел "Последовательный порт". Также доработано введение к главе.
- В главе "Диалоги с компьютером" дополнен раздел про работу с мультиметром, улучшен раздел "Работа с макетной платорй", добавление ссылок на другие связанные разделы.
- В главе "Синтез музыки и технологии" исправлены ошибки в реализации мелодии "Sweet Dreams".
- Добавлена библиография.
- Исправлены выявленные стилистические и орфографические ошибки. Значительная часть ошибок была выявлена Van0Mask, несколько ошибок были выявлены Антоном Шеффером (Agaffer). Множество рекомендаций по изложению материала и исправлений было предложено Петром Третьяковым, большинство из которых были в том или ином виде реализованы.
PDF-версия книги доступна на странице релиза, также скину копию в комментарии к этому посту.
#sparc_book
GitHub
Release v2.1.0 · artyom-poptsov/SPARC
Table of Contents
Версия 2.1.0 (2024-07-04)
Расширения раздела "Платформа Arduino"
Белый шум
Последовательный порт: Дополнение раздела
Язык общения машин
Введение: Дополнение раздел...
Версия 2.1.0 (2024-07-04)
Расширения раздела "Платформа Arduino"
Белый шум
Последовательный порт: Дополнение раздела
Язык общения машин
Введение: Дополнение раздел...
⚡9🔥2
Ещё работы моих студентов с учебной практики по программированию микроконтролллеров. На первой неделе практики (из двух) мы доходим обычно до программирования музыки, и задачей является запрограммировать какую-нибудь интересную мелодию.
На второй неделе программируем игры на Arduino с текстовым дисплеем.
Методичкой служит книга.
#arduino #sparc_book #art
На второй неделе программируем игры на Arduino с текстовым дисплеем.
Методичкой служит книга.
#arduino #sparc_book #art
GitHub
GitHub - artyom-poptsov/SPARC: Science, Programming, Art and Radioelectronics Club (SPARC) book.
Science, Programming, Art and Radioelectronics Club (SPARC) book. - artyom-poptsov/SPARC
🔥1
Начал работу над визуализацией циклов в книге, перерисовывая диаграммы, которые рисую на доске во время занятий по программированию.
#sparc_book
#sparc_book
🔥5