Category Archives: 資訊科技
網站設計的反面教材
近日得悉,香港教育城在影視及娛樂事務管理處主辦的「優秀網站選舉」中,連續第五年獲選為優秀網站,值得慶賀。然而根據我多年的瀏覽經驗,在香港以教育為主題的網站都是海軍鬥水兵。教育城網站的優秀恐怕只是相對的,若跟外國的同類網站比較(例如:PhET、MIT、UNL),不論在科技應用、設計理念還是內容質素上,仍是有一段相當大的距離。
為了見識其它的得獎網站,我也按入了2009 優秀網站選舉的連結:
此網站主頁以 Flash 製作,外觀亮麗卻華而不實。我用滑鼠遊遍了整個畫面,還是不能找到按進去看內容的方法。就連右上角的語言選項,也是按來按去都沒有反應。我用的是 Firefox + Ubuntu ,看其它以 Flash 製成的網站完全沒有問題,偏偏在這2009 優秀網站選舉的網站被難倒,真是諷刺。(後來改用 Epiphany 才能看到內容。)
接著我用 iPod Touch 進去看,便是以下的畫面:
這是意料之中,因為 iPod Touch 上的 Safari 不支援 Flash。問題是,一個完全不必使用 Flash 的網站,卻只提供了 Flash 版的首頁,完全沒有考慮使用流動裝置進入網站的訪客,也沒有做好在各個作業系統及瀏覽器上的測試,這真是一個很壞的示範。
延伸閱讀:
Interactive Bus Guide HK
科技日新月異,竟然已經到了這個地步:

這個軟件不但可以搜尋沿途各站的位置和車費資料:

還可以顯示巴士站的照片:

與及在 Google Maps 上顯示位置:

資料來自各巴士公司的網站,但這個軟件可以在線或離線使用,比起我之前在 Palm 上用的 MetrO 又走前了一步。這類應用發展得那麼快,已經超出了很多人的想像。若非經常留意,隨時變成科技盲。
安裝方法也很簡單,只要在 App Store 裡搜尋 Bus Guide Hong Kong 即可,連 jailbreak 也不必:

延伸閱讀:
行政效率與數理思維
我的本職是教學,但是由於學校制度,我在教學之外還要兼任行政工作。根據去年的一次自我調查,在要上課的日子,我每週花了 32% 的時間在行政工作上,跟上課的 33% 差不多,而見學生的時間僅為 17%,備課時間為 14%,其餘約 5% 花在計劃和雜務上。
今年的行政責任比過去更重,所以行政工作的效率就愈見重要。於是,我經常思考如何提升行政效率的問題。我發現要做好行政工作,不論是執行性的還是決策性的,都需要良好的數理思維能力,其中又包括邏輯思維能力,與使用和理解資訊科技的能力。
對於執行性的行政工作,善用資訊科技是提高效率的重要一環。專職行政的同事,有時未必能夠善用資訊科技來解決問題,因為他們大多沒有接受過進階電腦訓練,不知道(也沒想到)很多問題都可以用電腦代勞,就是用電腦也未必用得最好。關於這一點,我在拙文《辦公室自動化了嗎?》、《辦公室自動化的困境》、《再談辦公室自動化:還是覺得 Perl 最好》中都有提及,有興趣的讀者可以參考,以後我還要另文再寫。
再進一個層次,就是行政程序的設計問題。在我的概念裡,行政程序跟電腦程序(程式)差不多,前者以人腦運行,後者以電腦運行。程序必須可行 (feasible)、準確 (accurate)、可靠 (robust)、有效率 (efficient)。過去,我曾經見過不少有問題的行政程序,如果設計者事先懂得如何為行政程序除錯 (debug),必定可以免去不少問題。
對於決策者而言,分析和解決問題的能力同樣重要。這個學期,我有機會跟某政府部門開會。開會的題目跟某項政策有關,而且有很高的技術成份。與會者(除我之外)皆非等閒之輩,奈何有些很基本的定義問題,開了三次會還未解決。有些與會者要求澄清基本問題,有些卻已在討論高層次的問題,真正是眾說紛紜、莫衷一是。究其原因,相信是大家的教育背景不盡相同,做事方法大異,而且召集人使用了決策性的開會方式,試圖解決執行性的技術問題,所以未能對症下藥。這樣下去,我肯定再開十次會都不會議出有效的方案,到時強行推出,一定會是另一個金玉其外、敗絮其中的政策。
怎樣改善這些問題呢?我暫時仍未想到,想到再寫。
編程雜談
行走江湖,多學幾門「外語」總是好的。但近年因工作繁重,就再沒有太多時間學「外語」。對上一次是 Lisp,當時還在當研究助理,因工作需要而自學。
我的「母語」是 Basic,當年在一台 80386 上自行摸索,從 QBASIC 一直玩到 Visual Basic。後來上了大學,才選修 C/C++、Matlab 和 Mathematica 的課。之後就憑著這些為基礎,再自學了一大堆其它相似的語言。不過由於我不是 IT 佬而是物理佬,做的是科學運算,所以最熟悉和用得最多的,還是正式上課學的那三種,尤其是 C/C++。
Java 雖然很「美」,但因為太慢和太笨重,所以平時玩玩則可,實作時還是避之則吉,直至近年因為教書的關係才多寫 Java。Java 在很多地方比 C/C++ 先進,但我覺得 Java 程式碼過於冗長,程式本身效能也不佳。強制的 OO 架構雖然是個優勢,但這個龐然巨物用於科學運算則缺乏靈活性,反而 C/C++ 容許我選擇甚麼時候用 OO,也可以用一些比較 low-level (如 pointer、bitwise operation)的技巧來提升程式效能,是我比較喜歡的。
但我最喜歡的應該是 Perl。它有一點像 C,但加入 awk 和 sed 等元素,比 C 更靈活易用,最適合用來做一些 quick and dirty 的數據分析。而 Lisp 和 Prolog 也是我覺得比較有趣的,可惜只玩了兩個月,未能深入理解其精粹。
我當研究生和研究助理的時候,每天都在電腦上編程和做實驗。通常是寫了一些 C/C++ 程式,然後要調校不同的實驗參數。調校好之後就放到一個 Linux server 上去跑(稱為 “submit job”),所產生的數據則自動存到文字檔中。這些程式運行需時,快則數小時,慢則一個月,所以程式效能至關重要,而產生的數據有時以 GB 計。這些數據不能逐個放入 Excel 一類試算表軟件中分析,一來試算表可能會鯁死,二來每次用人手處理也費時失事。所以我寫了一系列的 Perl 程式,用來抽取各項數據作計算和分析,必要時還可以用 gnuplot 來自動畫圖,甚至產生一份 HTML 格式的報告,再發一條電郵訊息,例如通知我自己回去看結果。這些全部都是配合 Linux 上的工具來進行,從 submit job 到出報告都可以自動化。所以一旦寫好了那堆程式,我只要執行一行命令,電腦就會替我工作,我就可以去玩別的東西,隔一段時間再回來看結果就行,非常好玩。
但是程式語言是會隨時間而演化的。每一種程式語言都有它的問題,所以每隔一段時間就會有一班高手出來,針對現存各程式語言的弱點,不斷發展出新的語言,Ruby 就是一例。我聽聞 Ruby 的好處已經有一段日子,但直到最近解決了一些時間管理上面的難題,才令我放工之後有時間和精力讀讀這方面的書。
初讀 Ruby 發現它並不像我熟悉的 C/C++/Java 一系,反而處處是 Matlab 和 Perl 的影子。這也不錯,因為 Matlab 和 Perl 的程式碼很簡潔,寫起來也方便。如果可以同時達到 C/C++ 級數的效能,那就非常理想。但是,效能也不是我唯一關心的事,因為在學習新語言時,還可以體會到設計者的智慧,看到語言背後的 elegance。這種「純美」的欣賞,令得學習本身就是一種享受。
暫時就寫到這裡,歡迎交流。
Google vs. Firefox
我愛 Google,也愛 Firefox。現在這兩個親密戰友終於要對決了,眾多支持者想必跟我一樣心情矛盾。
Google Chrome 最可愛的地方,是它的速度明顯比 Firefox 快,而且功能上設計得較適合 web application 使用,例如在 Gmail 上發附件,可以直接把文件圖示 drag and drop 過去。另外,它的 hot key 跟 Firefox 幾乎一模一樣,令我這種用鍵盤多於滑鼠的人,感到很易適應。所以 Google Chrome 不過出了幾天,已經取代了 Firefox,變成我在辦公室電腦上的預設瀏覽器。
不過,由於 extension 的原因,Google Chrome 暫時仍非 Firefox 的對手。Firefox 的 extension 支援令它在功能上幾乎無敵,Google Chrome 現在展現出來的功能上的優勢,大都可以用各種 extension 來達成。再者,雖然缺少 extension 令 Google Chrome 運行得很輕快,但也很不方便。而當 Google Chrome 上終於支援 extension (或者是 Google Widget)的時候,說不定其效能又會降低到接近 Firefox 的水平。
不過我相信 open source 的力量。不論 Google Chrome 還是 Firefox,在激烈的競爭下,它們必定會加速進化,向完美瀏覽器的方向前進,對用家來說必定是好事,到時是 Google Chrome 或是 Firefox 都沒所謂了。
延伸閱讀:
網上偷音樂技巧:RTSP 篇
今天做了一些邪惡的事,現把方法記下來跟其它魔鬼們分享:
任務:從網上經 RTSP 協定下載聲音檔案,儲存為 mp3 檔。
警告:以下動作經專人訓練,家中小朋友切勿模仿。
工具及環境:在 Ubuntu Linux 上使用 mplayer、lame 及 Sweep,不齊全的請以 apt-get install 安裝。
步驟:
一、第一步亦即最重要的一步,是以 mplayer 下載串流的 ra 檔,再儲存為 Real Audio 格式:
mplayer -noframedrop -dumpfile output.rm -dumpstream rtsp://url.to/input.ra
音樂至此已被成功偷取,下面是轉格式的事。
二、從 Real Audio 檔轉為 wave 檔:
mplayer output.rm -ao pcm:file=output.wav
三、有需要的話,可以用 audio editor 來進行剪輯,我的選擇是 Ubuntu 上的 Sweep。
四、最後把 wave 檔轉為 mp3 檔:
lame -f output.wav output.mp3
完成!
建議:只要把上面的命令寫成 shell script,即可進行全自動的偷音樂勾當。
港府再研電子教科書可行性
今天的 PTUNewsline (教協提供的教育新聞網摘) 提到了政府的電子教科書計劃:
輿論的反應卻是一般:
電子教科書計劃並不是新鮮事。根據立法會資料,早在 2002 年時,當時的教統局已經在十間中、小學推行過一個「電子書包試驗計劃」,並且在 2003 年時進行檢討。差不多同一時間,城市大學專上學院也在九龍灣德福校舍試行了一個「流動互動學習計劃」,當時用的是 Palm m125 掌上電腦。
我在舊文《電子書包計劃 舉步唯艱》中,分析過電子書包計劃的困難。其中主要困難不在成本或數碼鴻溝,而是軟硬件技術仍未成熟,若以電子教科書取代傳統的紙張,勢必改變傳統學習模式,涉及漫長的適應期,導致學習效率下降。版權觀念也是一個問題,因為只要人們不改變現時狹隘的版權意識,便不能盡用互聯網的資訊優勢。把本來放在紙上的東西搬到電腦上,不會對學生的學習有重大幫助。
我相信電子教科書總有一天會變成主流,但不是利用現時的手提電腦,而是以電子紙的形式出現。在電子紙成熟和普及之前,電子教科書計劃都不會有顯著成效。電子教科書計劃是一項長期投資,成敗取決於政府的遠見和耐力,與及人們對版權的觀念轉變。如果只是為了回避書價上升的問題,那麼電子教科書計劃的失敗便是可以預期的。
本網相關文章:
Office 2007 的使用者界面
Microsoft Office 2007 推出至今,同事和朋友多採負面評價,最大原因在於使用者界面的轉變。
上面第一幅圖是 80 年代末的 Word 1.0 軟件界面,運行於 Microsoft Windows 3.x。第二幅圖是大家熟悉的 Microsoft Office 2003。從 80 年代至今,工具列 (tool bars) 和下拉式功能表 (pull-down menus) 一直是使用者界面的兩大元素,一般的使用者都很習慣這種界面。
再看現今 Office 2007 的界面,便知道它廣受批評的原因。Office 2007 改變了工具列的形式,也放棄了下拉式功能表,取而代之的是結合兩者的 ribbons。工具按鈕被乾坤大挪移,令使用者無所適從,我第一次試用的時候也覺力不從心。
然而,我們不能因為不習慣便否定新界面。其一、微軟毅然改變一直沿用的界面,一定有它的原因。只要熟習了新界面,或者真能提高工作效率。其二、不管我們願不願意,轉用 Office 2007 是事在必行,未雨綢繆總勝於臨渴掘井。
適應的方法也很簡單:每遇有不熟悉的新功能,定必小心觀察、大膽嘗試,不管是甚麼按鈕,總之先按下去再算;這是學習電腦的不二法門。初時一定會花很多時間、犯很多錯誤,但熟習了之後,工作效率就可以提升到之前(甚至更高)的水平,也讓我們享受到使用新軟件的樂趣。
延伸閱讀:
Microsoft Office — Wikipedia
Microsoft Office 2007 (review) — PC Magazine
提款機內的作孽系統
我們常用的 ATM 提款機,本身其實是一台電腦終端機,所以也就有它的作業系統。這個作業系統必須非常穩定,而且不易被黑客入侵。那麼,香港的提款機都使用哪些作業系統呢?
今天在滙豐銀行提款的時候,終於有機會見識了:
類似以上的畫面,出現在隔鄰那位女仕的提款機上。此女仕顯然平日少用電腦:只見她瘋狂地不停按鍵盤,無奈那作孽系統仍是我行我素,終於勝利完成了關機的過程。嘿,偉大的微軟作孽系統豈是隨便受人擺佈的?它要關機的時候,任誰也阻擋不了!
隨著畫面變黑,提款咭就被封印在裡面。至於發生了甚麼事,是否跟黑客有關,真是要小心查明。
延伸閱讀:








