Многие ещё помнят ролик про матч по настольному теннису между человеком и роборукой от KUKA. С тех пор роборуки в рекламе и вообще массмедиа применяются периодически и уже не так удивляют.
Меня же в своё время робот-теннисист не так впечатлил, как впечатлили танцующие роботы (опять KUKA?) в шоу Timeless 2013 от Mylène Farmer. У Милен вообще каждое шоу, это праздник для ушей и глаз (да, я фанат), а тут получилось ещё и технологичненько: в 2013 промышленные роботы для массового зрителя были в новинку, да и подача не подкачала!
Так это выглядело, когда роботы подтанцовывали, а вот танец роботов без человеческой подтанцовки
P.S. концерт нужно целиком смотреть, конечно - он отличный, как обычно
Меня же в своё время робот-теннисист не так впечатлил, как впечатлили танцующие роботы (опять KUKA?) в шоу Timeless 2013 от Mylène Farmer. У Милен вообще каждое шоу, это праздник для ушей и глаз (да, я фанат), а тут получилось ещё и технологичненько: в 2013 промышленные роботы для массового зрителя были в новинку, да и подача не подкачала!
Так это выглядело, когда роботы подтанцовывали, а вот танец роботов без человеческой подтанцовки
:)
Кстати, коллекционное издание записи концерта выглядело, как 40-сантиметровая фигурка такого робота! Увы, не функциональная...P.S. концерт нужно целиком смотреть, конечно - он отличный, как обычно
;)
#robot #musicЯ тут на днях спонтанно попроцедурил на #racket. Можно смотреть тут.
Суть: процедурная графика на Racket в среде DrRacket, пара рекурсивных картинок, немножко анимации.
#procedural_generation
Суть: процедурная графика на Racket в среде DrRacket, пара рекурсивных картинок, немножко анимации.
#procedural_generation
YouTube
Простая процедурная графика на Racket
Порисовал картинки с помощью языка Racket и его стандартной библиотеки
Интересный проектик, реализованный целиком на #elm: Kite, довольно продвинутый редактор направленных графов с группами вершин, метками, цветами, автоматическим и ручным "выравниванием" конфигурации - удобная штука для своих задач.
В интерфейсе есть заглушки для будущих улучшений: визуализации алгоритмов, выборок и запросов по графу, игр на графах и т.п. - есть за чем последить!
В интерфейсе есть заглушки для будущих улучшений: визуализации алгоритмов, выборок и запросов по графу, игр на графах и т.п. - есть за чем последить!
Как-то резко всплыли на моём горизонте сразу несколько вещей, связанных с ПЛИС (#fpga), и как ни странно... с #python
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. Идельная плата для хоббиста-электронщика! Ещё и цена подъемная.
:)
Во-первых, 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. Идельная плата для хоббиста-электронщика! Ещё и цена подъемная.
Второй проект - MyHDL, инструментарий, позволяющий использовать #python как HDL (язык для описания железа).
MyHDL транслирует код на Python в Verilog и VHDL, после чего разработчик может использовать стандартные для нужной #fpga инструменты. Помимо того, что в Python доступна работа с периферией, заявлена возможность трансляции практически любых функций, реализованных на Python, в функциональные аналоги на HDL!
Вот и статейка по данной теме (да, habr-не-торт, но это не перевод, а оригинальный материал, так что можно потерпеть).
MyHDL транслирует код на Python в Verilog и VHDL, после чего разработчик может использовать стандартные для нужной #fpga инструменты. Помимо того, что в Python доступна работа с периферией, заявлена возможность трансляции практически любых функций, реализованных на Python, в функциональные аналоги на HDL!
Вот и статейка по данной теме (да, habr-не-торт, но это не перевод, а оригинальный материал, так что можно потерпеть).
Раз уж я пишу про #fpga и генерацию HDL, не могу не упопянуть про ClASH - основанный на #haskell функциональный HDL, транслируемый в VHDL/Verilog/SystemVerilog.
Тут вам и система типов выразительная и REPL для "поиграться вживую". И очевидный выигрыш от декларативщины. Например, вот так выглядит реализация FIR-фильтра (украл с офсайта):
А ещё у проекта есть блог с отлично оформленными статьями. Про систолические массивы, например
Тут вам и система типов выразительная и REPL для "поиграться вживую". И очевидный выигрыш от декларативщины. Например, вот так выглядит реализация FIR-фильтра (украл с офсайта):
fir coeffs x = dotp coeffs (window x)
where
dotp as bs = sum (zipWith (*) as bs)
Декларативно!А ещё у проекта есть блог с отлично оформленными статьями. Про систолические массивы, например
;)clash-lang.org
Building systolic arrays with Clash
Building a
Широко известный в узких кругах The 8-Bit Guy рассказал о новом проекте - 8/16-битном компьтере с BASIC на борту.
Железка будет совместимой с современной периферией (в первую очередь - с дисплеями) и реализована будет на настоящем 65816 (использован будет реальный чип, а не эмулятор на ПЛИС).
Назначение Commander 16 (так проект называется сейчас) - быть наглядным пособием по архитектуре компьютера. Такой компьютер должен быть обозрим своим пользователем целиком, от железа и до ПО. Поэтому и предполагаются простой процессор, BASIC в ПЗУ, отсутствие ОС.
Лично я очень рад появлению этого проекта и идеи авторов мне очень близки!
P.S. В ролике мелькают похожие - и уже существующие - проекты, что вызывает отдельный интерес.
Железка будет совместимой с современной периферией (в первую очередь - с дисплеями) и реализована будет на настоящем 65816 (использован будет реальный чип, а не эмулятор на ПЛИС).
Назначение Commander 16 (так проект называется сейчас) - быть наглядным пособием по архитектуре компьютера. Такой компьютер должен быть обозрим своим пользователем целиком, от железа и до ПО. Поэтому и предполагаются простой процессор, BASIC в ПЗУ, отсутствие ОС.
Лично я очень рад появлению этого проекта и идеи авторов мне очень близки!
P.S. В ролике мелькают похожие - и уже существующие - проекты, что вызывает отдельный интерес.
Наткнулся на интересный бложик, где автор пишет про #racket, макросы и... программирование Commodore64 (#c64) - на Racket и макросах!
Обязательно почитайте эту и эту статьи - это прекрасно! Специальный диалект для Racket, позволяющий с комфортом писать на ассемблере для C64 (или для эмулятора VISE), это сильно!
Обязательно почитайте эту и эту статьи - это прекрасно! Специальный диалект для Racket, позволяющий с комфортом писать на ассемблере для C64 (или для эмулятора VISE), это сильно!
Я продолжаю поглядывать, как там у эльмеров. Недавно вот попробовал перевести на пробу один из своих проектиков на #elm 0.19 - смог
Так вот, в выпуске №43 гостями выступили авторы расширения для IntelliJ IDEA, реализующего поддержку Elm для этой IDE. Оказывается, разрабатывается этот плагин внутри и на деньги MicroSoft(!), написан на Kotlin (не то чтобы удивительно, но тоже приятно!) и востребован внутри компании - у MS есть даже продукт с фронтом на Elm! Эльмерам на заметку: если спросят, "и где этот ваш Elm используется?", можете смело говорить - "в MicroSoft!"
- почему нужно переносить "половину компилятора" в IDE,
- насколько сложно поддерживать функционирование инструментов в условиях частично невалидного и/или синтаксически некорректного кода,
- как непросто сделать поддержку нескольких версия языка одновременно (такое может потребоваться в рамках даже одного проекта - во время поэтапного перевода частей оного на свежую версию).
Если вам интересна тематика средств разработки, настоятельно рекомендую послушать!
:) А ещё я послушиваю выборочно подкастик elmtown - порой приходят очень интересные гости.Так вот, в выпуске №43 гостями выступили авторы расширения для IntelliJ IDEA, реализующего поддержку Elm для этой IDE. Оказывается, разрабатывается этот плагин внутри и на деньги MicroSoft(!), написан на Kotlin (не то чтобы удивительно, но тоже приятно!) и востребован внутри компании - у MS есть даже продукт с фронтом на Elm! Эльмерам на заметку: если спросят, "и где этот ваш Elm используется?", можете смело говорить - "в MicroSoft!"
:)
Отмечу, что и в целом выпуск у подкаста получился интересный. Гости рассказали и про проблемы, с которыми столкнулись при разработке упомянутого расширения, и про саму "кухню" плагиностроения для IDEA:- почему нужно переносить "половину компилятора" в IDE,
- насколько сложно поддерживать функционирование инструментов в условиях частично невалидного и/или синтаксически некорректного кода,
- как непросто сделать поддержку нескольких версия языка одновременно (такое может потребоваться в рамках даже одного проекта - во время поэтапного перевода частей оного на свежую версию).
Если вам интересна тематика средств разработки, настоятельно рекомендую послушать!
Через полтора месяца пройдёт очередной Lisp Game Jam. Напоминаю на всякий случай, вдруг кто соберётся поучаствовать?
#gamedev #event
:) Можно присылать работы, созданные с помощью CL, #clojure, Scheme (#racket) и даже Emacs Lisp!#gamedev #event
itch.io
Lisp Game Jam 2019
A game jam from 2019-04-19 to 2019-05-02 hosted by mfiano. NOTE: The jam was extended by 1 day due to an error on our part. For this reason, voting will only last 2 days, not 3. Lisp Game Jam is a game jam tak...
Я сюда периодически пишу про #fantasy_consoles (#pico8 в основном).
Нашёл довольно большой список "моделей": https://paladin-t.github.io/fantasy/index. Тут вам "железки" разного толка, программируемые и ASM, и на привычных уже для виртуальных консолей Lua/BASIC/PYTHON. Экзотика тоже встречается: Pix64, скажем, "программируется" на PNG :)
Присутствует даже "консоль" для для Nintendo 3DS: что может быть лучше написания своей игры путём натыкивания BASIC-кода стилусом на виртуальной клавиатуре - стоя в метро, конечно же!
P.S. Обязательно посмотрите хотя бы на Pix64 программируемую картинками (ссылка выше). Как мне кажется, выбран наиинтереснейший подход к декларативному описанию простых игр!
Нашёл довольно большой список "моделей": https://paladin-t.github.io/fantasy/index. Тут вам "железки" разного толка, программируемые и ASM, и на привычных уже для виртуальных консолей Lua/BASIC/PYTHON. Экзотика тоже встречается: Pix64, скажем, "программируется" на PNG :)
Присутствует даже "консоль" для для Nintendo 3DS: что может быть лучше написания своей игры путём натыкивания BASIC-кода стилусом на виртуальной клавиатуре - стоя в метро, конечно же!
P.S. Обязательно посмотрите хотя бы на Pix64 программируемую картинками (ссылка выше). Как мне кажется, выбран наиинтереснейший подход к декларативному описанию простых игр!
fantasy
FANTASY CONSOLES/COMPUTERS
A curated list of available fantasy consoles/computers.
Для #esp8266 существует интересный игровой дивжок: Little Game Engine. На железке работает виртуальная машина, код для которой можно писать в online IDE, запуская прямо на встроенном в среду эмуляторе! Так что не "интернетом вещей" единым жива ESP8266, как говорится
https://www.youtube.com/watch?v=hUVykJf2aws
Статейка по теме:
https://hackaday.com/2019/03/11/esp8266-gets-its-game-on-with-open-source-engine/
#diy #electronics #gamedev
:)
Тут можно посмотреть демонстрацию работы:https://www.youtube.com/watch?v=hUVykJf2aws
Статейка по теме:
https://hackaday.com/2019/03/11/esp8266-gets-its-game-on-with-open-source-engine/
#diy #electronics #gamedev
GitHub
GitHub - corax89/esp8266_game_engine: Used ili9341 or ST7735. Contains a virtual machine running games from RAM.
Used ili9341 or ST7735. Contains a virtual machine running games from RAM. - corax89/esp8266_game_engine
Forwarded from Хекслет
Полезный вебинар в копилку знаний для программиста! 15 марта в 19:00 по МСК на ютуб-канале - "Функциональное программирование как парадигма: цели, способы, применимость". Рассказывает разработчик и преподаватель Hexlet Алексей Пирогов.
Трансляция доступна по ссылке https://youtu.be/0GX4JRAGEzc. Подписывайся на канал и ставь колокольчики, чтобы не пропустить!
💡 БОНУС для слушателей: на вебинаре расскажем, как выиграть билет на SECON'19.
Трансляция доступна по ссылке https://youtu.be/0GX4JRAGEzc. Подписывайся на канал и ставь колокольчики, чтобы не пропустить!
💡 БОНУС для слушателей: на вебинаре расскажем, как выиграть билет на SECON'19.
Рубрика "ссылочки от читателей": http://themagicsmoke.ru/courses/stm32/
По ссылке можно найти объемный и всеохватывающий курс по работе с микроконтроллерами STM32. Описывается и работа с самими м/к и взаимодействие с популярной периферией, и внутреннее устройство микроконтроллеров - материала действительно много!
#learning #electronics #stm32
По ссылке можно найти объемный и всеохватывающий курс по работе с микроконтроллерами STM32. Описывается и работа с самими м/к и взаимодействие с популярной периферией, и внутреннее устройство микроконтроллеров - материала действительно много!
#learning #electronics #stm32
Manning выпустили новую бесплатную книжку: https://www.manning.com/books/exploring-haskell
По сути это несколько глав из книги по основам #haskell и одна глава из книги для продолжающих (от @bravit111). Главы подобраны неплохо, "почувствовать вкус" дают
По сути это несколько глав из книги по основам #haskell и одна глава из книги для продолжающих (от @bravit111). Главы подобраны неплохо, "почувствовать вкус" дают
:)
#bookManning Publications
Exploring Haskell - With chapters selected by Marcello Seri
Discover Haskell's power! Learn core concepts and build real-world applications with this easy-to-follow guide.
Раз уж так сталось, что я теперь преподаватель на Hexlet и буду поднимать там направление обучению #python, то пропиарю бесплатный дочерний ресурс с курсами по "самым основам": https://code-basics.ru
На CodeBasics есть курс по Python за моим авторством, а ещё начал формироваться курс по #racket (моё участие в его наполнении пока довольно скромное, но то ли ещё будет!). Курс по Racket не совсем новичковый, он в основном расчитан на тех, кто уже с программированием знаком - "второй курс", можно сказать - но и особой сложности не ожидается, "можно давать детям"
Приглашаю бетатестить это всё. Можно писать комменты к урокам, а можно и в гитхаб реквестить!
#learning
На CodeBasics есть курс по Python за моим авторством, а ещё начал формироваться курс по #racket (моё участие в его наполнении пока довольно скромное, но то ли ещё будет!). Курс по Racket не совсем новичковый, он в основном расчитан на тех, кто уже с программированием знаком - "второй курс", можно сказать - но и особой сложности не ожидается, "можно давать детям"
:)Приглашаю бетатестить это всё. Можно писать комменты к урокам, а можно и в гитхаб реквестить!
#learning
ru.hexlet.io
Хекслет — онлайн-школа программирования, онлайн-обучение ИТ-профессиям
Хекслет — лучшая школа программирования по версии пользователей Хабра. Авторские программы обучения с практикой и готовыми проектами в резюме. Помощь в трудо...
Опять пиарю свои грядущие доклады: это будет на "Стачке", https://nastachku.ru/navigaciya-po-moryu-razrabotki-dlya-nachinayuschih
Если кто меня знает - найдёмся!
Если кто меня знает - найдёмся!
nastachku.ru
STACHKA. International IT-conference | Ulyanovsk April 26-27, 2019
Разработка программного обеспечения сегодня - индустрия очень большая Времена когда можно было быть универсальным просто инженером-программистом давно прошли Будущее за узкими специалистами при огромном количестве доступных специализаций Как в этом многообразии…
Ох, и тяжко курс по #racket делать! Даже вводный. А всё потому, что терминологии много необычной! Зато весело
Пока же рекомендую посмотреть, как на Racket "делают вебчик":
Continue: Web Applications in Racket
Подход, как водится, интересный. Мягко говоря :) И если генерацию HTML из S-expressions ещё можно себе представить, коли хоть раз видел уже подобное в других лиспоподобных языках, то подход к управлению состоянием абсолютно прелестный и абсолютно "схематичный" - continuations!
Исторически в Scheme (а поэтому и в Racket) машинерия для CPS (Continuation-passing Style) присутствовала из коробки, наряду с оптимизацией хвостовых вызовов. Поэтому библиотек, использующих этот подход, для Racket написано немало.
Вот и web-server-lib такая. Мы описываем разметку страницы в виде функции, а к ссылкам прикрепляем continuations, содержащие рекурсивные вызовы этой функции для всех состояний(!), в которые можно перейти из текущего!
Т.о. состояние не покидает функцию, а продолжает жить между вызовами оной. И более того, для каждой сессии в браузере состояние у "вьюхи" по умлочанию будет своё! Библиотека сама на себя берёт заботу о сессиях и coockies.
Разумеется, можно развить приложение до использования глобального состояния, в т.ч. отказаться от CPS вообще, но с развлекательно-познавательной точки зрения интересен как раз искоробочный подход на базе продолжений.
:) Перелопатил и причесал базовые уроки, скоро больше "мяса" будет.----------
Пока же рекомендую посмотреть, как на Racket "делают вебчик":
Continue: Web Applications in Racket
Подход, как водится, интересный. Мягко говоря :) И если генерацию HTML из S-expressions ещё можно себе представить, коли хоть раз видел уже подобное в других лиспоподобных языках, то подход к управлению состоянием абсолютно прелестный и абсолютно "схематичный" - continuations!
Исторически в Scheme (а поэтому и в Racket) машинерия для CPS (Continuation-passing Style) присутствовала из коробки, наряду с оптимизацией хвостовых вызовов. Поэтому библиотек, использующих этот подход, для Racket написано немало.
Вот и web-server-lib такая. Мы описываем разметку страницы в виде функции, а к ссылкам прикрепляем continuations, содержащие рекурсивные вызовы этой функции для всех состояний(!), в которые можно перейти из текущего!
Т.о. состояние не покидает функцию, а продолжает жить между вызовами оной. И более того, для каждой сессии в браузере состояние у "вьюхи" по умлочанию будет своё! Библиотека сама на себя берёт заботу о сессиях и coockies.
Разумеется, можно развить приложение до использования глобального состояния, в т.ч. отказаться от CPS вообще, но с развлекательно-познавательной точки зрения интересен как раз искоробочный подход на базе продолжений.
Смотрите, какая прелесть!
Это Circuit Playground Express - платка от AdaFruit в их любимом исполнении (круглая). На борту
- неопиксели (куда уж без них?)
- микрофон
- пищалка
- датчик температуры
- датчик освещённости
ну и по мелочи всякое вроде светодиода "на помигать" и пары кнопок.
Мозги - Cortex M0 (атмеловский ATSAMD21) + 2МБ флеша (для CircuitPython, о котором я ещё напишу!)
#electronics #python
Это Circuit Playground Express - платка от AdaFruit в их любимом исполнении (круглая). На борту
- неопиксели (куда уж без них?)
- микрофон
- пищалка
- датчик температуры
- датчик освещённости
ну и по мелочи всякое вроде светодиода "на помигать" и пары кнопок.
Мозги - Cortex M0 (атмеловский ATSAMD21) + 2МБ флеша (для CircuitPython, о котором я ещё напишу!)
#electronics #python