我的 R60e 在裝了 Ubuntu 8.04 或是 Ubuntu 9.04 之後,無線網路的運作一直很奇怪,在開啟無線網卡後,訊號十分不穩定,用 ping 來測試,往往時間都會超過 500ms 。一直到現在的 Ubuntu 10.04 都是一樣的,無線網路能連但是不能用。嘗試了很多方法,都沒效果,再加上我家有一段時間是沒有 AP 的,要到學校研究室才會遇到這個問題,而往往我都是用"有線網路"來解決這個無線網路的效能問題,所以也就沒有認真地想把這個問題解決。
一直到我買了一支 HTC wildfire 後,因為對 3G 無線上網的需求實在不高,我大部份時間都待在家,所以就弄了台 AP 擺在家裡。 wildfire 使用無線網路當然是非常順暢地,要不然宏達電不會躍升為全球第八大的手機商。既然 wildfire 上網很順,我想不如就把它的網路分享給 R60e 用吧!
為此,我找了個周日,打算好好地研究一番。想說這種分享方法,原則上應該會在 Ubuntu 上生成一種 usb 裝置,然後我再找出它設定方式就解決了。
結果,我只是用 usb 線把 wildfire 跟 R60e 接起來後,在 wildfire 上選擇「網際網路分享」,它就能用。
它就能用了耶!
Ubuntu 10.04 對我而言,最大的優點是內建了家目錄加密的功能。然而在實際使用上,才發現這與我預期的有一段落差,只是這個落差是當初我沒想清楚所造成的。
原本,我以為用了家目錄加密後,一般使用者可以不怕檔案被 root 看光光,但這是錯的,創建帳號的管理員一開始就可以備份「加密錀匙」,所以就算一般使用者登入後更換密碼,也不會重新製作一把「加密錀匙」,所以更換密碼的動作,只把「加密錀匙」用另一組密碼保存起來,帳號管理員一樣可用之前所保存的「加密錀匙」還原檔案。除非,使用者更換「加密錀匙」(但很麻煩,也需要系統權限),或是一開始,就不要帳號管理員設定「家目錄加密」功能,而是使用者自己作「目錄加密」的動作。
原本,我以為不打「登入密碼」,就看不到家目錄,但這是錯的,只要該使用者登入後有掛載該目錄,其他人就可以透過權限驗證方式來觀看,因為該使用者已將目錄解密了。
原本,我以為一般人可以在自己的家目錄執行網頁程式而不被其他人知道他搞了什麼網站,只要 apache 設定檔有設定 Include /home/xxx/self.conf 之類的語法即可,但這是錯的。家目錄既然已加密,那 apache daemon 就沒辦法進到網頁程式的目錄,又如何執行它們。
嚴格的說,這個家目錄加密功能,只能用在其他人無法使用光碟開機或是重灌系統來獲取硬碟資料,就只是這樣而已,而這功能,我的 IBM Thinkpad 用硬碟密碼就作到了,我白玩了。但這一切都是我自己先想錯了呀!
而且在使用此功能還發生一件非常烏龍的鳥事,就是無法使用公私錀登入,因為公錀資料夾是放在家目錄的,既然它被加密了,那 ssh daemon 又如何拿到公錀來驗證呢! 解法很簡單,在 /etc/ssh/sshd_config 中,設定
AuthorizedKeysFile /home/ssh-keys/%u/authorized_keys2
即可,也就是將使用者公錀放到沒被加密的資料夾。解法很簡單,但我卻搞了兩天,因為我在 sshd_config 中寫的是
AuthorizedKeysFile /home/ssh-keys/%u/authorized_keys
,但在資料夾中放的是 authorized_keys2 。一個 2 ,我看了 2 天,才發現不一樣。這就是人生呀!
最近剛好有機會碰到XMPP,把一些學習心得記錄在這邊。XMPP(Extensible Messageing and Presence Protocol) 是一種IM的通訊協定,其前身為Jabber,後於IETF標準化為RFC3920。除了一般通訊協定常有的Server與Client外,XMPP還另外定義了Gateway,只要通過Gateway,便可以與其他的IM Protocol通話。XMPP最大的特色在於傳輸的內容。其傳輸的內容為XML;藉由XML的擴充性,可以達到許多的擴展應用。不過也由於傳輸內容為XML,因此無法提供二進制的資料。檔案傳輸需藉由外部HTTP。如果不可避免,XMPP協議提供了Base64的方式傳輸帶編碼文件。XMPP每個用戶在網路上都有個獨特的Jabber ID,簡稱為JID。JID由id, domain 與 resource3個部份組成。其格式為:id@domain
因為 Windows 在紀錄檔案名稱時,是用 UTF-16 ,而不是 UTF-8 作紀錄,所以如果在 Windows 中,加入一個「中文檔名(嚴格來說,是非 ascii 編碼的名稱)」的檔案,那麼這個檔案到了 Mac OS X, Linux 平台時,就無法使用了。
Ubuntu 10.04 已經預設不包 Python2.5 了,對寫 GAE 的人來說,這有點麻煩,到目前為止 GAE 並未正式地支援 2.6 ,所以最好認命地在 Ubuntu 10.04 中創建一個 Python2.5 的環境。
我的電腦有些是沒有光碟機的,事實上,光碟機的使用機率是愈來愈低,我曾有一台 Thinkpad 大半年沒開過光碟機,結果要用時,它卻發生讀片錯誤。
所以這次重新安裝 Ubuntu 10.04 時,我是採用隨身碟安裝的方式,而也因為 Open Source 工具愈來愈多、愈來愈方便下,我只使用了 usb-creator 程式,就將 ubuntu-10.04-alternate-amd64.iso 燒到 4G 隨身碟了,方法很簡單,先安裝 usb-creator(# apt-get install usb-creator) ,然後在命令列裡執行 usb-creator-gtk 。選擇要安裝的 iso 檔,並抹除隨身碟內的資料,就可以「製作開機磁碟」了。
參考了我與小黑(ThinkPad X200s)之小紅點文章後,可輕鬆地設定了我的 R60e 中鍵滾動功能,然而一直無法在我的桌上型電腦上以 gpointing-device-settings 方法或是用 xinput 指令設定成功。因為設備名稱不同所以 "TPPS/2 IBM TrackPoint" 要改成 "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" ,但它就是不成功,指令如下:
# 啟用中鍵模擬功能
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Middle Button Emulation" 8 1
# 啟用滾輪模擬功能
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Emulation Button" 8 2
# 靈敏度
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Middle Button Timeout" 8 50
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Wheel Emulation Inertia" 8 10
xinput set-int-prop "Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
還好該文章有詳細參考文件 How to configure the TrackPoing ,從該文中,得知還有別種設定方法,所以我在 /usr/lib/X11/xorg.conf.d/20-thinkpad.conf 中,置入文句如下:
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
然後重開機,就搞定了。
登入後,因為還沒有輸入過系統密碼,所以無法掛載加密目錄,這時候只會在家目錄看到
使用 eCryptfs 加密目錄時,通常會隨機生成一把 32 字元的加密錀匙,來作目錄作加密,然後再使用使用者密碼來對「加密錀匙」作加密。所以如果因故弄丟了「加密錀匙」,但還記得「使用者密碼」,也是沒有用的。

butterfly.Taiwan
山形尖叫,因為有山形才看的。
好怪的一部片。
==
看同事都是用NX也不是vncviewer,所以我也上網找文件設定了一下。
果然速度快了很多,不會像vncviewer那樣,卡得要命。
https://help.ubuntu.com/community/FreeNX
http://www.nomachine.com/download-client-windows.php
這是好久以前我在ubuntu-tw論壇跟人貼過的文,覺得很能代表我對自由軟體的看法和大家分享一下。================================================http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=73340#forumpost73340#315 回覆: 企業引進Linux取代Windows之評估雨蒼 2009/4/9 12:15小弟目前有上MCSE課程,也上過NCLP課程並取得認證。微軟認證也考了兩張。這兩個課程幾乎都聽了兩次。小弟深深感到,如果我是企業,我真的比較會考慮微軟。為什麼?1.微軟解決方案非常完整。他們的解決方案可以解決幾乎大部分的需求。甚至針對企業級的架構也有非常耐用的解決方案。2.當你出問題的時候,微軟可以保證幫你解決。3.
Debian netinstall光碟安裝KDE LXDE XFCE為預設桌面的方法:在開機時,按tab在開機選項後面加上 desktop={kde|lxde|xfce}之後安裝時就自動會安裝 KDE|LXDE|XFce 為預設桌面囉!
這篇文章看了覺得寫的不錯,因此經過原作者同意後,就轉過來了。文章代碼(AID): #1BR7wzrt (Gossiping) 作者 Freak1033 (金が信念! XD) 看板 Gossiping 標題 Re: [問卦] 有沒有念資訊一定要討厭windows的八卦 時間 Sat Feb 6 04:25:29 2010───────────────────────────────────────※ 引述《HollisterCo (海鷗)》之銘言:: 身邊有些朋友念資訊的: 但是莫名其妙的就會說你怎麼還在用微軟的東西: 媽的爛死了之類的 你看linux都不會當機 也不會中毒: 用linux才屌!! 用甚麼GUI 弱者才再用: 強者都用CLI!!!!: 是不是真的打打指令就比較厲害??????? Q_Q唉呀,
http://docs.djangoproject.com/en/dev/topics/db/multi-db/#topics-db-multi-db
Django 1.2 新功能: Multiple databases
PostgreSQL 9.0 新功能 Hot Standby跟Streaming Replication
http://wiki.postgresql.org/wiki/Streaming_Replication
http://developer.postgresql.org/pgdocs/postgres/hot-standby.html
還沒空試, 不過結合這幾個新功能的話似乎可以有效的分散django資料庫端的read/write, 將write-only database server上的WAL(write-ahead log) 即時streaming到read-only database server上的hot standby database, 感覺好像不錯~~
話說兩年前買了一支羅技的G5滑鼠
在工作的linux環境上用到目前仍然非常滿意
之所以會說很滿意 是因為G5其實有一個很好按的大姆指鍵
大家都知道xwindow裡只要選取了文字
就會自動"複製"選到的文字
然後按下中鍵就可以"貼上"
但是目前的滑鼠都有滾輪的設計,
所以這個複製貼上的功能變成了按下滾輪
在linux裡我就用xmodmap這個程式
將這個大姆指鍵取代xwindow中鍵貼上的功能,
因為按下滾輪其實我覺得要用力按,
而複製貼上其實是還滿常用的功能
其實感覺還挺傷手的
另外我也用xbindkey將滾輪向左向右的功能做來切換視窗
而滾輪按下變成剪貼簿裡的貼上,
(即Ctrl+V, 跟xwindow的複製貼上不同)
設定的詳情可以看我2年前的文章
http://timchen119.blogspot.com/2007/12/logitech-g5-in-linuxxwindow.html
前幾天升級系統的時候不小心把滑鼠滾輪向左向右切換視窗的功能給砍了~ 因為兩年沒設定 連自己都得再找一下原本的設定方法
就在找方法的同時
剛好看到一個lomoco的hack可以將g5的硬體dpi按鈕關掉,
改用軟體控制
但是lomoco這個加強羅技滑鼠在linux上支援的程式本身並沒有支援G5, 於是就順手弄了一支python程式g5mouse.py,
可以改用軟體操縱DPI的設定,
這樣我們在G5上還可以多出了兩個按鍵可以自行設定!
廢話不多說,
首先先easy_install g5mouse
localhost tim # easy_install g5mouse
Searching for g5mouse
Reading http://pypi.python.org/simple/g5mouse/
Reading http://code.google.com/p/g5mouse/
Best match: g5mouse 0.1
Downloading http://pypi.python.org/packages/source/g/g5mouse/g5mouse-0.1.tar.gz#md5=d3347dbf261135049cb6e5a6be133355
Processing g5mouse-0.1.tar.gz
Running g5mouse-0.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-oHyJGh/g5mouse-0.1/egg-dist-tmp-6Vn5h_
warning: install_lib: 'build/lib' does not exist -- no Python modules to install
zip_safe flag not set; analyzing archive contents...
Adding g5mouse 0.1 to easy-install.pth file
Installing g5mouse.py script to /usr/bin
Installed /usr/lib/python2.6/site-packages/g5mouse-0.1-py2.6.egg
Processing dependencies for g5mouse
Finished processing dependencies for g5mouse
localhost tim # g5mouse.py
Usage: g5mouse.py [options] /dev/usb/hiddev0
g5mouse.py control logitech G3,G5,G7 and G9's hardware dpi buttons on linux
Example: g5mouse.py -d 1600 -l 1 /dev/usb/hiddev0
Author: timchen119.at.gmail.com
Options:
-h, --help show this help message and exit
-d DPI, --dpi=DPI set dpi: 400,800,1600,2000
-l LED, --led=LED set led: NONE,1,2,3,ALL
-n, --nodpibuttons disable + and - DPI speed buttons
然後就可以透過g5mouse.py這隻程式軟體設定DPI,
(可以切換到400,800,1600,2000四種DPI 比原先的還多一種
而且也可以自行設定LED燈號)
比如
你要切到DPI 2000並將所有指示DPI的LED設成第一個
就可以下
g5mouse.py -d 2000 -l 1
預設是DPI 1600跟LED全關掉 預設device是/dev/usb/hiddev0
所以你也可以只下g5mouse.py -d 800 就可以將LED全關掉 並將DPI設到800
如果加上-n這個選項 還可以把硬體控制DPI button的功能關掉
這樣我們就會多出兩個button可以自行設定
將這個程式放在你的.xprofile (XDM)或是.xinitrc/rc.local裡
讓他開機自動執行
再來我們就多出了兩個按鈕可以操控囉~
我就用xbindkeys將+號設定成Ctrl+C 而-號設成Ctrl+V
並把原先的滾輪按下的功能給取消以免誤按~
我目前的.xbindkeysrc.scm
(xbindkey '("b:6") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Up]'")
(xbindkey '("b:7") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Down]'")
(xbindkey '("b:9") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[V]'")
(xbindkey '("b:10") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[C]'")
(xbindkey '("b:11") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Up]'")
(xbindkey '("b:12") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Down]'")
另外這隻程式不止支援G5, G3/G5二代/G7/G9 都可以操縱~
= 後記 =
我現在也可以在 Ubuntu 9.10 amb64 上使用了
= 後記結束 =
曾經上過一堂英聽課,老師在課堂上問我:「未來在台灣,可不可能是男女平權的」? 我說:「不可能,因為有很多事男人可以作,但女人不能作!」 她接著問:「以前女人沒有投票權,現在有了; 以前女人的工作單一,多半是在家照顧小孩,現在卻可以選擇非常多樣的職業。目前的確是男女不平等,但一天一天進步,總有一天是男女平權的。」
是的,很多事物的狀態不是靜止,而是動態的。
過去,我回到 Windows 下,不外乎是 WebATM 轉帳、報稅及列印某些特定格式的文件。但現在,「 WebATM 轉帳」功能可以在我的 Ubuntu 9.04 i386 上成功使用了,我相信未來「報稅」一定也可以,而這「特定格式文件」總有一天會不存在或是沒必要使用。
感謝玉山銀行的技術團隊讓我們可以使用這麼方便的軟體,我決定下一次轉帳一定要用玉山銀行 WebATM ,給它收取 17 元的手續費(註1 請見文末附圖)。有機會,我也要辦玉山銀行的戶頭,因為我住埔里,最近的分行在草屯,所以不能想辦就辦。而且,我還要買 2884 玉山金的股票。
有趣的是,之前我就聽過華南銀行也想脫離 IE 的魔掌,不過反到是玉山銀行先作到了,先講可沒有先贏呀!
我在 Ubuntu 9.04 中,是使用 Firefox 3 及虹堡科技 EZ-100PU 讀卡機來作 WebATM 操作的。安裝方法如下:
# sudo apt-get install pcscd libpcsc-perl pcsc-tools libccid
因為虹堡 EZ-100PU 讀卡機目前提供的驅動程式並不支援 Ubuntu 8.10/9.04 預設的 pcsclite(pcscd) 套件,如果您使用的讀卡機是這個型號,在安裝 pcscd 套件後,下載這個以 libUSB 編譯的 pcscd ,覆蓋原來的 pcscd 。
# tar -zxf pcscd_for_LibUSB.tar.gz
# cd pcscd
# ./install.sh
再到虹堡科技的網站下載 EZ-100PU 的Linux(Ubuntu)驅動程式。
# tar -zxf 200962419545046871.gz
# cd EZUSB_Linux_x86_v1.4.7_For_Ubuntu
# ./check_env
# sudo ./install
# sudo reboot
重新進入系統後,請插上你的讀卡機,並檢查所有程式是否正確安裝:
# pcsc_scan
PC/SC device scanner
V 1.4.14 (c) 2001-2008, Ludovic Rousseau
Compiled with PC/SC lite version: 1.4.99
Scanning present readers
0: CASTLES EZ100PU 00 00
Fri Jun 19 15:49:51 2009
Reader 0: CASTLES EZ100PU 00 00
Card state: Card removed,
有看到 EZ100PU 及 Card removed 字樣,表示讀卡機正確安裝,且未插晶片卡。這時候再插入晶片卡,可以看到 Card inserted 字樣,即表示硬體安裝已完成。
Fri Jun 19 15:50:22 2009
Reader 0: CASTLES EZ100PU 00 00
Card state: Card inserted,
...
最後打開 Firefox ,並到 https://addons.mozilla.org/zh-TW/firefox/addon/12324 下載玉山銀提供的 firefox plugins 安裝後,即可在玉山銀的 WebATM(https://netbank.esunbank.com.tw/webatm/) 中使用。
* 註1: 男子漢不空口說白話。

- 《Advanced Perl Programming》ISBN:1565922204│WORLD TRADE PR│Sriram Srinivasan│五成新 (20912030101649)
- 《Mastering Algorithms With Perl》ISBN:1565923987│WORLD TRADE PR│Orwant, Jon/ Hietaniemi, Jarkko/ MacDonald, John│五 (20912030101661)
- 《Mastering Regular Expressions》ISBN:1565922573│WORLD TRADE PR│Jeffrey E. F. Friedl│五成新 (20912030101650)
- 《Perl for System Administration》ISBN:1565926099│WORLD TRADE PR│Blank-Edelman, David N.│五成新 (20912030101672)
- 《PERL食譜(上)PERL COOKBOOK》ISBN:9578247311│歐萊禮│Tom Christiansen, Nathan Torkington, Tom Christiansen, 趙崑源, (20912030101683)
- 《PERL食譜(下)》ISBN:957824732X│歐萊禮│Tom Christiansen, Nathan Torkington, Tom Christiansen, 趙崑源/謝佳良│五成新 (20912030101694)
- 《PERL網路程式設計》ISBN:9867790731│美商普林帝斯霍爾國際出版有限公司│Lincoln D. Stein, 臺北Perl推廣組│五成新 (20912030101728)
- 《生物資訊學電腦技術》ISBN:9867794052│歐萊禮│Gynthia Gibas,Per Jambeck, 仲彥,李士傑,陳淑華 & OSB-TW│五成新 (20912030101717)
- 《Perl學習手冊第三版》ISBN:9578247893│歐萊禮│Randal L. Schwartz,Tom Phoenix, Randal L. Schwartz, 臺北Perl推廣組│五成新
- 《CGI Programming with Perl, 2/e》ISBN:1565924193│WORLD TRADE PR│Guelich, Scott/ Gundavaram, Shishir/ Birznieks, Gunther | 五成新
書籍近照:
底價定 300 元,只要是郵資費夠,我就賣掉。
為什麼要賣掉呢? 因為我想我不會再研究 Perl 了吧! 過去,我剛入門 Linux 的時候,那時系統管理員最好用的工具語言是 Perl ,所以為了把 Linux 管好,我花了不少心力學它, Perl 幫助我找到人生中的第一份工作。但是後來,約五年前,我開始常寫網頁系統時,卻無法拿它來用,那時還沒流行 Web Framework ,所以我當然不知道有 Catalyst 的存在,於是我學了 PHP ,用它來寫網頁。
那時的我是 PHP/Perl 兩頭玩,直到兩、三年前, Ruby on Rails 、 Django 、 TurboGears 的出現,我才開始認真地想把「系統管理」、「網頁設計」及「學術研究」的工作用同一種語言來解決,最後選的是 Python + Django ,因為 Python 當時的數學函式庫比 Ruby 豐富,所以我們老大就說用 Python 好了,雖然那時我是比較想用 Ruby on Rails 的,當時 Rails 的氣焰比較高。
不過,現在看來,選擇 Python 應是比較符合我的個性,因為我個人是比較龜毛,喜歡 SOP (標準作業程序),所以過去用 Perl 時,有太多種表現的手法後,在我個人寫的程式上,風格十分隨便,反正看不懂了,就再寫一個,而這點, Ruby 的特性就有點類似 Perl 了。
也是用了 Python 後,我才發現過去喜愛 Perl 的程度,不如我以為的那樣高。這讓我想到重慶森林裡的廚師莎拉與漢堡薯條的故事:「沒有嘗試過,你如何知道真正喜歡的是什麼」。所以,我想把這些 Perl 相關的書籍留給其他適合的讀者。願意作它們的新主人嗎?
目前常見的作業系統有 Solaris, Ubuntu Linux, Fedora Linux, FreeBSD, XXX Linux, YYY BSD, Mac OS X 及 Windows ,而這些系統中,除了 Windows 的換行符號是用 \r\n 外,其他的都是用 \n 。
所以當 Windows 使用者將他們的程式碼上傳至版本控制器時,換行符號會以 \r\n 為主,然後我們其他使用 Mac OS X 及 Ubuntu Linux 的人,在上傳程式碼時,又可能會將換行符號換成 \n ,那麼在作版本比對的時候,只差 \r 的資料行也秀出來了,這實在不利於比對效率。不過這一點, NetBeans 倒是聰明地將只差 \r 及空白的資料行作忽略。
但話說回來,有時候,我們是在遠端 ssh 連線下,作設定檔或是程式碼的比對,這時候,如果出現一堆 ^M 符號也是挻困惱的。
所以這時候,就要請 Windows 使用者多作一個設定,讓他們在 push 檔案時,能自動將 \r 移除。
如果你安裝的是 TortoiseHg ,那麼請到你的安裝目錄下找一個 Mercurial.ini 的檔案,把它打開,加入下列內容:
[extensions]
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
[patch]
eol = crlf
[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
一般而言, extensions, encode, decode 區塊是預設就有的,只是需要移除註解,而 patch, hooks 則是自行增加。
嚴格地說,這也不是 IE 的錯, IE 只是遵守規範而已。但是因為 Firefox 的容錯能力,讓我們一時以為是 IE 太爛了。
問題是這樣的:
我學弟使用 Windows 加 apache 配置一個測試網站給業主使用時,一直面臨 IE 不能登入,但 Firefox 卻正常的問題,而該網站在 django development server 運作時,卻又沒有問題。他搞了非常久,大概有一個月吧!
我幫他 debug 時,一開始,我就把問題縮小在 IE 瀏覽這 apache 上的測試網站時,它不會紀錄 Cookies,沒用 Cookies ,那怎麼保持認證連線呢! 只是那時候,我也是找不出為什麼那該死的 IE 就是沒法使用 Cookies ,而優秀的 Firefox 就可以呢! 然後,我使用了 Ubuntu Linux 配置這個測試網站結果發現它可以讓 IE 正常運作,所以我們當時只能歸納這問題,一定是他的 XP 出了狀況。
結果前兩天,他要把測試網站放到業主的機器上去 run 時,還是出了相同的問題,然而這次不一樣的是那個機器有兩個 django-based site ,但一個正常,一個不正常。這就有點說不過去了。
於是,這次我請教了 Google 大神,問它: django cookie session problem ie ,而它回我: http://code.djangoproject.com/ticket/7264#comment:3。
這原來是 _ 的錯,因為學弟習慣將測試網址設成 test_XXX.YYY.ZZZ ,而我習慣設成 XXXtest.YYY.ZZZ ,因為我知道在買網址時只可以買英數字加連字詞(-)的,所以我不會在網域名稱中放入 _ ,也就是這個習慣讓我在 Ubuntu Linux 中架的測試網站是可以讓 IE 正常使用,但學弟架在 Windows 上的測試網址卻包含了 _ ,讓 IE 勇於拒絕他的要求了。
這同時也解釋了為什麼在 django development server 運作時, IE 可以正常的現象,因為它會使用 http://127.0.0.1:8000/ 作瀏覽網址。
哈哈,真不曉得該怪 IE ,還是得怪 Firefox 呢! 不過,話說回來,要是早點問 Google 大神,這問題就不會拖一個月了。
List all of installed packages (easy_install eggs)
example::
>>>import pkg_resources
>>>pkg = pkg_resources.AvailableDistributions()
>>>for i in pkg:
>>> for j in pkg[i]:
>>> print j
see also::
Package Discovery and Resource Access using pkg_resources








