最近因為和朋友在 Github 上弄了 clojure-tw 群組,為了現代人通訊方便,便決定第一個程式就是 irc <-> gitter/slack 的橋接程式,用來溝通 freenode 上的 #clojure.twclojure-tw/gossip 這個 gitter 頻道與 slack 上的 clojure-taiwan 頻道。

但很不幸的是,由於 clojurians 這個 slack 群組因為 Admin 關閉了機器人支援,因此最後就只實作了 irc <-> gitter 的通道,完整程式碼我已經放到了 clojure-tw/irc-bridge ,這篇文章就來說說這個程式大致上是怎樣運行的。

閱讀全文 »

在 2014 年時我曾經發過一篇 使用 Shairport 讓你的 Raspberry Pi 變成 AirPlay 音樂播放器 的文章,講述如何透過 shairport 在 raspberry pi 下建立 AirPlay 接收器。很可惜的事情是,原本 shairport 的作者決定不再繼續維護這個專案,因此誕生了 shairport-sync 這個新的專案。

shairport-sync 除了基於 shairport 的程式碼以外,亦改進了聲音與影像的同步率,因此我們除了可以遠端播放音樂外,看電影也沒問題囉 ~

閱讀全文 »

話說自 2013 年組了 3D 印表機後,有事沒事都會隨便找個模型來印印看,這兩個手機座是最近想到於是又回來再印一次的版本,是還蠻有趣的概念 :)

不過我自己使用的心得,覺得這兩款人形手機座使用預設的模型會比較不穩,容易向左或向右傾倒,因此要列印時弄厚一點會比較好 ~

閱讀全文 »

OpenShift 是由 RedHat 所提供的 PaaS 平台服務,除了提供無限流量以外,亦支援使用 SSH 登入,本文將簡單解釋如何在 Mac OSX 以及 Linux 下,將 OpenShift 作為跳板並利用 SSH 作為 Socks5 的代理伺服器,去下載那些不好下載的檔案 or…中國網友的說法:翻牆。

如果你是 Windows 的用戶,請參閱: 利用 OpenShift 的 SSH 架設跳板 一文。

閱讀全文 »

話說還是來紀錄一下自己用 3D 印表機印出來的東西好了,最近才到手第一台 iPhone,因此理所當然就 DIY 電源座啦 ~

這一款是取用 Thingverse - iPhone 6 stand 這個模型來完成,由於不需要嵌入一條 Lightning 線在模型上,因此我打算用在公司中 (這樣我自己可以隨身攜帶一條電源線)

這個模型其實也適用 Android 手機,我是覺得還不錯 ~

閱讀全文 »

4clojure 是一個非常棒的 Clojure 練習網站,可以在練習的過程中逐漸熟悉 clojure 的核心命令以及常用函式。

這邊列出我最近重寫 4clojure 整理的資訊。

閱讀全文 »

Project Euler 是一個很不錯的程式練習網站,和 LeetCode 相比起來,Project Euler 的題目比較偏向數學,也就是只要你數學不錯,用紙筆也是可以進行解題。對於工程師來說,數學的磨練是不可以停止的,因此我重新紀錄我解 Project Euler 題目的經過。

在這邊我使用 Clojure 來進行解題,你可以在 這裡 找到完整程式碼,大部分的程式都盡可能用 函數式 的方式來解決。

閱讀全文 »

OpenCV 是一套非常強大且好用的影像處理函式庫,一開始使用 C 語言來進行開發,後來移植到 C++ 上面,並提供了 Python 的綁定。自 2.4 版本後,OpenCV 開始提供了 JAVA 的 wrpaaer,也因此使用 JAVA 或是 Clojure 的人都可以輕鬆愉快的使用 OpenCV 了。

本文將簡單介紹如何在 Clojure 下寫 OpenCV 的程式,而 OpenCV 的程式教學則在以後 (或遙遠的未來) 再來寫 :)

閱讀全文 »