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的功能... 真的是太棒了...~~ 其他細節還可以看這邊

Ubuntu Linux GPG Key 匯入

這篇是我一直有的問題 再用過Lazyscripts後, sudo apt-get update會出現 W: GPG error的問題 參考Tsung's Blog 原來是要這樣解
  1. sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com key_value
  2. sudo apt-get update ps. 如果多個 PUBKEY, 可以空格隔開,

2009年7月9日 星期四

Hadoop 安裝

前陣子參加了趨勢的雲端設計比賽,雖然沒寫出什麼東西,不過卻學了這套軟體,說穿了就是把自己寫好的程式,將他分散化到不同的server上運行,不過小弟是窮人,沒有那麼多的server,所以就只能先裝在自己的筆電上面,以下就是紀錄我的安裝過程:

Environment: Ubuntu 9.04 Hadoop (現在最新的版本是0.20)

需要安裝:

Java1.6

sudo apt-get install sun-java6-jdk

JDK會被放在/usr/lib/jvm/java-6-sun

這個時候可以去check一下/etc/jvm 應該會像

# /etc/jvm
#
# This file defines the default system JVM search order. Each
# JVM should list their JAVA_HOME compatible directory in this file.
# The default system JVM is the first one available from top to
# bottom.

/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj
/usr/lib/jvm/ia32-java-1.5.0-sun
/usr/lib/jvm/java-1.5.0-sun
/usr
ssh rsync sudo apt-get install ssh rsync

因為Hadoop之間要用SSH溝通

Adding Hadoop User

sudo addgroup hadoop sudo adduser --ingroup hadoop hadoop

設定SSH

su - hadoop ssh-keygen -t rsa -P "" cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
這樣是建立使用SSH連線不用密碼
接著可以用ssh localhost看看是否正常

Install Hadoop

cd /opt sudo tar zxvf hadoop-0.20.0.tar.gz sudo mv hadoop-0.20.0 hadoop sudo chown -R hadoop:hadoop hadoop

也可以使用人家包好的deb http://www.cloudera.com/hadoop-deb

Configuration

/opt/hadoop/conf/hadoop-env
修改路徑
export JAVA_HOME=/usr/lib/jvm/java-6-sun
/opt/hadoop/conf/hadoop-site.xml

修改內容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>hadoop.tmp.dir</name>
<value>/your/path/to/hadoop/tmp/dir/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system.  A URI whose
scheme and authority determine the FileSystem implementation.  The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class.  The uri's authority is used to
determine the host, port, etc. for a FileSystem.</description>
</property>

<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at.  If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>

</configuration>

Formatting the name node

建立namenode

/opt/hadoop/bin/hadoop namenode -format
啟動Hadoop
/opt/hadoop/bin/start-all.sh

Hadoop Web Interfaces

Hadoop 提供了Web 介面 (conf/hadoop-default.xml):

http://localhost:50030/ - web UI for MapReduce job tracker(s)

http://localhost:50060/ - web UI for task tracker(s)

http://localhost:50070/ - web UI for HDFS name node(s)

Reference:

Running Hadoop On Ubuntu Linux (Single-Node Cluster)

2009年7月3日 星期五

更換template

最近想換個心情,所以也順便換了一下template,我本身就是屬於比較喜歡簡單型的,雖然看到幾個很炫的template,但是想用的感覺都沒很強烈,找到Blogstyle這個網站真讚阿,最後就是選到現在我用的Invote,然後把字型調整一下就好了,中文字型還是不要太大比較好阿,太大都會報炸...

2009年6月14日 星期日

X61 intel顯示卡 在Ubuntu的問題

之前X61上面灌的是ubuntu8.04,因為gcin不知道為什麼常常選字框會爛掉,又聽JER丸大大說更新到8.10就不會了,想說反正也要更新,就心一狠更新到了9.04,沒想到更新上去問題一堆,先是compiz都沒效用了,然後也不能用alt+tab,然後滑鼠中鍵也沒用了XD

後來才知道要把compiz重開才能用alt+tab,但是換成9.04不知道為什麼compiz的效能低下,所以解決方法就是更新驅動程式或更新kernel,如此找了不少東西,看了下面兩篇
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=compact&topic_id=11851&forum=1

http://heavenchou.buddhason.org/node/145

結果後來一直用alt+tab會一直當機,應該是因為compiz的問題,後來又一直找有沒有解決辦法,
然後又給我找到還有更新的kernel和驅動程式,把他們裝起來,然後不要開EXA,我後來懷疑是EXA的問題,會讓他不穩定,雖然後來測glxgear只剩下500多FPS,但是整個特效用起來還蠻順的,也不會一直在當機,以下是我去找的一些路徑,之前都不知道有這些地方可以找package

要裝intel的驅動程式要先更新libdrm,這裡都已經包成package,非常方便
http://packages.ubuntu.com/karmic/i386/libdrm-intel1/download

接下來要裝intel的驅動程式
http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/

不過後來有找到deb版本的比較好安裝
http://archive.ubuntu.com/ubuntu/pool/main/x/xserver-xorg-video-intel/
我是安裝2.7.99.1

新版的kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/

2009年6月9日 星期二

畢業典禮@中央

中央的畢業典禮 真的是我這陣子最放鬆的一天了 真的很開心很開心 能夠見到老朋友 不管是蘋果 好人 懶魚 小馬份 小瘋 餅乾 沙士...etc 太多了 原本還想說可能沒什麼人記得我,但是一堆學弟妹跟我打招呼真的很爽 因為一個學長的拜託 而變成我一大早就要來中央 還好中途有餅乾大大阿 要不然我真的是太尷尬了 從來沒看過那麼大一束花阿 早上在那邊弄了老半天 路過的人都一直看一直看 害我還離她遠遠的=.= 成功送達後 也跟小魚照了相 不過聽說相片很糊,真是太讓我sad了 中途和shyng還有聽說是小魚的好友吃了早餐 後來就去了系館 在系館外面還幫小馬份家族拍照 然後也遇到了peggy,真的好久不見喔, 其實一開始又有點認不出來,peggy真的要好好照顧身體阿 怎麼感覺我們這天出生的人 身體都有點不太好Q____Q 進了系館先跟sogo敘敘舊,有看到林立,不過完全沒看到搓姐阿 後來進228?,和磊哥,玉米,沙士,叔叔,光爺,張霽,阿良啦勒的半天 聽說中文java要在清大發跡 就整個很興奮 然後今年的buffer有點虛,大家都沒吃到,搞得還要去吃下午茶 接著就去找我的目標人物阿 鈺丸子和璧妃 這兩個超難找的人 鈺丸子還說他變胖了 看起來也還好 不過還是跟以前一樣好笑XD 不過有小熊的花被她選走了 真是識貨阿... 和小鈺兒照完相後,磊哥和shyng說要去找紬紬,還問我要不要去,說要來個大和解XD 不過我怕情況會很有趣,又已經跟璧妃約好了,就去找璧妃了 我們在女14舍前面等璧妃 跟以前也沒什麼變啦,不過沒考上真是有點傷 希望他之後邊打工邊準備考試能順利阿,不過璧妃還跟我說 要我送他筆電,害我嚇了一跳,原來是說facebook上面的pet social ...害我當場無言,我已經很窮了耶...應該是他要送我吧XD 和他們照完相,我們就去吃中晚餐了XD 在全家那邊待了超久,還講了一堆八卦 哈 最後又去系館等我女朋友考完試(很剛好的在工五館) 很剛好的居然遇到紬紬被他爸媽拖來系館照相, 我就說人有緣躲也躲不掉,還蠻有趣的 也遇到了小柚子,學姐真的越來越正了 不過他說我比以前還瘦,也多了黑眼圈 我說龍仔哥跟我同間lab,他還嚇到說為甚麼我那麼忙 龍仔哥好像沒那麼忙,是因為學姐不知道龍仔哥的強大阿... 總而言之,今天真的很快樂, 雖然走來走去找人很累 不過都有見到我想見的人,真的很開心^^

2009年6月3日 星期三

Return

Return to Blogspot,there is a lot of thing happened past year. 而我荒廢我的文字很久了,甚至在更早之前, 我可以自由的表達自己,就算說不出口,也可以用文字抒發 這些年來,我實在有點太累,一直努力一直努力卻忘了這套法寶 來重新省視自己...人生一瞬 大概就是要留下些火花才值得