2007年11月28日 星期三

Yahoo!Mail跟Gmail的距離是20個小時!

最近Microsoft正式釋出Live Mail,去申請一個新的帳號來玩,卻意外的發現Yahoo!Mail(美國)的處理信件的速度是誇張的慢!
先說明測試的環境,為了測試Live Mail,從三個不同的信箱寄測試信件到Live Mail,包括Gmail, Yahoo!Mail(美國), Yahoo!信箱(台灣)。另外Live Mail支援Forwarding,個人也習慣在Gamil收信,所以測試信寄達Live Mail後再轉寄到Gmail,因此圖片都是從Gmail擷取的。

以下是測試的結果,
編號1測試信是由Yahoo!Mail(美國)寄出的;
編號2測試信是由Yahoo!信箱(台灣)寄出的;
編號3測試信是由Gamil寄出的。三封測試信在11/27中午12:10左右寄出,編號2及編號3測試信寄出,Live Mail收到馬上轉寄到Gmail。但是,編號1測試信是在8:32am收到,回頭看看寄出的時間,Oh My God,共歷時了20個小時之多!
本測試不只有看到Live Mail的信件處理速度的時間,還要再上Forwarding的時間,所以是不是因為Forwarding的關係而造成的呢?因為從個不同信箱寄出測試信,而從Yahoo!Mail(美國)寄出的測試信也不是最後一個寄的,所以大膽的排除Forwarding的因素。因此,造成收信時間變長的原因,Yahoo!Mail(美國)的信件處理速度的因素就大大有可能啦。
Yahoo!Mail提供容量無上限的信箱,是不是因為這個因素影響速度就不得而知了,不過從這個20小時間,我得到了一個結論,在網路的世界,Yahoo!Mail跟Gmail的距離是20個小時!從台灣到美國也不過100~200ms。

2007年11月20日 星期二

數位圖像證據

有圖有真相,這是網路上各論壇或BBS站常常看到的,只要是看到什麼新奇事物,不管是用相機、手機、攝影機、webcam,都可以POST在網路上,供人品味觀賞。如果是在現實生活中的電子商務上,數位圖像有什麼可以應用的嗎?答案是肯定的!

最近在國內知名購物網站購物,買了一台洗衣機,完成訂購手續後,發現有個[檢視訂單快照]的連結
點進後就看到當初訂購的商品,請注意,這不是網頁喔,是圖片喔!!我仔細看才發現,原來點進去的連結是純圖片,不是網頁,而且還有加上戳記。做這數位圖像對客戶及店家都是好事,除了可以避免爭議,也可以很清楚的知道,當初訂的商品規格,雙方都有保障。

2007年11月14日 星期三

Virtual PC上裝Ubuntu

原本以為Virtual PC只能模擬Windows家族的OS,沒想到Linux也可以!試裝了Ubuntu 7.10,Server及Desktop版都可以安裝,不過安裝的時候需要一點點額外的費心,這邊有詳細的介紹:
Ubuntu (Virtual PC) 備忘記 - Joeyta備忘記 - BlogJava
http://www.blogjava.net/joeyta/archive/2007/08/25/139209.html
Server版正常操作安裝即可,Desktop版主要因為kernel(2.6版)的滑鼠bug,安裝和開機需要額外的設定。
在安裝部份,一開始安裝要點擊桌面的Install的圖示,因為滑鼠不能用,按TAB也不能無法鎖定安裝的圖示,所以開啟鍵盤模擬滑鼠的功能。
在開機的部份,第一開機進入GRUB修改kernel參數,加上i8042.noloop。開機之後再修改檔案/boot/grub/menu.lst,使每次開機都會加上i8042.noloop。
另外,Ubuntu支援最高24bit,與Virtual PC支援更高的32bit,在安裝時是自動偵測,但偵測會設成24bit,所以需改設成16bit,在/etc/X11/xorg.conf的defaultDepth地方,將24改成16。雖然不改也可以跑,但改過後跑的比較快。

Alternate的版本安裝完後,看到Ubuntu起動畫面不久,就跳到奇怪的黑黑畫面,之後就不省人事了 =.=

這邊還有英文的介紹
Installing Ubuntu on Virtual PC for Windows Lovers
http://haacked.com/archive/2007/05/06/installing-ubuntu-on-virtual-pc-for-windows-lovers.aspx

在Virtual PC的Shared Networking網路中如何開Port

Microsoft Virtual PC 2007免費下載安裝已經不是新聞,只要記憶體(RAM)夠大,一台電腦上就可以跑很多個的Virtual Machine (VM)。想安裝Server來玩玩,用VM來裝就對啦。但若Server需要上Internet,如果有多個IP就不是什麼問題,而在IP有限的情況,VM一定是使用Shared Networking(NAT),那麼在要虛擬網段的VM,要如何讓Internet連接到VM的Server?

此時必需使用Port Mapping的技術,讓實體IP的Port對應到虛擬IP的Port。而Virtual PC上沒有提供這樣的功能,這部份一樣是做VM的VMware Server,也是免費的,就有提供Port Mapping。所以Virtual PC需要Port Mapping的功能,必需另外安裝一套軟體FPipe,由Foundstone提供,重點是完全免費的~贊~

FPipe v2.1 - TCP/UDP port redirector.
Copyright 2000 (c) by Foundstone, Inc.
http://www.foundstone.com

FPipe [-hvu?] [-lrs ] [-i IP] IP

-?/-h - shows this help text
-c - maximum allowed simultaneous TCP connections. Default is 32
-i - listening interface IP address
-l - listening port number
-r - remote port number
-s - outbound source port number
-u - UDP mode
-v - verbose mode

2007年11月13日 星期二

C語言的Socket Programming初探

用久了高階程式語言,再來看低階的程式語言,真的很痛苦,再次應證越低階的語言越是給機器看的..
最近用C語言寫了一個簡單的Server,看了一下C的socket,真的不是平常人看的....
所以,下面開始是限制級文章,不是常人的請離開....

因為是初探,所以function如何使用,fuction的參數有那些,參數型態是什麼等等,這些都不會提到,只會做整體的概念性介紹。

一開始先看圖,花了二個小時畫的,一定要仔細看看啊~


左半邊表示server端,右半邊表示client端,而粉紅色箭頭以上為準備階段;以下為傳送資料的階段。很明顯的server要準備的工作比client來的多,因為server要負責開啟port的關係。而傳送資料的階段兩邊做的事情是對稱的,一邊傳資料,一邊收資料。

先說明右半邊client端,socket()是告訴電腦要用那些種方式連線,而internet為TCP/IP的構架,所以是跟電腦說要用TCP或UDP等方式連線,之後的連線就用此種方式。而socket()會給你一個編號(socket file descriptor, sockfd),表示電腦已為你做好此方式連線的準備,再用connect()告訴電腦你要去那個IP位址,並附上編號,告訴電腦用這種方式連線並且要連到這個IP。至此,連線已經完全做好準備,並進入傳送資料的階段,收送資料,如圖藍色箭頭。

左半邊server端,socket()取得sockfd後,用bind()請求開port的資源,再用listen()執行真正開port的動作,最後準備好開始接收資料用accept()。為什麼之前說看低階語言很痛苦,光光是開port的動作,較高階的程式語言只要說port號即可!而低階語言需要的動作就有4步。而且較容易忽略的地方是,listen的動作還要細分成2步,一個是listen(),一個是accept()。話說開port不是就要收資料,不然開個port在那邊要幹嘛~開了個大門然後不準進出,你說是不是啊是不是啊 ~"~ 。至此,準備階段完成,進入傳送資料的階段。而accept()給你一個sockfd,告訴你是誰連線到server,之後要收送資料給client,都是利用這個sockfd。

以上為一對一的連線,一個server對一個client,現實的情況是有多個client,所以還需要用別的機制來處理連線。

2007年11月9日 星期五

線上免費圖片編輯

Splashup
http://www.splashup.com/
用Flash做的圖片編輯軟體,基本的功能都有,但不支援中文 =.=
操作介面算是漂亮,跟Photoshop很像,不過點右鍵會出現Flash的快捷功能清單

不需註冊即可以使用,算是很阿沙力的線上服務~

2007年11月5日 星期一

.chm的檔案不能看的解決方法

下載PHP的手冊(.chm)回來看,結果不能看@@。.chm檔案打開後,右邊內容的部份不能正常顯示出來。



解決方法如下,在.chm的檔案上按右鍵->內容->解除封鎖



使用環境為windows xp sp2