孤島日誌

2005年九月,一個不想認真寫、卻想認真生活的部落格
2009年六月,iBook不再是iBook
2011年五月,一切未定


汪洋的世界中,我們每個人都是座孤島

星期三, 12月 15, 2010

幾個單字

最近查了幾個單字,覺得還是記錄一下,讓自己加深對單字的印象。
本篇單字: anaconda, boa, caiman, figment

昨天看到國家地理頻道的節目,一組研究人員到處奔波尋找森蚺,要採集他們的 DNA 做比對。聽到了幾個單字覺得很好奇,於是查了一下。是 Anaconda 和 Caiman,這兩個單字都是動物的名稱。Anaconda 比較常見,其實就是蠎蛇的一種。查這個字的時候在字典裡看到 boa 這個字,boa 是蠎蛇的意思。沒在這裡看到的話,這個字也幾乎被我遺忘了,一起記下來。

另一個字,Caiman。剛開始查的時候差點以為是 Caman,還真的也有差到圖,不過最後發現 Caiman 才是正確的拼法。國家地理頻道譯作「凱門」,國譯編譯館的名詞檢索則是譯為「凱門鱷」。是的,這是種鱷魚...不要被咬到了。

最後,figment。最近我開始拾起 Umberto Eco 的 The Island Of The Day Before (昨日之島),這本我一直想讀完卻好幾度放棄的書。figment 是在這裡面讀到的,意指為虛構的事物。

星期六, 11月 13, 2010

歐舍,哈瑪 G2 耶加雪夫

今天下午手沖一款買豆子時歐舍額外送的豆子,哈瑪合作社的耶加雪夫。額外送的豆子因為是用一般的塑膠袋子裝的,所以我通常都會直接先煮掉,以免錯過其最佳風味的時刻。這款豆子烘培度是 M,原本以為會很酸的,但沒想到一入口首先出現的是平薄的苦味,隨後一股甘甜便立刻衝了上來。

今天沖煮的溫度是 91 度左右,15g 的豆子沖出約 150 c.c. 的咖啡。用的工具是有田燒的濾杯,沖到後段時濾杯的流速會慢很多,所以第二次時是硬沖過量的水壓出來的。超過的水就移走滴在別的杯子裡。原本有點擔心浸泡太久會萃取過度,不過第一口喝下去可以確定味道是沒問題了。

如剛剛說的,第一口並不覺得酸,反而是很平實的苦味(幾乎是沒有)跟緊接在後的甘甜。喝第二口,我想應該是因為杯子不夠熱,溫度降低的關係,第二口酸味就出來了。微微的酸氣壓過苦味,配上相同的甘甜,很合。

沒想到這款豆子還蠻令人驚豔的。

星期一, 11月 01, 2010

Unix 重新導向跟 2>&1

這幾天因為研究 L4D2 的專屬伺服器架設,看到 Srcds 網站針對確保 Srcds 服務程序能隨時保持高優先權,在 crontab 底下使用 renice 的方式每五分鐘調整一次程式的優先權,其指令中
renice -20 `cat /home/yoursrcdspath/srcds.pid` >/dev/null 2>&1

最後面的「>/dev/null 2>&1」為 Unix 的重新導向技巧。雖然大約知道是什麼,不過實際上的原理我卻一直不明白,大約查了一下,疑問變更多。於是我決定來搞清楚它的來龍去脈,這篇文章就是這樣來的。

首先,我們先說明一下這段語法的作用,「>/dev/null 2>&1」實際上在這裡會將左邊程式的執行結果丟給「/dev/null」,然後不管程式有什麼錯誤,也會一併丟給 null。熟悉 Unix 的人大概知道,「/dev/null」是 Unix 底下的垃圾筒+黑洞。它不帶任何意義,所有丟進去的東西都會被吃掉然後不見,反正你不想看到的東西丟給 null 就對了。而「>」的意思其實是,將「>」左邊輸出的東西重新導向到右邊去。但不止是這樣而已,系統將標準輸入輸出分成三個:標準輸入 (stdin)、標準輸出 (stdout)、以及標準錯誤輸出 (stderr),它們的 fd (file descriptor, 檔案描述子) 分別是 0、1、2。當「>」左邊未指定任何東西時,它會讀取左方程式的標準輸出 (也就是 fd=1) 重新導向給右邊的東西,但是你也可以指定要重新導向的 fd (也就是說「>abc.txt」會等於「1>abc.txt」)。所以可以想見 2>&1 的意思應該是把 fd=2,也就是標準錯誤輸出重新導向給 &1。而這邊的 &1 指的其實就是 fd=1。這邊似乎有點混淆視聽的感覺,為什麼「>」前面的 fd 不需要指定 &,後面的 fd 卻又要加 & 呢?我沒找到確切的原因,但是根據這篇討論,我認為有可能是因為「>」左邊只接受 fd,但右邊所接收的語法卻應該是檔案名稱。因此若用「2>1」其結果會變成「將標準錯誤輸出重新導向給檔案名稱為 "1" 的檔案」,所以我們需要用 & 來告訴系統後面的 "1" 指的是 fd。

接下來,有趣的東西來了。根據「man bash」裡 REDIRECTION 段落裡的說明,重新導向的順序是由左至右。也就是說「>/dev/null 2>&1」會先處理「>/dev/null」再處理「2>&1」。如果聽到這裡你覺得怪的話,再告訴你一件很幹的事。用「2>&1 >/dev/null」並不會將 stderr 導到 /dev/null。「man bash」裡的說明如下:
Note that the order of redirections is significant. For example, the
command

ls > dirlist 2>&1

directs both standard output and standard error to the file dirlist,
while the command

ls 2>&1 > dirlist

directs only the standard output to file dirlist, because the standard
error was duplicated as standard output before the standard output was
redirected to dirlist.

我看到這段的時候重複讀了好幾遍,確定我他媽的沒誤解原文的意思。「ls > dirlist 2>&1」的 stdout 不是先被導到 dirlist 去了嗎?後面再把 stderr 導到 stdout 也會輸出到 dirlist 去,這感覺上像是前面 stdout 的導向到後面仍然有作用。但是「ls 2>&1 > dirlist」先把 stderr 導到 stdout 之後,後面再把 stdout 導向 dirlist,這時 stderr 卻不會跟著被導過去。我對於這點相當困惑,於是在網路上找了一下。發現這篇文章,裡面的回答提到,在對 stdout 做導向時,系統所做的事大約會是這樣:
close(1);
fd=open("results.txt", O_WRONLY, 0);

系統必需先把原本已經打開的 fd=1 關閉,然後再將要導入的檔案開啟,新開啟的檔案就會被指定為 fd=1。這時候再遇到後面 stderr 的導向時,系統會這麼做:
close(2);
fd=dup(1);

一樣是先把 fd=2 關閉,但是這時候要導向的是另一個 fd,所以基本上系統做的事情只是把 stdout 的 fd 複製一份給 stderr。由於 fd 是指向相同的地方,所以這時任何寫入 stderr 的資料當然也會進入已經開啟的 dirlist 裡。那麼倒過來為什麼不行?因為倒過來的話我們會先把 stderr 指向 stdout,但是當 stdout 被導向 dirlist 時會捨棄舊的 fd=1,開啟 dirlist 為新的 fd。這時 stderr 指向的卻還是舊的 stdout 的 fd,因此並不會寫入 dirlist。

由以上看來,系統在做導向的時候會依序把要導入的檔案打開 (若為 fd 則直接複製該 fd),導向完成後才會開始執行程式的輸出。這點完全符合 REDIRECTION 這段的第一句話:
Before a command is executed, its input and output may be redirected using a special notation interpreted by the shell.

重新導向是 Unix 系統上很有力的一個工具,和 pipeline 結合使用可以使得下指令變得很靈活。但是要進行較複雜的運用時就必須更深入了解其中的原理,否則很容易就會出錯了。

星期四, 8月 19, 2010

Scrubs, Scrub Suits, etc

有時候,逛網頁找資料其實是件很有趣的事。今天晚上莫名奇妙的看到一個叫Scrubs的美國影集片段,講的是醫院的故事。我很納悶為什麼會用Scrubs這個字,於是查了一下Mac內建的字典。乍看之下這個字似乎跟醫學沒什麼關聯,但是其中有一行是這樣寫的3. (scrubs) informal term for SCRUB SUIT。Suit?似乎是某種衣物,Google了一下,查到一位外科醫師的網頁,寫到醫院對scrub suit的新規定,然後談及scrub suit的緣由和相關文獻。由於難得可以看到這類專業的東西,我像挖到寶一樣多讀了幾篇該部落格的文章,又多學到asystole跟cardiac arrest這幾個字,以及心臟手術和心肺機之間的關聯,受益良多。

星期二, 7月 06, 2010

咖啡香

 撥開萃取過的咖啡粉,溼陳陳的香氣沿著法國壓的杯壁舉上鼻頭。鼻息啜吸一口杯中香氣,果然和預期一樣,裡頭還保留著濃郁複雜的香氣。真捨不得倒掉這些粉,但是咖啡不像茶葉,只能萃取一次。再多聞幾下,便輕輕將溼粉一點點的倒掉。

 今天煮的是歐舍的塔拉珠金丘農園,原本算好是用一比十八沖煮出 600 c.c. 的冰咖啡。用小號的 350 c.c. 法國壓,水 300 c.c.、豆子 33 g、中等研磨度、沖煮兩分鐘。不過沒想到先放咖啡粉下去讓我錯估了水量,時間到之後壓下豆子才驚覺水量比 300 c.c. 少上許多,應該只有 200 c.c. 左右。因為是冰咖啡,並且打算加牛奶,所以這樣似乎反而更好。嗯,我煮咖啡果然是愈來愈隨性了...。總之,最後還是煮出很好喝的的冰咖啡,苦中帶有牛奶微微的甘甜味。

 最近沈寂了很久,一方面寫著程式碼,也在思索著以後,還有現在該做的事。反正,是一團混亂就對了。人生,總是沒什麼風平浪靜的時候。有取有捨,然後回頭才嘗出個中甘甜。

星期五, 4月 02, 2010

無詩

我想尋找感動,卻一腳跌進虛空。

手摸不著的黑暗,落塵、迎面鞭抽,

漸影層層,死氣灰灰。

前,凝止的火焰;

後,埋掩來沙夜成散風。

星期四, 3月 18, 2010

Life As It Falling And Rising

The rise and fall of life.
The end of day of twilight
Haste to both ends of my avenue
Sees nothingness the game approaching
Rule-breaking threshold.
We, oui, have a taste of it.
That's all and, enough.

星期五, 1月 15, 2010

原來志工是不分星座的

上星期六,協會的老師一起聚餐。大家一邊聊,最後超資深的傅老師竟然開始星座分析起來。大家的星座都猜得差不多之後發現,星座分佈很平均,幾乎沒有重覆的星座。Oh my god,這真是太神奇了,那桌至少有十個人,沒記錯的話只有一個是重覆的星座...

看來做志工是不分星座的 XD

星期三, 1月 13, 2010

關於Kensington

自從買了Kensington的Expert Mouse之後,這隻軌跡球一直便是我家中電腦的好幫手。不管是一般使用或玩遊戲幾乎都仰仗它,從iBook用到iMac然後到現在。剛開始用Expert Mouse時它是款不論在軟體(驅動程式)或硬體上都無懈可擊的好工具,但隨著這幾年作業系統的更替(不論是Windows或Mac),Expert Mouse在軟體方面的支援卻讓我漸漸對Kensington打了個問號。

Expert Mouse的驅動程式MouseWorks最新的更新日期為2006年,版本3.0r1 (Mac 版,Windows版也是同年最後更新)。事實上,原本的驅動程式已相當成熟,並不需要太多更新來維護。因此最後的更新日期本身並不算是太大的問題,但舊驅動程式在新推出的作業系統上存在相容性問題,這就不太對了。目前MouseWorks在Windows與Mac OS X上的的情況還算堪用,但自從Vista/Leopard以來舊驅動程式就有一些問題存在。大體上在Windows中(就我所知)大都是安裝上的問題,若以相容性模式安裝及執行之後,它的作用並無太大問題。在Mac OS X中,我漸漸發覺一些小問題,像是Leopard上無法以滾輪縮放螢幕(我的羅技Revolution VX完全沒有任何問題)。雖然都是些不大不小的東西,軌跡球的運作也都還正常,但這些問題在其方便性上卻確實打了些折扣。這點讓人有些擔心,而Kensington看起來不太像是沒有技術能力可解決這問題的公司。

這幾年Kensington在市場上慢慢的推出不少新的滑鼠系列,我所知道的都以Slim為名。這系列的驅動程式不再使用原先的MouseWorks,而是另有驅動程式。原本新的系列使用新的驅動程式也是無可厚非,若說Expert Mouse是已停產的機種那我也認了。很可惜的是,而即使是在我寫文的當下,Expert Mouse在其網站上也仍有販售,即便是去年推出的SlimBlade TrackBall的定位也非為取代Expert Mouse。這是我所相當不樂見的現象,尤其是我視Kensington為專業軌跡球廠商(我相信許多Expert Mouseh的使用者也是),Expert Mouse的硬體保固長達五年,又是現有市面上的產品。Kensington停止對MouseWorks更新的現象對我來說是個小小的警訊,是否該公司已停止此產品的軟體支援?即便其硬體保固長達五年,假設我是今年購買Expert Mouse的使用者,五年後我的軌跡球是否還能在未來的作業系統上使用其現有的功能?我相信這也會是許多Expert Mouse使用者的疑惑,畢竟一個定價99美元的週邊絕對不會是你想要一年換一次的產品。尤其是滑鼠被視為「消耗品」的今日,這種價格的東西如果只用個一兩年就變成癈物的話,這家廠商可能會立刻被列入拒絕往來戶。

Kensington在市場上一直有其不錯的名聲,加上現有的驅動程式在新的作業系統上都還算正常,所以我目前也還處於擔憂與疑惑的階段。但Kensington接下來的發展則是關鍵,若其未更新Expert Mouse產品線,且又繼續放任驅動程式惡化,那麼在下次要買Kensinton的產品前我可能要再好好考慮一下了。

星期一, 1月 11, 2010

歐舍,聖塔茵莊園 M+

這款聖塔茵莊園據說是CoE最高分記錄保持者,之前已試過一次。那時為了嘗嘗看咖啡豆原本的果香,特地訂了M0的培度。M0培度的豆子若以平常方式沖煮味道相當的淡,但香味非常明顯,以約一比10~13的比例沖煮時則口感比較接近平均煮出來的咖啡濃度。M0的酸味相當強烈,幾乎掩蓋了其它味道。當時並沒有太仔細品嘗,所以也無法多說什麼。

接下來是這次的重點,培度M+的豆子。第一次煮是星期六,那天我整天都在外面,所以是家人煮的。以法國壓沖煮,一回來聽說很好喝。不過我回家時已是近十一點,只喝了一口加奶精而且冷掉的咖啡。隔天晚上我用虹吸煮了一次,香味很棒,濃度也很剛好。這款豆子味道不會太苦(個人覺得適中),而且就跟歐舍的介紹一樣:甜味持久。

以下是虹吸沖煮時的各項系數:
豆水比例:1比17
研磨度:中等
沖煮時間(不含水上下的時間):1分10杪(5杯650 c.c.)、50秒(3杯450 c.c.)

沖煮出來的咖啡含有很特別的香氣,剛開始無法分辦裡面有什麼樣的味道,只覺得有一種奇妙的「泥土氣」,不過參考了一下歐舍的資料,我發現我聞到的應該是巧克力混合著一點點的焦味。酸味並不明顯,反而細嘗會發現它有溫合的甜味,即使喝完咖啡很久之後這甜味的餘韻似乎仍隱隱留藏著。