Category Archives: 科技评论

怎么学计算机

  有人带着上高中的孩子来问我,怎么学计算机。

  这是很宽泛的话题,简单来说“学计算机”有两种意思,一层是学会“用”计算机;另一个层是学计算机专业技术,例如会开发软件或设计硬件。

  这事对于非专业人士很难一两句话说清楚。推荐老妈在深圳上计算机课时对学生们说的经典语录。

  对于第一种意义的学:“教育局的教材简直是微软产品说明书,毫无意义;拿这些内容来考试,更是荒唐(想想看,如果津巴布韦拿QQ使用方法作为考试内容)。等你们工作了,这些软件早就过时了,关键是学会思维。”

  对于第二种意义的学:“计算机是很笨的机器,要和笨蛋打交道,就必须非常周到,方方面面都考虑清楚。”

  高中生想报考计算机、通讯或自控类的大学专业,家里有台计算机未必有什么正面作用(大多都成了高级游戏机)。报班去学五笔字型,更是浪费金钱和生命(还不如报班学好标准普通话,语音输入软件已经很普通,我们组里的研究生就可以给你写一个)。中学阶段,学好数学和英语两门基础课才是最有效的准备。

  其实对年轻人来说,更重要的问题是确定到底适不适合IT行业,是否真正愿意把它当作终生事业。我见到太多基础和天赋都不错的人,上了几年大学后,甚至得到很令人羡慕的工作职位后,才发现对自己做的事没激情,陷入迷茫和焦虑。

  有些孩子又得说了,我怎么知道自己适合做什么呢。全部精力都用来对付高考了。很少接触社会。

  OK,提供一些未必科学的判断方法。你的父母家庭都从事什么工作?你自己的性格呢?喜欢折腾仪器吗,比如拿着家里的单反数码相机爱不释手,把大小功能都踅摸一遍?组装过,或希望组装半导体收音机吗?对魔方、乐高玩具、围棋、筛子这些游戏着迷吗?愿意对着枯燥的证明题绞尽脑汁一坐就是几个小时,证不出来就睡不着觉吗?学习逻辑和中英文语法规则的时候,是不是很轻松?对线条和空间方位敏感吗?

  如果仅仅为了钱,为了光鲜虚荣,从事一个行业,没有一点本能的兴趣的话,会很苦。

美国程序员和政治

  干完了正事,就有时间看看BLOG,八卦些闲话了。

  我订阅的程序员和技术专栏的rss种子,以往基本都和政治绝缘。这两天居然有如此多的人在自己BLOG上谈论美国大选,实在罕见。当然,一面倒都支持Obama。

  比如Linux操作系统内核之父Linus,前些日子发了篇《Black and white》,把大选话题和Linux kernel为什么不采用GPLv3开源协议掺乎在一块儿讲,那是相当有哲学深度,“行业黑话”又多,估计不是程序员都看不出如何好玩。

  还是Guido van Rossum的文字像他的Python语法一样简明:《Vote for Obama, No on California Prop 8》,上来就说,他自己不是美国人所以没投票权,但他老婆已经注册了,大伙儿赶紧去投票。看老大那口气,你不去都不好意思腆着脸下载Python 3.0新版了。

  Google的著名华裔女程序员王忻(Niniane Wang)也在BLOG里分析CNN关于8号法案的民意调查数据

  至于某些身处特殊位置的人,比如在微软领导VC++开发的前C++委员会主席Herb Sutter,还有自己开软件公司的Joel Spolsky,其实都在BLOG里委婉表达过政治立场,只不过不像开源阵营那么自由火爆。估计还是担心影响公司的生意。Big G倒是不怕暴露倾向,反正人家是世界首富,从这个视频就能看出来,他同时给民主党两位候选人捐款。

  都说这次大选是主流和非主流的对抗,McCain受社会主流支持:白人、30岁以上的成人、男人、教徒、农场主、机械能源和军工行业;而Obama尽管声势很大,但支持者都是那些边缘的、不关心政治的、投票率较低的人群:有色人种、18-30岁年轻人、女人、非基督徒、移民、好莱坞和硅谷。这几个月电视里的分析人士不断在说,如果Obama能把那些以往不太热心投票的人都吸引到投票站,他就赢定了。从我订阅的rss管窥IT书呆子们的反应来看,民主党的确做到了。

AKA Linux内核开发者大会和pFind Team

  刚刚参加了AKA的Linux kernel开发者大会,主要关心的是多核并行和oprofile性能分析。近期pFind内核优化开始深入,需要用些更专业的优化技巧了。

  我在会上提了个问题:未来一段时间,多核和集群的性能瓶颈或编程难点在哪里?主讲人崔岩认为传统的系统总线在众核体系下已成为瓶颈。章峰老大补充说,他认为NUMA体系结构是方向。这种体系结构可以看作是多核和集群的混血杂交。按照Intel的Roadmap,到2013年家用电脑的CPU大约为256核。到时传统软硬件架构都要经受重大挑战。

  顺便也听了其他讲座。重温内核领域的很多技术,感觉好像见到老朋友。一个小细节是,讲座幻灯用是一台装了ubuntu的龙芯笔记本。

  回忆起大三时代,每周跑去听AKA的Linux系列技术讲座。有一讲的内容是阅读Linux kernel2.4的内存page管理部分,是在中关村附近一栋小破楼里讲的。当时四环没通,花了好多功夫摸过来。这次讲座激起了我阅读Linux内核的兴趣,可以说是“joyfire Linux笔记”的缘起吧。后来才知道这栋小楼就是计算所的老北楼。

  顺便贴一张俺们pFind帮派的全家福。在计算所新楼的11层拍的。

论文的Comment和程序员的艺术细胞

  今天下午轮到我做Paper Reading,讲了Journal of Parallel and Distributed Computing的这篇与生物信息有关的论文这期是bioinformatics专刊,还有更多其他的生物信息领域的分布式并行计算的论文)。我提到对这篇论文的两个质疑,cliu建议不妨写个Comment。的确,这样显得俺们中国人民不那么好糊弄。前两天北邮牛人还在大战Science灌水文章

  晚上难得按时下班,跑到五道口去泡光合作用,买到一本陈丹青的《纽约琐记》,还有这一期的《读书》杂志。

  

  缺少艺术细胞。制作网页、软件界面和PPT时,只会从别人帮忙配好的色系里选一套,这些颜色搭配对我而言只是神秘的RGB整数序列,敲进代码里就好了,如果你让我自己选择,那就像上刑了;音乐方面也是,本科时跟着wch哥学吉他,尽管会了《爱的罗曼斯》和《绿袖子》,可死活搞不定最基本的事:调琴弦,因为耳朵无论如何分不清音调。

  国内程序员和算法研究者大多都缺乏这种能力。周围很多朋友,包括组内的大多数人,PPT的字体颜色搭配和软件界面安排,实在难看。还算靠谱的,大概就剩下秀哥了,他作的pFind系列启动界面,很好很强大,受到广泛好评。

  梦想捡到一个艺术系美女,看画展听音乐会。给俺培训培训基础的鉴赏能力

  补:吃完晚饭,一大家子人抢WII。老妈的马里奥赛车已经接近专家级;而我的网球却沦落到人见人灭的地步了

Apple是个Great的公司吗?

  无论是从工业设计能力,还是从市场营销能力的角度来说,Apple当然是个好公司。

  这两年每次传出关于乔布斯健康问题的新闻,无论真假,都会惹得Apple股价上窜下跳。Forbes杂志甚至半开玩笑估算,根据最近心脏病假新闻事件的数字,乔布斯的生命对Apple公司而言值180亿美元,“超过了奋进号航天飞机、通用汽车、或三百吨黄金的价钱”。

  华尔街的反应增加了乔布斯的传奇性,是对他个人的认可。但对Apple公司来说,这未必是什么好事。如果我是投资人,把钱赌进去之前一定会三思。天才也有生病、衰老和死亡的那一天,何况还有更多江郎才尽毁掉一世英名的前车之鉴。

  BTW:

  跑到Google 2001去体会时光倒流。搜索了一下“蓝色宝石”,感慨。当时大多数URL现在都不可用了,过期的速度比想象快多了。

  记得就是在2001年,是ddcat突然冲过来,兴奋地推荐Google,觉得这个名字好怪。

  再早一些,作为清华创业大赛的参赛者,应邀去上地参观一家刚开张的小公司。当时并没有留下什么特别印象,只记得这家公司的名字源于辛弃疾的《青玉案·元夕》:“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”。

C++0x能不能在09年发布?

  搞定了pFind里程碑,放松下来踅摸踅摸天下大势。有段时间没跟进C++0x的进展,今天上网搜索了一下,整理出来。

  C++委员会6月份刚刚在法国的Sophia Antipolis举行了会议(WG21)。会议的最大成果是确定了C++0x发布时间,漫长的投票表决过程总算接近结束。今年9月将提交委员会草案,以便公众审阅和反馈,进入ISO程序。Herb Sutter强调,9月的委员会草案就是”feature-complete C++0x“,以后的修改仅仅是bug修正和澄清。希望C++0x的这个“x”是9,而不升到A。

  技术细节上,这次会议有两个最主要的features通过投票:

  首先是传说中的Initializer lists提案(N2672  N2679),以后可以用更直观的方式初始化STL容器了:

     vector<string> v = {“xyzzy”, “plugh”,  “abracadabra” };
     map<string,string> phonebook =
          { { “Bjarne Stroustrup (cell)”, “+1 (212) 555-1212″ },
             { “Tom Petty (home)”, “+1 (858) 555-9734″ },
             { “Amy Winehouse (agent)”, “+44 99 74855424″ } };

  第二项是thread_local( N2659 )。经过近一年来的几次投票,并行机制的内存模型、原子操作和线程包装的多项提案都已经通过投票,这大概是C++0x最重要的变化。

  其实每次都会投票通过几十个features,只不过大多数没引起注意,比如我无意瞅到了一项07年获得通过的提案,是Herb Sutter代表微软提交的空指针关键字nullptr (N2431) ,这就可以用nullptr替换VC++下的NULL宏,免得每次往gcc下移植都得手工加入。

  这次唯一留的尾巴,大名鼎鼎的conceptsN2081),仍在等待“check in”。按照Herb Sutter的说法,这方面争议基本解决。9月份的San Francisc会议只要就此投票,即可扫清最后障碍,发布标准草案。 

  以上信息都依据网上来源:Bjarne Stroustrup的C++0x概述报告slices,Google的Lawrence Crowl对线程模型的报告slices, MS的Herb Sutter的BLOG、CodeGear的Alisdair Meredith的BLOG。他们都是委员会成员。另外我还找到一个旁听会议的Java程序员的BLOG,由于视角不同,难免有不少比较,比如C++委员会与JCP的异同。当然,你也可以参考正式、全面但枯燥的会议记录

FF3下载日

  今天Firefox 3.0正式发布。mozilla基金会号召所有开源支持者们集体行动,创造软件单日下载次数的吉尼斯世界纪录。令人惊诧的是,到现在为止,来自伊朗的下载量已经超过了16万,超过了中国和加拿大,目前排在前三位的是德国、日本和美国。

  Firefox的最大竞争对手,微软IE团队送了个恶搞的蛋糕。说起来这两个团队的关系还算不错,总是礼尚往来。上一次,是FF团队同意IE 7使用自己的RSS图标,以利于用户体验的统一。

  后续:最终的记录是八百三十多万次,下载量排名前10的国家分别为:美国,德国,日本,西班牙,英国,法国,伊朗,意大利,加拿大及波兰。

生物信息和创业

  都知道我患有轻度创业妄想症,痴迷收集各种白手起家的离奇故事,狂热鼓动周围所有合适不合适的朋友下海。可俺手头的工作叫生物信息,传说中最阳春白雪,让热血青年丧失注意力的一种罕见菌类,哦不,我是说一种罕见学科。

  所以俺总在饭碗和理想之间寻找联系。

  以前就写过BLOG,猜测生物信息领域未来最可能的杀手应用。里面提到的23andMe其实是Google创始人的新婚妻子创建的。(Google两个创始人几乎同时结婚,娶的都是搞生物信息的博士)。今天在科学松鼠会看到一篇以玩笑口吻撰写的创业计划。笑过以后提醒你,并没有看起来那么荒谬,目前硅谷VC资助的生物信息创业公司,基本也就是这些路数。

  关于扫描基因取得个人倾向,05年想到时还很兴奋。其实已是老生常谈。电影GATTACA里性感美女谈恋爱的标准模式,就是拔根头,然后留下联系方式,“如果对我感兴趣,打电话”。你可以拿着头发去医院里算命:如果有孩子,得心脏病的概率是多少。

  BTW:伦理问题不是工程师的范畴,让哲学、社会学和法律专业的兄弟姐妹去头疼吧。最坏情况下,出现基因专利和昂贵的定制基因服务,就像刘慈欣《赡养人类》里的一号文明一样,富人和穷人逐渐演变成不同物种。

新闻批注

  中星9号直播卫星终于赶在奥运会之前发射成功。卫星采用我国自主的ABS—S和AVS技术标准

  研发成果实际用起来,才是工程师最大的价值体现。

  发表论文,申请专利,建立标准……最终在国计民生重要环节(例如:中国首颗电视直播卫星上的视频信源编码标准)发挥关键作用(例如:直接为奥运转播服务,卫星有47个频道,那么每年节省上千万美元的MPEG4专利费)。有机会把整个链条走完是种幸福。向曾经和正在参与AVS标准研发的弟兄们致敬。

  攀亲戚:好歹俺也曾借调到AVS课题组做过一星期的手机播放器界面呀,嘿嘿。

  借机抒情一把:pFind任重而道远,俺将上下而求索。

web2py和uliweb

  先来一幅hurryto的四格漫画,再说正事。

  Google发布GAE后,Python社区热闹起来。很多框架和开发界面在第一时间实现了对GAE的兼容。下面视频是web2py的演示。

  appspot.com上已经冒出了很多有趣的项目。特别推荐一下uliweb。国内最出色的Python开发者limodou在试用期就得到了GAE帐号。uliweb是他推出的又一个开源项目。小建议:像web2py一样制作更多视频,最好有中英文两个版本。教学video逐渐代替用户手册和帮助文档,这是潮流。(BTW:我们的pFind Studio套件各个工具都制作了演示视频,将在新版网站上公开)