Chloe Rei 的人参笔记 生活、学习、牢骚 http://chloerei.com/ 关于即时通讯的胡思乱想 http://chloerei.com/logs/640 Rei <p>XMPP的数据采用XML传输,这是一个容易滥用、塞进过多特性的格式。看《XMPP》一书,好歹啃下来了。</p> <p>不过找C++的XMPP库的时候,总觉得没个顺心的。最完善的也许是gloox,号称文档完善。但是文档,也就是个class and function reference,没有阅读入口,还不如直接看代码。后来看到代码包里有十几个example,继续尝试阅读。</p> <p>找库的时候不时在动摇是否要死磕XMPP协议,它真的是最优选择吗?我想过google wave,其他协议,还有自己新写一个协议。</p> <p>后来发现,google wave的服务器间协议其实是通过XMPP传输的。这符合我的想法之一:基于XMPP,开发一个独立于其他XMPP环境的协议。但是google wave我现在看来他们的进度不行,已经发布这么久了,client-server协议还没定制出来,用户只能用浏览器进行交互。浏览器的通知机制还没完善到能取代桌面软件的地步。</p> <p>那么我是否自己创一个通讯协议?我还没有那个自信,主要是一人的精力很难做到服务端、客户端的实现,并且还要推广得开。不过也不是不可能,在我摸熟了XMPP,并且发现核心问题之后,可能再自己开发一个。</p> <p>至于其他协议,我刚在搜索。这个协议要比XMPP好的话,需要有跟google talk同样基本的服务器实现。</p> <p>在考虑XMPP协议的同时,我也在考虑所谓C/S模式和B/S模式的问题。B/S模式因为出现得晚一点,容易有错觉它先进一点。其实B(浏览器)就是一个C(客户端),不过B更单一一点,更臃肿一点,但相对的,S端写的代码可以更有普遍性,因为浏览器这个客户端内置了大量的API。如前所说,我并不认为浏览器可以完全替代客户端,软件全web化是过激了。我就更喜欢把聊天工具缩小到托盘图标区,而不是作为一个浏览器标签。也许以后浏览器会跟操作系统有更多的交互,但是现在还没看到哪个浏览器做这方面的努力。(例外:chrome尝试用自身替代整个桌面环境)。</p> <p>要死磕哪个,我还没有定论。</p> Wed, 24 Feb 2010 01:48:25 +0800 http://chloerei.com/logs/640 《XMPP》读后感 http://chloerei.com/logs/639 Rei <p>我还在摸索怎么做一个比QQ好的聊天工具。于是看了《<a href="http://book.douban.com/subject/3291772/">XMPP</a>》这本书。简单评价下这本书:这是目前唯一能找到的XMPP入门书。书里面介绍了XMPP的工作原理,协议的一些示范,和一些应用实例。看完这本书之后对XMPP的优缺点有一个初步了解。</p> <h3>优点</h3> <p>如<a href="/logs/634">我之前的猜测</a>,XMPP确实是用类似Email的架构方式。这是一种比较理想的开放架构。</p> <p style="text-align: center;"><img src="/upload/0000/0541/2.png" alt="" width="400" height="313" /></p> <p>XMPP是一个开放,分散式的即使通讯协议。因为是开放的,所以用户可以自行选择信任的注册商,就好像Email一样。又或者可以自行搭建。说白了就是一个即时的Email。</p> <p>XMPP的核心部分比较精简,但可以扩展。它的标准发布页上面列举了一大堆已经审核过的<a href="http://xmpp.org/extensions/">扩展协议</a>,比如群聊、数据表单等。通过集成的方式,可以满足大部分可知的需求。</p> <p>XMPP有很多现成的服务端、客户端、代码库,所以要为自己的应用订做一套通讯软件的时候,可以使用现成的工具。</p> <p>优点不继续说了,我觉得缺点更关键一点。</p> <h3>缺点</h3> <h4>1、对二进制文件的支持</h4> <p>XMPP出发点是为了发送小段的XML数据,核心中缺乏对二进制的支持。也许社区认为发送二进制数据可以通过扩展协议实现,但是这样会有一个实现不一的问题(留到2说)。对于小段的二进制文件,也可以将它编码为base64然后嵌入XML中发送,但是这个大小限制实在是很郁闷:<span style="text-decoration: line-through;">通常是8K</span>。update:一说是64K,但通常是服务商自己定的。</p> <p>二进制支持的缺乏限制了QQ用户很习以为常的一种交流方式,那就是大量的自定义表情和截图。XMPP应该把附件放进core。</p> <h4>2、开放的弊端</h4> <p>XMPP是开放的,但是却带来了不少麻烦,而可扩展性带来的麻烦就更大了。注意,各个XMPP服务器(比如google gtalk)是可以选择性实现XMPP协议中的哪个部分的。通常会覆盖实现core的所有内容,但是扩展部分就不一定了。最明显的是,gtalk服务器没有实现扩展协议中很有用的muc(多用户聊天/群聊)。这意味着如果要用gtalk账号建一个群的话还要找另一个支持muc的服务器,不说普通用户,我都觉得这样很不爽。</p> <p>除了服务器的不一致,还有客户端的不一致。各种客户端也是选择性的实现XMPP协议中规划的功能。也还是gtalk,因为它原生不支持群聊,聊天的各方并不确保对方的客户端是否能处理muc服务器发去的群聊信息。</p> <p>我觉得XMPP的开放性,会演变成一种各自实现,各自为政的状态。而维持这些小团体的只有XMPP的core部分,即基本的文本消息和状态。</p> <h4>3、应对</h4> <p>XMPP出现的问题也许是任何一个开放可扩展协议都会遇到的,所以另外创一个开放协议并不解决问题,而且很难达到XMPP现在的普及度(目前有gtalk和facebook chat两家巨头使用了XMPP)。但问题并不是太糟,我接下来要研究一下怎么处理之前两个问题。</p> <p>比如可以实现局部的封闭。想像只有一个服务器,通信的对象也是同一个客户端。这样会产生一些互通性问题,但我觉得这时候只有先把目光定在前方了&mdash;&mdash;发送对方不能处理的数据时,己方客户端警告;对方收到不能处理的数据时,自行考虑是否要换客户端</p> <p>多少体会到为啥google会有个wave出来。</p> Sun, 21 Feb 2010 01:33:06 +0800 http://chloerei.com/logs/639 辞旧迎新,年终总结 http://chloerei.com/logs/638 Rei <p>元旦的时候并没有写总结日志,因为意识里还是觉得春节才是过年。</p> <p>以下是回顾</p> <h3>1、陷入垃圾项目</h3> <p>要从更早时候说起,08年12月我被忽悠进了一个&ldquo;项目组&rdquo;,做所谓的&ldquo;项目&rdquo;。该项目的细节还不想多提,简单的说就是写一个没技术含量,骗钱的小软件。虽说没有技术含量,但是我的09年全年陷入了巨大的压力之中,压力有外部也有内部。我思维上有种洁癖,不喜欢牵扯一些琐碎的事情,所以了解到这个项目的技术含量之低之后,就一直想早点脱离这个泥潭。我最终陷入这个沼泽一年之久。</p> <p>终于,10年的1月上旬,某个契机下我决定向&ldquo;老师&rdquo;翻脸,脱离这个项目组。某人脸很黑,但她拿我没办法,尤其是我说出&ldquo;我不需要钱&rdquo;的时候。当时的心情我曾经<a href="/logs/635">写过一篇日志</a>。那天之后,我再次回到自由身,并且深深认识到,不能乱接项目。</p> <h3>2、一年RoR编程</h3> <p>塞翁失马,我从那个垃圾项目里倒也有一点收获,那就是接触到了RoR编程。RoR是一个全栈式的Web开放框架,在这个框架的设计上我接触到很多先进的设计,比如:测试驱动开发,约定优于配置,MVC架构,AJAX,RESTful&hellip;&hellip;</p> <p>我喜欢上了RoR编程的快捷,所以我09年里都在写RoR的代码。我用清明节的3天<a href="/logs/5">写了现在这个blog的骨架</a>,之后逐渐完善,就一直使用至今。后来因为Chloe公房需要一个网站,我又萌生自己写一个音乐视频类站的想法,于是有了<a href="http://chloe.chloerei.com/">chloe.chloerei.com</a>,也是逐步完善中。</p> <p>这两个网站并没有什么杀手级功能,但是开发过程我学到了很多东西,搭建服务器的过程也搞懂了域名,VPS,网页服务器配置等等一套流程。并且我越发的对信息的流动产生兴趣,未来的一段时间我都会考虑这个问题。</p> <h3>3、任FS超级版主</h3> <p>我还记得我是09年3.14号(白色情人节)做上电脑版版主的。下学期忘了什么时候,FS的管理层人员出现了一些真空,然后管理员守望把我提拔上了超版的位置。</p> <p>超版的职责跟版主不一样,版主的时候只要关注自己的版区,维护版块讨论的氛围就行。而超版很多时候要关注整个论坛的宣传,发展。比如我参与了FS 7周年晚会的宣传、组织工作。然后一些工作,让我和几个版主都发出&ldquo;原来版主还要做这种工作?!&rdquo;的感叹,比如:到楼顶拉宣传横幅,搬运舞台板,拉舞台背景,找各个部门老师签字&hellip;&hellip;我也有机会接触了一些作为宅男不会接触的人,比如司仪队的帅哥美女、舞台工作队、舞协、吉他社、书法协会,守望笑称&ldquo;宅男改造计划&rdquo;。晚会是一个大型活动,并不是一个人单枪匹马能完成的,所以有些时候,我简直愣住了,但是其他版主的身影让我想起我不是一个人在战斗,感谢各个版主,特别是十四和饼干。最后,参与晚会的版主们和部分观众玩得很high :)</p> <h3>4、网络监管越来越严,FS再次假期关闭</h3> <p>也许把FS的关闭放在国家大环境来说,总显得在推卸责任,但我是没办法。我太嫩了,对于上面那些人,我不喜欢政治,处理这些问题,除了想套那些人麻包袋打他们一顿,我没有别的法子。但是我不能,所以我什么都做不了,我们手上没有牌。</p> <p>现在版主群基本都是&ldquo;等待严冬过去&rdquo;的心态,而坛友们也不可避免有&ldquo;管理层不作为&rdquo;的想法,我还,<a href="/logs/637">找不到办法</a>。</p> <h3>5、告白</h3> <p>杯具了</p> <p>以下是展望</p> <h3>6、亲友</h3> <p>祝我爸爸妈妈大姐姐夫亲朋好友身体健康万事如意~</p> <h3>7、自己</h3> <p>互联网是个无边无际,充满生命力和想像力的大陆。新的一年我会继续在这片大陆上探索、耕耘。</p> <p>以上,撒花~~</p> Sun, 14 Feb 2010 00:11:47 +0800 http://chloerei.com/logs/638 写在论坛里给FS坛友的话 http://chloerei.com/logs/637 Rei <p>起床,第一个动作打开FS</p> <p>给各位坛友道歉了,对不起,因为这次关坛,我并没有尽力去做什么。虽然有交涉的冲动,但是左思右想,没有交涉的资本。FS为暨南人带来的各种好处(就业版 的就业信息、专门版块的专业交流、爱大的情感交流、灌水的娱乐),在&rdquo;安全第一&ldquo;的前提下都是浮云。而要在整个寒假24小时轮流值班,我首先做不到了。<br /> <br /> 并没有哪个部门针对我们,而是大环境是这样。网#监一次次的电话,就是一份份通知书。逐渐的,论坛成为负担。但是也不用担心会关掉,一个大学没有BBS那就不像话了。过个冬,FS就回来。<br /> <br /> 昨晚美国国务卿希拉里发表了演讲,主题是《Internet Free#dom》,英语听力极差的我还是死撑听完了整场。隔着太平洋还能看到别国国务卿的演讲视频直播,这是互联网带给我生活的巨大改变,而局域网是做 不到的。这场演讲的内容,估计在各大门户网看不到,环球、人民网会有断章取义的引用,就好像欧巴马的就职演讲那样。但是无疑这场演讲的声音,会传到有需要 的人耳里,进而影响每个人的生活。<br /> <br /> 寒假我不会闲着,作为一个计算机专业的人,一直想着用技术为互联网贡献点什么。中国的互联网,面对的不是核打击,不是敌国的干扰,而是&hellip;&hellip;(专制统治)<br /> <br /> google扬言退出的时候,我情绪亢奋,因为在整体环境越来越压抑的情况下终于有人站了起来,面对那股力量。无论他是出于什么目的,至少能给我们带来一点好的改变。整体环境变好,对每个人都有益处。<br /> <br /> 寒假里FS人的联系纽带不会断,如果各位没有好的去处的话,推荐到douban的FS小组,屈就一下过个冬。 <a href="http://www.douban.com/group/72157/" target="_blank">http://www.douban.com/group/72157/</a></p> Fri, 22 Jan 2010 13:58:48 +0800 http://chloerei.com/logs/637 莫大的悲哀,莫大的愤慨 http://chloerei.com/logs/636 Rei <p style="text-align: center;"><img src="/upload/0000/0549/4276425080_32c892f00b_o_middling.png?1263569064" alt="" /></p> <p>2010年开头短短十几天,已经预兆今年是不平凡的一年。在各种关停网站、黑客风波之外,对中国互联网乃至世界互联网都有重要影响的一件事发生了:Google因知识产权被盗,宣布重新考虑在中国大陆的发展策略,如果不能跟政府协商运作一个无审查的搜索引擎,将退出中国。<a href="http://www.google.org.cn/posts/index-for-google-quit-china-posts.html">详细</a></p> <p>IT界人士或者善用网络的人自然知道Google退出中国是多么大的悲哀,个个奔走疾呼,在中关村科技园的IT从业人士和附近的大学生还有人去谷歌献花了。可惜的是我远在珠海,不能为Google献上一朵玫瑰。</p> <p>业内人士自然悲哀愤慨,但是业外的互联网一般用户也许并不清楚Google退出中国意味着什么,于是我想在Blog里列一下我的观点,至少希望来看我的Blog的人能知道中国的互联网正在发生什么。</p> <h3>1 从Google和百度的份额说起</h3> <p>对 互联网发展不太关注的同学,也许没有留意到国内另一家最大份额的搜索引擎百度是怎么起家的。其实在一开始在国内也是Google市场份额占统治地位,当时 的互联网用户还多是比较专业的人士。但是从某一段时间开始,大家发现google.com逐渐不怎么&ldquo;好使&rdquo;,时常出现&ldquo;连接被重置&rdquo;的现象。当时我对这 些现象并不是很敏感,只觉得这家公司的服务质量怎么这么差。</p> <p>正当此时,一家自称国产的搜索引擎进入大家的视野&mdash;&mdash;百度。百度首页使用和 Google一样的简约设计,让人感觉他们提供的是一样的服务,而试用过后的感觉是速度很流畅,最重要的是不会&ldquo;连接被重置&rdquo;,另外有个很好用的&ldquo;缓存页 面&rdquo;功能,同样的功能在Google.com上却又是&rdquo;连接被重置&ldquo;。逐渐的,网民开始向百度转移,包括我也曾经有一段时间是用百度作为主搜索引擎的。</p> <p>直到我发现了&rdquo;连接被重置&ldquo;的秘密&hellip;&hellip;</p> <h3>2 防火长城GFW (Great Fire Wall)</h3> <p>防火墙(firewall)是计算机常用的安全防护装置。而防火长城是什么呢?就是中国政府在国家计算机网络范围内设置的过滤装置,用于阻止不符合政府利益 的信息流入中国。起初人们把GFW的范围限定在出入口网关上的软硬件上,现在的认识已经扩展到政府为了过滤信息而运作的一整套法律法规、监控部门、计算机 软硬件。GFW还有一个特征是,它的过滤规则完全是黑箱操作,公民从来不会知道哪些信息会被政府列入黑名单。</p> <p>当你使 用Google.com搜索出现&rdquo;连接被重置&ldquo;的时候,那就是GFW在作怪了。GFW到目前为止已经阻挡了绝大部分国外的优秀网站的正常访问,包括但不限 于:Youtube、Facebook、Twitter。而Google正是在不断的连接被重置情况下,被百度抢去了市场份额。我始终认为,当时GFW的 过滤规则并不如现在严密,Google已经被不断的连接重置,背后少不了百度的推动。</p> <p>所以不要在我面前说&ldquo;百度好用&rdquo;。</p> <h3>3 谷歌的诞生</h3> <p>前面我一直说的是Google,并没有提到现在已经比较常见的称呼&rdquo;谷歌&ldquo;。是时候说一下&rdquo;谷歌&ldquo;的来历。</p> <p>谷歌并不只是简单的为Google取一个本地化名字。谷歌公司是李开复成功说服Google总部,在中国大陆设立的加入了符合中国政府要求的审查制度的子公 司。谷歌公司的成立可以说是违反了Google一直以来&rdquo;不做恶&ldquo;的企业价值观。在知道了GFW的存在的人看来,谷歌就是Google的阉割版。所以 Google的老用户们其实是不会去用谷歌的。</p> <h3>4 Google退出的预兆</h3> <p>Google扬言退出中国市场的声明,在我看来并不突然。按常人理解,谷歌自宫之后,应该是&ldquo;有资格&rdquo;跟国内的太监公司踢踢球的,毕竟大家都没那玩意,总不会落得个非法携带那玩意而强制退场的结果。但是中国政府这个又做裁判又做球员的势力,实在没有下限。</p> <p>来看一下<a id="m0vg" title="谷歌中国&ldquo;门&rdquo;禁史" href="http://blog.donews.com/keso/archive/2010/01/14/1581159.aspx">谷歌中国&ldquo;门&rdquo;禁史</a> by keso</p> <p>谷歌成立以来就不断陷入各种奇奇怪怪的纠纷之中,远的不说,09年全年谷歌遭到广电和央视的不断陷害就让人火大。奥不,关于CCTV我已经不想多说。<br /> <br /> 中国是一块世界瞩目的大蛋糕,但是在中国政府部门的非法围剿下,一个不愿同流合污的企业要退出这个市场其实很自然。在09年目睹了各个部门轮着来整谷歌的 情况下,我一直就期望着Google拾起尊严,不要陪他们玩了。而现在Google真的发出了这样的声明,这是对全世界理想主义者的鼓舞,&ldquo;不做 恶&rdquo;,Google说得出,做得到。</p> <h3>5 对中国互联网的影响</h3> <p>有些人幸灾乐祸&ldquo;Google你斗不过百度就走呗&rdquo;,我真是要仰天大笑三声,哈哈哈。<br /> <br /> 中国市场对于Google来说不过是2%~3%的收入,即使华尔街的人一直奔走相告&rdquo;中国是未来的大蛋糕&ldquo;,但已经在中国市场滚爬了几年的Google已经知道,涂在中国这块蛋糕上面的不是奶油,而是屎。<br /> <br /> Google是全球互联网的领头羊,甚至可以说Google本身就是互联网。Google并没有退出中国,而是中国退出了世界。<br /> <br /> 有人说&ldquo;我一向不用Google,对我没影响&rdquo;,太天真。Google走了之后,百度已经没有了直接威胁,接下来它可以做任何事,比如向竞价排名的企业收更多的费用,在搜索结果页面的广告做得更隐蔽,但这不是我担心的,我更担心的是政府。<br /> <br /> 外资公司走了之后,剩下的都是没那玩意的公司,政府就可以更大胆的推行审查制度。未来更多的交互性网站会被关闭,比如字幕组论坛(昨天猪猪字幕组的域名被 停止解析)。而随着备案制度的强制执行,新兴创业公司因为无法筹集符合要求的资产,不得不转向国外互联网发展。在译言被关,Blogbus被随意停止解析 的事件之后,中国已经没有互联网创业的空间。<br /> <br /> 这是什么景象?我脑海里自然浮现出鸦片战争前的清朝,闭关锁国。作决定的只是统治阶级的少数人,但是承担恶果的是生活在这块土地上的所有人。</p> <h3>6 历史在前进</h3> <p>不少人都觉得,Google此次动作,会对中国互联网发展有深远的影响。但总得来说,事情在往好的方面发展,因为这事已经压抑太久,是时候出现转折。这次不是鸦片战争的翻版,因为现在已经不是愚昧的统治者可以主宰一切的时候,时代的进步,他们是挡不住的。<br /> <br /> 下周一希拉里会发表美国用于协助其他国家获取未审查信息的技术,我期待这一时刻。</p> Sat, 16 Jan 2010 13:11:06 +0800 http://chloerei.com/logs/636 程序员这类人 http://chloerei.com/logs/635 Rei <h3>1 有爱心</h3> <p>程序员是有爱心的群体,程序员都不愿意伤害别人。一个不良少年可以为雨中的小猫小狗撑一次伞,一个程序员可以每天为小猫小狗撑伞。在一个发出腐臭的项目 中,程序员不会急着跳走,而是想着法子先帮别人跳走。在别人都到达安全地带的时候,才拍拍身上的泥灰,把项目踢的远远的,让它不再害人。</p> <h3>2 有诚信</h3> <p>程序员说一不二,程序员无法违背自己的诺言,如果违背了,他就无法相信编译器会把1 + 1置为 2 。但是别指望程序员会向你轻易许诺,&rdquo;这个能做到吗?&ldquo;。&rdquo;可以&ldquo;,他是一个市场营销人员。&rdquo;恩&hellip;我不确定,我会试着弄一下&ldquo;,他是一个程序员。但是记 住,最后解决问题的还是程序员。</p> <h3>3 有追求</h3> <p>程序员不满足于现状,程序员不会只为了完成事情而开展工作。每项工作都是一个挑战,别人完成了一次,他会想着完成更好。程序员不会去没有挑战的地方,任何人都可以完成的事情,程序员不会浪费他的时间。<br /><br />如果你不认可程序员拥有上面的特质,你至少要知道下面的几条:</p> <h3>4 不妥协</h3> <p>程序员不迷信权威,不向规则妥协。请不要跟他说:&rdquo;一贯是这样的&ldquo;,&rdquo;你无法改变什么&ldquo;。程序员会自己去冲破束缚,会自己去打破规则,会改变你认为不能改变的事情。最后你会发现,无法改变什么、被束缚住的只是你自己。</p> <h3>5 不为钱工作</h3> <p>生存需要钱,但是你认为程序员会为了钱工作吗?不是的,钱从来就是一个很次要的位置,如果确实需要钱,应该去学做生意,没有程序员是为了赚钱而踏入这行。 那是什么促使程序员敲代码到凌晨4、5点?是兴趣,是天性。程序员体内另有一台发动机,去促使程序员解决眼前的问题,挖掘里面的规律,吸收里面的知识。或者说,这是一种贪婪。</p> <h3>6 不是慈善家</h3> <p>程序员通常很能忍耐,那通常是因为程序员有爱心、有诚信、有追求,但是程序员有一个底线。突破了底线,恶魔猎手不是瞎子,而是恶魔。程序员不在乎自己的工 作全毁,因为程序员是那么的&ldquo;奸诈&rdquo;,一切能用文字表达的东西在写出来时已经过时,最重要的东西永远在下一刻自己的脑子里面。不要以为自己能掌控程序员, 你永远也掌控不了一个智慧的大脑。</p> <h3>7 不复杂</h3> <p>程序员并不复杂,世界上有那么多挑战等着程序员,程序员会尽量为自己营造一个简单的环境。看见程序员时而冷漠时而豪放的脸,不要感到疑惑,他一句话不说,通常就是在想着他的程序。至于其他&hellip;&hellip;你说什么来着?<br /><br />好吧,并不期望有多少人能赞同上面的说法。我只是在说着自己的事罢了。</p> Fri, 08 Jan 2010 01:42:34 +0800 http://chloerei.com/logs/635 互联网通讯方式设想 http://chloerei.com/logs/634 Rei <h3>0 腾讯的霸权与安全问题</h3> <p style="margin: 12px 0px;">中国网民的网上通讯被腾讯统治很久了。很多人已经不单把QQ当做聊天工具,某些场合已经把QQ当做工作用的正式通讯方式。</p> <blockquote>某天我走进某老师的办公室,该老师正在跟某个网络设备商的人聊设备购买问题,见我来了也不好让我多等,就跟电话里的人说:&rdquo;把你QQ告诉我,待会跟你详谈&ldquo;</blockquote> <p style="margin: 12px 0px;">使用QQ工作已经不是个别了,4年前我就在某个兼容机店里看到老板娘拿货的时候使用QQ和供货商联系。而早前我联系一家小广告商喷绘背景布也是通过QQ完 成。中国网民的生活、学习、工作,都有QQ的身影。中国没有为互联网做出什么创新,但即时通讯倒是领先国际,MSN跟Gtalk等外国IM其实都无力跟 QQ竞争:形式一样,但是扩展功能跟QQ差太远。QQ的文件传输,群聊,远程协助等等都是MSN和Gtalk没有或者领先很多的。在和传统Email绑定 后,QQ几乎没有死角,一般人的网上通讯都可以通过QQ一个客户端&rdquo;一站完成&ldquo;。</p> <p style="margin: 12px 0px;">但我一直以来都对腾讯QQ心存芥蒂,先不谈腾讯的抄袭史和它对跨平台的漠视,单就一点足以让 腾讯蒙上阴影:腾讯是在中华人民共和国内运营的一家企业,服务器在中国大陆。服务器在大陆,隐私和安全性就有了很大的风险。这个问题其实就是某人被警察请去喝茶之后才意识到的。某人一向在网上对政事少言,平时也没见谈论什么价值观,但为什么平平安安会找他喝茶。思索之后,想到大概是因为在QQ邮箱传了一份 文件。虽然他本人现在还是说&rdquo;该用的就用&ldquo;,但我觉得这始终很恐怖。幽游白书里面有一段情节,在一个特定的空间,如果说了禁止说的话,就会被夺取灵魂。我 不想置身于这种环境之中。</p> <p style="margin: 12px 0px;">最近我一直在思索能有什么通讯方法可以提高信息的安全性,但是又不输于 IM + Email 的组合。要探索未知,需要掌握已知,我整理了一下我已知的计算机网络之上的通讯方式。</p> <h3 style="margin: 12px 0px;">1 基于IP地址的简单通讯</h3> <p style="margin: 12px 0px;">互联网未兴起前,计算机之间就有一些通过局域网直传的通讯工具。比如windows下的 net send指令,可以通过指定特定的IP发送一条信息到远程主机(理论上非局域网也可以,但我不知道是否有人这样用)。目标主机收到信息后,会用弹出框的形 式显示信息。但这种工具没有用户验证机制,通常也不加密,到后来导致了spam弹出框的问题,现在的windows一般都直接禁用了这个功能。</p> <p style="margin: 12px 0px; text-align: center;"><img src="/upload/0000/0537/1.png" alt="" /><br />图1 基于IP地址的简单通讯工作方式</p> <p style="margin: 12px 0px;">这种方式可以称为&rdquo;史前通讯方式&ldquo;。因为发送信息的时候需要用户知道对方IP,并且没有好友管理、用户验证等功能,已经没有多少应用场合。</p> <h3 style="margin: 12px 0px;">2 Email和Google Wave</h3> <p>这里把传统的Email和新潮的Google Wave放在一起,是因为他们的传输方式是相近的。</p> <div style="text-align: center;"><img src="/upload/0000/0541/2.png" alt="" /><br />图1 Email式服务工作方式<br /><br /></div> <p>Email 式的通讯,引入了服务商的概念。这个服务商可以是自己搭建的服务器,可以是公司部门的服务器,也可以是专业邮件服务提供的服务(比如Gmail)。每个服 务商各自提供用户验证机制,并且可以在服务端提供垃圾过滤功能。每个服务商独立搭建,但是遵循统一的协议,所以可以互相通信。Google Wave的传输方式也大致如此,只是在Email的方式增加了编辑、协作之类的功能。Email为互联网服务了<a id="u.26" title="几十年" href="http://zh.wikipedia.org/wiki/%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6#.E5.8E.86.E5.8F.B2">几十年</a>,目前还是一种重要的通讯方式。<br /><br />在这种工作方式上,信息的保密很大程度取决于服务商。不单要看自己的服务商的可信度,还要看目标服务商的可信度,因为邮件在双方服务商都会备份的。所以如果从Gmail向QQmail发一封邮箱,像水桶原理那样,保密性取决QQmail。<br /><br />传 统的Email的即时性较差,以往Email被看作是传输严肃认真的文档类信息的载体。在娱乐之上的时代,Email多少有些受冷落。Google Wave是带着改造Email的目的被开发出来的。相比Email,Wave添加了即时性(其实这取决于客户端而已)和多媒体性质。但目前处于试验性质, 因为没有公布Client-Server端的协议,我对Wave的<a id="y_gs" title="一些设想" href="/logs/628">一些设想</a>无法实施。</p> <h3>3 即时通讯工具(IM)</h3> <p>对于即时通讯工具的历史和描述可以去看<a id="sv2r" title="wiki百科" href="http://zh.wikipedia.org/wiki/%E5%8D%B3%E6%99%82%E9%80%9A%E8%A8%8A">wiki百科</a>。这里说下我对腾讯的IM,也就是QQ的一些看法。<br /><br /></p> <div style="text-align: center;"><img src="/upload/0000/0545/3.png" alt="" /><br />图3 假想的腾讯中心式IM工作方式</div> <p><br />腾讯QQ是一个闭源、闭协议的IM软件,所以注定QQ的工作是以腾讯服务器为中心运作的,客户端无法独立于服务器运作。用户A和用户B的通讯需要通过至少两 步:1)用户A与腾讯服务进行登录验证,并且取回用户B的主机信息(IP等)。2)用户A的客户端与用户B的客户端进行直连,进行即时通讯。<br /><br />实际上IM是可以去中心化的,比如XMPP就是一个去中心化的开发通讯协议。但是去中心化与腾讯的&rdquo;绑定用户在自己平台以赚取暴利&ldquo;的策略冲突,所以腾讯不会开放协议。也是由于商业支持的原因,XMPP的发展一直<a id="h80-" title="趋于停滞" href="http://zh.wikipedia.org/zh-tw/XMPP#.E7.BC.BA.E9.BB.9E">趋于停滞</a>,比如XMPP的实现之一的Gtalk至今不支持群聊。<br /><br />回到QQ的话题,如果按照假想式的工作方式,QQ可以保证一定程度的安全。因为私聊的情况下,信息直接在两个客户端间传输,不经第三方。并且一些人验 证,QQ客户端在发送信息的时候是加密传输,防止了监听。但现实往往是残酷的,由于QQ是闭源软件,所以我无法验证QQ客户端是否在内部就设置了监听代 码,以配合公安的审查工作,一但发现敏感词眼即上传该信息到服务器。<br /><br />所以,腾讯QQ在保密方面是很不靠谱的。而XMPP的功能太弱(至少给个群聊功能好不),而且缺乏发展动力。</p> <h3>4 改进通讯方式</h3> <h4>4.1 等待Google Wave变强</h4> <p>Google Wave目前的表现看来,作为下一代通讯协议是很有希望的。但是这终究是Google一家人弄的玩意,目前还看不到别人鸟它。而且这东西现在弄得太高端, 一堆人试用了之后还是不明白这玩意是干麻用的。比如协作编辑这一重要特性,估计需要用的也就是程序员一类专业人员。<br /><br />对于Wave,我没啥发言权。因为即使是想写一个IM式的客户端,也由于Google根本没把Client-Server协议公布而搁置。</p> <h4>4.2 改进类XMPP开放协议</h4> <p>改进类XMPP开放协议是一个平缓的改良路线,况且XMPP本身就是鼓励二次开发的,同时XMPP类客户端比较充足。<br /><br />但是改良XMPP协议,别的服务商不认这套,那就又卡住了。一个协议需要通过各家认可,并且作为标准公布,是需要时间和财力的。</p> <h4>4.3 完全去中心化的通讯设想</h4> <blockquote>一切依赖服务器的应用在中国都面临两种情况&mdash;&mdash;被审查或者被墙。</blockquote> <p>我设想这样一种情况:打开一个客户端,也许是网页应用,也许是桌面GUI程序,也许是手机软件。然后它会提供我的好友列表。我可以跟对方进行各种形式的通 讯,文字、视频、语音、多媒体、文件传输。等等,这不就是QQ吗?不,接着我要确保这个好友检索与信息传输过程不经过任何中心服务器,并且是安全保密的。<br /><br />信息直传是客户端的事,而检索过程如何摈弃服务器需要斟酌。<br /><br />说到底为什么IM通常需要一个服务器呢?因为网络应用是基于网络层以上的,在把好友ID和真实IP之间需要一个转换,客户端才能建立链接。而现在这个转换是由服务器完成的:1)用户A登录,给服务器发送自己的网络信息。2)好友用户B登录,给服务器发送自己的网络信息。3)服务器查询发现A和B是好友,于是 给各自的客户端发去对方的真实网络信息。4)A和B的客户端显示对方在线,并且可以建立链接。<br /><br />那么这个过程是否可以去掉服务器呢?是可以的。过去一周时间我在看eMule的kad网络(<a id="phbl" title="Kademlia" href="http://en.wikipedia.org/wiki/Kademlia">Kademlia</a>) 方面的资料。kad网络是一个分布式哈希表,网络中的节点拥有一个ID,并且可以用ID作为key,和一个资源信息构成一个key-value对其他节点提供检索。资源信息可以是一个文件,或者是&mdash;&mdash;物理IP。eMule就是通过kad网络实现了去中心化,同时继续提供检索功能(但是没有模糊查找)。<br /> <br /> 建立物理链接之后,客户端链接可以做到直连、加密。不过也有一些因素要考虑,比如没有服务器之后,离线信息怎么办?个人资料怎么保存?这个可以在kad网 络中加入第3方服务来做到,这个第3方服务可以是商业服务商,也可以是用户自己搭建的服务器。完全去中心化也会带来很多额外需要考虑的因素。<br /> <br /> 类似kad这样的<a id="eac0" title="覆盖网络" href="http://en.wikipedia.org/wiki/Overlay_network">覆盖网络</a>被提议用于改善当前的网络质量(疲弱的DNS机制等),还有很大探索空间。</p> <h4>5 结语</h4> <p>Google Wave之前,即时聊天已经沉寂了很久。国内的QQ一家独大,和国外并不热衷IM形成鲜明对比(国外大概流行skype类语音服务)。但是网民对通讯工具 的便捷性和安全性需求会不断推进,QQ的封闭给小众人群带来不便和安全隐患,Wave一时半会又做不了主流。即时聊天有得搞。</p> Tue, 05 Jan 2010 22:22:18 +0800 http://chloerei.com/logs/634 2010年 http://chloerei.com/logs/633 Rei <p>踏进2010年,我大四的上学期快过去了,时间真快,我还记得我拖着行李走进宿舍的场景。</p> <p>接着元旦的机会,跟好几个久不联络的朋友打了招呼。招呼完毕,照例是问长问短,比如前途怎么样阿,工作怎么样阿。其实我的大脑是典型的单线程设计,在一个时间周期里面只能思考一件事情,所以只要有事想做,其余的比如工作阿什么的都思考不了。</p> <p>今年的上半年是我在大学里最后一段时光,我估计我的大部分时间都会花在毕业设计上。虽然现在这个教育制度,不会有多少人对一个本科生的毕业设计有什么期待,但是我还是想做一个能对得起我四年大学生活的毕业设计。</p> <p>有了Twitter之后blog真是少了很多牢骚,放图好了,最近喜欢Perfume。</p> <p style="text-align: center;"><a href="/upload/0000/0533/Konachan.com_-_59637_perfume_tagme_yoshito.jpg"><img src="/upload/0000/0533/Konachan.com_-_59637_perfume_tagme_yoshito_middling.jpg?1262343871" alt="Konachan" /></a></p> Fri, 01 Jan 2010 19:08:55 +0800 http://chloerei.com/logs/633 党的政策亚克西,一支红杏出墙来 http://chloerei.com/logs/632 Rei <h3>政策亚克西</h3> <p>最近广电发疯,插手互联网。口舌cctv不断拿涉黄来找互联网企业和IDC的碴,搞到民不聊生、哀鸿遍野。工信部竟然随便就让人给插了,老实帮广电打下手,封了一大堆网站逐个排查,然后正式禁止了个人在国内搭建互联网应用。现在个人已经不用犹豫到底是国内服务器还是国外服务器,只有出国这条路。而企业唯有妥协,签生死状。</p> <p>三门说,这只是上层利益争端,不涉及价值观。但我不知道党的下限在哪里,以后估计民不聊生的状况很难改变。</p> <p style="text-align: center;"><a href="/upload/0000/0529/user5.png"><img src="/upload/0000/0529/user5_middling.png?1261768077" alt="User5_middling" /></a></p> <h3>Twitter的坚挺</h3> <p>Twtiter经历了伊朗和天朝的傲娇,但事实上证明Twitter这种成功去中心化的网络应用是封杀不了的。大部分人已经不能接触国外的先进应用,少数派还是能畅通无阻的穿行国内外互联网。我乐观的认为,即使大部分人被圈养了,社会进步却往往是少部分人促进的。</p> <p>Twitter的起点很简单,只是让网民多了一条传递信息的渠道。天朝的Twitter用户发的推中,敏感成分比其他国家高出很多,不得不说,这都是被逼的。</p> <h3>翻墙费成为基本支出</h3> <p>经历了在线代理、tor、免费门等各式各样的翻墙训练之后,不少人感觉无休止的斗智斗勇有些疲惫,急需一个稳定的翻墙方案。</p> <p>此时VPN和SSH这类本来阳春白雪的应用走进非技术人群的眼里。VPN是什么?VPN是商业公司在互联网上搭建公司内部网的应用。SSH是什么?SSH是类Unix操作系统管理员用于远程登录服务器以便管理的应用。这些应用本来不是非技术人群需要了解的,但是它们的&ldquo;加密&rdquo;特性此时成了很好的翻墙工具。当今,天朝懂得VPN和SSH这两个词的网民比率绝对是世界前列的。</p> <p>早前网上有一些免费的VPN和SSH服务发布,但是它们和tor、免费门一样不稳定,也许什么时候就失效了。现在更靠谱的,是个人自己买国外的服务器搭建VPN或SSH服务。</p> <p>购买服务器花费不小,便宜的VPS要500RMB/年,但是跟国内大城市一年过千的上网费相比,也只是占了一半而已。此时除了上网费外,部分网民已经可以接受把翻墙费作为基础支出了。</p> <h3>红杏出墙</h3> <p>墙搭得再高,也挡不住日益茁壮的红杏要出墙。Twitter这只叽叽喳喳的小鸟,偶尔飞上枝头,偶尔越过长城,吟唱向往自由者的福音。</p> Sat, 26 Dec 2009 04:09:24 +0800 http://chloerei.com/logs/632 TurnA最终话 黄金之秋 http://chloerei.com/logs/631 Rei <p style="text-align: center;"><img src="/upload/0000/0521/shot0037_middling.jpg?1261252849" alt="" /></p> <p>(先声明,剧透)</p> <p>迪安娜脱下帽子,发出一声叹息的时候,我也不禁跟着叹息。50话的奋战,终于迎来战争的终结,迪安娜为了这个时刻,已经等了好几百年。</p> <blockquote> <p>姬艾爾:我看了您的资料,发现长寿也不是好事阿。(哭)<br />迪安娜:不要这样,我也有很多资料没有带来,以前我也有很多开心的事。</p> </blockquote> <p>迪安娜作为梳尼爾家族的继承人,几百年前就接任了月之民的领袖之位。然而为了更长久的带领月之民,迪安娜需要接受强制冬眠,一次就几十年。每次醒来后,都是马不停蹄地处理她冬眠期间的政事,然后再次进入冬眠。迪安娜无比孤独,在最终战之前,她自言自语地说了句:&rdquo;我还记得我父母的样子吗?&ldquo;</p> <p>迪安娜觉醒期间最重要的一次经历,是她爱上了一个人,地球人威尔.基姆。她在地球上和这个人共度了一年,但因为她的身份,她被迫回去了月球,进入冬眠。她再次来到地球的时候,已经过了100年,威尔.基姆也已经早逝。</p> <blockquote> <p>迪安娜:我希望到地球上,自然的生长,衰老,死亡。</p> </blockquote> <p>迪安娜尊贵,但是不高傲。她记得每个为她效忠的家族的事,并为之心怀感激。所以她对红队的战士描述自己跟他们祖先间的事的时候,战士流着泪对女王哭诉:&rdquo;迪安娜大人,我们一直在等着您阿。&ldquo;因为迪安娜有这种亲民的特质,月之民才会在几百年来一直崇拜他们的女王。</p> <p>TurnA的结局,是一个既完美,又让人惋惜;既明了,又带有悬念的结局。这个结局在我6年前第一次看之后一直念念不忘。今天重看一遍,TurnA故事背景跨度几千年的宏大再次感动了我。TurnA不愧为Gundam 20周年之作。</p> Sun, 20 Dec 2009 05:15:14 +0800 http://chloerei.com/logs/631