最近打算稍微了解一下 Google 在推的 Android Things ,這是一套以 Android 為基礎改製而成的作業系統,目的在於用於現在很夯的物聯網(Internet of Things, IoT) 上。 關於 Android Things Android Things 前身為 Google 的 Brillo 專案 ,在約 2016 年底改名為 Android Things 。這東西到底是什麼? 簡單的來說,隨著 Android 的普及,會使用 Java 寫 Android app 的人越來越多, Android Things 就是為了這些開發者存在的物連網系統,就如網頁的豪語: I…
Android Things 學習筆記: 介紹
使用 yasnippet 自動插入程式碼樣板
在 用 insert-shebang 自動插入直譯器指令 一文中我們提到了如何自動對腳本檔案插入 shebang ,這次來談談如何透過 yasnippet 自動對你的檔案插入你想要的樣板,比如授權資訊 (copyright)、預設標頭檔等等。 在 Emacs 下雖然有其他套件可以完成這種 插入樣板 的功能,但是既然我們可以透過 yasnippet 來辦到,就不需要多學新的樣板標記語言了 :) 註: 本文修改自 2009 年我發佈在 ptt 上的 建立新檔案時自動插入樣板 (使用 yasnippet) 一文。 安裝套件 yasnippet 已經收錄在 MELPA 中,因此你可以直接透過 M-x …
用 insert-shebang 自動插入直譯器指令
我們在寫腳本的時候,總要在檔案的開頭加入 #! 這樣的開頭來讓系統知道如何執行這個腳本,而 #! 這樣的東西則稱之為 shebang 。 每次寫腳本都需要手動撰寫 shebang 也是很煩的,因此我們可以讓 emacs 根據腳本的檔名,自動幫我們加入合適的 shebang 到檔案的第一行。 在 emacs 上,有一個名為 insert-shebang 的套件可以幫助我們達到這個需求。 舉例來說,在建立 xxx.sh 這樣的檔案時, insert-shebang 會自動在檔案開頭加入: 而如果建立的是 xxx.py ,則會是: 安裝套件 insert-shebang 已經收錄在 MELPA 中,…
灣區日報閱讀筆記: 2017/05/01 第 902 期
這是我閱讀 湾区日报 裡面每天提供五則訊息的筆記,紀錄個人閱讀心得等資訊。 本期文章位址: https://wanqu.co/issues/902?s=old-nav The Kano Analysis 將 Kano Model 應用在設計互聯網產品上,對一批用戶進行簡單的測試:加入這個功能,你的滿意度如何?如果不加的話,你滿意度又如何?收集這倆問題的所有回答、彙總起來就能決定某個功能是否值得花時間去做了。 五類產品功能:1,Desired Features(越多越好,如磁盤容量);2,Required Features(必須有,但差不多就行了,如輪子能轉就行);3,Delightful Fe…
將 Orange Pi Zero 改造成 AirPlay 音頻播放器
最近突然又想自己架設個簡單的 AirPlay 播放器,好透過 wifi 遠端播放我的 iPhone 或是 MacBook 上面的音樂。 剛好手邊的單板電腦都已經有各自的用途,於是便來找一片新的板子,最後鎖定了 Orange Pi Zero 這片開發板 (我選的是記憶體為 256 MB 的版本)。 會選這片的原因,主要是包含運費後他最便宜(大約 NT 362 元),剩下要自己準備的則是: USB 電源、USB 手機充電線、8GB MicroSD 卡。 這邊就來紀錄一下我怎樣進行設定的。 下載 Image 首先連線到 http://www.orangepi.org/downloadresource…
Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming 筆記
為了了解 Clasp 這個可以把 Common Lisp 編譯到 LLVM 上的編譯器是如何實作的,於是找來這場演講。 講者這場的投影片我沒找到,到是有找到別場次的: 投影片下載 先簡單講些心得,這場演講是 Google 邀請 Clasp 的作者 Christian Schafmeister 去進行的演講,講者為一化學教授。這場演講剛開頭講了大約 20 多分鐘的化學,而講者為了解決 Molecular (分子生物學) 的問題,決定透過 Common Lisp 的 metaprogramming 的能力來提昇整體計算程式的開發以及計算能力,因此實作了一個可以將 Common Lisp 編譯到 L…
ClojuTRE 2016 演講筆記
趁著假日來趕一下進度,於是把我看過的 ClojuTRE 2016 心得/筆記紀錄在這邊。 嗯......其實 ClojuTRE 2016 每一場演講我都看完了..... 當然,我並不是每一場都聽的懂,於是這筆記只能僅供參考,請勿盡信 orz... 有些演講真的很難畫重點,還是挑自己有興趣的看吧!! Using Clojure to provide computerized psychotherapy 講者投影片: 下載連結 這場演講在講 Clojure 用於心理治療 (psychotherapy) 上,一開始講者提出了問題: 對於這些問題,我們可以有一些解法: 而更多的問題,則是沒有足夠的人手…
Unknown perls from the Clojure standard library 筆記
看完 ClojuTRE 2015 的 Unknown pearls from the Clojure standard library - Renzo Borgatti 演講後,來紀錄個筆記。 這場演講介紹了一些在 clojure.core 裡面的函式,這些函式平常可能不太有機會用到,但是可以協助我們除錯程式的問題。 投影片: 下載連結 destructure destructure (解構) 在 Clojure 裡面是個非常實用的功能,可以方便我們對資料直接指派變數去代替它,如下: No destructuringWith destructuring 我們可以透過 destructure 去…
zybo board 開發記錄: 使用 Yocto 建立系統
在 zybo board 開發記錄: 執行 Linux 作業系統 一文中,我們提到了如何自行編譯 u-boot、Linux kernel、busybox 來讓 Zybo Board 可以開機進到 SD 卡上的 Linux 系統。這一次,我們要來談談怎樣使用 Yocto Project 來建立 Zybo board 的 Linux 系統。 Yocto Project 是近年來各大 SoC 商以及開發板商皆參與的 Linux 系統構件工具,透過 Yocto Project 的協助,使用者可以針對自己的需求構件想要的映像檔(image)或是 Root File System,和 Yocto 類似功能…
zybo board 開發記錄: 執行 Linux 作業系統
在 zybo board 開發記錄: Zynq 與 LED 閃爍控制 一文中我們談到了如何透過 C 語言撰寫獨立的程式,讓它控制 Zynq 的處理器系統 (Processing System, PS) 去閃爍 LED 的亮暗。既然 Zynq 的處理器系統 (Processing System, PS) 使用的是 ARM Cortex-A9 的處理器,那當然也可以讓我們跑 Linux 在 Zybo Board 上。 (本文以 Vivado 2016.2 進行開發) 本文將簡述如何自行編譯 u-boot 以及 Linux Kernel,並搭配 Busybox 製作簡單的 RootFS 執行於 Zy…