pangu-spacing 是 emacs 上的一個 minor-mode, 啟用他後,他會在英文與中文 之間自動加入空白符號,讓你使用 emacs 在閱讀文章的時候能夠非常舒適 :) 名稱由來 pangu-spacing 名稱來自於 paranoid-auto-spacing 的 README 安裝方式 這個套件已經被 melpa 所收錄,所以你只要很開心的將以下程式加入到你的 .emacs 再使用 M-x package-install pangu-spacing ,就可以完成安裝。 啟用 pangu-spacing 在你的 .emacs 加入以下幾行,可以讓 pangu-spacing …
讓你的 emacs 自動在英文與中文之間加入空白
將 pcd 檔轉換成深度圖與 RGB 圖檔
當我們好不容易產生了一個 pcd 模型後,突然發現到忘記儲存原始的 RGB 影像以及深度影像, 這個時候要怎辦呢?你可以選擇重新使用 kinect 建立新的模型並拍下影像以及深度,也可以用 更聰明的方法 - 將 pcd 檔案轉換成 RGB 影像以及深度影像。 實際上,在 pcl 1.7 版提供了以下方法,讓你可以將 point cloud 存成 PNG 文件。 但是如果我們使用的是 pcl 1.6 或者以下的版本呢?這時候就得手動增加這部份的 code。 使用上面的程式碼,你就可以在 pcl 1.6 中將你的 point cloud 存成 png 圖片。 現在我想要將我的點雲轉變成為深度圖檔,…
在任何 mode 下都可以使用像 org-mode 的 easy-template 進行補全
org-mode 的 easy-template 提供使用者輸入 <e 再按下 TAB 就可以進行自動補全的功能, 為了在任意模式下都可以辦到如同 org-mode 的 easy template 的功能, 首先先將以下程式碼加入你的 .emacs 設定後, 假如希望在 emacs-lisp-mode 輸入 <r 再按下 TAB 就可以使用 yasnippet 展開 require 的 snippet, 則添加以下程式 注意到 major-mode 是什麼,則添加相對應的 major-mode-expand-alist, 比如 major-mode 是 c-mode 則加入 其他以此類推
可以快速學習 git 的網站
git 是非常強大的版本管理系統,但是要能夠良好的駕馭他,除了大量的實作經驗外, 有更好的學習輔助也是必須的,在此列出幾個學習 git 非常棒的網站。 Learn Git Branching http://pcottle.github.com/learnGitBranching/ 這個網站除了外觀非常漂亮以外,也可以讓你在短時間內能夠更加理解 git。 Git Ready http://gitready.com/ 這個網站收錄的許多使用 git 很棒的技巧,如果你使用 git 遇到了問題卡關,可以來這邊看看。
讀取 pcd 檔並顯示三維影像
Point Cloud Libraries (PCL) 是一個非常強大的三維空間點雲處理函式庫。 如果說到二維影像處理,就會想到 OpenCV 的話,那說到三維點雲處理,就一定會想到 pcl。 在 pcl 中,提供一種名為 *.pcd 格式的檔案,以供儲存點雲數據,這一類的檔案,網路 上隨手可得,那要如何打開 pcd 格式的檔案呢? 設定好 pcl 的開發環境後, 我們可以透過以下簡易程式來打開 pcd 數據。 要編譯這個程式,最簡單的方式就是使用 CMake, 你可以設定 CMakeLists.txt 檔案如下 你可以下載 teacup.pcd 來進行測試,顯示出來的情況如下圖:
透過 binfmt_misc 讓 Linux 可以執行不同格式的執行檔
binfmtmisc 是 Linux 提供支援額外的執行檔格式的方法。舉例來說,我們想在 Linux 裡面執行 Microsoft Windows 的 .exe 執行檔,都會透過 wine 這套軟體來執行,於是我們執行程式的 指令就變成 有沒有方法可以直接使用 Linux 執行程式的方式來執行 .exe 程式呢?透過 binfmtmisc 就可以辦到, 首先先載入 binfmtmisc 模組 接著用以下指令註冊資訊到系統,這個命令可以讓 Linux 直接執行 .exe 程式 (還是透過 wine) 接著你就可以用以下方式來執行 .exe 的執行檔 binfmtmisc 註冊資訊格式 binfm…
用 Clojure 寫 javafx 的 Hello World
JavaFX 是目前 Java 發展的重點項目,自 Java 8 後已經整合進 JRE 裡面,JavaFX 最新 引我的地方,在於他的介面在 Linux 下也非常美觀,想想以前就是因為 Java 寫出來的程 式和 Linux 環境下不搭,所以非常排斥使用 Java 寫程式。 這篇文章主要是根據 Oracle 官方所提供的 JavaFX 教學 Hello World, JavaFX Style 轉 變成 Clojure 的版本。 先來看看 JAVA 要怎樣寫 我們的程式碼是從 Oracle 的 JavaFX 教學 Hello World, JavaFX Style 取得,其內容如下: 建立我們的…
關閉 ext4 的 journal 功能
ext4 是 Linux 下非常好的硬碟格式,但是若想要將 ext4 用於 sdcard 或是 SSD 上時,關閉 journal(日誌) 功能則可以更好的保護硬碟, 那要怎樣關閉 journal 呢? 只需要以下的指令即可: (假設預關閉 journal 的目標是 /dev/sdb1) 關閉了 journal 後,最好再使用 fsck 檢查一下 那怎樣知道目前這個 ext4 系統是否有啟用 journal 功能呢,你可以 使用下面指令來察看,若看到 hasjournal 則代表你的 journal 是啟用的。
為什麼有些 ARM 平台需要 x-loader ?
在開始使用 ARM 的開發平台後,發現到了一件很特別的事情,一般我們都是透過 bootloader 來載入 linux kernel image,但是像 OMAP 系列,除了 u-boot 以外,會多出一個 xloader, 那 xloader 是做什麼的呢? 其實是這樣的,OMAP 本身的記憶體非常的小,只有大約 64k,所以像 uboot、linux kernel 這些都必須 讀入外部的記憶體。當 OMAP 啟動後,memory controller 尚未進行初始化,無法讀取外部的記憶體, 所以透過 x-loader 來幫忙初始化外部記憶體,之後則跳入 uboot 的啟動部份。
使用 Generic Mode 在 emacs 下輕鬆建立新語言的語法上色
是否有遇到新的程式語言、設定檔卻苦無語法上色的困擾呢?用 emacs 就對了!! emacs 裡面的 generic-mode 是一個可以輕鬆建立新的語言 Mode 的輔助工具, 舉例來說,如果我們有一個新的語言叫作 u 語言,其定義如下: 那我們要怎樣替這個模式上色呢? 首先我們先定義這個模式的名稱 叫作 u-mode,並且知道他的註解有兩種,分別是 // 與 /* */ 。 此外,我們另外知道他具有三種關鍵字:Name、Tel、Password,則可以定義如下: 定義好了,使用 M-x eval-buffer ,然後再打開你的 u 語言檔案看看: 上色成功!!! 用 emacs 真簡單 :…