<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>siuying</title>
    <description></description>
    <link>http://siuying.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>用 JRuby 整合 Ruby 和 Java (2) - DRb 和 RMI</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163081" style="color:red;">http://siuying.javaeye.com/blog/163081</a>&nbsp;
          发表时间: 2008年02月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          DRb (Distributed Ruby) 是 Ruby 的 RPC。使用 DRb 我們可以經 TCP/IP 去使用遠端的物件。DRb 的運作方式跟傳統的 RPC 差不多，只是定義 Stub 和 Skeleton 都交給 Ruby 負責，遠端的客戶甚至不需任何有關類的定義，一切都動態地由 Ruby 完成了。

          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163081#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Feb 2008 14:27:50 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163081</link>
        <guid>http://siuying.javaeye.com/blog/163081</guid>
      </item>
      <item>
        <title>網摘 20080216</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163082" style="color:red;">http://siuying.javaeye.com/blog/163082</a>&nbsp;
          发表时间: 2008年02月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Game

Arcana Spirit trailer - Valhalla 首個作品的 trailer。角設和畫風也很吸引，trailer 可以看到實際遊戲的畫面。遊戲不是很激烈的感覺，也未看出不同角色的個性，希望隨開發進展會放出更多資料吧。

Development

GlassFish gem for JRuby - 安裝後用一個指令即可用 GlassFish 啟動 JRuby on Rails  程式
Is Groovy like Java? - 如果人們因為 Groovy 像 Java 而用它，結果只是用同樣的源碼寫出同樣的程式，但效能差十倍。

Hong Kong

談香港「淫褻」與「不雅」的標準──以及其他種種 -  "也因為過往的審裁尺度是如此清楚，當本座聽見助理警務處長指出有審裁員對照片是否淫褻物品表達不同意見時，實在感到相當震驚。"
Comic World HK 25 的驚喜發現  - 香港的模型界真是臥虎藏龍！
周本講鏟片：《黑獄斷腸歌2無期徒刑》 - "他的經驗，雖然跟劇情無關，就令人聯想起一部電影，就是今天介紹的《黑獄斷腸歌2無期徒刑》。"
資本主義環保 II - 可以保持 laissez-faire policy 又環保當然好，但有因為環保價格不等於市場價格，環保需要人為干預。
沒有正義一方的戰爭 - 一開始時，我還覺得只是一場「八卦」而已。但隨著事情進展，演變成一場「共同作孽」。



          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163082#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Feb 2008 10:58:20 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163082</link>
        <guid>http://siuying.javaeye.com/blog/163082</guid>
      </item>
      <item>
        <title>玄學大師預測陳生下半年的運勢轉好</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163083" style="color:red;">http://siuying.javaeye.com/blog/163083</a>&nbsp;
          发表时间: 2008年02月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          點解香港電視台呢排咁多風水佬？以前就話一年一度由佢，而家娛樂新聞又佢，財經新聞又佢，專講廢話都仍然有節目搵佢，究竟係咪佢唔收錢 9up？




隨口就知你陳某是甚麼運，看來大師比諾斯特拉達姆士更勁呀！

          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163083#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Feb 2008 14:01:16 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163083</link>
        <guid>http://siuying.javaeye.com/blog/163083</guid>
      </item>
      <item>
        <title>網摘 20080213</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163084" style="color:red;">http://siuying.javaeye.com/blog/163084</a>&nbsp;
          发表时间: 2008年02月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Development

InfoQ: Jolt大獎提名圖書《Release It!》的作者精彩對話 - 首先我舉一個零售商的例子，這個公司曾經在幾年前建立了一個全新的.com平台。為了滿足預定的訪問量指標，我們在發佈前對此項目做了三個月的負載測試和性能調優。但是，最終它還是在首次啟動後十五分鐘就宕了機。
 似曾相識的故事
SlickSpeed Selectors Test - speed/validity selectors test for frameworks. (prototype, jquery, ext)
Better Reporting with Sparklines - 制作小型緊密的線圖，適合作顯示趨勢的圖表放到 Dashboard 中
Review Board  - Online Code Review Tool - 如果公司會做 code review 的話會是不錯的工具

Grid / Distributed Computing 

Skynet，全新的Ruby MapReduce實現 - Skynet是可適配、可容錯的、可自我更新的，而且完全是分佈式的系統，不存在單一的失敗節點。 Ruby 的 MapReduce 實現 (Google 發明的分散運算算法)，有個非常 cool 的 ActiveRecord distributed_find 方法
Amazon Elastic [...]
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163084#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 13 Feb 2008 15:17:44 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163084</link>
        <guid>http://siuying.javaeye.com/blog/163084</guid>
      </item>
      <item>
        <title>用 JRuby 整合 Ruby 和 Java</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163085" style="color:red;">http://siuying.javaeye.com/blog/163085</a>&nbsp;
          发表时间: 2008年02月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          JRuby 是一個純 Java 下的 Ruby 實現。在 JVM 下執行的 Ruby 的移植性更好，而且可以讓 Ruby 直接使用 Java 的庫。今次我會介紹如何安裝和設定 JRuby ，並用它去呼叫現有的 Java RMI 。

          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163085#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 12 Feb 2008 17:02:31 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163085</link>
        <guid>http://siuying.javaeye.com/blog/163085</guid>
      </item>
      <item>
        <title>Appjet - delight: del.icio.us for mobile</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163086" style="color:red;">http://siuying.javaeye.com/blog/163086</a>&nbsp;
          发表时间: 2008年02月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          現在用手機上網己經很方便，可是慣用了 del.icio.us ，自然會覺得手機的 bookmark 太陽春。用手機去 del.icio.us 嗎？每次也要下載全部 tags 又太慢。

剛剛在 Appjet 寫了個小軟件，可以用 user name 和 tags 去 search ，每次只返回一頁的結果，較適合手機用吧？有興趣的朋友請到 http://delight.appjet.net/  看看。

          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163086#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 04 Feb 2008 14:37:28 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163086</link>
        <guid>http://siuying.javaeye.com/blog/163086</guid>
      </item>
      <item>
        <title>警方應立即拘捕報假案的藝人及經理人公司</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/163087" style="color:red;">http://siuying.javaeye.com/blog/163087</a>&nbsp;
          发表时间: 2008年02月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨日「一哥」的膠論後，警方再動出擊，似乎己拘捕接近發報照片的源頭&#8230; 奇拿被捕了？！

警方再拘捕四男兩女，並在檢獲的電腦硬碟內，發現近千張裸照，大部分與案有關，包括盛傳預告發布、卻從未流出的疑似女星照片。警方稱，被捕者中有三名男子從事電腦行業，且已極之接近源頭人物。消息透露，陳冠希的電腦曾因故障，交電腦公司修理，不排除相片就此被人暗中抄錄。

來源：陳冠希疑中環修電腦泄密
若這千百張照片屬實，理應拘捕有關藝人及經理人公司，因為他們浪費警力、報假案和妨礙司法公正。若這些照片是假，那惡作劇改圖未曾發佈又有何罪？
警方不應再厚此薄彼，香港可以有鹹相但不可以無公義。
延申閱讀


香港網民的怒吼
有人敢企出來報警嗎？


          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/163087#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Feb 2008 04:20:11 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/163087</link>
        <guid>http://siuying.javaeye.com/blog/163087</guid>
      </item>
      <item>
        <title>Kaomoji (顔文字, emoticon) plugins for Rails</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/115971" style="color:red;">http://siuying.javaeye.com/blog/115971</a>&nbsp;
          发表时间: 2007年08月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Nothing big, just a little toy for my next site. </p>
<p>When user type something like  <strong>[いい]</strong>, it will translated to 2ch style kaomoji  <strong>(・∀・)ｲｲ!!</strong>. Please find more details in <a href="http://code.google.com/p/kaomo/">project page at Google Code</a>.</p>
<p>The translation is created by <a href="http://matsucon.net/material/dic/">2ちゃんねる顔文字辞書</a> @ MatsuCon.</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/115971#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 23 Aug 2007 16:15:30 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/115971</link>
        <guid>http://siuying.javaeye.com/blog/115971</guid>
      </item>
      <item>
        <title>Code Geass CD入手</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/115972" style="color:red;">http://siuying.javaeye.com/blog/115972</a>&nbsp;
          发表时间: 2007年08月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><img src="http://farm2.static.flickr.com/1130/1214401968_5d10f596fc.jpg?v=0" alt="Code Geass" /></p>
<p>終於入手了，Code Geass 的 <a href="http://www.amazon.co.jp/%E3%82%B3%E3%83%BC%E3%83%89%E3%82%AE%E3%82%A2%E3%82%B9-%E5%8F%8D%E9%80%86%E3%81%AE%E3%83%AB%E3%83%AB%E3%83%BC%E3%82%B7%E3%83%A5O-S-T-2-TV%E3%82%B5%E3%83%B3%E3%83%88%E3%83%A9/dp/B000N3SXVM/ref=pd_bxgy_m_img_b/250-3480648-2735409">OST2</a>  和 <a href="http://www.amazon.co.jp/%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%AB%E3%82%B1%E3%83%A9-SunSet-Swish/dp/B000M7XSLO">モザイクカケラ</a>！謝謝 Eric 幫手從日本空運過來！ ^^</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/115972#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 23 Aug 2007 14:12:16 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/115972</link>
        <guid>http://siuying.javaeye.com/blog/115972</guid>
      </item>
      <item>
        <title>哀悼火狗工房</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/111329" style="color:red;">http://siuying.javaeye.com/blog/111329</a>&nbsp;
          发表时间: 2007年08月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>很遺憾聽到火狗可能要<a href="http://firedog.hk/blog/2007/08/08/end-of-firedog/">結業的消息</a>。</p>
<p>我對火狗的印像是愛神餐館反攻日本的神話和他們日本風的角色。在很多人的心中，他們成為香港遊戲界的希望，幾乎像早年的 Gameone 一樣。近年火狗也有作不同的方向發展，如漫畫雜誌、集換式卡片遊戲等。</p>
<p>也許他們的目標是畫他們喜歡的畫，是這方面來說他們成功了。愛神餐館的開場動畫讓他們有機會打進日本、漫畫《十五二十》得到「<a href="http://www.spdup.com/content/view/331/122/">第一屆國際漫畫獎‧獎勵賞</a>」、他們也有一班支持愛神餐館畫風的支持者。可是我卻沒有支持他們的遊戲，因為他們的宣傳並未說服我。除了日式畫風外，他們的遊戲還有甚麼吸引的地方？<strong>美少女夢工場己經是過去式了。</strong></p>
<p>很驚啞在負責人的網誌中讀到，原來八年來他們都在虧損。但想深一層，如果沒有海外市場，香港的單機電腦遊戲市場實在很少。怎讓製造讓普通人心甘情願付錢的「愛」和「感情」？也許動漫和周邊是一條路。<strong>可惜火狗沒有把愛神系列的東西實物化，那怕只是一個 figure 、一條毛巾、一隻叉或是甚麼，喜歡此作的朋友也會支持的</strong>。他們有推出漫畫和卡片遊戲，可惜他們是另開戰線，沒有聚集之前的成功，反而面對不熟悉的新市場。他們勇於創新，但卻沒有專注在遊戲。他們的技術始終在 2D 和 原始的 3D，技術的不足也讓轉型變得困難。 (當然如果說他們的野心是全ACG 那這也算是專注，但同時做多個在港沒有市場的東西不是找死嗎？)</p>
<p>在他們的網誌也說火狗在開發 MMORPG，坦白說這也是一個生存的方法。不知是幸或是不幸，這個計劃沒有完成。我想<strong>與其靠轉做平凡的 online game 殘存下去 ，倒不如光榮地結束吧</strong>。雖然沒有發展成能賺錢又能實現夢想的事業，但火狗的名字會永遠在香港的遊戲史中被記下。</p>
<p>我內心也其待著，有那一天火狗或他們的後繼者能造出可賣錢又能實現夢想的東西。</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/111329#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 11 Aug 2007 05:09:34 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/111329</link>
        <guid>http://siuying.javaeye.com/blog/111329</guid>
      </item>
      <item>
        <title>調查發現八達通易辦事轉賬系統一直有問題，涉款370萬元</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/106254" style="color:red;">http://siuying.javaeye.com/blog/106254</a>&nbsp;
          发表时间: 2007年07月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://www.mpinews.com/htm/INews/20070727/gb51623c.htm">八達通承認易辦事7年扣錯錢</a> Via 明報即時新聞</p>
<p><img src="/~siuying/images/150px-Octopus_Card_Personalised.jpg" alt="" /></p>
<p>早前，<a href="http://zh.wikipedia.org/wiki/%E5%85%AB%E9%81%94%E9%80%9A">八達通</a>因易辦事系統轉賬被發現有錯誤，由客戶賬戶中多扣款。今天八達通公司公佈由獨立調查公司的報告，原來其易辦事系統早至 2000 年 1 月己有多扣款的問題，可追查的個案自 2000 起，發現有 <strong>15270</strong> 宗，涉及 <strong>370 萬元</strong>。由於八達通按法例規定只保留過去七年之交易數據，以前的個案更不能追查！</p>
<p>據報導「<em>地鐵增值機內其中一款電子轉賬組件在網絡不穩定時出故障，導致未完成交易而扣錢的問題。</em>」。軟件由人寫成，自然有可能有錯失。然而和金錢交易有關的系統竟然有這種 transaction 問題，不可說不是個重大的缺陷&#8230; 八達通的公關、負責的工程師以至測試部門有段時間要頭痛了。</p>
<p>自己的錢還是要自己多加留意呢。</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/106254#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jul 2007 15:34:12 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/106254</link>
        <guid>http://siuying.javaeye.com/blog/106254</guid>
      </item>
      <item>
        <title>Ruby on Rails plugin: QRCode</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/104546" style="color:red;">http://siuying.javaeye.com/blog/104546</a>&nbsp;
          发表时间: 2007年07月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>I come across this <a href="http://www.d-project.com/qrcode/index.html" target="_blank">page</a>, a javascript QRCode generator. <a href="#footnote-1-746" title="See the footnote." id="footnote-link-1-746"><sup>1</sup></a></p>
<p>To simplify the tasks to use it in Rails, I created a plugins QRCode for Ruby on Rails. </p>
<h3>Usage</h3>
<ol>
<li>In your rails project, install the plugin by following command: </li>
<pre class="prettyprint"> ./script/plugin install http://qrcode-rails.googlecode.com/svn/trunk/plugins/qrcode</pre>
<li>Add javascript include tag in HTML header:  </li>
<pre class="prettyprint">   &lt;%= javascript_include_tag :defaults %&gt;</pre>
<li>Add following funtion to where you want to generate QRCode. </li>
<pre class="prettyprint">   &lt;%= qrcode(&#39;http://www.google.com/&#39;, 2) %&gt;</pre>
<ul>
<li>The first parameter is URL </li>
<li>The second optional parameter is pixel size.</li>
</ul>
<li>Done! </li>
</ol>
<p>For details, please check the <a href="http://code.google.com/p/qrcode-rails/">QRCode project page</a>.</p>
<p><strong>Sample Code</strong><br />
&lt;%= qrcode('http://www.google.com/', 8 ) %&gt;</p>
<p><strong>Sample Screen</strong><br />
<img src="http://www.reality.hk/wp-content/uploads/qrcode2.png" border="0" height="398" width="305" /></p>
<br /><ol class="footnotes"><li id="footnote-1-746">In case you dont know, QRCode is those mystic code appeared in most japanese media. Snap the QRCode by your cell phone, the code is translated into URL.  <a href="#footnote-link-1-746">↩</a></li></ol>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/104546#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 23 Jul 2007 14:42:45 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/104546</link>
        <guid>http://siuying.javaeye.com/blog/104546</guid>
      </item>
      <item>
        <title>[轉播] 呼籲：抵制7月25日明光社賣旗活動</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/103439" style="color:red;">http://siuying.javaeye.com/blog/103439</a>&nbsp;
          发表时间: 2007年07月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>原文 @ <a href="http://www.cuhkacs.org/~henryporter/Bo-Blog/read.php/484.htm#reply">無神論者的巴別塔&nbsp;</a></p>
<p><img src="http://www.reality.hk/wp-content/uploads/1184904172_0.jpg" border="0" height="361" width="500" /></p>
<p><font><strong>慈善，只為幫助有需要的弱勢社群。但7月25日在新界區進行的賣旗活動中所捐的每一分一毫，卻只是助紂為虐。</strong><strong><font color="#ff0000">明光社不是慈 善機構，它的所作所為只為強加自己的道德倫理觀於社會之中，壓抑與他們理念不符的人。</font>除了他們的僱員和支持者外，沒有人會因為那個所謂生命與倫理研究中心 得益。</strong></font></p>
<p><font>假若你反對美國的單邊主義，反對小布殊的新保守政策，那請你不要壯大和他同路的明光社。（好啦&hellip;&hellip;我承認它是無辜的&hellip;&hellip;我指小布殊政權）<br /></font><font><br />假若你真的想幫助在貧病痛苦中掙扎的不幸人士，新界區的朋友請省下你明天的輔幣，一併在再下一個星期捐給真正的慈善機構。<br /></font><font><br />假若你住在以下地區，7月25日請不要賣旗。<br /></font><font><br />將軍澳、荃灣、青衣<br />葵涌、葵興、葵芳、荔景<br />沙田、大圍、馬鞍山、粉嶺<br />大埔、太和、屯門、元朗</font></p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/103439#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 20 Jul 2007 18:07:06 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/103439</link>
        <guid>http://siuying.javaeye.com/blog/103439</guid>
      </item>
      <item>
        <title>Outdate 到爆的網摘</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/102999" style="color:red;">http://siuying.javaeye.com/blog/102999</a>&nbsp;
          发表时间: 2007年07月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>抱歉日久失修沒有打理這裡，半途而廢的事情太多，必須了結一些才行。回看去年書展買的書，狼圖騰和圖像醫藥文化史就還未看，想在今年書展前讀完的機會也實在太微了&#8230; 只好拿出來看兩眼吧 XD</p>
<p><strong>喜訊</strong></p>
<ul>
<li><a href="http://www.cuhkacs.org/~benng/Bo-Blog/read.php?732">恭賀李志清獲首屆國際漫畫賞</a>- 孫子攻略不知道香港幾時會有呢？</li>
</ul>
<p><strong>不安</strong></p>
<ul>
<li><a href="http://hk.news.yahoo.com/070718/12/2brw4.html">名畫當不雅影視處鬧笑話 神話書封面用裸露作品 一度勸書商停賣</a> - 影視處發甚麼神經？！是否所有書都包膠袋你們才安樂？小孩子不要看名畫好了？</li>
<li><a href="http://blog.age.com.hk/archives/650">「超低能，勁搞笑」廣場版</a> - 又一個「超低能，勁搞笑」- 雕塑被認為不雅，和十年前的大偉像一樣。</li>
<li><a href="http://www.inmediahk.net/public/article?item_id=242580">香港沒有成人？──flickr過濾與淫審</a></li>
<li><a href="http://www.cuhkacs.org/~benng/Bo-Blog/read.php?742">天問2007 @ 知日部屋</a></li>
</ul>
<p><strong>康港</strong></p>
<ul>
<li><a href="http://centralsaintstudent.blogspot.com/2007/07/2.html">口水創意 2 之抄考？</a> - 甚麼香港廣告商會 (4As) 、甚麼「省靚招牌五十年」？省到應一應，省到街知巷聞揚名海外啦 &#8212; 幫自己做野都抄&#8230;</li>
<li><a href="http://hongkonghell.blogspot.com/2007/07/blog-post.html">省你五十年</a> - 最正是留言："咁愛多八十年好D喇。" "</li>
<li><a href="http://hkdennis2k.homeip.net/2007/07/15/r4-%E6%9C%80%E7%82%BA%E9%86%AB%E5%AD%B8%E7%95%8C%E6%89%80%E6%8E%A1%E7%94%A8-%E9%80%A3%E9%86%AB%E7%94%9F%E9%83%BD%E4%BF%A1/">R4 最為醫學界所採用, 連醫生都信</a> - 悲哀的不是醫生或有錢人不用正版，悲哀的是舉目四望都是老番，他們不覺得有問題，仲可以問「你用正版？你做咩呀你！？</li>
<li><a href="http://hypnos.wordpress.com/2007/07/17/doctor-r4/">R4，連醫生都選用</a></li>
</ul>
<p><strong>科技</strong></p>
<ul>
<li><a href="http://www.readwriteweb.com/archives/how_apple_can_win_the_pc_battle.php">How Apple Can Win The PC Battle</a> @ Read/Write Web - <em>"Now MacWorld and CNet are reporting that - according to NDP research - Apple's Desktops have crossed 10% and the MacBooks now closing on 15% of the laptop market. "</em> 今年因為 iPhone 相信數字會再上升</li>
<li><a href="http://ajaxian.com/archives/a-report-on-push-versus-pull">A report on Push versus Pull</a> @ Ajaxian</li>
</ul>
<p><strong>Video</strong></p>
<ul>
<li><a href="http://www.youtube.com/watch?v=5jzF2TBur0c">ファミコンCM集</a> - 早期紅白機遊戲的廣告，有些讓人懷念的場面。謝謝 Jacky 的推介。</li>
<li><a href="http://jacky.seezone.net/2007/07/14/1859/">EVA新劇場版官方預告片</a> - 還有黑米的<a href="http://www.hemidemi.com/group/EVAFans/home"> EVA Fans 群組</a> </li>
</ul>
<p><strong>人生目標</strong></p>
<ul>
<li><a href="http://manincentral.blogspot.com/2007/07/web20then.html">為自己創造價值</a> @ CK - "Amy同我講過既果番說話，remind左我，點樣先叫做專業。仲有點樣先叫做尊重自己份工。"</li>
<li><a href="http://lightyror.thegiive.net/2007/07/passion.html">Passion</a> @ Lightly RoR - 昨天我的一個好朋友告訴我「我好像失去了程式設計的熱情了。」我聽著這句話，突然覺得我蠻幸福。</li>
<li><a href="http://www.mguru.com.hk:8080/alfresco/download/direct/workspace/SpacesStore/f692d738-3182-11dc-8b29-21e2208a3089/03interview01%20(Working%20Copy).html">當梁文道遇上王貽興 終於成了才子</a> -  "<em>或者是怕寂寞吧，像師傅（董啟章）他們寫得那麼好，卻沒有人欣賞，我覺得很可怕。我不想我喜歡、追求和付出的事業，會令我將來倒過來埋怨它。</em>" 沒有決心、沒有面對自己，又怎能說出這種話來。文學中的他和電視中的他真的是兩個人。</li>
</ul>
<p><strong>Finally</strong><br />
Friendship should be like this:<br />
<img src="http://bp2.blogger.com/_LTV1DOM5NYA/RmPxRGYlSHI/AAAAAAAAABs/fu2sXpZeWGA/s400/image001.gif" alt="Friendship should be like this" /><br />
<a href="http://mastimages.blogspot.com/2007/06/friendship-should-be-like-this.html">Source</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/102999#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jul 2007 17:06:07 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/102999</link>
        <guid>http://siuying.javaeye.com/blog/102999</guid>
      </item>
      <item>
        <title>用 AjaxMessaging 在五分鐘內造一個 chat room</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/98888" style="color:red;">http://siuying.javaeye.com/blog/98888</a>&nbsp;
          发表时间: 2007年07月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>English version: <a href="http://www.reality.hk/articles/2007/07/08/741/">Using AjaxMessaging to create a chatroom in 5 mins</a></p>
<p><em>把之前一篇的源碼重整理了一下，作了這個 plugin。由於有重大的線程問題 (下文詳述) 這 plugins 仍不能實用，但且記下來當作個筆記吧。</em></p>
<p><a href="/~siuying/images/chat.png"><img src="/~siuying/images/chat_s.png" alt="AjaxMessaging Chat" /></a></p>
<h4>1. 準備</h4>
<ul>
<li>下載和安裝 <a href="http://www.rubyonrails.org/down">Ruby on Rails</a></li>
<li>下載和安裝 <a href="http://activemq.apache.org/download.html">Apache ActiveMQ</a></li>
<li>安裝  Mongrel ( sudo gem install mongrel )</li>
<li>安裝  json (sudo gem install json)</li>
<li>安裝  stomp (sudo gem install stomp)</li>
</ul>
<p> <a href="http://www.reality.hk/articles/2007/07/08/742/#more-742" class="more-link">(more&#8230;)</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/98888#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 07 Jul 2007 17:03:36 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/98888</link>
        <guid>http://siuying.javaeye.com/blog/98888</guid>
      </item>
      <item>
        <title>Using AjaxMessaging to create a chatroom in 5 mins</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/98889" style="color:red;">http://siuying.javaeye.com/blog/98889</a>&nbsp;
          发表时间: 2007年07月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>中文版: <a href="http://www.reality.hk/articles/2007/07/08/742/">用 AjaxMessaging 在五分鐘內造一個 chat room</a></p>
<p><a href="/~siuying/images/chat.png"><img src="/~siuying/images/chat_s.png" alt="AjaxMessaging Chat" /></a></p>
<h4>1. Preparation</h4>
<ul>
<li>Download and install <a href="http://www.rubyonrails.org/down">Ruby on Rails</a></li>
<li>Download and install <a href="http://activemq.apache.org/download.html">Apache ActiveMQ</a></li>
<li>Install Mongrel ( sudo gem install mongrel )</li>
<li>Install json (sudo gem install json)</li>
<li>Install stomp (sudo gem install stomp)</li>
</ul>
<p> <a href="http://www.reality.hk/articles/2007/07/08/741/#more-741" class="more-link">(more&#8230;)</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/98889#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 07 Jul 2007 16:41:57 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/98889</link>
        <guid>http://siuying.javaeye.com/blog/98889</guid>
      </item>
      <item>
        <title>AjaxMessaging - bring realtime messaing to Ruby on Rails</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/97461" style="color:red;">http://siuying.javaeye.com/blog/97461</a>&nbsp;
          发表时间: 2007年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Proudly present my new plugins for Ruby on Rails! This is based on my previous post on <a href="http://www.reality.hk/articles/2007/06/27/734/">Juggernaut</a> and <a href="http://www.reality.hk/articles/2007/07/01/736/">ActiveMQ Ajax Web Demo</a>. ( More details include tutorial coming! Meanwhile, please try the example <img class="wp-smiley" src="http://www.reality.hk/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> )</p>
<div id="wikicontent" style="padding: 0pt 3em 1.2em 0pt">
<h2>DESCRIPTION</h2>
<p>AjaxMessaging, or a11g, is a plugin to provide real time messaging for Ruby on Rails.  </p>
<h2>ABOUT</h2>
<ul>
<li>Author: Francis, Chong </li>
<li>E-Mail Address: francis at reality dot hk </li>
<li>License: MIT </li>
<li>Website: <a href="http://code.google.com/p/ajaxmessaging/">http://code.google.com/p/ajaxmessaging/</a> </li>
<li>Blog: <a href="http://www.reality.hk//">http://www.reality.hk</a> (Chinese Only) </li>
</ul>
<h2>DETAILS</h2>
<p>Using AjaxMessaging, Rails view can receive real time update from back-end Messaging Oriented Middleware (MOM). </p>
<p>What Happens: </p>
<ol>
<li>Client open a AJAX connection to Rails </li>
<li>Rails connect to MOM using STOMP, listening for specific channels, if there are incoming messages, they are sent to client. </li>
<li>If no message for a short period (~30s), the ajax connection return and client try again. </li>
</ol>
<p>   Features:
</p><ol>
<li>Message sent to client at realtime </li>
<li>Only regular HTTP connection is required. No socket server, no hacks on HTTP Pushing. Therefore, most firewall and browser supports it. </li>
<li>Subscription to multiple channels. Message can sent to either user or channels. </li>
<li>Integrated plugin, simple helper functions. </li>
</ol>
<p>   Requirements:
</p><ol>
<li>Rails 1.2+ </li>
<li>json gem (gem install json) </li>
<li>stomp gem (gem install stomp) </li>
<li>Mongrel (gem install mongrel), you must use mongrel as web server as AjaxMessaging use Mongrel custom HttpHandler </li>
<li>MOM supports STOMP, e.g. ActiveMQ </li>
</ol>
<h2>INSTALLATION</h2>
<ol>
<li>Enter following command in your project:  </li>
<pre class="code" style="border-left: 3px solid #cccccc; padding: 0.5em; margin-left: 2em">    script/plugin install http://ajaxmessaging.googlecode.com/svn/trunk/plugins/ajaxmessaging</pre>
<li>Edit config file:  </li>
<pre class="code" style="border-left: 3px solid #cccccc; padding: 0.5em; margin-left: 2em">    config/mongrel_conf.yml</pre>
<li>Start your MOM server. If you are using ActiveMQ, go to AMQ directory and enter following command:  </li>
<pre class="code" style="border-left: 3px solid #cccccc; padding: 0.5em; margin-left: 2em">    ./bin/activemq  </pre>
<li>Start rails by enter following command:  </li>
<pre class="code" style="border-left: 3px solid #cccccc; padding: 0.5em; margin-left: 2em">    mongrel_rails start -C config/mongrel_conf.yml</pre>
</ol>
<h2>EXAMPLES</h2>
<p>You may get an example project at:
</p><pre class="code" style="border-left: 3px solid #cccccc; padding: 0.5em; margin-left: 2em">   svn checkout http://ajaxmessaging.googlecode.com/svn/trunk/examples/ajaxmessaging-examples ajaxmessaging-examples</pre>
</div>
<p>&nbsp;<img src="/~siuying/images/ajax-rails2.png" border="0" height="291" width="450" /></p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/97461#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 02 Jul 2007 18:22:47 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/97461</link>
        <guid>http://siuying.javaeye.com/blog/97461</guid>
      </item>
      <item>
        <title>Eclipse 發表 Europa</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/97076" style="color:red;">http://siuying.javaeye.com/blog/97076</a>&nbsp;
          发表时间: 2007年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Eclipse Europa 是今年的 Eclipse 新版本，裡面包括 21 個 projects 的更新，其中以下比較讓我注意：</p>
<h3>Mylyn</h3>
<p>一個以「工作」(Task) 為目標的 UI， <a href="http://www.eclipse.org/mylyn/">Mylyn</a> 讓開發者可以 offline 修改像 Bugzilla、Trac 或 JIRA 等的開發平台。Mylyn 會監察你的工作進度並顯示出你有興趣的東西。</p>
<p><a href="/~siuying/images/mylyn-2.0.png"><br />
<img src="/~siuying/images/mylyn-2.0s.png" alt="Mylyn" /></a></p>
<h3>SOA Tools Platform Project</h3>
<p>在 Eclipse 上開發 <a href="http://www.eclipse.org/stp/">Service Oriented Architecture</a> (SOA) 的平台。</p>
<h3>Web Tools Platform (WTP) Project</h3>
<p><a href="http://www.eclipse.org/webtools/main.php">J2EE 和 Web 相關的 project</a>。新版本中包括 EJB3 JPA、JSP2.0、JSF1.2、Axis Web Services、Tomcat 支援和 Java EE 5 project支援。<br />
<img src="/~siuying/images/dali-screenshot.jpg" alt="Dali - EJB3 JPA in Eclipse" /></p>
<h3>Model To Text (M2T)</h3>
<p>Eclipse 的<a href="http://www.eclipse.org/modeling/m2t/"> code generator</a>。用類似 JSP template 的方法，把 Model 轉為 java, html, xml 等檔案。</p>
<p>更多資料請參考 <a href="http://www.eclipse.org/europa/">Eclipse Europa</a>主頁 。</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/97076#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 02 Jul 2007 02:56:06 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/97076</link>
        <guid>http://siuying.javaeye.com/blog/97076</guid>
      </item>
      <item>
        <title>Ruby on Rails + AJAX + Mongrel + JMS/MQ/MOM = 即時通訊</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/96578" style="color:red;">http://siuying.javaeye.com/blog/96578</a>&nbsp;
          发表时间: 2007年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://www.reality.hk/articles/2007/06/27/734/">前文</a>研究過利用 Flash XMLSocket 作即時通訊的 Juggernaut，雖然它可以簡易的做到即時通訊，但使用非 HTTP 通訊和非開放標準這兩點很讓人在意，有滿有其他的解決方案？</p>
<h3>ActiveMQ 的 AJAX Client</h3>
<p>在思考的過程中，發覺我想做的不正是使用消息通訊的軟件嗎？這類軟件己經有一個很好的 Model：Messaging Oriented Middleware(MOM)。接著我跑到 Apache ActiveMQ 的網站研究有沒有可用的方案。果然，在 AMQ 的源碼中就有一個 AJAX 的 messaging client。</p>
<p>ActiveMQ 是開源的 JMS 專案，技術成熟而且被很多其他產品應用。它的 AJAX Client 利用連接 Server 上的 Messaging Servlet ，由Servlet 再向 AMQ 發送訊息。等等，AJAX 的 A 不就是<em>非同步</em>的意思嗎？怎樣用 AJAX 做到<strong>即時通訊</strong>？答案是結合 Poll 和 AJAX。Browser 首先用 AJAX 連接到 Servlet (Poll) ，如果有訊息就會即時把訊息返回，如果沒有訊息就會讓 client 等待，直到指定的時限(約30秒、比一般 browser 和 socket 的 timeout 短 )。每個 AJAX request 完結後 client 會立即重試，這樣 client 便可以得到有如 push 的效果了。比起一般 Server Push 的 Comet ，這種做法更符合一般 HTTP 的 Request - Response 模式，由於與普通 HTTP 無異，一般的 Firewall 和 Browser 也支援。</p>
<h3>在 Rails 中的 AJAX Poll</h3>
<p>ActiveMQ 的方法雖好，但它是一個 Servlet ，我們難道要另架一台 Java Application Server？就算不介意架這台 Server ，還要用 proxy 之類的方法解決 AJAX 不能 Cross-Domain 的問題。有沒有方法只用 Rails 就做到這種 AJAX Poll 的效果？</p>
<p>答案是 No and Yes。用普通的方法 Rails 不能做到以上效果。Rails 是一個單線程的環境 ，也就是說全部 Request 也由同一支 Thread 控制。在以上情境中「叫 Client 在 Request 中等待直至有信息」等於叫整個 server 停下來。<strong>幸好，Rails 單線程不等於 Server 也必須單線程</strong>。Adam的 <a href="http://adam.blogs.bitscribe.net/2007/05/08/comet-with-rails-mongrel/">Comet with Rails + Mongrel</a> 中示範了怎樣用自訂 HttpHandler 讓 Rails 可以持續地跟 Client 連接。我們可以在 Client Side 呼叫 AJAX，在 Mongrel 的 HttpHandler 中把這些 Request 轉成向 MOM 的呼叫，如下圖。</p>
<p><img src="/~siuying/images/diagram2.png" alt="Using Rails for Realtime AJAX" /></p>
<p>理論差不多了，看看怎樣實作吧！</p>
<h3>在 Rails 和 Mongrel 作即時股票報價軟件</h3>
<p>ActiveMQ 的 Web Demo 包括一個股票報價軟件。它分成 Consumer 和 Producer 兩部份，Consumer 是收取服價資料的 Client ，Producer 則是發報股價的 Server。我們的目標就是要在 Rails 實作這個軟件。</p>
<p> <a href="http://www.reality.hk/articles/2007/07/01/736/#more-736" class="more-link">(more&#8230;)</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/96578#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jul 2007 11:59:09 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/96578</link>
        <guid>http://siuying.javaeye.com/blog/96578</guid>
      </item>
      <item>
        <title>更新: Ruby on Rails plugin i18n</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/95651" style="color:red;">http://siuying.javaeye.com/blog/95651</a>&nbsp;
          发表时间: 2007年06月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>讀了 Takol 的 <a href="http://takol.tw/data/326894672446572cc5.html">【ROR開發筆記】MultiLingual </a>，他提出的用 browser header 去自動選擇 i18n 語言比我原本的想法好多了！Open Source 的好處，我把這功能加入了<a href="http://code.google.com/p/mod-i18n/"> i18n plugins </a>中。</p>
<p>另外稍為更改了安裝 URL (script/plugin install http://mod-i18n.googlecode.com/svn/trunk/i18n)，安裝後 plugin 會放在 /vender/plugins/i18n ，比較 standard 的作法。</p>
<p><strong>相關連結：</strong></p>
<ul>
<li><a href="http://code.google.com/p/mod-i18n/">mod i18n project Homepage </a>@ Google Code </li>
<li><a href="http://takol.tw/data/326894672446572cc5.html">【ROR開發筆記】MultiLingual </a></li>
</ul>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/95651#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/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 29 Jun 2007 16:59:16 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/95651</link>
        <guid>http://siuying.javaeye.com/blog/95651</guid>
      </item>
      <item>
        <title>使用 Rails 和 Juggernaut 作即時通訊</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/94902" style="color:red;">http://siuying.javaeye.com/blog/94902</a>&nbsp;
          发表时间: 2007年06月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><strong>AJAX</strong><br />
在 AJAX 出現前，傳統網上軟件的用戶首先要學習的是等待。直到2005 年，Google Suggest 和 Google Map 等網上軟件出現，它們利用 XMLHttpRequest 和 Java Script ，讓網上軟件可以不用重新載入版面就能更新資料。這種即時回應大大改善了網上軟件的用戶體驗，JJG 把這種技術稱之為 AJAX <a href="#footnote-1-734" title="See the footnote." id="footnote-link-1-734"><sup>1</sup></a>。自此 Wep App 終於可以跟傳統軟件較量，AJAX 被認為是 Web 2.0 背後最重要的技術。</p>
<p><strong>Comet</strong><br />
然而仍有一個問題要解決。AJAX 和傳統的網上軟件一樣只能單向地回應使用者的動作。除了由用者主動 polling 外，基本上軟件不能把消息發給用戶。講求群眾互動的 Web 2.0 竟不能作即時通訊，這種限制讓很多軟件也未能發展。2006 年，GTalk 和 Meebo 出現，它們利用持續的 HTTP connection，只用 HTTP 協定就能做到即時通訊的效果，Alex Russell 把這類技術稱之為 Comet <a href="#footnote-2-734" title="See the footnote." id="footnote-link-2-734"><sup>2</sup></a> &#8212; 這不是任何字的簡寫，泛指事件導向、伺服器端 Push 資料的軟件。</p>
<table class="image">
<caption align="bottom">Compare AJAX and Comet web model, originally from <a href="http://alex.dojotoolkit.org/?p=545">Comet: Low Latency Data for the Browser</a></caption>
<tr>
<td><img src="/~siuying/images/Comet.png" alt="Comet" /></td>
</tr>
</table>
<p><strong>Ruby on Rails 和 Web 2.0</strong><br />
<a href="http://www.rubyonrails.org/">Ruby on Rails</a> 本身整合了 <a href="http://www.prototypejs.org/">Prototype</a> 和 <a href="http://script.aculo.us/">Script.aculo.us</a> ，開發者可以只用 Ruby on Rails 就寫出純正的 AJAX 軟件。相對來說 Comet 的工具在 Rails 上還未成熟，其中最容易的可算是 <a href="http://juggernaut.rubyforge.org/">Juggernaut</a> 。 Juggernaut 會在版面中加入 Flash 的 Juggernaut client ，它會跟 Juggernaut 的 Push Server 保持一個持續的 XMLSocket 連接，以接收 server 傳來的 javascript，用以更新 client 畫面。以下我會示範怎樣用 Juggernaut 做一個 Push 的網站。</p>
<p><strong>系統要求</strong></p>
<ol>
<li>Rails 1.1 或以上</li>
<li>json gem (gem install json)</li>
<li>eventmachine gem (gem install eventmachine 或 gem install eventmachine-win32)</li>
</ol>
<p><strong>使用方法</strong></p>
<ol>
<li>開啟一個新 project，安裝 juggernaut：<br />
<blockquote><p>rails Realtime<br />
cd Realtime<br />
script/plugin install svn://rubyforge.org//var/svn/juggernaut/trunk/juggernaut</p></blockquote>
</li>
<li>新增一個 layout "apps/view/layout/application.rhtml" ，javascript_include_tag :defaults 一句是基本的 Rails helper ， 在安裝 juggernaut 後會自動包括 juggernaut 的 javascript 檔。<br />
<blockquote><pre>
&lt;html&gt;
  &lt;head&gt;
    &lt;%= javascript_include_tag :defaults %&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;%= yield %&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
</blockquote>
</li>
<li>新增一個 controller "main"：<br />
<blockquote>./script/generate controller main index</blockquote>
</li>
<li>按需要修改設定檔 "config/juggernaut.yml"，暫時我們不用改任何東西。</li>
<li>新增一個 view "app/views/main/index.rhtml"，form_remote_tag 是基本的 Rails AJAX function，它把 HTML FORM 的動作用 AJAX 送去 Server。listen_to_juggernaut_channels() 讓 client 在載入頁面後連接去指定 channel 接收 push 資料。<br />
<blockquote><p>&lt;h1&gt;Push Demo&lt;/h1&gt;</p>
<p>&lt;%= listen_to_juggernaut_channels(['channel']) %&gt;</p>
<p>&lt;%= form_remote_tag :url =&gt; {:action =&gt; :push} %&gt;<br />
  &lt;%= submit_tag 'Push!' %&gt;<br />
&lt;%= end_form_tag %&gt;</p></blockquote>
</li>
<li>修改 "app/controllers/main_controller.rb"，加入 push method。<strong>Juggernaut.send_data() 方法會向所有已連接的 Client 收到訊息</strong>。<br />
<blockquote><pre>class MainController &lt; ApplicationController
  def index
  end

  def push
    Juggernaut.send_data(&quot;alert(&apos;Hello, world!&apos;)&quot;, [&apos;channel&apos;])
  end
end</pre>
</blockquote>
</li>
<li>是時候測試一下成果！分別啟動 Rails 和啟動啟動 Juggernaut Push Server：<br />
<blockquote><p>ruby ./script/push_server<br />
Starting Juggernaut Push Server<br />
Port: 15000<br />
Host: 0.0.0.0</p></blockquote>
<blockquote><p>./script/server<br />
=&gt; Booting Mongrel (use 'script/server webrick' to force WEBrick)<br />
=&gt; Rails application starting on http://0.0.0.0:3000<br />
=&gt; Call with -d to detach<br />
=&gt; Ctrl-C to shutdown server<br />
** Starting Mongrel listening at 0.0.0.0:3000<br />
** Starting Rails with development environment&#8230;<br />
** Rails loaded.</p></blockquote>
</li>
<li>試著同時開啟兩個 browser 到 http://localhost:3000/，按下其中一頁的 "Push" 按鈕，兩個 browser 會同時彈出一個 javascript 的 alert message！<br />
<img src="/~siuying/images/push_s.png" alt="Push alert message!" />
</li>
<li>以上例子中，由 client 到 server 的訊息由 AJAX 發送，由server 到 client 的訊息由 Juggernaut 發送，這樣我們就有一個能雙向、即時通訊的軟件 model，至於怎樣利用這種強大的力量就要由開發者去想了！</li>
<li>當然 Juggernaut 還有其他功能，如對單一用戶發訊、動態加入和離開 channel 、用戶認證、以及在用戶開啟和關閉 Browser 時啟動 trigger action 。詳情可以參看 <a href="http://ncavig.com/blog/?page_id=8">Nicolas Cavigliano 不斷更新的教學</a>。 當然也可以讀 Juggernaut 的源碼 ，特別是 library "vendor/plugins/juggernaut/lib/juggernaut.rb" 和 Push Server "vendor/plugins/juggernaut/media/push_serve"</li>
<li>以上例子的源碼可以<a href="/~siuying/software/push.tgz">在此下載</a></li>
</ol>
<p><strong>研究 Juggernaut 時遇到的問題</strong></p>
<ol>
<li>Flash 對 XMLSocket Connection 有許多限制。Juggernaut 的作者建議把 Push Server 放在 443 port ，讓軟件可以穿過 firewall。然而不知為何我的電腦上無論 Firefox 還是 Safari Flash 也不肯連去 443 port &#8230; </li>
<li>要注意 juggernaut.yml 的 HOST 和 URL ，如果你設定的是 localhost ，在 browser 中輸入 127.0.0.1 是絕對不會成功的！這是 Flash 的防止 cross site socket 機制。</li>
<li>Client 和 Push Server 使用 Socket 連結， Rails 跟 Push Server 同樣使用 Socket：所有 Juggernaut 的 function 其實都會叫 Rails 開一個 Socket 連去 Push Server。每次發訊也要一個 Socket 在大型應用似乎不是一個好的想法 。</li>
</ol>
<p><strong>其他方案</strong><br />
<a href="http://activemq.apache.org/ajax.html">Apache ActiveMQ </a> 的 AJAX Polling 方案，似乎可以做到類似 Pushing 的效果，有待研究。</p>
<p><strong>延申閱讀</strong></p>
<ul>
<li><a href="http://lightyror.thegiive.net/2007/06/comet-push-server.html">淺談 Comet PUSH Server 架構</a></li>
</ul>
<br /><ol class="footnotes"><li id="footnote-1-734"><a href="http://www.adaptivepath.com/publications/essays/archives/000385.php">Ajax: A New Approach to Web Applications</a>  <a href="#footnote-link-1-734">↩</a></li><li id="footnote-2-734"><a href="http://alex.dojotoolkit.org/?p=545">Comet: Low Latency Data for the Browser</a>  <a href="#footnote-link-2-734">↩</a></li></ol>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/94902#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Jun 2007 15:33:11 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/94902</link>
        <guid>http://siuying.javaeye.com/blog/94902</guid>
      </item>
      <item>
        <title>Now Playing: 我懷念的</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/89604" style="color:red;">http://siuying.javaeye.com/blog/89604</a>&nbsp;
          发表时间: 2007年06月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>越聽越喜歡。。。</p>
<blockquote><p><strong>我懷念的</strong><br />
曲：李偲菘　<br />
詞：姚若龍　<br />
編：Martin Tang </p>
<p>我問為什麼　那女孩傳簡訊給我　而你為什麼　不解釋　低著頭沉默<br />
我該相信你很愛我　不願意敷衍我　還是明白你已不想挽回什麼</p>
<p>＊想問為什麼　我不再是你的快樂　可是為什麼　卻苦笑說我都懂了<br />
　自尊常常將人拖著着把愛都走曲折　假裝瞭解是怕　真相太赤裸裸<br />
　狼狽比失去難受</p>
<p>＃我懷念的是無話不說　我懷念的是一起做夢<br />
　我懷念的是爭吵以後　還是想要愛你的衝動<br />
　我記得那年生日　也記得那一首歌<br />
　記得那片星空　最緊的右手　最暖的胸口<br />
　(誰記得)　誰忘了</p>
<p>Repeat ＊,＃</p>
<p>我懷念的是無言感動　我懷念的是絕對熾熱<br />
我懷念的是你很激動　求我原諒抱得我都痛<br />
我記得你在背後　我記得我顫抖著着<br />
記得感覺洶湧　最美的煙火　最長的相擁</p>
<p>誰愛的太自由　誰過頭太遠了　誰要走我的心　誰忘了那就是承諾<br />
誰自顧自地走　誰忘了跟著我　誰讓愛變沉重　誰忘了要給你溫柔</p>
<p>(我懷念的)　我還有想要愛你的衝動<br />
我記得那年生日　也記得那一首歌<br />
記得那片星空　最緊的右手　最暖的胸口<br />
我放手　我讓座　假灑脫　誰懂我多麼不捨得<br />
太愛了　所以我　沒有哭　沒有說</p></blockquote>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/89604#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 08 Jun 2007 10:44:36 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/89604</link>
        <guid>http://siuying.javaeye.com/blog/89604</guid>
      </item>
      <item>
        <title>網摘20070606</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/89605" style="color:red;">http://siuying.javaeye.com/blog/89605</a>&nbsp;
          发表时间: 2007年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h2>Hong Kong</h2>
<ul>
<li><a href="http://taogate.wordpress.com/2007/06/03/%e7%94%9a%e9%ba%bc%e6%99%82%e5%80%99%e6%89%8d%e5%8f%af%e7%90%86%e6%80%a7%e5%9c%b0%e8%ab%87%e5%85%ad%e5%9b%9b/" target="_blank">甚麼時候才可理性地談六四</a> - <em>"身為中國香港人，我期待六四有平反的一天。但在這一天之前，我們首先得學會抽離感情，客觀而不偏倚地討論六四。否則，將來就是「平反」了六四，也難保不是另一宗文革式的、成王敗寇的糊塗賬。"</em></li>
<li><a href="http://www.xanga.com/fongyun/594928080/anti-christ.html" target="_blank">anti-christ</a> - 壹週刊對「明光社」總幹事蔡志森的專訪，笑都笑死你！ </li>
</ul>
<h3>Game</h3>
<ul>
<li><a href="http://www.xanga.com/fongyun/594532392/item.html">小朋友的戰爭</a> - <em>每一次眼見要輸的時候，就叫「唔玩」 &#8230; 無論順逆，都要有體育精神，努力到底，方能獲得尊敬。如果現在的小朋友連一盤棋也輸不起，難怪會有人因為「成績唔好」而自殺。</em></li>
</ul>
<h3>Ruby </h3>
<ul>
<li><a href="http://lightyror.thegiive.net/2007/06/jruby-ruby.html" target="_blank">JRuby ，Ruby 界的救世主？</a> - 在 Application Server 上行的 Rails 軟件 "<em>performance extremely well</em>" ，但普通軟件則暫時效能不佳。將來將會加入 JIT，Compile了的 code 效能會比 Ruby 更好。</li>
</ul>
<h3>Web and Technology</h3>
<ul>
<li><a href="http://feeds.feedburner.com/%7Er/william/%7E3/120326924/" target="_blank">書籤網站也搖頭嘆息的事</a> - 長遠來說，人們還是會把劣幣 filter 走的，那些圾垃不可能長久生存，放心好了</li>
<li><a href="http://feeds.feedburner.com/%7Er/pesty/%7E3/118591905/" target="_blank">《M型社會》是現象，但用行動可以改變</a> - "<em>「和別人一樣」是什麼？同樣拿薪水，有人覺得小孩就是要上雙語幼稚園，一個月一萬的學費讓可以用在投資的薪水大幅減少；有的人硬是要在台北市買一個房子，把自己接下來十多年的可支配金錢都綁死了；有的人覺得朋友每年都出國所以自己也這樣，平均來說每年硬是少掉一個月的薪水；或是，有的人希望買好車代步，所以把半年的薪水都押在一個動產上。<strong>選擇和別人一樣，才是讓自己變成下流社會一份子的原因，而不是房價、教育費、油價造成的。</strong></em>"</li>
<li><a href="http://wanszezit.wordpress.com/2007/06/01/%e5%8d%81%e8%9a%8a%e8%8b%b1%e8%b6%85%e5%8f%b0/" target="_blank">十蚊英超台</a> - <em>"在大陸，有牌就是硬道理，只有無牌無勢者，才需要靠好用和美貌去討好用戶。"</em>這就是國情&#8230;</li>
<li><a href="http://feeds.feedburner.com/%7Er/macgrass/mg/%7E3/122048031/1716" target="_blank">Steve Jobs、Bill Gates 同台Podcast</a> - 兩大英雄級人物同台演出！</li>
</ul>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/89605#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 06 Jun 2007 15:14:28 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/89605</link>
        <guid>http://siuying.javaeye.com/blog/89605</guid>
      </item>
      <item>
        <title>Rails plugin: i18n</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/89606" style="color:red;">http://siuying.javaeye.com/blog/89606</a>&nbsp;
          发表时间: 2007年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>An update from <a href="http://www.reality.hk/articles/2007/02/20/681/">mod-i18n</a> module. My first Ruby on Rails plugin. It is modified from <a href="http://mir.aculo.us/2005/10/03/ruby-on-rails-i18n-revisited ">Localization</a> module. It do translation using YML based translation file, and choose language based on URL parameter. </p>
<h2>Installation</h2>
<p><span><span>script/plugin&nbsp;install&nbsp;source&nbsp;http:</span><span class="comment">//mod-i18n.googlecode.com/svn/trunk</span></span></p>
<h2>1. Create Language File</h2>
<p>Create a directory config/lang, under the directory, create yml files using the langugae name, e.g. config/lang/zh-HK.yml. In the file, it should contains string mapping, for example: </p>
<pre>config/lang/zh-HK.yml:
        Listing contacts: 聯絡人列表
        Show: 顯示
        Edit: 修改
        Delete: 移除
</pre>
<h2>2. Edit Application String</h2>
<p>In the application, replace content String to following format: </p>
<pre>
    Source Code: 'blah' =&gt; ('blah') 'testing 5' =&gt; ('testing %d', 5)
    rhtml: &lt;%= 'blah' %&gt; =&gt; &lt;%= 'blah' %&gt; &lt;%= 'testing 5' %&gt; =&gt; &lt;%= 'testing %d', 5 %&gt;
</pre>
<h2>3. Test the Applciation</h2>
<p>Restart application. mod-i18n use post/get parameter &#39;lang&#39; to determine the language (configurable through the constant PARAMETER_LANG in lib/i18n.rb). </p>
<pre>
Original URL: http://127.0.0.1/main/index
URL for en-US: http://127.0.0.1/main/index?lang=en-US
URL for zh-HK: http://127.0.0.1/main/index?lang=zh-HK
</pre>
<h2>4. [OPTIONAL] Using Rails route</h2>
<p>You may specify the language in URL. To do so, in config/route.rb,  change the route to containing paramter &#39;lang&#39;.  </p>
<pre>
    from:
        map.connect ':controller/:action/:id.:format'
        map.connect ':controller/:action/:id' 

    to:
        map.connect ':lang/:controller/:action/:id.:format'
        map.connect ':lang/:controller/:action/:id' 

    Original URL: http://127.0.0.1/main/index
    URL for en-US: http://127.0.0.1/en-US/main/index
    URL for zh-HK: http://127.0.0.1/zh-HK/main/index
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/89606#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 06 Jun 2007 14:23:41 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/89606</link>
        <guid>http://siuying.javaeye.com/blog/89606</guid>
      </item>
      <item>
        <title>毋忘六四 - 血染的風采</title>
        <author>siuying</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://siuying.javaeye.com">siuying</a>&nbsp;
          链接：<a href="http://siuying.javaeye.com/blog/86418" style="color:red;">http://siuying.javaeye.com/blog/86418</a>&nbsp;
          发表时间: 2007年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>這是真正的習體回憶。</p>

<p>紀錄片《天安門》，給沒經歷過的人們。</p>

<p>當年老師帶我們幾個同學去影院看，這年頭想找回這片子恐怕不易吧？在 You Tube 有餘下的部份。You Tube 萬歲！</p>
          <br/>
          <span style="color:red;">
            <a href="http://siuying.javaeye.com/blog/86418#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 03 Jun 2007 16:03:16 +0800</pubDate>
        <link>http://siuying.javaeye.com/blog/86418</link>
        <guid>http://siuying.javaeye.com/blog/86418</guid>
      </item>
  </channel>
</rss>