<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Yudionrails - Everything</title>
  <id>tag:yudionrails.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://yudionrails.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://yudionrails.com/" rel="alternate" type="text/html"/>
  <updated>2008-05-26T05:15:30Z</updated>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-05-26:92</id>
    <published>2008-05-26T05:10:00Z</published>
    <updated>2008-05-26T05:15:30Z</updated>
    <link href="http://yudionrails.com/2008/5/26/may-update" rel="alternate" type="text/html"/>
    <title>A bit update..</title>
<summary type="html">&lt;p&gt;刚做了4个月的 build master, 一直和ssh, netbeans, &lt;span class='caps'&gt;SVN&lt;/span&gt;, ant 还有 cruisecontrol 打交道.. 从中学到了很多项目管理方面的经验, 改天会些一下 CC 的心得 .&lt;/p&gt;


	&lt;p&gt;最近开始在学校的lab开始工作, Rails 的项目开发也暂时放下了, 这实在是逼不得已. 但是一直对国内 rails 相关网站进行不断的关注.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;刚做了4个月的 build master, 一直和ssh, netbeans, &lt;span class='caps'&gt;SVN&lt;/span&gt;, ant 还有 cruisecontrol 打交道.. 从中学到了很多项目管理方面的经验, 改天会些一下 CC 的心得 .&lt;/p&gt;


	&lt;p&gt;最近开始在学校的lab开始工作, Rails 的项目开发也暂时放下了, 这实在是逼不得已. 但是一直对国内 rails 相关网站进行不断的关注.&lt;/p&gt;
&lt;p&gt;刚做了4个月的 build master, 一直和ssh, netbeans, &lt;span class='caps'&gt;SVN&lt;/span&gt;, ant 还有 cruisecontrol 打交道.. 从中学到了很多项目管理方面的经验, 改天会些一下 CC 的心得 .&lt;/p&gt;


	&lt;p&gt;最近开始在学校的lab开始工作, Rails 的项目开发也暂时放下了, 这实在是逼不得已. 但是一直对国内 rails 相关网站进行不断的关注.&lt;/p&gt;


	&lt;p&gt;here&#8217;s my cubicle..
&lt;img src='http://gallery.yudionrails.com/system/assets/1211777665_normal.jpg' alt='' /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-03-19:82</id>
    <published>2008-03-19T05:21:00Z</published>
    <updated>2008-03-19T07:14:57Z</updated>
    <category term="book and reading"/>
    <link href="http://yudionrails.com/2008/3/19/relax" rel="alternate" type="text/html"/>
    <title>&#19968;&#28857;&#27491;&#32463;&#27809;&#26377;</title>
<content type="html">
            &lt;p&gt;最近常去宝宝树看 &lt;a href='http://dongjing.user.babytree.com'&gt;动静爸的日记&lt;/a&gt; 还有 刚刚落户的 &lt;a href='http://kaitlyn.user.babytree.com'&gt;Kaitlyn&lt;/a&gt; , 这两个博客都被我收录在书签里‘牛博’一栏内，冷落了韩寒，徐静蕾，还有王晓峰的博客。&lt;/p&gt;


	&lt;p&gt;上个月和家在Toronto的 Kaitlyn 相处了一周，每天都给她逗。最后费了好大劲教她学会叫‘哥哥’了，结果弄得她叫姐姐也开始叫‘哥哥’，不禁非常得意 :-)&lt;/p&gt;


	&lt;p&gt;动静还没见到，看照片一脸福相。小家伙脸上表情特丰富，其中的几张应该登宝宝树首页。&lt;/p&gt;


	&lt;p&gt;好久没更新了，还是写不出啥东西。没正经的偷懒转帖 &lt;a href='http://www.babytree.com/forum/topic_134973'&gt;一篇动静爸日记&lt;/a&gt; 吧&lt;/p&gt;


	&lt;p&gt;主题：战火中的青春&lt;/p&gt;


	&lt;p&gt;保姆走了。
新保姆没找来。
带孩子变成了分分钟的事情，折腾一溜够，反而睡不着了。打开几乎成了摆设的电视，一部《战火中的青春》，竟让动静的老爸和奶奶从头看到了尾。&lt;/p&gt;


	&lt;p&gt;经典就是经典。&lt;/p&gt;


	&lt;p&gt;但这片子的诱人之处，是其彻头彻尾的“闷骚”。一个女扮男装的姑娘，混入战斗队伍，在一帮男人当中，和这帮兄弟一起，出生入死，也心心相印。这部摄于1959年的电影，被压抑的时代，挤兑出了在手榴弹、机关枪和“冲啊”、“杀啊”的声色尘烟中拿捏心思的高超手段。&lt;/p&gt;


	&lt;p&gt;她看他的眼神，他在她面前的动作，难拿。什么都想说，什么又都不能说，什么都没说，可什么都说了。到最后，她拿着他的军刀，看他跑步回队列。这个眼神，几十年后，在梁朝伟看张曼玉袅袅而去的背影的眼睛里，又出现了。好一个“战火中的《花样年华》”！&lt;/p&gt;


	&lt;p&gt;忍不住想起另一部电影，是彩色的，叫《我们村里的年青人》。叙事是大刀阔斧的，抒情是蒙在鼓里的。&lt;/p&gt;


	&lt;p&gt;奶奶看完这片子：“我觉得挺好的，那时候就那样。”
其实，哪时候不是那样啊。&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-02-11:78</id>
    <published>2008-02-11T21:56:00Z</published>
    <updated>2008-02-11T21:57:22Z</updated>
    <category term="Mac"/>
    <link href="http://yudionrails.com/2008/2/11/10-5-2-is-out-thank-god" rel="alternate" type="text/html"/>
    <title>10.5.2 is out, Thank god!</title>
<content type="html">
            &lt;p&gt;This is the only good news I had today, thank god!!&lt;/p&gt;


	&lt;p&gt;I&#8217;ll update this article when I freed up sometime..&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-01-23:67</id>
    <published>2008-01-23T05:36:00Z</published>
    <updated>2008-01-30T02:49:47Z</updated>
    <category term="Code"/>
    <link href="http://yudionrails.com/2008/1/23/stop-smoking" rel="alternate" type="text/html"/>
    <title>Stop Smoking</title>
<summary type="html">&lt;p&gt;Years ago, when he&#8217;s young,
      He got infected with a virus, which unfortunately reached his heart, and spread to his joints.
      Over years he&#8217;s been suffered and suffered. 
      Couple of years ago an unexpected heart attack almost took his life when he&#8217;s on his way delivering tons of industrial materials.
      Last year, he finally scheduled his heart surgery, and lost his job.
      He hoped to be healthy than anyone else in the world&#8230; &lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;......&lt;/p&gt;


Nothing has to change except for two things:
	&lt;ul&gt;
	&lt;li&gt;I became healthier.&lt;/li&gt;
		&lt;li&gt;The dog has less chance to hang out and pee. (And I&#8217;m not sorry for that)&lt;/li&gt;
	&lt;/ul&gt;</summary><content type="html">
            &lt;p&gt;Years ago, when he&#8217;s young,
      He got infected with a virus, which unfortunately reached his heart, and spread to his joints.
      Over years he&#8217;s been suffered and suffered. 
      Couple of years ago an unexpected heart attack almost took his life when he&#8217;s on his way delivering tons of industrial materials.
      Last year, he finally scheduled his heart surgery, and lost his job.
      He hoped to be healthy than anyone else in the world&#8230; &lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;......&lt;/p&gt;


Nothing has to change except for two things:
	&lt;ul&gt;
	&lt;li&gt;I became healthier.&lt;/li&gt;
		&lt;li&gt;The dog has less chance to hang out and pee. (And I&#8217;m not sorry for that)&lt;/li&gt;
	&lt;/ul&gt;
&lt;p&gt;I finished my script in the daily job as a project build master, then went out for a smoke.
Dog is with me, happy.&lt;/p&gt;


	&lt;p&gt;I came back and my landlord shook his head&#8230;
right&#8230;&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Years ago, when he's young,
He got infected with a virus, which unfortunately reached his heart, and spread to his joints.
Over years he's been suffered and suffered. 
Couple of years ago an unexpected heart attack almost took his life when he's on his way delivering tons of industrial materials.
Last year, he finally scheduled his heart surgery, and lost his job.
He hoped to be healthy than anyone else in the world...&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;&lt;br /&gt;
He said, &#8220;Yudi, stop smoking&#8221;&lt;/p&gt;


	&lt;p&gt;..&lt;/p&gt;


	&lt;p&gt;Yes, time to stop.&lt;/p&gt;


	&lt;p&gt;Even my simple reasoning of human logic can be expressed with a few prolog statements:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;suffered(he, disease).&lt;tt&gt;
&lt;/tt&gt;suffered(he, years).&lt;tt&gt;
&lt;/tt&gt;suffered(he, job).&lt;tt&gt;
&lt;/tt&gt;suffered(he, surgery).&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;cares(he, me, stop).&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;therefore(me, &lt;span class='co'&gt;ANSWER&lt;/span&gt;) &lt;span class='sy'&gt;:-&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;     suffered(he, _),&lt;tt&gt;
&lt;/tt&gt;     cares(he, me, &lt;span class='co'&gt;ANSWER&lt;/span&gt;).&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;And Prolog says:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;&lt;span class='co'&gt;GNU&lt;/span&gt; &lt;span class='co'&gt;Prolog&lt;/span&gt; &lt;span class='fl'&gt;1.3&lt;/span&gt;.&lt;span class='i'&gt;0&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class='co'&gt;By&lt;/span&gt; &lt;span class='co'&gt;Daniel&lt;/span&gt; &lt;span class='co'&gt;Diaz&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class='co'&gt;Copyright&lt;/span&gt; (&lt;span class='co'&gt;C&lt;/span&gt;) &lt;span class='i'&gt;1999&lt;/span&gt;&lt;span class='i'&gt;-2007&lt;/span&gt; &lt;span class='co'&gt;Daniel&lt;/span&gt; &lt;span class='co'&gt;Diaz&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;compiling &lt;span class='rx'&gt;&lt;span class='dl'&gt;/&lt;/span&gt;&lt;span class='k'&gt;Users&lt;/span&gt;&lt;span class='dl'&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class='co'&gt;Yudi&lt;/span&gt;/&lt;span class='co'&gt;Desktop&lt;/span&gt;/&lt;span class='i'&gt;1&lt;/span&gt;.pl &lt;span class='r'&gt;for&lt;/span&gt; byte code...&lt;tt&gt;
&lt;/tt&gt;&lt;span class='rx'&gt;&lt;span class='dl'&gt;/&lt;/span&gt;&lt;span class='k'&gt;Users&lt;/span&gt;&lt;span class='dl'&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class='co'&gt;Yudi&lt;/span&gt;/&lt;span class='co'&gt;Desktop&lt;/span&gt;/&lt;span class='i'&gt;1&lt;/span&gt;.pl compiled, &lt;span class='i'&gt;10&lt;/span&gt; lines read - &lt;span class='i'&gt;1060&lt;/span&gt; bytes written, &lt;span class='i'&gt;16&lt;/span&gt; ms&lt;tt&gt;
&lt;/tt&gt;| &lt;span class='i'&gt;?-&lt;/span&gt; therefore(me, &lt;span class='co'&gt;ANSWER&lt;/span&gt;).&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class='co'&gt;ANSWER&lt;/span&gt; = stop ? &lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;yes&lt;tt&gt;
&lt;/tt&gt;| &lt;span class='i'&gt;?-&lt;/span&gt; &lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


Nothing has to change except for two things:
	&lt;ul&gt;
	&lt;li&gt;I become healthier.&lt;/li&gt;
		&lt;li&gt;The dog has less chance to hang out and pee. (And I&#8217;m not sorry for that)&lt;/li&gt;
	&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-01-15:66</id>
    <published>2008-01-15T18:35:00Z</published>
    <updated>2008-01-16T04:46:42Z</updated>
    <category term="Mac"/>
    <link href="http://yudionrails.com/2008/1/15/there-s-something-in-the-air" rel="alternate" type="text/html"/>
    <title>There's something in the air</title>
<summary type="html">&lt;p&gt;&lt;img src='http://images.macrumors.com/article/2008/01/14/201055-airbook_side_425.jpg' alt='' /&gt;&lt;/p&gt;


	&lt;p&gt;The fresh notebook right out of &lt;del&gt;box&lt;/del&gt;  &lt;i&gt;envelope&lt;/i&gt;.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;&lt;img src='http://images.macrumors.com/article/2008/01/14/201055-airbook_side_425.jpg' alt='' /&gt;&lt;/p&gt;


	&lt;p&gt;The fresh notebook right out of &lt;del&gt;box&lt;/del&gt;  &lt;i&gt;envelope&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;del&gt;Check out the &lt;a href='http://www.macrumorslive.com/'&gt;live show&lt;/a&gt; of Macworld 2008&lt;/del&gt;&lt;/p&gt;


	&lt;p&gt;&lt;del&gt;Will update the article after it finished.&lt;/del&gt;&lt;/p&gt;


	&lt;p&gt;the live is finished, instead, please &lt;a href='http://events.apple.com.edgesuite.net/f27853y2/event/index.html?internal=fj2l3s9dm'&gt;check here&lt;/a&gt; for the keynote broadcast.&lt;/p&gt;


&lt;h5&gt;&lt;i&gt;Update&lt;/i&gt;&lt;/h5&gt;&lt;br /&gt;

	&lt;p&gt;Macbook Air:
&lt;br /&gt;
&lt;a href='www.apple.com/store'&gt;&lt;img src='http://a248.e.akamai.net/7/248/2041/1373/store.apple.com/Catalog/US/Images/home/banner_macbookair_080115.jpg' alt='' /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;The new $1799 Macbook Air is surely the &lt;i&gt;best&lt;/i&gt; product available for people following the ultra-thin, ultra-light and super-performance design.&lt;/p&gt;


	&lt;p&gt;It had me at the quarter-size of &lt;span class='caps'&gt;CPU&lt;/span&gt; and multi-touch &lt;span class='caps'&gt;CPU&lt;/span&gt;. Hope Apple can release the multi-touch technology on Cocoa&#8212;it&#8217;s going to be a big milestone after all!&lt;/p&gt;


	&lt;p&gt;Although the macbook air performance does not out run (overkill?) macbook at all, it has been carried out with incredible engineering with both Apple and Intel.&lt;/p&gt;


	&lt;p&gt;more specs about macbook air can be found at &lt;a href='http://www.apple.com'&gt;Apple.com&lt;/a&gt; .&lt;/p&gt;


	&lt;p&gt;Now, even-though it might be fair for customers that Apple starts to ship multi-touch enabled macbook and macbook-pro as soon as possible, right? I mean, it&#8217;s not impossible, if you have seen what Apple has achieved so far. Standing at the view of marketing promotion, macbook air is very much likely to be the only Apple notebook product that includes the multi-touch for a while.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-01-05:52</id>
    <published>2008-01-05T18:13:00Z</published>
    <updated>2008-01-05T18:37:57Z</updated>
    <category term="Code"/>
    <link href="http://yudionrails.com/2008/1/5/ruby-off-rails" rel="alternate" type="text/html"/>
    <title>Ruby off Rails</title>
<content type="html">
            &lt;p&gt;Right, you love Ruby, you love the syntax and rake.&lt;/p&gt;


	&lt;p&gt;But for some reason you hate hate being forced to &lt;span class='caps'&gt;MVC&lt;/span&gt; structure and want to apply different patterns or no pattern at all..&lt;/p&gt;


	&lt;p&gt;Here is a list of off-Rails framework that you can try out: (I read it from the rails-mailing-list)&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.nitroproject.org/'&gt;Nitro/Og&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://redhanded.hobix.com/bits/campingAMicroframework.html'&gt;Camping&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://ramaze.net/'&gt;Ramaze&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://sinatra.rubyforge.org/'&gt;Sinatra&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://merbivore.com/'&gt;Merb&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.narf-lib.org/'&gt;&lt;span class='caps'&gt;NARF&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;It&#8217;s not that they are better than Rails, rather they are more or less connected to Rails and have various personalities. Camping is &lt;a href='http://code.whytheluckystiff.net/camping/'&gt;4k and has a metaphor of a little white blood cell in the vein of Rails&lt;/a&gt; , while merb declares &lt;a href='merbivore'&gt;&lt;span class='caps'&gt;ORM&lt;/span&gt;-agnostic, JavaScript library agnostic, and template language agnostic&lt;/a&gt; .&lt;/p&gt;


	&lt;p&gt;If falling in love with Ruby was like seeing some girl from China, then Camping is a girl from BeiJing, and merb is from Shanghai. ( I love them all.. don&#8217;t you? )&lt;/p&gt;


	&lt;p&gt;Anyway, I keep this reference as a list of framworks to myself.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2008-01-04:50</id>
    <published>2008-01-04T19:30:00Z</published>
    <updated>2008-01-04T19:31:51Z</updated>
    <category term="Code"/>
    <category term="Mac"/>
    <link href="http://yudionrails.com/2008/1/4/A-sip-of-better-doc" rel="alternate" type="text/html"/>
    <title>A sip of better doc</title>
<summary type="html">&lt;p&gt;I still remember the sweet time that we had open book finals for a couple of basic computing classes (100 level).
As the professor said, as a programmer we all keep a handy book while writing code in order to look up.&lt;/p&gt;


	&lt;p&gt;For ruby, we got ri, but there is a lot faster and much more intelligent tool called fast-ri. I happen to read it in the textmate changlog today. After a little digging around, here is what I find:&lt;/p&gt;


	&lt;p&gt;Start by install it with the command:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo gem install fastri&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;Then build index with:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo fastri-server -b&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;...&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;I still remember the sweet time that we had open book finals for a couple of basic computing classes (100 level).
As the professor said, as a programmer we all keep a handy book while writing code in order to look up.&lt;/p&gt;


	&lt;p&gt;For ruby, we got ri, but there is a lot faster and much more intelligent tool called fast-ri. I happen to read it in the textmate changlog today. After a little digging around, here is what I find:&lt;/p&gt;


	&lt;p&gt;Start by install it with the command:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo gem install fastri&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;Then build index with:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo fastri-server -b&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;I still remember the sweet time that we had open book finals for a couple of basic computing classes (100 level).
As the professor said, as a programmer we all keep a handy book while writing code in order to look up.&lt;/p&gt;


	&lt;p&gt;For ruby, we got ri, but there is a lot faster and much more intelligent tool called fast-ri. I happen to read it in the textmate changlog today. After a little digging around, here is what I find:&lt;/p&gt;


	&lt;p&gt;Start by install it with the command:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo gem install fastri&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;Then build index with:&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;sudo fastri-server -b&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;You may use qri command to access local fast-ri:&lt;/p&gt;


	&lt;p&gt;Or, because fast-ri is DRb enabled, you can also use command fri.&lt;/p&gt;


	&lt;p&gt;Since I don&#8217;t have a fast-ri setup, I&#8217;ll just compare the speed between qri and ri&lt;/p&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;13&lt;tt&gt;
&lt;/tt&gt;14&lt;tt&gt;
&lt;/tt&gt;15&lt;tt&gt;
&lt;/tt&gt;16&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;~ &lt;span class='er'&gt;$&lt;/span&gt; time qri -f plain &lt;span class='co'&gt;Array&lt;/span&gt;&lt;span class='c'&gt;#insert&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;----------------------------------------------------------- &lt;span class='co'&gt;Array&lt;/span&gt;&lt;span class='c'&gt;#insert&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;     array.insert(index, obj...)  -&amp;gt; array&lt;tt&gt;
&lt;/tt&gt;------------------------------------------------------------------------&lt;tt&gt;
&lt;/tt&gt;     &lt;span class='co'&gt;Inserts&lt;/span&gt; the given values before the element with the given index&lt;tt&gt;
&lt;/tt&gt;     (which may be negative).&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;        a = &lt;span class='s'&gt;&lt;span class='dl'&gt;%w{&lt;/span&gt;&lt;span class='k'&gt; a b c d &lt;/span&gt;&lt;span class='dl'&gt;}&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;        a.insert(&lt;span class='i'&gt;2&lt;/span&gt;, &lt;span class='i'&gt;99&lt;/span&gt;)         &lt;span class='c'&gt;#=&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 99, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;]&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;        a.insert(&lt;span class='i'&gt;-2&lt;/span&gt;, &lt;span class='i'&gt;1&lt;/span&gt;, &lt;span class='i'&gt;2&lt;/span&gt;, &lt;span class='i'&gt;3&lt;/span&gt;)   &lt;span class='c'&gt;#=&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 99, &amp;quot;c&amp;quot;, 1, 2, 3, &amp;quot;d&amp;quot;]&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;real        &lt;span class='i'&gt;0&lt;/span&gt;m0.&lt;span class='i'&gt;243&lt;/span&gt;s&lt;tt&gt;
&lt;/tt&gt;user        &lt;span class='i'&gt;0&lt;/span&gt;m0.&lt;span class='i'&gt;181&lt;/span&gt;s&lt;tt&gt;
&lt;/tt&gt;sys        &lt;span class='i'&gt;0&lt;/span&gt;m0.&lt;span class='i'&gt;042&lt;/span&gt;s&lt;tt&gt;
&lt;/tt&gt;~ &lt;span class='er'&gt;$&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


&lt;table class='CodeRay'&gt;&lt;tr&gt;
  &lt;td title='click to toggle' class='line_numbers'&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;13&lt;tt&gt;
&lt;/tt&gt;14&lt;tt&gt;
&lt;/tt&gt;15&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class='code'&gt;&lt;pre&gt;~ &lt;span class='er'&gt;$&lt;/span&gt; time ri -&lt;span class='co'&gt;T&lt;/span&gt; -f plain &lt;span class='co'&gt;Array&lt;/span&gt;&lt;span class='c'&gt;#insert&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;----------------------------------------------------------- &lt;span class='co'&gt;Array&lt;/span&gt;&lt;span class='c'&gt;#insert&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;     array.insert(index, obj...)  -&amp;gt; array&lt;tt&gt;
&lt;/tt&gt;------------------------------------------------------------------------&lt;tt&gt;
&lt;/tt&gt;     &lt;span class='co'&gt;Inserts&lt;/span&gt; the given values before the element with the given index&lt;tt&gt;
&lt;/tt&gt;     (which may be negative).&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;        a = &lt;span class='s'&gt;&lt;span class='dl'&gt;%w{&lt;/span&gt;&lt;span class='k'&gt; a b c d &lt;/span&gt;&lt;span class='dl'&gt;}&lt;/span&gt;&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;        a.insert(&lt;span class='i'&gt;2&lt;/span&gt;, &lt;span class='i'&gt;99&lt;/span&gt;)         &lt;span class='c'&gt;#=&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 99, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;]&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;        a.insert(&lt;span class='i'&gt;-2&lt;/span&gt;, &lt;span class='i'&gt;1&lt;/span&gt;, &lt;span class='i'&gt;2&lt;/span&gt;, &lt;span class='i'&gt;3&lt;/span&gt;)   &lt;span class='c'&gt;#=&amp;gt; [&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 99, &amp;quot;c&amp;quot;, 1, 2, 3, &amp;quot;d&amp;quot;]&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;real        &lt;span class='i'&gt;0&lt;/span&gt;m1.&lt;span class='i'&gt;193&lt;/span&gt;s&lt;tt&gt;
&lt;/tt&gt;user        &lt;span class='i'&gt;0&lt;/span&gt;m0.&lt;span class='i'&gt;738&lt;/span&gt;s&lt;tt&gt;
&lt;/tt&gt;sys        &lt;span class='i'&gt;0&lt;/span&gt;m0.&lt;span class='i'&gt;441&lt;/span&gt;s&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;Power of index made the search 5 times faster (real) on fast-ri. Not to mention, it looks beautiful under terminal:&lt;/p&gt;


	&lt;p&gt;&lt;img src='http://yudionrails.com/assets/2007/12/31/Picture_1.png' alt='' /&gt;&lt;/p&gt;


	&lt;p&gt;Also, &lt;a href='http://www.atnan.com/2007/2/2/accessing-fastri-from-textmate'&gt;Nathan&lt;/a&gt; contributed a command for textmate to have it support fast-ri as well. Here is my screen-shot:&lt;/p&gt;


	&lt;p&gt;&lt;img src='http://yudionrails.com/assets/2008/1/1/Picture_5.png' alt='' /&gt;&lt;/p&gt;


	&lt;p&gt;returns:&lt;/p&gt;


	&lt;p&gt;&lt;img src='http://yudionrails.com/assets/2008/1/1/Picture_6.png' alt='' /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;del&gt;The fast-ri author http://eigenclass.org is offline right now. I hope they can be up as soon as possible.&lt;/del&gt;&lt;/p&gt;


	&lt;p&gt;Here is the link to the fast-ri author page: &lt;a href='http://eigenclass.org//hiki.rb?fastri'&gt;http://eigenclass.org//hiki.rb?fastri&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;If you don&#8217;t use textmate and unix, there are ajax-flavored apis for you to look-up:&lt;/p&gt;


	&lt;p&gt;&lt;a href='http://www.noobkit.com/'&gt;noobkit.com&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href='http://www.gotapi.com/'&gt;gotapi.com&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2007-12-17:16</id>
    <published>2007-12-17T06:04:00Z</published>
    <updated>2008-01-10T14:47:24Z</updated>
    <category term="Code"/>
    <link href="http://yudionrails.com/2007/12/17/rails-2-0-final-released-summary-of-features" rel="alternate" type="text/html"/>
    <title>Rails 2.0 &#37325;&#35201;&#26356;&#26032;&#20197;&#21450;&#26032;&#29305;&#24615;</title>
<content type="html">
            &lt;p&gt;Rails 2.0 重要更新以及新特性系列 是针对 &lt;a href='http://ryandaigle.com'&gt;Ryan Daigle&lt;/a&gt; 的Rails2.0总结 所做的中文翻译。这个项目的唯一目的是希望帮助大家在&lt;a href='http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done'&gt;Rails 2.0发布&lt;/a&gt; 后以最方便的途径了解所有重大和有意义的更新。&lt;/p&gt;


	&lt;p&gt;当然Edge Rails的更新不仅仅是这些，Ryan作为Rails开发团队的核心一直尽心尽力的为大家做最好的总结。他的 &lt;a href='http://peepcode.com/products/rails2-pdf'&gt;Peepcode Rails2.0&lt;/a&gt; 单在美国已经售出超过1000份。&lt;/p&gt;


	&lt;p&gt;希望对将版本升级到 Rails 2.0 的开发人员有所帮助。&lt;/p&gt;


&lt;h5&gt;下面是系列的列表：（按照时间排序）&lt;/h5&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/13/edge-rails-actionmailer-base-server_settings-deprecated'&gt;ActionMailer::Base.server_settings 删减&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/13/Edge-Rails-1-month-from-now-no-longer-effed'&gt;1.月_份.自_现_在_起.不_再.出_错&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/13/what-s-new-in-edge-rails-source-code-annotations'&gt;源代码注释&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-quick-way-to-include-all-helpers-in-your-controllers'&gt;如何更快捷的调用helper&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-stop-littering-your-evnrionment-rb-with-custom-initializations'&gt;不再将乱七八糟的东西丢进您的 Environment 文件&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-activerecord-caching-provided-in-actions'&gt;Rails 为我们提供 Activerecord 缓存&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-cookie-based-sessions'&gt;记录在Cookie上的session成为默认 &lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-expanded-caching-scope'&gt;扩展缓存应用的规模&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-rhtml-and-rxml-to-die-a-slow-and-painful-death'&gt;rhtml与rxml正慢慢的死去&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-mime-type-convenience-methods'&gt;mime::type 中简便的方法&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/17/what-s-new-in-edge-rails-activerecord-explicit-caching'&gt;独特的Activerecord缓存&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/18/what-s-new-in-edge-rails-restful-routes-get-a-new-custom-delimiter'&gt;在 RESTful 路由中设定新的定界符号&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/19/what-s-new-in-edge-rails-object-transactions-are-out'&gt;对象的迁移&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/21/what-s-new-in-edge-rails-activeresource-gets-custom-methods'&gt;Activesource中的 Custom method &lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/23/what-s-new-in-edge-rails-render-now-70-more-betterer'&gt;render的使用性提升了70%&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/23/what-s-new-in-edge-rails-a-more-flexible-to_xml'&gt;更加灵活的 to_xml&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/23/what-s-new-in-edge-rails-new-database-rake-tasks'&gt;新的rake数据库命令&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/23/what-s-new-in-edge-rails-validates_numericality_of-gets-pimped'&gt;为您推介 validates_numericality_of&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/24/what-s-new-in-edge-rails-activeresource-finder-update'&gt;Activeresource 中的 finder升级&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/24/what-s-new-in-edge-rails-restful-routing-updates'&gt;has_many 与 has_one 的 RESTful 路由&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/26/what-s-new-in-edge-rails-bringin-sexy-back'&gt;带回性感的一面&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/27/what-s-new-in-edge-rails-collection-fixtures'&gt;Fixtures 堆积&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/27/what-s-new-in-edge-rails-use-rake-to-list-your-routes'&gt;使用 rake 查看路由列表&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/28/what-s-new-in-edge-rails-partials-get-layouts'&gt;Partial 也有了 Layout&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/28/what-s-new-in-edge-rails-your-db-adapter-may-have-left-the-building'&gt;新的 Rails 数据库接口&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/28/what-s-new-in-edge-rails-logging-gets-a-speed-bump'&gt;Rails 日志记录变利索点儿了&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2007/12/31/what-s-new-in-edge-rails-better-cross-site-request-forging-prevention'&gt;网站签名防护的改进&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/5/what-s-new-in-edge-rails-better-exception-handling'&gt;Exception Handling 的升级&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/5/what-s-new-in-edge-rails-specify-plugin-load-order'&gt;设置插件加载顺序&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/5/what-s-new-in-edge-rails-validations-now-allow_blank'&gt;Rails Validation 现在 允许_为空&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/6/what-s-new-in-edge-rails-fixtures-just-got-a-whole-lot-easier'&gt;Fixtures 变得简单了&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/7/what-s-new-in-edge-rails-filters-get-tweaked'&gt;filters 的更新&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://yudionrails.com/2008/1/7/what-s-new-in-edge-rails-pre-environment-load-hook'&gt;为 environment.rb 前部加载“挂钩”&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


&lt;br /&gt;
&lt;h5&gt;目前 &lt;a href='http://www.ruby-lang.org.cn'&gt;非官方Ruby中文论坛&lt;/a&gt; 正致力于Ruby on Rails相关文档的翻译:&lt;/h5&gt;
	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.ruby-lang.org.cn/forums/thread-1896-1-1.html'&gt;Netbeans 系列文集&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://www.ruby-lang.org.cn/forums/thread-1858-1-1.html'&gt;Ruby on Rails翻译术语讨论&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://groups.google.ca/group/ruby-lang-cn-doc'&gt;Ruby中文组列表&lt;/a&gt;
&lt;br /&gt;&lt;/li&gt;
	&lt;/ul&gt;


&lt;h5&gt;更多 Rails2 相关&lt;/h5&gt;

	&lt;ul&gt;
	&lt;li&gt;&lt;a href='http://robbin.javaeye.com/blog/147397'&gt;这里是 robbin 的Rails2 总结，非常好。&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2007-12-15:13</id>
    <published>2007-12-15T04:36:00Z</published>
    <updated>2007-12-15T04:38:49Z</updated>
    <category term="Mac"/>
    <link href="http://yudionrails.com/2007/12/15/laser-mac" rel="alternate" type="text/html"/>
    <title>&#22914;&#26524;&#20320;&#22312;&#32445;&#32422;</title>
<summary type="html">&lt;p&gt;记得看看这个：
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href='http://www.adafruit.com/laser/'&gt;&lt;img src='http://farm1.static.flickr.com/171/391251086_bfe96d2b52_o.jpg' alt='' /&gt;&lt;/a&gt;
...&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;记得看看这个：
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href='http://www.adafruit.com/laser/'&gt;&lt;img src='http://farm1.static.flickr.com/171/391251086_bfe96d2b52_o.jpg' alt='' /&gt;&lt;/a&gt;
...&lt;/p&gt;
&lt;p&gt;记得看看这个:&lt;/p&gt;


	&lt;p&gt;&lt;a href='http://www.adafruit.com/laser/'&gt;&lt;img src='http://farm1.static.flickr.com/165/391251050_40b34afabf_o.jpg' alt='' /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div&gt;&lt;a href='http://www.adafruit.com/laser/'&gt;&lt;img src='http://farm1.static.flickr.com/135/391251097_8f38e19c67_o.jpg' alt='' /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;a href='http://www.adafruit.com/laser/'&gt;&lt;img src='http://farm1.static.flickr.com/171/391251086_bfe96d2b52_o.jpg' alt='' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2007-12-12:3</id>
    <published>2007-12-12T06:36:00Z</published>
    <updated>2008-01-06T06:08:45Z</updated>
    <category term="Code"/>
    <link href="http://yudionrails.com/2007/12/12/getting-wired" rel="alternate" type="text/html"/>
    <title>Getting wired</title>
<content type="html">
            &lt;p&gt;荒废了一段时间的Mephisto终于有时间修好了。&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://yudionrails.com/">
    <author>
      <name>yudi</name>
    </author>
    <id>tag:yudionrails.com,2007-12-12:1</id>
    <published>2007-12-12T06:29:00Z</published>
    <updated>2007-12-14T07:58:54Z</updated>
    <category term="book and reading"/>
    <link href="http://yudionrails.com/2007/12/12/biancheng" rel="alternate" type="text/html"/>
    <title>BianCheng</title>
<summary type="html">&lt;p&gt;回忆起第一次也是唯一的一次去杭州西湖, 引用书里的话, 是那个 “雨落个不止, 溪面一片烟”. 还记得包风讲得三潭印月的雷峰塔, 远远的塔朦胧望去还是那么不真实, 南方的神秘和温柔是否都是这种调调? 这是后话, 只可惜当初正值12月寒冬, 本来已经对南方不用暖气的习惯十分抗议了, 走在西湖那一刻大概还在盘算什么时候能走出头, 好买一碗热乎的阳春面.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;回忆起第一次也是唯一的一次去杭州西湖, 引用书里的话, 是那个 “雨落个不止, 溪面一片烟”. 还记得包风讲得三潭印月的雷峰塔, 远远的塔朦胧望去还是那么不真实, 南方的神秘和温柔是否都是这种调调? 这是后话, 只可惜当初正值12月寒冬, 本来已经对南方不用暖气的习惯十分抗议了, 走在西湖那一刻大概还在盘算什么时候能走出头, 好买一碗热乎的阳春面.&lt;/p&gt;
&lt;p&gt;&lt;a href='http://www.sinaimg.cn/book/nzt/lit/biancheng//'&gt;&lt;img src='http://www.sinaimg.cn/book/nzt/lit/biancheng/U3P112T78D494F1454DT20050726172218.jpg' alt='' /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;我看书不是不快, 而是非常慢. 拿起沈从文先生短短200多页的&amp;lt;边城&gt;已经好几个礼拜了, 书签散漫的走到49页, 扎营了.&lt;/p&gt;


	&lt;p&gt;虽然不具备书评的资格, 却也想斗胆推荐一下.&lt;/p&gt;


	&lt;p&gt;有趣的开头叙述的铺垫部分里, 有这么卡哇依的一段:&lt;/p&gt;


	&lt;p&gt;..由于遍地的风俗淳朴, 便是作妓女, 也永远那么浑厚, 遇不相熟的主顾, 做生意时得现交钱, 书目弄清楚后, 再关门撒野. 人既相熟后, 钱便在可有可无之间了. 妓女多靠四川商人维持生活, 但恩情所结, 确多在水手方面. 感情好的, 别离时互相咬着嘴唇咬着颈脖发了誓, 约好了 “分手后各人不许胡闹”; 四十天或者五十天, 在船上浮着的那一个, 同在岸上蹲着的这一个, 便各在分上呆着打发这一堆日子, 尽把自己的心紧紧缚定远远的一个人. 尤其是妇人, 情感真挚痴到无可形容, 男人过了约定时间不回来, 做梦时, 就总常常梦船拢了岸,那一个人摇摇荡荡的从船跳板到了岸上, 直向身边跑来. 或日中有了疑心, 则梦里必见那个男子在桅上向另一方面唱歌, 却不理会自己. 性格弱一点儿的, 接着就在梦里投河, 吞鸦片烟; 性格强一点儿的, 便手执菜刀, 直向那水手奔去.他们生活虽那么同一般社会疏远, 但是眼泪与欢乐, 在一种爱憎得失间, 揉进了这些人生命里时, 页便同另外一片土地另外一些年轻生命相似, 全个身心为那点爱憎所浸透, 见寒作热, 忘了一切. 若有多少不同之处, 不过是这些人更真切一点, 也就是更近于糊涂一点罢了. 短期的包定, 长期的娶嫁, 一时间的关门, 这些关于一个女人身体伤得交易, 由于民情的纯朴, 身当其事的不觉的如何下流可耻, 旁观者也就从不用读书人的观念, 加以指摘与轻视. 这些人既重义轻利, 又能守信自约, 即便是娼妓, 也常常较之讲道德之羞耻的城市中绅士还更可信任.&lt;/p&gt;


	&lt;p&gt;回忆起第一次也是唯一的一次去杭州西湖, 引用书里的话, 是那个 “雨落个不止, 溪面一片烟”. 还记得包风讲得三潭印月的雷峰塔, 远远的塔朦胧望去还是那么不真实, 南方的神秘和温柔是否都是这种调调? 这是后话, 只可惜当初正值12月寒冬, 本来已经对南方不用暖气的习惯十分抗议了, 走在西湖那一刻大概还在盘算什么时候能走出头, 好买一碗热乎的阳春面.&lt;/p&gt;


	&lt;p&gt;旁人看来, 这个傻乎乎的北方人去江南, 大概是倒霉也走运.&lt;/p&gt;


	&lt;p&gt;而沈从文把自己对于南方的感情融入到&amp;lt;边城&gt;的文字里, 使它极为柔和, 快乐里带着忧郁; 如此押韵含蓄的表达家乡幸福感的方式, 既不强迫, 也不繁琐. 我还算喜欢.&lt;/p&gt;


	&lt;p&gt;所以证明了我看得慢不是因为不喜欢看.&lt;/p&gt;


	&lt;p&gt;但是看到了关于风俗民情的细节和人物纠葛的时候, 自己作为读者缺少了一份悠然自得的心情, 只好暂时存盘作罢.&lt;/p&gt;
          </content>  </entry>
</feed>
