不搜不知道,网络真奇妙
此后我和这位笔友就逐渐失去了联系。等到多年后,等到我开始工作了,等到我慢慢在网上一个一个地找到过去的故旧后,有时候,我也会想起来这位曾经在书信中交谈的笔友。我也曾试图从网上找到她,只是,我已经淡忘了她的名字,因此,要再从网络中找到她,实在是很困难的一件事情。
昨天(指周四)早晨,看到一个陌生访客在本站留下来的评论。
有时候,对于看上去比较善意的评论,我会顺手使用访客评论时留下的ID信息、email信息或网址信息在网上做一下简单的搜索。因此,当我看到该访客的善意评论后,顺手用他留下的email地址在搜索引擎中一搜,发现该访客曾在浙江平湖地区生活过。
“平湖”这两个字一下子勾起了我的回忆,我想起来我曾有位(唯一的)笔友就在那里。于是,我再一次开始搜索这位女笔友的信息来。
后来,我在网上找到了平湖中学的网站。我记得她好像是平湖中学的,于是就进了平湖中学的网站看了看。平湖中学网站有一点做得比较好:该网站比较完整地收录了往届学生的名单,尤其是最近20来年的。我把平湖中学95届的毕业生名单从网页中提取出来,顺着名字搜索下去,尤其是那些姓“朱”、姓“吴”的女生名字(因为我的数学老师夫妇二人的姓氏是吴、朱)。最后,我从315个名字中列出了9个重点名字:
朱思惠 曹雪飞 周滢 朱琳 朱美冬 朱丽慧 吴韵 吴蓓珏 吴洁
在这9个重点名字中,根据很模糊的记忆,我圈定了“朱美冬”这个名字是我过去笔友的名字。
我还比较惊奇地发现,那位在我网站上留下评论的陌生访客(顾东东)和我圈定的“朱美冬”彼此是高中文科班同班同学!
后来,我决定直接给顾东东打个电话核实一下。于是,我从网上搜索到顾东东的家庭电话,再从他家人那里得到顾东东的手机电话,然后很顺利地和顾东东通上了电话。我简单地问了2个关于朱美冬的问题后,比较确认这位朱美冬就是我曾经的笔友。
随后,通过从顾东东那里拿到的电话号码,顺利地和朱美冬通了电话,并且高兴地得知她的确是我以前的那位笔友。
“网络无限远,天涯若比邻。”
感谢互联网。
类别:
Serendipity中文乱码解决方案 (3)
本文适用于Serendipity v0.8.x到v1.0。
乱码可能只在特定的情况下出现。
出现乱码的可能原因有几个,例如系统不支持多字节函数、使用了wordwrap等不支持多字节的函数等。
以下用Serendipity v1.0代码举例说明。该系统采用了简体中文(utf-8)编码。
1. 解决内置插件“serendipity_archives_plugin”的乱码
在文件“./include/lang.inc.php”中,函数serendipity_mb()里,第63行代码原先为:
return mb_strtoupper(mb_substr($args[1], 0, 1)) . mb_substr($args[1], 1);
将其修改为:
return mb_strtoupper(mb_substr($args[1], 0, 1, mb_detect_encoding($args[1])), mb_detect_encoding($args[1])) . mb_substr($args[1], 1, mb_strlen($args[1], mb_detect_encoding($args[1])), mb_detect_encoding($args[1]));
这其实可能是多此一举的做法,因为一般默认相关的多字节函数会自动选取默认编码,不需要明确写出来。但是不知何处有bug(也许是PHP的,也许是Serendipity的,也许是我所作的配置方面的),使得这里必须明确说明所采用的编码。
2. 解决侧栏插件“serendipity_plugin_comments”的乱码
在文件“serendipity_plugin_comments.php”中,函数generate_content(&$title)里,从153行到202行左右,做2个工作:
2.1 将“$serendipity['lang'] == "ja"”改成“$serendipity['lang'] == "cn"”;1
2.2 将mb_strimwidth和mb_strlen等多字节函数全部加上编码参数。例如,
原先:mb_strlen( $comment)
现在:mb_strlen( $comment, mb_detect_encoding($comment))
[注1] 看上去这段像小日本写的代码,只顾自己,不顾别人。
[补充说明1] 本文的方法可能不是治本的方法。该系统太大,因此调试困难。
[补充说明2] 我昨天已向Serendipity官方提出这个bug及其解决方法。其技术人员已将相关代码修改,因此该bug将不会出现在下一个版本的Serendipity中。2006-06-23 10:03:44
[补充说明3] 如欲浏览更多关于Serendipity的使用、维护信息,请参考《网志程序Serendipity中文维护个人文集》一文。2007-07-15 14:23:19
类别:
网站更新记录 v2.1.6
在线书签服务中,StumbleUpon和del.icio.us算是其中比较有名气的。我最初使用的是StumbleUpon,后来觉得StumbleUpon用起来有点不方便,就慢慢改成用del.icio.us了。但用来用去,总觉得这两样服务都是第三方提供的,虽然是免费的,但就像我曾经说过的那样,“免费的东西很多时候是没保障的”。因此我对它们用得也不是特别勤快,虽然我经常发现一些让人高兴、让人激动的网址想收藏。
今天下午,我看到一个挺有意思的网站:No scruf。这个网站反对男性不修边幅(主要指留胡须),里面的视频广告比较有意思,这促使我想要用书签把它收藏起来,并且让我最终下决心自己搭一套书签系统放在自己的个人网站上,供自己使用。
** 书签系统选择
在sf.net上,我们可以发现好几个基于PHP的书签系统。其中,LinkBin PHP bookmark manager还在“项目初期设计”阶段;bbps bookmark manager和CuteMarks不仅排名低,而且功能土气;Linkwalla号称使用了流行的Ajax技术,但却是使用文本来存储数据的。所以这几个书签系统都让人看不上眼。
另外,你还可以在网上发现另外2个书签程序:Active PHP Bookmarks和bookmarker,只是这两个同样也让人看不上眼。
相比之下,sa.bros.us这个和del.icio.us风格最为接近的书签系统虽然不能让人非常满意,但也相当不错了。
** sa.bros.us具体评测
网上的知名程序往往优点多于缺点。优点往往可有可无,但往往只要有一个明显缺点,这个程序就不大可取。因此,我对程序的评测往往只提缺点,不提优点。下面就是评测后的几点看法:
1. 这套程序的命名、注释等都是使用西班牙语写的,让人吐血。
2. 时间区域的设置是粗糙的。比如你在其RSS种子里面可以看到时间区域是定死了的:格林威治时间,而不管你究竟是在中国还是在北美。
3. 程序结构专业化方面有待提高。
但不管怎样,我选用了这套系统用在自己的网上书签上。
** 对sa.bros.us的小改动
这一节用来记录自己在sa.bros.us现有程序上所作的小改动,以便以后升级用。主要改动了2个地方。
1. 自己动手,添加了使用utf-8编码的中文语言包。这个中文语言包是根据英文语言包翻译过来的。
2. 屏蔽了一些函数的使用,例如strtolower、htmlentities等。这些函数会导致东亚字体出现乱码。
** 历史书签数据的导出和导入
StumbleUpon的讨厌之处在于其书签导出是很困难的。网上曾有一篇文章介绍如何把StumbleUpon中的书签导出到FireFox中,但这篇文章最后更新于2004年12月21日,目前好像已经不适用了。另外,StumbleUpon中的时间区域设置也比较莫名其妙,我还没弄清楚它究竟怎么计算用户的书签保存时间的。
del.icio.us在这两方面做得都比较好。因此,我比较轻松地就将我曾存放在del.icio.us的书签迁移到现在的我的网上书签中。
** 使用新的书签系统
sa.bros.us还有各种各样不大让人满意的地方,但它有一点是很让人满意的:数据易于导出。因此,选用sa.bros.us也算一个不错的选择。
这就是我现在的网上书签。
类别:
[日记回顾] 1994年6月18日至19日
今天凌晨2:00起来看世界杯1。德国1:0小胜玻利维亚队。德国队凶。玻利维亚队个人盘带过多,但技术、配合均不错。
应该发挥自己的才能,否则便有损于这一段时间。打算暑假一方面学习,一方面要培养自己的实际实践能力。
6月19日 星期日 晴
昨晚看了美国与瑞士队的直播比赛,很没劲。早晨看了哥伦比亚与罗马队的比赛,很精彩,但只看了上半场和下半场的十五分钟左右便收拾好东西走了。姐姐送我至车站。到了学校没什么事可做。
本周一无所作为。周二就盼着放学。早晨体育理论考试,真无所谓。下午一节体育课踢球,没踢好。然后回宿舍去浪费时间。下午4:30去北球场,直到5点多二十五中的人才来。最后打了好长时间,3:3平。其实应该说是我们胜了。我踢得不太好,没劲。然后在学校浴室冲了一顿便收拾东西回家。到叔叔家早已天黑。去小勇家住了一夜。周三傍晚回家。周四、周五在家,只是使劲地看电视,不思学业。
我想暑假我会有所作为的。
[注1] 本文中所提到的世界杯是指1994年在美国举行的第15届世界杯,并非现在在德国举行的第18届世界杯。下同。
[补充说明1] 该日记写于高二下学期。在无损原文意思的情况下对原文中极个别错别字等做了修正。对本文描述的过去生活,尤其是可能涉及到第三方的隐私部分,请客观、辩证地阅读、对待。
类别:
网站建设的可持续发展 (1)
那时候,有一件特别让我感到愤懑的事情是:在北京东直门附近,一栋建了才15年的20层居民楼因为轻轨列车项目的需要而要炸掉!我们的主流媒体在报道这件事情的时候,提的往往多是“中国高层居民楼第一爆工程”这一荣耀头衔,而不去追究、不去探讨这种建设浪费现象产生的原因、责任。我当时心想,20层的大楼,放在别的很多城市怎么着也是一栋比较重要的、花了不少钱的楼,怎么能这么说炸就炸呢?这样严重的资金浪费的事情难道不该追究责任人的责任吗?难道就任由某些不负责任的指令和规划的实施而浪费纳税人的钱吗??
不在规划和设计上更好地注意未来发展的需要、不注意节约是中国城市建设的重要毛病之一。这些城市建设、城市规划中的短视行为在中国大地上到处都可以看到,所造成的浪费很让人痛心。
有些人说西方国家富裕、有钱,但事实并不一定完全是这样。三年多前,我刚来加拿大的第二天,我在多伦多的朋友就跟我说:其实加拿大穷人比较多,但这个国家是怎么就看上去富裕呢?因为他们节省、廉洁!
的确如此,加拿大人一个房子、一个项目完工后,用上几十年一般是毫无问题的。我所在的城市很多房子、很多基础设施都是几十年前的,到现在依然能正常地被使用着。离我住所不远处的大使桥(见右图),完工于1929年,是北美贸易量最繁忙的国际通道:“超过25%的美加贸易是通过这座大桥传送的”1。到现在,77年过去了,这座大桥目前依然运作正常,没有要退役的迹象。
我在媒体上经常看到,加拿大开工一个项目之初,项目论证、项目预算都是做得非常清楚、详细的。如果项目不合理、或者项目实施时多花纳税人的钱,很容易引起民众和反对派的质疑。在这样一种情形下,大多数建造的项目都不会出现(过度)资金浪费的行为,也经得起时间和历史的考验。
富裕,很重要的一点来源于节省。我们在羡慕老外富裕的时候,也应该学习老外节约的精神:不浪费不必要的钱,做好前期准备、论证、设计工作。
回过头来再看看国内,那些我们曾经引以为荣的好些项目,一再地被历史证实为是政绩工程、是垃圾、甚至是祸害!例如葛洲坝。那么,我们现在引以为荣的那些在建、已建项目:三峡、国家大剧院、高速铁路等……是否能够经得起历史的考验?
当然,本文主要讨论的并不是这些问题。上述话题只是我在写下面一段文字时候顺便想到的问题,于是就顺手写下来了。有时痛心也是无益,只好管好自己和身边的事情就行了。
下面开始正题:“网站建设的可持续发展 (2)”。
[注1] 此数据出自维基百科相关说明。
[补充说明1] 本文及其后续文字初稿于2006-06-15 11:57:17左右。
类别:
网站建设的可持续发展 (2)
本文主要讨论的不是具体性能优化技术,而主要讨论可持续发展(可扩展)的网站架构设计。
关于网站可持续发展的讨论并不太多。到目前为止,在Amazon网站上,大体上看起来也只有有限的几本书关注这一话题(目前我只看到两本)。
Theo Schlossnagle历时2年有余,终于在今年5月11日左右写完了《Scalable Internet Architectures》(可扩展网站架构)这本书。这本书早已在Amazon网站列出,但要到下个月24日才会由Sams出版社出版,所以我们目前还无法知道作者精心打造的这本书的可读性究竟如何。
Cal Henderson来自英国伦敦,是Flickr网站的主要开发人员(之一)。在上个月,他通过O'Reilly出版社出版了一本书:《Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications》(搭建可扩展网站:搭建、扩展、优化下一代网站应用)。
Flickr网站的建设过程涵盖了一个正规化、国际化、大中型网站建设的方方面面,也是最近两年人们热炒的“web 2.0”类型的典范网站。虽然我也曾说过“web2.0关程序员什么事?”,但相对于4、5年前的“web 1.0”时代的web技术,“web 2.0”时代所面对的技术环境、建站思路和“web 1.0”时代的确是有一些明显变化的。因此,如果依然沿袭几年前的建站经验,势必有逐渐落伍的趋势。就此看来,Cal所写的这本书实际上可以看成一个典型的、与时俱进的web网站开发过程中心得体会的总结,有相当的借鉴价值。
我大体翻了翻Cal写的这本书。
这本书共分11章。前三章“介绍”、“web应用架构”和“开发环境”没有太多需要在这里特别介绍的。
第四章讨论“国际化、本地化和unicode编码”(i18n, L10n, and Unicode)。这是一个非常好的话题。我曾在《网志系统Serendipity评测 (2)》一文中提到“最近2年,在网页编码中,UTF-8被越来越广泛地使用”,“使用UTF-8将会比使用GB2312有明显优势”,但我从未展开讨论过UTF-8技术。这一章对“UTF-8”的应用做了相当详细的介绍。可惜这本书是英语作者写的,如果是东亚人写的话,可能能把相关技术细节写得更明确、更详细,例如对多字节字符的具体支持等。当然,这只是一个锦上添花的想法。
第五章讨论“数据完整性保持和数据安全”。这一章对数据校验、数据完整性保持方面写得比较具体,但依然不够丰满。对于任何一套(web)应用而言,非常重要的一点就是:数据。因此对于数据的处理、数据的可移植性等好些地方还有可以进一步细化、研究、注意的地方。在这些方面,Cal并没有细谈,有点遗憾。
第六章讨论“email”。这一章我没有详细翻,我也觉得这一章对我而言并不是特别重要。
第七章讲述“远程服务”。这一章可以和第11章“APIs”结合起来读一读,做相关开发的时候(例如web service开发)值得翻翻。
第八章讲述“瓶颈问题”,第九章讲述“扩展web应用”,第十章讲述“统计、监控和提醒”。有读者在amazon评价说这三章写得非常好,值得一读。
总体而言,Cal写的这本书也许还有可以再补充的地方,但其相关论述已比较全面,值得一读。当然,我们也可以期待以后去读读本文一开始提到的Theo写的那本尚未面世的书。
至少,这两本书填补了web开发书籍中的某些空白。
[补充说明1] 本文前三段对“网站的可持续发展”具体含义的描述不是很清晰。
[补充说明2] 今晚翻了翻文中提到的那本《Scalable Internet Architectures》,觉得写得相当不错。其涵盖了某些非常有意思的话题,例如页面静态化、缓存、分布式数据库、日志、在线统计等,只是某些地方没有作进一步的深入介绍和分析。这是一本相当值得一读的书籍。2006-09-15 20:47:41。
类别:
网志系统Serendipity评测 (2)
本文承接《网志系统Serendipity评测 (1)》一文,进一步讨论Serendipity的一些使用技巧和使用细节。本文的部分讨论内容同样适用于其它网志系统,例如WordPress等。
首先统一一下相关名词翻译。本文中“侧栏插件”指的是sidebar plugin,事件插件指的是“event plugin”。
下面开始正式讨论。
1. 不要使用不需要的插件,不要启用过多插件
现在,Serendipity提供的插件比较多,这为Serendipity网志系统提供了丰富多彩的功能。但是对于网志而言,并不是插件使用得越多越好。很明显,过多地使用插件是会(明显)影响网页性能的。
我的个人建议是:选择使用插件一定要慎重,尽量少装插件,以免影响性能(主要指网页打开速度)。
一些简单的使用插件的规则如下:
(a). 不要启用过多插件,尤其是功能花哨的插件。
(b). 插件如果不使用的话,尽量将其从“当前使用的插件列表”中删除,而不是将其隐藏。
(c). 能合并的(侧栏)插件,尽量合并。例如,你可能想在页面侧栏中显示重要提示、文章类别、友情连接、版权声明、Google站内搜索等等内容。Serendipity提供不同的插件实现这些功能,但我并不推荐你安装全部这些插件。由于这些插件所生成的HTML代码并不会经常被改动,因此我的建议是:使用某个nugget侧栏插件(文本块插件,例如Language-Specific HTML Nugget这个插件),将相关HTML代码写到这个文本块中,然后将其显示出来。通过这种手法,你只用一个文本块侧栏插件就能将其它几个侧栏插件想实现的功能(通过变通的方法)全部实现了。
2. 插件选择
哪些插件是必选的?哪些插件是可选的?哪些插件是不必选的?
很多时候,为大多数用户提供一个“必备插件列表”的行为是愚蠢的。因此,在这里我仅仅是为他人提供我对于插件选择的一些看法。我无法告诉你哪些插件是必选的、哪些是可选的、哪些是不必选的,我只能列出我认为是相当重要的一些插件,并描述我对它们的看法。
需要注意的是,这里列出的插件的中文名称并不一定是标准的中文翻译。
我认为比较重要的侧栏插件有:
(a). 文本块 (Language-Specific HTML Nugget): 我很推荐使用这个插件,具体原因可以参考本文相关说明。
(b). 保存文库 (Archives): 我很推荐使用这个插件,因为通过它用户可以方便地访问你的所有历史网志。
(c). Google 快速搜寻 (google Quick Search): 我很推荐使用这个插件,否则你很难实现中文网志的站内搜索。这个插件需要和事件插件“Google网站地图生成器”结合起来使用。我建议你不要安装这个插件,而把相应的功能集成到某个文本块插件中。
(d). “创作共用”授权条款 (Creative Commons): 我很推荐使用这个关于版权声明的插件。但我建议你不要安装这个插件,而把相应的功能集成到某个文本块插件中。
(e). 回响 (Comments): 我比较推荐使用这个插件。通过它,大家可以知道访客留下的最新评论。
(f). 最新网志 (Recent Entries): 我比较推荐使用这个插件。通过它,用户可以在任何页面轻松地访问你最新写下的网志。
(g). 显示标签 (Show tagged entries): 我比较推荐使用这个标签。通过它,用户可以知道你特别关注、特别感兴趣的话题,能够更好地和访客分享你的爱好、兴趣。
(h). 文章同步 (Syndication): 如果你想提供访客RSS订阅功能的话,这个插件非常重要。但是,我建议你把这个插件设为隐藏状态,然后在某个文本块插件中添加一个RSS订阅用的链接。
(i). 我的日历 (My Calendar): 我不倾向于使用日历插件,觉得它浪费网页显示速度。
我认为比较重要的事件插件有:
(a). 插件管理 (Spartacus): 我很推荐使用这个插件,具体原因参见《网志系统Serendipity评测 (1)》一文。
(b). 垃圾评论屏蔽 (Spamblock): 我很推荐使用这个插件,具体原因参见《网志系统Serendipity评测 (1)》一文。
(c). 系统备份 (Backup Interface): 我很推荐使用这个插件,具体原因可以参考本文相关说明。
(d). Google网站地图生成器 (Google sitemap): 我很推荐使用这个插件,否则你很难实现中文网志的站内搜索。这个插件需要和侧栏插件“Google 快速搜寻”结合起来使用。
(e). 网志标签 (Tagging of entries): 标签是网志系统中很重要的一个功能。如果你对网志中标签(tag)和trackback的含义不是很理解的话,建议你读读这篇文章。我比较推荐使用这个插件。
(f). Trackback控制 (Trackback-Control): 我比较推荐使用这个插件,否则你很难知道哪些人在网上引用了你的网志。
(g). 网志发布 (Announce entries): 这个插件用来向各大网志搜索引擎系统提交你新发布的网志。我比较推荐使用这个插件,但不建议你向所有的网志搜索引擎发布你的网志,因为那样子会导致你发布新网志时速度很慢;而且,这些搜索引擎都是英文的,你没有必要向所有的这些英文搜索引擎提交。我自己只选择向“technorati.com”和“Yahoo!”提交我新发表的网志内容。
(h). 起始类别 (Start Page Category): 我比较推荐使用这个插件,这样你可以通过某种方式隐藏某些你不想在网志上显示的内容。
(i). 另外,我强烈建议使用换行标记 (Markup: NL2BR)、浏览器兼容 (Browser Compatibility)、网志扩展属性 (Extended properties for entries)这三个有关网志内容编辑的事件插件。
其它未在本文提及的插件可以根据你的需要取舍。
3. 页面布景模版的选择
布景(theme)这个单词,也有人翻译为“样式”、“模版”、“外观”等等。总而言之,它表示的是你的页面的样式。本文中使用“模版”一词来表达“布景”这个意思。
Serendipity提供很多不同风格的模版。我大体统计了一下,目前在Serendipity的Spartacus自动更新系统中,提供了68个模版。
但这并不意味着每个模版都适合你。
对我而言,基本上我绝对不会选择“门”字形风格(页面两侧有侧栏)的模版,也不会选择侧栏放在页面左边的模版。实际上,我只会在侧栏放在页面右边的模版中进行选择,正如你现在在本站网志系统中看到的那样。
为什么要做这样的选择??因为页面布局是会影响页面显示速度的。
页面的主体是页面中间的正文。如果你把侧栏放在页面左边,侧栏显示的内容一般就应该在主体内容之前显示出来。但是万一你的侧栏某块被堵塞的话,那么主体内容将可能显示不出来,或者要花很长时间才能显示出来。
这种问题出现在很多中国网站上。当你访问某个网站的页面的时候,经常可以看到页面标题、顶部很早就显示了,但正文却迟迟打不开。这就是页面布局设计、HTMl代码设计有问题。
因此,为了避免这个问题,你应该尽量选择“侧栏放在页面右边的模版”,这点对那些带宽不充分的访客尤其重要。
换句话说,侧栏插件应该尽量放在页面右边,尤其是那些可能影响页面打开速度的侧栏插件。
4. 使用备份插件
受过感情伤害才知道真情的可贵,丢失了电脑数据才知道数据备份的重要。
数据备份是非常重要的一项工作。如果你还没有意识到要去注意电脑数据的备份工作,我也懒得再多强调备份的重要性了。
Serendipity通过一个备份插件提供了自动化的备份机制。可以备份整套程序、全部上传文件、全部数据库信息。你可以选择备份的内容、备份的周期,你还可以选择自动备份或者手动备份。
关于备份的进一步细节我就不详谈了。
5. 再谈“垃圾评论阻挡功能”
现在,网页垃圾广告非常泛滥。针对各种网志系统、BBS系统的垃圾广告攻击行为非常常见。因此,反垃圾功能是很多web系统的重要组成功能之一。
我曾说过,“Serendipity的垃圾评论阻挡功能非常强劲”。但再强劲的系统也要善于使用。
这里提几点Serendipity中反垃圾评论、反垃圾trackback的通用技巧 (一般读者可以跳过此段,我写得比较随意、不够清晰,因此读起来有点晦涩):
(a). 启用发表评论时的Captchas图形验证码功能;启用发表评论时的时间间隔限制。
(b). Trackback必须经过验证才能发布。
(c). 严格限制评论中允许的网址数量。我的规则是:评论中含2个网址时需要管理员审核;含3个以上网址自动拒绝。如果可能的话,我会拒绝在评论中留下任何网址的行为。
(d). 必要的时候对评论中的关键字进行过滤。
(e). ……
在使用上述过滤机制的时候,你不必担心会过滤掉重要的、善意的访客评论。我曾为此担忧良久,最后认为这种担忧的确是多余的。事实证明的确如此。
6. 关于留言本插件
根据对网志的通俗定义,留言本不是网志系统的组成部分之一。但对于网志而言,一个留言本往往还是需要的,即使在网志有评论功能的情况下。
为此,Serendipity提供了一个留言本插件,但这个插件功能非常简单。例如,它没有回复功能,并且,它的页面样式过于简单。
我目前不推荐使用这个留言本插件。可惜的是,迄今为止,我尚未发现非常令我满意的、可以用来和Serendipity结合起来使用的留言本系统。
7. 中文字符集选择:GB2312还是UTF-8?
我曾写过两篇网志(1, 2)讲述我曾在Serendipity字符集选择时遇到的麻烦和解决方案。不过那2篇文章中的技术方案基本上可以认为已经过时了。
对于中文简体网页界面,Serendipity提供两种字符集供选择:一是Simplified Chinese (GB2312),一是Simplified Chinese (UTF-8)。最近2年,在网页编码中,UTF-8被越来越广泛地使用。就我目前的理解,从多个角度来讲,在绝大部分情况下,使用UTF-8将会比使用GB2312有明显优势,使用UTF-8更好。
8. 关于Serendipity中文版本
Serendipity v1.0 beta 3之前的中文翻译文件不够好(或者说马马虎虎)。一则相当部分没有翻译(尤其是大部分插件没有翻译),二则翻译的准确性也有待提高。
最近有一个叫Li, Aphonex的网友投入精力把Serendipity绝大部分语言文件(包括插件的语言文件)翻译了一遍。我曾简单地测试了一下他提供的文件,虽然还有一些瑕疵,但毕竟比之以前,要进步很多。
需要注意的一点是:汉化不完全等于翻译。翻译仅仅是汉化工作的一部分。好的汉化工作包括翻译、测试等几个必不可少的部分,缺一不可。
[注1] Serendipity v1.0原定于今年2月15日发布。
[注2] 本文最初草稿于2006-05-09 10:08:47。
[补充说明1] 由于本文过长、很可能存在错别字等,因此,不排除以后对个别错别字等作修正。
[补充说明2] 本文不大欢迎评论和提问。我已经投入比较多的精力来写这篇文章了,不想因为无益的讨论而额外浪费时间。
[补充说明3] 如欲浏览更多关于Serendipity的使用、维护信息,请参考《网志程序Serendipity中文维护个人文集》一文。2007-07-15 14:23:19
类别:
网站变更记录 v2.1.5
2006-06-10 10:37:04左右,将域名deminy.net再次续费2年,新有效期截止至2009-06-08。
2006-06-10 21:31:39左右,出于安全原因将日程安排使用的程序WebCalendar从v1.0.3升级到v1.0.4;将任务列表使用的程序TaskFreak!从多用户版本的v0.2.0升级到v0.2.1,主要是补丁修补。
2006-06-12,开通子域名http://help.deminy.net,专门用来宣传、关注那些我自己关注的需要帮助的人们、事情。第一个关注对象是患白血病的川大师妹郎丽艳。
类别:
Skype和网络传真
与之同时我也不时在挖掘其它一些VoIP(基于Internet的语音技术)的功能。下面将讨论的就是我最新的一些思考。
首先澄清本文要讨论的内容,免得引来莫名其妙的、浪费口舌的评论。
本文主要讨论电脑通过VoIP等技术和传真机之间进行传真交流。本文不讨论把传真机当成电话机使用和电脑通话,本文也不讨论如何使用电脑通过modem(调制解调器)和电话线向外发送、接受传真1。
现在开始正题。
收发传真其实是比较头疼的一件事情。在单位上班还好,可以用单位的传真机。但是碰到没传真机可用的时候,还真是麻烦:总不能为了每年发两、三份传真就去买个传真机吧。当然,也可以用电脑发传真,但往往还需要准备一个扫描仪等等。当然,你也可以跑到街上找个店去发传真……总之,有时候总感觉收发传真不是一件省心的事情。
Skype既然能够提供拨打、接听电话的服务,那是否能够提供传真服务呢?AmperorDirect.com公司(一家VoIP技术和Skype解决方案提供商)为此曾做过测试,结果是失败的。他们发现,维基百科英文版曾对Skype用于传输音频信号的G.729解码技术作了如下说明(以下引号内为中文翻译):
“G.729是一种针对语音的音频解码技术,将声音音频按每10毫秒为一格来压缩。音乐、像DTMF和传真机铃声这样的铃声等是没法通过这种技术可靠传输的。”
这段说明解释了为什么AmperorDirect.com公司的尝试会失败。
根据一篇题为《Faxing over IP networks》(FoIP,基于Internet的传真技术)的文章,通过FoIP技术发送传真是不可行的(或者说是不可靠的)。部分原因是因为大多数传真机缺少RJ-45插口和对TCP/IP协议的支持,因此,当进入网络语音(VoIP)时代的时候,大多数传真机需要升级才能在网络上使用。
根据Skype官方论坛部分资深Skype用户的观点,传真机虽然依然在被广泛地使用着,但从技术上来讲它是一个古老的、业已落伍的产品、技术。让像Skype这样的VoIP产品去支持一项古老的技术是不划算的,因此,Skype可能永远都不会提供传真功能。不仅如此,很多类似软件也不会提供传真功能。
关于传真、Skype和FoIP技术的这个话题就此结束。
现在,退一步来思考思考:是否有工具支持网上发传真呢?有的,但(应该)不是基于FoIP技术。
有一些在线网站提供网上发传真,例如大名鼎鼎的eFax等。但它们无一例外都是需要付费的,而且对于我们这些不常发传真的个人来讲,用它颇不划算。
PLUSFAXTM是一家比较有意思的公司,目前提供的是真正免费传真服务:(在某几个国家)你可以从转真机上免费发送传真到指定的email里。当然,这里面有一个限制:你的传真需要包含该公司指定的一个封面。另外,你也可以通过该网站从转真机上发送传真给Skype在线用户。该公司号称还提供其它一些网络传真服务,但我并未进一步详细研究。
[注1] 如果想使用电脑通过modem和电话线向外发送、接受传真,你可以使用著名的Winfax Pro这个软件,也可以使用像32bit Fax这样的一般著名的软件。只是,这些Fax软件都不是免费的。