2007-01
30

PayPal的付款请求可以直接发到客户的电子邮件,即使客户没有PayPal帐户, 也可以直接通过信用卡付款。今天试着用PayPal发了一次,结果出现了下面的错误。

paypal-1.png

想了半天百思不得其解,后来才明白,原来付款人的邮件地址注册了贝宝(PayPal中文版)帐户, 因此系统认为该邮件地址仅能发送人民币,而我要求的是日元,自然就出现了上面的错误。 解决方法很简单,换个其他的邮件地址即可。

发送付款请求的具体方法如下。

阅读全文 »

2007-01
29

今天打开Opera发现Opera又升级了。不过这次版本号跳得好快啊,实在是钦佩Opera的开发者们。原来的版本是9.02,这次居然是……

opera90-2.png

取消之后再次检查更新,还好这次版本号正常了。

opera9-10.png


2007-01
10

昨天晚上上网发现,原来几乎很慢的国内网站已经能打开了,今天又发现原来一直连不上的抓虾也能正常使用了,虽然速度稍稍慢一点。难道海底光缆已经修好了吗?

查了一下发现新浪今天凌晨发出了首期光缆修复昨日完成 20日有望连接的报道,看来的确是这条修复的光缆起了作用。另据报道,全部修复可能要到一月底,和当初的预想一样。看来工作进展不是很顺利。


2006-12
22

最近在购买域名和虚拟主机上花了不少时间,有些原来不懂的东西也弄明白了,写在这里大家分享一下。

能买到什么样的域名?

一般是指 yourdomain.com 这样的域名,而不是 www.yourdomain.com。后者中的 www 叫做主机名,不是域的一部分。 也就是说,当你购买了 yourdomain.com 之后,所有以这个域结尾的域名都属于你了。你可以任意创建主机名, 例如 ftp.yourdomain.com,sale.yourdomain.com 等等。不过若在国内购买的话,服务商可能会限制你能创建的主机数目。

什么是A记录和CNAME记录?

A和CNAME是DNS记录的两种形式。A即主机,解析结果为一个IP地址。例如你可以添加A记录“www”到1.2.3.4, 那么 www.yourdomain.com 就被解析到 1.2.3.4。而CNAME为一个别名,它应当被解析到另一个域名, 例如添加CNAME记录“ftp”指向www,则ftp.yourdomain.com会先被解析为www.yourdomain.com, 再解析为1.2.3.4。CNAME甚至可以指向其他域,例如设置 CNAME记录 mail 指向smtp.another-domain.com, 则 mail.yourdomain.com 会解析为 smtp.another-domain.com。

Sub-domain forward是什么?

GoDaddy的域名服务中有一个子域名重定向(subdomain forward)服务,它和上述的CNAME有什么区别呢? 实际上它是增加一条A记录指向服务商的一台服务器,该服务器再将HTTP请求转发到你设置的转发目标。

购买空间时domain和sub-domain数目是什么意思?

domain是指你可以为你的空间绑定的域(yourdomain.com而不是www.yourdomain.com)的数目。 而sub-domain是你可以在已绑定的域空间商提供的域中添加的子域名(www.yourdomain.com)的数目。 假设你在空间商 space.com 上购买了空间,这个空间能提供1个域名绑定和20个子域名绑定, 那么你可以将以前购买的 yourdomain.com 绑定到该空间,之后还可以绑定 www.yourdomain.com、 ftp.yourdomain.com、yourname.space.com 等类似这样的子域名20个。

一些apache的知识

.htaccess:配置文件,可以自己修改某个目录的服务器配置。 mod_rewrite:apache的URL重写模块。通常要想开个博客的话,.htaccess和mod_rewrite为必需功能



2006-12
20

今天购买了一个域名: tech.inspiremedia.org ,取其“灵感媒体”之意。原 charlee.itbdns.com 的所有服务都转移到 tech.inspiremedia.org 上。RSS feed地址不变,不过里面的固定链接变了,使用阅读器的朋友们,只好向你们说声对不起了,把看过的文章重新标为已读吧。

不过虽然固定链接变了,原来的 charlee.itbdns.com 上做了重定向,所以短时间内两个域名都会生效的。



2006-12
05

今天在solidot上看到了这个极其巧妙的算法,能够计算平方根倒数,即1/sqrt(x),据称是Quake 3中的代码。简单测试了一下,速度要比math.h提供的sqrt函数快上一倍左右。

float InvSqrt(float x){
  float xhalf=0.5f*x;
  long i=*(long*)&x;
  i=0x5f3759df - (i>>1);
  x=*(float *)&i;
  x=x*(1.5f-xhalf*x*x);
  return x;
}

看完后觉得十分巧妙,于是开始读Chris Lomont于2003年撰写的一篇分析论文, 看到一半的时候发现fcicq比我捷足先登, 并给出了一个中文版的算法分析页面。 该网页的作者自称看完GameDev.net的算法后觉得自己火星了,看来我还真是从冥王星来的,哈雷彗星也未可知。



2006-10
28

阅读 O'reilly 的书籍免不了要执行书上的示例代码,而手工输入代码又十分浪费时间。其实只要将书上的代码利用 O'reilly Code Search 搜索,即可得到该代码的电子版,然后复制粘贴即可。



2006-05
08

程序编译的第一个阶段是词法分析,即把字节流识别为记号(token)流, 提供给下一步的语法分析过程。而识别记号的方法就是正则表达式的分析。 本文介绍利用有限自动机分析表达式的方法。

阅读全文 »

2005-11
29

研究发现,将英文单词的首尾字母之外的其他字母随机调换顺序,人还是能够基本无障碍地阅读整篇文章。例如,

Sometimes w3c's specification is much more insteresting than MSDN.
Unfortunatelly new techs are not supported by most browser.

将该文章中每个单词保持首位字母不变,中间的其他字母随机调换顺序,得到下面的文章。

Stmemieos w3c's seapifccition is mcuh mroe inseeirsttng tahn MSDN.
Urfnltueanolty new tcehs are not speproutd by msot bsrwoer.

但是大部分人仍然能够正常阅读。 做了个小程序用来调换字母顺序。



2005-06
10

我们原有的论坛使用的是基于 ASP 的 LeadBBS,后来由于服务器出现了一些小故障,导致 RegExp 对象不能用,于是论坛的许多用到正规表达式的功能全部失效。后来考虑将论坛整个转移到 PHP 系统上。而我维护的另一个论坛使用的是 NewvBB,这个系统是基于国外最流行的 vBulletion 修改而成的,该论坛相当成熟,管理功能也十分强大,于是就准备把论坛移动到 vBulletion 系统上。

目前面临的任务是 LeadBBS -> NewvBB。到网上查了一下资料,发现有关 LeadBBS 数据转换的程序很少,可能是由于在国内动网论坛独霸天下的原因吧。最后总算找到了一个 LeadBBS->phpWind 3.0的转换程序。经过进一步的调查,我决定了转换方法:LeadBBS -> phpWind 3.0 -> Discuz! 2.5F -> NewvBB 3.0。这样做起来相当麻烦,不过似乎是唯一可行的途径了。

1. LeadBBS->phpWind 3.0

这一步基本上没有遇到任何问题,简单地安装一个 phpWind 3.0,然后利用转换程序就能够把用户和帖子数据完整地转换过来。附件不能转换,不过算了,附件本来就不多,以后再慢慢手动修复吧。

转换后使用安装 phpWind 时设置的管理员密码进入 phpWind 的管理员界面,重新建立缓存。

2. phpWind 3.0->Discuz! 2.5F

这一步稍稍遇到一点困难。Discuz官方主页上找到的转换程序是 phpWind 2.0.1->Discuz! 2.5F的,直接利用该程序转换时,转换到第5步出现错误,说在 pw_tmsgs表中找不到用于 order by 语句的 id 列。查了一下数据库结构,发现 pw_tmsgs 中的字段名为 tid 而不是 id,于是修改转换程序的 340 行的列名为 tid ,于是转换成功。

转换成功之后试图登录管理面板结果失败了。查明原因,升级之后 Discuz! 原有的管理员的用户组id变成了普通用户,于是直接修改 cdb_members 表中 Admin 行的 adminid 和 groupid 列为管理员的相应值。管理员的用户组 id 可以在 cdb_admingroups 和 cdb_usergroups 表中找到。

修改之后即可成功登录管理员界面,重新建立缓存。

如果错误登录次数过多而导致被系统禁止登录,可以清除 cdb_failedlogins 表中的内容。

3. Discuz! 2.5F -> NewvBB 3.0

这一步也比较容易,直接利用留爱论坛上提供的转换程序即可成功转换。转换之后也同样遇到 admin 用户组变成普通用户的问题,修改 user 表中的 usergroupid 列即可。最后进入管理面板,更新缓存。