
Dmitry
13.03.2018
11:58:49
У ОСС есть проблема
Всегда есть люди, которые умеют лучше тебя
В отличие от Воронежского стартапа ;)

Le
13.03.2018
11:59:28

Google

Dmitry
13.03.2018
12:00:25
почему это проблема?
Потому что код твой не пройдёт code review, особенно если он на что-то может повлиять
Я утрирую конечно, но посыл такой: на работе легче заработать

Dmitry
13.03.2018
12:02:22
@Virviil Кто вообще за Open Source работу платит? Либо ты работаешь на фирму у которой есть Open Source проект, либо ты бесплатно контрибьютишь.
Либо ты автор проекта и говоришь, спонсируйте меня, сделаю вам http 2.0 (как например cowboy и некоторые другие проекты).

Dmitry
13.03.2018
12:03:11
Ну где-то как то так и есть
Бабки получить можно
Я просто подумал, что об этом разговор
Потому что забесплатно контрибьютить в браузер Эфира?
И назвать это стоящим проектом?

Артем
13.03.2018
12:40:43
если кому вдруг интересно, Cachex.put 49 000нс
Cachex.get + парс 41 000

Dmitry
13.03.2018
12:41:32
Есть какое-нибудь соглашение, в какой последовательности использовать use/alias/require/import?

Nikolay
13.03.2018
12:41:53

Google

Dmitry
13.03.2018
12:44:37
@ssnickolay Я в принципе так и написал. Ты либо автор, либо фирма, и тебе платят по разным схемам (консалтинг, добавление feature, есть дополнительные enterprise функции, либо через patreon). Либо бесплатно контрибьютишь.
В случае фирмы, фирма платит своим сотрудникам.

Артем
13.03.2018
12:45:15

Dmitry
13.03.2018
12:51:33
@artem_pankov Интересно было бы сравнить с ConCache, но выглядит очень интересно.

Evgeny
13.03.2018
14:47:15

Dmitry
13.03.2018
14:47:37
Eugene ets
+ дополнительные функции.

Evgeny
13.03.2018
14:48:01
и что такое "49 000нс"? 49 микросекунд?

Артем
13.03.2018
14:50:51

Evgeny
13.03.2018
14:51:32

Dmitry
13.03.2018
14:51:36
*В актуальной версии ets.

Артем
13.03.2018
14:52:04

Dmitry
13.03.2018
14:52:19
Кто, что использует для распределённого кэша?

Evgeny
13.03.2018
14:52:53

Артем
13.03.2018
14:57:20
1520944748809144000-1520944748809095000 = 49 000
:os.system_time(:nano_seconds)

Evgeny
13.03.2018
15:47:43
ну там точки нет, значит таки тысячи наносекунд, а значит попросту 49мкс

Артем
13.03.2018
15:53:18

Google

Артем
13.03.2018
15:53:31
ну или хотелось бы верить в это
значит всё-таки нано))

Evgeny
13.03.2018
15:54:18
49 тысяч наносекунд?

Артем
13.03.2018
15:54:30
и тогда да, получается 49 мкс
микросекунд

Evgeny
13.03.2018
15:54:46
И кстати, в эликсире низзя определять макросы с одним и тем же именем, но разной арностью?

Dmitry
13.03.2018
16:59:51
Eugene Можно

Evgeny
13.03.2018
17:00:51
чота оно у меня не фурычит. ох уж эта макромагия, буду копать дальше

Dmitry
13.03.2018
17:01:33
А как ты себе представляешь разную арность?
На вход в макрос попадает AST
Это всегда тупл туплов и мапа мапов
Арность 1

Dmitry
13.03.2018
17:03:20
defmodule X do
defmacro x(a) do
quote do: {:x1, unquote(a)}
end
defmacro x(a, b) do
quote do: {:x2, unquote(a), unquote(b)}
end
end
require X
X.x(1)
X.x(1, 2)
X.x(1) => {:x1, 1}
X.x(1, 2) => {:x2, 1, 2}
Eugene Или что-то другое имелось ввиду?

Evgeny
13.03.2018
17:04:27

Dmitry
13.03.2018
17:05:00
Ясно

Evgeny
13.03.2018
17:05:39
а можно это как-то по другому понять? :)

Vladimir
13.03.2018
18:17:56
Про докер: только у меня он батарейку вхлам съедает на ноуте? Или все по офисам за десктопами сидят?

Google

Nikolay
13.03.2018
18:27:45

Vladimir
13.03.2018
18:28:49
Надо будет покопаться, не встроил ли майнер кто из коллег (:

Azat
13.03.2018
18:47:32
На маках докер через виртуалбокс работает?

Alik
13.03.2018
18:50:09
Последняя версия нет
До этого через docker-machine работало, у которого под капотом virtualbox

Azat
13.03.2018
18:59:40
Т.е. сейчас там получше виртуализация, менее тормозная? Не ставить же линукс в даулбут на макбук ради одного докера (шоб не тормозило) :D

Ар? Тем?
13.03.2018
19:14:34

Arthur
13.03.2018
19:35:56
105

Artem
13.03.2018
23:39:28

Alik
13.03.2018
23:39:44

Artem
13.03.2018
23:41:06
@aliksend, посмотрите еще раз презентацию, мне трудно понять при чем тут докер, попробуйте ваш вопрос поставить по-другому


Alik
13.03.2018
23:49:19
Минусом вижу то, что в рамках одной BEAM процессы могут спокойно erlang-овскими средствами общаться между собой и можно делать что-то вроде микросервисной архитектуры, а также можно несколько реальных маших обьединять и говорить каким приложениям где запускаться, а сообщения между ними будут ходить как и на одной машине, и тут раскрывается мощь erlang-а и всё такое.
Но никто не говорит что на одной машине запускать несколько экземпляров BEAM. Возможно я хочу на одной машине запустить при помощи докера nginx, postgres, redis, ещё что-то и BEAM, на которой будут крутится пара приложений. И если будет нужно, я смогу подключить как другую физическую машину подключить к BEAM, запущенной в контейнере, так и создать на другой машине docker-контейнер с BEAM и слинковать их.
Но в докладе говорится что прям "нельзя" запускать в докере.
Под "обьединением" машин я имею в виду вот это
http://erlang.org/doc/reference_manual/distributed.html


Artem
14.03.2018
00:02:53


Nikolay
14.03.2018
06:13:36
Но никто не говорит что на одной машине запускать несколько экземпляров BEAM. Возможно я хочу на одной машине запустить при помощи докера nginx, postgres, redis, ещё что-то и BEAM, на которой будут крутится пара приложений. И если будет нужно, я смогу подключить как другую физическую машину подключить к BEAM, запущенной в контейнере, так и создать на другой машине docker-контейнер с BEAM и слинковать их.
Но в докладе говорится что прям "нельзя" запускать в докере.
Не, ты к словам цепляешься. Если бы “нельзя” было, то у тебя бы в принципе не получилось\ты бы сильно страдал от этого. Можно, конечно, ты сам описал минусы которые получишь. Эти минусы не всех затрагивают и если ты пишешь услово стандартное web приложение, то ты не встретишь этих проблем и всё будет хорошо. Просто те чуваки, что придумали Erlang (BEAM) делали это ещё в эпоху мамонтов и они закладывались на то, что у тебя на тачке стоит BEAM и всё. В частности, есть штука, что BEAM сам греет ядра под нагрузкой и если хостить на этой же тачке ещё доп.зависимости, то их будет аффектить. Есть даже реализации, где BEAM идёт по сути без OS (ох, кто вспомнит как называется, напомните плиз) и встаёт как легковестная самодостаточная единица для запуска твоего аппа. Так оно задумывалось для тех же телефоний, где есть жесткая нагрузка, где нужен хот релоад и все вот эти плюшки, что выше обсуждались.
НО! 99% того что мы пишим оно не такое. Поэтому мы юзаем докер, ставим на одну тачку целый зоопарк, юзаем гуёвые версии OS на проде и крутим по несколько разных приложений рядом..да и вобще пишим всё это на Ruby ?


Artem
14.03.2018
06:24:05
Не, ты к словам цепляешься. Если бы “нельзя” было, то у тебя бы в принципе не получилось\ты бы сильно страдал от этого. Можно, конечно, ты сам описал минусы которые получишь. Эти минусы не всех затрагивают и если ты пишешь услово стандартное web приложение, то ты не встретишь этих проблем и всё будет хорошо. Просто те чуваки, что придумали Erlang (BEAM) делали это ещё в эпоху мамонтов и они закладывались на то, что у тебя на тачке стоит BEAM и всё. В частности, есть штука, что BEAM сам греет ядра под нагрузкой и если хостить на этой же тачке ещё доп.зависимости, то их будет аффектить. Есть даже реализации, где BEAM идёт по сути без OS (ох, кто вспомнит как называется, напомните плиз) и встаёт как легковестная самодостаточная единица для запуска твоего аппа. Так оно задумывалось для тех же телефоний, где есть жесткая нагрузка, где нужен хот релоад и все вот эти плюшки, что выше обсуждались.
НО! 99% того что мы пишим оно не такое. Поэтому мы юзаем докер, ставим на одну тачку целый зоопарк, юзаем гуёвые версии OS на проде и крутим по несколько разных приложений рядом..да и вобще пишим всё это на Ruby ?
?


Alister
14.03.2018
06:26:41
Не, ты к словам цепляешься. Если бы “нельзя” было, то у тебя бы в принципе не получилось\ты бы сильно страдал от этого. Можно, конечно, ты сам описал минусы которые получишь. Эти минусы не всех затрагивают и если ты пишешь услово стандартное web приложение, то ты не встретишь этих проблем и всё будет хорошо. Просто те чуваки, что придумали Erlang (BEAM) делали это ещё в эпоху мамонтов и они закладывались на то, что у тебя на тачке стоит BEAM и всё. В частности, есть штука, что BEAM сам греет ядра под нагрузкой и если хостить на этой же тачке ещё доп.зависимости, то их будет аффектить. Есть даже реализации, где BEAM идёт по сути без OS (ох, кто вспомнит как называется, напомните плиз) и встаёт как легковестная самодостаточная единица для запуска твоего аппа. Так оно задумывалось для тех же телефоний, где есть жесткая нагрузка, где нужен хот релоад и все вот эти плюшки, что выше обсуждались.
НО! 99% того что мы пишим оно не такое. Поэтому мы юзаем докер, ставим на одну тачку целый зоопарк, юзаем гуёвые версии OS на проде и крутим по несколько разных приложений рядом..да и вобще пишим всё это на Ruby ?
кек, только вчера твое выступление на митапе насчет руби и эликсира смотрел

Google

Nikolay
14.03.2018
06:27:12
хеа, мы как раз его частично обсуждаем)

Alister
14.03.2018
06:27:46
мне кажется что разница только в одном - вы телеграм и иже или нет
если высокая постоянная нагрузка и нужен быстрый брокер сообщений - зайдет

Artem
14.03.2018
06:28:47
кроме прода, докер руби немного ускоряет, теоритически для эликсира это мало эфективно