Bicycle Life: 我的`09 IGUANA Disc與配備(二)

續上篇.

Giant下管保護套

大概是因為原廠巧克力胎的關係, 我的鏈條莫名的非常容易髒, 相對的也把髒整個帶到下管上, 每次回來要擦掉那些油污實在很麻煩, 要我一勞永逸打鍊洗鍊換乾式或蠟式鏈條油, 不是不行而是技術未到家, 所以臨時弄個下管保護套, 一個禮拜洗它一次吧.

Jagwire 外管保護套


第一個禮拜就發現我的煞車/變速外管會磨到車身烤漆, 車店指給我「貼膠帶」的解決方案, 找了一下網路上的資料後決定還是買一組外管保護套來防範吧.

Allay Sports 1.1 與 TOPEAK座墊包+維修工具組.

因為第一次騎就發現屁股痛到不行, 幾乎都淤青了, 網路上Study一下後買了這組好評不斷的座墊, 剛好因為這組座墊支援TOPEAK座墊包的扣具, 乾脆加價購直接買個座墊包+工具組的Combo餐吧. 不搭配車褲時好騎耐坐, 搭配了車褲簡直相在做沙發啊(好像太誇張….).

Costco的INFINITY安全帽

A君強力推薦, 看完了車店的安全帽價位後實在覺得沒理由買一顆千把塊的安全帽. 跟Ellen好運的在內湖Costco剛好碰到有貨, 她選了銀色搭她的Alies 2, 我只好用黃色啦.

(待續)

Bicycle Life: 我的`09 IGUANA Disc與配備(一)

因為Ellen衝動型購物, 讓原本還在猶豫要買Giant Flight M1還是Giant IGUANA Disc的我被迫快速決定, 於是就這樣把愛車牽回家了, Ellen買的是很日系風格的Giant MeMe.

沒多久又因為女人的善變, MeMe被出售了, 快速成交後也快速的牽回Ellen的新車Alies 2


(我怎麼覺得Alies 2比我的IGUANA還大台還威風啊 @.@)

騎了好幾週一直都沒說的原因是: 我是大肉腳. 第一天光是騎到關渡我就腳酸屁股痛, 一直練到現在我們兩人直衝社子島一周來回都沒問題了, 才敢說我開始騎車了.

我現在才知道, 如果買車花一筆, 賣配備跟人身部品大概要再花個一筆, 下頭介紹一下我的車用配備.

【捷安特】NUMEN 超省電高亮度5LED前燈 (黑灰)

我打算裝兩顆, 一顆閃一顆恆亮, 主砲當然是要對稱才行! 不過現在暫時只買一個.

CAT EYE VELO 8功能有線旅程電腦(黑)

簡單實用的車錶, 我原本就不大喜歡用無線的, 這短短50cm不到, 而且又很容易走線的地方, 何必非要無線不可呢. 剛開始沒買車錶還在考慮要不要直接上Garmin GPS當車錶用, 看了一下眾人意見後, 還是覺得先有個小車錶吧.

【TOPEAK】TriBag三鐵專用上管袋

這個袋對我來說太好用了, 剛好夜騎時攜帶的皮包手機與鑰匙可以不偏不倚的直接放進去, 不會太空也不會太擠. 強力大推的情況下Ellen也敗了一顆.

【Topeak】Modula EX Cage水壺架跟水壺

原本就有一個水壺架了, 但是有次跟Ellen出去夜騎發現, Giant的鋁製水壺架放一般的小寶特會夾不緊, 反而是Ellen的TOPEAK水壺架可以調整鬆緊非常好用, 一悶之下就去裝了第二個水壺架. 反正以我的水量跟汗量, 兩壺水還是不夠用的啦.

我的白水壺跟Ellen的銀水壺.

(待續)

程式設計師用的”Unicode”字型

前陣子很多人都在討論關於「程式設計師用的字型」這個主題, 百家爭鳴摟! 當時我稍微看了一看, 例如c9s這邊說的Monaco, 或是Tsung’s Blog提過的DejaVu Sans Mono, 不巧發現, 原來我早就在用了, 我Windows下putty用的字型剛好是Monaco, OSX下的Terminal字型剛好是DejaVu.

當然也去試試看很多人推薦的Consolas, 說實在的跟Monaco沒有什麼差距.

原先嘛, 這種字型只要看的習慣看的舒服都是好的, 可是最近剛好碰到一些困擾, 主要是因著Zend Studio這類以Java寫出的IDE上. 其實我自己寫程式沒英文是ok, 但是一來要帶著一些小朋友寫, 不寫中文註解每個都會跑來問我是啥意思, 另外一方面也想能直接在Zend Studio中編輯PO檔, 所以只好乖乖的去找一下解決方案.

在目前常用的OSX上, 我的Zend Studio用的是Monaco, 顯示的狀況非常好, 就如下圖這樣:

但是在Windows上, 如果用了Monaco, 混到中文的部份就很慘啦.

Consolas也差不了多少…

沒辦法, Monaco & Consolas不含CJK嘛….

為了解決這個問題, 我花了一點時間找到兩個含CJK的Unicode Font, 當然有CJK的Unicode Fonts不難找, 不過又要等寬又要適合寫程式使用(程式設計師字型該有的特色在這裡)就不這麼好找了. 就在我快要放棄打算自己用OFL做一套時, 還是讓我看到兩個還不錯的, 一個是大陸人弄的YaHei.Consolas Hybrid, 簡單說就是把雅黑體跟Microsoft的Consolas”尬”在一起(我不曉得這有沒版權問題….), 一個就是我現在用的GNU Unifont摟.

YaHei.Consolas Hybrid雖然不錯, 但是在我的Zend Studio下字會整個糊掉, 我換啥大小都沒用.

GNU Unifont就非常不錯, 幾乎零缺點啦.

有需要的人參考參考摟.

崩壞之光


在趨於絕望的邊界,崩解的愛正在重生…
——片山恭一最新中篇小說,直抵寧靜新境界。
搖滾天王伍佰中文版獨家封面掌鏡!

「我不是純愛作家,未來希望能不拘泥於創作形式,一年完成一本書。」——片山恭一

生命只有一次。這是確實的。
但是死亡呢?死亡也只有一次嗎?
又或者,它仍不斷發酵,煽動著留下來的人……

  《崩壞之光》為片山恭一2007年最新作品,書中收錄兩部中篇小說:〈崩壞之光〉及〈雲之影〉,情節皆聚焦在失去至親的人身上,對於愛的本能開始產生動搖,失去表白的能力,或逐漸對日常裡的丕變,採取完全被動的手段,終至和世界產生一道無法跨越的斷層。如同片山恭一在其代表作《在世界的中心呼喊愛情》裡所的描述的:「深深思念一個人的時候,我們不知不覺地活在世界的中心。」,這本書裡的角色,和世界上每一個得以棲身的角落,也都有著最遠的距離。

  〈崩壞之光〉描述一名曾是拍攝體育賽事的攝影師正臣,在被宣告患有不治之症後,開始只對那些彷彿死亡已久,卻仍然留在世上的廢墟場景感興趣,仔細推敲著光的樣貌,想留下一瞬那其中迷離又稍縱即逝的,像是生命的畫面。而在一趟攝影之旅的旅程中,他終於看見了所謂的「崩壞之光」。那究竟,是一種什麼樣的景象?

  〈雲之影〉描述一名失去兒子的母親沙枝,在最愛的人已經不在世上後,於空殼般的生活裡消磨的日子。不過已經遺忘的過去卻在此時找上門來,在如機械般一成不變持續推展的日子裡,她必須重新再適應一次那麻木的自己,畢竟那似乎才是最輕易的生存方式……

當「崩壞之光」和「雲之影」融合之時,是否就能夠看到新世界?

  在死亡順著時間之流,擊中身邊所愛的人,將他們帶走了,活下來的人該如何在那一大片空虛的籠罩下,重新獲得愛的能力?愈來愈往內裡探索生命意涵的片山恭一,以籠罩著生死意味的故事引誘讀者思考,當面對無法逃避的生命議題時,你到底是為了什麼而活?片山筆觸極其優美、充滿日式風景的靜謐,值得靜靜細讀。

(Quote from: Books.com.tw)

這類描述生命價值的小說, 總是要讓人灰暗一下.

這本書的兩個篇章《崩壞之光》與《雲之影》正好是一個恰到好處的對比: 面對即將消失的自己, 與面對已經消失的愛子. 正好是「亡靈」與「生靈」的對照組. 即將面對死亡的攝影師是想在成為亡靈前搞懂生命的畫面, 那種從崩壞的一切中灑下的光會在底片上製造出怎麼樣的形象呢? 而彷彿將自己靈魂一起隨著往生的愛子埋葬的母親, 在長期適應成為活亡靈的日子裡頭, 得要再度體驗一次活著的感受, 再度搞懂活下去的價值.

雖然結局都不能算是好結局, 甚至沒有結局, 不過這是很典型片山式的表現方法.

生命價值的討論一直都不是很容易有共識的. 沒有歷經過那些苦痛的人很難真正的理解那種彷彿被拋棄於世的生靈該怎麼重新填滿被瞬間掏空的一切; 沒有深思過關於自身死生問題的人也很難認同那即將熄滅的蠟燭應該怎麼樣在最後的一段時間用力的燃燒自己. 所以讓這本書成為「思索」大於「閱讀」的特殊小說.

有人曾說過, 出生的記憶彷彿就是在抓住那道離開母親子宮時的第一道光, 或許, 死亡的同時也是從人世這個龐大的子宮離開時的所看到的第一道光吧.

只是, 這道光是來自天堂, 地獄, 還是外星? 沒死過的我, 真的不知道.

Online upgrade/makeworld: 6.2-R to 7.0-R

早該更新了, 不過還是撐了很久. 原因有二, 第一是我不想備份一堆東西, 我每次都會掛一漏萬; 第二是我不想為了非壓迫性因素專程跑一趟機房: 我行程夠滿了, 為了這麼宅的理由跑機房實在太叫人難過了.

不過現在因為在幫G社建完整的開發環境, 所以正好拿該社的機器做了一點Benchmark, 其實一切如我所料, SMPng的確是大幅提高FreeBSD在SMP與multithread上的效能(由於一些測試設定跟硬體狀態都是為該社特化的, 實在不便公開出來, 事實上我也不想公開這種東西, 免得一堆大神級人物及其信徒找我麻煩), 所以還是花了一點時間study, 然後昨晚開始動工了.

1.先改一下/etc/make.conf, 把tag從RELENG_6_2改成RELENG_7_0.
2.到 /usr/src 下去make upgrade, 把整套Source都拿回來
3.make -jX buildworld, 其中X是你的CPU個數, 我建議最好填「實體」數量, 不要填Hyper-threading後的數量, 實測結果來說不會比較快.
4.make buildkernel KERNCONF=XXXX, 其中XXX是Kernel config的名字, 最好還是跟舊的比較一下, 我機器上的主要差別是, SCPT現在depend INET6, 沒編INET6的請拿掉SCPT吧.
5.make installkernel KERNCONF=XXXX, 先裝完新kernel.
6.關所有service, 留下ssh就好, 直接 make installworld, 然後祈禱
7.mergemaster -i, 請強烈注意firewall.rc, hosts.allow之類可能讓你重開時會哭的地方, 別按i或m按過頭了.
8.reboot, 成敗關鍵在此, 請向你所信賴的神祈禱, 如果不信神的話, 跟身邊的寵物也行.
9.清掉ports tree, 或者砍掉INDEX-6然後重新make fetchindex
10.到 /usr/ports/misc/compat6x 去把compat6x裝一裝吧, 讓一些還沒重編過的package能暫時順利執行.
11.如果有心有空, 作一下 portupgrade -af吧, 記得作之前把 /var/db/pkg/pkgdb.db 砍掉.
12.都做完reboot, 收工

Remote/online makeworld的戰績是, 3到4失敗, 4到5成功, 5到6失敗, 6到7成功. 現在想想, 我還真犯賤自己找事緊張嚇死自己, 其實機房離我家不到兩公里啊.

收到HypoDot 122

雖然我知道HypoDot是什麼, 不過勒, 自認還不到可以把作品「印出來」的程度.

不過還是收到Ellen偷偷訂來送給我的HypoDot 122摟.

開箱: 整體質感很不錯, 外頭標籤印的很「美式」

裡頭很體貼的附上若有瑕疵時回寄用的貼紙跟一張很詳細的Shipping Detail

從小紙袋拿出來的就是本體啦, 「3Y5M」- Ellen 取的標題

裡頭有我們家兩隻小貓的照片….

也有兩位貓奴的照片

雖早有耳聞河馬點(HypoDot)的品質不錯, 沒想到精緻到這種程度, 的確是很值得推薦的唷.

家庭新成員: Hikaru

大概一個多月以前就在找適合的貓領養.

一來是Madoka老了, 活動力降低的他整天都在睡, 一副懶洋洋的樣子, 讓我在懷念他以前當貓中途時的管家樣; 另一方面Ellen也想多養一隻貓, 所以上禮拜六就跑去了流浪貓保護協會的送養中心找.

Ellen一下就看上了一隻原名波蘿胖的奶油橘貓, 三個月大, 公貓. 預定之後在昨天終於把牠帶回家了. 取名為Hikaru(光), 是我曾養過, 已經當貓天使的金吉拉的名字.

Hikaru一回到家就先熟悉環境, 出乎意料的Madoka沒有如以往一樣給他下馬威, 反而是像看到小狗般躲開, 而Hikaru除了到處鑽之外, 還很喜歡找Madoka玩, 看到Madoka被Hikaru追著跑的樣子就覺得實在很好笑, 一隻12歲的貓被一隻三個月大的小貓追打的樣子真的很有趣啊.

當然Ellen也很高興的看兩隻貓玩追逐遊戲.

希望Hikaru快點習慣新環境, 別一直躲在沙發底下摟.

Time Machine 是好物

大概是因為我的Leopard桌機是拼湊出來的, 所以慢慢有些小毛病出現.

首先是Office常常掛掉, 大概持續開著Entourage跟MyDay, 平均一天會當個一兩次, 這倒還好. 比較麻煩的是有時會直接給我四國語言當機, 雖然運氣很好一直都沒損失什麼, 可是久而久之還是會怕.

剛好看Wiki時發現很多AMD Base的Hackintosh都是用Zephyroth的10.5.2 Rev.1裝起來的, 於是萌生了重灌的念頭.

跟Windows一樣, 重灌我最擔心的是要花很多時間力氣在軟體部份. 於是為了小心起見, 還是用個USB外接硬碟做了一份Time machine備份.

重裝完要把Time Machine備份取回時, 發現取回備份可以只取設定跟Application, 反正機器放著給它跑, 我先用Macbook工作.

沒想到取回後幾乎完全沒改變, 只有Kernel跟Extensions換成Zephyroth版的, 自動更新後整個穩定度提昇不少, 常發生的Crash也不再出現.

雖然知道Time Machine只是另一種型態的Rsync罷了, 不過這種方便的UI讓我不需要開Console用Unix方式backup/restore, 實在是方便的沒話說. 這等於讓我省掉重買一台C2D桌機的費用, 很划算啊!!

Time Machine實在是好物.

所謂的善意與戰鬥-九把刀被抄襲事件的感想

其實早好幾天前就看完了這個事件的新聞.

剛剛又在終極邊疆看到了RipperL對這個事件的評論善意與戰鬥的選擇, 突然心裡有些想說又說不出來的看法, 像魚刺一樣梗著.

比起書寫文字, 我更多的是書寫程式, 而我的文字或程式被抄襲的次數也是用上雙手雙腳都數不清了. 當然我不是什麼大作家或是程式達人, 加上也不涉及利益問題, 所以肯定的從沒有被「報導」或是「鬧大」.

我從不看九把刀的小說, 這並不表示我不喜歡或是看不起九把刀. 卻因為這個事件讓我讀完了所有涉及抄襲的雙方文字, 讀完後我的意見是: 兩人都是很棒的文字創作者, 在詞彙運用上各有擅場, 不過這不是重點.

純粹從文字角度來說, 事實上真的很難去斷定「這是抄襲」, 畢竟在文字運用上完全採用了另外一種敘述方式, 反而是故事的概念與情節的鋪陳幾乎是相同的, 因此純就法律上來說, 若九把刀要控告這位高中生, 我看是浪費時間甚至「自取其辱」, 最後會因為判決不符合九把刀的正義而讓整個事件導向一種誣指.

看完九把刀的處理過程, 說實在實在我很難想到更好的處理方式了, 而且真正鬧大的是這位高中生的家長與水果日報, 而非九把刀或他的經紀人或出版社. 所以從程序正義來說, 我不覺得九把刀違反任何正義, 而他所追求的正義也僅是維護自己在作品上的原創性, 而不是舖天蓋地的企圖毀滅這位高中生.

以RipperL的看法, 他認為是情境上的相似而非概念上的相似, 這點我尊重卻很難同意. 九把刀的原始概念是混亂而陳姓高中生的則是相反, 但事實上若以陳姓高中生的概念為出發點, 那麼該篇小說會成為bug一堆的不合理作品, 因為誰都可以快速適應一個相反的世界: 把話反過來說誰不會? 以至於後頭跟九把刀原作品相似的橋段與劇情都會變得跟整體概念脫勾.

這讓我想到很多年前發生的一個事件: 幾年前我為了用FreeBSD Server來幫我壓MP3, 而找了一些在command line抓取CDID然後送到CDDB去查詢出整個專輯名稱的小程式, 由於所有找到的都是Linux版, 且用的都是Device Level的codes去抓取, 以至於FreeBSD上完全不同的Device Structure讓這些程式連用Linux Emu都沒辦法正常運作. 所以我花了一個晚上的時間去對照Linux與FreeBSD在CDFS上的運作方式而把這些東西做了FreeBSD patch.

我把這些Patch都commit回去給原作者, 而原作者也很乾脆的把這些Patches都放進了下一個Release中. 有些是GPL, 有些是BSDL, 有些啥都沒說, 而我也僅在Header部份有加上我的Email而已. 我愉快的壓著mp3, 而那些小patch也很愉快的被Release出去.

過了幾個月, 我把我的小工具集分享給友人P君, 請他協助我壓一套CD時, 事情就這麼的發生了. P君告訴我他認為我「抄襲」了某位大陸人的codes, 因為他早就看過類似的作法. 我一時覺得很窘迫, 由於抓取CDID的方法並不會太特殊, 或許人家早就做了類似的東西, 而我還在重造輪子, 於是請P君把這些codes寄給我讓我觀摩一下.

看完後我悲從中來.

這位大陸人並非完整抄襲我的codes而是照樣照句, 他把幾個重複的段落都作成了另外一個Header File, 然後在程式裡頭抓進來用, 但是他在這麼做的同時並沒有把多餘的codes給拿掉, 例如他把


if (i==0) {
switch (devID[i]) {
case MCDSEC:
blah blah;
break;
case CDSEC:
blah blah;
break;
default:
blah blah;
}
if (devID[i] == INVALIDSEC) {
return null;
}
}

整段改成

int checkDevID(int devid) {
switch (devid) {
case MCDSEC:
blah blah;
break;
case CDSEC:
blah blah;
break;
default:
blah blah;
}
if (devid == INVALIDSEC) {
return null;
}
}

if (i==0) {
checkDevID(devID[i]);
if (devID[i] == INVALIDSEC) {
return null;
}
}

會寫程式的都看得出來, 他並沒有把多餘不需要的最後一個if判斷給刪除, 也就是說那一段等於是毫無作用的codes. 由此我直接可以斷言, 他是拿我的codes去改的更洗練然後掛上自己的名字.

當我與這位大陸人聯絡時, 他堅稱那是他的「原創」作品, 而我質疑他的enum tag跟我的一模一樣, 以及那些多餘的null codes為何會這麼相似的出現在那個地方時, 這位先生的回答是:

「Tag一樣不代表我抄你的Tag Name, 多餘的Null codes只是我沒清理罷了, 你憑什麼說我抄你的? 」

他說得對極了, 真的! 我完全沒辦法說他抄我的, 縱使我知道他100%是從我的codes去修改的, 但我卻對自己的權益無能為力, 而這所謂的權益只是在GPL source中有我的名字而已.

回到九把刀事件, 我很清楚的判斷, 九把刀在這個事件中永遠找不到屬於他的正義, 而這位陳姓高中生依然可以大喊著「我沒有抄襲」而繼續他的書寫生活, 那些評審們也不可能受到任何責難, 媒體也不會用上在攻擊九把刀時相同大小的篇幅來為九把刀平反甚至找回他的正義.

這表示九把刀的善意是錯的嗎? 不! 我覺得他對極了; 這表示九把刀為了正義所做出的「戰鬥」是錯的嗎? 不! 我也覺得他對極了!

錯的是什麼? 錯的是這位陳姓高中生的臉皮, 錯的是它厚到了一個程度, 以至於他為了得到虛名而失去了寫作者的自尊與驕傲, 如同那位大陸人一樣.

我想我跟九把刀的想法是接近的, 我寧可因為堅持這些正義而戰鬥, 導致自己必須吃悶虧; 也不願意因為對這些人事物視若無賭而讓那些不義之事在眾人不知的狀況下得到不該屬於他們的各種利益.

樹沒有皮, 必死無疑; 人不要臉, 天下無敵.

Mac OSX Leopard 10.5.2 Update

理論上應該要跟Macbook Air一起出來的10.5.2 Update, 終於這兩天放出來了.

其實我大概早一個禮拜收到Link跟pkg, 只是不大敢先衝, 在這個開發密集時期, 搞掛工作機然後多花兩三天去復原會是致命的錯誤啊!

所以等Apple正式丟上Software Update才動作.

Macbook部份很順利, 整個10.5.2 update package也才180mb左右, 比預期的小很多; AMD Mac Pro就比較累了, 一來沒找到新版的AMD專用Mach Kernel, 二來也還沒看到成功案例. 直到今天看到有人成功更新了, 好吧那就照表操課.

流程跟之前升級到10.5.1沒什麼差別, 先Pacifist把pkg都拆開, 然後用Don’t Panic做出Patcher Pack, 接著用Pacifist去安裝完, 然後上
Patches; 唯一的差別是mach_kernel要沿用舊版的, 所以記得要備份原始的mach_kernel.

假如安裝到一半跑四國語言當機畫面, 通常都是AppleIntelCPUPowerManagement.kext搞的鬼, 用10.5.0安裝片開到single user mode殺掉, 回Leopard後重裝一次然後跳過AppleIntelCPUPowerManagement.kext就好了, 如果還是不行, 那順道把AppleACPIPlatform.kext也換成10.5.1的版本吧.

囉唆的叮嚀是, 做之前先備份一下自己的Kernel 跟 Extensions 吧, 有多餘HDD的做一下TimeMachine備份也是不嫌麻煩的.

媽媽說, 有圖有真相!

Update:
Kalyway 10.5.2 Kernel已經出啦, 包括給EFI_v8用的Vanilla Kernel跟Patched Kernel都有. 需要服用請洽BT.