<?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"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Gea-Suan Lin&#039;s BLOG &#187; Programming</title> <atom:link href="http://blog.gslin.org/archives/category/computer/programming/feed/" rel="self" type="application/rss+xml" /><link>http://blog.gslin.org</link> <description>幹壞事是進步最大的原動力</description> <lastBuildDate>Wed, 23 May 2012 02:33:28 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud
domain='blog.gslin.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' /> <item><title>PHP 5.4 與 php-test-helpers</title><link>http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/</link> <comments>http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/#comments</comments> <pubDate>Fri, 18 May 2012 06:16:56 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[helpers]]></category> <category><![CDATA[pecl]]></category> <category><![CDATA[php]]></category> <category><![CDATA[test]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2873</guid> <description><![CDATA[先給連結，PHP 5.4 可以編的版本在這裡：github.com/gslin/php-test-helpers，clone 下來後的安裝方法是： phpize ./configure make make install 另外自己增加 extensions.ini： extension=test_helpers.so 主要是 PHP 內部的資料結構有變動，本來存取的方式要改掉。發了 pull request 但不知道作者會不會收，如果有需要的人可以自己先裝。 會用到 php-test-helpers 是因為寫 test case 的時候要換掉整個 HttpRequest，而 RunKit 不能換系統的 HttpRequest，所以找了不少 extension 發現 php-test-helpers 可以用。 換法是這樣： set_new_overload(function($name){ if ('HttpRequest' == $name) { return &#8230; <a
href="http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F05%2F18%2F2873%2Fphp-5-4-%25e8%2588%2587-php-test-helpers%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/"  data-text="PHP 5.4 與 php-test-helpers" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>先給連結，<a
href="http://www.php.net/">PHP</a> 5.4 可以編的版本在這裡：<a
href="https://github.com/gslin/php-test-helpers">github.com/gslin/php-test-helpers</a>，clone 下來後的安裝方法是：</p><blockquote><pre>
phpize
./configure
make
make install
</pre></blockquote><p>另外自己增加 <code>extensions.ini</code>：</p><blockquote><pre>
extension=test_helpers.so
</pre></blockquote><p>主要是 PHP 內部的資料結構有變動，本來存取的方式要改掉。發了 pull request 但不知道作者會不會收，如果有需要的人可以自己先裝。</p><p>會用到 php-test-helpers 是因為寫 test case 的時候要換掉整個 <a
href="http://www.php.net/manual/en/class.httprequest.php">HttpRequest</a>，而 <a
href="http://www.php.net/manual/en/book.runkit.php">RunKit</a> 不能換系統的 HttpRequest，所以找了不少 extension 發現 php-test-helpers 可以用。</p><p>換法是這樣：</p><blockquote><pre>
set_new_overload(function($name){
    if ('HttpRequest' == $name) {
        return 'My_HttpRequest';
    }
    return $name;
});
</pre></blockquote><p>拿掉可以直接呼叫 <code>unset_new_overload();</code> 整個拔乾淨&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/05/18/2873/php-5-4-%e8%88%87-php-test-helpers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>用 Google Analytics 紀錄 JavaScript 錯誤&#8230;</title><link>http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/</link> <comments>http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/#comments</comments> <pubDate>Sat, 07 Apr 2012 00:45:06 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Network]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[WWW]]></category> <category><![CDATA[analytics]]></category> <category><![CDATA[error]]></category> <category><![CDATA[google]]></category> <category><![CDATA[javascript]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2860</guid> <description><![CDATA[「Client-Side Error Logging With Google Analytics」這篇提到可以用 Google Analytics 紀錄 JavaScript 錯誤&#8230; 不過這不是即時的紀錄，倒是作者有提到可以交叉比對，當發生 JavaScript 錯誤對於其他參數的影響： Track the impact of client-side errors on other business metrics. With the reporting in Google Analytics you can see how these errors are affecting bounce rate, &#8230; <a
href="http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F04%2F07%2F2860%2F%25e7%2594%25a8-google-analytics-%25e7%25b4%2580%25e9%258c%2584-javascript-%25e9%258c%25af%25e8%25aa%25a4%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/"  data-text="用 Google Analytics 紀錄 JavaScript 錯誤&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>「<a
href="http://www.thetaboard.com/blog/client-side-error-logging-with-google-analytics?r=378">Client-Side Error Logging With Google Analytics</a>」這篇提到可以用 <a
href="http://www.google.com/analytics/">Google Analytics</a> 紀錄 JavaScript 錯誤&#8230;</p><p>不過這不是即時的紀錄，倒是作者有提到可以交叉比對，當發生 JavaScript 錯誤對於其他參數的影響：</p><blockquote><p>Track the impact of client-side errors on other business metrics. With the reporting in Google Analytics you can see how these errors are affecting bounce rate, conversion and sales.</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/04/07/2860/%e7%94%a8-google-analytics-%e7%b4%80%e9%8c%84-javascript-%e9%8c%af%e8%aa%a4/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>在 FreeBSD 上練習 Objective C&#8230;</title><link>http://blog.gslin.org/archives/2012/04/01/2855/%e5%9c%a8-freebsd-%e4%b8%8a%e7%b7%b4%e7%bf%92-objective-c/</link> <comments>http://blog.gslin.org/archives/2012/04/01/2855/%e5%9c%a8-freebsd-%e4%b8%8a%e7%b7%b4%e7%bf%92-objective-c/#comments</comments> <pubDate>Sat, 31 Mar 2012 19:35:57 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[c]]></category> <category><![CDATA[freebsd]]></category> <category><![CDATA[gnustep]]></category> <category><![CDATA[objective]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2855</guid> <description><![CDATA[一樣用 gcc 就可以練習了，首先要先裝 lang/gnustep-base： cd /usr/ports/lang/gnustep-base; sudo make install clean 裝好後 compile 的兩個階段要對 gcc 加上不同的參數： -I/usr/local/GNUstep/System/Library/Headers 以及： -L/usr/local/GNUstep/System/Library/Libraries -lgnustep-base -lobjc 把這些參數整合到 Makefile 裡面就可以練習了。]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F04%2F01%2F2855%2F%25e5%259c%25a8-freebsd-%25e4%25b8%258a%25e7%25b7%25b4%25e7%25bf%2592-objective-c%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/04/01/2855/%e5%9c%a8-freebsd-%e4%b8%8a%e7%b7%b4%e7%bf%92-objective-c/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/04/01/2855/%e5%9c%a8-freebsd-%e4%b8%8a%e7%b7%b4%e7%bf%92-objective-c/"  data-text="在 FreeBSD 上練習 Objective C&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>一樣用 gcc 就可以練習了，首先要先裝 lang/gnustep-base：</p><blockquote><p><code>cd /usr/ports/lang/gnustep-base; sudo make install clean</code></p></blockquote><p>裝好後 compile 的兩個階段要對 gcc 加上不同的參數：</p><blockquote><p><code>-I/usr/local/GNUstep/System/Library/Headers</code></p></blockquote><p>以及：</p><blockquote><p><code>-L/usr/local/GNUstep/System/Library/Libraries -lgnustep-base -lobjc</code></p></blockquote><p>把這些參數整合到 Makefile 裡面就可以練習了。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/04/01/2855/%e5%9c%a8-freebsd-%e4%b8%8a%e7%b7%b4%e7%bf%92-objective-c/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>在 Mac OSX 上安裝 GCC</title><link>http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/</link> <comments>http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/#comments</comments> <pubDate>Sat, 31 Mar 2012 18:08:25 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[gcc]]></category> <category><![CDATA[llvm]]></category> <category><![CDATA[mac]]></category> <category><![CDATA[osx]]></category> <category><![CDATA[xcode]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2854</guid> <description><![CDATA[參考「Xcode, GCC, and Homebrew」這篇文章整理的&#8230; 先前是裝上面那篇文章作者所整理的 OSX GCC Installer，但在新的 MBA 上面發現 homebrew 會抱怨 Xcode 版本太舊？ 後來還是改裝 Apple 提供的 Command Line Tools for Xcode (需要 Apple ID) 就沒問題了。 Update：在 Twitter 被 bcse 提醒標題不對，因為實際上 gcc 指令被 alias 到 llvm-gcc-4.2，這並不是 GCC (只是相容介面，骨子裡還是 llvm)，這篇只是講 Mac &#8230; <a
href="http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F04%2F01%2F2854%2F%25e5%259c%25a8-mac-osx-%25e4%25b8%258a%25e5%25ae%2589%25e8%25a3%259d-gcc%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/"  data-text="在 Mac OSX 上安裝 GCC" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>參考「<a
href="http://kennethreitz.com/xcode-gcc-and-homebrew.html">Xcode, GCC, and Homebrew</a>」這篇文章整理的&#8230;</p><p>先前是裝上面那篇文章作者所整理的 <a
href="https://github.com/kennethreitz/osx-gcc-installer/">OSX GCC Installer</a>，但在新的 MBA 上面發現 <a
href="http://mxcl.github.com/homebrew/">homebrew</a> 會抱怨 Xcode 版本太舊？</p><p>後來還是改裝 <a
href="http://www.apple.com/">Apple</a> 提供的 <a
href="https://developer.apple.com/downloads/">Command Line Tools for Xcode</a> (需要 Apple ID) 就沒問題了。</p><p><strong>Update</strong>：在 <a
href="https://twitter.com/">Twitter</a> 被 <a
href="http://log.bcse.tw/">bcse</a> 提醒標題不對，因為實際上 gcc 指令被 alias 到 llvm-gcc-4.2，這並不是 GCC (只是相容介面，骨子裡還是 llvm)，這篇只是講 Mac OSX 上面要怎麼裝 compiler 讓 homebrew 可以用&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/04/01/2854/%e5%9c%a8-mac-osx-%e4%b8%8a%e5%ae%89%e8%a3%9d-gcc/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Fabric Engine</title><link>http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/</link> <comments>http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/#comments</comments> <pubDate>Sat, 31 Mar 2012 16:06:21 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[fabric]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[llvm]]></category> <category><![CDATA[python]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2853</guid> <description><![CDATA[Fabric Engine 號稱可以把 JavaScript 與 Python 跑到接近 C++ 速度的實力，而且強調支援 Threading&#8230; 投影片裡可以看到底層的技術包括 LLVM。 在 Python 的範例程式可以看到 import 後用專屬的 Handler 包起來：https://github.com/fabric-engine/PublicStable/blob/master/Examples/Python/Tutorial/trivialHTTPServer.py。而 NodeJS 的範例也是類似的架構：https://github.com/fabric-engine/PublicStable/blob/master/Examples/Node/Tutorial/trivialHTTPServer.js。看起來比較像是把常用的 module 寫成 C++ code 而已？這並不是什麼神奇的技術&#8230; 另外 license 是 AGPL 3 or later 這個麻煩的 license，再加上使用 GitHub 的方式超怪 (把 stable 版本與 &#8230; <a
href="http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F04%2F01%2F2853%2Ffabric-engine%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/"  data-text="Fabric Engine" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p><a
href="http://fabricengine.com/">Fabric Engine</a> 號稱可以把 JavaScript 與 Python 跑到接近 C++ 速度的實力，而且強調支援 Threading&#8230; <a
href="http://fabricengine.com/technology/">投影片</a>裡可以看到底層的技術包括 <a
href="http://llvm.org/">LLVM</a>。</p><p>在 Python 的範例程式可以看到 import 後用專屬的 Handler 包起來：<a
href="https://github.com/fabric-engine/PublicStable/blob/master/Examples/Python/Tutorial/trivialHTTPServer.py">https://github.com/fabric-engine/PublicStable/blob/master/Examples/Python/Tutorial/trivialHTTPServer.py</a>。而 NodeJS 的範例也是類似的架構：<a
href="https://github.com/fabric-engine/PublicStable/blob/master/Examples/Node/Tutorial/trivialHTTPServer.js">https://github.com/fabric-engine/PublicStable/blob/master/Examples/Node/Tutorial/trivialHTTPServer.js</a>。看起來比較像是把常用的 module 寫成 C++ code 而已？這並不是什麼神奇的技術&#8230;</p><p>另外 license 是 <a
href="http://en.wikipedia.org/wiki/Affero_General_Public_License">AGPL</a> 3 or later 這個麻煩的 license，再加上使用 <a
href="https://github.com/">GitHub</a> 的方式超怪 (把 stable 版本與 dev 版本 source 放到不同 reposiotry：<a
href="http://fabricengine.com/products/download/">Download</a>。</p><p>先把這軟體丟到一邊吧，等之後有人提起來的時候再看看&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/04/01/2853/fabric-engine/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Blind Signature&#8230;</title><link>http://blog.gslin.org/archives/2012/03/18/2852/blind-signature/</link> <comments>http://blog.gslin.org/archives/2012/03/18/2852/blind-signature/#comments</comments> <pubDate>Sun, 18 Mar 2012 11:06:31 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Political]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[Social]]></category> <category><![CDATA[blind]]></category> <category><![CDATA[signature]]></category> <category><![CDATA[voting]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2852</guid> <description><![CDATA[最近看到電子投票的事情，想起之前研究所時所學的密碼學&#8230; 是否有辦法找出一個合理的密碼系統，可以在密碼學這層解決電子投票要處理的問題： 正確性：一人一票、無法偽造、無法更改。 匿名性：無法得知單一的投票內容。 可驗證性：自己可以驗證自己的投票內容、任何人都可以驗證全體的投票總數。 其他要求：&#8230; 有很多人試著去建立這樣的系統 (在「Cryptography &#8211; Electronic Voting」這篇可以看到)，但目前沒有完美的系統可以做到&#8230; 其中 Blind Signature 在這樣的系統內常常被拿出來當工具&#8230; 之前沒仔細看懂，週末花了一些時間發現 Blind Signature 還蠻有趣的。 Blind Signature 想要與一般的 signature 一樣，讓對方簽 message m，取回 signature s。但多了一個要求：要在對方不知道 m 的內容情況下達到相同的效果。 在 Wikipedia 上有說明用 RSA 的作法，看懂以後覺得還蠻有趣的&#8230;]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F03%2F18%2F2852%2Fblind-signature%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/03/18/2852/blind-signature/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/03/18/2852/blind-signature/"  data-text="Blind Signature&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>最近看到電子投票的事情，想起之前研究所時所學的密碼學&#8230; 是否有辦法找出一個合理的密碼系統，可以在密碼學這層解決電子投票要處理的問題：</p><ul><li>正確性：一人一票、無法偽造、無法更改。</li><li>匿名性：無法得知單一的投票內容。</li><li>可驗證性：自己可以驗證自己的投票內容、任何人都可以驗證全體的投票總數。</li><li>其他要求：&#8230;</li></ul><p>有很多人試著去建立這樣的系統 (在「<a
href="http://crypto.stanford.edu/pbc/notes/crypto/voting.xhtml">Cryptography &#8211; Electronic Voting</a>」這篇可以看到)，但目前沒有完美的系統可以做到&#8230;</p><p>其中 <a
href="https://en.wikipedia.org/wiki/Blind_signature">Blind Signature</a> 在這樣的系統內常常被拿出來當工具&#8230; 之前沒仔細看懂，週末花了一些時間發現 Blind Signature 還蠻有趣的。</p><p>Blind Signature 想要與一般的 signature 一樣，讓對方簽 message <code>m</code>，取回 signature <code>s</code>。但多了一個要求：要在對方不知道 <code>m</code> 的內容情況下達到相同的效果。</p><p>在 Wikipedia 上有說明用 RSA 的作法，看懂以後覺得還蠻有趣的&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/03/18/2852/blind-signature/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>AWS EC2 (以及使用 EC2 的加值服務) 降價，以及提昇存取 AWS S3 的效能&#8230;</title><link>http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/</link> <comments>http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/#comments</comments> <pubDate>Tue, 06 Mar 2012 19:59:16 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[AWS]]></category> <category><![CDATA[Cloud]]></category> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Network]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[aws]]></category> <category><![CDATA[ec2]]></category> <category><![CDATA[price]]></category> <category><![CDATA[pricing]]></category> <category><![CDATA[s3]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2842</guid> <description><![CDATA[AWS 宣佈 EC2 以及使用 EC2 的服務 (包括 RDS 與 ElastiCache) 降價：「New, lower pricing for Amazon EC2, RDS, and ElastiCache」，降價幅度在 Reserved Instances 比較大，但 On Demand Instances 的部份也有降一些。 Amazon.com 的 CTO Werner Vogels 也寫了一篇「Driving Compute Cost Down for AWS Customers」可以看看。 另外在「Amazon S3 &#8230; <a
href="http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F03%2F07%2F2842%2Faws-ec2-%25e4%25bb%25a5%25e5%258f%258a%25e4%25bd%25bf%25e7%2594%25a8-ec2-%25e7%259a%2584%25e5%258a%25a0%25e5%2580%25bc%25e6%259c%258d%25e5%258b%2599-%25e9%2599%258d%25e5%2583%25b9%25ef%25bc%258c%25e4%25bb%25a5%25e5%258f%258a%25e6%258f%2590%25e6%2598%2587%25e5%25ad%2598%25e5%258f%2596-aws-s3-%25e7%259a%2584%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/"  data-text="AWS EC2 (以及使用 EC2 的加值服務) 降價，以及提昇存取 AWS S3 的效能&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p><a
href="http://aws.amazon.com/">AWS</a> 宣佈 <a
href="http://aws.amazon.com/ec2/">EC2</a> 以及使用 EC2 的服務 (包括 RDS 與 ElastiCache) 降價：「<a
href="http://aws.amazon.com/about-aws/whats-new/2012/03/05/new-lower-pricing-for-amazon-ec2-rds-and-elasticache/">New, lower pricing for Amazon EC2, RDS, and ElastiCache</a>」，降價幅度在 Reserved Instances 比較大，但 On Demand Instances 的部份也有降一些。</p><p><a
href="http://www.amazon.com/">Amazon.com</a> 的 CTO Werner Vogels 也寫了一篇「<a
href="http://www.allthingsdistributed.com/2012/03/ec2-price-reduction.html">Driving Compute Cost Down for AWS Customers</a>」可以看看。</p><p>另外在「<a
href="http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html">Amazon S3 Performance Tips &#038; Tricks + Seattle S3 Hiring Event</a>」這邊有 <a
href="http://www.linkedin.com/pub/doug-grismore/4/44b/b35">Doug Grismore</a> (Director of Storage Operations for AWS) 寫了一篇客座文章，說明當量很大的時候要怎麼提昇對 AWS S3 存取的效能。這篇文章裡面有提到一些內部實做的結構，藉著了解這些內部結構，規劃檔案名稱，藉此提昇效能。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/03/07/2842/aws-ec2-%e4%bb%a5%e5%8f%8a%e4%bd%bf%e7%94%a8-ec2-%e7%9a%84%e5%8a%a0%e5%80%bc%e6%9c%8d%e5%8b%99-%e9%99%8d%e5%83%b9%ef%bc%8c%e4%bb%a5%e5%8f%8a%e6%8f%90%e6%98%87%e5%ad%98%e5%8f%96-aws-s3-%e7%9a%84/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHP 5.4</title><link>http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/</link> <comments>http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/#comments</comments> <pubDate>Sun, 04 Mar 2012 01:13:14 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[php]]></category> <category><![CDATA[programming]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2840</guid> <description><![CDATA[PHP 5.4 前幾天正式釋出了：「PHP 5.4.0 released!」，新增與改變了很多東西。 有些蠻值得注意的地方： safe mode 與 magic quote 都消失了，升級後需要重新檢查 php.ini。 array_combine(array(), array()) 不再傳回 FALSE 了，總算是傳回 array()。 可以用 [] 表示 array() 了。 function 傳回 array 後可以直接對 array 取值，也就是 foo()[0] 變合法語法了。 new 完後可以直接 call function 了，也就是 (new Foo)-&#62;bar() 變合法語法了。 &#8230; <a
href="http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F03%2F04%2F2840%2Fphp-5-4%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/"  data-text="PHP 5.4" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>PHP 5.4 前幾天正式釋出了：「<a
href="http://www.php.net/archive/2012.php#id2012-03-01-1">PHP 5.4.0 released!</a>」，新增與改變了很多東西。</p><p>有些蠻值得注意的地方：</p><ul><li>safe mode 與 magic quote 都消失了，升級後需要重新檢查 <code>php.ini</code>。</li><li><code>array_combine(array(), array())</code> 不再傳回 <code>FALSE</code> 了，總算是傳回 <code>array()</code>。</li><li>可以用 <code>[]</code> 表示 <code>array()</code> 了。</li><li>function 傳回 array 後可以直接對 array 取值，也就是 <code>foo()[0]</code> 變合法語法了。</li><li>new 完後可以直接 call function 了，也就是 <code>(new Foo)-&gt;bar()</code> 變合法語法了。</li><li>內建 web server。</li></ul><p>另外記憶體使用量以及效能都有巨大的改善，尤其是對物件的 method 效能改善很多，這對 framework 是好消息。</p><p>不過應該還是等 5.4.1 之後再用吧，剛出來的這幾個版本應該有不少人會踩到地雷需要修正&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/03/04/2840/php-5-4/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Chrome 的 webRequest&#8230;</title><link>http://blog.gslin.org/archives/2012/02/29/2835/chrome-%e7%9a%84-webrequest/</link> <comments>http://blog.gslin.org/archives/2012/02/29/2835/chrome-%e7%9a%84-webrequest/#comments</comments> <pubDate>Tue, 28 Feb 2012 21:57:36 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Browser]]></category> <category><![CDATA[Computer]]></category> <category><![CDATA[GoogleChrome]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Network]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[WWW]]></category> <category><![CDATA[api]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[extension]]></category> <category><![CDATA[google]]></category> <category><![CDATA[webrequest]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2835</guid> <description><![CDATA[在變成標準前又改了一次&#8230; 從 Google Chrome 17 後，「Web Requests」從 Experimental API 變成正式的 API，有不少地方在這次轉成正式 API 後需要修改： 本來 chrome.experimental.webRequest 都改成 chrome.webRequest。 需要加上 webRequest permission，如果有 blocking 行為則要再加上 webRequestBlocking permission。 API 呼叫的參數可能會不一樣，參考官方的文件的說明比較清楚。我遇到的是使用 onBeforeRequest.addListener 時需要多加上 urls 參數。 不再需要 expiermental permission，不過沒拿掉不影響運作。 在 Chrome Web Store 上面已經可以看到一些跟控制 Referrer 有關的延伸套件了&#8230;]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F02%2F29%2F2835%2Fchrome-%25e7%259a%2584-webrequest%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/02/29/2835/chrome-%e7%9a%84-webrequest/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/02/29/2835/chrome-%e7%9a%84-webrequest/"  data-text="Chrome 的 webRequest&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>在變成標準前又改了一次&#8230;</p><p>從 <a
href="http://www.google.com/chrome">Google Chrome</a> 17 後，「<a
href="http://code.google.com/chrome/extensions/stable/webRequest.html">Web Requests</a>」從 Experimental API 變成正式的 API，有不少地方在這次轉成正式 API 後需要修改：</p><ul><li>本來 <code>chrome.experimental.webRequest</code> 都改成 <code>chrome.webRequest</code>。</li><li>需要加上 <code>webRequest</code> permission，如果有 blocking 行為則要再加上 <code>webRequestBlocking</code> permission。</li><li>API 呼叫的參數可能會不一樣，參考官方的文件的說明比較清楚。我遇到的是使用 <code>onBeforeRequest.addListener</code> 時需要多加上 <code>urls</code> 參數。</li><li>不再需要 <code>expiermental</code> permission，不過沒拿掉不影響運作。</li></ul><p>在 <a
href="https://chrome.google.com/webstore">Chrome Web Store</a> 上面已經可以看到一些跟控制 Referrer 有關的延伸套件了&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/02/29/2835/chrome-%e7%9a%84-webrequest/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Google Chrome Extension 內攔截所有的 url request&#8230;</title><link>http://blog.gslin.org/archives/2012/02/08/2821/google-chrome-extension-%e5%85%a7%e6%94%94%e6%88%aa%e6%89%80%e6%9c%89%e7%9a%84-url-request/</link> <comments>http://blog.gslin.org/archives/2012/02/08/2821/google-chrome-extension-%e5%85%a7%e6%94%94%e6%88%aa%e6%89%80%e6%9c%89%e7%9a%84-url-request/#comments</comments> <pubDate>Wed, 08 Feb 2012 03:43:43 +0000</pubDate> <dc:creator>Gea-Suan Lin</dc:creator> <category><![CDATA[Browser]]></category> <category><![CDATA[Computer]]></category> <category><![CDATA[GoogleChrome]]></category> <category><![CDATA[Murmuring]]></category> <category><![CDATA[Network]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[WWW]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[extension]]></category> <category><![CDATA[google]]></category> <category><![CDATA[referer]]></category><guid
isPermaLink="false">http://blog.gslin.org/?p=2821</guid> <description><![CDATA[之前寫了一個處理 Referer header 的 extension，使用 chrome.experimental.webRequest.onBeforeSendHeaders.addListener 攔截所有的 url 然後處理 Referer header。 之前只需要在 manifest.json 裡面加上 experimental 就可以使用，但是前陣子發現失效。剛剛在「onBeforeSendHeaders listeners aren&#8217;t triggering」這個 issue 裡面找到解法：現在需要多加上 &#60;all_urls&#62; 這組權限。]]></description> <content:encoded><![CDATA[<div
class="bottomcontainerBox" style=""><div
style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <iframe
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.gslin.org%2Farchives%2F2012%2F02%2F08%2F2821%2Fgoogle-chrome-extension-%25e5%2585%25a7%25e6%2594%2594%25e6%2588%25aa%25e6%2589%2580%25e6%259c%2589%25e7%259a%2584-url-request%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div><div
style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <g:plusone size="medium" href="http://blog.gslin.org/archives/2012/02/08/2821/google-chrome-extension-%e5%85%a7%e6%94%94%e6%88%aa%e6%89%80%e6%9c%89%e7%9a%84-url-request/"></g:plusone></div><div
style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"> <a
href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.gslin.org/archives/2012/02/08/2821/google-chrome-extension-%e5%85%a7%e6%94%94%e6%88%aa%e6%89%80%e6%9c%89%e7%9a%84-url-request/"  data-text="Google Chrome Extension 內攔截所有的 url request&#8230;" data-count="horizontal" data-via="gslin"></a></div></div><div
style="clear:both"></div><div
style="padding-bottom:4px;"></div><p>之前寫了一個處理 <code>Referer</code> header 的 extension，使用 <code>chrome.experimental.webRequest.onBeforeSendHeaders.addListener</code> 攔截所有的 url 然後處理 <code>Referer</code> header。</p><p>之前只需要在 <code>manifest.json</code> 裡面加上 <code>experimental</code> 就可以使用，但是前陣子發現失效。剛剛在「<a
href="https://code.google.com/p/chromium/issues/detail?id=101275">onBeforeSendHeaders listeners aren&#8217;t triggering</a>」這個 issue 裡面找到解法：現在需要多加上 <code>&lt;all_urls&gt;</code> 這組權限。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gslin.org/archives/2012/02/08/2821/google-chrome-extension-%e5%85%a7%e6%94%94%e6%88%aa%e6%89%80%e6%9c%89%e7%9a%84-url-request/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: blog.gslin.org @ 2012-05-26 05:41:05 -->
