Erlang R12B-0 released
Major relese : otp_src_R12B-0
Build date : 2007-12-04
R12B-0 is a major new release of Erlang/OTP.
You can download the full source distribution from
http://www.erlang.org/download/otp_src_R12B-0.tar.gz
http://www.erlang.org/download/otp_src_R12B-0.readme (this file)
Note: To unpack the TAR archive you need a GNU TAR compatible program.
For installation instructions please read the README that is part of
the distribution.
The Windows binary distribution can be downloaded from
http://www.erlang.org/download/otp_win32_R12B-0.exe
On-line documentation can be found at http://www.erlang.org/doc/.
You can also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_doc_html_R12B-0.tar.gz
http://www.erlang.org/download/otp_doc_man_R12B-0.tar.gz
We also want to thank those that sent us patches, suggestions and bug
reports,
Erlang文档计划,发布中文文档《编写分布式的Erlang程序:陷阱和对策》
gigix 又完成了对Erlang文档计划中收录的 Hans Svensson 和 Lars Åke Fredlund 在 EUC 07 Erlang WorkShop 上发表的文档“Programming Distributed Erlang Applications: Pitfalls and Recipes”一文的翻译,端地是相当迅猛。
摘要
为了在 Erlang 运行时系统基础上开发更可靠的分布式系统和算法,我们研究了 Erlang 编程语言中分布式的部分。使用 Erlang,把一个运行在单个节点上的程序转换成完全分布式(运行在多个节点上)的应用程序可谓易如反掌(只需要修改对 spawn 函数的调用,使之在不同节点上产生进程);但尽管如此,Erlang 语言和 API 中仍然有一些阴暗的角落可能在引入分布式运算时带来问题。在本文中,我们将介绍几个这样的陷阱:在这些地方,取决于进程是否运行在同一个节点上,进程间通信的语义会有显著的差异。我们同时还提供了一些关于“编写安全的分布式系统”的指导原则。
这篇的评论说明了一切:“This talk should be part of the Erlang FAQ. Get a copy of the paper and read it!”——应该进入 FAQ 的东西,其重要性当然是不言而喻的。虽然 Erlang 在并发、并行和分布上提供了统一的机制(dcaoyuan语,我很赞同),但在“另一个节点”上的分布式编程还是会有一些模模糊糊的角落,一旦碰上就可能会耗费掉你大量的时间和精力。有了这份“Erlang寻宝注意事项”,无疑将能大大节约HP。
让我们对 gigix 向 erlang 中文社区作出的贡献(再次,并期待下次
)表示感谢!
借 gigix 的光顺便做个广告,经过旷日持久的翻译《Programming Erlang》已进入收尾阶段,出版社近期将会放出部分样章,各位可以留意。
Erlang文档计划,发布中文文档《扩展 Erlang 的进程注册表》
gigix 已经完成了对 Erlang 文档计划 中收录的 U. Wiger. 在 EUC 07 Erlang WorkShop 上发表的文档“Extended Process Registry for Erlang”一文的翻译。
摘录
扩展Erlang的进程注册表
内建的进程注册表早已被实践证明是Erlang语言中一项极其有用的特性。它使得开发者能够很轻松地提供具名服务 (named services):用户无需知道服务进程的进程标识符(process identifier,PID)即可使用这些服务。
但目前的进程注册表也有其局限性:进程的名字必须是atom(不支持有结构的数据),每个进程只能用一个名字注册,并且缺乏有效的搜索和遍历机制。
在Ericsson下属的IMS Gateways的产品开发中,我们经常需要维护一张映射表,以便根据各种属性找到负责处理调用的进程。我们从中发现了一个通用的模式(一种索引表),并由此开始开发一个扩展的进程注册表。
一开始这个想法并没有立即体现出价值,甚至看不出在实用中提供了多大的便利。但随着开发的进行,程序设计者们越来越多地使用这个扩展的进程注册表,并因此显著减少了代码量、提高了实现一致性。此外,扩展的进程注册表还提供了一种强大的调试机制,能够在数万个进程中进行有效的调试 。
本文介绍了这种扩展的进程注册表,并对其进行检讨,从而提出一种新的实现方式,使之更具一致性、效率更高、并且支持全局命名空间。
这篇文章仔细研究了 Erlang 核心之一的注册机制,通过展现现有方式在解决具体需求时所面临的困境,指出了其功能与实际需求之间的差距。并从实践之中提取了进行扩展的方法(以及解决方案本身的演化)。非常难得的是,此文并没有纯从理论的角度泛泛而谈,而是基于实践,逐层分析,步步改进,是 the Erlang way 另外一篇非常不错的实战案例。其中对于 OTP 内部几处代码的分析与优化尤其精彩。值得认真一读。此外,由于 U. Wiger. 的特殊身份,如果这个扩展模块变成 OTP 的官方模块,大家也没有理由感到惊奇。
让我们对 gigix 向 erlang 中文社区作出的贡献表示感谢!
另外, gigix 已经开始了对于“Programming Distributed Erlang Applications: Pitfalls and Recipes”一文的翻译,在 erlang 中文社区能有 gigix 这样优秀的译者,实乃大家之福。
Erlana is on the way
中文 Erlang 社区发起的首个 Opensource 项目 Erlana
项目主页:http://code.google.com/p/erlana/
项目来由,参阅:http://erlana.googlecode.com/svn/trunk/doc/
上次 xushiwei 来北京,席间谈起这个项目,大家都觉得耳目一新。没错,大家是都觉得 erlang 不错,可是,始终也觉得缺乏一个有说服力的明证。一个恰如其分的项目,能用,好用,还能充分题现出技术本身的优势,这是最好的广告。一如 ejabberd 和 yaws 轰动的示范效果。
临渊慕鱼不如卷起袖子积极参与。学习一个技术的最好方式就是——使用它。
[presentations_and_photos]Erlang/OTP User Conference 2007
Presentations :http://www.erlang.se/euc/07/
and also photos: http://www.erlang.se/euc/07/photos.html
CN Erlourge II 讲座的Video
ftp://labs.kingsoft.com/ErlangII/
user: erlang
password: erlang
that is:
ftp://erlang:erlang@labs.kingsoft.com/ErlangII/
erlangbook ii and stocks?
erlang 的 maillist 里面最近在嗡嗡作响的事是——第二本 erlang 的书,以及一个有趣的新点子“erlang the stock”。
事情缘于 Joel Reymont 最近考虑要写第二本 erlang 的书,暂定名为《Hardcore Erlang》。
实际上,如果按照正式出版的纸版图书来说的话,应该是 erlang 语言的第三本。
[》以下插播 n 多字的八卦]
第一本是 Joe Armstrong 和 Mickaël Rémond 在 2003 年合著的《Erlang programmation》,第二本是 Joe Armstrong 今年早些时候出的《 Programming Erlang: Software for a Concurrent World》。对于 Eyrolles (出版商)来说(向他们的勇气表示敬佩和慰问吧),这当第一的经验,恐怕是惨痛的。过于超前的推出时机,导致销售情况极不理想,以至于后来成为“票房毒药”的 Joe 想出第二本关于 erlang 的书时变得困难重重,此乃后话。
而时隔4年之后的第二本,是在 Joe Armstrong 的多方奔走之下,加上 intel 多核芯片面世带来明显升温的 erlang 社区,以及日渐汹涌的出书呼声,才由 Pragmatic Bookshelf 满腹狐疑的推出。想必,做出决策的时候,出版商的心里面也是凉凉的,没什么底。而这一本出乎意料的火爆(在 amazon 的排行榜上迅速攀升到了3k多,而且还在迅猛上升中),这自然引起了书商们出“续集”的强烈渴望。
相比第一本和第二本之间的四年,这第三本仅过了四个月时间就嚷嚷着要出了(当然了,目前还只是在策划阶段),相同的数字,不同的度量衡单位,让人不得不感叹“彼一时也,此一时也”。
[《好了,八卦插播结束,欢迎回来]
说回 Joel Reymont,此兄何许人也?请看这里这里还有这里这里。(是的,就是这位帅气拉风迷死人不偿命的 Joel 同学了,与 Yariv Sadan 并称为 erlang 两大新晋偶像,江湖地位十分了得。附送玉照一张,粉丝们不要抢,数字版,人人有份)
简单来说,此兄在 05 年就以一篇《Writing Low-Pain Massively Scalable Multiplayer Servers》名动编程界,震得跟帖无数(本站亦有收藏译文在此)。后转为 self employ 过着逍遥快活的日子,最近据说项目收尾了,要找有意思的事情做做。旋即传出要和 Roberto Saccon 一起来做“ActionScript (ECMAScript 4) to Erlang Compiler”的消息(本站亦有报导报导在此)。没想到,时隔不久就又得到了要写书的消息,两件颇不容易的事情能够齐头并进,确实是精力过人。
且来看看,这本《Hardcore Erlang》(暂定名)都有些什么精彩内容。
- The architecture of a poker server from far above
- Thinking processes instead of objects
- Game logic
- Stacking state machines
- Swapping logic
- Storing data in Mnesia
- State machines (gen_fsm)
- OTP behaviours
- Poker bots
- Simulating players
- Scripting
- Designing a network protocol
- Binary parsing
- Pickler combinators
- Automatic clustering
- Fault tolerance and fail-over
- Load balancing
- Testing a network server
- Debugging Erlang software
基本上,就是以 open poker 为基础,讲述 erlang 编程心得与思维方式的一本书。应该说,像这样来自实践的剖析和呈现会是非常吸引人的。更贪心一些,如果作者的语言又活泼风趣,能在轻松愉快的气氛中层层展现出自己清晰明了的思路(又看了一遍那篇《Writing Low-Pain Massively Scalable Multiplayer Servers》,对此我觉得甚为靠谱),那必将会是一本佳作。配合起 Joe Armstong 的 THE BOOK ,一个讲技术,一个讲实践,必将能够大大拉低“主流” OOP-er 们向 COP 转变的陡峭学习曲线。
而就在今天(呃,我的机器显示过了12点,已经是昨天了),此兄又冒出一个新点子:
I want to build a stock exchange and show you how to do it.
And of course I want to write a book about it.
The focus of the book is not changing, it’s still fault-tolerance,
scalability, distribution, etc. What’s changing is the software the
book is built around. Reading about how to build a stock exchange sure
as hell beats reading about a poker server.What do you think?
我觉得很有意思!你意下如何?
JAOO 2007: Joe Armstrong - On Erlang, OO, Concurrency, Shared State and the Future, Part 1
在reddit看到的,提供了视频和语音下载,视频挺大,500M+。
链接在此:Introduce
Erlang 文档计划
在 Erlang 这个小世界里,一直不乏格式良好,态度严谨的文档(貌似 Erlang 很有点学院气息)。读完这些东西,常常让人有豁然开朗之感。可是它们又犹如深海明珠,难得一见。用上最先进的 google 也不济事,一网抄下去,常常啥也捞不上来。尤其是,在中文环境里,又隔阂了语言的屏障,凭一人之力来收集这些文档,几乎变成一个让人绝望的任务。
通过网络,集合大家的力量来收集这些“珍宝”,似乎是个不错的想法。更进一步,受“段先德”同学关于“无一遗漏地精读的方式,就是把它翻译一回”的激励。也许,除了“段先德”和“Dino Wu”之外,还有另外一些奉行开源精神的 hacker 们,也愿意与其他人分享自己的“精读”的心得。而整个中文社区的用户都将因此获益。
希望,通过这个小小的“Erlang文档计划”,为中文地区的Erlang用户带来一些便利。
方法很原始(但应该很可靠 :D),在这个(http://erlang-china.org/erlang-doc)地址,会维护一份文档列表,通过各种渠道的收集到的文档都会迅速的被添加进去。希望这个列表会变得很长,很全,并且出现 N 多的中文版。
为便于整理,对于每一篇好文档,最好提供如下资料:
必填:
类目 (如:官方文档,论文,活动文档,其他;如果是活动,则请注明活动名称,如: EUC07,CN-Erlounge-II等),
名称 (英/中/简,尽量详细,如:Making reliable distributed systems in the presence of software errors/面对软件错误构建可靠的分布式系统/JoeThesis 2003),
作者 (如:Joe Armstrong),
URL (如:http://www.erlang.org/download/armstrong_thesis_2003.pdf,如果没有原始下载链接,也可发一贴,以附件形式上传到 erlang-china.org ),
选填:
简介 (大致介绍一下内容,没准写的好,就有同学主动要来翻译啊 :))
然后,将你发现的好文档:
1,回复到 http://erlang-china.org/erlang_doc 中,
2,发送到 erlang-china 或 ecug 的 maillist 中,
3,直接发 gtalk 给我,如果你有我的 gtalk,
各位开始翻译计划时,也请通过上面的方式通知,以便标注“某某正在翻译中”,避免题材撞车。
that’s all. let’s make it.
Erlang R12 snapshot
从 maillist 以及 mryufeng 同学的 blog 上看到。新鲜出炉的 Erlang-R12 已经出现 snapshot 可供体验。
可以从“这里”看到最新的 Erlang SnapShot 版本发布情况,随时关注最新下载。
新的特性尚不明朗,据传闻,可能包括:
1. Array 数据类型
2. -spec 编译支持
3. 传说中的Sub Binary
…
其他特性仍在传闻中…


Recent Comments