2006年11月 的存档

Kill Incoming Links——解决WordPress后台Dashboard超时问题

花了点时间写了一个小插件,以解决中国大陆服务器因无法访问Technorati导致WordPress后台Dashboard页面超时的问题。

因为国内无法访问Technorati,当进入WordPress后台Dashboard时,页面因读取Technorati上的RSS而超时。有时会显示空白页,有时则要花30秒钟才能打开页面。很多人需要在Blog主页点登陆后台来进入WordPress后台页面,这样登陆后会自动进入Dashboard页面。我在Firefox里会一直开着一个WordPress后台的页面,每天下网的时候保存tab列表,第二天上网时再打开。由于有cookie记录登陆信息,所以很少进Dashboard页面。可能有些blogger经常在网吧上网,所以才需要经常这样进后台。

解决办法嘛,手工修改/wp-admin/index.php文件,把Incoming Links部分注释掉是个好办法。[via]还有可以每次登陆后台时用一个后台其他页面的地址,比如http://域名/wp-admin/edit.php。

今天突然想到,可以学Kill PreviewKill Preview插件的办法解决一下这个问题,于是写了这么个小插件,取名叫Kill Incoming LinksKill Incoming Links。试了一下,应该没啥问题,hoho

Update:升级到2.0,基本全重写了,学Feed ControlFeed Control插件,激活插件和停用插件时自动配置WordPress,使得插件激活后Dashboard中的Incoming Links部分立刻不显示,插件停用后Incoming Links部分立刻恢复。在DreamHost空间上测试通过。

顺便设置feed的cache的寿命为1天,使得另外两个feed不再频繁读取。

更多信息,请访问Kill Incoming Links主页

今天光棍节

2006年11月11日,今天光棍节,祝广大光棍朋友们节日快乐!

呃,虽然我今天有空上网发这篇祝福文章,但是我上午陪LP,只是中午抽空过来上一下网而已,下午还要陪LP去逛深圳书城,so,今天不是我的节日,hoho

记得刚上大学时就听说了这个光棍节,难得有一个专门为男人准备的节日,8错8错。

再次祝广大光棍朋友们节日快乐,闪咯...

Linux的nohup命令

昨晚在DreamHost的shell里wget了一个文件,想传到我的ftp上,却又急着回家吃饭。用ftp命令put上去,一断开连接,传输就停止了。觉得Windows都有at命令,Linux应该有定时执行的功能吧。上网查了一番,找到这篇活用Linux的后台任务,原来只要在命令后面加上&符号就可以让任务在后台运行了。不过,这只是让任务在后台执行,断开连接一样会被结束掉。又找到这篇《用nohup命令让Linux下程序永远在后台执行》,介绍了nohup命令和ncftpput程序。于是用了这么一条命令:

nohup ncftpput -u yskin -p *** ftp.server.com /wwwroot 123.zip&

执行后,用jobs命令查看到他正在运行,然后用exit命令退出shell,ftp到我的ftp服务器上,发现文件大小在不停地增加。今天早上上网,发现文件已经传完了。自己睡觉让机器干活,真爽!

好像jobs命令只能显示当前连接中的job,退出后再telnet进去就显示不出来了。另外有一个小发现,ftp服务器上的文件时间被设置过了,看来ncftpput程序会自动设置上传文件的时间呀,我用过的ftp客户端好像都没有这样的功能,以后有空要查一查。

Update:今天特别有兴趣研究这个问题:怎样在ftp里修改FTP服务器上远程文件时间。ncftpput的帮助里有一条"-y Try using 'SITE UTIME' to preserve timestamps on remote host."好像是利用"SITE UTIME"命令来修改远程文件时间的。在网上查到说:Not many remote FTP servers support this, so it may not work.试了一下,我的两个FTP服务器都不支持这条命令,晕倒,Serv-U都不支持。无奈,去ncftp官网把NcFTP Client的源代码下了下来,直接用WinRAR搜索"UTIME",找到c_utime.c文件,里面写的很清楚了,先尝试用"SITE UTIME"命令修改,不行再用MDTM命令修改。试了一下,用ftp命令登陆,敲入quote MDTM 20060101000000 filename,修改成功,bingo.

另外,我还查到PHP里可以用touch()touch()函数修改文件的最后修改时间,和Linux里的touch命令名字一样,hoho

Update2:好像我的FTP服务器上的Serv-U FTP Server v6.0和yskin.net上的vsFTPd 2.0.3都支持MDTM命令,而DreamHost的ProFTPD 1.3.0rc2 Server不支持MDTM命令。So,只能telnet上去,用touch命令改咯。

Update3:Kirin Lin大大推荐使用Linux的screen程序。去Google找了一圈,找到《使用 Screen 看管不适合“无人看管”的终端软件》《Unix/Linux 工具: Screen 命令使用》。这个工具就相当于在shell里再运行一个shell,就像登陆shell,然后输入bash命令,或者Win+R->cmd进Windows命令行提示符后再输入cmd回车一样。只不过,这个新的shell可以随时暂停,而且登出shell后它还在运行,下次还能再登陆进去。

命令很简单,screen -S test即可建立一个叫test的screen,可以在这个screen里运行程序,假设我运行python:

[burns]$ python
Python 2.5 (r25:51908, Nov 23 2006, 19:51:08)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

好吧,我承认我是在炫耀刚在DreamHost上安装的Python 2.5,具体安装过程在这里有详细描述。

这时,按下Ctrl+a,再按下d键,这是显示"[detached]",表示断开了这个screen。然后,我们用screen -ls命令查看一下

[burns]$ screen -ls
There is a screen on:
        1906.test       (Detached) 1 Socket in /var/run/screen/S-yskin.

显示有一个已经断开连接的screen。输入exit,退出shell,然后再telnet进去。键入screen -ls命令,可以发现我可爱的叫test的screen仍然乖乖的躺在那儿。只要DreamHost主机不重启,这个screen应该一直存在吧。输入screen -r test可以重新连接上这个screen(因为我给了它个名字叫test,否则就必须记住1906这个号码咯),我的python还在。按下Ctrl+D退出python,再输入exit就可以退出这个screen,屏幕上会显示"[screen is terminating]"。唔,terminating,这个词好耳熟啊,昨天看《终结者Ⅲ》时好像听过。

Windows命令行提示符和Linux的bash可以进很多层,不过退出时要输入一层一层输入exit退出。呃,试着在一个screen里再开一个screen,按Ctrl+A->D退出,会直接退出第一层screen。用screen -ls命令查看,可以看到第一层已经断开了,第二层还连着。不知道如果开好多层,然后用-D命令强制停止中间的某一层有什么结果,嘿嘿。

才学了几天Linux,发现Linux真好玩,比DOS好玩多了。

Update3:用nohup命令,可以直接在后台运行命令。如果用screen,在一个screen里的时候,即使telnet断线,在登陆上去,切换进screen,还能进入断线前的页面。不过,如果用ncftpput命令,那么命令执行完之后,screen并不会关闭。DOS下有个&符号,可以相继运行几个命令。(Windows应该是&,纯DOS下应该是Ctrl+T吧)在Linux试了一下,&符号好像表示的是同时运行多个命令,以多线程的方式运行。所以,ncftpput还在运行,这边screen已经退出了,screen打开的bash进程也停了。不过这个ncftpput还能继续运行下去,直到上传完文件才自行关闭,好玩的很。而|和<还有>是管道符号。刚才因为输错了命令,偶然间发现一个符号:分号;。分号间隔的命令可以相继运行。在screen里输入ncftpput ... ;exit,等ncftpput上传完文件,这个screen就自动关闭了,hoho

还学了两个命令:ps -e查看进程,kill -9 +进程号强行关闭进程。

三国志曹操传

从11.6打到11.10,打曹操传。

古老的游戏,1999年的游戏。 类型,有点象juezhanchaoxian or dileizhan.

打到最后,还有一点过不去了,可能是我用了一点ZUOBI的原应。

国学辣妹+美女抱民工

11月8号的《南方都市报》A32版,4条新闻:

国学辣妹欲“勾引”孔子


“国学辣妹”在孔庙内摆出小甜甜布兰妮的姿势


“国学辣妹”的“S型”生活照

3张图片来自新浪网《女大学生自称国学辣妹 扬言勾引孔子非难事(图)》,第一张和第三张在报纸上登了出来。唔,看起来有点丑。另外还觉得前面有点假。

美女抱民工后续报道:抱抱团美女遭遇性骚扰?

“抱抱团”,汗,不知道又是那个卡哇依的女生想出来的名字。最近Free Hugs Campaign很流行啊,被人从国外抄来以后,在各大城市搞了几次这样的活动。阿门,上帝保佑,希望这个活动在中国不会变味。

在网上随便搜了一下,找到一个Free - HugsFree - Hugs网站。还有一段Youtube上的视频,是发起人Juan Mann的经历。满感人的,歌也满好听的。Free Hugs Campaign. Inspiring Story! (music by sick puppies)

另外还有韩国的Free Hugs in KOREAFree Hugs in KOREA,以及中国抱抱团的free hugs in china(北京抱抱团活动视频)free hugs in china(北京抱抱团活动视频)。呃,看了韩国的那个,觉得韩国人也和中国人一样,喜欢看热闹啊,哈哈,难道这是亚洲人的共性?而中国拍的那个嘛,不说了,好烂。

盲道上种树

吉林省松原市,绿化的树木刚好种在盲道上。我在网上没找到图片,不过这种事情很常见的吧,很多城市都有,而且也没多少人关心忙道,甚至很多人也不知道路上的黄色小道是干什么用的。天津的“之”字形盲道倒是找到了,新华网《 曲折盲道為誰而設?》,2004年7月7日拍摄的天津市白堤路的“之”字形盲道。盲道铺成这样,也真是pfpf。
天津“之”字形盲道

不许联想 www.wangxiaofeng.net

文章介绍说王晓峰的“按摩乳”基本停了下来,转战“不许联想”。文章还转了他的《博客留言指南》的前11条,不过我看到不许联想上写着“内容未经许可,请勿转载。”不知道南方都市报拿到许可了没,嘿嘿。

我是不敢转了,内容大致是“沙发。板凳。楼上的,不要老坐沙发好不好?今天真靠前,顶一下。”当然,最后一句一针见血的话最重要:“你知道中国人上网都干什么了吧。”

国学辣妹+美女抱民工,中国人上网都在干什么呢?据说当天抱了几百个人,为啥最后只能总结出“美女抱民工”五个字呢?恐怕这事也不能怪媒体,媒体也只是跟着观众的需要走吧。

十一月,深圳读书月

这段时间,深圳读书月的活动搞的很红火呀。6号,在深圳书城中心城举办了第七届深圳读书月全面启动仪式暨深圳书城中心城开业典礼。自2000年创立至今,深圳读书月已经办到第七届了。记得去年11月第六届深圳读书月时,市政府弄了一个深圳“书香地图”——一本囊括全市书店、音像店、图书馆、图书室及社区文化站等设施的小册子,上面标注了各家文化设施的地理位置、交通、电话号码等信息。当时印了几万册,放在深圳书城罗湖城免费发放,我也去拿了一本,发现我住的地方离罗湖图书馆和深圳美术馆都不远。这次深圳读书月搞了很多活动,不过令人关注的,除了深圳书城中心城开业,还有一项就是图书漂流活动。找了一段关于“图书漂流”的说明

“图书漂流”源于上个世纪60年代的欧洲,海上漂流瓶是创意来源。“图书漂流”是指书籍在素不相识的人之间传递阅览的过程。读书人将读完的书贴上特定标签后,放在校园、公园、咖啡馆、博物馆、图书馆等公共场所,无偿供他人阅读,人们可以取走阅读,读完后再将其放回任何一个公共场所,令好书在读者中广为流传。如今,这种传阅方式已扩展到网络世界,互联网加速了图书漂流活动的普及。2001年4月,美国人罗恩·霍恩贝克开设了一个图书漂流网站(www.bookcrossing.com),借助网络,这一活动开始在世界风靡。短短几年间,全世界已经有超过41万名注册读者,注册图书超过了240万册。

我国的图书漂流网(www.tspl.cn)缘于两位在瑞士旅游时拾到漂流书的网友,回国后他们于2005年3月创办了该网站,目前已有注册书友4000多人,注册图书超过400万册。作为一种新颖、时尚的阅读方式,“图书漂流”旨在加强读者间的相互交流,让更多的人分享读书的乐趣。

继续阅读《十一月,深圳读书月》

Extended Live Archive中文版

Extended Live ArchiveExtended Live Archive这个插件,我在6月份就安装了。这是个很不错的插件,知名度也很高,使用者众多。

昨天Edward跟我说想汉化ELA,昨晚他就做完给我发过来了。中午花了一个小时把中英文版对照看了一遍,提了一些修改意见,下午Edward就修改好,正式发布出来了。大家可以到Edward的这篇《Extended Live Archive 汉化版!》文章里下载。

天佑的这篇Extended Live Archive 0.10 版本教学把ELA的方方面面都讲到了,在安装ELA之前一定要看一遍。(天佑写的教程,比如ELA和UTW的,真是不错)而我的K2模版提供了对ELA的支持,安装ELA插件并激活后,到K2选项里点一个按钮,K2的Archive页面就会显示出来了,呵呵。

汉化真的是件满累人的事。不说汉化者Edward,我校对一遍都要一个小时。英文和中文的很多说法不一样,有些地方要字斟句酌地考虑。很多时候要采取意译的方法,用中文把作者要表达的意思正确的表达出来,而不是一个词一个词地翻。而且,在准备对软件进行汉化之前,先要用过一段时间这个插件,把他的主要意思搞透,然后才能进行汉化。

不过,中文版也不是万能的,虽然后台的选项被汉化了,不过有些选项的说明写的不多,用户可能并不清楚这个选项具体是干什么的。另外,插件的安装、使用过程,以及出现某些问题的解决办法(比如ELA要设置cache目录的权限),都不是中文版能解决的。不仅WordPress插件如此,WordPress本身也一样。所以,天佑写的ELA教程就尤其显得重要。如果要比较的话,中文教程可能比中文版更重要些。天佑不仅写了ELA教程,把ELA的方方面面都讲全了,而且还及时地、正确地、不厌其烦地回答网友们提出的问题,真是pfpf呀,ELA作者应该好好感谢他才是。不过在网上经常看到有人在找中文版,而不是去找教程。中文版只能让用户看懂选项而已,中文教程可是解决安装问题的关键啊。所以,希望大家多多地看看教程,也希望中文WordPress世界能有更多的插件教程出现。

当然,Edward的ELA中文版的重要性也是不容抹煞地!感谢Edward为ELA在中文WordPress世界的普及做的贡献。不过,要是被我发现有翻的不好的地方,也是要鞭打地,嘻嘻。

使用中文包后的一些显示乱码问题

ChriSir发现,使用WordPress中文包后,当有人发表评论时,如果出现错误,比如未填写email地址等,WordPress自动弹出的错误信息页面显示的是乱码。[via]

这个问题,不用说,又是页面的HTTP头没有表明页面是UTF-8编码格式的,导致用户的浏览器以GB2312方式解码,产生乱码。以前WordPress备份插件就出过这样的问题,参见我的这篇《WordPress中文包导致数据库备份插件出错》。WordPress是英语世界开发的,没有考虑到其他语言。所以,我们还是要自行解决这个问题。

ChriSir提到,乱码页面的地址是http://www.chrisir.com/wp-comments-post.php,查了一下,这个是WordPress发布评论的页面,文件的开头确实没有用header命令标识该页面为UTF-8编码。而这个页面只是发布评论,在发布完评论后就自动跳回,而只有在出错的情况下才会显示错误信息。这儿的乱码都能被ChriSir发现,他也真是细心呀。

修改一下,在wp-comments-post.php文件的开头require命令之后加上一句:

header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));

呃,或许,我们可以把这条header语句加到wp-config.php里,反正所有的页面都要调用这个文件的嘛。只有把这条header语句加到wp-config.php文件里,那么所有的页面都会被加上标识为UTF-8的HTTP头,这样乱码问题就应该不会再出现了,这个困扰N多人的问题也许就被彻底解决了,hoho

Update:ChriSir说,直接把上面的代码加入wp-config.php文件后没起作用。[via]这一点我没说清楚,wp-config.php是整个程序最先执行的文件,在这个文件里的代码当然不能使用类似get_option()之类的函数,这些函数在这个时候还没有定义呢。所以,需要把生成的header直接写入这里,比如你的网站是UTF-8编码的,就写header('Content-Type: text/html; charset=UTF-8');就可以了。不过,不知道定义把页面定义为html格式,会不会对一些JavaScript页面有影响耶。

国际会议请色情女优“代言”

11月1日《南方都市报》刊登了《国际会议请色情女优“代言”》一文,大致的意思是:

10月22日,苏州电视台报道了苏州市民毛先生发现一块广告牌有点不对劲,跟朋友们一讨论,觉得有点像日本AV影片的女优,上网一查,果然是色情影片《我爱大针筒》宣传照。第二天,江苏电视台《1860新闻眼》也播了这个新闻,还上了新浪视频。随后,在中国科学院研究生院的科苑星空BBS上引起热烈讨论,大家关注的主要是毛先生如此“博学”,回家后是否会被老婆教育。

不过,事件依然不为大众知晓。直到第二届世界健康城市联盟大会10月28日在苏州市开幕,也没人去把这个广告牌撤下来。10月30日,世界健康城市联盟大会最后一天,在猫扑、天涯等主流论坛上出现了一篇题为《苏州市竟然用女优宣传第二届世界健康城》的帖子,其中提到:

“这几日上班,路过的新区索山桥,西环路和劳动路的交叉路口竖起了一块新的广告牌,是苏州为举办第二届世界健康城市联盟大会做的宣传广告。扫了一眼,不错,广告上的护士MM很养眼,再扫一眼,好像有点眼熟,哪里见过。仔细想想,好像是日本女优拍的护士装制服秀。于是回到公司,在baidu拿护士关键词搜了一下,果然查到了相同的图片,宣传广告只不过进行了一点裁减和修饰。”帖子贴出了广告照片和网上找到的AV女郎原图,比较证实广告牌上的女护士确实是日本AV女郎葵实野理。原图是色情影片《我爱大针筒》宣传照,广告牌上只是将原图进行了简单的裁剪。

这个帖子顿时红遍网络。

10月31日,人民图片网进行了转载,各大门户网站也都纷纷跟进,事件变得重大起来。苏州众媒体迅速赶到西环路与劳动路路口进行采访,并向苏州卫生局反映此事。中午11时30分许,现场记者看到突然开来了一部汽车,从车上下来两个人迅速对这幅海报进行清除,两三分钟的功夫,海报就被撕拉下来。

苏州市卫生局宣传处丁文娟小姐解释说宣传画是该局委托一家设计公司进行设计的。该公司设计人员上网征集的护士照片。记者上网找到了征集帖子,不过现在帖子已经被删除。

丁小姐笑着说,这事主要还是因为对相关的东西不了解造成的。

有网友说:“虽然你没见过这个女优,但你又何尝见过这么大的针头?!一看就知道不是给人打针的!”

继续阅读《国际会议请色情女优“代言”》

101个最有影响力的虚拟人物

看了10月25日的《南方都市报》的报道,找到了网易的一篇报道

三个来自美国新泽西州自称“流氓哲学家”的人——艾伦·拉扎尔、丹·卡兰和杰雷米·萨尔特,出版了一本名为《101位最具影响力的虚拟人物》(The 101 Most Influential People Who Never Lived)的书。)的书中,副标题道明了这项评比的意义:“小说、神话、传说、电视、电影中的人物究竟如何塑造我们的社会、改变我们的行为方式,并且规定历史的走向。”

从他列出的代表美国文化虚拟人物来看,有如下特色:

  1. 来源广泛。既包含美国本土出自小说、影视的著名人物,也包括来自欧亚的著名虚拟人物形象,如灰姑娘(欧洲)、亚瑟王(英国)、浮士德(德国)、辛巴达(阿拉伯世界)、哥斯拉(日本),合起来,正好反映出美国文化尤其大众文化的渊源传承,也反映其开放和兼容并包的态度。
  2. 反映了一般美国人的是非善恶美丑观念。既有体现美国价值观的正面人物形象如超人等,也有代表与其价值相对立的人物形象如老大哥(《1984》的人物),还有代表其价值观变迁的人物形象,如万宝路的人物形象(以前突出英雄气派的特色,现在更突出其环保方面的负面形象),从而某种程度上反映了美国人价值观的变化。100多个虚拟文化人物,代表的是美国主流的、大众的、中产阶级品味的价值和形象,为了解美国社会、文化者必知。
  3. 首次有系统地整理和考察了虚拟形象和人物的文化价值和意义,唤起了美国人的集体文化记忆,且给人以启发:虚拟文化人物和形象是一种文化财富,是一种文化遗产,值得珍视,对其他国家的人盘点文化财产很有借鉴意义。

《The 101 Most Influential People Who Never Lived》《The 101 Most Influential People Who Never Lived》这本书排的是虚拟人物(Who Never Lived),书的副标题"How Characters of Fiction, Myth, Legends, Television, and Movies Have Shaped Our Society, Changed Our Behavior, and Set the Course of History"说的很清楚。当然,书中的排名是按照美国的标准去排的。我们也可以借这本书了解一下美国人。

下面列一下前十名:

  1. The Marlboro Man(万宝路牛仔):“万宝路牛仔”是由利昂-贝纳特广告公司(Leo Burnett Co. advertising agency)于1955年设计推出的。在它被推出的第一年里,万宝路香烟的销售量飚升了3241%,1972年万宝路成为全球销量第一的香烟。
  2. Big Brother《1984》(老大哥):“老大哥(Big Brother)”这个名字,出自乔治·奥威尔著名小说《1984》中的一句话:“老大哥在看着你呢”。由于《1984》的性质,老大哥已经成了著名的虚拟政治讽刺人物。
  3. King Arthur(亚瑟王):在英语国家,乃至整个西方世界,英雄亚瑟王及其圆桌骑士的传说家喻户晓,不仅出现在儿童读物之中,也收集在大学的文学读本里。罗马与英国的诗歌中共同传唱的英雄亚瑟王与他的骑士们相信,一旦罗马完全撤出英国,英国将会面临空前的灾难与混乱。
  4. Santa Claus(St. Nick)圣诞老人:圣诞老人的传说在数千年前的斯堪的纳维亚半岛即出现。北欧神话中司智慧,艺术,诗词,战争的奥丁神,寒冬时节,骑上他那八脚马坐骑驰骋于天涯海角,惩恶扬善,分发礼物。与此同时,其子雷神着红衣以闪电为武器与冰雪诸神昏天黑地恶战一场,最终战胜寒冷。据异教传说,圣诞老人为奥丁神后裔。许多国家都保存了他们自己有关圣诞老人的风俗和传说。
  5. Hamlet(哈姆雷特):莎士比亚剧作《哈姆雷特》当中的主人公,是一个年轻英俊、正直善良的王子,多年来,哈姆雷特的复仇故事,一次又一次地被克隆、被搬上银幕。而《哈姆雷特》也被评为莎翁最著名的一幕悲剧。
  6. Dr. Frankenstein's Monster(佛兰肯斯坦)
  7. Siegfried(齐格弗里德)
  8. Sherlock Holmes(福尔摩斯)
  9. Romeo and Juliet(罗密欧和朱丽叶):莎士比亚作品中的一对相互殉情的情侣,知名度当然也是世界级的,在很多人眼里,罗密欧和朱丽叶已经成了爱情忠贞的一个符号,在中国,人们常拿他们和梁山泊与祝英比类比。
  10. Dr. Jekyll and Mr. Hyde(变身怪医)

这里面我只知道圣诞老人、哈姆雷特、福尔摩斯,还有罗密欧和朱丽叶,汗。在后面的列表中,米老鼠、鲁宾逊、灰姑娘、芭比娃娃、詹姆斯·邦德、蝙蝠侠、超人、天行者卢克还大概知道,其他的就不知道了。为啥詹姆斯·邦德排的那么靠后呀,奇怪。

貌似里面没有亚洲的。虚拟人物,日本人会选什么呢?蜡笔小新?铁臂阿童木?韩国人呢?大长今?我们中国人会选什么呢?孙悟空?我们的很多动画片,还有电影《大话西游》里的主角呢。

就像网易上所说的:他们从未出生,但永远存在。

网易上有这101个人的姓名和详细说明:1-2021-4041-6061-8080-101
AOL网站有英文版的:1-3334-6667-101
还有一个英文版的人名列表:Influential people list