顯示具有 天馬行空 標籤的文章。 顯示所有文章
顯示具有 天馬行空 標籤的文章。 顯示所有文章

星期一, 4月 28, 2008

偶發性思考

好久沒寫 blog 了,再不更新不知道會不會被 Blogger 刪帳號...

專題展正在展,現在稍微比較閒一點。人肚子餓就想找東西吃,吃飽了就想東想西。最近就想到個奇怪的東西...

這個奇怪的... 恩... 姑且稱為產品好了。我想在衣服背後用 e-ink 之類的東西印一個 display,配合 wlan 或其他定位技術,可以用來指向某個特定的位置。例如去參加某活動(COSCUP/OSDC/CWT...?)的時候,通常都要東找西找某個設施,如會場或廁所。於是讓工作人員穿上這樣的衣服,直接有個箭頭指向會場或週邊的重要設施,參加的來賓看到就知道要往哪裡走了。甚至可以配合顯示還有多遠這樣... (謎之聲:幹嘛不放個告示牌就好了?我:唔......)或是可以讓講者攜帶定位裝置,這樣要找某位講者,可以讓大家衣服上的箭頭都指向那個講者。可能還有其他應用,暫時沒想到。不過基本上是電子墨水跟無線網路的 mash-up。

這種衣服還有個好處,可以上網下載花紋... 例如我今天要穿紅色的花紋,就上網下載以後顯示在衣服上。如果我突然想要其他顏色,就去下載些其他圖案,就像換桌布那樣。於是你要開正式會議的時候,就讓它變成什麼都沒有的白襯衫,開完會換個圖案馬上就可以去夜店,多好!像 jserv 這種人(剛好想起前幾個禮拜拜讀他這篇文章,並無冒犯之意...)就得救了!

星期日, 3月 04, 2007

令我日思夜想的檔案系統

奇怪,怎麼都沒人想到呢?

先前提到說,適當的將檔案系統壓縮,可以提高磁碟的存取效率 - 尤其是 CPU 速度與 IO 速度差很多的時候。雖然沒有完整的數據顯示到底快多少,不過 RANMA K 兄有初步測試過不壓縮與壓縮時的寫入、讀取速度。況且還有個良好的副作用 - 同樣大的硬碟空間裡,可以裝的東西更多了,而且完全不會變重

根據用屁股思考就可以領悟的常識,我們知道:

  1. CPU 的 IO 速度非常快(相對於硬碟)
  2. Disk 的 IO 速度非常慢(相對於 CPU)
  3. 大部分人的 Desktop PC,CPU 使用率並不會常保 100%...
  4. 越大的檔案越有機會產生 Fragmentation,而 Fragmentation 會增加 Seek Time。
  5. 若資料已經壓縮過了,再壓一次只是浪費時間。(呃... 廢話! = =)

所以,希望有一種檔案系統的,會根據檔案的狀態來選擇性的壓縮檔案,大概像這樣:

  1. 首先有個選項來針對檔案設定是否壓縮,例如 compress_attribute:
    • Always:總是壓縮
    • Automatic:根據下述規則決定是否壓縮
    • Never:絕對不要壓縮
  2. 如果檔案太小,就不壓縮。
  3. 如果檔案已經被壓縮過,就不壓縮。例如:
    • 一般壓縮檔:ace, bz2, gz, rar, tbz2, tgz, zip... etc.
    • 壓縮過的多媒體檔案:avi, mpg, mpeg, mp3, wma, wmv... etc.
    • 壓縮過的圖片檔:gif, jpg, mng, png... etc.
  4. 其他還沒想到的規則...

當然,這個檔案系統要有現代檔案系統該有的功能,例如:

  • Journaling
  • Online Repacker
  • POSIX ACL
  • Online resizing (grow and shrink)
  • 其他還沒想到的功能...

如果有相關的資料或論文,還請不吝留個言... 多謝!

星期二, 2月 13, 2007

圖片加密函式庫

最近獨孤木前輩弄了個 Diggirl.Net 出來,服務的內容... 恩... 連過去玩一圈就知道了。於是,就搞得一些相簿的主人不開心了!

其實,我也認為任何資料只要放到網路上(應該說,資料公開以後),就不能再做什麼進一步的禁止行為了。因為網路本身是一種類似「群播(broadcast)」的機制,放出去的東西就是放出去了,沒什麼好限制的。就好像你想到台北車站前面大喊「我腦殘啊!」,卻又不想讓任何人聽到,是不可能的事情一樣。所以,圖片如果不想流出去,就好好收在自己的硬碟裡吧!

Okay... 以上是前言,接下來進入我實際想到的東西。

也許,在某些時候,你會希望能在相簿上分享某些圖片,卻又只想給指定的某些人看到。其實有很多 PKI 早已行之有年,也在很多關鍵應用上扮演重要的角色。所以,應該也可以應用到這個狀況上來!

讓我們拿 Alice 跟 Bob 來當例子,他們是我眾多虛擬朋友中的兩位:

Alice 想傳一些裸照給 Bob,可是又怕被別人看。因為有幾萬張照片要傳,用 email 又太花時間了。於是,她決定選用由 Palatis Inc. 所開發的圖片加密函式庫!

首先,他使用程式提供的兩套軟體,產生適當的 keypair,並使用該 keypair 將資料加密:

  1. 使用函式庫提供的 keygen 產生 keypair (pubkey, prikey)
  2. 將自己的裸照 (naked*.{jpg,png,gif,bmp,tiff, ... }) 經程式轉為 bitmap (naked*.bmp),並使用 pubkey 加密以後,轉回 png 一類非破壞性壓縮的圖檔 (naked*_secured.png)。於是,轉出來的東西用其他圖形函式庫看起來,就像是白胡椒鹽撒在黑胡椒鹽(... 總之就是胡椒鹽)上一樣。

再來,將這些胡椒鹽照片傳送到適合大量下載的網路空間(如網頁、相簿、ftp、bt)上。

使用另外的管道(如 email)將 prikey 送給 Bob,並祈求 Bob 不會把她的裸照洩漏出去。當然,該 email 會用其他軟體(如 GnuPG)加密。(或簽章,否則 Bob 可能也不知道收到的是否真的是 Alice 的裸照。)

Bob 本來去 Alice 的相簿看到的只是一堆胡椒鹽的裸照,但是當他拿到 Alice 送來的 prikey 以後,世界頓時亮了起來!

  1. Bob 把 Alice 給他的 prikey 放到函式庫搜尋 key 的資料夾(如 /home/bob/.libsecreatpic/received_keys/)底下。
  2. 然後用他心愛的網頁瀏覽器(順便廣告一下 Firefox!)開啟 Alice 的相簿。

Yeah~胡椒鹽都不見了,取而代之的,是 Alice 性感火辣(?)的曲線!

至於實做細節的部份,因為沒空,所以以後再想 *flee*。

星期日, 8月 13, 2006

線上翻譯網站

不,你錯了!我並不是要介紹什麼類似 AltaVista - Babel Fish Translation 的線上翻譯網站,而只是在這裡貼上一點個人想法與計畫。我可能會在不久以後的將來動手實做軟體的部份,不過資料可能就得靠大家幫忙一起輸入。

想做的東西,是可以讓有意幫忙翻譯 Linux 軟體的使用者直接在線上翻譯軟體的介面網站。這個網站跟一般認領軟體的 .pot、回家翻譯好、再上傳給翻譯協調者的作法不一樣,而是讓你直接在網站上翻譯軟體!作法有點類似 WindizUpdate 的翻譯方法,他隨機列出網頁上的一句英文讓使用者翻譯,收集了許多使用者的回饋以後,由演算法決定最適當的翻譯。

我想做的東西也有點類似這樣!也許您今天閒的發慌,想作些本地化(Localization)的工作。於是,來到了這個線上翻譯網站。或是,您是專程為了翻譯某個軟體,或是發現某個軟體的翻譯有不完全、翻譯錯誤的部份想要幫忙修改。首先您可能會看到個這樣的畫面...

歡迎您的到來,在這裡您可以讓世界更美好云云...

  • 我想翻譯特定軟體
    經由搜尋、清單... 等功能,直接進入該軟體的翻譯區。
  • 沒有特定的目標
    由系統隨機選取需要翻譯的軟體,讓使用者翻譯。

選定了想翻譯的軟體(隨便舉一個簡單的範例,例如 gcalctool 好了!),網頁上會列出目前翻譯的狀態與累計的翻譯。您可以直接選擇使用已經有的翻譯,也可以加入新的翻譯。若是不想翻譯,可以在前面的核取方塊設定。

全選
原文 翻譯
......
Set numeric base to binary (base 2)
......
Set display type to engineering format
......

翻好之後,使用者就暫時沒事了,輪到翻譯協調者啦!翻譯協調者可以從下載系統產生的 .po,將它回饋給更上游的軟體設計團隊。

此篇文章只描述 Use Case,系統內部的資料格式、介面呈現等還需要另外設計,如何從上游取得需要翻譯的資料也必須另外考慮(是直接從 cvs/svn/git checkout、還是由翻譯協調者手動輸入、還是有其他作法?),如何與上游協調更是想都沒想到。不過... 算是先起個頭!