在Dian团队已经一年半了,时间过得真快!一年前,我也写过一篇年度总结,但是当时我只是一个板凳队员,刘老师没有要求我交年度总结,我自己也不好意思主动交上去(因为交了年度总结的一线队员是有200元奖金的,而我只是个“板凳”而已)。本想看看去年我的总结怎么写的,可惜已经找不到了。
2003年的那半年我没能为团队做什么贡献。每次主控组开会,我都乖乖的坐在某个角落里背自己的英语六级单词,直到某一天刘老师把我调到软件组。当时刘老师给方玮两个模块,一个是图形模块,一个是CAD模块,我被派作方玮的助手。也许已经厌倦了旁观者的感觉了吧,人员调派会议快要结束的时候,我尝试性的向刘老师提出让我自己来单独负责CAD模块。非常幸运的是,刘老师爽快的答应让我独立负责CAD模块。
从小到大我有过很多次不知天高地厚的尝试,但这一次不知天高地厚的自荐,是最成功的一次。
我的2004年就从CAD模块开始。
可是当时我的技术水平真是差得很,比现在绝大多数的预备队员都要差一截。CAD模块必须用C++语言来编写,但是之前我没有学过C++。现在翻开自己以前写的代码,发现除了类的定义是C++语法之外,其他代码实现几乎都是用C写的。我直到暑假实习的时候才熟练掌握C++的“引用”等概念,后来逐渐开始了研究C++语言本身。但是在这个过程中最困难的显然不是C++语言本身,而是得到图元的特征信息后所采用的重建算法。直线、圆这些常见图形当然是很好处理的,但是对于样条曲线、多线这些复杂图元就很难办了。整个上半年加上暑假实习的两个月,我都陷入在这些算法的研究当中。这种感觉就像走进了一片漫无边际的沙漠,心里渴望着绿洲,可是能够得到的只有黄沙。偶尔看到希望,却往往是老天爷嘲弄我而制造的海市蜃楼。这个心理过程是非常磨练人的,这也是做过项目的人和没有做过项目的人的根本区别所在。
现在有很多预备队员总是担心自己对语言的驾驭能力不行,但我觉得做软件最重要的并不是语言(当然最基本的却是语言);比语言更重要一点的是算法和规范,算法和规范决定了软件的效率和质量。算法和规范之上的是人,主要是人的世界观和心理承受能力。一个人看待周围的事物,怎么面对挫折,怎么排遣压力,怎么处理各种利害关系,怎么面对新技术、新思维,都将从一个更高的层次上影响着项目的质量。我觉得一个不成熟的人做出来的东西,是很难保证质量的。
CAD模块从暑假实习开始终于有了一些起色。我们开始研究从美国弄过来的DWGDirect读取库,这个库解决了图元特征信息的提取问题,使得我可以安下心来进行算法的研究。这里特别要感谢boyben所给予我的帮助。他是我遇到的第一个技术狂人,也是我迄今为止见过的无人出其右的技术狂。虽然他有时候说话太过“霸气”,但是跟他谈技术的时候却非常开心,因为他总在尝试以最快捷而简单的方式来跟别人交流,是他教会我如何在Visual C++的MFC工程中加入新文件。现在每次见他都能聊上几句C++或者VC,这种感觉很好。他对于技术的热爱让我改变了一贯对技术的畏惧感,使我开始潜心探寻技术的魔力,从看似乏味的技术中寻找工作和生活的快乐。
但是快乐并没能使我走出算法的沙漠。即使提取出了图元的特征信息,但是对太复杂的图元的重建还是超出了我能做到的范围。很多图元,比如样条曲线、多线,都是足以单独立项来进行研究的课题,如果再继续下去,就是玩火自焚了!我开始回过头来重新阅读DWGDirect自带的所有文档及其范例,经过连续几天的奋斗,在一个通宵后的黎明——天刚从死黑转到灰白的那一刻,终于发现了DWGDirect的一个功能,它可以直接提供我们所需要的小线段对,而无需我们自己依据图元的特征信息进行图元的重建。长期压抑后所迸发出来的快乐是难以用言辞来形容的。
总的说来CAD模块的完成经历了一个曲线,我们绕了一个很大的弯。主要原因在于我对项目的驾驭能力的欠缺。拿到读取库后发现它能够解决自己的燃眉之急,就不再去进一步挖掘它的更多功能了,结果只见树木不见森林,转进了死胡同,到最后走投无路了才返回来重新审读项目文档(当然,我相信这种情况在我以后的项目实践中不会再出现了)。
做完CAD模块以后,我又毛遂自荐,帮助cactus完成了字体对话框,并解决了数据库模块的遗留问题。后来的工作感觉顺多了,因为我觉得自己对C++和VC有了信心,而且前期积累了比较多的程序编制和调试经验。当然,当时得以保上刘老师的研究生,也使我更放得开自己,投入到工作中去。
软件组是我参加的第一个项目,我是软件组唯一一位从头到尾都参与了的队员。后一批每个主力队员,我都留下了深刻的印象,特别是niaojuuu、cactus和soso。他们简单而快乐的工作方式感染了我,我现在仍然记得niaojuuu经常在我耳边说:“什么事情,不要太认真,这样才能活得开心”。他们使我学会排遣压力,学会休息,提高效率。非常高兴软件组的结题会如此顺利,这是我2004年最引以自豪的一件事情。
当然,挑战从来没有结束过,10月开始,我被任命为DSP组的组长。当时DSP组情况比较糟糕,组织涣散、机构臃肿、进度落后,到了不得不改变的时候了。
由于我以前从没做过硬件项目,我和刘老师对我出任DSP组组长都不太放心,但是后来事情有些变化,DSP组组长似乎只能由我出任了。我本来想作为DSP组的一个普通成员,继续自己从软件组“继承”下来的技术研究生活,埋头干活,做自己的事。但是我又想,cactus和qja当时也没有什么经验,却可以把组长当好,我难道就不行?出于这样的考虑,我走上了DSP组组长这个位置。在这里我逐渐进入了状态,非常感谢蒋参谋、张瑛、谢宇鸣以及软件组时期的战友王乐对我工作的支持,我相信DSP组会越来越出色的。
2004年还有一件非常有意义的事情,那就是一群低年级同学开始叫我“教头”了。这个称谓对我来说除了责任,并不意味着更多东西。只有严格要求自己,才能严格要求预备队员;只有自己提高到一定高度,才有资格执教预备队。
2004年已经过去,非常庆幸,我坚持了下来。曾经有一天,我突然直起身子看看眼前的世界,突然发现身边很多人,比我早来的或比我晚来的,都离开了,其中包括我曾经最亲近的人。而我仍然紧紧的抓着别人或许不屑的机会,埋着头,傻傻的做着自己的事情。我不知道这是一个优点还是缺点,曾经有人说我是一个没有创造力的人,或者说是一个不会变通的人。的确,在有些人看来我在这里度过了太多平淡无奇的时光。曾经有一段时间,最心烦的时候,我想过要退出Dian团队,但刘老师给了我极大的鼓励和开导,使我可以拨云见日,摆正
去了一次嘉铭,手生了,sign……
好久没摸烙铁了,手生了,焊点个个胖的难受。现场调试硬件的气势也不行了,遇到麻烦事情居然有点紧张,^_^,焊丝飘出来的烟呛得眼睛极其难受,得抽时间去看看这破眼睛了。
项目进展有所变故
昨晚yangrh说驱动已经延期,我们项目有可能挂起,如果挂起,那要等到1月上旬才能过去,这对我们来说,还是有点不爽的,1月份能去的也就几个人了,对我们很不利,晚上请刘老师跟周部长沟通了一下,今天收到消息:由于H3设备还没有稳定,驱动也还在系统测试阶段,经过和周部长商议,决定H3组暂时不去北京,按计划在武汉完成系统测试,系统测试之后我们只负责协助解决问题,按需要派人去北京,并不会强制性的要求我们去北京。这样的变动对我们极其有利,但却要辛苦了yangrh了。
呵呵,不用离开武汉了,圣诞篮球赛、年终茶话会都可以参加了,^_^,但宝贝仔的希望泡汤了,她好希望跟我过一个圣诞节的。
05级种子杯决赛宣讲
昨天晚上05级种子杯决赛,我作为Dian团队老队员,到现场宣讲。
我选的题目是:大学怎么才能不虚度?screen.width/2)this.width=screen.width/2;>
这个题目显然比较大,而且我相信每个大学生,对这个问题都有着不一样的回答。所以,我引用了某一年的高考作文题来回答这个问题: screen.width/2)this.width=screen.width/2;>
当然,我必须列举出很多可能的答案:screen.width/2)this.width=screen.width/2;>
那么,我的答案是什么呢?我觉得当今高中教育虽然越来越“素质教育”,但是学生除了关注学习之外,对其他东西关注不多,学生除了证明了自己学习方面的能力外,其他方面的能力亟待挖掘,所以,我的答案是:screen.width/2)this.width=screen.width/2;>
接着,我讲述了自己的经历,回想自己大一的时候,600多人,只有一个辅导员,没有人指导,再到大二立志做好程序,做出了一个opengl程序,赢得了尊重和信心,到最后在dian团队实现自己的飞翔……screen.width/2)this.width=screen.width/2;>
正所谓对症下药,我接着指出了大家在现阶段很容易犯的错误:screen.width/2)this.width=screen.width/2;>
最后,送给他们一句经典的话,希望他们在大学里面广泛实验,发掘自己的潜力,实现自己的价值:screen.width/2)this.width=screen.width/2;>
聚了聚了,_
加入团队聚合站点,^_^
之前一直比较犹豫,是因为我blog上面什么都有,时不时迸出个“宝贝仔”、“小不点猪”,恐怕贻笑大方,这与我建这个blog的初衷有关,我当初是想完全不公开的(所以我没有用xbull,而用了cawk),可是到了后来越写越多,不公开都不行了。
hello everybody!
机遇属于那些有准备的头脑,钱也是,_
昨晚竞选优秀项目组,下午在hyxxl组开完例会,花了20分钟草草做了个ppt,现场一讲,比起其他组的精心准备来说,逊色不少。空手而归,我心服口服,^_^。不过我很自豪的一点,我没有任何浮夸,说asile那一段,的确是动情的说~~~~
昨晚cmzb发来一个短信:“送你一颗红色“炸弹”,我很感激能够成为你的组员,谢谢你….你是一颗永远散发光芒的金子”,^_^,作为组长,能够得到组员的认同,才是最大的承认!谢谢cmzb<
ppt制作能力和煽动力亟待提高!200k = 200w
班头,我想加入dian团队
班上一个非常优秀的学生来信:
班头,我想加入dian团队,能给我提点建议、出出主意吗。
回复如下:
很高兴你想加入Dian团队,团队也非常欢迎大家,我的建议是:大家不要急,先在团队外面就打好基础,进了团队才能游刃有余,05级的一个同学这个学期加入了团队,但由于他的技术能力太薄弱,顶不住压力,前段时间不得不退出了团队,我不希望这样的现象发生在我们班。好几个同学都向我表示过要加入团队,但很抱歉的说,有些同学并没有做好准备,团队的门槛是很高的,不要奢望到了团队,会很轻松,与其进了团队跟不上趟,不如在进团队之前就准备好。
种子杯编程比赛一过,大家又失去目标和动力了,我希望大家能够寻找新的目标,团队在以下几个技术方向上非常看重:C/C++、数据结构、MFC、OpenGL、模拟电路、数字电路、电路理论、高频电子线路、单片机、数据库、网络通信,我希望成立兴趣小组,在这几个方向上做一些积累。
在这里我要特别强调一下软件和硬件的关系,一句话概括就是:硬件是基础,软件是灵魂。电信系的学生,对软件和硬件都必须拿得起放得下,我自己既做过软件,又做过硬件,最后找的工作虽然是做软件,但是我觉得做硬件对我做软件帮助很大,当然,我觉得做软件对做硬件帮助也很大,两者就像我们经常提的物质文明和精神文明一样,相辅相成,互相促进。做硬件,可以让你了解软件的工作平台和工作原理,比如我们在C语言中遇到的指针,初学者可能很难理解,它在硬件实现上,就是你们在微机原理里面将要见识的“间接寻址”,学完微机原理以后,我相信你们会对指针有着非常深入的了解的。
我个人对软件更为亲睐,它的学习成本比硬件低,只要有电脑就可以做了;它的学习门槛也比硬件低,大家现在都已经具备所有的基础知识了。大家现在处于大二上学期,正是积累软件编程经验的大好时机,正所谓过了这村没那店,一步领先步步领先,笨鸟先飞早入林,大家要抓紧时间做好技术积累。
很多同学可能还沉浸在数据结构考试的恶梦中,对软件编程还心有余悸,我在这里要奉劝这些同学,或者说再一次强调我的两个观点。第一个观点:大家对于C语言/数据结构感觉很难学的根本原因在于计算机思维和大脑思维的差异,弥补这个差异的唯一办法是不断的practice,不断的去体会计算机思维方式,不断的体会面向过程/面向对象方法,不断的积累自信和经验;第二个观点:没有谁是编程天才,在大家尽力弥补计算机思维和大脑思维的差异之前,大家不要说自己不行,大家首先要掌握一门语言,之后再谈天才不天才的问题,大家现在就对自己自暴自弃,为时尚早!
最后,回到我提到的兴趣小组这一点上来,我建议从现在开始,大家成立各种兴趣小组,在C/C++、数据结构、MFC、OpenGL、数据库、网络通信等方面进行探索,每个小组3-5人,我们班每个人都必须有一个小组,我会给大家布置作业,解答问题,并且会给大家请这些方面的牛人进行实际指导。我可以想到的小组有:
1. 数据库小组:做一个班级学生信息管理数据库系统,使用平台:VC6.0 + ODBC数据库 + MFC ,使用语言:C++语言;
2. 网络通信小组:做一个类似QQ的聊天工具,使用平台VC6.0 + socket编程 + MFC,使用语言:C++语言
3. OpenGL动画小组:做一个三维汽车模型(支持光照、三维观察等),使用平台VC6.0 + OpenGL + MFC,使用语言:C++语言
4. CAD小组:做一个能够绘制直线、圆、矩形等简单图形的CAD软件,使用平台VC6.0 + MFC,使用语言:C++语言
……大家可以想到什么,我就可以给大家任何帮助,^_^。
从上面我列的小组来看,大家很容易发现,我们其实都需要C++和MFC,大家可以花2周时间学习C++,再花2周学习MFC,最后花4周完成作业。
同意的举手,^_^!
要留住人才,必须培养自己的人才
我一直对团队是否能够吸引到人才表示担忧,上次我已经说过,“团队的竞争对手不仅仅是创新基地、ACM团队,更包括微软、IBM、intel等等大型企业及清华北大等等著名高校,所以我们如果要留住人才,必须培养自己的人才,到大四再去搜罗人才的方法是行不通的”。
这种担忧,已经成为一个严峻的现实了!
昨天dian展示了ljz访美的照片,我相信大多数人都会很向往很羡慕他的经历,这不是崇洋媚外,而是一种向往美好事物的天性。intel这种大公司是有很强的号召力的,它出得起钱,它随便搞个活动,就可以让ljz们激动好几个星期,团队与之相比,相形见绌!
我觉得团队要警觉起来。现在团队很多人,都沉浸在一种优越感之中,感觉团队很了不起,是众多学生梦寐以求想进入的地方。梦寐以求的确不假,但这仅仅是因为现在机会太少了,眼界太窄了,等到他们看到了机会,他们还会梦寐以求团队吗?在团队很辛苦,干得再多也不会加分,相比之下,做大赛很轻松,还可以加分免试保研甚至出国观光,找工作的时候,这种经历一写,顶上在团队做好几个项目。另外,团队出去的同学普遍缺乏表现力,英语水平又差,大多数人一看就是标准的蓝领,干本份工作的。
现实是残酷的,当我们还陶醉于自己的成绩的时候,我们可能很快就会失去自己的优势,我们的竞争对手太强了!我们的优势是做真实项目,但这也是我们最大的掣肘。真实项目意味着细节,意味着无限期的维护,当我们把GEMMING当成团队的人才培养基地的同时,也意味着我们终将为太大细节牵扯过多精力。细节很重要,但细节不是全部,我们需要open的精神,需要表现力,需要fluent oral english。
我希望团队以后能够做点改变。
首先,要尽快形成自己的核心竞争力,要提高项目的平均利润,要缩小项目数量,否则我们只能像现在这样在一些小项目上牵扯太多时间,而没有时间来培养人,熏陶人,提高人的气质和综合素质;
我不得不说,我们的思路存在着自相矛盾的地方。一方面我们要培养帅才,培养创新能力,另一方面,我们却把绝大多数精力放在了细节问题上,任何事情,要是太牵涉到细节,就会变成体力活。创新的过程,应该是一个不断有idea,不断有时间去实现idea的过程,而不是郁于某件事情,某个idea,我觉得我们现在太缺时间了,项目忙得要死,还怎么会有时间去实践自己的idea呢?
第二,要形成自己的理论方向,这年头,做ARM7、ARM9的都是产业链的最低层次,很多公司,我知道的sinfor、nsfocus,他们的产品有硬件平台,但他们自己不做,直接外包,因为最赚钱的不是ARM7/9的板子,而是在板子上跑的技术。这一点在招聘会上表现得淋漓尽致,人家第一条肯定不会说“熟悉ARM7/9”,而会说“熟悉移动通信理论….”,“熟悉ARM7/9”最多不过是个plus而已;
这不是怀疑我们积累的技术的价值,缺乏理论方向的确是我们的软肋,我觉得我们要有这样的抱负,除非我们不做这样的定位。当然,在目前看来,我觉得我们至少在3年之内,是没有办法在这方面取得实质性的突破的。
第三,我们不仅要培养有宽阔视野的人,更要培养创新思维。昨晚dian说到zxt做的那个东西,虽然把人家开发板所有功能都用上了,但是没有创新,一刀砍死,他们这种作品注定拿不到大奖。创新需要钻研,否则功能垒得再多,人家也不会认可你的。团队在创新这方面无疑是有很大缺陷的,队员普遍缺乏创新性思维,上次MS那个嵌入式大赛可见一斑,再如昨天看到的虚拟实验室和成都科技馆的很多展项比起来,更是相形见绌;
第四,我们要走出去,迎进来,我们也要参赛,我们的项目要鼓励多样性,没有必要老是固守在真实项目上。我们没有必要去抵抗大公司的进攻,我们要利用大公司发展自己,老是抓住真实项目不放,对人对己,都没有什么好处。
我不是说不要项目,而是说,我们要重视参赛!我清晰的记得,我们曾经有一段时间,对参赛是抱有一种不屑的,参赛甚至成为我们对比于创新基地的资本,走出去,迎进来,我们应该感谢ljz给我们带来的这次思想上的冲击!
莫衷一是!
昨天goldenray的生日,但他在实验室中度过过了一天;昨天duoergun的女朋友来了,就陪女朋友出去玩了。江山、美人,孰轻孰重?在这一刻,我感觉自己价值观模糊了。我能说duoergun不对吗?我也经历过项目和女朋友之间的抉择,我能够体会到这种难处,我只能说,goldenray非常敬业!
团队的兄弟们都太辛苦了,想起了王翰的诗:
凉州词
葡萄美酒夜光杯, 欲饮琵琶马上催。
醉卧沙场君莫笑, 古来征战几人回。
我们很需要经验和魄力
魄力来自于什么?自信!自信来自于什么?历练!
昨天中午听hyxxl组例会,hyxxl在安排任务方面,还缺乏经验,安排任务没有远见(不知道现在做的事情在整个过程中处于哪个阶段)、不具体(有些应该由某人独立承担的任务,结果搞了N多人去关注)、不明确(没有给出截至日期,没有向队员明确他的任务对整个项目的重要作用)、并行性不高(也是没有远见的一种表现,比如:等到板子到了,才想到去买芯片,投板子时不是先投控制部分,而是先投外围,造成硬件调试时还需要大家额外的电路为外围电路模拟外部环境)。
作为监督员,应该在组长面前体现魄力,为组长起到表率作用,不仅要指出其问题所在,有时候也要身体力行,直接告诉组长应该怎么做,比如amuzing,昨天就直接越俎代庖,帮助黄勇理清了当前最紧迫的任务,并对分工进行了实时的调整,这对laser power组来说,是一剂非常及时的药,对hyxxl来说,也是一个极好的示范。
大多数时候,我们不知道为什么会这样,即使知道了为什么会这样,我们也不知道怎么做才能不这样,知道怎么做才能不这样,还要坚持做下去,才能从根本上解决问题。第二个问题是hyxxl的问题,第三个问题就是wikiexe的问题了,他的问题在于不知道如何坚持。
昨天quickmouse肢解了他们的项目,我惊叹于quickmouse的魄力和技术力,他一语道破冲突检测的带宽利用率问题,否定了冲突检测的可行性,进而建立了令牌环网模型,这是我或者amuzing或者dodo都无法做到的。
最后,说一句,我觉得hyxxl和wikiexe都是非常有天赋的队员,硬件是经验科学,项目管理在一定程度上也是经验科学,走过风雨才能见彩虹,相信二位有一个美好的明天!