lh's profilejoyfirePhotosBlogLists Tools Help

Blog


    11/24/2009

    参见Beta技术沙龙,主题是推荐系统

      周日去奇遇花园参加Beta技术沙龙,这次主题是“推荐系统在大型网站中的应用”,是和Resys合办的(说起来俺也起了点儿牵线搭桥的作用,哈)。推荐系统果然很热门,参与的人比以前都多。

      第一个主讲人是dangdang网的技术总监王洪涛。从产品经理的角度介绍了dangdang的推荐系统。从业务需求的视点去看,实现什么算法反而不那么重要了,关键在于整体把握。网站做到什么程度需要引入哪一类的推荐系统?如何评价系统的效果?另外对用户体验的拿捏也是个重要问题,必须既给用户惊喜,又不讨人烦。

      接着讲座的是付超群,以前在新浪音乐开发推荐系统。他从技术上介绍了推荐算法和工程实现。主要涉及了关联分析、slope one和SVD三种算法,内容很足,言简意赅没废话,我个人很喜欢这个报告。

      国内评价和推荐做得最好的应该是豆瓣。有人问dangdang是否考虑在书评挖掘方面深入做些事。我想,豆瓣的领先地位,除了源于技术,更重要的是来自“第三方”的超然位置所带来的高质量评价内容,以及这些评价数据背后的深度参与人群。王洪涛回答时也说,dangdang上的书评,很多是抱怨送货和售后服务的,而豆瓣就没有这个包袱了。其实单个企业很难全面覆盖产业链条,合作共赢才是正理。

      顺便提一下,企业的技术形象很重要。dangdang站内搜索的口碑不好。结果每次圈子里交流,他们的工程师总是有点尴尬,心虚郁闷的样子,忍受周围的朋友拿各种雷人的搜索结果开涮。物质待遇以外,工程师还很需要专业上的自豪感和认同感。

    11/17/2009

    Hadoop in China 2009印象

      昨天Hadoop in China 2009在计算所召开。有主场之利,就混进去听了。把印象最深的内容写一写。

      总体感觉规模很大,组织相当严谨,内容具有多样性。一方面,Hadoop in China前身是开源社区的线下技术沙龙,骨子里带有草根性,相当多的报告都是年轻的一线工程师在讲实实在在的最新项目;另一方面,这次又请来一些拥有行业视角的大公司技术高层,分享了不少全局信息。

      第一个超出期望的是中国移动研究院院长黄晓庆。原以为礼貌上请赞助单位发言,不差钱的央企,“大云”肯定是炒概念。没想到还真讲了些好玩的研发内容,甚至对Hadoop内核做了不少改进。正因为有实际工作而且打算开源,所以就有深入的思考:“下面是我对开源社区的建议。首先,Hadoop应该更全球性。很高兴看到72%的贡献来自Yahoo!,但这对Hadoop长远发展并不是最好的,Hadoop用户应该提供更多贡献。另外,希望建立基于开源社区的云计算规范标准,使应用不只绑定在某个特定平台上。”报告英文很流利,讲得台底下的Yahoo!技术高层直点头。

      来自Facebook的报告特别吸引人。除了技术本身,数据仓库这种应用场景也很酷。底层设施需要按照ETL、数据挖掘和决策支持的特性进行调整,例如利用Hive支持SQL,以便商业分析人员使用。查了一下,已经有三篇论文引用Hive,都是比较顶级的会议。相对我个人而言,以往关注都限于搜索引擎范围内。这次意识到Hadoop已经被用于很多领域。

      Cloudera帅帅的创业者(长发,山羊胡子,真的很Geek)列出了Hadoop的应用领域:像NTT KDDI和中国移动这类的电信公司用Hadoop分析用户信息,优化网络配置;美国供电局用Hadoop分析电网现状;包括VISA和JP摩根在内的金融公司用Hadoop分析股票数据;包括Amazon和ebay在内的零售商和电子商务公司也开始使用Hadoop……他还特别提到生物公司用Hadoop进行DNA测序和分析。

      有事错过了Google公司的报告Challenges in Data Processing in the Cloud。

      下午Track很多,在分会场来回转移。之后主要听了下面几场:

    • Hadoop at Facebook: Past, Now and Future (Zheng Shao@Facebook)
    • Mumak -- Using Simulation for Large-scale Distributed System Verification and Debugging (Hong Tang@Yahoo!)
    • Monitoring Hadoop (Yunsong Huang@IBM)
    • The Distributed Storage in the Search Engine (Kun Zhang@Netease)

      前几个报告都能在网上搜索到相关技术资料,不多写。

      后一个报告介绍网易的封闭项目,也算是与Hadoop对照。网易在国内算是技术布局早的,几乎是一看到Google老三篇就立刻照着实现。报告前半部分讲如何选择不同的分布式存储设施。把分布式存储系统分为三类:类似GFS的,类似BigTable的,还有Key-value方式的。对于GFS这一类,提供接近Unix文件的API,适用于必须对数据进行顺序全扫描的应用场景;对于BigTable这一类,提供分字段索引排序,适合需要随机查找的应用;而对于Key-value这一类,强调响应速度,更适合当cache用。报告后一半都是案例,分享重点是解决问题的思路,而不是问题本身。

      大会最后的Panel Discussion。从听众提问看,在国内Hadoop还有待普及,很多技术人员甚至不太熟悉开源基础。百度的Ruyue Ma提出,不要指望万能药方,每种技术方案都有适用区域,传统的MPI也有自己的独特优势,未必所有应用都必须移植到云平台上。多位嘉宾强调,第一关注点应该在于可拓展性,而不是性能。

      顺便提一下,国内企业今年突然都开始投入分布式技术的研发。很多家公司同时打算或正在开发自己的GFS、MapReduce对应产品。我倒觉得,现在才动手的话,不如选择成熟的开源方案,这样招聘、培训和合作的成本较低。

    10/29/2009

    天河1号抢在了曙光6000的前头

      病得晕乎乎,上来敲几句就下去。

      原想明年的曙光6000突破千万亿次,却让天河1号抢在的前头。可怜孩子们,肯定有些郁闷。还有,GPU红得发紫,对FPGA和龙芯众核都形成了好大压力。等病好了,有机会去参访他们一下。其实也好,竞争才有进步。

      不超过140个字吧,呵。再贴一个张小盒漫画(不过网上找到的文字有差异,《南方周末》最后一幅说明是“为什么我们要忙到连生病也流行?”)

    10/15/2009

    网络游戏就是云计算

      居然有这么多人没意识到:网络游戏就是云计算。

      从运营形式看:玩家把自己的帐号信息、虚拟装备和财产等关键数据,都存储在服务器上,通过网络登入,使用运营商提供的娱乐服务;从技术角度看:众多玩家的各种交互,例如聊天、组团、战斗等,以及更多虚拟世界并发事件的模拟,都需要深度运用大规模分布式计算和网络安全技术。

      很明显,这是典型的云计算。无论是从技术还是商业角度看,网络游戏产业已经是搜索引擎以外,云计算最成功的应用案例。

      事实上,也许它未来的地位还会更重要。

      一方面,游戏领域的激烈商业竞争会不断推动技术发展,培养人才,这很容易理解。例如国内不少著名的程序员和架构师,都是游戏产业培养起来的,再例如ice等重大创新,就是美国军方和网络游戏的产业需求共同催生的。

      另一方面,用户习惯上,当网络游戏的一代长大成人,走入社会,在线游戏就不再是边缘产业。直观上思考,能在这个3D虚拟场景里交朋友、谈恋爱、合作杀怪物,以后就可以通过它找工作、买卖二手车、开商店、组织学术会议、进行远程培训、举行演唱会……这就好像,我小时候很痴迷《变形金刚》,其实这部动画片只是玩具厂商的市场营销。现在我们这一代三十岁了,《变形金刚》就突然变成了几十亿美元的好莱坞电影,汽车产业巨头植入广告的载体。在此之前的《蜘蛛侠》也一样:从五六十年代小孩子的漫画书,变成了主流大片。

      林登实验室其实就是意识到了这一点,才开发出“第二人生”,IBM公司在其中会召开全球年会,路透社设立驻“第二人生”特派记者,那位著名的德国女华人通过虚拟房地产业赚取百万利润,甚至之前发生的虚拟恐怖分子案,说明他们都明白了。事实上,外国导演在十年前就拍了The Matrix。然而,再看看中央电视台前一阵讨论魔兽世界的节目,他们并没有明白,主持人和嘉宾在思维上已经落后了不止一代了。

      很多人都和我一样,不喜欢网络游戏。但警惕思维僵化,保持开放心态,是必要的。历史上很多重要创新,起初都不讨人喜欢,甚至引起社会主流的强烈憎恨。“老人”们要注意,别当烧死布鲁诺的人。

      故事回放:布鲁诺临死时说,“我死了,地球还是绕着太阳转,而不是相反”。伽利略虽然迫于压力收回了言论,进行了忏悔,可是忏悔完还是低声说了一句,“可是它们(指他观测到的木星的四颗卫星)的确在那里呀”。几百年后,教会向伽利略等被迫害的天文学家正式道歉。

      谁敢打赌说,下一代的战略性创新,决定国力的重要技术、商业模式或制度演进,肯定不可能从网络游戏里诞生呢?

      (后记:科学松鼠会发表了一篇《科学家网游不辍为哪般?》。)

    10/7/2009

    推荐10月份的《程序员》

      刚刚收到10月份的《程序员》,有几篇文章不错,推荐一下。

      这期组织了一个产品开发、营销和运营的专题。第一篇就是周鸿祎的《用互联网的思想经营产品》,很赞同其中的很多观点。之前谢文有一篇文字,对开发、营销和运营三阶段有很类似的论述。分析Windows Vista这款失败产品那一段,和Joel on software的看法基本一致。

      最近数据挖掘和推荐的话题很火爆,大牛们纷纷加入Resys Group。《程序员》保持了嗅觉灵敏、迅速跟进的特点,这一期里有《商品推荐背后的数学》和《Tag和Tagging》两篇与此有关。

      感兴趣的一篇小文章是《编程习惯》,强调了版本控制、构建系统、自动化测试、代码评阅、重构、代码风格等六大基础设施。刚好和俺前两天写的不谋而合。

      HR的内容越来越多了,例如《建立完整的外包人才体系》、《绩效考核的五种死因》、《绩效实施经验六法》等。今天和朋友吃饭,聊天说起这个来,很多HR部门都有故弄玄虚的坏毛病,交流困难,演进缓慢。在这种不良气氛下,个人的职业成长很多时候更需要依赖悟性和韧劲。

    10/4/2009

    流水2009.10.4

    • pFind并行调度论文投稿了,最后是第17版。30页英文改了这么多遍,最后时刻仍不断收到试读人的大量意见,说明作者逻辑和英语有多弱吐舌。(谢谢大家!)特感谢瓶子哥的韧劲,10月1日还在修,直到临晨2点。接下来着手申请专利。
    • 被人提醒追求完美要有限度。不过人家又赞了一句:执着的人,够酷。明年,在千核集群上继续研发,让世界上其他竞争对手团队望尘莫及。老大说:“你是火鸡的时候,别的鸡不会承认你个头大,只有变成鸵鸟,才能让它们彻底服气。”
    • 双节,老娘的60大寿。陪她看《建国大业》。老一代不数星星,更关注历史本身,一闪而过的边缘人物她都清楚来龙去脉。不过,老太太还是知道些八卦的:“那个声嘶力竭喊‘毛委员’的,娶了个法国老婆,叫刘烨”。
    • 有幸和我老娘同一天生日,缜密平衡的天枰座的家伙,生日快乐。
    • 上周有一天,房间进了三只蚊子。半夜爬起来,用了一个半小时逐一消灭掉。在等待蚊子“嗡嗡”声出现的间歇,读完了《卡萨诺瓦是个书痴》
    • 在用Google Music听《私房音乐(费洛蒙)》,开始用它的原因,是别的在线音乐服务对Firefox支持都不太好。
    9/30/2009

    中国万网有安全问题

      keso在讨论中国万网被阿里巴巴收购。刚好,我这两天正为万网怒火中烧。

      无论私人域名还是单位用的pFind域名,一直使用万网的域名服务。虽然贵一点,但感觉服务还好,品牌比较可信。

      昨天发现有域名被指向了121.199.253.187,再Google了一下,发现这个IP地址是一个诈骗网站,被网通电信列入屏蔽黑名单。在线提交了技术支持单,又打电话过去。服务人员态度倒还好,很快改回来,但没解释原因。今天域名被再次指向121.199.253.187。恼火,国庆敏感时期,域名莫名其妙指向诈骗网站,如果被管理机构封掉,说都说不清楚。

      这说明万网有安全问题。作为国内最大的域名服务商,这种表现让人失望。

    9/17/2009

    Joel 12条和2006年

      Tinyfool刚刚发了一篇关于著名的Joel 12条的BLOG。我很有成就感。

      一直用Joel 12条作为软件工程实践的基本底线。这12条很朴实,我也实践得很朴实:时不时在PPT里把这12条拿出来给现状打分,不停唠叨直到他们养成习惯,这样坚持了4年。刚开始只有3分。现在超过10分。

      事实证明效果很好。不谦虚的说,这个学生为主,还要兼顾大量科研任务的团队,工程效率超出了很多软件公司。双人编程、重构、代码审核等高级的软件工程实践,是建立在SVN版本管理这类基础设施之上的,这是常识。

      这些年pFind Studio各个软件不断上演龟兔赛跑的故事:刚进入某领域时总是显得缓慢笨拙,等过了2.0版,团队协同的平台效益就明显起来;而很多同行系统越大越纠结,一旦核心牛人的热情和投入减弱,很快就成了焦油坑,演进陷入停滞。

      说到水面以下的积累,前几天“超龙一号”评审,有个院士表扬我们组,举了一个美国国内的统计:持续专注少于8年,团队人数少于8人的科研团队,全部失败,没有一个团队能持续搞出牛的科研成果。

      到现在为止,pFind团队坚持了7年半。

      最难的时光?也许是2006年。那一年,整个组没发表一篇论文,没拿到一分钱,没申请专利和软件著作权,每次例会都有种沉重的气氛。

      但也是那一年,团队下了决心把pFind彻底推倒重来,静下来,老老实实打磨,一次次反复跑实验。现在回头看,个人记忆里,那是困惑挣扎的一年,也是幸福充实的一年。从那以后,开始对pFind变得自信,对自己变得自信。

      BTW:北京、山东、天津、上海又一次集体输球。这次我彻底服了,不知hchi哥服不服。
    9/4/2009

    用户易用性就是容忍犯错和偷懒

      如今无论哪种软件产品都在强调用户体验。本质上,AJAX这一类近乎变态自我折磨的界面技术的热门,不是Geek式的炫耀,而是为了提高用户易用性。

      用户易用性的核心,就是容忍用户犯错和偷懒,就是摆正心态:软件是仆人,而且要达到英国贵族管家的档次。

      举个例子,微软Office到底好在哪里?录入一篇英文文章,不慎把三个字母的常用小词,例如and或the,敲错了顺序,弄成了adn和teh,一敲单词后面的空格或标点符号,MS Word就会自动帮你纠正过来。

      别小看这个功能。一方面,对需求边界的把握是一门艺术:刚刚好有用,又避免算法自作聪明,用户常用到它,却意识不到它的存在。另一方面,实际也有很高技术含量:只有adn和teh才纠错,而其他字母排列不纠错,这是进行过“双手盲打”的人机工程学研究统计的。

      设计者对产品的态度,就可以了解其职业能力和素养。总认为“这是用户该保证的”,不愿意完善异常处理的人,总是抱怨“请给点建设性意见,别老挑刺”的人……都命中注定做不出伟大的产品。记得《项目幸存手册》里说,听到程序员说出“哪来的这么笨的用户”这种混蛋话,就想跳起来骂人。

      “傻瓜式的相机”成就了日本电子产业。对软件和网络行业来说,马太效应更加明显,Jobs式偏执狂席卷一切,拙劣的山寨仿制品,中国式的小聪明,走捷径,长久不了。

      pFind的用户群都是科学家,极有条理和耐心的铁人,主观摸索欲望很强,不喜欢抱怨。对产品来说,这并不是什么好事。年底将发布pFind Studio 2.4版,会集中解决用户易用性问题,不是泛泛改善,要做出吓人的惊喜来。敬请期待。(正在收集改进意见,欢迎被我们软件痛苦折磨过的小白鼠们发邮件来控诉和诅咒。我们准备设立一个奖金,年底颁发给抱怨最多最毒的用户)

      08年初放出“把Mascot打得满地找牙”的口号,现在看来实现比预想快。今天Boss H问两年后,我说“如果pFind免费,拿到50%的份额;如果不免费,拿到33%的份额”,他们说新一版狂言诞生了。真的只是狂妄自大吗,拭目以待。

      BTW:hchi哥今天的PPT引起俺的赞同。要追求完美,不作自甘平庸的笨蛋;又要平常心,不抱怨,不喜怒无常,保持幽默感和倾听能力。同志们,遵从hchi哥的教导,勇敢前进了。

    8/29/2009

    参加Open Party归来

      今天第一次参加Open Party的活动

      先说八卦。有对新婚夫妇,是去年11月在Open Party认识的,所以回来请大家吃喜糖。我没抢到,哇哇哭。

      这次由ThoughtWorks提供场所。俺的隐秘动机,是想刺探传说中的TW是什么样子:

      没有格子间,没有领导单间,除了会议室,全是开放的公共空间,很敞亮。墙上都是白板,贴满了User Story和CRC卡片,连临街的落地窗户也被用上了。游戏间放的是WII,零食还好……基本符合想象,不错不错。

      言归正传,听了如下几个技术报告:

    1. 詹建飞的《OPhone平台和程序开发》
    2. 刘华的《Mozilla架构平台》
    3. Cat Chen的《JavaScript异步编程模式》
    4. 段练的《GWT技术》
    5. 王家宽的《用wxPython开发理财软件》

      其中段练的《GWT技术》留下深刻印象,尤其是他开发的那个Web版化学分子结构编辑器让人叹服,回来查了查,原来专业是化学,业余爱好是编程吐舌;另外,Cat Chen的《JavaScript异步编程模式》功底很深,虽然只听了后半截仍然相当震撼;最近在乱看分布式存储方面的技术,成立涛的《Erlang与CouchDB》其实很感兴趣,可惜由于时间冲突,只听了几句。

      BTW:休假即将结束,要收心干正事了。

    六度

      在TopLanguage上看到唐良的名字,就点进他的BLOG浏览。TL上的不少网名,其实此前就follow了很长时间。

      在BLOG里发现了对softboy和金点工作组的回忆,和我的这篇是前后脚发表的。

      才意识到,我们通过信。有次向金点工作组报告游戏源码BUG,是唐良回的email。

      这就是传说中的六度吗。

    8/24/2009

    Beta技术沙龙:利用SNMP进行服务监控

      昨天参加Beta技术沙龙霍炬银杏搜索利用SNMP作服务监控的系统实现

     

      架构很简洁清楚,容易理解。上层包装也有不少好玩的,例如直连GTalk,无论管理人员的物理位置在哪里,都能实时监控服务状态,进一步手机短信也不难了。

      报告摘要里,对需求的解释很到位:“运营大规模SAAS,对所有服务的状态进行管理和监控是难点之一……”。这正是我感兴趣的原因。日后pFind提供在线云计算服务,必然要考虑这方面的基础设施。其他听众包括,鲜果有道,还有做安全检测的,看来都是有目的而来。

      (顺便提一下,查了查我BLOG的订阅分布:Google Reader、鲜果、抓虾、豆瓣九点……Google Reader还是占压倒性优势)

      银杏主要针对十几种服务进行监控。我想,也许还能支持更细粒度的监控。例如在大规模集群环境中,监控每个节点上的计算进程,以保证MapReduce形式的大规模云计算服务的可靠性。会后交流时,我就此问了霍炬的想法,他没有明确的同意或反对。

      这是第一次见到霍炬真人版。果然是好工程师。逻辑清晰,思路活跃,解决方案明快有效,没有拖泥带水的废话和掩饰。

      会后又和tinyfoolnzinfo聊天(主要是他们说,俺听)。nzinfo第一次见,大侠居然在自己的iPhone上安装gcc和vi,更过分的是还装git版本管理。这么牛,怪不得有资格做tinyfool的竞争对手。nzinfo演示了几种iPhone上最著名的金融终端,包括布隆伯格(Bloomberg)的,各种分析工具还真挺全面。

      tinyfool刚发了一篇BLOG,谈谈对双人编程、单元测试、重构的理解,说得很到位,推荐。

      奇怪,这帮注重实战的工程师,全都开始踅摸起数学、折腾起matlab。难道是传说中的天下武学殊途同归。

    8/22/2009

    推荐Resys Group

      误打误撞,发现牛人团伙。

      原本打算参加这期Beta技术沙龙,听霍炬讲的报告《大规模软件服务的管理和监控》。结果粗心大意,把时间记错了一天,今天下午就闯到奇遇花园咖啡馆去了。

      也幸亏记错了,才能遇到Resys的牛人们线下聚会,正在讲数据挖掘和推荐系统的算法(collaborative filtering),于是就买了饮料,蹭听了一场。

      讲演者是The Ensemble团队的中国成员,传说中的xlvector大侠。具体内容,当然是他们拿到Netflix Prize比赛leaderboard头名的比赛经验。

      下面开始八卦,给没听过Netflix Prize的火星人科普一下:

      美国DVD在线租赁商Netflix于2006年发起的竞赛,悬赏100万美元,只要提交比其现有Cinematch效果好10%的新算法,就获得巨款。Netflix公开了四十八万多用户对一万七千多部电影的上亿条评分记录,要求算法推测另外三百万条记录。同时,100万美元存入银行,每年5万利息作为年度进步奖,发给当年取得最好效果的参赛者。

      Netflix Prize产生了轰动效应。大概是因为,这让公众亲眼目睹,靠数学和编程是如何挣到真金白银的100万美元的。主流媒体,例如《纽约时报》对此给予了大量报道(2009年7月27日的报道是:Netflix Challenge Ends, but Winner Is in Doubt)。技术领域的超女选秀?你终于明白了。对Netflix来说,得到了性能超群的数据挖掘算法,还做了广告,名利双收。

      回来再说xlvector的讲座,八卦内幕相当精彩:一开始你追我赶;接着合纵连横,世界各地的独立的技术和参赛者逐渐融合,成为团队;最后,居然涉及复杂的商业谈判,大鱼吃小鱼,直到非此即彼,参与两个巨型阵营的团战……

      伴随比赛过程,发表了大量的高水平论文,也申请了不少的算法专利,还有不少好玩的讨论:

      比如有人研究了参加者的性别,发现一开始有很多女性参赛者,而且成绩很不错,但最后两个“超级大国”团队里没女性。研究结论是:女性不会投入两三年时间去做一件根本不可能成功的事;男性相对单细胞一些,杀红眼了就钻进去出不来了。

      参赛者Bill Bame在BLOG写到,他发现团队里都是两种人,一种是数学家,一种是工程师,思维方式行事风格截然不同,但两种人都发挥了至关重要的作用。

      The Ensemble团队最后30天工作中,租用了EC2云计算平台进行模型的训练与融合,每小时0.2$。MapReduce模式比较适合离线推荐算法。

      OK,八卦写完了。很久没遇到这么好玩的东西。推荐Resys Google Group。这篇BLOG中链接和引用,都是我回来刚搜索出来的,未必全面准确,大家继续挖掘吧。另外,明天的Beta技术沙龙,我也很期待,号召大家参加。

      最后赞一下奇遇花园咖啡馆。今天交流到最后,xlvector跑到墙边(整堵墙是一块巨大的黑板),用粉笔演算方程。一帮怪人在下面长吁短叹,其他客人头也不抬,继续喝咖啡上网。

    照片来自wentrue的flickr

      BTW:只是咖啡馆附近的西直门地铁,实在让人恼火。感觉自己是实验小白鼠,在八卦阵里撞来撞去,难道就没有专业人士稍微做些优化吗。

    6/19/2009

    挺龙芯

      最近有一篇不专业的新闻报道,给龙芯造成了很坏影响。虽然不从事这个领域,还是要挺一下龙芯。具体的技术、法律和产业上的分析,这篇贴子写得很清楚,就不多说了。其实微软、Intel和IBM每年都有上百件类似的专利官司。

      联想到前两年Linux专利案。API或指令集仅仅是约定或接口而已,底层模块怎么去实现它才是核心问题。MIPS指令集是20年前的基础性知识,本就源于大学教授的经典CPU设计课程教案(我研究生《体系结构》课学的就是那本书)。

      这不是特例。比如,无论欧洲、美国、中国三大移动3G标准哪一个,都涉及到CDMA基础,都要给高通专利费,而高通的知识产权,源于二十年前,公司创始人在大学做教授时的研究性工作。

      人人都在别人肩膀上继续创新,没可能也没必要重新发明轮子。

      授权给欧洲的意法半导体以后,龙芯的海外销售有突破。要进一步走向世界,就必须把法律问题清理好。反过来,如果不是好产品,没有市场潜力,那些CR虫子(知识产权律师)也懒得和你谈。

      这一代中国科研团队很辛苦,因为要替之前几十年的空白还账。这不仅仅是指技术,还有商业、法律方面的积累。有些学费,你是绕不过去的。但是,一旦打进圈子,熟悉了游戏规则,建立起自己的势力范围,就反过来,有资格向后续玩家收“保护费”了。这很有挑战性,每一代都有自己的使命。

      无论做什么,踏踏实实都是王道。巴菲特说,如果不打算拥有一支股票二十年,就不要拥有它5分钟,说到底,你必须相信自己投资的东西。这句话也可以用来说科技创新,如果你不相信现在的跟随、积累和尝试在二十年后终能带来回报,就不要做科研。

    6/14/2009

    pFind并行版定型

      里程碑。pFind并行版代码冻结,按期到站。今天彻底休息了一下,睡了一整天,半夜回魂,上网,来随便敲些文字,放松,没逻辑。(瓶子哥被我折磨得快断气了,所以deadline一完,就逃出北京城,找某人疗伤去了)

      最近一个月,除了并行版的研发工作,忽略了所有其他。活在自己的气场里,感觉非常独特。过山车:没进展时,回家的轻轨就显得特别久,疲惫沮丧,手指尖都懒得动;一旦有突破,又好像成了世界之王。

      接下来,做PPT、写技术报告、论文投稿、还想申请发明专利……停,今天不想这些。

      感谢CCTV、感谢MTV……特别赞一下新人,扛起搜索引擎的日常维护,让我省了不少心。组里工程水平已上轨道。每周定期review SVN提交代码,我可改的地方越来越少。

      提到这个,想起BOSS H以前说:“你的最大本事就是那些code style(编程风格)和design patten(设计模式)吧”。这话对也不对,其实关键在于如何培训和实行,让新人遵守规范,习惯双人编程,学会制定Todo List,懂得倾听,整个团队用统一的思路进行编码和架构。

      反过来,也夸夸自己。pFind Studio有十几万行C++,几十个模块。但进组几个月的新人就可以独立调试细节,重构全局流程。干活的人自然是能力出众,也多少显出一点儿我这架构师的本事,哈。

    5/30/2009

    5月25日,贝塔技术沙龙:iPhone开发

      参加贝塔技术沙龙是上周的事,惦记着要总结点见闻,忙,拖到现在。

      活动位置在西直门奇遇花园,参加的工程师很多,不少牛人,比如《走出软件作坊》的作者阿朱,抓虾的徐易容,sohu论坛的架构师钱宏武等。

      TinyfoolRobin Lu先后讲PPT,由浅到深介绍iPhone开发。Tinyfool上来不废话,敲键盘写demo,实际Run出一个hello world。然后Robin Lu再给出更系统性的介绍,比如常用的设计模式等等。对于我这种不熟悉Apple开发环境的菜鸟来说,学习曲线刚刚好。

      像Tinyfool说的,Object-C语法的确有些怪。但对于接触过多种编程语言,尤其是了解动态语言特征(比如消息映射、委托、依赖注入)的程序员来说,只要把概念对应到具体实现方式,剩下就是Goolge文档、照方抓药了。

      随后的提问讨论也很精彩,而且涉及到技术以外的内容,例如App Store的商业模式等等。有个在Google实习做Android研发的清华学生提了不少好问题,包括iPhone和Android的对比。他每提一个问题,我就暗自点头:“对,我也正想知道。”

      大家的共识是,应用平台的成功取决于能否建立良好的生态体系,让消费者、第三方的开发者都遵守规则,分享收益。当然,一旦领先者找到聚宝盆大赚特赚,而竞争对手却无法从模仿其商业模式中获利,就会有破坏性创新出来搅局。个人觉得Android的开放机制对iPhone的App Store封闭模式有威胁。当年,就是土气但开放的PC战胜了高贵而封闭的MAC。

      96年看比尔盖茨的《未来之路》,预言到2010年,普通消费者就可以用手机从网络上购买游戏和音乐,查询和预订周围好吃的馆子。现在支付宝、点评网、App Store都很普及,一旦3G搬到手机上,Big G的预言就算实现了。只可惜MS并没有在这波竞争中取得优势。

      最后抽奖,我幸运得到了一本《iPhone开发基础教程》,内容的确不错。

    5/9/2009

    TL聚会,遭遇若干大牛

      今天TopLanguage聚会,见到了崇拜已久的若干大牛的真身,比如传说中的pongbaTinyfool……

      神侃内容:从互联网广告的商业模式开始,到电子商务的信誉体系和物流体系;到语义网络技术、信源挖掘推荐和评价;到人工智能、基因进化和大脑神经机制;到精密机械制造业和破坏性创新;到豆瓣应该完善的若干features需求;到北京美食和若干"驻京办"位置;到房价和经济危机;到国有垄断行业和IT创业;最后到各自工作中正在面对的算法和工程难题。

      能参加TL聚会的,大多有两个特征:技术不错,外向能言(写BLOG有文笔)。所以这样的聚会不会冷场,谈的话题也都绝对有趣儿。

      不幸的事实是,几乎所有人的工作都与互联网行业有关(连googollee的机顶盒也是),俺除外,哇哇哭。

    4/26/2009

    MYSQL最终还是落在Oracle这个流氓大亨手里

      在SUN和IBM马上要说I Do的瞬间,Oracle却闯进教堂里抢走了新娘。

      最近几年企业级软件领域展开了激烈的兼并战。如今再回顾三年前的猜想(还有这篇BLOG),是不是很有戏剧性?MYSQL最终还是没逃出Oracle的魔掌。尘埃落定之后,PeopleSoft、BEA、Firebird、JBOSS、MYSQL、SUN都成了历史,剩下的还是IBM和Oracle两个最没创意的面孔,晕晕乎乎的Redhat,还可以再算上MS。

      趣味细节:搜索这72小时内,三家企业的中国分公司的新闻。《圈子圈套3》情节的经典再现。可怜的买办们。

      说实在的,别对NetBeans、Solaris、SPARC这些技术的未来太乐观。IBM和Oracle两位带头大哥的确善于收购,也善于销售,但更善于把原本鲜活的产品逐渐搞成僵化的木乃伊,善于把软件的用户体验降到令人窒息的最低点。

      尤其对MYSQL来说,死定了,而且是死不瞑目。

      折腾来折腾去,其实市场本身已接近黄昏。破坏性的创新技术,SAAS(Software as a service),已经露头了。类似Google Apps阿里软件的这种模式才是未来。

      BTW 1: 也许ZFS有望纳入Linux内核,这倒是好事。

      BTW 2: 为了好玩儿,用了比较尖刻的语气,其实我有不少朋友在IBM和Oracle,千万别发动群众封杀我。

    4/19/2009

    基于云计算的蛋白质组学

      又到了写BLOG的Deadline。对我来说写作是种享受。只是之前这段碎碎念太多,BLOG总在码琐事。所以这次Todo List要求必须写技术。

      这个月的Journal of Proteome Research上刚刚发表了一篇论文,利用Amazon Web Services提供的EC2平台进行质谱数据的肽和蛋白质鉴定。这正是俺加入生物信息课题组五年来朝思暮想的目标。科学界对云计算概念接受速度之快令人惊讶,已经看到物理、生化、机器翻译领域的不少研究,都是租用云服务以完成海量计算任务。

      今年7月我们将发布pFind 2.3。速度精度都将有进一步提高,敬请期待。

      虽说要写技术,还是忍不住写点八卦。

      周五带小弟去和美女们KTV。通宵的麦克风争夺战打完,五打(60瓶)啤酒喝下去,得出鉴定结果:计算所的程序员男生实在太腼腆内向,无论是飙歌还是拼酒,都被生化丫头们比下去了,与写代码时的生猛劲头儿形成鲜明对照。

      和职业有关?错!恰恰是俺们唯一的女生不露怯,对方阵营唯一的男士三次敬酒,wyj美女都是干干脆脆吹下去一整瓶,和她开发新版搜索引擎一样气势逼人。

      没有生人,这帮家伙就活跃多了。上周末,请组里未婚人士到家里玩WII。整晚俺都在担心客厅的木地板,也奇怪楼下邻居为何不在临晨3点报警。

    3/11/2009

    重读Google老三篇

      昨晚会议结束得太晚,没赶上末班地铁,只好打车回家,俺的银子呀wuwu~

      最近在读文献。上周过了几篇蛋白基因组学(proteogenomics)的天书,实在抓狂。这周的主题回到软件领域:大规模分布式计算。昨晚是Google老三篇(GFSMapReduceBigTable)的文献讲评,瓶子哥顺便讲了讲Google Cluster,我又带了几句Chubby论文。讨论很热烈,结果就说多了。

      我负责主讲BigTable,这次细读,发现以前读的时候忽略了很多细节。

      比如,BigTable使用bloom filter算法进行元数据cache加速。bloom filter有单边特性(它说不存在的,必然不存在;它说存在的,也许有小概率错误),这的确最适合cache这种场合。

      再如,google的分布式锁服务Chubby,在GFS和BigTable中都起到关键作用。在同步控制方面,GFS和BigTable设计思路几乎一致,都是用Chubby对master节点的元数据条目加锁,但具体数据服务节点(GFS叫chunk seriver,而bigtable叫tablet server)的同步正确性,需要客户端自己来保证。这样设计的目的很明确:尽可能保证全局服务的简洁高效,防止master节点成为瓶颈,这对大规模的分布式场景是非常重要的;当然,副作用就是客户端程序的要求更高。

      BigTable的一个重要应用是Google Analytics。另外进展很快的个性化搜索也用BT来存储用户历史和参数。之前发布的Google App Engine的python存储API,有很明显的BigTable痕迹。

      身边已经开始有人从Amazon和Google租用云计算能力了,新概念被接受的速度超出我的想象。