Широко известный в узких кругах 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
https://cdn-learn.adafruit.com/assets/assets/000/054/695/large1024mp4/robotics___cnc_Stumble-hero_v2.mp4?1527705481
А вот проектик на базе этой платы. Схема движения не новая, но этот конкретный образчик ну очень мил!
А вот проектик на базе этой платы. Схема движения не новая, но этот конкретный образчик ну очень мил!
Так вот, CircuitPython, это форк MicroPython, который AdaFriut отпочковали, чтобы поддержать программно свои образовательные инициативы в виде железок вроде вышеупомянутой Circuit Playground Express.
Проект CPy (это официальный акроним, есто что) нацелен на ещё большее упрощение и понижений порога входа для новичков в области разработки встраиваемых систем. Работает с платами на базе "мозжечков" M0 и M4, т.к. именно они стоят на адафрутовых платках. Также поддерживаются ESP8266, а вот другие камушки пока в пролёте, поэтому не факт, что я смогу завести BBC:MicroBit в связке с CPy (была мысль такое провернуть).
Насколько я понял, новичкам предлагается использовать в качестве визуальной части среды разработки редактор Mu (это ещё одна интересная штука, которую я планирую попробовать). Выбор разумный, одобряю. И у меня есть смутное подозрение, что редактор для MicroPython на сайте BBC:MicroBit, это всё тот же Mu
P.S. Как потыкаю Mu, напишу об этом.
#diy #electronics #python #micropython #microbit #esp8266
Проект CPy (это официальный акроним, есто что) нацелен на ещё большее упрощение и понижений порога входа для новичков в области разработки встраиваемых систем. Работает с платами на базе "мозжечков" M0 и M4, т.к. именно они стоят на адафрутовых платках. Также поддерживаются ESP8266, а вот другие камушки пока в пролёте, поэтому не факт, что я смогу завести BBC:MicroBit в связке с CPy (была мысль такое провернуть).
Насколько я понял, новичкам предлагается использовать в качестве визуальной части среды разработки редактор Mu (это ещё одна интересная штука, которую я планирую попробовать). Выбор разумный, одобряю. И у меня есть смутное подозрение, что редактор для MicroPython на сайте BBC:MicroBit, это всё тот же Mu
:) Заявлено, что Mu работает с MicroBit "из коробки", поэтому хотя бы тут проблем у меня быть не должно, надеюсь.P.S. Как потыкаю Mu, напишу об этом.
#diy #electronics #python #micropython #microbit #esp8266
GitHub
GitHub - adafruit/circuitpython: CircuitPython - a Python implementation for teaching coding with microcontrollers
CircuitPython - a Python implementation for teaching coding with microcontrollers - adafruit/circuitpython
Кинтайская инженерная мысль частенько удивляет. На это раз этим!
На одной плате форм-фактора #arduino сразу и привычная AVR'ка стоит и #esp8266. И более того, вторая здень не только в роли "WiFi over UART" может выступать, как это часто бывает - ESP может быть главной в связке SOC+MCU! На платке есть блок переключателей, которым можно коммутировать эти два мозга друг с другом и с программатором (USB-UART на CH340). Т.о. можно и на #nodemcu эту железку попрограммировать и на #micropython, и по-старинке на Wiring, конечно же
P.P.S. Вот бы они ещё "Мегу" выпустили с ESP на борту - это ж какая прорва GPIO получилась бы!
#electronics
На одной плате форм-фактора #arduino сразу и привычная AVR'ка стоит и #esp8266. И более того, вторая здень не только в роли "WiFi over UART" может выступать, как это часто бывает - ESP может быть главной в связке SOC+MCU! На платке есть блок переключателей, которым можно коммутировать эти два мозга друг с другом и с программатором (USB-UART на CH340). Т.о. можно и на #nodemcu эту железку попрограммировать и на #micropython, и по-старинке на Wiring, конечно же
:)
P.S. Давно думаю, чем бы мне мою старушку UNO заменить (не то чтобы она плохая, но хочется чего-то пофичастее), а тут такая красота!P.P.S. Вот бы они ещё "Мегу" выпустили с ESP на борту - это ж какая прорва GPIO получилась бы!
#electronics
Я тут сижу и облизываюсь на железки на сайте TIndie - там, правда, есть на что посмотреть, если ты железячник - и вдруг вижу такое (см. первую картинку). Думаю, "размер как у #arduino Nano!". И название соответствующее - Interface Nanoshield (ага, "nano" в названии).
Проверил - "так и вышло". Это таки shield для плат в форм-факторе Nano. Я и раньше натыкался на подобные штуки на AliExpress, но мне всегда казалось, что мезонинная архитектура не очень удобна при таких размерах (особенно пугают торчащие разъёмы RJ45 на Ethernet Shield). Однако производитель платки на фото использует другой подход - все модули располагаются на плоскости бок-в-бок! Причём бывают как Base Boards (второе фото), предназначенные для установки в один из слотов той самой Arduino Nano, так и Base Boarduino (третье фото) - та же "база", но прямо с ATmega328 на борту, т.е. самостоятельная Arduino.
И, надо сказать, в таком виде форм-фактор - вполне привлекательный!
#electronics
Проверил - "так и вышло". Это таки shield для плат в форм-факторе Nano. Я и раньше натыкался на подобные штуки на AliExpress, но мне всегда казалось, что мезонинная архитектура не очень удобна при таких размерах (особенно пугают торчащие разъёмы RJ45 на Ethernet Shield). Однако производитель платки на фото использует другой подход - все модули располагаются на плоскости бок-в-бок! Причём бывают как Base Boards (второе фото), предназначенные для установки в один из слотов той самой Arduino Nano, так и Base Boarduino (третье фото) - та же "база", но прямо с ATmega328 на борту, т.е. самостоятельная Arduino.
И, надо сказать, в таком виде форм-фактор - вполне привлекательный!
#electronics