試著在剛裝好的 Ubuntu 上亂打一些指令時,發現在 CLI 介面,Ubuntu 會聰明的提醒你忘了裝甚麼軟體套件。

user@user-laptop:~$ proxychains
The program 'proxychains' is currently not installed.  
You can install it by typing:
sudo apt-get install proxychains
-bash: proxychains: command not found

稍微玩了一下,發現是 command-not-found 這個神奇法術。軟體套件包含 /usr/lib/command-not-found 、是一個用 Python 刻的指令稿,此軟體會查詢預先建成的指令/軟體名稱資料庫,只要餵給它指令名稱,他可以迅速的提示如何安裝含有該指令的軟體套件。由於資料庫是 gdbm,且大小只有 2.3M (command-not-found-data 0.2.17ubuntu1),因此查詢的速度相當快,使用者不太感覺到差異。

要使用此功能,尚必須在 bash 中定義一個 command_not_found_handle 函式,在查無指令時自動執行 command-not-found. Ubuntu 已經將這段程式建於 /etc/bash.bashrc.

不過目前使用的套件資料庫是預建的,因此不會依照你所使用的 apt sources 自動更新資料庫。若是可以整合 apt-file 與 dlocate 兩個的功能,應該可以提供較有彈性的功能吧。

Flash Player 9 後又過了一年半,Adobe 終於又將發行支援 Linux 的 Flash Player 10

新版的 Flash 在各種多媒體處理的能力與效能上都有重大的改進。包含了新的 繪圖/3D API、新的音效處理 API,在 Linux 平台上尚新增了以下功能

  • Linux WMODE (windowless mode)
  • Video4Linux v2 Support
  • unloadAndStop
  • Limited Fullscreen Keyboard Access
  • File Reference runtime access
  • Dynamic Sound Generation
  • Large Bitmap Support
  • Context Menu
  • GB18030 Compliance
  • Ubuntu OS Support

終於,Flash 不會老是浮起來蓋住 HTML。當然,我最關心的其中一個功能是新的 Flash Player 支援 v4l2,於是我終於有機會不需靠 Flashcam 或 patch libflashsupport.c 使用 Webcam,可以開始玩 Yahoo Live, wooMeseesmic 等網站。

但稍微測試了一下還是有些問題。Flash 似乎無法與我使用的 uvcvideo 融洽相處,總是會再抓了一張 frame 後抱怨 ‘Camera is unavailable, may be in use by another application‘。目前測試的版本是 Flash Player 10 Beta2,希望正式版發行前可以修正這個問題

另外一個令人感興趣的功能是,在新的 Flash 10 的 Release Note 中提到了 RTMFP,與 RTMP 不同的是,RTMFP 是以 UDP 為基礎的 P2P 通訊協定。根據 Release Note 中的敘述,這項技術來自 Adobe 於 2006 所收購的 Amicima 公司,在 RTMFP FAQ 中有稍微詳細的技術說明。以目前的技術規格來看,雖然無法做到類似 Bittorrnet 的 P2P Swarming 來作檔案分享。但是可以拿來作點對點的通訊協定替代品,對於建立像 wooMe 這樣的服務來講,可以省下大量的頻寬才是。

在追一個 Firefox 延伸模組時,試著玩了一下在 Firefox 外掛中使用 Java 的方法。

原來你可以用 XPConnect 來存取 Java Object,甚至將你的 Java object 封裝成 XPCOM,以方便 Java Script 取用。範例可參考 Simile ProjectJava Firefox Extension。於是乎,你的外掛介面可以用 XUL/Java Script 實做,但後端丟給 Java 來處理,若是拿來整合某些企業應用程式,應該可以比較快速的拉出使用者介面與整合商務邏輯。

或者,你也可以使用 JavaXPCOM,讓你的 Java 程式存取 XPCOM 介面的元件。

之前曾經介紹過中國移動的飛信服務,是整合短訊與電腦即時通訊的服務。最近知道有兩個開放原碼計畫分別實做了飛信的協定,一個是 Fetion Pidgin Plugin、另一則是 LibFetion。於是你在 Linux 上,也可以使用飛信來傳訊到手機上了。若是有人實做了 Telepathy project 介面,那就更容易整合到其它不同的通訊軟體上了。

Source: libfetion

不知道台灣電信產業是否有人想作類似的服務,而不是鎖定平台與通訊協定的服務 (中華電信台哥大, 遠傳)。或是讓只能傳送簡訊的低階手機也可使用,且提供合理的費率。(說真的,誰的錢多到想使用這樣的服務?)

今年三月底時,Adobe 在 Adobe Lab 發行Adobe AIR for Linux alpha 版本。Adobe AIR 是一種執行環境,提供一個可使用 Adobe Flash, Adobe Flex, HTMLAjax 開發桌面 RIA 應用程式的平台。

試玩了一下,可以安裝 twhirl (Running Twhirl on Ubuntu 7.10) 等軟體沒有問題。可惜的是,目前 Linux 版本還不能支援 XIM,以至於無法輸入中文。

另外一個惱人問題是 Adobe AIR 將 zip 格式檔案都以 xdg-mime (xdg-mime of Portland project) 註冊成使用 Adobe AIR 開啟,以至於你的 zip 檔、OpenOffice 文件檔 (也是 zip 壓縮格式) 都變成以 Adobe AIR 開啟了!

解決辦法是

先移除原本的 xdg-mime 設定

# xdg-mime uninstall --novendor "/opt/Adobe AIR/Versions/1.0/support/AdobeAIR.xml"

以編輯器開啟 "/opt/Adobe AIR/Versions/1.0/support/AdobeAIR.xml",並移除檔案中以下文字

<magic priority="100">
<match type="string" value="PK\003\004" offset="0" />
</magic> 

重新安裝 xgd-mime 設定

# xdg-mime install --novendor "/opt/Adobe AIR/Versions/1.0/support/AdobeAIR.xml"

上述 # 開頭指令,指使用 root 執行。

哇,若你是個 Geek, 而且對 Linux, Python, Open Source Software 感興趣,你大約已經常常閱覽 Reddit.com,Reddit 是一個 Social bookmark 網站,使用族群較為偏熟悉技術的工程師。

就像所有的 Social Bookmark 一樣,首頁的排序與計算方式總是受到質疑與挑戰。於是 Reddit 乾脆就把整個網站的程式碼開放原碼,於是所有人都可以看到演算法與修改,也可以回饋建議、甚至 Patch。程式碼可於 code.reddit.com 下載。目前 Reddit 用的其他開放原始碼軟體還包含 Debian, lighttpd, HAProxy, PostgreSQL, Slony-I, 數個 Python libraries, Psychopg, pylons, Solr, Tomcat, Ganglia, Mercurial, Git, gettext, daemontoolsmemcached 等。

於是,好事者再也沒有理由質疑 Reddit 動了手腳。

reddit goes open source: message from the alien mascot