Size: a a a

2019 March 04
brain_dump_etc
Я продолжаю поглядывать, как там у эльмеров. Недавно вот попробовал перевести на пробу один из своих проектиков на #elm 0.19 - смог :) А ещё я послушиваю выборочно подкастик elmtown - порой приходят очень интересные гости.

Так вот, в выпуске №43 гостями выступили авторы расширения для IntelliJ IDEA, реализующего поддержку Elm для этой IDE. Оказывается, разрабатывается этот плагин внутри и на деньги MicroSoft(!), написан на Kotlin (не то чтобы удивительно, но тоже приятно!) и востребован внутри компании - у MS есть даже продукт с фронтом на Elm! Эльмерам на заметку: если спросят, "и где этот ваш Elm используется?", можете смело говорить - "в MicroSoft!" :)

Отмечу, что и в целом выпуск у подкаста получился интересный. Гости рассказали и про проблемы, с которыми столкнулись при разработке упомянутого расширения, и про саму "кухню" плагиностроения для IDEA:
- почему нужно переносить "половину компилятора" в IDE,
- насколько сложно поддерживать функционирование инструментов в условиях частично невалидного и/или синтаксически некорректного кода,
- как непросто сделать поддержку нескольких версия языка одновременно (такое может потребоваться в рамках даже одного проекта - во время поэтапного перевода частей оного на свежую версию).
Если вам интересна тематика средств разработки, настоятельно рекомендую послушать!
источник
2019 March 05
brain_dump_etc
Через полтора месяца пройдёт очередной Lisp Game Jam. Напоминаю на всякий случай, вдруг кто соберётся поучаствовать? :) Можно присылать работы, созданные с помощью CL, #clojure, Scheme (#racket) и даже Emacs Lisp!

#gamedev #event
источник
2019 March 10
brain_dump_etc
Я сюда периодически пишу про #fantasy_consoles (#pico8 в основном).

Нашёл довольно большой список "моделей": https://paladin-t.github.io/fantasy/index. Тут вам "железки" разного толка, программируемые и ASM, и на привычных уже для виртуальных консолей Lua/BASIC/PYTHON. Экзотика тоже встречается: Pix64, скажем, "программируется" на PNG :)

Присутствует даже "консоль" для для Nintendo 3DS: что может быть лучше написания своей игры путём натыкивания BASIC-кода стилусом на виртуальной клавиатуре - стоя в метро, конечно же!

P.S. Обязательно посмотрите хотя бы на Pix64 программируемую картинками (ссылка выше). Как мне кажется, выбран наиинтереснейший подход к декларативному описанию простых игр!
источник
2019 March 13
brain_dump_etc
Для #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
источник
brain_dump_etc
Минутка (само)пиара:
источник
brain_dump_etc
Полезный вебинар в копилку знаний для программиста! 15 марта в 19:00 по МСК на ютуб-канале - "Функциональное программирование как парадигма: цели, способы, применимость". Рассказывает разработчик и преподаватель Hexlet Алексей Пирогов.

Трансляция доступна по ссылке https://youtu.be/0GX4JRAGEzc. Подписывайся на канал и ставь колокольчики, чтобы не пропустить!

💡 БОНУС для слушателей: на вебинаре расскажем, как выиграть билет на SECON'19.
источник
2019 March 14
brain_dump_etc
Рубрика "ссылочки от читателей": http://themagicsmoke.ru/courses/stm32/

По ссылке можно найти объемный и всеохватывающий курс по работе с микроконтроллерами STM32. Описывается и работа с самими м/к и взаимодействие с популярной периферией, и внутреннее устройство микроконтроллеров - материала действительно много!

#learning #electronics #stm32
источник
2019 March 15
brain_dump_etc
Manning выпустили новую бесплатную книжку: https://www.manning.com/books/exploring-haskell

По сути это несколько глав из книги по основам #haskell и одна глава из книги для продолжающих (от @bravit111). Главы подобраны неплохо, "почувствовать вкус" дают :)

#book
источник
2019 March 20
brain_dump_etc
Раз уж так сталось, что я теперь преподаватель на Hexlet и буду поднимать там направление обучению #python, то пропиарю бесплатный дочерний ресурс с курсами по "самым основам": https://code-basics.ru

На CodeBasics есть курс по Python за моим авторством, а ещё начал формироваться курс по #racket (моё участие в его наполнении пока довольно скромное, но то ли ещё будет!). Курс по Racket не совсем новичковый, он в основном расчитан на тех, кто уже с программированием знаком - "второй курс", можно сказать - но и особой сложности не ожидается, "можно давать детям" :)

Приглашаю бетатестить это всё. Можно писать комменты к урокам, а можно и в гитхаб реквестить!

#learning
источник
2019 March 21
brain_dump_etc
Опять пиарю свои грядущие доклады: это будет на "Стачке", https://nastachku.ru/navigaciya-po-moryu-razrabotki-dlya-nachinayuschih
Если кто меня знает - найдёмся!
источник
brain_dump_etc
Ох, и тяжко курс по #racket делать! Даже вводный. А всё потому, что терминологии много необычной! Зато весело :) Перелопатил и причесал базовые уроки, скоро больше "мяса" будет.

----------

Пока же рекомендую посмотреть, как на Racket "делают вебчик":
Continue: Web Applications in Racket

Подход, как водится, интересный. Мягко говоря :) И если генерацию HTML из S-expressions ещё можно себе представить, коли хоть раз видел уже подобное в других лиспоподобных языках, то подход к управлению состоянием абсолютно прелестный и абсолютно "схематичный" - continuations!

Исторически в Scheme (а поэтому и в Racket) машинерия для CPS (Continuation-passing Style) присутствовала из коробки, наряду с оптимизацией хвостовых вызовов. Поэтому библиотек, использующих этот подход, для Racket написано немало.

Вот и web-server-lib такая. Мы описываем разметку страницы в виде функции, а к ссылкам прикрепляем continuations, содержащие рекурсивные вызовы этой функции для всех состояний(!), в которые можно перейти из текущего!

Т.о. состояние не покидает функцию, а продолжает жить между вызовами оной. И более того, для каждой сессии в браузере состояние у "вьюхи" по умлочанию будет своё! Библиотека сама на себя берёт заботу о сессиях и coockies.

Разумеется, можно развить приложение до использования глобального состояния, в т.ч. отказаться от CPS вообще, но с развлекательно-познавательной точки зрения интересен как раз искоробочный подход на базе продолжений.
источник
brain_dump_etc
Вот собственно пример из туториала (я бы на let сделал вместо локальных define, но это такой старый schema style). В остальном - один continuation другим погоняет :) Но для stateful проложения вполне компактно.
источник
2019 March 29
brain_dump_etc
Смотрите, какая прелесть!

Это Circuit Playground Express - платка от AdaFruit в их любимом исполнении (круглая). На борту
- неопиксели (куда уж без них?)
- микрофон
- пищалка
- датчик температуры
- датчик освещённости
ну и по мелочи всякое вроде светодиода "на помигать" и пары кнопок.

Мозги - Cortex M0 (атмеловский ATSAMD21) + 2МБ флеша (для CircuitPython, о котором я ещё напишу!)

#electronics #python
источник
brain_dump_etc
https://cdn-learn.adafruit.com/assets/assets/000/054/695/large1024mp4/robotics___cnc_Stumble-hero_v2.mp4?1527705481

А вот проектик на базе этой платы. Схема движения не новая, но этот конкретный образчик ну очень мил!
источник
brain_dump_etc
Так вот, CircuitPython, это форк MicroPython, который AdaFriut отпочковали, чтобы поддержать программно свои образовательные инициативы в виде железок вроде вышеупомянутой Circuit Playground Express.

Проект CPy (это официальный акроним, есто что) нацелен на ещё большее упрощение и понижений порога входа для новичков в области разработки встраиваемых систем. Работает с платами на базе "мозжечков" M0 и M4, т.к. именно они стоят на адафрутовых платках. Также поддерживаются ESP8266, а вот другие камушки пока в пролёте, поэтому не факт, что я смогу завести BBC:MicroBit в связке с CPy (была мысль такое провернуть).

Насколько я понял, новичкам предлагается использовать в качестве визуальной части среды разработки редактор Mu (это ещё одна интересная штука, которую я планирую попробовать). Выбор разумный, одобряю. И у меня есть смутное подозрение, что редактор для MicroPython на сайте BBC:MicroBit, это всё тот же Mu :) Заявлено, что Mu работает с MicroBit "из коробки", поэтому хотя бы тут проблем у меня быть не должно, надеюсь.

P.S. Как потыкаю Mu, напишу об этом.

#diy #electronics #python #micropython #microbit #esp8266
источник
2019 April 01
brain_dump_etc
Кинтайская инженерная мысль частенько удивляет. На это раз этим!

На одной плате форм-фактора #arduino сразу и привычная AVR'ка стоит и #esp8266. И более того, вторая здень не только в роли "WiFi over UART" может выступать, как это часто бывает - ESP может быть главной в связке SOC+MCU! На платке есть блок переключателей, которым можно коммутировать эти два мозга друг с другом и с программатором (USB-UART на CH340). Т.о. можно и на #nodemcu эту железку попрограммировать и на #micropython, и по-старинке на Wiring, конечно же :)

P.S. Давно думаю, чем бы мне мою старушку UNO заменить (не то чтобы она плохая, но хочется чего-то пофичастее), а тут такая красота!

P.P.S. Вот бы они ещё "Мегу" выпустили с ESP на борту - это ж какая прорва GPIO получилась бы!

#electronics
источник
brain_dump_etc
Я тут сижу и облизываюсь на железки на сайте TIndie - там, правда, есть на что посмотреть, если ты железячник - и вдруг вижу такое (см. первую картинку). Думаю, "размер как у #arduino Nano!". И название соответствующее - Interface Nanoshield (ага, "nano" в названии).

Проверил - "так и вышло". Это таки shield для плат в форм-факторе Nano. Я и раньше натыкался на подобные штуки на AliExpress, но мне всегда казалось, что мезонинная архитектура не очень удобна при таких размерах (особенно пугают торчащие разъёмы RJ45 на Ethernet Shield). Однако производитель платки на фото использует другой подход - все модули располагаются на плоскости бок-в-бок! Причём бывают как Base Boards (второе фото), предназначенные для установки в один из слотов той самой Arduino Nano, так и Base Boarduino (третье фото) - та же "база", но прямо с ATmega328 на борту, т.е. самостоятельная Arduino.

И, надо сказать, в таком виде форм-фактор - вполне привлекательный!

#electronics
источник
brain_dump_etc
источник
brain_dump_etc
источник
brain_dump_etc
Ну вот, похоже, напугал читателей железками :) Надо бы что-то программистское написать...
источник