jamhed: (Default)
Выступает Justin Schneck, Keynote: The Demarcation of the Edge of Innovation
----------------------------------------------------------------------------

Нёс какую-то околесицу про зависимости, рецепты еды, что все что-то делают, и прочее. Из достижений типа взяли ядро Linux и Erlang, и запустили это на устройствах типа Raspberry Pi, и назвали это платформой. Не вынес этого маркетингового бреда и ушёл.

Выступает Andrea Leopardi, Update from the Elixir Core Team
-----------------------------------------------------------

Elixir стабилен и развивается, будет релиз 1.5, взаимодействие с OTP team, встроенный в testing framework property tester (типа для потоков данных), и пр.

Выступает Clara Benac Earle, Building Distributed and Robust Multi-Agent Systems (MAS)
--------------------------------------------------------------------------------------

Внезапно оказывается что есть такие агенты, у которых предпосылки, цели и логика, и какие-то люди этих агентов описывают при помощи специального языка Jason для JVM. Рассказчики запустили этот язык на BEAM, и много радуются. Вся распределенность и отказоустойчивость вытекает из свойств BEAM, типа.

Выступает Loïc Hoguin, A Tale of 2.0 Cowboys
--------------------------------------------

Скоро вот-вот уже будет Cowboy 2.0, в котором поддержка HTTP/2 и переделанная архитектура. Всё переписали для maps, более лучше управление процессами. gen_state_m. Обработчики могут возвращать списки команд. Переписал всю документацию в php-стиле (одна страница на функцию, с примерами), написал кучу тестов по спецификациям, но не до конца, куча работы. Cowboy 1.0 теперь в RabbitMQ, и другие его проекты. В планах написать REST framework, который никто не делает правильно. Спонсоры за последние два года потерялись, денег нет.

Выступает Claudia Doppioslash, Building Single Page Web Applications with Purescript and Erlang
-----------------------------------------------------------------------------------------------

Переписали интерфейс с Elm на Purescript (в прошлом году было аналогичное выступление про Elm). У Elm обнаружились недостатки (примитивная система типов, гвоздями прибитая архитектура), тогда как у Purescript таких недостатков нет, да и вообще в Erlang компилируется. Между клиентом и сервером гоняют BERT потому что BERT encoding/decoding на сервере существенно быстрее чем в JSON. Каким местом тут Erlang совершенно непонятно.

Выступает Adam Lindberg, Robotics and Sensors Using Erlang on Embedded Systems with GRiSP
-----------------------------------------------------------------------------------------

Сделали железку на базе процессора Atmel с разнообразным обвесом (wifi, usb, gpio, i2c, spi, uart, 1-wire) и светодиодами и впилили на нее RTEMS вместе с Erlang VM чтобы приложения писать на Erlang и загружать в том числе и динамически. Erlang там версии 16, планируют догнать до 20 и начать использовать rebar3. Продавать собираются по 180 евро штука, типа для промышленной автоматики. Не совсем понятно чем это отличается от Orange Pi который можно купить за $10 с доставкой, поставить на него Armbian + Erlang любой версии, gpio в комплекте.

Выступают Joe Armstrong и Sam Aaron, Distributed Jamming and Composition with Sonic Pi and Erlang
-------------------------------------------------------------------------------------------------

Выступление в жанре stand-up comedy show. Joe Armstrong открыл для себя MIDI, и делился этим знанием с широкой публикой, причем довольно долго. Оказывается MIDI это сообщения, и ими можно обмениваться, в том числе и по сети. Sam Aaron демонстрировал как работает его Sonic Pi написаный на Ruby. Типа вот написали программу, и она звуки генерирует. А еще эффекты можно. Причем тут Erlang тоже совершенно непонятно. Из достижений дружественный интерфейс, в отличие от Logic Pro, который написали неучи.
jamhed: (Default)
Выступает Jonas Boner, автор Akka.
----------------------------------

Много и не структурировано рассказывает о том что все хотят писать надежные
самовосстанавливающиеся (resilient) программы, однако не говорит как.
Вместо этого показывает слайды с сурикатами, Conway's game of life, и прочее.
Типа давайте разобъем систему на взаимодействующих агентов, и пусть они взаимодействуют, все состояния должны быть известны, неизвестных состояний (failures) быть не должно (кто бы спорил). Сходящиеся promises и расходящиеся commands.

Выступает Kenneth Lundin, OTP 20 highlights
-------------------------------------------

Многочсленные улучшения: gc и часть binary, юникод в атомах, улучшенные maps, ets и прочее.Разбить OTP как планировалось не получилось, однако работы продолжаются. См. changelog, релиз будет 21 июня.

Выступает Jesper L. Andersen, GraphQL in Erlang
-----------------------------------------------

https://github.com/shopgun/graphql-erlang

GraphQL позволяет клиенту сочинять что именно он хочет от сервера декларативно. Что именно можно присылать описывается схемой, схема компилируется и проверяется на стороне сервера. Сама интерпретация запроса занимает в Erlang микросекунды, основная нагрузка ложится на выборку из баз данных. Каждый тип представлен модулем с некоторым стандартным api. Типы в GraphQL и теория типов
(positive/negative types, что-то еще?) о которых не говорят, но стоило бы.

Написал длинный tutorial которым горд: https://shopgun.github.io/graphql-erlang-tutorial/

Выступают Paweł Antemijczuk и Maarten Faddegon, Anti-Patterns in the Wild
-------------------------------------------------------------------------

Рассказывают как не надо писать на Erlang. Те же яйца вид сбоку: не пишите длинных функций, не имейте монструозных state, не делайте вложенных case. Erlando им в production тащить страшно, wrangler (инструмент для рефакторинга) сложный и непонятный, к тому же неизвестно как работает. To sum up: средств для автоматического и полуавтоматического рефакторинга для Erlang нет,
и не предвидится. Пишите тесты, в общем. Unit tests, property tests, functional tests.

Выступает Mark Allen, Sagas in Erlang: Distributed Transactions Without Locks
-----------------------------------------------------------------------------

С уверенным видом нёс какую-то пургу про левый fold по парам фунций (одна в одну сторону, другая для отката). Транзакции у него там не транзакции, распределенность не распределенность, и так далее. Зачем выступал не совсем понятно.

Выступает Peer Stritzinger, Fixing Erlang’s Distribution Protocol
-----------------------------------------------------------------

Рассказчик впилил Erlang на микроконтроллеры для промышленной автоматизации,
и обнаружил что встроенная в Erlang распределённость не совсем распределенность,
и имеет ряд неустранимых проблем в дизайне:
1. связи типа все со всеми
2. сообщения от ноды к ноде обрабатываются по порядку (одно большое может забить всю очередь)
3. рудиментарная безопасность в виде общего для всех нод cookie

В связи с вышеизложенным хотелось бы чего-то большего, однако по описанию желаемого у него вышел IP стек с маршрутизацией, но поверх линков между нодами (которые сами по себе tcp). Мде.

Выступает Peter Van Roy, Ditching the Data Center: How to Stop Worrying and Love the Edge
------------------------------------------------------------------------------------------

Рассказывает про распределенные вычисления поверх крайне неустойчивой сети. Устройства в сети знают друг о друге при помощи gossip протоколов, а вычисления надо делать при помощи crdt. В настоящий момент crdt имеют ограниченное применение, но если уж применяются, то хорошо. Исследования исследуются, финансирование есть до 2020 года, а планы до 2050. Масштабно мыслит,
ничего не скажешь. Идея в том чтобы писать программы как выражения с crdt, типа A -> map -> B, и под это дело есть специальный язык lasp.

Выступает Kostis Sagonas, Adventures in Corfu: Testing and Verifying Chain Repair Protocols using Concuerror
------------------------------------------------------------------------------------------------------------

Костис начал с рекламы красот Греции, однако вскорости весьма бодро продолжил: они там написали инструмент для тестирования concurrency в Erlang путем построения всех возможных комбинаций сообщений которые ходят между процессами, и перебором поведения. Если упало, то баг есть, если не упало, то скорее всего нет (но можно перебрать и все состояния, только долго). Есть некоторые эвристики для ускорения перебора, есть планы как сделать эти вычисления параллельными.
У инструмента оказались неожиданные применения: некий Scott Lystig Fritchie который занимается проектированием распределенного протокола CorfuDB обнаружил в протоколе баг, а concuerror обнаружил баг предложенном исправлении протокола. Делалось это путём моделирования участников протокола при помощи erlang-процессов. Весьма любопытно.

September 2017

S M T W T F S
     1 2
3 4 56 78 9
10111213 14 1516
171819 20212223
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 08:43 am
Powered by Dreamwidth Studios