Build ruby-1.8.6 on solaris nevada with SunStudio 11

My colleague, and the co-translator of "Programming Ruby 2nd" Chinese version, Yandong Yao, posted a blog entry about building ruby-1.8.6 on solaris express. It's really nice, and I'd like to add two more hints basing on his post:

1. build and install GNU readline-5.2

$ ./configure --prefix=/usr; make
# make install

2. apply the following patch to ruby-1.8.6/configure.in


diff -urp ruby-1.8.6.orig/configure.in ruby-1.8.6/configure.in

--- ruby-1.8.6.orig/configure.in        2007-02-28 21:23:42.000000000 +0800
+++ ruby-1.8.6/configure.in     2007-05-28 10:19:59.825226000 +0800
@@ -455,7 +455,7 @@ bow)                ac_cv_func_setitimer=no
                ;;
 superux*)     ac_cv_func_setitimer=no
               ;;
-solaris*2.10)  if test -z "$GCC"; then
+solaris*2.1*)  if test -z "$GCC"; then
                       ac_cv_func_isinf=yes
               fi
                LIBS="-lm $LIBS"

Then build and install:

$ autoconf
$ ./configure --prefix=/usr --enable-pthread --enable-install-doc \
              --enable-shared; make
# make install

在CSDN上做的一期关于Ruby的视频访谈,高手勿入!

作为《Programming Ruby 第二版》中文版的推广活动之一,参加了CSDN的一期视频访谈。我本非精深于Ruby的专家,对Ruby及动态语言亦无高论,无奈受出版社所托,只好硬着头皮参加了,这下子肯定是要贻笑大方了。整个谈话过程基本没有演练和彩排,而且是第一次在摄像机前讲话,还是挺紧张的。再有,很高兴结识了两位新朋友,都是Rails方面的高手。

《Programming Ruby 第二版 - 中文版》勘误

非常感谢广大读者朋友的指正,特别要感谢dreamhead!为了系统地管理本书的勘误表,将目前收集到的、和我自己发现的错误(未加感谢的部分,而应向各位读者致歉的各项错误),列在下面。

第xxii页,目录,附录
- 附录A Socket库 ... 653
+ 附录A Socket库 ... 763
感谢: kurt14204

第7页,第1章,1.2.2节
你也可以用Unix的 "shebang" 符号作为程序文件的第一行。
译注:"shebang" 取自 "#!" 的读音,"sharp-bang",作为脚本文件的第一行,用于指示执行该脚本的解释器。

第8页,第1章,1.3节
- 输入ir-c可以找到ri文档中的所有类的列表
+ 输入ri -c可以找到ri文档中的所有类的列表
感谢: anthrax

第15页,第2章,中间段落
- 如果表达式只是一个全局实例或类变量,则不需要提供花括号。
+ 如果表达式只是一个全局、实例或类变量,则不需要提供花括号。
感谢: anthrax

- puts "#$greeting,#$name"
+ puts "#$greeting,#@name"
感谢: hcc4hcc

第37页,第3章,倒数第4行
- "protected" 和 "private" 之前的区别很微妙
+ "protected" 和 "private" 之间的区别很微妙
感谢: kgo_yoi

第47页,第4章,第3行
- 更重要的是hash不支持多个键对应一个相同的值。
+ 更重要的是hash不支持重复的键(key)。
原文为: hash does not support multiple entries where the keys have the same value.
感谢: aqieee

第67页,第5章,5.3节,倒数第15行

#'
 * @volume
'#' * @volume
感谢:anthrax

第83页,第6章,正文第二段
- 如果你在一个正规参数前加上星号,那么传入这个方法调用的多个参数将会被装入一个数组。
+ 如果你在一个形参前加上星号,那么传入这个方法调用的多个参数将会被装入一个数组。
感谢:zgleo

脚注5
- Conrad Schneiker提醒我们世界上有类人:会数数和不会数数的。
+ Conrad Schneiker提醒我们世界上有类人:会数数和不会数数的。
估计文字编辑不够幽默 :)

第99页,第7章,正文最后一段
- 放弃了多态的好处,并把重构的福音带到你的耳侧。
+ 居然舍弃多态的种种好处而不用,就让重构的“福音”降至到你的耳旁吧。
感谢:anthrax 

第111页,第8章,代码第4行
- Errno::EWOULDBLOCK::Errno  --〉 5
+ Errno::EWOULDBLOCK::Errno  --〉 35
感谢:anthrax

第133页,第10章,10.4节标题
- 谈谈网络
+ 访问网络
原文为: Talking to Networks

第163页,第13章,13.1节
- Ruby -r debug [调试选项] [程序文件] [程序参数]
+ ruby -r debug [调试选项] [程序文件] [程序参数]
word的自动将首字母大写的功能,真是很恼人!
感谢: dreamhead

第179页,第14章,14.1.1节
- kcode可能是日语的一个编码:
+ kcode可能是日语的某种编码:

第233页,第17章,17.4节
- 妈妈现在很快乐,是去尝试一下她最近张贴菜谱的时候了。
+ 妈妈现在很快乐,是时候去尝试一下她最近张帖的菜谱了。

第229页,第17章,17.4.8节
- 最后但肯定不是至少
+ 最后但同样重要的是,
原文为: Last but certainly not least
感谢: dreamhead

第330页,第22章,22.4.1节
- 常量可以在方法体外定义
+ 常量不可以定义在方法内
原文为: Constants may not be defined in methods.
感谢: dreamhead

第346页,第22章,22.6节
- Methodname还可以以问号(?)……
+ methodname还可以以问号(?)……
这里methodname指的是上面的提到的符号,所以,应该小写。

-方法定义可能不包含类或模块定义。
+方法定义不可以包含类或模块定义。
原文为: Method definitions may not contain class or module definitions.
感谢: dreamhead

第413页,第26章,26.5.2节
- 我们有主程序mail.rb
+ 我们有主程序main.rb
感谢: dreamhead

第416页,第26章,26.6.2节,脚注2
- YAML代表“YAML不是标记语言”��但这并不重要。
+ YAML代表“YAML Ain't Markup Language",但这并不重要。
译注:类似GNU(GNU's Not Unix),YAML也是一个递归定义。

第418页,第26章,26.7节,
- 同时,如果你喜欢Sun的JavaSpaces样子(JINI架构的基础),你可能有兴趣了解drb是以一个短小的模块来发行的,它完成类似的事情。
+ 同时,如果你喜欢Sun的JavaSpaces的模样(JINI架构的基础),你可能会有兴趣知道,drb的发布中还附有一个短小的模块,也完成类似的事情。

第423页,第27章,each的说明
- Strin#each的参数具有默认值
+ String#each的参数具有默认值
感谢: dreamhead

注:本blog页将持续保持更新,新的勘误将直接添加,而不再创建新的blog页。

《Programming Ruby 第二版》中文版终于面市了!

和广大的读者一样,我也在翘首期盼这本译作的面市,从出版社方面得到的消息,这本书将肯定在本周面市,于是我每天都要到china-pub和dearbook上看看,是否已经从期书或预定变为可出售的状态。今天下午终于在china-pub看到,这本书已经可以购买了。终于松了一口气,呼呼。

每次都是收到出版社的样书,一两天后才会面市,不过这次我们还没收到样书呢。可见,出版社也是很急迫了,不过已经被读者骂惨了 :(

Programming Ruby 第二版中文版样章上线

http://book.csdn.net/bookfiles/271/index.html


由于预告的太早,网上已经骂声一片了。出版社原本是打算从网上公开招募译者的,但是未能如愿。我们几个译者是6月份开始着手翻译的,准备10月初交稿,但我当时已经知道是不可能在9月份出版的。6月份的世界杯,的确影响了当时的进度。每译好一章,就由译者先草校一遍;每完成一部分,就提交给出版社以并行进行校订。10月中旬全部完成译稿。12月底和技术编辑方舟完成全书的二校。同步地在1月初完成全书的排版和文字校订,1月底并出胶片送审。这本书翻译的进度稍有超出,但也就在一两周之内。通常,一本400页左右的书,如果是一位译者翻译,从翻译校订到出版的周期是7个月左右。据我所知,另一家出版社的《Ruby For Rails》和我们基本上同期(06年6月下旬)开始翻译,并同期完成初稿(06年9月底),现在还没看到预告呢。这并非是要贬损对方,只是想说明要译好一本书,是件十分艰苦的工作。

这里附上本书的译者序: 

关于Ruby语言及相关技术,非常感谢孟岩兄和熊节兄在前面所做的精辟入里的分析与推荐,这里就不再赘述了。相信您读了之后,一定是已经怦然心动而跃跃欲试了。

借此机会,我们还要感谢许多人。

首先要感谢博文视点公司引进此书,并将如此重要的一部书交托给我们来翻译,希望能幸不辱命。也要感谢本书的两位编辑方舟和陈元玉,没有二位认真、辛苦的工作,本书不可能有现在的翻译质量。我们也从他们的技术和文字校订中学到了很多。

另外译者也要相互感谢一下。在本书翻译的四个月期间,姚延栋刚做了父亲,张海峰也是家有幼子,并开始了新的职业征途,但两位都竭力保证了翻译的进度和质量。孙勇则不辞辛苦地对全书进行了统稿。当然,一定要感谢家人对我们的宽容和理解。

由于译者对Ruby语言也是新学,水平有限,难免在译稿中存有这样那样的错误。如果您有技术或文字方面的问题,欢迎致信progruby.cn@gmail.com,我们会尽力帮您解答。