谈谈 Linux 桌面环境

上星期我在“扫荡”很久没有读的 RSS 的时候,看到了这么一篇文章:《重新认识Ubuntu Unity(上):Unity之降临》。文章的作者是 TualatriX,他在文章的前半部分讲了 Unity 这个用户界面的开发背景于发布后的评价,让我对 Linux 的桌面发展感觉到了一些不利的因素。

世界上用的最多的操作系统——Windows、Mac 和 Linux,它们之所以存在于世界上,我认为是因为它们有自己不可替代的核心优势。比方说,Windows 的优势在于它的普及范围广、Mac 的优势在于它的图形界面、Linux 的优势在于它的 UNIX 传承和稳健。当然,这些核心优势有许多,在不同的环境下,它们所体现出的优势各不相同。而在单机桌面领域,我觉得人们对于 Linux 的发展方向有些偏斜。

Linux 安装在个人计算机上有什么优势?这一点我想很多人似乎是没有搞清楚。Ubuntu 在国内开始流行那会儿,由于宣传,人们知道了有个叫 Linux 的操作系统,然后它有很炫的动感界面。这就是人们对它的认识了。于是有些喜欢折腾的人,就在自己的电脑上装上 Ubuntu,当然目的不是用,而是耍酷。结果发现很多东西都没法在 Ubuntu 下跑,比如 QQ,比如网银,于是人们又失望的重装 Windows。从一开始这种方向就偏斜了。

话说 Linux 的桌面究竟有什么优势?说道这个问题,我想先说一说 Mac。Leopard 刚发布的时候,苹果宣布了很多新功能。苹果还发表了一个视频,上面一个男人演示了各种 Leopard 加入的功能,这个视频非常吸引我,我当年把它下载到了硬盘上,看了好多次,我现在还在 Dropbox 里保存了一份。这个视频里介绍的很多功能,我当时看了都特别激动。比方说收到了邮件,在 Mail.app 里看邮件的内容,里面一些比较特殊的信息,比如电话号码,Mail 可以给你提取出来。把鼠标移动到电话号码上,点两下就可以把这个号码添加到 Address Book.app 里面。除了电话,地址、时间什么的好像都可以。虽然手动复制粘贴也不是不行,但这种系统集成是让我觉得兴奋的地方。后来我才知道,这些根本就不算是 Leopard 本身的功能,因此要用这些功能,就必须用苹果自己的软件。比如,你把 Mail.app 换成 ThunderBird.app,那就不会识别出这些信息了。究其原因,其实苹果发布的 Leopard 远远超出了“操作系统”的范畴。Leopard 其实可以算上几套解决方案的组合,买了 Leopard 后,你上网和别人交互基本没问题了——Safari 可以浏览网页,Mail 可以收发邮件,iChat 可以聊天,普通用户除了这些还需要什么?

所以我觉得,一个操作系统的核心优势,在于操作系统可以运行的软件。比如 Windows,我母亲在休闲时喜欢玩 Windows 自带的纸牌游戏,我在刚接触 Windows 95 的时候也很喜欢里面的扫雷游戏。但你让一个中国人拿到一台刚买来的 MacBook,你让他怎么休闲?我对国际象棋可不熟啊。另一个例子是在程序员之间流传的玩笑,说很多人买 Mac 是因为 TextMate 写 Ruby on Rails 程序太好用了,这里面操作系统方面的核心优势就不言而喻了。

那么,Linux 的核心优势怎么算呢?我觉得这比较困难,原因是因为 Linux 上可以运行的软件范围太广了。装个 LAMP 就可以跑 web 服务器,装个 XWindow + Gnome 就可以胜任个人桌面。从历史上来看,UNIX 世界很少有给自己的系统是什么样子的做出严格的定义的。这一方面跟 UNIX 世界的自由软件氛围有关系,另一方面是因为上面的经典软件都不是一家公司出品的。比如 Apache 和 X,它们不是一家公司或组织出的,界面风格自然就南辕北辙了。桌面环境也分成了好几个阵营,没有一家独大的。我们学校的 Sun 工作站上面同时安装了 Java Desktop Environment 和 CDE,当然默认的是 JDE,但 CDE 绝对可以正常使用。Sun 可以专业的商业公司啊。

结果因为风格上的不同意,软件就常常专注于一种风格,这在今天看来就是 GTK 和 Qt 的对立。虽然两个库本身是独立的,但在以一个库为基础的桌面环境中运行以另一个库为基础的软件,总会显得格格不入,这在风格上就比 Windows 和 Mac 弱了一节。原因?很简单,没有标准。普通用户没有操作系统和桌面环境的概念,因此常常把桌面当作操作系统本身。我身边最典型的例子是有同学得到了 Ubuntu 的免费派送光盘,启动电脑后用了一回说对 Ubuntu 的印象就是“屎黄色的桌面”。

在上世纪 90 年代,桌面环境蓬勃发展的时候,Linux 没有一个强有力的领导人引领大家的桌面环境。因为本身 UNIX 世界的图形界面已经比较成熟,字符界面当时的 DOS 根本没法和 UNIX 比,所以没有积极发展的必要。所以,在那段时期,Windows 和 Mac 都各自朝着一个方向努力,最终在各自的世界中形成了标准,而 Linux 则从一开始就没有像界面标准化的方向迈出坚实的一步。有些初学者弄不清楚 Linux 到底长啥样,所以觉得 Linux 就是“屎黄色的桌面”,那不过是 Ubuntu 默认墙纸的颜色而已,但这里面的概念实在是不好像圈外人解释清楚,所以我遇到了这种情况就只好不了了之了。另外,没有标准,Linux 世界呈现百花齐放的局面,各大发行版争奇斗艳,各小发行版也有各自的圈子,而我在刚接触 Linux 的时候就迷惑过,倒地哪种 Linux 最好?

所以,Linux 的核心优势到底是什么?仔细想一想,在个人桌面领域,Linux 似乎还真没有什么核心优势。有什么软件是只有 Linux 上可以运行的吗?数下来,似乎还真不多。在我的经历中,只有 Emacs 在 Windows 和 Mac 上没有完美运行,但也仅仅是不完美,而非不能运行。因为推广 Linux 的缘故,很多软件都有一种模仿的思路在里面:模仿 Windows 的行为方式,模仿 Mac 的界面模式。几年前我看到国内很多 Linux 网站在教大家怎样把菜单条弄到屏幕最上方,就像 Mac 那样子,怎么在屏幕下方放一个 Dock,就像 Mac 那样子……看到这些东西,我没有“Linux 现在也可以做到这个了”这样的兴奋,反而感到一种恶俗,难道,山寨是 Linux 桌面发展的宿命么?

我在真正正式使用 Linux 后,尝试了一些桌面环境,大众的小众的都或多或少的尝试过一些。到最后我的选择是 FVWM,这在今天看来似乎很奇葩,但确是我领悟到了所谓桌面,不过是一堆程序的堆叠而已之后的选择。这时,也是我明白了 Linux 的核心优势的时候。在我眼中,Linux 的核心优势就是“高度定制”。Linux 世界给你的一堆软件,你要按照自己的要求把它组合起来。弄到最后,桌面环境时花俏也罢,朴素也罢,总归时一堆软件的综合效果。像我这种喜欢简洁的人选择了 FVWM,因为我觉得用计算机其实就是使用软件。软件启动后生成的窗口要多大,放在哪里,这些给 FVWM 弄好了,交给我使用就行。想要设置背景,其实就是用程序在所有窗口下面全屏显示一章图像而已。当然,桌面环境也是这么做的,但把这一切都包装起来了。

Linux 就是这样,没有标准,这就是它的最好的优势。我在刚开始执著于发行版之间的优劣比较,到最后发现发行版之间的核心区别就是软件管理的区别,也就是 rpm、apt 等等的区别。Gentoo 提供了 emerge 系统和一些文档,这就是全部了;LFS 把软件给省了,于是就剩了一本书,软件管理部分,用解包/编译/安装等指令代替了。可以在这些东西之间自由选择,这是我最怀念 Linux 的地方之一。

在这里要说明一点,这里说的 Linux 的核心优势是我总结出来的,并非是标准答案,因此或许在别人眼里 Linux 有其它的核心优势也是可能的。不过,从我的核心优势发展,能得到一个相对悲观的结论,就是 Linux 无论如何都不能让广大群众所接受。普通用户要的不是可以定制,而是可以稳定正常的完成一些事物,所以,在个人桌面领域,Linux 基本没有竞争力啊。

来捣乱的 OpenID

前几天看到 Twitter 上关于我的 blog 新文章的提醒似乎有点问题,于是就去 TwitterFeed 上去检查设置,结果登陆的时候让我困惑了好久——我到底是改用普通登陆呢,还是用 OpenID?

我在注册 TwitterFeed 的时候,应该算是处于对于 OpenID 迷信的时期,因此那段时间里注册的帐号,只要支持 OpenID 我都用 OpenID 来注册。OpenID 支持用自己的域名来做帐号,方法是在域名的 index.html 文件的 <head> 部分添加几行代码就行了。不过,这只是一个代号,真正认证时其实还是要到 OpenID 的服务器上进行的。我当时知道了这个功能之后,也没有多想,于是就在所有注册的时候尽可能的用了 OpenID 的技术。

其实,OpenID 技术从根本上说是否优秀,我们还没有结论。但 OpenID 本身最大的问题,现在看来在于推广。如果全球网站有 50% 能用上 OpenID 技术,那么 OpenID 的推广在我看来就是成功的;成功就意味着有了前景、有了未来。但让一个网站使用 OpenID 虽然并不是太过困难的事,但也不是选中一个选项就能搞定的。因此,OpenID 的推广还远远没有达到目标。而这种技术,一旦没有在第一波流行起来,再往后就没有后劲了。看看今天,有多少网站还不遗余力的支持 OpenID 啊?就算事支持,也不过事系统本身有这么个功能,不用白不用,所以就开启了这项功能,但 OpenID 绝对不是这种网站的主要推荐的登陆方式。

在个人用户方面,OpenID 确实是给我带来了一些小麻烦。比如用自己的域名来做 OpenID 这件事,我自己的网页在更换了几次服务器后,内容早就和最开始时不一样了。开始时我想把首页做成一个门户,于是就用了 HTML 简单写写;后来我想用 CMS 系统来把首页一起自动化统一管理了,中间尝试过 Movable Type、UseMod Wiki 之类的系统;到了最后我把首页重定向到我的 wiki 中的用户页面。在这个过程中,首页中的那几行关于 OpenID 的代码早就不知道扔到哪里了。

这样的后果是,OpenID 网站在登陆的时候只认我的域名,连我原本在 OpenID 服务网站上的帐号都不认;但我的首页里的 OpenID 代码没了,因此输入我的域名后又无法完成认证,这真是一个死循环啊。我忘了那次我是怎么解决问题的了,要么我去 OpenID 网站上找要插入首页的代码,要么我就放弃登陆那个网站。不惯我当时是怎么做的,我那时后悔的心情确实肯定的。

随着 Google 等一些公司把自己的帐号系统开放,让其它网站可以与之关联,我觉得这个行为直接宣判了传统 OpenID 的死刑。其实,Google Profile、Facebook 帐号、Twitter 帐号登陆这些功能,从本质上来说,就是 OpenID。但它们把传统的 OpenID 概念改头换面,用自己网站的帐号给重新包装了一下而已。试想,当我的 Google 邮箱的帐号可以用来登陆一个网站的时候,我干嘛还要去回忆我不知道多少年前的 OpenID 帐号呢?说起帐号本身,Google Profile 有邮箱、文档等功能,Facebook 和 Twitter 各自有各自的 SNS 功能,而 OpenID 的帐号,只有单一的一个“登陆”功能,简直是太可怜了。

还记得用 OpenID 来注册一个网站么?在注册之后网站其实也会问你要私人信息,其中就包括了你的电子邮箱。每次到这一步的时候,我都有种多此一举的感觉。既然已经有了我的电子邮件,那么再输入一个密码不就相当于重新申请了一个帐号了么。因此,OpenID 在这里,我觉得优势不大。至于可以统一管理密码的问题,在密码软件推出之后,就更不是问题了。所以相比起来,让 Google 这些有其它服务的帐号来顺便管理第三方网站的登陆就比较自然了,而为此专门弄一个 OpenID 的服务来就有些多此一举了呢。

OpenID 最后一个让我担心的问题就是它的有效性。OpenID 的帐号是建立在一个网站上的,一旦这个网站倒了,那么我们之前用这个 OpenID 注册的网站不都登陆不上去了么?在这方面,还是 Google、Facebook 这些大公司更让人放心一些。而用电子邮箱来登陆的,有 Google Apps 加上个人的域名就更不用担心了,因为认证都是在各自网站上的,因此不会受别的网站的影响。如果有一天 Google 倒了,Google Apps 不存在了,因为域名还是自己的,那么电子邮箱就永远都是自己的了,完全不用担心有效性的问题。

糟糕的下午

今天真正经历了一个糟糕的下午。

和同学约好了下午去学校健身房健身。我过去经常去健身,但一年前多一些的时候因为较忙,就中断了。中断了之后就一直没有再恢复。在这一年中我的身体越来越差,明显感觉到体力下降,小腹赘肉也越来越突出,所以我之前就琢磨着重新锻炼身体。

最近临近毕业,我有了一点时间,于是觉得这是一个开始锻炼的好时机。于是今天下午我搭同学的车,去学校办理了会员卡,开始锻炼。

毕竟有一年多没有锻炼了,所以我今天的计划时略微恢复一下,一些器械的强度都减轻了一些。而有氧运动的跑步,我没什么信心,但看到同学也在跑,我就跟着跑了一圈。这一圈下来就要了命了,感觉心肺久久不能平静下来,难受的我在垫子上躺了很长一段时间。然后等同学们锻炼完了,我跟他们一块回去。

本来不动的时候感觉还好,等走一下路就觉得肚子里一阵翻滚。再加上室内的空气也不大好,我感觉特别恶心。于是没有换衣服就跟同学出来了。上车之后系上安全带的时候还好,等车一发动,稍微一挪动,我就忍不住了,直接在同学的车上吐了出来。印象里吐了两大口,把中午吃的炒饭,喝的咖啡一股脑的都吐出来了。这种呕吐比喝多了酒的呕吐感觉要好一些,胃部没有痉挛的感觉,喉咙也没有被胃液灼烧的感觉,吐完了反而觉得一阵轻松。但把同学的车子给弄脏了,就太糟糕了。我准备换的干净衣服也沾上了一些,包括我昨天新买的 80 多加元的春季外套。至于我的身上,有 50% 多的面积都湿透了,包括里面的内裤。不过我也顾不得难受,下了车帮同学清理车子的内部,但比较不容易清理干净,只好期待能找到专业的洗车的地方把车子内部给清洗一下,我再给同学交洗车费吧。

我晕车呕吐从上星期就开始了。上周因为期末考试,我作息不是很规律,而且为了熬夜,我一壶接一壶的灌咖啡。所以尽管我吃了早餐,考完试坐公交车回家时我也感觉到晕车、恶心、想吐。那时候我觉得时因为我咖啡喝多了,所以会想吐,不过不知道喝今天的呕吐有没有关系。其实我昨天的情况也不是很好,中午吃完了饭,午睡起来后也感觉想吐,当时以为时吃多了,但加上今天的事情不知道有没有什么联系。

在加拿大办理退税

今天我办理了去年的退税。

其实来加拿大之后,每年的春天都要办理退税,但今年是不同的一年。过去我们要退税,去国际学生中心那里领取一份表格,填好了把它跟相应的文件交给国际学生中心的老师就行了。国际学生中心会有义工根据你的表格内容制作申报税务的表单,然后为你寄送过去。但今年我去国际学生中心领表的时候,那里的老师告诉我国际学生中心不再办理退税了,她给了我一份表格,列着帮同学办理退税的机构或个人,让我们自行去找那些人来办。

所以今天,我准备好了材料之后,就去学生会开办的帮忙办理退税的点。那里是一个小屋子,里面有几台电脑,然后两个 advisor 在里面转悠,帮同学解答问题。去了之后,我按照贴在电脑桌上的说明,才知道要制作退税的表格,只需要上 UFile 这个网站。这个网站就是通过对你提问题,帮你生成 PDF 格式的报税表的。我之前是不知道,要是知道了,我在家里就可以把绝大多数的东西给办好了。当然,到了最后一步,系统会询问一个七位数的密码,只有学校这边才有,其它的步骤我觉得都可以自己完成。当然,今天在学校里也是我自己完成的,advisor 在那里只负责解答问题,而不会帮你来填表。

生成表格之后,找地方打印出来,然后去邮局把表寄到指定地点就可以了。不过,由于是第一次做这个,我弄下来感觉特别的累啊。今天的天气也不大好,早上出门时下小雨点,我穿上了保暖内衣和毛衣。到了中午太阳直接暴晒,让我出了不少的汗。明明一两个星期前才刚刚化雪,现在就开始热到这样了。让我不由感叹,温尼伯没有春天啊。

迁移 Linode 主机到 Fremont

今天我把 Linode 主机从日本东京迁移到了加州的 Fremont。

我从去年九月在 Fenng 的 blog 上看到 Linode 开通了日本机房的消息。那时候我还没有 Linode VPS,只是听说日本机房在大陆访问速度更快,因此有些羡慕。所以这次我买 Linode 的时候,自然就选择了日本的机房。但真正用 ssh 登陆主机之后就立马后悔了——我忘了考虑自己的地理位置了!

如果我人在中国大陆,我一定会选择东京机房,因为速度更快。可目前我人在加拿大,选择东京机房的结果是,国内的人访问速度不知道是不是更快了,但我用 ssh 登陆后明显能感觉到比我过去用 Ramhost 的时候的响应要更迟钝。这种体验实在是太不好了,因为理论上说,终端的响应要比 HTTP 的响应更加敏感,我从键盘上输入字母,要等半秒钟才出现在屏幕上,这比打开网页要延迟两秒钟还要让人心烦。

为了平衡我这里的远程操作速度和国内的网页响应速度,我让朋友 @zhaokai 帮我测试一下 Linode 的 speed test 页面上的文件下载速度。@zhaokai 在青岛给我的反馈是 Dallas 最快,Tokyo、Atlanta 和 Fremont 次之,London 和 Newark 没速度。当然,不同地域的速度会有区别,所以我需要进一步调查,但要换机房是定下来了。

今天正好有时间,我就用 just-ping 来分别测试 speed test 页面给的主机域名。伦敦在英国,所以估计无论如何都不会超过美国和日本,所以我就没测它。其它五个城市,我调查了它们在国内的响应速度,并用本地的 traceroute 工具来检测本地的响应速度。调查结果基本上如下:

From server to my home:
 8  newark1.linode.com (207.192.68.6)  45.461 ms  45.814 ms  46.035 ms
14  dallas1.linode.com (69.164.200.100)  46.899 ms  46.901 ms  47.173 ms
 9  atlanta1.linode.com (63.247.71.196)  53.109 ms  53.801 ms  53.258 ms
 9  fremont1.linode.com (64.71.152.17)  75.233 ms  75.279 ms  74.783 ms
 9  tokyo1.linode.com (106.187.33.12)  161.979 ms  162.831 ms  165.290 ms

=========================================================================== From server to China: Newark: Location Result min. rrt avg. rrt max. rrt IP Hong Kong, China: Okay 224.3 227.5 229.6 207.192.68.6 Shanghai, China: Okay 522.4 529.2 534.3 207.192.68.6 Beijing, China: Packets lost (20%) 454.8 557.3 621.0 207.192.68.6

Dallas: Hong Kong, China: Okay 227.3 228.1 229.1 69.164.200.100 Shanghai, China: Checkpoint temporarily not available - - - - Beijing, China: Checkpoint temporarily not available - - - -

Atlanta: Hong Kong, China: Okay 233.0 236.5 239.7 63.247.71.196 Shanghai, China: Packets lost (10%) 542.2 545.4 547.2 63.247.71.196 Beijing, China: Packets lost (20%) 336.2 344.9 392.7 63.247.71.196

Fremont: Hong Kong, China: Okay 191.7 194.8 196.5 64.71.152.17 Shanghai, China: Okay 271.6 274.5 278.0 64.71.152.17 Beijing, China: Okay 223.3 224.0 225.2 64.71.152.17

Tokyo: Hong Kong, China: Okay 53.2 54.4 55.9 106.187.33.12 Shanghai, China: Okay 509.9 516.6 520.6 106.187.33.12 Beijing, China: Okay 159.2 171.4 179.3 106.187.33.12

综合的看结果,发现 Fremont 在国内访问和我家的访问速度种达成了很好的平均,特别是从我家里连接到机房,响应速度比连接到东京的速度要快一倍多;到国内的连接也没有掉包的情况,平均速度比东京的机房还有优势,所以我确定了要往 Fremont 的机房搬迁。

之前看了一些别人写的 Linode 主机迁移的经验,跟别人的经验相比,我这里有一点不同。别人都说客服会给一个新的 IP 地址,因此在迁移完成后不能像过去那样用 ssh 登陆,需要用 LISH 来登陆进去,用命令来修改配置文件中的 IP。而客服给我的新 IP 地址竟然完全和过去的相同,不知道是不是 Linode 升级了技术了,不需要修改自己的 DNS 设置了?

目前我正在迁移中,已经进行了将近 30 分钟了,据报告说还有将近一小时。目前的传输速率在 3.98MB/s,速度不慢。客服告诉我说每 GB 要花 10 到 15 分钟,看来确实是需要更多的时间。

最后赞一下 Linode 的客服。这是我第一次给 Linode 发 ticket,看时间记录有 2 分钟就收到了回复。这种回复速度简直可以用惊艳来形容了。所以说,用 Linode 尽管贵一些,但怎么能不令人安心?

PS:Fremont 机房有一个让我担忧的地方,就是它的机房是 HE 的,网上对 HE 的评价不怎么好。不过 Fremont 是我目前调查出来最平均的速度,只好先用一阵子再说了。

PS2:以前在看 NicoNico 的时候遇到过只有日本用户可以观看的情况,本来像用 东京机房的 Linode 搭个 VPN 去看呢,这回吹了 🙂

PS3:经过了大约一个半小时,系统终于迁移完毕。结果我连不上服务器了。继续跟客服讨论,结果确实是客服没有给我分配新 IP 地址。我给客服说了大约一分钟后,刷新 remote access 页面就看到 IP 地址变了。重启之后,修改了 /etc/hosts 文件后一切正常了。当然,域名的 DNS 能这么快生效,少不了有 DnsPod 的功劳,赞一个。

悲剧的 Windows Live

上次我说我要用密码管理软件,并逐渐更改我在各大网站上的密码。于是我开始使用 LastPass 来管理密码。虽然不如 1Password 这样的本地软件更讨我欢心,但贵在免费,而且虽然它的数据在远程,过去由服务器被攻击的记录,但好在没有密码被泄露的消息传出,所以让我还算满意。关键是 1Password 实在是太贵了,一个密码管理软件要价 50 美刀让我有种被宰的感觉,而且这只是 Mac 平台、加上 Windows 平台要 60 多,手机等移动平台还要掏钱,接受不了接受不了。要是 20 刀之内我咬咬牙少吃几顿饭我还可以买,但 50 刀,还没有阔到那个份上。

最近几天虽然在考试阶段,但我有些零碎的时间还是在逐渐修改我的密码。注册过的网站太多了,要一下子都更改过来显然不现实,因此花小时间随手更改正在登陆的网站算是唯一可用的策略。今天正好登陆 Adium 的时候发现 MSN 的服务器解析卡住了,于是就更改 MSN 的密码。

我一直不大喜欢 MSN,有了 Google Talk 之后更是全面转换到 GTalk 上去。MSN 虽然不像 QQ 那样不跨平台,但它的 Web 界面做的实在是太差了。微软似乎想把 MSN Messenger(现在似乎改名字了,具体叫 Windows Live 还是什么的忘了)和它的 MSN 社区结合起来,但这个 MSN 社区本身做的就太差。网址如果我没记错的话应该是 http://cn.msn.com/,它完全就是一个类似新浪的连接大杂烩。内容有好几屏,全是一条一条的新闻链接。看似做了分类,但使用起来没有任何条理,谁要盯着屏幕一点一点的找新闻呢?反正我做不到。说起来,我觉得 MSN 社区就是一个 web 1.0 的网站。不知道它的访问量是多少,但可能不多,毕竟微软这些年也算是在兢兢业业的维护它。

最早的时候我不知道 MSN Messenger 和 MSN 社区的关系,所以那时我重装了操作系统后要下载 MSN 装上,于是就到了 MSN 社区的网页。它倒是有一个小的 Messenger 板块,但需要我仔细找一阵子。那时我觉得特别麻烦,因为我根本没有接受 MSN 社区的概念。我心目中的 MSN 就只有聊天工具,社区什么的根本就不是我的需求。

Windows Live 的另一个问题就是速度太慢,不知道是不是它用 aspx 等东西把系统做的特别庞大冗长,它一直比同类的 PHP / Python / Ruby 网站慢至少 10 倍。在国内也就算了,但刚才我改密码的时候依然每导入一个页面要等将近 10 秒钟。拜托,这是在加拿大唉,这种速度绝对不正常。这样的结果就是自从我注册了 MSN 之后,我只用它的客户端,网页什么的绝对不去,去了也只是做一些必要的改动马上就走,这种速度实在是太不友好了。

还有一个问题就是汉化。说句题外话,我发现不止网页、很多其他的人们在制作其它软件的时候,做汉化根本不用心,完全生搬硬套,似乎从来不亲自用一用这些软件似的。一个让我怨念很深的地方就是 Mac OS X、Ubuntu 等操作系统的汉化。这些系统安装之后,会在用户的根目录下生成 DesktopDocumentsMusic 等目录。本来好好的,但做汉化的非要把他们弄成“桌面”、“文档”和“音乐”,这样确实让中国用户更方便的知道自己的桌面在什么地方、自己的文档在什么地方、自己的音乐在什么地方。然而,做汉化的没有用过终端么?没有用过 LaunchBar 等软件么?难道要在终端上执行 cd 桌面 吗?难道在 LaunchBar、QuickSilver 等软件中找目录,要用方向键一点一点的找而不是输入 de 来自动索引么?所以说这些做汉化的根本没有全面的用过这些软件,全是靠自己的脑子空想,这样做出的汉化怎么能做到“信达雅”中的“雅”呢?

汉化的另一个问题,从 Windows Live 中又得到了体现。我的 Windows Live 帐号,是我在 2006 年注册 MSN 时得到的。那时我还在国内,时区自然选择北京时间。后来因为 Windows Live 的 web 界面做的太烂,所以尽管我到了加拿大很长时间,我也没有想起要改一下时区。今天改 MSN 密码正好顺便把这些东西也修改一下,结果在选择时区的下拉菜单这里我傻眼了: Select timezone in Windows Live. (Chinese version)

我所在的时区正常情况下在西六区,一般要选择的话就选“中央标准时间”,后面常常会跟一个城市名字。有的列表里会有我所在的城市 Winnipeg,直接选就行,这种列表一般都很全面,很清晰。但像 Windows Live 做的,我就不知道该怎么选。我所在的省的名字中文可以翻译为“马尼托巴”,但城市有两个,我还选哪一个呢?它们俩有什么区别呢?我第一次遇到这种让我迷惑的情况,最后我随便选了一个了事。国家的切换也是一样,做汉化的把国家的名字翻译成了中文,然后按照汉语拼音排序,殊不知这样给查找带来了极大的困难。做汉化的看到了中国的位置在列表最下面,觉得挺好找,就这么做了,但要是想切换到其它城市呢?比如说我要找“加拿大”就找半天,中文也不像英文的列表哪样可以用键盘输入几个首字符来迅速定位。比较好的方法是每个国家都用那个国家的官方语言来表示,这样会更加清晰,但 Windows Live 汉化的生生把一个大公司的产品做成了小作坊出品。

语言切换也是同样。我要把 Windows Live 的界面语言切换成英文,在里面找 English 的时候也不再列表的开头,我是通过搜索功能找到的,这同样也是一个欠考虑的做法。

切换了语言,我偶尔打开了英文版的时区列表,发现这个城市选择的困惑原来从英文版就存在(见下图),中文版的翻译是完全继承了英文的列表,可除了 Windows Live,我从没见过类似的这么让人困惑的写法。这倒不是汉化的问题了。 Select timezone in Windows Live. (English version)

说完了牢骚,再说点正面的东西。过去我一直觉得 MSN 封闭,具体是什么原因我现在没什么印象了,好像是不允许导出还是不允许用其它客户端来收发邮件什么的。这是我讨厌 MSN 的原因之一。封闭是微软一贯的做法,毕竟允许第三方的软件插手,不就相当于流失了用户了么?不过今天我发现 Windows Live 居然可以同步其它网站,比如 Facebook、新浪微博的内容,这倒真是让我有种“士别三日当刮目相见”的感觉,不过这也从侧面证明了 Twitter 带来的潮流有多么厉害,居然连微软这个之前巨保守的公司也给吹动了。

乱世用重典?密码泄露中招

今天发现我的 Twitter 客户端显示有未读 tweets,我进去一看,是一堆不认识的人发送的英文推。开始时我以为是谁给我发了一堆广告,结果扫了一眼推的内容发现里面并没有提及我。一时间我有些傻眼,不明白是怎么回事。仔细看了一下推的内容,才大吃一惊。

原来这些都是 reusable.py 这个用户的 retweet。reusable.py 做了一件事,他用社会工程学的方法,分析出了我的密码,登陆了我的 twitter 帐号,用我的 twitter 帐号 follow 了他。这样他的 retweet 就显示在了我的 timeline 中了。reusable.py 有一个网页,上面有个头像列表,说明这些人都被成功的弄出了密码,而这些只是一个小的 Python 程序完成的。网页上还放了一个 password.txt 文件,是一个密码字典,我看了一下我的 twitter 帐号就在里面。

过去 CSDN 弄出过这么一回事来,不过我没怎么在意,因为我的 CSDN 帐号没有什么可以偷的价值,而且我几次用 CSDN 的通行证登陆,都是特别复杂,所以我也懒得去改我的密码。而且我也确实是多个网站只用一个密码,因为我不擅长编造密码再保证不忘记它,小时候上网时我在电脑旁边放个旧本子,把我上过的网站的用户名和密码记下来,后来觉得这样特傻。其实我很早之前就知道我的密码不安全了,当时以为我的密码有大小写字母还有数字,单手输入的时候特别麻烦,再用 MD5 之类的算法变成密文后就不可破解了,结果去了那个网站上把我的密文输入进去马上就得到了我的原文密码,这给了我相当的震撼。不过我也实在是不像在密码上费心,所以一直抱着侥幸心理。上次 CSDN 密码泄露之后,我只是修改了我最最关键的电子邮箱的密码,其它的都保持原样,因为实在是太多了,多了就容易忘记。

我之前就听说过一些辅助记忆密码的软件,比如 1password 之类的,很多人也推荐过,但我对密码的要求之一就是可以随时携带,在任何地点都可以登陆,因此对这类软件都不怎么感兴趣。不过这次 reusable.py 来这一遭,让我觉得应该看一些这类软件。毕竟现在我的帐号可不仅仅是一两个论坛那么简单了,有一天把我的 VPS 帐号给盗了,那就没地方哭去了,银行帐号更是想都不敢想。这些网站,慢一点登陆不怕,就怕密码泄露出去啊。

过去看 Revolution OS 的时候,听 Richard Stallman 说,早期在 MIT 的操作系统里,是没有密码这个功能的,也就是说,登陆的时候只问你帐号而不问密码。我过去在试着登陆一个 ITS 服务器的时候,也确实发现可以随意浏览别人的文件。后来据说是被政府用户要求加上密码这个功能,但 RMS 这帮人蛊惑人们用回车键代替密码,也就是不设置密码。他们为了抵制这个功能,还破解别人的密码,给别人发信息来劝他们不用密码。当然在今天看来这很儿戏,但确实也反映了在互联网发展初期,人们比较倾向于不设防的。在不到 30 年之后,骇客、蠕虫、病毒之类的概念已经铺天盖地、屡见不鲜了。过去在用 Windows 的时候,装完系统的第一件事就是装杀毒软件,病毒也给杀毒软件开辟了一片广阔的市场。后来进入了互联网时代,人们对于计算机安全又有了新的认识。虽然说今天我们没法回到、甚至是想象网络早年人们对于安全的行为,但相比较我们战战兢兢保护我们的密码,不禁让人觉得非常讽刺吖。

终于换了 Linode (续)

刚刚发表了上一篇文章后,想起还有一些感受忘了说。

首先就是转移 VPS 的感觉。这次转移有些麻烦,但速度很快。麻烦的是 YardVPS 根本死活连不上,自然没法转。我在后台跑了一个 lftp 来镜像 public_html 的文件,这就弄了好几个小时。不过好在我早就开始用 wiki 了,有了新的知识,就花点小时间整理下来,之后再用时就会节省很多时间,不用再去查资料了,比如这次,这篇《VPS 配置笔记》就省了我很多时间,一条一条走下来,就不用怕漏了什么东西没有配置。当然,Linode 本身有很丰富详细的文档,我这次也参考了一些,学到了一些知识,比如我过去用 VPS 从来不开防火墙,这次总算时学会了如何使用了。

我从上次切换到 YardVPS 的时候学会了使用 DNSPod,觉得它绝对是个好东西。我这次转移 VPS 速度很快也得益于它。我过去换一个 VPS,就用那一家 VPS 的 DNS,这就需要花费一段时间来使设定生效,有的 VPS 厂家,比如 Ramhost,添加一个域名需要发送 ticket,这就需要几个小时。在 VPS 服务商那里添加了一条域名之后,还有其它的各种设置,比如 Google Apps 就一堆 CNAME 和 MX 记录,很麻烦。而我这次转移 VPS,只是在 Linode 服务器那里把数据动放好后,去 DNSPod 改一下域名的 A 记录,然后等了几分钟,这就是全部了。我用过三家 VPS,Ramhost 的 DNS 设定面板是人家自己写的,我用过很多次,当然也为此发送过几条 ticket;YardVPS 的 DNS 设定面板我压根不知道长什么样;Linode 的我从它的文档里看了截图,但自己没有用过,当然我也完全不用考虑这些问题了。

最后再夸耀一次 Linode 带给我的安心感。虽然并不真实,但买了 Linode 后我确实产生了“如果从一开始就用 Linode 的话就少走了很多弯路了”的感觉。当然,从现在开始也不算晚。

终于换了 Linode

这一个月来我用了几个月的 YardVPS 终于开始出问题了。

常常在我没有改动任何设置的情况下就连不上服务器了,浏览器无法访问页面,ssh 连接不上,就连 ping 也 ping 不通。去 YardVPS 的后台看主机的状态是 online,说明这是 YardVPS 自己的网络问题。这种情况会持续几个小时,之后才能重新连接上。

开始时我觉得所有主机都没法保证 100% 的在线率,所以这种情况在所难免。一般来说,廉价 VPS 的在线率都保证在 99.9%,有少数稍微贵一些的可以达到 99.99%。不过这个月接二连三的出现了几次这样的情况后,我发现这明显达不到 99.9% 的在线率要求,到了今天,我终于无法忍受下去了。

我的 VPS 主要跑一个 WordPress 搭建的 blog,和一个 MoinMoin 搭建的 wiki。Blog 还好说,反正是访问量不大的个人 blog,有时候不在线也不是什么太大的问题;wiki 就不同了。为了方便,我把很多资料都记录在这个 wiki 里面,VPS 掉线也意味着我这些资料也无法访问了,这是不能容忍的。

在我刚买了 YardVPS 之后,有人说 YardVPS 很垃圾,我当时用着感觉还不错,因为很便宜,内存也够大,并没有遇到过在线率的问题。今天我上网搜索了一下,发现很多人都遇到过这种问题,并不推荐购买 YardVPS 的主机,有些人说要看人品,偶尔能遇到稳定的主机算你运气。YardVPS 在自己的页面上说了它是 unmanaged 的主机,因此客服资源比较稀缺,我倒不怎么在乎这些,毕竟已经用过几个 VPS 比较顺手了,Linux 知识也不是问题,但遇到这种连不上的问题真实让我头疼无比。

之前为了使用 VPS,我调查了不少厂家,搜索了不少评论,自己也用过 Ramhost 和 YardVPS。Ramhost 我已经不考虑了,虽然它的产品问题不大,但后来的服务态度让我有点不敢恭维。YardVPS 也算是试过了,证明了它不能完全信赖。PhotonVPS 和 Yard 是一家的,我也搜索到过很多的差评。RapidXen 太贵,性价比还不如 Linode。其它的不熟,从评论上来看也不敢确定没有问题。考虑再三我还是买了 Linode 的主机,因为它是我唯一从网上没有看到过差评的服务商,价格上我也勉强可以接受。

不知道是口碑还是心理上的原因,我开通了 Linode 的服务后,我就没有任何的担心过。过去的两个 VPS 我在使用的时候都要战战兢兢,就怕什么时候就出问题了。Linode 不是这样,我在使用的时候对它有一种微妙的信任——相信它不会出任何问题,相信就算它出问题了我也不会受到损失,它的面板也相当顺手,所有的选项都相当清晰,统计图表也不像别家那样能看不能用。总之,用 Linode 就是让我有一种完全安心的感觉。虽然我不知道是怎样养成这样的感觉的,但就凭这一点,我就觉得值了。

用 VPS 将近两年了,从开始时的好奇与迷惑,到如今的习以为常,我觉得我对于 VPS 好奇的这一阶段已经完全过去了。其实从几个月前开始,我就不愿去动 VPS 的种种设定了,反而我希望的是配置好了之后就不管了,舒舒服服的使用。想安定下来了之后,我发现这时候 Linode 就成了最佳的选择,相比而言我过去用过的 VPS 多数属于是给你折腾的玩具,到今天用到了 Linode,这方面应该可以消停了。