Archive
一个开源游戏项目的诞生
自从众多“主流开发者”第一次听说以来,直到现在,Erlang 仍然是一门“有点怪异的小众语言”。可它也有一个充满活力的小社区。在 Maillist 中我们常能“围观”到一些有趣事件的发生,最近,我们就能亲眼目击到《一个开源游戏的诞生》这出大戏。
Erlang 在游戏业素有盛名,国内和国外有一些游戏或多或少的采用了 Erlang 系的技术方案。这是有原因的,一方面,这个行业在整个计算机领域中处于并发与分布问题的最前线,他们是最有动力去尝试用其他的语言来解决手头碰到难题的一群人。另一方面 Erlang 本身消息驱动的要素,与游戏这一特定的开发领域在抽象模型上又有着高度的重合。
五年前,DevMaster 上 Joel Raymont 的那篇《Writing Low-Pain Massively Scalable Multiplayer Servers》(中文版《轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统》),在整个技术领域引起了非常大的反响,某种程度上,起到了大大推广 Erlang 语言的效果。但是,由此而诞生的 OpenPoker 项目,从纯粹的开源软件视角上看,却不幸成为了一个“犹抱琵琶半遮面”的半吊子项目——没有社区、没有交流、没有文档,源码没有完全公开——作者本人还要靠着这个项目的咨询费来养家糊口,一个纯粹的单人开源项目。这实在是一件非常可惜的事。作为一条事后的章鱼预言家,我敢说,如果一开始就打定主意去做一个开源的软件,比如说,就象 CouchDB 的 Damien Katz 和 MochiMedia 的 Bob Ippolito 一样,把全副身家都押宝在 OpenSource 的商业模式上, OpenPoker 完全可能走得更远。
开源软件搞了这么多年,从一开始的 SourceForge 到现在的 GitHub 和 BitBucket 我们终于有了“开源并不只是把源码放出去就可以了”的共识。开源软件其实是一套软件价值观——以软件本身的质量为核心价值。同时也是一套开发组织管理的哲学——当最初的项目创始人耗尽了他的热情,软件可以轻松的移交到新的开发者手上,通过这种热情的接力,软件能够日渐完善和历久常青。它是围绕着软件本身,以程序员的诉求为重点的开发方式,有着一套完整的依托于互联网的方法和设施。开源最终会导向可进化的,更高质量的软件产品。在开源软件这团热气腾腾的五彩祥云之中,热情是其原动力,灵活的团队是其灵魂,充分而高效的交流和协作则是这种开发方式的固有特色,至于社区、文档、特性管理乃至源码本身,这些我们所能见到的“特色”都只是交流协作的某种“外在形式”而已。
对于 Erlang + OpenSource + Game 而言,五年以前的 OpenPoker 错失了一次绝好的机会,如果上天再给一个重来一次的机会呢?现在看起来,这个机会已经来了,那就是 PEMMOX (Project Erlang Massively Multiplayer Online eXperience)项目。
各位童鞋请自备梯子墙头围观
http://www.trapexit.org/forum/viewtopic.php?p=57004
http://groups.google.com/group/pemmox/topics
众位游戏界的 Erlangor ,请把你们带有中国风的 ID 加到 Authors List 中去吧。
SNDA 并购 MochiMedia
在 Erlang 领域富有盛名的开源 Web 开发框架 MochiWeb ,其作者也就是知名的 Bob Ippolito ,他的公司名叫 MochiMedia 。日前传出消息,这间公司已被 SNDA 以 8000w 美刀的价格收购,交易将以 6000w cash + 2000w stock 的方式,于 2010 年第一季度完成执行。
辛苦创业,终于取得重大成果,Bob Ippolito,可喜可贺!
与此同时,我们也不得不说,盛大这次表现出了远超国内同行的不俗品味与独到眼光。此次“采购”,无论是从中国的互联网企业资本运作的时机与实操层面,还是从能在全球 Erlang 技术圈激起的影响而言,都大有可圈可点之处。如果掌控良好,能够顺利克服海外收购的文化适应性问题,可以预期 MochiMedia 大有成为 SNDA 新“矿脉”的可能。
对于我等一众 Erlangors 来说,资本层面的这些运作都是“高层”的事,离大家还是比较遥远。最实惠的是,大概可以开始期待,在不久的将来,也许我们能在某次 Erlounge 上近距离目击 Bob Ippolito 偶像 himself !
CPiE-CN 发布《Erlang 并发编程》第一部分 中文译稿
我一直都觉得 Erlang 中文社区是一个又小又很活跃的技术社区,这里的人和事常常都能让人感觉到某种淡淡散发出来的温暖,不知道大家对此是否也有同感。
临近圣诞,又有好消息传来。由连城同学发起的 CPiE-CN 项目(成员包括:王飞、Ken Zhao、张驰原、丁豪、赵卫国、吴峻)宣布了他们近一年辛勤努力的辉煌成果——Erlang 官方的重量级技术文档《Concurrent Programming in Erlang》Part I主体部分(除附录B、E和参考文献列表以外的所有内容)的中文译稿。
还记得我对 Erlang 的第一印象,就是来自于旅游途中的火车上,对这份文档 pdf 英文原版厚厚一沓打印稿的缓慢阅读(我想我得感谢枯燥的列车旅行让我具有了某种阅读这种枯燥文档的合适心境),老实说,这并不能算得上是一次愉快的阅读体验。现在好了,有了这份 CPiE-CN 团队精心翻译的中文版,可以想象,将会帮助多少人更顺畅的通过这条小径,步入 Erlang 独特的世界。
这里是发表在 liancheng 同学博客上的消息发布原文。
我想 Erlang 中文社区的所有用户都应该向这些志愿者们的辛勤劳动致以崇高的敬意:
- 连城(序、致谢、简介、第1章、第2章、第3章、第9章、全文校对)
- 王飞(第4章、第8章)
- Ken Zhao(第6章)
- 张驰原(第5章)
- 丁豪(第7章)
- 赵卫国(附录C、附录D)
- 吴峻(附录A)
(for 那些眼神不大好的同学们)再一次推荐,精彩的中文译稿在[这里]。
Erlang OTP r13 的新气象
Nov 25 日 Erlang OTP R13B03 已经发布!那么,这次发布,又有什么新东西呢?
- Release plans
发布计划?虽说在其他的 OpenSource 项目中已经稀松平常,但对于一直以来低调再低调的 Erlang 团队来说,好像还是第一次听说哦。 - New Build Process for Documentation
新的文档生成系统?貌似关系不大……,有文档看就行啦。 - GIT repository
没错!而且是基于 GIT 的哦。可以到这里参观学习,Fork、Watch、Download、Ticket、Patch、Issue……终于成真! - New erlang.org WEB-site
几十年如一日的 erlang.org 终于准备要一改长久以来的严肃面孔,实在可喜可贺。[还没上线哪] - Native Implemented Functions (NIFs)
NIF!用过 Java 的同学是不是“情不自禁”地想起了 JNI 呢?虽说是 R13B03 刚刚才推出的实验性设施,但快刀 yufeng 同学已经迅猛无比的博了一篇,请看这里。
就到这里,先写这么多。
-EOF-
Ubuntu 9.10 的新惊喜
刚把我的 Ubuntu 升级到了最新的 9.10 版。十分惊喜地发现 couchdb 已经被包含在发行版里了(貌似正被 Evolution 组件使用)。也就是说,全新安装的 Ubuntu 9.10 desktop edtion 已经默认替你安装好了 couchdb ,这不仅意味着将会有一个被广泛预装的 Restful 接口的 K-V 存储机制可以在 desktop 上直接可用,而且同时也意味着 Erlang 运行环境已经默认装好,看一下是什么版本:
Erlang R13B01 (erts-5.7.2) [source] [rq:1] [async-threads:0] [kernel-poll:false]
Eshell V5.7.2 (abort with ^G)
1>
R13B01 ,虽说还不是最新的 R13B02-1,但也相差不多了。对于广大 Erlang Programmer 而言,这无疑是一个振奋人心的消息。
今年的 CN Erlounge IV 召开在即,我的时间排不开,无法适逢其会,甚憾!只能遥祝本次大会圆满成功,各位大拿聚会开心。本次大会的好 Topic 如潮(其中包括将会正式宣布的 yufeng 的重量级 R13B02-1 Performence Patch,还有 xushiwei 的 CERL,以及众多业界大佬秘密研发的 Erlang 相关项目),敬请各位通过 Twitter/GoogleReader 密切留意来自 ecug.org 的相关报导。
[ANN]CN-Erlounge-IV会议时间调整
CN-Erlounge-IV 会议时间调整,转发一下:
经过慎重考虑,并经过会务组和讲师们的协商讨论,特将CN-Erlounge-IV会议的时间延期到11月7日~8日。
理由如下:
与 CSDN SD2、哲思峰会时间冲突。有一些 Erlounge 的讲师同时也是 CSDN SD2、哲思的讲师。尽管讲师都表示会赶过来,但是出于讲师身体状况的考虑,我觉得不太合适。
投稿截稿日期与会议日期之间周期过短,不方便会务组给各位讲师订机票。本次延期后仍然有些仓促,以后在 Erlounge 时间安排上会尽量加长这段时间(至少1个月)。
关于更多本次大会的信息,请访问官网:http://ecug.org/
为了确保所有人都得知本次延期的通告,欢迎您通过各种途径传播此消息,为此我们非常感谢您的支持与帮助!
[荐]talk to erlang in ruby with Erlix
KDr2(Killy Draw)同学做了一个 Ruby – Erlang 的项目 Erlix 。象这种富有新意(Talk to Erlang as A Node 而不是 as A Port, Like erlectricity)的民族软件(KDr2 Speaks Chinese),而且文档也比较完整,实在是找不出不大力进行推荐的理由。
项目主页:http://code.google.com/p/erlix/ || http://github.com/KDr2/erlix/
代码下载:http://erlix.googlecode.com/files/erlix-0.2.zip
使用教程:http://code.google.com/p/erlix/wiki/ErlixTutorial
另外,还有买一赠一惊喜大特惠!这里再推荐一篇通过 Erlang Node 机制进行通讯的原理性文章(刚巧也是 Ruby 的),如果想要实现一个自己的 Talk to Erlang as A Node in xxx Language (貌似好几个语言都已经有了自己的版本,大家动手之前,先 google 一下,看看别人做了没有),相信这一篇 [ 点这里 ] 也会很有参考价值。
R13 推出
感到动力澎湃了么?啥也不说了,官方消息转载如下:
Erlang/OTP R13A has been released. This is a beta-release in the sense that it is not recommended for use in live products. The R13B release (recommended for use in live products) is planned for April 29. We encourage that you try out this release and give us feedback on errors you may find so we can correct this until the R13B release. Some highlights in this release are:
* Significant improvements of SMP and multi-core performance mainly because of multiple run-queues but also a number of other optimizations.
* Support for Unicode is implemented as described in EEP10.
* New application WxErlang, A binding to the WxWidgets GUI library. In beta status but the intention is that is shall replace GS in a later stage.
* New application RelTools a release management tool with a graphical frontend for interactive customization of a target system. Still a bit limited and should be regarded as experimental in this release.
* Read the complete list of bug fixes and new functions in the readme file.Download the new release from the download page.
以及:
The next major version of Erlang, R13, has been released in beta form.
The release contains a whole host of bug fixes and goodies. Here are the ones which grabbed my attention:
* OTP-7648: Support for Unicode. This. is. huge. I have been waiting for this since R11.
* OTP-7805: Halle-freakin’-luah! A graphical tool for creating releases. Maybe I won’t have to kill kittens every time I build a release.
* OTP-7500: Replacement of the global run queue with multiple per-scheduler run queues. This should help quite a bit with run queue contention in Erlang systems with boatloads of processes. Ulf Wiger wrote about the problem in some detail but I can’t find a link to it.
* OTP-7777: Scheduler threads can be bound to logical processors. Should give a nice performance boost on supported platforms.
* OTP-7748: Fixed andalso and orelse to be tail recursive-friendly. This has caught me out on at least one occasion.
* OTP-7826: Nodes belonging to different clusters can run on the same host. Should simplify deployments a bit.
* OTP-7864: Opaque datatypes for common structures like arrays, dicts, and sets. No more unhygenic poking about in their guts.All in all, R13A has some extremely cool stuff in it. I can hardly wait for R13B.
New Book “Concurrent Programming with Erlang/OTP”
![]() |
Concurrent Programming with Erlang/OTP by Martin Logan, Eric Merritt, Richard Carlsson and Robert Calco is now available from Manning Publications Co in an “Early Access Edition”. Readers of the Erlang.org site will get a 35% discount by using erlang35 as the promotional code.For more information, look here. |

Recent Comments