memory heap
375 subscribers
2.56K photos
525 videos
52 files
3.16K 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
Случайный ренессанс.
Forwarded from No Context Russia
Выпустил релиз Guile-DSV 0.5.2:
https://mail.gnu.org/archive/html/guile-user/2023-04/msg00012.html

Основные изменения:

0. Исправлен баг с обработкой пустых полей в конце строки, при использовании формата RFC 4180. Если раньше таблица
  a,b
c,
давала результат '(("a" "b") ("c")), то теперь результат будет '(("a" "b") ("c" "")).

1. Утилита dsv теперь обрабатывает опцию --table-presets-path, которая позволяет задать путь к каталоку с пресетами таблиц. Этот же параметр теперь можно задать переменной окружения GUILE_DSV_TABLE_PRESETS_PATH.

2. Теперь для таблиц можно задавать "тень" (как видно на скриншоте.) Для теней можно задавать символ отрисовки и смещение по двум осям в формате x;y.

3. Таблицы теперь позволяют задавать стили для отображения границ таблиц, для текста внутри, для заголовков и для тени.

4. Параметры пресетов могут быть перезаписаны. Например:
$ dsv -b "graphic-with-shadow,bs=107;100,ts=107;100" /etc/passwd

5. Обновлена справочная документация.

#dev #projects #guile #dsv #lisp
Как сделать автомагические жалюзи из обычных, рецепт от великого и ужастного самодельщика Cranktown City:
https://youtu.be/G9q5oAXhidU

"Pretty cooool, huuuh?"
2
Обзор интересной технологии "code morphing" (Code Morphing Software, CMS), которая использовалась в ноутбуках Sony Vaio в 2000-х годах.
https://www.youtube.com/watch?v=K6xbDiDuFU0

Процессоры выпускались компанией Transmeta (в которой кстати работал Линус Торвальдс.) Особенностью процессоров от Transmeta было то, что они использовали архитектуру RISC, и эмулировали поверх архитектуру x86. При трансляции инструкций x86 в RISC, выполнялась JIT-оптимизация, которая позволяла при повторных запусках кода ускорять его выполнение (наподобие того, как это происходит в JVM.) Первый из выпущенных Tansmeta процессоров под названием Crusoe работал на частоте в 700МГц, при этом позволял исполнять программы для x86 на скорости, сравнимой с 500МГц процессором Intel Pentium III x86, при этом "Crusoe" был меньше и дешевле в производстве. "Crusoe" выполнял на программном уровне некоторые из тех задач процессора, которые обычно выполнялись "в железе" — например, изменение порядка инструкций для выполнения. Это позволяло сэкономить на количестве транзисторов в чипе.

#technology
3
"I never asked for this."
4
Как думаете, если я использую в своей книге ноты для какой-нибудь известной мелодии (например, "Sweet Dreams"), для обучения программированию музыки на Arduino, будет ли это нарушением прав?
2
Дешёвый и простой способ обнаруживать лица в вашем следующем электропроекте:
https://www.sparkfun.com/products/21231
memory heap
Дешёвый и простой способ обнаруживать лица в вашем следующем электропроекте: https://www.sparkfun.com/products/21231
Придумал кстати хорошее название для модуля захвата лиц: "лицехват".
Я: Назови процесс, который позволяет получить цифровой сигнал из аналогового.
Студент: Аналогово-цифровое преображение.

#студенты #нртк #студенческие_перлы
7
Постепенно переношу Guile-INI на новый API Guile-SMC, чтобы проверить корректность архитектурных решений и их реализации.

GitHub говорит, что Guile-INI состоит на ~42% из M4 макросов, и лишь на ~27% из кода на Scheme. Основная часть кода генерируется автоматически из описания ДКА в формате PlantUML и подтягивается из Guile-SMC. И это правильно, ведь в большинстве парсеров делаются одни и те же вещи, а значит, реализацию ДКА для парсеров можно обобщить, что я и пытаюсь сделать.

Ещё интересно будет попробовать Guile-SMC в проектах, где вместо чтения файлов есть некий "водоворот событий" ("event loop") — например, при реализации чат-ботов, либо же web-сервисов.

#projects #guile #scheme #fsm
1
#music

Steam Powered Giraffe, "Hot on the Trail":
https://www.youtube.com/watch?v=5F1awDvbx9s

Просто офигенно.

Текст:
[Verse 1]
Well, you don't like that the way that I am (Is not the way)
Way that you want and the way you understand (But I can't)
Can't help being the way that I am (It's just the way)
Way that it is and what I know, so sorry about

All of these things that I be and I know (It's all me)
And not you but this ain't how I wish (It to be)
For you and your way and I know (It's all me)
Just know that I know, I know it's all on me
[Refrain]
All the little pieces make up so much sense in the distance
A-whoa-ho-ho-ho
Fragmented to the point of "is it possible?"

[Chorus]
Hot on the trail of a real fine life
This could be what it means to be alive
Can't be too sure but it feels the right way
Love is infinite like sun rays

[Post-Chorus]
I know what I need to be me
And I know being me makes it hard to see
Standing on a precipice isn't new
Those demons sometimes get me seeing blue

[Bridge]
All this, call this what you want but it
Makes me feel alive
Stowed it, showed it, now I know it
Can't be in my mind
It was foreign, pouring, I've been storing
This for a long while
I consumed, felt doomed, sung a new tune
Eventually in time

[Verse 2]
But you don't like that the way that I feel (Is the way)
Way that makes you feel worse all of the time (And I know)
Know that it's not okay for you (And it's not)
Not for me and is for you, so sorry about

All of these things that you didn't sign up for (And I don't)
Wish the pain on you, it's so sore (But I've been)
Honest to fault (But it doesn't help)
I know that it hurts and it hurts and it keeps on hurting

[Verse 3]
Every single time, we try and try
To make things right for you and I
We just kept digging, digging it deep
Below our feet 'til we started to sink

And I didn't know what, what to do
I told myself the truth, the truth
And I could understand and you could understand
But how could we stand when there was nowhere to stand?

And all the little things that get under our skin
Didn't make us better in that heavy weather
I hope that it's better but never upsetter
We took our hands, made some vague plan
[Refrain]
All the little pieces make up so much sense in the distance
A-whoa-ho-ho-ho
Fragmented to the point of "is it possible?"

[Chorus]
Hot on the trail of a real fine life
This could be what it means to be alive
Can't be too sure but it feels the right way
Love is infinite like sun rays

[Post-Chorus]
I know what I need to be me
And I know being me makes it hard to see
The distance hasn't always been clear
But finally, with our love, it could appear

[Outro]
And you don't like what it is (You don't like what it is)
And you don't know what it is (You don't know what it is)
And I can't sum it up easily
But I know what it is that I plainly see

Yeah, who could have liked what it was?
It caused such a fuss
My heart placed in your hand
Then we gave love a chance and
https://www.youtube.com/watch?v=JUsinr3PhYQ

Imagine you just go up to Nergal and Behemoth and you are like "hey, I am going to shred using only hand farts" and Nergal is like "of course, let me record your sick skills fellow musician" — Rose Ophelia Shepherd (из комментариев к другому видео на YouTube.)