燕姿!燕姿!

喜欢燕姿,没有理由,就是喜欢,哈

现在才发现,有一个人的歌不论怎么听也不会厌,节目怎么看都觉得有趣,这个人就是孙燕姿。已经很久没有听什么新歌了,也不会去网上下载某某人的新歌,新专辑,偶尔会下载一两首听听,但也是听完便删掉。不知道是自己的欣赏水平已经跟不上这个时代,还是自己在拒绝这个时代的变化,要找到自己喜欢的歌手,喜欢的音乐真是难。可能我比较挑剔,在我眼中,孙燕姿是当今乐坛为数不多的几个可以用心去演唱的歌手(其实我没有发现第二个,只是尊重你对歌手的选择)。优美的词,加上平淡而深情的曲子,燕姿总能用自己独特的嗓音来打动我的心,我只是觉得,她真的是很用心。

蔡依琳的歌好听吗?还行。SHE呢?凑合。XXX的呢?一般……大概他们的音乐代表了这个年代主流听众的欣赏标准,如果真要拿他们的歌做个比较的话,我想,蔡依琳的歌就像薯条,虽然不少人爱吃,但吃完以后没什么感觉,因为就是包薯条,又不是什么美味。而SHE的歌就像杯可乐,三个弱智女生蹦蹦跳跳的装可爱,可乐是引进的,自己没有配方,弄过来自己加水然后卖,喝着感觉冰凉,刺激,喝完过会就觉得心情低落,感觉象是被骗了。而其他超女之类,充其量也不过是印有KFC老爷爷头像的餐巾纸,比一般的纸看上去时尚,但最多只会在你的盘子里面待上一会,接着,擦过嘴巴就可以扔掉了。

说到这里估计以上几位的Fans们都开始不满了,那就说说你们的观点吧,哈,我,喜欢孙燕姿,以前是,今天是,未来也是

Precondition failed

HTTP Error 412 – Precondition failed,对于平日使用浏览器访问网页的朋友来说,这种错误几乎是不可能遇到的,不过没有关系,相信如果有所了解在日后遇到同样的错误就不会觉得束手无策。

举个无厘头的例子,你去一个景点旅游,却不想买门票,想尽办法和检票的人说好话,只求让你通过。检票人不理你,举个牌子,上面写到:八荣八耻,请买票!其实这个Precondition failed的错误也是一样,我们来看一幅图:

网上的Apache Web服务器为了提高系统的安全性,大都在Web Server的外层增加了一个过滤装置,对提交到服务器的请求进行过滤,不满足预先定义要求的统统返回Precondition failed错误。比如,你请求的服务器不允许请求内容里面包含“ABC”,但是你没有遵从,于是你对请求就被红色的区域挡在了web server的外面,就像黄色箭头演示的那样。

今天查了些资料,包括http://www.modsecurity.org/这个网站,它是一个开源的专门为Apache提供安全防护的一个插件。原计划在自己PC上的Web Server安装一个试试,后来发现这样会很麻烦,而且要理解其配置方法,原理不是那么容易。后来先尝试的更改了Header里面的User-Agent,原先是这样的:User-Agent: Apache XML RPC 3.0 (Sun HTTP Transport),于是我就改的简单点:WPCN,然后再次尝试,竟然通过了。还帮助我找到一个我写的那个commentxmlrpc.php文件的BUG,重新修改之后,我的程序终于可以在我的网站使用了。接下来可以继续做剩下的工作了:

编写配置界面;对细节进行修改;对代码进行重构;对多余的库文件进行清理

希望一个真正的beta版尽快做出来。

不,我不是Spam

晚上研究了一会先前所说的当前所面临最大的问题,总算有个眉目。之所以服务器会将我的客户端请求认为是非法的被过滤掉,主要是因为现在的Spam实在太多了。现在的Apache Web Server大概都安装有相应的Bad Behavior的插件,一旦检测出你是个客户端,而非浏览器,就可能不理你,或者给你个错误页面,告诉你,如果你读到此内容,那可能是你的机器中了病毒,如果你是个Robots,那请你遵守Robots的守则,不要假扮浏览器…..感觉就说,哈,小样,你以为在User-Agent里面说自己是Mozila就可以骗到我吗?

暂时还没有找到合适的解决办法,可以确定的是,XMLRPC的源码肯定是要有所改动,以便自己的XMLRPC请求被Apache服务器接受。需要花点时间来研究Apache判断Spam的算法,即使自己不是Spam也得研究一下,这样才能不被误杀。

真是没想到写个这样的小软件却如此的麻烦,牵扯的东西有些多,从HTTP到XMLRPC,从Java到PHP,从SWT到JFace,还有用户界面,测试,打包……太多事情要做了。而且,到最后还需要推广,让大家都可以用上,也很关键。好像有人用邮件来跟踪留言,当有新留言,WP自动发邮件到Gmail,然后用Gmail的Notifier来即使跟踪留言,这样是很不错,可惜不是那么直接,不象我的软件可以直接阅读到内容,甚至可以回复。

要怎样才能让服务器认为我不是Spam呢?

难道在HTTP请求的user-agent里面说:I’m not spam,don’t please don’t kill me!

WordPress Comment Notifier0.1Alpha版

0.1Alpha版在这里下载(已失效)请到这里下载:http://www.jfish2004.net/blog/?q=node/328

这个程序做什么用?

此程序为使用WordPress自架Blog的网友开发,目的是通过此客户端,自动查看Blog上面的留言。如果您没有使用WordPress,但是是自己架设Blog,那也不要紧,我会在随后的开发中加入对其他Blog的支持。如果您没有购买空间自己架设Blog,对不起,此程序不适合您。

为什么是Alpha版?

其实我也不知道该叫什么版,但至少不是beta版,因为此版本还是存在很大缺陷。明天还有事情,不能保证月底可以发布一个比较完整的版本,现在先放出来一个,让大家试用一下。

此版本最大问题

今天中午becky帮我试用了此程序,结果发现了一个比较大的麻烦,后来连接我的BLOG时也出了问题。但是连接我在自己电脑上建立的WP就没有问题。分析以后,应该是因为这些Apache服务器都配置了请求的规则,似乎我的客户端并不符合它的规则,返回Precondition Failed的错误提示。在你按照压缩包里面ReadMe.txt文件安装并正确配置此程序以后,如果还是提示服务器连接错误,那就是这个原因。如果你可以正常使用,请告诉我:

安装方法在ReadMe.txt文件里面有详细说明,比较简单。此程序是需要Java运行环境的,如果你还没有,请到http://java.com下载。

此程序现存BUG已经在ReadMe文件中详细描述,如果您发现新BUG,请告诉我。您可以:在这个帖子留言,可以从MSN加我:huhaook@hotmail.com,也可以QQ:21966873(不常开)

还是那句话,希望此软件对你有用!

工作列表

用软件录了一个小短片来展示一下这个留言工具的使用效果,请在这里下载

这两天除了看NBA的东西部决赛,剩下的时间大都花在这个软件上面。软件核心部分都已竣工,现在主要是解决细节问题。早上在本子上列了十几个要解决的小问题,每解决一个就勾掉一个,到现在就剩下三个问题没有解决。第一,那个框框上时间显示的问题,从数据库中取得的数据没有处理,直接显示了出来,显得有些罗嗦,连年份都有。准备改成只显示月日时间的格式。第二个是对作者自己留言过滤的问题,自己留言以后是没有必要提醒的,这个功能需要加上。第三个也是比较麻烦的一个就是建立一个配置面板,原先使用JFace的库建立了一个面板,只是觉得太耗资源,就打算重新做了。

用Java开源库建立自己的程序是很方便,但是当引用的库过多的时候,库里面很多无用的文件就成了问题,会很占空间。可能一个几百KB的库,你需要用到的只有几十KB,这时你就不得不从库的源码入手,对库文件进行清理,只留下自己需要的文件。其次,随着功能上的扩充,控制内存的使用就很是问题,当使用了原先的配置窗口以后,竟然内存使用量超过了20MB,这个真得考虑一下了。

所以,现在的主要问题是:

重建一个内存消耗少的,更友好的配置界面;对留言用户名进行过滤;控制内存使用量;精简Java开源库。

对于过两天发布的0.1beta版,我想除了最后一个完成会有些困难之外,其他应该是可以完成的。

这个项目最终目标是适用于大多数Blog程序,并成为sourceforge.net开源项目。

WordPress Comments Notifier将在五月底发布0.1beta版

WPCN(我这么简写这个软件)的基本功能已经完善的差不多了,现在主要的问题是到底应该继续将功能扩充,将设想的功能实现以后再发布还是先做一个大家基本可以使用的,一个简化的版本出来。再三考虑以后,还是倾向于后者,准备再把细节的东西加以完善,然后发布一个测试版出来让大家先试用,根据大家的需求再进行扩充。

希望大家会喜欢,呵呵

百度?!

今天早上查看了一下网站统计,发现搜索引擎过来的访客没有Baidu的,于是就去Baidu去搜了一下jfish2004,结果里面没有我的网站,我的域名相关的内容应该是被全部删除了。这就是百度,哈,领教了,我的网站有反动内容吗?有色情内容吗?有不雅词汇吗?一个简单的Blog,百度都要对此下毒手,看来我真没有看错,百度够垃圾的!

我并不期待我的网站有多少人访问,也不在乎有没有这个百度来爬我的网站,不过既然你先前都收录了,删除总得有个理由吧,你们搜索引擎也是靠这些网站生存的,没有国内这么多网站,你搜谁去啊?

【下方极具感情色彩,若你不同意本人看法请勿阅读】

算了,和百度这种小人还是不一般见识的好,生这种气不值得,这也真正验证了我的判断,这个厚颜无耻的号称第一中文搜索的家伙,也就是这个水平了。后悔不认识拉登,不然请几个恐怖分子过来出出气,搞个人体炸弹什么的,也让百度那伙人学乖点,省的一天上了市就觉得自己了不起,有钱了就觉得自己很行,见鬼去吧!

那个软件

今天下午基本完成了WordPress留言提示的基本功能,运行的很好,现在还得需要一些配置界面和回复留言的界面需要做,还得一些时间,不过应该不会太久就能完成整个功能了。先看看提示的框框是什么样子吧:

原本是希望libraline可以帮助我设计一下这个框框,但是她大概是对这方面没有经验,做了几个都不理想。后来就没有用她的设计,自己琢磨了些时间,搞出这个出来,自己还算满意。这个颜色也和WordPress后台界面颜色相似,看上去也是简洁清爽,符合我的标准,呵呵。

上面的内容是我在自己电脑上装了个WordPress,在上面疯狂留言,用来测试这个提示框效果的。先前这个框一直有个缺陷,就是当它弹出来的时候,如果你点击了其他程序的界面,这个提示框就会被遮盖住,起不到提示的效果。我的算法比较简单,就是让这个Shell从Windows工具条后面开始向上移动,一直到和工具条齐平。Shell默认是SWT.NONE的属性,就是光秃秃的,没有按钮,如果要加上一个SWT.ON_TOP的属性,这个框框就会从工具条上方跑出来,那样就会觉得很怪。查了很多资料都没有解决这个问题,遇到网上一篇文章模拟MSN和QQ登陆框的,它也是我这个问题,没有解决。后来仔细看了看QQ的登陆提示框,发现它和MSN提示的方法不同,QQ是直接出现的,然后在原地逐渐消失,而MSN是从下往上移动,并且可以多个提示叠加。为了让提示框显示在最上方,就不得不使用ON_TOP属性,这样原先单纯移动的算法就有问题了。在草稿本上画了半天,终于相出一个解决办法:动态的移动并且随着位置改变提示框的大小,高度从零到默认高度,隐藏时从默认高度到零,哈哈,修改以后就没有问题了,工作的很不错,如果加上声音效果就更爽了

左边第一个图标就是这个程序的图标,临时找的,其实是Drupal的标志。这个框框还会做点改动,会让它看上去更合理,希望用WP的朋友会喜欢它,如果想试用的话可以在这里留下邮箱,我会在基本完成时将程序发给大家。

喜欢运动

我喜欢运动,就跟oni喜欢玩游戏,yukari喜欢唱歌一样。如果非得找点区别的话,那就是我运动的时间要比他们做各自喜欢的事情少很多,因为现在比较懒

记得我还在上幼儿园的时候,我爸就教我打篮球。当时没有小球,用的是爸爸从部队带回来的标准篮球,那种大小和重量对我实在不合适。院子里面没有篮球架,我们就相互传球,很多次我都被飞来的皮球撞到了鼻子,即使都接到了,但还是拿不稳,太大太重了。虽然这些事都快过去20年了,但我说起篮球的话总会想到以前被砸到的情景,眼睛一闭,两手一抓,然后就闻到篮球的味道,鼻子上都是灰……

大概是接触篮球很早的缘故,自从上了小学就很喜欢篮球,体育课如果学篮球就会特别兴奋。那个时候体育成绩很好,从小学五年级就进了学校的田径队,还代表过学校参加过市上的越野赛,不过并没有拿过名次,长跑是我的弱项:)小学时候个子就比较高,分座位从来都是最后一排,鲜有那种老师照顾的,给分个比较靠前的位置,对坐前面的同学总是特别羡慕。记得小学三年级时候,我穿鞋已经是38号了,到了小学六年级,身高已经接近1米7了。当时学校不知怎么搞的,要开运动会,在那边读了3年都没听说过有这回事,班主任很重视,在我们上体育课时候专门过来监督我们练习。跳高在田径队时候跳过,当时感觉很差,跳的不是很高。在确定项目的时候,跳高人不够,因为大家都不太会跳,于是我这种能做出动作的就被迫选了跳高。运动会的规则是每人必须报两项,不能多也不能少,后来一想,那就在报个跳远吧,跳高跳远读起来都蛮顺的,就这个了。最后就在学校的大概第一届运动会上参加了这两项,出乎我意料的是,跳高比赛竟然赢了田径队里面很强的一个人,得了第一,而跳远最后也是1CM险胜,得了两个第一。当时也没有很兴奋,父母的反应也很平淡,不用给他们看奖状,我也会知道我爸怎么说:还可以,你应该把你的劲头放到学习上……

到了初中,没有再练田径,而是参加了篮球队。其实目的比较单纯,篮球队每天会跟着田径队早上去校外长跑,而不用跟其他人一样在草场上绕着圈子一二一的跑圈子,跟劳改犯一样。另外,我们只需要跑田径队一半的距离,而且可以绕道偷懒,经常趁老师不注意去吃个早点什么的,日子过的很滋润。篮球队每周有三次下午训练的时间,一节课,我特别喜欢,因为我觉得学习一天,在这个时候打打球是最好的调节方式了,结束以后再喝点自己带的冷饮,太爽了。

基本上从那个时候开始,就很喜欢篮球了,记得初三的时候懒的去上体育活动课(是全年级一起在操场活动),在教室里面看书,别人回来说,操场上初二在和初三比赛,我二话没说就冲出教室,百米速度跑到操场去了。当时打的激烈,不过没什么得分,没几个打的好的,都在瞎投。我就把我们班一个家伙拉下来,自己上去了。打五个球,上去我就灌了两个,最后用一个抢断上篮结束了比赛:)

初中的运动会也是幸福,几乎都可以拿到奖。初三参加了110M栏,结果拿了个第一,而且100米也跑了第二,和同学一起还帮班里的接力拿了奖,太幸福了。说起初三,最让人兴奋的就是最后的体育考试了。当时中考的成绩有30分是体育,我拿了29分,哈哈。当时50跑了6秒7,立定跳远跳了2米85,我简直不敢相信,只觉得腾空,落地,然后老师报了成绩,说不用再跳了。其实我觉得那一下没用上力气

高中的时候没有参加什么体育队,篮球队选人的时候我也没去,因为一切都得为高考让步,不想花太多时间在那个上面。有时候有篮球或者足球赛还是会参加的,也不知道怎么搞的,从初三以后那段时间,大家都开始喜欢踢足球了,我也被拉去踢。基本上高中三年都在踢球,也没出什么成绩。我是踢后卫,所谓后防中坚,一夫当关万夫莫开,哈哈。高中比较值得一提的就是110M栏了,刷刷刷的,一个栏接着一个跨过去,旁边班主任还有很多同学为我加油,那种感觉太好了。我也没辜负他们,比高三的跑的还快,15秒,比刘翔差不到2秒,哈哈(说实话,我们的栏低一些)。

大学里面可能因为高中踢太多球的缘故,体育课选修了足球。总体来说没什么作为,后悔没去选篮球,可以练练我的篮球基本功。班里面有时会有比赛,因为是小班赛,我们班不到30个人,会踢球,打球的人不多,所以我足球也上,篮球也上。尽管平时打球不多,真正打起来初中的底子还在的,有时候发挥蛮不错,可以得些分。只是我们班打球人身高除了一个体育生比较高以外,其他人个子都有些低,我182CM的身高在班里面排在体育生后面。身高对打球很是问题,要是体育生发挥不好,其他人几乎抢不到栏板,而且身体对抗也不行,配合也比较差,大都喜欢单打独奏,于是后来也就很少打球了。

我很喜欢这种对抗性很强的团队运动,有身体接触,对羽毛球,乒乓球兴趣不大,虽然乒乓球小学和中学也打过一段时间,最后还是把时间都花到篮球和足球了。篮球很讲究配合,想象一下一个人盯人防守的状况,如果没有相互的掩护,穿插,挡拆,只是靠自己个人能力突破,那种状况是很无趣的。即使你可以投进,但是你需要负担整个队伍的比赛结果,压力之大又怎能承受,毕竟我们不是超级巨星。今天打球的时候,开始很郁闷,分到我这边的其他三个都不怎么会打球,我好不容易抢了栏板传给他,而他几乎每次都直接投篮,而且是三不沾,别人把我贴的死死的,很难摆脱,不传他又不行,其他人又不跑位,就他在三分线外站着看。另外一个让我想踢他两脚,虽然他三步上栏可以得分,但总是因为速度慢被别人轻松封改。我跑到位置无人防守,举手示意他传球,结果这个家伙在低着头运球,防守队员离它1米远!还好后来来了一队人,重新分了组,打起来就轻松很多,因为有人可以和我配合,而我又不是那种单打独奏的人,没有机会就会把球分给其他人,所以大家都能得分,打的就很轻松,而不要自己运球奋力的突破了。我只需要在三秒区附近抑住防守队员,他传球给我,然后我一个后转身或者后撤跳投就可以轻松得分。即使不进我还是可以抢到栏板球,根据情况重新进攻,所以后来分成的三组,我们组一直在场上,他们都不是对手。

就写这么多吧,运动一下,比较兴奋,不知道是不是因为我打球是左手的缘故,把右脑激活了,哈哈,睡觉去!

又当爹来又当娘

自己写软件最大的优点就是自己想怎么做就怎么做,没有人管你,可以把个人的潜力发展到最大,而这种代价就是你什么都得做,既当爹来又当娘。这不,我的Blog软件就是这样,好不容易把底层的协议都处理好,剩下怎么把这些数据有效的显示出来了,就像是把自己孩子拉扯了好几年终于盼到可以上幼儿园一样。结果发现这个并不是解脱,而是越来越多的问题,越来越细节化了。

底层留言数据可以保证下载到本地,如何有效的组织这些数据就是很头大的问题。不管怎样,都应该最大化的发挥它的价值。单就留言来讲,database里面保存有留言者的IP地址,操作系统版本,浏览器版本等等。如果单纯的IP地址显示出来就没什么意思,IP地址让人又看不出什么明堂。于是我就打算添加一个IP地址库来确定IP地址的来源,准确的获得留言者的位置。用户界面这个东西太灵活了,没有个对错,同样的数据让1000个人做会有1000种千奇百怪的界面。这个时候很危险,即使你的创意很好,你的程序性能不错,有用户群,可是如果不好用,界面粗糙,大家可能就会很排斥,觉得很差劲。所以Jfish真的不敢怠慢,又是Photoshop来画,又是Visio来堆,总想先搞出点东西让大家评论一番,哪怕臭骂一顿也有帮助,哈

看看吧,还得给自己孩子做衣服,实在挺头大的:

当然,有些仓促,细节地方没有考虑周全,至少界面上这些数据都应该有的。之所以贴出来也是听听大家的意见。

提示框自己画了两个,比较难看,准备让libraline帮我设计一下,大概应该是这个样子的:

我知道这个不好看,所以有什么好的建议可以告诉我哦,呵呵。

这个软件只适合于自架Blog的朋友们使用,现在只是开发了WP下的插件,很快就会有Drupal,甚至是TT或者其他的Blog系统,都会有的,呵呵。

主要的功能不止这些,我会根据开发进度慢慢给大家介绍的。