<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Suave's Blog</title>
	<atom:link href="http://www.surui.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.surui.net</link>
	<description>anyway, so far so good, just keep going!</description>
	<pubDate>Wed, 27 May 2009 15:57:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>issue about install SCIM on OLPC</title>
		<link>http://www.surui.net/2009/05/27/issue-about-install-scim-on-olpc/</link>
		<comments>http://www.surui.net/2009/05/27/issue-about-install-scim-on-olpc/#comments</comments>
		<pubDate>Wed, 27 May 2009 15:57:53 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[OLPC]]></category>

		<category><![CDATA[SCIM]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=277</guid>
		<description><![CDATA[好朋友有台 OLPC 刚升级了 image，装不上中文输入法。今天下午我也一起看了一下，发现是 package dependencies 的问题。
SCIM 需要一个 libgnomecanvas 的包，它依赖与另外一个 libglade2，系统上装的是一... ]]></description>
			<content:encoded><![CDATA[<p>好朋友有台 OLPC 刚升级了 image，装不上中文输入法。今天下午我也一起看了一下，发现是 package dependencies 的问题。</p>
<p>SCIM 需要一个 libgnomecanvas 的包，它依赖与另外一个 libglade2，系统上装的是一个 2.6.2-5 的版本，升级无效，直接下载了一个 rpm，用 rpm 装不上，但是 yum localinstall 显示安装成功，我就真的以为成功了。</p>
<p>然后继续安装 SCIM，问题依旧，显示 libglade2 还是老版本。下载 libglade2 然后重装，问题依旧。</p>
<p>后来发现一个可能是线索的提示，说 libglade2 安装成功，但是缺少 public key，查了一下可能是下的那个 rpm 的 publisher 不能被 OLPC 验证。</p>
<p>问题最终还没解决，有遇到类似情况的朋友请指教。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/05/27/issue-about-install-scim-on-olpc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>acts_as_taggable_on_steroids 与 will_paginate 的整合</title>
		<link>http://www.surui.net/2009/05/08/acts_as_taggable_on_steroids-%e4%b8%8e-will_paginate-%e7%9a%84%e6%95%b4%e5%90%88/</link>
		<comments>http://www.surui.net/2009/05/08/acts_as_taggable_on_steroids-%e4%b8%8e-will_paginate-%e7%9a%84%e6%95%b4%e5%90%88/#comments</comments>
		<pubDate>Fri, 08 May 2009 03:03:59 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[acts_as_taggable_on_steroids]]></category>

		<category><![CDATA[will_paginate]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=273</guid>
		<description><![CDATA[使用 acts_as_taggable_on_steroids 之后经常找有某个 tag 的 item：
@items = Item.find_tagged_with(&#8221;tag&#8221;)
找到很多需要分页显示，于是顺利成章的在后面加上：
@items = Item.find_tagged_with(&#8221;tag&#8221;).pagi... ]]></description>
			<content:encoded><![CDATA[<p>使用 acts_as_taggable_on_steroids 之后经常找有某个 tag 的 item：</p>
<blockquote><p>@items = Item.find_tagged_with(&#8221;tag&#8221;)</p></blockquote>
<p>找到很多需要分页显示，于是顺利成章的在后面加上：</p>
<blockquote><p>@items = Item.find_tagged_with(&#8221;tag&#8221;).paginate :page =&gt; paramsp[:page] || 1, :per_page =&gt; 20</p></blockquote>
<p>发现无效！原因是 find_tagged_with 返回的是 Array，will_paginate 强大的分页功能瞬时歇菜。</p>
<p>于是乎整合一下两者：</p>
<blockquote><p>module ActiveRecord<br />
module Acts #:nodoc:<br />
module Taggable #:nodoc:<br />
module SingletonMethods</p>
<p>def count_tagged_with(*args)<br />
options = find_options_for_find_tagged_with(*args)<br />
options.blank? ? 0 : count(&#8221;#{table_name}.id&#8221;, options.merge(:select =&gt; nil, :distinct =&gt; true))<br />
end</p>
<p>def _paginate_tagged_with(tags, options = {})<br />
page, per_page = wp_parse_options!(options)<br />
offset = (page.to_i - 1) * per_page<br />
count = count_tagged_with(tags, options)<br />
options.merge!(:offset =&gt; offset, :limit =&gt; per_page.to_i)<br />
items = find_tagged_with(tags, options)<br />
returning WillPaginate::Collection.new(page, per_page, count) do |p|<br />
p.replace items<br />
end<br />
end</p>
<p>end<br />
end<br />
end<br />
end</p></blockquote>
<p>之后调用</p>
<blockquote><p>@items = Item.paginate_tagged_with tag, :page =&gt; paramsp[:page] || 1, :per_page =&gt; 20</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/05/08/acts_as_taggable_on_steroids-%e4%b8%8e-will_paginate-%e7%9a%84%e6%95%b4%e5%90%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>restful_authentication plugin 在IE上弹出登录窗口的问题</title>
		<link>http://www.surui.net/2009/05/03/restful_authentication-plugin-%e5%9c%a8ie%e4%b8%8a%e5%bc%b9%e5%87%ba%e7%99%bb%e5%bd%95%e7%aa%97%e5%8f%a3%e7%9a%84%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.surui.net/2009/05/03/restful_authentication-plugin-%e5%9c%a8ie%e4%b8%8a%e5%bc%b9%e5%87%ba%e7%99%bb%e5%bd%95%e7%aa%97%e5%8f%a3%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Sun, 03 May 2009 04:07:58 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[ie]]></category>

		<category><![CDATA[restful_authentication]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=271</guid>
		<description><![CDATA[我在做过的 Rails 项目中一直使用 restful_authentication plugin，前一段有个别人向我反应用IE访问 1KG.org，点击一些需要登录后才能用的功能时，不能跳转到登录界面，而是弹出一个窗口提示输入 usern... ]]></description>
			<content:encoded><![CDATA[<p>我在做过的 Rails 项目中一直使用 restful_authentication plugin，前一段有个别人向我反应用IE访问 <a title="多背一公斤公益社区" href="http://1kg.org" target="_blank">1KG.org</a>，点击一些需要登录后才能用的功能时，不能跳转到登录界面，而是弹出一个窗口提示输入 username &amp; password，起初我在 VMWare 虚拟的XP中拿IE6测了一下，没有这样的情况，又拿周围一两台机器试了试，也没发现问题，于是想当然的以为是那哥们的机器中了流氓插件，导致IE不正常。</p>
<p>这两天配合<a title="易助网，消费新时尚" href="http://www.warmfund.org" target="_blank">易助网</a>的 Boyu 同学在 <a title="多背一公斤公益社区" href="http://1kg.org" target="_blank">1KG.org</a> 上添加 Google AdWords Tracking code 时，他说自己身边的 IE 都有真个问题，我才意识到问题可能具有普遍性！</p>
<p>老婆电脑上有IE7，测试一下，也有弹窗的问题！</p>
<p>Google 一番，发现问题是 IE 发送不太合格的 <a href="http://takewii.com/index.php?hl=f5&amp;q=uggc%3A%2F%2Ftrzvafgnyygung.jbeqcerff.pbz%2F2008%2F05%2F14%2Fvr6-npprcg-urnqre-vf-snhygl%2F" target="_blank">Accepts</a>，导致 rails 不能正确识别请求的类型造成的弹窗。</p>
<p>整个问题在<a href="http://rails_security.lighthouseapp.com/projects/15332/tickets/5-using-http-basic-authentication-with-ie-not-working" target="_blank">一个 ticket 中讲的很详细</a>。</p>
<p>我用的解决办法是将 format.any 改成 format.any(:js, :xml)：</p>
<pre><code class="ruby"><span class="keywords">def</span> access_denied
    respond_to <span class="keywords">do</span> |format|
      format.html <span class="keywords">do</span>
        store_location
        redirect_to new_session_path
      <span class="keywords">end</span>
      format.any<span class="brackets">(</span><span class="symbol">:js</span>, <span class="symbol">:xml</span><span class="brackets">)</span> <span class="keywords">do</span>
        request_http_basic_authentication <span class="string">'Web Password'</span>
      <span class="keywords">end</span>
    <span class="keywords">end</span>
  <span class="keywords">end
</span></code></pre>
<p>欢迎各位用 IE 到 <a title="多背一公斤公益社区" href="http://1kg.org" target="_blank">1KG.org</a> 上测试一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/05/03/restful_authentication-plugin-%e5%9c%a8ie%e4%b8%8a%e5%bc%b9%e5%87%ba%e7%99%bb%e5%bd%95%e7%aa%97%e5%8f%a3%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FCKEditor里面添加链接默认在新窗口打开</title>
		<link>http://www.surui.net/2009/04/27/fckeditor%e9%87%8c%e9%9d%a2%e6%b7%bb%e5%8a%a0%e9%93%be%e6%8e%a5%e9%bb%98%e8%ae%a4%e5%9c%a8%e6%96%b0%e7%aa%97%e5%8f%a3%e6%89%93%e5%bc%80/</link>
		<comments>http://www.surui.net/2009/04/27/fckeditor%e9%87%8c%e9%9d%a2%e6%b7%bb%e5%8a%a0%e9%93%be%e6%8e%a5%e9%bb%98%e8%ae%a4%e5%9c%a8%e6%96%b0%e7%aa%97%e5%8f%a3%e6%89%93%e5%bc%80/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 03:01:43 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[fckeditor]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=269</guid>
		<description><![CDATA[在 1KG.org 上添加 FCKEditor 之后用户添加链接, 需要自己设置链接的打开方式, 但是对用户来说多了两三步操作, 不爽!
今天搜索了一下解决, 比想象的简单, 山寨方式搞定之:

打开 fckeditor\editor\dialog... ]]></description>
			<content:encoded><![CDATA[<p>在 <a href="http://1KG.org" title="http://1KG.org" target="_blank">1KG.org</a> 上添加 FCKEditor 之后用户添加链接, 需要自己设置链接的打开方式, 但是对用户来说多了两三步操作, <a href="http://1kg.org/boards/3837/topics/847" target="_blank">不爽</a>!</p>
<p>今天<a href="http://www.google.com/search?q=fckeditor+link+target+_blank&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:zh-CN:official&amp;client=firefox-a" target="_blank">搜索了一下</a>解决, 比想象的简单, 山寨方式搞定之:</p>
<ol>
<li>打开 <span id="spBody" class="Forum_Normal">fckeditor\editor\dialog\fck_link.html</span></li>
<li><span id="spBody" class="Forum_Normal">查找 </span><span id="spBody" class="Forum_Normal">id=&#8221;cmbTarget&#8221; 的 select 标签, 添加 </span><span id="spBody" class="Forum_Normal">selected=&#8221;selected&#8221; 属性</span></li>
<li><span id="spBody" class="Forum_Normal">查找 id=&#8221;txtTargetFrame&#8221; 的 input 标签, 添加 </span><span id="spBody" class="Forum_Normal">value=&#8221;_blank&#8221; 属性</span></li>
</ol>
<p>完成!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/04/27/fckeditor%e9%87%8c%e9%9d%a2%e6%b7%bb%e5%8a%a0%e9%93%be%e6%8e%a5%e9%bb%98%e8%ae%a4%e5%9c%a8%e6%96%b0%e7%aa%97%e5%8f%a3%e6%89%93%e5%bc%80/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gem Browser</title>
		<link>http://www.surui.net/2009/04/03/gem-browser/</link>
		<comments>http://www.surui.net/2009/04/03/gem-browser/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 07:02:20 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[gem]]></category>

		<category><![CDATA[rdoc]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=267</guid>
		<description><![CDATA[看 gem 文档除了 gem_server 发现了一个 bdoc, 还不错.
安装简单:
git clone github.com/manalang/bdoc.git
gem build bdoc.gemspec
gem install bdoc-0.2.0.gem
完成
使用只要在 term 里执行 bdoc 即可... ]]></description>
			<content:encoded><![CDATA[<p>看 gem 文档除了 gem_server 发现了一个 <a href="http://github.com/manalang/bdoc/tree/master" target="_blank">bdoc</a>, 还不错.</p>
<p>安装简单:</p>
<blockquote><p>git clone <a href="git://github.com/manalang/bdoc.git" title="git://github.com/manalang/bdoc.git" target="_blank">github.com/manalang/bdoc.git</a><br />
gem build bdoc.gemspec<br />
gem install bdoc-0.2.0.gem</p></blockquote>
<p>完成</p>
<p>使用只要在 term 里执行 bdoc 即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/04/03/gem-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Doing a startup in the real world</title>
		<link>http://www.surui.net/2009/03/31/doing-a-startup-in-the-real-world/</link>
		<comments>http://www.surui.net/2009/03/31/doing-a-startup-in-the-real-world/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 13:48:40 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Every day]]></category>

		<category><![CDATA[dhh]]></category>

		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=264</guid>
		<description><![CDATA[DHH 的一个 speech
VIDEO:

David Heinemeier Hansson - FOWA Dublin 2009 from Carsonified on Vimeo.
SLIDE:

David Heinemeir Hanson
View more presentations from Carsonified Team.
... ]]></description>
			<content:encoded><![CDATA[<p>DHH 的一个 speech</p>
<p>VIDEO:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="220" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3899696&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="220" src="http://vimeo.com/moogaloop.swf?clip_id=3899696&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://vimeo.com/3899696">David Heinemeier Hansson - FOWA Dublin 2009</a> from <a href="http://vimeo.com/carsonified">Carsonified</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>SLIDE:<br />
<img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyMzg1MDUzOTU3NTcmcHQ9MTIzODUwNzE5MDAyOSZwPTEwMTkxJmQ9Jmc9MiZ*PSZvPTcxZWEwYjM1NjhlZDQxOGRhOTNkMzY1MTgyMjc3NDUz.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_1202088" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="David Heinemeir Hanson" href="http://www.slideshare.net/carsonified/david-heinemeir-hanson?type=powerpoint">David Heinemeir Hanson</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=davidheinemeir-090326080934-phpapp02&amp;stripped_title=david-heinemeir-hanson" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=davidheinemeir-090326080934-phpapp02&amp;stripped_title=david-heinemeir-hanson" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/carsonified">Carsonified Team</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/03/31/doing-a-startup-in-the-real-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>validates_uniqueness_of 对中文验证无效</title>
		<link>http://www.surui.net/2009/03/19/validates_uniqueness_of-%e5%af%b9%e4%b8%ad%e6%96%87%e9%aa%8c%e8%af%81%e6%97%a0%e6%95%88/</link>
		<comments>http://www.surui.net/2009/03/19/validates_uniqueness_of-%e5%af%b9%e4%b8%ad%e6%96%87%e9%aa%8c%e8%af%81%e6%97%a0%e6%95%88/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 04:03:26 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[unicode]]></category>

		<category><![CDATA[validates_uniqueness_of]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=260</guid>
		<description><![CDATA[用 restful_authutication 遇到一个奇怪的问题, validates_uniqueness_of 对中文验证无效, 搜索一下发现有人报告过, 看上去已经解决了, 但是在 2.2.2 中仍然不行, patch 中修改的是
--- a/activerecord/lib/active_record... ]]></description>
			<content:encoded><![CDATA[<p>用 restful_authutication 遇到一个奇怪的问题, validates_uniqueness_of 对中文验证无效, 搜索一下发现<a href="http://rails.lighthouseapp.com/projects/8994/tickets/932-validates_uniqueness_of-is-unicode-unaware-3" target="_blank">有人报告过</a>, 看上去已经解决了, 但是在 2.2.2 中仍然不行, patch 中修改的是</p>
<pre>--- a/activerecord/lib/active_record/validations.rb
+++ b/activerecord/lib/active_record/validations.rb
@@ -664,7 +664,7 @@ module ActiveRecord
             condition_params = [value]
           else
             condition_sql = "LOWER(#{sql_attribute}) #{comparison_operator}"
-            condition_params = [value.downcase]
+            condition_params = [value.chars.downcase]
           end</pre>
<p>但是 2.2.2 中看到的代码是 condition_params = [value.mb_chars.downcase]</p>
<p>没仔细研究失效的原因, 自己加了点代码解决:</p>
<pre>validates_uniqueness_of   :login,    :if =&gt; Proc.new {|user| !user.login.is_utf8?}</pre>
<p>当 login 是 utf-8 的时候直接跳过这步, 接下来自己再验证一下:</p>
<pre>def validate
  user = User.find(:first, :conditions =&gt; ["login=?", self.login])
  if !user || user != self
    self.errors.add :login, "用户名已被注册"
  end
end</pre>
<p>问题解决了, 但不一定是最好的办法, 有人也遇到同样的问题么?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/03/19/validates_uniqueness_of-%e5%af%b9%e4%b8%ad%e6%96%87%e9%aa%8c%e8%af%81%e6%97%a0%e6%95%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>关于 wordpress 可用性分析的一个 slide</title>
		<link>http://www.surui.net/2009/03/08/%e5%85%b3%e4%ba%8e-wordpress-%e5%8f%af%e7%94%a8%e6%80%a7%e5%88%86%e6%9e%90%e7%9a%84%e4%b8%80%e4%b8%aa-slide/</link>
		<comments>http://www.surui.net/2009/03/08/%e5%85%b3%e4%ba%8e-wordpress-%e5%8f%af%e7%94%a8%e6%80%a7%e5%88%86%e6%9e%90%e7%9a%84%e4%b8%80%e4%b8%aa-slide/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 17:51:06 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Web Related]]></category>

		<category><![CDATA[useability]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=257</guid>
		<description><![CDATA[How Not To Get Noticed
View more presentations from edanzico. (tags: informationarchitecture usability)

讲的非常好，关于可用性有两点很重要：findability, consistency。做到这两点，用户就不用满屏找了，这样才是 don&#82... ]]></description>
			<content:encoded><![CDATA[<div id="__ss_89124" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="How Not To Get Noticed" href="http://www.slideshare.net/edanzico/how-not-to-get-noticed?type=presentation">How Not To Get Noticed</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=how-not-to-get-noticed4368&amp;stripped_title=how-not-to-get-noticed" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=how-not-to-get-noticed4368&amp;stripped_title=how-not-to-get-noticed" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/edanzico">edanzico</a>. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/informationarchitecture">informationarchitecture</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/usability">usability</a>)</div>
</div>
<p>讲的非常好，关于可用性有两点很重要：findability, consistency。做到这两点，用户就不用满屏找了，这样才是 don&#8217;t make me think</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/03/08/%e5%85%b3%e4%ba%8e-wordpress-%e5%8f%af%e7%94%a8%e6%80%a7%e5%88%86%e6%9e%90%e7%9a%84%e4%b8%80%e4%b8%aa-slide/feed/</wfw:commentRss>
		</item>
		<item>
		<title>use Paperclip on Passenger(mod_rails)</title>
		<link>http://www.surui.net/2009/03/04/use-paperclip-on-passengermod_rails/</link>
		<comments>http://www.surui.net/2009/03/04/use-paperclip-on-passengermod_rails/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 07:02:14 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[mod_rails]]></category>

		<category><![CDATA[paperclip]]></category>

		<category><![CDATA[passenger]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=255</guid>
		<description><![CDATA[之前在 mongrel 用 paperclip 一直没有问题, 这两天换到 passenger 上面发现上传图片生成缩略图的时候总说找不到文件, Google 之发现在 passenger 上面用 paperclip 需要手工声明一下 convert 命令的路径. 可... ]]></description>
			<content:encoded><![CDATA[<p>之前在 mongrel 用 paperclip 一直没有问题, 这两天换到 passenger 上面发现上传图片生成缩略图的时候总说找不到文件, Google 之发现在 passenger 上面用 paperclip 需要手工声明一下 convert 命令的路径. 可以在 config/initializers/ 下面增加一个 paperclip.rb</p>
<p>if RAILS_ENV == &#8220;development&#8221;<br />
Paperclip.options[:image_magick_path] = &#8216;/opt/local/bin/&#8217;<br />
else<br />
Paperclip.options[:image_magick_path] = &#8216;/usr/bin/&#8217;<br />
end</p>
<p>参考链接:</p>
<p><a href="https://groups.google.com/group/paperclip-plugin/browse_thread/thread/42eb7f12562faf3a?pli=1" target="_blank">Paperclip + Passenger = ;(</a><br />
<a href="http://thoughtbot.lighthouseapp.com/projects/8794/tickets/109-phusion-passenger-mod_rails-issue-on-osx" target="_blank">Phusion Passenger(mod_rails) on OS X</a><br />
<a href="http://www.codestacker.com/codes/140-paperclip-running-in-passenger" target="_blank">paperclip running in passenger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/03/04/use-paperclip-on-passengermod_rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>catch your railsapp&#8217;s exception</title>
		<link>http://www.surui.net/2009/02/25/catch-your-railsapps-exception/</link>
		<comments>http://www.surui.net/2009/02/25/catch-your-railsapps-exception/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 06:28:30 +0000</pubDate>
		<dc:creator>suave.su</dc:creator>
		
		<category><![CDATA[Ruby and Rails]]></category>

		<category><![CDATA[exception]]></category>

		<category><![CDATA[hoptoad]]></category>

		<guid isPermaLink="false">http://www.surui.net/?p=253</guid>
		<description><![CDATA[跑在线上的 railsapp 抛出来的 exception 很重要, 依靠它才能发现实际的 bug, 但是看 production log 是完全不靠谱的方式, 之前有个 exception notifier plugin 可以在出现异常的时候发邮件, 但是我没有 smtp serv... ]]></description>
			<content:encoded><![CDATA[<p>跑在线上的 railsapp 抛出来的 exception 很重要, 依靠它才能发现实际的 bug, 但是看 production log 是完全不靠谱的方式, 之前有个 exception notifier plugin 可以在出现异常的时候发邮件, 但是我没有 smtp server 怎么办?</p>
<p>急人之所急, 想人之所想, 老外抓住了这个细分市场, 出现了两个专门捕捉 exception 的 SaaS: <a href="http://getexceptional.com" title="http://getexceptional.com" target="_blank">getexceptional.com</a>, <a href="http://hoptoadapp.com" title="http://hoptoadapp.com" target="_blank">hoptoadapp.com</a></p>
<p>我用了第二个, 界面比较Q, 注册个免费帐户(高级服务是要收费的), 安装指定插件, 但是测试插件出现问题:</p>
<pre><code>$rake hoptoad:test
(in /Users/greg/code/coupe)
rake aborted!
no such file to load -- application
</code></pre>
<p>Google 一下<a href="http://help.hoptoadapp.com/discussions/problems/33-does-hoptoad-work-with-rails-23" target="_blank">这个问题是有普遍性的</a>, 因为用了 rails edge (2.3), 有人写了<a href="http://github.com/hardbap/hoptoad_notifier/tree/master" target="_blank">修改版本</a>, 我试了一下可以用.</p>
<p>不过建议等 rails 2.3 发布了, 还是换回官方版本.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.surui.net/2009/02/25/catch-your-railsapps-exception/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
