好久沒看到這麼有趣的東西了

很久沒有更新 Blog 的原因之一是,一直都覺得挺無聊的(當然主要原因還是我懶)。

今日在 Google Reader 上見到 Jackie Chen 同學分享的“西廂計劃”原理小解一文, 客戶端張生和服務器端崔鶯鶯的故事本就非常有趣,可是接著讀下去看到西廂計劃的實際內容時,我才真的意識到:好久沒看到這麼有趣的東西了啊~

西廂計劃和常見的穿牆方式不同,既不走彎路、遠路,也不須加密數據,而是利用 GFW 自身缺陷和 TCP/IP 協議的某些特性來實現了直連免過濾。西廂計劃告訴我們,學好 IEG3310 是一件很有意義的事情,看似無聊的三次握手也可能握得很精彩。

忘記曾經一次又一次看到 Connection Reset 頁面時的沮喪心情,向西廂計劃的貢獻者們致敬! Continue reading

腾讯宣讲会

今天去听了腾讯的宣讲会(终于可以不用那个我总是拼不对的 Recruitment Talk)。很奇怪的把地点安排在 ERB1009,连个 LT 都不是,不过似乎也制造出一种极受欢迎的假象气氛──人太多了,坐不下,不得不有些人要站着。

主讲是一个 HR 和一个技术副总裁,讲的内容没有太多特别,也就是介绍了一下公司背景文化之类。对于招聘本身反倒是没说太多,职位有三个:前后端开发、国际产品经理、用户交互设计(可能记错了……),可是具体要求和收的人数都没有怎么说,至于流程也就是说要交简历……纪念品比较小气,虽然派出了一批企鹅公仔给积极参与的同学,但是相比其他公司,腾讯实在是……其他人才一人给了条手机绳。不过其实也不怪他们,叫人家三个人扛一箱公仔过关也不容易啊。

那个主讲的技术副总裁叫 Dowson,香港人,在美国读的大学,发的材料上把他列为大牛级人物,在现场倒是没看出来。他说18年前差点成为我们的校友,不过最后还是去了美国。于是回来搜了一下,他是抬举我们了,人家是 Stanford 毕业的。之后去过 Oracle 和 Sendmail,然后到了腾讯也才4年。可惜的是他今天好像没说啥有关技术的东西,十分遗憾。

说是网上就可以交简历,于是也回来试了一下──我还真没准备要找工作。那个网站浏览器兼容性还行,firefox 只是稍稍错位。然后其实是用了 QQ校友 的一些功能,所以毕业学校看起来相当之全──香港、澳门、台湾的学校都是可以选的,另外香港中文大学的学院还是有些中文有些英文,不免让我怀疑他们数据是借自校内的(谁知道校内又是怎么弄到的)。说是收很多技术方面的人才,不过简历上能填的有关技术的东西可不多啊。哦,还有,可以填几个比赛,可惜我都没参加过。

基本上不是很喜欢腾讯这家公司,虽然也算是老用户了。从有关技术的方面来讲,我觉得腾讯太不开放了。可能是我孤陋寡闻,可是从来没听说腾讯提供点什么 API 之类的给人用,然后 QQ 协议也一直是封闭的。也没见到给开源社区捐个什么项目出来。甚至,别人都不大清楚腾讯在用些什么技术,把一切都搞得很神秘一样。(让我想起那个莫名其妙的 qzhttp)相比之下,国内其他的互联网企业最近几年都搞得不错,校内有API(抄的也行),淘宝也有开放平台,新浪最近搞了个 SAE……虽然对于一个互联网企业来说,赚钱是第一,搞不搞开源,搞不搞开放平台,API 之类,其实无所谓。不过,开源社区聚集着巨大的技术力量这是事实,我想腾讯自己也会从开源技术中受益。想要得到技术控们的关注,在开源上做些投入,或者提供个闭源的 API 出来给大家玩都行啊。实在不想花力气,学学搜狐和网易,贡献一点点你牛逼的带宽,做个开源镜像都能混个脸熟嘛~

饭否为什么挂了

Work Study 结束了,Summer Research Project 还没开始,我整天闲得慌并且基本没有了时间概念。然而我还是记得,几天前,饭否挂了,现在,它还是没有回来。

作为一名习惯了这一切的天朝子民,我自然早已学会了寻找原因。现在好像没有XX大,那么,哦,是啊,新疆出事儿了啊。这就足够让饭否关掉了,甚至,它最好早些关掉,如果关晚了,也许真的就再也回不来了。因为事情就是那么巧的,再前些日子,伊朗也出事儿了,虽然伊朗人民没有饭否,不过还好,他们不用穿墙就能访问 Twitter,于是,真真假假的消息就源源不断地从现场传出来,让整个世界来思考鲜血是不是能换来民主。然而,还不仅仅是这样,尽管 Twitter 在最近的一段日子里越来越热,很多人还是直到伊朗事件才意识到,原来一个网站就能有如此强大的力量——不管它是给世人看到真相,还是被利用而蒙骗了不明真相的群众,它就是做到了,它把个人无力的话语,散播到整个世界。你可以用它分享生活中的点滴,然而人在某些时候,也会需要呐喊。

于是新疆一出事,饭否就挂了,也算是不出奇吧。我无法想象,假如这个时候饭否还在,看到那么多人喊着新疆,会是怎样的景象。我只是期待饭否回来的日子,我更希望,下一次再发生什么事情的时候,饭否不会又这么匆匆离去。既然我们带着双耳来到这个世界,倾听各方不同的声音,分辨是非真假也就不必他人代劳了吧。

协同翻译工具之阴谋论

听说 Google 又有新服务推出,是一个翻译工具,叫做 Google Translator Toolkit。推出的似乎比较低调,看域名也不像是一个独立的新产品,可以算作 Google Translate 的一部分。

我小试了一下,没有太多令人意外的地方:典型的 Google UI 设计——简洁,类似早些时候 Google Docs 的界面;拥有 CAT 软件基本的功能,多语言,自动翻译,词汇表导入……支持的格式也都是常见的那几种。基本的操作,似乎也没有太多可以研究——上传,选择语言,自动翻译,逐词句手工翻译,完成。

然而,这肯定不是全部,菜单上还有一个按钮——Share,这是一个协同翻译工具,你可以把需要翻译的文章和其他人共享,一同翻译,效率自然大大提高。除了共同翻译外,词汇表也可以共享,这又提高了翻译效率。然后,还有,那个叫做 Translation Memory 的东西,Google 给出的解释是 A translation memory (TM) is a database of human translations 这样,人工翻译的结果是可以存入数据库的。再注意到灰色字的提示 If no TM is specified, translated segments are stored in out shared, global TM. 原来,我们协同翻译的工作远比我们所想得更有意义,它们被存入了公共的数据库,凭借着 Google 在数据处理上的超级牛力,这些数据必定大大提高之后的翻译效率。于是,终于有人跳出来说,这,是一个阴谋!看到此文有人评论:翻译的成果竟然给 Google 使用下三滥手段偷了去,然后用来制造翻译产品并从中直接或间接牟利,作为一个专业的翻译,我,感到相当震惊!

这么想来,这个工具虽然能够提高翻译效率同质量,Google 却做得有点不厚道,默认设置不应该是共享 Translation Memory 的,毕竟翻译也是人家辛苦劳动的成果,不经意间被利用,难免让人感到不快。

Anyway,作为一个不会翻译的非专业人士,我,愿意围观更多翻译作品的诞生……

它真的不是一个搜索引擎

Wolfram 推出了一个叫做 WolframAlpha 的东西,之前网上有人把它称之为 Google 的挑战者,一时间得到了众多关注。然而它真的不是一个搜索引擎,它根本不是和 Google 竞争,它做和 Google 完全不同的事情。如果说它和 Google 有什么相似,那么最明显的只是——一个文本框——你输入词句,它给你信息。我没有说那个是搜索框,对,Google 的是搜索框,然而 WolframAlpha 的不是,它的输入框右边是个“=”,这是一个计算知识引擎(Computational Knowledge Engine),你在这里得到的信息,是算出来的。

前天一看到 Wolfram 这个词,就觉得似曾相识,而那个 Logo 更是相当面善,略加搜索才恍然大悟,Mathematica!如果你不知道 Wolfram,你也应该听说 Mathematica,如果你不知道 Mathematica,那么,你总该听说过 MATLAB…… Mathematica 是一个广泛使用的计算机代数系统,拥有强大的数值计算和符号运算能力。 我用过它,在我还是大一的时候,我懒得动手去算微积分作业,Mathematica 告诉了我答案,于是考试的时候我什么都不会,那门课我得了 B-……尽管如此,我还是很喜欢这个软件,虽然其实我不知道怎么用它。

一个数学计算软件摆在眼前,我就觉得有些头脑发热了——虽然我是学工科的,我并没有上很多数学课,而基础的数学我也可能学的不够好。对我来说,那都是些高深的东西,科学?计算?其实那些离我们并非太远,WolframAlpha 这次把一切搬到了网上,透过浏览器,在那个文本框中输入关键字,它用海量的数据和强劲的计算来告诉你想知道的信息。

integrate x^2 dx from 0 to 1

我花了大概半个小时来玩 WolframAlpha,还没有算正式上线,它显得非常不稳定。不过几次尝试的结果还是让人感到欣喜。输入 integrate x^2 dx from 0 to 1,它会告诉你 x^2dx 从 0 到 1 的定积分是 1/3,还附带一个图,标注了阴影部分来解释;输入 force m=1kg a=1m/s^2,它会告诉你,让质量为1千克的物体产生1米每平方秒的加速度,需要的力是1牛顿;输入 The Chinese University of Kong Kong,它会告诉你香港中文大学成立于1963年,大约有1万8千学生,本地生学费6千美元一年,国际生学费1万2千美元一年;输入 mortgage 5% 3 years $100k,它会告诉你,5分利息的按揭贷款10万美元,3年还清的话,每月要还2997美元,最后交了7895美元的利息……输入 D# 会得到什么?哦,五线谱和键盘图,还有 369.994Hz……

由于服务器不稳定,我不能试验太多东西,很多基于 JavaScript 的功能也不能正常工作。我尝试了 Firefox, IE 和 Safari,似乎都是这样,说明并非浏览器兼容性问题。就目前来看,我觉得 WolframAlpha 很好玩,但我不知道将来会是怎样,会不会很有用。它不会改变我依赖 Google 的习惯,如果非要说产生什么影响,我想被影响更多的应该是 Wikipedia,以后有些关于数字和图表的问题,问过 Google 和 Wikipedia 之后,我也许会试试 WolframAlpha。

我看不差钱

校内上这几天老看到分享,关于小沈阳常州演出的。先是一个视频,说小沈阳在常州差钱了……然后就是不少人撰文声讨,把小沈阳骂了个痛快……再然后,按正常发展趋势就变成了地域贴,加上几个搞不清事情缘由就加入讨论的同学,那是吵得相当热闹……

其实事情是这样的:[视频]
Continue reading

nginx 的 wordpress rewrite 规则

我目前在用的 nginx 设置就是这个,已经包含了 WP Super Cache 的 rewrite rule,大部分内容是我搜来的,很不幸暂时找不到来自哪里了…… 其实网上类似的内容太多了~

server {
  listen 80;
  server_name www.example.net;

  location / {
    index index.php;
    root /var/host/wordpress;
    gzip_static on;

    if (-f $request_filename) {
      break;
    }

    set $supercache_file '';
    set $supercache_uri $request_uri;

    if ($request_method = POST) {
      set $supercache_uri '';
    }

    if ($query_string) {
      set $supercache_uri '';
    }

    if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
      set $supercache_uri '';
    }

    if ($supercache_uri ~ ^(.+)$) {
      set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
    }

    if (-f $document_root$supercache_file) {
      rewrite ^(.*)$ $supercache_file break;
    }

    if (!-e $request_filename) {
      rewrite . /index.php last;
    }
  }

  location ~ .*.php5?$ {
    include fastcgi_params;
    root /var/host/wordpress;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/var/run/php_fcgi.sock;
    fastcgi_index index.php;
  }
}

[配置笔记]CentOS + nginx + PHP

之前的这篇文章似乎是挖了个坑一直没填,然而每每出现这种情况的时候,都会发现还偏偏总有人通过 Google 搜索过来……一定让不少人失望了,真是过意不去~于是这次重新写一篇,但愿能把坑填上……

和上次略有不同,这次 Linux 发行版是用的 CentOS,因为最近一段时间来其实我接触最多的还是 RHEL,所以就不写 Ubuntu 了。MySQL 也不在本文叙述范围之内,我实际应用的时候是直接 yum install mysql-server 装的,没有什么好说的。

nginx 用了 0.7.x 开发版。php 当然是通过 fastcgi 运行,不过没有用从 lighttpd 里分离出来的 spawn-fcgi,而是用了 php-fpm 这个补丁。
Continue reading

其实还没开始

距离上次更新,已有整整一个月了,我还是写点东西罢。

这个月过得很闲。复活节请了1天假,凑了5天假期回家了一趟。虽然时间不长,不过本来回去也没啥事情,就是吃吃饭和父母说说话,5天时间也是很足够的。工作上似乎一直没有什么事情做,月初把一直在做的 Reverse Proxy 放出来给大家试用,申请了一个 Public IP,所以在外面也能用到了。原本以为刚出来可能出现各种问题,会很忙,结果至今也没有听到任何抱怨……不知道是做得太好没有任何问题,还是大家根本不关心这个,不屑于回报错误~

于是,剩下很多时间用来想 FYP 了。只能是想,因为没开始,没有什么好做的。而想也不见得有用,因为最后证明,很多时候都是空想的…… Continue reading