2010年3月29日

Google & GoDaddy 離開中國 告訴我們的事

google-cn-new.png隨著中國政府跟 Google 的協商破局後,www.google.cn 轉址到 www.google.com.hk,Google 正式離開中國搜尋市場。無獨有偶,GoDaddy 這家全世界最大的網址註冊服務商在上週(3/25)也決定不再提供 .cn 域名註冊。

Google 事件鬧得沸沸揚揚,大家都知道 Gmail 原始碼外洩只是個導火線,離開的主要原因是中國跟 Google 對於要不要過濾搜尋結果的意見不同造成,這跟 Google 一向強調 Don't be evil 背道而馳。

godaddy-logo.jpgGoDaddy 則是中國政府從去年底開始,要求 .cn 網域註冊者都得提供個人資料,包括大頭照、公司文件、個人證明,送交中国互联网络信息中心 (CNNIC)審核登記。GoDaddy 照做了,但只有約 20% 的用戶提供,GoDaddy 覺得這種作法等於協助中國政府收集這些域名註冊者的個人資料,因此不再提供 .cn 的註冊。

兩家在網路上赫赫有名的服務商都決定離開中國市場,那塊每個企業都積極都想進入的中國市場,為的是什麼?只為了一個企業的中心思想。

Google 的 Don't be evil 和 GoDaddy 的不想跟中國政府狼狽為奸收集個資。

不管背後是否有其他外交、政治上的含意,眼前的事實是 Google 失去了每年營收 50-60 億美元的中國廣告市場,GoDaddy 放棄了一年超過 5000 個 .cn 域名註冊。只為了企業內的中心思想而放棄令人垂涎的市場,有 Guts!

我想說的是,一家企業除了在追求股東的最大利益外(講白話一點就是賺多一點錢),是否還有一個超脫金錢的中心思想,這個思想跟就好像一個國家的憲法,是所有法律的根本、公司做決策的依歸,不管在任何情況下都不允許破壞。即使利益擺在眼前,也不容許踐踏憲法的尊嚴。

這種想法衍生自個人,在工作時偶而會想起,寫出來的程式是真的有替用戶帶來一絲絲的方便性,還是只是個工具,在替老闆騙用戶錢的工具。小時候爸媽一定會教導我們長大要作個有用的人,不要做壞事等等仁義道德。但工作久了這些早就拋到腦後,只要老闆要什麼,當員工的只要照做就是了,不管做出來的東西是不是真的能幫助到人,只求每個月薪水準時入袋。但做著做著偶而會有種罪惡感浮上心頭,到底工作的目的是賺錢優先,還是真的能夠為這社會貢獻一點點微薄之力。

Google 跟 GoDaddy 的中國政策似乎給了一個答案。

2010年3月19日

加快 Android rebuild 速度 讓你硬碟不再哀號

2010-03-19_222841.pngEclipse 開發過 Android 的人一定都有相同經驗,隨著 Project 越來越大,當修改某個 Resource 後 Eclipse 一定會卡住一陣子,這時右下角出現 building workspace、百分比開始跑,整個 Coding 被迫中斷,思緒也跟著打斷,直到 build 結束才能繼續。

2010-03-20_000700.png

會這樣是因為 ADT Plugin for Android 的關係,當 res 目錄下的檔案有異動時,ADT 會 rescan 所有的 resource,rebuild 成對應的 class 檔(例如 R.class),以便讓異動後的內容可以在 Coding 時引用。隨著 resource 越來越多,rebuild 的時間也會越來越長,rebuild 有多久,硬碟哀號的時間就有多久。

要避免硬碟哀號,只要讓 ADT rebuild 時不要寫入到硬碟就好,這時可以透過 RAMDisk 來解決,讓 rebuild 後的 class 寫入記憶體中,不會碰到硬碟,硬碟就不會鬼叫。

我們可以簡單的利用兩個工具 + 三個步驟來搞定他。

步驟一:建立 RAMDisk

下載位置:Dataram RAMDisk 3.5.130RC10

這裡推薦一套 RAMDisk 工具 ─ Dataram RAMDisk,建出來的 RamDisk 速度比其他工具建出來的 RAMDisk 快、相容 Windows 7、使用又方便。

下載安裝後,執行 RAMDisk Configuration Utility,設定想要的 Disk Size(如果只要放 class 不用設定太大,100 MB 就非常夠了),其他都不用動,按下 Start RAMDisk,不一會兒 RAMDisk 就建好了。
2010-03-19_230839.png

瞧瞧檔案總管中,是不是多了一個 RAMDisk 的槽2010-03-19_231628.png

步驟二:下載 Junction

下載位置:Junction v1.05

Junction 是一隻 Microsoft 出的小程式,用來建立兩個資料夾的連結,功能如同 Linux 下的 ln 一樣,建立 hard link。

例如 C:\link\ 已經利用 Junction 連結到 D:\linked\,手動在 C:\link\ 建立一個 test.txt,這時 D:\linked\ 也可以看到 test.txt,打開 D:\linked\test.txt 隨便修改存檔,C:\link\test.txt 也會跟著改變,這就是連結的效果。實際上檔案是建立在 D:\linked\,只是 C:\link\ 也可以看到相同的內容。(好饒舌~~~)

下載後先解開隨便放在一個資料夾,假設是 C:\Junction\

步驟三:自動建立連結

ADT rebuild 後的 class 都放在 Android Project 根目錄下的 bin 資料夾,我們只要把 bin 資料夾建立連結到 RAMDisk 上,自然就可以避免寫入檔案時硬碟狂叫,還可以加快寫入速度,真是好處多多。

怎麼做?先複製下列內容存成 link.bat,放在跟 junction.exe 同一目錄下。

mkdir F:\NewsBot
junction "E:\workspace\NewsBot\bin" "F:\NewsBot"

再修改上述內容符合自己的開發環境
F:\NewsBot 是RAMDisk 上要被 bin 資料夾連結的位置
E:\workspace\NewsBot\bin 是 Project 的 bin 資料夾位置

修改後把 link.bat 拉到開始功能選單中的啟動內,讓電腦開機後自動連結
2010-03-19_235225.png

這時放心的砍掉 Project 內的 bin 資料夾,讓下次重開機後 junction.exe 可以順利建立連結,砍了嗎?砍了就快點重開機享受快速又安靜的 rebuild 吧。

後記

這樣的方式應該也適用於其他的 IDE 工具、適用於開發非 Android 的 Project,只要把握住原則,用 RAMDisk 來加快 Project 內最常存取的資料夾,應該都可以達到同樣的目的。

2010年3月12日

Intel X25-V 40G SSD 硬碟真的快 好厲害

200606107801152505482347.jpg為了讓系統跑更快,前一陣子換了 WD1500ADFD 150G 大暴龍,原本想說 10000 轉的硬碟比起兩三年前的 Seagate 梭魚十代會快很多,但使用後感受不太到速度上有大幅增加,反而是讀取硬碟時的聲音比起梭魚大到恐怖,夜深人靜時開機,我猜隔壁鄰居都聽得到硬碟的哀號聲。

速度感受不到+運作時聲音實在太大,讓人興起換硬碟的念頭,要花錢,錢就要花在刀口上。

因為家裡同時有一台 Server 運作著,要存放大檔案往 Server 丟就是了,所以本機不需要大硬碟,只要夠安裝 Windows + 一些軟體其實就夠了。

考量完容量再來考慮速度,由於平常寫程式時讀取小檔的頻率非常高,因此新硬碟讀取小檔的速度最好快一點,這也是當初換大暴龍的原因之一,10000 轉的硬碟讀取小檔應該會比平常的 7200 轉快一些。

最後是要夠安靜,半夜起來寫程式就是為了可以專心,會鬼叫的硬碟實在讓人專心不了。

外盒

能同時符合容量不拘+讀取小檔速度快+安靜的硬碟不多,看來看去就只有 SSD 固態硬碟最適合我。

剛好最近有款很熱門的 Intel X25-V 40G SSD,Intel 在 SSD 這還不算成熟的市場中,技術上算是很成熟,出產的 SSD 產品讀取、寫入速度都比別人快一些。這款 SSD 價錢還算可以,新品約 4000 上下,但運氣還不錯,在網拍找了很新的二手貨(2010.01.03 包裝出貨)才 3600,加上這個 Logo 還蠻吸引人的,就是他了,不囉唆,入手先。
衝著這個標誌而買

容量

SSD 真是完全符合我的需求,雖然現在 SSD 的價錢還偏高,能買到的硬碟容量都不大,但只要不是小的太誇張,40G 對於我來說完全不是問題。

速度

速度更是 SSD 的優勢,除了寫入速度比不上傳統硬碟,讀取速度則是完全超越,不管是連續讀取速度或是隨機存取小檔,都比傳統硬碟快上許多。平常寫程式讀取的機會大於寫入,加上程式都是小檔,SSD 真的很適合用在程式開發環境。

噪音

聲音方面是 SSD 最大的特色,不像傳統機械式硬碟有馬達、讀取臂等會發出聲音機構,SSD 是電子式的記憶體讀取、寫入,運作時完全沒有聲音。半夜時打開電腦只聽到 CPU 風扇聲的感覺實在太棒了。

省電

除此之外還很省電,雖然這不是挑選的因素之一,不過能為地球進一份心力也算是使用 SSD 的好處(替自己敗家找藉口中)。

SSD 目前還有一些瓶頸,例如同一記憶體區塊寫入次數不能太多,不然很快壞,不過各家廠商都有自己的演算法防止同一區塊被寫入次數太多,加上 Intel 敢保固三年,起碼可以保證三年內不會壞掉,對我來說一顆硬碟應該用不到三年,所以寫入次數這方面不成困擾。
3 年保固2010.01.03 包裝出貨,新鮮

廢話講了那麼多,噹噹,來開箱,整個硬碟厚度不到一元硬幣的一半。
開箱換個角度再一張側面照有多薄 不到一元硬幣的一半

跟傳統硬碟比一比,體積小很多,厚度也少了一半以上,重量當然也輕很多。
新舊大小比一比新舊高度比一比

前面有說過 SSD 目前的缺點在於同一區塊不能寫入太多次,因此寫入演算法很重要,這也是每家廠商努力的地方之一。Intel 在這方面做得還不錯,有自己的最佳化工具 Intel Solid State Drive Toolbox 輔助寫入演算法運算。
Intel SSD Toolbox

背後詳細的邏輯我也不太懂,但實際使用後速度真的有差,剛拿到手時讀取速度高高低低,雖然最快衝上 200MB/s,但平均在 150 MB/s 左右(左圖),最佳化後平均接近 200MB/s,真的是爆快的。尤其是存取時間(Access Time)才 0.1 ms,比起一般硬碟的 8-15 ms 實在是快太多了(3.5吋硬碟 Random Access Time 比較表)。
最佳化前的速度最佳化後的速度

下面取自Wiki(讀取時間
讀取時間
(Access Time),是從記憶體控制器給出讀出的指令,到記憶體(內部記憶體memory)應答,輸出所需的資料,所用的時間。對於早期記憶體和現在較小型的記憶體而言,讀取時間是衡量記憶體性能最重要的指標之一。

使用心得

使用後真的覺得 SSD 實在太完美了,完全符合我的需求,速度、安靜、省電,如果以後覺得硬碟不夠大,再買一顆組成 RAID0,速度、容量都 Double,不怕擴充性發生問題。只是容量跟價錢比起傳統硬碟貴上許多,如果不在意容量的人,應該試試看,保證愛不釋手。

Related Posts Plugin for WordPress, Blogger...