TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2008年4月30日 星期三

Super Cow Powers

應該很多人都已經知道這個東西了
反正也不是最近才出現的東西
如果在使用aptitude時打錯指令, 或是使用-h的話
它會出現說明, 而最下面那行是: "這個 aptitude 無超級牛力"
而如果使用apt-get -h時
最下面那行是: "This APT has Super Cow Powers."
超級牛力是啥?
下指令
apt-get moo
就會知道了
aptitude更有趣
請依序下這樣的命令
aptitude moo
aptitude moo -v
aptitude moo -vv
aptitude moo -vvv
aptitude moo -vvvv
aptitude moo -vvvvv
....
大概有六到七層左右(可能會因版本而有差異)
PS: aptitude的文字互動模式裡有踩地雷遊戲
Reference

2008年4月25日 星期五

我錯了

教授: CA啊,你看起來寫程式沒問題,可是怎麼期中考考成這樣啊?
我:   喔...因為我直到前一天晚上還在玩刺客教條....

2008年4月24日 星期四

衛生紙要丟馬桶?

前幾天看到新聞時才發現,原來我每次把衛生紙丟到馬桶在國外是常態XD
不過其實我會這麼做的動檵很單純....就是因為家裡的廁所垃圾桶不一定會裝好垃圾袋,然而我每次都是方便完了之後才發現沒垃圾袋,這時候就會丟到馬桶裡沖掉....反正量少的話也不至於塞住,之後就養成習慣了。
隔了二天發文結果是大便文....

2008年4月21日 星期一

Generate HTML form source code

剛剛找到了一個叫GLOBAL的東西,可以把source弄成比較好追蹤的形式。
安裝完之後,使用:
$ gtags
就會生成四個tag檔,包含源碼資訊,然後再用:
$ htags
就可以生成一個HTML的資料夾,裡面就是source的網頁格式。定義之間有連結,可以很快找出來。
其他有很多細節選項,自己讀文件吧。

2008年4月19日 星期六

我真的很會拖稿

事實上下面這篇是在半年多前就寫完了,而且只剩下HTML沒打上去。然而當時想說過一會兒再貼出來,沒想到一會兒會是以月來計算。
其實其他還有很多文章都是打完或是打到一半就腰斬的....

Enable SSL on Apache 2.2 at Debian Etch

安裝環境: Debian Etch
需要套件: apache2 openssl ssl-cert
有的文章會叫你去安裝apache-ssl,不過這是1.3的套件,另外一些文章會叫你執行apache2-ssl-certificate,不過這個也已經不包在2.2裡了。
所以說本文的目的是留個紀錄,確保以後我還記得怎麼弄HTTPS。
安裝需要的套件:
# apt-get install apache2 openssl ssl-cert
產生SSL根憑證:
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
這會產生有效期限一年的RSA key,路徑可以自己決定。
接下來會有一段設定根憑證發行資訊的問題,適當的填一下就好了。
-----------
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:London
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Debian
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
-----------
這樣產生出來的根憑證會有警告,因為發行的組織[?]並沒有被公共認可。不過取得認可是要錢的....自己看著辦吧。
為了安全起見,請設定一下private key的權限:
# chmod 600 /etc/apache2/apache.pem
通常apache2已經有編好SSL模組了。所以只要把可用模組link到已用模組就好。
# cd /etc/apache2/mods-enabled/
# ln -s ../mods-available/ssl.* .
因為預設只監聽port 80,你還要讓它監聽port 443,所以更改/etc/apache2/ports.conf,加入:
LISTEN 443
然後到/etc/apache2/sites-available/,修改VirtualHost的設定。我假設你沒有做太複雜的VirtualHost。
直接把原本的設定複製一份出來,然後分別改成:
NameVirtualHost *:80
NameVirtualHost *:443
之後在NameVirtualHost *:443的區段裡加入這兩行:
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
然後重新啟動Apache2就好了。記得自己打開443的防火牆。

2008年4月14日 星期一

Qt的543....

在暑假的時候就一直有這種感覺了,最近在逃避現實(?)的時候又有這種強烈感覺....
覺得它很神奇也可能是我程式寫太少了吧。
首先是它編譯的方式,必須要先用qmake產生.pro檔[?],然後再根據.pro檔生成Makefile,也可以用來生成VC用的專案檔。當然這也不算啥新鮮事,古早的autoconf和automake就是在做這檔事。
然後呢被C或C++摧殘過的人都知道一件事:Pointers are EVIL.
但是Qt卻反其道而行,在傳參數的時候卻大量使用指標,建構物件也幾乎都是使用指標和new,但是你卻很少看到需要自己delete的情形。這是因為Qt仰賴一種委派機制,把自己的生命週期交給上層物件管理,當上層物件被釋放時,自己才被釋放。
Well,其實這對GUI的設計來說還滿合理的,但是當你new一堆物件卻沒delete時,心裡總是會毛毛的XD[!]
被學院派教過C++的人應該也聽過,macros也是一個應該在C++裡極力避免使用的東西,但是Qt也是有很多很神奇的macros,像是Q_OBJECT, SIGNAL, SLOT等等...SIGNAL和SLOT甚至可以把函式轉成字串,再透過meta programming達成事件連結的功能....
缺點就是通常要到執行期才會發現signal或slot的錯誤。[?]
Meta Programming也是一個特色....前述的Q_OBJECT的功用就是用在這裡,總之它會根據macro另外產生出cpp檔,以達成signal/slot機制。
比較討厭的是它會強制要把介面和實作分離,而且不能用在template class上。
而它在事件的驅動部分,使用的就是signal/slot方式。簡單的說,每個類別都可以有若干signal和slot,signal用來發送事件,slot則是接收事件後的動作。你可以將任意兩個物件的signal和slot連結起來,而且不限定為一對一的連結。
這和callback有點不同,callback會讓物件有若干監聽函式,比方說onClick之類的,然後把你要觸發的動作包成一個函式傳進去。callback的做法比較簡單明瞭,但是有其限制。比方說現在你想要對一個按鈕元件監聽它的文字是否改變,這時候除非該物件有提供這個監聽函式,或是一定有某個事件會和它同時發生,否則很難監聽這個事件。
signal/slot機制則沒有這個困擾,因為類別的signal和slot函式都是可以自己擴充的,甚至可以在slot函式裡再發射signal出去。對於C++來說,唯一的缺憾就是,對類別擴充函式的唯一方法,就是繼承,這在很多時候不是那麼的方便。
附帶一提,Kate果然是KDE的爪牙XD[?]

2008年4月13日 星期日

Something about Aptitude

在Debian系的Linux系統中,文字介面的套件管理可能大家都習慣用apt-get了,但是其實aptitude才是它的前端介面。而aptitude若在不給參數的情況下使用,就會進入互動模式,就像是用文字介面構成的視窗一樣,而且支援一定程度的滑鼠操作。
不過其實重點是,選單裡的Action(動作)->Play Minesweeper(玩掃雷遊戲)...
真是傑作。

2008年4月7日 星期一

新增標籤雲展示

參考這個做出來的
不過我有自己再用prototype.js改寫一些東西(主要是hash)的部分。
等code進入穩定期再發佈寫法。
先去上課=.=b

2008年4月6日 星期日

Recover the key binding to KSnapShot in KDE4

在System Settings -> Input Actions裡
把KHotKeys的daemon啟用就可以讓快速鍵重新回來
按下PrintScreen又會自動呼叫KSnapShot抓圖程式
之前遇到不方便的地方都是自己去適應....但是果然還是要自己把它修掉比較好啊
....誰叫現在KDE 4這麼buggy....

2008年4月5日 星期六

2008年4月4日 星期五

Input method in Kubuntu 8.04

KDE4這次有很奇怪的特性,就是在textbox裡不能切換輸入法,可是在inputbox可以,這點困擾我很久了。
剛剛解決了之後才發現原來我一直在繞遠路= =
不多說,直接跳結果。
先編輯/etc/X11/xinit/xinput.d/scim-bridge這個檔案,把判斷scim-bridge的plugin是否存在的路徑從qt3改成qt4,然後再用im-switch -c把當前輸入法改為scim-bridge,隨後重啟X即可。
好像太簡潔了XD

補血

純粹是為了補上一篇靠北文的血而已。
這個作品是繼FORTUNE ARTERIAL之後拆的,沒想到會連續拆到二個以吸血鬼為題材的作品。
主題曲個人加分很大,後來找歌詞的時候發現有人拿這首歌去做灼眼のシャナー的MAD,可惜做得不怎麼樣就是了(笑)
附帶一題,這部是我看過第一部女主角心理強度比男主角還沒出息
然後也是第一部後日談會分兩段整人的作品

不蘇胡

連續三天踩到二個雞肋作品....有點讓我想婊人。
畫風都OK,音樂表現也不錯,人設也很好,但是都敗在劇情路線上,結束的時候還有:啊?這樣就沒啦?的感覺。其中一部甚至是男配角的戲份差點蓋過女配/主角,搞屁啊?我管你聲優是不是綠川光,我寧願和榊原ゆい之類的女角多一點劇情,支線和主線的輕重根本沒分清楚啊!靠!明明很好發揮的人設就這麼被做爛了,這才是令我覺得最可惜的地方....
看來春假還是乖乖地寫作業好了....

2008年4月1日 星期二

助教真仁慈

Compiler作業助教說如果不用regex底下的matcher和matches就可以加五分,但是我實在不想為了那五分bouns去浪費生命自己實作一個match,就直接用String::matches去比對字串。
結果那五分還是加上去了....理論上來說String的matches就是用regex那個package去實作的說,助教真是好人....