在 “SourceForge to Offer Subversion Service” 看到 Sourceforge 要提供 Subversion 這個消息。
Category Archives: Programming
Programming
copyblog.pl
copyblog.pl 修正一個 bug,版號變成 0.3。
有時候會 post 到爛掉,然後就沒有標記 posted 寫回 db file,於是某些 blog 同一篇文章就出現很多次 XD 這個版本改成,先 mark as copied 再 copy…
不過這樣某些 blog 會漏文章,其實也還好 :p
Google 的 Open Source Project
Google 在他的官方 Blog 上公告了他的 Open Source Project:Code.Google.com: new open source。
目前有四個 Project 在跑,都是以 BSD 2.0 license 釋出,hosting 在 sourceforge (!!!) 上。
Firefox 的 disable-output-escaping
剛剛在改寫 Group.NCTU.edu.tw 的 article.php,測了半天才發現 Firefox 不支援 XSLT 中的 disable-output-escaping,但 IE 6.0 就支援的很好 :p
請同時用 IE 6.0 及 Firefox 看 敝板第 200 篇 的範例。
注意看 Firefox 裡 < 被轉成 < 後沒有被轉回來。
有人願意幫忙去 mozilla.org Bugzilla 找看看有沒有人抱怨過,順便回報的嗎?
KKcity 的 blog
以後我會把關於 KKcity 的部分放到 KKcity 的 blog 上:KKcity 發展日誌,至於我自己這邊就放一些瘋言瘋語 :p
Windows Programming
剛剛在 freshmeat 看到 flat assembler,看了一下 examples,超簡單的啊…
我的第一個 Windows Programming 該不會是用 Assembler 寫的吧 -_-
好用的 XSLT
XSLT 其實蠻簡單的,而且 IE6 與 Firefox 支援的都蠻完整的,只是不太清楚為什麼一直沒有起來?
在 W3Schools 有 XSLT Tutorial,直接以大量的範例講解,看完以後再回去看 W3C 的文件就不需要把時間花在理解句子與單字了。(也就是把 W3C 的文件當工具書來查而已)
XSLT 是 XSL Transformations 的縮寫,1.0 版最後定案是 1999/11/16,是一項非常久的技術了。在 W3Schools 的 XSLT Browsers 提到 IE6、Netscape 7 都有很不錯的支援:
Internet Explorer 6 fully supports the official W3C XSLT Recommendation.
Netscape 7 supports the official W3C XSLT Recommendation.
你可以把 XSLT 當作 client side 的 template engine,也就是 browser 幫你 template。
但請不要認為他「只是」一個 client side template engine,事實上他可以有很多奇奇怪怪的應用,只要 browser 有支援都可以玩…
Anyway,既然是 template engine,那麼就會把 template 與 data 分開放。下面就是一個例子,我以 ‘[‘ 及 ‘]’ 取代 ‘<‘ 及 ‘>’,因為要打 < 及 > 很麻煩。
這是 acg.xml,放 data 的:(至於例子,就不要太講究了)
[?xml version="1.0" encoding="UTF-8"?] [?xml-stylesheet type="text/xsl" href="acg.xsl"?] [acg] [item] [title]男女蹺蹺板[/title] [author]津田雅美[/author] [/item] [item] [title]騙錢蹺蹺板[/title] [author]庵野秀明[/author] [author]津田雅美[/author] [/item] [/acg]
其中的 [?xml-stylesheet type=”text/xsl” href=”acg.xsl”?] 就是跟 browser 講要用哪個 stylesheet 去表現這些資料,這邊選的是 acg.xsl:
[?xml version="1.0" encoding="UTF-8"?] [xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"] [xsl:template match="/acg"] [html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW" lang="zh-TW"] [body] [table border="1"] [tr] [th]Title[/th][th]Author[/th] [/tr] [xsl:for-each select="item"] [tr] [td][xsl:value-of select="title" /][/td] [td][xsl:for-each select="author"][div][xsl:value-of select="." /][/div][/xsl:for-each][/td] [/tr] [/xsl:for-each] [/table] [/body] [/html] [/xsl:template] [/xsl:stylesheet]
產生出來的樣式可以看 http://netnews.nctu.edu.tw/~gslin/acg.xml,可以用 IE 與 Firefox 測看看 :P
Hosting Resource
在 Oui-Blog 的「前輩有交代 未雨先綢繆 (重要公告)」提到 Oui-Design 用了整台主機 10% 的 resource。
呃… 用過 MT 的人 (呃對,我更久前用過 MT,當年是 hlb 在 CCCA 主機上架的 MT,當年的網址應該是 http://ccca.nctu.edu.tw/~gslin/blog/,現在不存在了) 都應該知道 MT 在 build article 的時候很吃資源。整台主機的 10% 對 hosting 業者來說吃不消… (太多白工花在 fork + exec 以及 Perl compile…)
一種做法是使用 mod_perl,MT 的部分需要加上一些 patch (當年有看到別人有這樣做),這樣可以省下 CGI fork + exec 以及 Perl compile 的時間 (這樣最省的地方可能是 trackback spam),我「猜測」Typepad 可能是走這條路… 不過,如果機器不是自己的,大概都沒辦法這樣搞。
另外一種做法是用 SpeedyCGI 或是 PPerl (不過這部分只能省 Perl compile 的 resource),我沒試過,這只是我想到的解法之一…
另外就是 backend 不要用 file,儘量用 database (通常是 MySQL),這樣會把一部份的 loading 散到 database 上,對 hosting 業者來說比較無所謂 (這些 hosting 的 database 都很猛的,某短網址站就直接把 n GB 的資料直接倒到 hosting 的 database)。
呃,一時間只有想到這樣…
Group.NCTU.edu.tw 對 Subject 的處理
article.php 就不說了,只講 rss10.php (原始程式碼在 http://group.nctu.edu.tw/rss10.phps),剛剛發現 BBS 送出來的 Subject 因為會有使用 MIME-Q 的情況 (需要 patch innbbsd,或是直接用 itoc 的版本),所以要再處理…
PS:RSS 的功能是因為讀 DS 讀到悶寫出來的,我目前沒有更多的時間發展新的功能,只能先對「正確性」處理…
Firefox is not Free when you BUILD it
在 Gervase Markham 的「Free Binaries of Firefox」這篇文章裡提到六個禮拜前 Richard M. Stallman (RMS) 向他們 (Foundation) 提到了在 compile Firefox 時的過程並不是 “Free”,因為:
- 需要用到 Talkback 這個軟體。
- Firefox EULA 裡某些條款使得在自己 compile 時需要移除 trademark (這包含了那個 firefox icon,所以你拿到 unofficial build 的時候應該都會發現 icon 被換掉了),並遵守 US export 規定。(文內沒有提到,不過我猜是因為 SSL 高加密的部分用到的關係)
在文章後面有提到 RMS 受不了等待,於是自己準備出來搞 free build :p (然後下面的 comment 一些人幹剿 RMS 說他太急了?:p)