API eliminates manual work

本来以为,“2008”是我今年一个重要的tag,用它在del.icio.us上标注自己写的blog、在豆瓣上标注读过的书。就在我为自己变得越来越有条理而感到得意时,看到了人家是怎么统计一年读过的书的——使用豆瓣API。这个结合使用了Google Chart和豆瓣API的应用让我更深刻地认识到什么叫“科学技术是第一生产力”。

是时候删除2008这个tag了。

我通过Net::Delicious使用del.icio.us API生成标签云的时候,没有想到可以利用其中的时间信息统计自己一年到底写了多少东西,更没想过可以用Google Chart图形化地显示出来。当然,这是我第一次使用web 2.0意义上的API,暂时还不具备职业web程序员的思维方式和职业敏感,或者说,web也可以编程这个事实还没有真正被我接受,尽管网站推出API已经不是一天两天了。

既然暂时还没有Net::Douban来包装豆瓣API,还是用Net::Delicious练练手吧,结合使用Chart::StackedBars,图形化了过去几年的写作频率和数量,以及del.icio.us收藏的频率和数量。这之后,甚至盘算着是否可以自己来实现Net::Douban,使其成为自己在CPAN上的第一个模块!

先yy着……

Hook your emacs

用emacs是会上瘾的,用得越久,瘾越大。

前面提到可以使用如下代码让gnus自动收邮件,可是用了一段时间,发现根本不起作用,一定要在gnus启动之后再运行一遍。

(require ‘gnus-demon)
(setq gnus-use-demon t)
(gnus-demon-add-handler ‘gnus-group-get-new-news 3 1)
(gnus-demon-init)

既然一定要在gnus启动后执行这段代码才有效,那么怎么样自动化呢?用Hook!在源代码里搜寻一番,发现了gnus-started-hook。于是上述代码调整为:

(add-hook 'gnus-started-hook
	  (lambda ()
	    (require 'gnus-demon)
	    (setq gnus-use-demon t)
	    (gnus-demon-add-handler 'gnus-group-get-new-news 3 1)
	    (gnus-demon-init)))