Monthly Archives: March 2005

移植代码

  移植人脸识别检测SDK的事情终于有眉目了。明天开始集成测试。

  先把算法从VC6.0升级到7.1,尽量符合C++ ISO/98标准语法;然后去掉MFC编译头,自己实现必要的类;接着移植到Eclipse + CDT + CygWin环境下;最后才移植到Linux下 (还是用Eclipse + CDT 编辑)。

  最初的检测部分算法依赖OpenCV。移植到最后一步,安装linux版OpenCV编译通过,可CppUnit单元测试总是红色。一步步检查回去,才发现原文大量修改了Windows版OpenCV库本身的代码。原作者修改时没有标记和注释原因,虽然仅过了半年,他已经记不清到底干了些什么,最终只好从头移植另一种检测算法。

  大量类似问题都是不良风格造成的。不考虑代码会给其他人使用,不预计以后升级移植时怎么修改,写不出好气味的代码。

  Eclipse + CDT 帮了大忙,无论是J2EE还是C++,Windows还是Linux,我已经离不开这个工具了。CppUnit在VC6.0、VC7.0和gcc下工作都很出色。红旗4.1扭转了我的恶劣印象,虽然还是更喜欢Magic。

  技术上自信的原因之一,就是比较擅长阅读别人的代码。这的确是件苦差事,但能锻炼能力。

慕田峪长城

  今天本打算去云蒙山玩,半路上改去了慕田峪。先登上“慕字十台”,往北一口气攀登到尽头,没修缮的长城顺着山势蜿蜒升高直到视野以外,气势磅礴;然后回头向南,慢慢走,一直再往南到头。然后通过滑道从山顶爽到山底。

  去慕田峪的外国人特别多,不仅怀柔的司机应对自如,英文讨价还价不打磕巴,公园里的工作人员更不含糊,连清扫城墙的员工英语都嘣儿流利。玩滑道,一路上分关把守的工作人员大喇叭喊英文,让老外减速。




劳累的周末

  上周日应付两件事:图形学考试和863课题专家组验收。紧张。

  周六加班到半夜0点才打的回家(幸亏负责的大哥帮了大忙),然后强打精神复习到凌晨4点,临睡还惦记着Bézier和B样条曲线的线性方程。直到早上提前去考场借到全国大纲例题和参考答案,看了一遍,才算踏实了。

  幸亏没偷懒,考题量很大,复习的内容都是大题。写到最后实在太累了,差点把Bresenham图素生成算法的程序写错了。结束以后很多人愁眉苦脸,我还行。

  下午参加863课题专家组验收,演示,专家的焦点不在工程产品演示,顺利过去了。

  也算搞定了两件心腹大患。

采购谈判

  虽然销售人员目的性很强,功利性气息多了难免不讨喜,但这本来就是彼此的工作,能成为合作者有效工作就很不错。事实上,好销售的性格一般都成熟大气乐于合作。

  价格总是最敏感的,这方面都是老一套:试探对方的底线,对比并强调各种细节(实际上对比内容未必重要)。采购方的优势在于有多个竞争者,可以得到充足的各种论据难为销售方。

  随时寻找机会把某个人(例如对方的上司)作为突破口,以接近对方的底线。反过来,谈判时应该随时拥有一个“上级”;但实际上,一开始就要求领导承认你的决定权。

  很多著名的谈判技巧,例如保持沉默和耐心,不一定是必须遵守的教条。例如两人可以分别唱红白脸,前者适时泄漏些信息:“竞争对手报了更低的价格”、“领导对产品不太满意”……再由后者主导接下来的谈判。关键在于坚定和敏感,记住采购最初的核心目的。

《管锥编》和《左传译文》

  昨天是mm节,晚上坐轻轨回家的路上,在五道口的春秋书店闲逛。找到一本中华书局出版的《左传译文》,沈玉成著。虽然是竖行繁体字,但阅读起来轻松多了。

  刚读完《管锥编》的史记部分,打算接着读左传部分。但除了中学课本里《曹刿论战》等少数几篇,其他内容我都不了解,理工科出身的直接去啃原文,又太累了。《左传译文》作者提到,这书就是方便非文史科班的爱好者阅读左传,正好适合我。

  中华书局出了不少好书,大多是平装,可惜这样的出版社肯定不赚钱。在中关村图书大厦买《管锥编》的时候,四楼文学类两个豪华版本都买得脱销了。一查电 脑,发现二层社会学分类有中华书局的版本,才95元,两个店员找了很久找不到,还是我在角落里发现的。店员说这套书很冷门,卖完这一批就不进了。同样作 品,换了皮子就不一样遭遇。

  不知道其他经典能不能找到译文。google了一下,找到另外一本有关左传的:杨伯峻、徐提著,《白话左传》,岳麓书社,1993年8月。

  

软件工程和业绩管理

  管理最终归结到人,所以必然和绩效联系。

  经济学的角度,人是贪婪的;行为学的角度,人是懒惰的。建立体制,确保企业对人力资源的投入和回报成正比,这就是管理。单纯树典型搞运动,要求每个员工阅读《把信送给加西亚》,而不改变工作流程和考核方式,都很表面,甚至被当作愚民政策。

  好的绩效管理不会破坏信任感,而会激发一部分人的成就感,使他们愿意在职责外加倍投入,这些人恰恰是可以重点培养的骨干。

  软件工程实施中,明确的考核倾向至关重要。没有谁完全喜欢规范化的东西,说到底,工程化管理是依靠增大个人工作量换来团队利益。所以需要管理层拿出态度和方案,让团队业绩和实施效果挂上钩。

  当然培训也很重要,软件工程培训的重点,应该是强调现代软件工程的最新进展,让员工忘掉大学教材里的官僚主义,熟悉版本管理工具、自动Build工具、BUG追踪工具、单元测试工具、UML建模工具……

会议管理

  人员不断膨胀,开会成了头痛问题。上周总工又要求例会由两周一次变成每周一次。于是做了个会议管理计划:

  • 要求大家会前列出上周任务进度和本周计划,email给我;
  • 每人5分钟个人汇报,不能打断,过后其他人提问5分钟;
  • 10分钟还说不完就留到后面自由讨论,先让下一个人开始汇报;
  • 不参加个人汇报必须请假,但是否参加自由讨论不限。

  为今天例会费了不少神,email沟通,预约会议室,汇总打印上周计划,预先让前台准备了记时器。只用了50分钟12个人就都说完了,过后几个必要的留下来继续交流。沟通很有效率,大家满意,我也很有成就感。

  其实最合适的方式是敏捷方法倡导的每天早上的10分钟站立碰头会。成本最低,对执行最有效。

这就是第一篇了

  第一篇BLOG,就发在这里了:)

  补:

  这个BLOG的第一篇于2005年3月6日发表于微软的MSN博客服务。微软刚刚收购spaces业务,把它和Messenger关联起来,新BLOG可以自动提醒好友。当时觉得李开复及其继任者的政府关系工作也不错,这么大的外企,政府不至于一下子把服务器没收掉。

  这些年看来,神马都是浮云。不过BLOG文字能持续,是件很棒的事。写这个“补”的时候,经历了第一次搬家,以后估计还会搬。抄录前一阵“大陆的轨迹”BLOG的《搬到月球》

  ……搬家没关系,哪怕搬到月球,只要还能继续说话,我就会继续搬下去,说下去。希望所有人都是如此。