vak: (Default)
Приехал ко мне OpenScope MZ, простой универсальный осциллограф-генератор-логический анализатор с открытым софтом. Изначально это был проект на Кикстартере, а теперь продукт компании Digilent.



Скачиваем и устанавливаем так называемый агент (для Windows, Mac или Ubuntu), запускаем его (digilent-agent), после чего заходим на сайт http://waveformslive.com/. Подключаем девайс через USB к компьютеру, настраиваем подключение и получаем осциллограф:



Протокол OpenScope открытый, схему и все исходники можно найти на Гитхабе. В качестве процессора используется MIPS (Microchip pic32mz2048ef 200 МГц). Имеются следующие возможности:
  • Два входа АЦП 12 разрядов с полосой 2 МГц, скорость оцифровки 6.25 мегасэпмлов/сек
  • Один выход ЦАП с полосой 1 МГц и скоростью 10 мегасэпмлов/сек
  • Десять цифровых сигналов входа/выхода GPIO со скоростью обновления 25 МГц
  • Порт USB
  • Беспроводной интерфейс Wi-Fi
  • Карточка micro-SD
В принципе, на эту плату можно установить LiteBSD, но как-то не видно большого смысла.
vak: (Default)
(Навеяло Лёниными [personal profile] spamsink рассуждениями про отрицательность остатка от деления https://spamsink.dreamwidth.org/1053489.html)

Задача.
Три рыбака улеглись спать, не поделив улова. В час ночи проснулся один из них и уехал домой, взяв с собой треть улова. При дележе на три равные части у него оказалась лишняя рыба, которую он выбросил в реку. В два ночи проснулся второй рыбак и, не зная, что один из его компаньонов уже уехал, снова разделил улов на три равные части. У него тоже осталась лишняя рыба, которую он выбросил в реку. В три ночи проснулся третий рыбак и проделал ту же операцию, поделив улов на троих и выбросив "лишнюю" рыбу.

Спрашивается, сколько рыб выловили рыбаки.

Хохма в том, что когда эту задачу рассказали Полу Дираку, он моментально дал ответ: минус две рыбы. За это ему позже дали Нобелевскую премию. А еще он попутно придумал квантовую механику, но это уже другая история.
vak: (Default)


Dead Love couldn't go no further
Proud of and disgusted by her
Push shove, a little bruised and battered
Oh Lord I ain't coming home with you

My life's a bit more colder
Dead wife is what I told her
Brass knife sinks into my shoulder
Oh babe don't know what I'm gonna do

I see my red head, messed bed, tear shed, queen bee
My squeeze
The stage it smells, tells, hell's bells, miss-spells
Knocks me on my knees
It didn't hurt, flirt, blood squirt, stuffed shirt
Hang me on a tree
After I count down, three rounds, in hell I'll be in good company

Dead Love couldn't go no further
Proud of and disgusted by her
Push shove, a little bruised and battered
Oh Lord I ain't coming home with you

My life's a bit more colder
Dead wife is what I told her
Brass knife sinks into my shoulder
Oh babe don't know what I'm gonna do

I see my red head, messed bed, tear shed, queen bee
My squeeze
The stage it smells, tells, hell's bells, misspells
Knocks me on my knees
It didn't hurt, flirt, blood squirt, stuffed shirt
Hang me on a tree
After I count down, three rounds, in hell I'll be in good company

In hell I'll be in Good Company
vak: (Default)
1. Cондеро: Осознание того, что каждый прохожий имеет настолько же яркую и сложную жизнь, как твоя.

2. Опия: Неосознанное желание посмотреть кому-нибудь в глаза, что одновременно может чувствоваться волнительно и уязвимо.

3. Монакопсис: Только зарождающееся, но сильное чувство того, что ты не на своем месте.

4. Инумо: Горечь пребывания в будущем, видеть как сложилась жизнь и не быть способным сказать это себе прошлому.

5. Великор: Странная тоска по старым книжным магазинам.

6. Рубатосис: Тревожное восприятие своего собственного сердцебиения.

7. Кенопсия: Жуть заброшенной атмосферы в месте, где обычно полно людей, а сейчас оно покинутое и тихое.

8. Мауэрбауэрторихкейдж: Необъяснимое желание оттолкнуть людей, даже если это твои близкие друзья, которых ты очень любишь.

9. Джуска: Гипотетический разговор в твоем воображении, который не прекращает повторяться в голове.

10. Крайсализм: Спокойствие младенца в утробе, когда находишься в бурю в помещении.

11. Вемодален: То чувство, когда фотографируешь удивительно красивое место, но понимаешь, что существуют тысячи таких же фотографий.

12. Анекдох: Беседа, в которой все говорят, но никто не слушает.

13. Элипсизм: Печаль от того, что ты никогда не сможешь выяснить то, как развернется история.

14. Куебико: Состояние истощения из-за актов бесчувственного насилия.

15. Лакеизм: Желание быть в катастрофе - выжить после падения самолета, потерять все при пожаре.

16. Эксулансис: Тенденция отказываться от разговора об опыте, потому что люди, не испытавшие этого, не могут целиком тебя понять.

17. Адронитис: Разочарование из-за количества времени, которое уходит на то, чтобы узнать человека.

18. Руккехунхуре: Чувство возвращения домой после погружающей поездки, чтобы осознать, что она исчезает из сознания.

19. Нодус Толленс: Осознание того, что сюжет твоей жизни больше не имеет смысла для тебя.

20. Онизм: Разочарование от бытия только в одном теле, которое может находиться только в одном месте в одно время.

21. Либеросис: Желание меньше заботиться о вещах.

22. Альцщмертс: Усталость от старых проблем, которые всегда у тебя были - те же скучные недостатки и тревоги, которые грызли тебя годами.

23. Оккиолизм: Осознание своих крошечных перспектив.

(dictionaryofobscuresorrows.com)

vak: (Default)
Вот что нынче поют по питерским тюрьмам. Подробности в блоге Ивана Овсянникова, который только что освободился после задержания 12 июня: https://www.facebook.com/socresist/posts/1554133121296145

vak: (Default)
"Проект выходного дня" на будущее: сварганить декодер протокола для измерителя Digilent OpenScope к софтине Sigrock. Если кто-нибудь другой не сделает раньше.
vak: (Default)
Я давно мечтал найти простой способ делать документацию. Word и LibreOffice не устраивают: слишком трудоёмко, LaTeX - слишком сложно. Наконец нашёл приемлемый вариант. Процесс укладывается в четыре шага.

(1) Текст готовится в формате MarkDown. Это по сути простое текстовое представление с самоочевидными правилами разметки, вставки рисунков и подготовки таблиц.

(2) Рисунки делаются в формате SVG в редакторе Inkscape или из скрипта на Питоне. Затем рисунки конвертируются в формат EPS для вставки в документ.

(3) Исходный текст преобразуется в формат OpenDocument (он же ODT или *.odt) утилитой Pandoc. При этом стили форматирования подставляются из заранее заготовленного файла-шаблона. Формат ODT понимают LibreOffice, Word и многие другие wysiwyg-редакторы.

(4) Файл ODT преобразуется в PDF посредством LibreOffice.

Весь процесс легко автоматизируется посредством Makefile. Последовательность выглядит примерно так:
inkscape -z picture.svg -E picture.eps
pandoc -f markdown -t odt --reference-odt=my-style.odt input.md -o output.odt
soffice --convert-to pdf output.odt --headless
vak: (Default)
В Питере полицейские задержали огромную надувную утку, символ протеста. И еще 500 человек, попавшихся под руку.



vak: (Default)
Обнаружил изумительный способ генерить диаграммы сигналов из текстового описания. Диаграмма описывается на языке WaveJSON и выглядит следующим образом:
{ "signal": [
  { "name": "activate.req", "wave": "01........0.",  "node": ".A.........." },
  { "name": "activate.ack", "wave": "0........1.0",  "node": ".........F.." },
  { "name": "out1.req",     "wave": "0.1.0.......",  "node": "..B........." },
  { "name": "out1.ack",     "wave": "0..1.0......",  "node": ".....D......" },
  { "name": "out2.req",     "wave": "0.1....0....",  "node": "..C........." },
  { "name": "out2.ack",     "wave": "0.....1.0...",  "node": "........E..." }
  ],
  "edge": [ "A~B", "A~C", "D~F", "E~F" ]
}
Утилита wavedrom преобразует этот формат в SVG, а дальше посредством inkscape можно делать PNG, EPS или PDF. Вышеприведённый текст превращается в рисунок:



Для интересующихся асинхронной логикой: сей примитив называется Concur и в асинхронном верилоге реализует блок fork...join.

vak: (Default)
Еще три года назад восток Украины был на 70% русcкоязычным. Результатом российского вторжения на Донбасс стал массовый отказ от русского языка.



Упомянутый фоторепортаж можно посмотреть здесь: https://site.ua/asket/7404/
vak: (Default)
Дался вам этот примитивный fidget spinner. Вот реальный fidget cube для крутых электронщиков! С интерфейсом Wi-Fi, между прочим. Подробная инструкция для сборки имеется по ссылке.



+1 )
vak: (Default)
Реальные практические советы.

Это только для России: в других странах при виде полицейского можно не беспокоиться.


vak: (Default)
Полезная информация для любителей командной строки типа меня. Утилиту mpg123 под Линуксом можно установить командой "sudo apt install mpg123". BBC One
mpg123 http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p
BBC World
mpg123 http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-einws
KQED
mpg123 http://50.31.186.115:80/kqedradio
KDFC
mpg123 http://16643.live.streamtheworld.com:80/KDFCFM_SC
KFOG
mpg123 http://19473.live.streamtheworld.com:80/KFOGFM_SC
Amber Radio
mpg123 http://amberradio.org:8000/mp3
Радио Аквариум
mpg123 http://ic2.101.ru:8000/c16_15
Радио ДДТ
mpg123 http://wz5.101.ru/full/87/181124.mp3
vak: (Default)
Наконец нашлось достойное применение для компьютера pi-topSEED который лежал у меня некоторое время без дела. Он сделан на основе платы Raspberry Pi 3 (arm64). Я установил туда систему RetroPie, которая превращает его в игровую приставку, совместимую с двумя десятками классических игровых приставок 80-90-х годов. У меня получился вот такой список: Atari 2600, Atari 7800, Atari Lynx, Famicom Disk System, Sega Game Gear, Gameboy, Gameboy Advance, Gameboy Color, Sega MasterSystem, Sega Mega Drive, Neo Geo, Nintendo Entertainment System, PC Engine, Sony Playstation, Sega 32X, Sega CD, Sega SG-1000, Super Nintendo Entertainment System, Vectrex. Почему-то отказался работать Nintendo 64: симулятор валится по нарушению защиты памяти.

Для каждой приставки я скачал с сайта doperoms.com десяток игр, в сумме 173 игры. Всегда можно добавить еще: ограничивает только ёмкость карточки microSD. Всё это управляется исключительно с геймпада: клавиатура и мышка бесполезны. Пришлось заехать в соседний Fry's и купить более-менее современный девайс, Logitech F310.



На видео можно посмотреть RetroPie в действии.



Теперь могу сидеть и гонять игрушки, которых мне не досталось в детстве. :) Добрые люди тщательно собирают образы ROM старых игрушек и выкладывают в общий доступ. Деятельность эта не вполне легальная, но правообладатели смотрят на неё сквозь пальцы. Вся равно коммерческой ценности старые игрушки уже не представляют.
vak: (Default)
Наша старшая кошечка Пенелопа, девайс для вычёсывания "фурминатор" и результат его действия.

vak: (Житель планеты Узм)
Не знаю насчёт путешественников во времени, но в прошлое воскресенье мы встретили на верхушке горы Monument Peak дядю лет семидесяти с фотоаппаратом на треноге примерно такой конструкции.