跳到主要內容

發表文章

目前顯示的是 3月, 2013的文章

香港不是我的菜

去過日本,很希望台灣可以變得像日本一樣,乾淨、有理、有禮。 去過菲律賓,我感受到一個很有活力,也很樂天,努力奔向發展中的國家。 香港應該算是我第三個去過的國家, 他們有很棒的機場,挑高寬敞又能自然採光的大廳。 他們的地鐵很發達,可以到達很多地方。 他們有很多大樓,住宅區公寓每棟都是 20、30層樓起跳。 更不用提那些國際商業大樓,每棟都可以和 101 比美。 他們國家到處都可以看到外國人,也有超多的購物商場。 但是他們的人行道很髒。 大購物商場裡有很多穿著西裝的年輕人在發著房地產傳單。 天橋或者商業大樓的旁邊,有很多席地而坐的東南亞(外勞)? 商店裡的服務員會講很多種語言, 但是他們的態度,卻是傲慢隨便。 太平山有很美的夜景,但是我腦海裡想著的是, 是不是大部分的人都要住在那從山頂看下去,發出一點點亮光的小屋子裡? 這麼美的夜景,要有多少的大樓和住戶呢? 我只希望,台灣,可以不要變成這個樣子.....

2013 香港行

到了機場後,跟關西機場有點像,要先搭一小段電車到入境的大廈. 通過入境櫃台後,拿完行李要出大廳前,可以先在機場內櫃檯買八達通卡(150 HK,內有100 HK額度可以使用)和機場快捷到香港站(180 HK)的來回車票。 另外還可以到樓上的1010商店買 one2free 電話卡,可以 7 天3G無限上網只要 88 HK(for iphone4/4s)。 準備完這些東西,就繼續往前奔跑離開機場大廳囉。機場快捷就在大廳同一樓層往出口走就會看到了. 24分鐘從機場站到達市區香港站.這次星期六中午到香港,搭快捷時旅客不多每個車廂都只有兩三個人。到了香港站要到灣仔的灣景國際飯店可以搭機場快捷的H2免費穿梭中巴.每20分鐘有一班.穿梭巴士雖然免費,而且從地圖上看,香港站到灣仔站很近。但是因為穿梭巴士還要繞去其他飯店,加上香港的交通很容易塞車,所以去程花了快一個小時才到香港國際會議展覽中心.但是回程就很快了,大概花不到20分鐘就從會議展覽中心到了機場快捷香港站的門口,走進去就可以預掛行李然後拿到登機證.然後可以再去其他地方逛,等要登機前30分鐘再到機場出境安檢即可。 掛完行李往地鐵中環站方向走,雖然機場快捷線和港鐵線並沒有在同一棟建築,但是中間有地下走廊連接。神奇的是,從香港站往中環站走的時候要刷八達通,走到中環站要出站也要刷八達通.或許是地下連接的自動手扶梯也算電車的一種? 到目前為止,從機場的設計、電信公司的各種上網方案、機場快捷和飯店間的穿梭巴士服務,都可以感受到香港的先進和對國際遊客的友善性. 但是接下來就是比較不愉快的經驗了. 到達飯店後 check in時 讓我訝異的是,這應該是我出國有史以來見過最大便臉的飯店服務小姐了.然後我訂的灣景房間進去後往窗外一看竟然是隔壁棟的牆壁?打電話給櫃檯他們才幫我換到了真正的灣景房間 :( 從灣景國際走到灣仔港鐵站其實不遠,大概只需要 10 分鐘.接著經過兩站就可以到中環,迷路了一陣後找到了九記牛腩,門口已經大排長龍了,但是我發現九記斜對面一間沒有店面的小吃攤排更多人 lol.... 在香港吃東西店家幫客人併桌是很常見的事,所以我排了不到五分鐘,店員就出來問說有沒有一位的?於是我就超越了排在我前面的前兩組客人,被安排到了一張已經坐了五位客人的小圓桌.上湯淨牛腩真的不錯吃,加點了一杯凍檸茶,店員塞了一張紙

vShpere console screenshot

要看 ESX/vCenter 裡面 VM 的 console 有點麻煩,每次都要打開 vShpere找到VM 然後點 console tab。 查了一下,原來可以從  https://{vCenter or ESX hostname}/screen?id={MoRefId} 直接看 VM console 要查 VM 的 MoRefId 不難,但是只看到一片黑又是怎麼一回事呢? 這時候如果從 vSphere 裡點一下 console, 則上面的網址又可以正常看到 答案是: power saving or screen blank! 所以在 /etc/rc.local 下加入 /usr/bin/setterm -blank 0 -powersave off -powerdown 0  就隨時可以透過 http 看 VM console 囉 下一步或許還可以透過程式自動抓 console screenshot 呢! Update: 在 CentOS 5/ RHEL 5 / Ubuntu 10/11/12 系列在 rc.local 用 setterm 可以work,但是在 CentOS 6 和 RHEL 6 無效。最後是在 /boot/grub/grub.conf kernel 那一列加入 "consoleblank=0"。 REF: Capturing Virtual Machine Screenshots in vSphere VM console screenshots just by browser

ext3/4 現有系統改用外部 journal device

For CentOS: During booting, grub menu, press "e" and append  "single " to "kernel xxxxx" line. When get into single user mode.. 1. Create journal device:     fdisk /dev/sdb, create partition for /dev/sdb1     mke2fs -O journal_dev /dev/sdb1 2. Re-mount file system with read only:     mount -o remount,ro /dev/mapper/vg00-lv00 3. Remove journal:     tune2fs -O ^has_journal /dev/mapper/vg00-lv00 4. Assign external journal device:     tune2fs -J device=/dev/sdb1 /dev/mapper/vg00-lv00

iozone

tarball installation: wget http://www.iozone.org/src/current/iozone3_414.tar tar xvf iozone3_414.tar && cd iozone3_414/src/current && make linux (for x64 use linux-AMD64) -a  #auto mode will test below matrix: record size from 4k to 16M file size from 64k to 512M -g  #set maximum file size (in Kbytes) for auto mode (or #m or #g) 所以為了避免 linux 的 catch 機制,我們可以將要測試的檔案設定為記憶體的兩倍。 所以就是 iozone -a -g 8G (如果你的系統記憶體是 4G 的話) 其他模式的參數 -h 也可以看到,下面列有趣的....: -s # file size in Kb -i  # Test to run          0=write/rewrite,          1=read/re-read,          2=random-read/write          3=Read-backwards,          4=Re-write-record,          5=stride-read,          6=fwrite/re-fwrite          7=fread/Re-fread,          8=random_mix,          9=pwrite/Re-pwrite,          10=pread/Re-pread          11=pwritev/Re-pwritev,          12=preadv/Re-preadv -o  # Writes are synch (O_SYNC)

Python PEP8 Style Guide for Python Code

Indentation:  4 個空白 Maximum Line Length:  一行79個字元 Blank Lines:  Class 和 top-level Function 都用兩個空白行隔開, Class 裡面的 method 用一個空白行隔開 Imports:  一行 import 一個 module,不要用逗號在一行內 import 多個 module 內建的 module 排序並且群組在最前面、接著是第三方的 module、最後是 local 的 module,並且用空白行隔開不同的群組。 Pet Peeves: Immediately inside parentheses, brackets or braces Immediately before a comma, semicolon, or colon Immediately before the open parenthesis that starts the argument list of a function call Immediately before the open parenthesis that starts an indexing or slicing More than one space around an assignment (or other) operator to align it with another 整個 PEP8 其實還有更多細節的東西,因為目前是用 sublime 在寫,所以有裝了  Python PEP8 Autoformat 和 Trailing Spaces 可以幫上一些忙。 REF: PEP8 -- Style Guide for Python Code

python detect os and architecture

在 python 裡面要偵測OS的平台時可以使用 platform 這個 module: platform.architecture() ('32bit', 'ELF')  or ('64bit', 'ELF') 要知道 OS 的版本可以用: platform.dist() ('redhat', '6.1', 'Santiago') or ('SuSE', '11', 'x86_64') 基本上在 Linux 都可以正確的拿到所需要的資訊,but ... 在 Windows 上事情就沒有這麼簡單了... 因為即使在 Windows x64 的作業系統上,我們依然可以裝 32 位元的 python,  這時候用 platform.architecture() 看到的就是會 ('32bit', 'WindowsPE') 那應該要怎麼辦呢? stackoverflow 上有人說可以用 os.environ[' PROGRAMFILES '] 如果你看到了目錄名稱裡有 x86 字串,那應該幾乎可以猜到是 32bit python 跑在 64bit OS上。因為只有 64bit Windows 會為了相容 32bit 程式而將程式安裝在 Program Files(x86)  下。 32bit python on 32bit Windows 32bit python on 64bit Windows 64bit python on 32bit Windows => 裝不出來這樣的環境吧XD 64bit python on 64bit Windows ?? 會有更準確的方法嗎? REF: http://stackoverflow.com/questions/2208828/detect-64bit-os-windows-in-python