最近因為修改程式的緣由,接觸了一些高手對於pygtk的程式碼。小弟將他們的寫作風格作一整理放在下面。(註:由於此處筆者未設定好,造成無法突顯python程式碼重要之縮排特性,僅此致歉。)
深入閱讀......
2008年12月20日 星期六
Pygtk寫作風格探討
2008年12月13日 星期六
連署支持公視
小弟相當喜歡觀看公視的節目,如有話好說,獨立特派員,以及公視新聞等。公視雖是政府資助,但由於政府需編列預算,且不能介入營運,因此始終可以針對政府疏失針砭時政。且如有話好說節目,來賓常為社會運動者或學者,對於問題的本質更能深入探討。在新聞方面,公視常常報導商業媒體不願報導之新聞,對於市井小民之生活常有極大幫助。也常常看到公視前往採訪弱勢團體,替弱勢團體發聲。
但最近國民黨籍立委以公視"過綠"之由,凍結公視預算,小弟深感不齒。若有週遭朋友喜歡觀賞公視優質節目者,可來底下連結連署支持公共電視。
http://www.pts.org.tw/php/petition/index.php
深入閱讀......
2008 酷學園群英會 - " Green IT !! "
又到了重要時刻,期待已久的 酷學園群英會 來了
今年的主題是目前正夯的 "Green IT"
堅強的師資及豐富的議程,絕對讓大家不虛此行
廢話不多說,快去報名吧!
地點:國立臺灣大學工學院應用力學研究所國際會議廳
106 台北市羅斯福路4段1號
地理位置/交通路線:
應力所交通公車資料
開車交通資訊
應力所位置地圖下載
主辦單位:酷學園
贊助單位:巨匠電腦
友情贊助:台灣科技大學資訊工程系學會,光華 - 益大書局
鳥哥的 Linux 私房菜,魔力門,三秒練功房,FTUG,Jerry_IT 資訊技術手札
費用: 0 -
活動報名網址:
http://registrano.com/events/2008-study-area
本次活動,有報名者優先入席,當天報名者則需工作人員視情況開放進場
唯當天報名者不保證有座位,若人數過多現場可能將採人數管制
深入閱讀......
企鵝不會暈到死-投影片
上次應ubuntu-tw之邀到台中與台南分享Linux的學習經驗,此為該講之投影片。
茲提供於此,希望有興趣學習Linux的朋友可以參考。
以下分別為odp格式與pdf格式的投影片:
odp pdf
深入閱讀......
2008年11月2日 星期日
2008 Ubuntu Release Party 台中場(11/22)
2008 Ubuntu Release Party 台中場
主辦:
Ubuntu-tw 和 SA@台中 , 聯合舉辦
活動日期:
2008/11/22(六) 14:00~17:00
活動地點:
台中教育大學 數位內容系
台中市西區民生路140號
(民權路,五權路交叉口 求真樓4F 409,410)
費用:
僅酌收餐點費用 150 元(含點心及飲料)
自備:
notebook、電源線
報名:
請在系統報名,活動當天到現場再報到繳費即可
為統計茶點人數,報名期限為11月17 號.
http://registrano.com/events/ubuntu-satc
活動目的:
ubuntu release party & installfest
參加對象:
1. 從來沒用過有興趣學習 ubuntu 的夥伴
2. 有興趣與大家交流 ubuntu 的夥伴
說明:
還記得八月份在coscup場子裡大家意猶未盡的討論和分享,整個大會場鳥獸散就剩這間教室裡人潮滿滿嗎?
就算大家已經聽了一整天,晚餐也吃飽了,雨也已經停了,大家卻被台上雪兒組同好們的議程吸引著,討論著直到將近 晚上10點?
10月底Ubuntu Intrepid Ibex 就要釋出了!
為了慶祝這特別的時刻,Ubuntu Release Party於台北場後即將在年底推出台中場次的活動啦!
想知道這隻大無畏的羊有什麼不同嗎?
想知道這段時間中其他人又玩出什麼新點子嗎?
還是您想知道到底這套火紅的企鵝作業系統有什麼吸引人的地方呢?
就讓我們期待中待著這場盛會吧!
我們歡迎每位Ubuntu使用者的蒞臨,也歡迎從未使用過Linux的朋友來參加這個特別的慶典。
現場將會有許許多多來自不同地方,卻使用同樣一套Linux作業系統的朋友們聚集在一起,大家會分享許多在使用上的經驗,並熱心的幫助每位朋友完成安裝。
ReleaseParty中最主要的活動就是慶祝,所以在吃吃喝喝之中,還可以認識許多特別的朋友唷.
歡迎大家攜帶您的筆電來參加這場盛會!
本次安裝慶典,歡迎攜帶你的notebook或隨身碟由專家教導如何在你的電腦上安裝設定 Ubuntu,並提供關於中文化支援的最佳建議。
此次一樣由 Ubuntu@TW社群朋友們分享 Ubuntu 的相關議題,詳情請參考各場議程。
如果您要帶電腦來安裝,請務必備份資料,我們無法保證您的軟硬體在安裝後是否安全無虞,
如果您還有關於 Linux 的任何疑難,不論是 Ubuntu Linux 或是其他 Linux,都歡迎一起到場來尋求解答。 微笑
台中場次雙議程:
13:20
報 到 開 放
進 場
409初心議程 410進階議程
14:00
開場
14:10 介紹Ubuntu (Ijs) 快速開機調教指南 (penk)
14:35
換場
14:40 Ubuntu V.S Win32 (MGdesigner ) GNU Build System (Fourdollars)
15:05
中場休息&
吃點心&裝機
16:05 xPUD-輕巧快速的Linux LiveUS (penk) satsu - 征服你的結石 (freesamael)
16:30
換場
16:35 企鵝不會暈到死 (雨蒼) 包出你自己的package (WalkingIce)
17:00
散場
注意事項:
1.為方便人數統計及場地分配,希望每位參加的朋友在報名期限完成報名.
2.由於考慮參加人數眾多,希望方便的朋友自行攜帶延長線,以免電源不夠多。
深入閱讀......
2008 Ubuntu Release Party 台南場(11/29)
2008 Ubuntu Release Party 台南場
主辦:
Ubuntu-tw 和 SA@台南
活動日期、地點:
2008/11/29(六) 11:30~14:30 18巷庫肯花園
台南市東區大學路18巷10號 (肯得基旁邊)
費用:
僅酌收餐費
台南場
250 元 (含午餐及飲料)
自備(不一定,視個人需要):
notebook、電源線
報名:
台南場
請在報名系統內鉤選您要的餐點及飲料,到現場報到再繳費即可
為加速出餐速度及便於統計,報名期限為11月24號.
台南場基於場地因素人數上限為50人,請把握機會,儘快報名!
活動目的:
ubuntu release party & installfest
參加對象:
1. 從來沒用過有興趣學習 ubuntu 的夥伴
2. 有興趣與大家交流 ubuntu 的夥伴
說明:
還記得八月份在coscup場子裡大家意猶未盡的討論和分享,整個大會場鳥獸散就剩這間教室裡人潮滿滿嗎?
就算大家已經聽了一整天,晚餐也吃飽了,雨也已經停了,大家卻被台上雪兒組同好們的議程吸引著,討論著直到將近 晚上10點?
10月底Ubuntu Intrepid Ibex 就要釋出了!
為了慶祝這特別的時刻,Ubuntu Release Party於台北場後即將在年底推出台南場次的活動啦!
想知道這隻大無畏的羊有什麼不同嗎?
想知道這段時間中其他人又玩出什麼新點子嗎?
還是您想知道到底這套火紅的企鵝作業系統有什麼吸引人的地方呢?
就讓我們期待中待著這場盛會吧!
我們歡迎每位Ubuntu使用者的蒞臨,也歡迎從未使用過Linux的朋友來參加這個特別的慶典。
現場將會有許許多多來自不同地方,卻使用同樣一套Linux作業系統的朋友們聚集在一起,大家會分享許多在使用上的經驗,並熱心的幫助每位朋友完成安裝。
ReleaseParty中最主要的活動就是慶祝,所以在吃吃喝喝之中,還可以認識許多特別的朋友唷.
歡迎大家攜帶您的筆電來參加這場盛會!
本次安裝慶典,歡迎攜帶你的notebook或隨身碟由專家教導如何在你的電腦上安裝設定 Ubuntu,並提供關於中文化支援的最佳建議。
此次一樣由 Ubuntu@TW社群朋友們分享 Ubuntu 的相關議題,詳情請參考各場議程。如果您要帶電腦來安裝,請務必備份資料,我們無法保證您的軟硬體在安裝後是否安全無虞,如果您還有關於 Linux 的任何疑難,不論是 Ubuntu Linux 或是其他 Linux,都歡迎一起到場來尋求解答。 微笑
議程:
台南單議程場次
11:00 報到&開放進場
11:30 開場
11:40 介紹Ubuntu (Ijs)
12:10 企鵝不會暈到死 (雨蒼)
12:40 五秒鍾內開機完畢的 Ubuntu (penk)
13:10 「satsu - 征服你的結石」 (freesamael)
13:40 交流&裝機
14:30 散場
注意事項:
1.為方便人數統計及場地分配,希望每位參加的朋友在報名期限完成報名.
2.由於考慮參加人數眾多,希望方便的朋友自行攜帶延長線,以免電源不夠多。
報名網頁:http://registrano.com/events/ubuntu-satn
深入閱讀......
2008年10月23日 星期四
Gnome設定工具:GConf 簡介
昨晚修改一些bash shell script的時候,發現這個工具可以用命令列的方式修改gnome裡面的一些設定,蠻方便的。因此就來稍微寫個簡介。
desktop:
< gconfschemafile>< schemalist>< !-- Keep the defaults in sync with the emergency fallbacksin nautilus-global-preferences.c -->< !-- General preferences -->< schema>< key> /schemas/desktop/gnome/file_views/show_hidden_files< /key>< applyto> /desktop/gnome/file_views/show_hidden_files< /applyto>< owner> nautilus< /owner>< type> bool< /type>< default> false< /default>< locale name="C">< short> Whether to show hidden files< /short>< long>If set to true, then hidden files are shown inthe file manager. Hidden files are either dotfiles or arelisted in the folder's .hidden file.< /long>< /locale>< locale name="zh_TW">< short> 是否顯示隱藏檔案< /short>< long> 如設定為‘true’,所有隱藏檔案都會在檔案總管中顯示出來。所謂隱藏檔案即是任何第一個字元為一點‘.’的檔案,或者在某個資料夾的 .hidden 檔案內容之中。< /long>< /locale>< /schema>< /schemalist>< /gconfschemafile>
設定鍵說明設定鍵名稱: /desktop/gnome/file_views/show_hidden_files設定鍵擁有者: nautilus簡短說明: 是否顯示隱藏檔案詳細說明: 如設定為‘true’,所有隱藏檔案都會在檔案總管中顯示出來。所謂隱藏檔案即是任何第一個字元為一點‘.’的檔案,或者在某個資料夾的 .hidden 檔案內容之中。
gconftool-2 [-?] [-?|--help] [--usage] [-s|--set] [-g|--get][--set-schema] [-u|--unset] [--recursive-unset] [-a|--all-entries][--all-dirs] [--dump] [--load=STRING] [--unload=STRING][-R|--recursive-list] [--dir-exists=STRING] [--shutdown] [-p|--ping][--spawn] [-t|--type int|bool|float|string|list|pair] [-T|--get-type][--get-list-size] [--get-list-element][--list-type=int|bool|float|string] [--car-type=int|bool|float|string][--cdr-type=int|bool|float|string] [--short-desc=描述] [--long-desc=描述][--owner=擁有者] [--install-schema-file=檔名] [--config-source=來源][--direct] [--makefile-install-rule] [--makefile-uninstall-rule][--break-key] [--break-directory] [--short-docs] [--long-docs][--get-schema-name] [--apply-schema] [--unapply-schema][--ignore-schema-defaults] [--get-default-source] [-v|--version]
-t, --type=int|bool|float|string|list|pair 設定所欲存取的value type
-g, --get 顯示特定key的value。
-u, --unset 將鍵值還原為預設值(system defaults)。
-a, --all-entries 印出該目錄中所有鍵值。
--all-dirs 列出目錄中的子目錄
-R, --recursive-list 遞迴列出目錄中的所有項目
--dir-exists=STRING 測試目錄是否存在。0為存在目錄,2為不存在。
--set-schema 設置 schema 的屬性,與 --short-desc(簡短說明), --long-desc(詳細說明), --owner(設定鍵擁有者), 和 --type 同時使用。
--makefile-install-rule 從GCONF_CONFIG_SOURCE這個環境變數所指定的路徑中安裝 schema 文件到 GConf 中。
--makefile-uninstall-rule 從GCONF_CONFIG_SOURCE這個環境變數所指定的路徑中移除schema 文件。
--direct 直接寫入到資料庫中,必須在gconfd這個服務沒有啟用的時候才能執行。
--dump 將資料庫內容一次列出來
$ gconftool-2 --type=bool --set /system/gnome-vfs/use-http-proxy "TRUE"$ gconftool-2 --type=string --set /system/gnome-vfs/http-proxy-host "wwwproxy.xyz.com"$ gconftool-2 --type=int --set /system/gnome-vfs/http-proxy-port "3128"$ gconftool-2 --type=string --set /system/proxy/mode "manual"$ gconftool-2 --type=bool --set /system/http_proxy/use_same_proxy "TRUE"$ gconftool-2 --type=bool --set /system/http_proxy/use_http_proxy "TRUE"$ gconftool-2 --type=string --set /system/http_proxy/host "wwwproxy.xyz.com"$ gconftool-2 --type=int --set /system/http_proxy/port "3128"
$ gconftool-2 --type=string --set /system/http_proxy/host "wwwproxy.xyz.com"
# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type=string --set /system/http_proxy/host "wwwproxy.xyz.com"
$ export GCONF_CONFIG_SOURCE="xml:readwrite:$HOME/.gconf"$ gconftool-2 --makefile-install-rule Test.schemas
$ gconftool-2 --set-schema /schemas/apps/kiba/launchers/file --long-desc "這邊輸入詳細描述" --short-desc "這邊輸入簡短描述"$ gconftool-2 --apply-schema /schemas/apps/kiba/launchers/file /apps/kiba/launchers/file
gconf-schemas --[un]register file1.schemas [file2.schemas [...]]
深入閱讀......
2008年10月13日 星期一
SELinux初探心得
[billy3321@localhost practice]$ ls -ltotal 32drwxrwxr-x 2 billy3321 billy3321 4096 Oct 13 15:33 directory-rw-rw-r-- 1 billy3321 billy3321 16 Oct 13 15:32 file-rw-rw-r--+ 1 billy3321 billy3321 25 Oct 13 15:53 file_with_acl-rwxrwxr-x 1 billy3321 billy3321 35 Oct 13 15:24 script
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... OCTAL-MODE FILE...
[billy3321@localhost practice]$ getfacl file_with_acl# file: file_with_acl# owner: billy3321# group: billy3321user::rw-user:sonnet77:rw-group::rw-group:users:r--mask::rw-other::r--
setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...
getfacl [-dRLPvh] file ...
chroot NEWROOT [COMMAND...]chroot OPTION
setenforce [ Enforcing | Permissive | 1 | 0 ]
getenforcesestatus [-v] [-b]
seinfo [OPTIONS] [POLICY_FILE]
sesearch [OPTIONS] [POLICY_FILE]
getsebool [-a] [boolean]
setsebool [ -P ] boolean value | bool1=val1 bool2=val2 ...
id -Z
ps -Z
ls -Z
chcon [OPTION]... CONTEXT FILE...chcon [OPTION]... --reference=RFILE FILE...
fixfiles [-F] [ -R rpmpackagename[,rpmpackagename...] ] [ -C PREVI-OUS_FILECONTEXT ] [-l logfile ] [-o outputfile ] { check | restore |[-F] relabel | verify }"fixfiles [-F] [-l logfile ] [-o outputfile ] { check | restore|[-f]relabel | verify } [[dir/file] ... ]
restorecon [-o outfilename ] [-R] [-n] [-v] [-e directory ] pathname...restorecon -f infilename [-o outfilename ] [-e directory ] [-R] [-n][-v] [-F]
# touch /.autorelabel
system-config-selinux
/var/log/messages/var/log/audit/audit.log
# audit2why < /var/log/audit/audit.log
# sealert -b
深入閱讀......
2008年10月7日 星期二
在Mac OS X 10.5 中打開PHP支援
113 LoadModule bonjour_module libexec/apache2/mod_bonjour.so114 #LoadModule php5_module libexec/apache2/libphp5.so #就是這行115 #LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
114 LoadModule php5_module libexec/apache2/libphp5.so
# cp /etc/php.ini.default /etc/php.ini
305 ;error_reporting = E_ALL & ~E_NOTICE
305 error_reporting = E_ALL
# apachectl -k restart
cp /etc/httpd/users/$USER.conf /etc/apache2/users/
深入閱讀......
2008年10月6日 星期一
Python中的Unicode問題
# -*- coding: <encoding_name>-*-
# -*- coding: utf-8 -*-
unicode_str = unicode('這是中文', 'utf-8')
unicode_str = unicode('這是中文', 'big5')
unicode_str = u'這是中文'
>>> type(unicode_str)(type 'unicode')
print unicode('這是中文', 'utf-8').decode('big5')
raw_input(u'Please input')raw_input(u'請輸入')
import sysif sys.getdefaultencoding() != 'utf-8':reload(sys)sys.setdefaultencoding('utf-8')
深入閱讀......
2008年10月3日 星期五
台灣的民主包袱
深入閱讀......
如何修改Ubuntu的開機流程?
在Red Hat/SUSE的環境中,修改開機時開啟的服務是經由
chkconfig
這個命令來達到的,而開機的level則是修改/etc/inittab這個檔案裡面有一行
id:5:initdefault:
....^
這是預設的runlevel
以上是redhat/suse的方式
若要開機執行script,
Red Hat 版本請將script加入
/etc/rc.d/rc.local
SUSE則請將script加入
/etc/init.d/boot.local
目前ubuntu7.04已經不是使用上述的方式來管理開機,啟動方式是用upstart
各種設定檔案放在/etc/event.d底下
其中的rc-default檔案內容如下
=========================#
# This task guesses what the "default runlevel" should be and starts the
# appropriate script.
start on stopped rcS
script
runlevel --reboot || true
if grep -q -w -- "-s\|single\|S" /proc/cmdline; then
telinit S
elif [ -r /etc/inittab ]; then
RL="$(sed -n -e "/^id:[0-9]*:initdefault:/{s/^id://;s/:.*//;p}" /etc/inittab || true)"
if [ -n "$RL" ]; then
telinit $RL
else
telinit 2
fi
else
telinit 2
fi
end script
============================
仔細觀察可以發現裡面會先檢查/etc/inittab中有沒有
id:5:initdefault:
這行文字
如果沒有的話,則預設啟動為runlevel 2
如果想要修改預設的runlevel,可以有以下方法
1.增加/etc/inittab並寫入
id:5:initdefault:
2.將/etc/event.d/rc-default裡面最後的
telinit 2
都改成
telinit *
由於ubuntu的其他runlevel有什麼功能並不是十分清楚
個人查看rc3.d到rc5.d其中的內容幾乎都是相同
跟rc2.d的內容僅有差在S99stop-readahead以及S10powernowd.early
如果您只是不想要圖形介面的話,可以自行將rc2.d的資料夾內容中的
S13gdm
改名為
_S13gdm
即可
如果還是想要執行圖形介面的話
執行
#/etc/init.d/gdm
即可
以上方法個人沒有實際測試過,僅有根據手上的7.04 LiveCD及以下網誌推論
http://www.wretch.cc/blog/kenshinn&article_id=2536325
http://ku777.blogspot.com/
http://blog.mypapit.net/2007/03/where-can-i-find-inittab-in-ubuntu-edgy-eft-or-feisty-fawn.html
深入閱讀......
2008年9月28日 星期日
跨平台的Open Source模擬器-MAME
MAME(Multiple Arcade Machine Emulator)是一個很有名的模擬器(官方網站;Wiki介紹),由於他是開放原始碼的程式,因此在Windows上出現很多版本。Mac以及Linux上也有相應的移植版本。不過由於這些版本比Windows的版本還要舊,因此新支援的遊戲或是新功能可能要一陣子才玩的到。
MAME其實只是一個命令列的程式,利用各種參數來載入遊戲。
我們這邊介紹的則是MAME的前端GUI界面,可以讓大家用GUI做設定後傳遞給MAME作為執行的參數。
接著來說明Mac和Linux(以Ubuntu為例)上面要怎麼玩MAME。
Mac OS X;
MAME OS X
http://mameosx.sourceforge.net/
這是OS X版本的MAME,
根資料夾是
/Users/$USER/Library/Application Support/MAME OS X/
所以作弊檔cheat.dat放在這邊
rom資料則放在
/Users/$USER/Library/Application Support/MAME OS X/roms
附帶一提,最新版的MAME OS X在目前最新的Mac OS X 10.5.5中可能會卡在讀取的畫面,因而無法遊戲。
Linux(Ubuntu)
首先要先安裝kxmame
$ sudo apt-get install kxmame
之後在“應用程式”選單裡面的“遊戲”就可以看到kxmame了。
kxmame的根目錄是
/usr/lib/games/xmame
所以作弊檔cheat.dat放在這邊
rom資料則放在
/usr/lib/games/xmame/roms
記得除了rom以外,機板的bios也要一起放在roms資料夾中才可以打開遊戲喔
進入遊戲後可以按下tab進行按鈕的配置或是改變機台設定。F2則是開啟機台設定選單,F3重新啟動遊戲,ESC則可以離開遊戲。
說起來還是Windows版本的MAME成熟,目前比Mac與Linux版本多了遊戲文件的功能,可以在遊戲中觀看招式表,以及改變模式為家用模式等等。
最後,這些遊戲僅供試玩,若有興趣請購買正版喔!
深入閱讀......
2008十月份 SA@Tainan SELinux初探(10/11)
主題:SELinux初探
簡介:
SELinux是美國國家安全局為Linux設計的專案,目標是維護作業系統的安全。Linux kernel在2.6版之後亦將SELinux收錄其中作為作業系統安全性的最後一道防線。惟許多使用者不了解SELinux的功能,常常在架設網站時由 於無法讀取或寫入檔案而將其關閉,甚為可惜。本講請來在各大Linux討論版不厭其煩為許多新手解答疑惑的kenduest大哥,讓kenduest大哥 將SELinux的功能概略性的跟大家介紹一次。
講師簡介:
Kenduest Lee,一般朋友稱呼為小州,為自由的工作者。目前從事教育訓練與技術顧問等工作。
blog:
http://kenduest.sayya.org/blog/
時間:10月11日14:00:00-17:00
地點:台南市社區大學 3F 305教室
台南市社區大學網頁:
http://www.tncomu.tn.edu.tw/
地址:
台南市公園路750號
http://www.tncomu.tn.edu.tw/modules/tinyd5/content/map.gif
人數限制:60人
報名網址:
http://registrano.com/events/satn0810
原文網址:
http://phorum.study-area.org/index.php/topic,53697.0.html
深入閱讀......
關於網誌
我是一個興趣常常改變的人,最近想想應該來寫個網誌,把我寫過的東西有系統的做個整理。
初期可能會放上之前ptt Linux版以及酷學園的文章,之後可能有心得也會同步發表在這邊。目前可能盡量以Linux學習以及Python心得為主,有其他的東西補上再說囉!!
深入閱讀......