Я люблю синтез музычки, а уж если оный сочетается с программирование в каких-то проектах - я просто счастлив!
Поэтому делюсь прекрасным - языком/средой 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.
Подписывайтесь на канал и ставьте колокольчик.
Антон Холомьёв (@anton_kho) поделился свежим видео: https://www.youtube.com/watch?v=0np4mOkfDgE
Антон - автор "Учебника по Haskell" и хаскельной же обёртки для CSound (CSound - это такой движок для программного синтеза звука), а по ссылке можно как раз понаблюдать работу CSound Expressions под управлением MIDI-контроллера.
Как мне кажется, demo получилось очень показательное. Надеюсь, что кого-то оно сподвигнет таки попрограммировать музычку на Haskell.
#haskell #procedural_generation #music
Антон - автор "Учебника по Haskell" и хаскельной же обёртки для CSound (CSound - это такой движок для программного синтеза звука), а по ссылке можно как раз понаблюдать работу CSound Expressions под управлением MIDI-контроллера.
Как мне кажется, demo получилось очень показательное. Надеюсь, что кого-то оно сподвигнет таки попрограммировать музычку на Haskell.
#haskell #procedural_generation #music
YouTube
Clock shuffle (csound-expression live demo)
The video is a live demo of midi-synthesizer that was made with haskell library csound-expression and synth Csound.
The synthesyzer is a continuous sound object that is controlled with novation controller. All transitions are made with knobs. So it creates…
The synthesyzer is a continuous sound object that is controlled with novation controller. All transitions are made with knobs. So it creates…
Принёс немного прелестной дичи: язык legit (спасибо за наводку, дорогой некто).
Legit - эзотерический язык программирования, программа на котором кодируется структурой git-репозитория!
Язык, как водится, стековый, активно пользует гитовы теги как именованные метки, умеет простой ввод-вывод. А ещё - компилируется в LLVM! Да, помимо интерпретатора есть ещё и транслятор в LLVM IR, так что можно даже исполняемый бинарник получить
Позабавило одно интересное свойство программ на Legit, цитирую:
A fun consequence of programs defined by a Git history is that you can’t properly track versions, because they already are Git repositories. All you can do is force-push a new version to GitHub.
На мой взгляд, это прекрасно!
#programming #fun
Legit - эзотерический язык программирования, программа на котором кодируется структурой git-репозитория!
Язык, как водится, стековый, активно пользует гитовы теги как именованные метки, умеет простой ввод-вывод. А ещё - компилируется в LLVM! Да, помимо интерпретатора есть ещё и транслятор в LLVM IR, так что можно даже исполняемый бинарник получить
:)Позабавило одно интересное свойство программ на Legit, цитирую:
A fun consequence of programs defined by a Git history is that you can’t properly track versions, because they already are Git repositories. All you can do is force-push a new version to GitHub.
На мой взгляд, это прекрасно!
#programming #fun
blinry.org
legit
Git commits as an esoteric programming language
🤔1
Forwarded from Хекслет
24-25 мая в Казани пройдёт конференция по функциональному программированию FPURE. 25 докладов, 2 воркшопа, и среди докладчиков преподаватель Hexlet Алексей Пирогов. Тема его доклада: "Функциональный дизайн и паттерны ФП".
Регистрируйся для участия здесь: http://amp.gs/U9Yn
Регистрируйся для участия здесь: http://amp.gs/U9Yn
Фух, перевёл-таки свой пакетик tea-combine на elm-0.19!
Увы, без инфиксных операторов eDSL стал похуже выглядеть, но тут уже ничего не попишешь, как говорится.
#elm #library
Увы, без инфиксных операторов eDSL стал похуже выглядеть, но тут уже ничего не попишешь, как говорится.
#elm #library
Хороший доклад про внедрение #elm, а следом и #haskell в рабочий процесс: https://www.youtube.com/watch?v=5CYeZ2kEiOI
Описаны цели и профиты от внедрения, но доклад не останавливается на этом. Говорится и про проблемы найма сотрудников, и про сложность обучения — и самое главное — про то, как преодолевать такие трудности.
Отдельно можно отметить подход к внедрению новой технологии, который в NoRedInk использовали при рассмотрении Elm и Haskell (в качестве замены для React и RoR соответственно):
- взять некритичную но реальную задачу и переписать с использованием новой штуки,
- довести до production,
- взвесить плюсы и минусы смены инструментария.
Кмк, вполне адекватно и масштабируемо на любые "внедрятельные" мероприятия!
Описаны цели и профиты от внедрения, но доклад не останавливается на этом. Говорится и про проблемы найма сотрудников, и про сложность обучения — и самое главное — про то, как преодолевать такие трудности.
Отдельно можно отметить подход к внедрению новой технологии, который в NoRedInk использовали при рассмотрении Elm и Haskell (в качестве замены для React и RoR соответственно):
- взять некритичную но реальную задачу и переписать с использованием новой штуки,
- довести до production,
- взвесить плюсы и минусы смены инструментария.
Кмк, вполне адекватно и масштабируемо на любые "внедрятельные" мероприятия!
YouTube
From Rails to Elm and Haskell - Richard Feldman
When I joined NoRedInk in 2013, we had a typical Ruby on Rails web application. In 2015 we introduced Elm, a pure functional programming language for building Web UIs, and it spread like wildfire to become our primary tool for front-end programming. In 2019…
Добрался наконец до Wasmer/WAPM/Rust и накидал учебный проектик.
О чем это всё? Итак, есть такая штука — WASI, интерфейс для взаимодействия WebAssembly-кода с системой без участия браузера. У WASI есть не несколько реализаций, одну из которых я и решил попробовать. Wasmer — это универсальный рантайм WebAssembly, совместимый со спецификацией WASI и имеющий свой пакетный менеджер WAPM.
Wasmer позволяет запускать
Rust же, в свою очередь, в своей nigtly-ипостаси умеет собирать
Это я и решил проверить и получил в итоге упомянутый в начале проектик. Отмечу, что весь инструментарий поставился и заработал сразу без каких-либо проблем — очень неплохо!
Программка реализована простейшая, но использует внешнюю библиотеку из Crates для вывода цветного текста, так что будет интересно проверить работоспособность бинарника на Windows.
#wasm
О чем это всё? Итак, есть такая штука — WASI, интерфейс для взаимодействия WebAssembly-кода с системой без участия браузера. У WASI есть не несколько реализаций, одну из которых я и решил попробовать. Wasmer — это универсальный рантайм WebAssembly, совместимый со спецификацией WASI и имеющий свой пакетный менеджер WAPM.
Wasmer позволяет запускать
.wasm-бинарники на различных ОС — Linux, Windows, macOS — без перекомпиляции и потенциально может быть хорошим вариантом для "ультрапереносимых" программ. Написан на #rust, что отдельно радует.Rust же, в свою очередь, в своей nigtly-ипостаси умеет собирать
.wasm-бинарники. Которые затем можно опакетить WAPM и/или запустить на Wasmer.Это я и решил проверить и получил в итоге упомянутый в начале проектик. Отмечу, что весь инструментарий поставился и заработал сразу без каких-либо проблем — очень неплохо!
Программка реализована простейшая, но использует внешнюю библиотеку из Crates для вывода цветного текста, так что будет интересно проверить работоспособность бинарника на Windows.
#wasm
GitHub
GitHub - astynax/hello-wasi: Wasmer/Rust example
Wasmer/Rust example. Contribute to astynax/hello-wasi development by creating an account on GitHub.
Записали с Никитой Соболевым подкаст про всякое околопитоновое: пакеты и пакетирование, безопасность этого всего.
В этой ипостаси (со мной в роли ведущего и с уклоном в IT таки) подкаст ещё только возрождается, так что нужно будет и над звуком поработать и над "отбивками". Но первый блин, хоть и комковат, но на оладушек потянет!
#podcast #python
В этой ипостаси (со мной в роли ведущего и с уклоном в IT таки) подкаст ещё только возрождается, так что нужно будет и над звуком поработать и над "отбивками". Но первый блин, хоть и комковат, но на оладушек потянет!
:)
P.S. Помучились с настройкой записи и вообще общения изрядно. Mumble на мною поднятом сервере на DigitalOcean позволил сконнектиться, но услышать друг друга нам так и не удалось. В итоге записали беседу силами бота в Discord — модно, молодёжно :)#podcast #python
ru.hexlet.io
#Hexlet Podcast: Пакеты, репозитории, безопасность
Представляем вам новый формат подкаста Hexlet. Ведущий подкаста - Алексей Пирогов. В гостях Никита Соболев.
👍1
Анонсировали тут play.date — портативную консоль интересного дизайна.
Что же это за железка? Портативная игровая консоль, само собой, но не "очередная", к счастью. Экран монохромный, кнопок мало, рукоятка как у шарманки сбоку! Вот в этой рукоятке и заключается вся инаковость — вращение оной управляет самим игровым процессом (да, игры у
P.S. Я, как увидел первую картинку в интернете, сразу пошел на сайт и уже на первом экране подумал, "что-то уж больно знакомо всё — цвета, углы, кнопки, крутилка". Так и вышло (с):
> By the way, the crank came from our friends at Teenage Engineering. They were our partners for Playdate’s design. Isn’t it nice?
Nice, indeed! Ждём продолжения!
#gaming #console
Что же это за железка? Портативная игровая консоль, само собой, но не "очередная", к счастью. Экран монохромный, кнопок мало, рукоятка как у шарманки сбоку! Вот в этой рукоятке и заключается вся инаковость — вращение оной управляет самим игровым процессом (да, игры у
play.date будут свои, ориентированные именно на такое управление). Советую пройти на страницу и посмотреть анимацию, демонстрирующую (увы, очень поверхностно) этот самый игровой процесс — смотрится хорошо и необычно.P.S. Я, как увидел первую картинку в интернете, сразу пошел на сайт и уже на первом экране подумал, "что-то уж больно знакомо всё — цвета, углы, кнопки, крутилка". Так и вышло (с):
> By the way, the crank came from our friends at Teenage Engineering. They were our partners for Playdate’s design. Isn’t it nice?
Nice, indeed! Ждём продолжения!
#gaming #console
play.date
Playdate. Order now!
It’s yellow. It fits in your pocket. There’s a crank. It comes with 24 free games to get you started. Say hi to Playdate from Panic.
Forwarded from Хекслет
Преподаватель Хекслета Алексей Пирогов выступил на конференции FPURE в Казани. О том, как прошла конференция: http://amp.gs/dLph
Провёл второй выпуск подкаста. В этот раз про железки поговорили: #arduino, #raspberrypi, #fpga — обо всём понемногу.
Ничего нового для тех, кто "в теме", не прозвучало, т.к. цель была — познакомить с электроникой желающих приобщиться, но не знающих, как. Надеюсь, кого-то да заинтересуем!
Гость подкаста, Айнур, представлял компанию iArduino, про железки которой я уже рассказывал. У ник и канальчик есть.
Ничего нового для тех, кто "в теме", не прозвучало, т.к. цель была — познакомить с электроникой желающих приобщиться, но не знающих, как. Надеюсь, кого-то да заинтересуем!
Гость подкаста, Айнур, представлял компанию iArduino, про железки которой я уже рассказывал. У ник и канальчик есть.
ru.hexlet.io
#Hexlet Podcast: Arduino, Raspberry Pi, FPGA и прочие "железки" - Блог - Hexlet
Вместе с Айнуром Сулеймановым, инженером из iArduino обсуждаем любительскую электронику, говорим об экосистеме Arduino и Raspberry Pi, немного касаемся ПЛИС(FPGA).
Рассказываем, что электроника — это не страшно, с чего стоит начинать и куда двигаться дальше…
Рассказываем, что электроника — это не страшно, с чего стоит начинать и куда двигаться дальше…
Есть для #python такая библиотека, prompt_toolkit (я вроде как писал уже про неё?). Она позволяет создавать свои интерактивные командные оболочки с автодополнением, всплывающими меню, статусной строкой, богатыми средствами редактирования командной строки.
На базе toolkit создан отличный Python REPL, ptpython. IPython тоже перешёл на использование PT в какой-то момент — и это отлично, ибо унификация!
Но не #repl едиными жив PT. На нём сделаны
- pgcli, популярная командная оболочка к PostgreSQL,
- wharfee, оболочка для docker CLI (да, с автодополнением контейнеров, процессов, тегов!),
- Kube-shell, оболочка для Kubernetes.
Питонистам может быть интересен проект click-repl, который превращает любое приложение с CLI на базе замечательной click в интерактивную программу (добавляет команду
Есть даже shell полноценный: xonsh. Умеет и команды запускать и автодополнять всё, от ключей командной строки и путей до страниц в man. По совместительству является ещё и Python REPL — позволяет сделать
Из интересных и курьёзных проектов PT используют
- pymux, terminal multiplexer (с интересными отличиями от tmux),
- pyvim, "pure Python vim clone" (!)
P.S. На страничке библиотеки (первая ссылка) вы можете найти длинный список других проектов, использующих PT. Советую посмотреть!
На базе toolkit создан отличный Python REPL, ptpython. IPython тоже перешёл на использование PT в какой-то момент — и это отлично, ибо унификация!
Но не #repl едиными жив PT. На нём сделаны
- pgcli, популярная командная оболочка к PostgreSQL,
- wharfee, оболочка для docker CLI (да, с автодополнением контейнеров, процессов, тегов!),
- Kube-shell, оболочка для Kubernetes.
Питонистам может быть интересен проект click-repl, который превращает любое приложение с CLI на базе замечательной click в интерактивную программу (добавляет команду
repl, с очевидным поведением).Есть даже shell полноценный: xonsh. Умеет и команды запускать и автодополнять всё, от ключей командной строки и путей до страниц в man. По совместительству является ещё и Python REPL — позволяет сделать
ls, а результат вызова прямо в list comprehension обработать!Из интересных и курьёзных проектов PT используют
- pymux, terminal multiplexer (с интересными отличиями от tmux),
- pyvim, "pure Python vim clone" (!)
P.S. На страничке библиотеки (первая ссылка) вы можете найти длинный список других проектов, использующих PT. Советую посмотреть!