昨天,K2开发组把K2 svn搬迁到Google Code
上了。[via]
K2从去年7月到现在一直都在使用在自己的服务器上架设的subversion repository(Subversion 1.2.1)和bug tracker(Mantis)。现在,可能看着Google Code提供的服务不错,就整体迁移到Google Code上了。于是,现在我们有了新的K2项目主页、K2 svn和bug tracker。转移之后,原来的svn上的K2最终版本号停留在r407,在Google Code上的K2版本号将从r1开始计数。
对svn不是太了解,好在我的网站上有一本关于svn的电子书。2006年5月4日在网上看到一篇《全面迎接SVN时代来临》,看到好多人留言说没法下载那本pdf电子书,我就用迅雷下载下来,放到网站上存着供大家下载。书名叫《使用Subversion进行版本控制》。翻出这本书看了看,大概有了些了解,又去Subversion主页下载了Subversion Windows安装程序,照着书上说的和Google Code的说明,用svn checkout http://kaytwo.googlecode.com/svn/trunk/ kaytwo查看了一下K2的最新代码,嘻嘻,很有成就感。svn的web查看方式查找文件比较方便,想下载下来更新模版就不是很方便了。不知道这个K2 nightly builds directory以后还会继续更新不。
(Update:这个网站今天开始更新了,收录的Google Code上的第一个K2版本号是r25。有一个小发现,.my域名是马来西亚的,和我们国家一样是东八区,上面的CHANGELOG里的时间也是东八区的,中国人看起来真是方便啊,不用换算时区了。)
另外,K2开发组申请了一个新的Google Group:the K2 Subversion Google Group ,让Google Code每次更新的时候自动发送一封email到这个新闻组。以后,这个新闻组就是K2的更新日志(changelog)了。[via]在这个新闻组里可以看到K2的每个更新版本所做修改的简要说明和被修改的地方附近的代码,不过新闻组被设置为不允许人加入,我们只能订阅他的feed来得到更新通知。我已经把他的feed的扔进抓虾了,hoho。转移到Google Code上才两天,最新的版本已经是r23了。更新太快了,不敢用Greatnews,还是用抓虾订吧。
27号发现了K2的一个小bug,在sidebar.php里一处使用is_pages()函数的地方忘了加括号,我到K2论坛发了篇文章告知这个bug,在K2 r21版本里已经修复了。具体修改的地方可以看K2 r21更新日志。哇咔咔,我报的bug耶,yeah
我用svn log命令把K2旧版的changelog抓了下来,留个纪念吧。
K2旧版CHANGELOG|K2新版CHANGELOG
Update:K2 r25更新日志:
Adding the directory for our first tagged release 1.0. We need to decide when that will be still, but having the dir there waiting for us is a nice motivator I think.
终于开始准备1.0版本了。期待1.0稳定版的出炉。
今天进后台->管理->Spam Karma 2查看了一下垃圾留言,发现一条消息:
MAJOR SECURITY ANNOUNCEMENT
Affecting all WP users (this is not specifically a Spam Karma problem). Please immediately disable 'guest user registration' on your blog if it's enabled and advise all your friends to do so (details here). I cannot give too much technical details as it would further endanger vulnerable Wordpress users, but trust me this is not a joke.
事情看起来很严重,SK2的作者写了这篇文章和这篇文章,大概的意思就是说,请所有Wordpress用户立刻关闭“允许用户注册”的功能,并通知朋友也关闭这个功能,因为Wordpress出现了bug。作者说不能公开技术细节,因为怕更多的人被攻击。作者已经把详细的资料发给了Wordpress开发组,估计要等Wordpress 2.0.4发布并大多数人进行了更新后,相关的技术细节才会被公布。
估计没多少人开注册功能吧。在网上逛的时候,好像开用户注册的只有一些ASP架的Blog。希望这次影响不大,不过大概看了一下SK2作者的说明,这个漏洞已经被一些网站利用来做大范围的攻击了。
Update:7月28号发布的Wordpress 2.0.4已经修复了这个bug。7月26号SK2作者发出的通知,28号Wordpress就推出了新版本,有点奇怪啊,难道是针对这次事件做的紧急更新?仔细看了一下SK2作者在Wordpress更新后写的说明(大段的英文实在是头疼),好像在指责Matt(Wordpress的主要作者之一)故意要隐瞒这次事件,以免影响投资者的信心。哎呀呀,好复杂的事情,我理解能力有限,英语水平也有限,实在理不出个头绪。
对于具体的事件我倒是不是太关心,我只是关心bug的具体技术细节,可是SK2作者并没有说清楚。在Wordpress 2.0.4修正的bug列表里找了一圈,看起来比较象的也就是这一条:Username/Nickname with spaces cannot delete it's own posts or comments,不过人家也说了:"this bug does not apply to trunk; everything is fine there."没办法,只有去比较Wordpress 2.0.3和2.0.4的代码,看看能不能找出来原因咯。大概看了一下,好像好几个地方加了类似if ( current_user_can('import') )这样的判断,wp-login.php对redirect_to进行了一些处理。既然SK2作者要求大家禁止用户注册并删除不认识的用户,那么应该是Wordpress没有处理好用户权限的问题,导致低等级用户可以越权做一些事情,也许是import?还是等作者公开吧,我英文菜,PHP也菜。
on 2006.7.28
归类于 网络服务
291字
刚才用365key收藏一篇文章时,点保存网摘时出现一条错误信息:
Save Error(DataBase):数据库 'bookmark' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。
哈哈,365key的工作人员在干嘛呢?维护工作要做好啊,要干活啊。
Update:从今天早上0点多开始,《365key停止服务24小时 整理内容》。这下爽了,今天FeedBurner被封,365key又出问题,真是×××
说是要整理内容,还说要加大编辑力度,不会开始清理收录的链接了吧?阿门,我大概收了200多个页面,要是有丢失的话我就×××
Update2:恢复了,收藏的222条,一条没丢,感谢真主。
on 2006.7.28
归类于 网页设计
320字
想学人家做网页设计的,自己调一下整个Blog页面各部位的颜色。研究了半天,搞出来的是乱七八糟,一点都没有美感。没办法,天生没有美术细胞,又缺少CSS的知识。
找到一个原色和合色一览表,不过是直接写的HTML代码,我把它们存在网站上了:原色大辞典、和色大辞典。还有这个Web Colors,也是全部常用于网页的颜色。
在蓝色理想找到个配色软件ColorKey Xp,可以用于网页配色。
另外还知道了通用于IE, FireFox, Opera浏览器的支持Alpha透明的方法。透明很好玩,以前见过一个用透明效果做出的页面,非常的漂亮。(Update:找到了:透明PNG背景图片 For IE 6.0 Firefox Opera,演示)可是我不会玩...暂时先放在这吧。
很早就遇到过一个问题,就是安装某个插件后,点激活后会出现白屏。一直没有搞明白是由于什么原因,以前的解决办法是,如果是不包含中文字符的,直接把文件转存成ASCII码方式,一般都能解决。今天给弟弟弄Blog的时候,又出现了这种情况。研究了半天,终于找到了答案。
继续阅读《Wordpress中要注意的UTF-8的BOM问题》
我刚接触Wordpress的时候——大约在今年3月份或者更早吧——除了Wordpress自带的插件,最先装的插件应该就是桑葚的中文WordPress工具箱
了。(一个小发现,我用紫光V5打出来的是“桑椹”,而他的网站上写出来的是“桑葚”,在金山词霸查了一下,好像紫光打出来的是正确的,桑椹——英文mulberry...汗了)
这个插件提供了很多功能,都是一些国人喜欢的功能——最新文章,最新评论,评论数最多的文章,发表评论最多的网友,随机文章以及适合中文环境的摘要功能。这些功能我感觉并不实用,虽然国内的大多BSP都提供这些功能。最新文章功能Wordpress自带,最新评论功能倒还有点用,随机文章功能对于专门讨论某个方面的Blog还行,而我一直的观点是一个Blog对应一个人,个人的所有文章应该发在同一个Blog上,文章的分类应该靠Blog系统的分类功能解决,而非建立多个Blog。我的研究方向比较多,所以我的Blog分类很广,这样的情况下,一个设计的比较好的相关文章功能可能比随机文章好的多。
继续阅读《中文WordPress工具箱》
on 2006.7.18
归类于 建站日志
826字
今天上线看了下网站的访问记录,百度又开始大规模的访问我的网站了。
从2006年6月17日开始,百度就一直没有再收录过我的网站的一个页面。在百度用site:yskin.net搜索,只能搜到93个页面,最新的是6月17日的。看了访问记录,百度会偶尔来访问一下首页,保持着每天一次的频率,不过百度并没有收录首页。当时比较着急,毕竟国内使用百度的人还是很多的。当时不知所措,直接在footer里加上“百度”二字,链接到百度的网站。7月16日,百度开始大规模的收录网页,太恐怖了,两次访问之间只间隔两秒。还有一个叫做Yandex的俄罗斯搜索引擎,也是几秒钟一次不停的访问。而msn和Yahoo两个搜索引擎则温柔的多,起码间隔上几分钟才进行下一次访问。Google则做的最好,他的最低间隔设置为一分钟,不会对网站有太大影响。
呃,也许百度用的HTTP管道吧,省一点连接数,但是服务器恐怕受不了,页面执行时间就要一秒钟啊。况且访问频繁,流量占用也很大。另外还有一个叫做ia_archiver的经常访问,上网查了一下,原来是Alexa crawler。我安装了一个SearchStatus插件,可以在Firefox的状态栏上显示当前页面的Google PageRank值和Alexa排名,sniffer发现这个插件完全是仿照Google工具条和Alexa工具条的访问方式设计的,所以使用这个插件应该和使用两个工具条没什么两样,多访问一下自己的网站,应该可以增加Alexa排名。另外,我发现Alexa的爬虫访问了我的几个不公开的页面,都是我做测试用的页面,连URL后面的#部分都不漏,很明显他是在你查看Alexa排名的时候记录了URL,然后进行了访问。这确实是一个得到更多网址的好办法,不知道Alexa工具条的用户有没有在Alexa工具条的用户条款里见到过这一条,否则Alexa未免太不厚道了,Google都不敢这样做。
好像还有UA是"Wordpress 2.0.3"的,好奇怪。
on 2006.7.14
归类于 电影&电视
1,953字
2006年7月12日的《南方都市报》上介绍了韩国的综艺节目Xman,并说该节目即将在南方台播出。节目名字"Xman"来源于美国大片《X-men》,中文翻译叫《X战警》,正好最近X战警第三部《X-Men: The Last Stand》刚刚上映。报纸介绍说这个节目在韩国很火,自从2005年初在韩国SBS电视台播出后,至今在韩国本土保持25%的收视率。
正好网吧的电影服务器上有最近两个月的Xman,13,14号两天看了3集,确实是满好看的。节目里请了很多明星来做游戏,整个节目分好几个阶段,每个阶段就是做不同的游戏。这些游戏本身很好玩,很搞笑,综艺节目嘛,就是好玩。而且节目请了那么多明星,对于韩国的年轻人,还有其他国家,比如中国,的年轻人来说,也是很有吸引力的。国内有一些论坛录制了Xman,并做成Real格式的文件提供下载,还配了中文字幕。字幕里加了好多说明,告诉你他们在笑什么,所以也不会看不懂。照着片子里的地址找到发布片子的韩娱家园论坛,人气不错呀,当前有2000多人在线。
目前Xman是一集分两次播出的,首先嘉宾上场,每个人跳一段热辣的舞蹈。然后每个人去听指令,知道自己是否被选为Xman,被选为Xman的人要在每次游戏中故意输掉。然后,双方各选出一人来互相挖苦对方,被挖苦的要说“当然了”来做回应,直到一方受不了为止。再接下来是配对,5男3女配对,直到配出3对男女后剩下的两个组成男男组合,然后双方各出一对做游戏。还有就是类似体育课上的云梯,要抓住横杆以手代步前进。双方各派出5个人站上垫子,然后派出人来向对方进行攻击,掉下来的就out,直到一方的人都被踢下去为之。这个游戏应该很受那些韩国男星的fans们欢迎吧,哈哈。最后是Xman宣判台,大家投票选出自己认定的Xman,得票最多的上宣判台等待宣判。
我觉得Xman挺好看,值得每个星期固定观看。记下了发布的论坛,以后就可以经常去下载来看了。
Update:有一段时间没看Xman了,因为没人帮忙下。这几天上网下了最近一个月的5期Xman,一口气看完。
好久没用BitComet了,有2年多了吧,但是界面感觉还是那么的熟悉,没什么变化。在0.7几版里加入的DHT和DHTv2功能不错,可以加密BitTorrent协议,防止被封锁。
Xman名字也换了,叫New Xman。节目也全换了,以前看的一些节目,比如“当然了”(당연하지)和云梯对决都没有了,现在玩的是躲避球、三行诗、说一样做一样和舞蹈表演。躲避球不错,女孩子们也能玩,不象以前的云梯那么有难度。三行诗因为有了限制,虽然也很好笑,但是比起以前的“当然了”差了一点。“说一样做一样”考验人的反应,而且我看的有一期里有人提到说,Xman在中国也很火,所以要求和MC刘用中文数字做对决,结果刘在石输了两次,而且都是第一句就输了,哈哈。 舞蹈环节很不错,很有水平。韩国娱乐高度发达,每个刚出道的新人起码都要会一些街舞的功夫才行,没有一定的舞功是绝对混不下去的。Xman的舞蹈环节,有年轻的偶像派,男星女星都有,针对年轻人;也有人玩复古,唱一些80年代的老歌,针对中年人;还有人跳韩国民族舞,针对老年人。
Xman给了我们除了台湾娱乐节目之外的另一种选择,闲暇的时候多看看Xman还是很不错的。目前我还是觉得Xman和宪哥的我猜还值得一看,其他的就省省吧,国内的那些所谓的娱乐节目就更不用说了。
Xman每一期都请好多嘉宾,热热闹闹的。韩国这么小小的一个国家居然有那么多艺人。Xman请的大多是些普通的艺人,还有新人,当然也会请到比较有名的,比如安在旭等H.O.T、神话、东方神起等组合的帅哥们。大多数我都不认识,我对韩国的明星了解不多,不过看Xman时间长了,大概能认识几个,比如主持人MC刘(刘在石),两个队长姜虎东和李赫财,固定嘉宾朴明秀和HAHA,常看到的蔡妍等等。不过,大牌们应该不会上这类综艺节目吧,什么时候看过刘德华或者王菲上过综艺节目呢?
Xman节目的官方网站是http://tv.sbs.co.kr/xman/,都是韩文,页面做的挺不错的。关于Xman的下载,目前我比较常去BTChina和飞客bt搜索还有btfire找BT种子,最近一个月的种子速度都还可以,起码可以维持在100K/s以上。多年未接触BT了,BT现在依然活得很滋润,还远未到过时的时候。
Update2:今天还知道了个类似的韩国综艺节目叫《情书》,有空找来看看,也是这班人马。
Update3:4月1日是Xman的最后一期,4月8日做了一个Xman Best节目,回顾了Xman从2003年开播以来三年之中最好的一些片段。另外,听说情书也结束了。以后每个星期没得Xman看了,唉。想起了《我猜我猜我猜猜》,也有快10年了吧,还没停,呵呵。
寻找相似文章,这真是个复杂的问题。以前想过用WordPress Related Entries
,但是觉得要修改数据库,麻烦。后来有了UTW,他提供了根据tag是否相同来查找相似文章的功能。这个功能用了一段时间,觉得还不是太好用。我前几天查看了一下他的源代码,他有按照文章的相同tag数进行判断,比如一篇文章有两个tag和当前文章相同的就比只有一个tag相同的排在前面,不过如果相同tag数一样的话,他就按照发布时间顺序,最新的文章排在最前。这也不能怪UTW,他也只能按照tag的相同与否进行判断,其他的也不归他管。
6月30号开始进行了一番研究,判断两篇文章标题是否相似主要有三个方法:自行写比较代码、通过PHP提供的函数进行比较、通过MySQL提供的SQL查询语句进行比较。下面分别进行说明:
一、自行写代码
要比较两个字符串的相似度是个很复杂的命题,很多科技论文讨论了这个问题,当然大多都很深奥,可以用于搜索引擎比较两个网页的相似度以便去除相似网页用的。我们用着小小的PHP,当然不能用那么复杂的算法。
我大概的想法是,先写一个找出两个字符串的最大匹配的算法,也就是两个字符串的最大共同子串。有了这个算法后,使用这个算法找出两个字符串的前几大匹配,然后做一下加权得到相似程度,数值越大相似度越高。
在网上找到一篇论文:《串的最大匹配算法》,详细介绍了利用二维数组来找出两个字符串的最大匹配的算法。我觉得可以这样:把两个字符串标志为A、B,将A中的每个字符提出,到B串查找相同的字符,得到A,B中的一个字符相同的位置后,再从此位置开始往后找出最大的匹配。这样将所有的匹配找出,比较后就可以得到两个字符串的最大匹配了。
二、通过PHP提供的函数进行比较
PHP提供了几个比较字符串相似度的函数:similar_text(),levenshtein(),soundex(),metaphone()。
similar_text()函数原型:int similar_text ( string first, string second [, float &percent] )
返回同时存在于两个字符串中的字符的个数,通过percent参数返回两个字符串的相似度。
在PHP手册的similar_text页面有一段貌似具体的实现代码。这个函数比较简单而又方便,不过他的复杂度也有O(N**3),N为较长字符串的长度。
levenshtein()返回从第一个字符串变换到第二个字符串需要的次数。在这个页面找到一段描述:
相似性常常用 Levenshtein 距离来衡量,指的是俄国科学家 Vladimir Levenshtein 在 1965 年发明的算法。根据 Levenshtein 距离可以计算将一个短语转化成另一个短语时需要执行的插入、删除和置换的次数。比如,要将“magazine”变成“magazines”,只需要输入一个字符(“s”), 因此它们之间的距离是“1”。八个字母中取一就是 12.5%(距离通常相对短语来计算),因此采用这种方法的 CAT 工具用 87.5% 来表示这两个词之间的相似性。
不过这个算法也有缺陷,比较适合英语之类的拉丁语系而不适合中文。soundex()函数和metaphone()函数返回两个英文单词的发音键,显然他们也不适合中文。
三、MySQL提供的SQL查询语句
我是这样想的:为wp_posts表中的post_content项添加FULLTEXT全文索引类型的索引,然后利用SQL语言中的MATCH子句来查找相关的文章。具体可以参考MySQL手册中的《全文搜索功能》。
WordPress Related Entries插件也是用的这个办法,不过他是给post_name和post_content项添加的索引,然后根据每篇文章的post_name当做keyword去匹配。你也可以用<!--kw=keyword1 keyword2-->手工给文章添加一个keyword。
今天一上网就去整理紫光V5的词库,忘记了调显示属性。进Blog一看,文章标题显示的模糊不清,难看的很。用IE打开看了一下也是一样的结果。想了一下,赶紧去显示属性->效果选上平滑屏幕字体边缘,这才好看起来。我这里是Windows 2000。看来这个功能还是很重要的,否则字体难看的不得了啊。
上网查了一下,知道了Windows XP下有一个清晰字体(ClearType)技术,《驾驭 Windows XP 的字体边缘平滑技术》一文中详细解释了XP的三种平滑方式:不平滑、标准和清晰。标准对应着Windows 2000里的“平滑屏幕字体边缘”功能,清晰则是XP特有的ClearType技术。在这里有提到:“知道原理的就明白Cleartype或者Subpixel rendering完全是针对LCD的缺陷设计的。”所以,使用LCD的朋友,还是把ClearType功能打开吧。使用CRT的朋友,可以使用ClearType Tuner V1.0 汉化版来测试一下,使用哪种平滑效果更好看一些。
Windows Vista中将增加一种微软雅黑,他将用作Office2007中Word里的默认字体。这个页面展示了微软雅黑在打开ClearType后的良好表现,我测试了一下,Windows 2000里的效果还不是很好,不过据说Linux下显示不错
Update:换了一家网吧,系统是Windows XP SP2,显示器是17村液晶。大概看了一下,如果不选“平滑字体边缘”,Blog标题的显示效果真是难看。如果选“清晰”,标题的英文部分的显示效果不错,中文的就很难看了。还是选择“标准”,中英文显示都不错,嘻嘻。