CentOS 7.0 桌面系統

日前回收了一部桌機想要做為上網文書機使用(不是給自己用的)。經過簡單評估後,作業系統決定安裝有長期支援且又是目前最新的 CentOS 7.0。安裝媒體使用的是 USB 隨身碟,只要用 dd 指令就能夠將光碟映像檔做成可開機的隨身碟:
- sudo dd if=CentOS-7.0-1406-x86_64-DVD.iso of=/dev/sdb

日前回收了一部桌機想要做為上網文書機使用(不是給自己用的)。經過簡單評估後,作業系統決定安裝有長期支援且又是目前最新的 CentOS 7.0。安裝媒體使用的是 USB 隨身碟,只要用 dd 指令就能夠將光碟映像檔做成可開機的隨身碟:
這類需求在 Linux 上很容易完成,首先可以利用 Mozilla Firefox 的 Video DownloadHelper 擴充套件,將特定影片的 MP4 影片檔從 YouTube 下載下來後,使用 FFmpeg 轉換為 Ogg 或 MP3 音訊檔的範例指令分別如下:
如果要將 MP4 的 AAC 音訊不經轉換、直接另存為獨立檔案的指令如下:

日前開始將幾部 CentOS 伺服器從 6.5 版更新到 6.6 版,卻在更新後發現 setup 工具的防火牆設定(Firewall configuration)無法執行,關閉 setup 後則會看到 Python 程式的錯誤訊息:
工作上的電子郵件往來有些時候是很制式化的,意即可能會有相當固定的回覆內容或者是相同的處理方式。而對於這類千篇一律的流程,就不免會讓人思考是否有更自動化的作法,比方說讓郵件編輯器預先根據特定條件來產生回覆內容、或是預先代入特定的轉寄對象。如此一來,使用者就不用再花時間打字或是進行選取的動作,不僅能夠更快的將郵件寄出,甚至還能避免一些人為錯誤。
以 Mozilla Thunderbird 郵件軟體來說,可行的作法就是自行撰寫 JavaScript 程式,然後包成擴充套件安裝到 Thunderbird 裡。而 DR 製作了一個範例擴充套件:conditional_message,該套件所處理的應用情境如下:

有些時候會需要在 Android 系統上測試一些程式碼,而一般來說,Android 的開發環境是基於 Eclipse。然而 DR 已經有好段時間沒有使用任何 IDE 了,目前所習慣的開發模式通常就是在文字編輯器上寫程式、用檔案瀏覽器管理檔案以及使用命令行介面(虛擬終端機)進行所需的操作,使用 IDE 反而會覺得渾身不對勁,尤其以前少數使用 Eclipse 的經驗也不是很好。
此外 DR 也不太滿意 AVD(Android Virtual Device)緩慢的效能,因此會想要建立一個無 IDE、也不需要 AVD 卻能夠測試 Android 應用程式的工作環境,所構思的具體作法如下:
Windows 平台上的語音辨識方案有兩種:一種是 .NET Framework 所內建的 System.Speech 命名空間,而另一種則是由 Microsoft Speech Platform SDK 所提供的 Microsoft.Speech 命名空間。兩者的結構頗為相似,許多類別和方法都是一樣的,不過前者的環境建置比較單純,用的是 Windows 本身的語音辨識功能,不需要再安裝 SDK。
Pocketsphinx 是來自卡內基美隆大學(Carnegie Mellon University)的語音辨識工具,許多 Linux 發行版的套件庫已經有收納此工具,以 Fedora 19 為例,執行以下 yum 安裝指令就能夠將所需的套件安裝完畢:
這陣子因為工作需求開始研究對聲音檔進行語音辨識的可行方案,第一個想到的便是 Google 的 Speech API。不過時至目前為止 Google 似乎還沒有打算將 Speech API 作為正式的產品發佈,不僅沒有任何官方文件說明其規格與操作方式,取得 API 存取權的方式也頗為迂迴。此外 Speech API 的存取也有不少限制,例如每日的請求次數為 50 次,以及聲音檔的長度限制大約在 10 秒左右。這使得目前的 Speech API 比較像是供開發者預覽用途,而不太適合實務應用。
Reverse Engineering for Beginners(逆向工程初學指南)是一本線上電子書,作者為 Dennis Yurichev。以份量來說,這本書的內容相當豐富,不過由於組合語言對 DR 而言實在是可怕的東西,所以 DR 只有快速的瀏覽了一下,然後挑了一個簡單的習題(1.4)試做看看。
習題 1.4 的要求是從執行檔中找出密碼,DR 下載了 Linux 版本的範例執行檔(password1),執行時會顯示「enter password:」,任意輸入字串後則顯示「password is not correct」。接著 DR 使用 hexdump 工具去尋找裡頭的可列印字串: