<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>xruby</title>
    <description>欢迎加入我们的Ruby to Java compiler项目: http://code.google.com/p/xruby/</description>
    <link>http://xruby.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>最近的ruby的vulnerabilities</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/207293" style="color:red;">http://xruby.javaeye.com/blog/207293</a>&nbsp;
          发表时间: 2008年06月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          没有时间详细看具体的问题，但是有几个显然是比较严重buffer overflow。如果rails没做足够的参数检查的话，很有可能造成远程代码执行。<br /><br />有趣的是，目前最详细的介绍是来自‘著名’的zed shaw。其他地方都语焉不详。<br /><a href="http://www.zedshaw.com/rants/the_big_ruby_vulnerabilities.html" target="_blank">http://www.zedshaw.com/rants/the_big_ruby_vulnerabilities.html</a><br /><br />目前的一个问题是ruby的向后兼容做得很不好。比如很多人遇到了1.8.7会造成rals 2.1以下的版本不能运行。即使是这个official的ruby 1.8.6的新版本也造成了一些rail app不能运行。为此phusion做了个第三方的release:<br /><br /><a href="http://blog.phusion.nl/2008/06/23/ruby-186-p230187-broke-your-app-ruby-enterprise-edition-to-the-rescue/" target="_blank">http://blog.phusion.nl/2008/06/23/ruby-186-p230187-broke-your-app-ruby-enterprise-edition-to-the-rescue/</a>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/207293#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 24 Jun 2008 05:19:50 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/207293</link>
        <guid>http://xruby.javaeye.com/blog/207293</guid>
      </item>
      <item>
        <title>RailsConf 08 流水帐（第四天）</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/199718" style="color:red;">http://xruby.javaeye.com/blog/199718</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          第四天，先去听了CRUD Doesn't Have an 'S' in It: Managing Complex Searching in Rails.这个session和mod_rails的在同一个时间了，只好放弃了后者。我本来期待的是free text search的内容，比如solr,sphinx之类，结果完全不是。讲得是构造SQL的复杂的search.由于作者是介绍的自己的一个travel site的hand-on经验，所以倒也从中学到了些知识。<br /><br />下午听的Building an App in 48 Hours - A Rails Rumble Case Study。Rails Rumble是一个每年一次的coding contest,组建一个团队，在48小时之内用rails作出一个产品（可以提前plan,但不能有任何code）。2007的rails rumble有100多个团队参加，最终有10多个出来了能deploy的东西。奖品大概价值2万5前美元左右(ipone,整年的engineyard hosting plan及其他的各种各种各样的web service)。我也很想自己组织个类似的活动，或者类似startup weekend的形式（完全是陌生的人员组合），尽管很难在48小时作出很好的产品，但毕竟一部分作用是作为开发人员之间非常好的networking的机会<br /><br />下午最后的内容就是rail core team回答大家的问题。<br /><br />其他的相关的印象：<br /><br />1.Amazon的web service is huge。除了righescale这样产品外，很多人在谈论和做相关的open source工具。<br /><br />2.公告栏上非常多的找rails developer的广告（以小公司为主），反应都是很难找到的合适的人员。很多不在乎工作地点。所以如果是在国内的工作的rails devloper且英语不错的话，趁着美元还没于跌的太惨，找这类的工作应该是个不错的选择。<br /><br />3.engineyard的hosting好像用的人很多。
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/199718#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 14:11:21 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/199718</link>
        <guid>http://xruby.javaeye.com/blog/199718</guid>
      </item>
      <item>
        <title>RailsConf 08 流水帐（第三天）</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/199709" style="color:red;">http://xruby.javaeye.com/blog/199709</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          第三天早上就是Jeremy Kemper发布了rails 2.1，介绍了新的特征。<br /><br />然后去听了Using Git to Manage and Deploy Rails Apps，可惜内容深度不够，我用git尽管也只是两个月左右也不是很熟悉，但里面讲得东西也大概都知道了。<br /><br />后来去了‘Scaling Rails’这个session.这次railsconf比较有趣的地方是好像有四个正式的talk提到Scaling Rails这个主题，但其实每个人的说的scaling其实具体指的都不太一样。这个session本来是我喜欢的panel的形式，但也不够深入，说来说去也就是没silver bulletin这个意思。有点印象的就是现在网站一般都有些social network的功能，里面的成员关系的graph个其实是个难scale的问题。<br /><br />第三天下午先听了EventMachine这个session.开始我其实不知道说的是什么东西，只是由于演讲的作者来自getsatisfaction.com,与我目前想做的一个项目有些沾边才去的。后来发现其实是我非常熟悉的reactor pattern的做网络服务的框架。reactor是非常广泛应用的模式，ruby有类似的实现当然是很make sense的。<br /><br />后来听说同时举行的Heroku的talk很cool,尽管是marketing pitch.他们有个在browser里运行的irb，很多人觉得很cool,我倒是对这个没什么兴趣，觉得用不上。我觉得比较cool的地方是他们会monitor你的请求，比如你的网站如果没流量一段时间，他们就会自动把你的网站下线，zip存下来，等有个新的请求，马上redeploy.这样的pay as you go方式比amazon ec2还灵活。<br /><br />然后去了Ola Bini的jruby on rails,比较有印象的就是thoughtwork全球大概有1000人，美国这边的revenue40%来自rails项目.<br /><br />再后来就是听了Skynet，刚才看到robbin在ruby论坛里也介绍了。我最近用hadoop+nuthc比较多，接触了map/reduce几个月了，所以对Skynet也很有兴趣。不过相比hadoop而言，没有ditributed file system的这块。还有就是queue system有一种办法是竟然是用mysql,当然并不是这种办法不work,但是有点太hackish。不过确实是个很有趣的项目，现在也能做很多应用了。<br /><br />晚上的kent beck的keynote也是非常好。讲了他在pattern,developer driven,XP三个方面的自己的经历。非常推荐。
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/199709#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 13:40:41 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/199709</link>
        <guid>http://xruby.javaeye.com/blog/199709</guid>
      </item>
      <item>
        <title>RailsConf 08 流水帐（第一二天）</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/199690" style="color:red;">http://xruby.javaeye.com/blog/199690</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在Portland待了四天，昨天乘夜班飞机回家，现在精神好些了，稍微记录一下自己的感受。<br /><br />第一天有些tutorial,但是没去听，而是参加了Community Code Drive活动。Community Code Drive基本上是就是大家聚在一块Hacking个一些open source code,一些open source项目的牵头的人会在那里帮着一些对项目感兴趣的人。Chad Fowler一开始提议了几个项目，不过很快就是干什么都有了。<br /><br />第一天晚上jruby自己组织了个codefest,位置还蛮偏的，离会议中心很远。本来想利用这个机会了解一下jruby，结果去了才发现人来的太多了，本来只能容纳20来人的小房间来了快50个人，根本没法坐下来写code.正好我晚上又有些事情，只好打了招呼，吃了点东西就走了。<br /><br />第二天比较有兴趣的就是Profitable Programmer的这个Session.是panel的方式，一个人主导，还有另外几个用rails作产品的startup的人一起讲他们自己的story.里面有两个人是作github的，所以内容对我来说就更有趣了些。github其实是幸运赶上了新技术（git）,又遇到了high profile的rails项目转移到上面这个契机，而成功的一个很好例子。现在是'very profitable'(具体数字没讲，我想很多观众都和我一样想问：）)这个idea的起因就是他们自己架git server时觉得很繁琐，觉得做git hosting会有用。当时他们还想找另外的一个朋友参与，但那个人不喜欢git。rail在试用github和决定最动用github之间大概有几个月时间，之间他们也没有基本去push这件事。当然最终rail的决定对他们的成功起了极大的作用。<br /><br />第二天晚上的亮点，就是David Hansson的keynote.见到Chad时，忘了问一些这次会议到底有多少人参加，不过感觉像是上千人在大厅里吧。主题是rails developer应该怎么处理我们productivity的surplus，大体意思就是rails比其他的framework更高效完成任务的话，省下来时间怎么来用。基本上说的就是推荐多做些code无关的事情，把时间invest在自己身上。joke了google的80/20(20的时间还是一样作coding)，提了他们37 signals每天工作４天的办法。依据就是如果他们的developer可以比普通人高效１０倍，又用更productive的framework的话，减少20%的时间根本是irreverent的。尽管这个talk没有starup school08那个那么有料，但也是满有意思。比如他提到他在做basecampe的时候也只是每周只有１０个小时能花在上面，对于我满有鼓励作用的：）
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/199690#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 12:53:07 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/199690</link>
        <guid>http://xruby.javaeye.com/blog/199690</guid>
      </item>
      <item>
        <title>用Amazon EC2替代传统的dedicated server</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/189316" style="color:red;">http://xruby.javaeye.com/blog/189316</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Amazon的一系列web service服务推出后在开发者社区一直很受欢迎。不管是startup还是fortune 500,很多人在选用EC2服务来替代传统的dedicated server租用或架设自己的服务器。我也准备将自己的一个网站搭建在EC2上。<br /><br />流程大致就是选用一个machine image（AMI）,然后launch，几秒钟之后一个属于你自己的server可以用了。有很多的public machine images可以用，比如ec2onrails是一个搭配好ruby on rail环境的ubuntu系统。你也可以在其上做改动，然后存成你自己的image.AMI可以设为private自己用,甚至卖收费的image.<br /><br />EC2和传统的租用dedicated server比最大的好处就是在scale上。你开通了服务之后，可以根据需要随时launch和terminate instances.比如你的网站在被某个知名媒体报道之后，流量突然上升，这样你可以随时上线一些新的服务器或增加硬件性能。即使是成千上万个instances也没有问题。dedicated server则不可能做到这么灵活。<br /><br />EC2是以实际使用计费（http://aws.amazon.com/ec2），类似于水电费这种模式。如果是用Small Instance,一个小时$0.10，internet in traffic是$0.100 per GB，internet out traffic $0.170 per GB（first 10 TB）.如果机器空在哪里没有什么traffic的话，一个月是0.1×24×30=72美元。即使加上traffic,和很多dedicated server比都是合算的。<br /><br />今天我的Google App Engine的也申请下来了，还没有试用。不过觉得和Amazon的服务比还是限制太多了。
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/189316#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 14:05:00 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/189316</link>
        <guid>http://xruby.javaeye.com/blog/189316</guid>
      </item>
      <item>
        <title>简化gem安装</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/184400" style="color:red;">http://xruby.javaeye.com/blog/184400</a>&nbsp;
          发表时间: 2008年04月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Ruby on Rails项目往往用到大量第三方的gems,在项目有新成员加入，或配置新的开发系统时，一个个的安装是件很繁琐的事情。<br /><br />我用的办法就是写一个自己的gem,让它依赖于项目里用到的其他gems。这样的话，安装这个gem的时候，就会顺带把其他gems安装了。<br /><br />代码非常简单：<br /><br />>cat install-gems.gemspec<br />#<br />#Usage:<br />#gem build install-gems.gemspec<br />#gem install install-gems.0.0.1.gem	<br />#gem uninstall install-gems (optional, remove this useless gem)<br />#<br />spec = Gem::Specification.new do |s| <br />  s.name = "install-gems"<br />  s.version = "0.0.1"<br />  s.author = "yawl"<br />  s.email = "yawl@javaeye.com"<br />  s.homepage = "http://xruby.javaeye.com"<br />  s.platform = Gem::Platform::RUBY<br />  s.summary = "This gem has no content in itself, it helps to install all the gems we depend on"<br />  s.add_dependency('actionmailer', '>=2.0.2')<br />  s.add_dependency('actionpack', '>=2.0.2')<br />  s.add_dependency('activerecord', '>=2.0.2')<br />  s.add_dependency('activeresource', '>=2.0.2')<br />  s.add_dependency('activesupport', '>=2.0.2')<br />  s.add_dependency('acts_as_ferret', '>=0.4.3')<br />  s.add_dependency('capistrano', '>=2.1.0')<br />  s.add_dependency('mysql', '>=2.7')<br />  s.add_dependency('rails', '>=2.0.2')<br />  s.add_dependency('rake', '>=0.8.1')<br />  # add more here<br />end
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/184400#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 19 Apr 2008 13:44:23 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/184400</link>
        <guid>http://xruby.javaeye.com/blog/184400</guid>
      </item>
      <item>
        <title>初用git</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/182760" style="color:red;">http://xruby.javaeye.com/blog/182760</a>&nbsp;
          发表时间: 2008年04月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          两周前还在谈论git,结果很快就见到rails从svn转到了git上，上周自己的一个项目也用到了git.<br /><br />一开始，当然至少能像CVS/SVN那样使用起来，其实很相似：<br /><br />git clone [url]   -> 把项目下载到本地<br />git pull          -> update一下<br />git commit -a     -> 这个是把自己的change保存到本地（注意不是远程，这也是git分布性所在）。而且不要忘记 '-a', '-a'的意思是当前全部的commit, 当然也可以跟文件名commmit单独文件<br />git push           -> 这个是把你commit的change并入远程的server<br />git checkout [fname] -> 这个其实是revert你的修改。不加文件名参数则是显示哪些文件被修改了还没有commit.<br /><br />其他的命令大多不言自明，比如:git add, git rm, git mv, git diff等等。  <br /><br />git带来什么好处呢，其实对绝大多数项目来说SVN足够好了，我能想到就是：<br /><br />1. 有的时候用open source project会遇到不得不修改他们的代码的情况，而且这种修改可能无法提交到offcial版中，这样当offcial版变化的时候，就需要不断的merge,如果是用git, 这种管理就会容易很多(UPDATE git也可以clone svn的repository: http://pluskid.lifegoo.com/?p=295)。<br /><br />2. 在出差路上等地方有时候没网络，照样可以做git commit，等有了网络后再git push.这个有点像强化版的elicspe的local history功能。
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/182760#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 Apr 2008 05:28:18 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/182760</link>
        <guid>http://xruby.javaeye.com/blog/182760</guid>
      </item>
      <item>
        <title>Google Summer of Code 2008开始了</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/167130" style="color:red;">http://xruby.javaeye.com/blog/167130</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          update 03/20/2008: RubyCentral今年继续被选中作为Mentor Organization参与Google Summer of Code，学生的申请会很快开试。如果想做Ruby语言相关的项目请提交给RubyCentral。<br /><br />http://code.google.com/soc/2008/<br /><br />Google Summer of Code是为了鼓励在校学生参与open source project每年举办的活动。除了获得实际的指导与项目经验外，Google会为选中的学生付4500美元的来鼓励参与。<br /><br />学生的申请是面向几乎所有国家的，每年也都有中国的学生参与。但是相对来说知道和参与的人数还是较少。申请过程在GSOC主页有详细的描述。<br /><br />对有兴趣的参与的同学，我的建议主要就是尽早构思，申请和联系你感兴趣的项目，并和mentor经常交流。在去年的时候，我就见到很多mentor在很早就做了决定，以致后来的一些好的idea不得不舍弃。在Google summer of code正式开始之前就早早参与这个项目，让mentor及早了解你本人更是会增加被选中的机会。
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/167130#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Mar 2008 03:22:16 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/167130</link>
        <guid>http://xruby.javaeye.com/blog/167130</guid>
      </item>
      <item>
        <title>编译器的书</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/152980" style="color:red;">http://xruby.javaeye.com/blog/152980</a>&nbsp;
          发表时间: 2008年01月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有关编译器的书中"Dragon Book" (Compilers: Principles, Techniques, and Tools)是最经典,最有名的一本,但其实是对很多想学习编译器的人非常不适合的一本书.这本书的内容更适合的读者是编译器的研究人员,或者想构造parser generator等底层工具的开发者.我认识的大多数人往往是想了解编译器的工作原理,或者作一个中小型的编译器,Dragon book里的太细致的学术理论解释其实帮助并不大.结果很多把Dragon book当作自己编译器入门书的人,错以为编译器是什么dark art而放弃了.<br /><br />由于编译器已经理论技术都很成熟了,本身不是很active的研究领域.所以Dragon book的理论内容仍很完备,尤其是第二版加上garbage collection, JIT等内容之后.记得上学的时候,教授本来想挑选更新些的教材(当时没有第二版),最后还是沿用了Dragon book.<br /><br />Modern Compiler Implementation in Java则是另外一种类型的书,较生动的讲解加之更现代的例子,使书读起来有趣很多.当然如果想更快的上手的话,剑桥的一份课程笔记非常值得推荐:<br /><a href="http://www.cl.cam.ac.uk/teaching/2004/CompConstr/NEJ/report.pdf" target="_blank">http://www.cl.cam.ac.uk/teaching/2004/CompConstr/NEJ/report.pdf</a><br />里面用了ANTLR作为语法分析的例子,.NET作为代码生成的平台.<br /><br />还有关于parser generator的主题.yacc family基本上是最知名的,当然本身也是很流行,很有用的工具.LR类别的语法分析器也被众多研究证明是运行速度更高.但我们常用的编译器,如sun的java,visual studio的c++/C#等,却都是手写的recursive decent parser.这主要的原因就是维护性和报错.<br /><br />看一些yacc(bison)的代码输出可以发现,绝大部分输出的代码是无法阅读的巨大的integer table.同时,好的编译器在报错方面的要求很高,需要在各个地方插入的与报错相关的代码,这样的代码对于yacc类的工具则很不好结合起来.现在ANTLR,javacc这样的recursive decent parser geneator比较流行的原因,也是它们能自动化很多工作,同时比较容易插入手写的代码.<br /><br />Bjarne Stroustrup在The Design and Evolution of C++也提到了这个问题.他在设计c++的parser时选了yacc,但后来发现其实如果当时用手写一个recursive decent parser会更好.
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/152980#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 04 Jan 2008 01:12:10 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/152980</link>
        <guid>http://xruby.javaeye.com/blog/152980</guid>
      </item>
      <item>
        <title>新的各种ruby实现的性能比较</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/145739" style="color:red;">http://xruby.javaeye.com/blog/145739</a>&nbsp;
          发表时间: 2007年12月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Antonio Cangiano今天在blog上更新了各种ruby实现的性能比较:<br />http://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/<br /><br />ruby 1.8, ruby 1.9, jruby, rubinius, ruby.net还有我们做的xruby的性能数据都在里面了。Antonio说xruby是最youngest的其实不太准确。只能说是进展最缓慢的:) 。我是2005年初开始做这个项目，后来ruby.net在2006初开始做，rubinius不太清楚具体历史，但似乎也很新。代码一开始一直在我的本机的subversion上，2006年九月才上传到google code。其实如果早点做成open source project就好了，当时想的就是就是把东西做的像样一点再拿出去:)
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/145739#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Dec 2007 06:13:04 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/145739</link>
        <guid>http://xruby.javaeye.com/blog/145739</guid>
      </item>
      <item>
        <title>xruby 0.3.2发布了</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/144685" style="color:red;">http://xruby.javaeye.com/blog/144685</a>&nbsp;
          发表时间: 2007年11月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>基本和上一个版本（0.3.1）相比变化不大， 大多数都是bug fix. <a href="http://sishen.lifegoo.com">sishen</a>加入了我们的项目，给我们带来了很多重要的改进。</p>
<p>下个版本(0.4.0)的目标就是支持yaml和rubygems。这里和原来的计划不太一样了。最初准备0.4.0的miltstone是先将ruby自带的所有unit test先通过，但目前的形势下，觉得还是支持ruby on rails最重要。这样就要提前面对yaml和rubygems的问题了。</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/144685#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 29 Nov 2007 06:00:16 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/144685</link>
        <guid>http://xruby.javaeye.com/blog/144685</guid>
      </item>
      <item>
        <title>三周的假期结束了</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/144334" style="color:red;">http://xruby.javaeye.com/blog/144334</a>&nbsp;
          发表时间: 2007年11月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>用年假回国了一趟。由于时间太短，只在北京和兰州各待了几天。家里的网络网络一直也没有弄好，还是第一次这么久没有给xruby写代码。</p>
<p>由于xruby项目成员目前都不在这两个城市，所以很遗憾一个也没有见到。给dreamhead和beanworms打了个电话，聊了聊xruby以后的方向。xruby有很多创新的地方，我有时也想过，我们的经历完全可以写一本书，介绍state of art的compiler构造。但是由于时间和精力的问题，xruby还停留在一个研究性的项目。</p>
<p>xruby最大的弱点，还是在对标准库的支持上。我觉得最好的办法，就是采用非常p<font face="Arial">ragmatic的办法，集中精力将ruby on rails所需的库函数实现(换句话说，将ROR没有用到的库函数暂时跳过)，争取尽快的把一个简单的页面跑出来。当有了用户愿意尝试我们的软件之后，就可以吸引更多的的开发者，项目也才能步入正轨。</font></p>
<p>jruby也是走了这条路，去年早些时候，jruby将ruby on rails的简单页面跑出来以后，项目得到了非常大的改观。其实jruby也是一直问题多多，同时还要不断重写来控制 legacy cost(早期是个java port of ruby 1.6解释器).ruby on rails的支持是所有ruby&nbsp; implementation的milestone.</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/144334#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 Nov 2007 20:44:48 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/144334</link>
        <guid>http://xruby.javaeye.com/blog/144334</guid>
      </item>
      <item>
        <title>YAML也要没人维护了</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/138039" style="color:red;">http://xruby.javaeye.com/blog/138039</a>&nbsp;
          发表时间: 2007年11月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://sishen.lifegoo.com/">sishen</a>在xruby mailist提到<a href="http://groups.google.com/group/ruby-core-google/browse_thread/thread/2bfe92a86278b199">YAML项目很可能也要没人维护了</a>。YAML是ruby标准库的一部分，但目前以超过20月没有任何更新，现有的维护者表示没时间做任何维护了。</p>
<p>yaml的应用很广泛，rubygems和ruby o&nbsp;n rails都用到了。我觉得找到一个新的维护者应该不难。</p>
<p>xruby现在还不能支持YAML.由于现有的C ruby解释器性能比较低，YAML用C写了不少代码。这个hack手法为不使用C语言的第三方实现（如xruby）带来了比较麻烦的兼容性问题。</p>
<p>JRUby在去年已经解决了这个问题，<font face="Arial">Ola Bini写了<a href="https://jvyaml.dev.java.net/">JvYAML</a>，用java重新实现了YAML。JvYAML对我们来说很方便的地方是：它是一个可以单独使用的库，并不依赖于jruby。这样我们可以用加入wrapper class的办法把这个java库带到ruby中来。</font></p>
<p>不过我下周要回国三个星期，项目进度将肯定受到很大影响。目前require 'rubygems'的问题还没完全解决，目前卡在了<a href="http://code.google.com/p/xruby/issues/detail?id=50">issue50</a> 上。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/138039#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 05 Nov 2007 12:45:05 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/138039</link>
        <guid>http://xruby.javaeye.com/blog/138039</guid>
      </item>
      <item>
        <title>Strongtalk项目将无人维护了</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/137159" style="color:red;">http://xruby.javaeye.com/blog/137159</a>&nbsp;
          发表时间: 2007年11月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial"><font face="Arial"><font face="Arial"><font face="Arial">Strongtalk</font>项目的</font>Dave Griswold几天前发了消息：</font></font><font face="Arial"><a href="http://groups.google.com/group/strongtalk-general/browse_thread/thread/804c656d3dba6e79">http://groups.google.com/group/strongtalk-general/browse_thread/thread/804c656d3dba6e79</a>&nbsp;，由于自己的时间和兴趣变化，将不会继续维护Strongtalk了。尽管是个open source项目，但一般核心开发者一旦离去，项目基本上就停滞了。</font></p>
<p>Strongtalk是一个small talk的VM，<font face="Arial">1994就开始了</font>，但是由于很多人都被后来抽调去开发java了，项目一直没有得到特别好的发展。</p>
<p>Strongtalk在技术上是很有新意的，在编译动态语言方面至今仍是最先进的。我读过一段时间runtime <font face="Arial">type-feedback的那些老paper，基本思路是在运行时对程序进行跟踪，然后将收集的信息反馈给编译器，最终编译出更优化的代码。</font></p>
<p>&nbsp;我一直也希望xruby也能加入类似这样的功能，当然现在还没有精力做这个。&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/137159#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 01 Nov 2007 02:05:09 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/137159</link>
        <guid>http://xruby.javaeye.com/blog/137159</guid>
      </item>
      <item>
        <title>和日期相关的库</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/136505" style="color:red;">http://xruby.javaeye.com/blog/136505</a>&nbsp;
          发表时间: 2007年10月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">上周加入了三个和日期相关的库:</font></p>
<p><font face="Arial">time.rb</font></p>
<p><font face="Arial">parsedate.rb</font></p>
<p><font face="Arial">date/format.rb</font></p>
<p>同时也对Rubytime.java作了不少修改.个别函数和c ruby还有些不一致,但大致能用了.这三个库中有很多parse日期格式的函数,基本都是用Regexp做的.我一开始比较担心Jakarta-ORO的兼容性,但目前为止一个问题还没遇到.</p>
<p>下面想做的就是支持rubygems,也是为了ruby on rails铺路.rubygems本身是个很庞大的库,不可能一下子全部支持.我目前想要的只是想做到 require 'rubygems' 这句能够运行不出错就好了.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/136505#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 29 Oct 2007 22:52:49 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/136505</link>
        <guid>http://xruby.javaeye.com/blog/136505</guid>
      </item>
      <item>
        <title>xruby.googlecode.com</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/134741" style="color:red;">http://xruby.javaeye.com/blog/134741</a>&nbsp;
          发表时间: 2007年10月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>刚才发现google code最近做了不少改进，其中的就是一个可以用域名 <a href="http://xruby.googlecode.com">http://<font face="Arial">xruby.googlecode.com</font></a>&nbsp;访问项目了，比以前的<a href="http://code.google.com/p/xruby">http://code.google.com/p/xruby</a> 的URL好很多。</p>
<p>项目wiki只有项目成员才能写的限制仍未解除，但至少有了评论功能。</p>
<p>但是我一直希望的能删除/覆盖下载文件的功能的仍没有任何进展。这点上觉得google code的team有点<font face="Arial">irrogant。他们给出的理由是一旦上载了就应作为历史保存下来，不允许删除和覆盖是为了保证下载URL应一直有效。但有的时候发布的时候不小心会出错，这时是否删除还是覆盖应该有项目管理员自行决定，而不是google.</font></p>
<p>总体而言对google code还是很满意的，简单实用稳定。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/134741#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 23 Oct 2007 13:24:54 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/134741</link>
        <guid>http://xruby.javaeye.com/blog/134741</guid>
      </item>
      <item>
        <title>复杂的依赖关系</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/133410" style="color:red;">http://xruby.javaeye.com/blog/133410</a>&nbsp;
          发表时间: 2007年10月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>支持ruby on rails是xruby最重要的目标.我最近一直在想怎么能走捷径能做到把一个简单的页面render出来.尽管我们还有很多其他的标准库需要支持,给rails更多优先级的话可能让项目得到更好的反馈.</p>
<p>这样即使暂时抛开activerecord,至少需要activepack包中的active controller.而active support则是更基础的库(active support是rails对ruby标准库的扩展),几乎到处都用到了.</p>
<p>但是看active support的时候,很快就发现它又用到(require)了很多其他库,比如rubygems和yaml,这两个库都是相对大块头的.而且有些地方依赖关系处理得不是很好,比如net/*也由于rubygems都被require了,其实很多情况根本用不上.</p>
<p>看来真是没有什么捷径可走，由于我们对标准库的支持还有不少工作可做，还要在外围迂回一段时间才能进入rails了。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/133410#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 19 Oct 2007 13:48:31 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/133410</link>
        <guid>http://xruby.javaeye.com/blog/133410</guid>
      </item>
      <item>
        <title>rails application和web server</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/132714" style="color:red;">http://xruby.javaeye.com/blog/132714</a>&nbsp;
          发表时间: 2007年10月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>部署到apache/<font face="Arial">lighthttpd的rails application</font>用到了<font face="Arial">的web server的URL rewrite功能.在rails application的'public'目录下有一个配置文件.htaccess.</font><font face="Arial">其中有一句:</font></p>
<p><font face="Arial">RewriteRule ^(.*)$ dispatch.cgi [QSA,L]</font></p>
<p>就是当web服务器收到一个类似&quot;.../receipt/list&quot;这样的请求的时候,由于上面的<font face="Arial">RewriteRule</font>就把这个请求交给了rails(dispatch.cgi,也在'public'目录下),然后就是利用rails自己的route模块找相应的controller了.</p>
<p>对xruby而言,我们应该可以写一个简单的servlet,将请求从J2EE服务器传递给rails.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/132714#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 17 Oct 2007 01:31:05 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/132714</link>
        <guid>http://xruby.javaeye.com/blog/132714</guid>
      </item>
      <item>
        <title>singleton.rb</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/132142" style="color:red;">http://xruby.javaeye.com/blog/132142</a>&nbsp;
          发表时间: 2007年10月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>上一周的时间,基本上都在争取让xruby能支持singleton.rb.</p>
<p>singleton.rb属于ruby标准库,被rails的active-support用到了.由于它对其他库的依赖很小,所以非常适合我们作测试,发现问题的话,很容易就能剥离出一些test cases.</p>
<p>这个小文件由于用到了很多ruby的动态的特性(extend(), defind_method() , included() etc),帮助我找到了好几个在runtime实现的时候的一些小问题,从constant到method查找都有.</p>
<p>昨晚singleton.rb终于在xruby下能够运行了,接下来就是进一步去支持active-support了.active-support是rails对ruby标准库的扩展,对它的调用基本上在rails的其他组件中无所不在.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/132142#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 16 Oct 2007 00:01:56 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/132142</link>
        <guid>http://xruby.javaeye.com/blog/132142</guid>
      </item>
      <item>
        <title>用Jakarta-ORO重写了Regexp</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/130344" style="color:red;">http://xruby.javaeye.com/blog/130344</a>&nbsp;
          发表时间: 2007年10月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>这个javaeye上的blog本来是利用rss导入做的在国内的镜像,因为xruby.blogspot.com经常被封锁掉.现在feedburner也被禁掉之后,同步也没法用了.我觉得与其荒废这个blog,还不如多写些东西,记录一下自己做的东西.</p>
<p>上周在xruby上做的主要的东西就是用<font face="Arial">Jakarta-ORO重写了Regexp的实现.原来Regexp的实现都是用的java标准库的<font face="Arial">java.util.regex. 尽管<font face="Arial">java.util.regex说是用的</font>'<font face="Arial">&nbsp;a syntax similiar to that used by Perl.</font>',但是实际上有很多不兼容的的地方.最近在试图运行一些rails相关的东西时发现了不少一些需要的正规表达式在<font face="Arial">java.util.regex中</font>无法通过.</font></font></p>
<p>c ruby的正规表达式库是从一个老版本的perl中来的,java也有几个库可以比<font face="Arial">java.util.regex更好的支持perl regexp. <font face="Arial">Jakarta-ORO是一个, <font face="Arial">JRegex也是.目前选了<font face="Arial">Jakarta-ORO主要是我们已经把这个库包含进来了(为了利用其glob的实现),而且现在还没看出两者有什么显著区别.</font></font></font></font></p>
<p>一般来说这种时候最好写个自己的wrapper来统一一下<font face="Arial">java.util.regex和<font face="Arial">Jakarta-ORO的接口,这样可以带来些好处比较可以方便的替换Regexp的实现(比如选择用<font face="Arial">java.util.regex或<font face="Arial">Jakarta-ORO).但是对这次的情况我觉得实在没理由回到<font face="Arial">java.util.regex了,也就没必要为此增加复杂度了.所以就直接用了<font face="Arial">Jakarta-ORO,而不是先封装出自己的API.</font></font></font></font></font></font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/130344#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 10 Oct 2007 00:36:46 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/130344</link>
        <guid>http://xruby.javaeye.com/blog/130344</guid>
      </item>
      <item>
        <title>xruby 0.3.0 released</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/110336" style="color:red;">http://xruby.javaeye.com/blog/110336</a>&nbsp;
          发表时间: 2007年08月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          I am pleased to announce that XRuby 0.3.0 is released:<br /><a href="http://code.google.com/p/xruby/downloads/list">http://code.google.com/p/xruby/downloads/list</a><br /><br />We have fixed lots of bugs and made significant improvement in the code.<br /><br />Changes from 0.2.1 to 0.3.0:<br />1. Use annotation and code generation to bind Java level method to Ruby level method (I will talk more about this later).<br /><br />2. More unit tests passed. We have not eliminated all test failures in test/ruby. But as most of the failures are caused by the implementation of builtin libraries, we will be able to fixed them soon in 0.4.0.<br /><br />Changes from 0.2.0 to 0.2.1:<br />1) Dreamhead optimized method/block calls for methods with zero/one<br />arguments. It makes our performance even better.<br /><br />2) ZhangYu improved Java integration significantly, he also created a wiki page with lots of good examples:<br /><a href="http://code.google.com/p/xruby/wiki/JavaIntegration">http://code.google.com/p/xruby/wiki/JavaIntegration </a><br /><br />3) Mechiland and I made more ruby unit tests pass.<br /><br />The most significant change of 0.3.0 is the using of annotation and code generation to bind Java level method to ruby level method. The idea was inspired by the discussions about Java 5 on <a href="http://archive.jruby.codehaus.org/dev">jruby's maillist</a>, and dreamhead turned it into reality quickly.<br /><br />As we know, a Ruby method does a little bit more than a Java method. So if we have a method like this in Java:<br /><pre>public class RubyString {<br />   public RubyFloat to_f() {<br />       ...<br />   }<br />}<br /></pre>To turn it (RubyString.to_f) into a Ruby level method, we have to add a few more code to 'wrap' into a class (extends RubyMethod) and 'register' it (defineMethod), e.g:<br /><pre>public class String_to_f extends RubyNoArgMethod {<br />   protected RubyValue run(RubyValue receiver, RubyBlock block) {<br />       return ((RubyString)receiver).to_f();<br />   }<br />}<br />...<br />RubyRuntime.StringClass.defineMethod("to_f", new String_to_f());<br /></pre>For every method, we need to write similar code and it is not fun to repeat yourself. In 0.3.0, we no longer have to do this anymore. As as long as you add annotation like this:<br /><pre>@RubyLevelClass(name="String")<br />public class RubyString {<br />   @RubyLevelMethod(name="to_f")<br />   public RubyFloat to_f() {<br />       ...<br />   }<br />}<br /></pre>XRuby will turn it into a Ruby level method automatically (using ASM to generate Java bytecode).<br /><br />I have not used Java 5's annotation feature before, but this looks like an very elegant solution.<br /><br />Thank everyone who has contributed to this release.
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/110336#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 08 Aug 2007 05:02:26 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/110336</link>
        <guid>http://xruby.javaeye.com/blog/110336</guid>
      </item>
      <item>
        <title>ruby -y</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/89584" style="color:red;">http://xruby.javaeye.com/blog/89584</a>&nbsp;
          发表时间: 2007年06月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          For people who are interested in how ruby's yacc parser works, there is an undocumented command line option("-y") that may be helpful. It will display a trace of the parser's operations. <br /><br />To use it, you need to clear your RUBYOPT environment variable to NOT use "rubygems" (this will break some ruby applications), otherwise it will make too much noise.<br /><br />Here is an example:<br /><br /><pre><br />$ruby -y -e "a=1"<br />Starting parse<br />Entering state 0<br />Reducing stack by rule 1 (line 328), -&gt; @1<br />Stack now 0<br />Entering state 2<br />Reading a token: Next token is token tIDENTIFIER ()<br />Shifting token tIDENTIFIER, Entering state 34<br />Reading a token: Next token is token '=' ()<br />Reducing stack by rule 418 (line 2146), tIDENTIFIER -&gt; variable<br />Stack now 0 2<br />Entering state 90<br />Next token is token '=' ()<br />Reducing stack by rule 83 (line 827), variable -&gt; lhs<br />Stack now 0 2<br />Entering state 73<br />Next token is token '=' ()<br />Shifting token '=', Entering state 315<br />Reading a token: Next token is token tINTEGER ()<br />Shifting token tINTEGER, Entering state 40<br />Reducing stack by rule 414 (line 2134), tINTEGER -&gt; numeric<br />Stack now 0 2 73 315<br />Entering state 89<br />Reducing stack by rule 376 (line 1899), numeric -&gt; literal<br />Stack now 0 2 73 315<br />Entering state 79<br />Reducing stack by rule 267 (line 1421), literal -&gt; primary<br />Stack now 0 2 73 315<br />Entering state 75<br />Reading a token: Next token is token '\n' ()<br />Reducing stack by rule 217 (line 1199), primary -&gt; arg<br />Stack now 0 2 73 315<br />Entering state 488<br />Next token is token '\n' ()<br />Reducing stack by rule 173 (line 953), lhs '=' arg -&gt; arg<br />Stack now 0 2<br />Entering state 74<br />Next token is token '\n' ()<br />Reducing stack by rule 40 (line 616), arg -&gt; expr<br />Stack now 0 2<br />Entering state 64<br />Next token is token '\n' ()<br />Reducing stack by rule 34 (line 596), expr -&gt; stmt<br />Stack now 0 2<br />Entering state 63<br />Next token is token '\n' ()<br />Reducing stack by rule 6 (line 381), stmt -&gt; stmts<br />Stack now 0 2<br />Entering state 62<br />Next token is token '\n' ()<br />Shifting token '\n', Entering state 216<br />Reducing stack by rule 496 (line 2429), '\n' -&gt; term<br />Stack now 0 2 62<br />Entering state 220<br />Reducing stack by rule 497 (line 2432), term -&gt; terms<br />Stack now 0 2 62<br />Entering state 300<br />Reading a token: Now at end of input.<br />Reducing stack by rule 489 (line 2416), terms -&gt; opt_terms<br />Stack now 0 2 62<br />Entering state 299<br />Reducing stack by rule 4 (line 373), stmts opt_terms -&gt; compstmt<br />Stack now 0 2<br />Entering state 61<br />Reducing stack by rule 2 (line 328), @1 compstmt -&gt; program<br />Stack now 0<br />Entering state 1<br />Now at end of input.<br /></pre><br /><br />XRuby's ANTLR parser does not have this option. But as ANRLE produces human readable code, you can just read the generated code or step through it in a debugger to learn how it works.
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/89584#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Jun 2007 15:14:40 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/89584</link>
        <guid>http://xruby.javaeye.com/blog/89584</guid>
      </item>
      <item>
        <title>XRuby 0.2.0 released</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/80222" style="color:red;">http://xruby.javaeye.com/blog/80222</a>&nbsp;
          发表时间: 2007年05月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          I am glad to announce that XRuby 0.2.0 is now available for download at: <br /><a href="http://code.google.com/p/xruby/downloads/list">http://code.google.com/p/xruby/downloads/list</a><br /><br />Here is a summary of major changes in this release:<br /><br />1. Beanworms started to work on the debugging support and we now have a basic debugger in trunk.<br />2. Zhang Yu and Haofei Wang added/fixed lots of builtin methods<br />3. Dreamhead rewrote RubySymbol as the old one was plain wrong<br />4. As test::unit works on XRuby, we imported unit tests from c ruby (test\ruby) to test our implementation. The result was not very impressive so far, less than half of the tests passed. We are planning to make all tests pass in the coming weeks.<br />5. Meanwhile, Femto is leading our efforts to create an ANTLR v3 based ruby parser in another branch. Upgrading our parser from ANTLR v2 to v3 is indeed challenging, but he has make very impressive progress.<br /><br />Thank you everybody who contributed to this release!
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/80222#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 May 2007 15:15:50 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/80222</link>
        <guid>http://xruby.javaeye.com/blog/80222</guid>
      </item>
      <item>
        <title>InfoQ article on XRuby</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/72028" style="color:red;">http://xruby.javaeye.com/blog/72028</a>&nbsp;
          发表时间: 2007年04月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Werner Schuster from InfoQ has a very nice article about XRuby, you can <a href="http://www.infoq.com/news/2007/04/xruby-another-ruby-on-jvm">read it here</a>.
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/72028#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 17 Apr 2007 11:16:11 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/72028</link>
        <guid>http://xruby.javaeye.com/blog/72028</guid>
      </item>
      <item>
        <title>XRuby 0.1.4 released</title>
        <author>yawl</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xruby.javaeye.com">yawl</a>&nbsp;
          链接：<a href="http://xruby.javaeye.com/blog/69935" style="color:red;">http://xruby.javaeye.com/blog/69935</a>&nbsp;
          发表时间: 2007年04月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          I am glad to announce that XRuby 0.1.4 is now available for download at: <a href="http://code.google.com/p/xruby/downloads/list">http://code.google.com/p/xruby/downloads/list</a><br /><br />The most significant change in this release is: one of our team member, dreamhead, single-handly created a new runtime (the core of the system that manages ruby types, methods...) to make it very close to the classic C ruby, and therefore fixed several compatibility issues with C ruby. As a translator of the Chinese version Ruby Hacking Guide, dreamhead has very good knowledge of the ruby internal and gives a great lift on the XRuby's development.<br /><br />As we have learned rewriting is very difficult, we learned it again in a hard way. Dreamhead wrote most of code last year, several months before 0.1.0 release. First we tried to make a wholesale replacement of the runtime, but problems were here and there and lots of unit tests broke. Since we do not want to have a broken system in the SVN trunk, we decided to take 'refactoring' approach and merge changes step by step. It is still very hard, but dreamhead made lots of efforts and finished the merge yesterday.<br /><br />Actually it may take less time if we insist on following the 'rewrite' approach (replace all the old code and fix broken tests), but the benefit of 'refactoring' is significant: it gives us a stable code base so that we made several releases during this big change.<br /><br />There are more exciting news behind the scene now: Beanworms is working on the debugger support, and Femto and Yuesefa have showed interest to migirate our ruby parser to ANTLR 3.0.<br /><br />Thank you for people who helps us on making this release. It has been a great learning experience working with the project.
          <br/>
          <span style="color:red;">
            <a href="http://xruby.javaeye.com/blog/69935#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 10 Apr 2007 16:17:01 +0800</pubDate>
        <link>http://xruby.javaeye.com/blog/69935</link>
        <guid>http://xruby.javaeye.com/blog/69935</guid>
      </item>
  </channel>
</rss>