發表文章

目前顯示的是有「slime」標籤的文章

Emacs Slime mode : slime-tramp 對應遠端檔案路徑

遠端使用 swank 伺服器 在 Emacs slime-connect 連接遠端 SBCL (common lisp) 。 M-x slime-connect  Host: localhost  Port: 4005 Close old connections first? (y or n) y Versions differ: nil (slime) vs. 2.31 (swank). Continue? (y or n) y slime-tramp 的用途 讓 SLIME 在遠端 Lisp 回報檔案路徑時,可以自動轉換成 TRAMP 格式路徑 (像 /ssh:remote-host:/path/to/file.lisp ), 這樣 Emacs 不需要額外的 sshfs 掛載就能直接打開遠端檔案。 不需要手動維護 slime-filename-translations 的 alist,適合「只用 ssh 連線,不掛載遠端檔案」的情境。   自動路徑轉換 當 Lisp 回傳例如: #P"/home/user/project/foo.lisp" Emacs 會自動轉成: /ssh:remote-host:/home/user/project/foo.lisp 相關參數 slime-translate-from-lisp-filename-function      從 Lisp 傳回路徑 → 轉換為 Emacs 可以理解的檔案路徑。 slime-translate-to-lisp-filename-function      從 Emacs 的檔案路徑 → 轉換成 Lisp 端可以理解的路徑。   這兩個通常由 slime-filename-translations 自動設定,不需要手動修改 在 Emacs init.lisp 設定遠端檔案修改儲存 (require 'slime) (slime-setup '( slime-cl-indent                       ...

使用開放原始碼/自由軟體的經驗

開放原始碼運動 我是感受到開放原始碼運動得到好處的人。以前在接觸 GNU/Linux 和其他自由軟體前,只能使用非正式版本的軟體和系統。那時大家取得正式軟體的機會大概都是購買新的主機時才會隨機附上正式的系統, DOS 5.0 、Windows 3.1 等等。私下流通的軟體大部份是店家為了促銷商品而賣的大補帖,或是把大補帖當商品賣。那時剛接觸電腦的時候,以為電腦只是為了文書作業的方便性而產生的工具。只要會打字、會使用滑鼠把內容剪下、複製和貼上就當作是會使用電腦了,以後畢業後就只要會打字就好。後來漸漸的軟體越學越多,如 AutoCAD、小畫家、MS Office 95 、 97 ... ,有撥接網路之後可以上 BBS 之類的。軟體從電腦雜誌附上的光碟取得、漸漸的改從網路上取得。我記得那時 Debian/Linux 是從雜誌上的光碟安裝的,但是雜誌上有些介紹的軟體要自行從網路上下載,或是更新。那時為了學 Linux 上軟體的安裝和操作還去買了 HowTo 集合中文版,後來學著看 man (它是指令說明) ,看著鳥哥的文章學習等等。那十年的 Google 真好用。從以前要找 MS Office 的代替品、到後來的 OpenOffice 、 LibreOffice 後,我變得喜歡使用終端機作業的模式,如 bash 、 vim  和 emacs 等工具,使用 LaTex 排版、使用 Maxima 計算。以前心中想著 Excel 是我遇過最好用的軟體,除了它是微軟的產品需要用錢買使用權這個缺點之外。我可以用 Excel 連接 AutoCAD 出材料表,打圖紙框的資料或者反過來將 CAD 圖形貼在工作表上。總之我花了很多時間在找替代 Excel 的工作模式,因為我不喜歡在工作上使用盗版軟體。 採購專用軟體與開發專案 在成立工作室之後,我採購了一組電腦,一共四台電腦,一台桌機安裝 Windows 7 ,一台筆電安裝 Windows 7 ,另外二台則裝了 Debian/ Linux ,作為桌機和伺服器之用。但是文書作業工具我並沒有採購,而裝了二台 Windows 系統是因為專業軟體及 AutoCAD 也要裝在上面。專業軟體是一套名為 PV Elite ,用來計算壓力容器強度,AutoCAD 是用來繪製設計圖的。在那時 Linux 下還沒有類似 AutoCAD  的軟體...

Common lisp 連接微控制器:操作 8x8 LED 陣列

圖片
Common lisp 連接 Arduino UNO 微控制器,操作 8x8 LED 陣列  影片演示     各申機械設計工作室:電子電路實作