Announce Stomperl 0.0.2: Message Queuing And Transaction
December 20th, 2007
Dear all,
I'm glad to announce that Stomperl 0.0.2 is out. You can now check it out at http://stomperl.googlecode.com/svn/tags/0.0.2/ .
Since the first preview version [http://gigix.thoughtworkers.org/2007/12/12/announcement-stomperl-0-0-1], we've made some mentionable progress. The most significant one is the support to message queuing. Message destinations in Stomperl version 0.0.1 were only allowed to be topics. Now they are allowed to be queues as well: destination with its name starting with "queue^" would behave as a queue. (Check out the difference between a topic and a queue from "Enterprise Integration Patterns" [http://www.enterpriseintegrationpatterns.com/].)
Furthermore, Stomperl 0.0.2 supports transaction: messages in a transaction would be send all-or-not. It also supports ACK and ERROR frames. Actually it supports all commands listed in the protocol so far. Although we haven't got any official compatibility test suite yet, I feel it's fairly safe to say that Stomperl is a 100% Stomp compatible broker.
What's next then? I'd like to do some investigation to other Stomp brokers (as well as clients) and do some performance benchmarks. Besides that, I suppose there would be some defects and housecleaning need to be done. Still, any suggestion and feedback would be highly appreciated.
Announcement: Stomperl 0.0.1
December 12th, 2007
Dear all,
Stomperl 0.0.1 (the first preview release) is out.
Stomperl [http://code.google.com/p/stomperl/] is an implementation of Stomp [http://stomp.codehaus.org/] broker with Erlang. That means performance, scalability, reliability and elegance in concurrent programming are our goals. And since Stomp is simple enough, it's a good start point to learn Erlang/OTP programming.
Version 0.0.1 is the first preview release. The main purpose is to gather feedbacks from the community. So far it supports basic elements in Stomp protocol: CONNECT, DISCONNECT, SUBSCRIBE, UNSUBSCRIBE, SEND and RECEIPT. It passes acceptance tests built with both Java and Perl clients. That's why I consider it as "usable" and decide to announce it.
To give Stomperl a try (NOTE: EUnit later than 2.0 beta is required):
- Check it out with Subversion:
svn checkout http://stomperl.googlecode.com/svn/tags/0.0.1/ stomperl-0.0.1 - Kick off the broker:
make startup - Now you can connect to the broker at port 61613. However I suggest you run the test suite first:
make test
What's next? I suppose Stomperl will support full Stomp protocol in its 0.0.2 version, along with a better test coverage. We will do more acceptance test, compatibility test and performance test in the future. But first, any suggestion and feedback would be highly appreciated.
Stomperl: Stomp with Erlang
December 7th, 2007
Stomperl is an attempt to build something not-so-that-non-trivial (in this case, a Stomp server) with Erlang. To kick it off, I stole the server architecture from here and here. Currently it doesn't even support the full protocol: only CONNECT, SUBSCRIBE and SEND commands are supported. But anyway, it's moving forward and I'm learning from it.
To make it run:
make test, which hopefully succeeds.make start, then you'll get an Erlang console.- In the Erlang console,
tcp_server_sup:start_server(). - In another shell console,
make acceptance, which hopefully succeeds.
I created an extremely simple acceptance test with Gozirra.
What's the next? Well, I suppose I'll implement the full protocol, and fix some defects. As a newbie to Erlang, I made and am making stupid mistakes. Welcome to be stupid together with me.
不用说(或者随便怎么说)
May 19th, 2007
今天在敏捷西安做了关于RubyWorks的演讲。在准备讲稿的时候,随便乱看,就看到了孟岩以前的一个blog:动态语言,别再说不。
“国 外的大气候和国内的小气候都有共同特点,就是站在传统技术立场上的人对于RoR的火爆看不下去了,首先站出来发难,从而引发Ruby支持者们的回击,然后 双方厮杀在一起,连带旁边相干不相干的看热闹的、拉架的、含沙射影的、慷慨激昂的,瞬间就浩浩荡荡,横无际涯了。而争论来争论去,无非还是Ruby的性能 问题、可用性问题、前景问题,等等等等。”
孟岩的态度——如果我没理解错的话——是在劝解大家,不要随便怀疑新生事物,新生事物旺盛的生命力是能够克服一切困难的,要对新生事物抱有希望。而我(现在)的态度是,我不劝说谁。不是怀疑性能问题吗?我们做出唾手可得的高性能部署环境放在这儿。不是担心跟遗留系统不方便整合吗?我们把遗留数据库和消息系统的问题都解决掉。不是没有看到成熟案例吗?我们就来做成熟案例。
既然对它有信心,那就动手把所有的怀疑都打消掉。人们怀疑什么,我们就解决什么。
至于教育大众的事情么……我很相信,我们只要教育“小众”——多半是“大众”们的老板——就行了,“小众”会帮我们教育大众的。
所以孟岩希望大众“别再说不”,我的态度是,大众随便怎么说,我无所谓。
RubyWorks 0.0.1 Released
May 16th, 2007
RubyWorks production stack is a collection of open-source software required to host a RubyOnRails application on a RedHat Enterprise Linux 4 or CentOS 4 server.
Once you point your package manager (up2date or yum) to RubyWorks repository and install the package, you have all the necessary pieces preconfigured and ready to go. Moreover, there is a skeleton Rails application up and running on the server. It’s as close as we could get to one-click production deployment with Rails.
前一阵的冲锋有了成果。在即将开幕的RailsConf 2007上,所有人都将看到我们的RubyWorks。
正如我以前说过的,Ruby和Rails已经做好了准备走向企业。在众多怀疑的部署问题(性能、伸缩性、可靠性、可管理性……)上,一个经过实践检验的部署方案已经存在,事实证明它完全能够应付所谓“企业级”的要求——不论你如何定义“企业级”这个词,因为这个部署方案各方面的能力已经证明了它自己。
唯一的问题是,HAProxy、Monit、Mongrel的配置即令不是困难的,至少也不是易如反掌的。RubyWorks的出现正是为了解决这个问题。我们提供一个“高性能”“企业级”(如果你喜欢这些大词的话)Rails部署环境所需的所有软件,以及可以立刻投入使用的缺省配置,再加上一个示例应用。所有这些都以RPM的形式发布,用yum或者up2date就可以直接安装。如果你正在开发Rails应用并且你的部署环境是Redhat/Fedora/CentOS,那么恭喜你了,因为……
高性能的Rails部署应用服务器,现在只需一分钟就可以获得。
(不愿被代表的)我们在做开源
April 29th, 2007
轻量级AJAX框架Buffalo 2.0:性能提升30%
Buffalo在经历了两年之久的考验后,近日正式发布2.0版本。Buffalo是一个J2EE轻量级AJAX框架,也是国内著名的开源项目。它与DWR 和JSON-RPC一样,着眼于Web远程调用(Web Remoting),其简洁而实用的特性一直以来深受开发者喜爱。在国内,对JavaScript技术深入研究的人可谓凤毛麟角,Buffalo的作者陈金洲 (Michael Chen) 就是其中之一。
采访XRuby开发者
郑晔说:“XRuby本身起步时,考虑得更多的是乐趣,参与者都是因为乐趣加入其中的。所以,我想说,XRuby的一个很大的优点就是它还年轻,其中有很多可以做的有趣事情。短时间之内,我们不敢奢望有人可以把XRuby用于实际的项目。现阶段,我们只是希望赢得更多的关注,吸引更多的人加入到XRuby的开发中来,这样,可以尽快实现XRuby的目标。”
还有CruiseControl。
还有CruiseControl.rb。
还有Selenium。
我们不是什么“开源人士”,也不愿被谁代表。我们还在做开源。因为我们相信,千里之行积于跬步。
教育大众还不如看看电影
April 22nd, 2007
孟岩永远是那么忧国忧民,动不动就要把工作赚钱的事情上升到教育大众的高度。不过我真想问问孟岩,你到底要跟“大众”去沟通什么呢?猛禽把自己对开源的理解简明扼要地整理出来,孟岩你自己睁开眼睛去看看,开动脑筋去想想,你想沟通的“大众”,他们能看懂、想看懂这样的一个blog吗?你就别再骗自己了,这些“大众”连在苏宁电器买台电视机都不知道自己究竟接受了什么合同,你还跟他们说得上什么开源协议?
但是专业人士一直在和大众沟通,一直在教育大众。对自己的工作缺乏自信吗?我会建议你去看梅里尔·斯特里普《穿普拉达的女王》,好好倾听剧中米兰达的下列台词:
“你 身上这件松垮的蓝色绒线衫,不仅仅是蓝色。它不是宝蓝色,也不是湖蓝色,而是天蓝色。2002年,奥斯卡设计过一系列天蓝色的晚礼服,然后——我猜——是圣罗兰设计 出天蓝色的军式夹克衫,之后天蓝色就成了其他8位不同设计师的最爱,然后放入其名下的商店,最后慢慢渗入可悲的Casual Corner,才让你从她们的打折货中淘到。简而言之,那蓝色值几千万和数不尽的心血。滑稽的是,你以为是你选择了这个颜色,让自己远离时尚界,事实却是这屋 子里的人帮你从一堆衣服里选了这件绒线衫。”
所以这是给孟岩以及给我自己和所有ThoughtWorkers的忠告:如果你仍然认为自己是最优秀的专业人士,就不要再徒劳地去谋求与“大众”的对话。你应该做的是影响那些站在经济体系金字塔顶端的人,然后社会的自发力量——感谢资本主义——会在适当的时机以适当的方式将你的意见散布给所有的大众,让他们无知无觉、自觉自愿地接受你、跟随你。
当然,撒泼骂街、声嘶力竭地与大众对话,这样的角色自有其存在的价值。但,如果你能够做一个最优秀的专业人士,还请你珍惜资源,别放低自己的身段和该有的专业形象。



