在 Windows XP 主端桌面系統上,安裝 Ubuntu Linux 桌面系統虛擬機器。利用 VirtualBox 的無縫模式與共用資料夾功能,形成雙桌面環境。
MS Windows 7 專業版有一個 XP 相容模式。它骨子裡就是跑一個 XP 的虛擬機器,然後用 seamless (無縫模式) 執行 XP 軟體。這個玩法,我十幾年前使用 IBM OS/2 3.0 時就玩過了,那時是把 Windows 3.1 以無縫模式嵌在 OS/2 桌面中,讓 Windows 3.1 的軟體跑起來像其他的 OS/2 軟體。啊,年紀大了就喜歡話當年。用過 OS/2 的人大概沒幾個了。不講古,回正題。
我在家中的桌面電腦使用的是運作多年的 Windows XP,利用 VirtualBox 安裝了一個 Ubuntu Linux 桌面的虛擬機器。接著,為了實現我的雙桌面目標,我在 Ubuntu 虛擬機器中安裝 VirtualBox 客端額外功能(Guest Additions),以便啟用無縫模式以及共用資料夾功能。
這本書的編採內容,頗有濫芋充數之嫌。前半本是濫芋,後半本的論述內容才有深度可言。
你以為懂,其實也不一定懂很多的外省人。
國家與認同 總序
「外省人」族群,只有從本省人的角度來看,其定義才是「明確的」。欲跳脫本省人觀點而得到客觀的「外省人」定義,係椽木求魚。
要我來說,那就按照台灣近代經濟史來分。所謂的「本省人」就是國民政府遷台後,失去經濟優勢地位階級的那一群人;他們要鬥爭的階級對象,就是「外省人」。哈哈,雖然我不認同馬克思大部份的經濟理論。但在這種場合,我覺得馬克思經濟學的階級鬥爭論用起來十分方便。
Vala 有許多途徑可以整合 C 語言程式,例如在《Vala 程式語言入門》中,我示範了在源碼層級上整合 Vala 程式碼與 C 程式碼。除此之外,我們更常面臨的情況則是要在 Vala 程式碼中調用二進位碼函數庫的內容。在這方面, Vala 也提供了適當的支持。Vala 可以透過連結或是動態載入的方式連結函數庫,調用函數庫的內容。這也讓我們易於整合既有的 C 語言函數庫。
本文首先以 C 語言撰寫一個 md5sum() 並將其存入一個動態函數庫(dynamic library, Unix界的傳統說法稱為 shared object)。再分別透過動態連結以及動態載入兩種途徑,于 Vala 程式碼中調用此函數。
週末看了《波西傑克森–神火之賊》電影DVD。當主角一行人為了前入冥界,要賄賂冥河的擺渡人時,羊男首先拿出兩張美鈔鈶擺渡人,結果擺渡人默不作聲地一把火燒了紙幣,不理不睬。羊男氣得大叫那是美金耶! 接著主角想到了先前遭遇梅杜莎時,曾經撿到了一些古希臘金幣,於是把那些金幣拿給擺渡人。擺渡人拿到金幣後,就很高興地收下了,並把主角一行人載到冥王的神殿處。這一幕劇情描繪了紙幣與金幣作為貨幣時的流通性差異。
漫畫改編動畫《只有神知道的世界》(神のみぞ知るセカイ) 第五話 (漫畫第7話),主角桂馬詮釋了「偶像」的定義。他的定義,又令我回想起2002年上映的電影《虛擬偶像》(S1m0ne)。它們對「偶像」一詞的定義,都是原本的意義。
本文是《JavaScript 與 Desktop》系列最後一篇。前兩篇文章中,分別述敘了在 gjs/seed 中呼叫系統函數庫與調用 WebKit 處理圖形化使用介面的工作。
但是在這個架構中,實際上存在了兩個 JavaScript host (host 是 ECMAScript/JavaScript 規範術語,意指 JavaScript 語言解譯器寄宿的環境,故有人將之譯為「宿主」) 。一個是 gjs/seed,另一個便是 WebKit JavaScriptCore 。這兩個 host 都是獨立的環境空間,彼此之間的資源不能直接互通。例如 gjs/seed 這個 host 提供的資源可以載入 DBus 服務,調用 DBus 方法;但是 WebKit JavaScriptCore 並不提供這類資源,所以不能調用 DBus 方法。是以我們需要找出一個互通訊息的途徑,讓這兩個 host的程式碼可以互動。本文將說明其中一種基於事件觸發的途徑。
我任職的公司,今年年初時,指派我用 CruiseControl.rb 規劃了一套每日建置系統。到目前為止,已經運作了超過半年的時間。也確實解決了許多潛在的軟體開發風險,例如 簡化專案交接風險。
不過隨著人員更迭,我時常要對新進員工灌輸每日建置系統的用處。本文就是我每次都會對新進人員說一遍的內容。
免責聲明:本教戰守策之內容,僅適用於中華民國。若於中華民國以外區域,按本守策內容行事因而獲罪者,自負其責,與本人無關。閱讀本守策的人士,須自行承擔風險。
台北地方法院十一月五日宣判二次金改案結果,陳水扁獲判無罪。吾觀判決書內容,欣喜若狂。概因判決書內容大開貪污後門,誠為獲利捷徑。吾心有所悟,特著教戰守策二條。凡我中華民國民意代表與公務員,若能循此教戰守策之指示行事,勤勉不懈,則榮華富貴,指日可待。
在 Ruby 語言為人樂道的諸多能力之中,支持 特定領域語言(DSL) 是表現突出的一項能力,也是 Ruby 語言諸多特性融合後的精華。 DSL 在 Ruby 語言的應用程度,有如 Template 在 C++ 語言的狀況。Ruby 語言中的諸多工具,都是應用 DSL 的形式體現,例如 Ruby on Rails, Rake, RSpec 等等。
日前翻舊文時,看到一篇關於 RSpec 的好文章。
這篇文章有條不紊的說明我們是如何利用 rspec 這套工具,引導我們的軟體開發流程。
根據 rspec 中的 spec 字眼,我們可以將 rspec 解釋為一種用於描述軟體規格的的特定領域語言(Domain Specific Language)。由於軟體規格就是應用軟體表現出來的外在行為,所以跟隨 rspec 此類工具的設計流程,被稱為「行為驅動開發模式」(Behaviour Driven Development)。這種開發模式屬於測試驅動開發模式(TDD)的高階形式。
繼《JavaScript 與 Desktop - DBus 》,本文將說明 gjs/seed 如何結合 GTK 和 WebKit 設計 GUI。由於本系列文章的重點,放在將 Web UI 的開發經驗延續到桌面軟體的開發上,因此在 GTK 方面僅著墨於如何開啟一個視窗,並加入一個 WebKit 元件;換一個較易理解的說法是,建立一個桌面視窗,並嵌入一個 Web 瀏覽器呈現網頁內容。
今天在 InfoQ 看到一篇關於破解金鑰加密技術的文章,Padding Oracle 漏洞影响JSF,RoR及ASP.Net。這篇文章的主要檢驗對象,是那些將用戶、表單等資料,經由金鑰加密方式,傳送給 Web 客戶端的 Web 軟體開發框架。破解理論及範例,都可以在作者 Juliano Rizzo & Thai Duong 的網站上找到,請參考 Rizzo 的網站: netifera.com 。
利用 Padding Oracle 漏洞 (PO),攻擊者不需要私鑰,就能在可預期的嘗試次數中,解出加密資料的原始內容。The attack works within a complexity of O(NbW) in order to decrypt the message where W is the number of possible words (typically W = 256)
(Serge Vaudenay, 2002). 我不懂密碼學的理論,但看了作者示範的破解影像《Cracking CAPTCHA with Padding Oracle attack》後,我猜想在某些狀態下,破解這種加密方式的通行碼之所需時間,短於破解雜湊法處理的通行碼。
我先前在 ICOS 2010 記事 提及目前有多項軟體專案,正試圖將 Web 軟體開發經驗延伸到 Linux 桌面軟體開發領域。
在那之中,以 gjs 和 seed 這兩項專案的成果最接近實用階段。這兩套都是基於 C 與 GNOME Library 的 JavaScript 解譯器實作品。透過 GNOME Library 的 GObject introspection framework ,它們可以呼叫系統中所安裝的其他函數庫。故而它們可以用於開發一般的 Linux 桌面軟體。
我這兩天試用 Ubuntu 10.10 與 gnome-shell 時,同時嘗試著用 gjs 和 seed 撰寫一些小程式。首先嘗試的項目是透過 D-Bus 調用其他桌面軟體的服務。
雖然我是個生物學的外行人,但我看《蝴蝶、斑馬與胚胎~探索演化發生學之美》這本書應該是優秀的基因學入門書。然而,不知中譯本是否刪掉了註解,以至於作者在書中提到的一個名詞與概念,都缺乏進一步的解釋。如此一來,這本科普書的內容就顯得太專業了。一般人應該會像我一樣,讀起中間章節,感到一知半解。
算一算,我到目前公司就職的時間滿一年了。回顧我那常態性失業的歷史,待滿一年真是可喜可賀。我原本以為那些與我同時期報到的同事會待得比我久,沒想到他們反而都比我早離職換公司,就我一個還留著。我待過三間軟體開發公司,雖然內部文化不同,但軟體開發人員的流動率都是那麼地快。至於我本人,大概是因為我太懶,也不指望軟體業有什麼前景。反正去那都一樣,既然這間公司不資遣我,我便懶得換環境了。
網路上可以找到許多將桌面管理程式由 nautilus 換成 pcmanfm 的教學文件。方法不一,各有疏漏。在此提供我的作法,供各位參考。
我目前使用的桌面環境是 Ubuntu 10.04。
前一陣子勞工團體為了基本工資的問題吵得沸沸揚揚。勞工團體主張「基本工資的作用就是讓勞工至少活得像個人」。我反倒想說:「調漲基本工資會讓失業者活得更不像個人」。所幸最終結果只是象徵性地調高六百元,人們勉強不會發覺它的不良影響。
勞工團體不喜歡看複雜的數學公式,巧得是,我不熟悉數學的語法規則,所以也不喜歡看數學公式。因此我在本文中不會用複雜的數學公式談基本工資。
我在本文說明的方式相當簡單,略去了許多細節的設定與定義。嚴格說來,這方面的議題足以寫出上百頁的論述。但是這一方面的論述實在太多了,從一、兩百年前就有許多學術論述;差不多在一百年前的內容就已經得到現在的結論,而且沒有用微積分或複雜的數學公式。既然如此,我寫再多內容也不會增加什麼學術價值,那我還是當個懶人,只說重點吧。
耗電量公式: 使用時數 = (V * AH) / W
.
電池上會標示伏特(V)與安培數(AH),例如我的 ThinkPad X200s 附帶的 4 芯電池上標示: 14.4V=2.0AH,28.8WH
。至於瓦數(W)則要看實際狀況而定,各機種與運作環境皆會影響。