[erlang-questions] What are the "Most valuable libraries?"...and a few other questions
Wed May 18 02:25:35 CEST 2011
The whole "reply-all" debate has stirred me to ask some festering
1. In general, what are the most valuable libraries to learn, both
within the Erlang dist and external?
2. Is there a consolidated/curated repository of libraries that is
industry standard? I know the erlware folks have a repo...is that both a
complete and accepted authoritative repo? From reading the list, it
sounds like there's also a fair bit of stuff scattered about in github, too.
3. How does one easily multithread an app? For instance, there's pmap in
clojure and something similar in akka that lets you map a function
across a list, and it allocates threads accordingly...
literally something like: "pmap(myfun, mylist);"
4. Along that note, does anyone have any ideas as to how to tackle the
Typesafe 'getting started tutorial?'
(Typesafe is the funded version of Jonas Bonér's Akka combined with Scala)
4b. Side note: is anyone concerned about Akka/Typesafe stealing mindshare?
And lastly, the most burning of questions:
5. How does one push an app such that it self instantiates it's
processes across the cluster? I can see how OTP is great at managing an
app on a single node, but how do you say something like: "create one of
these processes on each node in the cluster, and restart 1-for-1 if they
die"... or something similar. I see mention of gproc, but honestly, I
don't see how to use it. Likewise, if nodes are added to the cluster,
how would you ensure that the necessary processes are pushed to the new
node after it joins the cluster?
6. How do you deploy and live code upgrade in real life? I've been
looking at some of the work by the 'Dukes of Erl' ... is erlrc what
folks commononly use?
Dukes of Erl project (Paul Mineiro):
Paul Mineiro's Erlang factory 2009 presentation:
7. Does anyone use dynamic load balancing of demand across a cluster
(e.g. spinning up erlang processes to meet the demand curve?)
8. What's the best way to integrate w/ other code bases. In akka, you'd
use camel as an integration bus. What are the common ways to integrate
with erlang? Is that what ports and nifs are for? Forgive my ignorance,
but I always considered those as simply ways to write code in a
different, perhaps more comfortable language...not as integration
Also, I've continued to peck away at various newbie tutorials. Any
comments/suggestions/corrections are welcome.
More information about the erlang-questions