做Blog工具的几个原则

今天在网上找了几个比较常用的Blog发布工具,具体分析了每个软件的优点和不足,让人欣慰的是,至今还没有一款功能较为完整的Blog工具。现有的Blog工具大多是针对Blogger API,MetaWeblog API,Moveable Type API设计,功能较为单一,对用户评论等并没有涉及。如果要实现我所设想的那些功能,首先就需要对这些API进行扩展,现在还不晓得这会需要多少时间,但针对每一个Blog系统,都需要在了解其架构后才可能开发出相应的扩展…… 我想,最后应该是自己先开发出WP和Drupal的扩展,公开协议,让希望获得更多功能的朋友们自己来做吧。

下面是我开发此软件的原则,写出来也是为定一个较为明确的目标。

1、界面要美观好用,不需要看帮助就可以轻松上手,不会让用户在软件中迷失。

2、架构要具有开放性,自己考虑不到的细节,可以留下接口,让用户自己编写插件来增加个性功能。

3、内部数据要流通顺畅,只要当前需要并且系统内部包含的数据可以尽快得到。

4、尽可能简化用户操作,想用户所想,做用户所做。

5、免费为大家使用,适时转为开源,并接受Donate。

此软件主要用户群体:

1、自架Blog,使用WordPress、Drupal、MT的广大用户(首要用户)

2、使用BSP提供的Blog系统,该BSP提供XML-RPC服务(第二目标用户)

3、BSP提供服务,无web Service,可以通过某种方式导出数据的用户(第三目标用户)

将Tatter Tools的More/Less功能移植到WP的插件

此插件可以在这里下载: 下载插件 (a detailed help is in the plugin zip file )

此插件主要实现功能:

熟悉Tatter Tools的人或多或少都用过其中的More Less的功能,具体效果可以在Becky的Blog里面看到。与WorePress里面默认的“阅读更多”相区别的是,More Less把具体内容实际上已经包含在网页里面,通过嵌入到网页里面的JavaScript,控制另外一部分的显示。这样,既可以免去点击链接用新页面查看具体内容所带来的不方便,也避免所有内容同时显示时造成的版面混乱。好了,看看效果吧:


当你在某篇Blog里面添加了More Less的标记时,实际上是加入了‘[#M_more|less|_M#]’的字段,在这篇Blog里面,becky把more换作“阅读全文”,当点击以后,立即出现文章的其余部分,如图:


点击后,原先的“阅读全文”自动变为“部分摘要”,然后显示全文,没有页面刷新,蛮不错的。如果你也想给WordPress加入此功能,就下载插件试用吧。当然,如果你是从Tatter Tools迁移到WordPress的,原先Blog里面有很多More Less的标记,那就更需要这个插件了

WordPress真是一款很成功的Blog工具,不光操作方便,使用了许多Ajax技术增进了用户体验,而且WordPress的官方网站配套文档十分齐全,内容条理十分清晰,既有为一般初学者的帮助文档,又有面向开发者的开发帮助,更有许多开发者自己写的Plugin教程和Theme教程。也许我真改转向WordPress了,Drupal相比之下显得庞大笨拙,所以更新的速度就比WordPress慢很多,而且用Drupal来作Blog的人现在也越来越少,大家似乎都转向了WordPress。
开发过程

移植这个功能对我而言是有些难度。我的PHP水平几乎为0,靠着一点点语法知识和在线的PHP帮助文档,才把 Tatter Tools里面MoreLess功能的运作机制了解清楚。要在一堆代码里面找到十几行真正对你有用的代码真是不容易!接着,开始学习给WordPress 写插件,这篇“如何给WP写简单的插件” 的Blog给我上了插件开发的第一堂课,真是不错,感觉WordPress的接口设计的都很完备,开发插件的工作就跟搭积木的感觉差不多,而我这个也就是写一个替换算法,把其中的标记替换成相应的JavaScript代码,并保证每一个Div的ID是唯一的,这样才能生效。

在慢慢的摸索中,Jfish掌握了如何给WordPress添加Filters和Action,以及如何把 JavaScript代码嵌入到网页中去。还好,不是太困难,接下来Blog工具的开发中,就需要在WP上面开发功能更强的BLog API了,那个难度会比现在大很多,这个也算是大战前的热身吧,呵呵
此plugin的使用方法

将moreless.php的文件拷贝到WordPress-wp-content-plugins目录底下,在后台plugins管理页面激活之,这个时候就生效了。具体写Blog时使用此插件有两种情况:

第一种:使用WP默认的可视HTML编辑器,这个时候你可以直接使用[#M_more|less|_M#],随意替换其中的more、less就可以实现效果。

第二种:通过在Options-Writing里面Users should use the visual rich editor by default 字样勾掉,并在Users中Personal Option选项里面将Use the visual rich editor when writing勾掉,保存,就可以使用quicktags的编辑环境。你可以通过修改此路径wp-includesjs下的quicktags.js文件将MoreLess的快速编辑功能添加进去(也可以用插件包里面的文件覆盖之)手工修改方法如下:

用文本编辑环境打开quicktags.js文件,找到很多edButtons[edButtons.length] =排列在一起的情况,随便找一个,比如:

edButtons[edButtons.length] =
new edButton(‘ed_block’
,’b-quote’
,’nn<blockquote>’
,'</blockquote>nn’
,’q’
);

把这个copy,紧接着paste到它的下方(因为此部分为“b-quote”的部分,所以你在其下方添加的代码将会紧挨着显示在编辑面板b-quote的右边),现在来作更改:

edButtons[edButtons.length] = // 这一行不变
new edButton(ed_moreless’ // 这里我们将ed_block改为ed_moreless(其他名称也行,只要不和现有名称冲突)
,’M/L’ // 这里是编辑栏显示的文字,我写的是“M/L”,你可以找个合适的符号
,'[#M_more|less|’ // 这是第一次点击出现的标记
,’_M#]’ // 这是第二次点击出现的标记,具体两次出现什么标记还是仅需要点击一次,按照个人喜好来设定
,’k’ // 这个是快捷键,也不能重复,我设置成k
);

如果你只需要点击一次来增加标记的话,可以在最后的’k’的后面增加逗号,然后输入-1就可以了。当然,你下载的插件里面包含了已经修改好的文件,直接替换原文件就可以了。

到这里使用方法就讲完了,欢迎大家提意见哦。

Blog工具粗线条描绘

首先,我得感谢oni帮我提出如此详细的需求,看到大家这么支持J的想法,要把这款软件做出来的决心更加的坚定了。如果你还不确定是否需要这样一款这样的软件,就先查看一下下面所罗列的几个问题你是否遇到过。

1、写了很长一篇Blog,却因为浏览器或者其他的原因,丢失了,然后就没有再写的心情了;

2、要在Blog里面添加图片,先得把图片FTP到空间,然后通过URL地址来引用,太麻烦;

3、想找一篇自己以前写过的Blog,翻了半天都没有找到;

4、可不可以追踪Blog上面的留言呢?这样就可以尽快的回复;

5、为了保存Blog数据,不得不经常进行数据库的备份工作,而每次备份到本地的文件却不能直接阅读,想看看自己以前写的Blog只能忍受比较慢的网速;

6、想把Blog从WP转移到MT?或者从tatter tools转移到WP?或者你会有多个Blog需要维护?

7、你需要建立一个本地的个人知识库,来作为你的Blog素材后援?

8、希望把自己的Blog文章做成精美的电子书和朋友分享?

……

如果上面这些问题你曾经或者以后可能会遇到,那么这款工具就是你需要的,它的存在就是要帮助你解决上面一系列让人头疼的问题。

-1、不用担心所写的Blog会因为浏览器或者自己误操作遗失,此工具自动保存功能帮助你解决此问题,让写Blog的过程不再坏你的心情。

-2、自己保存的图片或者文件先得FTP到网站上,再从Blog发布?不需要了,你只要设置好FTP参数,此工具会自动帮你把图片或者其他文件上传到Blog上,整个过程不需要来回切换工具,给你带来操作上的便利。

-3、 集成的搜索功能,以及类似Flickr图片时间线的功能,tag,分类管理的功能一起帮你快速找到你所需要的内容。

-4、 Blog上的留言可以象IM软件那样,以即时消息的方式展现在你面前,然后你又以即时消息方式回复,感觉会怎样?

-5、 将自己Blog上的所有文章和留言同步到本地,而不需要去执行什么Phpmyadmin的导出功能,让备份文件泛滥成灾。

-6、 轻松通过此工具进行开源Blog之间的迁移,从此不必为自己不懂PHP,不懂Database而烦恼,开源Blog之间任意迁移。

-7、 可以轻松管理Blog,那也可以轻松管理自己收藏的网文,建立自己的个人知识库。

-8、 最重要的,我们的Blog和个人知识库是可以生成CHM或者PDF电子书的,从此和朋友分享个性信息变得简单起来。而生成电子书应该是Blog最理想的备份方式了。

当然,完整的HTML编辑功能是必不可少的,这样才能让大家最大可能做出绘声绘色的Blog文章出来。个性化的功能是此软件的另一个重要组成部分。用户不单可以为软件设计皮肤,更实用的是可以为自己的电子书设计自己所喜欢的主题,真正实现个性化。

现在很难估计这个软件开发大概需要多久,就像是拷贝大量文件之前,进度条都不会显示出会需要多少时间一样。不过Jfish坚信,简洁美观的界面,合理舒服的操作大家才会觉得好用,才会真正喜欢,这对于Jfish来说是一种挑战。

如果大家还有什么建议或者希望参与此项目,请回复此文或者直接联系我。不用担心自己很多东西不会,Jfish也有很多东西要学,只要你有时间,有兴趣,就可以参与进来

关于XML-RPC

这两天一直在研究如何用Apache的XML-RPC的Java实现,很是麻烦。自己唯一本资料是2001年出版的《Programming Web Services With Xml-Rpc》,原理是没有变,可是里面的Java实现却改变了许多。原先的Java实现是此书作者写的,当我去看个究竟的时候,才发现网站上的告示,此项目已经成为Apache开源项目的一部分了。但是我在ws.apache.org/xmlrpc的官方网站翻了个底朝天,只找到一丁点的使用说明,还有项目生成的Doc文档。郁闷啊!看来这个东西现在不是那么火啊,不然相关的书怎么这么少。

不管怎么说,XML-RPC对于一般应用来说是很适合的,相对也简单些。自己想做的这个东西其实要求也蛮高的,不光要会用Apache XML-RPC的库,也得用Java把客户端给实现了,然后再给Drupal和WordPress之类Blog系统编写插件。 今天打算写一个从Java客户端和PHP服务端通信的Hello World程序,结果到现在还没有成功,究其原因,一个是对PHP不了解,一个是不知道如何调试这样的HTTP通信的程序。现在头大的很,网上的资料也非常的少,感觉每走一步都需要很大的力气才行。真不知道什么时候可以有所突破,希望尽快吧!

Eclipse发展太迅猛了,功能性能方面都十分出色,最重要的,它属于开源软件,不光可以节约项目成本,而且可以给其开发适用于自己的插件,并和他人分享。原本计划使用IntelliJ IDea来开发这个小程序,但是看来Eclipse诱惑力太大了,我不能不选择这样免费实惠被许多软件开发公司追捧的IDE。 好了,就写这么多,继续看看我的XML-PRC的PHP服务端如何实现:(

买了液晶显示器

家里那台老的Legend(现在改lenovo)P42.0机器原先是CRT17寸纯平的,用了大概快4年了,昨天买了SAMSUNG的740BF液晶显示器,把那台旧的大家伙就扔到一边去了。还是液晶好啊,现在屏幕分辨率调到了1280×1024,感觉就像是搬到了宽敞明亮的新家,显示范围大了很多,用起来眼睛也舒服些,这正适合我现在开发这个小程序啊,哈

今天装了Eclipse,准备用SWT来做界面,风格会参考Windows Defender的简洁风格。现在实际上很多东西都还得学,XMLRPC、SWT、Eclipse的电子书都得看,找了个程序做参考,还得用到Apache上面的一个XMLRPC的开源项目,据说会有中文处理问题,谁知道呢,先这么计划着吧,要是真有问题就得先读懂它的源码,重新编译了。

没做过大项目,感觉心里空荡荡的,真不知道一个月能否做完,工程量还不小呢。慢慢来吧,只希望对大家有用。关于此软件名字的问题,还是放到最后吧。

小软件征名中……

已经计划开始用Java编写一个小软件,来为Blogger们提供一些方便有效管理Blog的方法。主要帮助Blogger们解决的问题是:

1、数据迁移问题。很多人都需要从一个开源系统迁入另外一个系统,数据转换的工作会比较困难,此工具可以帮助blogger随心所欲的在主流Blog系统之间随意的切换数据。

2、远程发布功能。使用XML-RPC协议实现在本地使用丰富的HTML编辑器发布Blog的功能。

3、动态跟踪功能。客户端运行时自动跟踪Blog网站的留言内容,有新留言时以消息方式提示Blogger。

4、电子书制作功能。此软件可以把所有Blog内容保存在本地,并使用向导方式,选择需要的内容,生成CHM格式的个人Blog电子书,达到交流与存档的目的。

5、还有什么需求呢?大家来说说看。

搜索引擎眼中的搜索引擎

大概这个题目读起来有些拗口,其实我想说的就是这个意思,却不找不到更好的方式表达出来。搜索引擎这个东西已经是互联网生活不可缺少的一部分了,如果哪一天没有了Google,没有了Baidu,你会怎么办?这些似乎都不敢想象,从网站,到搜索引擎,再到网站,已经形成了一条完整的产业链,蕴涵其中的,就是海量信息中包含的无穷财富。

现在,大家似乎都看上了搜索引擎这块大蛋糕,不管自己有没有能力去做,至少先给它上线,然后炒作一番,攻击一下主流搜索引擎,引起大家的关注。中搜便是其一,中搜拟转型个人门户,炮轰Google是残缺搜索。陈沛(中搜老总,号称中国搜索引擎第一人)说:“你可以把自行车做得很完美,但是你不能阻挡汽车时代的来临。”中搜们还说:“2006年2月推出的Google Pack,不仅包括Google的几乎所有的基于桌面的产品,也包括了其它公司提供的互联网应用软件。如果我们把零散的放在Google Pack里的软件有机地进行排列,我们会看到什么呢?毫无疑问,另一个中搜IG。”中搜1G?去看看中搜的网站,首页给出的就是“震撼下载——中搜IG 1.0风行天下版!”给出的链接直接就是下载链接,这种做法很明显缺少一般性的常识。哪里会有人在不晓得你这个是什么东西的情况下下载你的软件呢?如果网页上都没有该软件的介绍,放这个没有人下载的链接效果何在呢?太可笑了。再看看中搜的首页名称:全球领先的中文搜索引擎脸皮也够厚的,倒是说来听听,比谁领先吧。补充一下,中搜的软件比较流氓,小白就是中了划词搜索,删不掉!

我所说的搜索引擎眼中的搜索引擎,就是在该搜索引擎中输入“搜索引擎”的关键字,看看在它的结果中,自己,别人都排在什么位置。这是个有趣的游戏,结果总是让人捧腹,中搜的结果第一个,竟然是下载网络猪,请问陈沛网络猪和搜索引擎何干啊?

马云说:“之前阿里巴巴的目标是超过eBay,而现在在中国市场已经超过了易趣。收购雅虎中国之后,目标又增加了一个,就是全球范围内,在搜索引擎领域超过Google。”马云真是好大的口气,只要在中国范围内,或者中文搜索里面当老大已经不易了。周鸿一(3721流氓软件创始人)最文明了,他说:“中国的搜索市场是看着热,吃着冷。这个市场还需要雅虎与其它搜索公司一起来作大。而Google刚来到中国,还需要化一两年的时间来实现本地化。只有Google实现本地化以后,google才能对雅虎、百度等构成实质性的威胁, google还要在本地化上交不少学费。看看这伙人,没学一点谦虚的品质。

Yahoo的搜索中,键入相同的关键字,先出来两个推广网站,让人十分反感,接着就是雅虎本身,接着是Google,Baidu,中搜,新浪,总体来说,起码搜出来的都是搜索引擎,信息有效性还是不错的。不过可以肯定的是,搜索结果是经过人为干预的。

李彦宏说:“5年以后,Google和百度之间的关系是百度一枝独秀,从市场份额来说,大家很难看到Google了。”李彦宏敢口出狂言,他们的手下说话却不怎么有底气。我是很反感百度的,从Google被封开始,接着一些商业活动让我对百度十分的讨厌。最近,Baidu推出了百度百科,希望可以取代维基百科的位子。让我怎么说呢,趁维基百科被封的时候做这种事情,实在小人。去看看百度百科里面的那些词条,编撰的人根本没有丝毫的客观公正的态度,百度也没有制定相应的规范和措施帮助其成长。倒是“中国国民党”一词很快就无法编辑,这让人哭笑不得。

百度不谈技术,不会象中搜那个傻瓜号称技术领先,搜出来些无用的东西。百度的目标相对比较明确,全球最大中文搜索。输入“搜索引擎”关键字后,百度自己排名老大,接着是一个没听过的网站,类似于hao123,谁晓得怎么能出现在搜索引擎的结果中。接着是Google,Google下面全是些与真正搜索引擎无关的网站,可以说这一点上还不如雅虎做的好。Baidu经常号称自己有多少中文数据,一个关键字能搜出比Google多很多的结果,可是实用性呢?信息往往都是散落在结果里面,有效性真的很差。

微软曾经号称超越Google,不过,人家很厚道,做不到了就大方承认:微软在最近表示收回该公司欧洲总裁Neil Holloway所说的“微软要在6个月内在美国市场推出比Google更先进的搜索引擎”的言论,称该公司不会对其与Google的竞争发表任何预测。这才是让人值得尊敬的公司,现在这些中国这些公司,没能耐都想炒出点能耐,没技术都得想办法搞出点骗骗人,没有几个是踏踏实实在那里做实事的。

在Google里面,输入“搜索引擎”的关键字,你猜第一个会是谁呢?竟然是Baidu,当然,搜索结果有效性是没的说,奇怪的是,Google自己的中文搜索引擎竟然排在搜索页第一页最后一个,这预示着Google自己也觉得中文搜索做的不好吗?不管怎么说,Google这种对搜索结果不加入人为干预,不会搞什么竞价排名,一心为用户着想的态度是值得尊敬的。

其他的搜索引擎除了搜狗个人感觉还不错以外,剩下的都是不入流的小混混,当然我不是说中搜就入流了,只是把这个混混拉出来批斗一下罢了。

Sina有自己的搜索引擎,但是很明显,不少数据是人工整理的,而非机器取得。网易有搜索引擎,不是自己做的,Powered By Google。中华网有搜索引擎,用搜狗的。北大也有,不过搜索结果不堪入目,那种都可以称作搜索引擎,要我做一年我也能做出来。

就写这么多,也不晓得为什么中国似乎一夜之间就多出来一堆搜索引擎出来,千奇百怪的,而且个个自命不凡,真是要命,看看吧,一两年以后能活下来的不会有几个,这些光知道炒作的公司!

ipod hacks 恶搞你的小苹果

很早就希望拥有自己的IPOD,还好,这一愿望在自己工作几个月后得到了满足。一款绿色的IPOD MINI(第一代),另外花200RMB买了线控我不知道为什么IPOD会如此诱人,大概见过IPOD的的人没有一个不为她倾心的,不少人也是因为囊中羞涩而不得不转投它门。

当我今天花了一个小时浏览了一些有关IPOD的网站时,我不得不说,IPOD已经成为一种潮流,一种文化。单单在oreilly出版社的网站上,有关IPOD的书就有五六种之多。比如这本:

IPOD& ITUNES HACKS就是教你如何超越IPOD简单的音乐播放功能,通过里面100种独创的Tips和技巧带给你全新的IPOD体验。IPod & ITunes The Missing Muanual也是一本类似的书。

而这本THE CULT OF IPOD,更是把IPOD文化推向了极至。

在一般看来,IPOD也就是听听音乐,玩一下里面的游戏,还有一些附带的简单功能,或者可以当作一个移动硬盘来用,不可能再有其他的用法了。但是如果你看了下面的介绍,肯定会觉得太不可思议了。

看到了吗?哈,企鹅也开始IPOD了,没错,有人把Linux移植到了Ipod上面,是不是有些不可思议呢?竟然有人在Ipod nano上面玩DooM!

我可没有骗你,这可是千真万确的事情。这个网站叫IPOD LINUX,一个使用MediaWiki开源系统构建的开发平台。现在他们已经做出了可以安装在前面三代IPOD上面的LINUX系统,并且有相当多的应用软件可以安装。

为什么Ipod可以安装LINUX呢?其实很简单,IPOD里面的处理器比较强大,其他硬件水平也不错,光播放MP3有些浪费了。IPOD LINUX可以和默认的系统共存,你不必担心原先的系统出问题,LINUX会安装到一个单独的分区,完全不会影响原先系统的正常工作。安装了LINUX以后,你甚至可以直接使用MIC进行录音,而不必花大价钱去买原装的配件。因为IPOD是有此项功能的,只不过苹果公司做了手脚,除非使用它的配件,此功能才可使用。现在,IPOD LINUX每天都有更新,很快就可以支持第四代和第五代的IPOD。这里可以找出你的IPOD的Generation

下午的时候,原本有冲动想给自己的Ipod Mini装LINUX,后来发现,我的固件版本是最新的,只有老版本的固件才可以安装,网上也有更改IPOD版本文件里面的信息,然后用原配的光盘恢复到旧版的方法,觉得实在麻烦,就没有去尝试。当然,安装并不会损害你的硬件,只不过可能会损害你原先的数据。

看来喜欢IPOD的不少Fans是做嵌入式开发的,不然怎么会有这种冲动呢?哈,职业习惯。其实喜欢IPOD的不止是些程序员,还有不少电气工程师呢,看看这个家伙,就准备给自己的IPOD做一个Dock,而购买一个原装的Dock要超过RMB200元。看看这张图:

我想只有搞电子的人才绘这种图吧,反正我没见过搞IT的人做这个东西。

这个网站也有不少从硬件角度改造IPOD的文章,自己不懂,就不贴出来的,呵呵

就写这么多吧,等IPOD Linux 官方出来版本支持MINI了我再装一个试试吧,一定先在上面写个Hello Word的程序,哈

从Google analytics里面看到的数据

Google Analytics已经半个月了,能用上如此强大而又专业的网站分析工具真让人高兴。记得当时很想要一个Invitation Code,因为注册的人实在太多了,服务器没办法承受这样的请求。4月5号还在清华同学那的时候,Google给了我一个意外的惊喜,哈

下面给大家看看一部分统计结果吧,太专业了,有些我看了半天帮助才知道其中的作用。

第一幅:

从这幅图可以清楚的看到访问我Blog的网友来源情况。39.79%的朋友来自Google的搜索引擎,其次来自Baidu,接着有17.83%的朋友是直接访问了,这些应该是我Blog的常客,呵呵。yahoo的来源也是最近才出现,都是因为我写的一篇ourxin病毒的文章引来的。其他的来源我还真不清楚原因了。

第二幅:

是不是很有趣呢?还是对称结构呢。中间最低点是周六,而两边最高点是周四和周一,看来大家平时上网的次数远远大于周末啊,周末是不是都逛街或者运动去了:)不过还有另外一种可能,就是上周六服务器出了问题,有段时间无法登陆

第三幅:

新访问和回访的人数比例,看来回访人数是在呈上升趋势啊,不错不错,什么时候能到30%我就很高兴了,可以说明我的Blog大家比较喜欢。

第四幅:

访问者地理位置,仔细一看,主要集中到了中国东部地区,其他方也零星的有些访问,大概是搜head first design patterns过来的吧

第五幅:

这个是营销摘要,如果你在搜索引擎上投放了广告,就可以清楚看到广告的效果。在这里绿色说明来自该项的访问比例每天都在增加,而Yahoo这个红色的是说每天以38%的比例在降低。很明显,前一阵子,ourxin的木马病毒闹的凶,大家都在找相关的资料,现在波峰已经过去了,访问量就走下坡了。不过看下面的Trojan.Ourxin的关键字引入的流量还在增加,估计是其他搜索引擎过来的吧,好像反应比Yahoo慢了半拍。最后一个才搞笑呢,心理测试写成了心里测试都可以以100%的访问速率增长,太奇怪了

第六幅:

可以看出日平均访问量107,还算不错吧,呵呵,周六人太少了,拖了后腿。

第七幅:

新访问者的数量在每日访问人数中比例还是很大,这个是不是可以说我的网站处于成长期啊。

第八幅:

这些人都从哪里来呢,上面很明显,China91.62%,意料之中。Taiwan竟然都占了不少,难道是tag Friend带来的流量吗?也不对啊,可能和Taiwan某些朋友有共通的爱好吧:)USA竟然也榜上有名,奇怪了,真不知道怎么来的。HongKong也有,UK,CA,哈后面不说了,太多了。

第九幅:

看来这个时期大家都被Trojan.ourxin弄的头大,访问这篇276号Blog的次数比直接访问的人多三倍。看来要给网站引入流量,就得关注流行趋势啊,哈。

第十幅:

看看哪些Blog标题是热门的。Trojan.Ourxin依旧排名榜首,第二是我的首页,第三是head first design pattern这本书的下载(真是本好书啊,一直都有人找这本书)。SWT Designer来的人也多,估计现在用SWT开发GUI的人越来越多了吧。竟然开锁方法都可以上榜,太奇怪了,难道很多人在网上学习偷盗技巧?接下来是jfish2004.net的首页,然后是手机去掉中国移动字样的文章,大家可能都挺讨厌那个中国移动标记的。尤其现在有了彩屏手机,那个东西太碍事了。Traveling Light这首节奏轻快的歌搜索的也很多啊。身份证转换的需求也不少,估计都是做项目遇到的吧,或者是跟我一样,做人事工作,处理身份证信息。

第十一幅:

IE的市场份额还是很大,能从它那里抢出几个百分点已经很不错了。其他的加起来都没一个百分点,挺可怜的。

第十二幅:

Window平台和Linux平台的对比,当然,这些数据是桌面用户的比较,服务器就不是这个结果了。

第十三幅:

可以看出来,XP+IE6的用户占了绝大多数,看来中国的盗版XP数量不少啊。

第十四幅:

1024×768跟XP一样的普及率,呵呵,1280×800的宽屏用户也越来越多了,可能现在液晶显示器价格越来越低的原因吧。竟然有人用1440×900的分辨率,那是什么感觉啊!羡慕ing

第十五幅:

没想到已经安装java runtime 的人这么多,我起初还以为XP没有集成这个,大家可能不会去安装,看来我多虑了。

看了上面的图片是不是觉得自己维护一个网站也是蛮有趣呢,呵呵。是挺不错的,我原本计划利用Google的 Adsense达到每年收入可以和空间费用持平的水平,结果现在看来不太可能了,流量太小,都好长时间了才赚了0.55美元,里面还有些是我自己点击的。

先写这么多吧,呵呵,这篇有些长了。

帮Becky Crack WordPress

只所以用Crack,是因为我们对WordPress来说都是新手,没有什么经验。我也是看过几天PHP和JavaScript的书,对这些语法了解了大概,没写过程序。能最后帮助Becky把Tatter Tools转换到WordPress,也是发扬了Crack不断尝试的精神,哈。

当然,尝试并不是那么盲目的,那个转换程序原理也很简单,就是链接两个数据库,读取出来,处理了再insert到另外一个数据库里面。开始becky给我说好多Warning,把错误代码发过来一看,Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/beckytsa/public_html/wordpress/tt096wp20.php on line 184,在Google上找了半天,后来确定是在这个代码之前的mysql_query 出了问题。道理很简单,mysql_query的参数是SQL语句,正常情况下返回一个resource类型传递给上面的mysql_fetch_array(),但是当你的SQL语句出错或者其他导致SQL执行失败的情况发生时,这个resource就不是有效的,按照惯例,应该在mysql_query()后面添加or die(“Invalid query: ” . mysql_error());的异常处理代码,使得一旦出现错误可以显示出错误原因。在我给原先的转换程序添加了这行错误处理代码后,Warning的原因也找到了,就是因为原先tatter tools的默认表前缀是tts,而后来改成了blog,转换程序里面设置的是tts,然后找不到表,就报错了(说该表格不存在)。

其实问题到这里已经解决了,但是在我机器上运行的时候,我修改了里面的配置,将数据库名改成我本地的数据库名,没有改回去就传给了becky,引入了让人摸不着头脑的错误-没有权限做删除操作。直到后来,才恍然大悟,只能怪自己太粗心了。

后来一起研究ajax comment的一个WP插件,蛮酷的,以前只有羡慕人家的份,昨天也尝试了一下给自己blog加ajax的滋味。怎么说呢,对JavaScript不熟,对CSS不懂,对PHP只限了解,这一切的结果就是按照作者的指导,一步一步操作,为什么要那么做,谁也不晓得。最后问题得以解决也是becky不懈努力的结果啊,哈。为了这个东西,花了不少时间啊,总算成功了。

现在都有把Drupal转移到WP的冲动,当然这也不是第一次了。Drupal相对WP来说过于复杂,所以更新的速度不及WP来得快。WP很早就出来2.0版,对ajax支持很好,用起来很舒服,而Drupal的4.7版还在测试中,据官方介绍,还是有不少BUG。搜一下使用Drupal的Blog,好像也没有几个,这又坚定了我加入WordPress的决心。

不过怎么说呢,这么一大堆东西搬一次家真的很不容易。包括帮边的盆盆罐罐,麻烦着呢。现在访问我Blog90%以上是从Google和Baidu过来的,如果搬了家,就把这两年在搜索引擎的数据给清零了,也很不爽,或许有解决的办法,那可能得先研究研究再说了。

这两天在看CODE COMPLETE,写的很好,有那种取百家之长为我所用的感觉,深入浅出,通俗易懂,不愧是得过Jolt大奖得图书,这样读一遍,感觉心里面很多东西都规整了,然后该怎么也有谱了,真是不错,要多看几遍:)