趁著春節假期的空檔,傍晚努力了一番,把我的 blog 給升級到 wordpress 2.0.1 了。雖然一樣是使用 Subversion 安裝,但為了保險起見,我並沒有直接使用 svn switch 的方式,而是另外 checkout 一份,照著 Wordpress 官方網站的這篇《Upgrading Wordpress》一步一步慢慢升級。我的步驟如下:
備份資料庫:使用前陣子寫的 mysql-dump.sh 備份資料庫。
下載:使用 svn checkout 下載 trunk 版 Wordpress 至 wordpress-trunk 目錄,把 blog 目錄改鍊結到此目錄。
執行升級程式。
將原本的 theme 複製至新目錄。
測試,一切正常。
將原本用的 plug-in,除了 HTMLArea 外,皆複製至新目錄。
測試,一切正常。
為了使用 rich editor 的 dialog 功能,將 tab mix plus 設成 allow all popups[1]。
安裝 editormonkey,發現會找不到 toolbar 設定,經查發現是該 plug-in 的 editormonkey/include.php 檔用了 <? 而非 [...]
Jimmy 引了我的《今日連結 (2005-12-06)》裡提到的這條:
Growing pains for Wikipedia - 這裡有中文版新聞。這句話對我而言,真是當頭棒喝:「Wikipedia 通常被視為有權威性。這種觀念現在必須終止。」
發表了這篇《Wikipedia的權威性?》,認為「網路的去中心化和匿名性,根本上就不支持權威。wikipedia 網站落實網路的特質,自由,多元,便一定得面臨缺乏權威的問題。」波也發表了他的意見,認為 wikipedia 所彰顯的多元論述,才是其真正的價值。
老實說,當初在摘這則消息時,其實並沒有想得那麼深。現在仔細一想,我覺得 wikipedia 對我的意義,以及讓我覺得當頭棒喝的癥結點,在於這幾個詞:
知識恐慌、搜尋引擎、永久連結,以及會變動的知識。
blogging 對我而言,其實主要是作為一種學習與記錄的工具,而不是當作宣傳理念,主張想法的媒體。換句話說,這背後隱藏了一種叫做「知識恐慌」的趨力。就好像作學生的時候,上課總是猛抄筆記,卻反而沒有聽清楚老師的講解一樣。這樣的一種恐慌,又以「今日連結」表現地最為明顯,因為無法即時消化,轉換成為賣若分明的 blog 文章,所以只好以記錄連結的方式留下曾經造訪的軌跡,以備未來有需要的時候,得以重新拾回這些曾經未能確實掌握的知識。
Yahoo 以 portal 起家,所謂 portal,其實就是一種由專人編撰的網際網路百科全書,透過 directory 的形式分類彙整,讓我們得以按圖索驥,得到所需要的知識。相較於 bookmarks 這種個人筆記,portal 提供了更廣更全面 (甚至更權威) 的知識索引。這是網際網路的第一個突破。而後起之秀的 Google,則是靠著優秀的搜尋引擎性能,打敗了預先編撰的知識儲存、取得形式。既然想要學習、需要知識時,都可以即時透過搜尋引擎,快速地找到答案,那我們又何必在平時就勤作筆記,孜孜不倦以對抗知識恐慌呢?於是 (Google) 搜尋引擎的出現,帶來了網際網路的第二個突破,從根本上改變了人們學習、處理知識的方法。
隨著工具的進步,當學習、記憶的成本大幅降低的時候,人們終於可以騰出更多的精力,專注於知識的產製。很多人總說,blog 是「公民新聞」的良好平台。但其實我認為,像 digg.com 這類的網站,可能才是比較好的公民新聞平台。Blog 真正可以發揮的價值,其實不是其新聞性 (氾濫的 N 手新聞一點價值都沒有),而是做為個人智識交流的平台 (重點在評論與交流,而不是新知)。而所謂的「個人智識交流」,其實就是知識的產製與傳播。我們可以這麼說,沒有 Google,就沒有現今 blog sphear 的榮景。不過,前身為 web log 的 blog 平台,其實還是有其侷限。其 log 式的平坦結構,相應於知識的複雜性與多面向,便有其表達力不足的缺點。幸虧,我們還有「永久連結」這個武器,透過不變的定位方式,我們得以串連不同層次的知識,使平坦的 web log 式文章,得以立體化而豐富起來,帶來了網際網路的第三個突破:知識的產製與傳播的成本降低。不過,也由於知識的產製與傳播的成本降低,使的知識的量遽增、質降低、層次趨向複雜多向,甚至到了連搜尋引擎都無法輕易精準地幫助人們找到所需要的知識。於是對於一些較為成熟穩定的知識,便藉由 wikipedia 被人們重新拾回,復又以預先編撰的知識儲存、取得形式出現,慢慢地累積彙整起來。與網際網路的第一個突破 [...]
因為「資訊消費的機會成本」問題,CNBlog 被我放在 Bloglines 積了很久,今天才終於拿出來看。一堆文章裡,也只有這篇比較令我感興趣:《RSS版权问题的困惑》。這篇文章談的是,當「內容」透過 RSS 被傳送出去時,所衍生出的版權問題。例如:
个人利用Lilina聚合RSS内容,同时在页面上包括了Google Adsense的广告,是否属于商业用途呢?
法律問題其實難解,至少對非法律專業的大多數人來說,這也是為什麼我們需要有 Creative Commons (後簡稱 CC) 的緣故。透過 CC 讓我們可以用簡單的規則,組合處理複雜的法律問題。在下面的評論區裡,xba 說了這麼一句話:
RSS2.0默认的版权声明是署名、保持一致。也就是并不禁止商业用途,但再出版或派生的作品应该也采用这一授权。
這位 xba 可能譯錯英文了。RSS 2.0 Specification[1] 的最後一段,才有提到版群問題:
RSS 2.0 is offered by the Berkman Center for Internet & Society at Harvard Law School under the terms of the Attribution/Share Alike Creative Commons license. The author of this document is Dave Winer, [...]
pLog 改名了!因為 Amazon 比 pLog project 還要早註冊了 pLog 這個 trade mark,所以在 Amazon 的協助下,pLog 現在正式改名叫 LifeType。不過請不要責怪 Amazon,那本是他們的權力,沒有控告 pLog team,反而還與 pLog team 合作,找出了雙贏的解決方案,誠屬不易。新版的 LifeType 1.0.2 即將釋出,包含有全新打造的 buttons 與 logos,十分令人期待。
因為我的 FreeBSD server 上的 Samba,無法正確處理從 Windows 建立的中文檔名,從 FreeBSD 上看是亂碼,因此,只好乖乖地上 FreeBSD Chinese HOWTO[1] 找到這節《Samba - 網路芳鄰,資源分享程式》,照著上面所述,在 /usr/local/etc/smb.conf 的 [global] 區段加上下面這些設定:
[global]...mangling method = hashunicode = ondos charset = UCS-2LEunix charset = CP950display charset = CP950
其中,mangling method 的意思不太懂,所以上 Google 找到這頁《The Unofficial Samba HOWTO》的說明:
Mangling Method Name mangling is a method where Windows allows long filenames to retain a [...]
今年年初,The FreeBSD Project 舉辦了 FreeBSD logo design competition,希望能夠選出新的 FreeBSD 精神象徵圖案,以取代原來的卡通版小惡魔。而比賽的結果,剛剛宣布了。贏家是 Anton K. Gural,他設計的新 FreeBSD logo,捕捉了小惡魔的意象,晶瑩剔透,充滿現代感。可惜,我還是覺得原來的小惡魔比較親切可愛,新的小惡魔感覺上很沒有人性。不過,也許正如新聞 (連結過一陣子可能會失效) 中所述,新的 FreeBSD logo 可以讓 FreeBSD 的行銷更容易進行。
Arlo 在這篇《你RSS了嗎?》為大家介紹了 RSS 是什麼。可是,我有話要說:RSS Reader 其實一點也不「不會太吃資源」。
當我匯入從 bloglines 匯出的 OPML 檔時,RSS Reader 竟然白爛到用 application modal 對話視窗,邊匯入邊抓取。近三百個 feeds,與其所有內容,一次全部抓完。整個 RSS Reader 視窗,整整快一個小時,通通動彈不得,更別說對整體系統效能的影響了。
RSS Reader 很貼心地幫忙保留了我的 bloglines 的分類。可是當我不小心 (其實很容易) 點到左邊 treeview 的分類標題時,RSS Reader 就一次把該分類裡所有 feeds 的所有 XML 檔,統合在一起,用 XSLT 轉換成一個大 HTML 顯示在右邊。我的分類不多,一個分類可能就上百個 feeds 上千篇未讀文章。於是,很多個一不小心,造就了很多次長達十幾分鐘的 idle,不比抓 feeds 時 大多在等待網路資料,XSLT 轉換耗的全是 CPU,因此我的電腦又是好幾次每次長達十幾分鐘的完全動彈不得。
這根本是設計錯誤啊!
之前換 theme 是因為 Arlo 跟我說,我的 trackback 爛掉了。結果 theme 換好了,還是不能夠 trackback,還好新 theme 的樣式我很滿意,才沒有做白工。只好再翻出國三生長輩的這篇《Wordpress Trackback Auto-Discovery》仔細研究了一下,這才發現,雖然舊 theme 爛到底了什麼也沒做好,但新選的 Beeblebrox theme 一樣也是找不到 trackback_rdf() 的存在,只好乖乖自己改 theme 把 trackback_rdf() 加上去。
可是,這一加,出了問題了。冒出了如下的錯誤訊息:
Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in /WP/wp-includes/template-functions-links.php on line 4
一追之下才發現,這實在是 wordpress 程式寫的不好的緣故啊。trackback_rdf()不加任何參數地輾轉呼叫到 get_permalink(),於是 get_permalink() 只好用 0 這個預設參數值當參數呼叫 get_post() 取得當篇文章的各項資料。這可好了,get_post() 若收到 0,就會去抓 $GLOBALS['post'] 當作要查的文章的 id,而因為此時尚沒有 $GLOBALS['post'] 的存在,因而產生錯誤。
為什麼 $GLOBALS['post'] [...]
剛剛寫了一個簡單至極的小程式,是的,就是那個第一千次 commit 的 class,::mmi::util::version。這個 class 把三個 uint32_t 包起來,分別賦予 major version number、minor version number 以及 revision number 這三個意義。可是,想 porting 回 GCC 時,竟然產生 compilation error。錯誤訊息是這個樣子的:
c++ -Wall -I./include -g `env PKG_CONFIG_PATH=. pkg-config --define-variable=prefix=. --cflags libMMI` -o src/mmi/util/version.o -c src/mmi/util/version.cpp
src/mmi/util/version.cpp:72: error: expected unqualified-id before '(' token
src/mmi/util/version.cpp:72: error: abstract declarator `uint32_t' used as declaration
src/mmi/util/version.cpp:72: error: `uint32_t mmi::util::version::$_12' is not a [...]
透過 Richy's Blog 的網摘服務,我看到了這篇《金石堂腦袋壞去了!?》。我可以理解,社群網站使用這樣子的使用條款,是為了避免未來更大的爭議 (麻煩)。網路社群所發表的文章的著作權歸屬,一向是社群網站最大的定時炸彈之一。幸好搞社群網站的,多少都有些自知之明,敢去碰觸這顆炸彈的並不多,所以至今較為人所知的,也只有光碟月刊的事件而已。
金石堂網路書店-個人化書店與日本的 LiveDoor,其實也並沒有真的去觸碰這顆炸彈,但問題就出在,社群對網站站主的信任程度不夠,尤其是作為一個商業社群網站,社群一向無法給予如對學術網路上社群網站同等的寬容。
這或許是因為,在學術網路上,有著其實並沒有多大實質約束效力的台灣學術網路公約的存在,多少可確保網友們的著作,不被用在會令人不悅的地方。而對於商業社群網站而言,一旦網站主取得了著作權,那究竟會發生什麼事,沒有人能預料,也沒有人能阻止。
因此,使用者對於商業社群網站的使用條款,尤其是關於著作權規定的部分,相對來說,會更為敏感一些 (但大部分人會懶得看使用條款)。
或許處理著作權問題的最好方式,是採用如 Creative Common 之授權模式。因為這種授權模式,與社群網站之所有能夠聚集人氣所憑藉的特質,分享,最為契合。
不過,在傳統社群網站被 blog 風潮 decentralized 的現在,說這個好像有點沒有意義。:-p