newlisp 是另外一個我很喜歡的 lisp 方言,他的語法比較接近 Scheme,適合做 為腳本語言,此外,由於他的程式體積非常輕巧,只有大約 300k 的大小,因此 做出來的執行檔也比較小。本文將透過 GTK 版的 Hello World 來展示使用 newlisp 的 FFI (Foreign Function Interface) 來建立 GTK 的視窗。 程式截圖 由於我們要用 C 語言與 newlisp 寫同樣的東西,先來看看最後結果會長怎樣。 C 語言版本 這整個 newlisp 程式是依樣畫葫蘆從 C 語言版本轉換過去,我們先來看看 ...
閱讀全文 »

在 Linux 下,有時候對 deviec 進行 umount 的時候,會出現 Device is busy 的情況,出現這個狀況的原因,可能是你有某個 shell 還停留在掛載這個設備 的資料夾下,也有可能是這個設備正在進行檔案儲存等狀況,那遇到這個狀況 時要怎麼辦呢?

閱讀全文 »

lein 已經成為開發 Clojure 程式的必備工具,最近在 GitHub 看到很方便的 lein 擴展 lein-localrepo ,使用他可以很簡單的將需要的 Java Libraries 加入到本地的 Maven repo 來複習一下傳統的作法 在 用 Clojure 寫 javafx 的 Hello World 一文有說到你可以使用以下的命 令將 javafx 加入到你本地的 Maven repo, 是不是覺得這個方法很麻煩? mvn deploy:deploy-file -DgroupId=local.oracle -DartifactId=javafxrt ...
閱讀全文 »

pangu-spacing 是 emacs 上的一個 minor-mode, 啟用他後,他會在英文與中文 之間自動加入空白符號,讓你使用 emacs 在閱讀文章的時候能夠非常舒適 :) 名稱由來 pangu-spacing 名稱來自於 paranoid-auto-spacing 的 README 引述自 paranoid-auto-spacing README 為什麼你們就是不能加個空格呢? 如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會 坐立難安,忍不住想在它們之間加個空格。這個外掛(支援 Chrome 和 Fi ...
閱讀全文 »

當我們好不容易產生了一個 pcd 模型後,突然發現到忘記儲存原始的 RGB 影像以及深度影像, 這個時候要怎辦呢?你可以選擇重新使用 kinect 建立新的模型並拍下影像以及深度,也可以用 更聰明的方法 - 將 pcd 檔案轉換成 RGB 影像以及深度影像。 實際上,在 pcl 1.7 版提供了以下方法,讓你可以將 point cloud 存成 PNG 文件。 void pcl::io::savePNGFile (const std::string &file_name, const pcl::PointCloud< T > &cloud); ...
閱讀全文 »

org-mode 的 easy-template 提供使用者輸入 <e 再按下 TAB 就可以進行自動補全的功能, 為了在任意模式下都可以辦到如同 org-mode 的 easy template 的功能, 首先先將以下程式碼加入你的 .emacs 設定後, (defadvice yas-expand (around coldnew/major-mode-expand activate) "Try to complete a structure template before point like org-mode does. This looks for strings ...
閱讀全文 »

git 是非常強大的版本管理系統,但是要能夠良好的駕馭他,除了大量的實作經驗外, 有更好的學習輔助也是必須的,在此列出幾個學習 git 非常棒的網站。 Learn Git Branching http://pcottle.github.com/learnGitBranching/ 這個網站除了外觀非常漂亮以外,也可以讓你在短時間內能夠更加理解 git。 Git Ready http://gitready.com/ 這個網站收錄的許多使用 git 很棒的技巧,如果你使用 git 遇到了問題卡關,可以來這邊看看。
閱讀全文 »

Point Cloud Libraries (PCL) 是一個非常強大的三維空間點雲處理函式庫。 如果說到二維影像處理,就會想到 OpenCV 的話,那說到三維點雲處理,就一定會想到 pcl。 在 pcl 中,提供一種名為 *.pcd 格式的檔案,以供儲存點雲數據,這一類的檔案,網路 上隨手可得,那要如何打開 pcd 格式的檔案呢? 設定好 pcl 的開發環境後, 我們可以透過以下簡易程式來打開 pcd 數據。 #include <iostream> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h& ...
閱讀全文 »

binfmt_misc 是 Linux 提供支援額外的執行檔格式的方法。舉例來說,我們想在 Linux 裡面執行 Microsoft Windows 的 .exe 執行檔,都會透過 wine 這套軟體來執行,於是我們執行程式的 指令就變成 coldnew@Rosia ~ $ wine application.exe 有沒有方法可以直接使用 Linux 執行程式的方式來執行 .exe 程式呢?透過 binfmt_misc 就可以辦到, 首先先載入 binfmt_misc 模組 coldnew@Rosia ~ $ sudo modprobe binfmt_misc 接著 ...
閱讀全文 »

JavaFX 是目前 Java 發展的重點項目,自 Java 8 後已經整合進 JRE 裡面,JavaFX 最新 引我的地方,在於他的介面在 Linux 下也非常美觀,想想以前就是因為 Java 寫出來的程 式和 Linux 環境下不搭,所以非常排斥使用 Java 寫程式。 這篇文章主要是根據 Oracle 官方所提供的 JavaFX 教學 Hello World, JavaFX Style 轉 變成 Clojure 的版本。 先來看看 JAVA 要怎樣寫 我們的程式碼是從 Oracle 的 JavaFX 教學 Hello World, JavaFX Style 取得,其內 ...
閱讀全文 »