xen與一般的vm不同在於他是kernel level的vm,從底層直接做virtualization,因此搭載的OS的執行效率也近似於直接安裝於硬體上(據說driver也有相同的水準,我還沒體驗到),也因為他是kernel level的東西,安裝上也與一般的vm有所差異。
首先,並不是裝一裝然後執行個執行檔就開始作業了,安裝的部份可以參考Installing Xen On An Ubuntu Feisty Fawn Server From The Ubuntu Repositories安裝完後第一個遇到的問題便是為什麼沒有辦法連上Internet了呢?這時候再參考Small Tip: How to set up two interface Xen machine,這下終於可以開始嘗試玩xen了
Search Google
Sunday, March 02, 2008
xen的初體驗
銷售的技術
今天陪媽媽到家樂福買東西,路過冷凍水餃的地方剛好有擺出試吃攤位,於是媽媽興致勃勃的跑過去問銷售人員該牌的水餃好不好吃,當下得到的答案是兩個字 --> "好吃",可能是太早了,所以還沒開始煮,於是工作人員便說還要再等兩分鐘,一切都非常的制式化~
當場覺得這個銷售人員真不會作生意,趕快介紹這個冷凍水餃特別的地方然後多少加上生動的表情或肢體語言虎爛一下把氣氛弄得輕鬆一點當作跟朋友在聊天不是很好嗎?
不過也有可能是真的不太好吃,連他自己都不想吃,所以也懶得花力氣虎爛?
只是,騙人之前不是要先騙過自己嗎[1]?!
[1] 千王之王:"
周星星:我帥嗎?
張家輝:帥
周星星:你帥嗎?
張家輝:比你更帥!
周星星:哇,連自己都騙!
"
Friday, February 29, 2008
Python GUI widgets
用Python寫GUI除了用原始的Tkinter module之外還可以利用基於Tkinter之上的Pmw module輕鬆使用進階的gui widgets:
Python PMW module
此外還有可以用來畫graph的blt module:
Python BLT module
Wednesday, February 27, 2008
Wretch Grabber
上個星期實驗性寫的script經過幾天的修改之後現在可算是有頭有臉了,借助wget的-m option大大減輕我的workload,因為可以不用費心於處理下載路徑的問題 ^^
TODO:
1. 改為multi-thread
2. 加入帳密功能
Tuesday, February 26, 2008
正面突穿防火牆 in 24 SEC
其實是很簡單設定的,其設定值存在:
HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplicat的List中
機碼名稱通常就是執行檔的路徑,機碼內容則為執行檔路徑加上:*:Enabled:[顯示名稱]
例如:
名稱 --> C:\Python25\pythonw.exe
字串數值資料 --> C:\Python25\pythonw.exe:*:Enabled:pythonw
Sunday, February 24, 2008
Python -- use picture/photo as windows background
Panel approach
Label approach
Canvas.create_image()還沒試成功過
如果用Label的話除了在初始的時候要指定影像之外還要再特別指定一次,例如:
previewImage = ImageTk.PhotoImage(Image.open('preview.GIF'))
self.labelPreview = Tkinter.Label(self.t2Frame['Preview'],
image=previewImage)
self.labelPreview.image=previewImage
另外把side, expand, fill等設定搞清楚對排版有很大的幫助,可以參考Thinking in Tkinter裡面的範例程式,實際跑過他的Demo之後就會很清楚了 :-)
Tuesday, February 19, 2008
Something about importing Python modules & packages
取檔名的時候要避免使用test為開頭,例如:testScript.py。
不然在import的時候可能會出現找不到module,可能因為test本身是關鍵字(default module)?!
import自己的module很簡單,
首先在某個py檔(fibo.py)中編輯幾個functions,然後在另外一個py檔(myScript.py)中import fibo,要使用fibo.py中定義的function只需要寫下fibo.functionName()
import自訂的package也不難,
首先建立一個目錄(myPackage),這個目錄便是package的名稱,於此目錄中必須要有一個名為__init__.py的檔案,現在暫時讓它保持空白。然後在myPackage目錄中新增fibo.py檔案,裡面一樣是我們事先編輯好的functions,要使用的時候我們必須先import myPackage.fibo,呼叫function則使用myPackage.fibo.functionName()
Python + PyWin32 + WMI + wget
花了兩天的時間研究batch download終於有點成果,短期目標是達到類似幹圖王的功能,因此目標當然也是傳說中的丁丁大站,這次的實驗以Python為主,另外包含PyWin32 & WMI modules並加上好用的檔案下載工具wget。
運作流程從parse html頁面開始,parse三層後便可得到相片的真實連結,接著便透過win32api呼叫wget進行下載,用win32api呼叫wget原因是為了將視窗設定為隱藏,同時以最簡單的方式達到multithread download,初步成果看起來還頗不錯的。至於要下載要multithread到什麼程度可能還需要再仔細琢磨,如果每一個檔案都佔用一個thread的話thread數可能會不夠用@@,或許一個帳號用一個thread是不錯的選擇,然後將同帳號下的照片都queue起來慢慢下載。
以下是這兩天寫的testing code,離成品還有一段距離(eg.尚無法處理需要帳號的相簿,以及許多coding的細節),但是還是可以當作範例參考:
grab_n_view_sample.py
Friday, February 15, 2008
NSIS + appsev + Python + python mods
我花了三天的時間寫出生平第一個堪稱完整的安裝檔(含完整的uninstaller),裡面包了:
1. appserv installer
2. Python installer
3. Python modules' installers for Apache & MySQL
4. 我之前寫的簡易型倉儲頁面
過程中發現Python的安裝檔在interactive mode[1]與passive mode[2]下的行為模式不一樣,
讓我花了好一些時間尋找為何安裝後無法啟動apache server,安裝Python的時候一定要
使用interactive mode,這樣子之後裝上apache的python_mod之後才能夠正常restart
apache server。
看到安裝後網頁能夠順利運作與反安裝完後一切檔案皆煙消雲散的感覺真不錯 :-)
至於Linux下的installer(通常是make install)可能還要再另外花時間研究了。
[1] msiexec /i "Python installer"
需要使用者不停的點選下一步或是做另外的設定
[2] msiexec /passive /i "Python installer"
以預設選項完成安裝,使用者不需要多按一下鍵盤/滑鼠