跳至正文

Yen-Chin, Lee

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

coldnew's blog

使用 codox 與 CircleCI 建立 Clojure 專案的文檔

在 Clojure 世界中,常用的產生文檔工具有 Marginalia 以及 Codox。 本文將講述如何透過 Codox 以及 Circle CI 來對你的函式庫進行測試以及產生文檔並發佈到 GitHub pages 去。 當然,為了便於描述,我們一樣從專案的建立開始來講 codox 的使用。 建立我們的專案 首先我們先透過 leinigen 產生我們 Clojure 專案的基本樣板,這邊命名該專案為 example-lib 專案建立完成後,我們要稍微修改一下 project.clj ,在 :plugin 欄位加上 lein-codox, 這會讓我們多一個 lein codox 命令可以用來…

閱讀全文 »

淺談 emacs25 的 dynamic modules 功能

emacs 預計在 emacs 25 加入 dynamic modules 的功能,透過這個功能我們可以使用 C/C++ 等語言將你的 emacs-lisp 函式變成改寫成如同 builtin 的模組,來提升 emacs-lisp 執行速度或是讓 emacs-lisp 可以與外部函式庫互動。 在本篇文章中,我將稍微講解自己測試 dynamic modules 的心得。 dynamic modules 功能處於測試階段,由於此功能可能在未來有進行不同的更動,因此預設 編譯時這選項 (--with-modules) 是關閉的。 編譯 emacs 目前 dynamic modules 功能已經併入到…

閱讀全文 »

在 emacs 下使用 mu4e 收發郵件

最近又重新改寫了我的 emacs 設定,捨棄掉了 spacemacs 並重新使用 org-mode 撰寫,你可以在 這裡 看到我目前的設定。 既然剛好重寫,就順便紀錄一下如何在 emacs 下進行郵件的收發,在 emacs 下我們有很多種收發電子郵件的選擇,比如 gnus 、wanderlust ,本文要說的是另外一個很多人在用並且比較好設定的 mu4e。 安裝 mu4e mu4e 實際上是 mu 的 emacs 客戶端,因此我們真正要安裝的是 mu 這套軟體。 在 Mac OSX 中可以透過 homebrew 完成這件事情 由於 homebrew 安裝的東西不會在 emacs 的 load-…

閱讀全文 »

在 emacs 下使用 verify-url 檢查不存在的 URL

在寫文章的時候,常常需要插入一些網頁連結,有時候手誤或是連結已經年久失修,這時候 就需要個好方式來幫忙進行檢查,verify-url 就是一個在 emacs 下幫忙檢查不存在的 URL 的好工具。 安裝 verify-url 自從 emacs 整合了 package.el 後,安裝新的套件都非常輕鬆,你可以直接透過以下命令 來安裝 如果你有使用 Cask 作為 emacs-lisp 開發工具,則可以在你的 Cask 檔案加入: 如何使用 verify-url 安裝完後,我們可以用弄個非常簡單的範例來測試,假設我們正在編輯的文件有以下內 容: 接下來輸入 M-x verify-url 你就會看到…

閱讀全文 »

stm32-nucleo 開發紀錄: 硬體認識

了解了如何透過 mbed 線上 IDE 將程式燒錄到你的 NUCLEO 開發版後,我們需要知道自 己開發板的硬體,這樣才能夠加快開發的速度。 在這邊我一樣是使用我的 NUCLEO-F103RB 來作為範例,但是依照 STMicroelectronics 的設計,這一系 列 NUCLEO 的開發版至少在 mbed 上的封裝會是相同的 (大概,自己在玩時要確認一下自己的開發板的 IO)。 要了解 NUCLEO 開發版要看哪個文件呢?答案就是 UM1724: STM32 Nucleo-64 boards 這 一份文件啦 ~ 這份文件包含了這一系列 NUCLEO 開發版的腳位資訊以及一些電路圖,就 讓…

閱讀全文 »

stm32-nucleo 開發紀錄: 如何用 mbed 線上 IDE 進行開發

身為一個 ~~平庸的~~ 工程師,手邊有很多很多玩具是非常正常的事情,就讓我們來玩玩已經 夯很久的 mbed 吧:) 我使用的板子是 STMicroelectronics 的 NUCLEO-F103RB ,只要你的板子都是同樣的 NUCLEO 系列,接下來我發的文章照著作應該都沒問題才是。 將你的 NUCLEO 接上電腦 第一步當然就是把他接上電腦了啊,在這邊我使用 Macbook Pro 作為示範,不過身為一個 Linux 開發者,我所有的文章都會盡可能的確認在 Linux 上的狀況,請放心使用。 點擊掛載上的 NUCLEO 分區 這邊我有點記不清楚一開始買 NUCLEO 的狀況,理想上假設…

閱讀全文 »

使用 clojure 寫 irc 與 gitter 機器人

最近因為和朋友在 Github 上弄了 clojure-tw 群組,為了現代人通訊方便,便決定第一個 程式就是 irc <-> gitter/slack 的橋接程式,用來溝通 freenode 上的 #clojure.tw 與 clojure-tw/gossip 這個 gitter 頻道與 slack 上的 clojure-taiwan 頻道。 但很不幸的是,由於 clojurians 這個 slack 群組因為 Admin 關閉了機器人支援,因此最 後就只實作了 irc <-> gitter 的通道,完整程式碼我已經放到了 clojure-tw/irc-bridge ,這篇文章就來說說這個程…

閱讀全文 »

使用 shairport-sync 在 Raspberry Pi 上上建立 AirPlay 音樂播放器

在 2014 年時我曾經發過一篇 使用 Shairport 讓你的 Raspberry Pi 變成 AirPlay 音樂 播放器 的文章,講述如何透過 shairport 在 raspberry pi 下建立 AirPlay 接收器。很 可惜的事情是,原本 shairport 的作者決定不再繼續維護這個專案,因此誕生了 shairport-sync 這個新的專案。 shairport-sync 除了基於 shairport 的程式碼以外,亦改進了聲音與影像的同步率,因此 我們除了可以遠端播放音樂外,看電影也沒問題囉 ~ 編譯並安裝 shairport-sync 首先,我們要安裝一些軟體來幫助我…

閱讀全文 »

有趣的人形手機座

話說自 2013 年組了 3D 印表機後,有事沒事都會隨便找個模型來印印看,這兩個手機座是 最近想到於是又回來再印一次的版本,是還蠻有趣的概念 :) 不過我自己使用的心得,覺得這兩款人形手機座使用預設的模型會比較不穩,容易向左或向 右傾倒,因此要列印時弄厚一點會比較好 ~ 站立式 這是取自於 Thingverse - Smartphone Holder 這個模型,是最初讓我對這種類型手機座感 興趣的始祖。 坐式 這個模型則取自於 Thingverse - Phone holder Phone stand ,是最近才注意到的。 排排站 我的列印資訊 我習慣使用 slic3r 來作為切割軟體,以下…

閱讀全文 »

自己的 iPhone 電源座自己印 1

話說還是來紀錄一下自己用 3D 印表機印出來的東西好了,最近才到手第一台 iPhone,因 此理所當然就 DIY 電源座啦 ~ 這一款是取用 Thingverse - iPhone 6 stand 這個模型來完成,由於不需要嵌入一條 Lightning 線在模型上,因此我打算用在公司中 (這樣我自己可以隨身攜帶一條電源線) 這個模型其實也適用 Android 手機,我是覺得還不錯 ~ 成品圖如下: 正面照 + iPhone 正面照 側面照 我的列印資訊 我習慣使用 slic3r 來作為切割軟體,以下是我設定參數資訊 | Parameter | Value | | ---------- | --…

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