黄澗石的博客(技术相关)

对 Google 退出中国的一些分析

by huangjs on Jan.18, 2010, under Whatsnew

很久没写 blog 了,虽然这段日子做了也发生了许多事情,比如参加了 Japan Linux Symposium(和许多 core kernel developers 做了交谈,包括 Linus Torvalds!),创建了 lisp.org.cn,做了第二次 ICFP contest 的 presentation,开始了 Category theory 的学习,收到了 lispython 的来信参加了关于出版 lisp 书籍的讨论,等等。忙得连拍照的时间都几乎没有了,好在年初的时候得以去北日本周游了一圈,好好发泄了一下。

由于博客里不想再写一些流水帐式的内容,也没把一些原创的想法整理出来,对于如此缺乏执行里我感到十分惭愧:)我今年的计划是至少每个月写一篇和技术相关的总结或者分析。

上周出现了一个重磅新闻,“Google 要退出中国,甚至把 office 也撤走”。消息来源是 Google 的首席法律顾问,David Drummond 在官方博客上发表的一篇声明:A new approach to China. 由于经常和身边的律师朋友讨论中日著作权和专利相关的法律知识,我对律师的思维的逻辑性和小心谨慎至少说有个初步了解。这篇文章出自首席法律顾问之手,无疑是重磅炸弹,告诉人们,这是经过深思熟虑的决定而不是 Larry 的唠叨。

当天, Shlug 的邮件组里就产生了许多评论。经我同学的内部消息核实(真假未知),我的分析(虽然有阴谋论嫌疑)符合事实的概率相对较高。一下的分析(稍作了修改)的一个前提是,该作者写这篇声明的时候是理性的,既然他是律师我对此深信不疑:

“”"
作者的语调让我感觉他只是用一种看上去很英勇的美国式的方式发表了他们的决策而已,但注意他们的表达方式,对一次事故,没有谈论任何技术上的原因和责任,却只谈论道德问题,一方面抬高自己,一方面贬低中国政府,让自己以一种道德维护者的立场离开中国铺好了道路。至少一般的西方观众看来,一切都显得那么顺理成章,而 Google 是那么的伟大,自信。

具体内幕我估计远非这么简单。

整篇文章里,Google 的抱怨无非:

1) 安全受威胁
2) 人权问题
3) 审查问题

2) 和 3) 这么显然的问题在 google 进来的时候不会没考虑到,不会等到现在才反省过来。况且,中国的人权状况应该说是在不断好转,这里不得不说互联网的功劳是很大的。就算这个是主要原因,至少顺序也应该反过来,先和政府谈判,而且谈判的时候会高调,以得到国内外的网友的支持,谈判若失败后才决定搬走也不迟。现在的做法让人觉得是要挟政府,摆明着毫无胜算嘛。

好,如果 1)是主要原因 ,按照 google 的逻辑把服务器搬到国外就能防止黑客了?为何要关闭中国的 office?合理的推论就是:1. 该攻击可能和地理位置相关,而且可能和有无 office 相关,否则把服务器搬了就成,何必一锅端; 2. 有可能会影响到 google 全球的业务,Google中国毕竟还是盈利的,没有赤字,Google 也不是掏不起这钱,就算 google 中国做的不好,让它烂在那里好了,何必这么急匆匆得放弃一个 13 亿人口的市场?而且 google 中国的市场占有率是 36%,比刚来到中国的时候要高得多(数据可能有误)。

文中说到的攻击,是指 gmail,据同学告知, gmail 的所有数据和帐号是完全存放在国外的服务器里的,当初进入中国的时候还必须向国会保证。既然如此,不通过网络攻击是不可能拿到这些数据的。既然必须是网络攻击,又和地理条件相关,那最靠谱的解释是:该攻击源自 google 中国内部!
下面是我的阴谋论:)
一个可能的推断是google 中国被迫向政府提供情报协助(如 yahoo),而且是暗地里已达成某种协议(所以无法披露),然而中国的情报人员越线調用了数据导致 google 全球网络可能都存在安全隐患(我想这才是它担心的吧)。
另一种可能是政府安插情报人员到 google office,而且有能力接触到一些核心的服务的数据,一些小动作导致上述的安全问题。

总之,如果没有什么原因对 google 全球的产业产生极坏的影响(比如声誉,安全问题等),我想不出有什么逻辑要撤销中国的 office。必定有更多内幕。

“”"
最近网上盛传的一篇文章说,是 google 中国的几个雇员(说是党员,囧!)把 gmail 的整个源代码 copy 给了情报部门,根据源代码,情报部门已经研究出了攻击 gmail 的方法。那几个雇员也已人间蒸发。

ではでは。。。

Leave a Comment more...

TSAC meeting on 9.24 (Summary of ICFP conference)

by huangjs on Sep.26, 2009, under Programming

昨天参加了一月一度的 TSAC 的 seminar, 主办者 Curt Sampson 给我们讲述了今年 ICFP 的一些印象并对一部分有趣的paper进行了介绍。以下是一些记得的”精彩”片段:

  • *”The future of ML” session talks about why ML has no future and how to use depression as a safe-belt.
  • Divide-and-Conquer would be the ideal strategy for parallel algorithms and we need trees to replace lists.
  • Guy Steele is a very smart guy and he will choose the best data structure for ya, so you will be free.
  • Commutative time monads might be very useful.
  • We need programmable proof system in the type system (and maybe running on an oracle machine).
  • Predictable performance estimation for Haskell programs can be perceived after 1.5 years of programming and 1.5 years of pains in the ass.
  • Dan Piponi‘s is a very very smart guy and his abstract must be generated by a computer program.
  • Dan Piponi’s ideas actually and surprisingly make a lot of sense and I’m too stupid.
  • Commutative time monads are very useful.
  • Don’t join conferences held in UK since the academic food is awful.
  • Academic jealousy stinks.
  • Fail the freshmen and the Coq sucker !

* “The future of lisp” session talks about how great lisp was in the past so we are still one step ahead of ML (and 2 steps ahead of Haskell).

其实 ICFP 里有很多有趣的 idea 和论点,Haskell相关的 workshop 甚至还公开了录像 (here, here and here), 值得一看。

Curt 将近用了3个半小时才讲完所有的话题(鼓掌感谢其认真和辛苦),还好9点半左右来了一个很有趣的家伙,名字应该叫 Conrad,此后欢声笑语不断,减轻了不少疲劳。很可惜,结束后实在太累没有参加2次会(晚饭)否则可以认识认识岂不快哉。回家路上 Travis 告诉我他有 12TB 的 HD array,感叹来东京的外国人 geek 真多。。。或者想想 12TB 的 porn 是何等壮观(主观臆测,和Travis无关)。。。

半年前做了一次非常糟糕的 Qi 的 presentation,争取在12月前重做一次。

今天早上睡到9点。

Leave a Comment more...

友谊

by huangjs on Sep.22, 2009, under Programming

《赠卫八处士》
作者:杜甫
人生不相见,动如参与商。
今夕复何夕,共此灯烛光。
少壮能几时,鬓发各已苍。
访旧半为鬼,惊呼热中肠。
焉知二十载,重上君子堂。
昔别君未婚,儿女忽成行。
怡然敬父执,问我来何方。
问答未及已,驱儿罗酒浆。
夜雨剪春韭,新炊间黄粱。
主称会面难,一举累十觞。
十觞亦不醉,感子故意长。
明日隔山岳,世事两茫茫。
Leave a Comment more...

iPhone annoyance

by huangjs on Sep.17, 2009, under Technology

I upgraded iTunes to 9.0 yesterday and also upgraded my iPhone 3GS to 3.1.

Everything seems to work fine until I plugged my headphone to it this afternoon, and it crashed (WTF!), and keep rebooting over and over again. I’m afraid I have to do the restore again. It’s so annoying! I have had so many troubles with my iPhone and it’s so unbelievable that the software delivered from Apple is so crappy.

I’d like to share my previous experience of fixing a problem that caused my iphone not to be recognized in my macbook (not even charging).

  1. For debugging USB devices I needed some tools with a debug version of the IOUSBFamily Kernel Extension
  2. I started USB Prober, turned log details to high, plugged in my iPhone and hundreds of lines show up.
  3. I found a line which said charging cannot be started because of error return code.
  4. I found in syslog message that launchd tried to start usbmuxd every 10 seconds but failed everytime.
  5. I googled usbmuxd and found it’s a daemon for iPhone power management…
  6. I located the binary and started it in the shell, it gave me an error message saying that it cannot find the symbol _history in libedit.dylib
  7. I use objdump to show the symbols in libedit and yes, there’s no _history but only _the_history. It seems I have a different version of libedit.
  8. I downloaded the latest libedit from Apple website, compiled and installed it.
  9. Problem solved!

One thing I still don’t understand is why they want to link to libedit in a daemon? libedit provides line-editing features for command-line tools.

P.S.

I found similar complaints here: http://theappleblog.com/2009/09/14/iphone-os-3-1-update-causing-crashes-on-iphone-3gs/

Update (2009/9/18, 00:51):

This time none of my computers can restore iPhone anymore. It will try to reboot during the restoration and it’s in a totally unusable state. Good job, Apple! And remember Apple, I’m not your tester!

Update (2009/9/21):

Softbank paid the price for Apple’s technical failure. I got a new iPhone now. I’ve asked them to erase my data.

Leave a Comment : more...

照片的后处理

by huangjs on Sep.17, 2009, under Travel&Photography

在用单反前,我一般对数码相机(非单反)的相片做以下处理:

  1. 去噪声
  2. 调节 White Balance
  3. 调节对比度,亮度和修正过渡暴光
  4. 若需要调节 Tone curve

软件用 Noiseware 和 Lightroom 2,基本上出来的照片就很完美了。

现在用单反拍得多了,懒得一张张去调节了。

Leave a Comment :, more...

ICFP team 聚会

by huangjs on Sep.17, 2009, under Programming

上周四我们队2人(John Fremlin 和我)和其他能联系到的在东京的队伍进行了聚会。其中有 pepsiso, Intercaml, shinh, Purely Functional Infrastructure 和 irori 等,今年前 10 的 team 中有 4组 是在东京参赛,其中3组是日本团队,还有就是我们组。

意外中的必然,聚会中一半的人来自 Google Japan…还居然都用 C++ 参赛(ICFP是指函数式程序语言学会) 我们交流了各自的控制算法,visualizer, 以及各种失误。我比较喜欢讨论程序语言,自然聊了不少。最后大家又讨论了其他程序比赛,我虽然知道 Top Coder 和 Google Code Jam,但对这种让你快速 hack 出一个程序出来的比赛不怎么感兴趣,真正解决问题是需要大量思考和尝试的, ICFP Contest 可以说和现实最接近了。(号称Code Jam 由于没有 Google 员工的参与会简单不少, er…我看是其他公司的优秀的程序员不屑于参加吧)

据说明年的比赛组织方是澳洲的某个大学(可能是墨尔本大学),想去澳洲旅游的同学可以考虑拿个 1st prize :)

就说道这,最近3个博客都是和比赛相关,其实我个人对比赛不是太感冒。。。是该写些其他的了。。。另外希望中国的FP爱好者们也加油参加(用C++/Java 也可以 :$ )

Leave a Comment :, more...

Final scoreboard of ICFP contest

by huangjs on Sep.15, 2009, under Programming

We were No. 7 this year. Not bad.

Here’s the scoreboard:

http://icfpcontest.org/scoreboard.php

Leave a Comment : more...

Dysfunkycom (Common Lisp) 进入了 icfp contest 2009 的前10!

by huangjs on Aug.03, 2009, under Programming

刚从裁判那里得到消息,我们3人小组 dysfunkycom 用 Common Lisp 参加的 icfp contest 2009 比赛中取得了前10名的好成绩。具体名次要到8月底公布。

队名:Dysfunkycom

成员:
John Fremlin (UK), Mathematical Systems Inc. (Japan)
Jianshi Huang (China) (本人), Mathematical Systems Inc. (Japan)
Peter Salvi (Hungary), Phd. Candidate @ University of Tokyo

Lisp for the win! :)

P.S. email 摘录

Dear ICFP Competitor,

In order to finalize the winner of the ICFP contest by the end of this month, and be as consistent and fair as possible, we are directly soliciting help from the top 10 teams. So the good news is your entry was in the top 10!


Andy Gill, Garrin Kimmell, Kevin Matlage
ICFP Contest Organizers, 2009

1 Comment : more...

为什么程序员都必须学好英语

by huangjs on May.15, 2009, under Language

记得一个月前reddit上有人发个帖子说为什么程序员都需要学好英语。没有时间写全文,总结一下把自己的想法以提纲的方式贴出来。

为什么程序员都必须学好英语

1 现象

  • 说同一种母语,但交流技术时说英语
  • 有一部分美国人认为这是文化的帝国主义/法西斯主义

2 理由

  • 英语有更丰富的技术用语,有助于更简洁的表达。
  • 技术人员之间的交流需要精确的表达,而丰富的词汇很重要。(其实英语里
    有大量的难以理解的技术词汇,很多是历史原因造成的,无形中造成了壁
    垒,使得局外人更难以理解。我认为想中文和拉丁语之类的表达丰富易于
    组合的语言更胜任创造新的词汇,可惜现状…)
  • 技术领域里经常有新的单词出现,没有统一的翻译标准也是造成用母语沟
    通的问题之一。
  • 技术领域里的合作是没有国界的,往往是跨国界的,说写一口好英语是成
    功的关键之一,而蹩脚的英语却会让别人忽略你的存在。
  • Get stuff done. Internet上大量的资料是用英语写的。
  • 很现实的,有一部分的翻译相当糟糕。

3 翻译的问题,优美的/恶心的翻译举例

3.1 优美的翻译举例
  • 化学元素(我一直认为这是翻译的典范,e.g. 氢(Hydrogen),最轻的气体)
3.2 恶心的翻译
  • 直接音译(滥用汉字)
    中文文字是如此的丰富,非得要找几个毫无关系的汉字来注音?
    e.g. 柯理化(currying)

4 假设现实的问题已被改善,用英语交流仍旧是最佳方式吗?

有一个论点说,如果大家都用英语交流,那我们的知识库就会更庞大,于是
搜索会更有效,能更快得找到解决问题的方法。因此,用英语交流是有利于
推动技术进步的。

5 如何改善技术领域里的翻译

  • 学好中文,学好汉字
  • 建立标准网站,加强协作沟通,快速统一翻译标准

Leave a Comment : more...

春天来了

by huangjs on Mar.09, 2009, under Travel&Photography



IMG_0833_filtered

Originally uploaded by huangjs


2 Comments more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!