自律公约的意义

博客服务自律公约》出台了,KESO写了篇《被“自律”了的博客》,骂的好。不过,有一句话不甚同意:

“如果他们真的能自律,还会有这么些个‘自律公约’吗?”

公约的意义,是签约各方的一种协议,落在纸面上的,白纸黑字的。所对立的是私下的口头协定。自律公约,意味着这个公约本身无人强制执行,但是签约各方应当自觉执行。就像一条街上有五家服装店,大家签订自律协定——谁也不许通过降价来恶性竞争,一件T恤衫最低卖10元。虽然,如果某家没有遵守协议,卖8元,大家也拿他没办法,但是这份协定的签订还是有用的,最至少可以用以证明该商家的信用度。大家喜欢和讲信用的人做生意。

所以说,无论能不能自律,把协议写成一份公约,表示大家都同意了,白纸黑字,赖不掉的,还是有意义的。

问题是,KESO提到这几份公约的内容实在是不敢恭维。有没有人自律,就更不知道了。

scanR扩展语言支持达十七种

好久没说scanR的事了。

继中文和日文扫描之后,scanR于七月底将文件扫描的语言文字扩展到了十七种。

这些语言有:丹麦语、芬兰语、法语、荷兰语、意大利语、朝鲜语、荷兰语、波兰语、葡萄牙语、俄语、西班牙语、瑞典语、土耳其语。

scanR语言选择

用户可以登录网站后,于帐户设置选择需要扫描的语言。需要说明的是,scanR扫描文件时只识别一种语言,因此如果选择英文,那么扫描中文时就会基本无法识别。因此每次扫描前,务必注意帐户的语言和文件语言保持一致。对于经常扫描多种语言的用户,我建议为每一种需要扫描的语言建立一个帐号,这样就不用整天改来改去了。

网站界面语言仍然只提供英文、中文和日文三种。名片扫描目前仅限英文。

为1AND1做个广告

有留言问我租的哪里的空间架设WORDPRESS。刚好,借此机会推荐一下我一直以来使用的1AND1

1ADN1是一加英国公司,于前两年刚刚进入美国市场,成长迅速。我最初选择1AND1的只为注册域名,1AND1对国际顶级域名只收取每年$5.99美元,相比其他所有数据中心便宜。后来为了BLOG购买空间时,比较一圈下来,发现还是1AND1提供每年$2.99的方案最值。对于我等小网站,1AND1提供了足够一般使用的空间10G,以及300G的流量。许多其他网站都很狡猾的提供上百G的空间,而相对比较小的流量。个人网站,除非做下载,一般都不会需要太大的空间,而流量确实一个网站生存的关键。在这一点上,比较美加两国的数据中心下来,还是1AND1最便宜。此外 ,1AND1的入门级方案还提供600个电子邮箱,每个邮箱2G空间。与其他公司比较起来,也是非常值的。

作为一个中文用户,最为难能可贵的是1AND1的服务器从中国访问速度也相当快。虽然比不上中国本土的公司,速度也相当不错了。

就我发现,1AND1目前有两大缺点。一个是不支持CNAME,因此如果想通过CNAME将域名虚拟的指向1AND1是不行的,要么转移整个域名,要么把DNS指过来。我试过将.COM.CN的域名的DNS指到1AND1的服务器上,一切运行正常。另一个缺点是入门级的服务不允许MySql Dump。不过对于可以XML导出的WORDPRESS而言,应该不是什么太大的障碍。

Firefox 2.0 bug: border-collapse 属性与 border 属性的冲突

当没有设置表格的border、cellpadding和cellspacing属性时,不同浏览器通常会给这三个属性附以初始值。为次,通常需要给表格标签设置这三个属性的值。

<table border="0" cellpadding="0" cellspacing="0">

为了省去麻烦,并且让HTML更加简洁,我通常习惯在CSS文件中添加几条定义来将border、cellpading、cellspacing三个属性的初始值设为零。如果需要给某个单元格添加边界,再通过给单元格(td标签)设置属性来实现。


<style>
table{
border: none;
border-spacing: 0;
border-collapse: collapse;
}
td.withBorder{
border: 1px solid blue;
}
</style>

然而今天却在Firefox里发生了不可思忆的事情。

为实现一个效果,必须得使用JavaScript来给该添加风格。因此我使用getElementById(“nameOfCell”).className来给某单元格添加风格。但是所有风格都能实现,除了单元格的边界(border),同时在IE里能够正常该单元格的边界。


<style>
table{
border: none;
border-spacing: 0;
border-collapse: collapse;
}
td.withBlueBorder{
border: 1px solid blue;
background-color: yellow;
}
</style>


<table>
<tr>
<td id="nameOfCell">
</td>
</tr>
</table>


<script>
getElementById("nameOfCell").className = "withBlueBorder";
</script>

于是再做尝试,在HTML里直接给该单元格添加该CSS风格,却能在Firefox和IE里正常显示。由此可以基本上判定是Firefox的Bug了。


<td class="withBlueBorder">

再做了几次尝试后,最终发现是样式表里的border-collapse属性有关。把border-collapse属性注释掉后,通过JavaScript也可以给单元格加上边界线了。

所以,最后判定确实是Firefox的缺陷,当border-collapse设置为collapse时,Firefox无法通过JavaScript给某单元格添加边界线。