What have you found for these years?

顯示具有 飽和脂肪星 標籤的文章。 顯示所有文章
顯示具有 飽和脂肪星 標籤的文章。 顯示所有文章

2008-06-10

意外更新了首頁

因為 myopenid 不知道怎樣,認證過一段時間,又變成沒認證?
登入 dns 檢查,認證用的 CNAME 又不見了,不知道是自己不見的,
還是我自己刪掉忘記了?

一怒乾脆用 web page 認證算了。CNAME 每次都要等半天。
不過 godfat.org 原本是 redirect to pages.godfat.org...
所以還是需要動到 domain name. 把他轉到 slice.godfat.org,
應該不會有人來攻擊吧?希望首頁就能暫時一直維持這樣,
google page 實在是... 有點殘廢。

其實原本我還是把他導向 phpbb.godfat.org, 想說認證就好了。
可是等半天,我自己 nslookup 和 curl 都已經抓得到最新的了,
他的認證就一直沒抓到,然後又不能叫他瞬間檢查,一定要等他自己跑...
他可能半小時跑一次吧,我猜?

焦躁不安之下,乾脆整個導到 slice.godfat.org, 就重作首頁吧!!

把 pages 的資料抓過來,整合之前的 index.xhtml, 就這樣隨便兜出來了。
不過比起 pages, 實在是有點醜... 因為落差太大的情況下,就乾脆連 css
都加上去好了。原本我是一個 css 都沒寫。

暫時就先只弄了 margin. 不過我不太懂 margin 和 padding 有什麼差?
剛剛測了半天,還有 float, position, 等等東西,要駕馭好像不能光看手冊。
亂改跑出來的東西都有點恐怖...

然而我發現我有點手刻 xhtml + css 中毒了。
說要遵守 xhtml 1.1 很難,但從頭手刻到尾的話,其實很容易。
只是趕時程時,就很難顧慮到這部份,畢竟,亂搞也是能跑啊...

所以說如果能手刻多好啊(誤)

總之貼貼紙真的上癮了。手刻有沒有上癮倒是其次。

嗯,下次來弄 feeds, 這樣就能再貼 atom 1.0 和 rss 2.0.
不過這樣拿 rails 出來會不會有點太小題大作了?
我 server 上記憶體也不夠再跑一個 server 了...

只好作成寫死的,我猜。反正不常更新,用手刻 feeds 其實也無妨。

2008-05-16

DataMapper 0.3.x to 0.9

我一直嫌棄 rails 用 migration + active record 很難用。
但更不要叫我去碰 SQL... 因此我一直想找個更好的 ORM,
第一個看到的當然就是 nitro 的 Og. 無奈剛剛翻翻 nitro 的
mailing list, nitro 除了已經一年沒有進展外,看來也不會
再有什麼進展了。除非,有什麼人真的有心要做吧。

http://adam.speaksoutofturn.com/articles/moving_on_up.html

看了半天,要至少能有 Og 感覺的東西,目前好像只有這個 DataMapper.
稍微試了 0.3.2, 還不錯,不知道複雜的東西跑起來會不會有問題?
希望哪一天 rails 能捨棄掉這種 table driven 的討厭模式....

我真不懂為什麼 rails 要強迫把 model 分成兩個部份?

另一方面,nitro 的後繼者似乎是 ramaze.
http://ramaze.net/

既然 nitro 可能難產了,就期望 ramaze 可以站出來吧!

其實 rails 很多地方我是真的不太喜歡。隨便舉些例子好了:

1. 請不要把 main wrap 起來好嗎,wxWidgets 就這樣搞。Qt 沒有!
2. 不要產生一堆垃圾好嗎... 一個空 rails projects 也挺大的...
3. model 被強迫切成兩塊,這是最討厭的一點

嗯,大概就以上三點,其他大部分都還不錯,期望 ramaze 趕快追上來,
nitro 一看到就非常喜歡,真無奈就是不做了...
好多人都說很可惜啊,怎麼會落到這種下場?
也許就像 mailing list 上某人說的,還是需要 rubyforge 的 svn 吧。
darcs 會用的人大概不多?

另外不知道 merb 進展得如何。聽說他跟 rails 很像,那,why merb?
maybe some improvement... but i want some thing fresher.

==

我在思索 blog 與 forum 之間的關係。對我來說,如果有 forum 就
不會想要 blog 了。但是自己架的東西又怕掛掉,這樣會很慘。
所以也許以後就寫個 script, 把 forum 上的東西彙整過來,
當作備份,當作另一個 entrance, 或許這是比較好的方式吧。

好多計畫 :(

2008-05-15

redmine 資料庫重建...

資料庫重建

因為我幹了蠢事!
把 environment.rb 中改成 production,
然後跑了 rake test!!!

我從來沒想過這樣會變成用 production 環境去跑測試!
這也太扯了吧...

結果資料庫就變得亂七八糟,我乾脆重建算了...
反正原本也沒什麼內容 :(
真是夠蠢的了...

也沒想到要備份,誰知道這樣會洗到 production 環境啊...
唉唉

2008-05-14

git, redmine, and others (3)

最後一篇。

所以 Redmine 就暫時當作飽和脂肪星的論壇?
http://pm.godfat.org/projects/planetsf/boards

如果說專案管理能跟論壇放在一起,也是個不錯的方法。
現在我希望都能選擇 rails 或其他 ruby framework 的 app,
原因很簡單,這樣我才好修改。

前幾天試了 drupal, 這真恐怖,潛力非常大,功能非常強,
可以改的東西非常多!可是 php 我不熟啊,要改東西就很不方便。
碰到問題也比較不容易知道怎麼處理比較好。

像這次 redmine 其實我就有動到他 source code...
我幫他 cache javascript 和 stylesheet... 原本居然沒 cache?

還有就是,我發現 rails 的 app 通常都滿漂亮的,
平均而言做得比 php 的 app 好看。平均啦,當然。

那就這樣,希望一直沒有做的東西能這樣繼續做下去。

2008-05-13

git, redmine, and others (2)

眼睛又開始很疲倦了,趕快打完要休息了...
今天打字太多,手也酸了 :(

總之,總算把 Redmine 架起來了:
http://pm.godfat.org

server os: Arch Linux (版本:Don't Panic)
load balancer & static files server: nginx 6.3 with unix domain socket
rails server: thin 0.8.1 with unix domain socket *3
database: PostgreSQL 8.3.1 with unix domain socket
ruby: 1.8.6 p-114 [x86_64-linux]
redmine: 0.7.1

嗯,真的弄了很久,先是更新 nginx 的版本,我原本是自己灌的,
現在 pacman 裡面已經有 nginx 了,就改用他的版本。
然後我發現現在有 /etc/rc.d, 跟 red hat 系的 init.d 好像啊!
用起來超方便的...(痛哭流涕)

不過理所當然的,用那邊的東西,就變成都用預設的設定。
為了更改成我要的設定,真的是搞了半天...

先是權限的問題,不知道要怎麼設權限...
我現在的結論是,server 的東西好像真的不要放在 /home/godfat 底下。
除非你想用自己的帳號去跑 server... XD

權限管理真的很嚴格,真的是很引誘人都全部用 root 跑就好了 XD
這大概也是為什麼 postgresql 限制你絕對不可以用 root 跑吧 XD
真的是很好很強大,不過我不太會用...

想說設 unix socket, 也搞半天。最後才發現,原來不用設定就有了。
害我試半天,加上 safari 的 cache, 讓我沒發現我一直在看舊頁面...

這樣 rails 裡 database 的設定就可以非常單純,只要 user, database,
adapter 這三樣就好了。不用 password 是因為反正我 postgres 只允許
local 的 unix socket 通過,其他通通關掉。(不知道 user 能不能再省略?)

不過 postgresql 的概念和 mysql 差異滿大的,我不是很清楚
schema 和 database 之間有什麼差異... 我記得那時候看到的資料是說,
mysql 缺少其中一種概念。

其他的就都很好搞定了。nginx 的設定非常簡單,之前設 beast 也都搞過。

==

試用之後發現...
Redmine 真的是超強啊!!
scm 有一堆可以選,設了 subversion, 連到:
http://shooting-cubes.googlecode.com/svn

等半天,我還想說怎麼那麼不穩,這樣就掛了。
有回應之後才發覺,他大概是把所有的 revision 都抓下來了?
看看這精美的 log:

http://pm.godfat.org/repositories/changes/cubeat/trunk/include/model/Cube.hpp.eruby

看看這精美的 annotate:

http://pm.godfat.org/repositories/annotate/cubeat/trunk/include/model/Cube.hpp.eruby

看看這精美的 diff!! 任意挑兩個 revision!!

http://pm.godfat.org/repositories/diff/cubeat/trunk/include/model/Cube.hpp.eruby?rev=263&rev_to=259

多棒的顏色標記,各種 revision 的顏色都不同,
花花綠綠五彩繽紛,每一行的作者都有寫!!
這根本就完全幹掉 google code 上的 source browse 了啊 XD

更別提這只是 redmine 裡其中一個,repository 的瀏覽功能,
而且這只是 svn!! 晚點我一定要試試他對 git 的支援如何?
不知道會不會為每個 scm 客製化!?

所以我也開了這個:
飽和脂肪星 暫時論壇 XD

他的權限控制也很強大,可以自己增加 role,
每個 role 都可以設定不同的權限。可惜的是,
他畢竟不是論壇,太細節的設定不能設,例如
我不能開一個公告區的權限跟一般討論不同。
這樣可能要開其他的專案出來才能區分。

但這本來就不是 project management 的內容,所以以 pm 而言,
我覺得這根本就已經是接近完美了 XD

是時候來試試 issue tracker, wiki, 等等功能了!

待續

2007-09-07

living on the edge

如臨深淵,如履薄冰,相當貼切的說法。
所以除非是被證實不穩定了,否則可以的話都使用最新版,
且強迫程式與標準相容。

1. latest stable version
2. standard compliant

g++ -std=c++98 -pedantic -Wall -O3 -Os

sudo port upgrade outdated
sudo gem update

XHTML 1.1, CSS2, Atom 1.0(糟糕,還沒做﹍)
甚至連 indent 都要做啊 XDXD
不過這個大概就真的是要等太閒時才去做了,畢竟已經
完全是只有「爽」的意義也很無趣。

我記得我還有要講什麼的,不過居然就忘了。
那就補充一下 beast 的狀況好了。
由於我已經把 content-type 在 firefox 和 opera 之下
改為 application/xhtml+xml, 所以 xhtml 本身一定要是
well-formed xml, 否則會 parse error.

firefox parse error 之後就死了,看不到內容,這很嚴重。
opera 可以重新使用 html parse 一次,至少可以看看屍體。
safair 無論如何不收 xhtml, 所以無法讓他跟 ie 有所區別,
那就一律不送 xhtml... 更何況 safari 對 xhtml 的處理似乎也有問題。

可是 forum 有太多 user input 了,這實在很麻煩,
再加上 redcloth 的影響,很容易產生意外的 unclosed tag...
所以我找了 tidy 來解決這個問題,讓 redcloth 處理完的 content,
以 xml 格式輸入給 tidy, 讓 tidy 把該 input 處理成 well-formed 形式,
這樣就可以確保 user input 不會打壞 xhtml 的格式。

這部份的程式碼要加在 plugin white_list_formatted_content,
因為 redcloth 是在該處呼叫的。tidy 要安裝 tidy, 取得動態 lib 檔,
windows 下是 dll, linux/unix 下是 so, mac 下居然是 dylib.
然後安裝 gem tidy, 在 client 端 hard code tidy path,
很爛的方法,我想應該是要寫在 environment 裡面吧。

不過我碰到個很大的麻煩,自己的電腦上沒問題,但 server 呼叫
tidy 一直 segmentation fault, 參考了 gem tidy 的 patch,
卻發生一樣的錯誤,不過錯誤的地方改變了。這部份可能還要研究一下,
而且說不定沒辦法解決。最慘的方式就是去抓其他的 so 檔一個個測了。

說到這,我電腦的 gem check --alien 都會失敗,不知道為什麼?
反倒是老是有問題的 server 可以跑這個 check...

話說回來,我看我 c++ 都快忘光了,變成 major ruby + action script...
haskell 的話根本就不熟,不便拿出來說嘴 XD

open source 才是王道啊!!不斷不斷修改程式碼才是最有效率的。
今天也很輕易地就把一部份實做完整拉出來變成各種 imp,
效果好到自己都有點難相信。感覺很有 template method 的味道。
而這種事,可絕不是第一次下筆就能達到的,都是要不斷不斷修改才行。
所以 open source 是必然的,哈哈。

可惜只是單純釋出程式碼其實沒什麼意義。各個小程式其實自己都該收好的。
有些地方是真的相當滿意喲,就這樣放著不管實在有點可惜。無奈懶啊。

firefox memory leak 真的是太嚴重了﹍﹍。
老實講,opera 確實值得推薦,沒有 firefox 強,但是相當可靠。
firefox => 最強大
safari => 最漂亮
opera => 最可靠
ie => 一堆最

beast hacking history

http://beast.godfat.org/forums/1/topics/23

1. YSlow Score

a. javascript tag 從 head 移動到 body 下。
b. 使用 minjs 將 javascript 變小。
c. 用 cat 將所有 javascript 合併。
d. server 設定好:gzip on, 放 expires header.

最終:首頁 92 分。

2. XHTML Transitional

a. 照著 validator 修改,width 改用 css 控制,刪除不正確 tag,
補充缺少的 tag, p, div 位置調整,等等。

3. CSS

a. 照著 validator 修改,刪除所有 x 開頭的怪東西,顏色名查表用色碼代替。

4. XHTML 1.1

a. 照著 validator 修改,Content-type 由 plugin restful_xhtml 控制,
可以使用 application/xhtml+xml 處使用,否則使用 text/html.
b. 修改不正確的 id 名稱
c. 捨棄原本的 format.html{block}, 取代為 xhtml_or_html(format){block}

5. Feed Atom 1.0 and RSS 2.0

a. 引入 gem feedtools, 一個 template 同時生 atom 1.0 與 rss 2.0.
b. 捨棄原本的 rss template, 由 atom_or_rss(format){block} 取代。

6. redcloth with well-formed xml using tidy

a. 儲存 body_html 除了使用 redcloth 處理過一次外,
再另外丟給 tidy 負責使 xml 成為 well-formed.
這部份需要修改 plugin white_list_formatted_content

2007-08-26

IE 6/7 回來了 XD

做了相當大量的修改與觀察後,IE 6/7 又重新回來了。
好吧,其實我只有測 IE 7, 因為灌完 IE 7 我的 IE 6
就不知道跑到哪裡去了﹍。

anyway, 我灌了這個 plugin: RESTful XHTML
理所當然地,我完全不知道 restful 是什麼意思 XDD
總之這篇看完之後,我才知道原來是我自己誤會前面的那個 plugin,
他做的沒有錯,只是正好 firefox prefer xml over html,
所以才會產生送回 xml 的狀況。這也是我翻了翻 beast src 才發現的,
他很多 action 都有支援回傳 xml 的狀態,有些還有 js 的!

然後我才知道,原來 client 還可以送出他 prefer 什麼東西,
接著 server 再根據這清單送出資料,才會有按下 edit 用 ajax call,
會原地展開,而直接去 get 會得到一個全新的頁面。
剛看到我真的很納悶,他該不會自己去 parse 掉中間的內容吧?
原來是還可以有這麼巧妙的方式,同個 get 回傳不同東西。

不過要把這個考量進來的話,每個 browser 就很明顯都不一樣了﹍。
firefox prefer xhtml, opera 吃 xhtml,
safari 吃一半,有些顯示不正常。ie 則是完全不吃.
然後 w3c 的 validator 又不一樣了,他吃 xhtml,
但是他 prefer 不吃 = =b 這真的是很莫名其妙﹍﹍。

很混亂,所以我只講結果好了。最理想的狀況就是用 restful_xhtml 的
want_xhtml? 去判斷,true 則丟 xhtml(xhtml 1.1), false 則丟
html(xhtml 1.0). 可是這種情況就會變成,只有 firefox 吃到 xhtml,
因為只有 firefox(include all gecko based) 會 prefer xhtml...
可是事實上,opera 是吃 xhtml 的,那為什麼不給他?

於是我改了一下,用 google 來的這段程式碼:
@request.accepts.include?( Mime::Type.parse('application/xhtml+xml') )
然後加到 ApplicationController 裡面,取作 accept_xhtml?
這樣的話,opera 就可以吃到 xhtml 了!可喜可賀可喜可賀。

不過 w3c 的 validator 還是不吃﹍﹍。他還是堅持使用 html XD
除非我強迫他使用 xhtml, 否則他一定使用 html, 這實在是很討厭,
畢竟如果我強迫使用 xhtml, 那 safari 就會有一點點不正常,
而 ie 則會完全死掉 XDDD 如果能簡單做點 workaround 就能讓 ie
也能使用的話,其實也沒什麼不好,雖然我討厭他,他跨平台更重要 XD

所以我後來決定,把 DOCTYPE 寫死好了,這樣 validator 才能 validate
xhtml, 雖然會噴 warning, 可是我真的覺得那是他自己不吃的問題,
人家 firefox 和 opera 都好好的﹍﹍。

於是 DOCTYPE 寫死了,firefox 和 opera 可以正確使用 xhtml,
但 safari 和 ie 則是使用有點假的 xhtml XD 至於 validator 那怪狀況,
實在不知道該說他什麼,似乎比較像 bug...

RESTful XHTML 還算不錯,滿方便的,至少 mime-type 的部份處理都正確,
還能輔助產生一些 tag, 比之前那個 plugin 是來得好。不過 restful
究竟是什麼意思啊? XD 是指可以有多種輸出嗎?

所以我最後的 hack 就是把:format.html &block 改成:
xhtml_or_html format, &block
這個 method 寫在 ApplicationController 裡面,
實做則是:accept_xhtml? ? format.xhtml(&block) : format.html(&block)

所有的修改都是遠端操作,所以我用 vim, 天啊,真的很不習慣,
一直出現 500 error 然後調查結果發現是 typo...
而且使用 vim 會讓手一直放在鍵盤上,害我覺得關節有點不舒服。

另外,我後來才知道 port 的 variant 要這樣用,於是我的 vim 和 nano
也終於支援 utf-8 了。
sudo port install vim +big +huge +multibyte +ruby
big huge 不知道是什麼,亂加的 XD 我之前一直試:+multi_byte
+multi-byte 結果都錯,沒想到是全部黏在一起﹍。
sudo port install nano +color +mouse +utf8 +wrap

大概就是這樣了。至於目錄那個首頁嘛,他是靜態檔案耶,要不要為 ie
特別調整我再考慮看看,如果有簡單的方法就可以做,麻煩或是太暴力就算了。

bq. It’s basically saying, “Just give me whatever you’ve got,
I can handle it, no problem!”. This is, of course, a lie.
We know IE7 can’t handle XHTML.

2007-08-25

IE 6/7 再見 XD

成功地徹底把 beast 修改成符合 XHTML 1.1, 要改的地方
其實還滿多的,最主要的應該是 mime-type 吧。rails 預設
輸出應該是 text/html, google 上找到個 plugin 可以讓
rails 在吃 xhtml 的 client 輸出 application/xhtml+xml,
而在不支援的地方輸出 text/html. 好像很美好,但那程式寫壞了。

edited: 看來是 beast 本身有對 xml 特別處理,這部份我要再改改看,
也許可以用更漂亮的解法,現在這樣有點詭異。

丟給 validator, 他居然還是吃到 text/html, 所以警告我
xhtml 1.1 需要使用 application/xhtml+xml, 而 firefox...
好慘啊,只會吃到一個奇怪的 xml 檔,而其他 browser 則看起來都正常。
ie 因為不方便試就沒有試了,我想應該也不會有問題才對。

我最後還是決定移除那個奇怪的 plugin... 然後重新尋找修改
mime-type 的方式。後來我才忽然想到,我不應該用 before_filter,
而應該用 after_filter 才對,因為是 monkey patch 嘛﹍
然後就成功把警告移除了。

不過我後來用 IE 6 去看,發現他根本不認得 application/xhtml+xml XDD
然後我很瘋狂地去找了 IE 7 去試發現他居然也不吃 @_@
隨便 google 了一下,發現這篇文章:
The <?xml> prolog, strict mode, and XHTML in IE

我沒有細看,因為我對 IE 不感興趣,只知道 IE 7 確實也不會支援這個,
那我就不管 IE 了 XDDD 反正,也只是個人的網站,是吧 :p
順便 deprecate IE 我覺得也沒什麼不好... 那讓人抓狂的 browser.
看看 IE 8 會不會對此有所改善,根據上文,也許會吧。

目前測試可用的是:
1. Firefox (include all gecko based browser)
2. Opera (其實這個某些地方還算蠻不錯的)
3. Safari (還有奇怪問題,晚點再看看要怎麼做)

然後我發覺用 xhtml 1.1 有個好處,就是他對什麼檢查都很嚴格,
當然這對 porting 來講是很痛苦的,但是只要一旦 port 過去,
整個網站就會變得很漂亮。(當然是指程式碼﹍﹍)我還因此抓到
好幾個 beast 寫錯的地方,例如某個 tag 沒有 end, 某個 id 寫錯。

xhtml 1.1 validator 真厲害,連 id 有沒有寫錯都會檢查,
這邊 id 寫錯可是有可能會造成 critical 且難以 debug 的問題呢。
因為一般 browser 容錯能力都太強了,這也代表著被誤解時,
真的是很難去辯解,對方的「先入為主」實在太強了。

希望網頁界大混亂的情況趕快結束,嚴格的標準是解救啊。要遵守當然痛苦,
但是後來是可以獲得很多好處的。

CSS2

其實 beast 本來就幾乎符合 css 標準了,只差了一點,
多了些奇怪的 x 系列,還有幾個顏色字查無此人,套顏色碼
進去就好了。隨便 google 了一下就有個對照表可以照著用。

色碼我不怕有問題,最多就是顏色變了些罷了。但那些 x 開頭的
讓我有點擔心,會不會讓排版跑掉。google 了半天都查不到,
卻讓我查到這個:
What are the "x" attributes in CSS?
http://beast.caboo.se/forums/1/topics/1222

bq. The CSS in Beast specifies various attributes with an “x” prefix: xfloat, xbackground, xcolor, etc. What are these attributes? They’re not valid CSS, and I can’t find anything about them in Google.

bq. I think it’s just a lazy way to clear them without putting proper /* comments */ around them.

翻桌!也未免太懶了吧!!為此不合標準不是很沒意思嗎?所以我把他們
都註解掉了。不過看到這段話才發覺,原來那 css 不是 beast 作者
寫的。那版面還做得不錯,究竟是怎麼辦到的?我還以為是一起寫的。

總之,XHTML 1.0 Transitional + CSS 都過了,所以我貼紙也都貼了 XD
下一個目標是試著改成 XHTML 1.1 ? 如果好改的話,會試試看。

星之水餃

2007-08-23

XHTML 1.0/1.1

雖然說網頁應該要符合標準,不過這真的是很難的一件事,
我估計全世界符合標準的網站應該少於 0.000000001% 吧。
不過仍然致力於此,標準、跨平台、多國語言、這些東西是有其效果的。
花了一點時間,成功把 星之水餃 改成 XHTML 1.0 Transitional,
於是歡欣鼓舞地貼上了貼紙,導致 YSlow 降低了一分﹍。(默)

如果抓下來丟到我的 server 上出圖,我猜應該可以把分數加回去,
不過想想還是算了,這樣做意義也不大,反而造成貼紙格式不統一。
所以呢,現在首頁的 YSlow 是 91 分,應該是接近極限了,
除非我把一些服務也關掉,例如 google analytics, gravatar,
諸如此類。雖然說 google analytics 其實說不定不需要,
畢竟 rails log 拿 tool 出來分析可以看到更詳細的結果。

但是有些東西就只有 google analytics 才有,例如 keyword
這種超好玩的東西。所以還是放上去好啦 :D

話說回來,XHTML 1.0 Strict 和 XHTML 1.1 真的都超難符合的。
我的目錄(http://godfat.org/)東西少,所以很簡單,哈。
但是 table 一多起來,這兩個都幾乎是沒辦法符合,非常難,
除非所有的 XHTML 都用手去打造,那當然做得到,但是很費工夫。

除此之外,css, rss, 這兩個檢查也過不了。前者我想有些是為了
不同 browser 的 compatibility, 所以不便亂改。而後者呢,
規定了一些很無聊的東西,如作者一定要提供 email address,
我想這沒什麼意義,要保護隱私啊,難道全部填我的算了?真無聊。

所以就這樣了。
話說,beast 只差一點點就能符合 XHTML 1.0 Transitional,
(所以我才能這麼快改成功)真想 commit 上去 XD

公告,嘎,新網址正式啟用

星之一角 2.1.2 http://blog.godfat.org/

由於我總算了解 virtual host 是拿來做什麼的了,
所以我有辦法做 redirect 了﹍ XD
那就正式啟用。雖然很不幸的是,只能做首頁的轉址,
我想應該有更好的設定法,不過我不知道該怎麼做。(定期砍站?囧)
有人會的話可以麻煩指導一下 :p 是用 nginx, 這真的很好用,
個人是覺得比 apache 和 lighttpd 都好用很多。

只用 rss 來讀的人,不知道會不會發現?沒關係,我做了
一個 fake 進去|||b 把 atom 抓下來,丟到相同路徑上。
當然要定時更新也行啦,只是算了吧,就讓他時間暫停,
然後請記得更新路徑這樣比較好。

其實我下午弄得腦袋一團亂,因為我一直在想怎麼做會最好,
結果就是改來改去,dns 的更新又不是那麼快,實在很煩。
而且 godfat.tw 能設定的數量,沒少到毫無選擇,卻也沒
多到所有的東西都能弄上去,變成要在幾個選項中選擇,很困擾。

anyway! 統統視為 historical reason 就好了,不要去管
godfat.tw 和 godfat.idv.tw 會連到哪裡去,最後要統統換成 godfat.org,
因為他的 dns 真的能隨便我設定,自由度很大,而且一按就更新,
不像 pchome 他還要你等一天﹍﹍。一天更新一次會不會太久了?

於是現在架構大概是這樣:
godfat.org => 目錄
www.godfat.org => 導向上面

forum.godfat.org => 導向目前論壇,現在是 beast.godfat.org
blog.godfat.org => 導向目前 weblog, 現在是 blogger.godfat.org
wiki.godfat.org => 導向目前 wiki, 現在是 moin.godfat.org

然後額外的是 phpbb.godfat.org, 導向之前的飽和脂肪星,
也就是我用最久的那個 phpBB2 論壇。現在都被我拿來堆個人備份資料而已﹍。

也就是說,首頁當作目錄,服務名稱當作入口,使用的軟體或服務當真正名字。
假使 beast 太難用,我決定關掉了,那我會把 forum.godfat.org 導回
phpbb.godfat.org. 如果 blogger 不想用,想改成 wordpress,
可能就把 blog.godfat.org 導向 wp.godfat.org 吧。
然後 blogger.godfat.org 當然還是屬於 blogger service 的入口。

程式寫久了,就會不斷想彈性﹍有時候還滿困擾的,因為會變得很複雜。
不過總算差不多都搞定了,剩下的只是,希望 ym 那台 server 不會掛掉吧 XD

ym.godfat.org 目前是導向 beast.godfat.org, 而 ym.godfat.tw 則是
導向 ym.godfat.org, 所以之前連結還是有效的。virtual host 真好用﹍。
nginx 真好用﹍。

然後 wiki 是應要求所以去找來的 XD 看半天,不想用 php 的,也不想用
perl 的,ruby 的好像都還不夠成熟,所以就選了 python 的 moin moin,
看起來是滿強的,試試看吧!他有個很大的好處,安裝非常容易,內建 server,
不用 db 而使用 file system, 打包一下全部資料都能帶著走!

其實我也是比較喜歡這種形式,只是 forum 好像沒聽過是這樣做的,蠻可惜的。
希望 active_record 會有 file system 的 adapter 啊 :p
人家 Og 都在實驗了﹍等 nitro 成熟,搞不好我一下就跳過去了 :p
rails 是很強沒錯,但是 migration, table-driven 這些模式,
我實在不喜歡啊。跟 relational database 打交道真討厭,
我是物件導向的忠實支持者啊 XD

擷取 godfat.org 目錄下的資料:

2007.08.23

[公告] godfat.idv.tw 將慢慢捨棄,也不建議使用 godfat.tw,

可設定的東西也不夠多, 以後將完全使用 godfat.org



Valid XHTML 1.1



這個 blog 當然不符合 XHTML 1.1, 不過我的目錄是符合的。
我也是個標準狂熱者﹍。凡是能符合標準的都要符合。狂衝 YSlow 的分數也是。
不過 IE 6 看起來會如何我就不知道了,現在要用 IE 很麻煩,
以後再看看要不要用 IE review 一次。

另外,email 靠 google app 也能用喲。godfat 阿特 godfat 大特 org
不是自己架的 mail server, 是會寄到 gmail 去。
beast 的 email 機器人則是用 robot 啊忑 godfat 打特 org
其實亂寄 askfilawo 欸特 godfat 踏特 org
同樣可以收到﹍。真是太方便了,這樣我就有無限 email address 可以用了 XD
檢查 email unique? ccc, 我可以用 robot 生有 sn 的 email address,
而且都可以正常使用,就好像真的有這個人一樣 XD

不過原本的帳號也不會拋棄就是了,畢竟 gmail.com 這個字眼還是很好用。

google app 真的是太棒了 XD
如果未來有好用的 google hosting, 也許我會掏錢來用用 XD

*

除了網址外,網站結構也換了很多,是謂 2.1.2...
minor 不打算減少,因為這跟程式不一樣,每個 number 都是一個事件 :p

2007-08-22

公告,本 weblog 換網址,要更新吶(http://blog.godfat.org/)

http://blog.godfat.org/
不過現在還無效,有一些原因,我懶得描述了。至於為什麼要換,
因為我跟 enom 註冊了 godfat.org, 他的 dns server 能做的事,
實在是多出 pchome 太多太多了。根本就不能比,pchome 好爛 XD
而且還比較便宜﹍﹍。長痛不如短痛,以後一律使用 godfat.org 好了。

不過 pchome 給的 dns 根本沒辦法做任何轉址,連用 host name 都不行,
所以我只能暴力轉換,就麻煩有「讀者」的話,麻煩一點,換個網址。
很抱歉,但由於沒有 dns server, 也只能做這種暴力事了。

一週後正式切換。08.30 的時候,blog.godfat.idv.tw 將轉向
beast.godfat.org, 上面會寫新網址,但是不進行轉址,所以文章連結
必須換成 blog.godfat.org

以後的規劃將會是:
godfat.org 首頁(先導向飽和脂肪星)
www.godfat.org 同上

forum.godfat.org 主要論壇(先導向飽和脂肪星)
phpbb.godfat.org 現在的飽和脂肪星(用 phpbb 架的)
beast.godfat.org 現在的星之水餃(用 beast 架的)

wiki.godfat.org 以後有機會會弄的 wiki(moin moin perhaps)
blog.godfat.org 現在的星之一角(blogger service)

至於 godfat.idv.tw 與 godfat.tw 呢?
一律保持原樣,blog.godfat.idv.tw 會導向任何可以指引到 blog.godfat.org 處
(有 dns server 時會想辦法直接轉到 blog.godfat.org)
godfat.idv.tw 與 godfat.tw 都會導向 godfat.org, if possible
至於其他雜七雜八的,同等對應,www 對應 www, forum 對應 forum, etc.

最後我會考慮放棄 godfat.idv.tw, 至於 godfat.tw 則再看看(這功能比較強)
如果可以把 pchome 捨棄掉,換其他有提供比較好的 dns service,
或是可以獲得一個穩定的 dns server, 我可以考慮繼續維護。

summary:

http://blog.godfat.org/
08.30 後正式切換。屆時原連結:blog.godfat.idv.tw 會失效,
可以的話我會想辦法做 redirect
(需要 dns server 或另一台能做 homepage redirect 的 server)

Fedora Core 6 上安裝 beast (3)

覺得 pound + lighttpd 太麻煩嗎?又翻到一個應該不錯的選擇,
是一個俄國人寫的 http server, 也具有 reverse proxy 和
load balancing 的能力。

godfat ~ 3.2$ port info nginx
nginx 0.5.29, www/nginx (Variants: universal, dav, flv, mail, ssl)
http://nginx.net/

Nginx ("engine x") is a high-performance HTTP(S) server and reverse proxy,
as well as an IMAP/POP3 proxy server. Nginx was written by Igor Sysoev for
Rambler.ru, Russia's second-most visited website, where it has been running
in production for over two and a half years. Igor has released the source
code under a BSD-like license. Although still in beta, Nginx is known for
its stability, rich feature set, simple configuration, and low resource
consumption.

這個字實在是很難記…不過討論翻來翻去,他 serve static file 的效能和
lighttpd 在伯仲之間,而 load balancing 是正常可用的。所以與其使用
pound + lighttpd, 單用 nginx 可以簡化一些流程。我想缺點就是設定上
還是比 pound 複雜些,不過我個人是覺得比 lighttpd 簡單了。另外 nginx
好像沒有 windows 版,而 pound 和 lighttpd 都有 windows 版,
我想這對某些情況可能也是個考量吧?

雖然之前因為英文文件太少所以不太流行,但最近似乎還算有蠻多人推薦的,
而且這在俄國好像還蠻廣泛被使用的,試試應該無妨。

sudo yum install nginx

跟 lighttpd 一樣,一起丟到 beast 目錄下比較容易管理。
cp /etc/nginx/nginx.conf \
/home/YOUR_NAME/projects/beast/stable-1.0/config/nginx.conf
cp /etc/nginx/mime.types \
/home/YOUR_NAME/projects/beast/stable-1.0/config/mime.types
前者是 config 檔,後者是 mime-type 設定檔,會被 include 進去。

nano config/nginx.conf
=======================
user YOUR_NAME YOUR_NAME;
worker_processes 1;
pid /home/YOUR_NAME/projects/beast/stable-1.0/tmp/pids/nginx.pid;

error_log /home/YOUR_NAME/projects/beast/stable-1.0/log/nginx_error.log;

events {
  worker_connections 1024;
}

http {
  include /home/YOUR_NAME/projects/beast/stable-1.0/config/mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] $request '
                  '"$status" $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /home/YOUR_NAME/projects/beast/stable-1.0/log/nginx_access.log main;

  sendfile on;
  keepalive_timeout 65;

  gzip on;
  gzip_min_length 1100;
  gzip_buffers 4 8k;
  gzip_types text/plain text/html text/xhtml text/css text/javascript;

  upstream mongrel {
    server 127.0.0.1:2000;
    server 127.0.0.1:2001;
    server 127.0.0.1:2002;
  }

  server {
    listen 80;
    server_name localhost;

    location ~ ^/(images|javascripts|stylesheets)/ {
      root /home/YOUR_NAME/projects/beast/stable-1.0/public
      expires 30d;
    }


    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://mongrel;
    }
  }
}
=======================

其實還有一大堆設定我省略掉了,可以自己上官網或 google 找其他的設定。
啟動:
sudo nginx -c config/nginx.conf
關閉:
sudo kill `cat tmp/pids/nginx.pid`

我用這個去跑 YSlow, 應該是設定的關係,分數從 62 => 75...
但當然以我測試機的超低流量來看,就算直接用 mongrel 應該也是瞬間反應…

2007-08-17

星之水餃資訊(隨時更新)

textile 正常顯示版
http://beast.godfat.org/forums/1/topics/14

os:

bq. fedora core 6

reverse proxy + load balancer:

bq. pound 2.3

static file server:

bq. lighttpd 1.4.16

dynamic page server:

bq. mongrel 1.0.1 *3

database:

bq. postgresql 8.1.9

others:

bq. ruby 1.8.5.52
rubygems 0.9.2
rails 1.2.3
beast 1.0

2007.08.13

bq. server 開張。

2007.08.14

bq. 前端由 apache mod_proxy_balancer 接手。

2007.08.15

bq. 由 pound + lighttpd 取代 apache.

2007.08.17

bq. server 修復。
系統時間修復。

2007-08-15

Fedora Core 6 上安裝 beast (2)

不喜歡 apache 嗎?apache 沒辦法用 mod_proxy_balancer 嗎?
沒關係,我找到另外一個不錯的方式了,是 pound + lighttpd.
如果不想用 apache 的話,上一篇的 httpd 相關的東西都不要灌,
改灌:

sudo yum install Pound
sudo yum install lighttpd

我是覺得這邊分大小寫很沒意義,不過 yum 就是這樣﹍。

pound 是什麼?
The Pound program is a reverse proxy, load balancer and HTTPS front-end for
Web server(s). Pound was developed to enable distributing the load among
several Web-servers and to allow for a convenient SSL wrapper for those
Web servers that do not offer it natively.

lighttpd 我想大家都知道,一個非常快速的 http server, 只不過他的
mod_proxy 似乎有很多問題,以致於沒辦法用他。所以這部份用 pound 當
前端解決這個問題,流程變成:

http request => pound => lighttpd or mongrel cluster

安裝好後,先來設定 pound, 不過 https 就先暫時略過不管。
sudo nano /etc/pound.cfg
=========================
User "pound"
Group "pound"

ListenHTTP
    Address 0.0.0.0
    Port 80
End

Service
    URL "/(images|stylesheets|javascripts)/"
    BackEnd
        Address 127.0.0.1
        Port    1999
    End
    Session
        Type    BASIC
        TTL     300
    End
End

Service
    BackEnd
        Address 127.0.0.1
        Port    2000
    End
    BackEnd
        Address 127.0.0.1
        Port    2001
    End
    BackEnd
        Address 127.0.0.1
        Port    2002
    End
    Session
        Type    BASIC
        TTL     300
    End
End
=========================
前面的設定是把 host/images, host/stylesheets, host/javascripts
這三個 url 下的 request 都丟給 port 1999 處理,也就是等會 lighttpd
要使用的 port. 這邊使用 regex, 可以自由設定自己要的規則。假使未來 user
要使用 file_column, 可以再加個 user/avatar 之類的。

下面的則是全部丟給 mongrel_cluster 處理。設定上應該比 apache 簡單地多。
可以先測試看看,先把 lighttpd 的部份 comment 起來,啟動 pound 試試:
sudo pound

照理說這樣就能使用了。不行的話加個 config 檔路徑給他:
sudo pound -f /etc/pound.cfg

這邊我是在想要不要把 config 也放到 beast 裡面,不過 pound 應該只會
有一個,所以我想還是放到 /etc 下好了。停止 pound 的方式:
sudo kill `sudo cat /var/run/pound.pid`

製作 lighttpd 設定檔:
nano config/lighttpd.conf
==========================
server.modules = (
"mod_access",
"mod_accesslog"
)

server.port = 1999
server.bind = "127.0.0.1"
server.document-root = "/home/YOUR_NAME/projects/beast/stable-1.0/public"

server.username = "YOUR_NAME"
server.groupname = "YOUR_NAME"
server.pid-file = "/home/YOUR_NAME/projects/beast/stable-1.0/tmp/pids/lighttpd.pid"
server.errorlog = "/home/YOUR_NAME/projects/beast/stable-1.0/log/lighttpd_error.log"
index-file.names = ( "index.html", "default.html" )
accesslog.filename = "/home/YOUR_NAME/projects/beast/stable-1.0/log/lighttpd_access.log"

# mimetype mapping
mimetype.assign = (
".rpm" => "application/x-rpm",
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar"
)
==========================
我很想省略 mime-type 設定,不過不設的話 firefox 好像會有問題。
safari 和 opera 是 ok 的,IE 我沒得測就沒測了。反正要設就是了,
有沒有問題不影響。只是希望 lighttpd 能內建這些設定﹍。

啟動 lighttpd
sudo lighttpd -f config/lighttpd.conf

這樣就算大功告成了!剛剛有測試 pound 的話記得改回原本設定並重新啟動。
比較詳細的介紹與說明可以參考這篇:
Configuring pound with lighttpd and mongrel.

*

summary:

用到的 server:

(1)
apache2.2 =>
reverse proxy + load balancer + serve static files

(2)
pound => reverse proxy + load balancer
lighttpd => serve static files

(3)
mongrel_cluster => setup mongrel cluster
mongrel => serve beast

結果就是 ((1) or (2)) + (3)

操作 apache:
啟動:sudo apachectl start
停止:sudo apachectl stop
重啟:sudo apachectl restart

操作 pound:
啟動:sudo pound -f /etc/pound.cfg
 或:sudo /etc/init.d/pound start

停止:sudo kill `sudo cat /var/run/pound.pid`
 或:sudo /etc/init.d/pound stop

重啟:sudo /etc/init.d/pound restart

操作 lighttpd:
啟動:sudo lighttpd -f config/lighttpd.conf
 或:sudo /etc/init.d/lighttpd start

停止:sudo kill `cat tmp/pids/lighttpd.pid`
 或:sudo /etc/init.d/lighttpd stop

重啟:sudo /etc/init.d/lighttpd restart

操作 mongrel_cluster:
啟動:sudo mongrel_rails cluster::start
停止:sudo mongrel_rails cluster::stop
重啟:sudo mongrel_rails cluster::restart

操作 postgresql:
啟動:sudo pg_ctl start
停止:sudo pg_ctl stop
重啟:sudo pg_ctl restart

2007-08-14

星之水餃安裝方式(Fedora Core 6 上安裝 beast (1))

Fedora Core 6 上安裝 beast

我選擇 apache2.2 + mongrel_cluster + postgresql

安裝 apache 和其他的東西。
sudo yum install httpd
sudo yum install httpd-devel
sudo yum install openssl
sudo yum install readline

安裝 ruby
sudo yum install ruby
sudo yum install ruby-devel
sudo yum install ruby-libs
sudo yum install rdoc
sudo yum install irb

安裝 postgresql
sudo yum install postgresql
sudo yum install postgresql-devel
sudo yum install postgresql-libs
sudo yum install postgresql-server

初始化 postgres
sudo mkdir -p /var/db/postgresql81/defaultdb
sudo chown postgres:postgres /var/db/postgresql81/defaultdb
sudo -u postgres initdb -D /var/db/postgresql81/defaultdb
sudo -u postgres pg_ctl -D /var/db/postgresql81/defaultdb \
-l /var/db/postgresql81/defaultdb/postgres.log start

拿來抓 beast... 捨 svn 取 svk 因為我討厭一堆 .svn
sudo yum install perl-SVK

sudo yum install rubygems

至少要用這些 gem
sudo gem install rails -y
sudo gem install mongrel_cluster -y
sudo gem install redcloth -y
sudo gem install ruby-openid -y
sudo gem install ruby-postgres -y

建立目錄。
mkdir -p ~/projects/beast
cd ~/projects/beast

用 svk 抓不會有一堆 .svn 礙眼。
svk mirror //mirror/beast \
http://svn.techno-weenie.net/projects/beast/branches/stable-1.0/
svk sync -s HEAD //mirror/beast
cd stable-1.0

產生讓 beast 用的資料庫。
sudo -u postgres createdb beast_prod

設定資料庫設定檔。
cp config/database.example.yml config/database.yml

nano config/database.yml
=========================
production:
  database: beast_prod
  adapter: postgresql
  host: localhost
  username: postgres
  password:
=========================

初始化 beast 資料庫。
rake db:schema:load RAILS_ENV=production

非常囉唆的 cluster 設定,user 可以開 mongrel,
不過因為我懶所以用自己的帳號跑。
sudo mongrel_rails cluster::configure -e production \
-p 2000 -N 3 -c /home/YOUR_NAME/projects/beast/stable-1.0 \
-a 127.0.0.1 --user YOUR_NAME --group YOUR_NAME

啟動 mongrel_cluster 吧。
sudo mongrel_rails cluster::start

接著是 apache2.2 的 mod_proxy_balancer 的設定,
如果 mod_proxy_balancer 沒有啟動記得把他打開。

建立 balancer 導向 port 2000~2002
sudo nano /etc/httpd/conf/httpd.conf
=====================================
<Proxy balancer://YOUR_BALANCER>
  BalancerMember http://YOUR_ADDRESS:2000
  BalancerMember http://YOUR_ADDRESS:2001
  BalancerMember http://YOUR_ADDRESS:2002
</Proxy>

Listen 80
<VirtualHost *:80>
  ServerAdmin YOUR_EMAIL
  ServerName YOUR_ADDRESS
  ProxyPass / balancer://YOUR_BALANCER/
  ProxyPassReverse / balancer://YOUR_BALANCER/
  ProxyPreserveHost on
  ErrorLog /home/YOUR_NAME/projects/beast/stable-1.0/log/apache_error.log
  CustomLog /home/YOUR_NAME/projects/beast/stable-1.0/log/apache_access.log combined

  ProxyPass /images !
  ProxyPass /stylesheets !
  ProxyPass /javascripts !
  Alias /images /home/YOUR_NAME/projects/beast/stable-1.0/public/images
  Alias /stylesheets /home/YOUR_NAME/projects/beast/stable-1.0/public/stylesheets
  Alias /javascripts /home/YOUR_NAME/projects/beast/stable-1.0/public/javascripts
</VirtualHost>
=====================================

接著啟動 apache 就 ok 了。
sudo apachectl start

最後來設定 beast 的 smtp, 如果想用 gmail 寄信的話,
我之前試過兩個方式,一個是使用 msmtp,
另一個是有人有寫一小段 ssl smtp 的 patch, 可以參考這裡:
http://www.stephenchu.com/2006/06/how-to-use-gmail-smtp-server-to-send.html

nano config/environment.rb
加入:
===========================
ActionMailer::Base.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :domain => 'YOUR_DOMAIN',
  :user_name => "YOUR_GMAIL_ACCOUNT",
  :password => 'YOUR_GMAIL_PASSWORD',
  :authentication => :plain
}
===========================

nano app/models/user_mailer.rb
===============================
@from = 'YOUR_GMAIL_ACCOUNT@gmail.com'
===============================
我不是很確定這一步要不要做,我猜不做會被 gamil 擋掉。

接下來把那段程式碼 copy 到可以被 require 的地方,我是放在 lib 下:
nano lib/smtp_tls.rb
接著把他 require 進去:
nano config/environment.rb
===========================
require 'smtp_tls'
===========================

sudo mongrel_rails cluster::restart
註冊一下試試寄信吧!如果失敗的話,那篇連結裡有個 workaround:

nano lib/smtp_tls.rb
=====================
rescue EOFError
  ;
rescue OpenSSL::SSL::SSLError => e
  puts('Unexpected Exception: ' + e.message + ' : ' +
    e.backtrace.join("\n") )
end
=====================

我之前用是沒有這個問題,但在這台 fedora 上卻有這個問題,
也許是要更新 openssl 的版本?不管如何,加入上面那段暫時可用。

結論:
還是 macports 好用,速度快,更新快,只是 build 要很久就是了。

2007-08-13

星之編年史

(x)飽和脂肪星
  xoops2 +php4 +mysql5 +apache2
(o)飽和脂肪星
  phpbb2 +php5 +mysql5 +apache2
  http://phpbb.godfat.org/
(o)飽和脂肪星 - 目錄
  nginx
  http://godfat.org/

(x)星之一角
  wretch's blog
(x)星之一角
  xuite's blog

(o)星之一角 2.x.y
  blogger's blog
  http://blogger.godfat.org/

(x)星之肉腳
  roodo's blog
(o)星之肉腳
  moin moin
  http://moin.godfat.org/

(o)星之水餃
  beast +rails +postgresql8 +mongrel_cluster +nginx
  http://beast.godfat.org/

新論壇開張–星之水餃

會怎麼發展我也不知道﹍
這台放在陽明,ym, 所以叫
http://ym.godfat.tw/
http://beast.godfat.org/

server 硬體我不清楚,跟朋友借的,os 是 fedora core 6
論壇軟體叫 beast, 用 rails 寫成的,db 我用 postgresql 8
http server 用 mongrel cluster, N 跑 3, 前端 mod_proxy_balancer

註冊可以用一般方法註冊,或使用 open-id
我使用 http://www.myopenid.com/ 註冊

open-id 的意思是,全世界共通的 id, 一個 id 走天下
至於顯示名稱呢?可以設定多組給不同網站使用,滿有趣的

avatar 使用 gravatar, http://site.gravatar.com/
只要使用同一個 email 帳號註冊,beast 就會自動抓到你的 avatar
rate 要設定在 PG, 否則無法顯示(靠!我查 source code 才找到的)
edited: 後來發現其實是 gravatar server down...

==

初步感覺:遠沒 phpbb2 完善。不過確實是相當輕便,完全符合他的宗旨。
我想是個適合拿來 hack 的 forum, 而不是直接使用 :p
不過我也懶得 hack 什麼了,加減用用看,再看看要不要找 plugin 吧。

2007-07-18

godfat.tw

呃嗯嗯(err?),where to start?
我也不知道,只是現在很懶也很想睡,所以就隨意講點吧。
不,應該說是,只講重點!
簡單地說,我買了 godfat.tw
以後
http://godfat.tw

http://www.godfat.tw

http://www.godfat.idv.tw

http://godfat.idv.tw
四個意思完全一樣。

(好啦,我知道因為大部份時間都連不上,根本沒差吧? XD)

至於本 blog...
這比較麻煩一點,因為我不是很清楚能不能讓 blogger 吃兩個以上的 domain,
個人是覺得應該不行,所以,就維持 http://blog.godfat.idv.tw 好了。

那該怎麼使用 blog.godfat.tw 呢?
想來想去覺得,好像一定得要用到 dns server 才有辦法解決,
pchome 提供的 dns 服務實在是太陽春了,.idv.tw 居然只能設三組!
我設了 www, blog, <空> 就用掉三組了﹍
.tw 好多了!可以設五組,外加三個 MX 和五個 CNAME
可是﹍﹍ google app domain ownership verification 所需要的 CNAME,
是要 point 到 google.com, 而 pchome 提供的 CNAME,
只能 point 回 xxx.godfat.tw !

簡單地說就是我很無言﹍﹍
所以想要來架個 dns server, 灌了 nsd:
http://www.nlnetlabs.nl/nsd/

orz, 好像是比 bind 容易啦,但我還是完全不會用。(倒)
真希望有人能給個完整的範例,再讓我慢慢去改。

不過這樣又會回到原本的問題,哪一台 server 可以讓我一直開著?
我想我還是得趕快把自己 desktop 上的資料清出來吧? orz
雖然一直是懶懶懶懶懶﹍﹍而且螢幕被借走了,短時間內很難拿回來﹍﹍(嘖)
所以要清資料的話恐怕必須再去搬螢幕,或是拆硬碟了。

但清出來的話,就能把 server 灌在上面了。還是哪裡可以提供 dns 服務的?
dns server 的設定文件,查了半天實在看不懂,很想放棄啊﹍。

簡單結論:
1. 飽和脂肪星有效網址:
http://godfat.tw
http://www.godfat.tw
http://godfat.idv.tw
http://www.godfat.idv.tw
其實還有:
http://forum.godfat.tw
因為哪一天,還是想把飽和脂肪星從 phpBB2 中解放,
然後就讓 forum 指到 phpBB2 或是飽和脂肪星中的 forum...
phpbb.godfat.tw 指到 phpBB2 好了,forum 留給更理想的論壇。

2. 星之一角有效網址:
http://blog.godfat.idv.tw/
維持原樣,因為沒 dns server 很難做 redirect...
雖然暴力 redirect 應該也可以啦,但那還是要一台一直能開機的電腦。

看看哪天才能完全完成這些大業吧﹍。

訂閱: 文章 (RSS)

favorite albums