Size: a a a

2018 December 28
brain_dump_etc
Вот ещё интересный образчик (правда, прошлогодний) - на этот раз в стиле code golf.

По заданию нужно написать функцию, которая принимает число и выводит календарь в виде панели с ячейками, пронумерованными в заданном порядке. Указанное при вызове функции число должно "открывать" нужную ячейку и показывать в оной одну из заданных ASCII-картинок.

В "ответах" авторы меряются кол-вом байт, составляющих решение (на то и гольф). Многие используют "мелок", специальный "язык" для описывания #ascii_art - забавная штука сама по себе :)

Есть решение на BeFunge. Оно меня отдельно порадовало (люблю этот язык) :)
источник
2019 January 05
brain_dump_etc
Вспоминал тут своё велодетство. Вспомнил и по вело-моддинге того времени.

Тогда было модно обшивать раму искусственным мехом, обматывать спицы проводами из телефонных кабелей (эти провода вообще довольно широко использовались в роли материала для поделок), а руль - уплотнителем для оконных рам (кстати, этим же уплотнителем обматывали рули водители троллейбусов, а ещё на рукоятки тумблеров одевали колпачки от иголок для шприцев).

Причём сам я подобным не занимался, разве что электрификацию делал. Но увлечение это было очень популярно среди моих сверстников. Японцы же и в этом деле ушли очень далеко - по стопам моддинга грузовиков пошло движение dekochari. Если бы я такое увидел в середине 90х, то возможно и своего железного коня бы подобным образом "прокачал" - это вам не "три фары разных цветов", совсем другой уровень!
источник
brain_dump_etc
А уж на современной-то элементной базе можно такое понаделать, что о-го-го! Вы только посмотрите! (потом почитайте статейку)
источник
brain_dump_etc
источник
brain_dump_etc
источник
brain_dump_etc
источник
2019 January 06
brain_dump_etc
На hackaday заканчивается очередной конкурс по созданию устройств пространственным методом - навесной монтаж, объемные платы, вот это всё. Работ прислано уже очень много и все отличные!

Помню, мы в радиокружке на первых занятиях "роботов" паяли:
- "Ставим ступни и ноги, руки и тело", говорили резисторы,
- "Я же буду головой", продолжал транзистор серии МП!
Отличное занятие для тех, кто ещё паять не умеет - как раз практика нарабатывается. Правда наши "схемы" не работали с точки зрения электроники, в отличие от схем, присланных на конкурс :)

Среди работ часто можно встретить поделки на базе таймера 555 - всё же сообщество любителей этой микросхемы ещё очень велико! Есть поделки и "попроще" - на микроконтроллерах и даже готовых платах типа #arduino micro и nano, но всё равно обвес делается творчески :) Есть и вполне профессионально сделанные экземпляры: платы промышленного качества с шелкографией, отличный вид итогового изделия - хоть на полку ставь!
источник
brain_dump_etc
источник
2019 January 10
brain_dump_etc
Я как то писал про электронные бейджи для конференций. Вот ещё один образчик: Lisp Badge

QWERTY клавиатура, графический дисплей, в роли процессора ATMega 1284. Загружается устройство прямо в REPL mLisp и позволяет прямо из кода рисовать графику, а также общаться с периферией через выведенные UART+I2C и читать из четырёх каналов АЦП. Красивая штучка, короче говоря :)

#diy #programmable #lisp
источник
brain_dump_etc
И раз уж написал про носимый компьютер с Lisp, то ещё про одну железку напишу: встречайте, Digirule2

Digirule2, это не бейдж, это линейка :) Да не простая, а с 8-битным компьютером на борту! Является одновременно
- набором для самостоятельной сборки (и практики пайки SMD-компонент),
- сувениром (скажем, для ценителей старого железа - не зря железка похожа на переднюю панель Altair 8800),
- настоящим самодостаточным вычислительным устройством.

Последний пункт я поясню: никакого дисплея и алфавитно-цифровой клавиатуры вы на Digirule2 не найдёте! Но зато найдёте средства для ввода/вывода бит текущего адреса и бит данных по этому адресу, а так же служебные клавиши для запуска программ.

Машинных команд у "процессора" всего ничего (шпаргалка по ним даже уместилась на задней стороне платы), но "бегущие огни" на индикаторе бит данных запрограммировать можно. А ещё можно во время работы программы читать состояние кнопок, что позволит добавить в программы интерактива! Для сохранения и загрузки программ предусмотрены 8 слотов в EEPROM.

На мой взгляд Digirule2, это отличная штука, если нужно занять себя в дороге или хочется почувствовать на своей шкуре, как работалось за первыми персональными ЭВМ :)

#diy #programmable
источник
2019 January 23
brain_dump_etc
Рубрика: "железки, опять!?"

Tinusaur - образовательная платформа в области электроники. Суть: простая платка на "тиньке" (ATTiny85) и модули к ней, а также всё необходимое окружение для разработки под железку.

Плата (и модули к ней) предполагает "монтаж в отверстия", поэтому может быть собрана (да, это DIY-kit) даже новичком. Так как контроллер является представителем семейства tiny, то железка отлично себя чувствует при питании от "таблетки" CR2032. Сопрягаемые модули - сплошь датчики да индикаторы.

Образовательный процесс предполагает три ступени:
1. Сборка платы и модулей.
2. Эксперименты с модулями через визуальное программирование блоками (среда сделана на Google Blockly) с генерацией кода на Си.
3. Изучение языка Си применительно к программированию собранных железок.

Авторы периодически выпускают новые модули, такие как этот OLED-экран.

Как мне кажется, отличный проект!

#diy #electronics
источник
2019 January 29
brain_dump_etc
Завтра стартует курс по #clojurescript и re-frame: https://www.learnreframe.com/

re-frame, это такой framework поверх reagent - в свою очередь, обёртки над React :)

На первый взгляд курс выглядит интересно. Будет затронута и работа с состоянием и эффекты, и всё остальное нужное для создания современного SPA. На выходе ученики напишут это самое SPA на изученном стеке, так что даже "дипломный проект" присутствует :)

#mooc #webdev
источник
2019 January 30
brain_dump_etc
Многие ещё помнят ролик про матч по настольному теннису между человеком и роборукой от KUKA. С тех пор роборуки в рекламе и вообще массмедиа применяются периодически и уже не так удивляют.

Меня же в своё время робот-теннисист не так впечатлил, как впечатлили танцующие роботы (опять KUKA?) в шоу Timeless 2013 от Mylène Farmer. У Милен вообще каждое шоу, это праздник для ушей и глаз (да, я фанат), а тут получилось ещё и технологичненько: в 2013 промышленные роботы для массового зрителя были в новинку, да и подача не подкачала!

Так это выглядело, когда роботы подтанцовывали, а вот танец роботов без человеческой подтанцовки :)

Кстати, коллекционное издание записи концерта выглядело, как 40-сантиметровая фигурка такого робота! Увы, не функциональная...

P.S. концерт нужно целиком смотреть, конечно - он отличный, как обычно ;)

#robot #music
источник
2019 February 07
brain_dump_etc
Я тут на днях спонтанно попроцедурил на #racket. Можно смотреть тут.

Суть: процедурная графика на Racket в среде DrRacket, пара рекурсивных картинок, немножко анимации.

#procedural_generation
источник
2019 February 08
brain_dump_etc
Интересный проектик, реализованный целиком на #elm: Kite, довольно продвинутый редактор направленных графов с группами вершин, метками, цветами, автоматическим и ручным "выравниванием" конфигурации - удобная штука для своих задач.

В интерфейсе есть заглушки для будущих улучшений: визуализации алгоритмов, выборок и запросов по графу, игр на графах и т.п. - есть за чем последить!
источник
2019 February 10
brain_dump_etc
Как-то резко всплыли на моём горизонте сразу несколько вещей, связанных с ПЛИС (#fpga), и как ни странно... с #python :)

Во-первых, Pynq - инструментарий для Xilinx Zinq.

Zinq, это такие SoC (System on Chip) c ARM ядром рядом с FPGA и даже GPU в некоторых моделях - отличные штуки для машинного зрения, самоуправляемых автомобилей, вот этого всего. Pynq позволяет всё это богатство мощностей программировать прямо из Jupyter Notebook! Для исследований на стыке железок и datascience - "самое то"!

Платы на старших "цинках" довольно дорогие, что не удивляет. Но есть и решения "для дома", например платы вроде Pynq-Z2 (на картинке к посту) - розовенькие, что характерно :)

Если приглядеться к картинке, то можно увидеть шину расширения от Raspberry Pi и посадочное место для #arduino sheilds, помимо USB host, пары HDMI, Ethernet и прочих mini jack. Идельная плата для хоббиста-электронщика! Ещё и цена подъемная.
источник
brain_dump_etc
Второй проект - MyHDL, инструментарий, позволяющий использовать #python как HDL (язык для описания железа).

MyHDL транслирует код на Python в Verilog и VHDL, после чего разработчик может использовать стандартные для нужной #fpga инструменты. Помимо того, что в Python доступна работа с периферией, заявлена возможность трансляции практически любых функций, реализованных на Python, в функциональные аналоги на HDL!

Вот и статейка по данной теме (да, habr-не-торт, но это не перевод, а оригинальный материал, так что можно потерпеть).
источник
brain_dump_etc
Раз уж я пишу про #fpga и генерацию HDL, не могу не упопянуть про ClASH - основанный на #haskell функциональный HDL, транслируемый в VHDL/Verilog/SystemVerilog.

Тут вам и система типов выразительная и REPL для "поиграться вживую". И очевидный выигрыш от декларативщины. Например, вот так выглядит реализация FIR-фильтра (украл с офсайта):

fir coeffs x = dotp coeffs (window x)
 where
   dotp as bs = sum (zipWith (*) as bs)

Декларативно!

А ещё у проекта есть блог с отлично оформленными статьями. Про систолические массивы, например ;)
источник
2019 February 20
brain_dump_etc
Широко известный в узких кругах The 8-Bit Guy рассказал о новом проекте - 8/16-битном компьтере с BASIC на борту.

Железка будет совместимой с современной периферией (в первую очередь - с дисплеями) и реализована будет на настоящем 65816 (использован будет реальный чип, а не эмулятор на ПЛИС).

Назначение Commander 16 (так проект называется сейчас) - быть наглядным пособием по архитектуре компьютера. Такой компьютер должен быть обозрим своим пользователем целиком, от железа и до ПО. Поэтому и предполагаются простой процессор, BASIC в ПЗУ, отсутствие ОС.

Лично я очень рад появлению этого проекта и идеи авторов мне очень близки!

P.S. В ролике мелькают похожие - и уже существующие - проекты, что вызывает отдельный интерес.
источник
2019 March 01
brain_dump_etc
Наткнулся на интересный бложик, где автор пишет про #racket, макросы и... программирование Commodore64 (#c64) - на Racket и макросах!

Обязательно почитайте эту и эту статьи - это прекрасно! Специальный диалект для Racket, позволяющий с комфортом писать на ассемблере для C64 (или для эмулятора VISE), это сильно!
источник