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
Ну вот, похоже, напугал читателей железками
:) Надо бы что-то программистское написать...Я тут на PythonConf++ обретаюсь (увы, с докладом не срослось, поэтому просто посещаю). Если вдруг кто тоже тут будет - пингуйте!
Я люблю синтез музычки, а уж если оный сочетается с программирование в каких-то проектах - я просто счастлив!
Поэтому делюсь прекрасным - языком/средой Orca.
Итак, "Касатка" - это среда, в которой на бесконечном текстовом холсте-сетке с помощью односимвольных операторов создаётся программа в виде двухмерной схемы. В схеме периодически возникают bangs (как слово перевести-то? "всплески"?), переходят от блока к блоку и на выходе получается программно сгенерированная музыка! Весь процесс одновременно похож на FRP и на программирование на BeFunge (я про язык вспомнил и "аж прослезился"
Выдавать музыку Orca умеет как в виде MIDI-сообщений, так и в виде сообщений по UDP-сокету. Вторым способом она может и сама управляться извне. И вообще по UDP касатку можно связать с другими интересными штуками, например с DotGrid или с SonicPi.
P.S. Orca открытая и кроссплатформенная.
#procedural_generation #music
Поэтому делюсь прекрасным - языком/средой Orca.
Итак, "Касатка" - это среда, в которой на бесконечном текстовом холсте-сетке с помощью односимвольных операторов создаётся программа в виде двухмерной схемы. В схеме периодически возникают bangs (как слово перевести-то? "всплески"?), переходят от блока к блоку и на выходе получается программно сгенерированная музыка! Весь процесс одновременно похож на FRP и на программирование на BeFunge (я про язык вспомнил и "аж прослезился"
:)). По-хорошему это нужно видеть!Выдавать музыку Orca умеет как в виде MIDI-сообщений, так и в виде сообщений по UDP-сокету. Вторым способом она может и сама управляться извне. И вообще по UDP касатку можно связать с другими интересными штуками, например с DotGrid или с SonicPi.
P.S. Orca открытая и кроссплатформенная.
#procedural_generation #music
🔥1
В дополнение к Orca (см.выше) существует синтезатор Pilot - простой 16-голосый синтезатор, управляемый по UDP. По UDP можно и играть ноты и менять параметры отдельных синтезаторов, а также управлять глобальными фильтрами вроде дисторшна и ревера. Звучит синтезатор довольно приятно и по-хорошему олдскульно - вот демонстрация.
P.S. Тоже открытая кроссплатформа.
#music
P.S. Тоже открытая кроссплатформа.
#music
Forwarded from Хекслет
12 апреля в 19:00 по МСК на youtube-канале Hexlet пройдёт интервью с тимлидом и ФП-адвокатом в Evrone Павлом Аргентовым. Тема интервью - FP||!FP на работе.
Обсудим, что из практик функционального программирования стоит (и стоит ли) тащить в код на мейнстримовых ООП языках.
Ведущий интервью - Алексей Пирогов, Hexlet.
Трансляция доступна по ссылке: https://youtu.be/P1YWeLJCarI. Подписывайтесь на канал и ставьте колокольчик, чтобы не пропустить.
Обсудим, что из практик функционального программирования стоит (и стоит ли) тащить в код на мейнстримовых ООП языках.
Ведущий интервью - Алексей Пирогов, Hexlet.
Трансляция доступна по ссылке: https://youtu.be/P1YWeLJCarI. Подписывайтесь на канал и ставьте колокольчик, чтобы не пропустить.
Опять буду вебинарить. На этот раз - в режиме диалога! Заодно новый микрофон опробую
Forwarded from Хекслет
18 апреля в 19:00 на канале Hexlet стартует стрим с преподавателем профессии "Python-разработчик" Алексеем Пироговым. Что будет - код в прямом эфире и рассказ про Elm.
Ссылка на стрим: https://youtu.be/M-iZOAnlTBM.
Подписывайтесь на канал и ставьте колокольчик.
Ссылка на стрим: https://youtu.be/M-iZOAnlTBM.
Подписывайтесь на канал и ставьте колокольчик.