有很多程式,一安裝好後就偷偷躲在背景跑;或有一些是只要 wifi 一開啟,app 就會自動跑起來,可是大部份的時候,不想如此,有些 app 甚至選項裡可以設成開機”不“啟動,但仍然開機後會起來,煩死了。這些就是所謂的 bloatware,不但讓手機變慢,記憶體不夠用,還會導致電池很快就用完了。還有,像中華電信出的手機,都會裝 hami xxx 的一堆,一開機跑出來,真是欲除之而後快。
有想說平常將 app 給移除,等到要用時才從 sdcard 中來安裝,不過這樣除了很麻煩以外,app 的設定都要重新設一次,因為在移除 app 時,也會將設定檔全數移除,真的不符經濟效益。
最近發現 android 有一個殺手級的功能,就是可將某一 app 給 “freeze" or "disable" 起來,這個 app 就會停止運作,按下圖示要執行,會說沒安裝在系統上,這樣就不會自動跑起來了,但有新版可更新時,仍然可以更新。等到要用這個 app 時,再將它 "unfreeze" or "enable" 即可。要使用 freeze 必須要將手機 root 才行。
這個比起之前將 .apk 改名成 .apk.disable 更方便,改名的方式,系統會以為你沒裝這個 app,所以也無法更新。而且 freeze 有現成的工具可用,改名的方式只能自己寫 script, 當然,freeze 也可以自己寫 script 就是。而且厲害的是,連系統的 app 都可以 freeze 哦。
大部份能 freeze app 的都要花錢買,不過之前介紹過的 link2sd 最近新版 1.9.5 的也加入 freeze 功能,當然,只為了 freeze 功能去裝 link2sd 實在是殺雞用牛刀。還有另一套叫 bloat freezer,本來也要錢買,但後來作者將之拆成付費及免費版
https://market.android.com/details?id=com.bloatfreezer.free&feature=search_result
這套就只有 freeze、 unfreeze 功能,還不錯用,只做一件事,而且做得很好,我喜歡,只是要看廣告就是。
若要自己寫 script 也很容易:
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
存起來後,放在路徑底下,
freeze
# pm disable AppName
unfreeze
# pm enable AppName
這個 AppName 就要查一下了,可用 bloat freezer 來查,或 astro file manager。
有了這個功能,不用怕手機都變超慢的,電池一下子就沒電的狀況了。
2011年10月29日 星期六
2011年10月7日 星期五
2011年9月25日 星期日
android 調校二
通常 android 手機留給使用者額外安裝程式的空間並不多,像我這台 garmin asus A50 就只有 510M 的空間,再加上很多程式或遊戲都要下載資料檔才能用,有的資料檔一下載就是 100M,所以很快的就滿了。而且這台是 android 2.1 以前的,所以無法 app2sd,常常要裝新的軟體,就要想辦法砍掉現有 app,可是每次都花很多時間在想說要砍什麼軟體比較方便,因為軟體砍了後,下次再裝回來,資料和設定檔都會消失,很麻煩。
所以如果沒內建 sdcard 的機子,就要趕快去買來用才是,至少可將資料檔放到 sdcard 上。但是 android 2.2 以上的機子,才能將 apk 放到 sdcard 上,而且不是每一個程式都可以,那 android 2.1 以前的不就玩完了。
幸好找到了 link2sd 這個 app,可以讓 android 1.6 - 2.1 的手機也能將 apk 放到 sdcard 上。作法是先將 sdcard 在 pc 上分割成二個 partition,第一個弄成 vfat,第二個最好弄成 ext3(vfat 也可以啦),第二個 partition 留個 1G 就很夠了,其他都給第一個 partition,拿來存資料用。
link2sd 會使用 sdcard 的第二個 partition,掛載在 /data/sdext2 下,將原本 /data/app/example-1.apk 搬到 /data/sdext2/example-1.apk,然後再將之 link 回 /data/app/,所以使用者安裝的 apk 都會放在 /data/sdext2 下,不佔用原本的 510M 的/data 目錄的容量。除了 apk 以外,dex and lib 也可以放到 /data/sdext2 下。
就算是 android 2.2 以上的,也可以用 link2sd,因為不是每個程式都可以用 app2sd 的,但是用 link2sd 就可以。
所以如果沒內建 sdcard 的機子,就要趕快去買來用才是,至少可將資料檔放到 sdcard 上。但是 android 2.2 以上的機子,才能將 apk 放到 sdcard 上,而且不是每一個程式都可以,那 android 2.1 以前的不就玩完了。
幸好找到了 link2sd 這個 app,可以讓 android 1.6 - 2.1 的手機也能將 apk 放到 sdcard 上。作法是先將 sdcard 在 pc 上分割成二個 partition,第一個弄成 vfat,第二個最好弄成 ext3(vfat 也可以啦),第二個 partition 留個 1G 就很夠了,其他都給第一個 partition,拿來存資料用。
link2sd 會使用 sdcard 的第二個 partition,掛載在 /data/sdext2 下,將原本 /data/app/example-1.apk 搬到 /data/sdext2/example-1.apk,然後再將之 link 回 /data/app/,所以使用者安裝的 apk 都會放在 /data/sdext2 下,不佔用原本的 510M 的/data 目錄的容量。除了 apk 以外,dex and lib 也可以放到 /data/sdext2 下。
就算是 android 2.2 以上的,也可以用 link2sd,因為不是每個程式都可以用 app2sd 的,但是用 link2sd 就可以。
2011年9月24日 星期六
android 調校
在玩了一陣子 android 後,發現很多 app 都會開機就自動啟動,然後在背景一直跑,佔住記憶體和 cpu,砍掉又自動跑起來。難怪 market 裡有那麼多 kill 程式的軟體,不過這個都是治標而已,砍完過一會兒又會自動起來,真頭痛。
不管是什麼功用的都可能會如此,明明我裝一個計時器,可能一天只用一次,用完十分鐘就關掉了,可是得付出的代價是一天24小時都得讓這個計時器耗掉不少的資源,為什麼,寫程式的人真的不知道頭殼在想什麼? 不知道我的手機 cpu 才 600MHz,記憶體才 180M,一個計時器就要佔掉我10幾M的記憶體,若是要用時裝上,用完後就移除是可以,但很麻煩,最主要是移除後,設定都會不見,下次再裝,又得再設定一次。
幸好最近找到方法可解決這問題,這方法是治本的方法,直接讓這 app 消失,不過要先取得 root 才行。由於使用者自己安裝的程式是放在 /data/app/ 裡,拿 "生活計時器" 來當例子,apk 位於 /data/app/com.luckyxmobile.timers4me.apk,寫了一個 script,將這個檔案改成 .apk.disable 即可,/data/app/com.luckyxmobile.timers4me.apk.disable,這樣 android 系統會認為這個 app 沒安裝,而且原本在背景跑的程式,會立即關掉。等到想用計時器時,再用另一個 script 將 .apk.disable 改成 .apk,這樣計時器 app 又回來了,隨時可用,而且設定檔都還留著喔。
那你說,為什麼要用這個“生活計時器",換另一套計時器就好啊。是沒錯,但是就喜歡這一套啊,別套用完就可關掉,偏偏喜歡的這個就一定要在背景跑,所以只好想辦法囉。另外,這招除了可以用在 user app 以為,system app 也可以喔,只是,通當 /system/app/ 是唯讀的,但是有了 root 以後,就什麼都可以動。
那如果有 20 個 app 都要用,不是要寫 20 個 script,而且,執行 script 不是很麻煩,還要開終端機,太麻煩了啦。還好有一個 app 叫 "script manager" 的,可以用來執行 script,不只是點個二、三下就可執行 script,不用打一堆字,更方便的是,還可以設定成開機就執行某個 script,或網路啟動就執行等等,非常的強大,配合 root 使用,真是天下無敵啦。當然,寫 script 也有方法啦,像我目前是只有一個 script,靠檔名來分辨啟動或關閉、以及哪一個程式、是系統 app 或使用者 app。例如 enable-timers4me,前面的 enable 表示是要將計時器 enable,執行後會自動改名成 disable-timers4me,這樣子一目瞭然的知道目前此 app 是啟動或關閉的。後面的 timers4me 則是自己定義的,在另一個檔案可以查表 packagelist.lst,內容如下:
com.luckyxmobile.timers4me.apk timers4me
在執行 disable-timers4me 時,會分析自己檔名的前半部為 disable 表示要做 disable 的動作;後半部 timers4me 則會去 packagelist.lst 裡查表,查到檔名為 com.luckyxmobile.timers4me.apk,然後再去 /data/app/ 找到 com.luckyxmobile.timers4me.apk 改名為 com.luckyxmobile.timers4me.apk.disable,這樣這個 app 就暫時消失了,收工。
若是系統 app 則會在 /system/app/ 裡,拿瀏覽器來當例子,在 packagelist.lst 裡為:
Browser.apk system_browser
script 則為 disable-system_browser,只要查到 system 就會自動到 /system/app 去找,反之則到 /data/app/ 找。但通常 /system 都是唯讀的,所以在改名前要先將 /system 給改成可讀寫 mount -t remount,rw /system,改完名後,再改回唯讀即可。
用了這個方法後,現在手機好用多了。像有些手機,如中華電信的,一買來就給你裝了什麼 kkbox 的,煩死了,而且砍掉又再起來,用這個方法就可以達到 "想用時才開“,呵呵,太完美了。
不管是什麼功用的都可能會如此,明明我裝一個計時器,可能一天只用一次,用完十分鐘就關掉了,可是得付出的代價是一天24小時都得讓這個計時器耗掉不少的資源,為什麼,寫程式的人真的不知道頭殼在想什麼? 不知道我的手機 cpu 才 600MHz,記憶體才 180M,一個計時器就要佔掉我10幾M的記憶體,若是要用時裝上,用完後就移除是可以,但很麻煩,最主要是移除後,設定都會不見,下次再裝,又得再設定一次。
幸好最近找到方法可解決這問題,這方法是治本的方法,直接讓這 app 消失,不過要先取得 root 才行。由於使用者自己安裝的程式是放在 /data/app/ 裡,拿 "生活計時器" 來當例子,apk 位於 /data/app/com.luckyxmobile.timers4me.apk,寫了一個 script,將這個檔案改成 .apk.disable 即可,/data/app/com.luckyxmobile.timers4me.apk.disable,這樣 android 系統會認為這個 app 沒安裝,而且原本在背景跑的程式,會立即關掉。等到想用計時器時,再用另一個 script 將 .apk.disable 改成 .apk,這樣計時器 app 又回來了,隨時可用,而且設定檔都還留著喔。
那你說,為什麼要用這個“生活計時器",換另一套計時器就好啊。是沒錯,但是就喜歡這一套啊,別套用完就可關掉,偏偏喜歡的這個就一定要在背景跑,所以只好想辦法囉。另外,這招除了可以用在 user app 以為,system app 也可以喔,只是,通當 /system/app/ 是唯讀的,但是有了 root 以後,就什麼都可以動。
那如果有 20 個 app 都要用,不是要寫 20 個 script,而且,執行 script 不是很麻煩,還要開終端機,太麻煩了啦。還好有一個 app 叫 "script manager" 的,可以用來執行 script,不只是點個二、三下就可執行 script,不用打一堆字,更方便的是,還可以設定成開機就執行某個 script,或網路啟動就執行等等,非常的強大,配合 root 使用,真是天下無敵啦。當然,寫 script 也有方法啦,像我目前是只有一個 script,靠檔名來分辨啟動或關閉、以及哪一個程式、是系統 app 或使用者 app。例如 enable-timers4me,前面的 enable 表示是要將計時器 enable,執行後會自動改名成 disable-timers4me,這樣子一目瞭然的知道目前此 app 是啟動或關閉的。後面的 timers4me 則是自己定義的,在另一個檔案可以查表 packagelist.lst,內容如下:
com.luckyxmobile.timers4me.apk timers4me
在執行 disable-timers4me 時,會分析自己檔名的前半部為 disable 表示要做 disable 的動作;後半部 timers4me 則會去 packagelist.lst 裡查表,查到檔名為 com.luckyxmobile.timers4me.apk,然後再去 /data/app/ 找到 com.luckyxmobile.timers4me.apk 改名為 com.luckyxmobile.timers4me.apk.disable,這樣這個 app 就暫時消失了,收工。
若是系統 app 則會在 /system/app/ 裡,拿瀏覽器來當例子,在 packagelist.lst 裡為:
Browser.apk system_browser
script 則為 disable-system_browser,只要查到 system 就會自動到 /system/app 去找,反之則到 /data/app/ 找。但通常 /system 都是唯讀的,所以在改名前要先將 /system 給改成可讀寫 mount -t remount,rw /system,改完名後,再改回唯讀即可。
用了這個方法後,現在手機好用多了。像有些手機,如中華電信的,一買來就給你裝了什麼 kkbox 的,煩死了,而且砍掉又再起來,用這個方法就可以達到 "想用時才開“,呵呵,太完美了。
2011年8月6日 星期六
Asus A50 無法安裝 firefox
本來想在 android 上安裝 firefox 用看看,結果竟然搜尋不到,後來上 mozilla.com 才看到
Will Firefox work on my mobile device?
Firefox for Android
Firefox is available for Android 2.1 or higher. It requires:
A phone with an ARMv7 processor.
Approximately 17MB internal or SD storage. It runs best on devices with at least 512MB of RAM.
CPU 要 ARMv7,但是 Asus A50 的 cpu 是 ARMv6 的,所以不能裝,很可惜說,為什麼要 v7 呢?
Will Firefox work on my mobile device?
Firefox for Android
Firefox is available for Android 2.1 or higher. It requires:
A phone with an ARMv7 processor.
Approximately 17MB internal or SD storage. It runs best on devices with at least 512MB of RAM.
CPU 要 ARMv7,但是 Asus A50 的 cpu 是 ARMv6 的,所以不能裝,很可惜說,為什麼要 v7 呢?
2011年8月5日 星期五
android 真的滿鳥的說
這陣子在玩 android,跟人家借的機子 Asus A50 android 2.1,不是很高檔的,容量也不大,記憶體 256M,可裝程式的空間才 150M 而已,由於剛借來是中華電信改過的 rom,所以一開機就跑了一堆 hami xxx 的,再加上原本 garmin 的地圖什麼的,根本無法再跑其他程式,因為
一堆程式一裝進去,就變成 service 自己跑起來,導致我原本的 garmin 導航功能變成超慢,不堪使用,甚至會自動重新開機。
所以後來上 garmin-asus 官方網站抓一般通路用的 rom,總算少了很多中華電信的程式,變得好用多了。
不過,最近又遇到問題,就是不知為什麼,安裝程式時會告知空間不足,於是將一堆程式都移除,可是還是說空間不夠。非常的火大,於是去網路上找工具來取得 root,終於給我找到為什麼了。在系統中,有一個 mount point 為 /data,原本只有 150M,其中 /data/cache 功用是在 market 下載 apk 時的暫存目錄,若正常安裝好,暫存的 apk 會自動刪除。但是常常下載到一半可能 wifi 斷線,或網站連不到,結果暫存檔就留著,日積月累將這個目錄灌爆了,但是一般 user 又沒權限清,連 ls /data 都無法看內容,真是遜斃了,還不給人家 root,又清不到,真是太差勁了。
所以,建議用 android 的人一定要想辦法取得 root,否則很難用的。不知道新版的 android 有沒有解決掉這個問題,否則真是不堪用啊。
不知道只有這支 A50 才如此,還是 android 都這樣,改天來問問別人好了。
一堆程式一裝進去,就變成 service 自己跑起來,導致我原本的 garmin 導航功能變成超慢,不堪使用,甚至會自動重新開機。
所以後來上 garmin-asus 官方網站抓一般通路用的 rom,總算少了很多中華電信的程式,變得好用多了。
不過,最近又遇到問題,就是不知為什麼,安裝程式時會告知空間不足,於是將一堆程式都移除,可是還是說空間不夠。非常的火大,於是去網路上找工具來取得 root,終於給我找到為什麼了。在系統中,有一個 mount point 為 /data,原本只有 150M,其中 /data/cache 功用是在 market 下載 apk 時的暫存目錄,若正常安裝好,暫存的 apk 會自動刪除。但是常常下載到一半可能 wifi 斷線,或網站連不到,結果暫存檔就留著,日積月累將這個目錄灌爆了,但是一般 user 又沒權限清,連 ls /data 都無法看內容,真是遜斃了,還不給人家 root,又清不到,真是太差勁了。
所以,建議用 android 的人一定要想辦法取得 root,否則很難用的。不知道新版的 android 有沒有解決掉這個問題,否則真是不堪用啊。
不知道只有這支 A50 才如此,還是 android 都這樣,改天來問問別人好了。
2011年7月5日 星期二
從 grub2 menu 直接開 iso 檔案,免去燒錄 cd 的麻煩
最近測試了由 grub2 直接用 iso 來開機,以避免浪費 cd 或 dvd 片,環保救地球,科科。
基本上有二種方式,一種是用 memdisk (package syslinux-common),另一種是 loopback.cfg.
以 grml 來說明(因為 grml 二種方式都支援)
以 memdisk 方式:
menuentry "Bootable ISO Image: grml64-medium_wheezy_latest" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 0cedc811-654d-40f9-b2f3-1df57791def2
linux16 /memdisk iso
initrd16 /images/grml64-medium_wheezy_latest.iso
}
以 loopback.cfg 方式:
menuentry "grml from iso"
{
insmod ext2
iso_path=/images/grml64-medium_wheezy_latest.iso
export iso_path
loopback loop (hd0,2)$iso_path
configfile (loop)/boot/grub/grub.cfg
}
ubuntu 11.04 設定如下:(僅能用 loopback.cfg 的方式)
menuentry "ubuntu 11.04 from iso (loopback.cfg) (油笨土放艾索)" {
iso_path=/images/ubuntu-11.04-desktop-amd64.iso
export iso_path
search --set --file $iso_path
loopback loop (hd0,2)$iso_path
root=(loop)
configfile (loop)/boot/grub/loopback.cfg
}
debian squeeze live:(目前二種都不支援,但經由加上 grml 的 findiso 參數及自備 loopback.cfg 後就可以)
基本上有二種方式,一種是用 memdisk (package syslinux-common),另一種是 loopback.cfg.
以 grml 來說明(因為 grml 二種方式都支援)
以 memdisk 方式:
menuentry "Bootable ISO Image: grml64-medium_wheezy_latest" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 0cedc811-654d-40f9-b2f3-1df57791def2
linux16 /memdisk iso
initrd16 /images/grml64-medium_wheezy_latest.iso
}
以 loopback.cfg 方式:
menuentry "grml from iso"
{
insmod ext2
iso_path=/images/grml64-medium_wheezy_latest.iso
export iso_path
loopback loop (hd0,2)$iso_path
configfile (loop)/boot/grub/grub.cfg
}
ubuntu 11.04 設定如下:(僅能用 loopback.cfg 的方式)
menuentry "ubuntu 11.04 from iso (loopback.cfg) (油笨土放艾索)" {
iso_path=/images/ubuntu-11.04-desktop-amd64.iso
export iso_path
search --set --file $iso_path
loopback loop (hd0,2)$iso_path
root=(loop)
configfile (loop)/boot/grub/loopback.cfg
}
debian squeeze live:(目前二種都不支援,但經由加上 grml 的 findiso 參數及自備 loopback.cfg 後就可以)
2011年6月11日 星期六
有趣的 proto joke
像這個,雙關語
“NTP jokes are always on time”
還有這個
“I was telling a WEP joke once, but everyone already knew it”
更多請參考
http://protolol.com
“NTP jokes are always on time”
還有這個
“I was telling a WEP joke once, but everyone already knew it”
更多請參考
http://protolol.com
2011年5月25日 星期三
好像不錯用的 mumble
為什麼說 ”好像“,因為還沒實際測過,不知道效果如何就是。^_^
前一陣子在 android 上找透過網路語音交談的軟體,除了 skype 之外,看看有沒有什麼 open source 的可用,結果找到了 mumble,真是驚為天人、相見恨晚啊。有 windows、mac、linux 版,android 及 iphone 是 beta,看來大部份平台都有,甚至還有 maemo 版咧,連 nokia n900 都能用。
通常 skype 或一般的 voip 軟體,都要註冊一個帳號,然後用帳號及密碼登入 server,將要聊天的人加入後,就可以看到對方是否有在線上,有的話就可以打電話給對方,不想聊時就掛斷,等到想聊時就再撥一次,但是若人不在旁邊,就無法接聽,沒辦法建立連線。
但是這個 mumble 和一般的又不大一樣,和 mbone 工具中的 rat 比較像,但 rat 只能用 multicast or unicast(一對一),若要三個人以上,則一定要用 multicast,但是 multicast 又不能亂用。
mumble 最主要是用來讓線上遊戲的人員互相溝通用的,如 cs,隨時要和隊員維持通信,才能整個 team 一起玩。
mumble 是 client/server 架構,一定要有 server,在自己的 desktop 裝上 client,連到外面申請的、公用的、或自己架的 mumble server(murmur),要聊天的另一方也裝上 client 並連上同一個 server,只要知道 ip 及 port 即可連上 server,若要額外再設定密碼也可以。
連上 mumble 後,可看到一些事先定義好的 channel,而 channel 可以再細分為 team,若只要聽或講到某個 team,則先進入 team。若要整個 channel 都可以溝通,則回到上一層 channel 的地方再講話。另外,mumble 也可以發送訊息,有點類以 broadcast 的方式,整個 team 或整個 channel 的人都可以聽到或講話。
mumble 的運作方式是 push to talk,像無線電,只要連上 server,按著 scroll lock 就可開始講話,放掉 scroll lock 就不會送出,而別人講的話會一直送過來,滿特別的吧。
server 預設是用 udp port 64738,若 udp 無法溝通則會自動改用 tcp
裝好 client 可以試試底下的 server:
debian 的公開 server,平常都沒人在用地,所以可以拿來偷用 ^_^.
mumble.debian.net
udp:64738
也可到 ukgame 去註冊一個免費的來使用,註冊完會告訴你 server ip 及 port
http://www.ukgame.com/mumble
官方網站:
http://mumble.sourceforge.net/
若要自己 compile murmur (mumble server 叫做 murmur),要裝上一些 qt 的 library,因為 murmur 有用到 qt,裝起來不小咧,所以有另一個 project 叫 umurmur:
http://code.google.com/p/umurmur/
拿掉了 qt 的關聯,所以適合用在 embedded devices,如 OpenWRT 之上。當然要拿這版的來架 server 當然也可以囉。
前一陣子在 android 上找透過網路語音交談的軟體,除了 skype 之外,看看有沒有什麼 open source 的可用,結果找到了 mumble,真是驚為天人、相見恨晚啊。有 windows、mac、linux 版,android 及 iphone 是 beta,看來大部份平台都有,甚至還有 maemo 版咧,連 nokia n900 都能用。
通常 skype 或一般的 voip 軟體,都要註冊一個帳號,然後用帳號及密碼登入 server,將要聊天的人加入後,就可以看到對方是否有在線上,有的話就可以打電話給對方,不想聊時就掛斷,等到想聊時就再撥一次,但是若人不在旁邊,就無法接聽,沒辦法建立連線。
但是這個 mumble 和一般的又不大一樣,和 mbone 工具中的 rat 比較像,但 rat 只能用 multicast or unicast(一對一),若要三個人以上,則一定要用 multicast,但是 multicast 又不能亂用。
mumble 最主要是用來讓線上遊戲的人員互相溝通用的,如 cs,隨時要和隊員維持通信,才能整個 team 一起玩。
mumble 是 client/server 架構,一定要有 server,在自己的 desktop 裝上 client,連到外面申請的、公用的、或自己架的 mumble server(murmur),要聊天的另一方也裝上 client 並連上同一個 server,只要知道 ip 及 port 即可連上 server,若要額外再設定密碼也可以。
連上 mumble 後,可看到一些事先定義好的 channel,而 channel 可以再細分為 team,若只要聽或講到某個 team,則先進入 team。若要整個 channel 都可以溝通,則回到上一層 channel 的地方再講話。另外,mumble 也可以發送訊息,有點類以 broadcast 的方式,整個 team 或整個 channel 的人都可以聽到或講話。
mumble 的運作方式是 push to talk,像無線電,只要連上 server,按著 scroll lock 就可開始講話,放掉 scroll lock 就不會送出,而別人講的話會一直送過來,滿特別的吧。
server 預設是用 udp port 64738,若 udp 無法溝通則會自動改用 tcp
裝好 client 可以試試底下的 server:
debian 的公開 server,平常都沒人在用地,所以可以拿來偷用 ^_^.
mumble.debian.net
udp:64738
也可到 ukgame 去註冊一個免費的來使用,註冊完會告訴你 server ip 及 port
http://www.ukgame.com/mumble
官方網站:
http://mumble.sourceforge.net/
若要自己 compile murmur (mumble server 叫做 murmur),要裝上一些 qt 的 library,因為 murmur 有用到 qt,裝起來不小咧,所以有另一個 project 叫 umurmur:
http://code.google.com/p/umurmur/
拿掉了 qt 的關聯,所以適合用在 embedded devices,如 OpenWRT 之上。當然要拿這版的來架 server 當然也可以囉。
2011年5月23日 星期一
在 windows 上執行 linux binary
沒想到有人竟然會做這種事,畢竟 linux 上有的軟體,windows 上應該都找的到相對應的才是,不過依個人來說,真的是有這種需要。
因為在 linux 下用慣了小工具,一個執行檔才十幾k,但在 windows 上,為了這個小功能,可能要裝一套很大的整合一堆功能的大怪獸,如 sm(screen message),只是為了全螢幕顯示幾個字,說真的,這功能不好找,就我對 windows 的一點點知識來說,應該是繪圖軟體,如 photoshop、非常好色、gimp 等等的才行,用 office 恐怕字也無法放到這麼大吧,就算可以,為了這個小功能,去裝一套 office 太超過了吧。
話說回來,剛才去看,竟然有網頁版,那就不用找 windows 版了 ^_^
http://darcs.nomeata.de/screen-message/sm.html
不過才 0.1 版,應該跑不了什麼程式才對,沒關係,有開始就有希望。
下載網址:
http://wezfurlong.org/blog/2004/jan/linux-on-windows/
因為在 linux 下用慣了小工具,一個執行檔才十幾k,但在 windows 上,為了這個小功能,可能要裝一套很大的整合一堆功能的大怪獸,如 sm(screen message),只是為了全螢幕顯示幾個字,說真的,這功能不好找,就我對 windows 的一點點知識來說,應該是繪圖軟體,如 photoshop、非常好色、gimp 等等的才行,用 office 恐怕字也無法放到這麼大吧,就算可以,為了這個小功能,去裝一套 office 太超過了吧。
話說回來,剛才去看,竟然有網頁版,那就不用找 windows 版了 ^_^
http://darcs.nomeata.de/screen-message/sm.html
不過才 0.1 版,應該跑不了什麼程式才對,沒關係,有開始就有希望。
下載網址:
http://wezfurlong.org/blog/2004/jan/linux-on-windows/
2011年5月21日 星期六
好玩的 WhatPulse
之前在舊公司時,有管幾台測試機器,平常機器沒開什麼服務,拿來測試一些功能用,所以就裝 boinc 來跑跑,去跟人家拚排名。不過後來離職後沒機器可跑,現在只賸下一台 HP notebook,之前有跑過會過熱,筆記型電腦還是不比 desktop 或 server,不適合長時間 cpu 滿載的,因此不敢再跑,所以也少了些樂趣。
最近不小心看到 WhatPulse,可將使用電腦時,鍵盤及滑鼠按鍵次數回傳,和世界上其他人做比較,跟之前玩 boinc 很類似,只不過 boinc 是要靠 cpu 或 gpu 來計算,機器或 gpu 越高檔跑越快,久了機器就比不上人家,但 WhatPulse 則只以鍵盤按鍵次數來比較,滑鼠按鍵次數只統計,不以此來排名,所以機器不用很高檔就可以和別人拚了。而且平常用 linux 當 desktop,都習慣用 terminal 來處理事情,所以鍵盤的使用率很高,應該進展滿快的才是。原來好久以前就有這個東東,真是相見恨晚,還好現在也有 linux 版,不會搥心肝。
這個純綷是好玩而已,本身並不會記錄密碼回傳什麼的,所以不用擔心。還可看什麼鍵按了幾次,滿有趣的。
首先去 http://www.whatpulse.org 下載程式回來,打開後,直接註冊新帳號,再加上目前這台機器即可,一個人可以有很多台的機器。執行後會在工具列上顯示一個小圖,另外會有一個 geek window 出現,上面是目前鍵盤、滑鼠按鍵次數、游標、滑鼠移動距離等等,有二行數字,第一行是目前的,隨時都在增加;第二行是所有累計的。若雙擊工作列圖示可將目前累計的結果回傳,回傳後目前值會歸零,也可設定成按一定次數自動回傳或每隔幾小時回傳一次。
user 是 guildwar,team 是 SpreadFirefox,總之,希望看到的人都趕快加入吧。
個人狀況
http://whatpulse.org/stats/users/326822/
個人在團隊 SpreadFirefox 團隊名次是 242 名
個人在國家方面,在台灣裡是第 75 名
而團隊 SpreadFirefox 在全世界排 12 名
而國家 “台灣” 在全世界排 48 名
最近不小心看到 WhatPulse,可將使用電腦時,鍵盤及滑鼠按鍵次數回傳,和世界上其他人做比較,跟之前玩 boinc 很類似,只不過 boinc 是要靠 cpu 或 gpu 來計算,機器或 gpu 越高檔跑越快,久了機器就比不上人家,但 WhatPulse 則只以鍵盤按鍵次數來比較,滑鼠按鍵次數只統計,不以此來排名,所以機器不用很高檔就可以和別人拚了。而且平常用 linux 當 desktop,都習慣用 terminal 來處理事情,所以鍵盤的使用率很高,應該進展滿快的才是。原來好久以前就有這個東東,真是相見恨晚,還好現在也有 linux 版,不會搥心肝。
這個純綷是好玩而已,本身並不會記錄密碼回傳什麼的,所以不用擔心。還可看什麼鍵按了幾次,滿有趣的。
首先去 http://www.whatpulse.org 下載程式回來,打開後,直接註冊新帳號,再加上目前這台機器即可,一個人可以有很多台的機器。執行後會在工具列上顯示一個小圖,另外會有一個 geek window 出現,上面是目前鍵盤、滑鼠按鍵次數、游標、滑鼠移動距離等等,有二行數字,第一行是目前的,隨時都在增加;第二行是所有累計的。若雙擊工作列圖示可將目前累計的結果回傳,回傳後目前值會歸零,也可設定成按一定次數自動回傳或每隔幾小時回傳一次。
user 是 guildwar,team 是 SpreadFirefox,總之,希望看到的人都趕快加入吧。
個人狀況
http://whatpulse.org/stats/users/326822/
個人在團隊 SpreadFirefox 團隊名次是 242 名
個人在國家方面,在台灣裡是第 75 名
而團隊 SpreadFirefox 在全世界排 12 名
而國家 “台灣” 在全世界排 48 名
2011年5月9日 星期一
linux containers (LXC)
最近新版的 linux kernel 2.6.29 以後,支援了一種叫 LXC (linux containers) 的東東,是由 IBM 所開發,license 是 GNU LGPL,類似 linux vserver, openvz 的機制。在同一個 kernel 下,可以執行另外不同的 os,譬如在 debian stable 6.0 下,再跑另一個 debian testing,不同的 filesystem,但共用同一個 kernel,基本上和 chroot 差不多,但是功能更完整。
lxc 不但有不同的 filesystem,還能夠設定不同的網路,就好像是另一台虛擬機器,但是不會像 kvm 或 xen 那樣耗費那麼多的資源。LXC 可限制用多少 memory、cpu 等等,才不會讓某一個 container 影響到另一個 container 或甚至是 host,這都是 chroot 做不到的。
底下說明如何在 debian squeeze (6.0)上面使用 lxc 的步驟:
# apt-get install lxc
檢查看看目前 kernel 是否完整支援 lxc:
# lxc-checkconfig
Kernel config /proc/config.gz not found, looking in other places...
Found kernel config file /boot/config-2.6.32-5-amd64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: missing
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig
大致上都 ok,但是卻有一項沒通過
Cgroup memory controller: missing
所以無法限制 memory 使用量,若要用,則要自己重編核心就是。
debian squeeze 中共有五個範本 (busybox debian fedora sshd ubuntu)
# ls /usr/lib/lxc/templates/
lxc-busybox lxc-debian lxc-fedora lxc-sshd lxc-ubuntu
由於 template 中的 lxc-debian 是安裝 lenny,要裝 squeeze 請自行修改
# cp /usr/lib/lxc/templates/lxc-debian /usr/lib/lxc/templates/lxc-squeeze
dhcp-client 改成 dhcp3-client
debootstrap 那行 lenny 改成 squeeze
順便改一下 debian mirror
反正這個檔案可以改的地方很多,修改成符合自己需求
建立一個叫 foo 的新 container,OS 為 debian (lxc-debian 中是寫 debian lenny,會安裝失敗,請改成 squeeze)
# lxc-create -n foo -t squeeze /var/lib/lxc/foo
這樣會在 /var/lib/lxc/foo 建立 foo 的 container,OS 為 debian squeeze,user:name 為 root:root,並產生 config 檔
/var/lib/lxc/foo/config
啟動 foo
# lxc-start -n foo -f /var/lib/lxc/foo/config
若正常的話會出現登入畫面,以 root:root 登入即可。
如果之前的 lxc-start 可正常登入,就可以加上 -d (or --daemon),執行成 daemon mode。之後再用 lxc-console 去開啟 console 登入。
加上 -d
# lxc-start -n foo -f /var/lib/lxc/foo/config -d
這次就會直接回到命令列,不會有登入畫面
檢查目前有哪幾個 container 啟動中(若沒有任何結果,則目前都沒有 container 啟動中)
# lxc-ls
foo
連接到 console 登入
# lxc-console -n foo
如果按 Enter 還是沒看到登入畫面,就先關掉 foo,這裡因為 container 內少掉 /dev/tty1 這個裝置,所以無法登入
# cd /var/lib/lxc/foo/rootfs/dev
# mknod tty1 c 4 1
再重新開啟 foo,用 lxc-console 應該就可以登入了。
另外,可以將目前狀態給凍結起來,類似 suspend
# lxc-freeze -n foo
恢復一個被凍結的 container
# lxc-unfreeze -n foo
監控 containers 的狀態
# lxc-monitor -n foo
剛執行是沒任何輸出,但是若 foo 有開機或關機,則會出現訊息
'wheezy' changed state to [STOPPING]
'wheezy' changed state to [STOPPED]
'wheezy' changed state to [STARTING]
'wheezy' changed state to [RUNNING]
再來 lxc 強的地方開始了
檢查目前 foo 使用了哪些 cpu(預設是全部)
$ lxc-cgroup -n foo cpuset.cpus
0-1
設定成 'foo' 只能用 cpu 0
$ lxc-cgroup -n foo cpuset.cpus "0"
檢查看看
# lxc-cgroup -n foo cpuset.cpus
0
甚至可將一顆 cpu 切開看誰可以用多少
$ lxc-cgroup -n foo cpu.shares
1024
$ lxc-cgroup -n bar cpu.shares
1024
預設 'foo' 及 'bar' 都是 1024 比重,都一樣,所以若同時啟動,各用 50 %
將 bar 設成 512
# lxc-cgroup -n bar cpu.shares 512
$ lxc-cgroup -n foo cpu.shares
1024
$ lxc-cgroup -n bar cpu.shares
512
所以這時 foo 用 66%,bar 用 33%
停止 foo (lxc-stop 是直接拔掉插頭,沒有依照正常關機程序來關機,若要正常關機,從 container 裡打 init 0 或 poweroff 或 shutdown -h now)
# lxc-stop -n foo
將 foo 給移除(包含砍掉 /var/lib/lxc/foo 整個目錄)
# lxc-destroy -n foo
基本上,lxc 是新的 linux 技術,雖然功能還不是非常的完整,但是已經堪用,尤其一些舊硬體,若不支援 vmx 或 svm,無法用 redhat kvm 的情況,但又不想花太多時間去學 xen,則 lxc 是最好的選擇了。
P.S. 在 container 中,udev 是無法運作的。
P.S. 由於是共用同一個 kernel,所以在 linux 上是無法跑 windows、freebsd 的,只能跑 linux
lxc 不但有不同的 filesystem,還能夠設定不同的網路,就好像是另一台虛擬機器,但是不會像 kvm 或 xen 那樣耗費那麼多的資源。LXC 可限制用多少 memory、cpu 等等,才不會讓某一個 container 影響到另一個 container 或甚至是 host,這都是 chroot 做不到的。
底下說明如何在 debian squeeze (6.0)上面使用 lxc 的步驟:
# apt-get install lxc
檢查看看目前 kernel 是否完整支援 lxc:
# lxc-checkconfig
Kernel config /proc/config.gz not found, looking in other places...
Found kernel config file /boot/config-2.6.32-5-amd64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: missing
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig
大致上都 ok,但是卻有一項沒通過
Cgroup memory controller: missing
所以無法限制 memory 使用量,若要用,則要自己重編核心就是。
debian squeeze 中共有五個範本 (busybox debian fedora sshd ubuntu)
# ls /usr/lib/lxc/templates/
lxc-busybox lxc-debian lxc-fedora lxc-sshd lxc-ubuntu
由於 template 中的 lxc-debian 是安裝 lenny,要裝 squeeze 請自行修改
# cp /usr/lib/lxc/templates/lxc-debian /usr/lib/lxc/templates/lxc-squeeze
dhcp-client 改成 dhcp3-client
debootstrap 那行 lenny 改成 squeeze
順便改一下 debian mirror
反正這個檔案可以改的地方很多,修改成符合自己需求
建立一個叫 foo 的新 container,OS 為 debian (lxc-debian 中是寫 debian lenny,會安裝失敗,請改成 squeeze)
# lxc-create -n foo -t squeeze /var/lib/lxc/foo
這樣會在 /var/lib/lxc/foo 建立 foo 的 container,OS 為 debian squeeze,user:name 為 root:root,並產生 config 檔
/var/lib/lxc/foo/config
啟動 foo
# lxc-start -n foo -f /var/lib/lxc/foo/config
若正常的話會出現登入畫面,以 root:root 登入即可。
如果之前的 lxc-start 可正常登入,就可以加上 -d (or --daemon),執行成 daemon mode。之後再用 lxc-console 去開啟 console 登入。
加上 -d
# lxc-start -n foo -f /var/lib/lxc/foo/config -d
這次就會直接回到命令列,不會有登入畫面
檢查目前有哪幾個 container 啟動中(若沒有任何結果,則目前都沒有 container 啟動中)
# lxc-ls
foo
連接到 console 登入
# lxc-console -n foo
如果按 Enter 還是沒看到登入畫面,就先關掉 foo,這裡因為 container 內少掉 /dev/tty1 這個裝置,所以無法登入
# cd /var/lib/lxc/foo/rootfs/dev
# mknod tty1 c 4 1
再重新開啟 foo,用 lxc-console 應該就可以登入了。
另外,可以將目前狀態給凍結起來,類似 suspend
# lxc-freeze -n foo
恢復一個被凍結的 container
# lxc-unfreeze -n foo
監控 containers 的狀態
# lxc-monitor -n foo
剛執行是沒任何輸出,但是若 foo 有開機或關機,則會出現訊息
'wheezy' changed state to [STOPPING]
'wheezy' changed state to [STOPPED]
'wheezy' changed state to [STARTING]
'wheezy' changed state to [RUNNING]
再來 lxc 強的地方開始了
檢查目前 foo 使用了哪些 cpu(預設是全部)
$ lxc-cgroup -n foo cpuset.cpus
0-1
設定成 'foo' 只能用 cpu 0
$ lxc-cgroup -n foo cpuset.cpus "0"
檢查看看
# lxc-cgroup -n foo cpuset.cpus
0
甚至可將一顆 cpu 切開看誰可以用多少
$ lxc-cgroup -n foo cpu.shares
1024
$ lxc-cgroup -n bar cpu.shares
1024
預設 'foo' 及 'bar' 都是 1024 比重,都一樣,所以若同時啟動,各用 50 %
將 bar 設成 512
# lxc-cgroup -n bar cpu.shares 512
$ lxc-cgroup -n foo cpu.shares
1024
$ lxc-cgroup -n bar cpu.shares
512
所以這時 foo 用 66%,bar 用 33%
停止 foo (lxc-stop 是直接拔掉插頭,沒有依照正常關機程序來關機,若要正常關機,從 container 裡打 init 0 或 poweroff 或 shutdown -h now)
# lxc-stop -n foo
將 foo 給移除(包含砍掉 /var/lib/lxc/foo 整個目錄)
# lxc-destroy -n foo
基本上,lxc 是新的 linux 技術,雖然功能還不是非常的完整,但是已經堪用,尤其一些舊硬體,若不支援 vmx 或 svm,無法用 redhat kvm 的情況,但又不想花太多時間去學 xen,則 lxc 是最好的選擇了。
P.S. 在 container 中,udev 是無法運作的。
P.S. 由於是共用同一個 kernel,所以在 linux 上是無法跑 windows、freebsd 的,只能跑 linux
2011年4月1日 星期五
one time password
由於常常有機會從外面的電腦甚至是網咖連回家中的 server,很容易就會被 keylogger 記錄起使用者及密碼,若改用 public key 則要隨身攜帶隨身碟之類的,滿麻煩。所以最好用的應該就是 OTP( one time password) 了,在第一次設好後,將一部份的密碼印出來在紙上,隨身攜帶,平時還是使用帳號及密碼登入系統,若是在不安全的電腦上,就直接按 Enter 跳過帳號密碼登入,接下來會出現 otp 的登入訊息。
在 debian 上步驟如下:
# apt-get install opie-server opie-client
# vi /etc/pam.d/sshd
change
@include common-auth
to
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_opie.so
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_ecryptfs.so unwrap
並且要修改 ssh server 的設定檔,這樣才會出現 otp 的密碼訊息
# vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
and restart sshd
# /etc/init.d/ssh restart
第一次要先用 opiepasswd 初始密碼
The OPIE services must be initialised with the command: (run by user which wanna login)
in opie server:
$ opiepasswd -c
to allow users to log-in with OTPs
Updating behappy:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter old secret pass phrase:
Enter new secret pass phrase:
Again new secret pass phrase:
ID behappy OTP key is 499 po9644
BABY JACK FIGS KYLE SOCK RAKE
列出20組密碼隨身攜帶:
get the password list:
$ opiekey -n 20 499 po9644
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Sorry, but you don't seem to be on the console or a secure terminal.
Warning: Continuing could disclose your secret pass phrase to an attacker!
Enter secret pass phrase:
480: SITS DUE ALVA BEEN WOO OBOE
481: WADE GLUM NOVA THAN OVEN HAAS
482: REAL LET CON VETO BLOW MOSS
483: IRIS LUGE FAT RECK CORN ARGO
484: HUGH LUG EDGE JEFF FOLK HATH
485: ODE TEND MIKE FIR FATE DAYS
486: WAND PUB OHIO JOY EMIL COCA
487: IRK SOB CUBA KALE OAK COAT
488: SOFA MIRE LEER BOP OTT JAM
489: LOAD HOW SWAT OWL MILT AIDA
490: OUT LEAR CRAG LOON LUND MONK
491: NEWT BOLT SANK HURD BUG DEAN
492: SET ANTI DEAL CAST JAIL ROBE
493: REAL BEER ROVE CUFF RET MUG
494: NON RAID ETC ROB HAVE YARN
495: BOON CAW RUE LAM LATE HOCK
496: FIRM HARK EM ALTO NOW FRY
497: GOOF WEAL SHAM OAR LACY RILL
498: EST PAY WAG GOLF PA ART
499: BABY JACK FIGS KYLE SOCK RAKE
在外面用 ssh 登入時,一開始還是和平常一樣,要你輸入原本系統的密碼,這時直接按 Enter 跳過,再來就是 otp 的訊息了,出現了 497 號,所以查看列出來的 497 組密碼,全部輸入即可登入。
$ ssh localhost
Password: [ just press enter to skip normal login]
otp-md5 497 po9644 ext, Response: [ key in the number 497 above ]
You have mail.
Last login: Fri Apr 1 00:56:48 2011 from pony
yes, it works.
不會很難地。
在 debian 上步驟如下:
# apt-get install opie-server opie-client
# vi /etc/pam.d/sshd
change
@include common-auth
to
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_opie.so
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_ecryptfs.so unwrap
並且要修改 ssh server 的設定檔,這樣才會出現 otp 的密碼訊息
# vi /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
and restart sshd
# /etc/init.d/ssh restart
第一次要先用 opiepasswd 初始密碼
The OPIE services must be initialised with the command: (run by user which wanna login)
in opie server:
$ opiepasswd -c
to allow users to log-in with OTPs
Updating behappy:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter old secret pass phrase:
Enter new secret pass phrase:
Again new secret pass phrase:
ID behappy OTP key is 499 po9644
BABY JACK FIGS KYLE SOCK RAKE
列出20組密碼隨身攜帶:
get the password list:
$ opiekey -n 20 499 po9644
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Sorry, but you don't seem to be on the console or a secure terminal.
Warning: Continuing could disclose your secret pass phrase to an attacker!
Enter secret pass phrase:
480: SITS DUE ALVA BEEN WOO OBOE
481: WADE GLUM NOVA THAN OVEN HAAS
482: REAL LET CON VETO BLOW MOSS
483: IRIS LUGE FAT RECK CORN ARGO
484: HUGH LUG EDGE JEFF FOLK HATH
485: ODE TEND MIKE FIR FATE DAYS
486: WAND PUB OHIO JOY EMIL COCA
487: IRK SOB CUBA KALE OAK COAT
488: SOFA MIRE LEER BOP OTT JAM
489: LOAD HOW SWAT OWL MILT AIDA
490: OUT LEAR CRAG LOON LUND MONK
491: NEWT BOLT SANK HURD BUG DEAN
492: SET ANTI DEAL CAST JAIL ROBE
493: REAL BEER ROVE CUFF RET MUG
494: NON RAID ETC ROB HAVE YARN
495: BOON CAW RUE LAM LATE HOCK
496: FIRM HARK EM ALTO NOW FRY
497: GOOF WEAL SHAM OAR LACY RILL
498: EST PAY WAG GOLF PA ART
499: BABY JACK FIGS KYLE SOCK RAKE
在外面用 ssh 登入時,一開始還是和平常一樣,要你輸入原本系統的密碼,這時直接按 Enter 跳過,再來就是 otp 的訊息了,出現了 497 號,所以查看列出來的 497 組密碼,全部輸入即可登入。
$ ssh localhost
Password: [ just press enter to skip normal login]
otp-md5 497 po9644 ext, Response: [ key in the number 497 above ]
You have mail.
Last login: Fri Apr 1 00:56:48 2011 from pony
yes, it works.
不會很難地。
2010年7月20日 星期二
永安漁港
於 wii 銀河馬力歐2 卡關,加上天氣很好,因此忍不住想要騎車出去晃晃。
之前有想過要去桃園的永安漁港,而且大家都沒什麼意願,若是利用下班時間夜騎,恐怕不大夠,只能利用星期假日去,所以,選日不如撞日,騎了就對了。
吃個早餐,洗完衣服,東摸摸、西摸摸,就到 11 點了,太陽正大時,可是若不出去騎,就要拖到下午二、三點才能騎,回家應該都很晚了,因此硬著頭皮出發。
由東大路往南寮,然後往竹北,結果有找到竹北的自行車道,騎到路上還遇到熟人,騎著登山車在抽車,再加上身上穿著鐵人三項的方服,沒想到他這麼厲害。
一路上就邊騎邊問路的往北前進,在檳榔攤問路,還看到柱子上有綁一隻豬,滿好笑的。
騎一騎就騎到新月沙灣
到了桃園新屋,走台 15 線,最後再接回西濱台 61 線,總算在 15:00 到達了永安漁港,趕快進去裡面找東西吃,餓死我也。
假日滿多人來永安的,很熱鬧,也有不少人騎自行車,現在的人都滿注重休閒,不錯。
在拍完照,到處看看後,16:00 準備啟程回新竹,此時已覺得有點累,還有滿長的一段要騎咧。
看到有綠色隧道,就騎了進去,感覺還不錯,也有滿多人租車在騎的,規劃的不錯,唯一的缺點,由於二邊都被包住,所以沒什麼 view 就是。
這是什麼漂流木公園,騙很大,就這幾根木頭 ^_^
接著走到新豐自行車道
回到新竹已差不多 18:00 了,被太陽公公剝了一層皮,今天的哩程數約有 86 公里,不少了。
更多相片:
http://picasaweb.google.com/guildwar23/20100710
之前有想過要去桃園的永安漁港,而且大家都沒什麼意願,若是利用下班時間夜騎,恐怕不大夠,只能利用星期假日去,所以,選日不如撞日,騎了就對了。
吃個早餐,洗完衣服,東摸摸、西摸摸,就到 11 點了,太陽正大時,可是若不出去騎,就要拖到下午二、三點才能騎,回家應該都很晚了,因此硬著頭皮出發。
由東大路往南寮,然後往竹北,結果有找到竹北的自行車道,騎到路上還遇到熟人,騎著登山車在抽車,再加上身上穿著鐵人三項的方服,沒想到他這麼厲害。
一路上就邊騎邊問路的往北前進,在檳榔攤問路,還看到柱子上有綁一隻豬,滿好笑的。
騎一騎就騎到新月沙灣
到了桃園新屋,走台 15 線,最後再接回西濱台 61 線,總算在 15:00 到達了永安漁港,趕快進去裡面找東西吃,餓死我也。
假日滿多人來永安的,很熱鬧,也有不少人騎自行車,現在的人都滿注重休閒,不錯。
在拍完照,到處看看後,16:00 準備啟程回新竹,此時已覺得有點累,還有滿長的一段要騎咧。
看到有綠色隧道,就騎了進去,感覺還不錯,也有滿多人租車在騎的,規劃的不錯,唯一的缺點,由於二邊都被包住,所以沒什麼 view 就是。
這是什麼漂流木公園,騙很大,就這幾根木頭 ^_^
接著走到新豐自行車道
回到新竹已差不多 18:00 了,被太陽公公剝了一層皮,今天的哩程數約有 86 公里,不少了。
更多相片:
http://picasaweb.google.com/guildwar23/20100710
寶山二水庫
之前到寶山水庫,由於有同事不是很想再騎下去,又不小心騎到大馬路去,因此很不過癮。
所以這次又約了同事,來到寶山二水庫,希望能平緩心中的癢 ^_^。
下班後,出發往寶山二水庫去,原本想在交大南門的全家買個麵包來充飢一下,有同事說在往寶二的路上有一家 7-11,所以就沒買,結果後來才發現那家便利超商不見了,真是傻眼,只好在路邊吃魯肉飯和貢丸湯,吃得很撐。
沒過多久,開始爬坡一個個來,由於平時都騎平路,遇到這麼陡的坡還是第一次,13% 400公尺,吃足了苦頭,還好都不長,幾百公尺而已,不過大家還是騎得哇哇叫就是。
好不容易騎到天黑了,才到達寶山二水庫。稍做休息後,準備去做環湖,約 10 公里,也是上上下下的,看來不輕鬆。結果騎約 10 分鐘,竟然前面路封起來,應該是前一陣子下大雨,路面崩塌吧,真是掃興。
於是只好回家了,一路上同事帶頭,下坡狂飆,真的又危險、又刺激。由於我有近視,根本看不到前方的路,只好跟著前方的同事一路衝,真是不要命的騎法。
大致上是一條騎自行車的好路,說好了,這個月的額度用完,要騎車下個月再說吧 :)。
所以這次又約了同事,來到寶山二水庫,希望能平緩心中的癢 ^_^。
下班後,出發往寶山二水庫去,原本想在交大南門的全家買個麵包來充飢一下,有同事說在往寶二的路上有一家 7-11,所以就沒買,結果後來才發現那家便利超商不見了,真是傻眼,只好在路邊吃魯肉飯和貢丸湯,吃得很撐。
沒過多久,開始爬坡一個個來,由於平時都騎平路,遇到這麼陡的坡還是第一次,13% 400公尺,吃足了苦頭,還好都不長,幾百公尺而已,不過大家還是騎得哇哇叫就是。
好不容易騎到天黑了,才到達寶山二水庫。稍做休息後,準備去做環湖,約 10 公里,也是上上下下的,看來不輕鬆。結果騎約 10 分鐘,竟然前面路封起來,應該是前一陣子下大雨,路面崩塌吧,真是掃興。
於是只好回家了,一路上同事帶頭,下坡狂飆,真的又危險、又刺激。由於我有近視,根本看不到前方的路,只好跟著前方的同事一路衝,真是不要命的騎法。
大致上是一條騎自行車的好路,說好了,這個月的額度用完,要騎車下個月再說吧 :)。
2010年7月9日 星期五
2010年6月30日 星期三
買自行車囉
在跟同事借小摺騎了一、二個月,也遠征到花蓮後,終於心動買了自已的單車。但由於騎過小摺,覺得太小台,若要騎回台中,時間會拉很長,所以買的時候特地挑 26 吋登山車。由於第一台,很多東東都不瞭解,若要一次到位,恐怕得買上萬的才不會後悔,所以乾脆買最便宜的。
有同事大方捐獻 1000 元的 sogo 禮卷,可以拿到愛買去用,沒想到好事成雙,又有人送全家禮卷 1000 元,正在煩惱這 1000 元的全家要如何用時,另一位同事佛心來的,知道我要買自行車,拿現金 1000 元和我換 1000 全家禮卷,所以我又拿了這 1000 元,和另一位也拿到 1050 sogo 禮卷的同事換,原本不一定要買賣場車的,因為有 2050 的禮卷,因此只好買賣場車。
到了愛買去看,我的要求,V 型剎車、前後泥除、後置物架,全部只有一台符合,售價為 3180 元,比原本預計的 2599 還貴一些,不過由於趕著買,也懶得再看了,因此就買下來。順便買了安全帽(399)、杯架(69)。
由於有 2100 的 sogo 禮卷,因此只要再付 1080 元就可以買到這台登山車,滿划算的。
由同事載到賣場買了後,直接騎回公司,路上就覺得怪怪的,騎起來滿不舒服的,但說不出哪裡怪。到公司後,先拿工具將剎車前後對調,調成和摩托車一樣,才不會錯亂,然後將座椅調高一些,太矮騎起來會很累,不過發現座椅下的那一根鋼管太短了,無法調到想要的高度,真慘。看來改天要去買一支長一點的鋼管來跳鋼管舞....,哦,不,是裝座墊。
買了這台賣場車,大致上還好,不會後悔,畢竟才花 1080 元,本來就有點實驗性質的。除了座椅的鋼管要加長一點,其他的都還勉強可以接受,不過,不建議別人也買賣場車就是。因為 3180 這個價格,和 KHS 的 A-1000 3850 元很接近了,雖然不是崇拜名牌,不過在我們自已不會改的狀況下,買賣場車沒地方維修,只能自已去隨便找一間自行車店,但由於不是在這間自行車店買的,難保老闆會肯幫你調教到很舒適,而且會跟你收工錢。不一定要買名牌,但最好是在附近找一定自行車店買,因為自行車買來,一定要做很多調教的動作,錢給老闆賺,他應該會心甘情願的幫你調整才是。
有同事大方捐獻 1000 元的 sogo 禮卷,可以拿到愛買去用,沒想到好事成雙,又有人送全家禮卷 1000 元,正在煩惱這 1000 元的全家要如何用時,另一位同事佛心來的,知道我要買自行車,拿現金 1000 元和我換 1000 全家禮卷,所以我又拿了這 1000 元,和另一位也拿到 1050 sogo 禮卷的同事換,原本不一定要買賣場車的,因為有 2050 的禮卷,因此只好買賣場車。
到了愛買去看,我的要求,V 型剎車、前後泥除、後置物架,全部只有一台符合,售價為 3180 元,比原本預計的 2599 還貴一些,不過由於趕著買,也懶得再看了,因此就買下來。順便買了安全帽(399)、杯架(69)。
由於有 2100 的 sogo 禮卷,因此只要再付 1080 元就可以買到這台登山車,滿划算的。
由同事載到賣場買了後,直接騎回公司,路上就覺得怪怪的,騎起來滿不舒服的,但說不出哪裡怪。到公司後,先拿工具將剎車前後對調,調成和摩托車一樣,才不會錯亂,然後將座椅調高一些,太矮騎起來會很累,不過發現座椅下的那一根鋼管太短了,無法調到想要的高度,真慘。看來改天要去買一支長一點的鋼管來跳鋼管舞....,哦,不,是裝座墊。
買了這台賣場車,大致上還好,不會後悔,畢竟才花 1080 元,本來就有點實驗性質的。除了座椅的鋼管要加長一點,其他的都還勉強可以接受,不過,不建議別人也買賣場車就是。因為 3180 這個價格,和 KHS 的 A-1000 3850 元很接近了,雖然不是崇拜名牌,不過在我們自已不會改的狀況下,買賣場車沒地方維修,只能自已去隨便找一間自行車店,但由於不是在這間自行車店買的,難保老闆會肯幫你調教到很舒適,而且會跟你收工錢。不一定要買名牌,但最好是在附近找一定自行車店買,因為自行車買來,一定要做很多調教的動作,錢給老闆賺,他應該會心甘情願的幫你調整才是。
2010年6月27日 星期日
玩具總動員 3
06/27 星期日,一早 8:15 分就起床,和平日一樣,為的是看09:20 的玩具總動員 3,這樣才不會買個票要排隊半小時以上。
至於為什麼這麼想看玩具總動員3,因為 debian 的 code name 就是由玩具總動員裡的角色名稱而來的啊。基於是多年的 debian 的 fans,一定要去看的啊。
話說安弟長大要上大學,這些玩具用不到了,但又捨不得丟,正想收到閣樓去,卻陰錯陽差的被媽媽拿去捐給托兒所。最後,胡迪帶領著玩具們回到安弟旁邊,但安弟想通了,與其將玩具收到閣樓去放,不如送給有需要的人,因此忍痛割愛。滿認同這種觀念的,物盡其用,與其放在閣樓裡不用,不如送給托兒所,讓那些小朋友玩。
這次有加上 3D 的功能,戴眼鏡看,更覺得刺激。
至於為什麼這麼想看玩具總動員3,因為 debian 的 code name 就是由玩具總動員裡的角色名稱而來的啊。基於是多年的 debian 的 fans,一定要去看的啊。
話說安弟長大要上大學,這些玩具用不到了,但又捨不得丟,正想收到閣樓去,卻陰錯陽差的被媽媽拿去捐給托兒所。最後,胡迪帶領著玩具們回到安弟旁邊,但安弟想通了,與其將玩具收到閣樓去放,不如送給有需要的人,因此忍痛割愛。滿認同這種觀念的,物盡其用,與其放在閣樓裡不用,不如送給托兒所,讓那些小朋友玩。
這次有加上 3D 的功能,戴眼鏡看,更覺得刺激。
2010年6月24日 星期四
新竹寶山水庫-竹東-靜心湖
自從上次花蓮回來,休了二天,腿也恢復得差不多了,剛好今天有人怕我們再找他騎車,想要將自行車騎回家,再也不騎來,以後要找他騎就比較難,所以就硬拉著他去騎寶山水庫。
17:00 出發,一路上往園區內騎去,出了園區後,開始有明顯的上坡,不過從花蓮回來後,等級有提升,這點小坡不算什麼的啦。滿容易的就到了寶山水庫,約 10 公里而已,有人說要回家,但是才覺得剛暖身而已,所以就不依,繼續往前騎,遇到很大的往下斜坡,一邊衝一邊想,等一下回頭就慘了。而對向有看到剛戰上來的小摺,偶像啊,真的滿神勇的,這麼陡都騎的上來。
再往前騎沒多久,竟然跑到大馬路,中興路,很陌生的名字,不過景色很熟悉就是,原來是從光復路往竹東方向這條路,心理很複雜,這下子就不用再回頭爬那個坡,另一方面又很想挑戰看看說,不過三個人還是都想騎平路就好。
先找個地方吃晚餐再說,看到快炒店,叫了魯肉飯、小菜和豬血湯。吃完後,在騎回公司的路上,突然覺得不過癮,很想說服另外二個同事騎回去戰那個斜坡,可是他們不肯,只好作罷。
騎到園區後,都出來了,還不想那麼早回去,因此建議去靜心湖,剛好三個人都沒來過,所以就進去看看。大致上還滿不錯的,來新竹七年了,竟然都沒來過靜心湖。
回到公司已是 19:00,雖然不過癮,但還可以接受啦。這次里程數約 20 公里。下次一定要去挑戰那個斜坡就是。
路徑圖如下:
http://www.a-trip.com/tracks/view/51271
17:00 出發,一路上往園區內騎去,出了園區後,開始有明顯的上坡,不過從花蓮回來後,等級有提升,這點小坡不算什麼的啦。滿容易的就到了寶山水庫,約 10 公里而已,有人說要回家,但是才覺得剛暖身而已,所以就不依,繼續往前騎,遇到很大的往下斜坡,一邊衝一邊想,等一下回頭就慘了。而對向有看到剛戰上來的小摺,偶像啊,真的滿神勇的,這麼陡都騎的上來。
再往前騎沒多久,竟然跑到大馬路,中興路,很陌生的名字,不過景色很熟悉就是,原來是從光復路往竹東方向這條路,心理很複雜,這下子就不用再回頭爬那個坡,另一方面又很想挑戰看看說,不過三個人還是都想騎平路就好。
先找個地方吃晚餐再說,看到快炒店,叫了魯肉飯、小菜和豬血湯。吃完後,在騎回公司的路上,突然覺得不過癮,很想說服另外二個同事騎回去戰那個斜坡,可是他們不肯,只好作罷。
騎到園區後,都出來了,還不想那麼早回去,因此建議去靜心湖,剛好三個人都沒來過,所以就進去看看。大致上還滿不錯的,來新竹七年了,竟然都沒來過靜心湖。
回到公司已是 19:00,雖然不過癮,但還可以接受啦。這次里程數約 20 公里。下次一定要去挑戰那個斜坡就是。
路徑圖如下:
http://www.a-trip.com/tracks/view/51271
訂閱:
文章 (Atom)