О! Замёржили патч в GNU Guix с обновлением Guile-SSH до 0.15.1:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=eabc6af9b8b14bd629544e54bc9c9afa2d0dcd85
Пишут, всё работает и собирается.
#guile #ssh #guix
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=eabc6af9b8b14bd629544e54bc9c9afa2d0dcd85
Пишут, всё работает и собирается.
#guile #ssh #guix
memory heap
GIF
Собственно проект в wokwi.com (не знаю, сколько он там будет храниться, правда):
https://wokwi.com/arduino/projects/325234963568919124?dark=1
https://wokwi.com/arduino/projects/325234963568919124?dark=1
Wokwi
sketch.ino - Wokwi Arduino and ESP32 Simulator
Run Arduino projects in your browser, no installation required!
В очередной раз вспомнилась древняя мудрость от гигантов мысли "Red Hot Chili Peppers":
"Throw away your television,
Time to make this big decision,
Throw away your television
Now!"
Уже более 14 лет телевизор не смотрю, чего и вам советую.
"Throw away your television,
Time to make this big decision,
Throw away your television
Now!"
Уже более 14 лет телевизор не смотрю, чего и вам советую.
YouTube
Red Hot Chili Peppers - Throw Away Your Television - Live at Slane Castle
August 23, 2003 Slane Castle, Ireland
Artist: Red Hot Chili Peppers
Album: By the Way
Title: Throw Away Your Television
Enjoy it in HD!
Lyrics:
Throw away your television
Time to make this clean decision
Master waits for its collision now
Its a repeat…
Artist: Red Hot Chili Peppers
Album: By the Way
Title: Throw Away Your Television
Enjoy it in HD!
Lyrics:
Throw away your television
Time to make this clean decision
Master waits for its collision now
Its a repeat…
Forwarded from ЗаТелеком 🌐
Еще один рескью-сет на случай жестких блокировок и отключения интернета: https://start.chatv3.ru/
Там указаны адреса локальных серверов, инструкции и дистрибутивы всякого разного софта, который предназначен как раз для таких случаев. Даже когда интернет отключат и ни один VPN не работает:
— Matrix - Element
— Delta Chat
— Briar
— браузер CENO
— NewNode VPN
Список сервисов для коммуникации по локальной сети. Они помогут наладить связь с друзьями и семьей, а также в тех случаях, когда в вашем регионе отсутствует интернет-подключение к Telegram, Whatsapp, FB и т.д. Приложения размещены на серверах по России. Если у вас есть доступ к одному из них, значит вы можете общаться друг с другом!
Максимально распространяем и вот это всё.
На случай блокировки конкретно вот этого адреса — есть план Б, не преживайте
Там указаны адреса локальных серверов, инструкции и дистрибутивы всякого разного софта, который предназначен как раз для таких случаев. Даже когда интернет отключат и ни один VPN не работает:
— Matrix - Element
— Delta Chat
— Briar
— браузер CENO
— NewNode VPN
Список сервисов для коммуникации по локальной сети. Они помогут наладить связь с друзьями и семьей, а также в тех случаях, когда в вашем регионе отсутствует интернет-подключение к Telegram, Whatsapp, FB и т.д. Приложения размещены на серверах по России. Если у вас есть доступ к одному из них, значит вы можете общаться друг с другом!
Максимально распространяем и вот это всё.
На случай блокировки конкретно вот этого адреса — есть план Б, не преживайте
#music
I'm out on a new road in search for a land with no namehttps://www.youtube.com/watch?v=ZYlNjQ5TTF4
And I never look back cause I'm walking through sunshine and rain
I'm a man who has lived in the tombs and who's broken the chains
Amen
Amen
I was blind and now I see
What if god is not for me
And I know it's time to go
I've been used and I've been played
I've been spat on and betrayed
And I know it's time to go
(Watch out) I defeat the pain
(Watch out) I'm alive again
The past is gone for good, it's time to say:
Amen
Amen
Amen
Amen
At last, I believe I will be found
In the silence of my nights
I can hear a distant voice
Someone out there is calling my name
(Watch out) I'm not afraid
Watch out
I'm beyond the dread
It's time to turn the page and love again
(Watch out) I defeat the pain
(Watch out) In a crying game
I'm leaving all my shadows behind
Amen
Amen
Amen
Amen
Tentanda via ad incognita
YouTube
Enigma - Amen (Official Video) ft. Aquilo
Listen to more from Enigma: https://Enigma.lnk.to/Essentials
Follow Enigma:
► Website: https://www.enigmaspace.com/
► Facebook: https://www.facebook.com/Enigma
► Twitter: https://twitter.com/enigmaspace
Think you know Enigma? Test your knowledge with…
Follow Enigma:
► Website: https://www.enigmaspace.com/
► Facebook: https://www.facebook.com/Enigma
► Twitter: https://twitter.com/enigmaspace
Think you know Enigma? Test your knowledge with…
Работаю над новой функциональностью для моего компилятора машин состояний — Guile-SMC.
Итоги работы: получилось сделать преобразование ДКА в код на Scheme, который никаким образом не зависит от самого Guile-SMC. На выходе получается самодостаточный код (который можно записать в одном файле), который похож на тот, который я мог бы написать руками.
Для того, чтобы получить подобный самодостаточный код, я копирую ядро Guile-SMC в выходной код, при этом сам ДКА преобразуется в подобное представление (реальный пример):
Из интересного: получилось также сделать некую "оптимизацию" выходного кода путём удаления неиспользуемых процедур.
Теперь у Guile-SMC три режима (цели) компиляции:
-
-
-
Пример запуска с указанием цели компиляции:
#projects #guile #smc #compiler
Итоги работы: получилось сделать преобразование ДКА в код на Scheme, который никаким образом не зависит от самого Guile-SMC. На выходе получается самодостаточный код (который можно записать в одном файле), который похож на тот, который я мог бы написать руками.
Для того, чтобы получить подобный самодостаточный код, я копирую ядро Guile-SMC в выходной код, при этом сам ДКА преобразуется в подобное представление (реальный пример):
(define (run-fsm context)
""
(define (DEFAULT context)
"Count parenthesis."
(let ((event (event-source context)))
(cond ((guard:eof-object? context event)
(let ((context (action:validate context event)))
(log-debug "[~a] -> [*]" 'DEFAULT)
context))
((guard:semicolon? context event)
(let ((context (action:no-op context event)))
(log-debug "[~a] -> [~a]" 'DEFAULT 'COMMENT)
(COMMENT context)))
((guard:double-quote? context event)
(let ((context (action:no-op context event)))
(log-debug "[~a] -> [~a]" 'DEFAULT 'STRING)
(STRING context)))
((#{guard:#t}# context event)
(let ((context (action:count context event)))
(DEFAULT context))))))
(define (STRING context)
"Skip a string."
(let ((event (event-source context)))
(cond ((guard:double-quote? context event)
(let ((context (action:no-op context event)))
(log-debug "[~a] -> [~a]" 'STRING 'DEFAULT)
(DEFAULT context)))
((#{guard:#t}# context event)
(let ((context (action:no-op context event)))
(STRING context))))))
(define (COMMENT context)
"Skip a comment."
(let ((event (event-source context)))
(cond ((guard:newline? context event)
(let ((context (action:no-op context event)))
(log-debug "[~a] -> [~a]" 'COMMENT 'DEFAULT)
(DEFAULT context)))
((#{guard:#t}# context event)
(let ((context (action:no-op context event)))
(COMMENT context))))))
(DEFAULT context))
Из интересного: получилось также сделать некую "оптимизацию" выходного кода путём удаления неиспользуемых процедур.
Теперь у Guile-SMC три режима (цели) компиляции:
-
guile — обычный режим компиляции, который выбирается по-умолчанию. В этом случае выходной код зависит от наличия Guile-SMC в системе и без него выполняться не будет.-
guile-standalone-copy — моя первая попытка сделать самодостаточный код. В этом случае все необходимые модули Guile-SMC копируются в отдельный каталог рядом с выходным ДКА, и зависимости ДКА переписываются так, чтобы они указывали на скопированные модули.-
guile-standalone — вторая (текущая) попытка сделать самодостаточный код, и похоже самая успешная (хотя я решил оставить guile-standalone-copy как вариант, т.к. в некотроых случаях он может быть удобнее.)Пример запуска с указанием цели компиляции:
$ cat fsm.puml | smc compile -L . -U "((context))" -t guile-standalone -m "(custom-fsm)" > custom-fsm.scm
#projects #guile #smc #compiler
GitHub
GitHub - artyom-poptsov/guile-smc: GNU Guile State Machine Compiler
GNU Guile State Machine Compiler. Contribute to artyom-poptsov/guile-smc development by creating an account on GitHub.
👍1
Добавил ещё один пример кода для работы с компилятором Guile-SMC:
https://github.com/artyom-poptsov/guile-smc/tree/master/examples/compiler
На выходе, в файле
https://github.com/artyom-poptsov/guile-smc/tree/master/examples/compiler
На выходе, в файле
fsm.scm, после выполнения следующей команды:$ guile -L . main.scm > fsm.scmбудет самодостаточный Guile-код, который можно запустить без наличия Guile-SMC в системе:
$ echo "hello world" | guile -L . run.scm#guile #smc #fsm #projects
GitHub
guile-smc/examples/compiler at master · artyom-poptsov/guile-smc
GNU Guile State Machine Compiler. Contribute to artyom-poptsov/guile-smc development by creating an account on GitHub.
Выпустил релиз Guile-SMC 0.4.0:
https://lists.gnu.org/archive/html/guile-user/2022-03/msg00041.html
В новом релизе:
- Добавлен профайлер для ДКА, который позволяет выявлять "узкие" места в автомате за счёт анализа времени, сколько автомат проводит в каждом состоянии.
- Добавлено два режима (цели) компиляиции:
- Парсер для PlantUML оптимизирован и стал примерно на 25% быстрее (как раз "узкое" место выявлено с помощью
- Добавлена man-страница для
- Дополнена и расширена документация в Info.
#guile #smc #fsm #projects #dev
https://lists.gnu.org/archive/html/guile-user/2022-03/msg00041.html
В новом релизе:
- Добавлен профайлер для ДКА, который позволяет выявлять "узкие" места в автомате за счёт анализа времени, сколько автомат проводит в каждом состоянии.
- Добавлено два режима (цели) компиляиции:
guile-standalone и guile-standalone-copy. Эти режимы позволяют создавать ДКА на основе описания в PlantUML, которые пригодны для использования без наличия Guile-SMC в системе.- Парсер для PlantUML оптимизирован и стал примерно на 25% быстрее (как раз "узкое" место выявлено с помощью
smc profile)- Добавлена man-страница для
smc (см. man smc)- Дополнена и расширена документация в Info.
#guile #smc #fsm #projects #dev
GitHub
GitHub - artyom-poptsov/guile-smc: GNU Guile State Machine Compiler
GNU Guile State Machine Compiler. Contribute to artyom-poptsov/guile-smc development by creating an account on GitHub.
👍1
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
CADR SPACE
Кадровчане, в это воскресенье (13-го марта) с ~11 до ~15 будем гравировать значки из алюминия на фрезере. Приглашаются все желающие, также принимаются идеи изображений для гравировки. Расскажем и покажем процесс подготовки заданий на фрезер. Приходите.…
Мероприятие будет проходить в Нижегородском хакерспейсе CADR (https://cadrspace.ru/), по адресу г. Нижний Новгород, бульвар 60-летия Октября, 25к3.
cadrspace.ru
Нижегородский хакерспейс CADR
Доступ по SSH к системе с возможностью расшаривания ресурсов с клиента:
https://book.linuxboot.org/cpu/
При использовании данной команды, в сессии на сервере можно использовать ресурсы (например, файлы) с локальной машины, откуда произведено подключение.
Аналог команды
#tools
https://book.linuxboot.org/cpu/
При использовании данной команды, в сессии на сервере можно использовать ресурсы (например, файлы) с локальной машины, откуда произведено подключение.
Аналог команды
cpu с операционной системы Plan9.#tools
#music
https://www.youtube.com/watch?v=rumNQRfCoqw
How did I get to here?
A random chain of events
Or chemical and elements
Conspiring, divining
From the star I've been pulled apart
By weightless love
And the heavy hearts
Of sadness
Oh, I was born blown minded
With an eye on oblivion
oh, I was born blown minded
With an eye on oblivion
In my heart I have lived without aught
It's been the war of attrition
Between a small-minded fool
And sublime intuition
I believe there's a meteor out there
With my name on it
Hurtling through space
And nothing can stop it
Oh, I was born blown minded
With an eye on oblivion
Oh, I was born blown minded
With an eye on oblivion
https://www.youtube.com/watch?v=rumNQRfCoqw
YouTube
YOUNG GALAXY 'Blown Minded' [OFFICIAL VIDEO]
'Blown Minded' is from the album SHAPESHIFTING, on Paper Bag Records!
From Carine Khalifé, the filmmaker:
I met Steve and Catherine when I first arrived in Montreal.
They were about to release their new album, and I was more than excited when they…
From Carine Khalifé, the filmmaker:
I met Steve and Catherine when I first arrived in Montreal.
They were about to release their new album, and I was more than excited when they…