<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tzu-Chiang Liou</title>
	<atom:link href="http://tcliou.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tcliou.wordpress.com</link>
	<description>cultural identity was not at issue ~ C. Carmody</description>
	<lastBuildDate>Mon, 02 Aug 2010 03:51:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tcliou.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Tzu-Chiang Liou</title>
		<link>http://tcliou.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tcliou.wordpress.com/osd.xml" title="Tzu-Chiang Liou" />
	<atom:link rel='hub' href='http://tcliou.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Inception</title>
		<link>http://tcliou.wordpress.com/2010/08/02/inception/</link>
		<comments>http://tcliou.wordpress.com/2010/08/02/inception/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 03:51:48 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/?p=66</guid>
		<description><![CDATA[http://www.imdb.com/title/tt1375666/ 除了不太能理解中文譯名和內容的關聯性（一如往常），Inception 和原本期待落差不大，頗值得去電影院看。劇情與空間設定不難理解（或許是近年來 sci-fi 的影集看不少），敘事手法也不會讓觀眾跟不上。用類似平行時空的夢中夢概念，將不同故事發展以主軸線串連，使得劇情更加緊湊，散場時完全沒意識到是個兩個半小時的電影。 inception 預告短片  看完後有兩個感想，其一，導演用夢中夢來詮釋現實與想像的多重存在，並且以 Mal 被 Cobb 植入想法來模糊兩個空間的界線，此層面的表現是直述不隱晦的，同時也影響到劇情的發展；然而，另一主軸似也根基於此現實即虛擬的構成，片中主角與愛子雖然同在現實這個時空當中，然而實體的法令與地理限制，卻讓彼此的距離比夢景更遙遠，或者，現實比虛擬更虛擬。 換言之，看完此片時，感覺 Cobb 其實在現實當中，就已經陷入兩個夢中夢當中（i.e. 妻子在記憶當中的投射，以及與愛子同存在現實卻宛若虛擬的互動）。而也因為這樣的 meta dream 存在，讓本片對我而言不只是單純的暑假娛樂片。 更進一步想，或許，這樣的夢境隱喻的是人的期待與慾望：一方面，在現實當中無法滿足的，希望能在夢境當中得到（妻子的投射），但另一方面，卻更希望打破現實與夢境的疆界。 再進一步看，夢與現實，也呼應著想像與日常生活，人，似乎對得不到的、沒有的，總是有股執念與遺憾。但卻又偶而在體驗與婉惜之後，才能理解與珍惜所擁有的。 其二，李奧納多（或他的經紀人）真的很會選片，除了鐵達尼號可能濫情了點（Danny Boyle 導的 the Beach 也毀譽參半），不少他接拍的電影都頗有寓意。他和強尼戴普可說是兩位成功跳脫偶像派演星的代表，講到強尼，就不禁想起小時候看的台視（？）影集「少年龍虎隊」，現下回去看這短片，再看看 Sweeney Todd（與alice in wonderland 當中的Mad Hatter），還真的是有些違和感。 少年龍虎隊  alice in wonderland<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=66&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>http://www.imdb.com/title/tt1375666/</p>
<p>除了不太能理解中文譯名和內容的關聯性（一如往常），Inception 和原本期待落差不大，頗值得去電影院看。劇情與空間設定不難理解（或許是近年來 sci-fi 的影集看不少），敘事手法也不會讓觀眾跟不上。用類似平行時空的夢中夢概念，將不同故事發展以主軸線串連，使得劇情更加緊湊，散場時完全沒意識到是個兩個半小時的電影。</p>
<p>inception 預告短片 <span class='embed-youtube' style='text-align:center; display:block;'><object width='500' height='312'><param name='movie' value='http://www.youtube.com/v/66TuSJo4dZM?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' /> <param name='allowfullscreen' value='true' /> <param name='wmode' value='opaque' /> <embed src='http://www.youtube.com/v/66TuSJo4dZM?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' type='application/x-shockwave-flash' allowfullscreen='true' width='500' height='312' wmode='opaque'></embed> </object></span></p>
<p>看完後有兩個感想，其一，導演用夢中夢來詮釋現實與想像的多重存在，並且以 Mal 被 Cobb 植入想法來模糊兩個空間的界線，此層面的表現是直述不隱晦的，同時也影響到劇情的發展；然而，另一主軸似也根基於此現實即虛擬的構成，片中主角與愛子雖然同在現實這個時空當中，然而實體的法令與地理限制，卻讓彼此的距離比夢景更遙遠，或者，現實比虛擬更虛擬。</p>
<p>換言之，看完此片時，感覺 Cobb 其實在現實當中，就已經陷入兩個夢中夢當中（i.e. 妻子在記憶當中的投射，以及與愛子同存在現實卻宛若虛擬的互動）。而也因為這樣的 meta dream 存在，讓本片對我而言不只是單純的暑假娛樂片。</p>
<p>更進一步想，或許，這樣的夢境隱喻的是人的期待與慾望：一方面，在現實當中無法滿足的，希望能在夢境當中得到（妻子的投射），但另一方面，卻更希望打破現實與夢境的疆界。</p>
<p>再進一步看，夢與現實，也呼應著想像與日常生活，人，似乎對得不到的、沒有的，總是有股執念與遺憾。但卻又偶而在體驗與婉惜之後，才能理解與珍惜所擁有的。</p>
<p>其二，李奧納多（或他的經紀人）真的很會選片，除了鐵達尼號可能濫情了點（Danny Boyle 導的 the Beach 也毀譽參半），不少他接拍的電影都頗有寓意。他和強尼戴普可說是兩位成功跳脫偶像派演星的代表，講到強尼，就不禁想起小時候看的台視（？）影集「少年龍虎隊」，現下回去看這短片，再看看 Sweeney Todd（與alice in wonderland 當中的Mad Hatter），還真的是有些違和感。</p>
<p>少年龍虎隊 <span class='embed-youtube' style='text-align:center; display:block;'><object width='500' height='312'><param name='movie' value='http://www.youtube.com/v/qBlN0aIiRE8?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' /> <param name='allowfullscreen' value='true' /> <param name='wmode' value='opaque' /> <embed src='http://www.youtube.com/v/qBlN0aIiRE8?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' type='application/x-shockwave-flash' allowfullscreen='true' width='500' height='312' wmode='opaque'></embed> </object></span></p>
<p>alice in wonderland <span class='embed-youtube' style='text-align:center; display:block;'><object width='500' height='312'><param name='movie' value='http://www.youtube.com/v/LjMkNrX60mA?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' /> <param name='allowfullscreen' value='true' /> <param name='wmode' value='opaque' /> <embed src='http://www.youtube.com/v/LjMkNrX60mA?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1' type='application/x-shockwave-flash' allowfullscreen='true' width='500' height='312' wmode='opaque'></embed> </object></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=66&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2010/08/02/inception/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>德才兼備，永誌不忘</title>
		<link>http://tcliou.wordpress.com/2008/08/04/unforgettable/</link>
		<comments>http://tcliou.wordpress.com/2008/08/04/unforgettable/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 02:49:39 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/?p=37</guid>
		<description><![CDATA[一年前的機會，有幸與來自經湛公關朋友共同經歷難忘的一段時光，讓我重新認識了專業，也感受到他（她）們彷彿永遠用不完的熱情與活力、對待朋友的真誠，就像快照一樣，時間就停留在 2007 年的那個夏天，專業不失幽默的阿德、永遠有時間幫忙且閱歷豐富的 Mingwei、充滿熱忱地投入且不斷學習的 Inin、年紀輕但穩重精闢一針見血的 Christy、省話卻總是適時提出關鍵想法的 Ellen &#8230; &#8230; 至今仍鮮活的在記憶當中。   一年後的今天身處異鄉，才與友人聊到那段日子，愕然聽到阿德的消息，除了難過，是深深地不解，為何，上天總是愛開這種糟糕的玩笑，為何，這世上會有這麼不公平的事情。   雖然與阿德認識時間不長，但他對我們的照顧，彷彿當作同事一般，才德兼備卻又謙讓不斷學習、不吝付出，完成挑戰之際也幫助同事成長，正是我覺得領導者該有的風範。知道他往人生另一個階段發展時，心中深深為他感到高興與祝福。沒想到才短短數月，就遭逢巨變。   或許是，上天也妒忌人世間擁有這樣的英才，不小心提早了他回家的時間。   或許是，總愛幫助人的阿德，用他寶貴的生命，讓我們感受到生命的不完美，人生總是充滿著遺憾，提醒著我們要把握身邊的一切。   不論如何，我永遠不會忘記，那年夏天，一起打拼的夥伴中，有一位高壯、總是帶著滿滿笑容，元氣十足的阿德。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=37&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>一年前的機會，有幸與來自經湛公關朋友共同經歷難忘的一段時光，讓我重新認識了專業，也感受到他（她）們彷彿永遠用不完的熱情與活力、對待朋友的真誠，就像快照一樣，時間就停留在 2007 年的那個夏天，專業不失幽默的阿德、永遠有時間幫忙且閱歷豐富的 Mingwei、充滿熱忱地投入且不斷學習的 Inin、年紀輕但穩重精闢一針見血的 Christy、省話卻總是適時提出關鍵想法的 Ellen &#8230; &#8230; 至今仍鮮活的在記憶當中。</p>
<p> </p>
<p>一年後的今天身處異鄉，才與友人聊到那段日子，愕然聽到阿德的消息，除了難過，是深深地不解，為何，上天總是愛開這種糟糕的玩笑，為何，這世上會有這麼不公平的事情。</p>
<p> </p>
<p>雖然與阿德認識時間不長，但他對我們的照顧，彷彿當作同事一般，才德兼備卻又謙讓不斷學習、不吝付出，完成挑戰之際也幫助同事成長，正是我覺得領導者該有的風範。知道他往人生另一個階段發展時，心中深深為他感到高興與祝福。沒想到才短短數月，就遭逢巨變。</p>
<p> </p>
<p>或許是，上天也妒忌人世間擁有這樣的英才，不小心提早了他回家的時間。</p>
<p> </p>
<p>或許是，總愛幫助人的阿德，用他寶貴的生命，讓我們感受到生命的不完美，人生總是充滿著遺憾，提醒著我們要把握身邊的一切。</p>
<p> </p>
<p>不論如何，我永遠不會忘記，那年夏天，一起打拼的夥伴中，有一位高壯、總是帶著滿滿笑容，元氣十足的阿德。</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=37&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2008/08/04/unforgettable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>Some open source software speakers in Wikimania 2007</title>
		<link>http://tcliou.wordpress.com/2007/07/30/some-open-source-software-speakers-in-wikimania-2007/</link>
		<comments>http://tcliou.wordpress.com/2007/07/30/some-open-source-software-speakers-in-wikimania-2007/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 16:37:59 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/30/some-open-source-software-speakers-in-wikimania-2007/</guid>
		<description><![CDATA[1.Jon Phillips Jon Phillips 是一位開放原碼的開發者、藝術家、作家、教育家、講師同時也長期推動社群發展與電腦文化。他混合了開放文化與軟體開發所創作的作品也於多處展出（如廣州美術學院、中山大學、東京大學、UCLA、UCB等）。他是 Inkscape 的核心開放原碼開發者，這是一個向量圖檔的編輯器。同時也正在撰寫「CVS: Concurrency, Versioning and Systems.」這本書。目前是舊金山藝術中心設計與科技系的訪問教授，同時也在 Creative Commons 中擔任社群開發的角色。 2.Benjamin Mako Hill Benjamin Mako Hill 是 debian 黑客，同時也是「The Official Ubuntu Book」這本Debian GNU/Linux 3.1 聖經的作者。目前任職於MIT Media Lab的電腦文化組（Computing Culture group），同時也是軟體自由國際聯盟（Software Freedom International）與 Ubuntu 基金會的董事成員 3.Sylvain Zimmer Sylvain 是自由軟體愛好者，同時也是一位樂痴，生於音樂家族的他能談多種樂器，他於 2004 年創辦了jamendo這個採用公眾授權的線上音樂分享網站，截至目前為止，已經有 4000 張專輯、七種官方語言與十位員工。目前他擔任 jamendo 的 CTO。 4.Brian Behlendorf Brian Behlendorf 是 Apache Web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=35&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><u><big><font face="Georgia">1.Jon Phillips</font></big></u><br />
Jon Phillips 是一位開放原碼的開發者、藝術家、作家、教育家、講師同時也長期推動社群發展與電腦文化。他混合了開放文化與軟體開發所創作的作品也於多處展出（如廣州美術學院、中山大學、東京大學、UCLA、UCB等）。他是 Inkscape 的核心開放原碼開發者，這是一個向量圖檔的編輯器。同時也正在撰寫「<font face="Georgia">CVS: Concurrency, Versioning and Systems.</font>」這本書。目前是舊金山藝術中心設計與科技系的訪問教授，同時也在 Creative Commons 中擔任社群開發的角色。</p>
<p><font face="Georgia"><u><big>2.</big></u></font><u><big><font face="Georgia">Benjamin Mako Hill</font></big></u><br />
<font face="Georgia">Benjamin Mako Hill 是 debian 黑客，同時也是「</font><font face="Georgia">The Official Ubuntu Book</font><font face="Georgia">」這本</font><font face="Georgia">Debian GNU/Linux 3.1 聖經的作者。目前任職於MIT Media Lab的電腦文化組（</font><font face="Georgia">Computing Culture group</font><font face="Georgia">），同時也是軟體自由國際聯盟（</font><font face="Georgia">Software Freedom International</font><font face="Georgia">）與 Ubuntu 基金會的董事成員</font></p>
<p><font face="Georgia"><u><big>3.Sylvain Zimmer</big></u></font></p>
<p><font face="Georgia">Sylvain 是自由軟體愛好者，同時也是一位樂痴，生於音樂家族的他能談多種樂器，他於 2004 年創辦了</font><font face="Georgia">jamendo這個採用公眾授權的線上音樂分享網站，截至目前為止，已經有 4000 張專輯、七種官方語言與十位員工。目前他擔任 </font><font face="Georgia">jamendo 的 CTO。</font></p>
<p><font face="Georgia"><u><big>4.Brian Behlendorf</big></u><br />
</font></p>
<p><font face="Georgia">Brian Behlendorf 是 </font><font face="Georgia">Apache Web server 的主要開發者，同時也是 </font><font face="Georgia">Apache Group 的創辦人之一（亦即 </font><font face="Georgia">Apache Software Foundation）</font><font face="Georgia">，Brian 並擔任前三年的主席。後來亦創辦了 </font><font face="Georgia">Hyperreal 這個線上電子音樂相關資源的網站。以及 </font><font face="Georgia">Organic, Inc. 與 CollabNet 等知名的組織。</p>
<p></font><font face="Georgia"><u><big>5.Greg Stein</big></u></font><font face="Georgia"><br />
</font></p>
<p><font face="Georgia">Greg Stein 是 Google 的工程師，在此之前曾任職於 </font><font face="Georgia">Oracle Corporation, eShop, Microsoft 與 CollabNet.，主要參與的計畫是 </font><font face="Georgia">ubversion, WebDAV, Python 和幾個 Apache 的計畫，曾任</font><font face="Georgia"> Apache Software Foundation 的主任與主席。</font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=35&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/30/some-open-source-software-speakers-in-wikimania-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview-ChinaTimes</title>
		<link>http://tcliou.wordpress.com/2007/07/13/interview-chinatimes/</link>
		<comments>http://tcliou.wordpress.com/2007/07/13/interview-chinatimes/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 06:02:51 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/13/interview-chinatimes/</guid>
		<description><![CDATA[I got interview from ChinaTimes few days ago, here&#8217;s the report the story.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=34&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I got interview from ChinaTimes few days ago, here&#8217;s <a href="http://forums.chinatimes.com/report/people/960713/02.htm">the report</a> <a href="http://news.chinatimes.com/2007Cti/2007Cti-Focus/2007Cti-Focus-Content/0,4518,9607130291+0+0+102800+0,00.html">the story</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=34&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/13/interview-chinatimes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview</title>
		<link>http://tcliou.wordpress.com/2007/07/09/interview/</link>
		<comments>http://tcliou.wordpress.com/2007/07/09/interview/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 10:00:48 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/09/interview/</guid>
		<description><![CDATA[I got an interview in Radio Taiwan International last week, you may check the following links to listen on line, WMA, RM.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=33&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I got an interview in <a href="http://www.rti.org.tw/">Radio Taiwan International</a> last week, you may check the following links to listen on line, <a href="//play.ccdntech.com/vod09/wma/1200707010715.wma">WMA</a>, <a href="//play.ccdntech.com/vod09/rm/1200707010715.rm">RM</a>. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=33&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/09/interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux顧問的幾道佳餚</title>
		<link>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a-2/</link>
		<comments>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a-2/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 10:21:19 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Linux Journal]]></category>
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a-2/</guid>
		<description><![CDATA[This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Not Cooking the Books. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。 Linux顧問的幾道佳餚 Marcel要替Linux的顧問們提供一些計時（time tracking）與記帳（bookkeeping）的訣竅 作者：Marcel Gagn&#8217;e / 譯者：劉自強（TzuChiang Liou） 放輕鬆點，法蘭西斯！我知道你的確是萬中選一的人才，但是我的朋友阿！你知道嗎？想要自己成立一家顧問公司可不是那麼簡單的事情歐！不過既然你問起我，我當然也很樂意給你一些我的經驗和看法。但在這之前，不知道你注意到沒，我們的客人都已經到了，所以就麻煩你先幫他們帶一下位吧！ 歐，我的好友們，大家好啊！歡迎再次來到Ches Marcel餐館，法蘭西斯，還不快替我們的客人端上酒來！我想今天就來喝喝1997年份的「Vouvray Cuvee Constance」好了。 親愛的朋友們，剛剛法蘭西斯正在問我，如果以後改行不做餐廳而跑去開顧問公司的話，他會遭遇到哪些問題。為什麼會有這樣的想法呢？那是因為他對Linux的知識越來越豐富，所以自認應該已準備好可以幫助其他人、或是可以做些代理的工作了。 謝啦，法蘭西斯，來，大家請喝！ 事實上從許多角度來看，Linux一直都是電腦顧問們的好夥伴，因為即使您不在主機旁也沒關係，各個發行套件中都含有一套完整的工具，可以讓您用許多不同的方法來連接主機。舉例來說，您的系統可以成為郵件伺服器、Telnet的客戶端、或是SSH的客戶端主機等等。 同時Linux也替您準備好許多充滿特色的程式開發工具：如C++的編譯器、Perl、Python、Tcl/Tk等等許多開發語言。事實上，一個典型的Linux發行套件當中包含的工具，足以讓您可以成為自己的ISP、並且建構一個完備的網站，您唯一沒有的工具大概就只剩下一些企業經營手段和生財的工具了！ 講實際點，這也就是和錢扯上關係啦，這也是理所當然的囉，畢竟你們工作的原因除了希望能讓三餐溫飽外，也希望能偶爾來Ches Marcel餐館拜拜五臟廟吧。所以，為了要讓自己可以拿到應得的薪水，您必須告訴客戶，在他們的專案上您盡了多少心力；接著，您必須要向他們收費，把錢收齊並且追蹤整個工作流程。因此可以說，獨立顧問的生活可以說是自我規律強、一人當家的企業，而也就是這種工作的本質。是否覺得有點煩瑣呢？別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具，接下來就讓我們一一品嚐吧！ 身為一個顧問第一件事就是要學會「計算時間」（track time），所以在此先提供你們一些解決方案，首先是一個名為「tt」的低卡路里命令列工具： tar -xzvf [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=32&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Not Cooking the Books. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。</p></blockquote>
<p align="center"><span style="text-decoration:underline;"><big>Linux顧問的幾道佳餚</big></span></p>
<p align="center">Marcel要替Linux的顧問們提供一些計時（time tracking）與記帳（bookkeeping）的訣竅</p>
<p align="center"><big> 作者：Marcel Gagn&#8217;e / 譯者：劉自強（TzuChiang Liou）</big></p>
<p>放輕鬆點，法蘭西斯！我知道你的確是萬中選一的人才，但是我的朋友阿！你知道嗎？想要自己成立一家顧問公司可不是那麼簡單的事情歐！不過既然你問起我，我當然也很樂意給你一些我的經驗和看法。但在這之前，不知道你注意到沒，我們的客人都已經到了，所以就麻煩你先幫他們帶一下位吧！</p>
<p>歐，我的好友們，大家好啊！歡迎再次來到Ches Marcel餐館，法蘭西斯，還不快替我們的客人端上酒來！我想今天就來喝喝1997年份的「Vouvray Cuvee Constance」好了。</p>
<p>親愛的朋友們，剛剛法蘭西斯正在問我，如果以後改行不做餐廳而跑去開顧問公司的話，他會遭遇到哪些問題。為什麼會有這樣的想法呢？那是因為他對Linux的知識越來越豐富，所以自認應該已準備好可以幫助其他人、或是可以做些代理的工作了。<br />
<span id="more-32"></span><br />
謝啦，法蘭西斯，來，大家請喝！</p>
<p>事實上從許多角度來看，Linux一直都是電腦顧問們的好夥伴，因為即使您不在主機旁也沒關係，各個發行套件中都含有一套完整的工具，可以讓您用許多不同的方法來連接主機。舉例來說，您的系統可以成為郵件伺服器、Telnet的客戶端、或是SSH的客戶端主機等等。</p>
<p>同時Linux也替您準備好許多充滿特色的程式開發工具：如C++的編譯器、Perl、Python、Tcl/Tk等等許多開發語言。事實上，一個典型的Linux發行套件當中包含的工具，足以讓您可以成為自己的ISP、並且建構一個完備的網站，您唯一沒有的工具大概就只剩下一些企業經營手段和生財的工具了！</p>
<p>講實際點，這也就是和錢扯上關係啦，這也是理所當然的囉，畢竟你們工作的原因除了希望能讓三餐溫飽外，也希望能偶爾來Ches Marcel餐館拜拜五臟廟吧。所以，為了要讓自己可以拿到應得的薪水，您必須告訴客戶，在他們的專案上您盡了多少心力；接著，您必須要向他們收費，把錢收齊並且追蹤整個工作流程。因此可以說，獨立顧問的生活可以說是自我規律強、一人當家的企業，而也就是這種工作的本質。是否覺得有點煩瑣呢？別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具，接下來就讓我們一一品嚐吧！</p>
<p>身為一個顧問第一件事就是要學會「計算時間」（track time），所以在此先提供你們一些解決方案，首先是一個名為「tt」的低卡路里命令列工具：</p>
<p><code>tar -xzvf tt-1.0.tar.gz<br />
cd tt-1.0<br />
./configure<br />
make<br />
make install</code></p>
<p>使用的方法很簡單，只要在命令列輸入「tt」即可，請注意第一次執行時會回應一個錯誤訊息，告訴您並沒有完成動作，但同時也會在您的家目錄中產生一個名為「.tt」的目錄。接著請您切換到該目錄並且建立「projects.conf」這個檔案，這個檔案中主要儲存的資訊是您想紀錄時間的專案名稱列表。其中每個專案名稱都以中括弧標示，以下是我目前正在進行的專案：</p>
<p><code><br />
[cook] # 非常重要<br />
[eat] # 您可以這個賺錢嗎？<br />
[drink_wine] # 可能的話啦<br />
[write_recipes] # 這才是真正的工作，不是嗎？</code></p>
<p>您隨時可以使用「tt」的列表命令「tt &#8211;list &#8216;*&#8217;」把目前正在進行的專案全都列出來；而如果您想要開始追蹤某一個專案時，只需要在指令後面加上「&#8211;start」這個參數即可。例如喝酒除了是一種享受外也是工作的一部份，不過很抱歉的是我必須要收費（當然是開玩笑啦！），但假設真的要收費的話，我們可以使用下面的方式來計算：</p>
<p><code>tt --start drink_wine</code></p>
<p>當我完成這項&#8230;咳&#8230;嗯&#8230;“工作”時，只要在同樣的命令後面使用參數「&#8211;stop」即可：</p>
<p>就一個簡單的程式而言，「tt」已經算非常夠力了，而這個程式的另一個比較有趣的用法使把它當作任務的時間統計（time wrapper）。比如說您現在正在替Henri-s Fine Wines這家公司工作，主要負責在公司的網路伺服器上架設一個電子商務網站。然而這項工作卻完全以遠端的方式完成，且您是用「Telnet」連線的方式來進行作業，此時就可以將「tt」這個命令整合到「telnet」當中，用以自動地幫您進行時間追蹤動作，如下所示：</p>
<p><code>#!/bin/bash<br />
tt henri_wines --start<br />
telnet henri_website.com<br />
tt henri_wines --stop</code></p>
<p>這樣就可以啦，如此一來當您需要報告時，只要用下面的指令便迅速地能產生所需的時間報表，如下所示：</p>
<p><code>tt drink_wine --export<br />
project 'drink_wine' (closed):<br />
Tue Dec 19 2000 16:53:31'Tue Dec 19 2000 16:53:56: 00h00m25s<br />
Wed Dec 20 2000 12:10:39-fri Dec 22 2000 16:52:59: 52h42m20s<br />
Fri Dec 22 2000 16:56:18-fri Dec 22 2000 17:01:04: 00h04m46s<br />
Tue Dec 19 2000 16:53:31-fri Dec 22 2000 17:01:04: 52h47m31s</code></p>
<p>不僅如此，您還可以使用「-format」這個參數來修改輸出的格式，甚至也可以建立一個SQL資料庫來存放相關資訊，「tt」目前可以支援MySQL與PostgreSQL，舉例來說，我可以先使用下面的指令在PostgreSQL裡面建立一個資料庫：</p>
<p><code>createdb myconsultancy</code></p>
<p>接著，使用這個命令把「tt」的資料輸出：</p>
<p><code>tt drink_wine --export -format pgsql | psql myconsultancy</code></p>
<p>有了這項資訊後，我也能從PostgreSQL資料庫中產生一個客製化的報表，方法如下：</p>
<p><code>psql -c "select * from tt_timing;" my_consultancy</code></p>
<p>您將發現「tt」幾乎把每件您想做的事都完成了，這真是太好了！但如果您人在遠方，而需要一些能遠端管理時間報表的工具時，那下一道菜或許可以滿足您挑剔的胃口。又或者當您的顧問事業做的很成功，並且僱用許多員工來幫忙的話，這個工具也可以幫上大忙歐！</p>
<p>以瀏覽器為介面的應用程式有個很不錯的特點就是幾乎可以讓您在任何地方進行工作。只要啟動瀏覽器、輸入適當的網址、等待幾秒鐘的頁面顯示時間，一切就完美了！這裡要介紹給您的就是這樣一個準備就緒、新穎、好用的應用程式：在計時與付費的領域裡，幸運的讓我找到OnShore 公司所設計的程式「TimeSheet」，這是一個很棒的程式，值得大家仔細看看。它的介面非常的乾淨、簡潔，並且針對全職員工和簽約的顧問提供不同的管理介面與使用者資訊，也可以讓不同的顧問或特別的客戶產生不同的報表：</p>
<p><code><br />
tar -xzvf onshore-timesheet-current.tar.gz<br />
cd onshore-timesheet-2.2</code></p>
<p>在您開始執行make之前，謙虛的大廚師我在此向大家坦承，我在安裝這套軟體時忽略的一個重要的守則因而失敗，那個守則就是：「安裝前必須要詳讀所有的INSTALL及README檔」，在花了點時間仔細閱讀說明之後，我又重新回到OnShore TimeSheet的網站，結果發現只要在Makefile檔中作一點修改就可以讓安裝過程成功。其實所需要做的改變很少，全部都在Makefile檔案內最上面幾行，在此我列出其中一部分：</p>
<p><code>PERLINC := /usr/lib/perl5/site_perl/5.005<br />
APPROOT := /usr/local/apache/htdocs/timesheet<br />
TIMESHEET_URL := /timesheet<br />
CONFFILE := timesheet.conf<br />
GUEST_ACCOUNT := no<br />
WWWUSER := www<br />
APPOWNER := www</code></p>
<p>因為OnShore的「TimeSheet」這個程式本身就含有一些必要的Perl模組，所以您必須將「PERLINC」這個參數修改為您網站中「site_perl」安裝的目錄（上面是我的範例）。而「APPROOT」則是您伺服器上應用程式的位置，預設值是Red Hat的安裝預設路徑「/home/httpd/html」，請針對您的安裝路徑加以修改，至於我的網站則全部將Apache重新建構在「/usr/local/apache/htdocs」這個目錄中。</p>
<p>下一個需改變的是應用程式的預設網址，如果您在「APPROOT」中選擇了「timesheet」作為最終目錄（也就是預設值），則在此也必須要改為「/timesheet」。接著決定修正檔（configuration file）的名稱；再來，如果您需要的話，安裝程式也可以建立一個預設的「guest」帳號，在此我決定自己建構所有必需存在的使用者，因此改成「no」。最後兩個參數我都設為「www」，其中「WWWUSER」是您網站中預設的使用者ID，請注意在許多其他的系統中，通常預設值都設為「nobody」，所以您必須要視情況來設定。而最後一個參數是「APPOWNER」，這是用來設定整個程式的權限。</p>
<p>是不是覺得有點不耐煩了呢？馬上我們就要進入最後的步驟囉！如果您執行的系統是Debian，此時可以執行「make install-debain」，在其他系統上，請執行「make」就可以了。執行後將會看到螢幕上輸出一些訊息，顯示出系統正使用管理者的帳號建立一個預設的PostgreSQL資料庫，這樣大致上就完成了。如果要執行這個程式，請先確定您的網路伺服器可以支援並正確執行「.cgi」程式，如果沒有的話，可以在您的「httpd.conf」檔案中加入下面這一行敘述。（請注意，需要修改的檔案可能會依照您伺服器的安裝而有所不同，在某些系統中要修改的檔案可能是access.conf；而這些檔案可能會出現在 /usr/local/apache/conf或/etc/htpd/conf這兩個目錄中）</p>
<p><code><br />
AddHandler cgi-script .cgi</p>
<p>Options +ExecCGI<br />
AddHandler cgi-script .cgi<br />
</code></p>
<p>在此使用這個指令集，如此您就可以執行安裝在任何地方的cgi程式，不過要注意的是，通常cgi命令稿是放在「cgi-bin」的目錄中執行，而不是一般的html或是htdocs目錄中。</p>
<p>最後一個重點是，請確定您的PostgreSQL資料庫執行時有加上「-i」這個選項。舉例來說，在我的「my /etc/rc.d/init.d/postgresql」這個啟動檔案中（如果您使用Debian，則請看 /etc/init.d/postgresql），有下面這一行敘述：</p>
<p><code>su 'l postgres -c '/usr/bin/postmaster -s -D /var/lib/pgsql'</code></p>
<p>我的做法是簡單的修改了預設的開機敘述，在「postmaster」這個字後面加上「-i」這個選項，接著重新啟動PostgreSQL與 Apache後就可以了。現在只要在您的瀏覽器中輸入下面的網址即可看到相關訊息囉：http://my_webserver/timesheet/.</p>
<p>在出現的頁面中，您需要輸入管理者的帳號及密碼，兩者的預設值都是「admin」，所以很顯然的，首先要做的事情就是把這兩個資料改成比較安全一點；同時也可以開始建立您的使用者群：可以建立為永久員工、顧問、或是其他的管理者等等。您在圖一中可以看到OnShore TimeSheet執行的樣子。</p>
<p>恭喜啦！您現在可以記錄您的時間了，依據工作時間表，您可以開發票給客戶以獲取您辛苦努力的成果了！把錢收齊後其他的就交給會計去煩惱吧，等一下，會計師的工作不就是需要處理一些財務的資料嗎？其實這就是任何企業最懼怕的怪獸：記帳（bookkeeping）！還好對Linux使用者而言，我們也可以找到一些解決方案，來吧，親愛的朋友，接下來就讓我們來體驗一些針對Linux設計的會計套裝軟體吧！</p>
<p>Linux環境下會計軟體的出現代表著使用者對於不同工具的需求日增，幸運的是，目前這些軟體也正逐漸增加中。它們可能是商用程式、也可能遵循 GPL發行條款、或是自由軟體，而既然我們討論的是開放原始碼程式，所以接下來的菜單裡將集中在這方面作介紹。首先，如果您的需求不會很複雜的話，或許可以先看看「BANAL」這個程式，這個縮寫代表的意思是「BANAL-s Absolutely Not A Ledger」，這是個由Matthew Rice所開發出來的程式，雖然非常簡單但卻擁有很大的想像空間，我會這樣說是因為「BANAL」可以完成許多工作，有時候甚至可以輕易地完成大量的作業。您可以使用「BANAL」來追蹤時間、維繫客戶及供應商、開發票、追蹤開銷、開支票等等，而使用「BANAL」除了會花點時間之外，幾乎沒有其他的成本。</p>
<p>這個軟體是遵循BSD發行條款，所以可以自由下載，同時也非常容易安裝，當然您可以下載所有的原始碼並安裝tarball包裝的程式，但是大廚我謙虛的建議大家使用RPM套件比較方便。在此總共需要兩個RPM套件：一個是客戶端程式、一個是伺服器端程式；不過話說回來，tarball包裝中包含一些諸如加強版PHP命令稿等額外的東西，這對某些人來說可能很有價值也很好用啦。RPM的安裝方式非常快速且簡單：</p>
<p><code>rpm -ivh banal'*</code></p>
<p>套件安裝時會執行很多指令，其中一項是「BANAL」會在您的「/etc/passwd」當中建立一個使用者，並且啟動伺服器。雖然「BANAL」使用起來非常容易，但是我仍然建議各位務必詳讀安裝時所附的「quickstart」這個檔案：</p>
<p><code>/usr/doc/banal-client-0.10/quickstart.txt</code></p>
<p>在進行下一步之前，請先注意一件事情，在我的系統上（或許你們的也是一樣），程式「bk」預設會嘗試去開啟「/usr/bin/vi」，但因為我的系統中「vi」的執行檔路徑是「/bin/vi」，所以我們可能需要建立一個符號連結（symbolic link）來解決這個問題，或者也可以指定編輯器（EDITOR）的環境變數，用以覆寫「BANAL」內建的編輯器路徑，除此之外，您也可以藉此機會選擇慣用的編輯器，如下所示：</p>
<p><code>export EDITOR=pico</code></p>
<p>完成之後，便可以開始建立您的帳號、個人資料、供應商、支出帳戶等等資訊，而這些都可以用「bk」這個指令來完成：</p>
<p><code>BANAL-FTL bookkeeping system</code></p>
<p>「bk」是BANAL在命令列環境下的客戶端工具，簡介如下：</p>
<p><code>bk help commands 可以秀出指令列表<br />
bk help command 可以針對某個特定的指令提供解釋<br />
bk help usage 可以秀出命令列環境下的參數</code></p>
<p>開始執行程式之前，您必須使用「bk client 您的＿公司＿名稱」這個指令來建立一個初始客戶（也就是您的公司），然後請加以儲存（但請確定各個必要欄位都有填入適當的資訊）。接著您需要修改一些公司資訊設定值，以確保這個客戶檔案就是代表您的公司：</p>
<p><code>$bk setting /UserInfo/CompanyID</code></p>
<p>您將會發現系統切換到編輯器模式，並且出現下面這些資訊：（在此請記得將Value欄位中的ChesMarcel改成其他資訊歐！）</p>
<p><code>#A BANAL Settings Specification.<br />
#<br />
#Setting: Unique Setting ID<br />
#Value: Value @@ REQUIRED<br />
#Description: Item description<br />
Setting: /UserInfo/CompanyID<br />
Value: ChesMarcel</code></p>
<p>嗯，這樣就可以了，簡單吧！如果您的顧問工作常常需要使用時間表（timesheet）的話，也有一個名為「GnuCash」的圖形化使用者介面的軟體可供使用（您可以在LJ英文版 2001年四月後中看到GnuCash的介紹文章）。這個軟體使用GPL的發行條款，是個相當好用而且完全免費的會計套件。</p>
<p>在此我決定從頭開始安裝「GnuCash」，因此首先我從GnuCash的網站下載最新版的原始碼套件，如果您比較沒有耐性，在這裡也可以找到預先編譯好的二進位版本套件。</p>
<p>這個程式主要是使用GNOME的函式庫，所以不論您是從原始碼安裝或是使用二進位版本，都需要先載入相關的函式。當然囉，如果您的桌面環境就是 GNOME的話，將會發現相關的gnome-lib已經載入；但如果您使用其他的桌面環境，則需要載入gnome-lib以及其他必要的支援函式庫（特別是GTK）。雖然這會需要花一點時間，但用過之後您將發現「GnuCash」的確值得您花這些功夫。除了GNOME framework之外，您還需要「guile」、「swig」、「slib」、以及「g-wrap」等等工具，其中「g-wrap」這個套件可以在「GnuCash」的FTP站中下載。雖然還有一些必要的程式（比較重要的像是「libjpeg」、「libpng」等），但這些大多應該已經預先安裝在您的系統上了。例如若您有安裝「umb-scheme」套件的話，則「slib」套件應該已經存在系統中了。您可以在相關資源裡找這些網站的網址。</p>
<p>當下載好所需的軟體時，第一件事當然就是解壓縮囉，可以用下面這個大家都很熟悉的步驟來完成：</p>
<p><code>tar -zxvf gnucash-1.4.9.tar.gz<br />
cd gnucash-1.4.9<br />
./configure<br />
make<br />
make install</code></p>
<p>此時，您應該要檢查幾個非常重要的連結，當大廚我剛開始用這個食譜時並不是非常順利（特別是與「slib」相關時），因為「guile」函式庫會針對「slib」所在位置等資訊做一些假設。這對大部分的系統而言可能不是問題，但是在我的Red Hat上卻造成錯誤，我的解決方法是先切換到「/usr/share/guile」目錄下，然後建立下面這些符號連結：</p>
<p><code>In -s /usr/lib/umb-scheme/slib slib<br />
In -s /usr/lib/umb-scheme/slibcat slibcat<br />
In -s /usr/lib/umb-scheme/slib/mklibcat.scm mklibcat</code></p>
<p>因為「umb-scheme」套件是我的Red Hat系統預設安裝的scheme函式庫（還記得剛剛介紹的slib嗎？），所以當我加入這些連結後，程式運作起來就正常多了。完成這些手續之後，只要在命令列下輸入「gnucash」就可以執行這個程式了。如果您曾經使用過Intuit的「Quickbooks」套件的話，將會發現「GnuCash」真的很不錯，您可以藉由非常親切的介面來建立理財用帳戶、信用卡交易以及其他相關的統計表（請參考圖二）。此套件除了有個非常好用的“可回復” （reconciliation）特點外，同時也內建有許多的報表（包含損益報表等等），如此就可以輕易地知道在特定時間內您總共賺了多少錢。它甚至還針對全球化的顧問公司提供多種貨幣運算的功能勒。我唯一能想到對於小企業的缺點就是它沒有提供開發票的功能，所以，您必須用人工來完成這項動作。</p>
<p>我的天阿，法蘭西斯，時候不早了可是還有很多事要忙勒！不過還是請你再幫我們的朋友們倒杯酒吧！嗯，怎麼了？你打消了兼職作顧問的念頭啦？是因為我的緣故嗎？不用擔心啦，我不會叫你太多事情的囉，會有足夠的時間啦！我們待會再來好好談談吧，現在要多關照的是我們的客人，再來一杯酒！</p>
<p>親愛的朋友們，如果您決定要單獨成立顧問公司的話，請記住您其實並不孤單。因為選擇了Linux，您可以針對所有高科技顧問需要的工具作完全的掌控，再加上一些開放原始碼大廚們的幫忙，或許還會發現你們的理念是相同的勒，這麼一來，搞不好哪天就可以在Chez Marcel餐廳裡看到您的食譜歐！</p>
<p>下一次，Chez Marcel的大門仍然為您敞開！</p>
<p>祝大家身體健康，有個美好的一餐！</p>
<p>Marcel Gange (mggagne@salmar.com) 居住在安大略之Mississauga。在真實世界裡，他是Salmar Consulting Inc.(http://www.salmar.com/) 的總裁，那是一家系統整合和網路顧問公司。他同時也是一位飛行員、也寫一些科幻小說、也擔任「TransVersions」的編輯（一本科幻和恐怖小說的雜誌，不過馬上就要變成一本文選了）。他酷愛 Linux 及所有 UNIX氣息，甚至還將之融入公眾。事實上，他目前正忙著撰寫於 Linux System Administration: A User&#8217;s Guide這本書，相信很快就會由Addison Wesley Longman 出版了。您可以透過mggagne@salmar.com和他聯繫，同時也可以上他的個人網站http://www.salmar.com./來發掘更多有關他的故事。</p>
<p><big>sideword</big></p>
<p>在計時與付費的領域裡，幸運的讓我找到OnShore 公司所設計的程式－「TimeSheet」。</p>
<p>別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具！</p>
<p>從許多角度來看，Linux一直都是電腦顧問們的好夥伴。</p>
<p>來吧，親愛的朋友，接下來就讓我們來體驗一些針對Linux設計的會計套裝軟體吧！</p>
<p><big>captions</big><br />
圖一：TimeSheet執行的樣子<br />
圖二：GnuCash執行的樣子</p>
<p><big>相關資源</big><br />
BANAL:http://www.starnix.com/banal/<br />
GnuCash Web Site:http://www.gnucash.org/<br />
SWIG Home Page:http://www.swig.org/<br />
onShore TimeSheet:http://www.onshore-timesheet.org/<br />
SLIB Home Page:http://swissnet.ai.mit.edu/~jaffer/SLIB.html<br />
Track Time Spent Tool (tt):http://awacs.dhs.org/software/tt/<br />
The WINE Headquarters:http://www.winehq.com/</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=32&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>焦點軟體</title>
		<link>http://tcliou.wordpress.com/2007/07/08/%e7%84%a6%e9%bb%9e%e8%bb%9f%e9%ab%94/</link>
		<comments>http://tcliou.wordpress.com/2007/07/08/%e7%84%a6%e9%bb%9e%e8%bb%9f%e9%ab%94/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 10:15:14 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Linux Journal]]></category>
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/08/%e7%84%a6%e9%bb%9e%e8%bb%9f%e9%ab%94/</guid>
		<description><![CDATA[This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Focus on Software. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。 焦點軟體 作者：David A. Bandel / 譯者：劉自強（TzuChiang Liou） 今日想要成為Linux的顧問可說真的是一項挑戰！還記得我曾經使用過許多種不同的UNIX系統：諸如Solaris、SunOS、Ultrix、OpenServer、AIX、HP-UX等等（當然也包括Linux），而上述這些UNIX系統到底和Linux有何不同呢？為何我只說成為Linux的顧問會是挑戰呢？嗯，其實最大的不同或許是即使分屬於不同的UNIX系統，但前面這些系統的安裝方式大致上都相同，也就是說，系統安裝和管理等機制都有統一的規範。然而Linux可就不同了，每一個發行套件都有自己的安裝規則、系統管理命令、以及處理事件的機制等等。還好，他們都還是Linux家族的成員，除了版本不同之外，其實在許多地方都是一樣的：比如說DNS、DHCP、Apache等都是相同的，當然，核心也是一樣的囉！ 因此如果您想要成為一個Linux的顧問，我強烈建議您從基礎開始學起（如, command-line interface，CLI命令列使用者介面），而不要由上往下學習（如X伺服器或是針對某個發行套件所設計的管理工具等等）。要常常閱讀殼層命令稿（shell scripts）並且由這些範例中學習；可能的話，盡量尋找、安裝並使用那些不會受特定版本限制的工具，如webmin等（甚至還可以使用SSL來加強安全性）。畢竟如果您看的懂「/etc/named.conf」這個檔案的話，就不難處理DNS的問題了，當然不只是DNS，對於系統上安裝的其他服務最好都能有相當的認識。 再者，雖然我是為了客戶方便而不是自己才安裝webmin（事實上我並沒有使用它），但是這樣做的確能減少你的煩惱，因為不僅是客戶可以隨意安裝自己喜歡（或最適當）的發行版本，您也不需要因為不熟悉目前系統安裝的版本而重新安裝整個系統，不論如何，我自己是這麼做，而且效果還滿不錯的啦！ MonMotha IPTables防火牆命令稿：http://t245.dyndns.org/~monmotha/firewall/index.php 基本上我不常推薦防火強工具或是命令稿給大家，其實，我本身也不是非常推崇這個命令稿。但是當您閱讀本文時，應該有部分的發行版本使用新的2.4版核心以及netfilter了，而當您在使用IPTables遇到問題時，這個特別的防火強命令稿應該可以幫助您解決。他的基礎做的不錯而且看起來相當有發展潛力，作者善加利用了netfilter提供的一些功能，但需要我手動加入。如前言，比較正確的做法是，您應該仔細的檢視這個命令稿、並針對您特殊的需求實作一些必要的改變。 系統需求：iptables, sh.。 poppy: http://home.sprynet.com/~cbagwell/projects.html 這是一個世界通用（幾乎啦！）的命令列郵件程式，可以讀取POP3以及IMAP伺服器上面的信件。這個程式真的不錯歐，因為當您使用撥接上網但是信件容量卻非常大時，這個程式可以讓我們很快速的先瀏覽每封信件的主旨，也可以讓加以刪除、回應或放著不管。系統需求：Perl Apach工具箱：http://www.apachetoolbox.com/ 您是否需要在Apache運行時，另外再呼叫、並正確快速地執行一些模組呢？您從來沒有編譯過Apache嗎？如果上述兩個問題的答案都是肯定的話，還真的有點危險勒！不過別擔心，可以使用Apach工具箱來幫助您完成這些工作，除此之外，這套軟體甚至還可以偵測（當然也會警告您）因為mod_perl/php4當掉所產生的分頁錯誤（segfaults）。我曾經自行編譯及安裝Apache好幾次，但都沒有使用這個工具那麼方便！雖然這並不是萬靈丹，不過的確比目前我所看過的Apache建構機制都要來的好；目前已知的一項缺點是不能使用它同時安裝php3及php4模組，當然如果您兩者都要安裝的話，也可以稍後自行手動加入。系統需求：sh、wget indexpage：http://www.lysator.liu.se/~unicorn/hacks/indexpage/ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=31&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Focus on Software. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。</p></blockquote>
<p align="center"><span style="text-decoration:underline;"><big>焦點軟體</big></span></p>
<p align="center"><big> 作者：David A. Bandel / 譯者：劉自強（TzuChiang Liou）</big></p>
<p>今日想要成為Linux的顧問可說真的是一項挑戰！還記得我曾經使用過許多種不同的UNIX系統：諸如Solaris、SunOS、Ultrix、OpenServer、AIX、HP-UX等等（當然也包括Linux），而上述這些UNIX系統到底和Linux有何不同呢？為何我只說成為Linux的顧問會是挑戰呢？嗯，其實最大的不同或許是即使分屬於不同的UNIX系統，但前面這些系統的安裝方式大致上都相同，也就是說，系統安裝和管理等機制都有統一的規範。然而Linux可就不同了，每一個發行套件都有自己的安裝規則、系統管理命令、以及處理事件的機制等等。還好，他們都還是Linux家族的成員，除了版本不同之外，其實在許多地方都是一樣的：比如說DNS、DHCP、Apache等都是相同的，當然，核心也是一樣的囉！<br />
<span id="more-31"></span></p>
<p>因此如果您想要成為一個Linux的顧問，我強烈建議您從基礎開始學起（如, command-line interface，CLI命令列使用者介面），而不要由上往下學習（如X伺服器或是針對某個發行套件所設計的管理工具等等）。要常常閱讀殼層命令稿（shell scripts）並且由這些範例中學習；可能的話，盡量尋找、安裝並使用那些不會受特定版本限制的工具，如webmin等（甚至還可以使用SSL來加強安全性）。畢竟如果您看的懂「/etc/named.conf」這個檔案的話，就不難處理DNS的問題了，當然不只是DNS，對於系統上安裝的其他服務最好都能有相當的認識。</p>
<p>再者，雖然我是為了客戶方便而不是自己才安裝webmin（事實上我並沒有使用它），但是這樣做的確能減少你的煩惱，因為不僅是客戶可以隨意安裝自己喜歡（或最適當）的發行版本，您也不需要因為不熟悉目前系統安裝的版本而重新安裝整個系統，不論如何，我自己是這麼做，而且效果還滿不錯的啦！</p>
<p><big>MonMotha IPTables防火牆命令稿：http://t245.dyndns.org/~monmotha/firewall/index.php</big></p>
<p>基本上我不常推薦防火強工具或是命令稿給大家，其實，我本身也不是非常推崇這個命令稿。但是當您閱讀本文時，應該有部分的發行版本使用新的2.4版核心以及netfilter了，而當您在使用IPTables遇到問題時，這個特別的防火強命令稿應該可以幫助您解決。他的基礎做的不錯而且看起來相當有發展潛力，作者善加利用了netfilter提供的一些功能，但需要我手動加入。如前言，比較正確的做法是，您應該仔細的檢視這個命令稿、並針對您特殊的需求實作一些必要的改變。</p>
<p>系統需求：iptables, sh.。</p>
<p><big>poppy: http://home.sprynet.com/~cbagwell/projects.html</big></p>
<p>這是一個世界通用（幾乎啦！）的命令列郵件程式，可以讀取POP3以及IMAP伺服器上面的信件。這個程式真的不錯歐，因為當您使用撥接上網但是信件容量卻非常大時，這個程式可以讓我們很快速的先瀏覽每封信件的主旨，也可以讓加以刪除、回應或放著不管。系統需求：Perl</p>
<p><big>Apach工具箱：http://www.apachetoolbox.com/</big></p>
<p>您是否需要在Apache運行時，另外再呼叫、並正確快速地執行一些模組呢？您從來沒有編譯過Apache嗎？如果上述兩個問題的答案都是肯定的話，還真的有點危險勒！不過別擔心，可以使用Apach工具箱來幫助您完成這些工作，除此之外，這套軟體甚至還可以偵測（當然也會警告您）因為mod_perl/php4當掉所產生的分頁錯誤（segfaults）。我曾經自行編譯及安裝Apache好幾次，但都沒有使用這個工具那麼方便！雖然這並不是萬靈丹，不過的確比目前我所看過的Apache建構機制都要來的好；目前已知的一項缺點是不能使用它同時安裝php3及php4模組，當然如果您兩者都要安裝的話，也可以稍後自行手動加入。系統需求：sh、wget</p>
<p><big>indexpage：http://www.lysator.liu.se/~unicorn/hacks/indexpage/</big></p>
<p>您是否有一大堆的圖檔（jpeg），而且想要快速的放在網站上呢？像我自己就有一個目錄中放滿了從我的攝影機中抓下來的圖檔，我的解決方案是把這個Perl的程式放到目錄中，撰寫一個描述的檔案後執行該程式，看，馬上就產生出來的四張滿滿都是小圖檔的網頁囉！影像大小不是問題：因為這個程式可以放大、縮小或將圖片放到全螢幕，如果您作了任何改變（增加、刪除或移動），只需要重新執行本程式就可以建立新的頁面。系統需求：ImageMagick、Perl、Perl模組：Image::Size</p>
<p><big>tcpspy：http://box3n.gumbynet.org/~fyre/software/</big></p>
<p>想要知道有哪些人何時、從哪裡、藉由哪些方法連結到你的系統上嗎？這套程式可以讓提供您許多紀錄檔，包括：連線、斷線、使用者、本地端連線Ip與埠號、遠端連線Ip與埠號、甚至連執行中的程式也可以顯示出來。或者您對這些資訊不感興趣，但如果能知道有誰針對哪些機器（甚至是您的機器）執行nmap也是一件有趣的事，不是嗎？而因為本程式使用syslog，所以這些訊息也可以存到您的中央紀錄伺服器中（central-logging server），本程式預設值使用「LOCAL1」的紀錄功能，但您可以藉由修改Makefile檔來改變所使用的功能。系統需求：glibc</p>
<p><big>BlackNova Traders：http://blacknova.net/</big></p>
<p>這是一個可以連線對戰的策略遊戲，遊戲的目的是交易（trade）及宣稱擁有（claim）星球，最終是以擁有“東西staff”的多寡來判定勝負，如果您被殺害就算失敗。這個遊戲對於那些喜歡文字介面的玩家而言是不錯的選擇，沒有炫爛的畫面，純粹就是在交易（trading）、佔領（occupying）、保護（protecting）星球，並且避免自己不被他人殺害。系統需求：有支援PHP3及MySQL 的Apache、MySQL資料庫、瀏覽器及cron</p>
<p><big>plbackitup：http://www.glandrake.com/scripts.html</big></p>
<p>這個Perl命令稿可以讓您備分任何目錄，並且可以在要備份的目錄中精準地備份您想要的資料，並排除其他不想要備份的子目錄與檔案。此程式會在本地端產生一個檔案，如果您想將備份檔存放在其他地方，可以藉由FTP傳到中央儲存伺服器上。因為我有許多系統同時使用一個中央儲存伺服器（是唯一安裝磁帶機的系統），所以這項功能對我而言非常貼心。系統需求：Perl、標準UNIX工具（tar、touch、rm以及其他程式）</p>
<p>本月就介紹到這裡，下回再見囉！.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=31&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/08/%e7%84%a6%e9%bb%9e%e8%bb%9f%e9%ab%94/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux顧問的幾道佳餚</title>
		<link>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a/</link>
		<comments>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 10:13:58 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Linux Journal]]></category>
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a/</guid>
		<description><![CDATA[This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Not Cooking the Books. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。 Linux顧問的幾道佳餚 Marcel要替Linux的顧問們提供一些計時（time tracking）與記帳（bookkeeping）的訣竅 作者：Marcel Gagn&#8217;e / 譯者：劉自強（TzuChiang Liou） 放輕鬆點，法蘭西斯！我知道你的確是萬中選一的人才，但是我的朋友阿！你知道嗎？想要自己成立一家顧問公司可不是那麼簡單的事情歐！不過既然你問起我，我當然也很樂意給你一些我的經驗和看法。但在這之前，不知道你注意到沒，我們的客人都已經到了，所以就麻煩你先幫他們帶一下位吧！ 歐，我的好友們，大家好啊！歡迎再次來到Ches Marcel餐館，法蘭西斯，還不快替我們的客人端上酒來！我想今天就來喝喝1997年份的「Vouvray Cuvee Constance」好了。 親愛的朋友們，剛剛法蘭西斯正在問我，如果以後改行不做餐廳而跑去開顧問公司的話，他會遭遇到哪些問題。為什麼會有這樣的想法呢？那是因為他對Linux的知識越來越豐富，所以自認應該已準備好可以幫助其他人、或是可以做些代理的工作了。 謝啦，法蘭西斯，來，大家請喝！ 事實上從許多角度來看，Linux一直都是電腦顧問們的好夥伴，因為即使您不在主機旁也沒關係，各個發行套件中都含有一套完整的工具，可以讓您用許多不同的方法來連接主機。舉例來說，您的系統可以成為郵件伺服器、Telnet的客戶端、或是SSH的客戶端主機等等。 同時Linux也替您準備好許多充滿特色的程式開發工具：如C++的編譯器、Perl、Python、Tcl/Tk等等許多開發語言。事實上，一個典型的Linux發行套件當中包含的工具，足以讓您可以成為自己的ISP、並且建構一個完備的網站，您唯一沒有的工具大概就只剩下一些企業經營手段和生財的工具了！ 講實際點，這也就是和錢扯上關係啦，這也是理所當然的囉，畢竟你們工作的原因除了希望能讓三餐溫飽外，也希望能偶爾來Ches Marcel餐館拜拜五臟廟吧。所以，為了要讓自己可以拿到應得的薪水，您必須告訴客戶，在他們的專案上您盡了多少心力；接著，您必須要向他們收費，把錢收齊並且追蹤整個工作流程。因此可以說，獨立顧問的生活可以說是自我規律強、一人當家的企業，而也就是這種工作的本質。是否覺得有點煩瑣呢？別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具，接下來就讓我們一一品嚐吧！ 身為一個顧問第一件事就是要學會「計算時間」（track time），所以在此先提供你們一些解決方案，首先是一個名為「tt」的低卡路里命令列工具： tar -xzvf [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=30&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Not Cooking the Books. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。</p></blockquote>
<p align="center"><span style="text-decoration:underline;"><big>Linux顧問的幾道佳餚</big></span></p>
<p align="center">Marcel要替Linux的顧問們提供一些計時（time tracking）與記帳（bookkeeping）的訣竅</p>
<p align="center"><big> 作者：Marcel Gagn&#8217;e / 譯者：劉自強（TzuChiang Liou）</big></p>
<p>放輕鬆點，法蘭西斯！我知道你的確是萬中選一的人才，但是我的朋友阿！你知道嗎？想要自己成立一家顧問公司可不是那麼簡單的事情歐！不過既然你問起我，我當然也很樂意給你一些我的經驗和看法。但在這之前，不知道你注意到沒，我們的客人都已經到了，所以就麻煩你先幫他們帶一下位吧！</p>
<p>歐，我的好友們，大家好啊！歡迎再次來到Ches Marcel餐館，法蘭西斯，還不快替我們的客人端上酒來！我想今天就來喝喝1997年份的「Vouvray Cuvee Constance」好了。</p>
<p>親愛的朋友們，剛剛法蘭西斯正在問我，如果以後改行不做餐廳而跑去開顧問公司的話，他會遭遇到哪些問題。為什麼會有這樣的想法呢？那是因為他對Linux的知識越來越豐富，所以自認應該已準備好可以幫助其他人、或是可以做些代理的工作了。</p>
<p>謝啦，法蘭西斯，來，大家請喝！</p>
<p>事實上從許多角度來看，Linux一直都是電腦顧問們的好夥伴，因為即使您不在主機旁也沒關係，各個發行套件中都含有一套完整的工具，可以讓您用許多不同的方法來連接主機。舉例來說，您的系統可以成為郵件伺服器、Telnet的客戶端、或是SSH的客戶端主機等等。</p>
<p>同時Linux也替您準備好許多充滿特色的程式開發工具：如C++的編譯器、Perl、Python、Tcl/Tk等等許多開發語言。事實上，一個典型的Linux發行套件當中包含的工具，足以讓您可以成為自己的ISP、並且建構一個完備的網站，您唯一沒有的工具大概就只剩下一些企業經營手段和生財的工具了！<br />
<span id="more-30"></span></p>
<p>講實際點，這也就是和錢扯上關係啦，這也是理所當然的囉，畢竟你們工作的原因除了希望能讓三餐溫飽外，也希望能偶爾來Ches Marcel餐館拜拜五臟廟吧。所以，為了要讓自己可以拿到應得的薪水，您必須告訴客戶，在他們的專案上您盡了多少心力；接著，您必須要向他們收費，把錢收齊並且追蹤整個工作流程。因此可以說，獨立顧問的生活可以說是自我規律強、一人當家的企業，而也就是這種工作的本質。是否覺得有點煩瑣呢？別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具，接下來就讓我們一一品嚐吧！</p>
<p>身為一個顧問第一件事就是要學會「計算時間」（track time），所以在此先提供你們一些解決方案，首先是一個名為「tt」的低卡路里命令列工具：</p>
<p><code>tar -xzvf tt-1.0.tar.gz<br />
cd tt-1.0<br />
./configure<br />
make<br />
make install</code></p>
<p>使用的方法很簡單，只要在命令列輸入「tt」即可，請注意第一次執行時會回應一個錯誤訊息，告訴您並沒有完成動作，但同時也會在您的家目錄中產生一個名為「.tt」的目錄。接著請您切換到該目錄並且建立「projects.conf」這個檔案，這個檔案中主要儲存的資訊是您想紀錄時間的專案名稱列表。其中每個專案名稱都以中括弧標示，以下是我目前正在進行的專案：</p>
<p><code><br />
[cook]    # 非常重要<br />
[eat]    # 您可以這個賺錢嗎？<br />
[drink_wine]    # 可能的話啦<br />
[write_recipes]    # 這才是真正的工作，不是嗎？</code></p>
<p>您隨時可以使用「tt」的列表命令「tt &#8211;list &#8216;*&#8217;」把目前正在進行的專案全都列出來；而如果您想要開始追蹤某一個專案時，只需要在指令後面加上「&#8211;start」這個參數即可。例如喝酒除了是一種享受外也是工作的一部份，不過很抱歉的是我必須要收費（當然是開玩笑啦！），但假設真的要收費的話，我們可以使用下面的方式來計算：</p>
<p><code>tt --start drink_wine</code></p>
<p>當我完成這項&#8230;咳&#8230;嗯&#8230;“工作”時，只要在同樣的命令後面使用參數「&#8211;stop」即可：</p>
<p>就一個簡單的程式而言，「tt」已經算非常夠力了，而這個程式的另一個比較有趣的用法使把它當作任務的時間統計（time wrapper）。比如說您現在正在替Henri-s Fine Wines這家公司工作，主要負責在公司的網路伺服器上架設一個電子商務網站。然而這項工作卻完全以遠端的方式完成，且您是用「Telnet」連線的方式來進行作業，此時就可以將「tt」這個命令整合到「telnet」當中，用以自動地幫您進行時間追蹤動作，如下所示：</p>
<p><code>#!/bin/bash<br />
tt henri_wines --start<br />
telnet henri_website.com<br />
tt henri_wines --stop</code></p>
<p>這樣就可以啦，如此一來當您需要報告時，只要用下面的指令便迅速地能產生所需的時間報表，如下所示：</p>
<p><code>tt drink_wine --export<br />
project 'drink_wine' (closed):<br />
    Tue Dec 19 2000 16:53:31'Tue Dec 19 2000 16:53:56: 00h00m25s<br />
    Wed Dec 20 2000 12:10:39-fri Dec 22 2000 16:52:59: 52h42m20s<br />
    Fri Dec 22 2000 16:56:18-fri Dec 22 2000 17:01:04: 00h04m46s<br />
    Tue Dec 19 2000 16:53:31-fri Dec 22 2000 17:01:04: 52h47m31s</code></p>
<p>不僅如此，您還可以使用「-format」這個參數來修改輸出的格式，甚至也可以建立一個SQL資料庫來存放相關資訊，「tt」目前可以支援MySQL與PostgreSQL，舉例來說，我可以先使用下面的指令在PostgreSQL裡面建立一個資料庫：</p>
<p><code>createdb myconsultancy</code></p>
<p>接著，使用這個命令把「tt」的資料輸出：</p>
<p><code>tt drink_wine --export -format pgsql | psql myconsultancy</code></p>
<p>有了這項資訊後，我也能從PostgreSQL資料庫中產生一個客製化的報表，方法如下：</p>
<p><code>psql -c "select * from tt_timing;" my_consultancy</code></p>
<p>您將發現「tt」幾乎把每件您想做的事都完成了，這真是太好了！但如果您人在遠方，而需要一些能遠端管理時間報表的工具時，那下一道菜或許可以滿足您挑剔的胃口。又或者當您的顧問事業做的很成功，並且僱用許多員工來幫忙的話，這個工具也可以幫上大忙歐！</p>
<p>以瀏覽器為介面的應用程式有個很不錯的特點就是幾乎可以讓您在任何地方進行工作。只要啟動瀏覽器、輸入適當的網址、等待幾秒鐘的頁面顯示時間，一切就完美了！這裡要介紹給您的就是這樣一個準備就緒、新穎、好用的應用程式：在計時與付費的領域裡，幸運的讓我找到OnShore 公司所設計的程式「TimeSheet」，這是一個很棒的程式，值得大家仔細看看。它的介面非常的乾淨、簡潔，並且針對全職員工和簽約的顧問提供不同的管理介面與使用者資訊，也可以讓不同的顧問或特別的客戶產生不同的報表：</p>
<p><code><br />
tar -xzvf onshore-timesheet-current.tar.gz<br />
cd onshore-timesheet-2.2</code></p>
<p>在您開始執行make之前，謙虛的大廚師我在此向大家坦承，我在安裝這套軟體時忽略的一個重要的守則因而失敗，那個守則就是：「安裝前必須要詳讀所有的INSTALL及README檔」，在花了點時間仔細閱讀說明之後，我又重新回到OnShore TimeSheet的網站，結果發現只要在Makefile檔中作一點修改就可以讓安裝過程成功。其實所需要做的改變很少，全部都在Makefile檔案內最上面幾行，在此我列出其中一部分：</p>
<p><code>PERLINC    := /usr/lib/perl5/site_perl/5.005<br />
APPROOT    := /usr/local/apache/htdocs/timesheet<br />
TIMESHEET_URL    := /timesheet<br />
CONFFILE    := timesheet.conf<br />
GUEST_ACCOUNT    := no<br />
WWWUSER    := www<br />
APPOWNER    := www</code></p>
<p>因為OnShore的「TimeSheet」這個程式本身就含有一些必要的Perl模組，所以您必須將「PERLINC」這個參數修改為您網站中「site_perl」安裝的目錄（上面是我的範例）。而「APPROOT」則是您伺服器上應用程式的位置，預設值是Red Hat的安裝預設路徑「/home/httpd/html」，請針對您的安裝路徑加以修改，至於我的網站則全部將Apache重新建構在「/usr/local/apache/htdocs」這個目錄中。</p>
<p>下一個需改變的是應用程式的預設網址，如果您在「APPROOT」中選擇了「timesheet」作為最終目錄（也就是預設值），則在此也必須要改為「/timesheet」。接著決定修正檔（configuration file）的名稱；再來，如果您需要的話，安裝程式也可以建立一個預設的「guest」帳號，在此我決定自己建構所有必需存在的使用者，因此改成「no」。最後兩個參數我都設為「www」，其中「WWWUSER」是您網站中預設的使用者ID，請注意在許多其他的系統中，通常預設值都設為「nobody」，所以您必須要視情況來設定。而最後一個參數是「APPOWNER」，這是用來設定整個程式的權限。</p>
<p>是不是覺得有點不耐煩了呢？馬上我們就要進入最後的步驟囉！如果您執行的系統是Debian，此時可以執行「make install-debain」，在其他系統上，請執行「make」就可以了。執行後將會看到螢幕上輸出一些訊息，顯示出系統正使用管理者的帳號建立一個預設的PostgreSQL資料庫，這樣大致上就完成了。如果要執行這個程式，請先確定您的網路伺服器可以支援並正確執行「.cgi」程式，如果沒有的話，可以在您的「httpd.conf」檔案中加入下面這一行敘述。（請注意，需要修改的檔案可能會依照您伺服器的安裝而有所不同，在某些系統中要修改的檔案可能是access.conf；而這些檔案可能會出現在 /usr/local/apache/conf或/etc/htpd/conf這兩個目錄中）</p>
<p><code><br />
AddHandler cgi-script .cgi</p>
<p>Options +ExecCGI<br />
AddHandler cgi-script .cgi<br />
</code></p>
<p>在此使用這個指令集，如此您就可以執行安裝在任何地方的cgi程式，不過要注意的是，通常cgi命令稿是放在「cgi-bin」的目錄中執行，而不是一般的html或是htdocs目錄中。</p>
<p>最後一個重點是，請確定您的PostgreSQL資料庫執行時有加上「-i」這個選項。舉例來說，在我的「my /etc/rc.d/init.d/postgresql」這個啟動檔案中（如果您使用Debian，則請看/etc/init.d/postgresql），有下面這一行敘述：</p>
<p><code>su 'l postgres -c '/usr/bin/postmaster -s -D /var/lib/pgsql'</code></p>
<p>我的做法是簡單的修改了預設的開機敘述，在「postmaster」這個字後面加上「-i」這個選項，接著重新啟動PostgreSQL與Apache後就可以了。現在只要在您的瀏覽器中輸入下面的網址即可看到相關訊息囉：http://my_webserver/timesheet/.</p>
<p>在出現的頁面中，您需要輸入管理者的帳號及密碼，兩者的預設值都是「admin」，所以很顯然的，首先要做的事情就是把這兩個資料改成比較安全一點；同時也可以開始建立您的使用者群：可以建立為永久員工、顧問、或是其他的管理者等等。您在圖一中可以看到OnShore TimeSheet執行的樣子。</p>
<p>恭喜啦！您現在可以記錄您的時間了，依據工作時間表，您可以開發票給客戶以獲取您辛苦努力的成果了！把錢收齊後其他的就交給會計去煩惱吧，等一下，會計師的工作不就是需要處理一些財務的資料嗎？其實這就是任何企業最懼怕的怪獸：記帳（bookkeeping）！還好對Linux使用者而言，我們也可以找到一些解決方案，來吧，親愛的朋友，接下來就讓我們來體驗一些針對Linux設計的會計套裝軟體吧！</p>
<p>Linux環境下會計軟體的出現代表著使用者對於不同工具的需求日增，幸運的是，目前這些軟體也正逐漸增加中。它們可能是商用程式、也可能遵循GPL發行條款、或是自由軟體，而既然我們討論的是開放原始碼程式，所以接下來的菜單裡將集中在這方面作介紹。首先，如果您的需求不會很複雜的話，或許可以先看看「BANAL」這個程式，這個縮寫代表的意思是「BANAL-s Absolutely Not A Ledger」，這是個由Matthew Rice所開發出來的程式，雖然非常簡單但卻擁有很大的想像空間，我會這樣說是因為「BANAL」可以完成許多工作，有時候甚至可以輕易地完成大量的作業。您可以使用「BANAL」來追蹤時間、維繫客戶及供應商、開發票、追蹤開銷、開支票等等，而使用「BANAL」除了會花點時間之外，幾乎沒有其他的成本。</p>
<p>這個軟體是遵循BSD發行條款，所以可以自由下載，同時也非常容易安裝，當然您可以下載所有的原始碼並安裝tarball包裝的程式，但是大廚我謙虛的建議大家使用RPM套件比較方便。在此總共需要兩個RPM套件：一個是客戶端程式、一個是伺服器端程式；不過話說回來，tarball包裝中包含一些諸如加強版PHP命令稿等額外的東西，這對某些人來說可能很有價值也很好用啦。RPM的安裝方式非常快速且簡單：</p>
<p><code>rpm -ivh banal'*</code></p>
<p>套件安裝時會執行很多指令，其中一項是「BANAL」會在您的「/etc/passwd」當中建立一個使用者，並且啟動伺服器。雖然「BANAL」使用起來非常容易，但是我仍然建議各位務必詳讀安裝時所附的「quickstart」這個檔案：</p>
<p><code>/usr/doc/banal-client-0.10/quickstart.txt</code></p>
<p>在進行下一步之前，請先注意一件事情，在我的系統上（或許你們的也是一樣），程式「bk」預設會嘗試去開啟「/usr/bin/vi」，但因為我的系統中「vi」的執行檔路徑是「/bin/vi」，所以我們可能需要建立一個符號連結（symbolic link）來解決這個問題，或者也可以指定編輯器（EDITOR）的環境變數，用以覆寫「BANAL」內建的編輯器路徑，除此之外，您也可以藉此機會選擇慣用的編輯器，如下所示：</p>
<p><code>export EDITOR=pico</code></p>
<p>完成之後，便可以開始建立您的帳號、個人資料、供應商、支出帳戶等等資訊，而這些都可以用「bk」這個指令來完成：</p>
<p><code>BANAL-FTL bookkeeping system</code></p>
<p>「bk」是BANAL在命令列環境下的客戶端工具，簡介如下：</p>
<p><code>bk help commands	可以秀出指令列表<br />
bk help command	可以針對某個特定的指令提供解釋<br />
bk help usage	可以秀出命令列環境下的參數</code></p>
<p>開始執行程式之前，您必須使用「bk client 您的＿公司＿名稱」這個指令來建立一個初始客戶（也就是您的公司），然後請加以儲存（但請確定各個必要欄位都有填入適當的資訊）。接著您需要修改一些公司資訊設定值，以確保這個客戶檔案就是代表您的公司：</p>
<p><code>$bk setting /UserInfo/CompanyID</code></p>
<p>您將會發現系統切換到編輯器模式，並且出現下面這些資訊：（在此請記得將Value欄位中的ChesMarcel改成其他資訊歐！）</p>
<p><code>#A BANAL Settings Specification.<br />
#<br />
#Setting:	Unique Setting ID<br />
#Value:	Value	@@ REQUIRED<br />
#Description:	Item description<br />
Setting:	/UserInfo/CompanyID<br />
Value:	ChesMarcel</code></p>
<p>嗯，這樣就可以了，簡單吧！如果您的顧問工作常常需要使用時間表（timesheet）的話，也有一個名為「GnuCash」的圖形化使用者介面的軟體可供使用（您可以在LJ英文版 2001年四月後中看到GnuCash的介紹文章）。這個軟體使用GPL的發行條款，是個相當好用而且完全免費的會計套件。</p>
<p>在此我決定從頭開始安裝「GnuCash」，因此首先我從GnuCash的網站下載最新版的原始碼套件，如果您比較沒有耐性，在這裡也可以找到預先編譯好的二進位版本套件。</p>
<p>這個程式主要是使用GNOME的函式庫，所以不論您是從原始碼安裝或是使用二進位版本，都需要先載入相關的函式。當然囉，如果您的桌面環境就是GNOME的話，將會發現相關的gnome-lib已經載入；但如果您使用其他的桌面環境，則需要載入gnome-lib以及其他必要的支援函式庫（特別是GTK）。雖然這會需要花一點時間，但用過之後您將發現「GnuCash」的確值得您花這些功夫。除了GNOME framework之外，您還需要「guile」、「swig」、「slib」、以及「g-wrap」等等工具，其中「g-wrap」這個套件可以在「GnuCash」的FTP站中下載。雖然還有一些必要的程式（比較重要的像是「libjpeg」、「libpng」等），但這些大多應該已經預先安裝在您的系統上了。例如若您有安裝「umb-scheme」套件的話，則「slib」套件應該已經存在系統中了。您可以在相關資源裡找這些網站的網址。</p>
<p>當下載好所需的軟體時，第一件事當然就是解壓縮囉，可以用下面這個大家都很熟悉的步驟來完成：</p>
<p><code>tar -zxvf gnucash-1.4.9.tar.gz<br />
cd gnucash-1.4.9<br />
./configure<br />
make<br />
make install</code></p>
<p>此時，您應該要檢查幾個非常重要的連結，當大廚我剛開始用這個食譜時並不是非常順利（特別是與「slib」相關時），因為「guile」函式庫會針對「slib」所在位置等資訊做一些假設。這對大部分的系統而言可能不是問題，但是在我的Red Hat上卻造成錯誤，我的解決方法是先切換到「/usr/share/guile」目錄下，然後建立下面這些符號連結：</p>
<p><code>In -s /usr/lib/umb-scheme/slib slib<br />
In -s /usr/lib/umb-scheme/slibcat slibcat<br />
In -s /usr/lib/umb-scheme/slib/mklibcat.scm mklibcat</code></p>
<p>因為「umb-scheme」套件是我的Red Hat系統預設安裝的scheme函式庫（還記得剛剛介紹的slib嗎？），所以當我加入這些連結後，程式運作起來就正常多了。完成這些手續之後，只要在命令列下輸入「gnucash」就可以執行這個程式了。如果您曾經使用過Intuit的「Quickbooks」套件的話，將會發現「GnuCash」真的很不錯，您可以藉由非常親切的介面來建立理財用帳戶、信用卡交易以及其他相關的統計表（請參考圖二）。此套件除了有個非常好用的“可回復”（reconciliation）特點外，同時也內建有許多的報表（包含損益報表等等），如此就可以輕易地知道在特定時間內您總共賺了多少錢。它甚至還針對全球化的顧問公司提供多種貨幣運算的功能勒。我唯一能想到對於小企業的缺點就是它沒有提供開發票的功能，所以，您必須用人工來完成這項動作。</p>
<p>我的天阿，法蘭西斯，時候不早了可是還有很多事要忙勒！不過還是請你再幫我們的朋友們倒杯酒吧！嗯，怎麼了？你打消了兼職作顧問的念頭啦？是因為我的緣故嗎？不用擔心啦，我不會叫你太多事情的囉，會有足夠的時間啦！我們待會再來好好談談吧，現在要多關照的是我們的客人，再來一杯酒！</p>
<p>親愛的朋友們，如果您決定要單獨成立顧問公司的話，請記住您其實並不孤單。因為選擇了Linux，您可以針對所有高科技顧問需要的工具作完全的掌控，再加上一些開放原始碼大廚們的幫忙，或許還會發現你們的理念是相同的勒，這麼一來，搞不好哪天就可以在Chez Marcel餐廳裡看到您的食譜歐！</p>
<p>下一次，Chez Marcel的大門仍然為您敞開！</p>
<p>祝大家身體健康，有個美好的一餐！</p>
<p>Marcel Gange (mggagne@salmar.com) 居住在安大略之Mississauga。在真實世界裡，他是Salmar Consulting Inc.(http://www.salmar.com/) 的總裁，那是一家系統整合和網路顧問公司。他同時也是一位飛行員、也寫一些科幻小說、也擔任「TransVersions」的編輯（一本科幻和恐怖小說的雜誌，不過馬上就要變成一本文選了）。他酷愛 Linux 及所有 UNIX氣息，甚至還將之融入公眾。事實上，他目前正忙著撰寫於 Linux System Administration: A User&#8217;s Guide這本書，相信很快就會由Addison Wesley Longman 出版了。您可以透過mggagne@salmar.com和他聯繫，同時也可以上他的個人網站http://www.salmar.com./來發掘更多有關他的故事。</p>
<p><big>sideword</big><br />
在計時與付費的領域裡，幸運的讓我找到OnShore 公司所設計的程式－「TimeSheet」。<br />
別擔心，那些由開放原碼的程式設計師們所組成的社群，除了讓Linux成為大家最能負擔的起、並可以任意客製化的工作站或伺服器外，其實也曾建構一些對付銀行（或這些繁瑣手續）的工具！<br />
從許多角度來看，Linux一直都是電腦顧問們的好夥伴。<br />
來吧，親愛的朋友，接下來就讓我們來體驗一些針對Linux設計的會計套裝軟體吧！</p>
<p><big>captions</big><br />
圖一：TimeSheet執行的樣子<br />
圖二：GnuCash執行的樣子</p>
<p><big>&gt;相關資源</big><br />
BANAL:http://www.starnix.com/banal/<br />
GnuCash Web Site:http://www.gnucash.org/<br />
onShore TimeSheet:http://www.onshore-timesheet.org/<br />
SLIB Home Page:http://swissnet.ai.mit.edu/~jaffer/SLIB.html<br />
SWIG Home Page:http://www.swig.org/<br />
Track Time Spent Tool (tt):http://awacs.dhs.org/software/tt/<br />
The WINE Headquarters:http://www.winehq.com/</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=30&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/08/linux%e9%a1%a7%e5%95%8f%e7%9a%84%e5%b9%be%e9%81%93%e4%bd%b3%e9%a4%9a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>開放原始碼在MPEG的發展進程</title>
		<link>http://tcliou.wordpress.com/2007/07/08/%e9%96%8b%e6%94%be%e5%8e%9f%e5%a7%8b%e7%a2%bc%e5%9c%a8mpeg%e7%9a%84%e7%99%bc%e5%b1%95%e9%80%b2%e7%a8%8b/</link>
		<comments>http://tcliou.wordpress.com/2007/07/08/%e9%96%8b%e6%94%be%e5%8e%9f%e5%a7%8b%e7%a2%bc%e5%9c%a8mpeg%e7%9a%84%e7%99%bc%e5%b1%95%e9%80%b2%e7%a8%8b/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 10:09:13 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Linux Journal]]></category>
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/08/%e9%96%8b%e6%94%be%e5%8e%9f%e5%a7%8b%e7%a2%bc%e5%9c%a8mpeg%e7%9a%84%e7%99%bc%e5%b1%95%e9%80%b2%e7%a8%8b/</guid>
		<description><![CDATA[This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Open Source in MPEG. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。 開放原始碼在MPEG的發展進程 MPEG的創造者Chiariglione博士將替我們介紹MPEG（Moving Picture Experts Group）的歷史並解釋開放原始碼的MPEG軟體發展進程中的特色。 作者： Leonardo Chiariglione / 譯者：劉自強（TzuChiang Liou） 幾個世紀以來，我們那些住在阿爾卑斯山腳下，靠近Turint城市的祖先們，曾經想到一個簡單的概念：如果山區的十字路口都鋪著鵝卵石，而不要維持原狀（由許多人踏出來）的話，對每個人來說都是比較好的。雖然我們不清楚，這樣的工作是由那些山地同胞們自願的完成，還是當地權力當局欺騙強迫他們在冬天農閒的時候作這些事情。畢竟在這樣的暴政統治之下，那些農夫們並不是以和其他人分享而出名。 幾年前，那些電腦玩家們發現一個幾乎所有人都有興趣的主題：是否要使用那些經過許多努力而成、並且可以為所有人使用的作業系統，替那些原始的CPU（前述山間小徑的虛擬對照）鋪上“鵝卵石”。 傳統上，電腦玩家們必須要使用一些已經呈現出來、或是可以簡單轉換到表單上並能自動處理的資料。然而有一些超過了人類眼睛及耳朵極限的資料，有著非常不同的天性，比如說：他們基本上是類比的型態。進一步講，他們也多是寬頻（這是個會依照現行技術而有不同定義的詞彙）。 人們處理和傳播聲音與影像資料已經好一陣子了，但卻有許多不同的解決方案，身為Moving Picture Experts Group運動（或稱MPEG-1）的一部份，聲音與影像資料已經可以被減少成為一種格式，也就是可以允許執行某些必要的處理（由一些已整合的聯盟所訂定）。資料的位元數總量被減少到一定的程度，使其得以在今日的傳播管道中傳輸。 與其他標準（MPEG-12、MPEG-23與MPEG-44）比較起來，MPEG發展了一套工具軟體，其使用的機制類似開放原始碼軟體OSS。雖然OSS社群中的純粹主義分子或許不是很贊同，然而不可否認的是，這個機制也必須適應那些規範著ISO的規則（International Organization for Standardization，一個傳統的標準訂定機構，而MPEG也在其下制定規格）。 本文的目的是在喚起當初聲音與影響資料是如何被數位化的記憶，並解釋Moving [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=29&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Open Source in MPEG. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 4 月號凌客誌中見刊。</p></blockquote>
<p align="center"><span style="text-decoration:underline;"><big> 開放原始碼在MPEG的發展進程 </big></span></p>
<p align="center">MPEG的創造者Chiariglione博士將替我們介紹MPEG（Moving Picture Experts Group）的歷史並解釋開放原始碼的MPEG軟體發展進程中的特色。</p>
<p align="center"><big>作者： Leonardo Chiariglione / 譯者：劉自強（TzuChiang Liou）</big></p>
<p>幾個世紀以來，我們那些住在阿爾卑斯山腳下，靠近Turint城市的祖先們，曾經想到一個簡單的概念：如果山區的十字路口都鋪著鵝卵石，而不要維持原狀（由許多人踏出來）的話，對每個人來說都是比較好的。雖然我們不清楚，這樣的工作是由那些山地同胞們自願的完成，還是當地權力當局欺騙強迫他們在冬天農閒的時候作這些事情。畢竟在這樣的暴政統治之下，那些農夫們並不是以和其他人分享而出名。</p>
<p><span id="more-29"></span></p>
<p>幾年前，那些電腦玩家們發現一個幾乎所有人都有興趣的主題：是否要使用那些經過許多努力而成、並且可以為所有人使用的作業系統，替那些原始的CPU（前述山間小徑的虛擬對照）鋪上“鵝卵石”。</p>
<p>傳統上，電腦玩家們必須要使用一些已經呈現出來、或是可以簡單轉換到表單上並能自動處理的資料。然而有一些超過了人類眼睛及耳朵極限的資料，有著非常不同的天性，比如說：他們基本上是類比的型態。進一步講，他們也多是寬頻（這是個會依照現行技術而有不同定義的詞彙）。</p>
<p>人們處理和傳播聲音與影像資料已經好一陣子了，但卻有許多不同的解決方案，身為Moving Picture Experts Group運動（或稱MPEG-1）的一部份，聲音與影像資料已經可以被減少成為一種格式，也就是可以允許執行某些必要的處理（由一些已整合的聯盟所訂定）。資料的位元數總量被減少到一定的程度，使其得以在今日的傳播管道中傳輸。</p>
<p>與其他標準（MPEG-12、MPEG-23與MPEG-44）比較起來，MPEG發展了一套工具軟體，其使用的機制類似開放原始碼軟體OSS。雖然OSS社群中的純粹主義分子或許不是很贊同，然而不可否認的是，這個機制也必須適應那些規範著ISO的規則（International Organization for Standardization，一個傳統的標準訂定機構，而MPEG也在其下制定規格）。</p>
<p>本文的目的是在喚起當初聲音與影響資料是如何被數位化的記憶，並解釋Moving Picture Experts Group建立的動機，最後摘要出一些今日MPEG標準的元素、說明開放原始碼MPEG軟體運作機制的特徵以及現況。</p>
<p><big>聲音與影像的數位化過程</big><br />
當發明了可移動的型態之後（也就是不需要人工直接操作的大量資訊處理科技第一個例證），在人類科技史上整整花了將近四百年的時間，才看到另一個有類似影響力的技術產生。時間回到1830年代，當時聲音與影響資料處理與傳播的技術剛被人們發明出來：包含了攝影、電報、傳真、電話語音、留聲機、電影藝術、廣播、電視、以及磁帶機等等。一般而言，這些技術的有項共通的缺點，也就是彼此之間的相容性很差，每次我們要處理某個類型的資訊時，就必須使用特殊的裝置。您就可以了解到，使用相同基礎的技術來處理所有種類資訊的電腦世界是多麼特別的躍進吧！</p>
<p>要完成這項目標（統一所有種類的聲音與影像資料）的理論基礎，其實早在第一台電腦出現的十五年前就已經問世。這個理論發現一組有頻寬限制（band-limited）的訊號（也就是bandwidth B）可以使用2B的頻率來進行採樣，並能完美的加以重新建構﹔而理論的第二個基礎，則在量子誤差邊際（bounds to quantization errors，依據所使用的位元總量與訊號統計）的定義出現二十年後被發現。</p>
<p>即使貝爾實驗室（也就是上述第一個理論基礎的發源地）使用電晶體成功的將第一步驟的理論基礎轉化成具體實驗，但當時想要成為實際可應用的產品，仍然需要很多努力。在者，即使一個類似語音的窄頻訊號在電話線中只佔據0.3到3,4KHz的頻寬，但如果我們使用8KHz的採樣率（每次採8位元的資料），便可以產製近64Kbps巨大的數值。</p>
<p>經過了十五年的實驗之後，位元終於可以在語音傳播中扮演一個重要的角色，在1960年代，CCITT（也就是現在的ITU-T）採納一個語音數位重製的建議（實際上定義兩種不同的重製，分別是m-law與A-law）。兩者的採樣頻率都是8KHz，但是m-law與A-law的量子定律分別是每次採樣七個位元與八個位元，兩者也都將人類聽覺的對數天性（logarithmic nature）納入考量。然而，人們不應該將語音數位化賦予太多的意義，這項技術的應用範疇是在較寬廣的網路系統中（因為電話通路的多路傳輸使用數位化技術會比較便利），而且終端使用者不用作任何的改變。</p>
<p>另一項更有趣的應用是在Group 3傳真（Gr. 3 fax）部分，以往我們如果使用Gr. 3 fax（具有1728個感應器式CCD），以高解析度模式（垂直與水平解析度相同）來掃描一張A4的紙，其傳輸速度大約為4Mbps，如果我們以目前“高速數據機”（9.6Kbps）的傳輸速率來看，則要花將近二十分鐘的時間才能傳輸一張完整的頁面。但事實上，只要使用一種簡單的壓縮機制（傳送“run lengths”針對可變長度的code words進行編碼，而不是將所有的訊息都加以編碼），就可以將傳輸時間降到二分零六秒。</p>
<p>對於寬頻網路而言，數位語音是一個有效率的傳輸方法，但本地端則仍然是類比的訊號。在1980年代出現的ISDN促進了語音壓縮標準的發展，也就是使用7KHz的頻寬、16KHz的採樣率，並且比以往的m-law與A-law有著更高的位元／採樣比（如：14）。而因為這種語音會產生超過200Kbps的需求，所以更需要壓縮技術的幫忙﹔這樣即使降低到64Kbps或更低（壓縮比大約是四比一）仍然可以有高品質的語音﹔這樣的裝置使用的是DSPs晶片（Digital Signal Processing），但對沒能成功的進入大眾市場。影像呈現則是更大的挑戰，因為其頻寬需求足足是語音的三倍大、並且需要超過一種的訊號。數位電視針對影像明度Y的採樣率是13.5MHz，而針對另外兩個色差R-Y以及B-Y，則是以6.75MHz的速率每次採樣八位元﹔如果我們將不可視的採樣部分去除的話，可以把整體的傳輸速率由216Mbps降到166Mbps。這樣高的傳輸速率對於大部分實體的傳輸介質而言都不適當，只適合在片廠中使用數位磁帶（digital tape，也就是所謂的D1）來傳輸。</p>
<p>第一次嘗試把傳輸速路降低的技術，應用來將高位元速率降到1.5到2Mbps之間（以符合美國及歐洲的語音多工器──有24到32個數位語音通道），需要相當周密的考慮，並且是一個很大的挑戰。因此，首先將輸入的位元速率減低到二比一，除針對影像訊號的垂直與水平方向進行次採樣（事實上是在影像訊號交錯時的暫時採樣），並且進一步對色差做次採樣（subsampling）。接著使用兩種分別名為DPCM（Differential Pulse Code Modulation）與適時填充「conditional replenishment」的技術。第二代的編碼技術則使用更複雜的演算法則（DCT，Digital Cosine Transform以及移動補償motion compensation），以提供可以接受的品質（384Kbps），並使用64/128Kbps的速率（即ISDN的傳輸速率），針對影像訊號在垂直與水平方向做2：1的次採樣。</p>
<p>回到聲音部分，在1980年代初期，Philips和Sony發展出Compact Disc，這是一種使用雷射技術的唯讀式數位儲存裝置（幾乎同時間RCA也發展出類似的系統，但只短暫的出現在市場上一陣子）。這是針對立體聲音樂所設計的裝置：有兩個聲音通道，並以每次16位元的採樣率、在44.1KHz的速率下進行，其整體的傳輸速率則接近1.41Mbps。</p>
<p>近年來，美國（最初由Advanced Television發起）與歐洲（透過一家工業公司的發展）都漸漸開發高解析度的數位電視市場。</p>
<p><big>最初的MPEG標準</big><br />
我的工作經驗可以由一篇電傳研究中窺其一二，以往電傳產業通常被認為是不惜資金地在網路基礎建設上採購很多新產品，並且不願意投資終端設備，部分原因是終端設備會依文化而有所差異（即使許多有知識的個體會警覺到，除非有足夠的數位終端設備，否則也不需要這些新的網路產品）﹔而其他原因則是因為就法律與技術層面來看，終端設備都超乎他的能力範疇。因此他們的態度是：「讓那些製造工業來完成發展終端設備的工作。」不幸的是，那些電傳設備製造商們長久以來被嬌寵成性，並且習慣於在既定的CCITT標準下進行風險較低的作業，因此不願意只為了終端使用者突然興起的念頭，就投資在一些他們不熟悉的產品上。就算是那些比較了解終端使用者的消費電子產業（習慣基於他們對產品校度的判斷來進行企業決策），也認為電傳終端設備超乎他們的興趣之外。這可以解釋為何在1980年代末期時，幾乎沒有任何基於這些壓縮技術的終端使用者設備出現（當然傳真機是例外）。為了要擁有便宜且輕巧的終端設備，使用者必須有ASICs（應用程式整合電路Applications Specific Integrated Circuits），才能執行壓縮運算法所需要的複雜的訊號運算功能。</p>
<p>我知道RCA和Philps在當時都曾經試圖將數位影像資料儲存在CD上，以供互動應用程式使用（分別稱為CD-I及DVI），並將其視為主導影像壓縮晶片市場（可以應用在影像溝通裝置上）的機會。在當時，我們需要的是一種新的替代方案，用以取代原本消費電子產品世界（依循一般標準化程序）中，那些費力且難以預料是否能生存的市場原則。</p>
<p><big>MPEG-1</big><br />
因此在1988年一月開始進行MPEG的計劃，幾個月後開始發展語音壓縮、多路傳輸所需要的功能、並同步化這兩種資料流（即所謂的“系統”）。四年之後正式發展出了標準的MPEG-1技術，有趣的是，目前遵循這項標準中最大宗的兩項應用（互動光碟及數位廣播），都不是當初發展MPEG-1時主要的目標（如影像溝通目前還不是很受歡迎）。另一方面，MPEG-1被應用在數以千萬的VCD及MP3播放器中。其實MPEG-1有一項很傑出的特色是：MPEG-1是第一個在開發過程中充分使用模擬方式所完成的影像／聲音標準。另外，我所任職的實驗室也曾經參與發展一個速率在1.5到2Mbps之件的視訊會議編碼格式，這項技術使用三個12U的rack以及少量的電腦模擬支援。其實對於未來更顯著的意涵是，身為五個領域標準的MPEG-1，擁有一項軟體設計似乎可以成為標準的第五個部分（也就是ISO/IEC 11172-5）。</p>
<p><big>MPEG-2</big><br />
1990年七月MPEG開始了其第二個計劃，也就是MPEG-2。因為MPEG-1是一個針對定義良好的產品設計的標準，而MPEG-2所要解決的是一個每個人都有興趣的問題：那就是要如何將五十年前的類比電視系統轉換成為數位壓縮的格式，延伸下去便產生了新的需求，希望能支援所有潛在的應用領域。解決方案是發展兩個新的系統層：其一稱為MPEG-2傳送資料流（Transport Stream，TS），這是針對在傳輸應用領域中，錯誤偵測環境的目標產品所設計（如有線電纜、衛星等）﹔另一項稱為MPEG-2節目資料流（Program Streams，PS），其設計理念是成為一個友善的軟體，並且可以讓DVD使用。這個概念是MPEG-2可以成為數位電視的共同基礎建設，的確，如果大家認為在特定的時間內，MPEG-2 TS所能承載的位元數比IP來的多的話，就已經達到某些目的了。這項標準的主旨「Generic Coding of Moving Pictures and Associated Audio」就非常恰當的傳達了這樣的意圖。當MPEG-2這相標準獲得認同之時（1994年十一月），第一個在普遍的可程式化機器上，執行MPEG-1的即時解碼範例也同時問世。這就是，如果人們有需求的話，就會有誘因來繼續這些實作並可以針對新標準提供工具軟體。</p>
<p><big>MPEG-4</big><br />
在1993年七月MPEG開始了第三個計劃，也就是MPEG-4，其原始目的可以由計劃的第一個主旨窺其一二：「低傳輸率的影像－聲音編碼技術」。雖然沒有預見非常明顯的目標市場應用，許多人認為窄頻類比通道的數位化（如電話撥接網路，當時網路還沒有那麼普及）可以提供機會以低於1Mbps的速率來傳輸影像與聲音資料，這大約是MPEG-1及MPEG-2可以支援的最低傳輸率。我們知道在這個範圍的傳輸率之內，解碼器便能在可程式化的裝置上進行良好的設計，不像其他的MPEG標準，使用這項標準最終可以使用較多的軟體設計而不會只受限於硬體的能力。這也是為何工具軟體MPEG-4的第五的部分，會和MPEG-4其他的部分（傳統以文字為基礎的描述）有同樣規範的原因。</p>
<p>我們由MPEG-4目前的主旨可以知道為何能成為容易理解的標準：「對聲音及影像物件的編碼」。這項標準支援個別的聲音與影像物件（其於空間與時間的組成被標示在接收器中）的編碼在現，不同來源（天然或合成）的不同的物件甚至可以共同構成一個意義。然而這並不代表針對標準使用某種特別的設計必然會很“複雜”，應用程式開發者可以在許多MPEG-4工具集中選擇精緻的子套件，用來開發個別的程式。因此，大家都期待MPEG-4可以成為所有基礎的領導者，而讓目前分崩離析的多媒體現況再度繁榮起來。</p>
<p><big>MPEG-4為何要有標準</big><br />
讀者們可能會有疑慮：如果編碼演算法可以用軟體設計，那為何又要發展一套標準呢？不是只要下載那些可以讓特定演算法（用來產生您有興趣的資料流）用來解碼的密碼就可以了嗎？</p>
<p>在MPEG-4早期開發的階段常常有人問類似的問題，時至今日，隨著MP3的大量使用，便比較容易理解有一個標準的好處了：因為如此一來，重播的裝置就不用連結到網路上，而可以放置在廣播的通道上（可以是獨立或是可攜式的裝置）﹔而且裝置可以使用許多不同的CPU（當然這對於開發編碼程式而言會有點昂貴）﹔對於那些無法升級的聲音影像解碼部分，硬體則可以使用ASIC﹔也可以設計成符合一個標準演算法需求的RAM總量。換句話說，有了標準之後，企業可以簡單應用在更多不同的用途上，而不需要考慮不相容的問題。</p>
<p>最後您必須要清楚的是，壓縮編碼不是一個透明的過程，一般來說，如果想要壓成越低的傳輸率，效果就會越失真。由一種演算法轉換到另一個只會產生許多不必要的垃圾出來罷了，同時，壓縮技術會越來越好也是一個迷思。目前對MPEG在影像壓縮技術部分有相當多的提案在進行當中，因為看起來似乎值得研究﹔然而對於聲音壓縮的MPEG技術卻仍然在起步的階段，因為MPEG團體目前不認為這個領域值得去追求。</p>
<p><big>MPEG-4在開放原始碼領域的發展</big><br />
這些大量的標準已經改變參考軟體的發展，使其成為一個巨大的事業，所以看看目前有多少個專案在進行中也是一件有趣的事，以下是幾個重要的特徵：<br />
●所有標準的元件，不論是規範的（解碼器）或是非規範的（編碼器）都必須設計在軟體中。如果某個提案想要被接受或是接納，其原始碼必須公開、並且將版權釋放給ISO。<br />
●標準的每一個部分，都必須指定一個編碼管理者（manager of the code）：典型的代表有MicroSoft與MoMuSys對於影像的標準（分別是C++與C）、Fraunhofer之於天然聲音（natural audio）、MIT之於結構化聲音（Structured Audio）、ETRI之於文字／語音的介面、Optibase之於所謂的“核心”（也就是所有媒體的解碼器及其他元件外掛部分的密碼）、Apple之於所謂的MPEG-4檔案格式等等。<br />
●標準的每一個部分也都指派一個實驗管理者（manager of experiments），這個管理者必須以目前的程式碼為基礎，來整合其他可以使用之工具的程式碼。<br />
●與傳統開放原始碼計劃不同的地方在於，只有MPEG團體的成員可以參與這個計劃，但是相關的討論（目前持續進行中）仍然可以透過E-mail反映給其他非MPEG團體的人。</p>
<p>MPEG是一個新點子可以持續成長的地方，原本用來參考的程式碼可能真的成為“參考”，因為可能會因此產生一個新的點子（至於是規範或是非規範則依情況而定），或許原本並沒有這樣的用途。因此在1999年十二月時，MPEG開始進行MPEG-4的另一個新的開發，用來最佳化程式碼（如：找出動畫向量值的最佳方案，這是此標準中相當需要計算的部分）。因為雖然任何設計者都可以使用這套程式碼，而不用擔心版權的問題。然而那些經過最佳化的部分也不應該需要受到專利的影響才對。因此第二個點子在2000年十月正式開始運作，這也導致了發展MPEG-4的「參考硬體描述，reference hardware description」這項決定，並期待這能近一步宣傳使用MPEG-4作為多媒體建設的基礎（軟硬體部分皆然）。</p>
<p>下面列出了在所有的MPEG-4軟體模組中所謂的“版權宣言”。</p>
<p>這個軟體模組是以下面的格式發展：  () and edited by   (),   (), in the course of development of the 。這個軟體模組是一個或多個工具（也就是由所規範）中部分的設計。雖然ISO/IEC給予使用者這個軟體模組免費的使用權，以及針對任何宣稱遵從的軟硬體修正部分。那些想要在軟硬體產品中使用這個軟體模組的人，仍然會被告知有可能會侵犯到現存的專利法。這個軟體模組的原始設計者以及他的公司、以及後來的編寫者與其公司、甚至是ISO/IEC對於這個軟體模組以及其修正部分沒有任何義務。版權禁止針對那些非符合的產品釋出，可以保有完整的權力，也可以把程式碼指派或捐獻給協力廠商，並且禁止協力廠商將這個模組應用在非遵循的產品上，這個版權宣言必須被包含在所有衍生的作品當中，Copyright (199_)。</p>
<p>原文：<br />
This software module was originally developed by   () and edited by   (),   (), in the course of development of the . This software module is an implementation of a part of one ormore  tools as specified by the . ISO/IECgives users of the  free license to this software module or modifications thereof for use in hardware or software products claiming conformance to the . Those intending to use this software module in hardware or software products are advised that its use may infringe existing patents. The original developer of this software module and his/her company, the subsequent editors and their companies, and ISO/IEC have no liability for use of this software module or modifications thereof. Copyright is not released for non&#8211;conforming products.  retains full right to use the code for its own purpose, assign or donate the code to a third party and to inhibit third parties from using the code for non&#8211;conforming products. This copyright notice must be included in all copies or derivative works. Copyright (199_).</p>
<p><big>立足今日，展望明日</big><br />
目前MPEG正處於發展MPEG-7（多媒體內容描述介面，這是一個描述聲音／影像訊息的標準）的最後階段。這項標準將會在2001年七月通過，同時有一大堆的參考程式碼（依循著類似於MPEG-4的規則）隨著這項標準產生。</p>
<p>在2000年六月，MPEG開始了一個名為MPEG-21（多媒體架構，Multimedia Framework）的新計劃。在這之中，MPEG會發展並整合所有在網路上發展數位內容電子商務所需的科技（與其他單位共同合作）。</p>
<p>這項計劃所需要的幾樣關鍵技術如下：<br />
1.Digital Item Declaration：一個統一且有彈性的抽象描述，並且可以針對數位物件作交互的概要宣稱。<br />
2.Content Representation：解決如何在不同媒體中呈現資料的問題。<br />
3.Digital Item Identification and Description：一個針對任何實體（不論其本質、種類與形狀為何）作辨認與描述的架構。<br />
4.Content Management and Usage：提供介面與通訊協定，用以在不同的內容套件與消費價值鏈（consumption value chain）之間創造、操作、搜尋、使用、儲存、傳遞以及重複使用內容。<br />
5.Intellectual Property Management and Protection：也就是能持續並可靠的管理內容，並在一大堆網路與裝置之間受到保護。<br />
6.Terminals and Networks：在網路與終端設備當中，提供一個透明、可解釋的能力來存取內容。<br />
7.Event Reporting：這是一個公制與介面，可以讓使用者精確的了解，在這個架構中所有可以報告的事件的效能。</p>
<p>本文要探討的另一個重要議題是第五個項目，也就是智慧財產權的管理與保護。因為自從MPEG-2之後，MPEG就非常在意，希望能替那些內容與服務提供者（其內容有金融上的價值）的需要提供解決方案。目前為止，MPEG所提供的解決方案是使用版權專斷軟體中有關保護的科技，然而這是有缺點的，因為對使用者而言，消費那些受保護的內容將不再是一個透明的過程（即便使用者願意遵守由權利持有者所訂定的規定）。這也是為何MPEG現在要發展另一個解決方案，以提供「在受保護的內容上進行溝通，interoperability at the level of protected content」的能力</p>
<p><big>談談MPEG標準的專利</big><br />
早在十五世紀時，在Venice和Florence就已經實施了所謂的「Letter patents」，但是在Mainz卻還沒有類似的規定，因此當時Johannes Gutenberg只能把它的秘密藏起來不讓其他人（包含了他的贊助者）看到，才能保護他的發明，最後卻因此造成他的崩潰。在十九世紀時，所有與「影像／聲音」相關的發明都受到專利的保護﹔這樣的狀況持續延伸到二十世紀（雖然受保護的重心已經由個體轉移到僱用他們的公司）。當運用數位科技的願景越來越清楚之際，幾乎所有的公司或組織都開始針對「影像／聲音編碼」進行研發或籌措研究。時至今日，相關的專利已經數以千計。</p>
<p>當MPEG開始進行「影像／聲音編碼」工作之時，很快的就證明了MPEG只有兩個選擇，如果不依照現存在「影像／聲音」規則來進行（這樣的標準通常需要專利來保護其設計），就不可能產製任何有實際價值的標準。這增加MPEG（本身沒有任何經費）工作的難度，漸漸意識到在其標準中是否需要專利保護。</p>
<p>當然，國際上三個主要標準制定的組織（IEC、ISO與ITU）非常清楚專利法的應用在標準上的問題，因此他們也發展出下面三個原則：<br />
1.在設計標準時，不應該包含任何專利限制，<br />
2.版權擁有者應該釋出其權益，並且<br />
3.版權擁有者必須陳述一段宣言，表示他／她必須保證以公平與合理的條款，在不歧視的原則下，才能為版權聲請專利。</p>
<p>於是MPEG也針對開發自己的標準發展一套原則，蓄意忽視專利的情況並且希望可以完成最理想的表現，然而所有MPEG的標準通常都牽涉到大量的專利。</p>
<p>在設計MPEG-2時，就需要將近一百種不同的標準，而MPEG-2希望可以一次完成所有專利問題，此時一個私人組織邊非常有興趣地來幫忙，針對大部分MPEG-2所需要的專利提供版權。有趣的是，MPEG-2解碼器所需要的總版權費用一直都是保持固定的常數，然而其他相關的版權卻不斷的增加。</p>
<p>同樣的狀況也發生在MPEG-4上，MPEG-4產業論壇（http://www.m4if.org/）成立的目標就是希望能讓MPEG-4脫離專利。當然，MPEG-4的例子又更複雜些，因為許多運作模式都需要下載解碼器。而最近針對MPEG-7也要成立一個類似的組織。</p>
<p><big>結論</big><br />
雖然歷經一些完全不同的過程，但就提供軟體或硬體的開放解決方案（針對那些基礎建設的一部份）的需求而言，身為「影像／聲音」世界代言人的MPEG，也得到一個類似「資料處理」世界的結論。</p>
<p>其中最大的不同是「資料處理」世界傾向定義完全開放的技術，而MPEG則屈服於數位「影像／聲音」的世界（因為到處都是專利）。因此雖然參考軟體沒有版權費，但是通常不代表沒有專利費。</p>
<p>MPEG-21則是一個定義網路內容生態系統的專案，將基礎建設的標準放置在一個比較高的位階上（相對於目前而言），而原本身為參考軟體的提供者，目前也已經成為MPEG標準中不可或缺的一部份。可以想見的是，當MPEG必須要調適以符合完全的自由精神時，一定會遇到很多挑戰，也會需要考慮很多世俗因素。但我相信與其在法院或是國會中處理這件事，不如和一群專家們一起研究會比較好！</p>
<p>在1971年時，Leonardo Chiariglione加入了CSELT（一個電信團體的共同研究中心），他在其中帶領電視科技研究部門（Television Technologies Research Division）。而在1988年創出了ISO MPEG的標準，他也是Image Communications的創辦人（EURASIP的雜誌，內容是介紹影像傳播領域中理論與實作的發展），並擔任裡面的總編輯。他在1994年創立了Digital Audio-Visual Council （DAVIC），並在其中擔任總裁與主席，直到1995年才離職。1999年時，他被任命為Secure Digital Music Initiative （SDMI）的執行主任，奉命開發一個新的規格，可以讓安全數位音樂的電子商務有多種不同的經營模式。</p>
<p><big>side word</big><br />
有一些超過了人類眼睛及耳朵極限的資料，有著非常不同的天性，比如說：他們基本上是類比的型態。<br />
時間回到1830年代，當時聲音與影響資料處理與傳播的技術剛被人們發明出來。</p>
<p><big>相關資源</big><br />
MPEG計劃網站 http://www.cselt.it/mpeg/. 在此可以找到MPEG-1的簡短介紹<br />
http://www.cselt.it/mpeg/standards/mpeg-1/. 在此可以找到MPEG-2的簡短介紹<br />
http://www.cselt.it/mpeg/standards/mpeg-2/. 在此可以找到MPEG-4的簡短介紹<br />
http://www.cselt.it/mpeg/standards/mpeg-4/. ISO網站http://www.iso.ch/.</p>
<p>「Gr. 3」被稱為「one minute facsimile」因為它的垂直解析通通常是水平解析度的一半，如果想要知道有關MPEG建立更詳細的資料，可以參考「Chiariglione, L.: MPEG&#8221; From the conception of the idea to its effects&#8221;」(http://www.cselt.it/leonardo/paper/conftele99/conftele99.htm), ConfTele99,Sesimbra, 4/15/1999.</p>
<p>您可以向sales@iso.ch購買MPEG-4的參考軟體也可以由此下載 http://www.iso.ch/ittf/。</p>
<p>在此可以找到MPEG-7的簡短介紹http://www.cselt.it/mpeg/standards/mpeg-7/.</p>
<p>MPEG-21將成為標準集合的套件，第一個部分是「Technical Report」這是MPEG-21牽涉範疇的文件敘述(http://www.cselt.it/public/mpeg-21_pdtr.zip)，這是經過篩選的文件。</p>
<p>而有關MPEG-4的部分則在http://www.cselt.it/mpeg/public/mpeg-4_procedures.htm.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=29&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/08/%e9%96%8b%e6%94%be%e5%8e%9f%e5%a7%8b%e7%a2%bc%e5%9c%a8mpeg%e7%9a%84%e7%99%bc%e5%b1%95%e9%80%b2%e7%a8%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
		<item>
		<title>運用Linux進行遠端遙測</title>
		<link>http://tcliou.wordpress.com/2007/07/08/%e9%81%8b%e7%94%a8linux%e9%80%b2%e8%a1%8c%e9%81%a0%e7%ab%af%e9%81%99%e6%b8%ac/</link>
		<comments>http://tcliou.wordpress.com/2007/07/08/%e9%81%8b%e7%94%a8linux%e9%80%b2%e8%a1%8c%e9%81%a0%e7%ab%af%e9%81%99%e6%b8%ac/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 10:06:56 +0000</pubDate>
		<dc:creator>TzuChiang Liou</dc:creator>
				<category><![CDATA[Linux Journal]]></category>
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://tcliou.wordpress.com/2007/07/08/%e9%81%8b%e7%94%a8linux%e9%80%b2%e8%a1%8c%e9%81%a0%e7%ab%af%e9%81%99%e6%b8%ac/</guid>
		<description><![CDATA[This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Remoting Sensing with Linux. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 3 月號凌客誌中見刊。 運用Linux進行遠端遙測 一個採用Linux與「Beowulf」叢集系統後，成功的節省了金錢與時間的企業實證 作者：Mark Lucas / 譯者：劉自強（TzuChiang Liou） 我們今天的主角是位於美國佛羅里達州墨爾本市的ImageLinks公司，他們的工作主要是負責替商業機構處理大型的衛星及航空圖像。這樣的作業常常需要透過三度空間投射、影像處理、複雜的資料融合、以及許多昂貴的計算演算法則，來處理動輒數Giga的影像資料。而本文則是在描述當該公司把系統轉換到Linux之後所獲得的收益。 回到1996年，當時本公司（ImageLinks）剛獲得執照，可以將以前被視為機密的政府軟體商業化，其中包含了將近5,000個由物件導向語言C++所設計出來的原始碼檔案，而這些程式已經發展將近十五年了。公司主要的硬體是建構在高效能的SGI以及SUN的作業平台以及伺服器上，廠商向我們開價這些設備需要將近五十萬的成本，所以每個月就必須付出的錢超過15,000元。而且除了設備之外，其他的成本還有昂貴的版權專斷式軟體的執照費，包含編譯器、工具及相關函式庫等。即使只是想要升級記憶體，也都必須要以高價向賣主購買才不會違反當初的維護合約。 其實，當時公司裡面有幾個同仁早已經開始在家裡使用Linux，所以我們就在想，如果把公司的軟體移植到Linux上會需要更動哪些部分？終於在某天午餐討論過後，我們決定到當地的一家電腦公司、用公司的信用卡買了需要的軟體，並且開始不公開的程式移植作業。 一安裝好Red Hat 5.2版後我們就開始移植的工作，在數個月的研究中，同事Dave Burken和Ken Melero不斷的討論這個專案，企圖找出平台相依性並加以修正。後來我們發現主要的問題是：編譯器無法完全正確處理我們那個龐大的程式碼（templated code）。不過當我們後來安裝了Red Hat 6.0之後，「GCC」編譯器就能正確且直接的處理好上面的問題，也因此加速了移植的作業。 原本當初的假設是：移植在Intel平台上的Linux系統可能會是一個比較節省成本的方案，但我們並不看好這樣的表現可以和高效能的工作站匹敵。幸運的是，第二個假設是錯的！當轉移到Linux平台之後，馬上就在編譯的所花的時間，感受到顯著的效能改善，以往在SGI的Indigo2s機器上，如果要將我們所有的原始碼執行完整的編譯，大約需要十到十二個小時；而同樣的編譯工作在一個雙Pentium CPU的機器上只花了不到兩個小時就完成，更值得一提的是所產生出執行檔的大小，由「GCC」所編譯出來的結果大約只有那些版權壟斷的編譯器編譯出來的一半大小。這代表著比較優異的程式碼最佳化，也是那些開放原始碼工具的許多益處之一；而當我們替Linux平台設計一些測試時，其效能的改善也非常明顯，其中最極端的例子就是在執行「cross-sensor image fusion」上。 「cross-sensor [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=28&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>This is an article I translated for TS media for the Chinese Edition of Linux Journal. Original article on Linux Journal: Remoting Sensing with Linux. 本文為筆者替天充文化翻譯 Linux Journal 中文版之文章，本譯文於2001 年 3 月號凌客誌中見刊。</p></blockquote>
<p align="center"><span style="text-decoration:underline;"><big>運用Linux進行遠端遙測</big></span></p>
<p align="center">一個採用Linux與「Beowulf」叢集系統後，成功的節省了金錢與時間的企業實證</p>
<p align="center"><big>作者：Mark Lucas / 譯者：劉自強（TzuChiang Liou）</big></p>
<p>我們今天的主角是位於美國佛羅里達州墨爾本市的ImageLinks公司，他們的工作主要是負責替商業機構處理大型的衛星及航空圖像。這樣的作業常常需要透過三度空間投射、影像處理、複雜的資料融合、以及許多昂貴的計算演算法則，來處理動輒數Giga的影像資料。而本文則是在描述當該公司把系統轉換到Linux之後所獲得的收益。</p>
<p>回到1996年，當時本公司（ImageLinks）剛獲得執照，可以將以前被視為機密的政府軟體商業化，其中包含了將近5,000個由物件導向語言C++所設計出來的原始碼檔案，而這些程式已經發展將近十五年了。公司主要的硬體是建構在高效能的SGI以及SUN的作業平台以及伺服器上，廠商向我們開價這些設備需要將近五十萬的成本，所以每個月就必須付出的錢超過15,000元。而且除了設備之外，其他的成本還有昂貴的版權專斷式軟體的執照費，包含編譯器、工具及相關函式庫等。即使只是想要升級記憶體，也都必須要以高價向賣主購買才不會違反當初的維護合約。</p>
<p><span id="more-28"></span></p>
<p>其實，當時公司裡面有幾個同仁早已經開始在家裡使用Linux，所以我們就在想，如果把公司的軟體移植到Linux上會需要更動哪些部分？終於在某天午餐討論過後，我們決定到當地的一家電腦公司、用公司的信用卡買了需要的軟體，並且開始不公開的程式移植作業。</p>
<p>一安裝好Red Hat 5.2版後我們就開始移植的工作，在數個月的研究中，同事Dave Burken和Ken Melero不斷的討論這個專案，企圖找出平台相依性並加以修正。後來我們發現主要的問題是：編譯器無法完全正確處理我們那個龐大的程式碼（templated code）。不過當我們後來安裝了Red Hat 6.0之後，「GCC」編譯器就能正確且直接的處理好上面的問題，也因此加速了移植的作業。</p>
<p>原本當初的假設是：移植在Intel平台上的Linux系統可能會是一個比較節省成本的方案，但我們並不看好這樣的表現可以和高效能的工作站匹敵。幸運的是，第二個假設是錯的！當轉移到Linux平台之後，馬上就在編譯的所花的時間，感受到顯著的效能改善，以往在SGI的Indigo2s機器上，如果要將我們所有的原始碼執行完整的編譯，大約需要十到十二個小時；而同樣的編譯工作在一個雙Pentium CPU的機器上只花了不到兩個小時就完成，更值得一提的是所產生出執行檔的大小，由「GCC」所編譯出來的結果大約只有那些版權壟斷的編譯器編譯出來的一半大小。這代表著比較優異的程式碼最佳化，也是那些開放原始碼工具的許多益處之一；而當我們替Linux平台設計一些測試時，其效能的改善也非常明顯，其中最極端的例子就是在執行「cross-sensor image fusion」上。</p>
<p>「cross-sensor fusion」是將不同等級的衛星影像結合而成一個新的影像的技術，例如，我們常常需要把高解析度的黑白影像與低解析度的彩色影像結合在一起，這些影像多半是由不同的角度、解析度、比例及時間拍攝而成。當我們執行複雜的轉換工作，比如將衛星影像投射在一個內部為3-D的空間模型中時，所有這些因素都會被納入考量，當開始執行時，一個智慧的採樣器會橫跨整個三度空間模型將像素（pixels）投射結合到合理的大小和影像。透過複雜的影像處理及三度空間轉換，這樣的工作會牽涉到幾Giga的數位影像資料，在以往版權壟斷的工作站上，花個週末的時間來執行某些程式是很稀鬆平常的事。但使用Linux之後，我們發現在這些影像融合上有非常卓越的進步，這個戲劇性的效能增加是因為硬體的表現，會隨著軟體工具中最佳化的程式碼而增加。</p>
<p>另一個主要的益處來自於使用「Beowulf」叢集技術，「Beowulf」叢集可以簡單的解釋成為一堆使用一般的網路連結在一起的電腦分支，而成為一個低成本的超級電腦解決方案。也就是在區域網路系統內，使用乙太網路將大多數安裝Linux、核心經過最佳化的電腦連結在一起所呈現的方案。其中有一個節點（node）是被設計為主控的節點，用來控制其他附屬節點的工作排程及負責所有與外界的溝通。</p>
<p>以往，超級電腦需要使用針對其特殊架構手工訂做獨特的軟體，然而最近在平行函式庫（parallel libraries）如PVM或是MPI等的進展，已經慢慢讓這樣的工作越來越簡單。只要使用這套函式庫，程式設計師便可以清楚的知道哪些部分可以設計成為平行處理，而由函式庫負責和超級電腦架構來做比較詳細的「mapping」動作。幸運的是，我們的運算法極端的傾向需要CPU資源而且大致上可以平行處理，換句話說，這個程式碼需要的是浮點運算（floating point mathematical computations），所以重點是：我們的工作可以被切割為數個片段，同時CPU之間不需要做很重要的溝通。因此，設計的需求便牽涉到如何將工作分割成為塊狀（tiles），並且送到不同的機器去處理。</p>
<p>為此，我們建構了一個具備14個節點的叢集系統，將PVM加入我們的程式碼中，並且觀察當我們替叢集增加新的中央處理器後，效能線性的改變。依據我們監控整個執行過程顯示，剛開始的時候，會有一小段溝通時間將資料傳輸到不同的節點上，接著，各節點會盡其所能的處理必要的計算，這樣的結果正是叢集所要達成的理想應用狀態：也就是如果想要加快執行的速度或是增加資料處理量，我們只需要增加處理器即可。因此，隨著我們改用「Beowulf」叢集技術，這項複雜的「cross-sensor fusion」工作有顯著的改善，以往在版權專斷的機器上需要花一個週末的運算時間，使用單一Linux機器，現在減少到只需要幾個小時就能完成，而在「Beowulf」叢集系統中，更只需要幾分鐘就搞定了！</p>
<p>除了效能和成本的益處之外，我們公司同時也感受到了一些其他重要的改進，包含了穩定性的增加、有許多參考文件以及軟體可以很快速的更新。</p>
<p>Mark Lucas目前是ImageLinks公司的首席技術長，同時也是「remotesensing.org」的創辦人，這個計畫是用來推動開放原始碼發展遠端遙測（remote sensing）以及GIS地理資訊系統（geographical information systems）的相關軟體。身為電子工程學士、資訊工程碩士的他，同時也是一位退役的美國空軍官員。</p>
<p><big>Captions</big><br />
圖一：在ImageLinks公司的叢集系統中執行「bWatch」的樣子，紅線表示節點間的溝通並顯示出這個行程與CPU相關。<br />
圖二：佛羅里達州墨爾本市衛星照片的一部分，這個影像是由「Landsat 5」的色彩，與「Indian IRS 1C」號衛星的五公尺空間解析度（5m spatial resolution）結合而成。<br />
圖三：加州Milpitas市的合成影像，這是由多重衛星影像及許多向量圖層融合而成的。<br />
圖四：ImageLinks公司內部結合12個節點的「Beowulf」叢集系統，包含了RAID磁碟陣列、100BT的乙太網路轉換器（Switch）及電力控制系統。<br />
圖五：這個節點是掛載在一個4U rack的機器中，具備四顆Pentium III 650MHz的CPU、並且配備有384 Mega的記憶體。<br />
圖六：掛載上rack之前，Jeff Largent正在測試這些節點。</p>
<p><big>side word</big><br />
以往在版權專斷的機器上需要花一個週末的運算時間，使用單一Linux機器，現在減少到只需要幾個小時就能完成，而在「Beowulf」叢集系統中，更只需要幾分鐘就搞定了！</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tcliou.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tcliou.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tcliou.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tcliou.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tcliou.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tcliou.wordpress.com&amp;blog=550750&amp;post=28&amp;subd=tcliou&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tcliou.wordpress.com/2007/07/08/%e9%81%8b%e7%94%a8linux%e9%80%b2%e8%a1%8c%e9%81%a0%e7%ab%af%e9%81%99%e6%b8%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/25a50569a2b6b25eefa12670083dda5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcliou</media:title>
		</media:content>
	</item>
	</channel>
</rss>
