Pandora vs. Last.fm

目前有两个音乐推荐与分享的网络服务比较出名:Pandora与Last.fm。 Pandora利用技术手段分析音乐的曲调与感情,只要输入一首曲子或者一个乐队的名字,它就为你推荐你可能喜欢的其它音乐。比如我输入“secret garden”,它首先播放一曲神秘园的音乐,接下来就搜索与之相近的曲子,我发现大部分都比较全我的口味,呵呵。在他们的Blog上写着有人把他们的服务用在音乐课上,让学生用它来找适合自己的音乐。团队中还有人在美国各地进行调查,听当地的音乐,与使用他们服务的人交流,可以说是一群有活力的艺术家。 而Last.fm则是一个非常成功的社会性网络应用,它推荐的歌曲主要是通过用户的选择来推测的。并且它有许多服务例如tag, radio, group等,更注重用户之间的交流和相互影响,可能因此也比Pandora更受欢迎。 二者都提供了代码让你把自己喜欢的或常听的音乐信息加到站点上,请到我的音乐页面来看效果。 我平常做事的时候也不太喜欢听音乐,听也多是在本机上听,因此对它们不是很熟悉。关于这两个有趣的服务,这里有一篇详细的描述与比较: http://www.stevekrause.org/steve_krause_blog/2006/01/pandora_and_las.html

June 3, 2006 · 1 min · qingbo

牯牛降第二日

第二天游玩的是一个大溶洞,以前也没玩过这类景点,感觉里面太大了,虽然有的地方很狭窄。里面的道路四通八达,空气也很潮湿。我们是从山脚的洞口进去的,之后出来的时候发现在半山腰,下岗的时候好累,才知道在洞里向上爬了很高的距离。里面的景色很单调,主要就是石钟乳,不过其形态又很多变。尽管没有什么好描述的,但比第一天玩得好多了。 下面就贴一些照片,更多请到我的Yupoo去看吧。 对了,在回来的路上遇见一人喊卖美人鱼,一行人好奇过去看,原来是一条大娃娃鱼。随行的一位师兄说,这是国家二级保护动物吧。他回应道,飞机导弹都可以卖,贪官贪污几千万也没人管,老百姓弄这几个小钱算什么?确实是实话。不过“美人鱼”旋即被一人给他的儿子买去,对它的命运深表同情。 下午有人要求去杏花村,我们几个没有去,在饭店里玩杀人游戏。我本来不会玩,幸好当了两次不称职的平民,也没有被杀。杏花村就是杜牧被贬至池州后喝酒的地方,那句“借问酒家何处有,牧童遥指杏花村”即指此地。至于山西的杏花村,只不过是抢注的一个商标。村里产的酒现在叫“黄公酒”,取自酿酒人的姓,不对外销售,只能在村中买到。 于是两天的逍遥结束,回来面对未开始的论文。 流水帐至此记录完毕。

June 3, 2006 · 1 min · qingbo

牯牛降第一日

论文终于交了,不管有没有大幅修改的危险,现在总算可以休息一下了。于是想把牯牛降那两天的见闻记下来,不过在埋头写了四天论文之后,只剩那些照片作为回忆,而景点的名字也几乎不能记起。 第一天早上到了石台县,直奔漂流地点,秋浦河。这个地区的环境仍然非常好,河水很清澈,和我家乡十多年前的差不多。李白曾经作秋浦歌十七首,秋浦就是这条秋浦河。其中最著名的一首 白发三千丈,缘愁似个长。 不知明镜里,何处得秋霜。 大家应该都知道,里面的明镜指的就是秋浦河了。可惜的是一群理科生坐在筏子上,只有画意,没有诗情。 吃过午饭,导游带我们到牯牛降去玩。说实在的,景点没什么看头,不过这里就是环境好,能体会到与自然的亲近,是修身养性的好地方。 首先去的是一个什么潭,忘记名字了。看下面的照片你可以知道什么叫清澈见底。看起来水很浅,但是实际上是非常深的,只是太干净了。水边的峭壁上修建了栈道,方便游人观赏。 经过栈道向山谷内前行,还有摇晃不定的吊桥、年久的灌木和幽深的小径。 ...

June 3, 2006 · 1 min · qingbo

Paged Threaded Comments plugin update

前几天想到一个问题,如果把某个留言删除,它的回复怎么办呢?结果是回复没有从数据库中删除,但它们再也不会被显示了,这是因为列出留言时都是从comment_reply_ID为0即顶层的留言开始递归。 Brian’s Threaded Comments和Keyvan’s Paged Comments Plugin似乎都没有考虑这个问题。 WordPress文档中有一页plugin api,里面列出了delete_comment这个hook,正是我想要的。在源代码中看了一下,hook到它的函数是在从数据库删除留言之前被调用的,这也比较合理。于是写了一个函数repair_comment_reply_ID,取得要删除的留言的comment_reply_ID,并赋给所有comment_repley_ID为要删除comment_ID的留言。然后用add_action函数把它hook上去。 现在的行为是删除留言后,其回复作为更上层的留言的回复出现(如果没有则作为顶层留言)。另外加了些代码来显示thread个数,即在留言区域上方显示“# comments in # threads”这样的信息。 插件页面已更新: 中文:</blog/post26.html> English: </blog/post25.html>

June 3, 2006 · 1 min · qingbo

WordPress Plugin: Trackback Validator Plugin

Blog在DoNews的时候,收到一些comment spam。如今换到自己的空间,comment spam不见了,全是trackback spam,实在想不出什么好的方法。 今天在Blogging Pro上看到了Trackback Validator Plugin的介绍,感觉原理很简单,可能也比较有效吧。这是Rice的一些人研究的,目前只是看Trackback的发送者有没有在它页面上链接你的日志,插件有一个选项把trackback spam发送给他们以供研究,可能以后会根据语义判断,或者会像Akismet一样? 插件主页在这里:Trackback Validator Plugin 去年就开始发布了,但似乎用的人不多,搜索出来的结果也不多。希望它能起到好的效果。

June 2, 2006 · 1 min · qingbo

Firefox 1.5.0.4 Released

楼里的网络从昨晚断到现在才好,习惯了在网上生存的人。看到RSS了,看到邮件了,真是有一种久旱逢甘霖的感觉,不顾要交论文的压力,上Blog来透透气。 打开Firefox不一会就说下载了1.5.0.4更新,询问是否重启。上mozilla.com一看,才知道已经是“昨日黄花”了。 以下摘自http://www.mozilla.com/firefox/releases/1.5.0.4.html Firefox 1.5.0.4 is a security update that is part of our ongoing program to provide a safe Internet experience for our customers. We recommend that all users upgrade to this latest version. Improvements to product stability Several security fixes Release Date: June 1, 2006

June 2, 2006 · 1 min · qingbo

PHP mail(), Yahoo search

今天一回来就看我的Blog,发现mail函数还是不能发出邮件。想到空间商前几日因为有人狂发邮件而被封掉服务器,可能是阻止掉邮件了吧。再一次问空间商客服,告诉我果真如此。 然后到wordpress.org去搜索mail,竟然发现没有结果返回,搜索什么都是这样。想起以前试过的wp-phpMailer,装上竟然能用,21Windows还不错,没有禁掉太多的函数,就是希望他们的服务器挂的时候少一些。不过,它的邮件头还是有问题,中文乱码,听说数据库备份也不能正常发送,比较遗憾。 刚才打开GreatNews,发现Matt在Blog上发了一篇日志,Yahoo Search Broken (again?)

May 28, 2006 · 1 min · qingbo

紧急时刻,却要去旅游

昨天导师打电话给我,说实验室要去旅游,问我去不去。我说现在时间紧……“工作要照常做,也要散散心啊。”于是没多想就答应了。 挂了电话就有点后悔了,答应得太仓促。现在感觉做得越来越没劲了,也许是快毕业的缘故。这个项目最有成就感的时候还是做出那个可以翻译简单语言的compiler。现在快到尽头了,而进度也越来越慢,最后还剩下个JFlex&CUP生成分析器的工作,争取明天完成吧。我没做完又不想开写,到现在连论文的格式都没看。而周一交过周报之后导师就发邮件告诉我月底要交稿了,现在又让我去玩,呵呵,我论文没动笔她是知道的。 收到了出行计划,去皖南的牯牛降,估计还可以吧。只是名单上的人都是只见过几面,不如和自己朋友去的好,争取混熟一点吧,有个好心情,不然两天时间真的就浪费了。 27、28两天,回来开始写论文吧。没想到快毕业的时候会这么烦。

May 25, 2006 · 1 min · qingbo

Paged Threaded Comments 插件

English page: </blog/post25.html> 这个插件是Brian’s Threaded Comments和Keyvan的WordPress Paged Comments Plugin的结合。Trustin Lee曾经做了一个插件Threaded and Paged Comments Plugin for WordPress 1.5,但结构比较复杂,我把其中的关键SQL语句和函数取出,使得两个插件可以顺利地结合起来。现在两个插件被放在同一个目录下(除了comments-paged.php),结构较为整洁了。 下载(zip包,2006-06-08) 更新: 2006-10-07: 修正了thread-event.js中一个Bug。现在点击“Reply to this comment”之后’+’和’-‘图标如预想的那样显示,以前总是错误。 修正了array_merge在PHP5中的问题。谢谢Andy。 2006-06-08: 修正了在更新Threaded Comments选项时的Bug。 2006-06-03: 向delete_comment添加一个hook,在删除某留言时,它的回复都得到它的reply ID。之前留言被删除后回复不再显示。 添加了代码在留言区域上方显示thread个数。效果见下面。 2006-05-24: 将图标文件转换为gif格式,弥补IE6不支持透明PNG的问题。 安装步骤: 解压zip包,得到一个PagedThreadedComments目录和一个comments-paged.php文件。 将PagedThreadedComments目录上传至WordPress插件目录下(wp-content/plugins/)。 将comments-paged.php文件上传至你使用的主题目录下(wp-content/themes/yourtheme/)。 在该主题目录中,编辑每个加了留言功能的页面模板(如single.php),把comments_template()调用替换为 if (function_exists(‘paged_comments_template’)) paged_comments_template(); else comments_template(); 在WordPress面板中激活Paged Threaded Comments插件。 现在应该已经可以使用,如果与主题不搭配,请修改插件目录中的thread-style.css 默认最后一页显示最近的10个thread,最新的排在最上面。在paged-comments-config.php中可以修改这个行为,以及其它一些选项。Thread的嵌套深度请在WP面板选项中修改。 仅在WordPress 2.02中测试过。如果有什么问题,请留言或发邮件给我。 许多朋友问怎么用Gravatar。Brian的插件中使用$c作为循环变量,所以与许多插件不兼容。有时间或许我会修改它使之与其它插件相兼容,不过这里有个方案可以凑合: 把这个文件解压到你的插件目录,并激活它。这是一个修改过的gravatar.php。 在comments-paged.php的合适位置添加这样的代码: <img src=’<?php gravatar($c->comment\_author\_email); ?>’ /> 当然需要一些CSS或HTML来美化它:)

May 23, 2006 · 1 min · qingbo

Paged Threaded Comments plugin

中文页面: </blog/post26.html> This plugin is a combination of Brian’s Threaded Comments and Keyvan’s WordPress Paged Comments Plugin. Trustin Lee has written a plugin Threaded and Paged Comments Plugin for WordPress 1.5, but the structure is complicated. I borrowed the SQL statements and functions of it, and made the two plugins work together. Now the structure is tidier, since the plugin files are put into one directory, except the comments-paged.php file. Download(zip file, 2006-06-08) ...

May 23, 2006 · 3 min · qingbo