[erlang-questions] What are the "Most valuable libraries?"...and a few other questions

Todd <>
Wed May 18 02:25:35 CEST 2011


The whole "reply-all" debate has stirred me to ask some festering 
questions...

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?'

http://typesafe.com/resources/getting-started/tutorials/getting-started-first-scala.html

(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):
https://code.google.com/p/erlrc/

Paul Mineiro's Erlang factory 2009 presentation:
http://www.erlang-factory.com/conference/SFBayAreaErlangFactory2009/speakers/PaulMineiro

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 
mechanisms.

Also, I've continued to peck away at various newbie tutorials. Any 
comments/suggestions/corrections are welcome.

https://github.com/ToddG/experimental/tree/master/erlang/wilderness

-Todd



More information about the erlang-questions mailing list