03/23/2013 筆記
不知道有沒有人遇過這般如此駭人的畫面:
這個故事要從去年 DR 為了 MechWarrior Online 的緣故買了張 GeForce GTX 560 Ti 說起,剛開始用時覺得一切正常,唯一的例外是偶爾在 Windows 7 上用 Mozilla Firefox 上網時會突然出現如上圖(雖然那張照片是 Fedora 17,不是 Windows)般整個畫面佈滿色塊的狀況,接著畫面會恢復正常,然後 Windows 會出現「驅動程式已重新載入」之類的訊息。
不知道有沒有人遇過這般如此駭人的畫面:
這個故事要從去年 DR 為了 MechWarrior Online 的緣故買了張 GeForce GTX 560 Ti 說起,剛開始用時覺得一切正常,唯一的例外是偶爾在 Windows 7 上用 Mozilla Firefox 上網時會突然出現如上圖(雖然那張照片是 Fedora 17,不是 Windows)般整個畫面佈滿色塊的狀況,接著畫面會恢復正常,然後 Windows 會出現「驅動程式已重新載入」之類的訊息。
把自己寫的舊東西再拿出來修改有時候是件很痛苦的事……話說 DR 近日受朋友所託,要將自己在大約兩年前寫的一支 pygame 程式做一些加強。由於當初的程式內容算是急就章寫出來的,所以在增加功能之前,DR 決定先大幅清理程式碼,包含終於用 Class 把該做的物件做好等等……
另一方面,DR 這次也決定使用 PyInstaller 來方便產出用於 Windows 平台的獨立執行檔,不過產出的執行檔卻無法順利執行,也沒有任何錯誤訊息可供排錯。後來經過網路上的搜尋以及一段一段的程式碼測試後,發現問題就出在這一行:
font = pygame.font.Font(None, 17)
以下 DR 將列舉一些自己在近日 Steam 的 Linux beta 中所遭遇的問題以及解決方法。由於這些問題是針對 Steam 中的遊戲而非針對 Steam 客戶端本身,故決定以額外筆記的方式留存,而不放在 How-To:Linux 安裝 Steam 一文裡。而 DR 也合理的推測這些問題應該會在後續的更新中逐步修正,因此僅供目前有遇到相同問題的人參考。
1. 安裝 NVIDIA R310 版 Linux 顯示驅動程式
DR 從來不是個喜歡嘗鮮的人,甚至以 Windows 來說,DR 升級作業系統的速度還比一般人慢上一截:當年大家在用 Windows 95 時,DR 還在用 DOS + Windows 3.1。而當大家用 Windows 98 時,DR 也還在繼續用 95。等到大家開始用 Windows XP 時,DR 還用了好段時間的 Windows Me(這版本可是另一個故事了),接著就用了好幾年的 XP,最後換成 Windows 7 根本就還是幾個月前才發生的事。
基本上 DR 都是因為硬體的大幅度更換才會進行 Windows 作業系統的升級。不過就在幾天前,DR 因故必須安裝 Windows 8 來用一下,於是就從官方網站下載預覽版(Release Preview),然後裝在 VirtualBox 上。
先前 DR 在自動化處理大量 Word 檔案之字數統計一文中說明過使用 Python 去呼叫 Microsoft Word 以取得字數統計的作法。那如果手上沒有 Microsoft Word 怎麼辦?沒關係,同樣的需求也可以使用跨平台而且免費的 LibreOffice 來達成。
湯瑪斯.愛迪生(Thomas A. Edison)可說是公認的發明大師,不過如果要把他跟「程式設計」(computer programming)這個議題聯想在一塊,可能會覺得有點困難。沒關係,讓我們先思考一下到底「程式」是拿來幹嘛用的?嗯,基本上以最粗分的方式來說,不外乎就是三大項目:控制、呈現與自動化,控制是讓硬體得以被操控,呈現是將結果輸出給使用者,而自動化則是將重複性的工作轉變為批次處理。
那干愛迪生什麼事呢?這邊就要說一個故事了:話說愛迪生早年曾經在加拿大的多倫多擔任電報員,這個工作要求電報員必須在每個小時發出一封電報,用來查核電報員是否有確實堅守工作崗位。然而愛迪生卻認為這個要求太廢了,於是他發明一款自動發報機,可以在每個小時自動發出電報。不過正所謂夜路走多了,總會碰到鬼……有一天老闆來巡察,看到愛迪生正在睡覺,連同自動發報機也被老闆發現,這使得愛迪生差點丟掉工作(另有一說是他確實被開除了)。
所以,這則故事讓我們知道:愛迪生不只是發明大師,他還是自動化處理與偷雞摸狗(?)的先驅。
應該還是有不少人和 DR 一樣,平常在電腦上管理音樂檔案時,還是很單純的用目錄、也就是資料夾去區分專輯或者是類別,然後想要播放特定資料夾中的所有音樂時,就是在播放軟體中將其中的檔案全選,倒進播放清單即可。
然而這種作法在 N900 上完全行不通。
大家都知道,Microsoft Word 有個字數統計的功能,而這個功能對眾多青年學子而言非常重要,因為在寫作業或者是報告的時候,字數統計可以讓學生判斷到底還需不需要繼續鬼扯下去……不過今天 DR 並不打算分享鬼扯的奧義,而是要談談最近 DR 所碰到的問題(之一),以及解決的過程。
這個問題簡而言之便是要統計很多個 Word 檔案(*.doc、*.docx)加起來的總字數,如果檔案很少是可以一個個開來看,但如果有很多個檔案,弄到死人事小,耗費精力延誤時程事大,於是 DR 就著手研究怎麼樣才可以一次性的把所有檔案的字數統計抓出來。一開始 DR 嘗試使用 Microsoft 官方所提供的 Dsofile.dll,這個元件可以在不需安裝 Microsoft Office 的情況下讀取、編輯 Office 檔案的屬性資料,所以就參考官方的範例,利用 Dsofile.dll 寫了一支 VB .NET 程式,以下程式碼非常直覺,懂 VB 的人都看得懂: