Monday, May 11, 2015

Libreboard

Trello.com 一直是一個非常好用的工具。

Libreboard 則是 Trello 的一個 open source copycat。
如果你的資料不想放到 Internet 上去,那麼可以考慮使用 Libreboard。



Libreboard 提供了 Sandstorm 與 Docker image,可以快速安裝。
我在 Windows 7 使用 Docker image,遇到了一些小問題,所以還是紀錄下來安裝方式,免得以後忘掉。


  • 安裝 boot2docker
    要注意 BIOS 的 Interl VT-x 必須要開啟
  • 啟動 vm
boot2docker start
  • 下載 MongoDB image
# docker pull mongo
  • 下載 Libreboard image
# docker pull ncarlier/libreboard
  • 在 vm 裡面建立 mongodb 目錄, 目前測試無法寫 external volume...

    # boot2docker ssh
    $ sudo  mkdir /mnt/sda1/var/mongodb
  • 啟動 MongoDB container
# docker run -d --name mymongo -v //mnt//sda1//var//mongodb://data//db -p 27017 mongo
  • 啟動 Libreboard container
# docker run -d --name libre --link mymongo:mongo -e "MONGO_URL=mongodb://mongo:27017" -e "ROOT_URL=http://127.0.0.1" -p 80:8080 ncarlier/libreboard
  • service ready
    可以用 boot2docker ip 取得 vm 的 ip,那麼 http://boot2docker_vm_ip/ 就可以連上 libreboard 了。
  • VirtualBox port forwarding
    照上面執行後,libreboard 就可以在本機使用了。但是如果要讓其他人也能使用,就必須開啟 VirtualBox port forwarding 才行。
ps: 一次刪除多個 container 的方法
# docker stop $(docker ps -a -q)# docker rm $(docker ps -a -q)

Wednesday, February 11, 2015

格陵蘭滾翻初體驗

人在水裡,心裏默記著
  1. 側持槳,槳平貼船側
  2. 翻槳。槳在水面處,注意槳面角度與位置
  3. 雙手持槳固定與身體角度
  4. 膝蓋頂船,挺腰,旋身
咦!我翻起來啦!喔耶~~~



去年開始學習海洋獨木舟,讓我發現了這比登山、單車、衝浪等等都還更有趣的戶外活動!好啦,就當我是喜新厭舊也行。總之,這近一年來,我是逢人就猛介紹、狂推薦獨木舟!

「海洋獨木舟超好玩的你知道嗎!」
「住台灣不划船真是太可惜了!」

而幾乎每次都不免被問到:「哦!獨木舟。就是要會翻船翻回來對不對!?酷耶~」

「呃... 高級動作我還不會。」

所以說,能不學滾翻嗎?這能不學嗎!?

好在我們有神奇獨木舟學校。
教練幫我們找到這麼好的場地,將整套動作拆解成 SOP,還詳細講解各個動作分解練習的眉角。讓我們這些不年輕的身軀也能一次就找到滾翻的感覺。哈哈哈哈~

回到家,發現雙腿的筋酸了三天,還有數處烏青。比爬山還慘一些~
但,就是一個爽~~~ 超讚的!

對了對了,你有聽說過獨木舟超好玩嗎? ^_^

Tuesday, September 10, 2013

解救被禁用的 iPad

From Evernote:

解救被禁用的 iPad

前陣子把 iPad 設上了密碼控制晶晶的使用量,讓她在輸入錯誤後進入「禁用中」的狀態。

原本想說到時就接上 Mac 重新 sync 一下應該就可解鎖。沒想到一看文件,居然只能靠 restore 才能解鎖… 一整個臉黑~ = =
我不想花那麼多時間作 restore 啊~~

但是咧~ 嘿嘿,被我意外試出一個可以不必 restore 的方法。

首先照文件進入 recovery mode,就是
  1. usb cable 先接上 Mac,但是不接上 iPad,開啓 iTunes
  2. iPad 關機
  3. 按住 Home button 不放,同時把 usb cable 接上 iPad。
  4. iPad 會自己開機,並進入 recovery mode.
然後咧,不必進行 recovery。

就直接拔除 usb cable,然後重開 iPad 就會又可以輸入 passcode 啦~~~ 哈哈!

Monday, March 25, 2013

PerPageHTML Calendar 不會換日問題修正

From Evernote:

PerPageHTML Calendar 不會換日問題修正

剛接手了一支 iPhone 4,發現 JB 後可以安裝 PerPageHTML 就能有類似 hTc 時鐘的 widget!


嗯,畫面果然不錯~
除了 hTc 時鐘,還有Calendar widget。


但是,過了一天就發現 Calendar 不會自動換日,但是時鐘卻很正常。

用 iFile 檢查了 Calendar code 後,發現這不知道從哪裡拿來用的 Calendar (會不會是直接拿 dashboard widget?),本來就都有用 setTimer 寫好 update timer 在換日時作用,只是不知道為什麼在 PerPageHTML 下不會作用。但是 hTc 時鐘卻告訴我們,在 PerPageHTML 下 setInterval 是正常的。

作了幾個簡單的測試,發現
  • setTimer 沒有作用
  • setInterval 30min 也不會動作
  • 但是 setInterval 1sec 卻可以正常動作
既然有了這個測試結果,我也懶得去深究原因。(雖然猜測大概是 PerPageHTML 的 Renderer 並沒有一直在執行 Calendar widget)簡單改了一下 Calendar 後,發現會正確換日了,實測也沒有耗電的現象。

所以,在此做個紀錄、收工~

我修改了
     1. 在 Widget.html body 加入 setInterval 呼叫 updateDate

<span id='date'>
<script language="JavaScript">setInterval('updateDate()', 1000)</script>
</span>

     2. 修改 Canlendar.js 的 updateDate

function updateDate ()
{
     gDate = new Date();
     var currentEqualDate = gDate.getMonth() == gBrowsingMonth &&
                                gDate.getFullYear() == gBrowsingYear &&
                                gDate.getDate() == gBrowsingDate;
 
     if (!currentEqualDate)
     {
          gBrowsingMonth = gDate.getMonth();
          gBrowsingYear = gDate.getFullYear();
          gBrowsingDate = gDate.getDate();
 
          drawGrid (gBrowsingMonth, gBrowsingYear);
          drawHiliteTodayInGrid ();
          drawText ();
     }
}

Monday, September 10, 2012

解救你的自由式:Total Immersion Swimming

你會游泳嗎?你的自由式游得輕鬆嗎?
如果你會,那麼恭喜你。

如果你跟我一樣,會游泳,但是自由式游個 50m 就很累,游起來歪來歪去。
那麼我很樂意在此分享我最近兩個月學習 Total Immersion 的心得。

就短短兩個月,我都還沒有完全把 TI 動作記憶在身體裡面,但是卻已經可以用自由式游上 500m or 600m 後只有心跳加速卻不累~ 




為什麼海豚游得那麼快?

  • 流線體型,低阻力
  • 強壯的肌肉與鰭,高推力
人類體態天生不適合在水下快速前進,更沒有鰭來推水。因此我們想要能有效率地游泳,第一要點就是調整姿態減少水阻力,這比增加推進力要更重要!

Take a look at the differences

如何減少在水中的阻力?

  • 物體越長,在流體中的阻力越小 
  • 維持一直線穿水而過 

不要浪費不必要的能量

  • 輕鬆地保持地阻力的姿勢 
  • 不要大動作製造水花 
  • 不用力抬手 
  • 利用你的體重 

該保持什麼樣的姿態?


調整姿態的要點

維持身體是一直線

  • 始終有一隻手向前伸展 
  • 手不是向中間伸 
  • 手掌向下,輕鬆微張 
  • 另一隻手在大腿側 
  • 頭不要抬起來 
  • 腿不要下沈 
  • 身體是傾斜的,一邊肩膀在水面上 

如何換手

  • 用大臂抬起移動小臂 
  • 不要抬太高,手指約在水面掃過 
  • 抬臂往前越過頭後,斜插入水向前伸展 
  • 抬起的手入水時,才將伸在前面的手收回 
  • 手插入水往前伸展時,順勢轉動身體,讓手能儘量前伸。而同時水裡面的手則剛好貼着身體收到大腿側。 
  • 不需要刻意划水 


不要想著要出力推水,專心在如何輕鬆地穿水而過

剛開始學習 Total Immersion 的人,先專注在用正確的姿勢減少阻力,可以獲得最大的效益。

重點是:手掌要始終向下微張。如此在換手時就會順勢抓水而獲得推力。

要不要踢腿?

要快當然要踢腿。但是如果踢腿會造成身體不平衡,那麼還不如不踢。  
踢腿有助於在換手轉動身體時能保持平衡。

換氣的時機與姿勢

不是在抬手時換氣!

當換手、轉動的動作完成,一手在前、一手在大腿側時,轉頭讓下巴靠往在水面上的肩膀,就可出水換氣。抬手時則已經換氣完,準備轉頭入水。

練習左右兩邊輪流換氣。