軟體變慢的速度比硬體變快的速度還快
七月 8, 2008
Software becomes slower faster than hardware becomes faster - N. Wirth
Pascal 語言的發明人 N. Wirth 簡直可以去當喜劇演員了, 講得出這麼機智的話. 我之所以想到這句名言, 是因為無意看到這裡有人在討論 singularity. Singularity 是所謂 transhumanism (相信科技有一天會讓我們超越人類生物的限制) 的一個分枝. 基本的論調是, 因為摩爾定律 (Moore’s Law, 電腦的計算速度每年會快一倍), 計算機的速度成指數成長, 在我們有生之年, 我們就將會擁有幾乎是無止境的計算力, 到時不僅電腦能超越人腦, 人工智慧可以實現, 而且人類可以活在烏托邦搬的世界裡. 未來學家 Raymond Kurzweil 是鼓吹 singularity 未來觀最有名的人.
當然我認為這完全是不切實際的幻想. 這整個論點最明顯的弱點, 就是把 “指數成長” 當作是解決所有問題的妙方. 指數成長也有不同的 exponent, 要是我們想要解決的計算問題, 成長的速度也是指數, 那麼 singularity 並不一定會達成.
我曾經參加過一個 singularity 信徒的聚會. 這是我在美國比較有趣的冒險之一. 本來想大書特書一番, 不過因為沒有時間寫 blog, 只好一兩句話帶過: 我的好朋友有一天在報紙上看到一個小廣告, 刊登者是一個加州的小團體, 每個越固定集會 “討論各種有趣的議題”. 好奇心慫恿之下我們決定一探究竟. 簡單的說, 這有點像是英國的紳士俱樂部的集會, 我當天見到的會員大約是 20 人, 後來我才知道加州各地的分會, 會員加起來超過百人. 聚會的地點是會長的家, 處於鄉下, 非常的隱密. 會長是一個以園藝設計為業的中年女人, 這想必是個相當賺錢的行業, 因為她的家非長寬敞舒適, 到處都是她種的奇花異草. 她很熱心的招待我們, 有免費的食物跟飲料, 儘管我是陌生人, 她馬上就把我當是認識多年的好朋有, 一點隔閡都沒有.
這群人自稱是 “自由思想者”, 我過了好一陣子才了解到他們多半是因為想要討論 singularity 才認識的. 他們討論的主題非常廣泛, 從哲學到科學到政治. 當天大家專注的主題是人工智慧, 不過我對那不是特別有興趣, 最後跟一個坐在角落的人聊起天來. 他有興趣的主題是國際法, 他專門研究, 怎麼樣才能買下一個小島 (或是鑽油平台), 然後宣佈成為獨立的國家. 我身為台灣人, 當然知道這不是這麼的容易, 不過因為禮貌沒有特別跟他辯論.
我年輕的時候對這種聚會非常嚮往, 不過唸了一點書後, 自然知道這群人完全不知道他們在講什麼. 這是一群自命不凡, 喜歡高談闊論, 但非常無知的傻子. 他們白天的工作都是非常無趣的, 不過到了晚上, 他們就搖身變成了知識份子, 可以在美食與朋友之間隨口談起非常高深的科學. 那個做園藝設計的會長最近還寫信來跟我討論李代數 (lie algebra) 跟物理的事. 很不幸的, 科學是需要非常長期的訓練, 不是可以聊天聊得出來的. 他們簡直是發明了一種宗教, 只是用誤解的科學代替了神學或是其他的 new age 思想.
這件往事就寫到這兒. 順便提起來, 那些想要在小島上成立獨立國家的人還算滿有趣的, 我後來查了一下, 發現有不少這種 micro-nation, 他們甚至有自己的奧林匹亞運動會! 有興趣的人可以讀 wikipedia 這篇介紹.
相關的政治運動, 是美國的 freestate 計畫. 這是一群 libertarian (相信小政府的人) 為了想要擺脫大政府的控制, 有計劃的移民到 New Hampshire 州. 他們計畫用操縱選舉的方法, 把 New Hampshire 州變成他們夢想中的 “Free state”, 屆時他們要廢除所得稅等等.
我有一個好朋友有報名參加 Free state 計畫, 不過我不清楚他是不是真的打算搬到 New Hampshire 去.
磁蕊記憶體 (美國再見)
五月 10, 2008
明天是我在美國的最後一天. 我的好朋友們送給我這個離別禮物:
Unix 把記體體稱為 core, 指的就是這個玩意. RAM 發明之前 (60 年代) 電腦大多是靠 core memory 儲存資料. 這個巴掌大的東西只能容納不到 1k 的資料. 網路上現在還可以找到電路圖, 教你怎麼讀寫這種古老的科技. 其實要買 core memory 當裝飾品並不太難. ebay 每過一陣子就會有人出售. 不便宜就是了.
Shannon 的箱子
三月 8, 2008
發明資訊理論的 Claude Shannon 有個古怪的嗜好. 請看這裡.
iPhone SDK
三月 7, 2008
今天蘋果公佈的 iPhone SDK 真的是非常的酷. 也許 iPhone 有機會成為像是 PSP 的電玩平台.
有興趣的人可以從這裡收看錄影. 請注意介紹 SDK 的 Scott Forstal. 好恐怖, 講話的語氣跟 Steve Jobs 一模一樣. Apple 是不是有計畫的在訓練 “小 Steve” 啊…我得說, Jobs 個人崇拜實在是誇張到有點肉麻的程度了.
有關電腦字型
一月 25, 2008
時間有限, 簡短的提起一兩件有關字型的隨想.
首先, 感謝讀者 wstu 推薦我讀潛艇日誌的好文章, 詳細的討論大家都在談的 Helvetica 紀錄片. 這是難得的好文章, 大家不要錯過了.
我對字型了解很粗淺, 不過字型一直是我非常有興趣的主題, 總是希望有機會專門了解這方面的知識. 原因大概就是我已經講過好幾次的話: 有些人說, 現代的電腦處理器速度非常的快, 可是大多數的人用電腦只是上上網路寫寫 email, 我們真的有需要計算能力如此強大的處理器嗎? 我的回答是: 現在的電腦還要再快十倍, 才能有機會模仿傳統媒體. 電腦科學家不用想創新發明新的介面, 我們連趕上傳統, 都還有好長的一條路要走.
字型就是看似微不足道, 不過卻是非常微妙的藝術. 如 Dajuin 的文章提到, Hermann Zapf 花了 8 年時間設計 Optima 字型. 電腦科學家一定要徹底了解這 8 年是花在什麼細節上, 才有可能設計出好的字型系統. 我的好朋友 JR 在中東國家住了幾年, 專門觀察回教的書法家跟圖形藝術家是怎麼工作的, 才發現西方人發明的字型系統完全不適用於回教書法, 他認為應該要發明一種以極座標為基礎的字型, 才能正確的處理阿拉伯書法. JR 不是電腦專家, 我不確定他的觀察正不正確, 不過這個故事讓我開始覺得, 電腦科學家應該學一些民族誌學(ethnography) 的方法學, 用觀察一般人或是專家工作的方法, 來分析軟體要如何設計. Don Norman 在蘋果電腦工作時常常強調觀察 user 的重要性. 這一套哲學現在好像不流行了. 蘋果早就不做 ethnography 了. 真是可惜.
Mac OS 內建了一個非常有趣的字型, 叫做 Zapfino. Zapfino 是 Hermann Zapf 設計的書法字型. 為了模仿書法家的線條流動感, Zapfino 的電腦字型非常複雜, 英文 26 六個字母加上一些標點符號, 居然要用到超過 1400 個 glyph. 例如說小寫的 d, 就有九種不同的寫法. Apple 的字型引擎會自動根據前後文選擇最適合的. 這種根據前後文 (context) 動態修改字型空間安排的設計, 真是讓我興奮得不得了. 寫書法的人不是常常說每個字都有自己的 “體態”, 要根據前後文調整嗎? 不知道中文字體有沒有這一類的設計. 也許有可能可以把中國書法的一些美感原則轉化為演算法. 這類的演算法一定要很 subtle, 最好是 subtle 到一般人根本注意不到. 為甚麼要花大量的計算 cycle 在一般人注意不到的細節上? 因為整體的空間安排會影響閱讀. 現代的中文字型真的很醜, 讀起來非常不舒適. 我猜想問題在於中文 (英文也是一樣) 要顯示得好, 不能使用固定的 glyph, 而是要動態的產生字體才行. (我知道朱邦富講過一些這類的話, 這是我少數同意他的哲學的地方)
Dajuin 的文章討論到電腦字型取代了手寫, 讓個人的風格完全消失. 電腦科學家也許會說這是電腦的優點, 不是缺點. 我認為這又是電腦科學家不重視 “美感” 造成的錯誤. 也許因該有人發明好的介面, 讓每個人都可以有自己版本的 helvetica. 前面已經說過了, 設計字型是非常困難的事, 不可能期待一般使用者會發明自己的字型. 不過有些字型系統 (如 Donald Knuth 的 METAFONT) 把字型參數化, 使用者雖然不能完全的修改字型, 但是卻可以更動細節, 可以把標準字型個人化. 個人化的字型能夠讓網站更能凸顯個性, 應該是有一定的商業價值. 當然 METAFONT 是數學大師 Knuth 的發明, 需要相當精密的數學頭腦才能使用, 不可能期待大家去學 METAFONT, 所以重點在於介面設計. 也許有可能設計一種軟體, 分析使用者的手寫字, 然後自動估計 METAFONT 的參數, 這樣連介面都不用了.
順便一題: 我對這些議題的興趣, 有許多是從 Douglas Hofstadter 的書中讀來的. 我申請研究所的時候, 曾經想要做這一方面的研究. 不過 “計算美學” 好像還不是一門學問, 我當時找不到什麼地方在做這種研究. 我的好友 JR 因為專攻回教世界的書法, 曾經跟一些研究人機介面的實驗室合作, 不過他說搞人機介面的人對這些議題一點興趣也沒有, 最後不歡而散. 這也許是我為甚麼常常覺得研究 HCI (human computer interface) 的人沒有在研究真正值得研究的東西.
另外一件有趣的事: Donald Knuth 儘管是最有名的電腦科學家, 他做了一件事沒有得到足夠的重視. 那就是他跟 Zapf 合作, 發明了 AMS Euler 字型. Knuth 認為電腦字型沒有一個是適合寫數學公式的, 所以他特別設計了一款字型, 模仿數學家的黑板書法. 可惜的是 AMS Euler 好像很少有人在用. 只有 Knuth 自己寫的書是用 AMS Euler. 有興趣的人可以去弄一本 Concrete Mathematics 來體驗一下好的數學書, 應該看起來是什麼樣子.
最後, 對字型的認知科學有興趣的人可以找 Douglas Hofstadter 的 Metamagical Themas 第 13 章來讀讀. Hofstadter 說就算是很有學問的人, 也常常會有一種錯誤的想法, 那就是: 你只要看過某個字型的一個字母, 就不難 “推論” 出別的字母是長得什麼樣子. 要是真的如此的話, Zapf 怎麼花 7 年設計一種字型?
MacWorld 感言
一月 17, 2008
我的預測: MacBook Air 會重蹈 Mac G4 Cube 的覆轍, 成為酷但是失敗的產品.
今年 Steve Jobs keynote, MacBook Air 自然是所有目光的焦點. 大家好像沒有特別注意我最喜歡的部份, 那就是 Steve Jobs 最後請 Randy Newman (Toy Story 主題曲作者) 上台表演. Randy Newman 用鋼琴伴奏表演了一首曲子, 叫做 “一兩句幫我們國家辯護的話” (A Few Words in Defense of Our Country). 很難想像這種大企業的產品發表會, 會找個像瘋老頭一樣的人來修理布希總統. 不知在場的人反應如何, 我覺得很酷, 很有詩意. 美國的大企業通常非常保守, 稍微有風險的事一定會避免, 蘋果偶而反其道而行.
結尾歌詞: “The end of an empire is messy at best/And this empire is ending/Like all the rest/Like the Spanish Armada adrift on the sea/We’re adrift in the land of the brave”
PS: MacWorld 最令人失望的地方: Fake Steve Jobs 本來要用 twitter, 即時告訴觀眾 Real Steve Jobs “心中在想什麼”. 可是後來因為技術理由放棄. 太可惜了. 本來可成為網路文學最有趣的實驗.
隨想: 百元電腦
一月 12, 2008
大家應該都聽說了 Nicholas Negroponte 的 OLPC 電腦計畫. OLPC 的目的本來是要製造出售價 100 的筆記電腦, 不過這個價錢似乎是很難達成, 目前的售價大約是 200 美金. 最近 OLPC 的工程師又開了一家新公司, 想要製造出 $75 美元的電腦.
我對於電子產品的價錢實在很不了解, 也許懂的人能夠幫我解答一下. 我覺得 $75 的筆記電腦是不可能的. 原因是我最近買了一台 Palm 的陽春級 PDA z22. z22 只有 160×160 的小螢幕, 32MB 記憶體, 沒有鍵盤, 沒有網路, 可是還是要 $99. 要是連 Palm 都無法做出低於 99 美金的 PDA, 實在無法相信有人能做出 75 美金的筆記電腦.
我在想, 到底是 OLPC 太不切實際, 還是 Palm 的 z22 太貴. 美國的大學左派有一個特色, 就是極端不信任市場機制, 堅信大公司都是在哄抬物價, 賺取暴利. 也許是 Palm 真的把 z22 賣得太貴了. 也許 z22 “真正” 的價錢應該是 $50, 那 $100 的筆記電腦就有可能了. 不過:
1. 電子產品的價錢跟產量有很大的關係. Palm 的市場雖然是在縮小之中, 不過應該還是比 OLPC 大. OLPC 應此很難靠產量取勝.
2. Palm 的 PDA 是很成熟的產品, 硬體設計跟生產, 都應該已經最佳化, 因此 Palm 在 R&D 上的成本, 應該也比 OLPC 低.
3. Palm 並不是獨佔市場. PDA 的市場競爭很激烈, 但 Palm z22 仍然是最便宜的 PDA, 因此 Palm 在 z22 上的利潤應該不高.
4. Nintendo DS 的售價是 $125, 不過遊戲機多半是靠軟體賺錢, DS 可能是賠本在賣.
我想要生產 $100 以下的電腦, OLPC 唯一能省錢的地方, 應該只有 1. 軟體開發的成本, 與 2. 行銷的成本. 這兩者的確是有可能可以省一大筆錢. 不過新成立的 Pixel Qi 應該是想要進攻消費者產品的市場, 那就不可能省下行銷的成本了. 應此我猜想 $75 電腦是不可能的.
有關電子書
一月 3, 2008
最近因為 Amazon 推出的電子書閱讀器 Kindle, 有一些跟電子書有關的隨想:
1. 每次提起電子書, 就會有人堅持真正的書有多好多好, 電子書完全比不上. 難道我是唯一不喜歡真書的人嗎? 坦白說我也喜歡真書, 不過書太笨重, 光是為了搬家的問題, 就值得把所有的書換成數位版. 我希望有一天我的 “資訊” 可以完全的數位化, 全部存在硬碟裡. 我真的是很討厭 CD, DVD, 書, 跟雜誌. 真的很討厭.
2. kindle 太貴 ($400), 不可能成功. 有人說 iPod 剛上市時也是這麼貴, 還不是賣得很好. 不過 iPod 買回家就可以馬上享受, Kindle 買回家一點用也沒有, 還得再花錢買書才可以. 光是這點就沒有吸引力.
3. 我沒玩過 kindle, 不過我有在書店裡玩過 Sony reader. ebook reader 都不是使用 LCD 螢幕, 而是使用一種叫做 eInk 的顯示技術. eInk 真的是非常酷的科技, 我非常喜歡. 我打賭這將是未來最中要的科技之一. 怎麼好像只有一家公司在做?
4. eInk 的優點就是他跟紙一樣, 自己不發光, 要靠反射光才能閱讀. 讀起來真的跟紙一樣, 非常舒服. eInk 的缺點是 refresh 太慢而且好像還不能顯示彩色.
5. 我有讀到一篇文章提起, 設計 ebook 的人好像還沒有理解到書的排版是有幾百年歷史的藝術, margin 的大小, 字型, 都是有道理的, 不應該忽視. 舉一個例子, 書都是對開裝訂的, 讀起來跟用訂書機訂起來的一疊紙, 是很不一樣的感覺. 為甚麼 eBook reader 都是一次只顯示一頁呢? 這似乎是工程師對於傳統藝術不了解的結果. 我以前寫的一個 blog entry 已經講過了: 研究人機械面的人實在是花太多時間 “創新”, 但沒有消化傳統的媒體的微妙之處.
6. 我喜歡在書上寫筆記. 不僅是在 margin 上, 在每一行之間我都有專門的符號, 用來標記文章的邏輯. 簡單的說, 我讀文章的時候常常是扮演 editor 的角色, 要寫很多 editorial note. 我相信許多人都是這樣. 讀者常常扮演者主動的角色, 設計 ebook reader 不要忘記了.
7. 因為 6, 我覺得 eInk 要成功, 不但是要讀起來像真的紙, 還要寫起來像真的紙. 目前有 stylus 的 PDA 寫起來都很不舒適, 因為 1. 解析度不夠高. 2. 光滑表面沒有摩擦力. 因為 eInk 不是發光體, 我猜想應該有可能製造出表面比較粗糙的 eInk, 這就有可能方便書寫了.
8. 真正的書會越翻越舊, 常讀的章節跟不常讀的章節, 可以一看就認出來. 電子書其實可以模擬這個性質, 根據閱讀次數, 稍微改變背景的顏色或是材質. 我知道有人再研究這種介面, 應該可以利用一下.
9. 也許有人該花點腦經, 開始研發 rip 書的機器. 只要自動翻頁 + OCR 即可, 應該不難設計出便宜好用的小機器, 自動把書數位化.
10. eBook 真正的問題在於賣書的管道. 有關 DRM 的討論很詳細, 我就不囉唆了. 我覺得網路書局不能取代傳統書店的一個重要因素, 就是瀏覽不方便. 我買書的時後, 真的要能翻閱整本書才能決定要不要買, 光是看目錄跟第一章是完全不夠的. 原因很簡單, 我買書常常是專門為了想要解決一個疑問, 要是不能讀全文, 我怎麼能決定要不要買?
11. “瀏覽” 跟 “一頁一頁翻” 是不一樣的. Apple 的 Cover Flow 是個很好的介面, 可以用於瀏覽書上. 真書的好處之一, 就是可以快速的在兩頁之中跳躍. 在電腦上讀 pdf 跟讀書很不一樣的地方, 就是交互參考真書比較容易. 這真是有點諷刺, 因為數位媒體最方便的地方應該就是方便交互參考, 不過因為介面設計不加, 反而沒有翻書快. 這就是 eInk 的致命傷了, eInk 的 refresh 太慢, 非常不適合快速跳躍.
Apple remote 問題
十二月 26, 2007
希望有 Apple 高手能夠幫我解決這個問題: 我的 DVD player 的遙控器有點不太正常, 我很想看看它送出去的紅外線訊號是什麼樣子. 我知道這是滿容易的事, 不過我希望利用 Macbook 的內建的紅外線偵測器 (用來接收 Apple remote). 有沒有人知道要怎麼寫這種程式?
Amit Singh 的網站 (here) 有示範如何讀取 Apple Remote 的按鍵. 不過以我淺薄的知識看來, 這個程式應該是只能用在 Apple Remote 上. 有沒有可能讀取任何 remote controller 訊號呢?
Fake Steve Jobs 最新傑作
十二月 23, 2007
我著迷 The Secret Diary of Steve Jobs 已經好一陣子了. Forbes 雜誌的編輯 Daniel Lyons 自稱 The Fake Steve Jobs (又稱 El Jobso), 假扮 Apple 的總裁 Steve Jobs, 嘲諷矽谷高科技產業的種種. The Fake Steve 把那種自我狂 CEO 的態度模仿的維妙維肖, 有時讓人開始相信真的 Steve Jobs 天天都跟 Bono, Al Gore, Larry Ellison 那些人稱兄道弟混在一起. 有時候我在想, 說不定慢慢的大家會開始把 Fake Steve 這個角色的個性投射給真的 Steve Jobs, 開始以為 Steve Jobs 真的是活在連續劇般的世界裡. 說不定下一次 Steve Jobs 的 keynote 表現不佳, 大家會開始猜想: 也許 Al Gore 又借宿他家了.
儘管 The Secret Diary 只是每日博君一笑, 我發現經營 Fake Steve 這個角色是個相當有挑戰性的書寫問題, 作者要在虛構與真實之間小心的保持平衡, 才不會喪失他的趣味. 學文學批評或是創意寫作的人也許值得花時間研究一下. 當然, 寫 parody 是一門古老的藝術, The Secret Diary 並不是什麼 narrative strategy 上的創新, 不過 blog 的媒體形式似乎給這個問題增加了一些新的 twist. 例如說 The Secret Diary 是對高科技業界即時的發表評論, 明天蘋果會發表什麼產品, 沒有人知道. Fake Steve 的文章一定要保持一定的不明確性, 才不會給自己弄得沒有台階可以下. 有時 Daniel Lyons 想要討論他自己的新書 (Steve Jobs 的假傳記), 他還得發明劇情, 假裝真的 Steve Jobs 也寫了一本真的傳記才行. 觀察讀者的反應也是相當有趣的一件事. The Secret Diary 跟傳統文學不一樣的地方, 就是從讀者的留言, 可以研究讀者是怎麼閱讀 parody 的. 有些人搞不清楚狀況, 以為這真的是 Steve Jobs 的 blog. 大部分的人知道 fake steve 玩的把戲, 不過故意不說穿他. 有些人知道 Fake Steve 是假的, 不過假裝不知道, 專門幫 fake steve “辯護”…熱鬧得很.
真的 Steve Jobs 是個很注重隱私的人, 除了發表產品以外沒有人知道他每天在幹什麼. 我真的有點擔心 Fake Steve 會有一天寫不出東西來. 想不到這幾天 Fake Steve 玩了個新把戲. 他首次跳出 Steve Jobs 的角色, 用他自己的語氣, 說他受到蘋果律師的威脅, 要他停止模仿 Steve Jobs. 這件事發生在 Think Secret 事件結束後兩天, 很明顯的是個玩笑, 不過想不到騙過了很多人, 他的討論版充滿了為 Fake Steve 打報不平的人. 有人說蘋果的行為越來越像 microsoft, 要拒買蘋果的產品, 有些人說要幫 Fake Steve 湊足僱律師的金費, 有些人要作網站支持 fake steve.
最好笑的是有些人決定寫信給真的 Steve Jobs, 請他不要打壓可憐的 fake steve. 想不到日理萬機的 Real Steve 真的回信給這些人. 他的回信只有一句話: I think it is a joke.
本來那些幫 Fake Steve 打報不平的人現在知道被騙了, 開始抱怨 Fake Steve 不該開這種玩笑. 嗯? 讀 The Secret Diary 的目的不就是要聽他虎爛嗎? 讀者的心理真的是很難琢磨, 玩笑開得太好, 有時反而會有反效果.
update:
1. Fake Steve 開始玩 “shutdown drama” 的把戲時候就有人說他的 blog 越來越有 Andy Kauffman 的味道. 今天 Fake Steve 說他的律師的名字是 Tony Clifton, 更是直接的點出他的意圖.
2. Fake Steve 的新把戲雖然唬住了許多忠實讀者, 算是開了個高明的玩笑, 不過 Daniel Lyons 作為虛構世界的作者, 走了很危險的一步. 我真是為他捏一把冷汗. 他已經跳出 Fake Steve 身份, 以 blog 作者的語氣直接跟讀者對話, 原來 “Steve Jobs blog” 的假象已經破功了, 現在他要怎麼恢復原來 Fake Steve 的身份? 這是個小說家的難題. 我想了一陣子還是想不出什麼好策略. 我開始覺得 Daniel Lyons 已經走入死胡同, 不可能繼續下去了. 一直有人傳言 Daniel Lyons 對 Fake Steve 這個角色已經很厭煩了, 也許他的確是打算用這個事件幫 The Secret Diary 結尾也說不定. 這個事件發生在年尾, 更是令人擔心 Fake Steve 就快要下台一鞠躬了.
3. 研究後設書寫的人快點去讀 The Secret Diary 吶. 作者跟虛構角色跟讀者的關係, 有太多可研究的地方了.
OS X Finder 小建議
十一月 27, 2007
昨天我提到也許我們以完全放棄樹狀結構的檔案系統, 改用 tag + smart folder + search. 不過這個點子我越想越沒道理. 我承認那是爛點子.
其實我只是想要比現在的 finder 更有一點點彈性的檔案管理罷了. 一個簡單的想法如下:
這是目前的 OS X Finder (10.5)
我不滿的是 Places. Places 只是 folder 的捷徑, 功能太簡陋. 我想 Places 可以用 Collection 取代. Collection 是完全由 Finder maintain 的抽象結構, 跟檔案系統無關. Collection 基本上就像是 iTunes 裡的 playlist 一樣, 可以讓使用者隨便丟檔案進去, 完全不改變檔案的路徑. 這樣我可以看情況需要, 製造各種 “觀看檔案” 的 view.
Collection 需要有巢狀結構, 使用者要能夠快速的修改 collection 的安排.
只要這個小修改, 我就會很高興了.
電腦軟體小小建議
十一月 27, 2007
前一陣子我又寫了一篇文章, 討論 OS X 軟體. 用英文寫的, 因為希望軟體公司會讀到.
其中的主題之一, 就是我覺得 Apple 應該發展一個完全不使用 directory 與 filename 的 file system. 沒有 filename 要怎麼管理檔案呢? 用 tag 與 smart folder. 許多 web 2.0 軟體與 Apple 自己的 iApps 都已經開始走這個路線了, 也許該是完全翻新 file system 的時候了. [當然, os 跟一些比較傳統的程式還是可以使用 HFS 或是 unix file system 的 partition].
其實 spotlight 的 metadata 功能就有這種潛力了 (see also: BeOS), 不過還有許多問題要解決. 我的英文 post 提到也許 Apple 曾經研究的 OpenDoc 可以在這個 context 之下復活. iPhoto, iTunes, Yojimbo, 跟 Papers 這一類的軟體幾乎是使用同樣的介面, 只是用來管理不同的資料型別. 最好是能把他們管理資料的邏輯抽象化成為一個軟體, 用來管理照片就變成 iPhoto, 用來管理音樂就變成 iTunes.
此外我覺得目前 tag + smart folder 的設計仍然太過粗糙, 有很多不便之處. 我有空再想想為什麼我不喜歡 tag.
I have several ideas for Apple or OS X developers:
1. OS X provides several features to facilitate the integration between the command line (Terminal.app) and regular Cocoa apps. However, the integration isn’t as seamless as it can be. One of the key reasons is that you often want Cocoa apps and unix apps to work on the same directory, but Cocoa apps do not know the directory that the command line is working on. Here’s an idea: put a “pwd” (current working directory) icon on every terminal window. When you save a file from a Cocoa app, you simply drag the “pwd” icon to the Save dialog to tell it where to save the file to. Note that the “pwd” icon should work even when the shell in Terminal.app is not waiting for user command (ie. already running a process).
2. The followings are all about “note-taking” programs such as Yojimbo and Journler. I am obsessive about keeping data organized and I can’t live without a central organizer for bits of data. However, none of the note-takers on market offers one very important feature: outlining.
Look, I use a note-taker because I want to to keep all my data organized. That means lots of levels of organization. The current note takers do not allow users to impose structures on the “notes”. I want to have sections, subsections, subsubsections and the ability to move them around and collapse them.
I wrote to some software developers about the outlining features. They seem to be reluctant to do it because their codes are based on Cocoa’s Text object, which, although very powerful, does not support outlining. Why not? Outlining should be as important as text fonts and colors. Apple, please implement a outliner object as a subclass of Text.
3. Yojimbo does not allow nested folders. I communicated with Bare Bones Software and they said they don’t want to do it because it will make the interface too complicated. Come on! How silly is that! Even Apple added nested folders into iPhoto. Nested folder is a must. It is how we organized things.
4. The advantage of using a note-taking program is that it keeps all your information in once place (the “Library”). Almost all note-taking programs allow only one library, but that is too limiting. I want to keep a few separate libraries. At least two: work and personal.
5. Note-taking programs should provide web interface. You press “publish” and boom! Part of your library becomes a (user editable) wiki. The content of the note should be in sync with user edits. Essentially, what I am proposing is a very nice interface to a personal wiki server.
6. I think we are fast approaching an era where individual files are completely replaced by a system of tagging. The “storage soup” idea is, of course, pretty old (see for example, Apple’s Newton) but with the metadata capacity of Spotlight, it is becoming possible that all file objects are managed by a iTunes-like interface. Currently, you have iTunes for music, iPhoto for photos, Yojimbo for documents, and possibly Papers for scientific papers. They all use essentially the same interface for managing information (tagging + smart folders). Wouldn’t it be nice if you can have only one single interface, which becomes iTunes when dealing with music, and iPhotos when dealing with photos and so on?
As a matter of fact, this sounds a lot a OpenDoc, Apple’s failed attempt to build a document-centric framework for applications. Maybe the time has come for some of the OpenDoc idea to be resurrected?
More thoughts: there’s much talk about replacing desktop apps with AJAX-based web apps. That’s the wrong way to go! I love Flickr, but it’s crazy to imagine a world where all apps are like Flickr. I want to use native apps like iPhoto, but with the social network stuff built into iPhoto. Maybe the open API for social network stuff will help.
Read this before you install OS X Leopard
十月 27, 2007
Apple screwed up Chinese input in OS X Leopard. If you use the Yi-Tian keyboard mapping for typing Chinese characters, do not install Leopard yet. At least two symbols are not mapped to any keys. I can’t write this entry in Chinese because the input module is not working right.
使用倚天中文鍵盤排列輸入注音的人請勿安裝 OS X Leopard. 有 bug.
後記: 感謝讀者 llwang 提供的資訊. 裝了 OpenVanilla 就沒問題了. 我居然從來就沒聽過 OpenVanilla. 真是好軟體.
補充: 不要錯過了 Ars Technica 的 Leopard 評論.
特雷門套件
十月 10, 2007
我一直想自己組裝一台特雷門 (theremin), 不過特雷門的套件都滿貴的, 負擔不起. 這個網頁介紹一個很簡單的特雷門線路, 套件才不到 50 美金. 看來是可以考慮購買了. (懂電子的人應該可以看得出來這麼簡單的電路 50 美金實在是太貴了. 不過我不是真的懂電路, 不得不買套件.)
Arduino!
九月 25, 2007
我一直對 microcontroller 很有興趣, 希望能用在研究上. 最近才發現 arduino. 板子才三四十美金, 加上所有的軟體都是 open source 的, 看起來是我覺得最容易上手的了.
而且台灣已經有很不錯的中文資訊了! 請看 Arduino 樂園.
以下的 video 是利用 arduino 製作的電子樂器, input 是任天堂 DS 的感應筆. 酷!
The Woz
九月 3, 2007
喔對了, 看到傅瑞德這篇文章, 才知道 Apple II (還有 Apple I 與 Apple IIgs) 的設計人 Wozniak 到台灣訪問了. 看起來也許是因為文化或是語言的關係, 主持人跟 Woz 互動不佳, 似乎有一些令人尷尬的場面.
這類的事在台灣不少見, 不太令人驚訝. 不過訪問 Woz 弄得冷場, 就更不令人驚訝了. Wozniak 是很奇怪的人, 儘管是上美國媒體, 好像也常常表現失常. iWoz 這本書剛出版時, Woziak 上 The Colbert Report 接受 Steve Colbert 的訪問. 我從來沒看過 Colbert 有訪問特別來賓弄到冷場的情況, 可是那一集的訪問. Woz 簡直是像是吃了麼迷幻藥一樣, 自顧自的講他的得意故事, 完全不理會主持人. 令我看得出冷汗. 我常常想 Woz 是不是飛機出事之後, 就一直沒有完全復原哪?
Colbert 訪問 Woz 的片段 youtube 上可以找得到. Colbert 說 Wozniak 跟 Jobs 兩個人是 “nerd 的亞當與夏娃”. 我覺得滿妙的.
我跟 Woz 這位傳奇性的人物有一點點很小很小的互動. Woz 是有名的惡作劇大王. 有一天我寫 email 給他, 請他告訴我他最得意的惡作劇. 想不到 Woz 馬上就給我回信了! 他說他正在寫自傳, 自傳裡會有詳細的描述. 雖然只是短短的兩三行, 還是滿令人驚訝的. 不知我是拍對了馬屁, 還是 Woz 真的是會回答所有人寫給他的 email.
Woz 的小故事很多, 有一個我覺得很有趣. Steve Jobs 剛回蘋果的時候, 做了一系列的平面廣告 (Think Different), 向重要的藝術家與文化界人物致敬. 有一個人寫 email 給 Woz, 說 “蘋果的新廣告, 把你也列為重要的文化人物之一, 真是令我欣慰”. Woz 的回答很簡短: “那不是我. 那是導演柯波拉.” 果然, Woz 跟 Francis Coppola 有時看起來滿像的.
Numbers 試算表
八月 7, 2007
今天蘋果發表新的試算表軟體 Numbers. 資訊太少, 還不清楚細節. 不過 Numbers 有一些 Lotus Improv 的影子. 難道我的美夢終於成真了嗎? Improv 好像要起死回生囉….
Improv 最有用的一個功能, 就是它把試算表視為高維度空間矩陣. 使用者可以很容易地用 drag 的方式動態選取要顯示哪些維度, 還有要把哪些維度顯示成行, 哪些成列. 看來 Numbers 還沒有這個功能. 不過 Numbers 跟 Improv 一樣, 行與列可以設定 label, 並且用在公式裡. 這又是高維度試算表的特色. 也許第二板的 Numbers 就會比較像 Improv 了…
update: 高興太早了. Numbers 並沒有 Improv 的功能. 哎…
電玩 Longplay 現象
六月 1, 2007
以上 video 是電玩 “幻想空間” 的完整解答.
我無意中發現, 只要在 youtube 搜尋 amiga longplay, 就會發現許多的有趣玩意兒. 我小時候喜歡玩冒險遊戲, 不過英文不佳, 常常玩到中間就卡住玩不下去了. Amiga Longplay 把整個遊戲的解答, 像是電影一樣的錄起來, 讓你可以從頭看到尾. 我目前只看了 Darkseed. Darkseed 是當時視覺效果非常驚人的遊戲, 現在看起來滿糟糕的. 而且劇情無趣, 謎題的解答也很牽強, 不是好遊戲. 好在當年我沒有想破腦把 Darkseed 玩完.
我的同學 David 對 Amiga Longplay 非常著迷, 把遊戲解答當電影看. 他已經看完了 GalaxyQuest (宇宙傳奇, 軟體世界出版?) 的前兩集, KingQuest (國王傳說?), 還有幻想空間等遊戲. 看來他對 Sierra-on-line 的遊戲比較熟. 我比較喜歡 Lucus Arts 的遊戲, 法櫃奇兵 (the lost grail 與 atlantis 都有), 猴島, 沙之器 (Loom)…都有解答可看. Loom 是我唯一完全靠自己全破的冒險遊戲, 不過我那時的英文太差, 遊戲結束了我還不知道發生了什麼事. 不過, LucasArts 最好的遊戲我覺得是 Zack McKracken and the Alien Mindbenders, 接下來就是瘋狂大樓 (Maniac Mansion). 可惜兩者都沒有 video 可以看. 有一個我曾經覺得很有趣, 可是沒有機會玩的科幻冒險, 叫 Innocent Until Caught, 當時的電腦玩家雜誌說遊戲名稱很有存在主義的味道 (會嗎?) 這麼多年後, 終於可以知道 Innocent Until Caught 是怎麼樣的遊戲啦!
當然, 這些遊戲都是 Amiga 的版本. 不過當時的 Amiga 應該風光時期已過, 遊戲都直接從 PC 那邊移植過去的, 所以看起來效果跟 PC 的版本沒有什麼差別, 連音效都好像沒有改, 真令人失望. Amiga Longplay 有些遊戲是 Amiga 專有的射擊遊戲, 那圖形效果就 (以八零年末期的水準來說) 驚人多了.
我這裡有一台還可以用的 Amiga (不含 video toaster), 因為實驗室搬遷, 就快要進垃圾堆了. 有興趣保留個人電腦歷史的人可以跟我連絡一下 (美加地區 only. 免費贈送. 郵費自付).
這台 Amiga 的身世, 我介紹一下. 他的第一任主人, 是有名的理論神經學家, 加州理工教授 Koch. 他不知對 Amiga 有什麼不滿, 把這台電腦丟出實驗室. 我的老師看到就把他撿回來用. 理論神經學是很冷門的學問, 為什麼我說 Koch 有名呢? 因為他的手臂上有一個蘋果電腦商標的刺青, 討論蘋果電腦崇拜的專書 The Cult of Mac 有專門訪問 Koch. Koch 說當時他人在中東, 紋身師父沒有聽過蘋果電腦, 不知道要怎麼刺, 不過 “要是你只是想在手上有一個美國企業的商標的話, 我可以幫你刺一個麥當勞.” Koch 當然趕快離開, 找了本 MacWorld 雜誌給師父看.
Mathematica 小 trick
五月 25, 2007
用 Mathematica 繪圖, 要是用 AxesOrigin->{x,y} 改變原點的座標, 常常會造成 x 軸跟 y 軸沒有連在一起的情況, 看起來很不好看. 解答是用 PlotRange->{x,y} 指令把 x 繪圖的範圍延伸到新的原點座標.
能傳函數就不要傳數值
五月 9, 2007
擅長使用 functional language 的人應該早就在用這個 trick 了, 不過我最近發現我的 python code 越來像 functional programming.
我常用的小 trick: 傳給 function 的參數, 最好不要是數值, 而其他的 function. 例如: 一個 function 先把一個大 array 過濾過, 然後再作一些處理. 我以前就會把 filter 的 threshold 當參數傳給這個 function. 現在我會把整個 filter function 傳過去. 聽起來很簡單, 沒什麼. 不過我發現只要嚴格遵守 “能傳函數就不要傳數值” 的規則一陣子後, 程式的彈性有時候大到超過我原來的預期.
另一個好處, 就是這種設計可以大幅減少對 class 的依賴. 我覺得 object orientation 的彈性沒有想像中的高. 善用 functional programming 常常比設計 class 來得好.

