jamhed: (Default)
> — Знаю, вы очень резко отзывались о действиях советского правительства в лихие 90-е...

Это значится советское правительство действовало в лихие девяностые. Впрочем, и действительно никакой разницы: президентом был секретарь обкома, а премьером редактор журнала "Коммунист". И все они такие пламенные коммунисты демократы и внезапные рыночные экономисты. Как неоднократно отмечал уважаемый [profile] salery советская и российская элиты имеют много общего: потрясающую безграмотность (в сравнении с нормальными странами), и корнями это всё уходит в практику комиссарства (что сейчас называется кураторство, хе-хе), когда к любому делу приставлялся специальный классово верный человек от сохи вида "не потерплю".
jamhed: (Default)
Если в коде где-нибудь написано magic, то этот magic как правило гвоздями прибитый один частный случай.
jamhed: (Default)
Вообще интересно Erlang VM и RTEMS на Orange Pi поставить. Перспективненько я бы даже сказал.
jamhed: (Default)
Jonas Boner, author of Akka

Talks a lot about reliability, resiliency but doesn't say how, instead
of it shows nice pictures with meercats, Conway's game of life and so on.
Let us split the system to number of interacting agents, and let them
interact. All states should be known, unknown states should not exist (hard to argue).
How to know all states is unknown though. Converging promises and diverging commands.

Kenneth Lundin, OTP 20 highlights

A lot of improvements: garbage collector, binary parts, unicode aroms, better maps, ets,
and so on. Failed to split OTP as planned, however work is going on. See the changelog,
release is planned at 21 of June.

Jesper L. Andersen, GraphQL in Erlang


GraphQL allows a client to declare what it wants from sever. What is possible is described
by schema, schema is compiiled and checked server-side. Query interpretation takes microseconds,
most of load is to fetch data from storages. Each schema type is represented by Eralng module
with known API. Types in GraphQL and types theory relation (positive/negative types),
this is not emphasized in GraphQL docs. Author wrote a lenghtly tutorial.

Paweł Antemijczuk и Maarten Faddegon, Anti-Patterns in the Wild

How write a bad code in Erlang. Same old story: don't write huge functions, don't
use huge state, don't nest case clauses. They fear to use Erlando in production
due to maintenance concerns, they tried and failed Wrangler (steep learning curve,
unclear results, don't like Emacs). To sum up: it is impossible to refactor
Erlang code automatically and semi-automaticcally at the moment and nearest future.
Write tests instead.

Mark Allen, Sagas in Erlang: Distributed Transactions Without Locks

For the reason unknown declared a left fold operation a transaction (it is not),
distributed in fact not so distributed, and so on. Why to talk about this
is unclear.

Peer Stritzinger, Fixing Erlang’s Distribution Protocol

They tried to use Erlang on microcomputers for industrial automation
and then discovered that Erlang distribution protocol is broken by design:
1. full-mesh networking model
2. messages are processed sequentally, and one huge can block whole queue
3. primitive security model
Because of that they want to fix the protocol, however how he described
the fix looks more or less like TCP/IP stack itself but over the node links
(which are TCP already). Weird.

Peter Van Roy, Ditching the Data Center: How to Stop Worrying and Love the Edge

This time truly distributed computations over unreliable network. Nodes know
about each other with Gossip family of protocols, all calculations should be
with CRDT. At the moment CRDT have limited use, but where they could be used
then use cases are good. They are doing research, have funding till 2020,
and plans till 2050. Impressive. The idea is to write programs as expressions
over CRDT, sort of map: A -> B, and there is a special language lasp.

Kostis Sagonas, Adventures in Corfu: Testing and Verifying Chain Repair Protocols using Concuerror

Started with some Greece advertisement, however continued: they have a tool to test
concurrency in Erlang by building all possible message sequence combinations, and
trying all of them. If a program fails under this test then there is certainly a
bug, and if program doesn't fail, then there are no bugs (with high probability).
All possible cases could be tried, but it takes time. There are some ways to
speed up process, and plans how to make it parallel. One unexpected use case:
Scott Lystig Fritchie who works on CorfuDB discovered a bug in distribution protocol,
but concuerror discovered a bug in suggested fix to previous bug. This was
achieved by modelling protocol with Erlang entities (processes, messages).
Very interesting.

Justin Schneck, Keynote: The Demarcation of the Edge of Innovation

Talks about dependencies, food recepies, all are doing something,
everything depends on everything, and so on. They took Linux kernel,
and Erlang, and made it run on Raspberri Pi, and then called it a platform.
Was unable to stand this marketing bullshit and left.

Andrea Leopardi, Update from the Elixir Core Team

Elixir is stable and evolving, planned release is 1.5, good
interaction with OTP team, built-in property tester, and so on.

Clara Benac Earle, Building Distributed and Robust Multi-Agent Systems (MAS)

Talks about agents with beliefs, goals and logic. Some people describe those
agents using special language Jason, JVM targeted. Speakers were able to
translate this language to BEAM and are very happy. Robustness and distribution
are inherited from BEAM, sort of.

Loïc Hoguin, A Tale of 2.0 Cowboys

Soon Cowboy 2.0 will be released with HTTP/2 support and better architecture.
Used maps everywhere, better process management, gen_statem. Handlers
could return list of commands. Rewrote whole documentation in php-style
(one function per page), wrote a lot of tests for specs, a lot of work.
Cowboy 1.x is a part of RabbitMQ, and other his projects. Has plans
to write REST framework, nobody are doing REST correctly. Much sponsors
left past two years, has no money because of that.

Claudia Doppioslash, Building Single Page Web Applications with Purescript and Erlang

Rewrote the app from Elm to Purescript (last year talk was about Elm). Elm is not good
enough (simple types, one true architecture). Purescript has rich type system,
and could be compiled to Erlang. They are using BERT between client and server
due to encoding/decoding server-side is much quickier than JSON. How Erlang is related
to this project is completely unclear.

Adam Lindberg, Robotics and Sensors Using Erlang on Embedded Systems with GRiSP

Developed a custom atmel-based board with rich periphery (wifi, usb, gpio, i2c, spi, uart, 1-wire),
and managed to run RTEMS with BEAM on it. This allows to use Erlang to manage and program
the device. Erlang used is outdated (16.x), they have plans to update it alongside with
build process. Selling price is 180 euro, intended use case is industrial automation.
Unclear though why is this better than Orange Pi ($10 with delivery) with Armbian and Erlang.

Joe Armstrong и Sam Aaron, Distributed Jamming and Composition with Sonic Pi and Erlang

A stand-up comedy show. Joe Armstrong discovered MIDI, and is eager to share this knowledge
with broad audience. Suddenly MIDI has messages, and you can exchange them over network.
Sam Aaron demonstrated how his Sonic Pi works. Here we have a program to generate sounds,
how cool it is. Also you can have effects. Logic Pro is written by idiots.
How Erlang is related, again?
jamhed: (Default)
Если мне не изменяет память, то борьба с коррупцией и олигархами было одно из основных требований майдана на Украине, по результатам которого президентом стал коррумпированный олигарх. Если экстраполировать на Россию, то следующим президентом после потрясений должен будет стать да хоть тот же Усманов. С другой стороны Путину бежать-то некуда. Интрига однако.
jamhed: (Default)
1) Особая, повышенно важная роль признака обладание властью в жизни россиянина
2) Хрупкость властного положения
3) Возможность влияния облеченных властью на сферы вне их прямой управленческой функции; например, когда деревенский мент становится царем своей деревни.
4) Возможность реализации непомерных наказаний по воле одного лица
5) Чрезмерный объем зависимости человека от власти. На кону не размер годовой премии, а, условно говоря, ссылка с вольчим билетом.
6) Концентрация власти в небольшом количестве иерархических узлов; образно говоря, когда лейтенантом управляет не старший лейтенант с соответсвующими компетенциями, а сразу генерал-майор с его компетенциями.
jamhed: (Default)

Не по Сеньке шапка если коротко. Джентльмену попёрла карта, но тут внезапно и где-то даже неожиданно его попросили показать ручки.
jamhed: (Default)
Вообще слушать про рецепты пиццы, midi-сообщения, называть левый fold транзакциями, а так же что всё от всего зависит, и все что-то делают можно и в других местах. Предполагалось что на Erlang User Conference будут говорить о языке Erlang и способах его применения, однако вот же ж. Erlang рекламируется как средство создания надёжных распределённых систем, однакось встроенная в Erlang распределённость сильно преувеличена, и пользователей это явно беспокоит. Очевидно что так же есть потребность в типах, выводе типов, категориях (erlando поминали раза 3) и прочих средствах повысить предсказуемость программ, однако никаких движений на эту тему нет и не предвидится (про пиццу рассказать важнее, да), разве что в Elixir. Категории поминались один раз со словами вам это не того, с ума сойдете и убежите. Ну-ну.
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


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-процессов. Весьма любопытно.
jamhed: (Default)
Вот яркий пример: http://mel.fm/blog/yekaterina-duboshina/12598-posle-apellyatsii-ya-byla-v-yarosti

Люди всерьёз обсуждают "аргументы" и "доказательства" при изложении различных мнений, тогда как вся дискуссия по факту сводится к:

- Я считаю что имярек редиска нехорошая.
- Это не так, имярек конечно редиска, но не нехорошая, а небольшая. Балл не повысим.

И все расходятся. В ярости. Что-то такое мы уже видели недавно: вашему суду я не верю, вашей налоговой я не верю, бумажкам вашим и подавно. Потому что джентльменам принято верить на слово.

Собственно доказывать (если уж так хотелось) надо было не свойства редисок, а предвзятость конкретных гос.служащих. Которые могли, например, одним говорить одно, а другим другое.
jamhed: (Default)
Коллега 20 лет живет в солнечной Калифорнии, но разговаривает с чудовищным акцентом, так как сам француз и болеет за Марсель. Как такое может быть?
jamhed: (Default)
> Любимый русскими правителями лозунг «Чемодан, вокзал, заграница» унес больше мозгов и рук, чем все катаклизмы нашей истории.

Я бы поспорил конечно на тему "больше", всё таки две войны за 20 век с миллионами убитых в каждой, но некоторая логика в этом есть. Да и правители не русские, а советские, у них всё же особенная стать как пишет [profile] salery, см. ниже. А так всё верно, спецы при первой возможности уезжают. И уезжают лучшие, так как худших не возьмут. Худшие будут BolgenOS развивать в лучшем случае.

> До сих пор действует модель взаимоотношений «спецы» - «комиссары». То же оружие (в самом широком смысле) у нас вообще-то хорошее, его создают культурные люди, вот только используют его малокультурные. Спецы поддерживают определенный уровень, позволяющий производить какие-то действия, но вот к решениям по этим действиям их никогда не допускают, решения принимают люди иного склада и иной биографии - комиссары (те самые «кухарки», которые вообразили, что они «могут управлять государством»).
jamhed: (Default)
1. Overlook - 2017 - Smoke Signals
2. Ancestral Voices - 2017 - Divinations

jamhed: (Default)
С удивлением сегодня узнал что слово "colonel" читается как "kernel".
jamhed: (Default)
> Мы установили все по открытым источникам и этого достаточно, чтобы признать нашу правоту.

А вот на заборах, к примеру, бывает что пишут "Навальный -- хуй", равно как и про многих других. Открытый же источник, нет?
jamhed: (Default)
А вот кто придумал что запросы писать в виде json или упаси-боже xml -- это хорошо и круто?
jamhed: (Default)
Было время когда Microsoft захватила мир: все плевались, но пользовались Windows (Office). Это время прошло, и Microsoft теперь всего лишь один из игроков. Аналогичное произошло с телевидением которое больше не задает дискурс: у каждого теперь свой персональный телевизор. Что приводит к любопытным коллизиям. Есть популярные говорящие головы со своей аудиторией (тщательно лелеемый повод для гордости, хе-хе), а всесильное ранее государство теперь всего лишь один из игроков, наравне с такими головами. И играет оно, скажем так, в среднем плохо. Но бывают и успехи. Радует здесь то, что уже нельзя сделать ход шахматной доской по голове, приходится всем играть по правилам. Глядишь так и цивилизация настанет в отдельно взятой стране.

Впрочем, ручки-то по прежнему тянутся к пистолетам. Всё запретить, в интернет по паспорту, и прочая. Но сдается мне что это всё равно что крейсерами против комаров сражаться. Шума много, а толку ноль.

Teh drama.

May. 28th, 2017 02:06 am
jamhed: (Default)
Навальный страстно желает дискутировать с Путиным и Медведевым, однако вынужден вместо этого размениваться сперва на Усманова, а теперь вот и вообще на Шария, бородатого украинского блоггера. И выглядит это жалко, мягко скажем. А вариантов у него всего один: публично извиниться, не то так и будут его на каждом сборище тыкать одним и тем же вопросом: где это Шарий совравши (в отличие от Навального, который таки да)?

Детский сад, честное слово.
jamhed: (Default)
Так как в этих ваших интернетах принято спорить по разным вопросам до позеленения сторон, то имеет смысл прояснить источники знания, коих ровно два:

1. опыт самого человека (выраженный словами и/или действиями)
2. реконструированный опыт со слов других людей

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

Опыт чисто теоретических дискуссий существует, записан и хорошо известен под названием "схоластика". Чем и являются 99.99% споров в этих ваших интернетах, тогда как с человеком имеющим реальный опыт поговорить всегда приятно и интересно (о предмете опыта).
Page generated Jul. 22nd, 2017 08:38 pm
Powered by Dreamwidth Studios