2010年8月20日星期五

人生

如果說,我無聊的人生之中真有什麼值得大書特書的事情,那也只有"遇見了你"這件事吧...

2010年6月30日星期三

無題

孤單一人總容易萌生不好的念頭,或許,不要試著有所期待,就不會在失望時幾乎鯁噎了...

2010年3月25日星期四

Android離線地圖相關資訊好站


提供了不少好用軟體的相關使用及下載資訊。比如說,可以先使用MOBAC下載所需地圖,然後將資料庫丟到Android手機上供RMaps存取,就可以在手機上查詢地圖,非常好用。可惜沒支援景點搜尋和導航功能(廢話...)

題外話,Android 2.1 for Hero啥時才要出啊?再不出就只好DIY了...



2009年10月19日星期一

[連結]用 USB 隨身碟做為 Windows Vista/7 安裝來源 (使用 grub4dos)

http://chwong.net/

感謝OGC >///<

2009年6月3日星期三

Using VirtualBox to Execute Windows Installed on Physical Disk

基本上這篇算是VirtualBox使用上的筆記,目標是讓VirtualBox載入位於實體磁碟上的Windows作業系統(這裡是用XP)。

首先要確認Windows本身需不要需修改或安裝不同的驅動程式或者修改虛擬機器的組態,請參考:
How to migrate existing Windows installations to VirtualBox

在建立對應的VMDK之前,要準備好開機磁區映像檔。因為VirtualBox無法讓grub載入原先儲存在linux分割裡的設定,所以我們準備好替代用的開機磁區讓VirtualBox用來載入Windows。在Ubuntu底下可以安裝"mbr"套件來取得相容Windows的簡單bootloader。安裝完"mbr"套件之後執行(參考):
install-mbr --force win.mbr
就可以取得開機磁區,接著下一步就是建立對應實體分割的VMDK:
VBoxManage internalcommands createrawvmdk -filename \
win.vmdk -rawdisk /dev/sda -partitions 1 -relative -register \
-mbr win.mbr
要注意的是,必須要在~/.VirtualBox/HardDisks目錄底下執行此命令,否則可能會有錯誤訊息。相關操作說明可以參考此網頁。接著就很直覺了,你只需要執行VirtualBox來建立新的虛擬機器,並使用win.vmdk當作虛擬磁碟。執行後應該就可以順利看到Windows在VirtualBox中執行了。

值得一提的是,開啟VT-x的支援,反而會讓Windows XP的效能變差。將VT-x關閉後,我又對Windows的顯示效果做了些調整,整體的反應速度才稍微比較能讓人接受。這和執行Ubuntu的情況完全不同,真是令人費解。

總之,目前就可以把非Windows不可的程式移到VirtualBox裡面執行囉,但要打電玩的話可能還是要在實體電腦上執行Windows吧,因為VirtualBox的3D加速效能還是很差。

之後大概會再試試看VMware、kvm和xen等等方案...

2009年5月30日星期六

JavaSE 6u14推出,終於支援escape analysis...

最近Sun更新了JavaSE 6推出了6u14這個更新版,裡面不少有趣的新特色,其中和VM本身最為相關的部分有三(目前都是選用或實驗性的功能):
  1. Optimization Using Escape Analysis
  2. Compressed Object Pointers
  3. Garbage First (G1) Garbage Collector
其中第一項,我在兩年半前的文章裡提過(事實上,更早就有相關研究了),但直到現在,新版的hotspot才開始支援以escape analysis為基礎的優化(像是stack allocation、lock elimination等)。這也許可以說明一件簡單的現象:學界講求的是research,而業界重視的則是quality...

補充:sby大神提示,Apache Harmony早在兩年前就支援escape analysis及相關的優化技術了。

第二項其實也不新了,早在兩三年前的學術界裡就出現過相關的討論了。簡單的來說,為了避免64bit pointer帶來的space overhead,可以用類似offset的方式來記錄objects的address。缺點就是,存取時會帶來一些execution time overhead,heap的大小也會有限制。優點當然就是heap空間的節省了。也可以參考這篇簡介這裡

第三項Garbage First (G1) Garbage Collector,主要演算法來自於2004年的一篇paper,內容還沒有時間好好看過,但據說有不少好處:
Garbage First, or G1, is a low pause, server style collector. G1's primary advantages over the Concurrent Mark-Sweep (CMS) collector include incremental compaction, better predictability and ease of use.
比較值得注意的是,目前若想將G1應用在production的用途中,必須要與Sun簽署合約。後續發展。

以上提到的新特色,其中一部分將會成為JDK 7的標準功能,可以想見這些特色在未來將會更為成熟完整。

BTW,Hotspot中有不少功能或優化技術,實際上是學業界合作的成果,除了上面提到的部分外,像是client compiler裡的SSA support,也是學界的成果。研究的成果能夠被用在實際的產品中,其實是很棒的事,除了代表成果有實際的用途外,也代表了來自業界的肯定,真是令人嚮往啊...

2009年5月26日星期二

感謝Josh提供關於標籤雲製作的中文文件

感謝Josh提供的Label Clouds(標籤雲) For Blogger文章,非常實用呢。當然,原作者也是非常值得尊敬的!!