Category Archives: Programming

Programming

perl-after-upgrade

在 上升級 升級是一件超痛苦的事情,因為要用 portupgrade 拼老命去 upgrade XD

不過這次升級到 5.8.7,可以用 perl-after-upgrade 這個指令 (在 /usr/ports/UPDATING 有寫,只是我是在 386bsd 看到的 XD):

20050624:
AFFECTS: users of lang/perl5.8
AUTHOR: tobez@FreeBSD.org

lang/perl5.8 has been updated to 5.8.7. You should update everything
depending on perl. The easiest way to do that is to use
perl-after-upgrade script supplied with lang/perl5.8. Please see
its manual page for details.

速度比起重新 portupgrade 快多了 :p

歐盟投票否決「美式軟體著作權」

有很多人都提到這個結果了,否決該項議案的票數是:648 票贊成,14 票反對,及 18 票棄權通過。這對於歐洲的 Open Source Community 是一項好消息。

PHP Template Engine?

在 Roodo! Blog 開發日誌 的「樂多日誌開發使用相關技術」中使用了 這個 PHP Tempate Engine。

這讓我想到跟 聊到一篇很有名的文章:Templates and Template Engines。

這篇文章簡單來說就是這樣:「他媽的你們這些人幹嘛叫我把 PHP 改得更快,你們用 Smarty 這類的 Template Engine 當然會慢啊! 本身就是一個 Template Engine,你用 Template Engine 去寫另外一個 Template Engine 當然會慢,怪我咧,blah blah…」(當然,文句沒有這麼粗俗 :p)

但你又不能直接開放 PHP function 給 user 用:因為 user 可以把 $__GLOBAL 裡面的變數倒出來慢慢看有什麼好玩的,或者是透過你的主機寄寄廣告信 *grin*

是一套直接使用 PHP function,但是做了合理的限制的 PHP Template Engine:

Savant is a powerful but lightweight object-oriented template system for PHP.

Unlike other template systems, Savant by default does not compile your templates into PHP; instead, it uses PHP itself as its template language so you don’t need to learn a new markup system.

比起 所產生的 loading 會比較小。

Update:才剛寫完就看到 上另外一個計畫 ,將 比較不常用的功能都拿掉,有興趣的人也可以看看。

Google Video Viewer

很多人都有提到 ,這是改自 的 plugin (所以有 source 公開在這裡 上),而 發現其中一段 code 限制只能看 video.google.com 上面的影片:

+ // Google mods
+ const char* allowed_host = “video.google.com”;
+ char * host_found = strstr(p_sys->url.psz_host, allowed_host);
+ if ((host_found == NULL) ||
+ ((host_found + strlen(allowed_host)) !=
+ (p_sys->url.psz_host + strlen(p_sys->url.psz_host)))) {
+ msg_Warn( p_access, “invalid host, only video.google.com is allowed” );
+ goto error;
+ }

於是他就寫了一個 patch 把這個 “bug” 修掉了:Google Video Viewer。

透過 Greasemonkey 用 CoralCDN 看無名相簿

關於 是什麼,請參考:

回到正題,我們知道最近無名說 惡搞他們 (& ),不管事情的真相是什麼 (嘿嘿), 與 連無名 () 慢是事實,所以我想到可以透過連到 比較快的地方 (像是) 連到無名,但後來想想這樣好像很糟,因為這樣我就要在交大放一台 Proxy server…

於是我就想到 這個超巨大的 Proxy Service (當然這不是他的本意,不過剛好可以這樣用),我猜測透過 連到無名會比 與 連過去快,於是我寫了這個 Script:。

有問題可以寫信或是在下方留言… ( 信箱的信我比較少在看,如果過個兩三天沒回請不要當作我故意冷落你 XD)

2005/06/30 Update:這項功能開啟時無法登入,這個問題我會試著解決看看,暫時性的解法是:當你需要登入修改或上傳時,先按一下右下角的小猴子 icon,變成灰色以後就暫時可以用了。

2005/07/01 Update:現在改成只有圖片使用 ,可以 login 而且速度不會太差,先前有裝的人請先 Uninstall 再安裝一次即可。

WordPress Search 現在透過 Yahoo! Search API 處理

在 Yahoo! Search Web Services 這篇文章裡面提到的 終於看到應用了… (也許很多人都在用,只是我不知道 :p)

在 的 New WP.org Search 提到了在 IRC 聚會的時候有些人希望 提供更完整的 Search 服務 (除了 forum 外,包括 Wiki、Codex),於是 就開始寫,但是他發現他必須到好幾個不同的 host 查詢,而且速度很慢。

於是他試著用 Google Site Search,不過他發現 不喜歡 所使用的 HTML,於是他轉向 尋求協助。

在 WordPress Search, Powered by Yahoo! 提到了 有找他問 的用法,於是過沒幾天就看到 在他 blog 上提到新的 了 :p

在 Diablo II 中墮落

這幾天沒在 blog,原因是都跑到美西去練功了 :Q

然後練一練就去寫 的 code… 目前看起來 semaphore library (用 semaphore 實做 read/write mutex) 的部分沒問題了,要把 bbsd 用到的 code 整個檢查一次 :o

PS:用 semaphore 實做 read/write mutex 的方式我是參考 Implementing a Read/Write Mutex 這篇文章的說明。