gjs - 中文字的處理
gjs/gnome-shell 可以在程式碼中使用中文字以及包含中文字的字串。 但是它的內部編碼方式有點特殊,以至於它不能直接地輸出程式碼中的中文字。 本文採用下列三種不同的方式輸出中文字,並記錄其結果。
gjs/gnome-shell 可以在程式碼中使用中文字以及包含中文字的字串。 但是它的內部編碼方式有點特殊,以至於它不能直接地輸出程式碼中的中文字。 本文採用下列三種不同的方式輸出中文字,並記錄其結果。
前幾天訂的 Asus PA246Q 送到了。跟我原本的 Lenovo LX220 組成雙螢幕,感覺真爽。 右邊的是 Asus PA246Q,24吋,IPS 面板,解析度1920x1200 (16:10)。左邊的則是 Lenovo LX220,22吋,VA面板,解析度也是 1920x1200。Lenovo LX220 這台螢幕使用4年了,燈管似乎有些老化,顏色偏暖,所以我才想再買一台 LCD 。
5月16日更新: 我搞了台Spyder4pro校色。結果是個好消息, Asus PA246Q 的出廠校色值還挺準,和校色後的結果非常接近。不想買校色器的人,可以設定色彩模式為 AdobeRGB ,關閉那可笑的 SPLENDID 。亮度的話,出廠預設亮度真的太亮。如果你的目標是 120cd/m2 ,那亮度調到0;目標 190cd/m2 ,則亮度調為20到25之間。
網友在另一篇文章的回應中,問我程式語言中的自識與反射有何區別。 關於反射與自識,我的說法是「Reflection 一般譯為反射,但我稱為自識的能力」。見「什麼是 Reflection?」。
「反射」,或稱「反映」,對應英文 reflect;「自識」,或稱「內省」,對應英文 introspect 。
在程式語言中,這兩者基本上指的是同一件事,即個體認知自身的能力,讓 object 看到自己的外貌的功能
。
但是 reflect 與 introspect 的語義,表達了兩種方式的差異在於認知途徑不同。
也就是說,反射能力就是自識能力,差別在語義不同。
6月15日新增韌體下載點。 原本網友提供的論壇不見了,所以我提供另一個下載點: [Custom BRI-NEW-S8500ZCLB4.7z]。壓縮檔中包含刷機用的 MultiLoader V.567.exe 。刷機時,請記得選取 bplib_S8500OpCommon_ZCLB4.fota 。我現在使用的就是這個版本。
我上週手癢,參考了網路玩家自製的 Bada 2.0 中文版刷機方法,刷了我的 Samsung S8500 手機。試用一天之後,一切都好,就是不能寫正體中文。記事與找資料都不方便,所以還是刷回來 Bada 1.2 。
我先說說 Bada 2.0 的使用感覺。跑的很順,記憶體管理也有大幅改進。它的瀏覽器可以連開多頁,不像以前常抱怨記憶體不足。配合新的 TouchWiz 介面,使用者可以把慣用的 App 拉到桌面上。TouchWiz 下方的多了一個圖示,可以取代實體按鍵的中鍵。網路連接與資料儲存位置都可以針對不同的應用分別設定,非常地細。
但是正體中文支援不足。玩家改出來的 Bada 2.0 中文版,實際上只提供了簡體中文與香港繁體中文介面。中文輸入法的只有拼音與筆劃兩種輸入法。筆劃輸入法就是手寫,但是只能辨認簡體字,認不得正體字。至於拼音輸入法的話,我連注音都不用了,更何況是拼音。我只有輸入日文字時才會用 romaji。
JavaScript 的 eval() 功能很強大,但想用得好卻不容易。 寫在 eval 內的程式碼,經常被抱怨不能寫太長、很難修改維護。 其實老練的 JavaScript 程式人員有許多技巧可以讓這件事變得容易。 本文則將說明其中一種讓 eval 內的程式碼變得易寫易讀的技巧。
我已將 ThinkPad X200s 上安裝的作業系統從 Ubuntu 10.04 換成 Debian 6 squeeze。
大約是一月時的事,我看到消息說「GitHub已將持續整合服務器Janky開源」。然後,我就在公司的郵件群組中發了封信,說我可能會評估一下 Janky 這套持續整合工具。同事在跟帖中說,這樣會不會分心,是不是應該等目前的專案都結束了再做?
同事的說法,反應出他們尚未確實理解「持續整合」的意義。我相信大部份開發團隊初次接觸「持續整合」時,都會有相同的誤解。我在郵件與 twitter 上表達了我的看法。
我昨天在聯合報上看到一篇報導:《科技業追效率 站著開會成風潮》(聯合報,民國101年2月4日,A3版)。當我看到標題「站著開會」這四個字時,我直覺想到這該不會是在說敏捷開發方法/極致編程(Agile method/eXtreme Programming)所提倡的「站立會議」吧?仔細一讀內容,還真是這麼一回事。我書讀得少,這是不是國內大眾媒體首次以「企業管理」的角度報導「敏捷方法」的新聞?真是可喜可賀啊。
SSD fdisk calculator。固態硬碟分割計算器。讓你的磁區對齊 4K 區塊。 此程式為網頁版,瀏覽器打開本頁即可計算。不用下載,不用安裝。
春節前,看到 PCHome 有批 SSD 好便宜,我趁機買了一個回來裝在我的 ThinkPad 上。 不過在分割磁區時碰到了些小麻煩。為了要準確地對齊 4K 區塊,我乾脆寫了個計算器來算位置。 本來是用 gnumeric 試算表算的,後來為了發佈出來,又花了半天用 JavaScript 寫成網頁版。
IBus 輸入法平台利用 D-Bus 協定作為訊息通路。 所以程式人員可透過 D-Bus 協定控制 IBus 輸入法的動作。但比較麻煩的是,IBus 不連接公用的 dbus-daemon 服務,而是另行實作了 ibus-daemon。所以 D-Bus 客戶端若用預設的方式接上 dbus-daemon 後,並不能找到與 IBus 平台溝通的訊息通路。
用公車系統對上述內容作個譬喻。IBus 跟 DBus 都是同一款公車,駕駛與乘坐方式是一樣的。但是 DBus 停靠的車站是 dbus-daemon ,而 IBus 停靠的車站是 ibus-daemon。乘客(客戶端)如果跑到 dbus-daemon 車站的話,搭不到 IBus 的車。乘客要去 ibus-daemon 車站,才能搭上 IBus 的車。那麼乘客要如何找到 IBus 的停靠站呢?
在農曆新年的歡樂期間,聽到美國大規模掃蕩網路硬碟(免費空間)服務商的行動,實在非常破壞氣氛。 MegaUpload 服務因負責人被 FBI以洗錢與盜版罪名通緝,服務主機也被查扣,服務全面停擺。緊接著,連 FileSonice 也宣佈關閉所有文件共享功能。這真是如同晴天霹靂般的事,因為我是 FileSonic 的付費會員。
我在「Synergy - 軟體KVM 使用說明」中提到我的工作需要一套 KVM。我首先嘗試了 Synergy 這套軟體 KVM。它確實做得很好,只是我目前的工作內容常常要退出使用端 X 視窗或切到文字終端機。在這種情形下,Synergy 就不能繼續為我服務了。我不得已,只好再添購一組硬體的 USB KVM;型號是「Uptech KVM211U」。
這陣子使用下來,這種 USB KVM 的相容性問題不大,連我的 USB 軌跡球都能接。但還是有一點的問題,那就是 KVM 在切換終端時,實際上就是在插拔 USB 設備。於是每次按下 KVM 的切換鍵時,作業系統都會出現 USB 鍵盤與滑鼠拔出或連接的情形。 這對我來說就是個困擾了。因我為軌跡球設定了一些操作行為,例如指定中鍵模擬滾輪。不幸的是,當 KVM 切走時(拔出滑鼠),這個設定就會失效;KVM 切回時(插入滑鼠),我得再執行一次設定工作。
在 Linux 桌面中,我寫程式時慣用的文字編輯器是 gedit。 我寫了一個配合「外部工具」外掛的指令集,可以讓我直接在 gedit 的視窗中直接編譯或執行我正在編寫的程式碼。
繼第一部份《Working with PHPUnit, part 1 - 安裝備忘錄》後,接下來舉例說明操作 PHPUnit 之過程。
近來的軟體開發流程強調「測試驅動開發 (Test-Driven Develope)」,對於單元測試 (unit test) 發展出了一些系統化的作法和工具,這類單元測試工具俗稱 xUnit ,例如 C 語言的 CUnit , Java 的 JUnit , .NetFramework 的 NUnit 。 PHP 也有 PHPUnit 。
安裝 PHPUnit 其實很簡單,基本上按 PHPUnit 的《Installation》的步驟即可完成安裝。只是我在 Windows 平台上做了一些修改。