?

Log in

No account? Create an account
dibr
 
[Most Recent Entries] [Calendar View] [Friends View]

Saturday, April 1st, 2017

Time Event
5:33p
Слава макаронам!
К Монстрации готов!

"Пупс плачет, пьёт"(с), а монстр дрыгает макаронинами и подмигивает глазками :-)
Слава макаронам!

https://vk.com/monstr_nn


https://vk.com/video69360943_456239051

(ну и что, что только через месяц. лучше раньше, чем позже. главное не сломать за это время)
(напоминаю: монстрация - 1 мая, водные фонарики - 19 и 20 мая, "смотри не перепутай")
(теперь надо подготовиться к плавучим фонарикам. поступила идея выпилить из фанеры церковь, посадить её на поплавки, отправить в плавание, И СЖЕЧЬ. я буду эту идею думать)
(вконтакт что-то очень тормозит с выкладкой видео. это видео я загрузил ВЧЕРА, а у него до сих пор "версии в высоком качестве ещё обрабатываются". впрочем, HD уже готово, можно смотреть)
(также в тему ЛММ скоро будет пост про нюансы программрования под не фон-неймановскую архитектуру. оставайтесь с нами, это интересно!)
6:25p
фон-нейман
А эта ваша ородруина (точнее клон digispark на attiny85, но IDE там используется ардуинное) меня удивила. Я как-то не привык, что бывают компьютеры с не фон-неймановской архитектурой (а если и бывают, что это может вдруг оказаться моей, а не компилятора, проблемой), а тут вдруг. "Фон-Нейман", если что, это когда код и данные выполняются из одной памяти, а "Гарвардская архитектура" (это которая не фон-нейман), соответственно, когда данные и код "не могут быть смешаны".

Короче, я как-то привык, что байт кода и байт данных - это одинаковые по "цене" байты. И что если нужно для какого-то массива данных проделать какое-то действие (в моём случае "массив" - это положения ножек-глазиков-лампочек монстра, а "действие" - собственно дрыгание и мигание), то надо собрать массив элементов данных в "массив[элементов]" данных, и в цикле делать "действие(массив[элемент++])". Потому что можно, конечно, массив в массив не собирать, а написать много строчек вида "действие(данные1); действие(данные2); ... действие(данныеN);", но данные при этом один фиг окажутся внутри кода, плюс добавится много повторяющихся операций по засовыванию их в регистры/стек/whatever для передачи "действию" и вызов "действия", поэтому байтов в сумме понадобится больше, а зачем.

У attiny85 - 512 байт оперативной памяти "для переменных", и 8кб флэша (доступно около 6кб, остальное под бутлоадер) "для кода". Массив данных целиком ложится в оперативную память, в результате при 10 байтах на элемент и с учётом оверхеда на всё остальное, у меня получилось максимум 44 строчки-действия, дальше память заканчивалась.
А если делать через "действие(данные1); ... действие(данныеN);" - расходуемая оперативная память не изменяется, и хотя на каждое действие в результате расходуется больше памяти - это "память кода", которой у нас более чем в 10 раз больше, поэтому и действий можно упихать больше. При этом дело не в том, что "память кода" - типа read-only, а в переменные можно писать: волшебные слова типа const ничего не изменили, массив по прежнему ложился в оперативку. Видимо, данные в "памяти кода" реально нельзя адресовать как переменные, только использовать как операнды команд. Отдельно, кстати, непривычно что процессор похоже выполняет программу прямо из флэша - переписывание в "shadow RAM" как-то привычнее. Хотя, флэш там мелкий, может быть его можно адресовать быстро и "в лоб", а не как в флэш-карточках.

Впрочем, я уложился в 42 действия, так что пока некритично :-) Но забавно.

6:35p
litres
После того, как обратил внимание на надпись "1.5 litres" на электрочайнике, не могу отделаться от мысли, что в названии известного сайта litres.ru, litres - это "литры", и торговать им надо не [только] книгами, но и в розлив.

Также видел на рамке автомобильного номера надпись "федерация боевого домино". Заинтересовался, но информации об этой федерации не нашёл. Видимо, шибко засекречена, как и боевые шахматы.
8:41p
анананас
Обнаружил в морозилке завалившийся пакет с остатками мороженых ананасов из ашана. Решил сделать "анкл бэнц": мелко порезал свининку, обжарил с солью, сушеным чесноком и ССЧП на сливочном масле (ароматно и жирно, всё как мы любим). После чего вывалил ананасы, добавил соуса чили, перемешал, и обжаривал ещё минут пять. А на гарнир у меня пюре со вчера осталось.
Понравилось. Вот вроде фигня - ананасы в пакетах - а вкус меняет в правильную сторону, и при этом недорого, и хранится в заморозке идеально.
Надо ещё прикупить, как в ашане буду.

<< Previous Day 2017/04/01
[Calendar]
Next Day >>
My Website   About LiveJournal.com