<?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>Tsai I-Ta&#8217;s Blog &#187; Programming</title>
	<atom:link href="http://blog.tsaiid.idv.tw/category/computer/programming-computer/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tsaiid.idv.tw</link>
	<description>To cure sometimes, to relieve often, to comfort always.</description>
	<lastBuildDate>Wed, 25 Apr 2012 01:39:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>GM Script &#8211; 在韋氏字典插入KK音標</title>
		<link>http://blog.tsaiid.idv.tw/2011/03/gm-insert-kk-in-mw-dict/</link>
		<comments>http://blog.tsaiid.idv.tw/2011/03/gm-insert-kk-in-mw-dict/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 14:46:30 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[程式設計]]></category>
		<category><![CDATA[醫學]]></category>
		<category><![CDATA[電腦]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=2436</guid>
		<description><![CDATA[自己早已是個追求正確醫學英文發音的愛好者，根據典公公的說法，已有走火入魔的傾向。我長期的使用 Merriam-Webster 的線上字典矯正發音，甚至也裝了他們提供的 android app，所以 PCMan 發表了這篇《[分享] 學習正確醫學英文發音的好工具》時我便相當認同。 那是一個可以線上即時轉換韋氏音標成為 KK 音標的程式，下載來看，居然是個 HTML Application (HTA) 檔，這讓我當時正在用 Ubuntu 的狀況下有點難使用，翻了一下 source code，發現似乎有機會轉成 Greasemonkey script，讓有支援的瀏覽器 (Firefox, Chrome &#8230;) 也能使用，於是便趁著空檔，嘗試了一下。 畢竟這是我第一個 Greasemonkey script，起步相當緩慢，PCMan 用的是純的 javascript，去抓字串 position 的部份看起來頗為複雜，剛好又 google 到原來 Greasemonkey 也可以用 jQuery 來做，所以就整個改寫了。 第一版也只是很簡單的把音標做轉換，但 test 了幾個單字後發現如果有多重發音或是多個單字在同一頁裡時，便沒辦法正確的逐一轉換，這似乎正好是 jQuery 的強項，所以只要小改寫即可。 *圖中黃色部份即為自動插入之KK音標 但這時卻遇到大麻煩，Firefox 下可以正常執行，但 Chrome 裡的 greasemonkey 支援不夠完整，不支援 @require 語法，以致於無法載入 jQuery，網路上搜尋了幾個在 script 裡直接 [...]]]></description>
			<content:encoded><![CDATA[<p>自己早已是個追求正確醫學英文發音的愛好者，根據典公公的說法，已有走火入魔的傾向。我長期的使用 <a href="http://www.merriam-webster.com/medlineplus/">Merriam-Webster 的線上字典</a>矯正發音，甚至也裝了他們提供的 <a href="https://market.android.com/details?id=com.slovoed.merriam_webster.english_english_medical">android app</a>，所以 <a href="http://pcmanx.blogspot.com/">PCMan</a> 發表了這篇《<a href="http://pcmanx.blogspot.com/2011/03/blog-post_18.html">[分享] 學習正確醫學英文發音的好工具</a>》時我便相當認同。</p>
<p><span id="more-2436"></span></p>
<p>那是一個可以線上即時轉換韋氏音標成為 KK 音標的程式，下載來看，居然是個 <a href="http://en.wikipedia.org/wiki/HTML_Application">HTML Application (HTA)</a> 檔，這讓我當時正在用 <a href="http://www.ubuntu.com/">Ubuntu</a> 的狀況下有點難使用，翻了一下 source code，發現似乎有機會轉成 <a href="http://en.wikipedia.org/wiki/Greasemonkey">Greasemonkey</a> script，讓有支援的瀏覽器 (Firefox, Chrome &#8230;) 也能使用，於是便趁著空檔，嘗試了一下。</p>
<p>畢竟這是我第一個 Greasemonkey script，起步相當緩慢，PCMan 用的是純的 javascript，去抓字串 position 的部份看起來頗為複雜，剛好又 google 到原來 Greasemonkey 也可以用 <a href="http://jquery.com/">jQuery</a> 來做，所以就整個改寫了。</p>
<p>第一版也只是很簡單的把音標做轉換，但 test 了幾個單字後發現如果有多重發音或是多個單字在同一頁裡時，便沒辦法正確的逐一轉換，這似乎正好是 jQuery 的強項，所以只要小改寫即可。</p>
<div class="center_picture"><img src="http://blog.tsaiid.idv.tw/wp-content/uploads/2011/03/mw-dict-with-kk.png" alt="MW dictionary with KK" /><br/>*圖中黃色部份即為自動插入之KK音標</div>
<p>但這時卻遇到大麻煩，Firefox 下可以正常執行，但 Chrome 裡的 greasemonkey 支援不夠完整，不支援 @require 語法，以致於無法載入 jQuery，網路上搜尋了幾個在 script 裡直接 include jQuery 的方法，幾番改寫，雖然 Chrome 能動，但這時 Firefox 反而爛掉了，頭大啊！目前計畫也就暫時卡住。</p>
<p>現在 script 放在 <a href="http://userscripts.org/">userscripts.org</a> 上 &#8212; <a href="http://userscripts.org/scripts/show/99351">Merriam-Webster Dictionary With KK</a>，待有心人士或哪天心血來潮，靈感乍現時再來處理啦！</p>
<div id="date">2011.03.20 (補)</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2011/03/gm-insert-kk-in-mw-dict/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>冼鏡光老師部落格的 Feed</title>
		<link>http://blog.tsaiid.idv.tw/2010/12/feed-of-cksheng-blog/</link>
		<comments>http://blog.tsaiid.idv.tw/2010/12/feed-of-cksheng-blog/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 13:35:05 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[攝影]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[網路]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=2346</guid>
		<description><![CDATA[有在看攝影 blog 的人可能會知道一個人 &#8211; 冼鏡光，他在 DCView 有個 blog，裡頭介紹了許多老相機、老鏡頭，還有攝影相關的知識、常識，要定期的 follow 它最簡單的方式就是透過 feed，但無奈的是 DCView 提供的 feed 卻有個怪問題：一直在更改文章的 url，這樣會導致 google reader 一直認為有新文章，所以用 Y! Pipes 改寫了一下。 原本想利用一個機制可以儲存閱讀 history，但一直無法成功，又想利用相同的 guid 來做辨識，但 google reader 又不理它，後來發現該 blog 的文章末端都會附上一組文章的 url，（莫非冼老師也發現 url 改來改去的問題？），所以把它抓出來填到 link 和 guid 欄位裡就 ok 了。 當然這個作法只要冼老師不再提供固定的 url 就會失效，不過目前看起來運作良好，所以放出來看看。 該 pipe 位址: http://pipes.yahoo.com/tsaiid/feedofckshengblog 2010.12.15]]></description>
			<content:encoded><![CDATA[<p>有在看攝影 blog 的人可能會知道一個人 &#8211; 冼鏡光，他在 DCView 有個 <a href="http://blog.dcview.com/blog.php?m=ATgGYQ%3D%3D">blog</a>，裡頭介紹了許多老相機、老鏡頭，還有攝影相關的知識、常識，要定期的 follow 它最簡單的方式就是透過 feed，但無奈的是 DCView 提供的 feed 卻有個怪問題：一直在更改文章的 url，這樣會導致 <a href="http://www.google.com.tw/reader/">google reader</a> 一直認為有新文章，所以用 <a href="http://pipes.yahoo.com/pipes/">Y! Pipes</a> 改寫了一下。</p>
<p><span id="more-2346"></span></p>
<p>原本想利用一個機制可以儲存閱讀 history，但一直無法成功，又想利用相同的 guid 來做辨識，但 google reader 又不理它，後來發現該 blog 的文章末端都會附上一組文章的 url，（莫非冼老師也發現 url 改來改去的問題？），所以把它抓出來填到 link 和 guid 欄位裡就 ok 了。</p>
<p>當然這個作法只要冼老師不再提供固定的 url 就會失效，不過目前看起來運作良好，所以放出來看看。</p>
<p>該 pipe 位址: <a href="http://pipes.yahoo.com/tsaiid/feedofckshengblog">http://pipes.yahoo.com/tsaiid/feedofckshengblog</a></p>
<div id="date">2010.12.15</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2010/12/feed-of-cksheng-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>排班表の殘念</title>
		<link>http://blog.tsaiid.idv.tw/2009/06/the-regret-of-duty-scaduling-program/</link>
		<comments>http://blog.tsaiid.idv.tw/2009/06/the-regret-of-duty-scaduling-program/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 11:25:43 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[心情]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[軍旅]]></category>
		<category><![CDATA[遺憾]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1647</guid>
		<description><![CDATA[忘了從去年的哪一個月開始，我們組長要求我們要給他一張排班表，把每天各時段藥局、急診、掛號室的班排給他，原本還要求按表操課，但很多時候被叫出去出任務，最後那表變成徒具形式的紙一張。 即使徒具形式，還是得有張表出來才行啊！每個月的月底協調完島休、返台…還要排值班，實在煩人，便萌生了用電腦亂數填表的方法。 心裡有這樣的念頭，還得環境允許才行，一開始研究了 Excel 的函數，後來找到用 VB 控制的方法，一個排班程式的雛型完成了（也是我的第一個 VB 程式）。 時間過得也很快，一轉眼就到要退伍的時刻，可是程式不知道我們要離開啦！名字寫死在原始碼裡頭，等我們一走可就殘廢了！為了避免之前奮鬥數十小時的心血白費，我又投入了額外的數十小時改寫，把部份選項獨立出來，變成動態調整的模式，算是留給之後的醫官一些小方便。（如果隱藏的 bug 沒有造成麻煩的話） 這會兒輪到我又捨不得了，嘔心瀝血完成的小東西，因為軍中的保密規定不讓我帶走，這排班的工具以後當 CR 時說不定還有機會用到啊！到時候要我全部重寫，可就沒那個閒工夫了。 想了幾個可行的方法最後都沒有辦法實行，看來它只能隨著時間，制度改了，排班方式改了，慢慢被埋藏到硬碟的深處，再也不見天日… 嗚呼，誠殘念也。 2009.06.13 (補)]]></description>
			<content:encoded><![CDATA[<p>忘了從去年的哪一個月開始，我們組長要求我們要給他一張排班表，把每天各時段藥局、急診、掛號室的班排給他，原本還要求按表操課，但很多時候被叫出去出任務，最後那表變成徒具形式的紙一張。</p>
<p>即使徒具形式，還是得有張表出來才行啊！每個月的月底協調完島休、返台…還要排值班，實在煩人，便萌生了用電腦亂數填表的方法。<span id="more-1647"></span></p>
<p>心裡有這樣的念頭，還得環境允許才行，一開始研究了 Excel 的函數，後來找到用 VB 控制的方法，一個排班程式的雛型完成了（也是我的第一個 VB 程式）。</p>
<p>時間過得也很快，一轉眼就到要退伍的時刻，可是程式不知道我們要離開啦！名字寫死在原始碼裡頭，等我們一走可就殘廢了！為了避免之前奮鬥數十小時的心血白費，我又投入了額外的數十小時改寫，把部份選項獨立出來，變成動態調整的模式，算是留給之後的醫官一些小方便。（如果隱藏的 bug 沒有造成麻煩的話）</p>
<p>這會兒輪到我又捨不得了，嘔心瀝血完成的小東西，因為軍中的保密規定不讓我帶走，這排班的工具以後當 CR 時說不定還有機會用到啊！到時候要我全部重寫，可就沒那個閒工夫了。</p>
<p>想了幾個可行的方法最後都沒有辦法實行，看來它只能隨著時間，制度改了，排班方式改了，慢慢被埋藏到硬碟的深處，再也不見天日…</p>
<p>嗚呼，誠殘念也。</p>
<div id="date">2009.06.13 (補)</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2009/06/the-regret-of-duty-scaduling-program/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>徹夜改版 &#8211; Slimbox Plugin</title>
		<link>http://blog.tsaiid.idv.tw/2008/07/new-version-of-slimbox-plugin-throughout-the-whole-night/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/07/new-version-of-slimbox-plugin-throughout-the-whole-night/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 12:33:27 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[slimbox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1221</guid>
		<description><![CDATA[昨天晚上徹夜未眠，因為又在改程式了！！！ 前幾天剛改好 slimbox wordpress plugin, 馬上就有人來發問，因為距離國考時間所剩無幾，原本無心多做回應，後來意外用 IE 測一下卻發現 javascript 似乎有問題，跑不起來。雖然在 Firefox, Opera 裡都正常，但要是 IE 這個市場主流軟體不能用，我的心血豈不就白費了！所以還是卯起來解決吧！ 我測試的環境是用 Slimbox 附的 example page，很怪的是我明明用同一份程式，在測試頁裡跑起來 ok，搬到 blog 裡就會爛掉，實在是莫名其妙！後來發現原來是少宣告了一個變數，但這真的還是一件很莫名其妙的事。 理論上解決完這個 bug 後應該就可以去睡啦～我忽然又發現，我不小心用了第二個 flickr 帳號裡的照片了（捨不得買 Flickr Pro 只好多申請幾個帳號 :p），這樣原本偷吃步去抓 flickr url 的方法就失效啦！所以只好繼續修第二個 feature &#8230; (feature != bug) :p Flickr 照片的 url 是由 owner 和 photo_id 組成的，例如： http://www.flickr.com/photos/tsaiid/2667839860/ 可是在 Slimbox 裡用的格式必須是圖片本身的網址: http://farm4.static.flickr.com/3281/2667839860_8e6eb4d9ed.jpg 這是看不出 [...]]]></description>
			<content:encoded><![CDATA[<p>昨天晚上徹夜未眠，因為又在改程式了！！！</p>
<p>前幾天<a href="http://blog.tsaiid.idv.tw/computer/programming-computer/1208/my-new-slimbox-wp-plugin/">剛改好 slimbox wordpress plugin</a>, 馬上就有人來發問，因為距離國考時間所剩無幾，原本無心多做回應，後來意外用 IE 測一下卻發現 javascript 似乎有問題，跑不起來。雖然在 Firefox, Opera 裡都正常，但要是 IE 這個市場主流軟體不能用，我的心血豈不就白費了！所以還是卯起來解決吧！<span id="more-1221"></span></p>
<p>我測試的環境是用 Slimbox 附的 example page，很怪的是我明明用同一份程式，在測試頁裡跑起來 ok，搬到 blog 裡就會爛掉，實在是莫名其妙！後來發現原來是少宣告了一個變數，但這真的還是一件很莫名其妙的事。</p>
<p>理論上解決完這個 bug 後應該就可以去睡啦～我忽然又發現，我不小心用了<a href="http://www.flickr.com/photos/ittsai/">第二個 flickr 帳號</a>裡的照片了（捨不得買 Flickr Pro 只好多申請幾個帳號 :p），這樣原本偷吃步去抓 flickr url 的方法就失效啦！所以只好繼續修第二個 feature &#8230; (feature != bug) :p</p>
<p>Flickr 照片的 url 是由 <em>owner</em> 和 <em>photo_id</em> 組成的，例如：</p>
<div class="code">http://www.flickr.com/photos/tsaiid/2667839860/</div>
<p>可是在 Slimbox 裡用的格式必須是圖片本身的網址:</p>
<div class="code">http://farm4.static.flickr.com/3281/2667839860_8e6eb4d9ed.jpg</div>
<p>這是看不出 <em>owner</em> 資訊的，雖然 Flickr 有 API 可以用，但是想用 API 就會把自己的 key 散佈出去，假若不公佈 secret 碼，原則上其他人抓不到 token，應該也不會造成授權的問題，雖說畢竟也是有風險，但在沒有其他變通方式的情況下，也只好這麼做了，頂多是去申請一個專門拿來跑 api 的帳號就是。^^a</p>
<p>Flickr API 的<a href="http://www.flickr.com/services/api/">官方網站</a>裡並沒有提供給 javascript 用的版本，不過網路上已經<a href="http://www.dwrbudr.com/">有人做好了</a>，搞懂它的用法，還順便幫他 debug 一下，最後還是因為不熟悉 javascript 的環境，無法繼續下去。這時剛好看到<a href="http://www.flickr.com/services/api/response.json.html">關於 JSON 的文件</a>，便決定砍掉重練，自己弄個簡單版的，還可以精簡一些內容。</p>
<p>用 JSON 格式輸出的結果剛好會形成一個 object，在 javascript 裡用 <em>eval()</em> 就可以把它塞進一個自訂函數中，要處理網站回傳的資訊就簡單多了，花了一陣子弄清楚 object 結構後，卻又遇到一個問題：「抓不到 API 的網站！」</p>
<p>這是 javascript 先天的限制，怕人家到處去抓其他網站的內容來惡搞，所以和該 javascript 檔所在位置的 domain 不同的話就會爛掉，解決方法就是透過 proxy，Yahoo API 提供的<a href="http://developer.yahoo.com/javascript/howto-ajax.html">方法</a>是用 php proxy，順便也提供了<a href="http://developer.yahoo.com/javascript/samples/proxy/php_proxy_simple.txt">簡單功能的版本</a>，拿來用了之後，果然就成功了。</p>
<p>沒想到一個看起來好像不很複雜的功能做完時都已經天亮，老實說從初三要搭早班校車的年代畢業後，我不知道多久沒有看到西螺清晨的陽光了。</p>
<p>有時候執著於一件事，而後努力達成是一件很浪慢的事！但麵包和愛情之間的天平，還是得好好秤一秤才是比較成熟的做法吧！</p>
<div id="date">2008.07.16</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-tsaiid-v1_2_2.zip">Slimbox WordPress Plugin v1.22</a>, modified by tsaiid</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>移除前一版 flickrUser 選項，改為自動偵測照片正確的 URL</li>
<li>預設將連回 Flickr 的連結在新視窗中開啟</li>
</ul>
<h3>Notice</h3>
<ul>
<li>因為採用 php proxy 以及額外的 Flickr API 函式，會導致程式效能降低，如果沒有連回 Flickr 這樣的需要者，建議使用<a href="http://www.4mj.it/slimbox-wordpress-plugin/">原版的 plugin</a> 即可</li>
<li>如果只會用到單一使用者的圖片，也就是說 <em>flickrUser</em> 固定者，建議使用<a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-121-tsaiid.zip">前一版 v1.21</a> 可以讓 Slimbox 更有效率的執行，也可以減少因 php proxy 造成的額外流量</li>
</ul>
<div class="update_text">2009.02.21 Update!</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-tsaiid-v1_3_2.zip">Slimbox WordPress Plugin v1.3.2</a>, modified by tsaiid.</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>根據原作者網頁之 1.3 版修改，可讓 wordpress 的自動更新閉嘴。XD</li>
</ul>
<div class="update_text">2011.04.17 Update!</div>
<p>後續變動，請 follow <a href="http://blog.tsaiid.idv.tw/2008/07/my-new-slimbox-wp-plugin/">原本網頁</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/07/new-version-of-slimbox-plugin-throughout-the-whole-night/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>新版 Slimbox WP Plugin</title>
		<link>http://blog.tsaiid.idv.tw/2008/07/my-new-slimbox-wp-plugin/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/07/my-new-slimbox-wp-plugin/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 08:42:35 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[slimbox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1208</guid>
		<description><![CDATA[又在改程式了～ 唸書念到一個段落，不知道哪根筋不對勁，忽然想起 Slimbox wordpress plugin 因為沒辦法直接修改程式碼，只好停止更新的事，找了一下，居然發現更新版的 Slimbox，於是乎，半天又過去了。 Slimbox wordpress plugin 裡面包的只有壓縮過的 slimbox 和 mootools (slimbox 用的 lib)，即使是用 gindent 還原，也是難以閱讀。另外還有一個問題，因為底層用的是 slimbox v1.52，雖然畫面在 IE 或 Firefox 上很不錯，但 Opera 9.5 會有問題，網站上說，換新版的就可以解決。 目前 Slimbox 的官方網站上最新版是 v1.63，抓下來試用一下，Opera 的問題解決了，而且重要的是，它附上了原始碼，即使跟 v1.41 的寫法有很大的不同，起碼有修改的依據。 javascript 實在是個很不可親的語言，原先想試著用 Firebug 來 debug，不會用就算了，搞到最後連 firefox 都快爛掉，只好把它移除，用最原始的方式 &#8212; 一行一行慢慢看 &#8212; 來除錯。 把自己原先修改的部份套用到新版程式，測試完畢後，再用 YUI Compressor 壓縮一下，這樣就變成我自己版本的 slimbox wordpress plugin 了。 實在是累人啊！真不敢想像，要是這種工作效率在一般的資訊公司裡，究竟要怎麼生存下去。 [...]]]></description>
			<content:encoded><![CDATA[<p>又在改程式了～</p>
<p>唸書念到一個段落，不知道哪根筋不對勁，忽然想起 <a href="http://www.4mj.it/slimbox-wordpress-plugin/">Slimbox wordpress plugin</a> 因為沒辦法直接修改程式碼，只好停止更新的事，找了一下，居然發現更新版的 <a href="http://www.digitalia.be/software/slimbox">Slimbox</a>，於是乎，半天又過去了。<span id="more-1208"></span></p>
<p><a href="http://www.4mj.it/slimbox-wordpress-plugin/">Slimbox wordpress plugin</a> 裡面包的只有壓縮過的 slimbox 和 mootools (slimbox 用的 lib)，即使是用 <a href="http://www.gnu.org/software/indent/">gindent</a> 還原，也是難以閱讀。另外還有一個問題，因為底層用的是 slimbox v1.52，雖然畫面在 IE 或 Firefox 上很不錯，但 Opera 9.5 會有問題，網站上說，換新版的就可以解決。</p>
<p>目前 <a href="http://www.digitalia.be/software/slimbox">Slimbox</a> 的官方網站上最新版是 v1.63，抓下來試用一下，Opera 的問題解決了，而且重要的是，它附上了原始碼，即使跟 v1.41 的寫法有很大的不同，起碼有修改的依據。</p>
<p>javascript 實在是個很不可親的語言，原先想試著用 <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a> 來 debug，不會用就算了，搞到最後連 firefox 都快爛掉，只好把它移除，用最原始的方式 &#8212; 一行一行慢慢看 &#8212; 來除錯。</p>
<p>把自己原先修改的部份套用到新版程式，測試完畢後，再用 <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a> 壓縮一下，這樣就變成<a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-121-tsaiid.zip">我自己版本的 slimbox wordpress plugin</a> 了。</p>
<p>實在是累人啊！真不敢想像，要是這種工作效率在一般的資訊公司裡，究竟要怎麼生存下去。</p>
<div id="date">2008.07.12</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-121-tsaiid.zip">Slimbox WordPress Plugin v1.2.1</a>, modified by tsaiid.</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>如果圖片為 flickr 外連，於底部加上 flickr 標籤並連回原網頁</li>
<li>新增一 option: flickrUser，請於 slimbox/slimbox.js 中設定，以便程式取得正確之 flickr 網址</li>
<li>以上所描述的方式很爛，未來會再修改為自動取得正確之 flickr 網址</li>
</ul>
<div class="update_text">2008.07.17 Update!</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-tsaiid-v1_2_1_1.zip">Slimbox WordPress Plugin v1.2.1.1</a>, modified by tsaiid.</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>修正在 IE 中 javascript 執行錯誤</li>
<li>將 flickr 標籤改為開新頁面方式開啟</li>
</ul>
<div class="update_text">2009.02.21 Update!</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-tsaiid-v1_3_1.zip">Slimbox WordPress Plugin v1.3.1</a>, modified by tsaiid.</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>根據原作者網頁之 1.3 版修改，可讓 wordpress 的自動更新閉嘴。XD</li>
<li>註：此版本不會將圖片開在新視窗；使用方法同前所述，記得設定 flickrUser 參數</li>
</ul>
<div class="update_text">2011.04.17 Update!</div>
<blockquote><p>Download: <a href="http://blog.tsaiid.idv.tw/wp-content/uploads/2008/07/slimbox-plugin-tsaiid-v1_3_3.zip">Slimbox WordPress Plugin v1.3.3</a>, modified by tsaiid.</p></blockquote>
<h3>ChangeLog</h3>
<ul>
<li>更新 mootools 到 1.2.6</li>
<li>更新 slimbox 到 1.71</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/07/my-new-slimbox-wp-plugin/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>原來是 UAO 搞的鬼</title>
		<link>http://blog.tsaiid.idv.tw/2008/07/its-all-because-of-uao/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/07/its-all-because-of-uao/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 10:07:37 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[big5]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[iconv]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[UAO]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[編碼]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1205</guid>
		<description><![CDATA[話說日本的相片還沒傳完，又碰上小程式的 bug，只好暫時停滯了，其實這個 bug 老早就在了，只是自己一直不知道怎麼解決罷了，只不過這麼大量的照片都要我手工處理的話，大概會瘋掉，只好趁著看完卡通的空檔（為什麼不是唸書的空檔？！）研究一下。 這個 bug 基本上就是：Big5 缺字的問題。 理論上現在的軟體都朝向 unicode 化發展，這個問題應該會越來越少見才對，無奈我用來管理照片的 Picasa2 就是這麼智障的軟體，看他的設定檔應該是有 unicode，不過寫到照片裡的 caption 居然還是用 big5 來存，實在讓人受不了，Google 好像也沒打算修改的感覺，為了轉換，我也只好在自己的 uploader 裡轉碼了。 我的 Uploader 是一隻 perl script，會幫我上傳、加 tag、收 group 之類的，所以我只要在 Picasa 裡寫好一次 Caption 就可以從頭用到尾，傳照片時的相片說明就用 Text::Iconv 來轉，這個 module 底層用的是 GNU libiconv 這個函式庫，因此也是走正規的編碼方式。 好死不死的我在 Windows 裡都裝了所謂的 Unicode 補完計畫，它會修改轉碼的 table，所以在以 Big5 為底層的 Picasa 中，可以正常的顯示簡體字和日文字，但這些被它偷改過的編碼就不符合正規標準，libiconv 當然就會轉換失敗。 原則上可以利用一些參數讓 libiconv 遇到錯誤時不會爛掉，但這樣我還是得手工一張一張修，還是於初衷不合。 為了嘗試出以上的結論，我先試了 [...]]]></description>
			<content:encoded><![CDATA[<p>話說日本的相片還沒傳完，又碰上小程式的 bug，只好暫時停滯了，其實這個 bug 老早就在了，只是自己一直不知道怎麼解決罷了，只不過這麼大量的照片都要我手工處理的話，大概會瘋掉，只好趁著看完卡通的空檔（為什麼不是唸書的空檔？！）研究一下。</p>
<p>這個 bug 基本上就是：<strong>Big5 缺字的問題</strong>。<span id="more-1205"></span></p>
<p>理論上現在的軟體都朝向 unicode 化發展，這個問題應該會越來越少見才對，無奈我用來管理照片的 <a href="http://picasa.google.com/intl/zh-TW/">Picasa2</a> 就是這麼智障的軟體，看他的設定檔應該是有 unicode，不過寫到照片裡的 caption 居然還是用 big5 來存，實在讓人受不了，Google 好像也沒打算修改的感覺，為了轉換，我也只好在自己的 uploader 裡轉碼了。</p>
<p>我的 Uploader 是一隻 perl script，會幫我上傳、加 tag、收 group 之類的，所以我只要在 Picasa 裡寫好一次 Caption 就可以從頭用到尾，傳照片時的相片說明就用 <a href="http://search.cpan.org/dist/Text-Iconv/Iconv.pm">Text::Iconv</a> 來轉，這個 module 底層用的是 <a href="http://www.gnu.org/software/libiconv/">GNU libiconv</a> 這個函式庫，因此也是走正規的編碼方式。</p>
<p>好死不死的我在 Windows 裡都裝了所謂的 <a href="http://uao.cpatch.org/">Unicode 補完計畫</a>，它會修改轉碼的 table，所以在以 Big5 為底層的 Picasa 中，可以正常的顯示簡體字和日文字，但這些被它偷改過的編碼就不符合正規標準，libiconv 當然就會轉換失敗。</p>
<p>原則上可以利用一些參數讓 libiconv 遇到錯誤時不會爛掉，但這樣我還是得手工一張一張修，還是於初衷不合。</p>
<p>為了嘗試出以上的結論，我先試了 <a href="http://www.activestate.com/Products/ActivePerl/">windows 版的 perl</a>，不過安裝 modules 容易有問題，起碼我不知道怎麼編譯 Text::Iconv，而且 windows 的命令提示字元也是跑 Big5 的，從命令列輸入進去的內容全部要重新轉碼，不實際。</p>
<p>而 utf-8 的命令列<a href="http://www.1976118.cn/index.php/2007/09/29/utf-8-console-on-windows-xp/">要哪找</a>？結果是用了 <a href="http://www.cygwin.com/">cygwin</a> + <a href="http://www.okisoft.co.jp/esc/utf8-cygwin/">utf-8 patch</a>，安裝過程花了不少時間，cygwin 的安裝程式實在很難用，package 的管理方式也很怪，能用的 package 也是缺東缺西，最後還是要自己抓下來編譯，總之是弄好了。</p>
<p>經過多番嘗試後，發現原來是 Unicode 補完計畫在搞鬼，把 <a href="http://sbt.idv.tw/tBoard/index.py?f=25&#038;t=563&#038;m=pl">GNU libiconv patch</a> 過後，已經可以正確轉換「不正確的字碼」，但奇怪的是，Text::Iconv 好像不聽話，轉不過去的還是轉不過去，不管怎麼移除重裝都一樣，放棄放棄。</p>
<p>原本想利用 try and catch 來處理 Text::Iconv 丟出來的 exception，可是它沒有提供 API 讓人自己載入自訂的 table，要自己弄一套轉碼程式，有那麼強就好了。最後用的是大爛招，呼叫外部程式來轉了。</p>
<p>唉唉～好不容易才弄一個段落，而且還是 (windows + cygwin + post-patched libiconv)-only 版本，到時候換台電腦、換個系統又要爛了，起碼，讓我撐一陣子吧！</p>
<div id="date">2008.07.08</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/07/its-all-because-of-uao/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flickr Explore and CC</title>
		<link>http://blog.tsaiid.idv.tw/2008/06/flickr-explore-and-cc/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/06/flickr-explore-and-cc/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 14:41:42 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[creative commons]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[yahoo pipes]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1187</guid>
		<description><![CDATA[Yahoo Pipes 也推出很久了，今天算是我第一次認真的試用，（前一次為了測無名的爛 feed 就不算了。） 為什麼要用呢？大概是因為改照片改煩了吧！（為什麼不是唸書念煩了？！）加上看到 flickr 上有一堆不錯的照片，忽然有種想收藏的念頭，只不過很多照片都是「版權所有」，要我每一張都點進去 check 實在太蠢，只好請電腦幫忙啦～ 原先就有在看非官方的 Flickr Interestingness 的 feed，不過 source 我倒是丟了另一個進去，總覺得內容好像不太一樣（？），用了 loop, fetch page, filter 串起來，再送出結果，原本想把 feed 內容再精簡一些，不過一直找不到 drop 之類的選項，只好作罷，交給 rss reader 去處理啦～ 使用起來還蠻直觀的，不過一開始不熟悉花的時間大概也跟直接用 script 差不多，其實它的設計還不錯，直觀，很多東西都會自動幫你處理掉，如果沒有一些很奇怪的需求，應該非常夠用了吧！ 目前生出來的 feed 是空的，（應該不是 bug 吧？！ @_@），（大家都不喜歡／不知道 creative commons？）希望過幾天可以噴幾個 item 出來看看吧～ XD 2008.06.17]]></description>
			<content:encoded><![CDATA[<p><a href="http://pipes.yahoo.com/pipes/">Yahoo Pipes</a> 也推出很久了，今天算是我第一次認真的試用，（前一次為了測無名的爛 feed 就不算了。）</p>
<p>為什麼要用呢？大概是因為改照片改煩了吧！（為什麼不是唸書念煩了？！）加上看到 <a href="http://www.flickr.com/">flickr</a> 上有一堆不錯的照片，忽然有種想收藏的念頭，只不過很多照片都是「版權所有」，要我每一張都點進去 check 實在太蠢，只好請電腦幫忙啦～<span id="more-1187"></span></p>
<p>原先就有在看<a href="http://feeds.feedburner.com/flickr_interestingness">非官方的 Flickr Interestingness 的 feed</a>，不過 source 我倒是丟了<a href="http://feeds.feedburner.com/InterestingFlickr">另一個</a>進去，總覺得內容好像不太一樣（？），用了 loop, fetch page, filter 串起來，再送出結果，原本想把 feed 內容再精簡一些，不過一直找不到 drop 之類的選項，只好作罷，交給 rss reader 去處理啦～</p>
<p>使用起來還蠻直觀的，不過一開始不熟悉花的時間大概也跟直接用 script 差不多，其實它的設計還不錯，直觀，很多東西都會自動幫你處理掉，如果沒有一些很奇怪的需求，應該非常夠用了吧！</p>
<p><a href="http://pipes.yahoo.com/tsaiid/flickr_interestingness_with_creative_commons_license">目前生出來的 feed</a> 是空的，（應該不是 bug 吧？！ @_@），（大家都不喜歡／不知道 <a href="http://creativecommons.org.tw/">creative commons</a>？）希望過幾天可以噴幾個 item 出來看看吧～ XD</p>
<div id="date">2008.06.17</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/06/flickr-explore-and-cc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>原來要改 Header 啊！</title>
		<link>http://blog.tsaiid.idv.tw/2008/05/yuan-lai-yao-gai_header_a/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/05/yuan-lai-yao-gai_header_a/#comments</comments>
		<pubDate>Sat, 10 May 2008 06:21:35 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[mrtg]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1173</guid>
		<description><![CDATA[我一直有在用 mrtg 在統計一些無聊的數據，其實也沒什麼特別的，大概就是去抓一些網路上的數據，叫他定期幫我畫個統計圖而已，資料比較隱私，就不方便公佈了。 因為網頁的格式、內容不那麼一成不變，之前也曾經遇過必須要調整 regular expression 格式才能正確抓到資料的情形，那次好像也搞了一陣子吧！只能說自己目前這個情形，除了努力在醫院裡混下去外，大概也沒有別的路可以選。 最近該 script (用 WWW::Mechanize perl module 拼成的) 似乎又出了點問題，把抓回來的網頁資料吐出來看，怎麼編碼跟我自己用瀏覽器抓回來的不一樣，在 ISO-8859-1 下，WWW::Mechanize 居然不是吐亂碼，而是把不屬於該範圍的字全部刪掉了，只剩英文、符號和數字的內容當然會 parse 錯誤！ 一開始往 WWW::Mechanize 亂刪內容去找，沒什麼收穫，後來想到瀏覽器似乎會送出一些什麼，server 根據這些資訊它想吐的內容，這時又在 WWW::Mechanize 的 FAQ 裡找到： &#8220;It works in Firefox, but why not Mech?&#8221; Everything the web server knows about the client is present in the HTTP request. If two requests are identical, [...]]]></description>
			<content:encoded><![CDATA[<p>我一直有在用 <a href="http://oss.oetiker.ch/mrtg/">mrtg</a> 在統計一些無聊的數據，其實也沒什麼特別的，大概就是去抓一些網路上的數據，叫他定期幫我畫個統計圖而已，資料比較隱私，就不方便公佈了。</p>
<p>因為網頁的格式、內容不那麼一成不變，之前也曾經遇過必須要調整 regular expression 格式才能正確抓到資料的情形，那次好像也搞了一陣子吧！只能說自己目前這個情形，除了努力在醫院裡混下去外，大概也沒有別的路可以選。<span id="more-1173"></span></p>
<p>最近該 script (用 <a href="http://search.cpan.org/dist/WWW-Mechanize/">WWW::Mechanize</a> perl module 拼成的) 似乎又出了點問題，把抓回來的網頁資料吐出來看，怎麼編碼跟我自己用瀏覽器抓回來的不一樣，在 ISO-8859-1 下，<a href="http://search.cpan.org/dist/WWW-Mechanize/">WWW::Mechanize</a> 居然不是吐亂碼，而是把不屬於該範圍的字全部刪掉了，只剩英文、符號和數字的內容當然會 parse 錯誤！</p>
<p>一開始往 <a href="http://search.cpan.org/dist/WWW-Mechanize/">WWW::Mechanize</a> 亂刪內容去找，沒什麼收穫，後來想到瀏覽器似乎會送出一些什麼，server 根據這些資訊它想吐的內容，這時又在 WWW::Mechanize 的 <a href="http://search.cpan.org/dist/WWW-Mechanize/lib/WWW/Mechanize/FAQ.pod">FAQ</a> 裡找到：</p>
<blockquote><p>&ldquo;It works in Firefox, but why not Mech?&rdquo; Everything the web server knows about the client is present in the HTTP request. If two requests are identical, the results should be identical.</p></blockquote>
<p>裡頭也推薦了一個 Firefox extension &#8212; <a href="http://addons.mozilla.org/firefox/addon/966">Tamper Data</a> &#8212; 來看 request header，然後把 firefox 送出的 header 也交給 Mech 去送，一切就恢復正常啦。（不過應該說之前就一直都不正常才對。^^a）</p>
<p>把原先 88 行的 code 縮到 56 行，總共花了四個小時左右，唉唉～看來我還是努力的念 <a href="http://findbook.tw/book/9780781765176/basic">Washington</a> 就好了。T_T</p>
<div id="date">2008.05.10</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/05/yuan-lai-yao-gai_header_a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Permalink 真難搞</title>
		<link>http://blog.tsaiid.idv.tw/2008/05/permalinkzhen-nan-gao/</link>
		<comments>http://blog.tsaiid.idv.tw/2008/05/permalinkzhen-nan-gao/#comments</comments>
		<pubDate>Thu, 01 May 2008 06:21:41 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[permalink]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/?p=1174</guid>
		<description><![CDATA[最近 wordpress 改版讓我又搞電腦搞了好一陣子，每大升級一次就要陣痛一次，不過不升級似乎也不太行，這是用軟體一件很無奈的事。 WordPress 2.5 改變很大的部份是後台，這個我沒什麼特別感想，一開始會覺得過一陣子後應該就會慢慢適應吧！影響最大的是連對 permalink 的處理都改了！ 目前我相簿裡的照片是放在 flickr 上，（貪圖幾乎可說不限空間、不限外連、不刪除圖片等等），然後用小程式把網頁語法刻好，再一次存入，而相簿的結構就利用 wp 本身的 page 和 sub-page 結構來做，搭配上 permalink 結構，看起來還蠻好的，例如 2008 年 4 月 5 號拍的春天吶喊活動的相簿網址就會是: http://blog.tsaiid.idv.tw/photos/2008/0405/ 這個部份是用文章的 post_name 來做的，不過其實他們並不建議用純數字來當文章的 post_name，避免和 post_id 混淆，這樣聽起來也是有道理，不過為什麼之前可以 work 的 redirect structure 升級後反而會爛掉？ 原先我的 permalink structure 是: /%year%/%monthnum%/%day%/%post_id%/ 在這個情形下，一般的文章讀得到，但相簿會爛掉，不過如果把 post_id 改用 post_name 兩種都可 work，不過實在是很不想動 permalink structure，這等於以前的連結、搜尋引擎裡的資料都要砍掉重練了，只是看了老半天程式碼，完全不知從何改起，只好屈服改用 post_name 了。 其實有個 plugin 理論上可以拯救過去舊的 [...]]]></description>
			<content:encoded><![CDATA[<p>最近 <a href="http://wordpress.org/development/2008/03/wordpress-25-brecker/">wordpress 改版</a>讓我又搞電腦搞了好一陣子，每大升級一次就要陣痛一次，不過不升級似乎也不太行，這是用軟體一件很無奈的事。</p>
<p>WordPress 2.5 改變很大的部份是後台，這個我沒什麼特別感想，一開始會覺得過一陣子後應該就會慢慢適應吧！影響最大的是連對 permalink 的處理都改了！<span id="more-1174"></span></p>
<p>目前<a href="http://blog.tsaiid.idv.tw/photos/">我相簿</a>裡的照片是<a href="http://www.flickr.com/photos/tsaiid/">放在 flickr 上</a>，（貪圖幾乎可說不限空間、不限外連、不刪除圖片等等），然後用小程式把網頁語法刻好，再一次存入，而相簿的結構就利用 wp 本身的 page 和 sub-page 結構來做，搭配上 permalink 結構，看起來還蠻好的，例如 2008 年 4 月 5 號拍的<a href="http://blog.tsaiid.idv.tw/music/1168/chun-tian-ne-hanyao-gun-hun-you-ran-shao-le/">春天吶喊</a>活動的相簿網址就會是:</p>
<p><code>http://blog.tsaiid.idv.tw/photos/2008/0405/</code></p>
<p>這個部份是用文章的 post_name 來做的，不過其實他們並不建議用純數字來當文章的 post_name，避免和 post_id 混淆，這樣聽起來也是有道理，不過為什麼之前可以 work 的 redirect structure 升級後反而會爛掉？</p>
<p>原先我的 permalink structure 是:</p>
<p><code>/%year%/%monthnum%/%day%/%post_id%/</code></p>
<p>在這個情形下，一般的文章讀得到，但相簿會爛掉，不過如果把 post_id 改用 post_name 兩種都可 work，不過實在是很不想動 permalink structure，這等於以前的連結、搜尋引擎裡的資料都要砍掉重練了，只是看了老半天程式碼，完全不知從何改起，只好屈服改用 post_name 了。</p>
<p>其實有個 plugin 理論上可以拯救過去舊的 permalink structure &#8212; <a href="http://scott.yang.id.au/code/permalink-redirect/">Permalink Redirect</a> &#8212; 但我裝了之後還是不行，網路上也沒看到什麼解法，自己又 hack 不出來，為了改照片已經睡眠不足的我只好投降了。</p>
<p>不過有人建議單純只用 post_name 就好？！個人認為雖然相同名稱的文章不太容易出現，但總是有那麼個萬一嘛！所以有人建議用 category 搭配 post_name:</p>
<p>/%category%/%postname%/</p>
<p>我為了更小心點，在中間加入了 post_id, 其實只要有 post_id 就一定不會重複了，只不過這違背了他們的建議罷了。畢竟 post_id 對 <a href="http://zh.wikipedia.org/wiki/%E6%90%9C%E5%B0%8B%E5%BC%95%E6%93%8E%E6%9C%80%E4%BD%B3%E5%8C%96"><abbr title="Search Engine Optimization">SEO</abbr></a> 根本一點意義也沒有。</p>
<p>WordPress 原先的設計就是會把文章標題去掉 space, 符號等等，拿來當 post_name，非英文字的部份會被轉成 utf-8 編碼，雖然改用 firefox 3 beta 後，網址列可以正常顯示中文，但 firefox 2 還不行，又想起之前有人討論過，<a href="http://zonble.twbbs.org/archives/2004_06/510.php">把中文改成拼音</a>的方式，不過我沒有接受過拼音的訓練，所以找了個 perl module &#8212; <a href="http://search.cpan.org/dist/Lingua-Han-PinYin/lib/Lingua/Han/PinYin.pm">Lingua::Han::PinYin</a> &#8212; 做了個小程式幫忙，原本想做成 wordpress plugin 的，（其實也有，不過放到 virtual host 上 php 的最大記憶體使用量就爆了。XD）不過對 wordpress plugin 的結構還不熟，暫時這樣就好了。</p>
<p>呼～電腦真夠難搞的！</p>
<div id="date">2008.05.01</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2008/05/permalinkzhen-nan-gao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lightbox Effect WordPress Plugin</title>
		<link>http://blog.tsaiid.idv.tw/2007/12/lightbox-effect-wordpress-plugin/</link>
		<comments>http://blog.tsaiid.idv.tw/2007/12/lightbox-effect-wordpress-plugin/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 07:05:59 +0000</pubDate>
		<dc:creator>tsaiid</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[album]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[javacript]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[slimbox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.tsaiid.idv.tw/2007/12/30/1065/</guid>
		<description><![CDATA[我的照片通常會分兩個部份，一個是利用 flickr 空間，擺在這個 blog 裡的靜態展示，另一種方式是放在另外的主機，搭配 flash 版的 SimpleViewer 播放，不過最近一直覺得 SimpleViewer 播放的效果很糟，不知道是不是縮圖用的演算法不好，感覺每張照片都不太清楚，一開始以為是自己照得不好，但進到 Picasa 一看卻又不會，另外經過 flickr 縮過的圖，也沒這個問題，看樣子是時候換掉 SimpleViewer 了。 Greasemonkey 有一個應該算蠻知名的套件「Greased Lightbox」，用來顯示 flickr 上的成堆照片還蠻不錯用的，一直想把這類的功能加到我的相簿裡，不過礙於 javascript 能力不足，遲遲沒有動工。昨天趁著整理完出遊的照片，剩下的時間又懶得唸書，便想一鼓作氣一了心願。 一開始找到的幾乎都是 Lokesh Dhakar 的作品 Lightbox 2，一開始沒看清楚說明，裝了才發現原來這是泛用各網頁的 javascript，後來又找到一個 for wordpress 的，不過他介紹文章一開頭又說了個看起來是精簡版的 lightbox &#8212; Slimbox WordPress Plugin。既然網頁把他說得這麼厲害，我當然就採用啦！ 安裝是蠻簡單的，解壓縮後再到控制台裡 activate 即可，使用的話，必須在圖片外面包一個 &#60;a&#62; tag，裡面要有 rel=&#34;lightbox&#34; 屬性，按照我原本相簿裡的寫法，&#60;a&#62; tag 本來就有，不過連回去的是照片所在的 flickr 頁面，這時只好再把專門拿來生相簿 html code 的程式稍做修改，大致改好後，就可以運作了。 其實最花時間的是這一步，因為 flickr [...]]]></description>
			<content:encoded><![CDATA[<p>我的照片通常會分兩個部份，一個是利用 <a href="http://www.flickr.com/">flickr</a> 空間，<a href="http://blog.tsaiid.idv.tw/photos/">擺在這個 blog 裡</a>的靜態展示，另一種方式是放在另外的主機，搭配 flash 版的 <a href="http://www.airtightinteractive.com/simpleviewer/">SimpleViewer</a> 播放，不過最近一直覺得 SimpleViewer 播放的效果很糟，不知道是不是縮圖用的演算法不好，感覺每張照片都不太清楚，一開始以為是自己照得不好，但進到 <a href="http://picasa.google.com/">Picasa</a> 一看卻又不會，另外經過 flickr 縮過的圖，也沒這個問題，看樣子是時候換掉 SimpleViewer 了。<span id="more-1065"></span></p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a> 有一個應該算蠻知名的套件「<a href="http://shiftingpixel.com/lightbox/">Greased Lightbox</a>」，用來顯示 flickr 上的成堆照片還蠻不錯用的，一直想把這類的功能加到我的相簿裡，不過礙於 javascript 能力不足，遲遲沒有動工。昨天趁著整理完出遊的照片，剩下的時間又懶得唸書，便想一鼓作氣一了心願。</p>
<p>一開始找到的幾乎都是 <a href="http://www.lokeshdhakar.com/">Lokesh Dhakar</a> 的作品 <a href="http://www.huddletogether.com/projects/lightbox2/">Lightbox 2</a>，一開始沒看清楚說明，裝了才發現原來這是泛用各網頁的 javascript，後來又找到<a href="http://www.4mj.it/lightbox-js-v20-wordpress/">一個 for wordpress 的</a>，不過他介紹文章一開頭又說了個看起來是精簡版的 lightbox &#8212; <a href="http://www.4mj.it/slimbox-wordpress-plugin">Slimbox WordPress Plugin</a>。既然網頁把他說得這麼厲害，我當然就採用啦！</p>
<p>安裝是蠻簡單的，解壓縮後再到控制台裡 activate 即可，使用的話，必須在圖片外面包一個 <em>&lt;a&gt;</em> tag，裡面要有 <em>rel=&quot;lightbox&quot;</em> 屬性，按照我原本相簿裡的寫法，<em>&lt;a&gt;</em> tag 本來就有，不過連回去的是照片所在的 flickr 頁面，這時只好再把專門拿來生相簿 html code 的程式稍做修改，大致改好後，就可以運作了。</p>
<div class="right_picture"><img src='http://blog.tsaiid.idv.tw/wp-content/uploads/2008/01/blog_slimbox_flickr_logo.png' alt='Flickr Logo in Slimbox' width="167" height="90" /></div>
<p>其實最花時間的是這一步，因為 <a href="http://flickr.com/guidelines.gne">flickr 要求</a>所有外連的照片都要能連回 flickr 的頁面，我原本的作法當然沒問題，只是改用 Slimbox 後，就連不回去了，雖然 flickr 應該不會找我這沒啥流量的網站開刀，不過以防萬一，還是盡量避免的好，於是花了點功夫，在頁面的右下角再加上一個 flickr logo，這樣應該算勉強符合它的規範吧？ ^^a</p>
<p>喔～好久沒碰程式，看了一整晚也是頭暈眼花，不過看到相簿有點進步，心裡還是有點小成就啦！</p>
<p>PS. 目前已經採用 Slimbox 格式的相簿有「<a href="http://blog.tsaiid.idv.tw/photos/2007/1202_1/">扇形車庫</a>」、「<a href="http://blog.tsaiid.idv.tw/photos/2007/1202_2/">八卦山</a>」兩本，有興趣可以參考。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tsaiid.idv.tw/2007/12/lightbox-effect-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

