Are Erlang/OTP messages reliable? Can messages be duplicated?

I’ll separate this into points I hope will make sense. I might be re-hashing a bit of what I have written in The Hitchhiker’s Guide to Concurrency. You might want to read that one to get details on the rationale behind the way message passing is done in Erlang. 1. Message transmission Message passing in … Read more

How, if at all, do Erlang Processes map to Kernel Threads?

Answer depends on the VM which is used: 1) non-SMP: There is one scheduler (OS thread), which executes all Erlang processes, taken from the pool of runnable processes (i.e. those who are not blocked by e.g. receive) 2) SMP: There are K schedulers (OS threads, K is usually a number of CPU cores), which executes … Read more

Setting up an Erlang development environment

I highly recommend the Erlang mode shipped with the standard Erlang distribution. I’ve put together a “works out of the box” Emacs configuration which includes: Syntax highlighting & context-sensitive indentation Dynamic compilation with on-the-fly error highlighting Integrated Erlang shell And more…. You can browse my GitHub repo here: http://github.com/kevsmith/hl-emacs

Mixing Erlang and Haskell

A lot of Haskell and Erlang people are interested in the model where Erlang supervises distribution, while Haskell runs the shared memory nodes in parallel doing all the number crunching/logic. A start towards this is the haskell-erlang library: http://hackage.haskell.org/package/erlang And we have similar efforts in Ruby land, via Hubris: http://github.com/mwotton/Hubris/tree/master The question now is to … Read more

RabbitMQ (beam.smp) and high CPU/memory load issue

Finally I found the solution. These posts helped to figure this out. RabbitMQ on EC2 Consuming Tons of CPU and https://serverfault.com/questions/337982/how-do-i-restart-rabbitmq-after-switching-machines What happened was rabbitmq was holding on to all the results that were never freed to the point it became overloaded. I cleared all the stale data in /var/lib/rabbitmq/mnesia/rabbit/, restarted rabbit and it works … Read more

Concurrency model: Erlang vs Clojure

Do you really mean concurrent or distributed? If you mean concurrent (multi-threaded, multi-core etc.), then I’d say Clojure is the natural solution. Clojure’s STM model is perfectly designed for multi-core concurrency since it is very efficient at storing and managing shared state between threads. If you want to understand more, well worth looking at this … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)