跳至正文

Yen-Chin, Lee

關於 Emacs、Clojure、Linux 與開發工具的筆記。

coldnew's blog

讓你的 emacs 自動在英文與中文之間加入空白

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 …

閱讀全文 »

將 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 真簡單 :…

閱讀全文 »
© 2012–2026 Yen-Chin, LeeRSSPowered by Astro