The problem with CPAN (and other similar systems)

At one level, CPAN is a great thing: people really like having a simpleway of installing Perl packages (and a big archive of them). It's sucha good idea that it's being copied over and over: Python's distutils,Ruby's RubyGems, the R statistic package's CRAN, and no doubt others.

But CPAN and things like it have a problem: they're a package managementsystem. Or, to be more detailed, they're another package


365加美味 Greasemonkey User Script

這是我自己「手痕」弄的,就是將 Clip Blog 的連結,變成 bookmark 到 365key del.icio.us ,之前也有類似的 User Script ,我不過是將其合在一起,因為兩邊的 Bookmark 我也用有。

連結: 365 + del.icio.us bloglines Greasemonkey User Script


Iterator & Generator Gotchas

Python iterators are objects (or functions, using some magic) thatrepeatedly produce values, one at a time, until they getexhausted. Python introduced this general feature to efficientlysupport things like:

for line in fp.readlines():    ... do something with each line ...

Without iterators, .readlines() would have to read the entire fileinto memory, split it up into lines, and return a huge list; now, thiscode only has one line in memory at any given


AJAX vs Dialups

AJAX is short for 'Asynchronous Javascript And XML', the common termfor the technology behind highly interactive web sites like GoogleMaps and Google Mail. Given that the features AJAX enables (from thelarge to the small) are very appealing to designers, we're pretty muchguaranteed to see more and more use of it on web sites.

But please don't reach for AJAX too fast, because there is such athing as being too interactive.

AJAX's interactivity comes through communication, and communicationtakes


豪俾佢

寫blog、住香港,呢兩樣加埋可能會令本人黐線。(隔日上網又令我開始把blog當成icq)黐線,點解可以發生咁多事?點解,你好像把毛孔張開一點、變得敏感一點,就周圍都係火頭,寫到手軟都未寫完? 開心野寫o係唔開心野隔離

做野!(請廣傳轉載乜都好)

呢個題目中晒 。 七一美麗之處正是因為不止一種聲音。

《保衛一種不背棄弱勢社群的民主運動》聯署行動
--支持同志七一繼續牽頭

編按:發起團體將於六月十九日於西洋菜街行人專用區發表初步收集到的簽名人數,歡迎大家踴

無煙新世紀

road show上政府禁煙廣告之口號:無煙新世紀。

深夜無線熱播的《創世紀之天地有情》,葉榮添自從許文彪死左之後,就將阿彪個「無煙城」計劃,當左做自己個仔一樣。當然,葉榮添自己,經常在窗明几淨的會議室煲煙(前兩晚先

大綱與細節

網頁標準推的是 Semantic Markup ,也就是在你裝飾你的網頁前,應該先搞好網頁的結構,做好規劃工作。不過,很多人在開始寫網頁時,也只是打開 WYSIWYG 的編輯器,邊想要加什麼就加什麼。因為 WYSIWYG 所以在 Code level 是否 Semantic 對於用家來說根本看不見,


Putting a pleasant Python surprise to use

Although I've been programming in Python for a few years now, it keepssurprising me with little bits and pieces. Here's a neat Python languagefeature that I recently used for the first time (discovered originallythrough Bram Cohen's LiveJournal).

A common programming pattern is 'search for a something to work on, butstop if you don't find anything'. In Python one might write it somethinglike this (taken more or less from DWiki 's source):

found = False

Pitfalls in generating Last-Modified:

Every HTTP reply from a web server can include a Last-Modified: header, which theoretically tells interested parties when the web pagewas last modified. This is really something that works best when theweb server is just sending out static files; when it is generatingdynamic content, like DWiki does, things get interesting.

The major use of Last-Modified: is to decide when a browser already hasa current copy of the web page and doesn't need to fetch it again. Thus,with dynamic pages