LINUX.ORG.RU

72
Всего сообщений: 141

Умер Joe Armstrong, автор Erlang

Сегодня утром, в возрасте 68 лет, умер Джо Армстронг (Joe Armstrong), один из создателей языка программирования Erlang. RIP.

 ,

dotcoder ()

Деплой Erlang-приложений

Привет, ЛОР.

Расскажи мне, как ты деплоишь свой код на энларге? В данный момент наше приложение просто заворачивается в пачку RPM и таким образом закидывается в продакшен, но мне этот подход кажется немного гомосексуальным, потому что завязывает нас на CentOS и старые версии всего. Админы напирают на Docker, но я слегка сомневаюсь.

Как это делать наиболее правильно? Спасибо.

 ,

hateyoufeel ()

Необычное поведение программы erl. Не работают ни операторы, ни функции в интерактивном режиме.

Добрый день.

Сегодня установил пакет erlang на Arch Linux через pacman.

sudo pacman -S erlang

Поставился erlang 10.2

Необычное поведение выражено в сеансе интерпритатора снизу:

➜  ~ erl
Erlang/OTP 21 [erts-10.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

Eshell V10.2  (abort with ^G)
1> 2 + 3
1> 1 + 1
1> 
1> 
1> q()
1> 
1> init:stop()
1> 
1> 
1> 
User switch command
 --> q
➜  ~ 
Как видно, ни операторы, ни функции «не работают». Выйти получается только через Ctrl + G, q.

Так же не меняется число в приглашении к вводу. В чем может быть проблема? Как можно вылечить?

 , ,

Arssham ()

Erlang. Параметры в vm.args

Добрый день подскажите где прочесть или что значит, в документации Erlangdf есть параметр

+K true
+zdbbl
Смотрю настройки RabbitMQ, там тоже есть эти параметры но со знаком минус
-K true
-zdbbl
Не могу найти, что означает параметр с +, а что с -. Точнее с знаком плюс есть на сайте Эрлланга http://erlang.org/doc/man/erl.html# zdbbl а вот с минусом нет :(

Подскажите, пожалуйста.

 

darksmoke ()

Спалил Ъ-Erlang'истов за работой

 ,

mos ()

Erlang Heap Memory

Добрый день Досталось Эрланг приложение. И при большой нагрузки оно падает с ошибкой

Slogan: eheap_alloc: Cannot allocate 49515520 bytes of memory (of type «heap»).

  • как можно указать лимит этой памяти при запуске приложения?
  • Кто то имеет опыт мониторинга забиксом эрланг приложения?

 ,

darksmoke ()

Inko Programming Language

Решил притащить на обсудить Inko: https://inko-lang.org/

Хз, нужно оно в реальном мире или нет, когда есть python/ruby/elixir.
Но вдруг у кого-нибудь есть умные мысли на этот счёт. :)


Inko is a gradually-typed, safe, object-oriented programming language for writing concurrent programs. By using lightweight isolated processes, data race conditions can not occur. The syntax is easy to learn and remember, and thanks to its error handling model you will never have to worry about unexpected runtime errors.

Inko runs on 64 bits Linux, BSD, Mac OS, and Windows. 32 bits platforms may work, though they are not officially supported at this time.



ps: в тегах питон, руби, эрланг и эликсир потому, что автор считает их основными конкурентами инко. А раст потому, что ВМ написана на нём.

 , , , ,

blackst0ne ()

Как подключится к уже запущеной ноде Erlang'a?

Как подключится к уже запущеной ноде Erlang'a?

Делаю так: erl -sname my_app -setcookie COOKE

Получаю: Protocol 'inet_tcp': the name my_app@my_comp seems to be in use by another Erlang node

 

darksmoke ()

Работа с systemd без sd_notify

Мы переводим наш flussonic на работу с systemd и я захотел воспользоваться его механизмом подтверждения того, что приложение запустилось.

Стандартный и официальный способ — использовать библиотеку systemd и использовать оттуда функцию sd_notify

Например для эрланга для этого есть библиотека https://github.com/systemd/erlang-sd_notify и похожее есть и для других платформ.

С этим подходом есть проблемы: 1) в любой современный язык втаскивать библиотеку на С — это задача, гораздо более неприятная, добавить библиотеку на самом языке. 2) в современных крутых платформах есть очень развитые подсистемы для работы с сокетом, а эта libsystemd делает чего-то, непойми что и не встраивается ни в libevent, ни в эрланговский event loop, ни в торнадо под питон.

Я решил сделать попроще, чего и вам советую:

https://gist.github.com/maxlapshin/01773f0fca706acdcb4acb77d91d78bb

ready() -> call(<<"READY=1">>).
reloading() ->call(<<"RELOADING=1">>).
stopping() -> call(<<"STOPPING=1">>).
watchdog() -> call(<<"WATCHDOG=1">>).


call(Call) ->
  case os:getenv("NOTIFY_SOCKET") of
    false ->
      {error, not_configured};
    Path ->
      case gen_udp:open(0, [local]) of
        {error, SocketError} ->
          {error, SocketError};
        {ok, Socket} ->
          Result = gen_udp:send(Socket, {local,Path}, 0, Call),
          gen_udp:close(Socket),
          Result
      end
  end.

в принципе вот всё, что нужно для работы с systemd. По ссылке более полный код на эрланге, его легко переписать за 10 минут на %LANG%

Понятно, что systemd не обещает сохранять api, но я бы вообще не стал рассматривать systemd как что-то очень продуманное и что не будет меняться следующие 10 лет. Всё равно всё будут перекраивать

 ,

max_lapshin ()

Erlang. Посоветуйте код который является образцом для подражания.

Всем привет.
Спасибо.

 

denisE ()

Вы говорите что XMPP мертв и не нужен?

Тем временем, Eve Online Chat, с марта будет использовать ejabberd вместо своего велосипеда.

With the March release, we’ll be updating the chat system in EVE Online, moving from the custom solution we’ve been using since EVE was initially designed, to an industry standard XMPP chat server that will offer better performance and flexibility for the future.

-- Eve Online Blog: Preparing for the future -- retirement of Eve Voice

CCP Games, создатели Eve Online: https://github.com/ccpgames/ejabberd

Ну и конечно плюсик Эрлангу.

Подробнее: https://medium.com/processone/eve-online-chat-is-moving-to-ejabberd-8e73d40fa887

 , ,

mimimimi ()

ssh-proxy: как дать человеку доступ на сервер, не давая ему приватный ключ

https://github.com/flussonic/ssh-proxy

Есть сотрудник, который может уволиться с работы. Есть сервера, принадлежащие нашим клиентам, на которые ему надо организовать доступ по ssh.

Как пустить сотрудника на сервер так, что бы потом можно было отозвать доступ и больше не пускать?

Часто в маленьких командах раздают всем приватный ключ, после увольнения сотрудника это превращается в неприятную проблему.

Мы решили попробовать сделать ssh-proxy, организованный на подобие гитозиса: публичные ключи сотрудников лежат в папке, приватный лежит на сервере.

Можно залогиниться как ssh root/clientserver@sshproxy.company.com и тогда сразу попадешь на root@clientserver

Сейчас реализовано: 1) авторизация сотрудников по публичным ключам 2) проксирование текстовых команд

Не реализовано:

1) разграничение прав, кому куда ходить можно и не можно 2) тунеллирование, scp, sftp. Этого вообще нет из коробки в эрланге, надо будет допиливать ему stdlib 3) ещё кучи чего наверное

Будет ли это полезно и интересно кому-нибудь ещё?

 , , ,

max_lapshin ()

Eruangu mnesia video

 , , , ,

Unununij ()

Очереди в Erlang.

Всем привет.
Может кто подскажет как реализовать быструю очередь если в нею будет писать параллельно много процессов и так же много процессов будут из нее извлекать.

 

denisE ()

Книга: «Введение в Elixir»

Всем привет. Вот ссылка на книгу Введение в Elixir вышел перевод только в этом году. Кому нужно забирайте(скачивайте,бесплатно).
P.S. Пожалуйста, кто может создайте тег «elixir»

 , , , ,

oster2011 ()

Clojure for the Erlang VM

Its main goal is to combine the power of the Erlang VM with the expressiveness of Clojure to provide an interesting, useful result that might make the lives of many programmers simpler and make the world a happier place.

https://clojerl.github.io/clojerl/

 ,

Eva ()

Mint 18.2 ошибка «Can not link the wx driver»

Господа, прошу помочь новичку. Система обновлена, ставлю erlang:

wget http://www.erlang.org/download/otp_src_19.3.tar.gz tar --xvf otp_src_19.3.tar.gz cd otp_src_19.3.tar.gz ./configure

на этом этапе выпадает ошибка: wx:Can not link the wx driver, wx will NOT be useable

Уже поставлено:

( читать дальше... )

 , ,

Feo740 ()

Помогите новичку. Автозапуск скрипта.

Добрый день. Несколько дней в муках пытаюсь добавить скрипт в автозапуск init.d.

У меня в папке назначания лежит скрипт erlang.sh с таким содержимым

#! /bin/bash erl -detached -s fz_worker start

я пытаюсь при запуске системы запускать его таким образом. в init.d разместил другой скрипт со следующим содержимым

( читать дальше... )

chkconfig выдает все ок, лог файл создается, тоесть оно его запускает. Но сам процесс erl не запускается. Возможно каких-то привилегий не хватает? Оба скрипта принадлежат руту, chmod 4755

Если запустить скрипт из init.d вручную из под рута, то все запускается и работает. Само не хочет :(

Уже и не припомню все способы, которыми пытался запустить. Добавлял оба скрипта в sudoers, пытался указывать полные пути, соединял все в один скрипт, делал cd, pushd внутри скрипта. Помогите, добрые админы. Все это безобразие на Centos 6

 , ,

booksmaster ()

Треда совет по Elixir/Erlang

Товарищи. Хочу потыкать для REST API Erlang/Elixir. Кто может посоветовать вменяемы туторы/книги в pdf. Буду благодарен

 , , ,

silver-bullet-bfg ()

Erlang-разработчик на удалёнку

Давайте сразу на «ты». У нас в коллективе никто не выкает.

Мы — это игровой стартап:
http://g2case.com

Внезапно наш сайт написан на Erlang.

Подробности:

  • Yaws на бэкенде
  • React на фронтенде
  • MySQL основное хранилище данных
  • mysql-otp драйвер
  • Poolboy для организации пула соединений к БД
  • Mnesia для сессий
  • ETS для кэширования всякого разного
  • Rebar для сборки

В команду мы ищем человека, которого не напугать этими страшными словами.

Обязательно:

  • опыт программирования на любом языке
  • непустой GitHub/Bitbucket
  • знание Erlang (или возможность быстро его осилить)
  • знание SQL

Желательно:

  • знание JS (read/write)
  • знание Perl (read-only)
  • знание Steam API

Условия:

  • работа удалённая
  • оклад 200k
  • выплаты каждую неделю
  • молодое адекватное начальство

Расскажи немного о себе, похвастайся своими работами и отправь мне всё на evbogdanov@yahoo.com

 , , ,

evbogdanov ()