Size: a a a

2017 October 17
brain_dump_etc
На Хаскеле, как известно, тоже лайфкодят музыку - Антон Холомьёв, являет собой яркий пример.

А ещё есть Tidal (https://tidalcycles.org/). Настоятельно рекомендую посмотреть видео с главной страницы, там хоть и под странным углом экран снят, но зато слышно отлично, на что Тидал способен!
Работает Tidal поверх SuperCollider, что неудивительно.

З.Ы. Вот один из докладов Антона: https://www.youtube.com/watch?v=vt1PjMrJ2Yg Тоже советую посмотреть :)

#haskell #livecoding #music
источник
2017 October 29
brain_dump_etc
В декабре намечаются сразу две около-функциональные конференции:
FPConf 2 декабря в Mоскве и fby.byfby.by 17 декабря в Минске (ссылки ниже). На первой я буду выступать, на второй просто буду. Оба мероприятия обещают быть интересными, так что всячески рекомндую к посещению, буде вам интересна сия тематика.

Ссылки:
- http://fpconf.ru/
- https://fby.by/

#haskell #event
источник
2017 November 03
brain_dump_etc
Залил таки свой пакетик в репозиторий эльмопакетов. Правда, документация пока в зачаточном состоянии. Но, глядя на примеры, пользоваться можно :)

http://package.elm-lang.org/packages/astynax/tea-combine/latest

#elm #library
источник
2017 November 15
brain_dump_etc
Нарисовался интересный проект: https://github.com/shamansir/ielm - это такое подобие IPython Notebook (он же Jupyter), но для #elm. В этом видео https://vimeo.com/242822314 автор демонстрирует работу системы. И поверьте, там уже есть, на что посмотреть :)

#elm #repl #interactive
источник
2017 November 19
brain_dump_etc
https://www.kickstarter.com/projects/954662076/gameshell-redefine-retro-game-console - мне уже хочется!

Не знаю, зачем, правда :) В принципе оправдание для покупки у меня есть - Dingoo A320 уже старенькая. Да и железо на Динге уж совсем своеобразное и программировать под него сложновато. А в этой штучке - ах, да, GameShell, это такая открытая модульная портативная консоль в корпусе, напоминающем Game Boy - и одноплатник с Linux на борту, и контроллер на базе ардуины, да ещё все модули можно вынуть из корпуса и поместить в другой, добавив (или убавив?) периферии. К тому же WiFi присутствует (у Dingoo его, конечно, не было).

Пока GameShell выглядит очень интересно. Это и потенциально отличный портативный эмулятор всякого олдскула, и платформа для построения карманных осциллографов, частотомеров, мультиметров в конце концов. Или синтезаторов, секвенсоров, генераторов эффектов. Для меня, например, этот проект выгладит привлекательнее той же моногострадальной Pandora, которая так и не взлетела (да даже и не разбежалась как следует).

P.S. раз уж на этой малышке будет нормальный Linux и честные кнопки, на оной отлично будет смотреться PICO-8.
источник
2017 November 26
brain_dump_etc
https://leanpub.com/outsidefp вот ещё кто-то пишет книгу "типизированное ФП для людей со стороны".

Почитал я "About the Book" и как-то "взгрустнулось". Мне, как человеку, достаточно испорченному знакомством с #haskell/#elm/#purescript, немного обидно читать такое такое (тут мейнстрим противопоставляется типизированным ФП-языкам):

> By "mainstream", I mean:
> - Applications that require only "ordinary" reliability.

не говоря уж о

> - Applications that work in messy domains.
> - Applications that are continuously growing new features.

Вот только это правда. Обидная, но правда.

И мне с моим любимым Haskell уже даже морально тяжело делать "просто достаточно надёжные" приложения, а ведь надо ещё и компилятор убедить в том, что "пока и так сойдёт". Заметьте, я не утверждаю, что так делать в Haskell нельзя - сделать нарочито хуже, конечно же, можно. Но не хочется! А значит я буду стараться делать сразу настолько хорошо, насколько смогу.

Я вообще склонен считать, что в (или через) Haskell идут перфекционисты - тут же столько простора "сделать наконец нормально или даже лучше"! И overengineering в хаскельном коде встречается не реже, чем в коде на мейнстримовых языках (тут многие вспомнят пресловутые "абстрактные фабрики синглтонов"), только тут принято себя оправдывать, что, мол, "зато более корректно и категорно!".

Даже сама выразительность языка вместе с мощностью системы типов приучает хотеть этой самой выразительности и мощи - и чем больше выразительность и мощь, тем приятнее! Да, задачи бизнеса тоже решаются, но далеко не всегда только лишь "достаточно хорошо".

И более того, те, кто старается "просто делать что-то", и уж тем более - "делать что-то просто", считаются ненастоящими программистами, странными чуваками и проч. Ведь простое решение не выглядит, как тема для публикации с кучей формул, не "движет науку в сторону светлого будущего", и просто "недостаточно красиво". Например, я много раз видел, как в чатах критикуют того же Габриэля Гонзалеса за то, что он пишет слишком простые - с чьей-то точки зрения - библиотеки или статьи.

Может быть сий неготивизм по отношению к простым решениям и вообще к упрощению, это всего лишь боязнь того, что в язык придут люди, которые смогут с помощью гонзалесовой Turtle писать простые скрипты, не парясь по поводу зависимых типов, рекурсивных схем, профункторов, и прочего "именно того, ради чего вообще в Хаскель стоило идти"? "Илитизм" какой-то, право слово.

Другой пример. Новичок приходит в Reddit и спрашивает "А какую либу мне выбрать, чтобы сделать простой web-сервис - Scotty или Spock?" (очень частая ситуация). Реалистичный вариант цепочки комментариев будет выглядеть так:

- Бери Servant - только Servant есть TRUE!
- (кто-то робко) Но у сёрванта порог вхождения выше и сообщения об ошибках непонятнее...
- У меня всё работает! И там ваще всё просто (если ты достаточно хорош)!

После этого новичок идет пробовать Servant, видит список требуемых расширений, или просто первое сообщение об ошибке и уходит в ужасе/печали - и хорошо, если не из ФП вообще, а только из Haskell. Одним потенциальным хаскелистом меньше. И какова будет реакция аудитории - особенно русскоязычной - "одним слабаком и неосилятором меньше!".

Смотришь на это и понимаешь, почему кто-то убегает из Haskell с "труёвым Servant" в "скучную и нетайпсейфную" Clojure, или из PureScript с его профункторными линзами и FRP на Halogen в "скучный" Elm. А ведь, на Haskell можно писать и просто (типа вебчика на Scotty)! Но простые решения будут порицаться, или как минимум будут приняты со снисхождением - это демотивирует. И смешные статьи или картинки про Haskell не на пустом месте появляются - есть благодатная почва.

Меня лично радует лишь то, что я даже на своём невысоком уровне умения "в настоящий Haskell" могу делать на оном то, что мне интересно - пусть даже это никого не впечатлит. И я люблю этот язык, пусть и "не благодаря, а вопреки". И быть может мне повезло, что я учил язык, варясь в собственном соку и читая "слишком простую" «Learn You a Haskell For Great Good» - некому было отбить у меня желание к изучению.
источник
brain_dump_etc
Вот как то так.
источник
2017 November 30
brain_dump_etc
https://www.youtube.com/watch?v=NB_VBl7ut9Y интересный "отчёт о проделанной работе" на ниве современного ретро-игростроя.

Автор не только накодил игру по старый-добрый C64 (причем "ванильный", т.е. без всяхих добавочных ОЗУ и звуковых чипов!), но и потрудился написать к ней музыку (он это умеет), сделать отличное оформление коробки, наклеек на дискеты, мануала и даже аудио-кассеты с саундтреком!

И надо сказать, что образчик софта получился довольно интересный технически: ограничение по ОЗУ заставило использовать текстовый режим с перегружаемым знакогенератором (помнится, я такое в DOS делал на TurboPascal). Огранничение же текстового режима в плане выбора цветов вылилось в "спрайты" 2x2 символа с раздельной раскраской четвертей - на мой взгляд, получилось очень интересно. И автор даже "оснастку" себе сделал: написал редактор спрайтов и редактор карты - "графический режим" получился довольно своеобразный и готового ПО для "рисования" в нём, очевидно, не было. Любопытно даже просто слушать, как автор рассказывает, какие страницы памяти он освободил от "системного ПО", чтобы влезли данные, что пришлось выкинуть (работа с джойстиком)  и т.п. - роматника ретро-геймдева!

Увы, C64 у меня лично нет, никогда не было (и вообще - Коммодоры у нас в стране не имели такого широкого хождения), так что покупать эту игру я не буду :( Впрочем, автор планирует как минимум подумать над DOS-версией - в эту я бы поиграл с удовольствием! А пока подожду - вдруг образы дискеток где-то промелькнут и удастся пощупать C64-версию хотя бы на эмуляторе.

#gamedev
источник
2017 December 03
brain_dump_etc
Вот и настал декабрь. А это значит, что прямо сейчас делается куча Advent calendars (это такие серии статей по одной на каждый день с первого декабря и до католического рождества). Вот и на Qiita уже заполнена и заполняется целая "стопка" календарей, например, по языкам программирования: https://qiita.com/advent-calendar/2017/categories/programming_languages Увы, почти весь контент на этой площадке написан на японском языке. Но как минимум код подглядеть обычно можно :)
источник
brain_dump_etc
Ну и конечно же в этом году тоже проходит Advent of Code (http://adventofcode.com/) - марафон про решению задачек с помощью программирования.

Я участвовал уже два раза, но под конец мне обычно становилось лениво и поэтому я так и не доделал все задачи ни в прошлом году, ни в позапрошлом.

А задачки, надо сказать, довольно хороши - некоторые даже прекрасны! Так что AoC, я считаю, это отличный способ расчехлить свой любимый ЯП (лучше - не тот, на котором работаешь работу) и показать другим, да и себе тоже, что порох в пороховницах ещё есть! :)
источник
2017 December 05
brain_dump_etc
От @haskellru отпочковался чатик @haskell_learn - для начинающих изучать #haskell. Может вдруг кто из читающих мой канал тоже "из этих" - милости прошу, початимся! :)
источник
2017 December 23
brain_dump_etc
Забавная серия статей о #fsharp в рамках FSharp Advent Calendar:
https://medium.com/@mukund.sharma92/the-lord-of-the-rings-an-f-approach-an-introduction-of-the-blogposts-5d6ad7624fee

Первая статья, например, с мобощью анализа различных источников пытается дать ответ на вопрос "Какой из фильмов по вселенной ВК - лучший?". На мой взгляд, отличная мотивация для читателей!

#fsharp #datascience
источник
brain_dump_etc
Я как-то умудрился пропустить https://isomorf.io, а ведь я люблю всякое эдакое - структурное редактирование, новые подходы к самому процессу "написания" кода, вот это всё.

И, скажу я вам, выглядит этот Изоморф очень интересно! Тут и переключаемый синтаксис: написали на лиспоподобном "языке", решили посмотреть с другой точки зрения и переключили на haskell-подобный синтаксис - и вуаля, весь код перестроился.

Резюмирую: пройдите Tour (по ссылке выше) - не пожалеете! Ещё порекомендую почитать блог, например, эти статьи:
- https://blog.isomorf.io/what-is-isomor%C6%92-bdc50ce597ee - кратко об идее проекта
- https://blog.isomorf.io/an-experiment-in-structured-code-editing-68b917a9157c - более конкретно про структурное редактирование

#future of #development
источник
2018 January 04
brain_dump_etc
Отличная вводная статья по Template Haskell: https://markkarpov.com/tutorial/th.html
Тут вам и мотивация и несинтетические примеры разного уровня сложности. Рекомендую

#haskell
источник
2018 January 17
brain_dump_etc
Проект Luna наконец дорос до публичной беты! Скачать можно тут http://www.luna-lang.org/

Luna, это ещё одна попытка сделать среду для гибридной разработки, где "можно и код пописать, а можно и стрелочками кружочки посоединять". Назначение у языка/среды/системы на этот раз не "общее", а вполне конкретное: анализ данных и визуализация результатов - как раз та ниша, где нарисованные мышкой data flows вполне применимы. Замашки, правда, у создателей наполеоновские: Luna targets domains where data processing is the primary focus, such as data science, IoT, bioinformatics, graphic design and architecture., но тут, как говорится, "сам себя не похвалишь - другие не будут хвалить" ;)

Ах да, особенно радует то, что язык у Luna - статически типизированный чисто функциональный с выводом типов. И этот вот язык, по заверениям автора - как раз таки общего назначения (непонятно только, зачем).

P.S. Написан язык Luna на Haskell, и вообще Luna uses the state of the art Haskell’s GHC runtime system, enabling it to run thousands of threads in a fraction of a second. Это приятно слышать :)

#haskell #visualprogramming
источник
2018 January 18
brain_dump_etc
https://www.youtube.com/watch?v=P3Bd3HUMkyU

Вот честно скажу - впечатлило сразу и сильно! Наконец-то появляются проекты, предполагающие широкое использование всех тех сенсоров, которые напихали в контроллеры Nintendo Switch!

Да, тут всё из картона и канцелярских резинок, но тем интереснее собирать (и разбирать!) такое вместе с детьми и без. А уж какая манера подачи - ролик вообще шикарный, сразу заставляет хотеть и консоль и эти наборы! Отдельно меня порадовал виброход - отличное нецелевое использование виброотдачи контроллеров :)

Надеюсь лишь, что в последствии появится какая-то среда программирования прямо на консоли, пусть даже и в виде чего-то Scratch-подобного. Можно и текстовый язык прикрутить (Lua?), благо USB-клавиатуры к свичу подключаются. Главное - чтобы Nintendo захотела.

Ссылка на проект: https://labo.nintendo.com/ Там пока представлены два набора, но вполне могут появиться и другие. Буду следить.

P.S. Для меня это ещё одна песчинка на чашу весов, подписанную "купи уже Switch" :)

#nintendo #switch #diy
источник
brain_dump_etc
Arpeggigon - интересный проектик про синтез музыки с применением FRP (Function Reactive Programming).

Суть ясна из видео https://www.youtube.com/watch?v=yJteVN8OQYk
Исходники доступны тут: https://gitlab.com/chupin/arpeggigon (внутре у ней Haskell+Yampa)

P.S. Автор впечатлялся проектом reacTogon: https://www.youtube.com/watch?v=AklKy2NDpqs - реальным интерактивным столом-синтезатором.

#haskell #frp #music
источник
brain_dump_etc
Вот даже у Бобука про Labo написано!
источник
brain_dump_etc
Буквально в один момент вышли две новости для детей:
- Нинтендо объявили что с апреля будут продавать комплекты Nintendo Labo. Это такие конструкторы из толстого картона и скотча, собирающиеся в разные интересные игры и гаджеты для консоли Nintendo Switch. Обязательно посмотрите видео, этих наборов очень много, нинтендо открывает современным детям путь мир картона и синей изоленты, который в нашем детстве был известен каждому! И это они еще не показывают детям эпоксидку 🙂 https://labo.nintendo.com/
- А майкрософт без особого шума обновляет проект MakeCode - это готовые идеи, шаблоны и визуальный редактор кода для подростков, позволяющий учиться программировать на живых реальных примерах. На разных электронных штучках или на майнкрафт - не важно, главное что это большой и реально интересный образовательный проект. Визуальное программирование очень похоже на Scratch (или даже им и является), а это очень неплохой “язык программирования” для детей и взрослых. https://makecode.com/
источник
2018 January 19
brain_dump_etc
А вот и среда разработки для/на Nintendo Switch нарисовалась: https://www.fuze.co.uk/nintendo-switch.html

Обещают Access Joycon sensors and controls directly in your programs - то, чего именно я жду! USB-клавиатуры будут поддерживаться, что ожидаемо и приятно.

Смущает только бейсикоподобный язык, но это не так уж и плохо, если уж на то пошло. Вон #pico8 тоже на подобном языке программируется и многих сий факт не останавливает от создания абсолютно крутейших штук!

#nintendo #switch #gamedev #development
источник