« 2005年05月 | (回到Blog入口) | 2005年07月 »

2005年06月 归档

2005年06月07日

写一篇BLOG不难,可贵的是坚持和质量

王建硕: 今天是我写blog的第999天

提到的很多方面我也很有同感:
1 注册自己的域名:最好是自己的真实姓名;
2 使用统计系统:迅速的反馈对写作是一个很好的激励,没有人喜欢孤芳自赏。我使用的是AWStats
3 提醒一点:即使是托管在服务商那里:也要注意本地备份;

按此阅读全文 "写一篇BLOG不难,可贵的是坚持和质量" »

不实的RSS时间好比是假的牛奶生产日期

如果牛奶的生产时间都被标记为实际生产时间的8小时以后:这不就是欺骗吗?

我已经至少为4个基于WordPress发布的BLOG纠正RSS输出时间问题了:未完成 ilya 桑林。因为他们都在我的Lilina RSS订阅里,如果时区错误,会导致8个小时内,所有别人的文章都排在他们后面。现在是豆瓣,明明是中午12:36发表的内容,却显示为20:36。

同时我也检查了一下WordPress的支持论坛:至少有5个帖子指出了这个timezone问题, WordPress用户怎么就不主动参与纠正一下呢?

按此阅读全文 "不实的RSS时间好比是假的牛奶生产日期" »

2005年06月08日

GNU工具箱:充分用命令行代替SQL

最近Winter刚教会了我一个文件比较命令: comm,是一个比diff更简单的取2个文件交集/补集的方法。原先以为需要用join 2个表的方法,现在很少几个参数就实现了。

随着时间的积累,我发现原先很多需要用数据库才能实现的排序,过滤,分列输出其实都可以shell代替了:而且效率更高。目前正在整理积累起来的oneliner工具集,经常使用的有:
awk: 可用用作select 控制指定列的输出,并且附带了length() mod 等简单函数,通过if条件还可以实现更复杂的判断逻辑,而且比perl更容易读
sed: 控制到某一行的输出 相当于limit 30,40
perl:正则表达式 过滤,替换,非常强大,网上可以找到很多的one liner的现成工具,不过阅读起来有些困难;
sort: 相当于 order by
uniq: 相当于distinct
grep: 相当于like, not like
wc: 相当于count()

再加上翻页输出more head等。结合报表输出工具:GNUPlotR-Project等,就可以生成漂亮的报表了。谈不上数据挖掘,但是用于一些简单actionable data采集确实是非常快速有效。

按此阅读全文 "GNU工具箱:充分用命令行代替SQL" »

2005年06月12日

TWiki的安装,配置和用户管理

TWiki是一套基于Perl的wiki实现(为什么又是perl?):功能强大,速度很快,核心存储使用纯文本实现,不需要数据库的支持,因此非常适合企业级的大规模应用:在很多公司都有成功的应用案例

Wik应用路径相对传统内容发布系统比较固定和扁平, 内容之间的连接也非常多 充分体现了Well referenced with easy navigation....
http://www.chedong.com/twiki/bin/view/TWiki/TWikiPreferences
http://www.chedong.com/主目录/程序目录/动作/子库名/页面

TWiki本身的配置分成3级
网站级别: 站点级别的配置都在TWiki/目录下TWikiPreferences ChangePassword ResetPassword等
目录级别: 每个目录下的WebPreferences文件中设置 比如 Main/WebPreferences
页面级别: 每个页面可以设置一些访问参数

搭建使用TWiki的时候, 会发现TWiki中很多的配置居然也是用WIKI页面管理的: 真正将模板技术用到了及至。具体的配置位于TWiki/TWikiPreferences
TWiki语法本身就是一个非常完整的模板语言, 而网站的很多设置都可以使用
Set PARAMETNAME = value
这样的语法进行设置

以下是我在安装时的备忘:(不断更新中)

2006-1-1更新:
1 增加了认证和用户分组方面的配置说明;
2 增加了文德的参考文档;


按此阅读全文 "TWiki的安装,配置和用户管理" »

2005年06月16日

AJAX = Asynchronous + JAvascript + Xml via http

看到:王建硕: AJAX - 老酒有了新瓶子,立刻涂鸦了两下,
ajax.png。也想到了我去年用过的在线即使贴http://www.aypwip.org/webnote/chedong

当时还没有AJAX这么一个又好记又形象的名字:
App Asynchronous + JAvascript + Xml via http
算是一个巧妙的技术组合吧: 好比是用你用awk + perl形成一套工具箱一样。

按此阅读全文 "AJAX = Asynchronous + JAvascript + Xml via http" »

2005年06月17日

用户对Web资源的再次访问具有集簇性

今天仔细看了北大王伊敏写的Web Mining,其中提到F. Douglis 等研究发现 (1997)用户对Web资源的再次访问具有集簇性。 估计F. Douglis当时是为了研究缓存做的研究:因为其中的一些结论对于缓存周期的设计非常有帮助:
f-douglis.png
最显著的是一分钟和一天。
用户访问的平均时间间隔为25.4个小时,而中间值为1.9小时,49.6小时后的平均方差下降很小。

很巧合,从我以前经验值来看:将页面设置为网页在客户端2个小时后过期的确是最高效而又不影响页面更新的:因为用户在2个小时内再次访问当前页面,主要的目的是回来看刚才看过的内容,这个时候浏览器能够帮助用户快速从本地缓存中看到。

按此阅读全文 "用户对Web资源的再次访问具有集簇性" »

2005年06月19日

给数据库的加上统一的前缀名:很体贴的设计

用到的很多小应用中:数据的设计都遵循了加入前缀名的规范。这样可以有效的避免用户在虚拟主机上只有一个数据库限额的时候不同应用之间的表重名问题。
比如:
MovableType是mt_开头,
WordPress是wp_开头
wakka是以wakka_开头,

而且以上这些应用是可以在安装时候使用不同的扩展名的:这样也便于同一个应用的不同版本存放在一个数据库里相互不影响。

按此阅读全文 "给数据库的加上统一的前缀名:很体贴的设计" »

SpamLookUp: MT推荐的防SPAM插件

SpamLookup - Trac是最近被推荐的MT防SPAM工具之一:但是在51.net上安装的过程中缺遇到了Perl的版本过低导致的: Can't locate object method "splitdir" via package "File::Spec"问题:今天想了一个简单的方法解决了:就是用
my @path_segs = split("/", $PLUGIN_DIR);
代替了原来的:
my @path_segs = File::Spec->splitdir($PLUGIN_DIR);
牺牲了一点平台无关性。

SpamLookUp最重要的一点就是弥补了MT中缺乏一个像WP一样的针对Comments和TrackBack Ping的模糊查找工具。

按此阅读全文 "SpamLookUp: MT推荐的防SPAM插件" »

[MT2WP] 从MovableType迁移到WordPress笔记

MovableType+TWiki是一对经典的基于Perl的企业级内容管理方案,能应付较高的访问量;
WordPress+MediaWiki则是另外一组基于PHP的组合拳:有着非常平滑的学习曲线,非常适合中小型项目;隐约能够感觉到WordPress的成熟度也越来越高了,最近发现而新建的blog网站使用WP系统的非常多,而且很多blogger都在考虑迁移中。

在实际的使用过程中,我也能感受到MT的很多问题,现将MT和WP的优缺点对比如下:
1 安装:程序分别部署在cgi-bin 和 发布目录下,比较难于维护。相比之下:WordPress的安装显得清晰很多;
2 调试:基于Perl,在虚拟主机不提供日志的情况下,MT的安装过程出现问题后非常难调试;
3 浏览机制:相对于于小型网站:在访问量不大的情况下:WP可以提供比MT更方便的类聚和扩展浏览模式;在SEO方面:WP利用path_info机制也能达到和MT一样的效果。

WordPress的安装(需要有MySQL数据库支持)
1 下载:最新版本http://wordpress.org/download/
2 修改配置文件:wp-config-sample.php
define('DB_NAME', 'db name'); // The name of the database
define('DB_USER', 'db username'); // Your MySQL username
define('DB_PASSWORD', 'db password'); // ...and password
define('DB_HOST', 'localhost'); // 99% chance you won't need to change this value
另存成 wp-config.php
3 在虎翼网上:由于不能支持phpversion() 函数:需要将 wp-settings.php 文件中的16,17行改成:
if ( !('4.3.2' >= '4.1') )
die( 'Your server is running PHP version ' . '4.3.2' . ' but WordPress requires at least 4.1' );
或者干脆删除这2行:如果能保证服务器端PHP版本在4.1以上
4 上传文件:按照 http://www.example.com/wp-admin/install.php 的提示进行安装。

从MT迁移:
1 利用MT的import/export模块:
建议在IE下导出,在FIREFOX下会将html标记 < 转义成 <lt; 在导入到WP以后反而无法正常显示原先的内容了。
2 将导出文件存成 import.txt 上传到 wp-admin目录下:修改import-mt.php 的2行,将 'import.txt'文件名加入,上传。
注释:这个文件格式是Unix下的,在Windows下修改可能会出错,共享改好后的文件如下:Download file
3 访问: www.example.com/wp-admin/import-mt.php 按提示操作即可;

按此阅读全文 "[MT2WP] 从MovableType迁移到WordPress笔记" »

2005年06月22日

伪装成Bigfoot系统管理员的病毒邮件

最近我的雅虎邮箱(bigfoot邮箱的转发地址)总是收到bigfoot的服务警告:

Dear Bigfoot Member,

We have temporarily suspended your email account chedong@bigfoot.com.

This might be due to either of the following reasons:

1. A recent change in your personal information (i.e. change of address).
2. Submiting invalid information during the initial sign up process.
3. An innability to accurately verify your selected option of subscription due to an internal error within our processors.
See the details to reactivate your Bigfoot account.

Sincerely,The Bigfoot Support Team


+++ Attachment: No Virus (Clean)
+++ Bigfoot Antivirus - www.bigfoot.com

附件是一个zip文件:雅虎邮箱查不出病毒
yahoo_virus.png

但是下载这个附件一解包:立刻查出了病毒
yahoo_virus_txt.png

文件名是一个隐藏的.exe文件:中间有大量的空格
“account-info.txt________________________.exe”
spyware真是越来越狡猾了。

按此阅读全文 "伪装成Bigfoot系统管理员的病毒邮件" »

2005年06月25日

RSS的在线订阅服务:从订阅中发现社交网络

今天看到:WebLeOn's Blog: Longhorn拥抱RSS,之前层出不穷的客户端RSS订阅工具要小心了,“缺省”威力目前还是很大的。相比之下我感觉在线的RSS订阅无疑会成为以后更有前景的模式。BlogLines就是目前人气较高的RSS在线订阅服务之一。
bloglines_feeds.png
我使用BlogLines比较少,BlogLines缺省的按照作者分类的RSS阅读模式效率不高,还是更习惯根据时间倒排的新闻流水,所以一直尝试着使用Lilina每天生成一份RSS报纸。但除此之外:还是能感受到BlogLines这种中心化服务的一些优势:很容易从订阅关系中发现RSS的热门程度和帮助订阅者之间产生更多的交流互动。要知道,目前很多BlogLines的用户本身也是blog的作者:那么让你看到自己的RSS被多少人订阅了无疑是满足了他们的EgoSurfing的需要(FeedBurner也有类似的RSS订阅计数器功能):如果订阅者的RSS书签是公开发布的:那么你还能看到具体的订阅者是谁,从而找到更多的“同好”:很难想像,居然还有人订阅了我的del.icio.us。
bloglines_sub.png
类似于del.icio.us中:发现和你收藏相同URL的其他用户的功能。

按此阅读全文 "RSS的在线订阅服务:从订阅中发现社交网络" »

2005年06月26日

luene.apache.org: Lucene成为Apache顶级项目

订阅Lucene开发邮件列表的朋友已经感觉了一次邮件轰炸:约有700封来自Lucene相关的Bugzilla的相关更新。仔细一看原来是邮件列表的地址由原先的:lucene-dev@jakarta.apache.org 改成了:
java-dev@lucene.apache.org

Lucene在年初(2005-02)成为Apache的顶级项目:luene.apache.org。而做为原先蜘蛛和分布式引擎的Nutch于本月(2005-06)初也做为子项目之一加入Lucene:lucene.apache.org/nutch/ 并列的有原先基于java的Lucene和基于C实现的Lucene这2个项目。

回顾一下Lucene的历史:无一不说明全文搜索服务做为网络基础服务得到越来越多的重视。

按此阅读全文 "luene.apache.org: Lucene成为Apache顶级项目" »

2005年06月27日

"i googlebot":FlickR是一个很好用的图片搜索引擎


google-googlebot
Originally uploaded by Telendro.
这张图由于googleblog在国内无法访问,我在几个搜索引擎的图片搜索上:用"googlebot"这个关键词都没有找到,在FLICKR上用tag找到了,真的是又准又好。

按此阅读全文 ""i googlebot":FlickR是一个很好用的图片搜索引擎" »

2005年06月28日

用质数命名的网站:(43things+43folders) * 37Signals / 23People

根据我的了解:43things的创建者只是想找一个小于50的质数:而且43folders和43things没有任何关系。
In fact, the coincidences continue because 43 Things was also inspired to some degree by Dave Allen – but the idea for 43 only entered on a subliminal level. We considered 23 and 37 as well as well as 43 – we just wanted a prime number less than 50, and settled on 43 as the right number of things to try and do.

We registered the url and set to work building out our company with no idea of any 43 meme. Anyway, if 43 ends up meaning smart, fun and useful – like 411 means info – maybe it will all work out for the best.

1 Domain Name: 43THINGS.COM Creation Date: 06-Apr-2004

2 Domain Name: 43FOLDERS.COM Creation Date: 31-aug-2004

按此阅读全文 "用质数命名的网站:(43things+43folders) * 37Signals / 23People" »

2005年06月29日

Beijing@Google.earth


googlemaps_beijing
Originally uploaded by keso.
有点君临天下的感觉吗? 又被Google玩了一次颠覆游戏。

按此阅读全文 "Beijing@Google.earth" »

关于 2005年06月

此页面包含了在2005年06月发表于车东[Blog^2]的所有日记,它们从老到新列出。

前一个存档 2005年05月

后一个存档 2005年07月

更多信息可在 主索引 页和 归档 页看到。

Creative Commons License
此 Blog 中的日记遵循以下授权 Creative Commons(创作共用)授权.
Powered by
Movable Type 3.36