2007年7月25日

@openmoko.com

很快的更新一下我的現況。最近太忙,連寫 blog 的閒情都沒。

從上週開始回到職場,在 openmoko.com 工作。公司到目前尚未跑完登記程序,也就是還沒成立。core team 包括 Sean Moss-Pultz, Harald 'LaForge' Welte and Michael ‘Mickey’ Lauer. 台灣這邊則包括 jserv, OLV (freetype developer)等人。

略查一下的話可以發現這是非常恐怖的團隊,例如 LaForge 是 netfilter/iptables 的主要作者,Mickey 則是 OpenEmbedded 創始者。最驚人也最令人慚愧的是,以上提到的這些開發者,除了 Mickey 以外,全部比我年輕。所謂歲月不饒人,我在吃喝玩樂的時候,很多人可是認真的在研究呢。總之是間非常有趣的公司,靜觀其變。

另一件事情,之前拿來當作工作室的安東街公寓,原是鐵路局員工宿舍,現在確定遲早要收回了。另找了間套房租下來,現在得處理搬家事務,講起來真是多如牛毛。總之變動可以視為常態,塵埃落定之後,且看這一波人生轉折會有甚麼結果吧。

2007年7月11日

幡然有悟

不知為何,這陣子以來,心情持續感到一種平靜。莫名的就出了這標題。

其實是不應該平靜的。出租的房子最近問題一直很多,當年貿然無知的找人裝潢,又沒有監工,現在問題就一一冒出,還得面對敷衍欺騙客戶的水電工人。財務麻煩不小,畢竟現在的生活方式也不過是把債務延後用以維持生活罷了。

我想原因應該是最近做的一個案子。說真的並不是很難的工作,雖說有部分不熟悉,但有原先的程式碼可參考,評估一下也就接了。似乎案主挺高興的,應該是燙手山芋,時間又趕。真的做下去,果然發現問題很多,規格不明、變數多、文件與資料都欠奉,但總之最後都找到方法繞過問題。需要對方提供資料所以卡住的時候,就先切換到不會卡住的地方繼續做。

我發現,我似乎自動地在做著一些以前會讓我不滿的事情。工作態度以及心態上似乎都微妙地改變了。這一年多來的經歷,大概是我人生最缺錢最困苦的時期,但從那中間,我好像領悟了些甚麼,思考的方式不自覺地延著與一年前不同的迴路在運作著。

自己最大的問題,是我總是從錯誤中學習,而非直接由別人經驗學到。世上可犯的錯誤很多,有些錯誤的後果是擔負不起的。至今為此我已經付出很大代價。

但好處是,一旦我學到甚麼,最終修正到了正途,便總有莫名的篤定,似乎知道繼續走就對了。對人生,我從來不是很講邏輯,總是憑著感覺任性的前進。也許這次的經驗讓我感到,還是有些能力可以運用,只是要找出適合的場域。很奇怪的我並不擔心,時機總會來到,若永遠沒有,也是命定,但求無愧於心。

2007年7月4日

acpid 與 notebook 的特殊按鍵

經常會大家很講究某 Linux distribution 有沒有 out-of-box 就支援某某 notebook,其實這很不容易的。要想想廠商都已經特別裝好、設定好了 Windows 才拿出來賣,但 Linux 經常可沒先裝好。如果從一台沒裝好的 Notebook 自己拿原版 Windows 光碟開始裝,也是要下載很多東西,一點也不容易啊。

目前的 distribution 設計都進步很多了,各層分工合作,就算有特殊鍵沒支援的,要改成支援也是很簡單。這裡大致介紹一下怎樣讓特殊按鍵們產生作用。先說明原理:特殊鍵一般都是會產生 acpi event,但這個 event 往往系統認不得。這裡 acpid 扮演的角色就是把這個認不得的 event 利用呼叫 acpi_fakekey 的方式變成假裝按了一個鍵,而這個鍵系統認得,就可以產生相對應功能啦。

實例說明:我的 volume-down 降低音量鍵沒用,那先跑 acpi_listen,然後按 volume-down 一下,看看出來的結果。以下是我的 notebook 上出現的:
john@Portege-2000:~$ acpi_listen 
hkey VALD 00000000 00000102
hkey VALD 00000001 00000102
嗯嗯,可見按下跟放開都會產生事件,我們這裡抓那個放開的事件就好。畢竟按下了才有可能發生放開嘛。然後把這個事件加到 /etc/acpi/events 底下,新增一個檔案 tosh-volume-down
# /etc/acpi/events/tosh-volume-down

event=hkey VALD 00000001 00000102
action=/etc/acpi/voldownbtn.sh
這裡頭的意思是說,如果抓到了這個事件,就呼叫 /etc/acpi/voldownbtn.sh。這個 script 其實就是統一拿來降低音量的,內容為:
#!/bin/bash
. /usr/share/acpi-support/key-constants
acpi_fakekey $KEY_VOLUMEDOWN
其中 /usr/share/acpi-support/key-constants 就是 kernel 認得的按鍵代碼,$KEY_VOLUMEDOWN 的值是 114。所以日後每當我按了 Toshiba 自己特別的 volume-down,就會對應到 acpi_fakekey 114,等於是按下了系統認得的降低音量鍵。在新版的 gnome 中,這鍵系統會認得(也可以自訂,把他的作用換成其他的,例如升高音量? = =),所以會有漂亮的 UI 一起搭配起來,讓我看到目前的音量大小。一般說來特殊鍵也不過就那幾個,所以就算完全沒支援,也一下子就設起來啦。

2007年7月3日

"Agile" Development?

If you're reading this and you're unfortunately a software developer, I do suggest you read Good Agile, Bad Agile. It has been in my bookmarks for almost an year and now I finally managed to read it. That gives me a whole different view towards the agile method.