Finding Matching Parentheses (or brackets) in Emacs
Posted on June 29th, 2006 at 17:49 by fr3@K

用 emacs 寫 code 或看 code, 一定要知道這兩個好用的 hotkey. 可以向前 (C-M-f) 向後 (C-M-b) 跳到對應的括號.

del.icio.us:Finding Matching Parentheses (or brackets) in Emacs digg:Finding Matching Parentheses (or brackets) in Emacs spurl:Finding Matching Parentheses (or brackets) in Emacs newsvine:Finding Matching Parentheses (or brackets) in Emacs furl:Finding Matching Parentheses (or brackets) in Emacs Y!:Finding Matching Parentheses (or brackets) in Emacs 黑米共享書籤:Finding Matching Parentheses (or brackets) in Emacs 推推王:Finding Matching Parentheses (or brackets) in Emacs
Dapper on Vaio
Posted on June 29th, 2006 at 0:31 by fr3@K

上週五,同事幫我把 在台北訂的 Vaio 帶了過來。令我喜出望外的是,同事還帶過來了我前一段時間向 ShipIt request 的 Ubuntu 6.06 LTS CD (Dapper Drake)。

整體上來說,Dapper 安裝過程快速容易。對安裝過任何一個 distro 或對 GNU/Linux 有概念的使用者來說,都應該沒有任何困難。

安裝好之後,大部分硬體都自動偵測到也 load 到正確的 module。只有指紋掃描 [1],Memory Stick Duo reader [2] 與內建 camera 目前沒 driver。

Speed/Stamina (nVidia/Intel) mode 以及雙螢幕 (dual screen) 需要自己 安裝 driver 與手動設定

不確定是不是由於我預設的語言是英文,SCIM 不能正常運作,花了一點時間 google 參考 別人的筆記,手動加了 ~/.gnomerc 才能使用:

    XMODIFIERS="@im=SCIM"
    export GTK_IM_MODULE="scim"
    export XIM_PROGRAM="scim -d"
    export QT_IM_MODULE="scim"
    scim -f x11 -d
    scim -f socket -d

雖安裝過程不是 100% 防呆,但動動手的回報是值得的 - 好用高效免費又 尊重我的權利 的作業系統。

[1] 我沒有權力更沒關說,不需要用這種東西來保護我的電腦,噗~
[2] 我 (還?) 不是 Sony 迷,暫時還沒用處。

ps. 想起來就生氣,每次買 notebook 都被半強迫付錢給 M$ 買我幾乎不用的 W!ndow$。

del.icio.us:Dapper on Vaio digg:Dapper on Vaio spurl:Dapper on Vaio newsvine:Dapper on Vaio furl:Dapper on Vaio Y!:Dapper on Vaio 黑米共享書籤:Dapper on Vaio 推推王:Dapper on Vaio
Help Wanted
Posted on June 21st, 2006 at 21:27 by fr3@K

我的好友兼小學同學, 一個聰明, 執著的人, 正在 徵求 創業夥伴以及合作對象. 找的是想創業的 Web 技術鬼才與熱愛新事物的財務天才.

del.icio.us:Help Wanted digg:Help Wanted spurl:Help Wanted newsvine:Help Wanted furl:Help Wanted Y!:Help Wanted 黑米共享書籤:Help Wanted 推推王:Help Wanted
Re: 自由軟體中文化的迷思
Posted on June 11th, 2006 at 14:31 by fr3@K

這一兩年, 或許是由於接觸的人多了吧, 了解到即使是許多人自視為精英的 IT 產業, 英文爛的人還真不少. 這也致使我開始以中文寫技術性的文件. 別誤會, 我很同意你的看法 [1], 只是 reality overcomes ideal.

剛回台灣時, 由於貪便宜買了不少中文版的技術書. 那種花了錢還看不懂你在說啥才讓我更嘔. 雖然不該一竿子打翻一條船, 但真的, 在台灣, 兼具技術人與文人素養於一身的 technical writer 還真是鱗毛鳳角.

前一陣子, 在同事的電腦上看到 C++ compiler 吐出來的中文 error message, 那才真的把我逗笑了呢. 哈哈哈哈~~

[1] 這帖是給 CreMaker 的`自由軟體中文化的迷思‘的回應.

del.icio.us:Re: 自由軟體中文化的迷思 digg:Re: 自由軟體中文化的迷思 spurl:Re: 自由軟體中文化的迷思 newsvine:Re: 自由軟體中文化的迷思 furl:Re: 自由軟體中文化的迷思 Y!:Re: 自由軟體中文化的迷思 黑米共享書籤:Re: 自由軟體中文化的迷思 推推王:Re: 自由軟體中文化的迷思
Ethereal 後繼者 Wireshark!
Posted on June 11th, 2006 at 6:34 by fr3@K

如果你跟我一樣是寫 network programming 以及 protocol implementation, 你一定會知道 Ethereal 這個好用的工具.

Ethereal 改名 Wireshark. WiresharkFAQ 上面說:

Wireshark 近乎就是 Ethereal 的 fork. 不完全是的原因是 - 所有核心開發團隊的成員都轉移到新的 project. 而通常一個 fork 會導致新的名字, 網站, 開發團隊, 以及支援的基礎建設等等…

不少人在 [Ethereal-dev] 的一個 thread 表達對更名的不滿. 前 Ethereal 的 project leader/founder Gerald Combs 回應:

改名過程折磨太大了, 如果再發生我就不玩啦. 目前商標的註冊正在進行中, 這些商標一開始會由我持有.

並表示願意與社群討論商標的後續持有人的選項與方案.

del.icio.us:Ethereal 後繼者 Wireshark! digg:Ethereal 後繼者 Wireshark! spurl:Ethereal 後繼者 Wireshark! newsvine:Ethereal 後繼者 Wireshark! furl:Ethereal 後繼者 Wireshark! Y!:Ethereal 後繼者 Wireshark! 黑米共享書籤:Ethereal 後繼者 Wireshark! 推推王:Ethereal 後繼者 Wireshark!
Expecting New Toy, Vaio
Posted on June 11th, 2006 at 4:54 by fr3@K

兩年多前買 T41 的時候, 為了省錢, 幾乎是挑了最 low-end 的機種. 沒有藍牙也沒有燒錄機, WLAN 也只有 802.11b.

用沒多久就開始 upgrade, 把記憶體加到 1GB, HD 也換成 7200 轉. 原本想把藍牙也裝上去, 可是這會犧牲掉兩條 WLAN 天線的其中一條, 於是作罷. 燒錄機也一直拖, 拖到 DVD reader 出問題了才想說乾脆換掉.

要怪就怪自己抵擋不住 multi-core 的誘惑. 換 DVD 燒錄機的需求居然變成買新 notebook 的敗家慾望.

這下麻煩才大了咧, 以前買 notebook 是一件很簡單的事情 - buy an IBM ThinkPad. ThinkPad 換了新東家, 而我對這新東家的信心實在不夠高到讓我掏出六七萬的鈔票.

經過一番 survey 加上該死的 Tye 帶我走進 Vaio 專賣店的慫恿. 就這樣, 回北京前在台北訂了台 Vaio SZ16. 在等待的過程中, 我臨時因私提早離開台北.

在預定 Tye 會幫我拿到 Vaio 的前兩天, Tye 打電話跟我說店家通知暫時沒貨問我要不要等. 我人都不在台北了, 反正都沒那麼快拿到, 就等吧. 又隔了幾天, Tye 桑又打電話來, SZ16 停產了, 替代機種是 SZ26 - 簡單說就是原價但 CPU 跟 HD 都升一級 - 大概一週後可以拿到. 這樣算賺到吧.

上網查 SZ26 的 spec, 才發現有人才買了 SZ16 沒多久 SZ26 就出來了. 呼~~ 還好不是我 :P .

Core Duo + 2GB RAM, 正好拿來安裝剛出爐的 Ubuntu 6.06 LTS. 小黑就委屈些跑跑 M$ 視窗. 期待中….

del.icio.us:Expecting New Toy, Vaio digg:Expecting New Toy, Vaio spurl:Expecting New Toy, Vaio newsvine:Expecting New Toy, Vaio furl:Expecting New Toy, Vaio Y!:Expecting New Toy, Vaio 黑米共享書籤:Expecting New Toy, Vaio 推推王:Expecting New Toy, Vaio
The Ghost of My Past
Posted on June 9th, 2006 at 2:16 by fr3@K

前陣子回台北過了一段時間的好日子. 雖然一樣是每天上班, 生活比北京愜意多了. 上班跟同事們玩耍, 中午吃好料. 下班跟朋友看電影, 喝咖啡. 週末還去了茶園踏青咧.

或許是大家各有事情在忙, 有些朋友原本在台灣就不是太常碰面. 反而因為我現在難得回台北,倒是見著了許多不常見到的朋友.

在一次玩車朋友的聚會後, 一位前 Impreza 車主, 也是我的好友 - 通尼, 用 M$N 傳了三四年前的照片給我:
SB and fr3@K

fr3@K and friends

看著這些照片, 過去月光下的山路夜跑, 高速公路上的玩命狂飆, 歷歷在目彷彿就是昨天. 這是我年少的記憶, 也是不再輕狂的註腳吧!?

del.icio.us:The Ghost of My Past digg:The Ghost of My Past spurl:The Ghost of My Past newsvine:The Ghost of My Past furl:The Ghost of My Past Y!:The Ghost of My Past 黑米共享書籤:The Ghost of My Past 推推王:The Ghost of My Past
Lenovo 澄清放棄 GNU/Linux 報導
Posted on June 7th, 2006 at 1:49 by fr3@K

Lenovo denies ditching Linux 這篇報導, LenovoCNET 表示, CRNLenovo To Shun Linux 的誤會是由於他們的一位 worldwide 產品經理提供了錯誤的資訊給了 CRN. 並表示他們對 Linux 社群, 顧客以及事業夥伴的支持與承諾都沒有改變.

What a shame, 這些報導都不鳥 RMS 一再呼籲的 GNU/Linux 正名運動.

del.icio.us:Lenovo 澄清放棄 GNU/Linux 報導 digg:Lenovo 澄清放棄 GNU/Linux 報導 spurl:Lenovo 澄清放棄 GNU/Linux 報導 newsvine:Lenovo 澄清放棄 GNU/Linux 報導 furl:Lenovo 澄清放棄 GNU/Linux 報導 Y!:Lenovo 澄清放棄 GNU/Linux 報導 黑米共享書籤:Lenovo 澄清放棄 GNU/Linux 報導 推推王:Lenovo 澄清放棄 GNU/Linux 報導
支持 M$ 替代品運動, Lenovo 讓我們又退一步
Posted on June 5th, 2006 at 2:44 by fr3@K

差不多一個禮拜沒看新聞更沒寫東西, 今天上線充電看到 Lenovo 以後不再支援 Linux. 好險我上上週捨 ThinkPad 訂了一台 Vaio, 不然真是要嘔死.

[Update: June 7th, 2006]

Lenovo 澄清放棄 GNU/Linux 報導

del.icio.us:支持 M$ 替代品運動, Lenovo 讓我們又退一步 digg:支持 M$ 替代品運動, Lenovo 讓我們又退一步 spurl:支持 M$ 替代品運動, Lenovo 讓我們又退一步 newsvine:支持 M$ 替代品運動, Lenovo 讓我們又退一步 furl:支持 M$ 替代品運動, Lenovo 讓我們又退一步 Y!:支持 M$ 替代品運動, Lenovo 讓我們又退一步 黑米共享書籤:支持 M$ 替代品運動, Lenovo 讓我們又退一步 推推王:支持 M$ 替代品運動, Lenovo 讓我們又退一步
Pointer to What?
Posted on June 5th, 2006 at 2:15 by fr3@K

指標除了指向對象 (pointee) 的型別之外, 還有兩個重要的屬性 - 指標的常數性 (定量性, constness) 與被指向對象的常數性.

指標的常數性規範了指標本身是否可變, i.e. 能否指向另一個型別相容的對象. 而被指向對象的常數性則規範是否能透過這個指標對被指向對象做非常量的運算. 而兩者各自獨立, 無相互關連:

    // 定義一個名為 a 的非常數 (non-const, mutable) 指標, 這個指標指向一個非常數 foo.
    foo * a;
    
    // 定義一個名為 b 的非常數指標, 這個指標指向一個常數 foo.
    foo const * b;
    
    // 定義一個名為 c 的常數 (const) 指標, 這個指標 指向一個非常數 foo.
    foo * const c;
    
    // 定義一個名為 d 的常數指標, 這個指標指向一個常數 foo.
    foo const * const d;

(more…)

del.icio.us:Pointer to What? digg:Pointer to What? spurl:Pointer to What? newsvine:Pointer to What? furl:Pointer to What? Y!:Pointer to What? 黑米共享書籤:Pointer to What? 推推王:Pointer to What?