2014/10/28

讓 mac 可以顯示 remote 端的 raspberry pi 的 linux 畫面



1. 安裝 XQuartz X11 server

2. 設定 sshd 的 config 讓它支援 xforwarding

Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes

3. 利過 ssh -Y (or -X) plateau@xxx.xx.xxx 連到遠端的主機上

ps. 設定 xterm 的字型大小可以用下面指令開啟 app

xterm -fa 'Monospace' -fs 12&


2014/10/11

讓 Git 使用起來更方便的一些 tips


(Full Moon.Taipei)

第一件事是讓 terminal 可以支援 git command 還有 branch name 的自動補齊,不用每次都要記落落長的分支名稱。

1. 下載 autocomplete 的 shell script

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
 
2. 在 ~/.bash_profile 中加入下面的 script

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi 
 
然後重新載入一下 .bash_profile 就可以了。
   
第二件事是讓 terminal 的 prompt 可以顯示目前是在哪個分支。
方法也很簡單,在 PS1 這個變數中,適當的位置加入 \$(__git_ps1) 就可以了。
像我的設法是:
 
export PS1='\[\e[36;1m\][\h]\[\e[33;1m\]\t \[\e[0m\]\[\e[32;1m\]\w \[\e[0m\]$(__git_ps1 "(%s)")\n$'
 
REF: 
1. http://code-worrier.com/blog/autocomplete-git/
2. http://code-worrier.com/blog/git-branch-in-bash-prompt/
 
 
 
 

2014/08/26

雪山登山行



也不知道當初怎麼會決定參加雪山登山團,明明就半座百岳都還沒爬過,也不知道它的難易度。不過,爬了之後證明自己當初的決定是對的,因為,山上的風景實在是太令人感動了。

原本出發時間是定在六月多,但受到鋒面的影響,連日雨下個不停,大家怕上了山還是在下雨,或是地面溼滑,一來看不到東西,二來又比較危險,所以把時間整個延了兩個月,直到八月底才出發。

也因為時程的改變,雖然延後了兩個月,但很多人由於其他的因素陸陸續續退出。從一開始的16人,到最後出發時只剩9個人,外加兩位散報的登山客。本來我自己因為出發前玩沙板和泡泡足球,搞得大腿拉傷,一度打了退堂鼓的。好在退費有點麻煩,而且其他同伴也勸我到時再看看,我才沒有錯過這次的登山行。

出發前的一個大難題是,既然我沒爬過百岳,自然什麼該有的裝備都沒有。要嘛得跟朋友借,不然就是自己全買齊。很幸運的,先是借到了專業的登山大背包,然後又有還沒見過面的同伴肯借我頭燈,讓我稍微省了點置裝費。不過,我還是自己買了耐熱水壺,登山杖,兩件式的雨衣,還有可以隔熱的大鐵碗。

第一次登山,什麼都搞不懂,衣服多帶了不少。沒想到山上真的不行洗澡…換衣服似乎也沒有太大的意義。羽絨衣似乎厚了些,應該外頭穿件防風防水透氣的外套,裡頭再加中間層的就夠才對。得自備兩天的午餐我也帶了太多,零食還剩不少。另外撒龍帕斯帶了一大包去,看來也是多餘的。下次就不會再帶那麼多東西了。

集合地點在台北車站東三門,我還以為是要大家到齊後一起搭台鐵,沒想到山友是派了一台小巴士來載人,直接往宜蘭圓山出發。雖然小巴士沒有坐台鐵來得舒服,但是對於人人都揹了大背包的前提下,小巴士超方便的。

在車上休息一會兒後,車子來到員山,我們在這裡用晚餐,找了一間聽說還蠻有名的古家魚丸米粉。店面的裝潢很特別,有很多展示櫃,裡頭放了各式各樣日本卡通造型的模型,還沒全部看過一輪,食物就來了。

吃完上車繼續前進,到達武陵農場大水池時,已經是晚上九點多的事了。看行程是要檢查證件和聽登山安全簡報的。但不知為何,這步驟似乎被跳過了,大家在出發點拍拍照後,就直接背上背包往七卡上莊前進。

七卡山莊在2k處,大約走了一個多小時。帶上頭燈,夜裡走山的感覺很特別。四周都是黑暗的,只有腳前一小塊有光線,唯一要想的事就是,下一步得踏哪裡才好。

到七卡時,沒有其他團,我們把裝備丟床頭後,就趕著到屋外看滿天的星星。找了一塊水泥地,直接躺在上頭,不然站著抬頭看,沒三兩下就會覺得脖子酸。短短的十幾二十分鐘,就看到了四五顆的流星。原來看流星並不用特別等什麼好日子的。

晚上睡得還算可以,只是睡袋的下緣忘了拉上拉鏈,腳部有點冷。後來雖然有另一團登山隊來,不過是睡在另一大間通舖,所以沒有什麼被干擾到,也沒有人打呼打得太大聲。算是 lucky 的一個夜晚。

第二天的行程是從七卡山莊(2k)走到三六九山莊(7.1k),中間會經過雪山東峰。這一天才算真的開始,前一晚只能稱得上小菜一碟。短短的5.1公里,如果是平地的話,只要半小時就可以輕鬆解決的,換成山路再加上負重,時間可是以倍數增加的。

早上天氣很好,在哭坡前的路線還不難走,所以一路走走拍拍。同團有位女生因為身體不適,提早先下山了,有點可惜。其他人都還適應得不錯,沒有人落隊落太後面。在哭坡前,大家把各自準備的午餐拿出來吃完後,便開始走有點難走的哭坡。上坡前還有個哭坡不哭的路牌來說明為什麼它叫哭坡。可是,走完的感覺是,也沒特別好哭的啊。雖然陡是很陡,但還沒有太多地方需要雙手拉繩抓樹幹,只要一腳步一腳步踏穩就好。

到達東峰時,雲層已經變得很厚了,不再是大藍天。但畢竟是我第一座百岳,該拍的照片還是不行少。稍做休息後,就再度上路,往今天的目的地三六九山莊前進。沿路有許多小花小草可以拍,不過因為行李太重,又得拍微距,所以我拍的照片不多,主要都是在拍山景。

下午一點多就抵達三六九山莊。三六九山莊正前方有很開闊的視野,後面則是靠著山腰。這麼早就到達,還真不知道可以做什麼。早知道應該要帶電子書來看的。兩三點時,好像開始下起大雨。還好我們到得早,不然在雨中登山的感覺,應該會很狼狽吧。

晚上五六點就吃晚餐了,在廚房不斷放著音樂,有中文有英文,感覺很世外。大家在廚房裡圍在一起吃飯,邊吃邊亂聊。在山莊內沒水洗澡,沒燈可開(除了每個人自己帶的頭燈),六七點大家就陸續上床睡覺,準備明天凌晨一兩點就得起床的整日行程。

但是,看著屋外滿天的星星,怎麼可以就這麼去睡覺呢?八點多,等到廚房的燈熄了,我拿著相機和辛苦帶上來的腳架,在屋外悠哉地拍起星星。有了前一晚的經驗,今天的拍攝結果應該有所改進,也順利找到怎麼把相機的去噪功能先關掉,不然拍一張就得等拍兩張的時間,實在是太久了。

這一晚的睡眠品質,比前一天差多了。睡時是和其他團一起睡大通舖,有好幾個人打呼超大聲,而且我還傻傻地在吃完晚餐後,泡了杯咖啡喝。真正熟睡的時間,應該很短很短。一點多就被另一團要先出發的登山客給吵醒。

第三天,將會是最辛苦的一天,不但要半夜行進攻山頭,還要沿著原路一路走下山。在吃完早餐後,兩點多,我們開始往山莊一旁的小山坡前進。今天會先經過黑森林,冰斗,然後登頂雪山。不管什麼森林,在半夜看起來,其實都是黑的。半夜走山路,真的會讓人很專心。

到達冰斗時,天空已經呈現火紅色。這時我才發現,其實日出時我們是來不及到達山頂的,也就是說,我輕裝上陣的腳架,是白拿了。我們在冰斗待了好一陣子,讓大家有時間好好欣賞一下這火燒雲的美景。再來一段是碎石子路,不好走,但是走得很享受,因為右邊就是山谷,可以看到它漸漸被日光包圍,由黑色變微紅,深紅,再變回綠色。


山頂!終於到了,早上六點半。可以360度看四週的山景,除了太陽的方向外,其他角度都有大藍天當背景。能見度也相當遠,好久沒有看到這樣子的景色了。雖然這兩三天走得很辛苦,但很高興自己完成了這段旅程。

白天的黑森林很漂亮,大家慢慢走,邊拍照。黑森林裡都是很高的樹,抬頭看幾乎都是滿滿的針樹葉,陽光有一處沒一處地透過樹葉灑到地面,將地面上的菁苔照得一塊塊青綠色的。在低海拔很少能夠看到這麼漂亮青苔。

有一區是碎石瀑布,碎石從山上一路往下怖滿了整個坡道,有點像是河流,但全是石頭。可惜行走時,是在山陰處,沒辦法把它的壯麗感覺拍出來。

回到三六九山莊的時間有點延誤。今天的天氣比昨天還好,走在山裡的感覺更舒服。雖然一路上的里程下降的很慢,但還是很開心。

在三六九山莊吃完早午餐米粉,在大通舖小睡一下,背上大背包要下山啦。下山…走得真的有點趕,我走到腳姆指很痛,因為會一直頂到登山鞋前面。好在後來有朋友提醒,爬山要把登山鞋的鞋帶綁緊,我才趕快綁緊。綁好後才發現,高筒的登山鞋,腳踝綁緊的話可以避免下坡的坡度造成腳底板前滑。可惜我是在最後兩公里才糾正回來的。

回程後半段,一直在打雷,大家笑著說,是老天爺在催促著我們走快一點,不然就要下雨了。果真,我們的腳程比早上,比前兩天都快了不少。大家應該都歸心似箭吧,也擔心一旦下起雨,穿著雨衣走山路會很難受。

回程我是走在前段班,緊緊跟著卓大哥的腳步。前段班以女生居多。不知道為什麼,女生下坡的速度都好快。我卻走得有點急促,要花不少力氣才可以跟上大家的腳步。

在經過哭坡前後,有好多路段都已經沒有印象了,邊下山邊納悶著,到底前一兩天自己有沒有走過,當時到底都在想什麼,怎麼都好像沒有走過。

在七卡山莊休息時,雷聲愈來愈大。我懶得再休息了,看到有位同伴先往山下走去,我也提起包包前進。由於同伴的提醒,綁緊鞋帶的我跟上緊發條沒兩樣,整個人開始健步入飛,加上不時傳來的雷聲,我乾脆就小跑步起來。反正最後2k的坡道很緩,雖然有大大的階梯,但一旁都還會有一點小小的坡道可以直接行進。我就或跑或快走的完成了最後這2k。後來看看時間,只花了20分鐘而已。如果整段下山路程都能以這速度行進的話,我不就可以2個小時內下山??哈哈,我想太多了。
  
一回到大水池登山口,就看到大學同學迎面走來。這世界還真是小啊!一邊休息,我和他小聊了一下。隔了十分鐘,大家也陸續下山。原來,大家也怕下雨,快走下山,僅花了30分鐘。

大家都到齊後,領隊拿了西瓜和水蜜桃給我們吃(這是傳統嗎?),吃完後開了好久的車回到員山的一家叫口香亭的餐廳吃慶功宴。當時我已經有點精神恍惚了,不過依稀記得吃了不少宜蘭的特色菜。明明就很常到宜蘭,卻從沒聽過或吃過這些菜,看來我還不夠享受生活…

回到台北車站後,就各自回家啦。

這次的登山,感觸很多。一來是山上的風景真的很好,台灣不缺好風景,只是需要多花點力氣才看得到。這有好也有壞,好的是,因為要花不少體力,所以有能力爬上去看的人並不多,相對上就不會那麼人擠人,或是被破壞的程度比較低;壞的是,不是隨時想去就能去的,還要申請入山證,還要請假,還要有導遊。

二是,人類真的很渺小。進入山區,沒電,沒(足夠的)水,人能依靠的就是自己。在大山中,要隨時保持著敬畏的心。在欣賞山的同時,也要對它提高警覺。

三是,登山很需要經驗,要多聽多學習,多做準備。如果我早點知道鞋子綁緊對下山有幫助,這次下山就不會吃苦吃了十幾公里。

四是,一起登山的同伴很重要,需要彼此打氣和鼓勵。

下次有機會的話,應該還是會想要再嘗試看看吧。










2014/08/13

在 Pebble 上顯示中文的 Android 通知,和開發 Pebble 的簡單程式

(Lyon)

想在 Pebble 上顯示中文的話,iOS手機可以裝 PebbleCC ,Android手機的話可以裝 YaNC。不過 YaNC 在 Android 的 PlayStore 是要錢的。目前用 YaNC 的感覺還不錯。只是,如果一天下來訊息比較多的話,手錶變得比較快沒電。因為它是把訊息的內容傳成圖檔,然後把圖檔發到手錶上呈現。

另外,在 Mac 上下載了 Pebble SDK ,試著用 command-line 開發 pebble 上的 app。目前只試了一下 persistent storage 的 API,寫了個手動的 counter,還沒仔細看它 UI 的架構和其他功能的 library。希望有空可以逐漸熟悉,看能有什麼樣的應用方式。

https://developer.getpebble.com/2/guides/


2014/08/08

pebble 初體驗


好像國內都沒有什麼相關的說明, Google 一找全是對岸或香港的文章。
所以,如果有什麼心得的話,偶爾還是來留點記錄好了。

單純手機跟 pebble 的連結應用,目前已經有不少了,
畢竟, pebble 出來好像也有一陣子了。
但是,在與 Mac 端的連結應用就沒那麼豐富,
目前只找到 libpebble 比較完整,
透過 python script 可以讓 Mac 經由藍芽連結到 pebble,
進而發送訊息到手錶上,或是用手錶來控制 Mac 上的 Application。

我抓的這版 libpebble 已經有處理 Keynote 和 iTunes,
後來我又加上了比較常用的 Powerpoint 和 Spotify,
方便我在床上的時候,可以隨時開關 Spotify 的播放。

Mac Application  的操作其實是透過 Music app on pebble 的介面來完成的,
所以能按的鍵不多。
然後在 Mac 上要寫一寫 button 對應的 osascript 行為。
換句話說,只要 osascript 做得到的,就可以讓 pebble 來驅動。

目前就完成到這樣,還沒有想到什麼其他好玩的應用。

2014/08/02

救救菜英文 English Vinglish

(Taipei.Taiwan)


小成本的一部片,但是拍得很溫馨,很好看。

When you don't like yourself... you tend to dislike everything connected to you. New things seem to be more attractive. When you learn to love yourself... then the same old life... starts looking new... starts looking nice.

2014/07/23

在 raspberrypi 上安裝 mongodb

(Central Park.New York.US)

忘了為什麼要裝 MongoDB 了。不過看來要編繹的話,要很久,所以找到了一個 binary zip 來安裝。解開 zip 後,要用 root 執行下面這些指令,然後,就可以用了。
adduser --firstuid 100 --ingroup nogroup --shell /etc/false --disabled-password --gecos "" --no-create-home mongodb

cp -R mongodb-rpi/mongo /opt
chmod +x /opt/mongo/bin/*

mkdir /var/log/mongodb 
chown mongodb:nogroup /var/log/mongodb
mkdir /var/lib/mongodb
chown mongodb:nogroup /var/lib/mongodb

cp mongodb-rpi/debian/init.d /etc/init.d/mongod
cp mongodb-rpi/debian/mongodb.conf /etc/

ln -s /opt/mongo/bin/mongod /usr/bin/mongod
chmod u+x /etc/init.d/mongod

update-rc.d mongod defaults
/etc/init.d/mongod start

REF:
 http://www.widriksson.com/install-mongodb-raspberrypi/