<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<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/"
	>

<channel>
	<title>Li-Wen Hsu's Blog</title>
	<link>http://blog.lwhsu.org</link>
	<description>(define lwhsu_blog http://lwhsu.org)</description>
	<pubDate>Mon, 07 Jul 2008 05:02:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>一年了</title>
		<link>http://blog.lwhsu.org/archives/2008/07/07/80/</link>
		<comments>http://blog.lwhsu.org/archives/2008/07/07/80/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 05:02:07 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[Murmuring]]></category>

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2008/07/07/80/</guid>
		<description><![CDATA[賀! 本部落格終於停水告一年了 XD
這一年是人生中許多重大轉折的一年，有空的時候(?)要把那些在 queue 裡面的文章 publish 出來&#8230;
BTW, Flickr 的部份，倒是更新的挺勤的，雖然還沒有時間去標 tag 還有寫 comment 了&#8230;
]]></description>
			<content:encoded><![CDATA[<p>賀! 本部落格終於停水告一年了 XD</p>
<p>這一年是人生中許多重大轉折的一年，有空的時候(?)要把那些在 queue 裡面的文章 publish 出來&#8230;</p>
<p>BTW, <a href="http://flickr.com/photos/lwhsu/">Flickr</a> 的部份，倒是更新的挺勤的，雖然還沒有時間去標 tag 還有寫 comment 了&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2008/07/07/80/feed/</wfw:commentRss>
		</item>
		<item>
		<title>我在 flickr 上的第一個 comment</title>
		<link>http://blog.lwhsu.org/archives/2007/07/07/75/</link>
		<comments>http://blog.lwhsu.org/archives/2007/07/07/75/#comments</comments>
		<pubDate>Sat, 07 Jul 2007 06:17:41 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[Flickr]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/07/07/75/</guid>
		<description><![CDATA[我的第一個 comment 是這張照片：

但是我總覺得他在和我說：「歡迎加入NHK！」阿&#8230;.囧rz
前幾天看到《快賺 Flickr Pro 的三個月使用期限》一文，今天寫2007「邏輯、語言與計算」暑期研習營暨碩士學分班的作業寫到昏頭，於是就來找一些「看起來像是有意義的事」來墮落一下。
升級到 Filckr Pro ，www/p5-Flickr-Upload 裝完之後，就開始把這幾年來的照片拼命地往 Filckr 丟了 XD
（沒幾張啦，Filckr 應該不會這樣就 ban 我吧&#8230;）
這些人也還真是神速，丟上去才一兩個小時就馬上注意到了&#8230;
另外也有幾張在匈牙利的照片被人加入到 favorite 了，不過用古早的 Kodak DC4800 照的，畫質和技術都欠佳，真是感謝抬愛  
BTW, 我很怕接下來這張也被要抓去就更囧了&#8230;

（相信我，這只是和朋友去那邊逛一圈「參觀」一下這種文化的&#8230;我是很善良的阿&#8230;）
]]></description>
			<content:encoded><![CDATA[<p>我的<a href="http://www.flickr.com/photos/lwhsu/744849230/#comment72157600694146535">第一個 comment</a> 是這張照片：</p>
<p><a href="http://www.flickr.com/photos/lwhsu/744849230/" title="Photo Sharing"><img src="http://farm2.static.flickr.com/1124/744849230_9c48304d5f_m.jpg" width="180" height="240" alt="P1020731" /></a></p>
<p>但是我總覺得他在和我說：「<a href="http://zh.wikipedia.org/wiki/歡迎加入NHK!">歡迎加入NHK！</a>」阿&#8230;.囧rz</p>
<p>前幾天看到<a href="http://edblog.net/archives/826">《快賺 Flickr Pro 的三個月使用期限》</a>一文，今天寫<a href="http://www.iis.sinica.edu.tw/~scm/flolac07/">2007「邏輯、語言與計算」暑期研習營暨碩士學分班</a>的作業寫到昏頭，於是就來找一些「看起來像是有意義的事」來墮落一下。</p>
<p>升級到 Filckr Pro ，<a href="http://www.freshports.org/www/p5-Flickr-Upload">www/p5-Flickr-Upload</a> 裝完之後，就開始把這幾年來的照片拼命地往 Filckr 丟了 XD<br />
（沒幾張啦，Filckr 應該不會這樣就 ban 我吧&#8230;）<br />
這些人也還真是神速，丟上去才一兩個小時就馬上注意到了&#8230;<br />
另外也有幾張在<a href="http://zh.wikipedia.org/wiki/匈牙利">匈牙利</a>的照片被人加入到 favorite 了，不過用古早的 Kodak DC4800 照的，畫質和技術都欠佳，真是感謝抬愛 <img src='http://blog.lwhsu.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>BTW, 我很怕接下來這張也被要抓去就更囧了&#8230;<br />
<a href="http://www.flickr.com/photos/lwhsu/744828065/" title="Photo Sharing"><img src="http://farm2.static.flickr.com/1029/744828065_a6ad9e125b_m.jpg" width="180" height="240" alt="P1040783" /></a><br />
（相信我，這只是和朋友去那邊逛一圈「參觀」一下這種文化的&#8230;我是很善良的阿&#8230;）</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/07/07/75/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tools</title>
		<link>http://blog.lwhsu.org/archives/2007/06/29/72/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/29/72/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 22:27:46 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[Murmuring]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/29/72/</guid>
		<description><![CDATA[
It is impossible to sharpen a pencil with a blunt ax. It is equally vain to try to do it with ten blunt axes instead.
 &#8212; Edsger W. Dijkstra

Dijkstra 資工系的同學一定都不陌生，講到最短路徑問題，一定都會提到他的 Dijkstra&#8217;s algorithm，
還有 Floyd–Warshall algorithm。當然，Bellman-Ford algorithm 也很重要，
因為在 Dijkstra 的方法中，不允許負邊存在。
（上面的「陌生」要擺個 link 到國語辭典去的原因是，原來我已經廢到連是那個「陌」都想不起來了&#8230;）
在 dds@ (Diomidis D. Spinellis) 的 blog 看到這篇 The Tools we Use [1]
dds@ 是 Code Quality: [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
It is impossible to sharpen a pencil with a blunt ax. It is equally vain to try to do it with ten blunt axes instead.<br />
 &#8212; <a href="http://en.wikipedia.org/wiki/Edsger_W._Dijkstra">Edsger W. Dijkstra</a>
</p></blockquote>
<p>Dijkstra 資工系的同學一定都不<a href="http://140.111.34.46/cgi-bin/dict/GetContent.cgi?Database=dict&#038;DocNum=16461&#038;GraphicWord=yes&#038;QueryString=%AD%AF%A5%CD">陌生</a>，講到<a href="http://zh.wikipedia.org/wiki/最短路徑">最短路徑</a>問題，一定都會提到他的 <a href="http://en.wikipedia.org/wiki/Dijkstra's_algorithm">Dijkstra&#8217;s algorithm</a>，<br />
還有 <a href="http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm">Floyd–Warshall algorithm</a>。當然，<a href="http://en.wikipedia.org/wiki/Bellman-Ford_algorithm">Bellman-Ford algorithm</a> 也很重要，<br />
因為在 Dijkstra 的方法中，不允許負邊存在。<br />
（上面的「陌生」要擺個 link 到<a href="http://140.111.34.46/dict/">國語辭典</a>去的原因是，原來我已經廢到連是那個「陌」都想不起來了&#8230;）</p>
<p>在 <a href="http://people.freebsd.org/~dds/">dds@</a> (<a href="http://www.spinellis.gr/index.en.html">Diomidis D. Spinellis</a>) 的 <a href="http://www.spinellis.gr/blog/">blog</a> 看到這篇 <a href="http://www.spinellis.gr/blog/20070628/">The Tools we Use</a> [1]</p>
<p>dds@ 是 <a href="http://www.spinellis.gr/codequality">Code Quality: The Open Source Perspective</a> 和 <a href="http://www.spinellis.gr/codereading">Code Reading: The Open Source Perspective</a> 的作者，<br />
看起來都是相當值得一讀的好書。<br />
Code Reading 好不容易排隊借了回來，但是只看完第一章就一直丟在旁邊了。<br />
今天發現後面又有人預約，看來又要重新排一次隊了&#8230;<br />
而 Code Quality 這本在我連推薦了三次之後，我們的<a href="http://www.lib.nctu.edu.tw/">浩然</a>終於在六月20日發訂了&#8230;<br />
（隔壁<a href="http://www.nthu.edu.tw/">王水大</a>的<a href="http://www.lib.nthu.edu.tw/">圖書館</a>早在四月24日發訂了，但是是過了兩個月還是在發訂中&#8230;照這樣的處理速度&#8230;民國那一年才會看到書阿 @_@<br />
真讓人有點想就敗下去了&#8230;<a href="http://findbook.tw/book/9780321166074/price">Code Quality</a>, <a href="http://findbook.tw/book/9780201799408/price">Code Reading</a>，必竟也好久沒有買書了，把錢花在這也比買糟糕物好得多。）</p>
<p>說了這麼多不太相關的東西，來談談 dds@ 的這篇文章吧，<br />
首先他拿出了一張圓餅圖，展示了在 <a href="http://www.FreeBSD.org">FreeBSD</a> ports 裡面的軟體要 build 起來需要用那些工具，還有執行多久。<br />
原來之前他在 <a href="http://lists.freebsd.org/mailman/listinfo/freebsd-arch">-arch@</a> 和 <a href="http://lists.freebsd.org/mailman/listinfo/freebsd-hackers">-hackers@</a> 討論關於 <a href="http://lists.freebsd.org/pipermail/freebsd-arch/2007-May/006359.html">Process accounting changes</a>，<br />
將 <a href="http://www.freebsd.org/cgi/man.cgi?query=acct&#038;apropos=0&#038;sektion=5&#038;manpath=FreeBSD+7-current&#038;format=html">acct(5)</a> 的精確度從 15ms 調到 1ms 是是為了要做這個實驗阿（當然也有可能是相反過來，做完了這個以後才想找個東西來實測看看。<br />
不過我相信，任何 work 都會有他的動機在，就算是 <a href="http://www.books.com.tw/exep/prod/booksfile.php?item=F010543142">just for fun</a>，也是很棒的阿！ :-）</p>
<p>第二段的一句相當有意思：</p>
<blockquote><p>
Using a shiny IDE on top of 1970’s technologies is equivalent to <strong>wearing an iPod while ox-ploughing</strong>: the work becomes less burdensome, but we’re unlikely to reap substantial productivity improvements from such a change.
</p></blockquote>
<p>所以在後面他說只有把 abstraction 的程度提高，才是真正增加生產力的方法。</p>
<p>在文中他也提到了 C++ compiler 平均一次執行的時間是 1.6s，遠比 C 的 0.17s 多，代表了隨著技術的進步，<br />
電腦和人腦的 trade off 越來越不平衡。也就是說，人可以越來越懶？或著是說，人可以把更多的心思花在更深層的思考上，<br />
旁枝末節的苦工，就交給電腦去做吧。就像<a href="http://zh.wikipedia.org/wiki/唐鳳">唐鳳</a>說過的「大巧不工」&#8212; 「最巧妙的程式，就是不用寫程式的程式」。<br />
所以 <a href="http://perl.com/">Perl</a> 像強力膠一樣把 <a href="http://search.cpan.org/">CPAN</a> 黏在一起，而大家也像是吸了強力膠一樣，為 perl 深深著迷。</p>
<p>dds@ 說：</p>
<blockquote><p>
However, nowadays CPU power is a resource a) we can afford to use and b) we can’t afford not to use.
</p></blockquote>
<p>其實我們的<a href="http://blog.lwhsu.org/archives/2007/06/14/70/">聖杯戰爭</a>也一樣，人腦強的是 symbolic reasoning 的能力，<br />
歸納出方法之後，交由電腦的 concrete execution 去完成我們想的工作。這也是電腦科學中，演算法令人著迷的地方。<br />
（為什麼我會想到<a href="http://www.fujitv.co.jp/propose/index.html">求婚大作戰</a>中那個妖精說的：「祈願吧，說出來我就替你實現！」呢？哈利露亞~thesis~ XD）</p>
<p>上過 Compiler 課的同學應該都聽老師講過這個故事：</p>
<blockquote><p>
Two success stories of the 1970s that raised the level of abstraction for a specific domain were Stephen Johnson’s parser generator yacc, and Michael Lesk’s lexical analyzer generator lex. Together these two tools and the theory behind them transformed the task of writing a compiler from wizardry into a standard rite of passage for computer science undergraduates.
</p></blockquote>
<p>yacc 和 lex 就是 abstraction 提高生產力最好的例子。</p>
<p>另外這也道出了，科學家和工程師另人著迷的地方，就是讓不可能成為可能，最後變成我們生活的一部份。<br />
（<a href="http://www.google.com">Google</a> 說的 R==D 這種態度才是對的阿！）</p>
<p>最後，每次提到 tools 相關的東西，就一定會想到 <a href="http://gugod.org">gugod</a> 的 talk: <a href="http://svn.kwiki.org/gugod/talks/Sporx/SharpKnife.xul">利器善事</a>。這是 <a href="http://osdc.tw">OSDC.tw</a> 2006 中，我最喜歡的一場。那句結語令我<a href="http://140.111.34.46/cgi-bin/dict/GetContent.cgi?Database=dict&#038;DocNum=150693&#038;GraphicWord=yes&#038;QueryString=%A6L%B6H">印象</a>深刻：（沒錯，我又忘了是那個「象」了&#8230;）</p>
<blockquote><p>
Teach your tools to teach you to do the right thing.
</p></blockquote>
<p>說了這麼多（而且覺得好亂好沒內容 @@&#8230;） 還是乖乖回去造我的輪子吧&#8230;</p>
<hr />
<p>[1] Diomidis Spinellis. The Tools we Use. <a href="http://www.computer.org/software"><em>IEEE Software</em></a>, 24(4):20–21, July/August 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/29/72/feed/</wfw:commentRss>
		</item>
		<item>
		<title>畢業典禮</title>
		<link>http://blog.lwhsu.org/archives/2007/06/26/71/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/26/71/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 19:09:35 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[CS]]></category>

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/26/71/</guid>
		<description><![CDATA[好快，又到畢業的時候了。

真的好快，去年好像才畢業一次，今年又要畢業一次，不同的是，心境完全是天壤之別。
大學畢業典禮的時候，其實我已經念了半年的碩士了，所以算是遲來的畢業典禮；
碩士畢業典禮的時候，其實我根本還沒有把論文搞定，所以算是早來的畢業典禮。
特別感謝送我花的大家，兩場畢業典禮收到了三束，所以依鴿籠原理&#8230;.唔&#8230;XD
真是讓我意外又感動。:-)
回想起參加過的畢業典禮
幼稚園好像有辦一個簡簡單單的畢業典禮，但是我只記得拍記念冊照片的事情。
小學畢業典禮，奇怪，我一點印象也沒有了，反而能記起來的只有前一年當樂隊在旁邊伴奏的事&#8230;
國中畢業典禮，我只記得我媽很好心地請她班上的學妹送了束花給我
（母親大人真是了解我，知道以後很難會有女生送我花了&#8230;），
還有當天晚會的煙火，施放地點離人群太近，結果把一堆人的衣服燒破了，廠商為此賠了不少錢。
高中畢業典禮，我記得建中青年裡逍遙遊中的一句：
建中畢業典禮很亂，根本不像畢業典禮。
好像有校長伴哈利波特的橋段，但是我也沒什麼特別印像，那個時候在做什麼呢？
我記得好像和班上的同學「翻最後一次牆」去後門的商店買煙火，自己班上玩得很快樂。
對了，那天晚上也是 2002 年世界盃英格蘭和阿根庭的大戰，那時候通訊不發達，
我和旁邊的同學們只能用手機簡訊得知最新戰況。
（真是一點感覺也沒有&#8230;所以這類的 3G Application 一定要在這種大家都會在一段不短的時間會一直想看電視的時候推出，
應該就可以成功推廣不少。 ）
總之，都是一些奇奇怪怪的畢業典禮就是了&#8230;
畢業典禮只是一個結束，還有另一個開端。
然而最近兩次的畢業典禮結束之後，我沒有變，都留在這邊。
希望希望，我可以真的不要再再交大參加第三個畢業典禮了，
（不過可以「很快」念到到博士畢業的話，唔&#8230;我也不排斥吧，
但現在我懂了，笨笨的烏龜還是要慢慢爬，動太快是會翻的。）
但是我要的是什麼呢？
「想想自己要的是什麼。」這是參加交大資工申請入學面試的時候 jnlin 學長問我的。
我那時候心中混亂，只回說：「先給我個大學念吧！」
五年過去了，我的答案是什麼呢？
人家問起我希望過的生活是什麼，我忘了從多久以前開始，都是這樣回答的：
我要帶著筆記型電腦，走遍世界，Coding
一個荒誕不切實際的理想，白話一點就是「嘴砲」。至少對我而言，是的。
大學室友，蔡董（丟這個 link 是因為我實在不知道要怎麼表示他 XD）
和我說過，我們兩個人是完全相反的人，但是做的事卻也是完全相反。
我嘴裡說的是大膽的行為，但是行事前總是得想好所有可能的狀況，想好後路，然後選最保守的路去走；
而他說話保守，但是真的大膽放手去做事的卻是他。
（這大概就是我們大二剛開始住一起的時候兩個人都是去死去死團團員，
但是在我的鼓動之下，蔡董成功地交了第一個女朋友，交往了一段不算短的時間的原因吧。
而我，還是過著當好人的日子。）
我想多多少少是因為當了這麼多年系統管理人員的職業病吧（牽拖的壞毛病又犯了），
一定都要先確保資料都備份好了，才敢開始做事。
還有凡事都要往最壞最壞的方向去想。
（或許也是程式設計師的職業病吧？什麼東西都要問 worst case，
突然想到，如果在分析的時候，也把發生各種 case 的機率一起算進去，是不是比什麼Θ(n)、Ο(n) 和 Ω(n) 好點？
看來我已經把資料結構和演算法的課本丟掉太久了&#8230;）
這大概也是過了這麼多年，我還在這邊原地踏步的原因吧。
下一次，像去年那樣，什麼都不要想，機票買了背包背了就上飛機出去這種衝動會是什麼時候呢？
（好像前幾個月才在衝動之下去了日本一次&#8230;）
我是指，在人生的道路上大膽的往一個方向走走看，好像我還沒有過。
臨晨在只有一人的實驗室裡寫程式有感。
]]></description>
			<content:encoded><![CDATA[<p>好快，又到畢業的時候了。</p>
<p><a href="http://www.zooomr.com/photos/lwhsu/2540417/" title="Photo Sharing"><img src="http://static.zooomr.com/images/2540417_717a2970ad.jpg" width="500" height="375" alt="P1040910" /></a></p>
<p>真的好快，去年好像才畢業一次，今年又要畢業一次，不同的是，心境完全是天壤之別。</p>
<p>大學畢業典禮的時候，其實我已經念了半年的碩士了，所以算是遲來的畢業典禮；<br />
碩士畢業典禮的時候，其實我根本還沒有把論文搞定，所以算是早來的畢業典禮。</p>
<p>特別感謝送我花的大家，兩場畢業典禮收到了三束，所以依鴿籠原理&#8230;.唔&#8230;XD<br />
真是讓我意外又感動。:-)</p>
<p>回想起參加過的畢業典禮</p>
<p>幼稚園好像有辦一個簡簡單單的畢業典禮，但是我只記得拍記念冊照片的事情。<br />
小學畢業典禮，奇怪，我一點印象也沒有了，反而能記起來的只有前一年當樂隊在旁邊伴奏的事&#8230;<br />
國中畢業典禮，我只記得我媽很好心地請她班上的學妹送了束花給我<br />
（母親大人真是了解我，知道以後很難會有女生送我花了&#8230;），<br />
還有當天晚會的煙火，施放地點離人群太近，結果把一堆人的衣服燒破了，廠商為此賠了不少錢。<br />
高中畢業典禮，我記得<a href="http://www.ck.tp.edu.tw/online/teenager/">建中青年</a>裡<a href="http://camel.ck.tp.edu.tw/online/chien-kuo/jokesin.html">逍遙遊</a>中的一句：</p>
<blockquote><p>建中畢業典禮很亂，根本不像畢業典禮。</p></blockquote>
<p>好像有校長伴哈利波特的橋段，但是我也沒什麼特別印像，那個時候在做什麼呢？<br />
我記得好像和班上的同學「翻最後一次牆」去後門的商店買煙火，自己班上玩得很快樂。<br />
對了，那天晚上也是 2002 年世界盃英格蘭和阿根庭的大戰，那時候通訊不發達，<br />
我和旁邊的同學們只能用手機簡訊得知最新戰況。<br />
（真是一點感覺也沒有&#8230;所以這類的 3G Application 一定要在這種大家都會在一段不短的時間會一直想看電視的時候推出，<br />
應該就可以成功推廣不少。 ）</p>
<p>總之，都是一些奇奇怪怪的畢業典禮就是了&#8230;</p>
<p>畢業典禮只是一個結束，還有另一個開端。<br />
然而最近兩次的畢業典禮結束之後，我沒有變，都留在這邊。<br />
希望希望，我可以真的不要再再交大參加第三個畢業典禮了，<br />
（不過可以「很快」念到到博士畢業的話，唔&#8230;我也不排斥吧，<br />
但現在我懂了，笨笨的烏龜還是要慢慢爬，動太快是會翻的。）</p>
<p>但是我要的是什麼呢？</p>
<p>「想想自己要的是什麼。」這是參加交大資工申請入學面試的時候 <a href="http://jnlin.org/">jnlin</a> 學長問我的。<br />
我那時候心中混亂，只回說：「先給我個大學念吧！」</p>
<p>五年過去了，我的答案是什麼呢？<br />
人家問起我希望過的生活是什麼，我忘了從多久以前開始，都是這樣回答的：</p>
<blockquote><p>我要帶著筆記型電腦，走遍世界，Coding</p></blockquote>
<p>一個荒誕不切實際的理想，白話一點就是「嘴砲」。至少對我而言，是的。</p>
<p>大學室友，<a href="http://www.wretch.cc/mypage/butz">蔡董</a>（丟這個 link 是因為我實在不知道要怎麼表示他 XD）<br />
和我說過，我們兩個人是完全相反的人，但是做的事卻也是完全相反。<br />
我嘴裡說的是大膽的行為，但是行事前總是得想好所有可能的狀況，想好後路，然後選最保守的路去走；<br />
而他說話保守，但是真的大膽放手去做事的卻是他。<br />
（這大概就是我們大二剛開始住一起的時候兩個人都是<a href="http://zh.wikipedia.org/wiki/去死去死團">去死去死團</a>團員，<br />
但是在我的鼓動之下，蔡董成功地交了第一個女朋友，交往了一段不算短的時間的原因吧。<br />
而我，還是過著當<a href="http://zh.wikipedia.org/wiki/好人">好人</a>的日子。）</p>
<p>我想多多少少是因為當了這麼多年系統管理人員的職業病吧（牽拖的壞毛病又犯了），<br />
一定都要先確保資料都備份好了，才敢開始做事。<br />
還有凡事都要往最壞最壞的方向去想。<br />
（或許也是程式設計師的職業病吧？什麼東西都要問 worst case，<br />
突然想到，如果在分析的時候，也把發生各種 case 的機率一起算進去，是不是比什麼Θ(n)、Ο(n) 和 Ω(n) 好點？<br />
看來我已經把資料結構和演算法的課本丟掉太久了&#8230;）<br />
這大概也是過了這麼多年，我還在這邊原地踏步的原因吧。</p>
<p>下一次，像去年那樣，什麼都不要想，機票買了背包背了就上飛機出去這種衝動會是什麼時候呢？<br />
（好像前幾個月才在衝動之下去了日本一次&#8230;）<br />
我是指，在人生的道路上大膽的往一個方向走走看，好像我還沒有過。</p>
<p>臨晨在只有一人的實驗室裡寫程式有感。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/26/71/feed/</wfw:commentRss>
		</item>
		<item>
		<title>電腦科學的聖杯</title>
		<link>http://blog.lwhsu.org/archives/2007/06/14/70/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/14/70/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 23:55:41 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[Anime]]></category>

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

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

		<category><![CDATA[Software Enginnering]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/14/70/</guid>
		<description><![CDATA[According to Wired News on Nov 10, 2005:

When Bill Gates announced that the technology was under development at the 2002 Windows Engineering Conference, he called it the holy grail of computer science

這篇講的是 Microsoft Research 的 SLAM Project。原文是：

&#8220;Things like even software verification, this has been the Holy Grail of computer science for many decades but now [...]]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://www.wired.com">Wired News</a> on Nov 10, 2005:</p>
<blockquote><p>
When Bill Gates announced that the technology was under development at the 2002 Windows Engineering Conference, he called it the holy grail of computer science
</p></blockquote>
<p><a href="http://www.wired.com/software/coolapps/news/2005/11/69375">這篇</a>講的是 <a href="http://research.microsoft.com/">Microsoft Research</a> 的 <a href="http://research.microsoft.com/slam/">SLAM Project</a>。原文是：</p>
<blockquote><p>
&#8220;Things like even software verification, this has been the Holy Grail of computer science for many decades but now in some very key areas, for example, driver verification we’re building tools that can do actual proof about the software and how it works in order to guarantee the reliability.&#8221;<br />
<strong>Bill Gates, April 18, 2002. <a href="http://www.microsoft.com/billgates/speeches/2002/04-18winhec.asp">Keynote address</a> at <a href="http://www.microsoft.com/winhec/">WinHec</a> 2002</strong>
</p></blockquote>
<p>這在玩什麼我就不多說了&#8230;反正有興趣的人真是少之又少&#8230;<br />
待在這邊的大概就是超級強者之輩，還有我們這種跟在別人後面走的笨蛋&#8230;<br />
（往好處想好了，知道自己是笨蛋代表知道還有那邊可以努力的地方；<br />
真正的笨蛋是連自己是個笨蛋都不知道&#8230;）</p>
<p>之前 survey SLAM 看到這些話的時候只有一笑置之，後來在上個星期到 <a href="http://www.iis.sinica.edu.tw/">iis.sinica</a> 聽<br />
<a href="http://www.cs.cmu.edu/~emc/">Edmund M. Clarke</a> 的演講：<strong>Model Checking: From Hardware To Software And Back Again</strong> 看到投影片上面時就覺得很熟悉，今天老師提的時候才再想起來。</p>
<p>原來，我們打的是電腦科學裡面的<strong>聖杯戰爭</strong>阿！</p>
<p>看到這些消息，沒出息的在下，心中想到的卻是，</p>
<blockquote><p>
阿我的 Saber 在那裡呢？我也想要有個愛玩 cosplay 的魔法少女戰友阿！<br />
不然&#8230;會作菜的溫柔學妹呢？（沒有<strong>補魔力</strong>還算聖杯戰爭嗎？）<br />
不過只會白吃白喝的 Tiger 老師就不用了，謝謝。
</p></blockquote>
<p>以上不知道我在說什麼的請參考<a href="http://zh.wikipedia.org/wiki/Fate/stay_night">這邊</a>。</p>
<p>不過，以後別人問說我的實驗室在幹什麼的時候，我就可以很帥(?)地說：</p>
<blockquote><p>
我們在打<strong>聖杯戰爭</strong>阿！
</p></blockquote>
<p>而不是說什麼：「簡單來說&#8230;就是在 debug 啦&#8230;」</p>
<p>阿阿，聖杯戰爭阿，原著的 45 個結局中，40 個是 <strong>Bad ending</strong>/<strong>Dead ending</strong>&#8230;<br />
在<strong>魔術師</strong>的資質不如人，<strong>寶具</strong>又輸人家的情況下，這是場硬戰阿&#8230;</p>
<p>難到&#8230; 我只是個 <strong>Servant</strong> 嗎？雖然說真的有種被<strong>令咒</strong>命令的感覺就是了&#8230;Orz</p>
<p>看來，這篇的 categories 要加入 Anime/Game 了&#8230;我真是糟糕&#8230;Orz</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/14/70/feed/</wfw:commentRss>
		</item>
		<item>
		<title>系足期末隊聚</title>
		<link>http://blog.lwhsu.org/archives/2007/06/06/69/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/06/69/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 19:19:15 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[cs.football]]></category>

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

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/06/69/</guid>
		<description><![CDATA[之前《2007 交大系際盃足球賽》說到亞軍的獎品有 2000 元的大潤發禮卷。
於是這個學期的期末隊聚基金就有著落啦。:D
在交大待到第五年了，第一次上電資大樓的樓頂，就是為了烤肉。
也才知道，原來電資大樓的頂樓是交大的烤肉盛地&#8230;
想不到，2000 元可以餵飽這麼多人阿。
我們大概十多個人，從晚上 7 點開始生火，一直烤到臨晨 1 點，
大家都再也吃不下了以後，還有三盤肉剩下來。
這張圖是學弟正在排「勾肩搭背的雞翅們」，在後面也可以看到幾個緊急照明燈。
據了解，原來電資大樓除了頂樓可以烤肉以外，
原來最上面幾層的緊急照明燈還可以拆下來當烤肉時的照明用&#8230;

最後整理場地時，我無意間發明了一個奇怪的遊戲：把燒紅的木碳用夾子放到水裡面
被學長關心說是不是寫論文壓力太大，心理變態（這是一個很深的誤解阿&#8230;）
但是每個人嘴巴說好變態，身體卻很誠實地玩了起來，
然後大家都迷上了這個感覺是怎樣&#8230; -_-&#124;&#124;
（從夾子傳過來一陣一陣的振動，那觸感還真是新奇有趣呀&#8230;）
最後連學妹們也玩起來了&#8230;

於是我們花了比平常還多很多的時間在收拾（或是玩樂？）善後上&#8230;
六個小時的中，大家雜七雜八的聊了很多，學弟聊著暑假環島的計劃。
學長講著之前環島的經驗。才覺得，好像我的大學回憶中，少了這一點耶。
（不，現在不可以想這些東西，敢緊做出些對世界有貢獻的東西吧，
像是一篇可以讓自己畢業的論文，以免亂浪費寶貴的研究資源&#8230;）
Oh, 最後應該要記錄一下，這次活動的時間是在六月2日。
]]></description>
			<content:encoded><![CDATA[<p>之前<a href="http://blog.lwhsu.org/archives/2007/06/03/68/">《2007 交大系際盃足球賽》</a>說到亞軍的獎品有 2000 元的<a href="http://www.rt-mart.com.tw/">大潤發</a>禮卷。<br />
於是這個學期的期末隊聚基金就有著落啦。:D</p>
<p>在<a href="http://www.nctu.edu.tw/">交大</a>待到第五年了，第一次上<a href="http://www.eic.nctu.edu.tw/">電資大樓</a>的樓頂，就是為了烤肉。<br />
也才知道，原來電資大樓的頂樓是交大的烤肉盛地&#8230;</p>
<p>想不到，2000 元可以餵飽這麼多人阿。<br />
我們大概十多個人，從晚上 7 點開始生火，一直烤到臨晨 1 點，<br />
大家都再也吃不下了以後，還有三盤肉剩下來。</p>
<p>這張圖是學弟正在排「勾肩搭背的雞翅們」，在後面也可以看到幾個緊急照明燈。<br />
據了解，原來電資大樓除了頂樓可以烤肉以外，<br />
原來最上面幾層的緊急照明燈還可以拆下來當烤肉時的照明用&#8230;<br />
<a href="http://www.flickr.com/photos/lwhsu/527863925/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/200/527863925_30c39b60db.jpg" width="500" height="375" alt="IMGP0963" /></a></p>
<p>最後整理場地時，我無意間發明了一個奇怪的遊戲：<strong>把燒紅的木碳用夾子放到水裡面</strong><br />
被學長關心說是不是<strong>寫論文壓力太大，心理變態</strong>（這是一個很深的誤解阿&#8230;）<br />
但是每個人嘴巴說好變態，身體卻很誠實地玩了起來，<br />
然後大家都迷上了這個感覺是怎樣&#8230; -_-||<br />
（從夾子傳過來一陣一陣的振動，那觸感還真是新奇有趣呀&#8230;）<br />
最後連學妹們也玩起來了&#8230;<br />
<a href="http://www.flickr.com/photos/lwhsu/527891721/" title="Photo Sharing"><img src="http://farm2.static.flickr.com/1014/527891721_cf47a80174.jpg" width="500" height="375" alt="IMGP0969" /></a><br />
於是我們花了比平常還多很多的時間在收拾（或是玩樂？）善後上&#8230;</p>
<p>六個小時的中，大家雜七雜八的聊了很多，學弟聊著暑假環島的計劃。<br />
學長講著之前環島的經驗。才覺得，好像我的大學回憶中，少了這一點耶。<br />
（不，現在不可以想這些東西，敢緊做出些對世界有貢獻的東西吧，<br />
像是一篇可以<strong>讓自己畢業</strong>的論文，以免亂浪費寶貴的研究資源&#8230;）</p>
<p>Oh, 最後應該要記錄一下，這次活動的時間是在六月2日。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/06/69/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreeBSD 最近的大動作</title>
		<link>http://blog.lwhsu.org/archives/2007/06/03/67/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/03/67/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 11:30:14 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/03/67/</guid>
		<description><![CDATA[標題好像寫的很大，不過FreeBSD 最近做了那些事也輪不到我來提了 XD
又好久沒有按 &#8220;Publish&#8221; 了&#8230;
上一篇的 ID 是 56，這一篇已經到 67 了&#8230;（結果到頭來，68先被 publish 出來）
今天（Oops, 這是 May. 22 的事了&#8230;）在 #bsdports 看到下面這段，挺有趣的。

23:52 < linimon_> gcc4.2
23:52 < linimon_> then xorg
23:52 < linimon_> then the shlib bump.
23:52 < @Pav> missed symbol versioning
23:53 < linimon_> and the rewrite of the kernel in C++

好像以前在 CSZone (KKcity 上面的) 的某個板 (或許是 HighHand 板吧？)
有看到有人介紹用 C++ 寫的 [...]]]></description>
			<content:encoded><![CDATA[<p>標題好像寫的很大，不過<a href="http://www.FreeBSD.org">FreeBSD</a> 最近做了那些事也輪不到我來提了 XD</p>
<p>又好久沒有按 &#8220;Publish&#8221; 了&#8230;<br />
上一篇的 ID 是 56，這一篇已經到 67 了&#8230;（結果到頭來，68先被 publish 出來）</p>
<p>今天（Oops, 這是 May. 22 的事了&#8230;）在 #bsdports 看到下面這段，挺有趣的。</p>
<blockquote><p>
23:52 < linimon_> gcc4.2<br />
23:52 < linimon_> then xorg<br />
23:52 < linimon_> then the shlib bump.<br />
23:52 < @Pav> missed symbol versioning<br />
23:53 < linimon_> and the rewrite of the kernel in C++
</p></blockquote>
<p>好像以前在 CSZone (KKcity 上面的) 的某個板 (或許是 HighHand 板吧？)<br />
有看到有人介紹用 C++ 寫的 OS，不過已經不知道在那邊了&#8230;</p>
<p>寫到 CSZone，才發現有這個地方：<br />
<a href="http://groups.google.com.tw/group/cs_zone">http://groups.google.com.tw/group/cs_zone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/03/67/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2007 交大系際盃足球賽</title>
		<link>http://blog.lwhsu.org/archives/2007/06/03/68/</link>
		<comments>http://blog.lwhsu.org/archives/2007/06/03/68/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 11:20:28 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[cs.football]]></category>

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

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

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/06/03/68/</guid>
		<description><![CDATA[系際盃戰績：亞軍

十六強
資工：應化　２：１
八強
資工：材料　４：１
四強
資工：工管　２：０
冠軍賽
資工：機械　１：１　（ＰＫ　２：３　機械勝）

其實上個星期就打完了，但是這個星期才拿到照片 XD

本學期的所有賽事都結束啦，下學期再多加油（果然有下學期冒出來了&#8230;）
亞軍的獎品是大潤發禮卷 2000 元，昨天晚十幾個人在電資大樓頂烤了六個小時的肉才全部消化完&#8230;
（其實還有三盤肉沒有解決&#8230;）
慶祝會的事，拿到照片再來寫吧。
]]></description>
			<content:encoded><![CDATA[<p>系際盃戰績：亞軍</p>
<blockquote><p>
十六強<br />
資工：應化　２：１</p>
<p>八強<br />
資工：材料　４：１</p>
<p>四強<br />
資工：工管　２：０</p>
<p>冠軍賽<br />
資工：機械　１：１　（ＰＫ　２：３　機械勝）
</p></blockquote>
<p>其實上個星期就打完了，但是這個星期才拿到照片 XD</p>
<p><a href="http://www.flickr.com/photos/lwhsu/523253651/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/213/523253651_9d9d075b48.jpg" width="500" height="333" alt="IMG_8787" /></a></p>
<p>本學期的所有賽事都結束啦，下學期再多加油（果然有下學期冒出來了&#8230;）<br />
亞軍的獎品是<a href="http://www.rt-mart.com.tw/">大潤發</a>禮卷 2000 元，昨天晚十幾個人在電資大樓頂烤了六個小時的肉才全部消化完&#8230;<br />
（其實還有三盤肉沒有解決&#8230;）</p>
<p>慶祝會的事，拿到照片再來寫吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/06/03/68/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreeBSD Anonymous CVS over SSH Setup</title>
		<link>http://blog.lwhsu.org/archives/2007/05/06/56/</link>
		<comments>http://blog.lwhsu.org/archives/2007/05/06/56/#comments</comments>
		<pubDate>Sun, 06 May 2007 01:09:09 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/05/06/56/</guid>
		<description><![CDATA[什麼是 Anonymous CVS? OpenBSD 的 OpenBSD AnonCVS 有很詳細的說明。
一般使用 anonymous CVS 的方法有兩種，pserver 和 over ssh，pserver 設定很簡單，照官方文件來就好；
而 over ssh 的會牽涉到 chroot(2) 的東西，比較複雜一點。
（我也在思考是否可以用 ~/.ssh/authorized_keys 裡的設定來達到這個效果，但是還沒有試出來，目前先能動就好）
OpenBSD 也提供一個 wrapper: http://www.openbsd.org/anoncvs.shar
解開來以後，照裡面的文件就可以將自己的 Anonymous CVS server 弄起來
FreeBSD 的 wrapper (ftp://ftp.freebsd.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar)
基本上是從 OpenBSD 的 wrapper 改來的。
有趣的是，我們可以 dig 到 ftp.freebsd.org 有兩筆 A Record：

ftp.freebsd.org.        180     IN [...]]]></description>
			<content:encoded><![CDATA[<p>什麼是 Anonymous CVS? <a href="http://www.openbsd.org/">OpenBSD</a> 的 <a href="http://www.openbsd.org/anoncvs.html">OpenBSD AnonCVS</a> 有很詳細的說明。<br />
一般使用 anonymous CVS 的方法有兩種，pserver 和 over ssh，pserver 設定很簡單，照官方文件來就好；<br />
而 over ssh 的會牽涉到 chroot(2) 的東西，比較複雜一點。<br />
（我也在思考是否可以用 ~/.ssh/authorized_keys 裡的設定來達到這個效果，但是還沒有試出來，目前先能動就好）<br />
OpenBSD 也提供一個 wrapper: <a href="http://www.openbsd.org/anoncvs.shar">http://www.openbsd.org/anoncvs.shar</a><br />
解開來以後，照裡面的文件就可以將自己的 Anonymous CVS server 弄起來<br />
<a href="http://www.freebsd.org/">FreeBSD</a> 的 wrapper (<a href="ftp://ftp.freebsd.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar">ftp://ftp.freebsd.org/pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar</a>)<br />
基本上是從 OpenBSD 的 wrapper 改來的。</p>
<p>有趣的是，我們可以 dig 到 ftp.freebsd.org 有兩筆 A Record：</p>
<blockquote><p>
ftp.freebsd.org.        180     IN      A       62.243.72.50<br />
ftp.freebsd.org.        180     IN      A       204.152.184.73
</p></blockquote>
<p>但是實際連進去看的時後，會發現只有 204.152.184.73 這台機器有 pub/FreeBSD/development/FreeBSD-CVS/anoncvs.shar<br />
（喂喂&#8230; data 要保持 consistency 阿）</p>
<p>可惜的是，這兩份文件都已經過時，照上面的方法，是完全弄不起來的。連 anoncvssh.c 都沒辦法 compile。<br />
麻煩的事情總是會大量消耗人體 CPU time，所以照 sched_hll(4) 的原則，這個 job 的 priority 就越來越低了&#8230;.<br />
（sched_hll &#8212;  How Lazy Lwhsu Scheduler，請別相信我的鬼話&#8230;XD）<br />
直到昨天晚上因為被雨困在實驗室，才再把這東西搞定。</p>
<ol>
<li>
首先，你要有一個正常 work 的 cvs mirror，這個在 <a href="http://www.freebsd.org/doc/en/articles/hubs/">Mirroring FreeBSD</a> 的 <a href="http://www.freebsd.org/doc/en/articles/hubs/mirror-howto.html">How to Mirror FreeBSD</a> 章節裡面說過了，本文不再贅述。以下假設你的 cvs mirror data 放在 /home/ncvs 下。
</li>
<li>
因為要用 ssh，為了要讓 anoncvs 可以不用密碼，我們要對系統預設的 ssh(8) 做些設定上的修改：<br />
/etc/ssh/sshd_config:</p>
<blockquote><p>PermitEmptyPasswords yes</p></blockquote>
<p>/etc/pam.d/sshd:</p>
<blockquote><p>auth            required        pam_unix.so             no_warn try_first_pass nullok</p></blockquote>
<p>重新起動 sshd</p>
<blockquote><p># /etc/rc.d/sshd restart</p></blockquote>
</li>
<li>
vipw，加入 anoncvs 這個 user:</p>
<blockquote><p>anoncvs::32766:32766::0:0:Anonymous CVS User:/home/anoncvs:/home/anoncvs/anoncvssh</p></blockquote>
<p>當然別忘了，mkdir -p /home/anoncvs<br />
至於 group 的部份，加不加就沒那麼重要了。</p>
<blockquote><p>anoncvs:*:32766:</p></blockquote>
</li>
<li>
我改了一個 <a href="http://freebsd.csie.nctu.edu.tw/~lwhsu/anoncvs/anoncvssh.c">anoncvssh.c</a>。<br />
（希望不要有什麼問題，寫 setuid(2) 的程式總是叫人心驚膽顫，尤其這個還是要 setuid root 的 @_@）<br />
compile 好之後，放到 /home/anoncvs/anoncvssh ，並且將之 setuid root。
</li>
<li>
建立起必要的目錄和檔案，設定權限：</p>
<blockquote><p>
# cd /home/anoncvs<br />
# touch .hushlogin .profile
</p></blockquote>
<p>/home/anoncvs/.plan 放下面的東西：（不弄也不會怎樣）</p>
<blockquote><p>
To use anonymous CVS in doing CVS operations on your local machine,<br />
first make sure you&#8217;re running a reasonably up-to-date copy of CVS<br />
(FreeBSD 2.2.5 or later) and then set the environment variable<br />
&#8220;CVSROOT&#8221; to anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs as follows:</p>
<p>csh:</p>
<p>    setenv CVSROOT anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs</p>
<p>sh/bash/ksh:</p>
<p>    CVSROOT=anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs<br />
    export CVSROOT</p>
<p>Then run your cvs commands as normal.
</p></blockquote>
<p>建目錄們</p>
<blockquote><p>
# mkdir -p home/ncvs lib libexec tmp usr/{bin,lib}<br />
# chown anoncvs tmp
</p></blockquote>
<p>tmp 是為了給 cvs server 寫暫存檔用的，其他的目錄還是給 root:wheel 好
</li>
<li>
一定要有 ld-elf.so.1，不然什麼東西都不會動啦 XD</p>
<blockquote><p>
# cp /libexec/ld-elf.so.1 /home/anoncvs/libexec/ld-elf.so.1
</p></blockquote>
<p>usr/libexec 下的是個 symbolic link</p>
<blockquote><p>
# ln -s /libexec/ld-elf.so.1
</p></blockquote>
<p>chroot 以後會變成指到 /home/anoncvs/libexec/ld-elf.so.1 的。
</li>
<li>
cvs 一定要搬過來：</p>
<blockquote><p>
# cp /usr/bin/cvs /home/anoncvs/usr/bin
</p></blockquote>
<p>看看 cvs 要什麼東西：</p>
<blockquote><p>
$ ldd /usr/bin/cvs
</p></blockquote>
<p>然後 /lib 的 cp 到 /home/anoncvs/lib 下，本來在 /usr/lib 的 cp 到 /home/anoncvs/usr/lib 下。
</li>
<p>如果覺得上兩步很煩，丟個 static linked 的 cvs 到 /home/anoncvs/usr/bin 下我想應該也是可以的。</p>
<li>
弄了這麼多，重要的就是這一步，要有東西給人家 check out :</p>
<blockquote><p>
# mount_nullfs -o ro,noatime /home/ncvs /home/anoncvs/home/ncvs/
</p></blockquote>
<p>還有為了要有 /dev/null :</p>
<blockquote><p>
# mount_devfs devfs /home/anoncvs/dev/
</p></blockquote>
<p>（沒有 devfs，mknod 造出來的 null device 不會動&#8230;）
</li>
<li>
大功告成，換台機器</p>
<blockquote><p>
$ cvs -d anoncvs@xxx.xxx.xxx.xxx co &lt;module&gt;
</p></blockquote>
<p>試試看結果吧。
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/05/06/56/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ports Tree Frozen for Xorg 7.2 merge</title>
		<link>http://blog.lwhsu.org/archives/2007/05/04/52/</link>
		<comments>http://blog.lwhsu.org/archives/2007/05/04/52/#comments</comments>
		<pubDate>Fri, 04 May 2007 15:10:32 +0000</pubDate>
		<dc:creator>lwhsu</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://blog.lwhsu.org/archives/2007/05/04/52/</guid>
		<description><![CDATA[故事是從這邊開始的：kris 昨天寫了一篇 HEADS UP: xorg upgrade plans
X11R7.2 終於要進 official ports tree 啦
今天早上, marcus 就把 ports repository 的 avail 改了，Ports Freeze 正式開始！

HEADS UP: Ports freeze coming in 15 minutes
Re: HEADS UP: Ports tree frozen in preparation for X.Org 7.2 merge

上面那些只是為了方便以後回來翻的 XD
最好笑的是在 #bsdports 上面的這句：
12:35 < @GeJ> Did someone send an email to miwi? I mean, I&#8217;m worried [...]]]></description>
			<content:encoded><![CDATA[<p>故事是從這邊開始的：kris 昨天寫了一篇 <a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=272415+0+current/freebsd-ports">HEADS UP: xorg upgrade plans</a><br />
X11R7.2 終於要進 official ports tree 啦</p>
<p>今天早上, marcus 就把 ports repository 的 avail 改了，<a href="http://www.freebsd.org/doc/en/articles/committers-guide/ports.html#AEN1420">Ports Freeze</a> 正式開始！</p>
<ul>
<li><a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=473131+0+current/freebsd-ports">HEADS UP: Ports freeze coming in 15 minutes</a></li>
<li><a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=476149+0+current/freebsd-ports">Re: HEADS UP: Ports tree frozen in preparation for X.Org 7.2 merge</a></li>
</ul>
<p>上面那些只是為了方便以後回來翻的 XD<br />
最好笑的是在 #bsdports 上面的這句：</p>
<blockquote><p>12:35 < @GeJ> Did someone send an email to miwi? I mean, I&#8217;m worried about his health. god knows what may happen if the guy doesn&#8217;t have his 80+ daily commits.</p></blockquote>
<p>這個情形大概會持續好幾個星期吧（雖然 Guide 上面說通常是一到兩週，不過我覺得這次時間應該不會比以往 Release cycle 的時間短&#8230;必竟這次還要加個大怪物進去，不像以前只是要修 package building fail 的，不是那種實在不行就 mark broken 就好 XD）<br />
所以，這段時間就乖乖地來<strong>寫論文</strong>好了&#8230;（<strong>應該</strong>會吧？）<br />
（阿之前吃的<a href="http://www.freebsd.org/cgi/query-pr-summary.cgi?category=&#038;severity=&#038;priority=&#038;class=&#038;state=&#038;sort=none&#038;text=&#038;responsible=lwhsu&#038;multitext=&#038;originator=&#038;release=">一堆 PR</a> 該怎麼辦呢？就&#8230;就&#8230;就先放著吧）<br />
算算也差不多是是當上 Committer 滿月的日子 XD 順便把學到的東西記錄一下好了。</p>
<p>Fresh Ports Committer 的四個基本作業 ：</p>
<ul>
<li><a href="http://www.freebsd.org/doc/en/articles/committers-guide/ports.html#AEN1250">Add a new port</a></li>
<p>東西先丟到目的 category 下，像是 textproc</p>
<blockquote><p>
Tools/scripts/addport -n -a -l 111267 -d py-hyperestraier-python
</p></blockquote>
<p>一樣先把東西丟到目的 category 下，這次是 security<br />
不一樣的是， -l 後面要用 -1，代表沒有 PR</p>
<blockquote><p>
Tools/scripts/addport -a -l -1 -d py-gnutls
</p></blockquote>
<p>參考資料：<a href="http://blog.dragon2.net">clsung (mentor)</a> 當年的筆記 <a href="http://blog.dragon2.net/2005/11/26/257.php">[ports] add new port</a></p>
<li><a href="http://www.freebsd.org/doc/en/articles/committers-guide/ports.html#AEN1302">Removing an Existing Port</a></li>
<p>這也有寫好的 script 可以用，但是用別人寫的 script 總是怕怕的，這玩易兒為什麼老是要去把 ports repository 裡面所有東西都 check out 出來才甘心阿 @_@ （雖然也都被我 cancel 掉就是了&#8230;）</p>
<p>~/cvsroot/ports 下，其實也不一定要在這邊做啦&#8230;</p>
<blockquote><p>
Tools/scripts/rmport devel/crossgo32 devel/crossgo32-djgpp2 devel/crossgo32-djgpp2-pdcurses
</p></blockquote>
<p>然後寫寫 MOVED，寫寫 commit log 就可以送出拉。（現在到了真正要 ci  的時候還是會有點怕怕的&#8230;）</p>
<li><a href="http://www.freebsd.org/doc/en/articles/committers-guide/ports.html#AEN1341">Repository Copies</a><br />
這個其實不難，大意就是把皮球踢給 portmgr XD<br />
詳情看 <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/">Committer&#8217;s Guide</a> 裡面 <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/ports.html#AEN1341">Repository Copies</a> 的部份<br />
步驟簡單整理如下：</p>
<ol>
<li>change State 為 <strong>repocopy</strong> 還有 change Responsible 為 <strong>portmgr</strong></li>
<p>		記得要在 Why: 那邊寫清楚要把什麼 copy 到那邊去，不然會被 portmgr 罵 @_@</p>
<li>portmgr 做完之後就會被 assign 回來，這時候裡面的東西除了檔名以外都是舊的，所以就像平常一樣快快樂樂 update 就好 <img src='http://blog.lwhsu.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li>其它地方的東西該改的改一改，這次就差點忘了要去加 lang/Makefile 裡面的 SUBDIR，還有 CVSROOT 裡面的 modules </li>
<p>		還好是在 Ports Tree Frozen 之前想起來，不然到時候還要找 portmgr Approve 事情就複雜了&#8230;
</ol>
<p>作業成果：<a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/112223">ports/112223: [NEW PORT] lang/gnat-gcc42</a><br />
注意到了嗎？Responsible Changed 裡面有個 ：</p>
<blockquote><p>lwshu->lwhsu</p></blockquote>
<p>我在 Big5 的世界會因為許的關係受到很多不公平的對待&#8230;想不到 ASCII 的世界也對我不好阿&#8230;<br />
之前 <a href="http://www.neville-neil.com/">gnn</a> 在 irc 上面也是把我名字叫錯好幾次&#8230;Orz<br />
（不過學到了一句話 &#8220;blames his keyboard&#8221; XD）</p>
</li>
<li>Regular port update</li>
<p>這就沒有什麼太多好說了，大概做的事和以前做得差不多，反正就是改改改，tinderbox testing，過了就 ci，<a href="http://www.freshports.org/ports-mgmt/porttools">porttools</a> 很好用，請多愛用。That&#8217;s all.<br />
阿對了，還有也可以處理別人的 PR，tinderbox testing 不過就退稿 XD</p>
</ul>
<p>大致上就是這些工作啦，Mk/ 下面的東西，小朋友沒事不要亂動。據說新手要等到那天把 ports INDEX break 了才可以從 mentorship 裡面被放出來&#8230;大概就跟拔到獅子的鬃毛就會長頭髮的道理一樣吧 XD</p>
<p><strong>References</strong>:</p>
<ul>
<li><a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/">Committer&#8217;s Guide</a> &#8212; 我倒底把這東西翻完了沒呀 -_-</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.lwhsu.org/archives/2007/05/04/52/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
