<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet DebianTW</title>
	<link>http://planet.debian.org.tw/</link>
	<language>en</language>
	<description>Planet DebianTW - http://planet.debian.org.tw/</description>

<item>
	<title>tsung: 北京行 - 飛機與颱風的巧遇 經驗</title>
	<guid>http://plog.longwin.com.tw/my-life/2008/09/30/beijing-airport-learn-2008</guid>
	<link>http://plog.longwin.com.tw/my-life/2008/09/30/beijing-airport-learn-2008</link>
	<pubDate>Tue, 30 Sep 2008 23:30:52 +0000</pubDate>
</item>
<item>
	<title>tsung: 好站: Page2RSS - 為網站建立 RSS Feed</title>
	<guid>http://plog.longwin.com.tw/my-favorite-site/2008/09/29/favorite-page2rss-html-rss-feed-2008</guid>
	<link>http://plog.longwin.com.tw/my-favorite-site/2008/09/29/favorite-page2rss-html-rss-feed-2008</link>
	<pubDate>Mon, 29 Sep 2008 23:29:41 +0000</pubDate>
</item>
<item>
	<title>FourDollars: Ubuntu 裡面惱人的中文目錄名稱</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-2296778906159554567</guid>
	<link>http://fourdollars.blogspot.com/2008/09/ubuntu.html</link>
	<description>&lt;div&gt;不知道在那個 Ubuntu 版本開始的&lt;br /&gt;一些目錄名稱都變成了中文的&lt;br /&gt;每次在開 Gnome-Terminal 使用時&lt;br /&gt;都要使用中文輸入法才能進去用&lt;br /&gt;要不然就是在 Nautilus 一個一個把名稱改掉&lt;br /&gt;這樣才會反應到整個 Gnome 的環境中&lt;br /&gt;剛剛發現了一個比較優雅的解決方法&lt;br /&gt;就是在 GDM 底下選擇英文語系登入&lt;br /&gt;[選項]-&amp;gt;[選取語言]&lt;br /&gt;[英文(美國)]-&amp;gt;[改變語言]&lt;br /&gt;然後登入 Gnome 之後會出現&lt;br /&gt;&lt;img src=&quot;http://lh5.ggpht.com/fourdollars/SOBEfkVCWuI/AAAAAAAACRM/C6rQz8PQQyc/%5BUNSET%5D.png&quot; /&gt;&lt;br /&gt;順便把 [Don't ask me this again] 然後再按下 [Update Names]&lt;br /&gt;在登出 Gnome 然後登入 Gnome &lt;br /&gt;原本沒有檔案的中文目錄會被自動刪除&lt;br /&gt;再把中文目錄下的檔案都搬移到相對的英文目錄中&lt;br /&gt;就可以把中文目錄刪除掉了&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 29 Sep 2008 11:04:49 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>Rex's blah blah blah: 追蹤最新 Linux Kernel 開發狀況</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1111</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/29/following-kernel-development/</link>
	<description>&lt;p&gt;前陣子在 &lt;a href=&quot;irc://irc.freenode.net/tossug&quot;&gt;Tossug 的 IRC Channel&lt;/a&gt; 上討論除了訂閱 &lt;a href=&quot;http://vger.kernel.org/majordomo-info.html&quot;&gt;&lt;abbr title=&quot;Linux Kernel mailing list&quot;&gt;LKML&lt;/abbr&gt;&lt;/a&gt; 來了解 &lt;a href=&quot;http://www.kernel.org/&quot;&gt;Linux Kernel&lt;/a&gt; 的各種開發進度外，是否還有其他更有效率的方法 ?&lt;/p&gt;
&lt;p&gt;對，你可能是用了超新型電腦設備的&lt;a href=&quot;http://en.wikipedia.org/wiki/Power_user&quot;&gt;資深使用者&lt;/a&gt;，或者是某某公司的 Linux kernel 維護/開發者，需要了解相關硬體驅動程式的開發支援狀態，或是 API 的改變。&lt;/p&gt;
&lt;p&gt;當然，訂閱 LKML 可以確保你不會錯過任何一條新消息。但每日高達兩三百封電子郵件，許多信件中還包含 &lt;a href=&quot;http://en.wikipedia.org/wiki/Patch_%28computing%29&quot;&gt;patches&lt;/a&gt;，光下載就花掉不少時間，更何況需要消化這些湧入的訊息。&lt;/p&gt;
&lt;p&gt;比較容易的方式是透過 USENET 或 RSS Feeds 訂閱 LKML，如此只需要下載標題，再選擇標題閱讀即可。若不想透過電子郵件軟體閱讀訊息，網路上有相當多提供郵遞論壇轉網頁的網站可使用，如 &lt;a href=&quot;http://groups.google.com/group/linux.kernel/topics&quot;&gt;Google Groups&lt;/a&gt; 、&lt;a href=&quot;http://www.mail-archive.com/linux-kernel@vger.kernel.org/&quot;&gt;The Mail Archive&lt;/a&gt;、&lt;a href=&quot;http://www.nabble.com/linux-kernel-f49.html&quot;&gt;Napple&lt;/a&gt;、&lt;a href=&quot;http://lkml.org/&quot;&gt;LKML.org&lt;/a&gt; 等，你尚可配合其內建或 Google 等網路搜尋引擎來查找你想要搜尋的關鍵字，還算相當方便。&lt;/p&gt;
&lt;p&gt;許多網站都還提供 RSS 的訂閱機制，你可以直接在 RSS Reader 訂閱後，看到感興趣的標題在點入閱讀。不過大部份的網站都只讓你訂閱最新的標題，如此還是會收到相當多訊息，不甚方便。&lt;/p&gt;
&lt;p&gt;但 &lt;a href=&quot;http://lkml.org/&quot;&gt;LKML.org&lt;/a&gt; 提供了一個追星族 (groupie) 功能，我個人認為相當實用，這功能讓你可以訂閱特定開發者的發言！於是，你可以追蹤一些重要人士的發言，如 &lt;a href=&quot;http://lkml.org/groupie.php&quot;&gt;Linus Torvalds&lt;/a&gt;, &lt;a href=&quot;http://lkml.org/groupie.php?author=Andrew+Morton&quot;&gt;Andrew Morton&lt;/a&gt; 等，以免錯過重要的決策資訊。&lt;/p&gt;
&lt;p&gt;但是我要推薦的是 &lt;a href=&quot;http://gmane.org/&quot;&gt;Gmane&lt;/a&gt;，一樣是將 &lt;a href=&quot;http://dir.gmane.org/gmane.linux.kernel&quot;&gt;LKML&lt;/a&gt; 轉換儲存，Gmane 提供了更多樣的介面，包含了&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://news.gmane.org/gmane.linux.kernel&quot;&gt;Loom 網頁瀏覽介面&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.gmane.org/gmane.linux.kernel&quot;&gt;Blog  網頁瀏覽介面&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;nntp://news.gmane.org/gmane.linux.kernel&quot;&gt;NNTP/USENET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;RSS 訂閱機制&lt;/li&gt;
&lt;li&gt;搜尋功能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其中 RSS 訂閱機制，提供了高達四種訂閱方式！你可以&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rss.gmane.org/messages/excerpts/gmane.linux.kernel&quot;&gt;所有訊息與內容摘錄&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rss.gmane.org/messages/complete/gmane.linux.kernel&quot;&gt;所有訊息與全訊息內容&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rss.gmane.org/topics/excerpts/gmane.linux.kernel&quot;&gt;郵件標題與與內容摘錄&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rss.gmane.org/topics/complete/gmane.linux.kernel&quot;&gt;郵件標題與全訊息內容&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我個人習慣只訂閱郵件標題與內容摘錄，如此就可以只跟著感興趣的題目，而不會分心在其他的議題上。Gmane 除了訂閱方式多元以外，它的瀏覽介面與搜尋也相當神速與方便，特別是所謂的 &lt;a href=&quot;http://loom.gmane.org/&quot;&gt;Loom&lt;/a&gt; 瀏覽介面，配合&lt;a href=&quot;http://gmane.org/loom-help.php&quot;&gt;鍵盤指令&lt;/a&gt;使用，比在本地端讀取還方便多了！同時也非常方便用來監視其他&lt;a href=&quot;http://dir.gmane.org/search.php?match=linux.kernel&quot;&gt;相關的郵遞論壇&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;除了追郵遞論壇的討論細節外，你也必須知道大方向的發展狀態。首先要推薦是 &lt;a href=&quot;http://lwn.net/&quot;&gt;LWN&lt;/a&gt;，它提供最具深度與時效的報導，且一個月也才五元到十元美金，請以&lt;a href=&quot;http://lwn.net/subscribe/&quot;&gt;訂閱&lt;/a&gt;作為&lt;a href=&quot;http://lwn.net/op/Subscriptions.lwn&quot;&gt;支持&lt;/a&gt;這個網站的行動吧。若你是為商業公司服務，請記得告訴你老闆可以使用團體帳號訂閱。若你不想花錢在這上面，上面的新聞只要過了時效就可以免費瀏覽了。&lt;/p&gt;
&lt;p&gt;另外 &lt;a href=&quot;http://kerneltrap.org/&quot;&gt;KernelTrap&lt;/a&gt; 的熱門話題與新聞也應該要時常閱讀。並也可以透過 &lt;a href=&quot;http://kernelnewbies.org/&quot;&gt;Kernel Newbies&lt;/a&gt; 的&lt;a href=&quot;http://kernelnewbies.org/Linux26Changes&quot;&gt;核心變動懶人包&lt;/a&gt;，來了解新版核心的&lt;a href=&quot;http://kernelnewbies.org/LinuxChanges&quot;&gt;變動&lt;/a&gt;資訊。&lt;/p&gt;</description>
	<pubDate>Mon, 29 Sep 2008 00:00:21 +0000</pubDate>
</item>
<item>
	<title>Cornelius: Vim - 設定外部編排程式</title>
	<guid>tag:blogger.com,1999:blog-3147036244016021082.post-5826079438805110118</guid>
	<link>http://c9s.blogspot.com/2008/09/vim.html</link>
	<description>在 irc 上頭有朋友問是否有自動編排程式碼的程式，答案是有的。若要寫 C 你可以使用 GNU 的 Indent ，寫 perl 則有 perltidy 。&lt;br /&gt;&lt;br /&gt;在 Ubuntu/Debian 皆有套件可直接安裝使用 GNU Indent。&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ sudo apt-get install indent&lt;/code&gt;&lt;br /&gt;GNU Indent 預設為 GNU Style 若要調整程式碼風格，可以在 ~/.indent.pro 內設定。(請參見 man indent 或參考 &lt;a href=&quot;http://www.math.utah.edu/docs/info/indent_toc.html&quot;&gt;GNU Indent Manual&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;GNU Indent 的使用方式為:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ indent [filename]&lt;/code&gt;&lt;br /&gt;這樣會顯示編排後的程式碼，若用&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ indent file1 &gt; file2&lt;/code&gt;&lt;br /&gt;則會在 file2 存入編排後的程式碼。&lt;br /&gt;&lt;br /&gt;如果你有使用 vim ，你也可以將 GNU Indent 與 vim 的 [==] 功能做結合 ( 請參見 :help [==] )，vim 內有有名的 gg=G 大絕招可以編排整個檔案，預設是用 vim 去編排的，若要使用外部程式編排，可以使用 set equalprg 功能，在 .vimrc 內設定:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;set equalprg=/usr/bin/indent&lt;/code&gt;&lt;br /&gt;則在 vim 內選取區域後可按下等號，則 vim 會將此區塊傳至外部程式，再將外部程式的輸出結果替換。&lt;br /&gt;&lt;br /&gt;另外透過 autocmd 可以搭配不同的檔案類型設定不同的 indent program。&lt;br /&gt;&lt;br /&gt;譬如說我常用 perltidy 那麼可設定&lt;br /&gt;&lt;br /&gt;&lt;code&gt;au Filetype perl :set equalprg=perltidy&lt;/code&gt;&lt;br /&gt;我所使用的 .perltidyrc:&lt;pre class=&quot;code&quot;&gt;-l=78&lt;br /&gt;-i=4&lt;br /&gt;-ci=4&lt;br /&gt;-se&lt;br /&gt;-vt=2&lt;br /&gt;-cti=0&lt;br /&gt;-pt=1&lt;br /&gt;-bt=1&lt;br /&gt;-sbt=1&lt;br /&gt;-bbt=1&lt;br /&gt;-nsfs&lt;br /&gt;-nolq&lt;br /&gt;-wbb=&quot;% + - * / x != == &gt;= = =~ !~  &gt; | &amp;amp; &gt;=  = **= += *= &amp;amp;= = &amp;amp;&amp;amp;= -= /= |= &gt;&gt;= ||= .= %= ^= x=&quot;&lt;/pre&gt;以及 .indent.pro:&lt;pre class=&quot;code&quot;&gt;-br -nce&lt;br /&gt;-cdb -sc&lt;br /&gt;-bad&lt;br /&gt;-i8&lt;br /&gt;-ci4&lt;br /&gt;-di8&lt;br /&gt;-nbc&lt;br /&gt;-bfda&lt;br /&gt;-bls&lt;br /&gt;-ip0&lt;br /&gt;-hnl&lt;/pre&gt;</description>
	<pubDate>Sun, 28 Sep 2008 01:38:32 +0000</pubDate>
	<author>cornelius.howl@gmail.com (c9s)</author>
</item>
<item>
	<title>tsung: Windows XP 瘦身</title>
	<guid>http://plog.longwin.com.tw/news-windows/2008/09/26/windows-xp-clean-2008</guid>
	<link>http://plog.longwin.com.tw/news-windows/2008/09/26/windows-xp-clean-2008</link>
	<pubDate>Fri, 26 Sep 2008 10:55:16 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: New MadWifi HAL</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1158</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/26/new-madwifi-hal/</link>
	<description>&lt;p&gt;還記得我在 &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/2008/04/15/fonera-works-at-osdc/&quot;&gt;OSDC.TW 2008 無線網路架設&lt;/a&gt; OpenWrt trunk 的 &lt;a href=&quot;http://www.atheros.com/&quot;&gt;Atheros&lt;/a&gt; MadWifi hal binary 有相容性問題，以至於某些網路卡無法連接使用。&lt;/p&gt;
&lt;p&gt;HAL 是所謂 &lt;a href=&quot;http://en.wikipedia.org/wiki/Hardware_abstraction_layer&quot;&gt;Hardware Abstraction Layer&lt;/a&gt;，是 MadWifi 驅動程式的核心，也是少數由於版權的緣故無法提供程式碼，而只能以二進位檔案散佈。因此某些驅動程式的問題，在沒有開放原碼的狀態下，大部分的開發者就算想修改也無能為力。&lt;/p&gt;
&lt;p&gt;最近幾個月來，Madwifi Team 的幾位成員，包含 &lt;a href=&quot;http://openwrt.org/&quot;&gt;OpenWrt&lt;/a&gt; 的 &lt;abbr title=&quot;Felix Fietkau&quot;&gt;nbd&lt;/abbr&gt;, &lt;a href=&quot;http://www.dd-wrt.com/&quot;&gt;DD-WRT&lt;/a&gt; 的 &lt;abbr title=&quot;Sebastian Gottschall&quot;&gt;BrainSlayer&lt;/abbr&gt; 與 &lt;a href=&quot;http://www.maksat.com/&quot;&gt;Maksat Wireless&lt;/a&gt; 開始合作以 &lt;a href=&quot;http://www.atheros.com/&quot;&gt;Atheros&lt;/a&gt; 的新 HAL 與 BSD 大神 Sam Leffler 的程式碼為基礎，&lt;a href=&quot;http://madwifi.org/wiki/news/20080829/new-hal-release-for-atheros-hardware&quot;&gt;改進了新版的 HAL 驅動程式&lt;/a&gt;，修正許多過去已知的問題與加強訊號抗擾性。目前仍陸續改版測試中，新版 HAL 與程式可於 http://svn.madwifi.org/madwifi/branches/madwifi-hal-testing 取得。&lt;/p&gt;
&lt;p&gt;其實這樣的合作一直在進行，但礙於 Atheors 簽訂條款有權可讀相關程式碼的人並不多，許多的討論都是在私下進行的。如此一來造成自由軟體社群間的溝通出現隔閡，造成許多新來後到的人無法了解狀況。於是 &lt;a href=&quot;http://otaku42.de/&quot;&gt;&lt;abbr title=&quot;Michael Renzmann&quot;&gt;mrenzmann&lt;/abbr&gt;&lt;/a&gt; &lt;a href=&quot;http://article.gmane.org/gmane.linux.drivers.madwifi.devel/6823&quot;&gt;決議&lt;/a&gt;將原本封閉的郵遞論壇開放為 &lt;a href=&quot;https://lists.madwifi-project.org/mailman/listinfo/madwifi-project&quot;&gt;madwifi-project&lt;/a&gt;，希望可以因此塑造一個比較健康的溝通環境。&lt;/p&gt;
&lt;p&gt;最近 MadWifi 社群也在探討未來的發展走向，由於目前的 Code Base 過於雜亂，眾人已無力維護。希望&lt;a href=&quot;http://madwifi.org/wiki/news/20070920/madwifi-moves-away-from-binary-only-hal&quot;&gt;最終目標&lt;/a&gt;為從封閉的 HAL 驅動程式改為使用正在開發中的 ath5k/ath9k 等完全開放原碼的驅動程式。為此，madwifi 正在徵求&lt;a href=&quot;https://madwifi.org/wiki/news/20080924/user-survey&quot;&gt;意見調查&lt;/a&gt;，希望可以了解大家使用 &lt;a href=&quot;http://www.atheros.com/&quot;&gt;Atheros&lt;/a&gt; 相關無線網路卡的驅動程式時，最需要的功能是哪些 ? 若你也是用 Atheros 的無線網路卡，不妨填填此&lt;a href=&quot;https://madwifi.org/wiki/news/20080924/user-survey&quot;&gt;問卷調查&lt;/a&gt;吧。&lt;/p&gt;
&lt;p&gt;(對，說得是你們這些 EEEPC/Acer One/Netbooks 使用者阿)&lt;/p&gt;</description>
	<pubDate>Fri, 26 Sep 2008 00:00:07 +0000</pubDate>
</item>
<item>
	<title>tsung: UUID generator function (PHP/Javascript/Ruby)</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/25/uuid-generator-function-php-javascript-ruby-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/25/uuid-generator-function-php-javascript-ruby-2008</link>
	<pubDate>Thu, 25 Sep 2008 11:23:13 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: 用手機作簡報播放</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1153</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/25/amora/</link>
	<description>&lt;p&gt;你有一隻支援藍芽的 Nokia/Symbian 手機，而且偶爾需要使用筆記型電腦來作簡報嗎？那麼來裝 &lt;a name=&quot;Introduction&quot; href=&quot;http://code.google.com/p/amora/&quot;&gt;Amora (A mobile remote assistant)&lt;/a&gt; 吧！&lt;/p&gt;
&lt;p&gt;感謝主開發者 &lt;a href=&quot;https://www.ohloh.net/accounts/15632&quot;&gt;Adenilson Cavalcanti&lt;/a&gt;，Amora 是一個支援 Symbian 手機與 Linux 平台的軟體，它利用藍芽作了一個可以使用手機控制桌面的小軟體，需要在 Linux 上安裝一個小程式，透過安裝在手機上的控制端程式，可以遠端控制滑鼠位置與左右鍵，當然還可以作上下頁的翻頁，且手機畫面上還會顯示連線過程所使用的時間，非常適合簡報走下講台時使用。&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-1154&quot; title=&quot;amora&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/amora.jpg&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;499&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Source: &lt;a href=&quot;http://code.google.com/p/amora/&quot;&gt;Amora&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在 Debian GNU/Linux Sid 上，你可以直接安裝 &lt;a href=&quot;http://packages.debian.org/amora-server&quot;&gt;amora-server&lt;/a&gt; 即可。由於軟體是使用 &lt;a href=&quot;http://www.forum.nokia.com/main/resources/tools_and_sdks/pythonforS60/&quot;&gt;Python For S60&lt;/a&gt; 所開發，手機上得先安裝 &lt;a href=&quot;http://opensource.nokia.com/projects/pythonfors60/&quot;&gt;Python&lt;/a&gt; 後，再安裝 Amora 的 SIS 安裝檔，經過簡單的藍芽配對後就可以使用了。&lt;/p&gt;</description>
	<pubDate>Thu, 25 Sep 2008 00:00:57 +0000</pubDate>
</item>
<item>
	<title>FourDollars: 利用程式碼註解來達成 #if #else #endif 的效果</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-403783377812657351</guid>
	<link>http://fourdollars.blogspot.com/2008/09/if-else-endif.html</link>
	<description>&lt;div&gt;下面這段 C 語言的程式碼&lt;blockquote&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    //*/&lt;br /&gt;    printf(&quot;If\n&quot;);&lt;br /&gt;    /*/&lt;br /&gt;    printf(&quot;Else\n&quot;);&lt;br /&gt;    //*/&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;效果相當於&lt;br /&gt;&lt;blockquote&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;#if 1&lt;br /&gt;    printf(&quot;If\n&quot;);&lt;br /&gt;#else&lt;br /&gt;    printf(&quot;Else\n&quot;);&lt;br /&gt;#endif&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;如果把第一個註解改成 /*/ 後&lt;br /&gt;&lt;blockquote&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    /*/&lt;br /&gt;    printf(&quot;If\n&quot;);&lt;br /&gt;    /*/&lt;br /&gt;    printf(&quot;Else\n&quot;);&lt;br /&gt;    //*/&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;效果就相當於&lt;br /&gt;&lt;blockquote&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;#if 0&lt;br /&gt;    printf(&quot;If\n&quot;);&lt;br /&gt;#else&lt;br /&gt;    printf(&quot;Else\n&quot;);&lt;br /&gt;#endif&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;這個小技巧也可以應用在其他可以使用 // /**/ 當作註解的程式語言&lt;br /&gt;&lt;br /&gt;像是 Java 沒有 macro 可以使用，遇到 JNI 這類的東西，系統上就一定要安裝相關的 native library 才可以使用 JNI，如果在 JNI 上面加上一層空殼再搭配這樣的技巧就可以快速地在 native function 與 pseudo function 之間切換。&lt;br /&gt;&lt;br /&gt;改寫之前寫過的 &lt;a href=&quot;http://fourdollars.blogspot.com/2007/07/jni-java-native-interface.html&quot;&gt;JNI - Java Native Interface&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;class HelloWorld&lt;br /&gt;{&lt;br /&gt;    // If '/*/' use native, '//*/' use pseudo.&lt;br /&gt;    //*/&lt;br /&gt;    public int[][] multiply(int A[][], int B[][]) { return null; }&lt;br /&gt;    /*/&lt;br /&gt;    public native int[][] multiply(int A[][], int B[][]);&lt;br /&gt;    static&lt;br /&gt;    {&lt;br /&gt;        System.loadLibrary(&quot;HelloWorldImp&quot;);&lt;br /&gt;    }&lt;br /&gt;    //*/&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args)&lt;br /&gt;    {&lt;br /&gt;        HelloWorld test = new HelloWorld();&lt;br /&gt;        int[][] A = new int[5][5];&lt;br /&gt;        int[][] B = new int[5][5];&lt;br /&gt;        int[][] result = test.multiply(A, B);&lt;br /&gt;        System.out.println(result[0][0]);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;如果只是要開發一些跟 JNI 功能無關的 Java 程式部份，又不想要安裝或是無法安裝那些相依的 native library 的時候就很方便了。 ^o^&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 24 Sep 2008 12:47:17 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>tsung: PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/24/php-check-header-send-data-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/24/php-check-header-send-data-2008</link>
	<pubDate>Wed, 24 Sep 2008 11:13:41 +0000</pubDate>
</item>
<item>
	<title>FourDollars: 網路印表機設定 : Ricoh Aficio 2022</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-570438332761911199</guid>
	<link>http://fourdollars.blogspot.com/2008/09/ricoh-aficio-2022.html</link>
	<description>&lt;div&gt;&lt;ol&gt;&lt;li&gt;首先到 &lt;a href=&quot;http://www.linuxprinting.org/show_printer.cgi?recnum=Ricoh-Aficio_2022&quot;&gt;http://www.linuxprinting.org/show_printer.cgi?recnum=Ricoh-Aficio_2022&lt;/a&gt; 把 &lt;a href=&quot;http://www.linuxprinting.org/show_driver.cgi?driver=pxlmono&quot;&gt;pxlmono&lt;/a&gt; 的 &lt;a href=&quot;http://www.linuxprinting.org/foomatic-db/db/source/PPD/Ricoh/PXL/Ricoh-Aficio_2022_PXL.ppd&quot;&gt;Custom PPD&lt;/a&gt; 檔案下載回來準備等一下使用&lt;/li&gt;&lt;li&gt;接下來打開 GNOME 裡面的印表機設定 [系統] -&amp;gt; [管理] -&amp;gt; [列印]&lt;br /&gt;&lt;img src=&quot;http://lh6.ggpht.com/fourdollars/SNhv6l5fusI/AAAAAAAACQw/LW1bXMj5-iM/%5BUNSET%5D.png&quot; /&gt;&lt;/li&gt;&lt;li&gt;選擇 [新印表機]&lt;br /&gt;&lt;img src=&quot;http://lh6.ggpht.com/fourdollars/SNhw-6SKWKI/AAAAAAAACQ0/nhepSD8j6ws/%5BUNSET%5D.png&quot; /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;找到 Ricoh Aficio 2022 192.168.1.50 後點選下一頁&lt;br /&gt;&lt;img src=&quot;http://lh4.ggpht.com/fourdollars/SNhxCwGU2II/AAAAAAAACQ4/O9DVwZHqQPE/%5BUNSET%5D.png&quot; /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;選取 [Provide PPD file] 使用剛剛下載回來的 PPD&lt;br /&gt;&lt;img src=&quot;http://lh5.ggpht.com/fourdollars/SNhxPVJXb9I/AAAAAAAACQ8/xDkTO3z9VnM/%5BUNSET%5D.png&quot; /&gt;&lt;/li&gt;&lt;li&gt;然後把 [Bypass Tray] 手動送紙匣 跟 [Duplex Unit] 雙面列印 都打開後就選取 [下一頁]&lt;br /&gt;&lt;img src=&quot;http://lh6.ggpht.com/fourdollars/SNhxoThg_CI/AAAAAAAACRA/oi9B80n-odk/%5BUNSET%5D.png&quot; /&gt;&lt;/li&gt;&lt;li&gt;然後為印表機取個名稱再選取 [套用] 就可以了&lt;br /&gt;&lt;img src=&quot;http://lh4.ggpht.com/fourdollars/SNhyMe_KMjI/AAAAAAAACRE/CN7lhd1-uAg/%5BUNSET%5D.png&quot; /&gt;&lt;/li&gt;&lt;li&gt;最後設定完成的樣子&lt;br /&gt;&lt;img src=&quot;http://lh3.ggpht.com/fourdollars/SNhyTUJBTqI/AAAAAAAACRI/Km1s-2kqNQU/%5BUNSET%5D.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 23 Sep 2008 12:40:46 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>tsung: Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/23/linux-bash-command-join-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/23/linux-bash-command-join-2008</link>
	<pubDate>Tue, 23 Sep 2008 10:48:47 +0000</pubDate>
</item>
<item>
	<title>kanru: Display VCS info in prompts</title>
	<guid>http://blog.kanru.info/?p=343</guid>
	<link>http://blog.kanru.info/archives/343</link>
	<description>&lt;p&gt;通常 VCS (Version Control System) 都會在工作目錄底下藏一些特殊目錄用來儲存資訊，如 .svn .git .hg 等，因此我們可以在 shell prompt 上動一些手腳，當我們進到 VCS 工作目錄時，自動顯示相關的訊息在 prompt 上。&lt;/p&gt;

&lt;p&gt;而 zsh-beta 4.3.6-dev-0+20080921-1 內建了由 Frank Terbeck 開發的 vcs_info 子系統，可以自動偵測 bzr, cdv, &lt;acronym title=&quot;Concurrent Versions System&quot;&gt;CVS&lt;/acronym&gt;, darcs, git, hg, mtn, p4, svk, svn, tla 等多種 VCS，並設定相關的環境變數可以顯示在 prompt 上。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/blog/2008-09-22-200437_506x113_scrot.png&quot; alt=&quot;zsh prompt&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我的 prompt 設定如下&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;bash&quot;&gt;

autoload -Uz vcs_info &amp;amp;&amp;amp; vcs_info
zstyle &amp;#039;:vcs_info:*&amp;#039; actionformats \
&amp;#039;%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f &amp;#039;
zstyle &amp;#039;:vcs_info:*&amp;#039; formats       \
&amp;#039;%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f &amp;#039;
zstyle &amp;#039;:vcs_info:(sv[nk]|bzr):*&amp;#039; branchformat &amp;#039;%b%F{1}:%F{3}%r&amp;#039;
precmd () { vcs_info }
EXITCODE=&amp;quot;%(?..%?%1v )&amp;quot;
JOBS=&amp;quot;%(1j.%j .)&amp;quot;
local BLUE=&amp;quot;%{^[[1;34m%}&amp;quot;
local RED=&amp;quot;%{^[[1;31m%}&amp;quot;
local GREEN=&amp;quot;%{^[[1;32m%}&amp;quot;
local CYAN=&amp;quot;%{^[[1;36m%}&amp;quot;
local YELLOW=&amp;quot;%{^[[1;33m%}&amp;quot;
local NO_COLOUR=&amp;quot;%{^[[0m%}&amp;quot;
PROMPT=&amp;quot;${RED}${EXITCODE}${CYAN}${JOBS}${YELLOW}%* ${RED}%n${BLUE}@%m:${GREEN}%40&amp;lt;...&amp;lt;%B%~%b%&amp;lt;&amp;lt;&amp;quot;&amp;#039;${vcs_info_msg_0_}&amp;#039;&amp;quot;
${YELLOW}%# ${NO_COLOUR}&amp;quot;

&lt;/pre&gt;

&lt;p&gt;詳細的設定請參閱 zshcontrib(3) GATHERING INFORMATION FROM VERSION CONTROL SYSTEMS&lt;/p&gt;</description>
	<pubDate>Mon, 22 Sep 2008 12:10:15 +0000</pubDate>
</item>
<item>
	<title>tsung: PHP 為 Regex 加跳脫字元 的 function: quotemeta</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/22/php-regex-backslash-quotemeta-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/22/php-regex-backslash-quotemeta-2008</link>
	<pubDate>Mon, 22 Sep 2008 11:41:28 +0000</pubDate>
</item>
<item>
	<title>kanru: 跟螢幕玩 SM</title>
	<guid>http://blog.kanru.info/?p=341</guid>
	<link>http://blog.kanru.info/archives/341</link>
	<description>&lt;p&gt;這個 &lt;a href=&quot;http://darcs.nomeata.de/screen-message/&quot;&gt;SM&lt;/a&gt; 是之前發現的小工具，全名是 screen message，不要想歪囉 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;p&gt;sm 是用來在螢幕上顯示顯示一段文字，並盡可能的塞滿整個螢幕，可以事先在 command line 指定好前景背景顏色與字型，還有旋轉方向。預設不加任何參數的話，會使用白底黑字與 Sans 字型，顯示一個笑臉如下：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/blog/2008-09-22-124225_1280x768_scrot.png&quot; alt=&quot;default sm&quot; width=&quot;60%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;按一下 ESC 就可以把畫面清空，按任意鍵後可以開始輸入，如果打字夠快的話，說不定能來一段即興的&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E9%AB%98%E6%A9%8B%E6%B5%81%E7%B0%A1%E5%A0%B1%E6%B3%95&quot;&gt;高橋流&lt;/a&gt;演說？&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/blog/2008-09-22-123421_1280x768_scrot.png&quot; alt=&quot;Takahashi sm&quot; width=&quot;60%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;臨時需要在螢幕上顯示特大號文字以引起注意時頗好用的小工具 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;shell&quot;&gt;

% apt-get install sm

&lt;/pre&gt;</description>
	<pubDate>Mon, 22 Sep 2008 04:56:49 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: 試用 EeePC 上之商業授權軟體</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1069</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/22/comerical-software-on-eeepc/</link>
	<description>&lt;p&gt;前陣子翻查了 ASUS 的新版 (&lt;a href=&quot;http://update.eeepc.asus.com/1.6/&quot;&gt;1.6&lt;/a&gt;) 軟體套件，發現華碩電腦為 P1000H, P1000HD, P904, P904HD 等新款機型找了幾個搭售的商業軟體。分別是 &lt;a href=&quot;http://www.aibelive.com/tw/03sdk-embedded.html&quot;&gt;Ai Wizard&lt;/a&gt; (Dr E), &lt;a href=&quot;http://www.dreye.com/tw/&quot;&gt;Dr. Eye&lt;/a&gt; (譯點通), &lt;a href=&quot;http://eeestock.sound.com.tw/zh/index.html&quot;&gt;EeeStock&lt;/a&gt;, &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/2008/06/05/native-ezpeer-for-linux/&quot;&gt;EzPeer&lt;/a&gt;, &lt;a href=&quot;http://www.sun.com/software/staroffice/index.jsp&quot;&gt;StarOffice&lt;/a&gt;, &lt;a href=&quot;http://www.iqchinese.com/&quot;&gt;IQChinese Let&amp;#8217;s Learn Chinese&lt;/a&gt;, &lt;a href=&quot;http://www.xcome.com/&quot;&gt;Xcome XLex&lt;/a&gt; (擎願科技, 雙語字典通) 與 &lt;a href=&quot;http://www.yostore.net/&quot;&gt;yostore&lt;/a&gt; 等。不過目前除了 IQChinese, XLex, yostore 有 P701 的更新檔，其他的軟體都只有含硬碟的機型上才有內建或可下載安裝檔。&lt;/p&gt;
&lt;p&gt;老實說，身為一個使用 Debian GNU/Linux 作為桌面系統多年的使用者，我頗興奮看到這些商業軟體開始出現在 Linux 平台上，特別是除了 EEEPC 以外的眾多 &lt;a href=&quot;http://en.wikipedia.org/wiki/Subnotebook&quot;&gt;Subnotebook&lt;/a&gt;，如&lt;a title=&quot;Acer Aspire One&quot; href=&quot;http://en.wikipedia.org/wiki/Acer_Aspire_One&quot;&gt;Acer Aspire One&lt;/a&gt;, &lt;a title=&quot;HP 2133 Mini-Note PC&quot; href=&quot;http://en.wikipedia.org/wiki/HP_2133_Mini-Note_PC&quot;&gt;HP 2133 Mini-Note PC&lt;/a&gt;, &lt;a title=&quot;Dell Inspiron Mini 9&quot; href=&quot;http://en.wikipedia.org/wiki/Dell_Inspiron_Mini_9&quot;&gt;Dell Inspiron Mini 9&lt;/a&gt;, &lt;a title=&quot;OLPC XO-1&quot; href=&quot;http://en.wikipedia.org/wiki/OLPC_XO-1&quot;&gt;OLPC XO-1&lt;/a&gt;, &lt;a title=&quot;One A110&quot; href=&quot;http://en.wikipedia.org/wiki/One_A110&quot;&gt;One A110&lt;/a&gt;, &lt;a title=&quot;Skytone Alpha-400&quot; href=&quot;http://en.wikipedia.org/wiki/Skytone_Alpha-400&quot;&gt;Skytone Alpha-400&lt;/a&gt;, &lt;a title=&quot;CloudBook&quot; href=&quot;http://en.wikipedia.org/wiki/CloudBook&quot;&gt;CloudBook&lt;/a&gt;, &lt;a title=&quot;Classmate PC&quot; href=&quot;http://en.wikipedia.org/wiki/Classmate_PC&quot;&gt;Classmate PC&lt;/a&gt;, LG X110, &lt;a title=&quot;MSI Wind PC&quot; href=&quot;http://en.wikipedia.org/wiki/MSI_Wind_PC&quot;&gt;MSI Wind PC&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/IdeaPad&quot;&gt;Lenovo IdeaPad S&lt;/a&gt; 與 &lt;a title=&quot;VIA OpenBook&quot; href=&quot;http://en.wikipedia.org/wiki/VIA_OpenBook&quot;&gt;VIA OpenBook&lt;/a&gt; 等都&lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_netbooks&quot;&gt;搭售 Linux 出貨&lt;/a&gt;。剎那間，已經足夠撐起一個生態環境，讓軟體產業開始投資發展 Linux 桌面系統的軟體產品，而不僅有龐大的企業、伺服器用商用軟體。&lt;/p&gt;
&lt;p&gt;試著安裝了比較感興趣的 Dr Eye、Eee Stock 與 EzPeer，發現這些軟體都加上了系統檢查功能，要嘛檢查核心版本、要嘛檢查 &lt;a href=&quot;http://en.wikipedia.org/wiki/Desktop_Management_Interface&quot;&gt;&lt;abbr title=&quot;Desktop Management Interface&quot;&gt;DMI&lt;/abbr&gt;&lt;/a&gt; 系統編號、或者根本去檢查記憶體內容，總之就是限制一般使用者將軟體移到其他安裝 Linux 的桌面系統上使用。每次你執行程式時，系統便會跳出以下視窗「抱歉，此軟體僅供Asus EeePC使用」，真是可惜。&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;EzpeerLinux denied for only EeePC User&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezpeerlinux.png&quot;&gt;&lt;img class=&quot;size-full wp-image-1070 aligncenter&quot; title=&quot;EzpeerLinux denied for only EeePC User&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezpeerlinux.png&quot; alt=&quot;&quot; width=&quot;308&quot; height=&quot;156&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;雖說像 Dr. Eye 這樣的軟體，在 Linux 有 &lt;a href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;GPL&lt;/a&gt; 授權的 &lt;a href=&quot;http://stardict.sourceforge.net/&quot;&gt;StarDict&lt;/a&gt; 的自由軟體可使用，但是眾多使用者都已經熟悉了 Dr. Eye 的使用介面與習慣，即使其他替代軟體的操作介面都非常類似，但許多使用者大概因為品牌因素使用 Dr. Eye 吧。但目前 Dr. Eye 在 Linux 的版本字庫非常貧乏，不知道什麼時候才有專業版出現？&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Screenshot of Dr Eye&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-dreye.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-1071 aligncenter&quot; title=&quot;Screenshot of Dr Eye&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-dreye-300x225.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;除了常見的字典軟體，像先前介紹過的 &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/2008/06/05/native-ezpeer-for-linux/&quot;&gt;Ezpeer&lt;/a&gt; 就沒有開源的替代軟體可使用，勢必要有商業法人取得音樂授權後，才能合法的線上聆聽音樂。在較新版的 Ezpeer V1.3.05 中，執行的權利也被關閉了。只有在 EeePC 上才能執行使用。&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezpeer.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-1072 aligncenter&quot; title=&quot;screenshot-ezpeer&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezpeer-300x168.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;168&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;另外一個我個人認為非常實用的軟體是&lt;a href=&quot;http://www.sound.com.tw/&quot;&gt;聲達資訊&lt;/a&gt;的 &lt;a href=&quot;http://eeestock.sound.com.tw/zh/index.html&quot;&gt;EeeStock&lt;/a&gt; 看盤軟體。日常的時候，我通常使用 &lt;a href=&quot;http://raphael.slinckx.net/blog/2006-01-18/stock-trading-yay&quot;&gt;Invest Stock&lt;/a&gt; 來看&lt;span&gt;接近&lt;/span&gt;即時大盤與個股報價，也用 &lt;a href=&quot;http://wiki.debian.org.tw/index.php/qtstalker&quot;&gt;qtstalker&lt;/a&gt; 或 &lt;a href=&quot;http://dirk.eddelbuettel.com/code/smtm.screenshot.html&quot;&gt;&lt;abbr title=&quot;show me the momey&quot;&gt;SMTM&lt;/abbr&gt;&lt;/a&gt; 來看盤後交易資訊與技術線圖。特別是 qtstalker 的技術線圖功能，類型多到眼花撩亂，且你還可自己寫報價與技術指標的模組，彈性非常大。而 Invest Stock 藏在 Gnome Panel 上，最適合隨時觀察一下大體走勢。兩個軟體得資訊來源都是 Yahoo, 使用時只要特別注意一下 &lt;a href=&quot;http://finance.yahoo.com/&quot;&gt;Yahoo! Finance&lt;/a&gt; 的股市名稱，如 華碩為 2357.TW, 台股大盤指數為 ^TWII。Invest Stock 目前可於 &lt;a href=&quot;http://packages.debian.org/search?keywords=gnome-applets&quot;&gt;gnome-applets&lt;/a&gt; 中取得，至於 qtstalker 由於缺乏 Sponsors 的&lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=429827#39&quot;&gt;原因&lt;/a&gt;，新版可於 &lt;a href=&quot;http://www.zwets.com/&quot;&gt;Marco van Zwetselaar&lt;/a&gt; 的&lt;a href=&quot;http://www.zwets.com/qtstalker/&quot;&gt;網站下載&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-1090&quot; title=&quot;Screenshot Of InvestStock&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-of-investstock.png&quot; alt=&quot;&quot; width=&quot;256&quot; height=&quot;123&quot; /&gt;&lt;/p&gt;
&lt;p&gt;但若你已經習慣玩台股，且在 Windows 上使用證卷商所提供的軟體，肯定已經習慣台股看盤軟體所提供的介面，選單上整合好了即時個股行情、類股、整合報價、上市、上櫃大盤、即時資訊、國際資訊等。操作起來實在非常便利。&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Screenshot of EeeStock&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezstock.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-1073 aligncenter&quot; title=&quot;Screenshot of EeeStock&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-eeestock-300x225.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt; &lt;a title=&quot;Screenshot of Ezstock&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezstock1.png&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-1078&quot; title=&quot;Screenshot of Ezstock&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-ezstock1-300x187.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;187&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最後，另我感興趣的軟體則是 StarOffice，StarOffice 目前下載版一套要價 USD 69.96，與 &lt;a href=&quot;http://www.openoffice.org/&quot;&gt;OpenOffice&lt;/a&gt; 的主要差異在於多了些&lt;a href=&quot;http://en.wikipedia.org/wiki/StarOffice#Proprietary_components&quot;&gt;私有版權&lt;/a&gt;的字型、圖庫、樣板、&lt;a href=&quot;http://en.wikipedia.org/wiki/Adabas_D&quot;&gt;Adabas D&lt;/a&gt; 資料庫、巨集轉換等。相較起來，對使用者而言提供了更便利且合法的文書處理工具。&lt;/p&gt;
&lt;p&gt;據聞 &lt;a href=&quot;http://pack.google.com/&quot;&gt;Google 軟體集&lt;/a&gt; 也免費提供 StarOffice 供下載，不過我實際逛了一下，發現其實目前沒有提供 Linux 版本的 StarOffice 免費下載。EeePC 使用者算是賺到一套相對好使的文書處理工具。不過 &lt;a href=&quot;http://www.openoffice.org/&quot;&gt;OO.o&lt;/a&gt; 對我而言已經足夠，便未額外安裝測試為 ASUS EeePC 客製化的 StarOffice.&lt;/p&gt;
&lt;p&gt;看來 ASUS 恐怕礙於需防守於各家廠商所追進市場的新產品，必須與軟體商取得獨佔權，以便(暫時)保有領先地位。希望在今年接下來幾個月，市場陸續上市 &lt;a href=&quot;http://en.wikipedia.org/wiki/Netbook&quot;&gt;Netbook&lt;/a&gt; 後，能夠看到更多商業軟體移植到 Linux 平台阿。&lt;/p&gt;</description>
	<pubDate>Mon, 22 Sep 2008 00:00:32 +0000</pubDate>
</item>
<item>
	<title>Damon: flavors of entanglement by alanis morissette</title>
	<guid>http://blog.damon.tw/index.php?itemid=229</guid>
	<link>http://blog.damon.tw/index.php?itemid=229</link>
	<description>&lt;img src=&quot;http://blog.damon.tw/media/1/20080921-flavors_of_entanglement.jpg&quot; alt=&quot;image&quot; /&gt;&lt;br /&gt;
可以說是alanis morissette歷來最好的一張作品&lt;br /&gt;
女性搖滾很重要的歌手alanis morissette的新作品flavors of entanglement，我其實買了有一陣子了，也聽了很多遍了，個人感覺這是她歷來最好的一張作品&lt;br /&gt;
嘗試了融合東方風格在citizen of the planet，不知道為甚麼，這首歌讓我想起中東那邊的感覺，阿拉丁神燈這類的東西&lt;br /&gt;
一路帶著輕盈的腳步搭配輕快明亮的電吉他的旋律，引導出underbneath，在進入電子迷幻straitjacket的瘋狂狀態&lt;br /&gt;
後面的歌曲就比較嚴肅一些的感覺了，也比較探討一些很深入的情感上的議題，節奏也舒緩了下來了，跟前面幾首歌有很明顯的區別，用這樣的對比來帶出她心裡的感受跟起伏&lt;br /&gt;
歌名及歌詞一如以往，她的音樂用字遣詞越來越深澳，我想這已經是她的特色了吧，呵呵&lt;br /&gt;
唱片行買的到的好像都是雙cd的版本，cd 2裡面的歌很像是一些實驗風格的東西放在一起的感覺，每首歌都有自己不同的風格，喜歡多變風格的人從cd 2開始會是比較好的&lt;br /&gt;
我個人最喜歡tapes，再來是underbneath，not as we , orchid這幾首&lt;br /&gt;
特別推薦tapes的原因是因為喜歡這首歌的旋律，尤其是電吉他的部分，深沉，可是卻又很明亮，明亮中又包含著許多黑暗面的感覺，搭配沙啞的嗓音，真是讚&lt;br /&gt;
很難得能夠有這樣的作品能夠一直突破之前的作品的範疇的，這張就是很少數能夠做到的作品&lt;br /&gt;
沒話說，的確是她歷來最好的作品</description>
	<pubDate>Sun, 21 Sep 2008 14:34:21 +0000</pubDate>
</item>
<item>
	<title>FourDollars: Firefox 附加元件 : ScribeFire 寫 Blog 文章的利器</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-7808166420977787318</guid>
	<link>http://fourdollars.blogspot.com/2008/09/firefox-scribefire-blog.html</link>
	<description>&lt;div&gt;這篇就是使用 ScribeFire 來撰寫的~ ^o^&lt;br /&gt;&lt;a href=&quot;http://blog.scribefire.com/help/getting-started/&quot;&gt;Getting started with ScribeFire - ScribeFire: Fire up your blogging&lt;/a&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 19 Sep 2008 12:02:11 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>FourDollars: 手動在 GNOME 中建立 Eclipse 的選單圖示</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-8586810057850440119</guid>
	<link>http://fourdollars.blogspot.com/2008/09/gnome-eclipse.html</link>
	<description>&lt;div&gt;目前官方的最新版本是 Eclipse 3.4 (Ganymede)&lt;br /&gt;可是在 Ubuntu Hardy 8.04.1 下面預設的 Eclipse 版本只有到 3.2.2&lt;br /&gt;&lt;blockquote&gt;$ apt-cache policy eclipse&lt;br /&gt;eclipse:&lt;br /&gt;已安裝:(沒有)&lt;br /&gt;  候選:3.2.2-5ubuntu2&lt;br /&gt;  版本表格:&lt;br /&gt;     3.2.2-5ubuntu2 0&lt;br /&gt;        500 http://tw.archive.ubuntu.com hardy/universe Packages&lt;br /&gt;&lt;/blockquote&gt;於是就到官方網站上面直接下載 eclipse-java-ganymede-linux-gtk.tar.gz&lt;br /&gt;解開後會出現一個 eclipse 的目錄&lt;br /&gt;然後再增加一個檔案 ~/.local/share/applications/eclipse.desktop&lt;br /&gt;&lt;blockquote&gt;[Desktop Entry]&lt;br /&gt;Name=Eclipse&lt;br /&gt;Exec=/home/user/eclipse/eclipse&lt;br /&gt;Icon=/home/user/eclipse/plugins/org.eclipse.platform_3.3.100.v200806172000/eclipse48.png&lt;br /&gt;Terminal=false&lt;br /&gt;Type=Application&lt;br /&gt;Categories=Development;&lt;br /&gt;StartupNotify=true&lt;br /&gt;&lt;/blockquote&gt;這樣就可以在不影響系統環境的情況下建立一個自己使用的 Eclipse 3.4 的選單圖示囉~ ^o^&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 19 Sep 2008 11:59:23 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>tsung: Windows 自動校正系統時間(NTP)軟體</title>
	<guid>http://plog.longwin.com.tw/news-application/2008/09/19/windows-ntp-software-freeware-2008</guid>
	<link>http://plog.longwin.com.tw/news-application/2008/09/19/windows-ntp-software-freeware-2008</link>
	<pubDate>Fri, 19 Sep 2008 11:17:49 +0000</pubDate>
</item>
<item>
	<title>kanru: Xorg 1.5 XInput Hotplug</title>
	<guid>http://blog.kanru.info/?p=339</guid>
	<link>http://blog.kanru.info/archives/339</link>
	<description>&lt;p&gt;之前寫過 &lt;a href=&quot;http://blog.kanru.info/archives/279&quot;&gt;Xorg 1.4 XInput Hotplug&lt;/a&gt;，提到 xorg, evdev 可以利用 hal 自動偵測硬體載入 driver 與設定參數，而即將 release 的 Xorg 1.5 又新增了一些可以在 hal policy 裡設定的參數：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;input.x11_driver 可以設定這個 device 要使用的 driver，對應到 xorg.conf 的 Driver 選項&lt;/li&gt;
&lt;li&gt;input.x11_options.&amp;lt;option name&amp;gt; 則可以設定任意可以用 xorg.conf 裡的 Option 設定的選項 (除了 Option Device，因為 hal 已經知道是甚麼 device)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;如今我的 /etc/hal/fdi/policy/10-x11-input.fdi 長這樣：&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;

&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;
  &amp;lt;device&amp;gt;
      &amp;lt;match key=&amp;quot;info.capabilities&amp;quot; contains=&amp;quot;input.mouse&amp;quot;&amp;gt;
          &amp;lt;merge key=&amp;quot;input.x11_driver&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;mouse&amp;lt;/merge&amp;gt;
          &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.kernel.name&amp;quot;
              string=&amp;quot;Linux&amp;quot;&amp;gt;
              &amp;lt;merge key=&amp;quot;input.x11_driver&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;evdev&amp;lt;/merge&amp;gt;
          &amp;lt;/match&amp;gt;
      &amp;lt;/match&amp;gt;

    &amp;lt;match key=&amp;quot;info.capabilities&amp;quot; contains=&amp;quot;input.keys&amp;quot;&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.XkbRules&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;base&amp;lt;/merge&amp;gt;
        &amp;lt;!-- If we&amp;#039;re using Linux, we use evdev by default (falling back to
        keyboard otherwise). --&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_driver&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;keyboard&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.XkbModel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;pc105&amp;lt;/merge&amp;gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.kernel.name&amp;quot;
            string=&amp;quot;Linux&amp;quot;&amp;gt;
            &amp;lt;merge key=&amp;quot;input.x11_driver&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;evdev&amp;lt;/merge&amp;gt;
            &amp;lt;merge key=&amp;quot;input.x11_options.XkbModel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;evdev&amp;lt;/merge&amp;gt;
        &amp;lt;/match&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.XkbVariant&amp;quot; type=&amp;quot;string&amp;quot; /&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.XkbLayout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;dvorak&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.XkbOptions&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;ctrl:nocaps&amp;lt;/merge&amp;gt;
    &amp;lt;/match&amp;gt;
    &amp;lt;match key=&amp;quot;info.capabilities&amp;quot; contains=&amp;quot;input.touchpad&amp;quot;&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_driver&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;synaptics&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.Protocol&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;auto-dev&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.SHMConfig&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;on&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.LeftEdge&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;1100&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.RightEdge&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;5800&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.TopEdge&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;1600&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.BottomEdge&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4200&amp;lt;/merge&amp;gt;
        &amp;lt;merge key=&amp;quot;input.x11_options.HorizEdgeScroll&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;on&amp;lt;/merge&amp;gt;
    &amp;lt;/match&amp;gt;
  &amp;lt;/device&amp;gt;
&amp;lt;/deviceinfo&amp;gt;

&lt;/pre&gt;

&lt;p&gt;我的 /etc/X11/xorg.conf 只剩下必要的：&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;plain&quot;&gt;

Section &amp;quot;Device&amp;quot;
    Identifier  &amp;quot;i915gm&amp;quot;
    Driver      &amp;quot;intel&amp;quot;
EndSection

Section &amp;quot;Screen&amp;quot;
    Identifier  &amp;quot;Default Screen&amp;quot;
    Device      &amp;quot;i915gm&amp;quot;
    DefaultDepth    24
    SubSection &amp;quot;Display&amp;quot;
        Modes       &amp;quot;1280x768&amp;quot;
        Virtual     1280 1792
    EndSubSection
EndSection

&lt;/pre&gt;

&lt;p&gt;X 啟動的 log 如下：&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;plain&quot;&gt;

(II) config/hal: Adding input device SynPS/2 Synaptics TouchPad
(II) LoadModule: &amp;quot;synaptics&amp;quot;

(II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so
(II) Module synaptics: vendor=&amp;quot;X.Org Foundation&amp;quot;
        compiled for 1.4.99.906, module version = 0.15.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 2.1
(II) Synaptics touchpad driver version 0.15.0
(**) Option &amp;quot;Device&amp;quot; &amp;quot;/dev/input/event8&amp;quot;
(**) Option &amp;quot;SHMConfig&amp;quot; &amp;quot;on&amp;quot;
(**) Option &amp;quot;LeftEdge&amp;quot; &amp;quot;1100&amp;quot;
(**) Option &amp;quot;RightEdge&amp;quot; &amp;quot;5800&amp;quot;
(**) Option &amp;quot;TopEdge&amp;quot; &amp;quot;1600&amp;quot;
(**) Option &amp;quot;BottomEdge&amp;quot; &amp;quot;4200&amp;quot;
(**) Option &amp;quot;HorizEdgeScroll&amp;quot; &amp;quot;on&amp;quot;
(--) SynPS/2 Synaptics TouchPad touchpad found
(**) SynPS/2 Synaptics TouchPad: always reports core events
(II) XINPUT: Adding extended input device &amp;quot;SynPS/2 Synaptics TouchPad&amp;quot; (type: MOUSE)
(--) SynPS/2 Synaptics TouchPad touchpad found

&lt;/pre&gt;

&lt;p&gt;未來各 distro 可以提供預設的 fdi 檔，常見的 input device 都可以隨插即用 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 19 Sep 2008 08:12:42 +0000</pubDate>
</item>
<item>
	<title>yungyuc: 屁country</title>
	<guid>http://blog.seety.org/everydaywork/2008/9/19/1061/</guid>
	<link>http://feeds.feedburner.com/~r/EverydayWork/~3/396678525/</link>
	<description>&lt;p&gt;世理是拳頭力量大。當我拳頭小的時候，不是很喜歡這樣。&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;reference&quot; href=&quot;http://en.wikipedia.org/wiki/ISO_country_code&quot;&gt;ISO 3166 是定義國家/獨立地理區的國際標準&lt;/a&gt;。不過它很&lt;a class=&quot;reference&quot; href=&quot;http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#TW&quot;&gt;討人&lt;/a&gt;&lt;a class=&quot;reference&quot; href=&quot;http://lukhnos.jaiku.com/presence/44831804&quot;&gt;厭&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;討厭歸討厭，如果想要一份「正確的」國家列表，它大概是最容易拿到的資料；我們常用的 TW, CN, US 等雙字母國別代碼是編在 ISO 3166 的 alpha-2 表裡面。&lt;/p&gt;
&lt;p&gt;在 Python 下有 &lt;a class=&quot;reference&quot; href=&quot;http://pypi.python.org/pypi/pycountry/&quot;&gt;pycountry&lt;/a&gt; 替 ISO 3166 實作了一份 mapping。pycountry 內部存了一組 XML-based 的資料庫，在被 import 的時候會 on-demand 載入這份資料庫，然後生成一份 iterable mapping-like 的物件，當作這些資料的模型。除了 ISO 3166 之外，pycountry 還包裝了 &lt;a class=&quot;reference&quot; href=&quot;http://en.wikipedia.org/wiki/ISO_639&quot;&gt;ISO 639&lt;/a&gt; 語言代碼表，以及 ISO 4217、ISO 15924。&lt;/p&gt;



&lt;span&gt;... continue... &lt;/span&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/EverydayWork?a=rBIjL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/EverydayWork?i=rBIjL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/EverydayWork?a=pAsLL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/EverydayWork?i=pAsLL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/EverydayWork?a=HjvuL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/EverydayWork?i=HjvuL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/EverydayWork?a=BahHL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/EverydayWork?i=BahHL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/EverydayWork/~4/396678525&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 19 Sep 2008 07:30:19 +0000</pubDate>
	<author>yyc@seety.org (yungyuc)</author>
</item>
<item>
	<title>FourDollars: apt-cache showpkg pidgin</title>
	<guid>tag:blogger.com,1999:blog-14489808.post-3764239984697866795</guid>
	<link>http://fourdollars.blogspot.com/2008/09/apt-cache-showpkg-pidgin.html</link>
	<description>&lt;div&gt;突然想要找出自己裝的 pidgin 到底是從那邊來的&lt;br /&gt;於是找到了&lt;br /&gt;&lt;blockquote&gt;$ apt-cache showpkg pidgin&lt;br /&gt;Package: pidgin&lt;br /&gt;Versions: &lt;br /&gt;1:2.5.0-0ubuntu2~hardy1 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-backports_main_binary-i386_Packages) (/var/lib/dpkg/status)&lt;br /&gt; Description Language: &lt;br /&gt;                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-backports_main_binary-i386_Packages&lt;br /&gt;                  MD5: 8022320837ec3a36f994ce51f4055429&lt;br /&gt;&lt;br /&gt;1:2.4.1-1ubuntu2.1 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-updates_main_binary-i386_Packages)&lt;br /&gt; Description Language: &lt;br /&gt;                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-updates_main_binary-i386_Packages&lt;br /&gt;                  MD5: 8022320837ec3a36f994ce51f4055429&lt;br /&gt;&lt;br /&gt;1:2.4.1-1ubuntu2 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy_main_binary-i386_Packages)&lt;br /&gt; Description Language: &lt;br /&gt;                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy_main_binary-i386_Packages&lt;br /&gt;                  MD5: 8022320837ec3a36f994ce51f4055429&lt;br /&gt;&lt;/blockquote&gt;原來在 Ubuntu Hardy 上面我裝的 Pidgin 2.5.0 是來自 hardy-backports 這個 Ubuntu 更新啊~&lt;br /&gt;[系統]-&amp;gt;[管理]-&amp;gt;[軟體來源] 當中的 [更新] 就可以找到 [不受支援的更新 (hardy-backports)]&lt;br /&gt;打開後才可以直接在 Ubuntu Hardy 上面安裝 Pidgin 2.5.0&lt;br /&gt;不過目前的 Pidgin 最新版本應該是 2.5.1 才對&lt;br /&gt;可以到 GetDeb 下載安裝 &lt;a href=&quot;http://www.getdeb.net/search.php?keywords=pidgin&quot;&gt;http://www.getdeb.net/search.php?keywords=pidgin&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 19 Sep 2008 02:58:23 +0000</pubDate>
	<author>noreply@blogger.com (FourDollars)</author>
</item>
<item>
	<title>Rex's blah blah blah: 台灣自由啤酒</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1094</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/19/taiwan-free-beer/</link>
	<description>&lt;p&gt;&lt;a title=&quot;Taiwan FreeBeer&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/freebeer.jpg&quot;&gt;&lt;img class=&quot;size-medium wp-image-1095 aligncenter&quot; title=&quot;Taiwan Freebeer&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/freebeer-300x225.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在今年的&lt;a href=&quot;http://people.debian.org.tw/~chihchun/2008/09/19/2008-taipei-biennial/&quot;&gt;雙年展&lt;/a&gt;中，其中一個最另我感到趣味的是丹麥的藝術團體 &lt;a href=&quot;http://www.superflex.net/&quot;&gt;Superflex&lt;/a&gt; (&lt;a href=&quot;http://www.taipeibiennial.org/TBArtists/ArtistContent.aspx?Language=1&amp;amp;cid=22&quot;&gt;中文介紹&lt;/a&gt;) 所展出的 &lt;a href=&quot;http://en.wikipedia.org/wiki/Free_Beer&quot;&gt;Free Beer (Vores Ø)&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Superflex&quot;&gt;Superflex&lt;/a&gt; 的成員有 Jakob Fenger (傑寇‧芬格)、 Rasmus Nielsen (羅斯莫斯‧尼爾森)、Bjonstjerne Christiansen (伯瓊斯傑尼‧克利斯汀森) 等人，創作計畫主要包含了經濟力、民主生產條件以及&lt;a href=&quot;http://en.wikipedia.org/wiki/Self-organisation&quot;&gt;自我組織&lt;/a&gt;等等。&lt;/p&gt;
&lt;p&gt;而所謂 Free Beer 則是以自由軟體形式的授權，將配方以 &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/2.5/tw/&quot;&gt;Attribution-ShareAlike&lt;/a&gt; 授權分享開放使用。因此你有權可以使用或修改此配方，&lt;a href=&quot;http://www.nta.gov.tw/ch/03information/inf_e01_main.asp?bull_id=363&quot;&gt;合法的&lt;/a&gt;自行產製啤酒。類似的計畫還有 &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenCola&quot;&gt;OpenCola&lt;/a&gt; 與 &lt;a href=&quot;http://en.wikipedia.org/wiki/Flying_Dog_Brewery&quot;&gt;Flying Dog Brewery&lt;/a&gt; 的 &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenCola&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.opensourcebeerproject.com/&quot;&gt;Open Source Beer Project&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;Free Bear 的配方原料為 (摘錄自&lt;a href=&quot;http://www.wretch.cc/blog/usadvd/3001561&quot;&gt;台灣自由啤酒&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;水:500公升&lt;/li&gt;
&lt;li&gt;大麥芽: 60kg (BRIESS Pilsen Malt)&lt;/li&gt;
&lt;li&gt;小麥芽:60kg (BRIESS Wheat Malt)&lt;/li&gt;
&lt;li&gt;苦味型啤酒花:160g (Domestic Chinook)&lt;/li&gt;
&lt;li&gt;香味型啤酒花:400g(Czech Saaz)&lt;/li&gt;
&lt;li&gt;酵母: (FERMENTIS s-33)&lt;/li&gt;
&lt;li&gt;瓜拿納:1kg&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這次在台灣雙年展，展覽單位與&lt;a href=&quot;http://www.wretch.cc/blog/usadvd&quot;&gt;北台灣麥酒溫先生&lt;/a&gt;合作生產了 &lt;a href=&quot;http://freebeer.org/blog/archives/140&quot;&gt;Free Beer Taiwan&lt;/a&gt; (&lt;a href=&quot;http://www.wretch.cc/blog/usadvd/3001561&quot;&gt;台灣自由啤酒&lt;/a&gt;) 八千瓶，於台北的幾處咖啡店與酒吧零售。&lt;/p&gt;
&lt;p&gt;對於&lt;a href=&quot;http://www.gnu.org/philosophy/free-sw.html&quot;&gt;自由軟體&lt;/a&gt;陌生的人，可能不易理解 Free Beer 的梗是甚麼。這是由於字彙的異意問題 (&lt;a href=&quot;http://en.wikipedia.org/wiki/Gratis_versus_Libre&quot;&gt;Gratis versus Libre&lt;/a&gt;)，自由軟體的英文為 &amp;#8220;Free Software&amp;#8221;，但 Free 這個字在英文中有多重意義，時常會造成錯誤的意義與解釋，Free 在英文中可以指免費，或者指隨心所欲的「自由」。於是自由軟體社群的人時常以 Free as in Beer 與 Free as in Speech 作為辨別 Free Software 軟體屬性之語彙。&lt;/p&gt;
&lt;p&gt;Free as in Speech 的意思是指你有隨心所欲的「自由」。指稱自由軟體是自由言論 (Free as in Speech) 指的是你有權可以可以查看軟體的原始碼、修改原始碼、分享原始碼，並可以為了任何目的執行使用這套軟體。但是這並非指自由軟體費用是免費供應的。&lt;/p&gt;
&lt;p&gt;Free as in Beer 意指軟體是免費的。但是 Free as in Beer 不代表你有任何權利可以取得原始碼、修改、或分享給其他人使用。你只是享用免費軟體而已。&lt;/p&gt;
&lt;p&gt;因此 Free Beer 的意義是，這是 Free as in Speech 的 Beer，而不是 Free as in Beer 的 Beer 喔。&lt;/p&gt;
&lt;p&gt;何不趁著 9/20 軟體自由日 (&lt;a href=&quot;http://www.softwarefreedomday.org/&quot;&gt;Software Freedom Day&lt;/a&gt;) 的節日氣氛，到北美館去參觀一下這次的展覽跟享用台灣自由啤酒呢 ？ &lt;img src=&quot;http://people.debian.org.tw/~chihchun/wp-includes/images/smilies/yahoo_smiley.gif&quot; alt=&quot;&amp;#58;&amp;#45;&amp;#41;&quot; class=&quot;wp-smiley&quot; width=&quot;18&quot; height=&quot;18&quot; title=&quot;&amp;#58;&amp;#45;&amp;#41;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;根據財政部國庫署&lt;a href=&quot;http://www.mof.gov.tw/ct.asp?xItem=44439&amp;amp;ctNode=657&amp;amp;mp=1&quot;&gt;說明&lt;/a&gt; &lt;a href=&quot;http://law.moj.gov.tw/Scripts/Newsdetail.asp?NO=1G0330011&quot;&gt;菸酒管理法&lt;/a&gt;&lt;a href=&quot;http://law.moj.gov.tw/Scripts/Query1B.asp?no=1G033001131&quot;&gt;第31條&lt;/a&gt;及&lt;a href=&quot;http://law.moj.gov.tw/Scripts/Query1B.asp?no=1G033001137&quot;&gt;第37條&lt;/a&gt;相關規定，特聲明&lt;strong&gt;*飲酒過量，有害健康*&lt;/strong&gt;。&lt;/p&gt;</description>
	<pubDate>Fri, 19 Sep 2008 00:30:33 +0000</pubDate>
</item>
<item>
	<title>kanru: Awesome 3.0 released</title>
	<guid>http://blog.kanru.info/?p=336</guid>
	<link>http://blog.kanru.info/archives/336</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://awesome.naquadah.org/&quot;&gt;Awesome&lt;/a&gt; 3.0 釋出了！&lt;/p&gt;

&lt;p&gt;可以在 &lt;a href=&quot;http://awesome.naquadah.org/download/&quot;&gt;http://awesome.naquadah.org/download/&lt;/a&gt; 下載，搭配 xcb-util 3.0 服用&lt;/p&gt;

&lt;p&gt;用 debian sid+experimental 的，等一會兒就會有了 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Thu, 18 Sep 2008 14:33:48 +0000</pubDate>
</item>
<item>
	<title>tsung: Apache2 載入 Expires 的模組(mod_expires) 與 設定</title>
	<guid>http://plog.longwin.com.tw/my_note-unix/2008/09/18/apache2-enable-mod_expires-2008</guid>
	<link>http://plog.longwin.com.tw/my_note-unix/2008/09/18/apache2-enable-mod_expires-2008</link>
	<pubDate>Thu, 18 Sep 2008 11:46:34 +0000</pubDate>
</item>
<item>
	<title>kanru: X-Server 1.5.0 very sluggish</title>
	<guid>http://blog.kanru.info/?p=333</guid>
	<link>http://blog.kanru.info/archives/333</link>
	<description>&lt;p&gt;最近升到 xorg 1.5.0，某些操作 (terminal 快速更新) 會使 xserver 佔用非常多 cpu，看來是&lt;a href=&quot;http://lists.freedesktop.org/archives/xorg/2008-September/038534.html&quot;&gt;這個&lt;/a&gt;問題&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Working on it &amp;#8230; right now it looks like:&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;&lt;p&gt;XShm pixmaps got accidentally reenabled in the course of 
  Adam&amp;#8217;s changes&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;Someone (maybe &lt;acronym title=&quot;GUI ToolKit - The GIMP Tool Kit for dcreating user-interfaces&quot;&gt;GTK&lt;/acronym&gt;, having tracked it down yet) is taking advantage&lt;br /&gt;
  of that by creating a shared pixmap and using it as the source for
  a composite operation.&lt;/p&gt;&lt;/li&gt;
  &lt;li&gt;&lt;p&gt;That is not handled well in EXA and triggers migration of the
  destination back to system memory. (*)&lt;/p&gt;&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;p&gt;&amp;#8211; Owen&lt;/p&gt;
  
  &lt;p&gt;(*) One of the many cases where we&amp;#8217;d be better off creating temporaries
  in video memory to avoid migration.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;測測..&lt;/p&gt;</description>
	<pubDate>Thu, 18 Sep 2008 00:56:13 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: 指令介面貼碼軟體</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=1055</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/18/pastebinit/</link>
	<description>&lt;p&gt;若你時常在 IRC 聊天或尋求技術支援，便會知道一口氣在頻道內張貼大量內容是非常不禮貌的。因為這樣常會蓋掉其他朋友的正常談話訊息，且非常不便利閱讀。&lt;/p&gt;
&lt;p&gt;但你又時常需要提供各種設定或程式碼給人參考、除錯，比較好的方法是使用 &lt;a href=&quot;http://rafb.net/paste/&quot;&gt;rafb.net&lt;/a&gt;, &lt;a href=&quot;http://pastebin.com/&quot;&gt;pastebin.com&lt;/a&gt;, &lt;a href=&quot;http://paste.debian.net&quot;&gt;paste.debian.net&lt;/a&gt; 或 &lt;a href=&quot;http://paste.ubuntu.com&quot;&gt;paste.ubuntu.com&lt;/a&gt; 等網站張貼段落。&lt;/p&gt;
&lt;p&gt;不過很多時候，你若要從系統整理出這些設定檔也不是一件頗為容易的事情，&lt;a href=&quot;http://www.stgraber.org/&quot;&gt;Stéphane Graber&lt;/a&gt; 為此寫了 &lt;a href=&quot;http://www.stgraber.org/category/pastebinit&quot;&gt;pastebinit&lt;/a&gt;。pastebint 目前已經進到 Debian Sid.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;size-full wp-image-1084 alignleft&quot; title=&quot;pastebin&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/pastebin.png&quot; alt=&quot;&quot; width=&quot;192&quot; height=&quot;192&quot; /&gt;&lt;/p&gt;
&lt;p&gt;pastebint 是一個指令列介面的軟體，你可以透過指令的方式將設定檔或軟體的輸出丟到上述眾多任一網站上。操作方式如下&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ pastebinit -i ./2201-openwrt-redboot-layout.txt -b http://openwrt.pastebin.com
http://openwrt.pastebin.com/f58502e41
$ cat /etc/X11/xorg.conf | pastebinit -i - -b http://paste.debian.net
http://paste.debian.net/16838/&lt;/pre&gt;
&lt;p&gt;執行後，你就可以將回傳的網址丟到 IRC 頻道上，讓其他人檢閱。此外，若你總使用固定的網站，你也可以寫好 ~/.pastebinit.xml 設定檔如下&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;pastebinit&amp;gt;
&amp;lt;pastebin&amp;gt;http://openwrt.pastebin.com&amp;lt;/pastebin&amp;gt;
&amp;lt;author&amp;gt;chihchun&amp;lt;/author&amp;gt;
&amp;lt;jabberid&amp;gt;chihchun@jabber.debian.org.tw&amp;lt;/jabberid&amp;gt;
&amp;lt;format&amp;gt;text&amp;lt;/format&amp;gt;
&amp;lt;/pastebinit&amp;gt;&lt;/pre&gt;
&lt;p&gt;希望它也可以很快的支援 &lt;a href=&quot;https://bugs.launchpad.net/pastebinit/+bug/268287&quot;&gt;gist&lt;/a&gt; 等網站.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Sep 2008 00:00:02 +0000</pubDate>
</item>
<item>
	<title>kanru: Emesene &amp; SQL Optimization</title>
	<guid>http://blog.kanru.info/?p=330</guid>
	<link>http://blog.kanru.info/archives/330</link>
	<description>&lt;p&gt;最近都是用 &lt;a href=&quot;http://www.emesene.org&quot;&gt;emesene&lt;/a&gt; 上 &lt;acronym title=&quot;Microsoft Network&quot;&gt;MSN&lt;/acronym&gt;，不過他的啟動速度實在是非常慢，啟動的時候硬碟燈狂閃，判斷應該是在讀取聯絡人的資料快取。先用 python profiler 跑過一次，結果果然是 Logger.py 裡面從 sqlite 撈資料的函式在慢。&lt;/p&gt;

&lt;p&gt;大小約 17MB 的 db，每個 query 竟然都要一秒以上，難怪 emesene 啟動要這麼久了。就來幫 emesene 最佳化一下 &lt;acronym title=&quot;Structured Query Language (a database standard)&quot;&gt;SQL&lt;/acronym&gt; 吧。&lt;/p&gt;

&lt;p&gt;以底下這個 query 為例：&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

    select e.stamp, ue.data 
    from event e, user_event ue, user u
    where e.id = ue.id_event and
    u.id = ue.id_user and
    e.name = &amp;quot;status-changed&amp;quot; and
    u.account = &amp;quot;%s&amp;quot;
    order by e.stamp desc
    limit 1

&lt;/pre&gt;

&lt;p&gt;結果是&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

1221129396.22343|NLN
CPU Time: user 1.173822 sys 0.023997

&lt;/pre&gt;

&lt;p&gt;用 explain query plan 看看&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

    0|1|TABLE user_event AS ue
    1|0|TABLE event AS e USING PRIMARY KEY
    2|2|TABLE user AS u USING PRIMARY KEY

&lt;/pre&gt;

&lt;p&gt;應該是先把 user_event 與 event, user 三個 table join 在一起，最後再檢查 e.name 與 u.account。&lt;/p&gt;

&lt;p&gt;來看看三個 table 的大小&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user_event: 180801 row&lt;/li&gt;
&lt;li&gt;event: 192968 row&lt;/li&gt;
&lt;li&gt;user: 196 row&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;這樣 join 起來是多大的 table 呀&lt;/p&gt;

&lt;p&gt;先試試改寫 from clause 裡的順序&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

    select e.stamp, ue.data 
    from user u, event e, user_event ue
    where e.id = ue.id_event and
    u.id = ue.id_user and
    e.name = &amp;quot;status-changed&amp;quot; and
    u.account = &amp;quot;%s&amp;quot;
    order by e.stamp desc
    limit 1

&lt;/pre&gt;

&lt;p&gt;結果是&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

    1221129396.22343|NLN
    CPU Time: user 0.485926 sys 0.008998

&lt;/pre&gt;

&lt;p&gt;很好，時間少了一半，explain query plan 顯示&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

    0|2|TABLE user_event AS ue
    1|0|TABLE user AS u USING PRIMARY KEY
    2|1|TABLE event AS e USING PRIMARY KEY

&lt;/pre&gt;

&lt;p&gt;如果幫 user_event 建個 index 呢？&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

    create index ueiduser on user_event(id_user);

&lt;/pre&gt;

&lt;p&gt;再 query 一次&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

    1221129396.22343|NLN
    CPU Time: user 0.017997 sys 0.004999

&lt;/pre&gt;

&lt;p&gt;快了非常多吧！explain query plan 顯示：&lt;/p&gt;

&lt;pre name=&quot;code&quot; class=&quot;c&quot;&gt;

    0|0|TABLE user AS u
    1|1|TABLE user_event AS ue WITH INDEX ueiduser
    2|2|TABLE event AS e USING PRIMARY KEY

&lt;/pre&gt;

&lt;p&gt;這是因為 sqlite 會以 from clause 的第一個當作 outer loop，所以我把數量最小的 user 移到前面，再適當的建立 index，使得 query 的速度快了 100 倍&amp;#8230;&lt;/p&gt;

&lt;p&gt;參考&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sqlite.org/optoverview.html&quot;&gt;http://www.sqlite.org/optoverview.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sqlite.org/cvstrac/wiki?p=QueryPlans&quot;&gt;http://www.sqlite.org/cvstrac/wiki?p=QueryPlans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Patch &lt;a href=&quot;http://people.debian.org.tw/~koster/misc/emesene_sqlquery_optimization.diff&quot;&gt;在此&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Emesene svn trunk 已經收錄最新 patch &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Wed, 17 Sep 2008 14:27:00 +0000</pubDate>
</item>
<item>
	<title>tsung: Debian Linux 安裝 php-java-bridge (tarball 安裝)</title>
	<guid>http://plog.longwin.com.tw/my_note-unix/2008/09/17/debian-linux-install-php-java-bridge-tarball-2008</guid>
	<link>http://plog.longwin.com.tw/my_note-unix/2008/09/17/debian-linux-install-php-java-bridge-tarball-2008</link>
	<pubDate>Wed, 17 Sep 2008 12:42:27 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: Typescript of serial communication programs</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=952</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/17/typescript-of-serial-communication-programs/</link>
	<description>&lt;p&gt;In order to access some embedded system, network equipments, wifi routers, I usually need to use serial communication programs like &lt;a href=&quot;http://www.columbia.edu/kermit/ckermit.html&quot;&gt;kermit&lt;/a&gt;, &lt;a href=&quot;http://alioth.debian.org/projects/minicom/&quot;&gt;minicom&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, I usually need to access to different devices with different baud rate. So, I wrote some scripts for helping me.&lt;/p&gt;
&lt;p&gt;The first one is kermit.sh, which get the options from environment variable. It&amp;#8217;s using /dev/ttyUSB0 by default, and 9600 as baud rate. If you want to use differnt device name, just type&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ kermit.sh # using default
$ DEVICE=/dev/ttyUSB1 SPEED=115200 kermit.sh&lt;/pre&gt;
&lt;p&gt;The script will also save a session log in /tmp, it will show you the filename after you exit from the terminal. However, since kermit is not &lt;em&gt;free&lt;/em&gt;. (because it ask developers who make modifications send back the chages). I also wrote another &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/wp-content/uploads/2008/09/minicom.sh&quot;&gt;script&lt;/a&gt; for minicom.&lt;/p&gt;
&lt;p&gt;This is a &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/tag/tips&quot;&gt;tip&lt;/a&gt; for Debian GNU/Linux.&lt;/p&gt;</description>
	<pubDate>Wed, 17 Sep 2008 00:00:19 +0000</pubDate>
</item>
<item>
	<title>kanru: ConTeXt 學習筆記， Using MkIV</title>
	<guid>http://blog.kanru.info/?p=327</guid>
	<link>http://blog.kanru.info/archives/327</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/context/2008-09-16-213146_518x146_scrot.png&quot; alt=&quot;ctxnotes&quot; /&gt;&lt;/p&gt;

&lt;p&gt;以下是在 &lt;a href=&quot;http://bbs.ctex.org&quot;&gt;CTeX 論壇&lt;/a&gt;看到的對 ConTeXt 的評論，我覺得描述的十分貼切
&lt;blockquote&gt;
  &lt;p&gt;我的理解，ConTeXt 秉承 Plain TeX 的思路和语法，是用于专门的“排版”的软件；而 LaTeX 则比较复杂，其结构化有时往往是加了许多限制，用于“写文档”的软件。
  也就是说，期刊理应用 LaTeX 而不是 ConTeXt，因为前者的标准、结构性特征。而如果是排版书籍或个人化的东西，或许 ConTeXt 更适合。
  &lt;span&gt;&lt;a href=&quot;http://bbs.ctex.org/viewthread.php?tid=45237&amp;amp;page=1&amp;amp;fromuid=69904#pid319890&quot;&gt;CTeX &amp;#8212; milksea&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.kanru.info/archives/274&quot;&gt;一年前&lt;/a&gt;(時間過的好快！)稍稍研究了 ConTeXt 與 LuaTeX 的搭配，如今 ConTeXt MkIV 已經比當時更加的成熟，要使用多國語言簡單得多了。Li Yanrui 整理了一份 ConTeXt 的學習筆記，裡面包括了 TeX 與 ConTeXt 的簡介、ConTeXt MkIV 的安裝、ConTeXt 的文檔架構與基本命令，想要一窺究竟 ConTeXt 是在做甚麼，可以參考看看。&lt;/p&gt;

&lt;p&gt;以下檔案是使用 2008/9/10 的 ConTeXt Minimals 加上一點小修改後編譯，使用的字型是 cwTeX 明體、cwTeX 粗黑體、cwTeX 楷書。&lt;/p&gt;

&lt;p&gt;若要嘗試編譯此檔案者需注意&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ConTeXt 需&lt;a href=&quot;http://people.debian.org.tw/~koster/context/punct-tw.diff&quot;&gt;修改&lt;/a&gt;以符合台灣地區標點符號擺放特性，詳細的 patch 整理之後會提交上去。&lt;/li&gt;
&lt;li&gt;LuaTeX 目前還是 beta，編譯時可能會遇到各種困難，尤其是容易發生記憶體不足的情況，建議記憶體有 1G 以上才可嘗試。&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;md5: c2fa8602dbcd6821870e5df374d67361 &lt;a href=&quot;http://people.debian.org.tw/~koster/context/ctxnotes-zh-tw.pdf&quot;&gt;繁體 ctxnotes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;md5: ccfd8de4964778e82cf83bf31d382869 &lt;a href=&quot;http://people.debian.org.tw/~koster/context/ctxnotes-zh-tw.zip&quot;&gt;繁體 ctxnotes 原始檔&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;原始文件為 Li Yanrui 整理，我只是轉譯為繁體版本。原始版本可以在 &lt;a href=&quot;http://code.google.com/p/ctxnotes/&quot;&gt;http://code.google.com/p/ctxnotes/&lt;/a&gt; 取得。&lt;/p&gt;

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

&lt;p&gt;不知為什麼這個版本編出來的 &lt;acronym title=&quot;Portable Document Format&quot;&gt;PDF&lt;/acronym&gt; 檔案大小特大&amp;#8230; 足足有 3 MiB 多&lt;/p&gt;</description>
	<pubDate>Tue, 16 Sep 2008 14:07:00 +0000</pubDate>
</item>
<item>
	<title>tsung: Debian Linux 安裝 php-java-bridge (使用deb安裝)</title>
	<guid>http://plog.longwin.com.tw/my_note-unix/2008/09/16/debian-install-php-java-bridge-deb-2008</guid>
	<link>http://plog.longwin.com.tw/my_note-unix/2008/09/16/debian-install-php-java-bridge-deb-2008</link>
	<pubDate>Tue, 16 Sep 2008 11:31:39 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: Make typescript of terminal session</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=950</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/16/make-typescript-of-terminal-session/</link>
	<description>&lt;p&gt;Many times, you would like to record every work and commands in the terminal session. In the situations like checking the server&amp;#8217;s status, testing new softwares, changing the configurations, fighting with crackers.. things like that.&lt;/p&gt;
&lt;p&gt;In that moment, you don&amp;#8217;t have time to take notes on every commands, but trying to get the system running. However, you will also want to check the log of the commands and outputs.&lt;/p&gt;
&lt;p&gt;There is a very useful command named &lt;span&gt;&lt;em&gt;script (1)&lt;/em&gt;&lt;/span&gt; in the &lt;a href=&quot;http://packages.debian.org/search?keywords=bsdutils&quot;&gt;bsdutils&lt;/a&gt; packages. The software will help you make typescript of everything printed in the terminal, including your input. So, you can use this software to record your works, and review it later.&lt;/p&gt;
&lt;p&gt;No only the things printed in your terminal, you can also save the timing data with &amp;#8216;&lt;em&gt;-t&lt;/em&gt;&amp;#8216; option. The timing data will be outputted to standard error, you can save it by redirect the standard error to a file. Then you can play back the typescripts by &lt;em&gt;scriptreplay (1)&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Therefore, you could show how you get thing down to your friends/colleague by playing the typescript. Just like watch a movie.&lt;/p&gt;
&lt;p&gt;For a easier usage, I wrote a &lt;a href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/script.sh&quot;&gt;small script&lt;/a&gt;. The script will help me save the typescript in the filename I assigned or time stamp.&lt;/p&gt;
&lt;p&gt;Usage is very simple&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
$ ./script.sh # save the typescript as time stamp filename
$ ./script.sh mission-critical.log # save the typescript as mission-critical.log
&lt;/pre&gt;
&lt;p&gt;This is a &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/tag/tips&quot;&gt;tip&lt;/a&gt; for Debian GNU/Linux.&lt;/p&gt;</description>
	<pubDate>Tue, 16 Sep 2008 00:00:36 +0000</pubDate>
</item>
<item>
	<title>kanru: 兩個 LaTeX 文件翻譯</title>
	<guid>http://blog.kanru.info/?p=324</guid>
	<link>http://blog.kanru.info/archives/324</link>
	<description>&lt;p&gt;不是我翻的 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/latex/2008-09-15-220216_575x133_scrot.png&quot; alt=&quot;lshort&quot; /&gt;&lt;/p&gt;

&lt;p&gt;lshort 是名為 short 的一篇不太簡短的 LaTeX 介紹，原本是英文的內容由 &lt;a href=&quot;http://bbs.ctex.org&quot;&gt;CTeX 論壇&lt;/a&gt;的朋友翻譯成中文，內容包含了 LaTeX 文檔的基本結構、數學模式、各式符號、環境、註腳的插入、圖形的插入以及如何自行定義 LaTeX 命令都有提到。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.debian.org.tw/~koster/latex/2008-09-15-220253_376x103_scrot.png&quot; alt=&quot;lnotes&quot; /&gt;&lt;/p&gt;

&lt;p&gt;lnotes 是 &lt;a href=&quot;http://www.dralpha.com/&quot;&gt;Alpha Huang&lt;/a&gt; 寫的 LaTeX 筆記，紀錄了作者學習 LaTeX 時的心得以及常用資料，內容涵蓋了 LaTeX 的介紹、文檔的基本結構、數學模式、一般圖形的引用、利用 METAPOST, PSTricks, PGF 直接繪圖、表格以及超連結、加入參考文獻等，算是對 LaTeX 的一般應用做了很全面的介紹。還有一章專門講解字體的使用，雖然目前 XeLaTeX 與 LuaTeX 已經大大簡化使用系統字體的難度，這章還是有很好的參考價值，因為仍有許多文件是使用原始的 LaTeX。&lt;/p&gt;

&lt;p&gt;這兩份文件原本都是簡體的，我做的只是把它們轉成繁體並修正一些名詞的差異。是用程式轉了再手工修改，但仍難免會有遺漏，若有發現語句不通順的地方請各位不吝指教，可以在此回覆或是 email 給我 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;p&gt;弄這些東西原本是希望可以放到 TeXLive 2008 裡一起發佈的，不過 2008 已經出了，就隨緣吧 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;p&gt;這兩份文件都是用 XeLaTeX 搭配 &lt;a href=&quot;http://bbs.ctex.org/viewthread.php?tid=40232&quot;&gt;XeCJK&lt;/a&gt; 中文環境編譯而成，使用 cwTeX 明體、cwTeX 楷書、cwTeX 圓體、cwTeX 粗黑體、AR PL UMing TW 字型。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;md5: 22dd167a0ec18b468116ac9370a5c454 &lt;a href=&quot;http://people.debian.org.tw/~koster/latex/lshort-zh-tw.pdf&quot;&gt;繁體 lshort&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;md5: 874ffe12493e6d05ddf81133a3d86a7b &lt;a href=&quot;http://people.debian.org.tw/~koster/latex/lshort-zh-tw.zip&quot;&gt;繁體 lshort 原始檔&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;md5: 18e258c4db439010fb4394a24072d097 &lt;a href=&quot;http://people.debian.org.tw/~koster/latex/lnotes-zh-tw.pdf&quot;&gt;繁體 lnotes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;md5: 2eb2b56914d0fdee7e32608cbf14f096 &lt;a href=&quot;http://people.debian.org.tw/~koster/latex/lnotes-zh-tw.zip&quot;&gt;繁體 lnotes 原始檔&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;md5: a0e985d437b5125e5664c17f87b602ea &lt;a href=&quot;http://people.debian.org.tw/~koster/latex/xecjk-2.2.8.zip&quot;&gt;xecjk-2.2.8.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;這兩個文件的原始版本可以分別在 &lt;a href=&quot;http://www.ctan.org/tex-archive/info/lnotes/&quot;&gt;http://www.ctan.org/tex-archive/info/lnotes/&lt;/a&gt; 與 &lt;a href=&quot;http://www.ctan.org/tex-archive/info/lshort/&quot;&gt;http://www.ctan.org/tex-archive/info/lshort/&lt;/a&gt; 找到。&lt;/p&gt;</description>
	<pubDate>Mon, 15 Sep 2008 14:58:49 +0000</pubDate>
</item>
<item>
	<title>tsung: IE 對 CSS 相容性文件 (MSDN)</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/15/ie-compatibility-css-msdn-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/15/ie-compatibility-css-msdn-2008</link>
	<pubDate>Mon, 15 Sep 2008 11:39:48 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: reportbug-ng</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=943</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/15/reportbug-ng/</link>
	<description>&lt;p&gt;說真的 &lt;a href=&quot;http://reportbug-ng.alioth.debian.org/&quot;&gt;reportbug-ng&lt;/a&gt; 實在遠比 reportbug 的純 CLI 介面好用太多了啊。&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;Screenshot of reportbug-ng&quot; rel=&quot;lightbox&quot; href=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-reportbug-ng.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-944 aligncenter&quot; title=&quot;Screenshot of reportbug-ng&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/screenshot-reportbug-ng-300x225.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;特別是這些&lt;a href=&quot;http://reportbug-ng.alioth.debian.org/features.html&quot;&gt;特色&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://bugs.debian.org/&quot;&gt;BTS&lt;/a&gt; 查詢功能&lt;/li&gt;
&lt;li&gt;關鍵字過濾介面&lt;/li&gt;
&lt;li&gt;網頁瀏覽介面&lt;/li&gt;
&lt;li&gt;整合郵件軟體！&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最後一個功能最方便，終於可以使用 Icedove/Thunderbird 方便的撰寫問題回報了，可超方便的使用 &lt;a href=&quot;http://enigmail.mozdev.org/home/index.php&quot;&gt;Enigmail&lt;/a&gt; 與拼字檢查功能了！&lt;/p&gt;
&lt;p&gt;備註: reportbug 與 reportbug-ng 都是 &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian GNU/Linux&lt;/a&gt; 的軟體瑕疵回報工具。與 Ubuntu &lt;a href=&quot;https://launchpad.net/&quot;&gt;Launchpad&lt;/a&gt; 的簡易回報方式有相當大的差異，詳情請參閱 &lt;a href=&quot;http://www.debian.org/Bugs/index.en.html&quot;&gt;Debian bug tracking system&lt;/a&gt;。&lt;/p&gt;</description>
	<pubDate>Mon, 15 Sep 2008 00:00:31 +0000</pubDate>
</item>
<item>
	<title>kanru: What’s NEW in next libchewing release?</title>
	<guid>http://blog.kanru.info/?p=320</guid>
	<link>http://blog.kanru.info/archives/320</link>
	<description>&lt;p&gt;自從上次 libchewing 釋出以來已經過了兩年多了，大家都各自忙自己的事，也許是酷音已經呈現某種穩定的狀態，因此更新的十分緩慢。秉持著有比沒有好的理念，決定把目前的更動整理整理釋出新版，希望可以帶給大家更好用的酷音並帶動新的創意激發，吸引新血的加入 &lt;img src=&quot;http://blog.kanru.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;p&gt;新版的 libchewing 加入了新的鍵盤格式以及更好用的符號快捷選單，修正了一些嚴重的錯誤。因為 &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; 以及資料結構的改變，這次釋出不是二進位相容的，使用 libchewing 的程式可能需要適當的修改並重新編譯。&lt;/p&gt;

&lt;p&gt;歡迎下載測試&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://chewing.csie.net/download/rc/libchewing-0.3.0.901.tar.gz&quot;&gt;libchewing-0.3.0.901.tar.gz&lt;/a&gt; (0.3.1-rc1) md5: 29612220ef1fd00a325a89f6162934ce&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://chewing.csie.net/download/rc/scim-chewing-0.3.1.901.tar.gz&quot;&gt;scim-chewing-0.3.1.901.tar.gz&lt;/a&gt; (0.3.2-rc1) md5: 0910d0d0575d2f2f84403fdb8d622ac7&lt;/p&gt;

&lt;h3&gt;New Features&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New keyboard layout DACHEN_CP26.&lt;/li&gt;
&lt;li&gt;Add key &amp;#8216;`&amp;#8217; to open symbol table.&lt;/li&gt;
&lt;li&gt;Erase candidate and reset its length when &amp;#8216;Esc&amp;#8217; key is handled.&lt;/li&gt;
&lt;li&gt;Closes candidate window when user pressed &amp;#8216;Up&amp;#8217; key.&lt;/li&gt;
&lt;li&gt;Doing select at the end of edit buffer works on the
last phrase (interval).&lt;/li&gt;
&lt;li&gt;Improved reminding message text.&lt;/li&gt;
&lt;li&gt;Sync with libchewingdata project.&lt;/li&gt;
&lt;li&gt;A new HanYu-PinYin mapping table&lt;/li&gt;
&lt;li&gt;More robust behaver when &lt;acronym title=&quot;Instant Message&quot;&gt;IM&lt;/acronym&gt; crashes.&lt;/li&gt;
&lt;li&gt;Allow &amp;#8216;#&amp;#8217; comment and blank line in tsi.src.
? Type symbols easily for PinYin input.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bug Fixes&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fix chewing switch between Full/Half mode and cursor moves one space in
gedit.&lt;/li&gt;
&lt;li&gt;Fix when list available phrases to choice, user&amp;#8217;s own phrases are
not included.&lt;/li&gt;
&lt;li&gt;Release PgUp/PgDn key event to running applications.&lt;/li&gt;
&lt;li&gt;Fix portability issues on FreeBSD.&lt;/li&gt;
&lt;li&gt;Fix incorrect initialization.&lt;/li&gt;
&lt;li&gt;Fix pinyin key order, put &amp;#8220;shun&amp;#8221; before &amp;#8220;shuo&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Fix various potenital boffer overflow bugs.&lt;/li&gt;
&lt;li&gt;Fix various memory leaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;New/Removed APIs&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;chewing_set_PinYinMethod to support multiple PinYin methods.&lt;/li&gt;
&lt;li&gt;chewing_handle_CtrlOption was removed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Internal Structure Changes&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New structure SymbolEntry.&lt;/li&gt;
&lt;li&gt;Rename selectAreaLen to candPerPage.&lt;/li&gt;
&lt;li&gt;Added bEasySymbolInput.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Sun, 14 Sep 2008 14:09:26 +0000</pubDate>
</item>
<item>
	<title>jserv: COINS 編譯器架構</title>
	<guid>http://blog.linux.org.tw/~jserv/archives/002066.html</guid>
	<link>http://blog.linux.org.tw/~jserv/archives/002066.html</link>
	<description>[COINS] 編譯器架構是由日本文教省資助的研究計畫 (2000-2004)，目標是建構可用於研究、教育，與商業應用的編譯器系統架構，支援兩階段的 IR (intermediate representation)： HIR: High-level Intermediate Representation LIR: Low-level Intermediate Representation 整個系統可示意如下圖： 此編譯系統由以下元件組成： parser : 轉換原始程式碼為 HIR control flow / data flow analyzers optimizers parallelizers HIR 轉 LIR IR Handler (HIR manager, LIR manager, symbol manager) TMD...</description>
	<pubDate>Sat, 13 Sep 2008 11:05:12 +0000</pubDate>
</item>
<item>
	<title>tsung: Debian Linux deb 安裝失敗導致 Package 無法移除 解法</title>
	<guid>http://plog.longwin.com.tw/my_note-unix/2008/09/12/debian-deb-install-failed-remove-2008</guid>
	<link>http://plog.longwin.com.tw/my_note-unix/2008/09/12/debian-deb-install-failed-remove-2008</link>
	<pubDate>Fri, 12 Sep 2008 18:08:19 +0000</pubDate>
</item>
<item>
	<title>Rex's blah blah blah: The Debian Preseed Project</title>
	<guid>http://people.debian.org.tw/~chihchun/?p=940</guid>
	<link>http://people.debian.org.tw/~chihchun/2008/09/12/the-debian-preseed-project/</link>
	<description>&lt;p&gt;稍早曾經介紹過 &lt;a href=&quot;http://people.debian.org.tw/%7Echihchun/2008/03/06/debian-installations-with-preseeding/&quot;&gt;Debian 無人值守安裝程式&lt;/a&gt;，也就是 &lt;a href=&quot;http://www.debian.org/releases/etch/i386/apb.html.en&quot;&gt;pre-seeding&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;最近看到熱血的 &lt;a href=&quot;http://blog.ibeentoubuntu.com/&quot;&gt;Daniel Bo&lt;/a&gt; 做了數個針對不同的桌面環境所設定的幾個預先安裝檔，如果你注意到他的網站名稱叫做 &lt;a href=&quot;http://www.ibeentoubuntu.com/&quot;&gt;I&amp;#8217;Been to Ubuntu&lt;/a&gt;，大概就不會意外他為了 Debian 做了這些桌面安裝環境的用意了。這個計畫可以協助你先排除一些需要先調整、設定才能開始使用系統的難題，於是你可以先透過 preseeds 光碟安裝一個馬上可用的系統作入門，但也保有 Debian 原有的特色。&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;size-full wp-image-941 aligncenter&quot; title=&quot;Preseed Splash&quot; src=&quot;http://people.debian.org.tw/~chihchun/wp-content/uploads/2008/09/preseed-splash.jpeg&quot; alt=&quot;&quot; width=&quot;394&quot; height=&quot;297&quot; /&gt;&lt;/p&gt;
&lt;p&gt;目前支援的桌面環境有 &lt;a href=&quot;http://www.ibeentoubuntu.com/gnome&quot;&gt;Gnome&lt;/a&gt;, &lt;a href=&quot;http://www.ibeentoubuntu.com/kde&quot;&gt;KDE&lt;/a&gt;, &lt;a href=&quot;http://www.ibeentoubuntu.com/xfce&quot;&gt;XFCE&lt;/a&gt; 與 &lt;a href=&quot;http://sites.google.com/a/ibeentoubuntu.com/debian-preeseds/Home/new-preseeds/sid-fvwm-crystal&quot;&gt;FVWM&lt;/a&gt; 等，你可以從網站上直接下載&lt;a href=&quot;http://www.ibeentoubuntu.com/test&quot;&gt;安裝光碟&lt;/a&gt;。對了，&lt;a href=&quot;http://blog.ibeentoubuntu.com/&quot;&gt;Daniel Bo&lt;/a&gt; 的 &lt;a href=&quot;http://games.ibeentoubuntu.com/&quot;&gt;Games That Work&lt;/a&gt; 網站也相當精彩。&lt;/p&gt;</description>
	<pubDate>Fri, 12 Sep 2008 00:00:50 +0000</pubDate>
</item>
<item>
	<title>tsung: Project release 的 更新/還原 控制 Script</title>
	<guid>http://plog.longwin.com.tw/programming/2008/09/11/project-release-rollback-control-script-2008</guid>
	<link>http://plog.longwin.com.tw/programming/2008/09/11/project-release-rollback-control-script-2008</link>
	<pubDate>Thu, 11 Sep 2008 14:39:40 +0000</pubDate>
</item>
<item>
	<title>Tetralet: 為什麼 Linux 會比 BSD 更受到人們的歡迎？</title>
	<guid>http://tetralet.luna.com.tw/index.php?op=ViewArticle&amp;articleId=210&amp;blogId=1</guid>
	<link>http://tetralet.luna.com.tw/index.php?op=ViewArticle&amp;articleId=210&amp;blogId=1</link>
	<description>&lt;p&gt;敝人摸 Linux 也頗有一段時日了，偶爾偶爾也試著把觸角伸向 FreeBSD。不知從何而來的既定印象，總聽到人們說 BSD
的架構嚴謹、在效能、穩定度及安全性等方面都在 Linux 之上，甚至 Microsoft Windows 2000 和 Mac OS X
都取用了部份來自 BSD 的程式碼。也就是說，Microsoft 的 Windows 2000/XP/2003/Vista 及 Mac OS X
能在 OS 的市佔率上取得如此的成功，BSD 的程式碼也不無貢獻，這証明了 BSD 程式碼的確有其傲人之處。&lt;/p&gt;


&lt;p&gt;但這麼一來就引起敝人極大的好奇心了：若說到 Free Software 的 OS，當紅炸子雞當屬 Linux，BSD 相對來講是冷門多了。但 BSD 的風評可不會比 Linux 差呀？那麼是什麼原因造成 Linux 比 BSD 更受歡迎呢？&lt;/p&gt;&lt;br /&gt;&lt;p&gt;有人說是 BSD 當年那件法律訴訟案是 Linux 崛起的關鍵。像是在&lt;a href=&quot;http://zh.wikipedia.org/wiki/BSD&quot;&gt;維基百科&lt;/a&gt;上就有如下的說法：&lt;/p&gt;




&lt;blockquote&gt;
  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; width=&quot;100%&quot;&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td valign=&quot;top&quot;&gt;BSDi 很快就與 AT&amp;amp;T 的子公司 USL 產生了法律糾紛…這樁法律訴訟使得 BSD 的自由軟體分支的開發進度延宕了 2 年之久，這導致沒有類似法律問題的 Linux Kernel 獲得了極大的支持。&lt;br /&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/blockquote&gt;



&lt;p&gt;但根據維基百科裡的資料，第 1 版的 BSD 約略出現於 1977 左右，也就是說該件訴訟案發生&lt;font color=&quot;#9999ff&quot;&gt;（1992）&lt;/font&gt;時
BSD 已發展了約 15 年。若說因為這 2 年的停頓就使得 BSD 失去競爭力，其實是很難服人的：難道 2 年之間 Linux
成長幅度竟能抵得上 BSD 的 15 年開發史？這顯然是絕對不可能的事：即使到了今日，BSD 的風評往往不下於 Linux。像是 Ken Thompson&lt;font color=&quot;#9999ff&quot;&gt;（Unix 共同創始人）&lt;/font&gt;在 1999 年&lt;a href=&quot;http://boole.computer.org/portal/site/computer/menuitem.eb7d70008ce52e4b0ef1bd108bcd45f3/index.jsp?&amp;amp;pName=computer_level1&amp;amp;path=computer/homepage/0599/thompson&amp;amp;file=thompson.xml&amp;amp;xsl=article.xsl&amp;amp;;jsessionid=LC2yPNwpGwhLYJHjbLQH2px4F84PLBQkQZhyX24qdZrZv2Npg5vY%21-2060471945&quot;&gt;接受訪談&lt;/a&gt;時就曾如此評論 Linux：&lt;font color=&quot;#9999ff&quot;&gt;（當時還在 Windows 98 / NT 4.0 年代、而 Linux Kernel 版本為 2.2.x）&lt;/font&gt;&lt;br /&gt;
&lt;/p&gt;

&lt;blockquote&gt;
  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; width=&quot;100%&quot;&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td valign=&quot;top&quot;&gt;
        &lt;i&gt;&lt;font color=&quot;#3366ff&quot;&gt;&lt;b&gt;Computer&lt;/b&gt;&lt;/font&gt;: 以某種層面來看，Linux 也是遵循著這個傳統。您對這個現象有什麼看法？&lt;/i&gt;


        &lt;br /&gt;
        &lt;br /&gt;
        &lt;font color=&quot;#3366ff&quot;&gt;&lt;b&gt;Thompson&lt;/b&gt;&lt;/font&gt;: 我認為 Linux 只是一個反微軟思潮下的產物。我不認為時日一久它能有多成功。我看過 Linux 的程式碼，有些是不錯，但有些則尚待加強。那些程式碼是來自各式各樣不同的人們，因此品質就參差不齊了。
        &lt;br /&gt;
        &lt;br /&gt;
我和我一些朋友的使用結論是，Linux 實在很不穩定。&lt;font color=&quot;#993300&quot;&gt;Microsoft 已經夠不穩定了，而 Linux 更糟。&lt;/font&gt;在 non-PC 的環境下，它幾乎不能用。如果您把它用在單一機器上，那是一回事；但若你想把 Linux 用在防火牆、閘道器、嵌入式系統及諸如之類的東西上，它還早得很呢！
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/blockquote&gt;

既然 Linux 就算到了 1999 年風評還是那麼糟，那麼當年在 BSD
官司結束之後，Linux 是如何還能緊緊得吸引住使用者及開發者的眼光呢？這的確是很有趣的話題。
&lt;p&gt;為此我 Google 了許久，找到了以下幾種說法，雖然也許都不是必要因素，但綜合起來卻造成了如此的差距。不過那個年代離敝人實在太遙遠了，因此這些說法多為道聽塗說，請當作茶餘飯後的閒嗑牙吧！&lt;font color=&quot;#9999ff&quot;&gt;&lt;br /&gt;
&lt;/font&gt;
&lt;/p&gt;



&lt;h3&gt;時機：&lt;/h3&gt;




&lt;blockquote&gt;
  &lt;blockquote&gt;
    
    &lt;/blockquote&gt;
  &lt;p&gt;Linux 是出現約在 BSD 官司纏身、以及 Internet 開始風行之際。
    &lt;/p&gt;

    
  &lt;p&gt;Linux
是 Linus Torvalds 苦於當時在 386 PC 上沒有免費的 Unix 可用所以他才決定自己寫一個的。Linus Torvalds
就&lt;a href=&quot;http://gondwanaland.com/meta/history/interview.html&quot;&gt;曾說&lt;/a&gt;，如果當時已有 386BSD 或 HURD，他可能不會去開發 Linux。386BSD 發表於 1992 年 3 月，約是 Linux 發表&lt;font color=&quot;#9999ff&quot;&gt;（1991 年 9 月）&lt;/font&gt;後半年；而 HURD 則是遲至 1998 年才有一個最初始的體驗版釋出。換句話說，386BSD 和 HURD 若能再早點推出，那麼 Linux 可能根本不會出現在這個世界上也說不定。&lt;/p&gt;

    
  &lt;p&gt;而隨著 BSD 官司的結束&lt;font color=&quot;#9999ff&quot;&gt;（1994 年 6 月）&lt;/font&gt;，留給 BSD
的是殘缺不全的 4.4 BSD Lite。BSD 的人們必須重寫那些因官司而被移除掉的核心程式碼，並把 4.4 BSD Lite 移植到
386PC 上。以 FreeBSD 為例，這項艱鉅的工作一直到 1995 年 1 月才算初步完成。而這段約 4 年的空窗期正好給了 Linux 發展成長的空間。&lt;br /&gt;
  &lt;/p&gt;
  &lt;p&gt;另
外，此時正是 Internet 開始風行之時。Linux 的開發者及愛好者正好能透過 Internet
即時得發佈新聞、發表新點子、提問討論、遞送程式碼及進行錯誤回報，這種藉由 Internet 的分散式合作方式帶給了 Linux
驚人的活力和無限的生命力，而經由 Internet 所帶來的這種活力和生命力正是 Linux 長久以來能和 BSD 分庭抗禮的主要原因之一。
&lt;/p&gt;&lt;/blockquote&gt;

&lt;h3&gt;Linus Torvalds 的管理哲學：&lt;/h3&gt;

&lt;blockquote&gt;也許 Linus Torvalds 並不是像 Bill Joy&lt;font color=&quot;#9999ff&quot;&gt;（BSD 的開創者）&lt;/font&gt;那樣是個天縱英才的程式設計師，但他無疑的是超一流的專案領導者。要知道，能參與 Linux
Kernel 開發的往往都不是什麼泛泛之輩，Linus 如何在這些天資聰穎的電腦怪才之間折衝樽俎是非常耐人尋味的。關於這個問題，Linus
就曾在 &lt;a href=&quot;http://lwn.net/Articles/105375/&quot;&gt;Linus on kernel management style&lt;/a&gt; 一文中說明他的如何去領導協調 Linux 專案的：&lt;br /&gt;
  &lt;ol&gt;&lt;li&gt;
      &lt;p&gt;避免去做決定，尤其是大決定。試著讓事情水到渠成。做出重大決策的後果往往是讓自己陷入無可挽回的境地裡。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;事前罵得越痛快，事後往往越後悔。和人鬧翻輕而易舉，但事後想和好就不是那麼容易了。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;要懂得如何去利用、鼓勵及激發那些有本事有能力的傢伙，然後放手讓他們去做。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;要有擔當，尤其是事情搞砸時。因為你是管理者，應當揹負起所有責任。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;率直得表達自己的意見，而不是挖苦別人。冷嘲熱諷的結果就是永遠得樹立了一個敵人，不管事後如何道歉都一樣。&lt;/p&gt;
    &lt;/li&gt;&lt;/ol&gt;
也許這種領導風格並不適用於所有專案，但 Linus 這套獨到的管理哲學的確是讓許多實力頂尖的駭客們願意參與 Linux
的開發工作，而不像一些大型專案那樣紛爭不斷、最後導致分崩離析。個人認為，Linus
最了不起的地方並不在他能寫出多麼無懈可擊的程式碼，而是在他能整合眾人的力量，讓 Linux
專案長久以來還是能持盈保泰，一直維持著它的光度和熱度。這也就是為什麼 Linus 這個人對於 Linux 而言會如此重要的原因，他真是個不可多得的領袖人物。
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;
  &lt;/p&gt;

  &lt;blockquote&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;


  
&lt;h3&gt;硬體支援：&lt;/h3&gt;



    
    
&lt;blockquote&gt;
      
      &lt;p&gt;在 Linux 現身&lt;font color=&quot;#9999ff&quot;&gt;（1991 年 9 月）&lt;/font&gt;之
時，約莫剛好是人們開始買得起個人電腦時。但糟糕的是，當時的 BSD 對於當時的個人電腦所使用的 80386
硬體的支援度並不好，而一般老百姓應該不太會為了玩 BSD 而特地購買高價的伺服器設備，因此人們，尤其是窮苦的大學生，若要玩 Unix 時只有
Linux 可供選擇，相對來說 BSD 的吸引力當然就大不如 Linux 了。&lt;br /&gt;
      &lt;/p&gt;
      &lt;p&gt;比如說，Alan Cox&lt;font color=&quot;#9999ff&quot;&gt;（Linux Kernel 2.2 版原始碼的管理者）&lt;/font&gt;就
曾說過，其實他當初是想在他新買的 386 PC 上安裝 FreeBSD 的。但在辛苦下載完成後，才發現 FreeBSD
還要搭配浮點運算晶片才能運作，但他又買不起那麼高價的東西。此時他唯一的選擇只有 Linux 了。當時的 Linux 在各方面比起
FreeBSD 當然是差得極遠，但 Linux
對硬體的需求比較低、相容性也比較好、功能雖少但還算堪用、問題不少但還算穩定。就這樣，一代駭客加入了 Linux 陣營，他的那有如春風化雨般的行事風範對
Linux 產生了極深遠的影響。Linus 就曾說過，Linux 能如此成功，他最應該感謝的人就是 Alan Cox。
      &lt;/p&gt;
      &lt;p&gt;這
類例子應該不是絕無僅有。也
就是說，當新一代的 Hackers 及 Lovers 多站在 Linux 這邊時，BSD 自然就不容易得到像 Linux
那麼多的關愛眼神了。而且即使時至今日，BSD 對於硬體的相容性還是比不上 Linux，這一直都是 BSD 在推廣時的一個不容易克服的不利因素。&lt;br /&gt;
&lt;/p&gt;
  &lt;p&gt;不過說起硬體支援，其實 Linux 和 BSD 也只是難兄難弟，Linux 是較佳，但有些太新太特殊及特定製造商的硬體 Linux 還是無法支援，所以購買電腦之前還是先好好探聽吧！&lt;br /&gt;
  &lt;/p&gt;


    &lt;/blockquote&gt;



  

  
  
    
&lt;h3&gt;GNU 的大力支援：&lt;br /&gt;

    &lt;/h3&gt;


    
    
&lt;blockquote&gt;
      
      &lt;p&gt;我想 GNU 這個偉大計劃敝人就不用再多加介紹了。GNU 提供了一個作業系統所需的各式各樣必要元件，但最重要的元件 -
Kernel 卻遲遲沒有著落。原本計劃好要成為 GNU 官方 Kernel 的 HURD 的發展一直很不順利，而 Linux
的出現就剛好出現填補了 GNU 這個拼圖上最重要的一個大洞。&lt;/p&gt;另
外，雖然 GNU 的軟體品質是毋庸置疑，但 BSD 卻希望他們的開發團隊所維護的核心工具都能以 BSDL 發行，所以因為授權相容性的關係，很多
GNU 軟體就被 BSD 的人們摒除在外了。因此喜愛 GNU 軟體的人們除了 Linux 之外就似乎別無選擇了。&lt;br /&gt;
&lt;p&gt;就這樣，GNU 和 Linux 一拍即合，雖然一開始 Linux 在各方面都遠遠不及 BSD，但它卻適時得和剛好欠缺 Kernel 的
GNU 搭配組成一個功能齊全的作業系統。Linux 能如此受歡迎真的要感謝 GNU 多年來在前默默得鋪路呀！&lt;/p&gt;
    因此，個人認為，Linux 和
GNU 是分不開的：沒有 GNU，那麼沒有任何工具程式的 Linux 根本無用武之地；而沒了 Linux，GNU
軟體就少了一個可以盡情發揮的舞台了。因此，個人可以接受人們說 Linux 的全名應該是 &lt;font color=&quot;#336666&quot;&gt;GNU/Linux&lt;/font&gt;。若我們仔細想想 Linux 的發展成長過程，個人認為如此稱呼並不為過。&lt;br /&gt;
&lt;/blockquote&gt;



  
&lt;blockquote&gt;
  &lt;p&gt; 而 Linus 也說過其實他並不是很反對 GNU/Linux 這個名字，飲水思源，畢竟 Linux
的確是藉助了 GNU 太多的核心工具才有今天的成就。若當時沒有 GNU 計劃，那麼 Linux 根本不會出現在這個世界上：當初 Linux
0.0.1 發表時，Linus 就只完成了以下功能：可用 GCC 編譯，然後它能做的也只有執行 BASH 這個 Shell 而已，而這 2
個工具恰巧都是 GNU 的作品。我們可以看到，Linux 一剛開始就和 GNU 結下不解之緣了。 &lt;/p&gt;

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


    &lt;/blockquote&gt;




  

  
  
  
&lt;h3&gt;教堂與市集：&lt;br /&gt;

&lt;/h3&gt;


    
    
    
&lt;blockquote&gt;
  &lt;p&gt;就如前文所說的，Ken Thompson&lt;font color=&quot;#9999ff&quot;&gt;（Unix 共同創始人）&lt;/font&gt;並不認為 Linux 能有多成功，因為它的程式碼未能好好控管，品質參差不齊，並不是個堪用的系統。Bill Joy&lt;font color=&quot;#9999ff&quot;&gt;（BSD 的開創者）&lt;/font&gt; 也曾說，他個人對 Linux 沒什麼興趣，它只是在重覆實作他早在 1979 年的設計罷了。&lt;/p&gt;
  &lt;p&gt;既然 Linux 那麼不被那些作業系統的超重量級前輩看好，那麼 Linux 到底是如何保持其競爭優勢呢？&lt;/p&gt;
  &lt;p&gt;個人認為，Linux 和 BSD 最大的不同點是它的開發模式。BSD 原本就是在 Berkeley
大學的實驗室裡誕生的，本身就帶著濃厚的學術氣息 － 純綷由理論出發、嚴謹周密的組織架構、一絲不苟的開發及測試流程…在此思維下，傳統上 BSD
會有一個 Core Team 來主導及裁決整個計劃的方向，以有效確保 BSD 的品質能維持在最高水準。BSD 的榮光絕非浪得虛名。&lt;/p&gt;
&lt;p&gt;但 GNU/Linux 相對來說就鬆散許多。Linux 並沒有什麼官方發行版，也沒有什麼 Core Team 來在各團隊之間指揮協調。像是 Linux Kernel 是由 Linus Torvalds 負責、GNU 則由 Richard
M. Stallman 帶領、各個 Linux 發行版也多是各行其是，每個工具程式、甚至每個函式庫都有其不同的開發團隊，而彼此之間基本上很少有什麼溝通協調機制或協同作戰的觀念，因此感覺上就像是一盤散沙。&lt;/p&gt;

      
      
  &lt;p&gt;也就是說，BSD 走的是教堂式的學院派路線，而 Linux 則是代表了市集式的駭客精神。&lt;br /&gt;
&lt;/p&gt;
  &lt;p&gt;Eric Steven Raymond 曾在《&lt;a href=&quot;http://www.catb.org/%7Eesr/writings/cathedral-bazaar/cathedral-bazaar/ar01s14.html&quot;&gt;教堂與市集&lt;/a&gt;》一文中以 GCC 來說明教堂 &lt;font color=&quot;#9999ff&quot;&gt;(closed developer group and infrequent releases)&lt;/font&gt; 和市集 &lt;font color=&quot;#9999ff&quot;&gt;(Release early, release often)&lt;/font&gt; 這兩種開發方式之間決定性的不同：&lt;br /&gt;
  &lt;/p&gt;
  &lt;blockquote&gt;
    &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; border=&quot;1&quot; width=&quot;100%&quot;&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td valign=&quot;top&quot;&gt;在歷史上有個專案比 fetchmail 更可以拿來做為市集模式的佐証，那就是 EGCS，Experimental GNU Compiler System。&lt;br /&gt;
          &lt;br /&gt;
這個計劃始於 1997 年 8 月中旬，目的是實驗《教堂與市集&lt;font color=&quot;#9999ff&quot;&gt;（早期的公開發行版）&lt;/font&gt;》中的論點是否可行。由於專案負責人離開了，導致 GCC &lt;font color=&quot;#9999ff&quot;&gt;(GNU C Compiler)&lt;/font&gt;
的發展陷入停頓。在此之後約 20 個月，GCC 和 EGCS 開始了平行發展 － 開發者同是來自 Internet、基於相同的 GCC
原始碼、相近的 Unix 工具和開發環境。唯一不同點是，EGSC 採用的是先前所提及的市集模式，而 GCC 則是近於教堂模式 － 封閉的開發團隊，和極少對外發行。&lt;br /&gt;
          &lt;br /&gt;
這是千載難逢的最佳對照實驗，且結果也頗為戲劇化。在數個月之內，EGCS 在功能上就有了明顯的領先 － 更棒的最佳化，對於 FORTRAN 及
C++ 的支援度也更好。很多人發現和同期的 GCC 穩定發行版比起來，EGCS 的開發版反而更加穩定可靠。一些主要的 Linux
發行版也開始改用 EGCS 了。&lt;br /&gt;
          &lt;br /&gt;
在 1999 年 4 月，自由軟體基金會&lt;font color=&quot;#9999ff&quot;&gt;（GCC 的官方發行機構）&lt;/font&gt;解散原有的 GCC 開發團隊，然後將管理權轉交給 EGCS 的指導小組。&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/blockquote&gt;
  


      
  
  
  &lt;p&gt;在人們觀念裡，『嚴謹』的開發方式才是邁向成功的唯一道路，但 Linux 的出現卻顛覆了這種傳統看法。因為沒有人在掌控這一切，因此在
GNU/Linux
專案裡，開發者和使用者的界線就比較模糊不清，種種奇想、建議、批評、比較、爭論、不滿等等各式意見總是喧鬧擾嚷地在相互激盪著。於是在這種彼此相互合作、競爭、激
勵的環境下，Linux 的前進速度可以說是一日千里，慢慢得追上了 BSD 的腳步。Linux 的確是將 Internet
的特性發揮到極致了。Linux 早就不是當日的吳下阿蒙了。&lt;br /&gt;
&lt;/p&gt;
  &lt;p&gt;而 BSD 
相較之下就顯得沒有那麼活潑有朝氣了。雖然『Core Team』這種開發模式能夠確保 BSD 的品質能維持在最高標準，但相反的就容易導致像是保守、死板、僵化、不易溝通、難以吸引開發者等等之類的批評。
  &lt;/p&gt;



  &lt;p&gt;從另一個角度想，對於商業公司而言，若他們自忖無法取得主導權，他們是不太願意跨入該領域的。據說 Google 開發 Chrome
的動機也是因為 Google 無法主導 Firefox 的開發方向。Linus 也認為，IBM 會踏入 Linux 市場是因為之前和
Microsoft 的合作實在太不愉快了。因此，BSD 的教堂式開發模式或許成了它商業化時的阻力也說不定。&lt;br /&gt;
  &lt;/p&gt;
&lt;/blockquote&gt;



  


  
  
&lt;h3&gt;多樣的版本：&lt;/h3&gt;



    
    
&lt;blockquote&gt;
      
      &lt;p&gt;Linux 的鬆散結構也反應在 Linux 的發行版上。因為 Linux
並沒有什麼官方發行版，所以任何人只要有興趣有能力，都可以自行發行 Linux，這使得我們能輕易得在 Internet 上找到超過 200 種以上的
Linux 發行版，而實際數字恐怕遠不止如此。
      &lt;/p&gt;
      &lt;p&gt;這使得在市場上的 Linux 發行套件百家爭鳴，每一種 Linux 發行套件都有其特質和吸引人之處。如此一來，幾乎每個人都可以找到能符合自己需求的 Linux 發行套件。重於嚴謹的可能會選擇使用 Debian
GNU/Linux；想要直接使用完整桌面環境的可能會選 Ubuntu；喜歡自行編譯的可能會選 Gentoo，而希望有商業支援的可能會選
RedHat… 而一些開發者無力維護、品質不佳或是使用者群較少的 Linux 發行套件很可能過不久就被其它的 Linux 發行套件所取代了。這種相互競爭的方式也讓 Linux 軟體的品質能快速得向上提昇。&lt;br /&gt;
&lt;/p&gt;
  &lt;p&gt;不過 Linux 這種發行方式也不是沒有缺點 － 某些封閉原始碼的軟體若想發行 Linux 版時，他們往往只能針對幾種比較主流的 Linux 的特定發行版釋出 binary 檔案，其它較冷門的也只好顧不得了。這可能是 Linux 在商業化時一個不利因素。&lt;br /&gt;
  &lt;/p&gt;

      &lt;p&gt;而各個 BSD 的發行版就只此一家別無分號，如此一來全世界使用該 BSD 發行版的人其系統架構將會一模一樣，這的確比較讓使用者不會無所適從：Linux
各個發行版之間有時就連最基本的套件管理方式都大異其趣了，但在 BSD 上則比較沒有類似的困擾。&lt;br /&gt;
      &lt;/p&gt;
      &lt;p&gt;但相反的，過度控制、缺乏競爭者的結果是 BSD 在彈性上就大不如 Linux 了。使用者既然能輕易得找到符合自己需求的
Linux 發行套件，再加上其實 Linux 也頗能符合使用者的需求，所以使用者就不太會為了 BSD 而 BSD，強迫自己去接受 BSD
的風格，因此 BSD 會變成小眾市場其實並不令人意外。&lt;br /&gt;
&lt;/p&gt;&lt;/blockquote&gt;

&lt;h3&gt;商業公司的支援：&lt;/h3&gt;

&lt;blockquote&gt;
  
  &lt;p&gt;若說 Linux 為什麼能快速得進入商用市場，我想 Red Hat 的成立應該是一個關鍵性的因素。&lt;/p&gt;


  
  &lt;p&gt;對於大型企業而言，或許授權費用的多寡並不是重點，他們要的是能夠說服上司及股東的解決方案。透過 Red Hat 所提供的技術支援，資訊部門也比較敢將 Linux 列入解決方案之中。這項優勢是沒什麼商業支援的 BSD 所難以匹敵的。&lt;/p&gt;


  
  &lt;p&gt;而在 Red Hat 成立之前，人們總以為軟體唯一的獲利方式就是販賣授權，而 Linux 所使用的 GPL
授權則和商業化是沾不上邊的。但 Red Hat
的出現粉碎了這個迷思：一個軟體能否成功，良好的品質及後續的服務及維護才是兵家必爭之地，至於它是如何授權的反倒是其次了。且，既然 Red Hat
能成功，那麼表示『販賣服務』絕對是條可行之路。&lt;/p&gt;
  &lt;p&gt;而 IBM 進軍 Linux 更是為這個市場掀起千層浪。也許人們不會在意 Red Hat 這種小公司，但人們絕不會對
IBM 的動向視而不見。且 IBM 可不只是丟個風向球，它是真的一開始就投入了大量人力物力在 Linux 上。IBM 大力支援 Linux 在市場上可是起了不得了的帶頭作用。&lt;/p&gt;

  
  &lt;p&gt;於是，隨著 Red Hat 的成立及 IBM 的加入，在 1998 到 1999 年間就開始了一系列 Linux 驚奇之旅。多家 Linux 公司成立、上市；新聞媒體上到處都是 Linux 的相關新聞；Sun、CA、
Oracle、Informix、Intel、Sybase、Corel、Novell、SAP、Lotus 等等軟體大廠開始將產品移植至
Linux，或是和 Red Hat 建立合作關係，甚至直接資金挹注 Red Hat；Adaptec、Intel、SGI、Matrox
等等硬體大廠也開始釋出驅動程式的原始碼或規格書，或是直接參與 Linux Kernel 的開發；Dell、HP、Compaq、Gateway
等等電腦大廠也開始銷售 Linux 主機。而此時出現的 Google 則更是無疑的 Linux 超強力支持者。此外還有一些有趣的奇聞異事：&lt;/p&gt;

  
  &lt;ul&gt;&lt;li&gt;
      
      &lt;p&gt;VA Research 用 100 萬美元買下 linux.com 這個網域名稱。&lt;/p&gt;

    &lt;/li&gt;&lt;li&gt;
      
      &lt;p&gt;史上唯一一次全世界伺服器大普查，Linux 以 31.3% 的市佔率拔得頭籌。&lt;/p&gt;

    &lt;/li&gt;&lt;li&gt;
      
      &lt;p&gt;Netcraft 表示，英國王室的站台乃是運行在 Linux 系統上。&lt;/p&gt;

    &lt;/li&gt;&lt;/ul&gt;
  &lt;p&gt;
那幾年真的是 Linux 風起雲湧的風光歲月，似乎全世界都在大喊著『Linux! Linux!』，Linux 經過多年的蟄伏，終於飛上枝頭變成鳳凰。別忘了那個時候 Linux 的品質在很多人眼中還遠遠不如 BSD 成熟哪！&lt;/p&gt;

  
  &lt;p&gt;敝人不清楚為什麼 BSD 就是不容易得到商業支援，但長期以來缺乏商業支援的 BSD 家族別說是發光發熱了，有時候就連讓專案維持下去都很困難。以 OpenBSD 為例，OpenBSD 原本從 2001 年開始就接受 DARPA&lt;font color=&quot;#9999ff&quot;&gt;（美國國防部研究發展中心）&lt;/font&gt;的
資助以進行開發工作，但在 2003 年，據說是因為 OpenBSD 的專案領導人 Theo De
Raadt 在加拿大的報紙上發表反戰言論，這些研究經費就此中斷了。雖然 OpenBSD
非常努力得撐下去，但因為幾乎得不到任何的商業支援，在 2006 年時 OpenBSD 真的無以為繼，不得不向社群求援。據說後來是得到
Mozilla 基金會的資助，&lt;font color=&quot;#9999ff&quot;&gt;（據說 Google 也有贊助）&lt;/font&gt;，OpenBSD 才又能繼續走下去。我們可以看到：少了商業支援的 BSD 家族，想要維持下去真的是非常艱辛呀！&lt;/p&gt;當然了，商場上的變化是瞬息萬變的，敝人並不認為 BSD 絕不會有像 Linux 那樣有大放異彩的一天，只是至少目前為止，還看不到任何的跡象就是了。&lt;/blockquote&gt;

&lt;h3&gt;媒體的推波助瀾：&lt;/h3&gt;

&lt;blockquote&gt;&lt;p&gt;若說到自由軟體界的代表人物，我想人們腦海中會浮現的名單應該少不了 Richard
M. Stallman、Eric S. Raymond 及 Linus Torvalds 這幾位指標性人物。Richard
M. Stallman 是公認的自由軟體界的精神領袖，他的意見對於 GNU 還是具有一定的影響力。Eric Steven Raymond 則是駭客文化的傳道士，他發表了不少像是《&lt;a href=&quot;http://www.linux.org.tw/CLDP/OLD/doc/Cathedral-Bazaar.html&quot;&gt;教堂與市集&lt;/a&gt;》、《&lt;a href=&quot;http://mis.ndhu.edu.tw/docu/question.htm&quot;&gt;提問的智慧&lt;/a&gt;》之類對駭客文化影響深遠的文章。而 Linus Torvalds 則是 Linux Kernel 專案領導人。這幾位指標人物彼此之間似乎總是意見不合，但他們卻有一個共通點 － 他們都是 Linux 的擁護者。&lt;/p&gt;
      &lt;p&gt;也就是說，當幾位自由軟體界的代表人物都在努力為 Linux 宣傳的同時，BSD 自然從人們的雷達範圍中消失了。不管 BSD 再怎麼棒，但人們不曉得的話也是罔然。&lt;/p&gt;
  &lt;p&gt;
  以台灣的科技網站來說好了。在 &lt;a href=&quot;http://www.zdnet.com.tw/news/&quot;&gt;ZDNet&lt;/a&gt; 上，用 Windows、Linux、BSD 等關鍵字在新聞中查詢，結果如下：&lt;br /&gt;
  &lt;/p&gt;

  &lt;ul&gt;&lt;li&gt;
      &lt;p&gt; Windows：5123 筆&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Linux：3128 筆，約為 Windows 的 61%。&lt;br /&gt;
&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;BSD：48 筆，約是 1 年 6 則新聞，連 Windows 的 1% 都不到。&lt;/p&gt;
    &lt;/li&gt;&lt;/ul&gt;
  &lt;p&gt;而在 &lt;a href=&quot;http://www.digitimes.com.tw/&quot;&gt;DigiTime&lt;/a&gt; 上的結果也是類似：&lt;/p&gt;
  &lt;ul&gt;&lt;li&gt;
      &lt;p&gt;Windows：9071 筆。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;Linux：4414 筆，約為 Windows 的 49%。&lt;/p&gt;
    &lt;/li&gt;&lt;li&gt;
      &lt;p&gt;BSD：67 筆，約是 1 年 8 則新聞，也是連 Windows 的 1% 都不到。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
  &lt;p&gt;而試著去國外的新聞站台查詢，結果也是大同小異。&lt;/p&gt;
在
這個資訊爆炸的時代，廣告、行銷的重要性不言可喻。比如說，Google 在日前推出 Chrome
時，所造成的大轟動就很讓人印象深刻。那幾天所有的新聞、Blog、討論區、IRC 上全在討論 Google
Chrome，甚至有人統計，Chrome 開放下載不到一天，下載人數就高過 Opera 的使用人數了。但事實上，Chrome
其實還有蠻多小問題尚待解決，它的高人氣並不全是因為軟體本身的過人功能，個人認為 Chrome 的廣告、行銷、Google
光環才是它能如此熱門的主因吧？而在廣告、行銷、新聞曝光度等方面，BSD
明顯比 Linux 吃虧多了。&lt;br /&gt;
&lt;/blockquote&gt;
&lt;h3&gt;GPL vs. BSDL：&lt;/h3&gt;


    
&lt;blockquote&gt;
      
  &lt;p&gt;Richard
M. Stallman 之所以是自由軟體界的精神領袖，除了他發起了 GNU 計劃之外，個人認為他為了 GNU 而撰寫的 GPL
更是決定性的因素。GPL 是一種偏向於開發者的回饋條款：使用者可以自由運用 GPL 程式碼，但所有修改必須也以 GPL 開放，讓所有人&lt;font color=&quot;#9999ff&quot;&gt;（包括原始程式設計者）&lt;/font&gt;都能受益。這是能確保程式碼永遠能讓所有人自由使用的終極手段。
      &lt;/p&gt;
  &lt;p&gt;相較之下，BSDL 應該是偏於使用者的一種無償授權：使用者如何自由運用這些程式碼，程式設計師無權置喙，只要宣告這個軟體是
BSDL 授權即可。因此，BSDL 的軟體可能有一天會變成封閉軟體 - 像 Microsoft 在
Windows 2000 核心裡就採用了一些來自 BSD 的網路元件，但 BSD 的人們卻沒有因而受惠。Microsoft 並沒有必要回饋那些修改後的程式碼。&lt;/p&gt;
  &lt;p&gt;Richard
M. Stallman 和 Linus Torvalds 都曾嚴辭批評過 BSDL，認為 BSDL 會有讓專案分
裂的傾向，因為人們可以拿了 BSDL 的程式碼而拒絕回饋；而相對的 GPL 則能讓專案傾向於整合，因為我們可以將那些 GPL
程式碼再整合回去原程式裡。也因此，有很多頂尖的程式設計師堅持只以 GPL 開發軟體，他們才不願花費時間力氣為人作嫁。&lt;/p&gt;
  &lt;p&gt;而同時 BSD 的人們也儘量不要使用 GPL 軟體。像是 NetBSD 似乎就決定要以 PCC 取代 GCC，一部份原因就是因為
GCC 是以 GPLv3 授權，而 PCC 則是 BSDL。他們認為像是 GPL 那樣限制一大堆的授權條款怎麼可以叫自由軟體授權？&lt;/p&gt;
個人認為，GPL 和 BSDL 或許沒有什麼優劣之分：只要能符合作者需求的就是好授權。但我們還是可以從一些數據中看出端倪。在 &lt;a href=&quot;http://freshmeat.net/stats/&quot;&gt;freshmeat.net&lt;/a&gt; 這個 Open Source 的軟體大站中，有 71% 的軟體是使用 GPL/LGPL 授權的，但採用 BSDL 的只有 6%；而在 &lt;a href=&quot;http://desk.gove.net/cgi-bin/nph-readingroom.cgi/000000A/http/sourceforge.net/softwaremap/trove_list.php=3fform_cat=3d18&quot;&gt;SourceForge.net&lt;/a&gt; 中的狀況也是類似，有 76% 是使用 GPL/LGPL 授權的，而採用 BSDL 的只有  7%。也就是說，至少以數量來看，GPL 是符合較多數人需求的授權。&lt;p&gt;而這或許是決定性的因素：Linux 採用的是 GPL，而 BSD 則是採用了 BSDL。既然較多數人們選擇使用 GPL，那麼採用
BSDL 的 BSD 可能就比較不容受到那些人的青睞了。在此同時，Linux 的人們是不太在乎使用 BSDL 的軟體的，但 BSD
的人們有時為了避免程式碼受到 GPL 的影響，寧願以 BSDL 重寫原以 GPL 授權的軟體。也就是說，BSD
相對來講已經較冷門了，卻又要花費心力在重覆打造輪子的工作上，在這種此消彼長的情況下，Linux 會佔有優勢也就不讓人意外了。&lt;/p&gt;

&lt;/blockquote&gt;



  
&lt;h3&gt;軟體的支援：&lt;/h3&gt;

&lt;blockquote&gt;&lt;p&gt;也許這是互為因果關係，因為 BSD 家族的市佔率比 Linux 低多了，BSD 的開發者也相對較少，因此有不少缺乏資源的開放原始碼軟體就沒有多餘的心力能放在 BSD 上，這導致很多軟體對 BSD 的支援度就沒 Linux 那麼好了。&lt;/p&gt;
  &lt;p&gt;以 FreeBSD 為例好了。FreeBSD 是針對 i386 硬體而開發的 BSD 分支，長久以來 FreeBSD 在功能、穩定、安全、效能等各方面的表現頗受好評，您可以在 Google 上找到一篇 &amp;quot;Yahoo! and FreeBSD&amp;quot; 以為佐証。&lt;/p&gt;
  &lt;p&gt;但從 FreeBSD 4.x 開始，在和 MySQL 搭配使用時，在效能方面的表現就不像 Linux
那麼亮眼，據說是因為 MySQL 的開發人員中缺乏 BSD User 的關係。但因為對於 Web 運用而言，MySQL 是個極重要的服務，不少人建議的最佳解決方案是改用
Linux，請參考：&lt;/p&gt;
&lt;blockquote&gt;
        &lt;p&gt;&lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/000203.html&quot;&gt;FreeBSD or Linux for your MySQL Server?&lt;/a&gt;&lt;/p&gt;
        &lt;p&gt;&lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/000697.html&quot;&gt;Revisiting FreeBSD vs. Linux for MySQL&lt;/a&gt;&lt;br /&gt;
&lt;/p&gt;&lt;/blockquote&gt;
  &lt;blockquote&gt;
    &lt;table cellspacing=&quot;2&quot; cellpadding=&quot;2&quot; border=&quot;0&quot;&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td valign=&quot;top&quot;&gt;註：&lt;br /&gt;
          &lt;/td&gt;
          &lt;td valign=&quot;top&quot;&gt;
          在不久前推出的 FreeBSD 7 中據說已改善這個問題，請參考：
          &lt;blockquote&gt;
            &lt;a href=&quot;http://people.freebsd.org/%7Ekris/scaling/mysql.html&quot;&gt;FreeBSD 說法&lt;/a&gt;
            &lt;br /&gt;
            &lt;a href=&quot;http://www.kernel.org/pub/linux/kernel/people/npiggin/sysbench/&quot;&gt;Linux 說法&lt;/a&gt;
          &lt;/blockquote&gt;
不管 MySQL 在 FreeBSD 還是 Linux 上的效能較好，FreeBSD 已經改善了它在 MySQL 上的效能問題卻是不爭的事實。&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p&gt;
    &lt;/p&gt;
  &lt;/blockquote&gt;
  &lt;p&gt;而在 Desktop 上，FreeBSD 也是跌跌撞撞的。比如說，讓我們看看這篇 2006 年的新聞：&lt;a href=&quot;http://www.zdnet.com.tw/news/software/0,2000085678,20106366,00.htm&quot;&gt;FreeBSD志在與桌面Linux一較高下&lt;/a&gt;。您可能會訝於該文中所透露的訊息：KDE 和 GNOME 這兩大桌面環境對於 FreeBSD 的支援度都不是非常完善，這有點讓人難以置信。&lt;br /&gt;
  &lt;/p&gt;
  &lt;p&gt;而
很多重量級的軟體，像是 Virtual Box、VMware、Xen、Skype、Oracle、Nvidia non-free
Driver、ATi non-free Driver 等等也並不直接支援 FreeBSD。如果有原始碼在手，有時候人們是可以試著把軟體移植到
FreeBSD 上去。但有時候移植作業也並不是說那麼順利。而一些沒開放原始碼的軟體就沒什麼辨法進行移植作業，這當然叫人喪氣。&lt;br /&gt;
  &lt;/p&gt;
  &lt;p&gt;但請別誤會。MySQL、GNOME 及 KDE 都支援 FreeBSD，只是有些小地方還有加強的空間罷了。FreeBSD 還可以透過 linux_base 來試著執行那些 Linux 專屬的程式，且效能也不差。但多多少少總讓人覺得有些遺憾。&lt;br /&gt;
  &lt;/p&gt;
  &lt;p&gt;並且這也絕對不是 FreeBSD 的問題 － 協力廠商願不願意支援 FreeBSD 並不是 FreeBSD 能夠掌握的。但，原本 BSD 已經夠冷門了，若再加上這些不利因素不就更是雪上加霜了嗎？&lt;br /&gt;
&lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;
  &lt;/p&gt;

&lt;/blockquote&gt;


&lt;p&gt;也因此，在眾多主觀客觀因素都有利於 Linux 下，當年 Linux 會比 BSD 更熱門其實並不讓人意外。而遲至今日，BSD
似乎還未能重返往日的榮耀。舉個例子好了，網路、穩定、輕巧、快速、安全正是 BSD 的強項，那麼用 BSD
做為伺服器似乎是很合乎邏輯的事。但目前在超級電腦裡的&lt;a href=&quot;http://www.top500.org/stats/list/31/osfam&quot;&gt;前 500 大排行榜&lt;/a&gt;裡，Linux 就佔了 427 台 &lt;font color=&quot;#9999ff&quot;&gt;(85%)&lt;/font&gt;，Windows 5 台 &lt;font color=&quot;#9999ff&quot;&gt;(1%)&lt;/font&gt;，Mac OS 2 台 &lt;font color=&quot;#9999ff&quot;&gt;(0.4%)&lt;/font&gt;，而 BSD 卻只有 1 台 &lt;font color=&quot;#9999ff&quot;&gt;(0.2%)&lt;/font&gt;。雖然用這個來比較似乎有失公允，但這項數據應該蠻出人意料的。&lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;也就是說。Linux 在效能、穩定度、安全性等方面未必會在 BSD 家族之下，但在軟硬體支援、開發模式、商業支援、新聞曝光度等等方面則佔了明顯的優勢。而一些本文未討論到的隱性的差異，像是學校教育、教學書籍、安裝介面、社群資源等
等方面，BSD 也未必比較討好。在此情況之下，個人認為短期間之內 BSD 想追上來應該不是很容易的。&lt;br /&gt;
&lt;/p&gt;

&lt;p&gt;但世事難料，BSD 原本就有極佳的根基，缺乏的可能是一點機運吧？且 Linux 和 BSD 之間也不是什麼絕對性的差距，BSD 絕對有一朝變天的實力。個人認為，BSD 或許仍是大有可為的。&lt;br /&gt;
&lt;/p&gt;





  
&lt;table cellspacing=&quot;2&quot; cellpadding=&quot;2&quot; border=&quot;0&quot; width=&quot;100%&quot;&gt;

    &lt;tbody&gt;

      &lt;tr&gt;

        &lt;td valign=&quot;top&quot;&gt;&lt;font color=&quot;#993300&quot;&gt;注：&lt;/font&gt;&lt;/td&gt;
        &lt;td valign=&quot;top&quot;&gt;&lt;font color=&quot;#993300&quot;&gt;本文乃是修改自《&lt;a href=&quot;http://tetralet.luna.com.tw/index.php?op=ViewArticle&amp;amp;articleId=209&amp;amp;b