用案例解釋 OpenID 與 OAuth 的使用情境

參與者
  • abc.net 是一個社群服務網站,並且同時也是 OpenID 與 OAuth 的 Provider 。
  • xyz.com 是一個購物網站,且可使用 abc.net 所提供的 OpenID 與 OAuth 的服務。
  • 路人甲,是一個人,慣用的網路ID是 john。

路人甲(john)是 abc.net 的長期使用者,他在 abc.net 的使用記錄中,留下了許多偏好資訊,包含:

  • 他的名片,記載了他的地址、聯絡方式、與公司職務等。
  • 他的使用偏好,他習慣選擇中文使用介面,偏好藍色系佈景。
  • 他的通訊錄與好友名單。

Google Android 又涉嫌違反 GNU GPL

記者沒有人「請問您對微軟控告邦諾的 Nook 中的 Android 侵犯專利一事,有何看法?」

石頭成表示:又在告專利,來點新鮮事吧。等等,你說被告的對象是 Android?這是件好事,我很高興看到 Android 又被告了。Oracle 告完,微軟告。後面還有開放源碼界的法律專家在等著。活該啊。

繼 Oracle 狀告 Google Android 之後,微軟也出手了。這還不止,就連涉足開放源碼界的法律專家也在質疑 Google Android 違反 GNU GPLv2 的內容。在更早一些時候(3/17),LinuxDevices 報導《Google accused of violating GPLv2 licensing in Android》,文中摘要了多位法律專家的見解。在這則新聞中,人們討論的對象,不是 Oracle 告 Android 的 Dalvik 虛擬機,而是 Linux 核心與 bionic 函數庫。Edward Naughton 嚴正地指出: If that is the case, Google has found a way to take Linux away from the open source community and privatize it.(Google's Android Contains Legal Landmines for Developers and Device Manufacturers).

在無碟式精簡電腦上安裝 Ubuntu Studio

我手上有一台無硬碟式精簡電腦 (Atrust t100),是廠商數年前給公司的工程樣機。 規格挺舊的(VIA Nano CPU),但上面沒有任何風扇,也沒有硬碟,運作時很安靜。 所以我試著用它啟動 Ubuntu Studio ,接上我的 USB DAC (NuForce Icon Mobile)。

Make an Ubuntu Studio system on USB/SD disk.

某項多行程與多線程模式效能差異之評測分析

日前我做了一項大量資料計算效能評測工作。 評測內容是多行程(multi-processing)與多線程模式(multi-threading)的效能差異。

根據程式內部的資料計算方式內容,從理論與個人經驗,我直覺預期這項評測的多行程模式的效能會比較高。 有趣的是,公司同事(或者說多數資訊人員)則是習慣性地認為多線程模式的效能比較高。

在 shell script 中使用圖形式互動元件 - dialog 與 zenity 使用範例

在 Unix 世界中,系統管理者普遍會用 shell script 撰寫簡單的管理工具。 為了強化易用性,簡化 shell script 的撰寫工作,就出現了專門負責提供圖形式互動元件的小工具, 可供我們在 shell script 中調用。 讓它們處理複雜的使用者輸入工作,同時也提高了 shell script 的使用親和力。

本文提供其中兩種工具的使用範例。

  • 一、文字終端機環境: dialog。 非 Ubuntu 預裝項目。
  • 二、GNOME桌面環境: zenity。 這是 GNOME Desktop 計劃下的一個小工具。為 Ubuntu 桌面版本預裝項目,Ubuntu 桌面版都會安裝此套件。

HTML5 - File API 簡易教學

HTML5 規劃了一組支援本地文件(客戶端文件)讀取的函數介面,即 File API。 透過 File API ,我們可以直接在瀏覽器中讀取客戶端的文件,而不需要先將檔案回傳到伺服端暫存後再讓瀏覽器取回顯示。

本文將設計兩個文件閱讀工具示範 File API 的用法。 整個工作僅需在瀏覽器(客戶端)使用 JavaScript 即可達成,完全不需要任何資料上傳到伺服端的工作。

微軟說,是朋友就不該讓朋友用 IE6

前往 IE6 Countdown ,一起為 IE6 送終。

癮科技: 微軟: 是朋友就不該讓朋友用 IE6

ZDNet: Microsoft: Friends don't let friends use Internet Explorer 6

我寫Web應用程式超過十年了,個人和 IE6 之間的關係可說是苦大仇深、誓不兩立。難得微軟發起了這麼一項有意義的活動,我不推一下就太對不起我自己了。

我去年在部落格上寫了一篇《歐盟和 Google 先後以政治手段解決了 IE6》。在文中有提到,國內阻礙 IE6 死亡的最大阻力其實就在政府機關。希望微軟出手後,能讓我們徹底擺脫 IE6 的陰影。

Logitech Trackman Marble on Debian / Ubuntu

繼小紅點(TrackPoint)讓我玩上癮之後,我又對另一種不常見的指標設備 — 軌跡球 — 感到興趣了。 昨天終於弄了一個價格合宜的羅技木星軌跡球(Logitech Trackman Marble)來玩,台幣約在680元左右。

包裝中附有 Windows 與 MacOS 的驅動程式。在 Windows 上的使用方式不必多講了。 我來說說在 Ubuntu 10.04 上使用這隻軌跡球的經驗吧。

2013-03-19 更新在 Debian 6 上的使用內容。

我看 MeeGo, WebOS, Android

我從一位 Linux 程序員的角度來看 MeeGo, WebOS, Android 之間的差異。 這三套作業系統同樣基於 Linux 核心並支援 ARM 架構。 寫下這篇筆記,提供想要進入它們的軟體發展領域的程序員參考。 如有不同看法,歡迎討論。

入手小紅點鍵盤, IBM Space Saver II

前幾天在網拍上買了一隻 IBM Space Saver II 鍵盤。 雖然它似乎已經有10年歷史了,但功能仍然很正常,最重要的小紅點(TrackPoint)依然可以使用。 我現在把它放在公司使用,寫程式時雙手完全不必離開鍵盤,真的很方便。 滑鼠已經被我扔到一邊去了。

全照圖與 TrackPoint 特寫。

全照圖 TrackPoint特寫

PHP 網頁訊息國際化與 gettext 使用經驗

PHP 很早就已經支援 GNU gettext 的國際化模組。在線上手冊與網路上也可以找到許多相關的討論文章。 但是部份內容沒有完善地理解區碼的設定方式,以至於程序員在 LANGsetlocale() 的問題之中糾纏不休。

本文首先將說明區碼的設定問題,再示範 gettext 的使用方式。

Vala with GNU gettext

Vala 作為 GNOME 開發環境下新興的開發語言,帶入了許多新的功能,其中亦包含國際化(i18n)的支援項目。 儘管 Vala 的線上教學文件沒有隻字片語提到 i18n/l10n,但事實上 Vala 已經將 GNU gettext 作為內建的語言功能,使用它實現 i18n/l10n 能力。 Vala 提供了名為 _ 的函數,只要我們的 vala 程式碼使用了 _() 函數,就會使用 GNU gettext 取得本地訊息。

但是現階段使用這個內建功能時,還有一個文件未記載的不完善之處必須解決。待我說來。

一機多介面的業界新聞 - Motorola Atrix 與 WebOS Enyo

我這陣子上班時,會邊吃早餐邊看癮科技網站,那裡的科技新聞提供我不少樂子。在他們前陣子報導的 CES 2011 新聞中,我看到 Motorola Atrix 和 WebOS 揭示了一些有趣的想法。

關於 Motorola Atrix 的兩則新聞:

關於 WebOS 的兩則新聞:

NoSQL 是資料庫觀念的復興運動

日前公司同事接觸了 CouchDB, MongoDB 這幾套標榜 NoSQL 的資料庫系統。還有江湖傳言道:「RDBMS 落伍了,以後要用 NoSQL 資料庫」。這就在公司內引起了一場討論,到底 RDBMS 是不是落伍了。就我個人觀點,CouchDB, MongoDB 確實很有用,但要說 RDBMS 落伍了,我卻不以為然。

就我所見,NoSQL 其實是資料庫使用觀念的復古運動、正確觀念的復興運動。

HTML5 離線儲存規格仍未定

今天看了《Create offline Web applications on mobile devices with HTML5》,講授 HTML5 的離線儲存功能。由於它使用的是 W3C WebDatabase 功能,於是我又去看了該規範文件。結果看到規範文件的開頭用顯眼的黑底框寫著注意事項,宣告 WebDatabase 不再維護了。

停止理由是各家廠商目前在實作這個規格時,底層的實體儲存項目都是 Sqlite,走向一條死胡同。W3C 則是希望有多樣化且獨立的實現途徑。

多授權/雙授權模式是如何運作的

雙授權模式(dual-licensing)軟體是指一套電腦軟體,它提供了兩種不同授權模式供使用者選擇。實際上,也有些軟體提供了三種甚至三種以上可選擇的授權模式。是以我們統稱為「多授權模式」(Multi-licensing)。在解釋時要特別注意一點,多授權模式係指提供多種授權內容讓使用者擇一使用,並非多種內容同時授權。故中文說明時,不宜使用「雙重授權模式」或「多重授權模式」,因其授權內容並未重合。