一周杂记

第9周就这样过去了,以18周的教学周来看,学期已经过了一半了。考试已经考了两门试,11周周一还有一门——编译原理。非常有难度的课,据说是原先计算机系的霸王课,虽然现在考试难度有所减小,但仍然足够使人提心吊胆。关于词法分析、语法分析还了解得可以,但是语义分析、中间代码生成则不甚熟悉,Intel工程师们讲授的各种优化技术则更是云里雾里。好在还有一周的时间复习,但是也只有这么一周了。大学里最多的也许是时间,但是最缺的,也是时间~~

从下周开始,又会多出来两门课,一门体育,一门电工,真正的考验就要来了。发现大学里的课程真是奇妙,从21世纪的一大热点信息技术,到20世纪改变世界的基础学科,就连像金工电工这种绝对的“技术”活也要学习,不禁让人莞尔。将要拿起熟悉的电烙铁焊接电路元件,还要抽个时间去补修搓打敲击的金工,真是和工人没什么两样。交大的“交通”二字,解释为各学科的交错相通,似乎更为确切。

本周学校还有一个热点,自然是台球世界冠军丁俊晖的入学。从水源上热烈的讨论看来,大多数对此还是不太赞同的。发现一个有趣的地方,人们对于一件事的看法往往会极大地受到对事件本身参与人看法的影响。当年姚明、刘国梁进交大的时候不见得有什么争议,而同样性质的事件发生在曾经号称“读书无用”的丁身上,则引来非议连连。也许丁的文化水平还比不上要姚、刘等其他体育特长生,但是姚、刘等人进大学前是否就已经达到了我们进大学的标准呢?我看也不见得。这也就是为什么会有体育特招这种政策。交大不缺明星,不会因为丁的到来而改变,同样的,丁俊晖也不会因为交大的一纸录取书而“飞黄腾达”,他获得的只是一次用读书充实自己的机会而已,是否把握的住还是在于他自己。

宏观地思考问题

转载自:http://home.wangjianshuo.com/cn/20061105_eceee.htm

在从上海到杭州的火车上,小杰提出了一个问题,就是在12个小时里面,分针多少次超过时针。

这个问题跟我在1998年底加入微软前的一道面试是一个风格的.这道题出现在我第4轮面试的时候:

1998位乒乓球运动员打比淘汰赛,问组织者需要组织多少场比赛。

当时刚准备用1+2+4+8…这个思路做下去,忽然觉得不对,后来半蒙半算得说了个"我觉得像是1997场"。虽然当时还不是很肯定,但就这样碰到了正确答案,过关了。

其实答案很简单,就是1998个人决出冠军,需要淘汰1997个选手,而一场淘汰赛淘汰一个选手,就需要1997场比赛。

这个问题的玄妙之处就在于,问题不是“如何安排这些场比赛”而是问需要“多少场比赛”,所有安排上的细节,都可以不考虑。

大象放进冰箱的问题

我个人最喜欢的一个笑话就是关于把大象放进冰箱的问题:

问:如何分三步把大象放进冰箱

这是个几乎无解的题,答案也非常无离头:

答:三步。第一步:打开冰箱;第二步:放进大象;第三步,关上冰箱

关键就在第二步:“放进大象”。这说得到简单,但怎么可以放进大象?回答没有给出,所以这道题一直就是当作一个笑话讲的。

不过,如果不把它当作笑话讲,而作为一种解决问题的方法,倒也是值得研究一下的。这个方法,就是宏观的思考问题的方法。

思考大的图景而忽略细节

有人说,“世界上很多人把自己的视野的边界,当作世界的边界;而又很少的人,能够看到其他人看不到的。” 描述这样的人,有一个我非常喜欢的词:“Visionary” – 高瞻远瞩。

阿波罗计划就是一个典型的这样的项目。当时肯尼迪同志对于人类登上月球这道题的解,就是一个类似于把大象放进冰箱的解法。他说:“在下个世纪里面,把一个人送上月球,并且安全的返回”(讲解远景的课程中的经典语录。)

这倒简单,比把大象放进冰箱还省了一步。但问题就在于,具体怎么做呢?当时咨询委员会里面有很多人表示反对,比如化学家们就说,这怎么可能?我们连推动这么强大的火箭的燃料都没有!肯尼迪说:“那么你是不是说,只要有了合适的燃料,我们就可以做到?那么去找燃料吧。”之后的几年里,化学形成了一个新的分支,这个分支就是为了研究合适的火箭的燃料,并且在四年以后找到了这样的燃料。就像燃料一样,一个又一个技术问题被克服,最终完成了一个不可能完成的任务(这个故事来源于:《Seven Secrets of Inspired Leaders: How to achieve the extraordinary…by the leaders who have been there and done it》这本书)

我们的思考方式

我们在思考的时候,尤其在思考复杂的事物,或者涉及众多的人的协调的时候,非常容易掉到细节的泥潭里面,找不到出路。有些时候,看的大一点,先假设一些很难的问题总会解决,还容易得到结果一些。

我个人的心得是,在杠杆开始工作的前5年里面,更多的需要解决细节问题,自己的角色就是在解决实际的问题,比如说在做一个产品,负责一个项目,至于这个产品项目本身为什么要做,尤其是现在的做法之外还有没有其他替代的方案,都不作考虑。慢慢的当很多的细节问题都有非常好的团队成员来解决的时候,如果自己还在解决细节问题,就失去了大的方向,变成“把事作对”,而不是“做正确的事”。

所以最近经常提醒自己,适当的多做些“大象放进冰箱”的决定。

后注:计算机里的函数就是这种思维的产物

学过编程的,就不断地用这种方式解决问题。我记得在火车上,晓娣提到,创新必须有一个限制条件。说到这个话题,我就随口问了个问题:如何用7行代码写一个BBS出来(当时正值客齐集社区上线之前)。这个限制够死的,我出题的时候自己都没有想好答案。

后来,想到了大象的故事,答案就有了,其实不用7行代码,两行就够了。

BBS kijiji = new BBS();
kijiji.Run();

至于BBS这个类怎么写?那是以后的事情,而且肯定写得出来,Ruby on Rails有很多时候就是这种想法,OO也是这种想法,而递归算法不就是这种想法的终极体现吗?

基于VB多智能车辆合流分流仿真平台

辛苦了一个下午,把“基于VB多智能车辆合流分流仿真平台”基本功能完成了,不过程序还比较粗糙,架构也有待于进一步优化,而道路的文件载入功能由于我们小组还未进行最后的整合因此也没有考虑。还是原来的观点,用Basic简单是简单,但无论是架构还是扩展性,仍然有一定的不足。

回家了

时隔一周之后终于又一次回到了家,母亲说感觉这两周时间过得好漫长,虽说去韩国的时候离家时间更长,我深有同感。

这一周的周二,参加了回到交大后的第一场考试——模拟电路的实验考,一败涂地。为了本周的两场考试,上周做出了进交大以来第一次周末不回家的决定,即使是以前几周连着期末考的时候都不曾有过的决定,只希望能够挽回大二以来的颓势,结果收获的还是失望。周二的晚上心情低落的一大糊涂,原本以为实验中唯一的陷阱躲过了就万事大吉,结果还是阴沟里翻船,麻痹大意地漏做了一道题。一晚上都不想说话,只是和好友稍微聊了会就蒙头睡觉。

周三,鼓足勇气继续离散数学的考试,这一次虽然一个小时就做完,但是仍然硬是拖着检查了50分钟,直到最后10分钟教室里人烟寥寥的时候再交卷。在惩罚自己,但是不管怎么样,周二的损失都不能挽回。PRP的会议也听得无精打采,既然说是用VB建仿真平台那就用吧,懒得再去争论。

晚上,同寝的长河把我刚办完中银校友认同卡获得的礼物pink小猪拿去送给了女生,然后去教超买了一罐啤酒,庆祝他所谓的小光棍节(11月1日),窃以为是为了和陪伴其21载的光棍节举行一个小小的告别仪式吧。替他感到高兴,同时自己心里也有些许感伤。

发现我们都已经渐渐地长大,逐渐地编织起了自己的生活圈子。如果说以前的玩伴虽然会时而地打闹、怄气,但依然“生活在一起”,如今渐渐长大的我们则开始有了“自己的生活”,虽然依然关系很铁,却在不经意间不断偏离。前两天,在食堂遇到高中的同学,一句“好久不见”是那么亲切,却又让人感触。

周四晚上,终于结束了本周最后一个晚上的课,坐在自习教室发呆。好累!43.5个学分的真正痛苦还没完全到来,自己却已渐渐感到压得喘不过起来,永远学不完的课,永远理不清的概念。奇怪的是即使自己如此“繁忙”,却依然有足够的时间用来迷茫。“迷茫”这个词,从大二开始就一直跟随着自己,是因为失去了目标?亦或是不知该如何作出人生真正的第一次抉择?

只是这一次,开始学着去享受这种迷茫的过程。最近看了一篇励志讲坛的整理稿,是4月27日我在韩国时的。身为成功人士,王建硕学长与在座的众多交大的学弟学妹交流人生感言,题目就叫做“从迷茫到成功”。曾经的学长也曾在思源湖畔迷茫地踱步,痛苦地思考却得不到答案,多年后的今天看来却是一笔宝贵的财富。是大学给了自己第一次迷茫的机会,在痛苦的思考中渐渐领悟生活的真谛,完成人生的第一次蜕变。成长的印记,青春的标识符。