Archives

gravatar

PwnageTool 破解 iPod touch 2.0 firmware

這個破解方法,會把裝置內的軟體和設定全部刪除和覆蓋,請小心服用。 首先執行程式 Pwnage Tool,我是使用 Expert mode。 接著它會尋找 firmware (IPSW),但是找很久都沒反應,後來發現在 Browse for IPSW 上面點兩下,就可以叫出開啟檔案對話框。 主畫面長得像這樣子,有非常多的設定可以使用。 第一個項目是設定 partition,可以把 / 改成比較大,之前 1.1.x 的 / 只有 300MB,所以 jailbreak 之後,裝很多軟體會不敷使用,很多 /Applications 和 Fonts 會被移往另外一個專門存資料和音樂的 partition。選項 disable wipe out 要選起來(預設),因為如果不選,iTunes 會用 security mode 把 partition 清光,大概會花 40 分鐘。下面則是可以自己選擇 / 的大小。 可以在製作 ipsw 時候,順便把 Cydia 的套件也加進去。目前支援 iPhone 2.0 OS 的軟體還不多,雖然這些都是從 unix-like 平台 port 過來。可望在 2.0 jailbreak 廣泛流傳後,產生非常多的程式。(大概木馬也開始蠢蠢欲動吧,雖然是跑 Mac OS X like,但是 iPhone 上的 user 就是 root 和 mobile 兩個,而 root 密碼應該每台都一樣,除非有更改)。 Cydia 一定要加進去的。Installer.app 目前還不支援 2.0 firmware。 可以自訂開機 logo 和 restore 狀態圖示。圖片的限制就是有 alpha channel 的 PNG 檔,彩色或灰階不限,但是要在 100KB 以內,尺寸要在 320x480 以下。 接著就開始產生新的 ipsw firmware,這個 ipsw 會包含破解和剛才所選取的軟體和設定。 等了一段時間之後,他會問你目前 iPod/iPhone 內的軟體是不是使用前一版的 Pwnage Tool 破解過。不知道就給他按 No。 其實到這裡已經產生一個新的 ipsw,以下過程只是教你怎麼進入 restore 模式(DFU),他不會幫你 restore,已經知道的話,就可以跳過,使用 iTunes 直接按 option 和 restore 按鈕,選擇新的 ipsw(可能是 iPhone1,2_2.0_5A347_Custom_Restore.ipsw, 或是 iPhone1,1_2.0_5A347_Custom_Restore.ipsw。例如我是iPod1,1_2.0_5A347_Custom_Restore.ipsw),就可以開始跟平常 firmware 過程一樣的步驟。(進入 DFU 方法,就是關機後,按住 power 和 home 約七秒後,放開 power 再按住 home 約 10 秒,如果進入 DFU,則會跳出 iTunes 然後跟你說 iPod/iPhone 目前在 Recovery 模式。) 破解完之後的實機照片,軟體都回復到最原始的設定,多了一個 Cydia 的 package installer。

gravatar

iPhone 2.0 firmware jailbreak 韌體破解

iphone-dev team 已經正式開放 PwnageTool(Mirror) 軟體下載。這個軟體不是用來 unlock 電信網路業者的功能。主要是提供軟體相容性和允許 3rd party 軟體的使用,支援的硬體是 iPhone or iPod touch + 2.0 firmware 或是 iPhone 3G。使用教學。

gravatar

[RSS] 訂閱 AppStore 的軟體更新與狀態

除了上 iTunes AppStore 去找有哪些新的軟體被加入,有哪些是免費的軟體,哪些是 Top 100 的方式外,還可以透過 RSS 訂閱到自己常用的 Feed Reader 來比較清楚了解到底有哪些軟體的更新與狀態。

  1. Top 100 免費 Apps
  2. 最近加入的 Free App
  3. Top 100 付費 Apps
  4. 最近加入的 Apps
  5. 更新的 Apps
其中第一二項免費的 Apps 應該是最多人下載的項目。 :P

gravatar

iTunes Store 有 Taiwan 囉

iTunes Store 已經將台灣列出來囉。不過當然販售的不是 Music、Movies、TV shows。而是 App Store,就是 iPhone 或 iPod touch 的軟體。其中一項可以免費下載的軟體,就是把 iPod/iPhone 當作 iTunes 的遙控器。

gravatar

[wine] 在 Mac OS X 下執行 KKBOX

WINE(WINE Is Not a Emulator)最近出了 1.0 版,加上 MacBook 也是 Intel CPU,有些 Windows 程式當然就可以靠這種方法在 Linux 或 Mac OS X(Intel) 下執行。當然 Microsoft Internet Explorer 已經不成問題,在網路上有 ies4linux 和 ies4osx 的安裝程式,很方便就可以創造出執行的環境。而 KKBOX 也有不少人安裝成功過,我在 Mac OS X 下使用 Darwine 1.0rc2 和 Xquartz,當然在 WINE 環境要安裝有 IE 和 WMP9,以及主要的程式 KKBOX,以及一些很瑣碎的設定,最後終於可以在 Mac OS X 下直接使用 KKBOX。不過過程有點複雜,最後大概需要哪些步驟,其實步驟寫下來還不太困難。但是因為嘗試過程花了不少 try & error 方法,所以步驟比較繁瑣。有空再來整理全部簡化的安裝流程,先來看執行畫面和效果。

全螢幕的擷圖,iTunes, IE, KKBOX

選項設定對話框

歌手總覽

選注音符號不是很好選,大概是 WINE 對字型大小和選取範圍處理有問題。

播放暫存區/全部歌曲/下載

選取的文字畫不出來

動態歌詞

gravatar

用 Safari 作快速的 Google 搜尋

通常在瀏覽器裡面像是 Firefox,把文字選取後按右鍵就可以作 Google search 的動作。如果是在其他的程式中,有段文字要到 google 上面找找東西,傳統作法就是:複製文字,開 Safari,在搜尋輸入框貼上,然後按下 enter 開始搜尋。
但是通常 Safari 會出現在 Dock 上,這時候在其他應用程式中,跟先前動作一樣要先選取,然後只要拖拉到 Safari 的圖示上,就會自動幫你開啟 Safari 然後在 Google 搜尋引擎上找你所選取的文字。

gravatar

Google Maps、GPS 軌跡、和小工具

Google 有兩套跟圖資有關的產品,一是 Google Maps,另外一個是 Google Earth。這兩個產品都有提供軌跡的功能,但是卻大大不相同。Google Earth 的功能比較完整,而 Google Maps 則是比較簡單且限制。
以我自己的 GPS track 而言,上次從北橫到宜蘭市區,每 20m 就標定一點,印象中共有八千多點。在 Google earth 上,這個軌跡很漂亮的就是一條 path。同樣的 Google Maps 也提供 My Maps 功能,可以 import .kmz/.kml 到網頁上,把軌跡畫出來。但是,問題就出現了,上傳之後發現軌跡變成好幾段,甚至被分成好幾個 page,要切換到下一頁才會把該頁列的 path 畫出來。
首先,第一懷疑的是不是從 GPS logger 下載的資料有問題,造成一段 path 被切成好多段。結果也不是,把已經上傳的 kmz 從 Google Maps 上用 View in Google Earth 再看一次,的確被切了好幾段。做了簡單的實驗後,發現只要 path 大於 401 點,就會被分成另外一段(大概是網頁版的 Maps 為了 performance 問題)。這是第一個實驗。第二個實驗是,在 Google Earth 看到有六條 Path,上傳到 Google Maps 後只看到五條,而且沒有下一頁。
 
第三個實驗是,共有七條 path,上傳到 Google Maps 後的確看得到七條。那前一種狀況是怎樣,bug 嗎 = =。
 
然後在第一頁下並沒有全部畫出所有的 path,要切換到下一頁才會畫出 path 6,7。

然後,重點就來了,在 Google Maps 中 My Maps 的單一個路徑,就是要全部畫出來才好看且明暸,還有下一頁這樣就不太好看,因為如果不是獨立的軌跡的話,被分段分頁真的是不爽。所以重點就是要介紹一個 TOOLS FOR GOOGLE EARTH 工具網頁,他有很多功能,但是第一個的 Generalize 就有足夠的功能,把太多的點簡化掉。目的是因為一次要把完整的 path 畫在 google maps 上,所以 google maps 上面一頁可以有 5 段 path,而每段 401 個點,所以 kml/kmz 中獨立的 path 不能超過 2005 個點,才會同時被顯示出來成為完整的一段。假設我這次有 8000 點,所以我在 Generalize 的 Reduction Factor 填入 4,然後把 kml file 上傳後,他就會提供另外一個可以下載個 kml。再上傳到 google maps 上面去,所以 8000/2000 大概會產生 4 段 path。所以就能完全一次呈現一條完整的路徑,雖然被分成好幾段很怪。
連結到完整Google Maps路徑。

gravatar

拿掉 FunP 轉過來的 iframe

在 淺入淺出 iframe (1), 淺入淺出 iframe (2), 和 別再說為什麼XX 就可以用iframe 而funP 不行 中提到很多原因,我也不喜歡在上面有個 FunP 的 control bar。所以之前不知道在哪邊看到的文章,教人家在 HTML 加入

if (top.location != location ) top.location.href = location.href;
就可以重新 redirect 到正常的網頁去。不過有個問題呀,最近在 blogger 裡面要改 layout,結果整個畫面被導到 layout 設定畫面,上方的 blogger 設定像是 Posting, Settings, Layout 和裡面的 Edit HTML 都不見了,這樣之後怎麼改東西。所以額外加了一些東西上去,才避免連 blogger 自己的 iframe 都被轉光光。
if (top.location != location && (top.location.href.substr(0,23) != 'http://www.blogger.com/') ) top.location.href = location.href;

gravatar

Google Developer Day Taiwan 2008 - AppEngine

今天的新聞應該就是 Google 在台北舉辦 Developer Day,休假了一整個禮拜,週末就只去參加這一場不是休假的活動。除了開場的主題演講外,整天都是 AppEngine 場次,所以也只能講這些了。除了 Code Lab 之外,其他都有錄影,應該上 http://code.google.com 都找得到。所以整天看到聽到的都是 Pete Koomen 和 Brett Slatkin。Pete 是 Product Manager,Brett 是 Software Engineer。

AppEngine 讓一般 user 也可以使用到 google 的內部儲存空間跟 computing power,在一定的 quota 內是免費的,超過就要依量計價。不過我在想,比如說 HTTP Requests per Day 最高 650,000。這時候當有這種人氣時候,擺個 AdSense,然後用 AdSense 賺的錢再買更多的 resources,這樣有沒有可能打平變成免費。

第一場 Pete 介紹 AppEngine 入門,由 Brett 簡單花幾分鐘從無到有寫個 live demo,有點類似留言板的功能。當 Deploy 到 appspot 之後,Pete 秀了幾手,終於大家看到網址,也上去留了幾句。等 Pete 重新載入或留言時,發現多了好多資料嚇了一跳,當然是哄堂大笑。暫存的內容如又圖。 另外學 Python 語言感覺是還好,如果 syntax 練一下,API 看熟一點,加上 AppEngine 不讓你用某些 system native API,盡量都要用他的 DataStore、memcache、URL fetch... 所以也不是要整個學到爛。但是 DataBase 的部份 - DataStore 這邊就比較麻煩,雖然用 GQL 很像 SQL 作 query,但是為了 scalability 而無法做出很多一般 SQL 的用法。為了提高平行度,表格設計和 get()/put() 方法也跟一般不一樣。加上現在還沒有 Database import/export 工具,連改個 application name 就會整個 DataStore 就消失一樣。很多東西都還在進行中,連未來將會支援哪些語言,連半點字都沒有透漏。

另外在 Code Lab 到處問答時候,旁聽到 AppEngine 其實是 Google Engineers 花他們 20% 的時間做的創意。當然 BigTable、GFS... 這些都是 Google 本來就有的 fundamental,在 Google 允許工程師花他們的 20% 時間,作自己想要做的事情(當然不是打混摸魚看股票兼拍賣等等)。所以 AppEngine 就這樣生出來了,提供了一個環境讓 internal 工程師很容易開發的環境,現在還可以提供給外界使用。另外,AppEngine SDK 環境當然也是這些工程師花 20% 其中的時間在 Mac 上開發出來的環境,所以有些地方 Windows 平台會不順會有問題,只能等以後修正囉。

今天 Google Lab 部份,投影片跟程式碼在 http://code.google.com/p/google-app-engine-codelab/,雖然 Brett 講解的投影片是用 Google Docs 來簡報,但是下載的卻是 PowerPoint。大概是從 Google Docs 轉成 ppt,因為 AppEngine 的 icon 在簡報時候是在左下角,而 PowerPoint 卻是變成置中大圖,看來 ppt 版本是不太對的,相信原版是 Google Presentation 做的。

今天的圖片集:
會場入口的大"看板"

另外一邊的 Google Logo

報到處


連飲料零食都搬來了


當然 Wii 和 Xbox 也不例外

第一場簡介演講,沒辦法,原場地客滿了(簡立峰老師要大家下次努力報名達 3000 人,就可以租樓上的大場地。)

Pete 講 AppEngine 入門

手足球台後來也出現了(打的人不少,不過用轉的是犯規的,反正大家好玩就好。我也有下去玩幾球,二打一還沒被進球)

排隊領 T-shirt(其實大家都有,還說數量有限)

今天最大收穫,就是衣服兩件 當然是學到 AppEngine 很多知識。然而 AppEngine Code Lab 免費送一件 AppEngine Logo 的 T-Shirt,再加上 Google Developer Day 2008 的,就兩件了。

gravatar

AppEngine程式開發實作報名成功 Google程式開發日

Just got the mail notification from Google Developer Day

參加AppEngine開發者您好,

歡迎您參加AppEngine程式開發實作。提醒您本課程僅限50人參加,全長160分鐘,不得中途進場。您已在報名成功的50人名單上,若您在課程開始前5分鐘未出現,我們會開放您的席位給候補。
在參加 AppEngine程式開發實作之前,建議您先依照 開始使用 Google App Engine 上的指示完成練習,並在您的筆記型電腦上,預先設定好開發環境。

由於 Google App Engine 是用 Python 開發的,如果您還不熟悉 Python , 建議您可以從 Python 教學 開始,以獲得足夠的資訊。

Google研發小組敬上

gravatar

Safari: 更快的 JavaScript 速度

根據 Surfin' Safari 最新的文章和測試,新的 JavaScript 引擎,代號為「SquirrelFish」的 interpreter,讓 Safari 的速度加速為 WebKit 3.1 的 1.6 倍(SunSpider benchmark suite)。可望讓 Firefox 3.0 引以為傲的速度不再專美於前。 最主要的改變是採用了 virtual machine。什麼是 SquirrelFish?這是一種以暫存器為基礎,direct-threaded,高階的 bytecode 引擎。使用一個簡單的 one-pass 編譯器為 syntax tree 產生 bytecode。SquirrelFish 擁有很多目前高效率虛擬機器的很多設計最新的研究,包含 Lua 程序語言(玩 World of Warcraft 的應該都知道)開發者 Professor M. Anton Ertl, et al, Professor David Gregg, et al, 所作的研究。
繼續閱讀

gravatar

[FON] Fonera 安裝 DD-WRT 韌體與超頻

本文是關於 FON 無線網路的修改,這篇文章主要是教學和紀錄用,一方面記下步驟供自己參考不用重找。 FON 蠻小巧又方便的,但是官方韌體過於簡陋,功能又不多。加上最近天氣溫度高,連線量可能大,常在遠端連線到公司電腦時候,AP 訊號斷斷續續。或是從休眠階段醒來,雖然有 AP 訊號但是卻連不出去,常常要關掉 AirPort 再開啟才正常,因為下定決心一次解決所有問題。
**刷新 DD-WRT 韌體
首先先下載必需要使用到的檔案。

  1. root.fs
  2. vmlinux.bin.l7
Mac OS X 的作業系統已經有內建 TFTP server,以及終端機程式,就不需要再有任何的軟體安裝,只要開啟這些 server。TFTP server 則自行打開 Terminal 程式,輸入
sudo /sbin/service tftp start
就可以啟動 tftpd,傳輸的檔案路徑放在 /private/tftpboot/。 FON 當然要已經破解過,可以使用 ssh 進入到系統內的 command line 模式。原本的 FON 設計無法讓使用者自行透過 RedBoot 刷新韌體內容,要先用破解過的 kernel。透過 ssh 連到 FON 內部後,輸入
cd /tmp
wget http://fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot
之後會重新啟動,當啟動完畢後,一樣連到 FON 內部,輸入
cd /tmp
wget http://fonera.info/camicia/out.hex
mtd -e "RedBoot config" write out.hex "RedBoot config"
reboot
在這步驟後,重新開機,FON 就會停在開機的 RedBoot 階段,不會再啟動 FON firmware。這時候把 FON 網路線連接到電腦,把電腦的 IP 設定為 192.168.1.166,然後把 FON 接上電源,等一會兒,在 System Preferences 的 Ethernet 狀態變成 Connected 時候,就 telnet 192.168.1.254 9000,接著敲下 Enter 鍵就可以看到 RedBoot> 的符號。 把 root.fs 和 vmlinux.bin.l7 放到 /private/tftpboot/ 下,然後在 RedBoot 裡面輸入
ip_address -l 192.168.1.254/24 -h 192.168.1.166
fis init
load -r -v -b 0x80041000 root.fs
fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 rootfs
load -r -v -b 0x80041000 vmlinux.bin.l7
fis create -r 0x80041000 -e 0x80041000 -l 0x000E0000 vmlinux.bin.l7
fis create -f 0xA83D0000 -l 0x00010000 -n nvram
接著打 reset 後,重新啟動。之後在無線網路的 SSID 中可以找到 dd-wrt 的 AP,預設帳號密碼為 root/admin。
**更新到最新韌體 V24 第 7 版 5/20/2008
下載 http://www.dd-wrt.com/dd-wrtv2/downloads/v24/Atheros%20WiSoc/Fonera/linux.bin 韌體,一樣放到 /private/tftpboot/。這時候需要非 Mac OS X 的終端機和 telnet 程式,例如用 Parallels 跑 Windows 下的 Putty 或是 linux console,因為 Mac OS X 下的 telnet 不會馬上送 ^C 到 AP,無法中斷開機過程讓我們進入 RedBoot> 裡面刷新韌體。 一樣,在開機過程中,會有 10 秒鐘的時間,可以讓使用者 telnet 然後按下 Ctrl-C 送出中斷而進入 RedBoot,如果時間超過,就得重來一次。當進入 RedBoot 後,一樣照著這個步驟
ip_address -l 192.168.1.254/24 -h 192.168.1.166
fis init -f
load -r -v -b 0x80041000 linux.bin
fis create linux
完成後,繼續打
fconfig
接著就按 enter 到 enter the bootscript: 出現為止,然後輸入
fis load -l linux
exec
(空白為結束)
接著也是一直按 enter 直到提示要不要把設定存入 nvram,這時就確定後,一樣輸入 reset 重新啟動。之後就有 V24 第 7 版的 DD-WRT AP。 *** 注意,fis create 的時間會很久,AP 也不會有任何反應,時間長達甚至十幾分鐘。這時候連終端機或 Putty 視窗上都不要碰任何按鍵,免得軟體送出按鍵的封包後,然後因為 timeout 而造成終端機或 Putty 斷線而中斷刷新過程。
** 超頻到 200MHz
FON 2100/2200 的 CPU 速度大概是 183MHz,在討論區有人透過軟體修改把 CPU 超頻到 200MHz。 透過 ssh 連接到刷新完畢的 FON,輸入
cat /dev/mtdblock/0 > /tmp/RedBoot.bin
後,再自己 Mac OS X 電腦上開終端機,輸入 scp root@192.168.1.1:/tmp/RedBoot.bin RedBoot.bin 把檔案傳輸到自己電腦來修改。我建議是用 0xED 這套 hex editor 來作修改,修改的部份為
偏移位址 0x1e3 把 0x03 改為 0x01
偏移位址 0x1ef 把 0x5c 改為 0x28
然後存檔,一樣輸入
scp RedBoot.bin root@192.168.1.1:/tmp/RedBoot.bin
接著回到 FON AP 的命令列,輸入
mtd -f write /tmp/RedBoot.bin RedBoot
reboot
重新啟動,之後就可以從 DD-WRT 控制網頁的系統狀態看到 CPU 速度為 200MHz。

gravatar

[Mac] QuickTime 網路廣播重複問題

最近直接用 QuickTime Player 聽網路廣播,常常發現會重複播放。好幾次是因為當作背景,根本不知道是回到前面重新播放,直到聽到好像比較熟悉的地方,才發現是重複了。
經過幾次 try & error,大概知道原因,如圖片上所看到的,現在正播放的 mark 離 buffer 時間只剩下一丁點,這時候就很容易出事。網路廣播的 wma 都是透過 Flip4Mac 這個 QuickTime plugin 來播放。當網路有問題、停頓、或是 buffer 不夠,player 就會自己重新跳回到開頭直接播放,屢試不爽。但是在 Player 設定裡面,Loop 的選項並沒有勾選。而 Player 就是會莫名其妙的跳回前面自己就播放先前的 buffer 起來(可見從一開始的東西都還在記憶體)。
比較惱人的是,這個東西沒有選項可以設定,理論上 buffer 不夠,應該是停住等一段時間的 buffer 夠了繼續播放,至少看 QuickTime 串流影片都是這樣。此外,有可能 buffer 機制因此就死掉了,也就是就算把時間移到最後頭去 play,但是其實他已經不再 buffer 現在正在播放的串流資料,只能關掉視窗重新開啟。

gravatar

Mac 版的雅虎奇摩中文輸入法


雅虎奇摩竟然也推出自己的中文輸入法程式,注音輸入法叫做好打注音,而且有 Mac 版本。基本上是以 OpenVanilla project 為基礎,搭配雅虎提供的一些查詢服務。對於使用者介面上,已經有一些簡化和固定式配置。輸入法候選字的視窗改為直列,很不習慣。有些輸入法像是倉頡或簡易,基本上根本沒機會去使用到,如果可以移除也不錯。 在 Leopard 安裝後,包含重新開機,都看不到 Yahoo KeyKey 輸入法。似乎安裝程式有點問題,因為安裝到 /Library/Input Methods/ 裡面,權限不是 root,所以 Leopard 系統基於安全性理由,不會啟動這個輸入法。只好自行打開 Terminal,然後

sudo chown -R root:admin /Library/Input\ Methods/Yahoo\!\ KeyKey.app/
再次登出登入後,就 okay 啦。快樂嘗試中。

gravatar

[Firefox] 消失的記憶體

最近消失的十億很熱門,但跟主題無關係,雖然電腦上用掉十億很簡單(1GB=1,073,741,824 bytes)。在 Firefox 的網址列打 about:cache,可以看到 memory 和 disk 的 cache 容量和消耗。 一定會有人好奇,怎麼 memory cache 的 Maximum storage size 是 5000 KiB(這是我設的,因個人設定或電腦記憶體容量而定),結果 Storage in use 反而比 Maximum 還大。如果是 disk 部份就正常,不會超過 Maximum storage size。這個原因是,記憶體的 cache 有部份會存放的是「解壓縮」後的圖片,例如 jpeg、png 這類解開通常容量都不小。所以實際上 memory cache 的檔案可能沒有超過 5000 KiB,但是 cached 未壓縮圖片檔容量卻已經超過這個容量。點選如圖片上面的 List Cache Entries 就會列出每個詳細資料,我的範例如下,一定會有人好奇例如 http://css.funp.com/base/css/v3/nt.png 這個不是照片的圖檔有 3,840,000 bytes,約 3.66MB。第二個 http://css.funp.com/base/css/_4939/B0.png 也不遑多讓,有近 3MB 的空間。實際上,第一個 nt.png 檔案只有 44.33 KB (45392 bytes) 這麼大,但是解析度是 400px × 2400px,也就是 400×2400×4 (32bits color) = 3,840,000 bytes,沒錯,就是上面的大小。只要有 10 個類似的東西,加上 firefox 本身程式內部用量,消耗的記憶體馬上破百不是問題。
當然這是拜 CSS 之賜,可以用 clip 的方式來選擇顯示範圍的圖片,這樣好處當然是瀏覽器只要 cache 一個小圖檔(壓縮後不大),也減少 http server request 和檢查 expire 次數。所以網頁中看到很多用到小圖的地方,可能是圖檔中不同的部位去選擇要呈現的範圍。但是,事實上,圖片上蠻多空白(不會用到)的地方,當然這些空白的地方,電腦還是要花記憶體的空間去儲存地。
後記:為啥拿 funp.com 上面的 background png 來舉例?因為,剛好大小榮登上面排行榜前幾位,純屬巧合 :P。

gravatar

Intel廣邀部落客一起愛地球

現在的處理器都強調耗電量低,但是無可避免的notebook上除了CPU外,最基本還有硬碟、LCD螢幕、主機板等等也會耗電的裝置或晶片。雖然notebook在耗電量上已經比Desktop或Server省很多,但是節能一直是notebook上不可必免的問題,移動性高就必須要電池能使用時間長。此外notebook也要充電或是插著電源使用,即使不是充電,省電當然也就直接節省能源。
所以這邊要介紹一些技巧,嘗試盡可能在Mac OS X下降低MacBook/Pro的能源消耗,也可以讓電池使用時間增加。

  1. 停用螢幕保護程式,縮短螢幕關閉的時間間隔。
    LCD螢幕原理,持續的畫面轉換並沒有達到保護,反而要持續地切換每個像素上的電晶體。且加上Mac OS X內建的螢幕保護程式,有些是使用OpenGL來達到渲染和3D特效,所以使用保護程式時反而消耗CPU和GPU。不如關閉螢幕保護程式,把螢幕關閉的啟動間隔縮短,讓背光板關閉節省電源消耗。

  2. 手動關閉螢幕
    現在Leopard和新的MacBook都可以透過Shift-Ctrl-Eject來直接把螢幕關閉,而不用透過等待螢幕關閉的間隔。如果電腦還在處理某些東西不能關閉,卻要離開一段時間,立即啟動此功能把螢幕關閉,達到省電效果。
  3. 避免在強光之下使用
    由於液晶螢幕是透過背光將顏色呈現到眼睛,如果在強大環境光源下,會使畫面表現不自然,也需要將背光亮度調整到最大才能看得清楚。如果可以適當將使用地點或是背對光源方向作個調整,顯示的背光可以調整到適當舒服亮度,節省電源的消耗(非LED背光螢幕)。
  4. 關閉用不到的裝置
    像是藍牙,平常沒用可以關閉。當使用網路線時候,可以將無線網卡關閉。開關這些裝置非常容易且輕鬆,在Mac OS X 上整合介面做得很好,如果你有把這些裝置顯示在Menu Bar上,簡單幾個滑鼠鍵就可以開關。

  5. 將動態畫面但目前不使用的應用程式縮小或隱藏
    有些程式會持續地更新畫面,或是有動態圖片/Flash,這些更新動作都會消耗CPU資源,如果不正在使用或背景的程式,就把他隱藏。在Mac OS X上很輕鬆地按Cmd-H就可以把程式隱藏,Alt-Tab配合滑鼠很容易叫出程式。Mac OS X Aqua 的使用者介面上,有個程式叫做 WindowServer 是用來管理視窗和處理螢幕內容合成。因為程式動態的畫面更新,也會使得 WindowServer 的使用率增加。使用 Terminal 執行 top 後用 CPU usage 排序,就可以看得到其實 WindowServer 使用率一直在 5%~10%,如果有動態的畫面更新,則會更高。所以能將目前不使用的視窗隱藏,減少 WindowServer 在處理畫面上的 loading。
  6. 使用 Adblock plus for Firefox 或 SafariBlock for Safari
    一方面可以減少額外的下載資料量和增加版面清晰,另外一方面降低內嵌Flash廣告、WMV/MP3等消耗資源的影片廣告。
  7. 使用CoolBook調整CPU速限和降低廢熱
    雖然切換到Intel平台,Performance Per Watt高很多,但是相對速度的增加,廢熱也大量產生,有些能源就不可避免轉成熱量散逸到空氣中。在PowerPC時代,Energy Saving還有可以調整CPU速度的選項。到了Intel x86-based機器上,就沒有這個選擇,一切都是Mac OS X自動調整。但是手動限制不僅可以避免CPU在無謂的時候直奔最高速度,用低速對付非重量級的工作都還很輕鬆。也可以在電池模式下,限制CPU速度也可增加電池使用時間。
  8. 使用Deep Sleep來選擇休眠模式
    短時間間隔內會使用電腦,則直接用Sleep後回復速度也快。但是會消耗一點電力,長時間下不可用,或是外出攜帶不想關機重新開機,則Deep Sleep將記憶體寫入到硬碟後完全關機,就不會消耗電池的電力。
  9. 把一些快取、暫存檔移到RAM Disk
    現在電腦有2GB以上記憶體是稀鬆平常,使用多餘的記憶體當RAM Disk來存放快取、暫存檔案,會使其讀寫效能要比硬碟來得快,也能減少硬碟磁臂seek次數和距離,或是使長時間不用的硬碟進入停止狀態,畢竟機械動作要比電子動作有更多的功耗。
  10. 兩個月將電池校正一次
    根據這篇Apple文章,大約一兩個月就把電池校正一次,以達到電池的最大效能,延長電池的壽命,減少因容量不足而常常充電的能源轉換消耗。當然不是刻意要去浪費能源跑些程式來消耗電力,在校正時候還是可以正常做事情,只是特別注意當電力警示時候,要把工作中的檔案存檔關閉。

gravatar

Installer source for UDNReader

剛建了一個給 Installer 用的 source repository,把這個 source 加入到 Installer 中,就可以讓他自己下載和安裝/移除 UDNReader。

http://safaripowertoy.googlecode.com/files/repo.xml
網址有點長,加入後就到 eBooks 裡面安裝 UDNReader。

gravatar

UDN Reader for 1.1.4

終於把
UDN Reader
移植到 1.1.4 的機器。需求環境:Jailbreak 過的才能裝軟體呀。所以現在可以在 iPhone/iPod touch 實機上跑,直接選新聞讀內容。目前無 repository source link,所以看你要 ftp/sftp/AFP 或從 ipod 上面用 wget 抓,反正擺得進去 /Applications 就好。icon 方面,沒有能力和時間作個漂亮的 button,直接抓 UDN 的 logo swf 來剪裁。(iPhone SDK 上是會自動把平坦的 icon 加上立體光亮的觸感,可惜 1.1.4 沒有)。另外,不知道怎麼去擺到 source repository 上,讓 Installer 可以自動下載安裝,如果有人在管理 repository 的話,可以考慮加入上面的 link。

最困難的地方大概就是 1.1.4 以下 API 並沒有 fully documentation,全都是靠網路上 objc class dump 出來的 header file 來看有哪些 method 可以使用。而且不像 iPhone SDK 有 IDE 介面可以 debug,丟到 iPod 上去跑,大概就只能用 printf 大法。然後 1.1.4 的很多 view 並不成熟,例如 iPhone SDK 可以輕鬆做到的 WebView 滑動縮放,在 1.1.4 要自己作。

gravatar

降低MacBook電源接頭的高頻聲

MacBook 的電源接頭那邊,只要接上 AC Power,就會有高頻的滋滋聲。其他使用者也有類似問題,看板上的網友回答是,這是 MacBook 的"三高"之一。以前用過其他 IBM 的筆記型電腦也有類似的聲音。Anyway,聲音不是很大,但是在安靜的房間仔細聽起來也是蠻惱人的。不過後來發現,接上 iPod Touch 之後,聲音就沒有了。但是接上耗電量比較少的裝置,像是 USB Solid-state disk,Optical Mouse,還是一樣會有這個問題。所以就是要讓 USB 消耗大一點的電源,才能降低高頻聲。但是不可能一直開著 iPod touch 放在那邊。看來可以找些小玩意來裝,例如 USB 臭氧、負離子產生器,USB 風扇(夏天快到了),NoteBook散熱底座,...

gravatar

My First iPhone App

This is my first iPhone application written in iPhone OS 2.0 SDK. Unfortunately, it only runs on iPhone simulator not the real iPhone or iPod touch device. Even I use iPhone toolchain from third party to rebuild the source code, some UIKit classes are miss in current iPhone/iPod touch 1.1.4 firmware.
The purpose of this application is to help users to browse the UDN news items and read news page more easily. Rich content web pages with javascript are not user-friendly on mobile device and touch device. However, this might not have chance to run on iPhone platform due to Apple's App Store restrictions and 2.0 firmware.
iPhone SDK provides an integrated environment and simulator to develop applications easily. But under the restriction, the 3rd party iPhone toolchain and jailbreaked environment should be more useful for ordinary developers.

gravatar

iPhone雙重開機

iPhone Dual Boot / Jailbreak。應該也可以適用 ipod touch。

gravatar

MacBook vs iBook G4

MacBook 13.3" 2.16Ghz vs iBook G4 12" 1.2Ghz
花了 34,900 元帶他回家, 但是 3/6 馬上又降價了, 改成 31,900 元。打去退差價 3000. ^+++^

gravatar

iPhone SDK 開放下載

Apple 首頁已經刊出 iPhone SDK 開放下載(但是似乎連不上 ADC server)。也可以試用 Enterprise Beta Program。

gravatar

iPhone SDK 新聞

節錄自MacRumors部份內容及翻譯。給企業使用者的功能, iPhone下個更新將會包含有 Push Email、Push Calendar、Push Contacts、Global Address List、Cisco VPN、WPA2/802.1x、安全原則、裝置設定、Remote Wipe、ActiveSync(用來同步 Exchange 到現有的 mail, calendar, contacts)
SDK 部份, Apple 釋出他們用來開發 iPhone 應用程式的相同 API。給 OS X 用的 iPhone 模擬器可以幫助開發者。支援動畫、3D、攝影機、網路、檔案存取和錄音的強大 API。
原生(Native)的iPhone應用程式需要透過iTunes的應用程式商店, 用無線網路下載。開發者決定價格、並且可以得到 70% 的收益。沒有其他的額外費用。每個月付給開發者。
SDK 今天起可以免費下載。然而要發佈應用程式, 則需要 $99 美金 (約三千台幣)的開發者費用。

gravatar

[OSX]更多的browser效能評比

利用 WebKit 所提供的 SunSpider benchmark 來測試 Mac OS X 上各家的瀏覽器裡面 JavaScript 的效能。 測試平台是 Mac OS X 10.5.2 Leopard on Apple iBook 1.2Ghz。瀏覽器包含正式版的 Firefox 2.0.11、Safari 3,測試版的 Firefox 3.0b5pre、WebKit Nightly Build、Opera 9.5beta。測試結果看來都是測試版的瀏覽器大獲全勝,其中又以 Firefox 3.0b5pre 最為突出,一改 Firefox 讓人詬病的速度問題。再來是 WebKit,效能上只輸 Firefox 3b5pre 一點,很難想像用他來作為核心的 Safari 竟然會有這麼大的差距。接著是 Opera 9.5beta,雖然他們號稱速度上是第一,可能整體上來說沒錯,但是畢竟在單純 JavaScript 上沒有這麼好的成績。敬陪末座的就是舊版 Gecko 核心的 Camino 1.5 和 Firefox 2.0.11。
在 Firefox 3b5pre 釋出後不到一天,一些 Addons 已經更新支援最新的 Firefox 3 beta nightly build,例如 Adblock Plus。

gravatar

Firefox 3 Beta5 Pre-release

Firefox 3 的第五個測試版本出來了,舊的測試版用戶可以透過 Update 直接升級。但是升級的缺點就是一些 addons 都不能用,其實應該是相容,但是受限版本檢查限制,全部不能用。尤其我最重要的 adblock plus 一失效的話,yahoo、udn 等等廣告全部跑出來了,花花綠綠的真是不習慣。
順便做了 WebKit 上得 Sunspider 效能測試,來試驗現在各家版本的 JavaScript 效能。

  1. Firefox 3 b5pre: 13495.8ms
  2. Firefox 2: 53977.4ms
  3. Safari 3: 42380.8ms
結果很明顯,Firefox 3 的速度完全勝出。測試平台為 PowerPC G4 1.2Ghz。

gravatar

Firefox 3 beta pre4

Firefox 2 在 mac os x 執行,除了網頁資料下載速度快點,顯示還有效能都不如 Safari。連字體都是只有醜醜的 Gray Level AntiAlias。Firefox 3 測試版出來時,就迫不及待的去嘗試。因為主要是把 Carbon 換成 Cocoa,把畫面和字型繪製改由 Cairo。結果一試就大失所望,因為效能真是慢到一個不行。以常用的 Google Spreadsheets 來說,在儲存格上上打注音輸入中文真是慢到一個不行。所以還是想等到他推出正式版本再說吧,畢竟現在還是 beta。在 Slashdot文章和這篇 Undocumented API 才是王道提到一些主要原因。接著再下載最新的 Firefox 3 nightly build 來試試看,果然感覺速度或效能已經比 Firefox 2 快了,搭配 Arial Unicode MS 字體,Cairo 畫出來的 CJK 字型很美觀,已經有點迫不及待想要丟掉 Firefox 2.0。
至於 Apple 在 WebKit 裡面擺的 binary lib 果然是大有來頭,因為從 WebKit repository checkout 的程式碼,擺著沒有 source code 的 lib 就已經很讓人猜疑。

gravatar

iPhone SDK on 3/6

MacRumors 消息 apple 將在 3/6 舉辦一場特別的活動,並且在禮拜二已經把邀請函發給記者。此外除了 SDK,還有令人振奮的新 enterprise features。

Please join us to learn about the iPhone software roadmap, including the iPhone SDK and some exciting new enterprise features. The event takes place at Apple, Building 4, Town Hall on March 6 at 10:00 a.m. Registration begins at 9:00 a.m. Arrive early for this invitation-only event. RSVP to rsvp.media@apple.com

gravatar

Fully software jailbreak for 1.1.3 iPod touch/

ZiPhone 可以直接針對 1.1.3 firmware 的 iPod touch/iPhone 作 jailbreak。在我的 Mac OS X 10.5.2 環境下,iTunes 為 7.6,iPod touch 1.1.3版。直接接上 usb 後,離開 iTunes,執行 ziphone -j -v 一段時間後,iPod 就自己重新開機,並且顯示一堆文字模式的開機和安裝過程。經過再一次重新開機,裡面就已經安裝有 Installer,這時候就算已經 jailbreak 成功,並且可以自己安裝程式。
破解原理:透過 Apple Mobile Device 的介面把 zibri.dat 這個 ramdisk 傳送到 iPod/iPhone,然後設定 nvram 裡面屬性(把要做的事情記在 nvram),並且設 boot-args rd=md0 pmd0=0x09CC2000.0x0133D000,OpenFirmware 使用者應該很清楚,可以設定 boot-args 在開機時候指定 root disk,這裡指定到 memory disk。開機後就會執行到 /etc/profile。然後就 mount 系統本來 flash 裡面的 disk,開始 patch,然後清掉設定的 nvram 屬性,恢復原本開機 root disk,重開機 done。Great Works!!

# System-wide .profile for sh(1)
PATH="/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin"
export PATH
/bin/sleep 5
/bin/echo "Starting unlock..."
if [ "`/usr/bin/nvram -p|/bin/grep unlock1`" != "" ] ; then /zib/gunlock /zib/secpack /zib/ICE04.02.13_G.fls; fi
if [ "`/usr/bin/nvram -p|/bin/grep unlock2`" != "" ] ; then /zib/gunlock2 /zib/secpack /zib/ICE04.02.13_G.fls a12345
6789012345 ; fi
/sbin/fsck_hfs /dev/disk0s1
/sbin/fsck_hfs /dev/disk0s2
if [ "`/usr/bin/nvram -p|/bin/grep jailbreak`" != "" ] ; then
/bin/echo "Starting jailbreak..."
/sbin/mount_hfs -o noasync,sync /dev/disk0s1 /mnt1
/sbin/mount_hfs -o noasync,sync /dev/disk0s2 /mnt2
if [ -e /dev/rmd1 ]; then /bin/dd if=/dev/rmd1 of=/mnt2/root/mem_dump.bin bs=4096 count=4096; fi
#/zib/bbupdater -l /zib/BOOT03.09_M3S2.fls
#/bin/sleep 20
# jailbreak
# disk0s1
if [ "`/usr/bin/nvram -p|/bin/grep activate`" != "" ] ; then 
/bin/echo "Patching lockdownd..."
/bin/ipatcher -l /mnt1/usr/libexec/lockdownd
/bin/cp /zib/fstab /mnt1/private/etc/fstab
/usr/bin/unzip -o -K -X /zib/Installer.zip -d /mnt1/Applications/
#/usr/bin/unzip -o -K -X /zib/BSD_Subsystem.zip -d /mnt1/
#/usr/bin/unzip -o -K -X /zib/openssh-4.6p1-1.zip -d /mnt1/
# disk0s2
if [ "`/usr/bin/nvram -p|/bin/grep activate`" != "" ] ; then
/bin/echo "Activating youtube..."
/bin/mkdir -p /mnt2/private/var/root/Library/Lockdown
/bin/cp /zib/data_ark.plist /mnt2/root/Library/Lockdown/
/bin/cp /zib/device_private_key.pem /mnt2/root/Library/Lockdown/
/bin/cp /zib/device_public_key.pem /mnt2/root/Library/Lockdown/
/bin/mkdir -p /mnt2/mobile/Library/Installer/Temp
/bin/mkdir -p /mnt2/root/Library/Installer/Temp
/bin/cp /zib/LocalPackages.plist /mnt2/mobile/Library/Installer/ 
/bin/cp /zib/LocalPackages.plist /mnt2/root/Library/Installer/ 
#/bin/cp /zib/RemotePackages.plist /mnt2/mobile/Library/Installer/ 
#/bin/cp /zib/RemotePackages.plist /mnt2/root/Library/Installer/ 
/bin/cp /zib/PackageSources.plist /mnt2/mobile/Library/Installer/ 
/bin/cp /zib/PackageSources.plist /mnt2/root/Library/Installer/ 
/bin/cp /zib/TrustedSources.plist /mnt2/mobile/Library/Installer/ 
/bin/cp /zib/TrustedSources.plist /mnt2/root/Library/Installer/
/bin/cp /zib/com.apptapp.Installer.plist /mnt2/mobile/Library/Preferences/
/bin/cp /zib/com.apptapp.Installer.plist /mnt2/root/Library/Preferences/
#end jailbreak
/bin/echo "Unmounting filesystems..."
/usr/bin/umount /mnt1
/usr/bin/umount /mnt2
/sbin/fsck_hfs /dev/disk0s1
/sbin/fsck_hfs /dev/disk0s2
/usr/bin/nvram auto-boot=true
/usr/bin/nvram boot-args=""
/usr/bin/nvram -d unlock1
/usr/bin/nvram -d unlock2
/usr/bin/nvram -d jailbreak
/usr/bin/nvram -d activate
#/usr/bin/nvram -d unlock2
/bin/echo "Now rebooting..."
/sbin/reboot
while (true); do sleep 1; done

gravatar

iJailBreak 0.4.1

iJailBreak 0.4.1出現了,可以適合用在破解 1.1.3 的 firmware,不過很巧合的有同樣的限制,必須在已經 jailbreak 的 1.1.1 或 1.1.2 才能使用。而且也是使用 iPhone 的 firmware。因為 iPod touch 的 firmware vfdecrypt key 還沒被解出來。雖然這是個 13 歲的開發者寫的軟體,不過其實他應用的就是前幾介紹的方法。詳細內容請參考 iJailBreak.app/Contents/Resources。

gravatar

看別人的尾牙

在永遠的真田幸村中的看到一篇「看了種花電信的尾牙,覺得自己單位真的很幸福」。仔細去看那兩篇分別為2007、2008的為牙文章內容,感覺作者還真是苦中作樂。也感覺的確自己的單位比起來是幸福多了,雖然常常跟前面的比,實在完全是比不上,但是能說是比下有餘嗎 XD。至少最低通通有獎 2k,這樣也能說是約等同於「種花電信」的大獎了;抽到 5k,就等於頭獎了;抽到 8k,那就可以算特獎囉。所以大家都有抽到大獎就不用太計較了。

gravatar

Mac OS X 上推薦的瀏覽器字型

在 WebKit based 的瀏覽器上,瀏覽器顯示的字型是以 International Pane 所選擇的地區順序設定來挑選 fallback 字型。(當該字型沒有該字的 Glyph,則繼續選用候選字型)所以常常可以在某些網頁上看到本來是細明體的字型,穿插著黑體字。或者是在黑體字中間,穿插著粗細或高低不一的字。尤其是在 firefox 瀏覽器上常常看得到。 這個原因是 firefox 本身有 unicode 地區的編碼分類,以及各種語系之間使用不同的字型因素。像是台灣中文是 Apple LiGothic Medium,日文是 Hiragino Kaku Gothic,韓文是 Apple Gothic。而當某些 unicode 網頁中出現某些字型,可能會依照該字碼挑選地區來選擇字型。或者看起來像是繁體的中文字,卻挑選了日文的字型來繪製。而這些字型的挑選,雖然在程式已經提供了讓使用者可以挑選各地區的字型,但是真正繪出文字的字型可能不是使用者希望的。所以最好的方法就是,在這些 CJK 語系地區使用統一的字型,而且該字型又有幾近完整的 unicode glyph 資料,才不會到時候缺字又要使用其他字型補字。 在 Mac OS X 上,有一個字型叫做 Arial Unicode MS。雖然名字有 MS 但不是微軟做的,是一家 Monotype 字型公司。英文字型看起來是 Arial,亞洲字體看起來像是黑體(雖然經過 Apple AntiAlias後看起來沒有黑體那麼黑和清晰)。用起來在 firefox 上效果不錯,對於本身我自己習慣看 Sans-Serif 字體來說,是相當好的選擇,就連 Safari 預設字型都設成這個字型。

gravatar

iPhone/iPod Touch 1.1.3 jailbreak 軟體內容

再述前一篇的 1.1.3 firmware 升級方法,並沒有將你的 firmware 完全升級為 1.1.3,實際上是 1.1.1/1.1.2 jailbreak firmware + 部份 1.1.3 軟體。舉例來說,如果手動下載一個韌體後, 把 .ipsw 改成 .zip 後解壓縮,其實裡面包含了一些 dmg, flash, darwin kernel。而其中它把某個 dmg 抽取出來處理後再透過 iPHUC upload 到 iPod/iPhone。所以說它並沒有將其他部份,像是 kernel/driver 的部份升級到 1.1.3 對應的版本。你自己也可以將他透過 vfdecrypt 所產生出來解密的 dmg 打開來看,其實裡面跟一般 Mac OS X 的目錄和檔案 layout 很像,但是裡面並沒有 kernel 檔案。所以說,目前的作法是將 1.1.1/1.1.2 已經 jailbreak 的 kernel 和驅動程式保留住,只升級內部的軟體。所以如此升級的話,結果就是 1.1.1/1.1.2+1.1.3 的混血版本。對於 iPod Touch 來說,比較沒有差別,因為 touch 不會有太多的 driver,像是手機 base band, BT,...。所以如此升級,還是可以保留大部分優點,像是 Application 部份的 bugfixes,以及免 USD 20 元的軟體。

gravatar

iPhone/iPod Touch 1.1.3 firmware 破解

目前網路上找得到的 1.1.3 firmware package maker 破解方式都經由原版 iPhone 1.1.3 firmware,透過已知的 decryption key 把 dmg 解開,然後再安插 1.1.1/1.1.2 的 patch 後再 upload 到 iPhone/iPod 上,前提是機子要是 1.1.1 or 1.1.2 已經 jailbreak 的韌體。 如果是在 PowerPC based 機器上作這件事,需要先將 package maker 的 data 目錄內一些執行檔再重新編譯一次,sdelta & dmg2img 可以在裡面 source 目錄編譯完後,複製到 data 目錄使用。而 vfdecrypt 則可以到 Google Code iphone elite team 去下載,然後把 #include <byteswap.h> 刪除後,gcc -o vfdecrypt vfdecrypt.c -lcrypto 就可以了。 更詳細的教學和畫面在http://www.iclarified.com/entry/index.php?enid=606

gravatar

iBook LCD Display

自從上次 iBook 螢幕顯示壞掉之後,螢幕就是花花綠綠一片。於是就拆掉螢幕,接上大的寬螢幕使用。這樣用起來還蠻有一番趣味,因為 iBook 放在外接螢幕前,就好像只是鍵盤一樣,不會有 LCD panel 擋住外接螢幕視線。但是缺點就是,本來 portable 就變成不 portable。前幾個禮拜看到有人在賣 iBook 零件,剛好有上蓋那部份整個 LCD panel,而且不貴加上運費才不到 2.5k。於是就敗了回來,但是拆 iBook 實在也是一件浩大工程,所以遲了幾天後才正式開工。經過一陣子 iBook 解剖之後,終於把螢幕給裝回去。順便把 Hitachi 的硬碟拆下來接到 PC,用 feature tool 把調整 acoustic level 為 quiet seek mode。因為說實在的,從以前新硬碟裝上去之後,都覺得三不五時常常會有「框搭」的聲音,尤其夜深人靜時候更是明顯。而 feature tool 又只能在 PC 上跑,所以趁這個機會挖出硬碟來改。又一陣兵荒馬亂之後,把整台 iBook 完全組裝完畢。於是 iBook 又有自己的「頭」了,不過,嗯,怎麼每拆一次 iBook 就莫名其妙生出一些小螺絲,記得明明都有鎖到 XD。
ps: 先前順便把壞掉的螢幕拆掉,原來裡面用的是 LG Philips 的面板。

gravatar

SafariPowerToy next stage

基本上因為有些 code 是牽涉到 platform/machine dependency,所以在沒有 x86 機器情況下,我沒辦法去測試,所以就不包這部份的 binary。那功能上的部份就不探討這些方面。
那下一個 stage 是什麼,比較簡單的就是改掉簡繁轉換的某些字元衝突。像是簡體字"只"對應到正體可能也會有“隻“,"斗"或許是對應到"鬥",但是只和斗也是正體常用的字,把他們任意轉換之後,正體文就怪了。另外一招就是學中文 wikipedia,建一堆辭彙轉換。不過當然就是增加一堆 trade off。試想,在內部都用 unicode 表示下,簡繁字體都可以並存,drawing 時候全部丟去辭彙 search/replace,應該不是一個好方法。目前只是單一個字元,並且用 GNU perfect hash 產生出來的表格,至少快很多。那為什麼不直接把儲存的 unicode 內容本質上就改成正體編碼。我想還是不要任意去更動使用者內部儲存的資料比較好,因為目的和用途不知道情況下,這樣可能會破壞使用者在網頁上的輸入和 submit 資料。
另外一個部份,是想實作類似 Firefox 上使用 google toolbar 的 translation 其中一個功能,在滑鼠游標下的英文字彙,可以有類似 Dr.eye 的翻譯效果。這對看英文網頁幫助不少(汗),因為 firefox 的肥大和速度讓我不喜歡在 Mac OS X 下使用,所以有這樣的東西相對就拉近兩者所需功能的距離。如果你有打開 Universal Access 的話,在 Safari 裡面滑鼠移動到某個英文字,然後按下 Ctrl-Cmd-D,就可以直接在內建的 Dictionary 裡面查到英英解釋。這就是透過 Apple Accessibility API 所得到的效果,當然 WebKit 裡面也是有支援 Accessibility API 才有辦法。但是研究了很久 Apple Accessibility API,以及 WebKit 裡面的支援(這部份都還沒 document)。還是沒有辦法只取到單一個英文字,頂多只有整段片段。另外一個方法就是反組譯 Dictionary.app 去看他怎麼抓這部份單字,當然這也是一個苦差事,因為反組譯和他使用的 API 方式都很難懂。所以有對 Accessibility API 有經驗的朋友,希望能夠得到一些分享經驗或知識,就像隔行如隔山,搞不好點破就一切通了XD。

gravatar

Dedicate swap partition for Leopard

Prior to 10.5, it needs to modify /etc/rc.local to mount the disk partition because that dynamic pager is run before mounting volumes.
In Mac OS X 10.5 Leopard, /etc/rc.local does not no longer exist. Instead, lanuchd is used to run some daemons after system start. In /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist, it controls the dynamic swap size and location. In my case, I have a separated partition name ".swap" and will be mounted under /Volumes/.swap. Just run Terminal.app and sudo vi com.apple.dynamic_pager.plist to edit it. Here is a portion of an example,

<key>Label</key> <string>com.apple.dynamic_pager</string> <key>ProgramArguments</key> <array> <string>/sbin/dynamic_pager</string> <string>-S</string> <string>1073741824</string> <string>-H</string> <string>4096</string> <string>-L</string> <string>1073750016</string> <string>-F</string> <string>/Volumes/.swap/swapfile</string> </array> <key>OnDemand</key>
After reboot, the swapfile will be relocated to /Volumes/.swap and size is fixed to 1GiB. note: remember to delete /var/vm/swapfile* to release unused swap spaces.

gravatar

SafariPowerToy 0.2 for 10.5 Leopard

Only available and tested for PowerPC 32-bit Mac OS X environment.
Objective-C 2.0 and the WebKit build of 10.5 Leopard are incompatible with previous build of SafariPowerToy on 10.4. A new version for Leopard is released.
The InputManagers installation is not like that on 10.4 Tiger. Please refer to the manual for the detail.
For developer compatible topics: 1. Objective-C 2.0 does not support

IMP func = [class methodFor:@selector(method)]
to get the method address. It will result coredump in Leopard Objective-C 2.0. Using class_getClassMethod() and method_getImplementation() instead. For example,
Method method = class_getClassMethod(NSClassFromString(@"NSString"), @selector(initWithString));
IMP func = method_getImplementation(method);
2. Method.method_imp is not supported in Objective-C 2.0. MethodSwizzle will not correctly work. Instead, using
method_exchangeImplementations( method1, method2 );
is simple and easy.

gravatar

SafariPowerToy 0.2

SafariPowerToy is now open source in Google code. SafariPowerToy 0.2 supports Safari 3 for traditional/simplified Chinese glyph conversion on-the-fly. However, it contains only Power PC binary bundle. Without the environment of Intel Mac, it is not able to write and test the assembly code.

gravatar

雅虎輕鬆付-ATM還要多付10元

薪資戶頭的跨行提款轉帳都不用手續費, 用露天付款快手還有多種銀行可以選擇. Yahoo輕鬆付就是包給中國信託, 信用卡也還沒上線. 結果選用web ATM付款, 還要多繳10元給yahoo或中信. 下次不用輕鬆付了, 寧願額外開瀏覽器用別家可以抽獎的 Web ATM, 雖然多打了些字, 但是至少省 10 元呀.

gravatar

SafariPowerToy is not compatible with Safari 3

Recently people reports that SafariPowerToy did not work in Safari 3. It is a known issue already. Safari 2.x uses a branch of WebKit of apple build. SafariPowerToy is based on this old WebKit framework. Safari 3 uses new WebKit and includes some new architectures which are not compatible with SafariPowerToy. I know this and some technical issues have to be solved for original functionalities of SafariPowerToy.

gravatar

新聞談話節目還是少看

今天陰森新聞台在講些台灣經濟和科學園區, 不過還是那堆媒體人在胡扯?? 科學園區明明就電子工業, 還說是資訊工程?? 國科會我聽過, 到沒聽說過有關國建會; CMOS 叫做雙氧半導體?? VLSA 叫做超大型積體電路?? 韓國半導體技術落後台灣10年?? 導播應該也請個有知識的人來校稿. 或許有些歷史來龍去脈沒錯, 但是感覺一堆小地方亂扯. 所以還是少看這種談話節目比較實在.

gravatar

Shrink the Disk Image

Trying Carbon Copy Cloner to copy the whole DVD to disk image. Unselect language packages, printer drivers, and Xcode tools; Using block level copy to new sparse image. After the copy completion, you mount the disk image and you can find the used size is < 4.7G but the disk size is ~= original DVD size. Because the underlay partition and file system is still the same as them in DVD. However, just run this 'hdiutil resize -size min xxx.sparseimage'. It will shrink the partition and file system size to possible minimum.
Note: If you delete some file and resize it, the disk size is still not changed because some files might be still occupied in the tail of the file system.

gravatar

黑店與白店的差異

雖然無關主題, 但是還是紀錄一下供其他人參考. 原因是換機油時候發現機車會漏機油, 換機油的地方是在新竹科園三期金X社區金X街上ㄣ轉角的車行(離家近+貪懶). 師父問一下老闆修的話要多少, 結果答案是要 3k, 並且要放三個工作天(修了就沒有代步工具), 還要拆引擎檢查原因. 想到這個大工程我就馬上不修, 上網爬文看別人推薦的機車行, 最後就跑去園區門口 70Y07A (這家sales也是很屌很跩, 如果不用看車試乘只要通電話訂車, 服務態度大概是最好) 隔壁聖洋車行, 花了一個工作天和 1.2k 就修完了, 就換油封墊片這些, 也不用動到引擎. 排除錢的因素, 其實還有其他原因, 這些就是經驗了. 之前都是在金X街那邊換東西, 頭燈壞了, 第一次去換他竟然換錯燈泡(雖然可以用, 但是一直都是遠燈). 第二次是去換煞車皮, 換完前輪在慢速時煞車都會有聲音. 第三次是惰速或低速起動感覺會有頓挫和暴衝感, 是說裡面普利珠磨損, 換了之後剛開始還好, 之後還是一樣有這個問題. 所以以後要更換比較大的零件就去好一點的地方. 當然黑店也不只這些, 例如水果店的 iPod Touch 果凍套要 380 大洋, Y拍或是露天價格不就在 75~140 之間, 頂多加運費加轉帳手續費 200 都不到.

gravatar

iNdependence

摘自 iNdependence 網頁

iNdependence is a Cocoa-based application for Mac OS X which provides an easy-to-use interface for jailbreak, activation, SSH installation, and ringtone/wallpaper/application installation on your iPhone. It's open source under the GNU v2 license.
話說回來 iPod touch 也可以 jailbreak 裝上 iPod applications, 還有 SSH (dropbear). 想到這邊真是吸引人呀.

gravatar

iBook G4 螢幕畫面再次壞掉

繼去年8月初發生螢幕失效(應該是背光壞了)和硬碟損毀, 過了一年多一點點的時間, 螢幕畫面再次壞掉. 不過壞掉的原因應該和 LCD 以及前兩者原因不同, 因為 LCD 每個顆粒顯示還蠻正常的. 壞掉的原因是當螢幕啟動時, 畫面上會出現各種的顏色, 有點像是中國水墨畫加上印象派的畫面, 還會慢慢移動渲染; 等一段時間固定之後, 就不再有反應, 接著出現幾條細直紋. 因為是一直外接 LCD 來使用, 外接螢幕也蠻正常的, 所以到底確切是哪個時間點壞掉也很難推敲. 又因為外接螢幕很正常, iBook 整台操作也沒問題, 推敲應該是內部訊號線路方面出了問題.

gravatar

Vista 初探

因為幫家人買了一台 ASUS U5F,預裝了 Windows Vista Home Basic 版本。順便安裝一些程式所以只好用用 Vista。用起來的結果,感覺是比 Windows XP 難用又耗費資源多了。Vista 主題配色真的很怪,用起來還有看文字,眼睛久了會覺得很不舒服。雖然新增加了微軟正黑體,但是搭配 ClearType 根本就是雞肋,而且感覺更糊,一點也沒辦法跟 Apple 的 font smoothing 比擬。加上一開機就吃掉了將近 700MB 的記憶體空間,不知道電腦是拿來跑程式還是只單純跑 OS + 防毒用的。雖然停用了一些 services 和切換回傳統 windows 佈景主題,記憶體消耗還是 5xxMB,最後也不知道要怎麼降了(IBM X31 XP 開完機和 IBM 自己的公用程式,也不到 300MB)。每次執行一些系統維護程式或是 asus 工具或是自己安裝的程式,都會跳出對話框確定要不要執行,真是有夠煩的(雖然可以關掉 UAC,但是這樣跟直接用 admin 權限跑 XP 沒啥兩樣)。問完一次,畫面上的視窗會 redraw 閃一次,這是什麼 GUI 設計。使用無線網路也是很不方便,可能是被 apple 寵壞了。但是重新掃描都找不到網路訊號,最後停用無線網卡再啟用就可以找到,真是怪異的用法。至於 icon,雖然是新的又更花俏,但是卻很沒特色,沒有統一的色調或主題,比較像網路上到處抓來的 icon 就亂套用。同樣是 1GB 的記憶體,又是 DDR2,使用休眠和回復的速度還比 IBM X31 的 1GB DDR 還慢。所以下個機器還是選 Mac OS X 好了,至於要跑 windows,那只好有空再裝個 XP。

gravatar

Secure Google Mail

Google mail 支援 SSL 的 HTTPS 協定傳輸, 好處當然是內容經過加密, 還有就是可以用 HTTPS 躲過一些像是 web content filter 的過濾來上外面 web mail. 內容都加密了還能靠 http header 過濾什麼鬼東西

  1. 先上 http://www.google.com/ 然後透過裡面的 login 登入自己的帳號
  2. 自己到網址列打 https://mail.google.com/mail, 就可以透過 SSL 連入 gmail
  3. 有簽章問題警告, 不管他直接放行. 這是因為 SSL 的簽章是發行給 www.google.com domain 而不是 mail.google.com, 所以沒關係反正都有加密就好.
還是不行, 直接 nslookup www.google.com 找出的 IP address, 然後去編輯 WINDOWS/SYSTEM32/drivers/etc/hosts 加入剛才的 IP
mail.google.com    66.249.89.99
其他 Docs & Spreadsheet 也可以照這種做法避開被 web content filter 過濾. Web MSN Messenger 也類似可以這樣惡搞.

gravatar

Meeting

Meeting 其實就是浪費時間和消耗體力精神的最好方法. 而 RD 要開會的目的如果是工作上專業有關的就算了, 比如說系統架構, 程式方面等等, 並且確保程式出來是 spec 和 user 需要的東西. Spec meeting 我倒是覺得改叫 spec 同意大會或是批鬥大會算了. 一方面 RD 在 spec meeting 來說, 主要應該負責看這種架構合不合理, 容不容易做, 需要多少技術跟工作時間. 但是往往在 S 公司 RD 是 design spec 全權主導的對象.TM 收集了 user requirements, 本來 spec 就是他們的工作卻一直都落在 RD 身上, 所以 RD 不僅只要會寫 code 也還會要開 spec, 還要制定 use model; 最好 programmer 身兼 layout designer 還知道他們需要什麼, 要怎麼操作比較方便. 開完一場 spec 下來其實根本也還沒完全定案, 會中討論的不定性還要跟 customer 或是 TM 自行再去確定.
總歸簡單的來說, spec meeting 就只是批鬥大會, 一堆 TM 在裡面爭論各自的論點. 不過請你們自己 TM 部門都確定了 user requirement 和 use model 再來請 RD 做完整 design spec 不是更好. RD 作 use model & spec 只是更浪費時間, RD 要寫 code 改 bugs, 找 TM 問 spec 常常找不到人. 所以說 TM 自己忙得沒時間寫 spec, 要 RD 寫只是再繼續拖累 RD schedule. 我只能說我乾脆先幫你們 booking 時間讓你們自己去開會去爭論, 然後結束了再 call RD 進去整理你們的定案.
最扯的是連 spec 或是 use model 都不知道, 只有 user requirements 的一些 description, 上面高層就排定說這個版本要做這功能. 如果 spec 有問題或是根本不需要, 是不是不用作了, 所以這個 release 階段個人的 schedule 就鬆了? 我猜也不是, 反正都排了就大家批鬥完, 看誰認輸誰勝出, 就照那個做. 沒有達到 user 真正要的, 沒關係下次出 patch 再繼續改.
RD: patch 只有一個月的時間又有一堆其他 bugs 要改, 這個 user 要的 model 根本跟之前 spec 提的不同, 怎是 patch?
Head: 有什麼完全不同嗎? 不就是把這個改成那樣? (真是xx比雞腿. 見識一下 Oral programming)

gravatar

Update the firmware of SE phones

我的手機是 SE Z520i,因為 Sony Ericsson 有推出軟體更新的服務,在他們的網站就可以下載這樣的軟體,使用者在家裡可以透過傳輸線或是底座,來更新手機裡面的軟體版本。更新服務的軟體大概有 40~50 MB 之大,照 SE 的慣例,這些工具程式都是 IE/ActiveX/Flash/Java/JNI 的合體,所以這麼大就不用大驚小怪。
SE 的手機,以我的 Z520i 來說,關機後按住 "C" 並且接上傳輸線,這時候手機在 Windows 裡面就會被辨識為 USB Flash Device 而非 Mobile Device。所以這類更新程式就是在這種模式下更新手機內部的程式,但是並非所有 SE 都是如此,我看過別的組合是按住 2 5 兩個數字。
按照著 SE 軟體更新服務的程式,一步一步照著螢幕的說明指示往下作,就可以更新完成了。但是之間軟體更新時候花費的時間通常需要不短的時間,雖然接上傳輸線,但是在 USB Flash Device 模式下,是不提供充電功能給手機,所以更新軟體前最好把電池充滿,可以維持半小時以上。然而最大的風險還是存在,就是在更新期間更新失敗或是中斷,那麼手機可能就無法再正常使用。雖然還是可以透過 "C" 來進入 USB Flash 模式,但是 SE 更新服務的軟體會判別手機內部軟體已經是最新,不會幫你再次更新。所以想要透過再次更新來強迫覆寫上次沒有更新完全的資料是不可能的,SE 這樣作也很奇怪,一旦手機更新失敗就無法使用,而且沒有提供復原方法。使用者可能就得送修,遇到不會用的維修工程師,可能是直接換機板,如果過保固可能需要花上一筆錢; 就算沒有過保固但是他判斷是人為因素,可能還是得要錢。
很不幸的,我的手機就是在更新到一半的時候,不知謂何就連接中斷,軟體更新服務的程式就無法繼續更新,繼續使用重複更新就跟上述一樣,他判斷我的手機已經是最新版的軟體,不再繼續更新。之後就拿去西大路的 SE 直營店請他再次更新軟體,但是結果也是他們沒輒,一個店員忙著聽 Windows Media Player 裡面的播放清單音樂,一個店員則是拿進去看了不到一分鐘就說他也沒辦法修。還好沒辦法修,不然因為 SE 只有保一年,所以維修的話要付 300 元。不過 SE 自己的工程師對於手機都沒救,看來直接裁撤掉省點人事和店面支出算了。但我的手機是神腦代理,所以有兩年保,他建議我去中華電信隔壁的神腦維修處,直接換機板應該就沒問題了,不過神腦維修處只有營業到晚上七點,對於要上班的我實在是也沒辦法,況且機板本來就沒問題,要是換一個良品機板之後碰到更多問題不就更慘。
後來其實覺得網路上 SE 手機方面的軟體和工具其實不少,如果可以自己更新就好了,也不用換機板。最後找到 Phone XS++ 可以 flash 手機的韌體,再找 Z520_R3J017_FS_TAIWAN 和 Z520_R3J017_MAIN_TAIWAN 檔案,R3J017 應該是台灣版最新的韌體,分別為 FS(檔案系統) 和 MAIN(主要程式),然後透過 XS++ 把這兩個更新寫到 Z520i 裡面,更新時間大概十來分鐘,更新完之後拔電池重新開機,手機又是一尾活龍沒問題了。Phone XS++ 和韌體檔案都可以透過 google 找得到,而且程式檔案才不過幾 MB,跟 SE 更新服務比起來真是小多了,而且 SE 更新服務還是得再透過網路下載更新檔案。另外 Phone XS 還可以上傳檔案到手機檔案系統內部,放到平常手機不給你放的資料夾,或是把手機內不給你刪除的檔案像是圖片或是預設音樂,直接透過他刪除掉。此外還可以把看不到的檔案,像是相機照相的聲音檔給殺了,如此拍照時候就沒有任何聲音。總之,這樣以後更新失敗就不用花錢了,也比較方便自己更新,不用每次都用 SE 那麼肥又麻煩功能又少的更新服務程式。

gravatar

SSH X-Window Forwarding

SSH 提供了 X-Window forwarding,也就是把遠端機器的 X application 畫面設定到自己 local 的 X Server 來顯示。通常就是ssh -X hostname之後,在遠端機器就會幫你在環境變數加入 DISPLAY=xxx.xxx.xxx.xxx:10.0 這樣的設定。之後執行 X Window 應用程式,畫面就會透過 SSH tunneling 把 display 顯示到自己的機器上。但是如果是 sudo 成別的帳號,可能會遇到這樣的情況。

X11 connection rejected because of wrong authentication.
X connection to localhost:10.0 broken (explicit kill or server shutdown).
明明就是可以,但是 sudo 之後就不行了。這時候,只要在本來的帳號下,使用 xauth list ,然後他可能列出好幾行。
foo.bar:2 MIT-MAGIC-COOKIE-1 4ef2e2cefdb15f6e9a44a7e698ba0584
foo.bar/unix:2 MIT-MAGIC-COOKIE-1 4ef2e2cefdb15f6e9a44a7e698ba0584
foo.bar:1 MIT-MAGIC-COOKIE-1 5a3617cc83069d0af6684a8aeedca705
foo.bar/unix:1 MIT-MAGIC-COOKIE-1 5a3617cc83069d0af6684a8aeedca705
foo.bar/unix:12 MIT-MAGIC-COOKIE-1 175a25ba1e7b9b3c82272bc097094cad
foo.bar/unix:10 MIT-MAGIC-COOKIE-1 e50fadee8f3fc8492fc095539e3ac93d
foo.bar/unix:11 MIT-MAGIC-COOKIE-1 25195e4d102ac24b4ea943806382ea7c
這時候就挑其中一個對應到目前 DISPLAY 設定的,比如說 :10.0,就把 foo.bar/unix:10 那行整段 copy 起來。然後再 sudo 之後,執行 xauth,然後 add foo.bar/unix:10 MIT-MAGIC-COOKIE-1 e50fadee8f3fc8492fc095539e3ac93d的方式,再 exit xauth。之後如果沒有設 DISPLAY 就手動設定一下。然後就可以透過這個 SSH X Forwarding 來使用。

gravatar

Safari 3.0 beta

MacOSX 上的 Safari 出了 3.0 beta, 更驚人的是出了 windows 版本. 雖然說支援 Windows XP/Vista, 但是 Windows 2000 還是可以安裝, 也跑得很好. 只是說真的是 beta 會經常 crash. 但是看到的使用畫面, 真是驚為天人, 字型跟 Mac 上的細緻和精美程度完全讓 windows 其他字形沒得比, apple 在人機介面與互動方面能力果然厲害,. 而且我也沒有安裝這些什麼黑體字型, 真的是很好玩. 而且在我的 win2k 上也沒有出現別人 screenshot 的黑體夾雜標楷或是細明的畫面; 另外 windows 的 menu bar 在 window 上方, 用起來還真不習慣; preferences 的 Appearance 裡面的 Font smoothing, 也出現在 Safari 裡面的 Appearance, 表示 apple 自己用自家的 font rendering engine, 不用 MS anti alias/clear type.
另外隨著 windows 版的推出, opera watch 也寫出新的文章, 質疑 safari 的速度跟記憶體消耗能力. 長久以來, opera 就致力於這方面的努力, 並以 IE & Firefox 為箭靶. Safari for Windows 的推出, opera 又可以多一項正式的箭靶. 我承認 opera 真的快, 但是記憶體用量的確也比 firefox 省, 但是真的很省我很質疑, 因為就有用到爆出幾百 MB. 只要是軟體就有 bugs, 就可能有 leakages. 唯一辦法就是用久了一段時間重開. 另外 opera 在 mac 上的中文字體因為用不同的字型而產生上下標的中文結果, 還有某些 firefox 可以看的網頁 opera 甚至不能看. 所以能寫的就拼命評比 speed & memory, 稱讚自家 opera 多棒 :P, 不過有比較才有進步.
Update: 常常在 form input 輸入東西時候掛點, 什麼 DummyWindowless 的, 靈機一動把 auto fill 都關掉, 終於比較正常了.
Update 2: 似乎不支援 https =_=

gravatar

HiNet Radio List

HiNet Radio 改版了,原本使用 Hinet Sucks! Radio Widget 會聽不到,既然 HiNet Radio HTML 不支援非 WMP & IE 的瀏覽器,那只好自己來。
ASIAFM衛星音樂台
Apple line 蘋果線上
BestRadio 台中好事903
BestRadio 台北好事989
BestRadio 花蓮好事935
BestRadio 高雄港都983
HitFm 聯播網 台中91.5
HitFm 聯播網 高雄90.1
HitFm聯播網台北91.7
KISS RADIO 南投廣播
KISS RADIO 台南知音廣播
KISS RADIO 大苗栗廣播
KISS RADIO大眾廣播電台
KISSRadio 網路音樂台
中廣古典網
中廣流行網
中廣音樂網i radio
台北之音經典音樂台
台北愛樂
台灣之音-音樂
太陽電台
奇美古典音樂網
台灣之音-華語
復興廣播電台 短波網
復興廣播電台 第一網
復興廣播電台 第二網
正聲台北調幅台
正聲台北調頻台
漢聲光華網-中波
漢聲光華網-短波
漢聲廣播電台
漢聲廣播電台全國調頻網
ICRT
台灣之音-FM
台灣之音-亞洲
台灣之音-歐美及方言
ASIA FM92.3亞太電台
ASIA FM92.7亞州電台
GOLD FM-台中城市廣播
GOLD FM-台北健康電台
IC之音
佳音廣播電台
佳音電台2台
全國廣播
台中廣播
台北廣播電台- 都會資訊頻道
台北廣播電台喔海洋頻道
台視數位廣播
大千電台
大愛網路電台
宜蘭中山電台
環宇廣播
警廣長青網
飛碟電台
中廣客家頻道
大漢之音
寶島客家
寶島新聲廣播電台
新客家廣播電台
高屏溪客家電台
警廣全國交通網
警廣台中台
警廣台北台
警廣台南台
警廣宜蘭台
警廣新竹台
警廣花蓮台
警廣高雄台
台灣之音-華語
復興廣播電台 短波網
復興廣播電台 第一網
復興廣播電台 第二網
正聲台北調幅台
正聲台北調頻台
漢聲光華網-中波
漢聲光華網-短波
漢聲廣播電台
漢聲廣播電台全國調頻網

gravatar

FON AP 另外的用途

最主要的其他用途就是拿來當 SSH server,有了 SSH server,就可以做 SSH tunneling。雖然 FON AP 內建的是 dropbear 0.48,不過還是可以拿來玩(當然要先把 FON AP 破解掉才能有這功能)。因為在外面用別人的 FON AP 或是免費無線網路,可能會有安全上的疑慮,比如說有人在中間抓封包,或是某些網路功能被禁掉,blah blah。所以用 SSH 加密先連到自己的 FON AP,所有封包都透過自己的 FON 再經由 ISP 出去。 自己測試的結果是,用 "dynamic" port forwarding (ssh -D),也就是可以讓 Applications 透過 SOCKS 的方式,會非常的慢。甚至用 MSN/gaim/adium 可以連上 server 去一直會無法正常完成登入程序。(wireshark 抓到的封包顯示的確有透過 FON 與 MSN server 連線並且取得 contact list,但是卻會一直不會完成登入過程)。使用 browser 透過 SOCKS 瀏覽普通網頁,甚至會停頓。 如果使用 local port forwarding (ssh -L) 然後指定到 proxy.hinet.net:80(前提是用 hinet ADSL),則一切正常,速度上也很好。使用的程式也都可以正確上線和瀏覽。但是缺點就是需要用 http proxy 的方式,而且無法用 CONNECT method,也無法像 SOCKS 那樣由 Applications 指定直接連到目的地。 所以,反正大部分都是用 MSN & 瀏覽器而已,所以第二個方法就沒問題。而且完全透過那一台小小的機器就可以完成,不用再開電腦或架設 server。 如果是跑 OpenWrt 或是 dd-wrt,裡面甚至內建有 DynDNS,以及 openssh-server。有 DynDNS 就可以很輕鬆知道自己動態的 ADSL IP。另外 openssh-server 對於 "dynamic" port forwarding 可能有比較正常吧我猜。