2009年11月20日 星期五

ubuntu9.10 ATI 顯示卡的問題

最近升級了ubuntu 9.10,可是ATI顯示卡就這樣爆炸了整個XORG吃的資源超重的,也不知道為什麼,又怕亂調整會把雙螢幕搞掉不過找了很久,我是猜想應該是ati 官方驅動沒有修改的關係,所以還是把他移除用ati的open source驅動,發現效率真的有比較好找了以下這篇http://forum.ubuntu.com.cn/viewtopic.php?f=94&p=1576369
sudo vim /etc/apt/sources.list
增加source.list的來源
deb http://ppa.launchpad.net/launchpad-weyland/xserver-nobackfill/ubuntu karmic main
deb-src http://ppa.launchpad.net/launchpad-weyland/xserver-nobackfill/ubuntu karmic main 
導入
keysudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com DBDD06BF16E70E3E 
更新
sudo apt-get update 
sudo apt-get upgrade
接著就會安裝新的xorg驅動接著是雙螢幕的設定,查到了利用aticonfig可以修改成雙螢幕的模式所以先來安裝aticonfig
sudo apt-get install aticonfig
接著用
aticonfig --initial=dual-head
就可以把雙螢幕啟動了...太好了Q__Q

2009年11月17日 星期二

python object and static method

這是一則早該紀錄的文章,只能說我太懶惰了-.-,一切都是從這裡開始的,有天心血來潮想來review一下design pattern,結果跑去看良葛格的文章simple factory ,可是問題跑出來了,他下面的python code我不能跑,會出現錯誤跑出

TypeError: unbound method getMessage() must be called with MessageFactory instance as first argument (got str instance instead)

因為MessageFactory.getMessage("caterpillar@openhome.cc", "Hi")這行程式碼的MessageFactory沒有初始化出來,這和我們預期要的結果不同,我們原本就是要用工廠來封裝製作物件的過程,所以我們並不需要將messageFactory 的 instance建立出來,後來找到了class method differences in python : bound, unbound , and static文章,原來只要將def getMessage(addr, msg):上面加上@staticmethod decorator就不會有錯誤了!

另外也讓我了解到python的物件特性
Class Test(Object):
  def method_one(self):
    print "Called method_one"

  def method_two():
    print "Called method_two"

a_test = Test()
a_test.method_one()
a_test.method_two()
一個bound function 會被翻譯成為

a_test.method_one()  --->  Test.method_one(a_test)

所以使用method_two就會寫少一個argument
>>> a_test = Test()
>>> a_test.method_two()
Traceback (most recent call last): 
  File " ", line 1, in 
TypeError: method_two() takes no arguments (1 given)
如果你要改變這種情形 可以用decorator
class Test(object):
    def method_one(self):
        print "Called method_one"

    @staticmethod
    def method_two():
        print "Called method two"

2009年10月6日 星期二

阿森納 6-2 對布萊克本

這是一場進球大戰阿,不過布萊克本進的球其實都有運氣成份,
不得不說這場法布真的表現的太好了,對方根本就守不住他的直塞球,
一下子就完成了助攻帽子戲法,原來一開始落後的時候還很擔心,
想說每次槍手落後都要到比賽快結束,才會出現逆轉的機會,讓人看了心都會揪起來



這場比賽值得一提的是,Robin Ver Persie(RVP)現在好像每場都有入球了,已經擺脫
開季一開始被人詬病身為前鋒怎麼都沒進球,但是RVP在場上的作用,其實我覺得
還有其他更重要的作用,從下半場最後法布下去後,他也塞了兩顆穿越球給大本,
要不是大本打門的技術還有待磨練,要不然這兩記助攻也是超漂亮的,RVP就是有這種靈氣
能夠幫助其他的隊友,身為前鋒他的作用實在太大了



這場比賽的可看之處真是太多了,從維爾馬倫的抽射板平,到RVP,阿殺都是利用左腳進球,
連大魔王法布也是用左腳輕巧的把球打入門內,唯一可惜的就是羅司機的
射門都稍稍偏了一點,沒辦法用進球慶祝生日,不過Arsenal這場球雖然進了六顆,
但是防守上,我覺得還是有可以加強的地方,像是第二球被進,就是因為無人盯防他
被打了一個快速反擊,希望槍手之後的路可以越走越順!


2009年9月8日 星期二

FreeBSD + Apache2 + Mod_wsgi + Django

最近在搞django , 之前試過在lighttpd上面用fastcgi跑django,不過光安裝就讓我一個頭兩個大,這次在不考慮效能的情況下想試試看用apache2 + mod_wsgi + django的安裝模式, 看是否有比較快, 安裝過程參考http://www.indexofire.com/blog/?p=243

幾乎是一模一樣啦,不過最後的地方我有特別標示清楚

1. FreeBSD是7.2,先更新完ports
2. Ports安装Apache2.2
#cd /usr/ports/www/apache22/
#make install clean
3. Ports安裝python2.6 (FreeBSD 預設沒有安裝python還讓我蠻吃驚的)
#cd /usr/ports/lang/python26/
#make install clean
4. Ports安裝mod_wsgi
#cd /usr/ports/www/mod_wsgi
#make install clean
5. Ports安装Django1.1
#cd /usr/ports/www/py-django
#make install clean
裝完他會提供你可以裝的database
我想試試看sqlite3
6. Ports安裝sqlite3
#cd /usr/ports/databases/py-sqlite3
#make install clean
7. 設定http.conf
在家目錄裡面建立一個django的資料夾當作我們的目錄
#mkdir -p /usr/local/www/apache22/django
#cd /usr/local/www/apache22/django
#django-admin.py startproject cms
增加httpd.conf以下內容
WSGIScriptAlias /cms /usr/local/www/apache22/django/cms/django.wsgi

WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all

8. 接著建構django.wsgi
import os, sys

sys.path.append('/usr/local/www/apache22/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'cms.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
9. 看一下http://localhost/cms是否成功!~

2009年9月2日 星期三

yum transaction check error

今天在弄Lab Server結果堵到 yum transaction check error, 應該是因為我在x86下面也有裝32bit的 subversion 結果兩個版本好像衝到 在網路上找了一下,找到了這篇文章 用他的方法試了一下,好像有用 就順便紀錄一下 $ rpm -e subversion error: "subversion" specifies multiple packages 如果遇到這種情況 就先yum erase subversion 再用yum install subversion把他灌回來

2009年8月5日 星期三

最近

現在人在花蓮的美崙,美其名是要參加conference,結果卻是一直吃和睡, 這個暑假真的是讓自己放了個大假阿,之前弄了太多的事情都沒有辦法好好休息, 想趁這段時間好好放鬆,不過一直也有危機感,像是自己已經那麼弱了, 怎麼還可以每天都在玩,但是又提不起勁來好好做事... 到現在一篇paper都沒看,而且之前說好的英文也一直斷斷續續的練習, 自己雖然知道沒有no pain,no gain,但是卻又好像少了個驅動器, 讓我拼命向前,人就是那麼奇怪的動物,休息的時候想要動起來, 真的動起來的時候又會疲乏,我需要更好的balance的方法, 就讓我發表這篇文章警惕自己一下吧,該做的事情還是要作,千萬別忘記life is struggle...

2009年7月15日 星期三

python UnicodeEncodeError

最近在玩qPlurk遇到的一個問題 UnicodeEncodeError: 'ascii' codec can't encode characters in position 42-44: ordinal not in range(128) 好像是因為再拿html的時候出的問題 解決的辦法就是利用 import sys reload(sys) sys.setdefaultencoding("utf-8") reference: 從這個站看來的

2009年7月12日 星期日

校園漫遊 with hinet wlan

最近需要在外面上網,然後又知道hinet有個專案是讓大專院校可以有機會在外面無線上網, 不過一開始不知道怎麼弄,後來查了一下,以下是相關步驟 step1: 先看看自己的學校有沒有在上面 http://wlanrc.nchc.org.tw/ step2: 以清大為例子要上這個網站申請 http://www.wlan.nthu.edu.tw/ step3: 以在自己學校申請的帳號為漫遊帳號 然後到這裡在申請啟動,如此才能在外面上網 http://wsp.twroam.org.tw/ 台北地區都有wlan或是wifly真的很方便,很多地方都可以讓你無線上網 真的是很不錯,什麼國中國小,seven都有訊號,再加上可以免費上網,真是太便利了

2009年7月10日 星期五

unmet dependencies

今天要裝PyQT來玩玩看 沒想到一直遇到unmet dependencies的問題,查了超久也不知道所以然.. 而且好像很多人遇到,也試過打apt-get -f install 不過我的訊息好像是broken package,所以最後猜測要換sourcelist 去找ubuntu 9.04的站點,最後從這個站點, 找到下列這些

deb ftp://os.nchc.org.tw/ubuntu jaunty-updates main restricted universe multiverse deb ftp://os.nchc.org.tw/ubuntu jaunty main universe multiverse restricted deb ftp://os.nchc.org.tw/ubuntu jaunty-backports main universe multiverse restricted deb ftp://os.nchc.org.tw/ubuntu jaunty-proposed main universe multiverse restricted deb ftp://os.nchc.org.tw/ubuntu jaunty-security main restricted universe multiverse #deb-src ftp://os.nchc.org.tw/ubuntu jaunty-updates main restricted universe multiverse #deb-src ftp://os.nchc.org.tw/ubuntu jaunty main universe multiverse restricted #deb-src ftp://os.nchc.org.tw/ubuntu jaunty-backports main universe multiverse restricted #deb-src ftp://os.nchc.org.tw/ubuntu jaunty-proposed main universe multiverse restricted #deb-src ftp://os.nchc.org.tw/ubuntu jaunty-security main restricted universe multiverse

gcin on ubuntu

終於找到怎麼解決gcin在ubuntu下面的候選區會花掉的問題,原來是因為ubuntu的gcin會舊版的,我是看Netlon大大的blog才知道的,請看連結 安裝新版的過程如下
  1. sudo vim /etc/apt/sources.list 新增 deb http://debian.luna.com.tw/ubuntu ./
  2. sudo apt-get update
  3. sudo apt-get install gcin 這樣就會安裝新版的gcin
  4. 登出再登入,就可以開始使用囉。
這個版本最好的地方就是有了重新執行gcin的功能... 真的是太棒了...~~ 其他細節還可以看這邊